GLSysHelp v.2.1: Introduction

 GLScene v.2.1 for VCL

Introduction

GLScene for Win32/Win64 Embarcadero Rad Studio 11.0

——————————————————-

GLScene is an OpenGL based 3D library for Delphi, C++Builder and Lazarus. It provides visual components and objects allowing description and effective rendering of 3D scenes. GLScene is not only an OpenGL wrapper or utility library, but it has grown to become a set of founding classes for a generic 3D engine with Rapid Application Development in mind. GLScene allows you to quickly design and render 3D scenes without having to learn the intricacies of OpenGL: if you know how to design a TForm, you'll easily master the basic operation of TGLScene. Make sure to checkout the introduction tutorial included in the help folder. GLScene includes more than many components and a variety of founding classes. The library comes with a comfortable set of demos showcasing the ease of use and demonstrating RAD wasn't done at the expense of CPU horsepower. Advanced demos and samples can be found in the project repository at http://sourceforge/projects/glscene/ The GLScene Sound System allows positional 3D audio via low-level APIs like FMOD, BASS, OpenAL and WaveOut. See http://www.glscene.org for more details.

———————————————————

To Install GLScene follow the instruction in installation directory. To compile GLScene see Installation instruction and after having installed all the necessary units and updated your environment library paths open and install the packages appropriate to the corresponding directory. Check your RAD Studio paths for duplicates or old .pas/.dcu that's where the problem lies 99% of the time. If you have installed a current version, make sure no files of the previous version remains, some files may have been renamed, moved or removed in between versions with CleanForRelease.bat.

Compile options (activated/deactivated in GLScene.inc, all are inactive by default): The option DEFINE GLS_Graphics32_SUPPORT controls support Alex Denissov's Graphics32 library (http://www.graphics32.org), once activated in GLScene.inc, TGLBitmap32 will redirect assignments from TBitmap32.

————————————————————–

GLSTeam

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: All Units

All Units

Name Description
Cg.BombShader

The graphics rendering engine GLScene http://glscene.org
Cg.GL

* * Copyright (c) 2002, NVIDIA Corporation. * * * * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration * of your agreement to the following terms, and your use, installation, * modification or redistribution of this NVIDIA software constitutes * acceptance of these terms. If you do not agree with these terms, please do * not use, install, modify or redistribute this NVIDIA software. * * In consideration of your agreement to abide by the following terms, and * subject to these terms, NVIDIA grants you a personal, non-exclusive license, * under NVIDIARs copyrights in this original NVIDIA software (the "NVIDIA * Software"), to use, reproduce, modify and redistribute the NVIDIA * Software, with or without modifications, in source and/or binary forms; * provided that if you redistribute the NVIDIA Software, you must retain the * copyright notice of NVIDIA, this notice and the following text and * disclaimers in all such redistributions of the NVIDIA Software. Neither the * name, trademarks, service marks nor logos of NVIDIA Corporation may be used * to endorse or promote products derived from the NVIDIA Software without * specific prior written permission from NVIDIA. Except as expressly stated * in this notice, no other rights or licenses express or implied, are granted * by NVIDIA herein, including but not limited to any patent rights that may be * infringed by your derivative works or by other works in which the NVIDIA * Software may be incorporated. No hardware is licensed hereunder. * * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. * * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. *
Cg.Import

* Copyright (c) 2002, NVIDIA Corporation. * * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration * of your agreement to the following terms, and your use, installation, * modification or redistribution of this NVIDIA software constitutes * acceptance of these terms. If you do not agree with these terms, please do * not use, install, modify or redistribute this NVIDIA software. * * In consideration of your agreement to abide by the following terms, and * subject to these terms, NVIDIA grants you a personal, non-exclusive license, * under NVIDIAs copyrights in this original NVIDIA software (the "NVIDIA * Software"), to use, reproduce, modify and redistribute the NVIDIA * Software, with or without modifications, in source and/or binary forms; * provided that if you redistribute the NVIDIA Software, you must retain the * copyright notice of NVIDIA, this notice and the following text and * disclaimers in all such redistributions of the NVIDIA Software. Neither the * name, trademarks, service marks nor logos of NVIDIA Corporation may be used * to endorse or promote products derived from the NVIDIA Software without * specific prior written permission from NVIDIA. Except as expressly stated * in this notice, no other rights or licenses express or implied, are granted * by NVIDIA herein, including but not limited to any patent rights that may be * infringed by your derivative works or by other works in which the NVIDIA * Software may be incorporated. No hardware is licensed hereunder. * * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. * * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE.
Cg.PostTransformationShader

The graphics rendering engine GLScene http://glscene.org
Cg.Register

The graphics rendering engine GLScene http://glscene.org
Cg.Shader

The graphics rendering engine GLScene http://glscene.org
CUDA.APIComps

The graphics rendering engine GLScene http://glscene.org
CUDA.Compiler

The graphics rendering engine GLScene http://glscene.org
CUDA.Context

The graphics rendering engine GLScene http://glscene.org
CUDA.DataAccess

The graphics rendering engine GLScene http://glscene.org
CUDA.EditorFm

The graphics rendering engine GLScene http://glscene.org
CUDA.FFTPlan

The graphics rendering engine GLScene http://glscene.org
CUDA.FourierTransform

The graphics rendering engine GLScene http://glscene.org
CUDA.Graphics

The graphics rendering engine GLScene http://glscene.org
CUDA.Import

The graphics rendering engine GLScene http://glscene.org
CUDA.ParallelPrimitives

The graphics rendering engine GLScene http://glscene.org
CUDA.Parser

The graphics rendering engine GLScene http://glscene.org
CUDA.PropEditors

The graphics rendering engine GLScene http://glscene.org
CUDA.Register

The graphics rendering engine GLScene http://glscene.org
CUDA.Runtime

The graphics rendering engine GLScene http://glscene.org
CUDA.Utility

The graphics rendering engine GLScene http://glscene.org
DWS.Classes

The graphics rendering engine GLScene http://glscene.org
DWS.HelperFunc

The graphics rendering engine GLScene http://glscene.org
DWS.Objects

The graphics rendering engine GLScene http://glscene.org
DWS.OpenGL

The graphics rendering engine GLScene http://glscene.org
DWS.Scene

The graphics rendering engine GLScene http://glscene.org
DWS.Script

The graphics rendering engine GLScene http://glscene.org
DWS.VectorGeometry

The graphics rendering engine GLScene http://glscene.org
FLibMaterialPicker

The graphics rendering engine GLScene http://glscene.org
FmGuiLayoutEditor

The graphics rendering engine GLScene http://glscene.org
FmGuiSkinEditor

The graphics rendering engine GLScene http://glscene.org
FmInfo

The graphics rendering engine GLScene http://glscene.org
FmLibMaterialPicker

The graphics rendering engine GLScene http://glscene.org
FmMaterialEditor

The graphics rendering engine GLScene http://glscene.org
FmPlugInManagerEditor

The graphics rendering engine GLScene http://glscene.org
FmSceneEditor

The graphics rendering engine GLScene http://glscene.org
FmShaderMemo

The graphics rendering engine GLScene http://glscene.org
FmShaderUniformEditor

The graphics rendering engine GLScene http://glscene.org
FmVectorEditor

The graphics rendering engine GLScene http://glscene.org
FmXCollectionEditor

The graphics rendering engine GLScene http://glscene.org
Formats.B3D

The graphics rendering engine GLScene http://glscene.org
Formats.DDSImage

The graphics rendering engine GLScene http://glscene.org
Formats.DXTC

The graphics rendering engine GLScene http://glscene.org
Formats.GL2

The graphics rendering engine GLScene http://glscene.org
Formats.HDRImage

The graphics rendering engine GLScene http://glscene.org
Formats.LWO

The graphics rendering engine GLScene http://glscene.org
Formats.m3DS

The graphics rendering engine GLScene http://glscene.org
Formats.m3DSConst

The graphics rendering engine GLScene http://glscene.org
Formats.m3DSTypes

The graphics rendering engine GLScene http://glscene.org
Formats.m3DSUtils

The graphics rendering engine GLScene http://glscene.org
Formats.MD2

The graphics rendering engine GLScene http://glscene.org
Formats.MD3

The graphics rendering engine GLScene http://glscene.org
Formats.OCT

The graphics rendering engine GLScene http://glscene.org
Formats.Q3BSP

The graphics rendering engine GLScene http://glscene.org
Formats.TGA

The graphics rendering engine GLScene http://glscene.org
Formats.VFW

The graphics rendering engine GLScene http://glscene.org
Formats.VRML

The unit is part of the GLScene Engine, http://glscene.org
Formats.X

The graphics rendering engine GLScene http://glscene.org
FRColorEditor

The graphics rendering engine GLScene http://glscene.org
FRFaceEditor

The graphics rendering engine GLScene http://glscene.org
FRMaterialPreview

The graphics rendering engine GLScene http://glscene.org
FRTextureEdit

The graphics rendering engine GLScene http://glscene.org
GLS.AnimatedSprite

The graphics rendering engine GLScene http://glscene.org
GLS.AnimationUtils

The graphics rendering engine GLScene http://glscene.org
GLS.ApplicationFileIO

The graphics rendering engine GLScene http://glscene.org
GLS.ArchiveManager

The graphics rendering engine GLScene http://glscene.org
GLS.AsyncHDS

The graphics rendering engine GLScene http://glscene.org
GLS.AsyncTimer

The graphics rendering engine GLScene http://glscene.org
GLS.Atmosphere

The graphics rendering engine GLScene http://glscene.org
GLS.AVIRecorder

The graphics rendering engine GLScene http://glscene.org
GLS.BaseClasses

The graphics rendering engine GLScene http://glscene.org
GLS.BaseMeshSilhouette

The graphics rendering engine GLScene http://glscene.org
GLS.Behaviours

The graphics rendering engine GLScene http://glscene.org
GLS.BitmapFont

The graphics rendering engine GLScene http://glscene.org
GLS.Blur

The graphics rendering engine GLScene http://glscene.org
GLS.BumpmapHDS

The graphics rendering engine GLScene http://glscene.org
GLS.Cadencer

The graphics rendering engine GLScene http://glscene.org
GLS.CameraController

The graphics rendering engine GLScene http://glscene.org
GLS.Canvas

The graphics rendering engine GLScene http://glscene.org
GLS.Collision

The graphics rendering engine GLScene http://glscene.org
GLS.Color

The graphics rendering engine GLScene http://glscene.org
GLS.CompositeImage

The graphics rendering engine GLScene http://glscene.org
GLS.Console

The graphics rendering engine GLScene http://glscene.org
GLS.Context

The graphics rendering engine GLScene http://glscene.org
GLS.Coordinates

The graphics rendering engine GLScene http://glscene.org
GLS.CrossXML

The graphics rendering engine GLScene http://glscene.org
GLS.CurvesAndSurfaces

The graphics rendering engine GLScene http://glscene.org
GLS.DCE

The graphics rendering engine GLScene http://glscene.org
GLS.DynamicTexture

The graphics rendering engine GLScene http://glscene.org
GLS.EllipseCollision

The graphics rendering engine GLScene http://glscene.org
GLS.EParticleMasksManager

The graphics rendering engine GLScene http://glscene.org
GLS.ExplosionFx

The graphics rendering engine GLScene http://glscene.org
GLS.Extrusion

The graphics rendering engine GLScene http://glscene.org
GLS.FBORenderer

The graphics rendering engine GLScene http://glscene.org
GLS.Feedback

The graphics rendering engine GLScene http://glscene.org
GLS.File3DPDF

The graphics rendering engine GLScene http://glscene.org
GLS.File3DS

The graphics rendering engine GLScene http://glscene.org
GLS.File3DSSceneObjects

The graphics rendering engine GLScene http://glscene.org
GLS.FileASE

The graphics rendering engine GLScene http://glscene.org
GLS.FileB3D

The graphics rendering engine GLScene http://glscene.org
GLS.FileBMP

The graphics rendering engine GLScene http://glscene.org
GLS.FileDDS

The graphics rendering engine GLScene http://glscene.org
GLS.FileDEL

The graphics rendering engine GLScene http://glscene.org
GLS.FileDXF

The graphics rendering engine GLScene http://glscene.org
GLS.FileGL2

The graphics rendering engine GLScene http://glscene.org
GLS.FileGLB

The graphics rendering engine GLScene http://glscene.org
GLS.FileGLTF

The graphics rendering engine GLScene http://glscene.org
GLS.FileGRD

The graphics rendering engine GLScene http://glscene.org
GLS.FileGTS

The graphics rendering engine GLScene http://glscene.org
GLS.FileHDR

The graphics rendering engine GLScene http://glscene.org
GLS.FileJPEG

The graphics rendering engine GLScene http://glscene.org
GLS.FileLMTS

The graphics rendering engine GLScene http://glscene.org
GLS.FileLWO

The graphics rendering engine GLScene http://glscene.org
GLS.FileMD2

The graphics rendering engine GLScene http://glscene.org
GLS.FileMD3

The graphics rendering engine GLScene http://glscene.org
GLS.FileMD5

The graphics rendering engine GLScene http://glscene.org
GLS.FileMDC

The graphics rendering engine GLScene http://glscene.org
GLS.FileMP3

The graphics rendering engine GLScene http://glscene.org
GLS.FileMS3D

The graphics rendering engine GLScene http://glscene.org
GLS.FileNMF

The graphics rendering engine GLScene http://glscene.org
GLS.FileNurbs

The graphics rendering engine GLScene http://glscene.org
GLS.FileO3TC

The graphics rendering engine GLScene http://glscene.org
GLS.FileO3TCImage

The graphics rendering engine GLScene http://glscene.org
GLS.FileOBJ

The graphics rendering engine GLScene http://glscene.org
GLS.FileOCT

The graphics rendering engine GLScene http://glscene.org
GLS.FilePAK

The graphics rendering engine GLScene http://glscene.org
GLS.FilePGM

The graphics rendering engine GLScene http://glscene.org
GLS.FilePLY

The graphics rendering engine GLScene http://glscene.org
GLS.FilePNG

The graphics rendering engine GLScene http://glscene.org
GLS.FileQ3BSP

The graphics rendering engine GLScene http://glscene.org
GLS.FileQ3MD3

The graphics rendering engine GLScene http://glscene.org
GLS.FileSMD

The graphics rendering engine GLScene http://glscene.org
GLS.FileSTL

The graphics rendering engine GLScene http://glscene.org
GLS.FileTGA

The graphics rendering engine GLScene http://glscene.org
GLS.FileTIN

The graphics rendering engine GLScene http://glscene.org
GLS.FileVfsPAK

The graphics rendering engine GLScene http://glscene.org
GLS.FileVOR

The graphics rendering engine GLScene http://glscene.org
GLS.FileVRML

The graphics rendering engine GLScene http://glscene.org
GLS.FileWAV

The graphics rendering engine GLScene http://glscene.org
GLS.FileX

The graphics rendering engine GLScene http://glscene.org
GLS.FileZLIB

The graphics rendering engine GLScene http://glscene.org
GLS.FireFX

The graphics rendering engine GLScene http://glscene.org
GLS.FPSMovement

The graphics rendering engine GLScene http://glscene.org
GLS.FullScreenViewer

The graphics rendering engine GLScene http://glscene.org
GLS.GameMenu

The graphics rendering engine GLScene http://glscene.org
GLS.GeometryBB

The graphics rendering engine GLScene http://glscene.org
GLS.GeomObjects

The graphics rendering engine GLScene http://glscene.org
GLS.Gizmo

The graphics rendering engine GLScene http://glscene.org
GLS.GizmoEx

The graphics rendering engine GLScene http://glscene.org
GLS.Graph

The graphics rendering engine GLScene http://glscene.org
GLS.Graphics

The graphics rendering engine GLScene http://glscene.org
GLS.Gui

The graphics rendering engine GLScene http://glscene.org
GLS.HeightData

The graphics rendering engine GLScene http://glscene.org
GLS.HeightTileFileHDS

The graphics rendering engine GLScene http://glscene.org
GLS.HUDObjects

The graphics rendering engine GLScene http://glscene.org
GLS.ImageUtils

The graphics rendering engine GLScene http://glscene.org
GLS.Imposter

The graphics rendering engine GLScene http://glscene.org
GLS.Isolines

The graphics rendering engine GLScene http://glscene.org
GLS.Isosurface

The graphics rendering engine GLScene http://glscene.org
GLS.Joystick

The graphics rendering engine GLScene http://glscene.org
GLS.Keyboard

The graphics rendering engine GLScene http://glscene.org
GLS.Language

The graphics rendering engine GLScene http://glscene.org
GLS.LensFlare

The graphics rendering engine GLScene http://glscene.org
GLS.LinePFX

The graphics rendering engine GLScene http://glscene.org
GLS.Logger

The graphics rendering engine GLScene http://glscene.org
GLS.Manager

The graphics rendering engine GLScene http://glscene.org
GLS.Material

The graphics rendering engine GLScene http://glscene.org
GLS.MaterialEx

The graphics rendering engine GLScene http://glscene.org
GLS.MaterialMultiProxy

The graphics rendering engine GLScene http://glscene.org
GLS.MaterialScript

The graphics rendering engine GLScene http://glscene.org
GLS.Memo

The graphics rendering engine GLScene http://glscene.org
GLS.Mesh

The graphics rendering engine GLScene http://glscene.org
GLS.MeshBSP

The graphics rendering engine GLScene http://glscene.org
GLS.MeshBuilder

The graphics rendering engine GLScene http://glscene.org
GLS.MeshCSG

The graphics rendering engine GLScene http://glscene.org
GLS.MeshLines

The graphics rendering engine GLScene http://glscene.org
GLS.MeshUtils

The graphics rendering engine GLScene http://glscene.org
GLS.Mirror

The graphics rendering engine GLScene http://glscene.org
GLS.ModuleLoader

The graphics rendering engine GLScene http://glscene.org
GLS.Movement

The graphics rendering engine GLScene http://glscene.org
GLS.MultiPolygon

The graphics rendering engine GLScene http://glscene.org
GLS.MultiProxy

The graphics rendering engine GLScene http://glscene.org
GLS.MultiSampleImage

The graphics rendering engine GLScene http://glscene.org
GLS.Navigator

The graphics rendering engine GLScene http://glscene.org
GLS.Nodes

The graphics rendering engine GLScene http://glscene.org
GLS.ObjectManager

The graphics rendering engine GLScene http://glscene.org
GLS.Objects

The graphics rendering engine GLScene http://glscene.org
GLS.Octree

The graphics rendering engine GLScene http://glscene.org
GLS.OpenGLAdapter

The graphics rendering engine GLScene http://glscene.org
GLS.OpenGLTokens

The graphics rendering engine GLScene http://glscene.org
GLS.OpenGLVCL

The graphics rendering engine GLScene http://glscene.org
GLS.ParametricSurfaces

The graphics rendering engine GLScene http://glscene.org
GLS.ParticleFX

The graphics rendering engine GLScene http://glscene.org
GLS.Particles

The graphics rendering engine GLScene http://glscene.org
GLS.Perlin

The graphics rendering engine GLScene http://glscene.org
GLS.PerlinPFX

The graphics rendering engine GLScene http://glscene.org
GLS.PersistentClasses

The graphics rendering engine GLScene http://glscene.org
GLS.PipelineTransformation

The graphics rendering engine GLScene http://glscene.org
GLS.PlugInManager

The graphics rendering engine GLScene http://glscene.org
GLS.PolygonTesselation

The graphics rendering engine GLScene http://glscene.org
GLS.Polynomials

The graphics rendering engine GLScene http://glscene.org
GLS.Portal

The graphics rendering engine GLScene http://glscene.org
GLS.ProcTextures

The graphics rendering engine GLScene http://glscene.org
GLS.ProjectedTextures

The graphics rendering engine GLScene http://glscene.org
GLS.ProxyObjects

The graphics rendering engine GLScene http://glscene.org
GLS.PythonScript

The graphics rendering engine GLScene http://glscene.org
GLS.Ragdoll

The graphics rendering engine GLScene http://glscene.org
GLS.RandomHDS

The graphics rendering engine GLScene http://glscene.org
GLS.RenderContextInfo

The graphics rendering engine GLScene http://glscene.org
GLS.RGBE

The graphics rendering engine GLScene http://glscene.org
GLS.ROAMPatch

The graphics rendering engine GLScene http://glscene.org
GLS.Scene

The graphics rendering engine GLScene http://glscene.org
GLS.SceneForm

The graphics rendering engine GLScene http://glscene.org
GLS.SceneRegister

The graphics rendering engine GLScene http://glscene.org
GLS.SceneViewer

The graphics rendering engine GLScene http://glscene.org
GLS.Screen

The graphics rendering engine GLScene http://glscene.org
GLS.ScreenSaver

The graphics rendering engine GLScene http://glscene.org
GLS.ScriptBase

The graphics rendering engine GLScene http://glscene.org
GLS.SDLContext

The graphics rendering engine GLScene http://glscene.org
GLS.SDLWindow

The graphics rendering engine GLScene http://glscene.org
GLS.Selection

The graphics rendering engine GLScene http://glscene.org
GLS.ShadowHDS

The graphics rendering engine GLScene http://glscene.org
GLS.ShadowPlane

The graphics rendering engine GLScene http://glscene.org
GLS.ShadowVolume

The graphics rendering engine GLScene http://glscene.org
GLS.Silhouette

The graphics rendering engine GLScene http://glscene.org
GLS.SimpleNavigation

The graphics rendering engine GLScene http://glscene.org
GLS.SkyDome

The graphics rendering engine GLScene http://glscene.org
GLS.SmoothNavigator

The graphics rendering engine GLScene http://glscene.org
GLS.Sound

The graphics rendering engine GLScene http://glscene.org
GLS.SoundFileObjects

The graphics rendering engine GLScene http://glscene.org
GLS.SpacePartition

The graphics rendering engine GLScene http://glscene.org
GLS.SpaceText

The graphics rendering engine GLScene http://glscene.org
GLS.Spline

The graphics rendering engine GLScene http://glscene.org
GLS.State

The graphics rendering engine GLScene http://glscene.org
GLS.Strings

The graphics rendering engine GLScene http://glscene.org
GLS.TerrainRenderer

The graphics rendering engine GLScene http://glscene.org
GLS.TexLensFlare

The graphics rendering engine GLScene http://glscene.org
GLS.Texture

The graphics rendering engine GLScene http://glscene.org
GLS.TextureCombiners

The graphics rendering engine GLScene http://glscene.org
GLS.TexturedHDS

The graphics rendering engine GLScene http://glscene.org
GLS.TextureFormat

The graphics rendering engine GLScene http://glscene.org
GLS.TextureImageEditors

The graphics rendering engine GLScene http://glscene.org
GLS.ThorFX

The graphics rendering engine GLScene http://glscene.org
GLS.TilePlane

The graphics rendering engine GLScene http://glscene.org
GLS.TimeEventsMgr

The graphics rendering engine GLScene http://glscene.org
GLS.Trail

The graphics rendering engine GLScene http://glscene.org
GLS.Tree

The graphics rendering engine GLScene http://glscene.org
GLS.Triangulation

The graphics rendering engine GLScene http://glscene.org
GLS.Utils

The graphics rendering engine GLScene http://glscene.org
GLS.VectorFileObjects

The graphics rendering engine GLScene http://glscene.org
GLS.VectorGeometry

The graphics rendering engine GLScene http://glscene.org
GLS.VectorLists

The graphics rendering engine GLScene http://glscene.org
GLS.VectorTypes

The graphics rendering engine GLScene http://glscene.org
GLS.VectorTypesExt

The graphics rendering engine GLScene http://glscene.org
GLS.VerletClothify

The graphics rendering engine GLScene http://glscene.org
GLS.VerletTypes

The graphics rendering engine GLScene http://glscene.org
GLS.WaterPlane

The graphics rendering engine GLScene http://glscene.org
GLS.Windows

The graphics rendering engine GLScene http://glscene.org
GLS.WindowsContext

The graphics rendering engine GLScene http://glscene.org
GLS.WindowsFont

The graphics rendering engine GLScene http://glscene.org
GLS.XCollection

The graphics rendering engine GLScene http://glscene.org
GLS.XCollectionRegister

The graphics rendering engine GLScene http://glscene.org
GLS.XOpenGL

The graphics rendering engine GLScene http://glscene.org
GLS.zBuffer

The graphics rendering engine GLScene http://glscene.org
GLSL.AsmShader

The graphics rendering engine GLScene http://glscene.org
GLSL.BumpShaders

The graphics rendering engine GLScene http://glscene.org
GLSL.CustomShader

The graphics rendering engine GLScene http://glscene.org
GLSL.DiffuseSpecularShader

The graphics rendering engine GLScene http://glscene.org
GLSL.LineShaders

The graphics rendering engine GLScene http://glscene.org
GLSL.MultiMaterialShader

The graphics rendering engine GLScene http://glscene.org
GLSL.PhongShader

The graphics rendering engine GLScene http://glscene.org
GLSL.PostEffects

The graphics rendering engine GLScene http://glscene.org
GLSL.PostShaders

The graphics rendering engine GLScene http://glscene.org
GLSL.ProjectedTextures

The graphics rendering engine GLScene http://glscene.org
GLSL.Shader

The graphics rendering engine GLScene http://glscene.org
GLSL.ShaderCombiner

The graphics rendering engine GLScene http://glscene.org
GLSL.ShaderParameter

The graphics rendering engine GLScene http://glscene.org
GLSL.ShapeShaders

The graphics rendering engine GLScene http://glscene.org
GLSL.TextureShaders

The graphics rendering engine GLScene http://glscene.org
GLSL.UserShader

The graphics rendering engine GLScene http://glscene.org
OpenCL.GL

The graphics rendering engine GLScene http://glscene.org
OpenCL.Import

The graphics rendering engine GLScene http://glscene.org
OpenCL.Platform

The graphics rendering engine GLScene http://glscene.org
PasDblStrUtils

***************************************************************************** * PasDblStrUtils * ****************************************************************************** * Version 2021-06-21-01-13-0000 * ****************************************************************************** * zlib license * *============================================================================* * * * Copyright (C) 2016-2021, Benjamin Rosseaux (benjamin@rosseaux.de) * * * * This software is provided 'as-is', without any express or implied * * warranty. In no event will the authors be held liable for any damages * * arising from the use of this software. * * * * Permission is granted to anyone to use this software for any purpose, * * including commercial applications, and to alter it and redistribute it * * freely, subject to the following restrictions: * * * * 1. The origin of this software must not be misrepresented; you must not * * claim that you wrote the original software. If you use this software * * in a product, an acknowledgement in the product documentation would be * * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * * * ****************************************************************************** * General guidelines for code contributors * *============================================================================* * * * 1. Make sure you are legally allowed to make a contribution under the zlib * * license. * * 2. The zlib license header goes at the top of each source file, with * * appropriate copyright notice. * * 3. After a pull request, check the status of your pull request on * http://github.com/BeRo1985/pasdblstrutils * * 4. Write code, which is compatible with Delphi >=XE7 and FreePascal * * >= 3.0 * * 5. Don't use Delphi-only, FreePascal-only or Lazarus-only libraries/units, * * but if needed, make it out-ifdef-able. * * 6. No use of third-party libraries/units as possible, but if needed, make * * it out-ifdef-able. * * 7. Try to use const when possible. * * 8. Make sure to comment out writeln, used while debugging. * * 9. Make sure the code compiles on 32-bit and 64-bit platforms (x86-32, * * x86-64, ARM, ARM64, etc.). * * 10. Make sure the code runs on platforms with weak and strong memory * * models without any issues. * * * *****************************************************************************
PasJSON

***************************************************************************** * PasJSON * ****************************************************************************** * Version 2020-03-04-02-20 * ****************************************************************************** * zlib license * *============================================================================* * * * Copyright (C) 2016-2020, Benjamin Rosseaux (benjamin@rosseaux.de) * * * * This software is provided 'as-is', without any express or implied * * warranty. In no event will the authors be held liable for any damages * * arising from the use of this software. * * * * Permission is granted to anyone to use this software for any purpose, * * including commercial applications, and to alter it and redistribute it * * freely, subject to the following restrictions: * * * * 1. The origin of this software must not be misrepresented; you must not * * claim that you wrote the original software. If you use this software * * in a product, an acknowledgement in the product documentation would be * * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * * * ****************************************************************************** * General guidelines for code contributors * *============================================================================* * * * 1. Make sure you are legally allowed to make a contribution under the zlib * * license. * * 2. The zlib license header goes at the top of each source file, with * * appropriate copyright notice. * * 3. After a pull request, check the status of your pull request on * * http://github.com/BeRo1985/pasjson * * 4. Write code which's compatible with newer modern Delphi versions and * * FreePascal >= 3.0.0 * * 5. Don't use Delphi-only, FreePascal-only or Lazarus-only libraries/units, * * but if needed, make it out-ifdef-able. * * 6. No use of third-party libraries/units as possible, but if needed, make * * it out-ifdef-able. * * 7. Try to use const when possible. * * 8. Make sure to comment out writeln, used while debugging. * * 9. Make sure the code compiles on 32-bit and 64-bit platforms (x86-32, * * x86-64, ARM, ARM64, etc.). * * * *****************************************************************************
Physics.NewtonImport

Copyright (c) <2003-2020> <Julio Jerez, Newton Game Dynamics> * * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution.
Physics.NGDManager

The graphics rendering engine GLScene http://glscene.org
Physics.NGDRagdoll

The graphics rendering engine GLScene http://glscene.org
Physics.ODEImport

The graphics rendering engine GLScene http://glscene.org
Physics.ODEManager

The graphics rendering engine GLScene http://glscene.org
Physics.ODERagdoll

The graphics rendering engine GLScene http://glscene.org
Physics.ODESkeletonColliders

The graphics rendering engine GLScene http://glscene.org
Physics.ODEUtils

The graphics rendering engine GLScene http://glscene.org
Physics.PhysXImport

The graphics rendering engine GLScene http://glscene.org
Physics.Register

The graphics rendering engine GLScene http://glscene.org
Physics.SPIFields

The graphics rendering engine GLScene http://glscene.org
Physics.SPIForces

The graphics rendering engine GLScene http://glscene.org
Physics.SPIInertias

The graphics rendering engine GLScene http://glscene.org
Physics.SPIJoints

The graphics rendering engine GLScene http://glscene.org
Physics.SPIManager

The graphics rendering engine GLScene http://glscene.org
Pythons.Script

The graphics rendering engine GLScene http://glscene.org
SDL2.Frame

================================================================================ == == == ATTENTION: DO NOT LOAD ALL GRAPHICS ON CREATE OR ON SHOW BECAUSE THE == == COMPONENT SDL2FRAME IS NOT YET COMPLETED == == == ================================================================================
SDL2.Image

SDL2.Import

SDL2.Mixer

SDL2.Net

SDL2.Ttf

Sounds.BASS

The graphics rendering engine GLScene http://glscene.org
Sounds.BASSImport

BASS 2.4 Delphi unit Copyright (c) 1999-2021 Un4seen Developments Ltd. http://www.un4seen.com/music/, free for freeware

See the BASS.CHM file for more detailed documentation

How to install ————– Copy BASS.PAS to the \LIB subdirectory of your Delphi path or your project dir

NOTE: Delphi users should use the BASS_UNICODE flag where possible
Sounds.FMOD

The graphics rendering engine GLScene http://glscene.org
Sounds.FMODerrors

The graphics rendering engine GLScene http://glscene.org
Sounds.FMODImport

The graphics rendering engine GLScene http://glscene.org
Sounds.FMODpresets

The graphics rendering engine GLScene http://glscene.org
Sounds.FMODtypes

The graphics rendering engine GLScene http://glscene.org
Sounds.OpenAL

The graphics rendering engine GLScene http://glscene.org
Sounds.OpenALImport

Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is OpenAL1.0 - Headertranslation to Object Pascal. * * The Initial Developer of the Original Code is * Delphi OpenAL Translation Team. * Portions created by the Initial Developer are Copyright (C) 2001-2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Tom Nuydens (delphi3d@gamedeveloper.org) * Dean Ellis (dean.ellis@sxmedia.co.uk) * Amresh Ramachandran (amreshr@hotmail.com) * Pranav Joshi (pranavjosh@yahoo.com) * Marten van der Honing (mvdhoning@noeska.com) * Benjamin Rosseaux (BeRo) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL.
Sounds.SoundRegister

The graphics rendering engine GLScene http://glscene.org
Sounds.WaveOut

The graphics rendering engine GLScene http://glscene.org


GLSysHelp v.2.1: Cg.BombShader

Unit Cg.BombShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Texture
  • GLS.Cadencer
  • GLS.Context
  • GLS.Strings
  • GLS.Material
  • GLS.RenderContextInfo
  • GLS.TextureFormat
  • GLS.State
  • Cg.GL
  • Cg.Shader

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class ECgBombShaderException |
Class TCgCustomBombShader |
Class TCgBombShader |

Types

TGLCgBombShaderTextureSource = (...);

Description

Types

TGLCgBombShaderTextureSource = (...);
Values
  • stsPrimaryTexture
  • stsSecondadyTexture
  • stsThirdTexture
  • stsUserSelectedTexture


GLSysHelp v.2.1: Cg.BombShader: Class ECgBombShaderException

Class ECgBombShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.BombShader

Declaration

type ECgBombShaderException = class(ECgShaderException)

Description

No description available, ancestor ECgShaderException description follows

Define OutputCompilerWarnings to output Cg compiler warnings to a file. Useful for detecting bugs caused by using uninitialized value, implicit type cast, etc.

Hierarchy

  • TObject
  • Exception
  • EGLShaderException
  • ECgShaderException
  • ECgBombShaderException


GLSysHelp v.2.1: Cg.BombShader: Class TCgCustomBombShader

Class TCgCustomBombShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.BombShader

Declaration

type TCgCustomBombShader = class(TCadencableCustomCgShader, IGLMaterialLibrarySupported)

Description

Just a good-looking shader.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader
  • TCadencableCustomCgShader
  • TCgCustomBombShader

Overview

Fields

Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FGradientTexture: TGLTexture;
Private | FMainTexture: TGLTexture;
Private | FMainTextureName: TGLLibMaterialName;
Private | FGradientTextureName: TGLLibMaterialName;
Private | FSharpness: Single;
Private | FColorRange: Single;
Private | FSpeed: Single;
Private | FDisplacement: Single;
Private | FAlpha: Single;
Private | FTurbDensity: Single;
Private | FColorSharpness: Single;
Private | FGradientTextureShare: Single;
Private | FMainTextureShare: Single;
Private | FMainTextureSource: TGLCgBombShaderTextureSource;

Methods

Public | constructor Create(AOwner: TComponent); override;
Private | function GetGradientTextureName: TGLLibMaterialName;
Private | function GetMainTextureName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function StoreColorRange: Boolean;
Private | function StoreColorSharpness: Boolean;
Private | function StoreDisplacement: Boolean;
Private | function StoreGradientTextureShare: Boolean;
Private | function StoreMainTextureShare: Boolean;
Private | function StoreSharpness: Boolean;
Private | function StoreSpeed: Boolean;
Private | function StoreTurbDensity: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure OnApplyFP(CgProgram: TCgProgram; Sender: TObject); virtual;
Protected | procedure OnApplyVP(CgProgram: TCgProgram; Sender: TObject); virtual;
Protected | procedure OnUnApplyFP(CgProgram: TCgProgram); virtual;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure SetGradientTexture(const Value: TGLTexture);
Private | procedure SetGradientTextureName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexture(const Value: TGLTexture);
Private | procedure SetMainTextureName(const Value: TGLLibMaterialName);

Properties

Public | property Alpha: Single read FAlpha write FAlpha;
Public | property ColorRange: Single read FColorRange write FColorRange stored StoreColorRange;
Public | property ColorSharpness: Single read FColorSharpness write FColorSharpness stored StoreColorSharpness;
Public | property Displacement: Single read FDisplacement write FDisplacement stored StoreDisplacement;
Public | property GradientTexture: TGLTexture read FGradientTexture write SetGradientTexture;
Public | property GradientTextureName: TGLLibMaterialName read GetGradientTextureName write SetGradientTextureName;
Public | property GradientTextureShare: Single read FGradientTextureShare write FGradientTextureShare stored StoreGradientTextureShare;
Public | property MainTexture: TGLTexture read FMainTexture write SetMainTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTextureName write SetMainTextureName;
Public | property MainTextureShare: Single read FMainTextureShare write FMainTextureShare stored StoreMainTextureShare;
Public | property MainTextureSource: TGLCgBombShaderTextureSource read FMainTextureSource write FMainTextureSource;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public | property Sharpness: Single read FSharpness write FSharpness stored StoreSharpness;
Public | property Speed: Single read FSpeed write FSpeed stored StoreSpeed;
Public | property TurbDensity: Single read FTurbDensity write FTurbDensity stored StoreTurbDensity;

Description

Fields

Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FGradientTexture: TGLTexture;
Private FMainTexture: TGLTexture;
Private FMainTextureName: TGLLibMaterialName;
Private FGradientTextureName: TGLLibMaterialName;
Private FSharpness: Single;
Private FColorRange: Single;
Private FSpeed: Single;
Private FDisplacement: Single;
Private FAlpha: Single;
Private FTurbDensity: Single;
Private FColorSharpness: Single;
Private FGradientTextureShare: Single;
Private FMainTextureShare: Single;
Private FMainTextureSource: TGLCgBombShaderTextureSource;

Methods

Public constructor Create(AOwner: TComponent); override;
Private function GetGradientTextureName: TGLLibMaterialName;
Private function GetMainTextureName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Private function StoreColorRange: Boolean;
Private function StoreColorSharpness: Boolean;
Private function StoreDisplacement: Boolean;
Private function StoreGradientTextureShare: Boolean;
Private function StoreMainTextureShare: Boolean;
Private function StoreSharpness: Boolean;
Private function StoreSpeed: Boolean;
Private function StoreTurbDensity: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure OnApplyFP(CgProgram: TCgProgram; Sender: TObject); virtual;
Protected procedure OnApplyVP(CgProgram: TCgProgram; Sender: TObject); virtual;
Protected procedure OnUnApplyFP(CgProgram: TCgProgram); virtual;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure SetGradientTexture(const Value: TGLTexture);
Private procedure SetGradientTextureName(const Value: TGLLibMaterialName);
Private procedure SetMainTexture(const Value: TGLTexture);
Private procedure SetMainTextureName(const Value: TGLLibMaterialName);

Properties

Public property Alpha: Single read FAlpha write FAlpha;
Public property ColorRange: Single read FColorRange write FColorRange stored StoreColorRange;
Public property ColorSharpness: Single read FColorSharpness write FColorSharpness stored StoreColorSharpness;
Public property Displacement: Single read FDisplacement write FDisplacement stored StoreDisplacement;
Public property GradientTexture: TGLTexture read FGradientTexture write SetGradientTexture;
Public property GradientTextureName: TGLLibMaterialName read GetGradientTextureName write SetGradientTextureName;
Public property GradientTextureShare: Single read FGradientTextureShare write FGradientTextureShare stored StoreGradientTextureShare;
Public property MainTexture: TGLTexture read FMainTexture write SetMainTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTextureName write SetMainTextureName;
Public property MainTextureShare: Single read FMainTextureShare write FMainTextureShare stored StoreMainTextureShare;
Public property MainTextureSource: TGLCgBombShaderTextureSource read FMainTextureSource write FMainTextureSource;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public property Sharpness: Single read FSharpness write FSharpness stored StoreSharpness;
Public property Speed: Single read FSpeed write FSpeed stored StoreSpeed;
Public property TurbDensity: Single read FTurbDensity write FTurbDensity stored StoreTurbDensity;


GLSysHelp v.2.1: Cg.BombShader: Class TCgBombShader

Class TCgBombShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.BombShader

Declaration

type TCgBombShader = class(TCgCustomBombShader)

Description

No description available, ancestor TCgCustomBombShader description follows

Just a good-looking shader.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader
  • TCadencableCustomCgShader
  • TCgCustomBombShader
  • TCgBombShader

Overview

Methods

Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure OnApplyFP(CgProgram: TCgProgram; Sender: TObject); override;
Protected | procedure OnApplyVP(CgProgram: TCgProgram; Sender: TObject); override;
Protected | procedure OnUnApplyFP(CgProgram: TCgProgram); override;

Properties

Published | property Alpha;
Published | property Cadencer;
Published | property ColorRange;
Published | property ColorSharpness;
Published | property DesignEnable;
Published | property Displacement;
Published | property GradientTextureName;
Published | property GradientTextureShare;
Published | property MainTextureName;
Published | property MainTextureShare;
Published | property MaterialLibrary;
Published | property Sharpness;
Published | property Speed;
Published | property TurbDensity;

Description

Methods

Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure OnApplyFP(CgProgram: TCgProgram; Sender: TObject); override;
Protected procedure OnApplyVP(CgProgram: TCgProgram; Sender: TObject); override;
Protected procedure OnUnApplyFP(CgProgram: TCgProgram); override;

Properties

Published property Alpha;
Published property Cadencer;
Published property ColorRange;
Published property ColorSharpness;
Published property DesignEnable;
Published property Displacement;
Published property GradientTextureName;
Published property GradientTextureShare;
Published property MainTextureName;
Published property MainTextureShare;
Published property MaterialLibrary;
Published property Sharpness;
Published property Speed;
Published property TurbDensity;


GLSysHelp v.2.1: Cg.GL

Unit Cg.GL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

* * Copyright (c) 2002, NVIDIA Corporation. * * * * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration * of your agreement to the following terms, and your use, installation, * modification or redistribution of this NVIDIA software constitutes * acceptance of these terms. If you do not agree with these terms, please do * not use, install, modify or redistribute this NVIDIA software. * * In consideration of your agreement to abide by the following terms, and * subject to these terms, NVIDIA grants you a personal, non-exclusive license, * under NVIDIARs copyrights in this original NVIDIA software (the "NVIDIA * Software"), to use, reproduce, modify and redistribute the NVIDIA * Software, with or without modifications, in source and/or binary forms; * provided that if you redistribute the NVIDIA Software, you must retain the * copyright notice of NVIDIA, this notice and the following text and * disclaimers in all such redistributions of the NVIDIA Software. Neither the * name, trademarks, service marks nor logos of NVIDIA Corporation may be used * to endorse or promote products derived from the NVIDIA Software without * specific prior written permission from NVIDIA. Except as expressly stated * in this notice, no other rights or licenses express or implied, are granted * by NVIDIA herein, including but not limited to any patent rights that may be * infringed by your derivative works or by other works in which the NVIDIA * Software may be incorporated. No hardware is licensed hereunder. * * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. * * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. *

Uses

  • Winapi.Windows
  • Cg.Import

Overview

Functions and Procedures

function cgGLIsProfileSupported(profile: TCGprofile): TCGbool; cdecl; external CgGLlibrary;
procedure cgGLEnableProfile(profile: TCGprofile); cdecl; external CgGLlibrary;
procedure cgGLDisableProfile(profile: TCGprofile); cdecl; external CgGLlibrary;
function cgGLGetLatestProfile(profile_type: TCGGLenum): TCGprofile; cdecl; external CgGLlibrary;
procedure cgGLSetOptimalOptions(profile: TCGprofile); cdecl; external CgGLlibrary;
procedure cgGLLoadProgram(_program: PCGprogram); cdecl; external CgGLlibrary;
function cgGLIsProgramLoaded(_program: PCGprogram): TCGbool; cdecl; external CgGLlibrary;
procedure cgGLBindProgram(_program: PCGprogram); cdecl; external CgGLlibrary;
procedure cgGLUnbindProgram(profile: TCGprofile); cdecl; external CgGLlibrary;
function cgGLGetProgramID(_program: PCGprogram): Cardinal; cdecl; external CgGLlibrary;
procedure cgGLSetParameter1f(param: PCGparameter; x: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2f(param: PCGparameter; x, y: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3f(param: PCGparameter; x, y, z: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4f(param: PCGparameter; x, y, z, w: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter1fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter1d(param: PCGparameter; x: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2d(param: PCGparameter; x, y: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3d(param: PCGparameter; x, y, z: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4d(param: PCGparameter; x, y, z, w: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter1dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter1f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter2f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter3f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter4f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter1d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter2d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter3d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter4d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray1f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray2f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray3f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray4f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray1d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray2d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray3d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray4d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray1f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray2f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray3f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray4f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray1d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray2d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray3d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray4d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterPointer(param: PCGparameter; fsize: Integer; _type: Cardinal; stride: Integer; const _pointer: Pointer); cdecl; external CgGLlibrary;
procedure cgGLEnableClientState(param: PCGparameter); cdecl; external CgGLlibrary;
procedure cgGLDisableClientState(param: PCGparameter); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterdr(param: PCGparameter; const matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterfr(param: PCGparameter; const matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterdc(param: PCGparameter; const matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterfc(param: PCGparameter; const matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterdr(param: PCGparameter; matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterfr(param: PCGparameter; matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterdc(param: PCGparameter; matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterfc(param: PCGparameter; matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetStateMatrixParameter(param: PCGparameter; matrix: TCGGLenum; transform: TCGGLenum); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArrayfc(param: PCGparameter; offset, nelements: Longint; const matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArrayfr(param: PCGparameter; offset, nelements: Longint; const matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArraydc(param: PCGparameter; offset, nelements: Longint; const matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArraydr(param: PCGparameter; offset, nelements: Longint; const matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArrayfc(param: PCGparameter; offset, nelements: Longint; matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArrayfr(param: PCGparameter; offset, nelements: Longint; matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArraydc(param: PCGparameter; offset, nelements: Longint; matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArraydr(param: PCGparameter; offset, nelements: Longint; matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetTextureParameter(param: PCGparameter; texobj: Cardinal); cdecl; external CgGLlibrary;
function cgGLGetTextureParameter(param: PCGparameter): Cardinal; cdecl; external CgGLlibrary;
procedure cgGLEnableTextureParameter(param: PCGparameter); cdecl; external CgGLlibrary;
procedure cgGLDisableTextureParameter(param: PCGparameter); cdecl; external CgGLlibrary;
function cgGLGetTextureEnum(param: PCGparameter): Cardinal; cdecl; external CgGLlibrary;
procedure cgGLSetManageTextureParameters(ctx: PCGcontext; flag: TCGbool); cdecl; external CgGLlibrary;
function cgGLGetManageTextureParameters(ctx: PCGcontext): TCGbool; cdecl; external CgGLlibrary;

Types

CGGLenum = TCGGLenum;
TCGGLenum = Cardinal;

Constants

CgGLlibrary = 'cgGL.dll';
CG_GL_MATRIX_IDENTITY = 0;
CG_GL_MATRIX_TRANSPOSE = 1;
CG_GL_MATRIX_INVERSE = 2;
CG_GL_MATRIX_INVERSE_TRANSPOSE = 3;
CG_GL_MODELVIEW_MATRIX = 4;
CG_GL_PROJECTION_MATRIX = 5;
CG_GL_TEXTURE_MATRIX = 6;
CG_GL_MODELVIEW_PROJECTION_MATRIX = 7;
CG_GL_VERTEX = 8;
CG_GL_FRAGMENT = 9;

Description

Functions and Procedures

function cgGLIsProfileSupported(profile: TCGprofile): TCGbool; cdecl; external CgGLlibrary;

***************************************************************************** *** Profile Functions ****************************************************************************

procedure cgGLEnableProfile(profile: TCGprofile); cdecl; external CgGLlibrary;
procedure cgGLDisableProfile(profile: TCGprofile); cdecl; external CgGLlibrary;
function cgGLGetLatestProfile(profile_type: TCGGLenum): TCGprofile; cdecl; external CgGLlibrary;
procedure cgGLSetOptimalOptions(profile: TCGprofile); cdecl; external CgGLlibrary;
procedure cgGLLoadProgram(_program: PCGprogram); cdecl; external CgGLlibrary;

***************************************************************************** *** Program Managment Functions ****************************************************************************

function cgGLIsProgramLoaded(_program: PCGprogram): TCGbool; cdecl; external CgGLlibrary;
procedure cgGLBindProgram(_program: PCGprogram); cdecl; external CgGLlibrary;
procedure cgGLUnbindProgram(profile: TCGprofile); cdecl; external CgGLlibrary;
function cgGLGetProgramID(_program: PCGprogram): Cardinal; cdecl; external CgGLlibrary;
procedure cgGLSetParameter1f(param: PCGparameter; x: Single); cdecl; external CgGLlibrary;

***************************************************************************** *** Parameter Managment Functions ****************************************************************************

procedure cgGLSetParameter2f(param: PCGparameter; x, y: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3f(param: PCGparameter; x, y, z: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4f(param: PCGparameter; x, y, z, w: Single); cdecl; external CgGLlibrary;
procedure cgGLSetParameter1fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4fv(param: PCGparameter; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameter1d(param: PCGparameter; x: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2d(param: PCGparameter; x, y: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3d(param: PCGparameter; x, y, z: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4d(param: PCGparameter; x, y, z, w: Double); cdecl; external CgGLlibrary;
procedure cgGLSetParameter1dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameter2dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameter3dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameter4dv(param: PCGparameter; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter1f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter2f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter3f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter4f(param: PCGparameter; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameter1d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter2d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter3d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameter4d(param: PCGparameter; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray1f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray2f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray3f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray4f(param: PCGparameter; offset, nelements: Longint; const v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray1d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray2d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray3d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterArray4d(param: PCGparameter; offset, nelements: Longint; const v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray1f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray2f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray3f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray4f(param: PCGparameter; offset, nelements: Longint; v: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray1d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray2d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray3d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetParameterArray4d(param: PCGparameter; offset, nelements: Longint; v: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetParameterPointer(param: PCGparameter; fsize: Integer; _type: Cardinal; stride: Integer; const _pointer: Pointer); cdecl; external CgGLlibrary;
procedure cgGLEnableClientState(param: PCGparameter); cdecl; external CgGLlibrary;
procedure cgGLDisableClientState(param: PCGparameter); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterdr(param: PCGparameter; const matrix: PDouble); cdecl; external CgGLlibrary;

***************************************************************************** *** Matrix Parameter Managment Functions ****************************************************************************

procedure cgGLSetMatrixParameterfr(param: PCGparameter; const matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterdc(param: PCGparameter; const matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterfc(param: PCGparameter; const matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterdr(param: PCGparameter; matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterfr(param: PCGparameter; matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterdc(param: PCGparameter; matrix: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterfc(param: PCGparameter; matrix: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetStateMatrixParameter(param: PCGparameter; matrix: TCGGLenum; transform: TCGGLenum); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArrayfc(param: PCGparameter; offset, nelements: Longint; const matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArrayfr(param: PCGparameter; offset, nelements: Longint; const matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArraydc(param: PCGparameter; offset, nelements: Longint; const matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetMatrixParameterArraydr(param: PCGparameter; offset, nelements: Longint; const matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArrayfc(param: PCGparameter; offset, nelements: Longint; matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArrayfr(param: PCGparameter; offset, nelements: Longint; matrices: PSingle); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArraydc(param: PCGparameter; offset, nelements: Longint; matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLGetMatrixParameterArraydr(param: PCGparameter; offset, nelements: Longint; matrices: PDouble); cdecl; external CgGLlibrary;
procedure cgGLSetTextureParameter(param: PCGparameter; texobj: Cardinal); cdecl; external CgGLlibrary;

***************************************************************************** *** Texture Parameter Managment Functions ****************************************************************************

function cgGLGetTextureParameter(param: PCGparameter): Cardinal; cdecl; external CgGLlibrary;
procedure cgGLEnableTextureParameter(param: PCGparameter); cdecl; external CgGLlibrary;
procedure cgGLDisableTextureParameter(param: PCGparameter); cdecl; external CgGLlibrary;
function cgGLGetTextureEnum(param: PCGparameter): Cardinal; cdecl; external CgGLlibrary;
procedure cgGLSetManageTextureParameters(ctx: PCGcontext; flag: TCGbool); cdecl; external CgGLlibrary;
function cgGLGetManageTextureParameters(ctx: PCGcontext): TCGbool; cdecl; external CgGLlibrary;

Types

CGGLenum = TCGGLenum;
TCGGLenum = Cardinal;

***************************************************************************

Constants

CgGLlibrary = 'cgGL.dll';
CG_GL_MATRIX_IDENTITY = 0;
CG_GL_MATRIX_TRANSPOSE = 1;
CG_GL_MATRIX_INVERSE = 2;
CG_GL_MATRIX_INVERSE_TRANSPOSE = 3;
CG_GL_MODELVIEW_MATRIX = 4;
CG_GL_PROJECTION_MATRIX = 5;
CG_GL_TEXTURE_MATRIX = 6;
CG_GL_MODELVIEW_PROJECTION_MATRIX = 7;
CG_GL_VERTEX = 8;
CG_GL_FRAGMENT = 9;


GLSysHelp v.2.1: Cg.Import

Unit Cg.Import

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

* Copyright (c) 2002, NVIDIA Corporation. * * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration * of your agreement to the following terms, and your use, installation, * modification or redistribution of this NVIDIA software constitutes * acceptance of these terms. If you do not agree with these terms, please do * not use, install, modify or redistribute this NVIDIA software. * * In consideration of your agreement to abide by the following terms, and * subject to these terms, NVIDIA grants you a personal, non-exclusive license, * under NVIDIAs copyrights in this original NVIDIA software (the "NVIDIA * Software"), to use, reproduce, modify and redistribute the NVIDIA * Software, with or without modifications, in source and/or binary forms; * provided that if you redistribute the NVIDIA Software, you must retain the * copyright notice of NVIDIA, this notice and the following text and * disclaimers in all such redistributions of the NVIDIA Software. Neither the * name, trademarks, service marks nor logos of NVIDIA Corporation may be used * to endorse or promote products derived from the NVIDIA Software without * specific prior written permission from NVIDIA. Except as expressly stated * in this notice, no other rights or licenses express or implied, are granted * by NVIDIA herein, including but not limited to any patent rights that may be * infringed by your derivative works or by other works in which the NVIDIA * Software may be incorporated. No hardware is licensed hereunder. * * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. * * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE.

Uses

  • Winapi.Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record _CGcontext |
Record _CGprogram |
Record _CGparameter |

Functions and Procedures

function cgCreateContext: PCGcontext; cdecl; external CgLibrary;
procedure cgDestroyContext(ctx: PCGcontext); cdecl; external CgLibrary;
function cgIsContext(ctx: PCGcontext): TCGbool; cdecl; external CgLibrary;
function cgGetLastListing(ctx: PCGcontext): PChar; cdecl; external CgLibrary;
procedure cgSetAutoCompile(ctx: PCGcontext; flag: TCGenum); cdecl; external CgLibrary;
function cgCreateProgram(ctx: PCGcontext; program_type: TCGenum; const _program: PCharCG; profile: TCGprofile; const entry: PCharCG; const args: PPCharCG): PCGprogram; cdecl; external CgLibrary;
function cgCreateProgramFromFile(ctx: PCGcontext; program_type: TCGenum; const program_file: PCharCG; profile: TCGprofile; const entry: PCharCG; const args: PPCharCG): PCGprogram; cdecl; external CgLibrary;
function cgCopyProgram(_program: PCGprogram): PCGprogram; cdecl; external CgLibrary;
procedure cgDestroyProgram(_program: PCGprogram); cdecl; external CgLibrary;
function cgGetFirstProgram(ctx: PCGcontext): PCGprogram; cdecl; external CgLibrary;
function cgGetNextProgram(current: PCGprogram): PCGprogram; cdecl; external CgLibrary;
function cgGetProgramContext(prog: PCGprogram): PCGcontext; cdecl; external CgLibrary;
function cgIsProgram(_program: PCGprogram): TCGbool; cdecl; external CgLibrary;
procedure cgCompileProgram(_program: PCGprogram); cdecl; external CgLibrary;
function cgIsProgramCompiled(_program: PCGprogram): TCGbool; cdecl; external CgLibrary;
function cgGetProgramString(prog: PCGprogram; pname: TCGenum): PCharCG; cdecl; external CgLibrary;
function cgGetProgramProfile(prog: PCGprogram): TCGprofile; cdecl; external CgLibrary;
function cgCreateParameter(ctx: PCGcontext; type_: TCGtype): PCGparameter; cdecl; external CgLibrary;
function cgCreateParameterArray(ctx: PCGcontext; type_: TCGtype; length: Integer): PCGparameter; cdecl; external CgLibrary;
function cgCreateParameterMultiDimArray(ctx: PCGcontext; type_: TCGtype; dim: Integer; const lengths: PInteger): PCGparameter; cdecl; external CgLibrary;
procedure cgDestroyParameter(param: PCGparameter); cdecl; external CgLibrary;
procedure cgConnectParameter(from, to_: PCGparameter); cdecl; external CgLibrary;
procedure cgDisconnectParameter(param: PCGparameter); cdecl; external CgLibrary;
function cgGetConnectedParameter(param: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetNumConnectedToParameters(param: PCGparameter): Integer; cdecl; external CgLibrary;
function cgGetConnectedToParameter(param: PCGparameter; index: Integer): PCGparameter; cdecl; external CgLibrary;
function cgGetNamedParameter(prog: PCGprogram; const name: PCharCG): PCGparameter; cdecl; external CgLibrary;
function cgGetNamedProgramParameter(prog: PCGprogram; name_space: TCGenum; const name: PCharCG): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstParameter(prog: PCGprogram; name_space: TCGenum): PCGparameter; cdecl; external CgLibrary;
function cgGetNextParameter(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstLeafParameter(prog: PCGprogram; name_space: TCGenum): PCGparameter; cdecl; external CgLibrary;
function cgGetNextLeafParameter(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstStructParameter(param: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetNamedStructParameter(param: PCGparameter; const name: PCharCG): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstDependentParameter(param: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetArrayParameter(aparam: PCGparameter; index: Integer): PCGparameter; cdecl; external CgLibrary;
function cgGetArrayDimension(param: PCGparameter): Integer; cdecl; external CgLibrary;
function cgGetArrayType(param: PCGparameter): TCGtype; cdecl; external CgLibrary;
function cgGetArraySize(param: PCGparameter; dimension: Integer): Integer; cdecl; external CgLibrary;
procedure cgSetArraySize(param: PCGparameter; size: Integer); cdecl; external CgLibrary;
procedure cgSetMultiDimArraySize(param: PCGparameter; const sizes: PInteger); cdecl; external CgLibrary;
function cgGetParameterProgram(param: PCGparameter): PCGprogram; cdecl; external CgLibrary;
function cgGetParameterContext(param: PCGparameter): PCGcontext; cdecl; external CgLibrary;
function cgIsParameter(param: PCGparameter): TCGbool; cdecl; external CgLibrary;
function cgGetParameterName(param: PCGparameter): PCharCG; cdecl; external CgLibrary;
function cgGetParameterType(param: PCGparameter): TCGtype; cdecl; external CgLibrary;
function cgGetParameterNamedType(param: PCGparameter): TCGtype; cdecl; external CgLibrary;
function cgGetParameterSemantic(param: PCGparameter): PCharCG; cdecl; external CgLibrary;
function cgGetParameterResource(param: PCGparameter): TCGresource; cdecl; external CgLibrary;
function cgGetParameterBaseResource(param: PCGparameter): TCGresource; cdecl; external CgLibrary;
function cgGetParameterResourceIndex(param: PCGparameter): LongWord; cdecl; external CgLibrary;
function cgGetParameterVariability(param: PCGparameter): TCGenum; cdecl; external CgLibrary;
function cgGetParameterDirection(param: PCGparameter): TCGenum; cdecl; external CgLibrary;
function cgIsParameterReferenced(param: PCGparameter): TCGbool; cdecl; external CgLibrary;
function cgGetParameterValues(param: PCGparameter; value_type: TCGenum; out nvalues: Integer): PDouble; cdecl; external CgLibrary;
function cgGetParameterOrdinalNumber(param: PCGparameter): Integer; cdecl; external CgLibrary;
function cgIsParameterGlobal(param: PCGparameter): TCGbool; cdecl; external CgLibrary;
function cgGetParameterIndex(param: PCGparameter): Integer; cdecl; external CgLibrary;
procedure cgSetParameterVariability(param: PCGparameter; vary: TCGenum); cdecl; external CgLibrary;
procedure cgSetParameterSemantic(param: PCGparameter; const semantic: PCharCG); cdecl; external CgLibrary;
procedure cgSetParameter1f(param: PCGparameter; x: Single); cdecl; external CgLibrary;
procedure cgSetParameter2f(param: PCGparameter; x, y: Single); cdecl; external CgLibrary;
procedure cgSetParameter3f(param: PCGparameter; x, y, z: Single); cdecl; external CgLibrary;
procedure cgSetParameter4f(param: PCGparameter; x, y, z, w: Single); cdecl; external CgLibrary;
procedure cgSetParameter1d(param: PCGparameter; x: Double); cdecl; external CgLibrary;
procedure cgSetParameter2d(param: PCGparameter; x, y: Double); cdecl; external CgLibrary;
procedure cgSetParameter3d(param: PCGparameter; x, y, z: Double); cdecl; external CgLibrary;
procedure cgSetParameter4d(param: PCGparameter; x, y, z, w: Double); cdecl; external CgLibrary;
procedure cgSetParameter1fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter2fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter3fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter4fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter1dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetParameter2dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetParameter3dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetParameter4dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetMatrixParameterdr(param: PCGparameter; const matrix: PDouble); cdecl; external CgLibrary;
procedure cgSetMatrixParameterfr(param: PCGparameter; const matrix: PSingle); cdecl; external CgLibrary;
procedure cgSetMatrixParameterdc(param: PCGparameter; const matrix: PDouble); cdecl; external CgLibrary;
procedure cgSetMatrixParameterfc(param: PCGparameter; const matrix: PSingle); cdecl; external CgLibrary;
function cgGetTypeString(_type: TCGtype): PCharCG; cdecl; external CgLibrary;
function cgGetType(const type_string: PCharCG): TCGtype; cdecl; external CgLibrary;
function cgGetNamedUserType(program_: CGprogram; const name: PCharCG): TCGtype; cdecl; external CgLibrary;
function cgGetNumUserTypes(program_: CGprogram): Integer; cdecl; external CgLibrary;
function cgGetUserType(program_: CGprogram; index: Integer): TCGtype; cdecl; external CgLibrary;
function cgGetNumParentTypes(type_: TCGtype): Integer; cdecl; external CgLibrary;
function cgGetParentType(type_: TCGtype; index: Integer): TCGtype; cdecl; external CgLibrary;
function cgIsParentType(parent, child: TCGtype): TCGbool; cdecl; external CgLibrary;
function cgIsInterfaceType(type_: TCGtype): TCGbool; cdecl; external CgLibrary;
function cgGetResourceString(resource: TCGresource): PCharCG; cdecl; external CgLibrary;
function cgGetResource(const resource_string: PCharCG): TCGresource; cdecl; external CgLibrary;
function cgGetEnumString(en: TCGenum): PCharCG; cdecl; external CgLibrary;
function cgGetEnum(const enum_string: PCharCG): TCGenum; cdecl; external CgLibrary;
function cgGetProfileString(profile: TCGprofile): PCharCG; cdecl; external CgLibrary;
function cgGetProfile(const profile_string: PCharCG): TCGprofile; cdecl; external CgLibrary;
function cgGetError: TCGerror; cdecl; external CgLibrary;
function cgGetErrorString(error: TCGerror): PCharCG; cdecl; external CgLibrary;
function cgGetLastErrorString(error: PCGerror): PCharCG; cdecl; external CgLibrary;
procedure cgSetErrorCallback(func: TCGerrorCallbackFunc); cdecl; external CgLibrary;
function cgGetErrorCallback: TCGerrorCallbackFunc; cdecl; external CgLibrary;
function cgGetString(sname: TCGenum): PCharCG; cdecl; external CgLibrary;
function cgGetNextParameter_depr1_1(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetNextLeafParameter_depr1_1(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;

Types

CGbool = TCGbool;
CGcontext = PCGcontext;
CGenum = TCGenum;
CGerror = TCGerror;
CGerrorCallbackFunc = TCGerrorCallbackFunc;
CGparameter = PCGparameter;
CGprofile = TCGprofile;
CGprogram = PCGprogram;
CGresource = TCGresource;
CGtype = TCGtype;
PCGcontext = ˆ_CGcontext;
PCGerror = ˆTCGerror;
PCGparameter = ˆ_CGparameter;
PCGprogram = ˆ_CGprogram;
PCharCG = PAnsiChar;
PPCharCG = ˆPCharCG;
StringCG = AnsiString;
TCGbool = Integer;
TCGenum = (...);
TCGerror = DWORD;
TCGerrorCallbackFunc = procedure; cdecl;
TCGprofile = (...);
TCGresource = (...);
TCGtype = (...);

Constants

CgLibrary = 'cg.dll';
CG_VERSION_1_2 = 1;
CG_VERSION_NUM = 1200;
CG_FALSE = TCGbool(0);
CG_TRUE = TCGbool(1);
CG_NO_ERROR = 0;
CG_COMPILER_ERROR = 1;
CG_INVALID_PARAMETER_ERROR = 2;
CG_INVALID_PROFILE_ERROR = 3;
CG_PROGRAM_LOAD_ERROR = 4;
CG_PROGRAM_BIND_ERROR = 5;
CG_PROGRAM_NOT_LOADED_ERROR = 6;
CG_UNSUPPORTED_GL_EXTENSION_ERROR = 7;
CG_INVALID_VALUE_TYPE_ERROR = 8;
CG_NOT_MATRIX_PARAM_ERROR = 9;
CG_INVALID_ENUMERANT_ERROR = 10;
CG_NOT_4x4_MATRIX_ERROR = 11;
CG_FILE_READ_ERROR = 12;
CG_FILE_WRITE_ERROR = 13;
CG_NVPARSE_ERROR = 14;
CG_MEMORY_ALLOC_ERROR = 15;
CG_INVALID_CONTEXT_HANDLE_ERROR = 16;
CG_INVALID_PROGRAM_HANDLE_ERROR = 17;
CG_INVALID_PARAM_HANDLE_ERROR = 18;
CG_UNKNOWN_PROFILE_ERROR = 19;
CG_VAR_ARG_ERROR = 20;
CG_INVALID_DIMENSION_ERROR = 21;
CG_ARRAY_PARAM_ERROR = 22;
CG_OUT_OF_ARRAY_BOUNDS_ERROR = 23;
CG_CONFLICTING_TYPES_ERROR = 24;
CG_CONFLICTING_PARAMETER_TYPES_ERROR = 25;
CG_PARAMETER_IS_NOT_SHARED_ERROR = 26;
CG_INVALID_PARAMETER_VARIABILITY_ERROR = 27;
CG_CANNOT_DESTROY_PARAMETER_ERROR = 28;
CG_NOT_ROOT_PARAMETER_ERROR = 29;
CG_PARAMETERS_DO_NOT_MATCH_ERROR = 30;
CG_IS_NOT_PROGRAM_PARAMETER_ERROR = 31;
CG_INVALID_PARAMETER_TYPE_ERROR = 32;
CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR = 33;
CG_INVALID_SIZE_ERROR = 34;
CG_BIND_CREATES_CYCLE_ERROR = 35;
CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR = 36;
CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR = 37;
CG_ARRAY_HAS_WRONG_DIMENSION_ERROR = 38;
CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR = 39;

Description

Functions and Procedures

function cgCreateContext: PCGcontext; cdecl; external CgLibrary;

** Context functions **

procedure cgDestroyContext(ctx: PCGcontext); cdecl; external CgLibrary;
function cgIsContext(ctx: PCGcontext): TCGbool; cdecl; external CgLibrary;
function cgGetLastListing(ctx: PCGcontext): PChar; cdecl; external CgLibrary;
procedure cgSetAutoCompile(ctx: PCGcontext; flag: TCGenum); cdecl; external CgLibrary;
function cgCreateProgram(ctx: PCGcontext; program_type: TCGenum; const _program: PCharCG; profile: TCGprofile; const entry: PCharCG; const args: PPCharCG): PCGprogram; cdecl; external CgLibrary;

** Program functions **

function cgCreateProgramFromFile(ctx: PCGcontext; program_type: TCGenum; const program_file: PCharCG; profile: TCGprofile; const entry: PCharCG; const args: PPCharCG): PCGprogram; cdecl; external CgLibrary;
function cgCopyProgram(_program: PCGprogram): PCGprogram; cdecl; external CgLibrary;
procedure cgDestroyProgram(_program: PCGprogram); cdecl; external CgLibrary;
function cgGetFirstProgram(ctx: PCGcontext): PCGprogram; cdecl; external CgLibrary;
function cgGetNextProgram(current: PCGprogram): PCGprogram; cdecl; external CgLibrary;
function cgGetProgramContext(prog: PCGprogram): PCGcontext; cdecl; external CgLibrary;
function cgIsProgram(_program: PCGprogram): TCGbool; cdecl; external CgLibrary;
procedure cgCompileProgram(_program: PCGprogram); cdecl; external CgLibrary;
function cgIsProgramCompiled(_program: PCGprogram): TCGbool; cdecl; external CgLibrary;
function cgGetProgramString(prog: PCGprogram; pname: TCGenum): PCharCG; cdecl; external CgLibrary;
function cgGetProgramProfile(prog: PCGprogram): TCGprofile; cdecl; external CgLibrary;
function cgCreateParameter(ctx: PCGcontext; type_: TCGtype): PCGparameter; cdecl; external CgLibrary;

** Parameter functions **

function cgCreateParameterArray(ctx: PCGcontext; type_: TCGtype; length: Integer): PCGparameter; cdecl; external CgLibrary;
function cgCreateParameterMultiDimArray(ctx: PCGcontext; type_: TCGtype; dim: Integer; const lengths: PInteger): PCGparameter; cdecl; external CgLibrary;
procedure cgDestroyParameter(param: PCGparameter); cdecl; external CgLibrary;
procedure cgConnectParameter(from, to_: PCGparameter); cdecl; external CgLibrary;
procedure cgDisconnectParameter(param: PCGparameter); cdecl; external CgLibrary;
function cgGetConnectedParameter(param: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetNumConnectedToParameters(param: PCGparameter): Integer; cdecl; external CgLibrary;
function cgGetConnectedToParameter(param: PCGparameter; index: Integer): PCGparameter; cdecl; external CgLibrary;
function cgGetNamedParameter(prog: PCGprogram; const name: PCharCG): PCGparameter; cdecl; external CgLibrary;
function cgGetNamedProgramParameter(prog: PCGprogram; name_space: TCGenum; const name: PCharCG): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstParameter(prog: PCGprogram; name_space: TCGenum): PCGparameter; cdecl; external CgLibrary;
function cgGetNextParameter(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstLeafParameter(prog: PCGprogram; name_space: TCGenum): PCGparameter; cdecl; external CgLibrary;
function cgGetNextLeafParameter(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstStructParameter(param: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetNamedStructParameter(param: PCGparameter; const name: PCharCG): PCGparameter; cdecl; external CgLibrary;
function cgGetFirstDependentParameter(param: PCGparameter): PCGparameter; cdecl; external CgLibrary;
function cgGetArrayParameter(aparam: PCGparameter; index: Integer): PCGparameter; cdecl; external CgLibrary;
function cgGetArrayDimension(param: PCGparameter): Integer; cdecl; external CgLibrary;
function cgGetArrayType(param: PCGparameter): TCGtype; cdecl; external CgLibrary;
function cgGetArraySize(param: PCGparameter; dimension: Integer): Integer; cdecl; external CgLibrary;
procedure cgSetArraySize(param: PCGparameter; size: Integer); cdecl; external CgLibrary;
procedure cgSetMultiDimArraySize(param: PCGparameter; const sizes: PInteger); cdecl; external CgLibrary;
function cgGetParameterProgram(param: PCGparameter): PCGprogram; cdecl; external CgLibrary;
function cgGetParameterContext(param: PCGparameter): PCGcontext; cdecl; external CgLibrary;
function cgIsParameter(param: PCGparameter): TCGbool; cdecl; external CgLibrary;
function cgGetParameterName(param: PCGparameter): PCharCG; cdecl; external CgLibrary;
function cgGetParameterType(param: PCGparameter): TCGtype; cdecl; external CgLibrary;
function cgGetParameterNamedType(param: PCGparameter): TCGtype; cdecl; external CgLibrary;
function cgGetParameterSemantic(param: PCGparameter): PCharCG; cdecl; external CgLibrary;
function cgGetParameterResource(param: PCGparameter): TCGresource; cdecl; external CgLibrary;
function cgGetParameterBaseResource(param: PCGparameter): TCGresource; cdecl; external CgLibrary;
function cgGetParameterResourceIndex(param: PCGparameter): LongWord; cdecl; external CgLibrary;
function cgGetParameterVariability(param: PCGparameter): TCGenum; cdecl; external CgLibrary;
function cgGetParameterDirection(param: PCGparameter): TCGenum; cdecl; external CgLibrary;
function cgIsParameterReferenced(param: PCGparameter): TCGbool; cdecl; external CgLibrary;
function cgGetParameterValues(param: PCGparameter; value_type: TCGenum; out nvalues: Integer): PDouble; cdecl; external CgLibrary;
function cgGetParameterOrdinalNumber(param: PCGparameter): Integer; cdecl; external CgLibrary;
function cgIsParameterGlobal(param: PCGparameter): TCGbool; cdecl; external CgLibrary;
function cgGetParameterIndex(param: PCGparameter): Integer; cdecl; external CgLibrary;
procedure cgSetParameterVariability(param: PCGparameter; vary: TCGenum); cdecl; external CgLibrary;
procedure cgSetParameterSemantic(param: PCGparameter; const semantic: PCharCG); cdecl; external CgLibrary;
procedure cgSetParameter1f(param: PCGparameter; x: Single); cdecl; external CgLibrary;
procedure cgSetParameter2f(param: PCGparameter; x, y: Single); cdecl; external CgLibrary;
procedure cgSetParameter3f(param: PCGparameter; x, y, z: Single); cdecl; external CgLibrary;
procedure cgSetParameter4f(param: PCGparameter; x, y, z, w: Single); cdecl; external CgLibrary;
procedure cgSetParameter1d(param: PCGparameter; x: Double); cdecl; external CgLibrary;
procedure cgSetParameter2d(param: PCGparameter; x, y: Double); cdecl; external CgLibrary;
procedure cgSetParameter3d(param: PCGparameter; x, y, z: Double); cdecl; external CgLibrary;
procedure cgSetParameter4d(param: PCGparameter; x, y, z, w: Double); cdecl; external CgLibrary;
procedure cgSetParameter1fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter2fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter3fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter4fv(param: PCGparameter; const v: PSingle); cdecl; external CgLibrary;
procedure cgSetParameter1dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetParameter2dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetParameter3dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetParameter4dv(param: PCGparameter; const x: PDouble); cdecl; external CgLibrary;
procedure cgSetMatrixParameterdr(param: PCGparameter; const matrix: PDouble); cdecl; external CgLibrary;
procedure cgSetMatrixParameterfr(param: PCGparameter; const matrix: PSingle); cdecl; external CgLibrary;
procedure cgSetMatrixParameterdc(param: PCGparameter; const matrix: PDouble); cdecl; external CgLibrary;
procedure cgSetMatrixParameterfc(param: PCGparameter; const matrix: PSingle); cdecl; external CgLibrary;
function cgGetTypeString(_type: TCGtype): PCharCG; cdecl; external CgLibrary;

** Type Functions **

function cgGetType(const type_string: PCharCG): TCGtype; cdecl; external CgLibrary;
function cgGetNamedUserType(program_: CGprogram; const name: PCharCG): TCGtype; cdecl; external CgLibrary;
function cgGetNumUserTypes(program_: CGprogram): Integer; cdecl; external CgLibrary;
function cgGetUserType(program_: CGprogram; index: Integer): TCGtype; cdecl; external CgLibrary;
function cgGetNumParentTypes(type_: TCGtype): Integer; cdecl; external CgLibrary;
function cgGetParentType(type_: TCGtype; index: Integer): TCGtype; cdecl; external CgLibrary;
function cgIsParentType(parent, child: TCGtype): TCGbool; cdecl; external CgLibrary;
function cgIsInterfaceType(type_: TCGtype): TCGbool; cdecl; external CgLibrary;
function cgGetResourceString(resource: TCGresource): PCharCG; cdecl; external CgLibrary;

** Resource Functions **

function cgGetResource(const resource_string: PCharCG): TCGresource; cdecl; external CgLibrary;
function cgGetEnumString(en: TCGenum): PCharCG; cdecl; external CgLibrary;

*** Enum Functions ***

function cgGetEnum(const enum_string: PCharCG): TCGenum; cdecl; external CgLibrary;
function cgGetProfileString(profile: TCGprofile): PCharCG; cdecl; external CgLibrary;

** Profile Functions **

function cgGetProfile(const profile_string: PCharCG): TCGprofile; cdecl; external CgLibrary;
function cgGetError: TCGerror; cdecl; external CgLibrary;

** Error Functions **

function cgGetErrorString(error: TCGerror): PCharCG; cdecl; external CgLibrary;
function cgGetLastErrorString(error: PCGerror): PCharCG; cdecl; external CgLibrary;
procedure cgSetErrorCallback(func: TCGerrorCallbackFunc); cdecl; external CgLibrary;
function cgGetErrorCallback: TCGerrorCallbackFunc; cdecl; external CgLibrary;
function cgGetString(sname: TCGenum): PCharCG; cdecl; external CgLibrary;

*** Misc Functions ***

function cgGetNextParameter_depr1_1(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;

*** Support for deprecated Cg 1.1 API ***

function cgGetNextLeafParameter_depr1_1(current: PCGparameter): PCGparameter; cdecl; external CgLibrary;

Types

CGbool = TCGbool;
CGcontext = PCGcontext;
CGenum = TCGenum;
CGerror = TCGerror;
CGerrorCallbackFunc = TCGerrorCallbackFunc;
CGparameter = PCGparameter;
CGprofile = TCGprofile;
CGprogram = PCGprogram;
CGresource = TCGresource;
CGtype = TCGtype;

CG_DATATYPE_MACRO(Bool4x4,bool4x4,CG_BOOL4x4,4,4)

PCGcontext = ˆ_CGcontext;
PCGerror = ˆTCGerror;

* The following macro invocations define error codes returned by various cg * API functions. * * The macros have the form : * * CG_ERROR_MACRO(code, enum_name, message) * * code : The integer error code associated with the error. * enum_name : The name of enumerant of the error code in the API. * message : A description string associated with the error. *

PCGparameter = ˆ_CGparameter;
PCGprogram = ˆ_CGprogram;
PCharCG = PAnsiChar;

***********************************************************************

PPCharCG = ˆPCharCG;
StringCG = AnsiString;
TCGbool = Integer;
TCGenum = (...);

"Connecting the parameters failed because The type of the source parameter is not defined within the given program or does not match the type with the same name in the program."

Values
  • CG_UNKNOWN = 4096: todo: Insert code from here: # include <Cg/cg_enums.h> todo: FIX BCB6 issues with {$IFDEF BCB}
  • CG_IN
  • CG_OUT
  • CG_INOUT
  • CG_MIXED
  • CG_VARYING
  • CG_UNIFORM
  • CG_CONSTANT
  • CG_PROGRAM_SOURCE
  • CG_PROGRAM_ENTRY
  • CG_COMPILED_PROGRAM
  • CG_PROGRAM_PROFILE
  • CG_GLOBAL
  • CG_PROGRAM
  • CG_DEFAULT
  • CG_ERROR
  • CG_SOURCE
  • CG_OBJECT
  • CG_COMPILE_MANUAL
  • CG_COMPILE_IMMEDIATE
  • CG_COMPILE_LAZY
  • CG_CURRENT
  • CG_LITERAL
  • CG_VERSION
TCGerror = DWORD;
TCGerrorCallbackFunc = procedure; cdecl;
TCGprofile = (...);

* The following macro invocations define the supported CG profiles. * * The macros have the form : * * CG_PROFILE_MACRO(name, compiler_id, compiler_opt) * * name : The name of the profile. Used consistently with the API. * compiler_id : The identifier string for the profile used by the compiler. * compiler_id_caps : compiler_id in caps. * compiler_opt : The command-line switch used to force compilation into * the profile. * int_id : Integer enumerant associated with this bind location. * vertex_profile : Non-zero if this is a vertex profile, otherwise it * is considered to be a fragment profile. * *

Values
  • CG_PROFILE_START = 6144
  • CG_PROFILE_UNKNOWN
  • CG_PROFILE_VP20 = 6146: # define CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \ CG_PROFILE_##compiler_id_caps = int_id,
  • CG_PROFILE_FP20 = 6147: CG_PROFILE_MACRO(Vertex,vp20,VP20,"vp20",6146,1)
  • CG_PROFILE_VP30 = 6148: CG_PROFILE_MACRO(Fragment20,fp20,FP20,"fp20",6147,0)
  • CG_PROFILE_FP30 = 6149: CG_PROFILE_MACRO(Vertex30,vp30,VP30,"vp30",6148,1)
  • CG_PROFILE_ARBVP1 = 6150: CG_PROFILE_MACRO(Fragment,fp30,FP30,"fp30",6149,0)
  • CG_PROFILE_ARBFP1 = 7000: CG_PROFILE_MACRO(ARBVertex,arbvp1,ARBVP1,"arbvp1",6150,1)
  • CG_PROFILE_VP40 = 7001: CG_PROFILE_MACRO(ARBFragment,arbfp1,ARBFP1,"arbfp1",7000,0)
  • CG_PROFILE_FP40 = 6151: CG_PROFILE_MACRO(Vertex40,vp40,VP40,"vp40",7001,1)
  • CG_PROFILE_VS_1_1 = 6153: CG_PROFILE_MACRO(Fragment40,fp40,FP40,"fp40",6151,0)
  • CG_PROFILE_VS_2_0 = 6154: CG_PROFILE_MACRO(DX9Vertex11,vs_1_1,VS_1_1,"vs_1_1",6153,1)
  • CG_PROFILE_VS_2_X = 6155: CG_PROFILE_MACRO(DX9Vertex20,vs_2_0,VS_2_0,"vs_2_0",6154,1)
  • CG_PROFILE_PS_1_1 = 6159: CG_PROFILE_MACRO(DX9Vertex2x,vs_2_x,VS_2_X,"vs_2_x",6155,1)
  • CG_PROFILE_PS_1_2 = 6160: CG_PROFILE_MACRO(DX9Pixel11,ps_1_1,PS_1_1,"ps_1_1",6159,0)
  • CG_PROFILE_PS_1_3 = 6161: CG_PROFILE_MACRO(DX9Pixel12,ps_1_2,PS_1_2,"ps_1_2",6160,0)
  • CG_PROFILE_PS_2_0 = 6162: CG_PROFILE_MACRO(DX9Pixel13,ps_1_3,PS_1_3,"ps_1_3",6161,0)
  • CG_PROFILE_PS_2_X = 6163: CG_PROFILE_MACRO(DX9Pixel20,ps_2_0,PS_2_0,"ps_2_0",6162,0)
  • CG_PROFILE_MAX = 7100: CG_PROFILE_MACRO(DX9Pixel2x,ps_2_x,PS_2_X,"ps_2_x",6163,0)
TCGresource = (...);

* The following macro invocations define the supported CG basic hardware * bind locations. * * The macros have the form : * * CG_BINDLOCATION_MACRO(name, compiler_name, enum_int) * * name : The name of the location. * enum_name : The C enumerant. * compiler_name : The name of the location within the compiler syntax. * int_id : Integer enumerant associated with this bind location. * addressable : The bind location must have an integer address * associated with it. * ParamType : the cgParamType of this register. *

Values
  • CG_TEXUNIT0 = 2048: # define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,\ enum_int,addressable,param_type) \ enum_name = enum_int,
  • CG_TEXUNIT1 = 2049: CG_BINDLOCATION_MACRO(TexUnit0,CG_TEXUNIT0,"texunit 0",2048,0,cgTexObjParam)
  • CG_TEXUNIT2 = 2050: CG_BINDLOCATION_MACRO(TexUnit1,CG_TEXUNIT1,"texunit 1",2049,0,cgTexObjParam)
  • CG_TEXUNIT3 = 2051: CG_BINDLOCATION_MACRO(TexUnit2,CG_TEXUNIT2,"texunit 2",2050,0,cgTexObjParam)
  • CG_TEXUNIT4 = 2052: CG_BINDLOCATION_MACRO(TexUnit3,CG_TEXUNIT3,"texunit 3",2051,0,cgTexObjParam)
  • CG_TEXUNIT5 = 2053: CG_BINDLOCATION_MACRO(TexUnit4,CG_TEXUNIT4,"texunit 4",2052,0,cgTexObjParam)
  • CG_TEXUNIT6 = 2054: CG_BINDLOCATION_MACRO(TexUnit5,CG_TEXUNIT5,"texunit 5",2053,0,cgTexObjParam)
  • CG_TEXUNIT7 = 2055: CG_BINDLOCATION_MACRO(TexUnit6,CG_TEXUNIT6,"texunit 6",2054,0,cgTexObjParam)
  • CG_TEXUNIT8 = 2056: CG_BINDLOCATION_MACRO(TexUnit7,CG_TEXUNIT7,"texunit 7",2055,0,cgTexObjParam)
  • CG_TEXUNIT9 = 2057: CG_BINDLOCATION_MACRO(TexUnit8,CG_TEXUNIT8,"texunit 8",2056,0,cgTexObjParam)
  • CG_TEXUNIT10 = 2058: CG_BINDLOCATION_MACRO(TexUnit9,CG_TEXUNIT9,"texunit 9",2057,0,cgTexObjParam)
  • CG_TEXUNIT11 = 2059: CG_BINDLOCATION_MACRO(TexUnit10,CG_TEXUNIT10,"texunit 10",2058,0,cgTexObjParam)
  • CG_TEXUNIT12 = 2060: CG_BINDLOCATION_MACRO(TexUnit11,CG_TEXUNIT11,"texunit 11",2059,0,cgTexObjParam)
  • CG_TEXUNIT13 = 2061: CG_BINDLOCATION_MACRO(TexUnit12,CG_TEXUNIT12,"texunit 12",2060,0,cgTexObjParam)
  • CG_TEXUNIT14 = 2062: CG_BINDLOCATION_MACRO(TexUnit13,CG_TEXUNIT13,"texunit 13",2061,0,cgTexObjParam)
  • CG_TEXUNIT15 = 2063: CG_BINDLOCATION_MACRO(TexUnit14,CG_TEXUNIT14,"texunit 14",2062,0,cgTexObjParam)
  • CG_ATTR0 = 2113: CG_BINDLOCATION_MACRO(TexUnit15,CG_TEXUNIT15,"texunit 15",2063,0,cgTexObjParam)
  • CG_ATTR1 = 2114: CG_BINDLOCATION_MACRO(Attr0,CG_ATTR0,"ATTR0",2113,0,cgConnectorMemberParam)
  • CG_ATTR2 = 2115: CG_BINDLOCATION_MACRO(Attr1,CG_ATTR1,"ATTR1",2114,0,cgConnectorMemberParam)
  • CG_ATTR3 = 2116: CG_BINDLOCATION_MACRO(Attr2,CG_ATTR2,"ATTR2",2115,0,cgConnectorMemberParam)
  • CG_ATTR4 = 2117: CG_BINDLOCATION_MACRO(Attr3,CG_ATTR3,"ATTR3",2116,0,cgConnectorMemberParam)
  • CG_ATTR5 = 2118: CG_BINDLOCATION_MACRO(Attr4,CG_ATTR4,"ATTR4",2117,0,cgConnectorMemberParam)
  • CG_ATTR6 = 2119: CG_BINDLOCATION_MACRO(Attr5,CG_ATTR5,"ATTR5",2118,0,cgConnectorMemberParam)
  • CG_ATTR7 = 2120: CG_BINDLOCATION_MACRO(Attr6,CG_ATTR6,"ATTR6",2119,0,cgConnectorMemberParam)
  • CG_ATTR8 = 2121: CG_BINDLOCATION_MACRO(Attr7,CG_ATTR7,"ATTR7",2120,0,cgConnectorMemberParam)
  • CG_ATTR9 = 2122: CG_BINDLOCATION_MACRO(Attr8,CG_ATTR8,"ATTR8",2121,0,cgConnectorMemberParam)
  • CG_ATTR10 = 2123: CG_BINDLOCATION_MACRO(Attr9,CG_ATTR9,"ATTR9",2122,0,cgConnectorMemberParam)
  • CG_ATTR11 = 2124: CG_BINDLOCATION_MACRO(Attr10,CG_ATTR10,"ATTR10",2123,0,cgConnectorMemberParam)
  • CG_ATTR12 = 2125: CG_BINDLOCATION_MACRO(Attr11,CG_ATTR11,"ATTR11",2124,0,cgConnectorMemberParam)
  • CG_ATTR13 = 2126: CG_BINDLOCATION_MACRO(Attr12,CG_ATTR12,"ATTR12",2125,0,cgConnectorMemberParam)
  • CG_ATTR14 = 2127: CG_BINDLOCATION_MACRO(Attr13,CG_ATTR13,"ATTR13",2126,0,cgConnectorMemberParam)
  • CG_ATTR15 = 2128: CG_BINDLOCATION_MACRO(Attr14,CG_ATTR14,"ATTR14",2127,0,cgConnectorMemberParam)
  • CG_C = 2178: CG_BINDLOCATION_MACRO(Attr15,CG_ATTR15,"ATTR15",2128,0,cgConnectorMemberParam)
  • CG_TEX0 = 2179: CG_BINDLOCATION_MACRO(VertUniform,CG_C,"c",2178,1,cgUniformParam)
  • CG_TEX1 = 2180: CG_BINDLOCATION_MACRO(Tex0,CG_TEX0,"TEX0",2179,0,cgConnectorMemberParam)
  • CG_TEX2 = 2181: CG_BINDLOCATION_MACRO(Tex1,CG_TEX1,"TEX1",2180,0,cgConnectorMemberParam)
  • CG_TEX3 = 2192: CG_BINDLOCATION_MACRO(Tex2,CG_TEX2,"TEX2",2181,0,cgConnectorMemberParam)
  • CG_TEX4 = 2193: CG_BINDLOCATION_MACRO(Tex3,CG_TEX3,"TEX3",2192,0,cgConnectorMemberParam)
  • CG_TEX5 = 2194: CG_BINDLOCATION_MACRO(Tex4,CG_TEX4,"TEX4",2193,0,cgConnectorMemberParam)
  • CG_TEX6 = 2195: CG_BINDLOCATION_MACRO(Tex5,CG_TEX5,"TEX5",2194,0,cgConnectorMemberParam)
  • CG_TEX7 = 2196: CG_BINDLOCATION_MACRO(Tex6,CG_TEX6,"TEX6",2195,0,cgConnectorMemberParam)
  • CG_HPOS = 2243: CG_BINDLOCATION_MACRO(Tex7,CG_TEX7,"TEX7",2196,0,cgConnectorMemberParam)
  • CG_COL0 = 2245: CG_BINDLOCATION_MACRO(HPos,CG_HPOS,"HPOS",2243,0,cgConnectorMemberParam)
  • CG_COL1 = 2246: CG_BINDLOCATION_MACRO(Col0,CG_COL0,"COL0",2245,0,cgConnectorMemberParam)
  • CG_COL2 = 2247: CG_BINDLOCATION_MACRO(Col1,CG_COL1,"COL1",2246,0,cgConnectorMemberParam)
  • CG_COL3 = 2248: CG_BINDLOCATION_MACRO(Col2,CG_COL2,"COL2",2247,0,cgConnectorMemberParam)
  • CG_PSIZ = 2309: CG_BINDLOCATION_MACRO(Col3,CG_COL3,"COL3",2248,0,cgConnectorMemberParam)
  • CG_WPOS = 2373: CG_BINDLOCATION_MACRO(PSiz,CG_PSIZ,"PSIZ",2309,0,cgConnectorMemberParam)
  • CG_POSITION0 = 2437: CG_BINDLOCATION_MACRO(WPos,CG_WPOS,"WPOS",2373,0,cgConnectorMemberParam)
  • CG_POSITION1 = 2438: CG_BINDLOCATION_MACRO(Position0,CG_POSITION0,"POSITION0",2437,0,cgConnectorMemberParam)
  • CG_POSITION2 = 2439: CG_BINDLOCATION_MACRO(Position1,CG_POSITION1,"POSITION1",2438,0,cgConnectorMemberParam)
  • CG_POSITION3 = 2440: CG_BINDLOCATION_MACRO(Position2,CG_POSITION2,"POSITION2",2439,0,cgConnectorMemberParam)
  • CG_POSITION4 = 2441: CG_BINDLOCATION_MACRO(Position3,CG_POSITION3,"POSITION3",2440,0,cgConnectorMemberParam)
  • CG_POSITION5 = 2442: CG_BINDLOCATION_MACRO(Position4,CG_POSITION4,"POSITION4",2441,0,cgConnectorMemberParam)
  • CG_POSITION6 = 2443: CG_BINDLOCATION_MACRO(Position5,CG_POSITION5,"POSITION5",2442,0,cgConnectorMemberParam)
  • CG_POSITION7 = 2444: CG_BINDLOCATION_MACRO(Position6,CG_POSITION6,"POSITION6",2443,0,cgConnectorMemberParam)
  • CG_POSITION8 = 2445: CG_BINDLOCATION_MACRO(Position7,CG_POSITION7,"POSITION7",2444,0,cgConnectorMemberParam)
  • CG_POSITION9 = 2446: CG_BINDLOCATION_MACRO(Position8,CG_POSITION8,"POSITION8",2445,0,cgConnectorMemberParam)
  • CG_POSITION10 = 2447: CG_BINDLOCATION_MACRO(Position9,CG_POSITION9,"POSITION9",2446,0,cgConnectorMemberParam)
  • CG_POSITION11 = 2448: CG_BINDLOCATION_MACRO(Position10,CG_POSITION10,"POSITION10",2447,0,cgConnectorMemberParam)
  • CG_POSITION12 = 2449: CG_BINDLOCATION_MACRO(Position11,CG_POSITION11,"POSITION11",2448,0,cgConnectorMemberParam)
  • CG_POSITION13 = 2450: CG_BINDLOCATION_MACRO(Position12,CG_POSITION12,"POSITION12",2449,0,cgConnectorMemberParam)
  • CG_POSITION14 = 2451: CG_BINDLOCATION_MACRO(Position13,CG_POSITION13,"POSITION13",2450,0,cgConnectorMemberParam)
  • CG_POSITION15 = 2452: CG_BINDLOCATION_MACRO(Position14,CG_POSITION14,"POSITION14",2451,0,cgConnectorMemberParam)
  • CG_DIFFUSE0 = 2501: CG_BINDLOCATION_MACRO(Position15,CG_POSITION15,"POSITION15",2452,0,cgConnectorMemberParam)
  • CG_TANGENT0 = 2565: CG_BINDLOCATION_MACRO(Diffuse0,CG_DIFFUSE0,"DIFFUSE0",2501,0,cgConnectorMemberParam)
  • CG_TANGENT1 = 2566: CG_BINDLOCATION_MACRO(Tangent0,CG_TANGENT0,"TANGENT0",2565,0,cgConnectorMemberParam)
  • CG_TANGENT2 = 2567: CG_BINDLOCATION_MACRO(Tangent1,CG_TANGENT1,"TANGENT1",2566,0,cgConnectorMemberParam)
  • CG_TANGENT3 = 2568: CG_BINDLOCATION_MACRO(Tangent2,CG_TANGENT2,"TANGENT2",2567,0,cgConnectorMemberParam)
  • CG_TANGENT4 = 2569: CG_BINDLOCATION_MACRO(Tangent3,CG_TANGENT3,"TANGENT3",2568,0,cgConnectorMemberParam)
  • CG_TANGENT5 = 2570: CG_BINDLOCATION_MACRO(Tangent4,CG_TANGENT4,"TANGENT4",2569,0,cgConnectorMemberParam)
  • CG_TANGENT6 = 2571: CG_BINDLOCATION_MACRO(Tangent5,CG_TANGENT5,"TANGENT5",2570,0,cgConnectorMemberParam)
  • CG_TANGENT7 = 2572: CG_BINDLOCATION_MACRO(Tangent6,CG_TANGENT6,"TANGENT6",2571,0,cgConnectorMemberParam)
  • CG_TANGENT8 = 2573: CG_BINDLOCATION_MACRO(Tangent7,CG_TANGENT7,"TANGENT7",2572,0,cgConnectorMemberParam)
  • CG_TANGENT9 = 2574: CG_BINDLOCATION_MACRO(Tangent8,CG_TANGENT8,"TANGENT8",2573,0,cgConnectorMemberParam)
  • CG_TANGENT10 = 2575: CG_BINDLOCATION_MACRO(Tangent9,CG_TANGENT9,"TANGENT9",2574,0,cgConnectorMemberParam)
  • CG_TANGENT11 = 2576: CG_BINDLOCATION_MACRO(Tangent10,CG_TANGENT10,"TANGENT10",2575,0,cgConnectorMemberParam)
  • CG_TANGENT12 = 2577: CG_BINDLOCATION_MACRO(Tangent11,CG_TANGENT11,"TANGENT11",2576,0,cgConnectorMemberParam)
  • CG_TANGENT13 = 2578: CG_BINDLOCATION_MACRO(Tangent12,CG_TANGENT12,"TANGENT12",2577,0,cgConnectorMemberParam)
  • CG_TANGENT14 = 2579: CG_BINDLOCATION_MACRO(Tangent13,CG_TANGENT13,"TANGENT13",2578,0,cgConnectorMemberParam)
  • CG_TANGENT15 = 2580: CG_BINDLOCATION_MACRO(Tangent14,CG_TANGENT14,"TANGENT14",2579,0,cgConnectorMemberParam)
  • CG_SPECULAR0 = 2629: CG_BINDLOCATION_MACRO(Tangent15,CG_TANGENT15,"TANGENT15",2580,0,cgConnectorMemberParam)
  • CG_BLENDINDICES0 = 2693: CG_BINDLOCATION_MACRO(Specular0,CG_SPECULAR0,"SPECULAR0",2629,0,cgConnectorMemberParam)
  • CG_BLENDINDICES1 = 2694: CG_BINDLOCATION_MACRO(BlendIndices0,CG_BLENDINDICES0,"BLENDINDICES0",2693,0,cgConnectorMemberParam)
  • CG_BLENDINDICES2 = 2695: CG_BINDLOCATION_MACRO(BlendIndices1,CG_BLENDINDICES1,"BLENDINDICES1",2694,0,cgConnectorMemberParam)
  • CG_BLENDINDICES3 = 2696: CG_BINDLOCATION_MACRO(BlendIndices2,CG_BLENDINDICES2,"BLENDINDICES2",2695,0,cgConnectorMemberParam)
  • CG_BLENDINDICES4 = 2697: CG_BINDLOCATION_MACRO(BlendIndices3,CG_BLENDINDICES3,"BLENDINDICES3",2696,0,cgConnectorMemberParam)
  • CG_BLENDINDICES5 = 2698: CG_BINDLOCATION_MACRO(BlendIndices4,CG_BLENDINDICES4,"BLENDINDICES4",2697,0,cgConnectorMemberParam)
  • CG_BLENDINDICES6 = 2699: CG_BINDLOCATION_MACRO(BlendIndices5,CG_BLENDINDICES5,"BLENDINDICES5",2698,0,cgConnectorMemberParam)
  • CG_BLENDINDICES7 = 2700: CG_BINDLOCATION_MACRO(BlendIndices6,CG_BLENDINDICES6,"BLENDINDICES6",2699,0,cgConnectorMemberParam)
  • CG_BLENDINDICES8 = 2701: CG_BINDLOCATION_MACRO(BlendIndices7,CG_BLENDINDICES7,"BLENDINDICES7",2700,0,cgConnectorMemberParam)
  • CG_BLENDINDICES9 = 2702: CG_BINDLOCATION_MACRO(BlendIndices8,CG_BLENDINDICES8,"BLENDINDICES8",2701,0,cgConnectorMemberParam)
  • CG_BLENDINDICES10 = 2703: CG_BINDLOCATION_MACRO(BlendIndices9,CG_BLENDINDICES9,"BLENDINDICES9",2702,0,cgConnectorMemberParam)
  • CG_BLENDINDICES11 = 2704: CG_BINDLOCATION_MACRO(BlendIndices10,CG_BLENDINDICES10,"BLENDINDICES10",2703,0,cgConnectorMemberParam)
  • CG_BLENDINDICES12 = 2705: CG_BINDLOCATION_MACRO(BlendIndices11,CG_BLENDINDICES11,"BLENDINDICES11",2704,0,cgConnectorMemberParam)
  • CG_BLENDINDICES13 = 2706: CG_BINDLOCATION_MACRO(BlendIndices12,CG_BLENDINDICES12,"BLENDINDICES12",2705,0,cgConnectorMemberParam)
  • CG_BLENDINDICES14 = 2707: CG_BINDLOCATION_MACRO(BlendIndices13,CG_BLENDINDICES13,"BLENDINDICES13",2706,0,cgConnectorMemberParam)
  • CG_BLENDINDICES15 = 2708: CG_BINDLOCATION_MACRO(BlendIndices14,CG_BLENDINDICES14,"BLENDINDICES14",2707,0,cgConnectorMemberParam)
  • CG_COLOR0 = 2757: CG_BINDLOCATION_MACRO(BlendIndices15,CG_BLENDINDICES15,"BLENDINDICES15",2708,0,cgConnectorMemberParam)
  • CG_COLOR1 = 2758: CG_BINDLOCATION_MACRO(Color0,CG_COLOR0,"COLOR0",2757,0,cgConnectorMemberParam)
  • CG_COLOR2 = 2759: CG_BINDLOCATION_MACRO(Color1,CG_COLOR1,"COLOR1",2758,0,cgConnectorMemberParam)
  • CG_COLOR3 = 2760: CG_BINDLOCATION_MACRO(Color2,CG_COLOR2,"COLOR2",2759,0,cgConnectorMemberParam)
  • CG_COLOR4 = 2761: CG_BINDLOCATION_MACRO(Color3,CG_COLOR3,"COLOR3",2760,0,cgConnectorMemberParam)
  • CG_COLOR5 = 2762: CG_BINDLOCATION_MACRO(Color4,CG_COLOR4,"COLOR4",2761,0,cgConnectorMemberParam)
  • CG_COLOR6 = 2763: CG_BINDLOCATION_MACRO(Color5,CG_COLOR5,"COLOR5",2762,0,cgConnectorMemberParam)
  • CG_COLOR7 = 2764: CG_BINDLOCATION_MACRO(Color6,CG_COLOR6,"COLOR6",2763,0,cgConnectorMemberParam)
  • CG_COLOR8 = 2765: CG_BINDLOCATION_MACRO(Color7,CG_COLOR7,"COLOR7",2764,0,cgConnectorMemberParam)
  • CG_COLOR9 = 2766: CG_BINDLOCATION_MACRO(Color8,CG_COLOR8,"COLOR8",2765,0,cgConnectorMemberParam)
  • CG_COLOR10 = 2767: CG_BINDLOCATION_MACRO(Color9,CG_COLOR9,"COLOR9",2766,0,cgConnectorMemberParam)
  • CG_COLOR11 = 2768: CG_BINDLOCATION_MACRO(Color10,CG_COLOR10,"COLOR10",2767,0,cgConnectorMemberParam)
  • CG_COLOR12 = 2769: CG_BINDLOCATION_MACRO(Color11,CG_COLOR11,"COLOR11",2768,0,cgConnectorMemberParam)
  • CG_COLOR13 = 2770: CG_BINDLOCATION_MACRO(Color12,CG_COLOR12,"COLOR12",2769,0,cgConnectorMemberParam)
  • CG_COLOR14 = 2771: CG_BINDLOCATION_MACRO(Color13,CG_COLOR13,"COLOR13",2770,0,cgConnectorMemberParam)
  • CG_COLOR15 = 2772: CG_BINDLOCATION_MACRO(Color14,CG_COLOR14,"COLOR14",2771,0,cgConnectorMemberParam)
  • CG_PSIZE0 = 2821: CG_BINDLOCATION_MACRO(Color15,CG_COLOR15,"COLOR15",2772,0,cgConnectorMemberParam)
  • CG_PSIZE1 = 2822: CG_BINDLOCATION_MACRO(PSize0,CG_PSIZE0,"PSIZE0",2821,0,cgConnectorMemberParam)
  • CG_PSIZE2 = 2823: CG_BINDLOCATION_MACRO(PSize1,CG_PSIZE1,"PSIZE1",2822,0,cgConnectorMemberParam)
  • CG_PSIZE3 = 2824: CG_BINDLOCATION_MACRO(PSize2,CG_PSIZE2,"PSIZE2",2823,0,cgConnectorMemberParam)
  • CG_PSIZE4 = 2825: CG_BINDLOCATION_MACRO(PSize3,CG_PSIZE3,"PSIZE3",2824,0,cgConnectorMemberParam)
  • CG_PSIZE5 = 2826: CG_BINDLOCATION_MACRO(PSize4,CG_PSIZE4,"PSIZE4",2825,0,cgConnectorMemberParam)
  • CG_PSIZE6 = 2827: CG_BINDLOCATION_MACRO(PSize5,CG_PSIZE5,"PSIZE5",2826,0,cgConnectorMemberParam)
  • CG_PSIZE7 = 2828: CG_BINDLOCATION_MACRO(PSize6,CG_PSIZE6,"PSIZE6",2827,0,cgConnectorMemberParam)
  • CG_PSIZE8 = 2829: CG_BINDLOCATION_MACRO(PSize7,CG_PSIZE7,"PSIZE7",2828,0,cgConnectorMemberParam)
  • CG_PSIZE9 = 2830: CG_BINDLOCATION_MACRO(PSize8,CG_PSIZE8,"PSIZE8",2829,0,cgConnectorMemberParam)
  • CG_PSIZE10 = 2831: CG_BINDLOCATION_MACRO(PSize9,CG_PSIZE9,"PSIZE9",2830,0,cgConnectorMemberParam)
  • CG_PSIZE11 = 2832: CG_BINDLOCATION_MACRO(PSize10,CG_PSIZE10,"PSIZE10",2831,0,cgConnectorMemberParam)
  • CG_PSIZE12 = 2833: CG_BINDLOCATION_MACRO(PSize11,CG_PSIZE11,"PSIZE11",2832,0,cgConnectorMemberParam)
  • CG_PSIZE13 = 2834: CG_BINDLOCATION_MACRO(PSize12,CG_PSIZE12,"PSIZE12",2833,0,cgConnectorMemberParam)
  • CG_PSIZE14 = 2835: CG_BINDLOCATION_MACRO(PSize13,CG_PSIZE13,"PSIZE13",2834,0,cgConnectorMemberParam)
  • CG_PSIZE15 = 2836: CG_BINDLOCATION_MACRO(PSize14,CG_PSIZE14,"PSIZE14",2835,0,cgConnectorMemberParam)
  • CG_BINORMAL0 = 2885: CG_BINDLOCATION_MACRO(PSize15,CG_PSIZE15,"PSIZE15",2836,0,cgConnectorMemberParam)
  • CG_BINORMAL1 = 2886: CG_BINDLOCATION_MACRO(BiNormal0,CG_BINORMAL0,"BINORMAL0",2885,0,cgConnectorMemberParam)
  • CG_BINORMAL2 = 2887: CG_BINDLOCATION_MACRO(BiNormal1,CG_BINORMAL1,"BINORMAL1",2886,0,cgConnectorMemberParam)
  • CG_BINORMAL3 = 2888: CG_BINDLOCATION_MACRO(BiNormal2,CG_BINORMAL2,"BINORMAL2",2887,0,cgConnectorMemberParam)
  • CG_BINORMAL4 = 2889: CG_BINDLOCATION_MACRO(BiNormal3,CG_BINORMAL3,"BINORMAL3",2888,0,cgConnectorMemberParam)
  • CG_BINORMAL5 = 2890: CG_BINDLOCATION_MACRO(BiNormal4,CG_BINORMAL4,"BINORMAL4",2889,0,cgConnectorMemberParam)
  • CG_BINORMAL6 = 2891: CG_BINDLOCATION_MACRO(BiNormal5,CG_BINORMAL5,"BINORMAL5",2890,0,cgConnectorMemberParam)
  • CG_BINORMAL7 = 2892: CG_BINDLOCATION_MACRO(BiNormal6,CG_BINORMAL6,"BINORMAL6",2891,0,cgConnectorMemberParam)
  • CG_BINORMAL8 = 2893: CG_BINDLOCATION_MACRO(BiNormal7,CG_BINORMAL7,"BINORMAL7",2892,0,cgConnectorMemberParam)
  • CG_BINORMAL9 = 2894: CG_BINDLOCATION_MACRO(BiNormal8,CG_BINORMAL8,"BINORMAL8",2893,0,cgConnectorMemberParam)
  • CG_BINORMAL10 = 2895: CG_BINDLOCATION_MACRO(BiNormal9,CG_BINORMAL9,"BINORMAL9",2894,0,cgConnectorMemberParam)
  • CG_BINORMAL11 = 2896: CG_BINDLOCATION_MACRO(BiNormal10,CG_BINORMAL10,"BINORMAL10",2895,0,cgConnectorMemberParam)
  • CG_BINORMAL12 = 2897: CG_BINDLOCATION_MACRO(BiNormal11,CG_BINORMAL11,"BINORMAL11",2896,0,cgConnectorMemberParam)
  • CG_BINORMAL13 = 2898: CG_BINDLOCATION_MACRO(BiNormal12,CG_BINORMAL12,"BINORMAL12",2897,0,cgConnectorMemberParam)
  • CG_BINORMAL14 = 2899: CG_BINDLOCATION_MACRO(BiNormal13,CG_BINORMAL13,"BINORMAL13",2898,0,cgConnectorMemberParam)
  • CG_BINORMAL15 = 2900: CG_BINDLOCATION_MACRO(BiNormal14,CG_BINORMAL14,"BINORMAL14",2899,0,cgConnectorMemberParam)
  • CG_FOG0 = 2917: CG_BINDLOCATION_MACRO(BiNormal15,CG_BINORMAL15,"BINORMAL15",2900,0,cgConnectorMemberParam)
  • CG_FOG1 = 2918: CG_BINDLOCATION_MACRO(FOG0,CG_FOG0,"FOG0",2917,0,cgConnectorMemberParam)
  • CG_FOG2 = 2919: CG_BINDLOCATION_MACRO(FOG1,CG_FOG1,"FOG1",2918,0,cgConnectorMemberParam)
  • CG_FOG3 = 2920: CG_BINDLOCATION_MACRO(FOG2,CG_FOG2,"FOG2",2919,0,cgConnectorMemberParam)
  • CG_FOG4 = 2921: CG_BINDLOCATION_MACRO(FOG3,CG_FOG3,"FOG3",2920,0,cgConnectorMemberParam)
  • CG_FOG5 = 2922: CG_BINDLOCATION_MACRO(FOG4,CG_FOG4,"FOG4",2921,0,cgConnectorMemberParam)
  • CG_FOG6 = 2923: CG_BINDLOCATION_MACRO(FOG5,CG_FOG5,"FOG5",2922,0,cgConnectorMemberParam)
  • CG_FOG7 = 2924: CG_BINDLOCATION_MACRO(FOG6,CG_FOG6,"FOG6",2923,0,cgConnectorMemberParam)
  • CG_FOG8 = 2925: CG_BINDLOCATION_MACRO(FOG7,CG_FOG7,"FOG7",2924,0,cgConnectorMemberParam)
  • CG_FOG9 = 2926: CG_BINDLOCATION_MACRO(FOG8,CG_FOG8,"FOG8",2925,0,cgConnectorMemberParam)
  • CG_FOG10 = 2927: CG_BINDLOCATION_MACRO(FOG9,CG_FOG9,"FOG9",2926,0,cgConnectorMemberParam)
  • CG_FOG11 = 2928: CG_BINDLOCATION_MACRO(FOG10,CG_FOG10,"FOG10",2927,0,cgConnectorMemberParam)
  • CG_FOG12 = 2929: CG_BINDLOCATION_MACRO(FOG11,CG_FOG11,"FOG11",2928,0,cgConnectorMemberParam)
  • CG_FOG13 = 2930: CG_BINDLOCATION_MACRO(FOG12,CG_FOG12,"FOG12",2929,0,cgConnectorMemberParam)
  • CG_FOG14 = 2931: CG_BINDLOCATION_MACRO(FOG13,CG_FOG13,"FOG13",2930,0,cgConnectorMemberParam)
  • CG_FOG15 = 2932: CG_BINDLOCATION_MACRO(FOG14,CG_FOG14,"FOG14",2931,0,cgConnectorMemberParam)
  • CG_DEPTH0 = 2933: CG_BINDLOCATION_MACRO(FOG15,CG_FOG15,"FOG15",2932,0,cgConnectorMemberParam)
  • CG_DEPTH1 = 2934: CG_BINDLOCATION_MACRO(DEPTH0,CG_DEPTH0,"DEPTH0",2933,0,cgConnectorMemberParam)
  • CG_DEPTH2 = 2935: CG_BINDLOCATION_MACRO(DEPTH1,CG_DEPTH1,"DEPTH1",2934,0,cgConnectorMemberParam)
  • CG_DEPTH3 = 2936: CG_BINDLOCATION_MACRO(DEPTH2,CG_DEPTH2,"DEPTH2",2935,0,cgConnectorMemberParam)
  • CG_DEPTH4 = 2937: CG_BINDLOCATION_MACRO(DEPTH3,CG_DEPTH3,"DEPTH3",2936,0,cgConnectorMemberParam)
  • CG_DEPTH5 = 2938: CG_BINDLOCATION_MACRO(DEPTH4,CG_DEPTH4,"DEPTH4",2937,0,cgConnectorMemberParam)
  • CG_DEPTH6 = 2939: CG_BINDLOCATION_MACRO(DEPTH5,CG_DEPTH5,"DEPTH5",2938,0,cgConnectorMemberParam)
  • CG_DEPTH7 = 2940: CG_BINDLOCATION_MACRO(DEPTH6,CG_DEPTH6,"DEPTH6",2939,0,cgConnectorMemberParam)
  • CG_DEPTH8 = 2941: CG_BINDLOCATION_MACRO(DEPTH7,CG_DEPTH7,"DEPTH7",2940,0,cgConnectorMemberParam)
  • CG_DEPTH9 = 29542: CG_BINDLOCATION_MACRO(DEPTH8,CG_DEPTH8,"DEPTH8",2941,0,cgConnectorMemberParam) TODO: what THE @#$% !!! ('29542')
  • CG_DEPTH10 = 2943: CG_BINDLOCATION_MACRO(DEPTH9,CG_DEPTH9,"DEPTH9",29542,0,cgConnectorMemberParam)
  • CG_DEPTH11 = 2944: CG_BINDLOCATION_MACRO(DEPTH10,CG_DEPTH10,"DEPTH10",2943,0,cgConnectorMemberParam)
  • CG_DEPTH12 = 2945: CG_BINDLOCATION_MACRO(DEPTH11,CG_DEPTH11,"DEPTH11",2944,0,cgConnectorMemberParam)
  • CG_DEPTH13 = 2946: CG_BINDLOCATION_MACRO(DEPTH12,CG_DEPTH12,"DEPTH12",2945,0,cgConnectorMemberParam)
  • CG_DEPTH14 = 2947: CG_BINDLOCATION_MACRO(DEPTH13,CG_DEPTH13,"DEPTH13",2946,0,cgConnectorMemberParam)
  • CG_DEPTH15 = 2948: CG_BINDLOCATION_MACRO(DEPTH14,CG_DEPTH14,"DEPTH14",2947,0,cgConnectorMemberParam)
  • CG_SAMPLE0 = 2949: CG_BINDLOCATION_MACRO(DEPTH15,CG_DEPTH15,"DEPTH15",2948,0,cgConnectorMemberParam)
  • CG_SAMPLE1 = 2950: CG_BINDLOCATION_MACRO(SAMPLE0,CG_SAMPLE0,"SAMPLE0",2949,0,cgConnectorMemberParam)
  • CG_SAMPLE2 = 2951: CG_BINDLOCATION_MACRO(SAMPLE1,CG_SAMPLE1,"SAMPLE1",2950,0,cgConnectorMemberParam)
  • CG_SAMPLE3 = 2952: CG_BINDLOCATION_MACRO(SAMPLE2,CG_SAMPLE2,"SAMPLE2",2951,0,cgConnectorMemberParam)
  • CG_SAMPLE4 = 2953: CG_BINDLOCATION_MACRO(SAMPLE3,CG_SAMPLE3,"SAMPLE3",2952,0,cgConnectorMemberParam)
  • CG_SAMPLE5 = 2954: CG_BINDLOCATION_MACRO(SAMPLE4,CG_SAMPLE4,"SAMPLE4",2953,0,cgConnectorMemberParam)
  • CG_SAMPLE6 = 2955: CG_BINDLOCATION_MACRO(SAMPLE5,CG_SAMPLE5,"SAMPLE5",2954,0,cgConnectorMemberParam)
  • CG_SAMPLE7 = 2956: CG_BINDLOCATION_MACRO(SAMPLE6,CG_SAMPLE6,"SAMPLE6",2955,0,cgConnectorMemberParam)
  • CG_SAMPLE8 = 2957: CG_BINDLOCATION_MACRO(SAMPLE7,CG_SAMPLE7,"SAMPLE7",2956,0,cgConnectorMemberParam)
  • CG_SAMPLE9 = 2958: CG_BINDLOCATION_MACRO(SAMPLE8,CG_SAMPLE8,"SAMPLE8",2957,0,cgConnectorMemberParam)
  • CG_SAMPLE10 = 2959: CG_BINDLOCATION_MACRO(SAMPLE9,CG_SAMPLE9,"SAMPLE9",2958,0,cgConnectorMemberParam)
  • CG_SAMPLE11 = 2960: CG_BINDLOCATION_MACRO(SAMPLE10,CG_SAMPLE10,"SAMPLE10",2959,0,cgConnectorMemberParam)
  • CG_SAMPLE12 = 2961: CG_BINDLOCATION_MACRO(SAMPLE11,CG_SAMPLE11,"SAMPLE11",2960,0,cgConnectorMemberParam)
  • CG_SAMPLE13 = 2962: CG_BINDLOCATION_MACRO(SAMPLE12,CG_SAMPLE12,"SAMPLE12",2961,0,cgConnectorMemberParam)
  • CG_SAMPLE14 = 2963: CG_BINDLOCATION_MACRO(SAMPLE13,CG_SAMPLE13,"SAMPLE13",2962,0,cgConnectorMemberParam)
  • CG_SAMPLE15 = 2964: CG_BINDLOCATION_MACRO(SAMPLE14,CG_SAMPLE14,"SAMPLE14",2963,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT0 = 3028: CG_BINDLOCATION_MACRO(SAMPLE15,CG_SAMPLE15,"SAMPLE15",2964,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT1 = 3029: CG_BINDLOCATION_MACRO(BlendWeight0,CG_BLENDWEIGHT0,"BLENDWEIGHT0",3028,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT2 = 3030: CG_BINDLOCATION_MACRO(BlendWeight1,CG_BLENDWEIGHT1,"BLENDWEIGHT1",3029,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT3 = 3031: CG_BINDLOCATION_MACRO(BlendWeight2,CG_BLENDWEIGHT2,"BLENDWEIGHT2",3030,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT4 = 3032: CG_BINDLOCATION_MACRO(BlendWeight3,CG_BLENDWEIGHT3,"BLENDWEIGHT3",3031,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT5 = 3033: CG_BINDLOCATION_MACRO(BlendWeight4,CG_BLENDWEIGHT4,"BLENDWEIGHT4",3032,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT6 = 3034: CG_BINDLOCATION_MACRO(BlendWeight5,CG_BLENDWEIGHT5,"BLENDWEIGHT5",3033,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT7 = 3035: CG_BINDLOCATION_MACRO(BlendWeight6,CG_BLENDWEIGHT6,"BLENDWEIGHT6",3034,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT8 = 3036: CG_BINDLOCATION_MACRO(BlendWeight7,CG_BLENDWEIGHT7,"BLENDWEIGHT7",3035,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT9 = 3037: CG_BINDLOCATION_MACRO(BlendWeight8,CG_BLENDWEIGHT8,"BLENDWEIGHT8",3036,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT10 = 3038: CG_BINDLOCATION_MACRO(BlendWeight9,CG_BLENDWEIGHT9,"BLENDWEIGHT9",3037,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT11 = 3039: CG_BINDLOCATION_MACRO(BlendWeight10,CG_BLENDWEIGHT10,"BLENDWEIGHT10",3038,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT12 = 3040: CG_BINDLOCATION_MACRO(BlendWeight11,CG_BLENDWEIGHT11,"BLENDWEIGHT11",3039,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT13 = 3041: CG_BINDLOCATION_MACRO(BlendWeight12,CG_BLENDWEIGHT12,"BLENDWEIGHT12",3040,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT14 = 3042: CG_BINDLOCATION_MACRO(BlendWeight13,CG_BLENDWEIGHT13,"BLENDWEIGHT13",3041,0,cgConnectorMemberParam)
  • CG_BLENDWEIGHT15 = 3043: CG_BINDLOCATION_MACRO(BlendWeight14,CG_BLENDWEIGHT14,"BLENDWEIGHT14",3042,0,cgConnectorMemberParam)
  • CG_NORMAL0 = 3092: CG_BINDLOCATION_MACRO(BlendWeight15,CG_BLENDWEIGHT15,"BLENDWEIGHT15",3043,0,cgConnectorMemberParam)
  • CG_NORMAL1 = 3093: CG_BINDLOCATION_MACRO(Normal0,CG_NORMAL0,"NORMAL0",3092,0,cgConnectorMemberParam)
  • CG_NORMAL2 = 3094: CG_BINDLOCATION_MACRO(Normal1,CG_NORMAL1,"NORMAL1",3093,0,cgConnectorMemberParam)
  • CG_NORMAL3 = 3095: CG_BINDLOCATION_MACRO(Normal2,CG_NORMAL2,"NORMAL2",3094,0,cgConnectorMemberParam)
  • CG_NORMAL4 = 3096: CG_BINDLOCATION_MACRO(Normal3,CG_NORMAL3,"NORMAL3",3095,0,cgConnectorMemberParam)
  • CG_NORMAL5 = 3097: CG_BINDLOCATION_MACRO(Normal4,CG_NORMAL4,"NORMAL4",3096,0,cgConnectorMemberParam)
  • CG_NORMAL6 = 3098: CG_BINDLOCATION_MACRO(Normal5,CG_NORMAL5,"NORMAL5",3097,0,cgConnectorMemberParam)
  • CG_NORMAL7 = 3099: CG_BINDLOCATION_MACRO(Normal6,CG_NORMAL6,"NORMAL6",3098,0,cgConnectorMemberParam)
  • CG_NORMAL8 = 3100: CG_BINDLOCATION_MACRO(Normal7,CG_NORMAL7,"NORMAL7",3099,0,cgConnectorMemberParam)
  • CG_NORMAL9 = 3101: CG_BINDLOCATION_MACRO(Normal8,CG_NORMAL8,"NORMAL8",3100,0,cgConnectorMemberParam)
  • CG_NORMAL10 = 3102: CG_BINDLOCATION_MACRO(Normal9,CG_NORMAL9,"NORMAL9",3101,0,cgConnectorMemberParam)
  • CG_NORMAL11 = 3103: CG_BINDLOCATION_MACRO(Normal10,CG_NORMAL10,"NORMAL10",3102,0,cgConnectorMemberParam)
  • CG_NORMAL12 = 3104: CG_BINDLOCATION_MACRO(Normal11,CG_NORMAL11,"NORMAL11",3103,0,cgConnectorMemberParam)
  • CG_NORMAL13 = 3105: CG_BINDLOCATION_MACRO(Normal12,CG_NORMAL12,"NORMAL12",3104,0,cgConnectorMemberParam)
  • CG_NORMAL14 = 3106: CG_BINDLOCATION_MACRO(Normal13,CG_NORMAL13,"NORMAL13",3105,0,cgConnectorMemberParam)
  • CG_NORMAL15 = 3107: CG_BINDLOCATION_MACRO(Normal14,CG_NORMAL14,"NORMAL14",3106,0,cgConnectorMemberParam)
  • CG_FOGCOORD = 3156: CG_BINDLOCATION_MACRO(Normal15,CG_NORMAL15,"NORMAL15",3107,0,cgConnectorMemberParam)
  • CG_TEXCOORD0 = 3220: CG_BINDLOCATION_MACRO(FogCoord,CG_FOGCOORD,"FOGCOORD",3156,0,cgConnectorMemberParam)
  • CG_TEXCOORD1 = 3221: CG_BINDLOCATION_MACRO(TexCoord0,CG_TEXCOORD0,"TEXCOORD0",3220,0,cgConnectorMemberParam)
  • CG_TEXCOORD2 = 3222: CG_BINDLOCATION_MACRO(TexCoord1,CG_TEXCOORD1,"TEXCOORD1",3221,0,cgConnectorMemberParam)
  • CG_TEXCOORD3 = 3223: CG_BINDLOCATION_MACRO(TexCoord2,CG_TEXCOORD2,"TEXCOORD2",3222,0,cgConnectorMemberParam)
  • CG_TEXCOORD4 = 3224: CG_BINDLOCATION_MACRO(TexCoord3,CG_TEXCOORD3,"TEXCOORD3",3223,0,cgConnectorMemberParam)
  • CG_TEXCOORD5 = 3225: CG_BINDLOCATION_MACRO(TexCoord4,CG_TEXCOORD4,"TEXCOORD4",3224,0,cgConnectorMemberParam)
  • CG_TEXCOORD6 = 3226: CG_BINDLOCATION_MACRO(TexCoord5,CG_TEXCOORD5,"TEXCOORD5",3225,0,cgConnectorMemberParam)
  • CG_TEXCOORD7 = 3227: CG_BINDLOCATION_MACRO(TexCoord6,CG_TEXCOORD6,"TEXCOORD6",3226,0,cgConnectorMemberParam)
  • CG_TEXCOORD8 = 3228: CG_BINDLOCATION_MACRO(TexCoord7,CG_TEXCOORD7,"TEXCOORD7",3227,0,cgConnectorMemberParam)
  • CG_TEXCOORD9 = 3229: CG_BINDLOCATION_MACRO(TexCoord8,CG_TEXCOORD8,"TEXCOORD8",3228,0,cgConnectorMemberParam)
  • CG_TEXCOORD10 = 3230: CG_BINDLOCATION_MACRO(TexCoord9,CG_TEXCOORD9,"TEXCOORD9",3229,0,cgConnectorMemberParam)
  • CG_TEXCOORD11 = 3231: CG_BINDLOCATION_MACRO(TexCoord10,CG_TEXCOORD10,"TEXCOORD10",3230,0,cgConnectorMemberParam)
  • CG_TEXCOORD12 = 3232: CG_BINDLOCATION_MACRO(TexCoord11,CG_TEXCOORD11,"TEXCOORD11",3231,0,cgConnectorMemberParam)
  • CG_TEXCOORD13 = 3233: CG_BINDLOCATION_MACRO(TexCoord12,CG_TEXCOORD12,"TEXCOORD12",3232,0,cgConnectorMemberParam)
  • CG_TEXCOORD14 = 3234: CG_BINDLOCATION_MACRO(TexCoord13,CG_TEXCOORD13,"TEXCOORD13",3233,0,cgConnectorMemberParam)
  • CG_TEXCOORD15 = 3235: CG_BINDLOCATION_MACRO(TexCoord14,CG_TEXCOORD14,"TEXCOORD14",3234,0,cgConnectorMemberParam)
  • CG_COMBINER_CONST0 = 3284: CG_BINDLOCATION_MACRO(TexCoord15,CG_TEXCOORD15,"TEXCOORD15",3235,0,cgConnectorMemberParam)
  • CG_COMBINER_CONST1 = 3285: CG_BINDLOCATION_MACRO(CombinerConst0,CG_COMBINER_CONST0,"COMBINER_CONST0",3284,0,cgUniformParam)
  • CG_COMBINER_STAGE_CONST0 = 3286: CG_BINDLOCATION_MACRO(CombinerConst1,CG_COMBINER_CONST1,"COMBINER_CONST1",3285,0,cgUniformParam)
  • CG_COMBINER_STAGE_CONST1 = 3287: CG_BINDLOCATION_MACRO(CombinerStageConst0,CG_COMBINER_STAGE_CONST0,"COMBINER_STAGE_CONST0",3286,1,cgUniformParam)
  • CG_OFFSET_TEXTURE_MATRIX = 3288: CG_BINDLOCATION_MACRO(CombinerStageConst1,CG_COMBINER_STAGE_CONST1,"COMBINER_STAGE_CONST1",3287,1,cgUniformParam)
  • CG_OFFSET_TEXTURE_SCALE = 3289: CG_BINDLOCATION_MACRO(OffsetTextureMatrix,CG_OFFSET_TEXTURE_MATRIX,"OFFSET_TEXTURE_MATRIX",3288,0,cgUniformParam)
  • CG_OFFSET_TEXTURE_BIAS = 3290: CG_BINDLOCATION_MACRO(OffsetTextureScale,CG_OFFSET_TEXTURE_SCALE,"OFFSET_TEXTURE_SCALE",3289,0,cgUniformParam)
  • CG_CONST_EYE = 3291: CG_BINDLOCATION_MACRO(OffsetTextureBias,CG_OFFSET_TEXTURE_BIAS,"OFFSET_TEXTURE_BIAS",3290,0,cgUniformParam)
  • CG_TESSFACTOR = 3255: CG_BINDLOCATION_MACRO(ConstEye,CG_CONST_EYE,"CONST_EYE",3291,0,cgUniformParam)
  • CG_UNDEFINED: CG_BINDLOCATION_MACRO(TessFactor,CG_TESSFACTOR,"TESSFACTOR",3255,0,cgConnectorMemberParam)
TCGtype = (...);

* The following macro invocations define the supported CG basic data types. * * The macros have the form : * * CG_DATATYPE_MACRO(name, compiler_name, nrows, ncols) * * name : The name of the data type. * compiler_name : The name of the data type within the compiler syntax. * enum_name : The C enumerant. * nrows : Number of rows for matrix types. Should be 0 other-wise. * ncols : Number of columns for matrix types. Should be 0 * other-wise. *

Values
  • CG_UNKNOWN_TYPE
  • CG_STRUCT
  • CG_ARRAY
  • CG_TYPE_START_ENUM = 1024
  • CG_HALF: # define CG_DATATYPE_MACRO(name, compiler_name, enum_name, ncols, nrows) \ enum_name ,
  • CG_HALF2: CG_DATATYPE_MACRO(Half,half,CG_HALF,0,0)
  • CG_HALF3: CG_DATATYPE_MACRO(Half2,half2,CG_HALF2,0,0)
  • CG_HALF4: CG_DATATYPE_MACRO(Half3,half3,CG_HALF3,0,0)
  • CG_HALF1x1: CG_DATATYPE_MACRO(Half4,half4,CG_HALF4,0,0)
  • CG_HALF1x2: CG_DATATYPE_MACRO(Half1x1,half1x1,CG_HALF1x1,1,1)
  • CG_HALF1x3: CG_DATATYPE_MACRO(Half1x2,half1x2,CG_HALF1x2,1,2)
  • CG_HALF1x4: CG_DATATYPE_MACRO(Half1x3,half1x3,CG_HALF1x3,1,3)
  • CG_HALF2x1: CG_DATATYPE_MACRO(Half1x4,half1x4,CG_HALF1x4,1,4)
  • CG_HALF2x2: CG_DATATYPE_MACRO(Half2x1,half2x1,CG_HALF2x1,2,1)
  • CG_HALF2x3: CG_DATATYPE_MACRO(Half2x2,half2x2,CG_HALF2x2,2,2)
  • CG_HALF2x4: CG_DATATYPE_MACRO(Half2x3,half2x3,CG_HALF2x3,2,3)
  • CG_HALF3x1: CG_DATATYPE_MACRO(Half2x4,half2x4,CG_HALF2x4,2,4)
  • CG_HALF3x2: CG_DATATYPE_MACRO(Half3x1,half3x1,CG_HALF3x1,3,1)
  • CG_HALF3x3: CG_DATATYPE_MACRO(Half3x2,half3x2,CG_HALF3x2,3,2)
  • CG_HALF3x4: CG_DATATYPE_MACRO(Half3x3,half3x3,CG_HALF3x3,3,3)
  • CG_HALF4x1: CG_DATATYPE_MACRO(Half3x4,half3x4,CG_HALF3x4,3,4)
  • CG_HALF4x2: CG_DATATYPE_MACRO(Half4x1,half4x1,CG_HALF4x1,4,1)
  • CG_HALF4x3: CG_DATATYPE_MACRO(Half4x2,half4x2,CG_HALF4x2,4,2)
  • CG_HALF4x4: CG_DATATYPE_MACRO(Half4x3,half4x3,CG_HALF4x3,4,3)
  • CG_FLOAT: CG_DATATYPE_MACRO(Half4x4,half4x4,CG_HALF4x4,4,4)
  • CG_FLOAT2: CG_DATATYPE_MACRO(Float,float,CG_FLOAT,0,0)
  • CG_FLOAT3: CG_DATATYPE_MACRO(Float2,float2,CG_FLOAT2,0,0)
  • CG_FLOAT4: CG_DATATYPE_MACRO(Float3,float3,CG_FLOAT3,0,0)
  • CG_FLOAT1x1: CG_DATATYPE_MACRO(Float4,float4,CG_FLOAT4,0,0)
  • CG_FLOAT1x2: CG_DATATYPE_MACRO(Float1x1,float1x1,CG_FLOAT1x1,1,1)
  • CG_FLOAT1x3: CG_DATATYPE_MACRO(Float1x2,float1x2,CG_FLOAT1x2,1,2)
  • CG_FLOAT1x4: CG_DATATYPE_MACRO(Float1x3,float1x3,CG_FLOAT1x3,1,3)
  • CG_FLOAT2x1: CG_DATATYPE_MACRO(Float1x4,float1x4,CG_FLOAT1x4,1,4)
  • CG_FLOAT2x2: CG_DATATYPE_MACRO(Float2x1,float2x1,CG_FLOAT2x1,2,1)
  • CG_FLOAT2x3: CG_DATATYPE_MACRO(Float2x2,float2x2,CG_FLOAT2x2,2,2)
  • CG_FLOAT2x4: CG_DATATYPE_MACRO(Float2x3,float2x3,CG_FLOAT2x3,2,3)
  • CG_FLOAT3x1: CG_DATATYPE_MACRO(Float2x4,float2x4,CG_FLOAT2x4,2,4)
  • CG_FLOAT3x2: CG_DATATYPE_MACRO(Float3x1,float3x1,CG_FLOAT3x1,3,1)
  • CG_FLOAT3x3: CG_DATATYPE_MACRO(Float3x2,float3x2,CG_FLOAT3x2,3,2)
  • CG_FLOAT3x4: CG_DATATYPE_MACRO(Float3x3,float3x3,CG_FLOAT3x3,3,3)
  • CG_FLOAT4x1: CG_DATATYPE_MACRO(Float3x4,float3x4,CG_FLOAT3x4,3,4)
  • CG_FLOAT4x2: CG_DATATYPE_MACRO(Float4x1,float4x1,CG_FLOAT4x1,4,1)
  • CG_FLOAT4x3: CG_DATATYPE_MACRO(Float4x2,float4x2,CG_FLOAT4x2,4,2)
  • CG_FLOAT4x4: CG_DATATYPE_MACRO(Float4x3,float4x3,CG_FLOAT4x3,4,3)
  • CG_SAMPLER1D: CG_DATATYPE_MACRO(Float4x4,float4x4,CG_FLOAT4x4,4,4)
  • CG_SAMPLER2D: CG_DATATYPE_MACRO(Sampler1D,sampler1D,CG_SAMPLER1D,0,0)
  • CG_SAMPLER3D: CG_DATATYPE_MACRO(Sampler2D,sampler2D,CG_SAMPLER2D,0,0)
  • CG_SAMPLERRECT: CG_DATATYPE_MACRO(Sampler3D,sampler3D,CG_SAMPLER3D,0,0)
  • CG_SAMPLERCUBE: CG_DATATYPE_MACRO(SamplerRECT,samplerRECT,CG_SAMPLERRECT,0,0)
  • CG_FIXED: CG_DATATYPE_MACRO(SamplerCUBE,samplerCUBE,CG_SAMPLERCUBE,0,0)
  • CG_FIXED2: CG_DATATYPE_MACRO(Fixed,fixed,CG_FIXED,0,0)
  • CG_FIXED3: CG_DATATYPE_MACRO(Fixed2,fixed2,CG_FIXED2,0,0)
  • CG_FIXED4: CG_DATATYPE_MACRO(Fixed3,fixed3,CG_FIXED3,0,0)
  • CG_FIXED1x1: CG_DATATYPE_MACRO(Fixed4,fixed4,CG_FIXED4,0,0)
  • CG_FIXED1x2: CG_DATATYPE_MACRO(Fixed1x1,fixed1x1,CG_FIXED1x1,1,1)
  • CG_FIXED1x3: CG_DATATYPE_MACRO(Fixed1x2,fixed1x2,CG_FIXED1x2,1,2)
  • CG_FIXED1x4: CG_DATATYPE_MACRO(Fixed1x3,fixed1x3,CG_FIXED1x3,1,3)
  • CG_FIXED2x1: CG_DATATYPE_MACRO(Fixed1x4,fixed1x4,CG_FIXED1x4,1,4)
  • CG_FIXED2x2: CG_DATATYPE_MACRO(Fixed2x1,fixed2x1,CG_FIXED2x1,2,1)
  • CG_FIXED2x3: CG_DATATYPE_MACRO(Fixed2x2,fixed2x2,CG_FIXED2x2,2,2)
  • CG_FIXED2x4: CG_DATATYPE_MACRO(Fixed2x3,fixed2x3,CG_FIXED2x3,2,3)
  • CG_FIXED3x1: CG_DATATYPE_MACRO(Fixed2x4,fixed2x4,CG_FIXED2x4,2,4)
  • CG_FIXED3x2: CG_DATATYPE_MACRO(Fixed3x1,fixed3x1,CG_FIXED3x1,3,1)
  • CG_FIXED3x3: CG_DATATYPE_MACRO(Fixed3x2,fixed3x2,CG_FIXED3x2,3,2)
  • CG_FIXED3x4: CG_DATATYPE_MACRO(Fixed3x3,fixed3x3,CG_FIXED3x3,3,3)
  • CG_FIXED4x1: CG_DATATYPE_MACRO(Fixed3x4,fixed3x4,CG_FIXED3x4,3,4)
  • CG_FIXED4x2: CG_DATATYPE_MACRO(Fixed4x1,fixed4x1,CG_FIXED4x1,4,1)
  • CG_FIXED4x3: CG_DATATYPE_MACRO(Fixed4x2,fixed4x2,CG_FIXED4x2,4,2)
  • CG_FIXED4x4: CG_DATATYPE_MACRO(Fixed4x3,fixed4x3,CG_FIXED4x3,4,3)
  • CG_HALF1: CG_DATATYPE_MACRO(Fixed4x4,fixed4x4,CG_FIXED4x4,4,4)
  • CG_FLOAT1: CG_DATATYPE_MACRO(Half1,half1,CG_HALF1,0,0)
  • CG_FIXED1: CG_DATATYPE_MACRO(Float1,float1,CG_FLOAT1,0,0)
  • CG_INT: CG_DATATYPE_MACRO(Fixed1,fixed1,CG_FIXED1,0,0)
  • CG_INT1: CG_DATATYPE_MACRO(Int,int,CG_INT,0,1)
  • CG_INT2: CG_DATATYPE_MACRO(Int1,int1,CG_INT1,0,1)
  • CG_INT3: CG_DATATYPE_MACRO(Int2,int2,CG_INT2,0,2)
  • CG_INT4: CG_DATATYPE_MACRO(Int3,int3,CG_INT3,0,3)
  • CG_INT1x1: CG_DATATYPE_MACRO(Int4,int4,CG_INT4,0,4)
  • CG_INT1x2: CG_DATATYPE_MACRO(Int1x1,int1x1,CG_INT1x1,1,1)
  • CG_INT1x3: CG_DATATYPE_MACRO(Int1x2,int1x2,CG_INT1x2,1,2)
  • CG_INT1x4: CCG_DATATYPE_MACRO(Int1x3,int1x3,CG_INT1x3,1,3)
  • CG_INT2x1: CCG_DATATYPE_MACRO(Int1x4,int1x4,CG_INT1x4,1,4)
  • CG_INT2x2: CCG_DATATYPE_MACRO(Int2x1,int2x1,CG_INT2x1,2,1)
  • CG_INT2x3: CCG_DATATYPE_MACRO(Int2x2,int2x2,CG_INT2x2,2,2)
  • CG_INT2x4: CCG_DATATYPE_MACRO(Int2x3,int2x3,CG_INT2x3,2,3)
  • CG_INT3x1: CCG_DATATYPE_MACRO(Int2x4,int2x4,CG_INT2x4,2,4)
  • CG_INT3x2: CCG_DATATYPE_MACRO(Int3x1,int3x1,CG_INT3x1,3,1)
  • CG_INT3x3: CCG_DATATYPE_MACRO(Int3x2,int3x2,CG_INT3x2,3,2)
  • CG_INT3x4: CCG_DATATYPE_MACRO(Int3x3,int3x3,CG_INT3x3,3,3)
  • CG_INT4x1: CCG_DATATYPE_MACRO(Int3x4,int3x4,CG_INT3x4,3,4)
  • CG_INT4x2: CCG_DATATYPE_MACRO(Int4x1,int4x1,CG_INT4x1,4,1)
  • CG_INT4x3: CCG_DATATYPE_MACRO(Int4x2,int4x2,CG_INT4x2,4,2)
  • CG_INT4x4: CCG_DATATYPE_MACRO(Int4x3,int4x3,CG_INT4x3,4,3)
  • CG_BOOL: CCG_DATATYPE_MACRO(Int4x4,int4x4,CG_INT4x4,4,4)
  • CG_BOOL1: CG_DATATYPE_MACRO(Bool,bool,CG_BOOL,0,1)
  • CG_BOOL2: CG_DATATYPE_MACRO(Bool1,bool1,CG_BOOL1,0,1)
  • CG_BOOL3: CG_DATATYPE_MACRO(Bool2,bool2,CG_BOOL2,0,2)
  • CG_BOOL4: CG_DATATYPE_MACRO(Bool3,bool3,CG_BOOL3,0,3)
  • CG_BOOL1x1: CG_DATATYPE_MACRO(Bool4,bool4,CG_BOOL4,0,4)
  • CG_BOOL1x2: CG_DATATYPE_MACRO(Bool1x1,bool1x1,CG_BOOL1x1,1,1)
  • CG_BOOL1x3: CG_DATATYPE_MACRO(Bool1x2,bool1x2,CG_BOOL1x2,1,2)
  • CG_BOOL1x4: CG_DATATYPE_MACRO(Bool1x3,bool1x3,CG_BOOL1x3,1,3)
  • CG_BOOL2x1: CG_DATATYPE_MACRO(Bool1x4,bool1x4,CG_BOOL1x4,1,4)
  • CG_BOOL2x2: CG_DATATYPE_MACRO(Bool2x1,bool2x1,CG_BOOL2x1,2,1)
  • CG_BOOL2x3: CG_DATATYPE_MACRO(Bool2x2,bool2x2,CG_BOOL2x2,2,2)
  • CG_BOOL2x4: CG_DATATYPE_MACRO(Bool2x3,bool2x3,CG_BOOL2x3,2,3)
  • CG_BOOL3x1: CG_DATATYPE_MACRO(Bool2x4,bool2x4,CG_BOOL2x4,2,4)
  • CG_BOOL3x2: CG_DATATYPE_MACRO(Bool3x1,bool3x1,CG_BOOL3x1,3,1)
  • CG_BOOL3x3: CG_DATATYPE_MACRO(Bool3x2,bool3x2,CG_BOOL3x2,3,2)
  • CG_BOOL3x4: CG_DATATYPE_MACRO(Bool3x3,bool3x3,CG_BOOL3x3,3,3)
  • CG_BOOL4x1: CG_DATATYPE_MACRO(Bool3x4,bool3x4,CG_BOOL3x4,3,4)
  • CG_BOOL4x2: CG_DATATYPE_MACRO(Bool4x1,bool4x1,CG_BOOL4x1,4,1)
  • CG_BOOL4x3: CG_DATATYPE_MACRO(Bool4x2,bool4x2,CG_BOOL4x2,4,2)
  • CG_BOOL4x4: CG_DATATYPE_MACRO(Bool4x3,bool4x3,CG_BOOL4x3,4,3)

Constants

CgLibrary = 'cg.dll';

Platform Specific

by default, GLX is not supported on windows, although windows implementations do exist .NET

CG_VERSION_1_2 = 1;
CG_VERSION_NUM = 1200;
CG_FALSE = TCGbool(0);
CG_TRUE = TCGbool(1);
CG_NO_ERROR = 0;

# define CG_ERROR_MACRO(code, enum_name, new_enum_name, message) \ new_enum_name = code,

CG_COMPILER_ERROR = 1;

"No error has occurred."

CG_INVALID_PARAMETER_ERROR = 2;

"The compile returned an error."

CG_INVALID_PROFILE_ERROR = 3;

"The parameter used is invalid."

CG_PROGRAM_LOAD_ERROR = 4;

"The profile is not supported."

CG_PROGRAM_BIND_ERROR = 5;

"The program did could not load."

CG_PROGRAM_NOT_LOADED_ERROR = 6;

"The program could not bind."

CG_UNSUPPORTED_GL_EXTENSION_ERROR = 7;

"The program must be loaded before this operation may be used."

CG_INVALID_VALUE_TYPE_ERROR = 8;

"An unsupported GL extension was required to perform this operation."

CG_NOT_MATRIX_PARAM_ERROR = 9;

"An unknown value type was assigned to a parameter."

CG_INVALID_ENUMERANT_ERROR = 10;

"The parameter is not of matrix type."

CG_NOT_4x4_MATRIX_ERROR = 11;

"The enumerant parameter has an invalid value."

CG_FILE_READ_ERROR = 12;

"The parameter must be a 4x4 matrix type."

CG_FILE_WRITE_ERROR = 13;

"The file could not be read."

CG_NVPARSE_ERROR = 14;

"The file could not be written."

CG_MEMORY_ALLOC_ERROR = 15;

"nvparse could not successfully parse the output from the Cg compiler backend."

CG_INVALID_CONTEXT_HANDLE_ERROR = 16;

"Memory allocation failed."

CG_INVALID_PROGRAM_HANDLE_ERROR = 17;

"Invalid context handle."

CG_INVALID_PARAM_HANDLE_ERROR = 18;

"Invalid program handle."

CG_UNKNOWN_PROFILE_ERROR = 19;

"Invalid parameter handle."

CG_VAR_ARG_ERROR = 20;

"The specified profile is unknown."

CG_INVALID_DIMENSION_ERROR = 21;

"The variable arguments were specified incorrectly."

CG_ARRAY_PARAM_ERROR = 22;

"The dimension value is invalid."

CG_OUT_OF_ARRAY_BOUNDS_ERROR = 23;

"The parameter must be an array."

CG_CONFLICTING_TYPES_ERROR = 24;

"Index into the array is out of bounds."

CG_CONFLICTING_PARAMETER_TYPES_ERROR = 25;

"A type being added to the context conflicts with an existing type."

CG_PARAMETER_IS_NOT_SHARED_ERROR = 26;

"The parameters being bound have conflicting types."

CG_INVALID_PARAMETER_VARIABILITY_ERROR = 27;

"The parameter must be global."

CG_CANNOT_DESTROY_PARAMETER_ERROR = 28;

"The parameter could not be changed to the given variability."

CG_NOT_ROOT_PARAMETER_ERROR = 29;

"Cannot destroy the parameter. It is bound to other parameters or is not a root parameter."

CG_PARAMETERS_DO_NOT_MATCH_ERROR = 30;

"The parameter is not a root parameter."

CG_IS_NOT_PROGRAM_PARAMETER_ERROR = 31;

"The two parameters being bound do not match."

CG_INVALID_PARAMETER_TYPE_ERROR = 32;

"The parameter is not a program parameter."

CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR = 33;

"The type of the parameter is invalid."

CG_INVALID_SIZE_ERROR = 34;

"The parameter must be a resizable array."

CG_BIND_CREATES_CYCLE_ERROR = 35;

"The size value is invalid."

CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR = 36;

"Cannot bind the given parameters. Binding will form a cycle."

CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR = 37;

"Cannot bind the given parameters. Array types do not match."

CG_ARRAY_HAS_WRONG_DIMENSION_ERROR = 38;

"Cannot bind the given parameters. Array dimensions do not match."

CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR = 39;

"The array is has the wrong dimension."


GLSysHelp v.2.1: Cg.Import: Record _CGcontext

Record _CGcontext

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Import

Declaration

type _CGcontext = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: Cg.Import: Record _CGprogram

Record _CGprogram

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Import

Declaration

type _CGprogram = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: Cg.Import: Record _CGparameter

Record _CGparameter

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Import

Declaration

type _CGparameter = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: Cg.PostTransformationShader

Unit Cg.PostTransformationShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Texture
  • GLS.Cadencer
  • GLS.Context
  • GLS.Scene
  • GLS.RenderContextInfo
  • GLS.TextureFormat
  • Cg.Import
  • Cg.GL
  • Cg.Shader
  • GLSL.CustomShader

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCustomCGPostTransformationShader |
Class TGLCGPostTransformationShader |


GLSysHelp v.2.1: Cg.PostTransformationShader: Class TGLCustomCGPostTransformationShader

Class TGLCustomCGPostTransformationShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.PostTransformationShader

Declaration

type TGLCustomCGPostTransformationShader = class(TCustomCGShader, IGLPostShader)

Description

No description available, ancestor TCustomCGShader description follows
No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader
  • TGLCustomCGPostTransformationShader

Overview

Fields

Private | FTransformationPower: Single;
Private | FTransformationTexture: TGLTexture;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function GetTextureTarget: TGLTextureTarget;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle; TextureTarget: TGLTextureTarget);

Properties

Public | property TransformationPower: Single read FTransformationPower write FTransformationPower;
Public | property TransformationTexture: TGLTexture read FTransformationTexture write FTransformationTexture;

Description

Fields

Private FTransformationPower: Single;
Private FTransformationTexture: TGLTexture;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function GetTextureTarget: TGLTextureTarget;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoUseTempTexture(const TempTexture: TGLTextureHandle; TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Properties

Public property TransformationPower: Single read FTransformationPower write FTransformationPower;
Public property TransformationTexture: TGLTexture read FTransformationTexture write FTransformationTexture;


GLSysHelp v.2.1: Cg.PostTransformationShader: Class TGLCGPostTransformationShader

Class TGLCGPostTransformationShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.PostTransformationShader

Declaration

type TGLCGPostTransformationShader = class(TGLCustomCGPostTransformationShader)

Description

No description available, ancestor TGLCustomCGPostTransformationShader description follows
No description available, ancestor TCustomCGShader description follows
No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader
  • TGLCustomCGPostTransformationShader
  • TGLCGPostTransformationShader

Overview

Properties

Published | property TransformationPower;
Published | property TransformationTexture;

Description

Properties

Published property TransformationPower;
Published property TransformationTexture;


GLSysHelp v.2.1: Cg.Register

Unit Cg.Register

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • DesignIntf
  • DesignEditors
  • VCLEditors
  • GLS.Material
  • Cg.Import
  • Cg.GL
  • GLS.SceneRegister
  • Cg.Shader
  • Cg.BombShader

Overview

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;

TGLLibMaterialNameProperty


GLSysHelp v.2.1: Cg.Shader

Unit Cg.Shader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorTypes
  • GLS.Texture
  • GLS.Strings
  • GLS.Cadencer
  • GLS.Context
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.Material
  • GLS.TextureFormat
  • Cg.Import
  • Cg.GL

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class ECgShaderException |
Class TCgProgram |
Class TCgParameter |
Class TCgVertexProgram |
Class TCgFragmentProgram |
Class TCustomCgShader |
Class TCadencableCustomCgShader |
Class TCgShader |

Functions and Procedures

function IsCgProfileSupported(Profile: TcgProfile): boolean;

Types

TCgApplyEvent = procedure(CgProgram: TCgProgram; Sender: TObject) of object;
TCgFPProfile = (...);
TcgProgramType = (...);
TCgShaderEvent = procedure(CgShader: TCustomCgShader) of object;
TCgUnApplyEvent = procedure(CgProgram: TCgProgram) of object;
TCgVPProfile = (...);
TPrecisionSetting = (...);

Variables

IncludeFilePath: string;

Description

Functions and Procedures

function IsCgProfileSupported(Profile: TcgProfile): boolean;

Misc. global functions

Types

TCgApplyEvent = procedure(CgProgram: TCgProgram; Sender: TObject) of object;
TCgFPProfile = (...);

Available fragment program profile

Values
  • fpDetectLatest
  • fp20
  • fp30
  • fp40
  • arbfp1
TcgProgramType = (...);
Values
  • ptVertex
  • ptFragment
TCgShaderEvent = procedure(CgShader: TCustomCgShader) of object;
TCgUnApplyEvent = procedure(CgProgram: TCgProgram) of object;
TCgVPProfile = (...);

Available vertex program profile

Values
  • vpDetectLatest
  • vp20
  • vp30
  • vp40
  • arbvp1
TPrecisionSetting = (...);
Values
  • psFull
  • psFast

Variables

IncludeFilePath: string;

Set IncludeFilePath to indicate where to find your include file for your Cg source files. This avoids error from the Cg Compiler when the current directory is not the right path as the shader is being compiled.


GLSysHelp v.2.1: Cg.Shader: Class ECgShaderException

Class ECgShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type ECgShaderException = class(EGLShaderException)

Description

Define OutputCompilerWarnings to output Cg compiler warnings to a file. Useful for detecting bugs caused by using uninitialized value, implicit type cast, etc.

Hierarchy

  • TObject
  • Exception
  • EGLShaderException
  • ECgShaderException


GLSysHelp v.2.1: Cg.Shader: Class TCgProgram

Class TCgProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCgProgram = class(TGLUpdateAbleObject)

Description

Wrapper around a Cg program.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TCgProgram

Overview

Fields

Private | FCgContext: PcgContext;
Private | FCode: TStrings;
Private | FProgramName: String;
Private | FHandle: PCGprogram;
Private | FParams: TList;
Private | FOnApply: TCgApplyEvent;
Private | FOnUnApply: TCgUnApplyEvent;
Private | FOnProgramChanged: TNotifyEvent;
Private | FEnabled: boolean;
Private | FDetectProfile: boolean;
Private | FPrecision: TPrecisionSetting;
Protected | FProgramType: TcgProgramType;
Protected | FProfile: TcgProfile;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function DirectParamByName(const name: String): PCGParameter;
Public | function GetLatestProfile: TcgProfile; virtual; abstract;
Public | function GetProfileStringA: string;
Public | function LongName: string;
Public | function ParamByName(const name: String): TCgParameter;
Public | function ParamCount: Integer;
Protected | function GetParam(index: String): TCgParameter;
Private | function GetManualNotification: boolean;
Public | procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);
Public | procedure Finalize;
Public | procedure Initialize; virtual;
Public | procedure ListCompilation(Output: TStrings);
Public | procedure ListParameters(Output: TStrings);
Public | procedure LoadFromFile(const fileName: String);
Public | procedure SetParam(ParamName: string; SingleVal: Single); overload;
Public | procedure SetParam(ParamName: string; const Vector4fVal: TVector4f); overload;
Public | procedure SetParam(ParamName: string; const Vector2fVal: TVector2f); overload;
Public | procedure SetParam(ParamName: string; const Vector3fVal: TVector3f); overload;
Public | procedure SetStateMatrix(ParamName: string; matrix, Transform: Cardinal);
Public | procedure SetTexture(ParamName: string; TextureID: Cardinal);
Public | procedure UnApply(var rci: TGLRenderContextInfo);
Protected | procedure AddParamsItem(const Param: PCGParameter);
Protected | procedure BuildParamsList;
Protected | procedure ClearParamsList;
Protected | procedure SetCode(const val: TStrings);
Protected | procedure SetProgramName(const val: String);
Private | procedure SetManualNotification(const Value: boolean);
Private | procedure SetPrecision(const Value: TPrecisionSetting);

Properties

Published | property Code: TStrings read FCode write SetCode;
Public | property DirectProfile: TcgProfile read FProfile write FProfile;
Published | property Enabled: boolean read FEnabled write FEnabled default True;
Public | property ManualNotification: boolean read GetManualNotification write SetManualNotification default False;
Published | property OnApply: TCgApplyEvent read FOnApply write FOnApply;
Public | property OnProgramChanged: TNotifyEvent read FOnProgramChanged write FOnProgramChanged;
Published | property OnUnApply: TCgUnApplyEvent read FOnUnApply write FOnUnApply;
Public | property Param[index:String]: TCgParameter read GetParam;
Public | property Params: TList read FParams;
Published | property Precision: TPrecisionSetting read FPrecision write SetPrecision default psFull;
Published | property ProgramName: String read FProgramName write SetProgramName;

Description

Fields

Private FCgContext: PcgContext;
Private FCode: TStrings;
Private FProgramName: String;

the Cg program itself

Private FHandle: PCGprogram;
Private FParams: TList;
Private FOnApply: TCgApplyEvent;
Private FOnUnApply: TCgUnApplyEvent;
Private FOnProgramChanged: TNotifyEvent;
Private FEnabled: boolean;
Private FDetectProfile: boolean;
Private FPrecision: TPrecisionSetting;
Protected FProgramType: TcgProgramType;
Protected FProfile: TcgProfile;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function DirectParamByName(const name: String): PCGParameter;

Returns a handle to a Cg parameter

Public function GetLatestProfile: TcgProfile; virtual; abstract;
Public function GetProfileStringA: string;
Public function LongName: string;

retruns ShaderName.[program type].ProgramName

Public function ParamByName(const name: String): TCgParameter;

ParamByName returns CgParameter; returns nil if not found.

Public function ParamCount: Integer;
Protected function GetParam(index: String): TCgParameter;
Private function GetManualNotification: boolean;
Public procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);
Public procedure Finalize;
Public procedure Initialize; virtual;
Public procedure ListCompilation(Output: TStrings);
Public procedure ListParameters(Output: TStrings);
Public procedure LoadFromFile(const fileName: String);
Public procedure SetParam(ParamName: string; SingleVal: Single); overload;

shorthands for accessing parameters

Public procedure SetParam(ParamName: string; const Vector4fVal: TVector4f); overload;
Public procedure SetParam(ParamName: string; const Vector2fVal: TVector2f); overload;
Public procedure SetParam(ParamName: string; const Vector3fVal: TVector3f); overload;
Public procedure SetStateMatrix(ParamName: string; matrix, Transform: Cardinal);
Public procedure SetTexture(ParamName: string; TextureID: Cardinal);
Public procedure UnApply(var rci: TGLRenderContextInfo);
Protected procedure AddParamsItem(const Param: PCGParameter);
Protected procedure BuildParamsList;

Build a list of parameters used in the shader code. Iteratively queries all parameters so that we can manage and access them easily. Currently only collects leaf parameters i.e. data structure is not retrieved.

Protected procedure ClearParamsList;
Protected procedure SetCode(const val: TStrings);
Protected procedure SetProgramName(const val: String);
Private procedure SetManualNotification(const Value: boolean);
Private procedure SetPrecision(const Value: TPrecisionSetting);

Properties

Published property Code: TStrings read FCode write SetCode;
Public property DirectProfile: TcgProfile read FProfile write FProfile;

Direct access to the profile. Set Profile of the sub-classes to any but DetectLatest if you want to specify the profile directly.

Published property Enabled: boolean read FEnabled write FEnabled default True;
Public property ManualNotification: boolean read GetManualNotification write SetManualNotification default False;

If True, that shader is not reset when TCgProgram' parameters change.

Published property OnApply: TCgApplyEvent read FOnApply write FOnApply;
Public property OnProgramChanged: TNotifyEvent read FOnProgramChanged write FOnProgramChanged;

Seams, that this event is never called. Probably should be deleted...

Published property OnUnApply: TCgUnApplyEvent read FOnUnApply write FOnUnApply;
Public property Param[index:String]: TCgParameter read GetParam;

Use Param instead of ParamByName if you want implicit check for the existence of your requested parameter.

Public property Params: TList read FParams;
Published property Precision: TPrecisionSetting read FPrecision write SetPrecision default psFull;

Precision controls data precision of GPU operation. Possible options are 16-bit (psFast) or 32-bit (psFull). 16-bit operation is generally faster.

Published property ProgramName: String read FProgramName write SetProgramName;


GLSysHelp v.2.1: Cg.Shader: Class TCgParameter

Class TCgParameter

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCgParameter = class(TObject)

Description

Wrapper around a Cg parameter of the main program.

Hierarchy

  • TObject
  • TCgParameter

Overview

Fields

Private | FOwner: TCgProgram;
Private | FName: String;
Private | FHandle: PCGParameter;
Private | FValueType: TCGtype;
Private | FDirection: TCGenum;
Private | FVariability: TCGenum;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | function LongName: string;
Protected | function TypeMismatchMessage: string;
Public | procedure DisableClientState;
Public | procedure DisableTexture;
Public | procedure EnableClientState;
Public | procedure EnableTexture;
Public | procedure SetAsMatrix(const val: TMatrix4f);
Public | procedure SetAsScalar(const val: Single); overload;
Public | procedure SetAsScalar(const val: boolean); overload;
Public | procedure SetAsStateMatrix(matrix, Transform: Cardinal);
Public | procedure SetAsTexture(TextureID: Cardinal);
Public | procedure SetAsTexture1D(TextureID: Cardinal);
Public | procedure SetAsTexture2D(TextureID: Cardinal);
Public | procedure SetAsTexture3D(TextureID: Cardinal);
Public | procedure SetAsTextureCUBE(TextureID: Cardinal);
Public | procedure SetAsTextureRECT(TextureID: Cardinal);
Public | procedure SetAsVector(const val: array of Single); overload;
Public | procedure SetAsVector(const val: TVector2f); overload;
Public | procedure SetAsVector(const val: TVector3f); overload;
Public | procedure SetAsVector(const val: TVector4f); overload;
Public | procedure SetParameterPointer(Values: TVectorList); overload;
Public | procedure SetParameterPointer(Values: TAffineVectorList); overload;
Public | procedure SetToTextureOf(LibMaterial: TGLLibMaterial);
Protected | procedure CheckAllScalarTypes;
Protected | procedure CheckAllTextureTypes;
Protected | procedure CheckAllVector2fTypes;
Protected | procedure CheckAllVector3fTypes;
Protected | procedure CheckAllVector4fTypes;
Protected | procedure CheckValueType(aType: TCGtype); overload;
Protected | procedure CheckValueType(const types: array of TCGtype); overload;
Protected | procedure SetAsVector2f(const val: TVector2f);
Protected | procedure SetAsVector3f(const val: TVector3f);
Protected | procedure SetAsVector4f(const val: TVector4f);

Properties

Public | property AsAffineVector: TAffineVector write SetAsVector3f;
Public | property AsVector: TGLVector write SetAsVector4f;
Public | property AsVector2f: TVector2f write SetAsVector2f;
Public | property Direction: TCGenum read FDirection write FDirection;
Public | property Handle: PCGParameter read FHandle write FHandle;
Public | property Name: String read FName;
Public | property Owner: TCgProgram read FOwner;
Public | property ValueType: TCGtype read FValueType;
Public | property Variability: TCGenum read FVariability write FVariability;

Description

Fields

Private FOwner: TCgProgram;
Private FName: String;
Private FHandle: PCGParameter;
Private FValueType: TCGtype;
Private FDirection: TCGenum;

e.g. CG_FLOAT

Private FVariability: TCGenum;

e.g. CG_INOUT

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Public function LongName: string;

LongName retruns ShaderName.[program type].ProgramName.ParamName.

Protected function TypeMismatchMessage: string;

e.g. CG_UNIFORM

Public procedure DisableClientState;
Public procedure DisableTexture;
Public procedure EnableClientState;
Public procedure EnableTexture;
Public procedure SetAsMatrix(const val: TMatrix4f);
Public procedure SetAsScalar(const val: Single); overload;

Procedures for setting uniform pamareters. Implicitly check for data type.

Public procedure SetAsScalar(const val: boolean); overload;
Public procedure SetAsStateMatrix(matrix, Transform: Cardinal);
Public procedure SetAsTexture(TextureID: Cardinal);

SetAsTexture checks for all texture types

Public procedure SetAsTexture1D(TextureID: Cardinal);

SetAsTexture* check for specific type

Public procedure SetAsTexture2D(TextureID: Cardinal);
Public procedure SetAsTexture3D(TextureID: Cardinal);
Public procedure SetAsTextureCUBE(TextureID: Cardinal);
Public procedure SetAsTextureRECT(TextureID: Cardinal);
Public procedure SetAsVector(const val: array of Single); overload;

This overloaded SetAsVector accepts open array as input. e.g. SetAsVector([0.1, 0.2]). Array length must between 1-4.

Public procedure SetAsVector(const val: TVector2f); overload;
Public procedure SetAsVector(const val: TVector3f); overload;
Public procedure SetAsVector(const val: TVector4f); overload;
Public procedure SetParameterPointer(Values: TVectorList); overload;

Procedures for setting varying parameters with an array of values.

Public procedure SetParameterPointer(Values: TAffineVectorList); overload;
Public procedure SetToTextureOf(LibMaterial: TGLLibMaterial);

SetToTextureOf determines texture type on-the-fly.

Protected procedure CheckAllScalarTypes;
Protected procedure CheckAllTextureTypes;
Protected procedure CheckAllVector2fTypes;
Protected procedure CheckAllVector3fTypes;
Protected procedure CheckAllVector4fTypes;
Protected procedure CheckValueType(aType: TCGtype); overload;
Protected procedure CheckValueType(const types: array of TCGtype); overload;
Protected procedure SetAsVector2f(const val: TVector2f);
Protected procedure SetAsVector3f(const val: TVector3f);
Protected procedure SetAsVector4f(const val: TVector4f);

Properties

Public property AsAffineVector: TAffineVector write SetAsVector3f;

position f.i.

Public property AsVector: TGLVector write SetAsVector4f;

GLScene-friendly properties

Public property AsVector2f: TVector2f write SetAsVector2f;

normal f.i.

Public property Direction: TCGenum read FDirection write FDirection;
Public property Handle: PCGParameter read FHandle write FHandle;
Public property Name: String read FName;
Public property Owner: TCgProgram read FOwner;
Public property ValueType: TCGtype read FValueType;
Public property Variability: TCGenum read FVariability write FVariability;


GLSysHelp v.2.1: Cg.Shader: Class TCgVertexProgram

Class TCgVertexProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCgVertexProgram = class(TCgProgram)

Description

No description available, ancestor TCgProgram description follows

Wrapper around a Cg program.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TCgProgram
  • TCgVertexProgram

Overview

Fields

Private FVPProfile: TCgVPProfile;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | function GetLatestProfile: TcgProfile; override;
Private | procedure SetVPProfile(v: TCgVPProfile);

Properties

Published property Profile: TCgVPProfile read FVPProfile write SetVPProfile default vpDetectLatest;

Description

Fields

Private FVPProfile: TCgVPProfile;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public function GetLatestProfile: TcgProfile; override;
Private procedure SetVPProfile(v: TCgVPProfile);

Properties

Published property Profile: TCgVPProfile read FVPProfile write SetVPProfile default vpDetectLatest;


GLSysHelp v.2.1: Cg.Shader: Class TCgFragmentProgram

Class TCgFragmentProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCgFragmentProgram = class(TCgProgram)

Description

No description available, ancestor TCgProgram description follows

Wrapper around a Cg program.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TCgProgram
  • TCgFragmentProgram

Overview

Fields

Private | FFPProfile: TCgFPProfile;
Private | FManageTexture: boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | function GetLatestProfile: TcgProfile; override;
Public | procedure Initialize; override;
Private | procedure SetFPProfile(v: TCgFPProfile);
Private | procedure SetManageTexture(const Value: boolean);

Properties

Published | property ManageTexture: boolean read FManageTexture write SetManageTexture default False;
Published | property Profile: TCgFPProfile read FFPProfile write SetFPProfile default fpDetectLatest;

Description

Fields

Private FFPProfile: TCgFPProfile;
Private FManageTexture: boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public function GetLatestProfile: TcgProfile; override;
Public procedure Initialize; override;
Private procedure SetFPProfile(v: TCgFPProfile);
Private procedure SetManageTexture(const Value: boolean);

Properties

Published property ManageTexture: boolean read FManageTexture write SetManageTexture default False;

Switch for auto enabling of texture parameters (Cg 1.2 feature) With Cg 1.2.1, default is OFF

Published property Profile: TCgFPProfile read FFPProfile write SetFPProfile default fpDetectLatest;


GLSysHelp v.2.1: Cg.Shader: Class TCustomCgShader

Class TCustomCgShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCustomCgShader = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader

Overview

Fields

Private | FVertexProgram: TCgVertexProgram;
Private | FFragmentProgram: TCgFragmentProgram;
Private | FOnInitialize: TCgShaderEvent;
Private | FDesignEnable: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ShaderSupported: boolean; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): boolean; override;
Protected | function GetOnApplyFragmentProgram: TCgApplyEvent;
Protected | function GetOnApplyVertexProgram: TCgApplyEvent;
Protected | function GetOnInitialize: TCgShaderEvent;
Protected | function GetOnUnApplyFragmentProgram: TCgUnApplyEvent;
Protected | function GetOnUnApplyVertexProgram: TCgUnApplyEvent;
Protected | function IsProfileSupported(Profile: TcgProfile): boolean;
Public | procedure LoadShaderPrograms(const VPFilename, FPFilename: string);
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoFinalize; override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure SetFragmentProgram(const val: TCgFragmentProgram);
Protected | procedure SetOnApplyFragmentProgram(const val: TCgApplyEvent);
Protected | procedure SetOnApplyVertexProgram(const val: TCgApplyEvent);
Protected | procedure SetOnInitialize(const val: TCgShaderEvent);
Protected | procedure SetOnUnApplyFragmentProgram(const val: TCgUnApplyEvent);
Protected | procedure SetOnUnApplyVertexProgram(const val: TCgUnApplyEvent);
Protected | procedure SetVertexProgram(const val: TCgVertexProgram);

Properties

Protected | property DesignEnable: boolean read FDesignEnable write FDesignEnable default False;
Protected | property FragmentProgram: TCgFragmentProgram read FFragmentProgram write SetFragmentProgram;
Protected | property OnApplyFP: TCgApplyEvent read GetOnApplyFragmentProgram write SetOnApplyFragmentProgram;
Protected | property OnApplyVP: TCgApplyEvent read GetOnApplyVertexProgram write SetOnApplyVertexProgram;
Protected | property OnInitialize: TCgShaderEvent read GetOnInitialize write SetOnInitialize;
Protected | property OnUnApplyFP: TCgUnApplyEvent read GetOnUnApplyFragmentProgram write SetOnUnApplyFragmentProgram;
Protected | property OnUnApplyVP: TCgUnApplyEvent read GetOnUnApplyVertexProgram write SetOnUnApplyVertexProgram;
Protected | property VertexProgram: TCgVertexProgram read FVertexProgram write SetVertexProgram;

Description

Fields

Private FVertexProgram: TCgVertexProgram;
Private FFragmentProgram: TCgFragmentProgram;
Private FOnInitialize: TCgShaderEvent;
Private FDesignEnable: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function ShaderSupported: boolean; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): boolean; override;
Protected function GetOnApplyFragmentProgram: TCgApplyEvent;
Protected function GetOnApplyVertexProgram: TCgApplyEvent;
Protected function GetOnInitialize: TCgShaderEvent;

OnInitialize

Protected function GetOnUnApplyFragmentProgram: TCgUnApplyEvent;
Protected function GetOnUnApplyVertexProgram: TCgUnApplyEvent;
Protected function IsProfileSupported(Profile: TcgProfile): boolean;

IsProfileSupported to be obsoleted by global function IsCgProfileSupported

Public procedure LoadShaderPrograms(const VPFilename, FPFilename: string);
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoFinalize; override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure SetFragmentProgram(const val: TCgFragmentProgram);

Fragment Program

Protected procedure SetOnApplyFragmentProgram(const val: TCgApplyEvent);
Protected procedure SetOnApplyVertexProgram(const val: TCgApplyEvent);
Protected procedure SetOnInitialize(const val: TCgShaderEvent);
Protected procedure SetOnUnApplyFragmentProgram(const val: TCgUnApplyEvent);
Protected procedure SetOnUnApplyVertexProgram(const val: TCgUnApplyEvent);
Protected procedure SetVertexProgram(const val: TCgVertexProgram);

Vertex Program

Properties

Protected property DesignEnable: boolean read FDesignEnable write FDesignEnable default False;
Protected property FragmentProgram: TCgFragmentProgram read FFragmentProgram write SetFragmentProgram;
Protected property OnApplyFP: TCgApplyEvent read GetOnApplyFragmentProgram write SetOnApplyFragmentProgram;
Protected property OnApplyVP: TCgApplyEvent read GetOnApplyVertexProgram write SetOnApplyVertexProgram;

Everything is moved here from the public and protected sections because I would like to shield end-users of descendant shader classes from all this stuff. Those who want direct access to shader events and parameters should use the TCgShader class, where everything is published.

Protected property OnInitialize: TCgShaderEvent read GetOnInitialize write SetOnInitialize;

OnInitialize can be use to set parameters that need to be set once only. See demo "Cg Texture" for example.

Protected property OnUnApplyFP: TCgUnApplyEvent read GetOnUnApplyFragmentProgram write SetOnUnApplyFragmentProgram;
Protected property OnUnApplyVP: TCgUnApplyEvent read GetOnUnApplyVertexProgram write SetOnUnApplyVertexProgram;
Protected property VertexProgram: TCgVertexProgram read FVertexProgram write SetVertexProgram;


GLSysHelp v.2.1: Cg.Shader: Class TCadencableCustomCgShader

Class TCadencableCustomCgShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCadencableCustomCgShader = class(TCustomCgShader)

Description

Allows to use a Cadencer, which is used for noise generation in many shaders.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader
  • TCadencableCustomCgShader

Overview

Fields

Private FCadencer: TGLCadencer;

Methods

Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetCadencer(const Value: TGLCadencer);

Properties

Public property Cadencer: TGLCadencer read FCadencer write SetCadencer;

Description

Fields

Private FCadencer: TGLCadencer;

Methods

Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetCadencer(const Value: TGLCadencer);

Properties

Public property Cadencer: TGLCadencer read FCadencer write SetCadencer;


GLSysHelp v.2.1: Cg.Shader: Class TCgShader

Class TCgShader

Description
Hierarchy
Fields
Methods
Properties

Unit

Cg.Shader

Declaration

type TCgShader = class(TCustomCgShader)

Description

No description available, ancestor TCustomCgShader description follows
No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TCustomCgShader
  • TCgShader

Overview

Properties

Published | property DesignEnable;
Published | property FailedInitAction;
Published | property FragmentProgram;
Published | property OnApplyFP;
Published | property OnApplyVP;
Published | property OnInitialize;
Published | property OnUnApplyFP;
Published | property OnUnApplyVP;
Published | property ShaderStyle;
Published | property VertexProgram;

Description

Properties

Published property DesignEnable;
Published property FailedInitAction;
Published property FragmentProgram;
Published property OnApplyFP;
Published property OnApplyVP;
Published property OnInitialize;
Published property OnUnApplyFP;
Published property OnUnApplyVP;
Published property ShaderStyle;
Published property VertexProgram;


GLSysHelp v.2.1: CUDA.APIComps

Unit CUDA.APIComps

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.Classes
  • System.SysUtils
  • GLS.PersistentClasses
  • GLS.BaseClasses
  • GLS.Context
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.Graphics
  • GLS.Strings
  • GLS.Utils
  • CUDA.Import
  • CUDA.RunTime
  • CUDA.Parser
  • CUDA.FourierTransform
  • CUDA.Compiler
  • CUDA.Context
  • CUDA.DataAccess

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TChannelTypeAndNum |
Class TCUDAComponent |
Class TCUDAModule |
Class TCUDAGraphicResource |
Class TCUDAMemData |
Class TCUDAUniform |
Class TCUDAConstant |
Class TCUDAFuncParam |
Class TCUDAFunction |
Class TCUDATexture |
Class TGLCUDA |

Functions and Procedures

function GetChannelTypeAndNum(AType: TCUDAType): TChannelTypeAndNum;
procedure RegisterCUDAComponentNameChangeEvent(ANotifyEvent: TNotifyEvent);
procedure DeRegisterCUDAComponentNameChangeEvent;

Types

TCuAddresMode = (...);
TCUDAChange = (...);
TCUDAChanges = set of TCUDAChange;
TCUDAChannelNum = (...);
TCUDAChannelType = (...);
TCUDAComponentClass = class of TCUDAComponent;
TCUDAMapping = (...);
TCUDAMemMapFlag = (...);
TCUDAMemMapFlags = set of TCUDAMemMapFlag;
TCUDAMemType = (...);
TCuFilterMode = (...);
TGLResourceType = (...);

Description

Functions and Procedures

function GetChannelTypeAndNum(AType: TCUDAType): TChannelTypeAndNum;
procedure RegisterCUDAComponentNameChangeEvent(ANotifyEvent: TNotifyEvent);
procedure DeRegisterCUDAComponentNameChangeEvent;

Types

TCuAddresMode = (...);
Values
  • amWrap
  • amClamp
  • amMirror
TCUDAChange = (...);
Values
  • cuchDevice
  • cuchContext
  • cuchSize
  • cuchAddresMode
  • cuchFlag
  • cuchFilterMode
  • cuchArray
  • cuchFormat
  • cuchMapping
TCUDAChanges = set of TCUDAChange;
TCUDAChannelNum = (...);
Values
  • cnOne
  • cnTwo
  • cnThree
  • cnFour
TCUDAChannelType = (...);
Values
  • ctUndefined
  • ctUInt8
  • ctUInt16
  • ctUInt32
  • ctInt8
  • ctInt16
  • ctInt32
  • ctHalfFloat
  • ctFloat
  • ctDouble
TCUDAComponentClass = class of TCUDAComponent;
TCUDAMapping = (...);
Values
  • grmDefault
  • grmReadOnly
  • grmWriteDiscard
TCUDAMemMapFlag = (...);
Values
  • mmfPortable
  • mmfFastWrite: Memory is shared between contexts
TCUDAMemMapFlags = set of TCUDAMemMapFlag;

Fast write, slow read

TCUDAMemType = (...);
Values
  • mtHost
  • mtDevice
  • mtArray
TCuFilterMode = (...);
Values
  • fmPoint
  • fmLinear
TGLResourceType = (...);
Values
  • rtTexture
  • rtBuffer


GLSysHelp v.2.1: CUDA.APIComps: Record TChannelTypeAndNum

Record TChannelTypeAndNum

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TChannelTypeAndNum = record

Description

Overview

Fields

Public | F: TCUDAChannelType;
Public | C: TCUDAChannelNum;

Description

Fields

Public F: TCUDAChannelType;
Public C: TCUDAChannelNum;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAComponent

Class TCUDAComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAComponent = class(TCUDAHandlesMaster)

Description

No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent

Overview

Fields

Private | FMaster: TCUDAComponent;
Private | FItems: TPersistentObjectList;
Protected | FStatus: TCUresult;
Protected | FChanges: TCUDAChanges;

Methods

Public | destructor Destroy; override;
Public | function GetItemByName(const name: string): TCUDAComponent;
Public | function GetParentComponent: TComponent; override;
Public | function HasParent: Boolean; override;
Public | function MakeUniqueName(const BaseName: string): string;
Protected | function GetContext: TCUDAContext; override;
Protected | function GetIsAllocated: Boolean; virtual; abstract;
Private | function GetItem(const i: Integer): TCUDAComponent;
Private | function GetItemsCount: Integer;
Public | procedure CuNotifyChange(AChange: TCUDAChange); virtual;
Public | procedure SetParentComponent(Value: TComponent); override;
Protected | procedure AddItem(AItem: TCUDAComponent);
Protected | procedure CollectStatus(AStatus: TCUresult);
Protected | procedure DeleteItems;
Protected | procedure GetChildren(AProc: TGetChildProc; Root: TComponent); override;
Protected | procedure RemoveItem(AItem: TCUDAComponent);
Protected | procedure SetName(const NewName: TComponentName); override;
Private | procedure SetMaster(AMaster: TCUDAComponent);

Properties

Public | property Context: TCUDAContext read GetContext;
Public | property IsAllocated: Boolean read GetIsAllocated;
Public | property Items[consti:Integer]: TCUDAComponent read GetItem;
Public | property ItemsCount: Integer read GetItemsCount;
Public | property Master: TCUDAComponent read FMaster write SetMaster;
Public | property Status: TCUresult read FStatus;

Description

Fields

Private FMaster: TCUDAComponent;
Private FItems: TPersistentObjectList;
Protected FStatus: TCUresult;
Protected FChanges: TCUDAChanges;

Methods

Public destructor Destroy; override;
Public function GetItemByName(const name: string): TCUDAComponent;
Public function GetParentComponent: TComponent; override;
Public function HasParent: Boolean; override;
Public function MakeUniqueName(const BaseName: string): string;
Protected function GetContext: TCUDAContext; override;
Protected function GetIsAllocated: Boolean; virtual; abstract;
Private function GetItem(const i: Integer): TCUDAComponent;
Private function GetItemsCount: Integer;
Public procedure CuNotifyChange(AChange: TCUDAChange); virtual;
Public procedure SetParentComponent(Value: TComponent); override;
Protected procedure AddItem(AItem: TCUDAComponent);
Protected procedure CollectStatus(AStatus: TCUresult);
Protected procedure DeleteItems;
Protected procedure GetChildren(AProc: TGetChildProc; Root: TComponent); override;
Protected procedure RemoveItem(AItem: TCUDAComponent);
Protected procedure SetName(const NewName: TComponentName); override;
Private procedure SetMaster(AMaster: TCUDAComponent);

Properties

Public property Context: TCUDAContext read GetContext;
Public property IsAllocated: Boolean read GetIsAllocated;

Return true if handle is allocated (i.e. component has device object)

Public property Items[consti:Integer]: TCUDAComponent read GetItem;
Public property ItemsCount: Integer read GetItemsCount;
Public property Master: TCUDAComponent read FMaster write SetMaster;
Public property Status: TCUresult read FStatus;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAModule

Class TCUDAModule

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAModule = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAModule

Overview

Fields

Private | FHandle: PCUmodule;
Private | FCode: TStringList;
Private | FCodeType: TGLCUDACompilerOutput;
Private | FCompiler: TGLCUDACompiler;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetContext: TCUDAContext; override;
Protected | function GetIsAllocated: Boolean; override;
Private | function GetKernelConstant(const AName: string): TCUDAConstant;
Private | function GetKernelFunction(const AName: string): TCUDAFunction;
Private | function GetKernelTexture(const AName: string): TCUDATexture;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadAndCompile;
Public | procedure LoadFromFile(const AFilename: string);
Public | procedure LoadFromSource;
Public | procedure Unload;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;
Protected | procedure Loaded; override;
Protected | procedure OnChangeCode(Sender: TObject);
Private | procedure SetCode(const Value: TStringList);
Private | procedure SetCompiler(const Value: TGLCUDACompiler);

Properties

Published | property Code: TStringList read FCode write SetCode;
Public | property CodeType: TGLCUDACompilerOutput read FCodeType;
Published | property Compiler: TGLCUDACompiler read FCompiler write SetCompiler;
Public | property Context: TCUDAContext read GetContext;
Public | property KernelConstant[constAName:string]: TCUDAConstant read GetKernelConstant;
Public | property KernelFunction[constAName:string]: TCUDAFunction read GetKernelFunction;
Public | property KernelTexture[constAName:string]: TCUDATexture read GetKernelTexture;

Description

Fields

Private FHandle: PCUmodule;
Private FCode: TStringList;
Private FCodeType: TGLCUDACompilerOutput;
Private FCompiler: TGLCUDACompiler;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetContext: TCUDAContext; override;
Protected function GetIsAllocated: Boolean; override;
Private function GetKernelConstant(const AName: string): TCUDAConstant;
Private function GetKernelFunction(const AName: string): TCUDAFunction;
Private function GetKernelTexture(const AName: string): TCUDATexture;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadAndCompile;
Public procedure LoadFromFile(const AFilename: string);
Public procedure LoadFromSource;
Public procedure Unload;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;
Protected procedure Loaded; override;
Protected procedure OnChangeCode(Sender: TObject);
Private procedure SetCode(const Value: TStringList);
Private procedure SetCompiler(const Value: TGLCUDACompiler);

Properties

Published property Code: TStringList read FCode write SetCode;
Public property CodeType: TGLCUDACompilerOutput read FCodeType;
Published property Compiler: TGLCUDACompiler read FCompiler write SetCompiler;
Public property Context: TCUDAContext read GetContext;
Public property KernelConstant[constAName:string]: TCUDAConstant read GetKernelConstant;
Public property KernelFunction[constAName:string]: TCUDAFunction read GetKernelFunction;
Public property KernelTexture[constAName:string]: TCUDATexture read GetKernelTexture;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAGraphicResource

Class TCUDAGraphicResource

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAGraphicResource = class(TCUDAComponent)

Description

Abstract class of graphic resources.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAGraphicResource

Overview

Fields

Protected | FHandle: array [0 .. 7] of PCUgraphicsResource;
Protected | FMapping: TCUDAMapping;
Protected | FResourceType: TGLResourceType;
Protected | FGLContextHandle: TGLVirtualHandle;
Protected | FMapCounter: Integer;

Methods

Protected | function GetAttributeArrayAddress(const Attr: string): Pointer; virtual; abstract;
Protected | function GetAttributeArraySize(const Attr: string): LongWord; virtual; abstract;
Protected | function GetElementArrayAddress: Pointer; virtual; abstract;
Protected | function GetElementArrayDataSize: LongWord; virtual; abstract;
Protected | function GetIsAllocated: Boolean; override;
Public | procedure MapResources; virtual; abstract;
Public | procedure UnMapResources; virtual; abstract;
Protected | procedure BindArrayToTexture(var cudaArray: TCUDAMemData; ALeyer, ALevel: LongWord); virtual; abstract;
Protected | procedure OnGLHandleAllocate(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected | procedure OnGLHandleDestroy(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected | procedure SetArray(var AArray: TCUDAMemData; AHandle: PCUarray; ForGLTexture, Volume: Boolean);
Protected | procedure SetMapping(const Value: TCUDAMapping); virtual;

Properties

Protected property Mapping: TCUDAMapping read FMapping write SetMapping default grmDefault;

Description

Fields

Protected FHandle: array [0 .. 7] of PCUgraphicsResource;
Protected FMapping: TCUDAMapping;
Protected FResourceType: TGLResourceType;
Protected FGLContextHandle: TGLVirtualHandle;
Protected FMapCounter: Integer;

Methods

Protected function GetAttributeArrayAddress(const Attr: string): Pointer; virtual; abstract;
Protected function GetAttributeArraySize(const Attr: string): LongWord; virtual; abstract;
Protected function GetElementArrayAddress: Pointer; virtual; abstract;
Protected function GetElementArrayDataSize: LongWord; virtual; abstract;
Protected function GetIsAllocated: Boolean; override;
Public procedure MapResources; virtual; abstract;
Public procedure UnMapResources; virtual; abstract;
Protected procedure BindArrayToTexture(var cudaArray: TCUDAMemData; ALeyer, ALevel: LongWord); virtual; abstract;
Protected procedure OnGLHandleAllocate(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected procedure OnGLHandleDestroy(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected procedure SetArray(var AArray: TCUDAMemData; AHandle: PCUarray; ForGLTexture, Volume: Boolean);
Protected procedure SetMapping(const Value: TCUDAMapping); virtual;

Properties

Protected property Mapping: TCUDAMapping read FMapping write SetMapping default grmDefault;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAMemData

Class TCUDAMemData

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAMemData = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAMemData

Overview

Fields

Private | FData: TCUdeviceptr;
Private | FMappedMemory: TCUdeviceptr;
Private | FHandle: PCUarray;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FDepth: Integer;
Private | FPitch: Cardinal;
Private | FElementSize: Integer;
Private | FDataSize: Integer;
Private | FChannelsType: TCUDAChannelType;
Private | fChannelsNum: TCUDAChannelNum;
Private | FMemoryType: TCUDAMemType;
Private | FTexture: TCUDATexture;
Private | FOpenGLRefArray: Boolean;
Private | FMapping: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Data<EType>(X, Y: Integer): GCUDAHostElementAccess<EType>; overload;
Public | function Data<EType>(X, Y, Z: Integer): GCUDAHostElementAccess<EType>; overload;
Public | function Data<EType>(X: Integer): GCUDAHostElementAccess<EType>; overload;
Protected | function GetIsAllocated: Boolean; override;
Private | function GetArrayHandle: PCUarray;
Private | function GetData: TCUdeviceptr;
Public | procedure CopyFrom(const ASrcMemData: TCUDAMemData); overload;
Public | procedure CopyFrom(const AGLImage: TGLBitmap32); overload;
Public | procedure CopyFrom(const AGLGraphic: TCUDAGraphicResource; aAttr: string = ''); overload;
Public | procedure CopyTo(const ADstMemData: TCUDAMemData); overload;
Public | procedure CopyTo(const AGLImage: TGLImage); overload;
Public | procedure CopyTo(const AGLGraphic: TCUDAGraphicResource; aAttr: string = ''); overload;
Public | procedure CuNotifyChange(AChange: TCUDAChange); override;
Public | procedure FillMem(const Value);
Public | procedure Map(const AFlags: TCUDAMemMapFlags = []);
Public | procedure SubCopyTo(const ADstMemData: TCUDAMemData; ASrcXYZ, ADstXYZ, ASizes: IntElement.TVector3);
Public | procedure UnMap;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;
Private | procedure SetChannelNum(const Value: TCUDAChannelNum);
Private | procedure SetChannelType(const Value: TCUDAChannelType);
Private | procedure SetDepth(const Value: Integer);
Private | procedure SetHeight(const Value: Integer);
Private | procedure SetMemoryType(const AType: TCUDAMemType);
Private | procedure SetWidth(const Value: Integer);

Properties

Public | property ArrayHandle: PCUarray read GetArrayHandle;
Published | property ChannelsNum: TCUDAChannelNum read fChannelsNum write SetChannelNum default cnOne;
Published | property ChannelsType: TCUDAChannelType read fChannelsType write SetChannelType default ctInt8;
Public | property DataSize: Integer read FDataSize;
Published | property Depth: Integer read fDepth write SetDepth default 0;
Public | property ElementSize: Integer read FElementSize;
Published | property Height: Integer read fHeight write SetHeight default 0;
Public | property MappedMemoryAddress: TCUdeviceptr read FMappedMemory;
Published | property MemoryType: TCUDAMemType read FMemoryType write SetMemoryType default mtHost;
Public | property Pitch: Cardinal read fPitch;
Public | property RawData: TCUdeviceptr read GetData;
Published | property Width: Integer read fWidth write SetWidth default 256;

Description

Fields

Private FData: TCUdeviceptr;
Private FMappedMemory: TCUdeviceptr;
Private FHandle: PCUarray;
Private FWidth: Integer;
Private FHeight: Integer;
Private FDepth: Integer;
Private FPitch: Cardinal;
Private FElementSize: Integer;
Private FDataSize: Integer;
Private FChannelsType: TCUDAChannelType;
Private fChannelsNum: TCUDAChannelNum;
Private FMemoryType: TCUDAMemType;
Private FTexture: TCUDATexture;
Private FOpenGLRefArray: Boolean;
Private FMapping: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Data<EType>(X, Y: Integer): GCUDAHostElementAccess<EType>; overload;
Public function Data<EType>(X, Y, Z: Integer): GCUDAHostElementAccess<EType>; overload;
Public function Data<EType>(X: Integer): GCUDAHostElementAccess<EType>; overload;
Protected function GetIsAllocated: Boolean; override;
Private function GetArrayHandle: PCUarray;
Private function GetData: TCUdeviceptr;
Public procedure CopyFrom(const ASrcMemData: TCUDAMemData); overload;
Public procedure CopyFrom(const AGLImage: TGLBitmap32); overload;
Public procedure CopyFrom(const AGLGraphic: TCUDAGraphicResource; aAttr: string = ''); overload;
Public procedure CopyTo(const ADstMemData: TCUDAMemData); overload;
Public procedure CopyTo(const AGLImage: TGLImage); overload;
Public procedure CopyTo(const AGLGraphic: TCUDAGraphicResource; aAttr: string = ''); overload;

Copy data to Graphic resource.

Public procedure CuNotifyChange(AChange: TCUDAChange); override;
Public procedure FillMem(const Value);

Fill device data

Public procedure Map(const AFlags: TCUDAMemMapFlags = []);

Map device and array memory to host or host memory to device. Mapping is necessary for modifying device data. When mapped host memory - it can be accessed in device side via MappedHostAddress.

Public procedure SubCopyTo(const ADstMemData: TCUDAMemData; ASrcXYZ, ADstXYZ, ASizes: IntElement.TVector3);
Public procedure UnMap;

Done mapping operation.

Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;
Private procedure SetChannelNum(const Value: TCUDAChannelNum);
Private procedure SetChannelType(const Value: TCUDAChannelType);
Private procedure SetDepth(const Value: Integer);
Private procedure SetHeight(const Value: Integer);
Private procedure SetMemoryType(const AType: TCUDAMemType);
Private procedure SetWidth(const Value: Integer);

Properties

Public property ArrayHandle: PCUarray read GetArrayHandle;
Published property ChannelsNum: TCUDAChannelNum read fChannelsNum write SetChannelNum default cnOne;
Published property ChannelsType: TCUDAChannelType read fChannelsType write SetChannelType default ctInt8;
Public property DataSize: Integer read FDataSize;
Published property Depth: Integer read fDepth write SetDepth default 0;
Public property ElementSize: Integer read FElementSize;
Published property Height: Integer read fHeight write SetHeight default 0;
Public property MappedMemoryAddress: TCUdeviceptr read FMappedMemory;
Published property MemoryType: TCUDAMemType read FMemoryType write SetMemoryType default mtHost;
Public property Pitch: Cardinal read fPitch;
Public property RawData: TCUdeviceptr read GetData;
Published property Width: Integer read fWidth write SetWidth default 256;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAUniform

Class TCUDAUniform

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAUniform = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAUniform

Overview

Fields

Protected | FHandle: TCUdeviceptr;
Protected | FSize: Cardinal;
Protected | FKernelName: string;
Protected | FType: TCUDAType;
Protected | FCustomType: string;
Protected | FRef: Boolean;
Protected | FDefined: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetIsAllocated: Boolean; override;
Protected | procedure SetCustomType(const AValue: string);
Protected | procedure SetDefined(AValue: Boolean);
Protected | procedure SetKernelName(const AName: string);
Protected | procedure SetRef(AValue: Boolean);
Protected | procedure SetSize(const AValue: Cardinal);
Protected | procedure SetType(AValue: TCUDAType);

Properties

Protected | property CustomType: string read FCustomType write SetCustomType;
Protected | property DataType: TCUDAType read FType write SetType;
Public | property IsValueDefined: Boolean read FDefined write SetDefined;
Protected | property KernelName: string read FKernelName write SetKernelName;
Protected | property Reference: Boolean read FRef write SetRef;
Protected | property Size: Cardinal read FSize write SetSize;

Description

Fields

Protected FHandle: TCUdeviceptr;
Protected FSize: Cardinal;
Protected FKernelName: string;
Protected FType: TCUDAType;
Protected FCustomType: string;
Protected FRef: Boolean;
Protected FDefined: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetIsAllocated: Boolean; override;
Protected procedure SetCustomType(const AValue: string);
Protected procedure SetDefined(AValue: Boolean);
Protected procedure SetKernelName(const AName: string);
Protected procedure SetRef(AValue: Boolean);
Protected procedure SetSize(const AValue: Cardinal);
Protected procedure SetType(AValue: TCUDAType);

Properties

Protected property CustomType: string read FCustomType write SetCustomType;
Protected property DataType: TCUDAType read FType write SetType;
Public property IsValueDefined: Boolean read FDefined write SetDefined;
Protected property KernelName: string read FKernelName write SetKernelName;
Protected property Reference: Boolean read FRef write SetRef;
Protected property Size: Cardinal read FSize write SetSize;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAConstant

Class TCUDAConstant

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAConstant = class(TCUDAUniform)

Description

No description available, ancestor TCUDAUniform description follows
No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAUniform
  • TCUDAConstant

Overview

Methods

Protected | function GetDeviceAddress: TCUdeviceptr;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;

Properties

Published | property CustomType;
Published | property DataType;
Public | property DeviceAddress: TCUdeviceptr read GetDeviceAddress;
Published | property KernelName;
Published | property Reference;
Published | property Size;

Description

Methods

Protected function GetDeviceAddress: TCUdeviceptr;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;

Properties

Published property CustomType;
Published property DataType;
Public property DeviceAddress: TCUdeviceptr read GetDeviceAddress;
Published property KernelName;
Published property Reference;
Published property Size;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAFuncParam

Class TCUDAFuncParam

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAFuncParam = class(TCUDAUniform)

Description

No description available, ancestor TCUDAUniform description follows
No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAUniform
  • TCUDAFuncParam

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;

Properties

Published | property CustomType;
Published | property DataType;
Published | property KernelName;
Published | property Reference;
Published | property Size;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;

Properties

Published property CustomType;
Published property DataType;
Published property KernelName;
Published property Reference;
Published property Size;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDAFunction

Class TCUDAFunction

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDAFunction = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAFunction

Overview

Fields

Private | FKernelName: string;
Private | FHandle: PCUfunction;
Private | FAutoSync: Boolean;
Private | FBlockShape: TCUDADimensions;
Private | FGrid: TCUDADimensions;
Private | ParamOffset: Integer;
Private | FLaunching: Boolean;
Private | FOnParameterSetup: TNotifyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetIsAllocated: Boolean; override;
Private | function GetConstMemorySize: Integer;
Private | function GetHandle: PCUfunction;
Private | function GetLocalMemorySize: Integer;
Private | function GetMaxThreadPerBlock: Integer;
Private | function GetNumRegisters: Integer;
Private | function GetParameter(const AName: string): TCUDAFuncParam;
Private | function GetSharedMemorySize: Integer;
Public | procedure Launch(Grided: Boolean = true);
Public | procedure SetParam(Value: TVector2i); overload;
Public | procedure SetParam(Value: Single); overload;
Public | procedure SetParam(Value: TVector3f); overload;
Public | procedure SetParam(Value: TVector2f); overload;
Public | procedure SetParam(Value: TVector4i); overload;
Public | procedure SetParam(Value: TVector3i); overload;
Public | procedure SetParam(Value: Cardinal); overload;
Public | procedure SetParam(TexRef: TCUDATexture); overload;
Public | procedure SetParam(Ptr: Pointer); overload;
Public | procedure SetParam(Value: TVector4f); overload;
Public | procedure SetParam(Value: Integer); overload;
Public | procedure SetParam(MemData: TCUDAMemData); overload;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;
Private | procedure SetBlockShape(const AShape: TCUDADimensions);
Private | procedure SetGrid(const AGrid: TCUDADimensions);
Private | procedure SetKernelName(const AName: string);
Private | procedure SetSharedMemorySize(Value: Integer);

Properties

Published | property AutoSync: Boolean read FAutoSync write FAutoSync default true;
Published | property BlockShape: TCUDADimensions read FBlockShape write SetBlockShape;
Public | property ConstMemorySize: Integer read GetConstMemorySize;
Published | property Grid: TCUDADimensions read FGrid write SetGrid;
Public | property Handle: PCUfunction read GetHandle;
Published | property KernelName: string read FKernelName write SetKernelName;
Public | property LocalMemorySize: Integer read GetLocalMemorySize;
Public | property MaxThreadPerBlock: Integer read GetMaxThreadPerBlock;
Public | property NumRegisters: Integer read GetNumRegisters;
Published | property OnParameterSetup: TNotifyEvent read FOnParameterSetup write FOnParameterSetup;
Public | property Parameters[constAName:string]: TCUDAFuncParam read GetParameter;
Public | property SharedMemorySize: Integer read GetSharedMemorySize write SetSharedMemorySize;

Description

Fields

Private FKernelName: string;
Private FHandle: PCUfunction;
Private FAutoSync: Boolean;
Private FBlockShape: TCUDADimensions;
Private FGrid: TCUDADimensions;
Private ParamOffset: Integer;
Private FLaunching: Boolean;
Private FOnParameterSetup: TNotifyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetIsAllocated: Boolean; override;
Private function GetConstMemorySize: Integer;
Private function GetHandle: PCUfunction;
Private function GetLocalMemorySize: Integer;
Private function GetMaxThreadPerBlock: Integer;
Private function GetNumRegisters: Integer;
Private function GetParameter(const AName: string): TCUDAFuncParam;
Private function GetSharedMemorySize: Integer;
Public procedure Launch(Grided: Boolean = true);
Public procedure SetParam(Value: TVector2i); overload;
Public procedure SetParam(Value: Single); overload;
Public procedure SetParam(Value: TVector3f); overload;
Public procedure SetParam(Value: TVector2f); overload;
Public procedure SetParam(Value: TVector4i); overload;
Public procedure SetParam(Value: TVector3i); overload;
Public procedure SetParam(Value: Cardinal); overload;
Public procedure SetParam(TexRef: TCUDATexture); overload;
Public procedure SetParam(Ptr: Pointer); overload;
Public procedure SetParam(Value: TVector4f); overload;
Public procedure SetParam(Value: Integer); overload;
Public procedure SetParam(MemData: TCUDAMemData); overload;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;
Private procedure SetBlockShape(const AShape: TCUDADimensions);
Private procedure SetGrid(const AGrid: TCUDADimensions);
Private procedure SetKernelName(const AName: string);
Private procedure SetSharedMemorySize(Value: Integer);

Properties

Published property AutoSync: Boolean read FAutoSync write FAutoSync default true;
Published property BlockShape: TCUDADimensions read FBlockShape write SetBlockShape;
Public property ConstMemorySize: Integer read GetConstMemorySize;
Published property Grid: TCUDADimensions read FGrid write SetGrid;
Public property Handle: PCUfunction read GetHandle;
Published property KernelName: string read FKernelName write SetKernelName;
Public property LocalMemorySize: Integer read GetLocalMemorySize;
Public property MaxThreadPerBlock: Integer read GetMaxThreadPerBlock;
Public property NumRegisters: Integer read GetNumRegisters;
Published property OnParameterSetup: TNotifyEvent read FOnParameterSetup write FOnParameterSetup;
Public property Parameters[constAName:string]: TCUDAFuncParam read GetParameter;
Public property SharedMemorySize: Integer read GetSharedMemorySize write SetSharedMemorySize;


GLSysHelp v.2.1: CUDA.APIComps: Class TCUDATexture

Class TCUDATexture

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TCUDATexture = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDATexture

Overview

Fields

Private | FKernelName: string;
Private | FHandle: PCUtexref;
Private | fArray: TCUDAMemData;
Private | fAddressModeS: TCuAddresMode;
Private | fAddressModeT: TCuAddresMode;
Private | fAddressModeR: TCuAddresMode;
Private | fNormalizedCoord: Boolean;
Private | fReadAsInteger: Boolean;
Private | fFilterMode: TCuFilterMode;
Private | fFormat: TCUDAChannelType;
Private | fChannelNum: TCUDAChannelNum;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetIsAllocated: Boolean; override;
Private | function GetHandle: PCUtexref;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;
Private | procedure SetAddressModeR(const AMode: TCuAddresMode);
Private | procedure SetAddressModeS(const AMode: TCuAddresMode);
Private | procedure SetAddressModeT(const AMode: TCuAddresMode);
Private | procedure SetArray(Value: TCUDAMemData);
Private | procedure SetChannelNum(AValue: TCUDAChannelNum);
Private | procedure SetFilterMode(const mode: TCuFilterMode);
Private | procedure SetFormat(AValue: TCUDAChannelType);
Private | procedure SetKernelName(const AName: string);
Private | procedure SetNormalizedCoord(const flag: Boolean);
Private | procedure SetReadAsInteger(const flag: Boolean);

Properties

Published | property AddressModeR: TCuAddresMode read fAddressModeR write SetAddressModeR default amClamp;
Published | property AddressModeS: TCuAddresMode read fAddressModeS write SetAddressModeS default amClamp;
Published | property AddressModeT: TCuAddresMode read fAddressModeT write SetAddressModeT default amClamp;
Published | property ChannelNum: TCUDAChannelNum read fChannelNum write SetChannelNum;
Published | property FilterMode: TCuFilterMode read fFilterMode write SetFilterMode default fmPoint;
Published | property Format: TCUDAChannelType read fFormat write SetFormat;
Public | property Handle: PCUtexref read GetHandle;
Published | property KernelName: string read FKernelName write SetKernelName;
Published | property MemDataArray: TCUDAMemData read fArray write SetArray;
Published | property NormalizedCoord: Boolean read fNormalizedCoord write SetNormalizedCoord default true;
Published | property ReadAsInteger: Boolean read fReadAsInteger write SetReadAsInteger default false;

Description

Fields

Private FKernelName: string;
Private FHandle: PCUtexref;
Private fArray: TCUDAMemData;
Private fAddressModeS: TCuAddresMode;
Private fAddressModeT: TCuAddresMode;
Private fAddressModeR: TCuAddresMode;
Private fNormalizedCoord: Boolean;
Private fReadAsInteger: Boolean;
Private fFilterMode: TCuFilterMode;
Private fFormat: TCUDAChannelType;
Private fChannelNum: TCUDAChannelNum;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetIsAllocated: Boolean; override;
Private function GetHandle: PCUtexref;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;
Private procedure SetAddressModeR(const AMode: TCuAddresMode);
Private procedure SetAddressModeS(const AMode: TCuAddresMode);
Private procedure SetAddressModeT(const AMode: TCuAddresMode);
Private procedure SetArray(Value: TCUDAMemData);
Private procedure SetChannelNum(AValue: TCUDAChannelNum);
Private procedure SetFilterMode(const mode: TCuFilterMode);
Private procedure SetFormat(AValue: TCUDAChannelType);
Private procedure SetKernelName(const AName: string);
Private procedure SetNormalizedCoord(const flag: Boolean);
Private procedure SetReadAsInteger(const flag: Boolean);

Properties

Published property AddressModeR: TCuAddresMode read fAddressModeR write SetAddressModeR default amClamp;
Published property AddressModeS: TCuAddresMode read fAddressModeS write SetAddressModeS default amClamp;
Published property AddressModeT: TCuAddresMode read fAddressModeT write SetAddressModeT default amClamp;
Published property ChannelNum: TCUDAChannelNum read fChannelNum write SetChannelNum;
Published property FilterMode: TCuFilterMode read fFilterMode write SetFilterMode default fmPoint;
Published property Format: TCUDAChannelType read fFormat write SetFormat;
Public property Handle: PCUtexref read GetHandle;
Published property KernelName: string read FKernelName write SetKernelName;
Published property MemDataArray: TCUDAMemData read fArray write SetArray;
Published property NormalizedCoord: Boolean read fNormalizedCoord write SetNormalizedCoord default true;
Published property ReadAsInteger: Boolean read fReadAsInteger write SetReadAsInteger default false;


GLSysHelp v.2.1: CUDA.APIComps: Class TGLCUDA

Class TGLCUDA

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.APIComps

Declaration

type TGLCUDA = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TGLCUDA

Overview

Fields

Private | fDevice: TGLCUDADevice;
Private | fContext: TCUDAContext;
Private | FOnOpenGLInteropInit: TOnOpenGLInteropInit;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetContext: TCUDAContext; override;
Protected | function GetIsAllocated: Boolean; override;
Private | function GetModule(const i: Integer): TCUDAModule;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetDevice(const Value: TGLCUDADevice);
Private | procedure SetOnOpenGLInteropInit(AEvent: TOnOpenGLInteropInit);

Properties

Published | property ComputingDevice: TGLCUDADevice read fDevice write SetDevice;
Public | property Context: TCUDAContext read GetContext;
Public | property Modules[consti:Integer]: TCUDAModule read GetModule;
Published | property OnOpenGLInteropInit: TOnOpenGLInteropInit read FOnOpenGLInteropInit write SetOnOpenGLInteropInit;

Description

Fields

Private fDevice: TGLCUDADevice;
Private fContext: TCUDAContext;
Private FOnOpenGLInteropInit: TOnOpenGLInteropInit;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetContext: TCUDAContext; override;
Protected function GetIsAllocated: Boolean; override;
Private function GetModule(const i: Integer): TCUDAModule;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetDevice(const Value: TGLCUDADevice);
Private procedure SetOnOpenGLInteropInit(AEvent: TOnOpenGLInteropInit);

Properties

Published property ComputingDevice: TGLCUDADevice read fDevice write SetDevice;
Public property Context: TCUDAContext read GetContext;
Public property Modules[consti:Integer]: TCUDAModule read GetModule;
Published property OnOpenGLInteropInit: TOnOpenGLInteropInit read FOnOpenGLInteropInit write SetOnOpenGLInteropInit;


GLSysHelp v.2.1: CUDA.Compiler

Unit CUDA.Compiler

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.ShellAPI
  • Winapi.TlHelp32
  • System.UITypes
  • System.SysUtils
  • System.Classes
  • Vcl.Forms
  • VCL.Dialogs
  • CUDA.Parser
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCUDACompiler |

Types

TFindCuFileFunc = function(var AModuleName: string): Boolean;
TGLCUDACompilerOutput = (...);
TGLCUDARealArch = (...);
TGLCUDARealArchs = set of TGLCUDARealArch;
TGLCUDAVirtArch = (...);

Variables

vFindCuFileFunc: TFindCuFileFunc;

Description

Types

TFindCuFileFunc = function(var AModuleName: string): Boolean;
TGLCUDACompilerOutput = (...);
Values
  • codeUndefined
  • codePtx
  • codeCubin
  • codeGpu
TGLCUDARealArch = (...);

sm_10 ISA_1 Basic features sm_11 + atomic memory operations on global memory sm_12 + atomic memory operations on shared memory + vote instructions sm_13 + double precision floating point support sm_20 + FERMI support. sm_21 + Unknown

Values
  • sm_10
  • sm_11
  • sm_12
  • sm_13
  • sm_20
  • sm_21
TGLCUDARealArchs = set of TGLCUDARealArch;
TGLCUDAVirtArch = (...);

compute_10 Basic features compute_11 + atomic memory operations on global memory compute_12 + atomic memory operations on shared memory + vote instructions compute_13 + double precision floating point support Compute_20 + FERMI support

Values
  • compute_10
  • compute_11
  • compute_12
  • compute_13
  • compute_20

Variables

vFindCuFileFunc: TFindCuFileFunc;


GLSysHelp v.2.1: CUDA.Compiler: Class TGLCUDACompiler

Class TGLCUDACompiler

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Compiler

Declaration

type TGLCUDACompiler = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCUDACompiler

Overview

Fields

Private | FNVCCPath: string;
Private | FCppCompilerPath: string;
Private | FProduct: TStringList;
Private | FProjectModule: string;
Private | FSourceCodeFile: string;
Private | FConsoleContent: string;
Private | FOutputCodeType: TGLCUDACompilerOutput;
Private | FVirtualArch: TGLCUDAVirtArch;
Private | FRealArch: TGLCUDARealArchs;
Private | FMaxRegisterCount: Integer;
Private | FModuleInfo: TCUDAModuleInfo;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Compile: Boolean;
Private | function StoreProjectModule: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure SetSourceCodeFile(const AFileName: string);
Protected | procedure Loaded; override;
Private | procedure SetCppCompilerPath(const AValue: string);
Private | procedure SetMaxRegisterCount(Value: Integer);
Private | procedure SetNVCCPath(const AValue: string);
Private | procedure SetOutputCodeType(const Value: TGLCUDACompilerOutput);
Private | procedure SetRealArch(AValue: TGLCUDARealArchs);

Properties

Public | property ConsoleContent: string read FConsoleContent;
Published | property CppCompilerPath: string read FCppCompilerPath write SetCppCompilerPath;
Published | property MaxRegisterCount: Integer read FMaxRegisterCount write SetMaxRegisterCount default 32;
Public | property ModuleInfo: TCUDAModuleInfo read FModuleInfo;
Published | property NVCCPath: string read FNVCCPath write SetNVCCPath;
Published | property OutputCodeType: TGLCUDACompilerOutput read FOutputCodeType write setOutputCodeType default codePtx;
Public | property Product: TStringList read FProduct write FProduct;
Published | property ProjectModule: string read FProjectModule write FProjectModule stored StoreProjectModule;
Published | property RealArchitecture: TGLCUDARealArchs read FRealArch write SetRealArch default [sm_13];
Published | property SourceCodeFile: string read FSourceCodeFile;
Published | property VirtualArchitecture: TGLCUDAVirtArch read FVirtualArch write FVirtualArch default compute_13;

Description

Fields

Private FNVCCPath: string;
Private FCppCompilerPath: string;
Private FProduct: TStringList;
Private FProjectModule: string;
Private FSourceCodeFile: string;
Private FConsoleContent: string;
Private FOutputCodeType: TGLCUDACompilerOutput;
Private FVirtualArch: TGLCUDAVirtArch;
Private FRealArch: TGLCUDARealArchs;
Private FMaxRegisterCount: Integer;
Private FModuleInfo: TCUDAModuleInfo;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Compile: Boolean;
Private function StoreProjectModule: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure SetSourceCodeFile(const AFileName: string);
Protected procedure Loaded; override;
Private procedure SetCppCompilerPath(const AValue: string);
Private procedure SetMaxRegisterCount(Value: Integer);
Private procedure SetNVCCPath(const AValue: string);
Private procedure SetOutputCodeType(const Value: TGLCUDACompilerOutput);
Private procedure SetRealArch(AValue: TGLCUDARealArchs);

Properties

Public property ConsoleContent: string read FConsoleContent;
Published property CppCompilerPath: string read FCppCompilerPath write SetCppCompilerPath;

Microsoft Visual Studio Compiler. Pascal compiler is still not done.

Published property MaxRegisterCount: Integer read FMaxRegisterCount write SetMaxRegisterCount default 32;

Maximum registers that kernel can use.

Public property ModuleInfo: TCUDAModuleInfo read FModuleInfo;
Published property NVCCPath: string read FNVCCPath write SetNVCCPath;

NVidia CUDA Compiler.

Published property OutputCodeType: TGLCUDACompilerOutput read FOutputCodeType write setOutputCodeType default codePtx;

Output code type for module kernel - Ptx - Parallel Thread Execution - Cubin - CUDA Binary

Public property Product: TStringList read FProduct write FProduct;

Product of compilation.

Published property ProjectModule: string read FProjectModule write FProjectModule stored StoreProjectModule;

Disign-time only property. Make choose of one of the Project module as CUDA kernel source

Published property RealArchitecture: TGLCUDARealArchs read FRealArch write SetRealArch default [sm_13];

In the CUDA naming scheme, GPUs are named sm_xy, where x denotes the GPU generation number, and y the version in that generation.

Published property SourceCodeFile: string read FSourceCodeFile;

Full file name of source code file.

Published property VirtualArchitecture: TGLCUDAVirtArch read FVirtualArch write FVirtualArch default compute_13;

Virtual architecture.


GLSysHelp v.2.1: CUDA.Context

Unit CUDA.Context

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Strings
  • GLS.BaseClasses
  • GLS.Context
  • GLS.Generics
  • CUDA.Import
  • CUDA.RunTime

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TCUDADimensions |
Class TCUDADevice |
Class TGLCUDADevice |
Class TCUDAHandlesMaster |
Class TCUDAContext |
Class CUDAContextManager |

Types

TCUDAContextList = GList<TCUDAContext>;
TCUDADeviceList = GList<TCUDADevice>;
TCUDAHandleList = GThreadList<TCUDAHandlesMaster>;
TOnOpenGLInteropInit = procedure(out Context: TGLContext) of object;

Description

Types

TCUDAContextList = GList<TCUDAContext>;
TCUDADeviceList = GList<TCUDADevice>;
TCUDAHandleList = GThreadList<TCUDAHandlesMaster>;
TOnOpenGLInteropInit = procedure(out Context: TGLContext) of object;


GLSysHelp v.2.1: CUDA.Context: Class TCUDADimensions

Class TCUDADimensions

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Context

Declaration

type TCUDADimensions = class(TGLUpdateAbleObject)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TCUDADimensions

Overview

Fields

Private | FXYZ: TDim3;
Private | FMaxXYZ: TDim3;
Private | FReadOnly: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Private | function GetDimComponent(index: Integer): Integer;
Private | function GetMaxDimComponent(index: Integer): Integer;
Public | procedure Assign(Source: TPersistent); override;
Private | procedure SetDimComponent(index: Integer; Value: Integer);
Private | procedure SetMaxDimComponent(index: Integer; Value: Integer);

Properties

Public | property MaxSizeX: Integer index 0 read GetMaxDimComponent write SetMaxDimComponent;
Public | property MaxSizeY: Integer index 1 read GetMaxDimComponent write SetMaxDimComponent;
Public | property MaxSizeZ: Integer index 2 read GetMaxDimComponent write SetMaxDimComponent;
Public | property ReadOnlyValue: Boolean read FReadOnly write FReadOnly;
Published | property SizeX: Integer index 0 read GetDimComponent write SetDimComponent default 1;
Published | property SizeY: Integer index 1 read GetDimComponent write SetDimComponent default 1;
Published | property SizeZ: Integer index 2 read GetDimComponent write SetDimComponent default 1;

Description

Fields

Private FXYZ: TDim3;
Private FMaxXYZ: TDim3;
Private FReadOnly: Boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Private function GetDimComponent(index: Integer): Integer;
Private function GetMaxDimComponent(index: Integer): Integer;
Public procedure Assign(Source: TPersistent); override;
Private procedure SetDimComponent(index: Integer; Value: Integer);
Private procedure SetMaxDimComponent(index: Integer; Value: Integer);

Properties

Public property MaxSizeX: Integer index 0 read GetMaxDimComponent write SetMaxDimComponent;
Public property MaxSizeY: Integer index 1 read GetMaxDimComponent write SetMaxDimComponent;
Public property MaxSizeZ: Integer index 2 read GetMaxDimComponent write SetMaxDimComponent;
Public property ReadOnlyValue: Boolean read FReadOnly write FReadOnly;
Published property SizeX: Integer index 0 read GetDimComponent write SetDimComponent default 1;

Published Properties

Published property SizeY: Integer index 1 read GetDimComponent write SetDimComponent default 1;
Published property SizeZ: Integer index 2 read GetDimComponent write SetDimComponent default 1;


GLSysHelp v.2.1: CUDA.Context: Class TCUDADevice

Class TCUDADevice

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Context

Declaration

type TCUDADevice = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCUDADevice

Overview

Fields

Private | fID: Integer;
Private | fHandle: TCUdevice;
Private | fGFlops: Integer;
Private | fDeviceProperties: TCudaDeviceProp;
Private | FSuitable: Boolean;
Private | FUsed: Boolean;
Private | fMaxThreadsDim: TCUDADimensions;
Private | fMaxGridSize: TCUDADimensions;

Methods

Public | constructor Create; reintroduce;
Public | destructor Destroy; override;
Public | function TotalMemory: Cardinal;
Protected | function GetName: string;
Public | procedure Assign(Source: TPersistent); override;

Properties

Published | property ClockRate: Integer read fDeviceProperties.ClockRate;
Published | property DeviceOverlap: Integer read fDeviceProperties.DeviceOverlap;
Published | property Major: Integer read fDeviceProperties.Major;
Published | property MaxGridSize: TCUDADimensions read fMaxGridSize;
Published | property MaxThreadsDim: TCUDADimensions read fMaxThreadsDim;
Published | property MaxThreadsPerBlock: Integer read fDeviceProperties.MaxThreadsPerBlock;
Published | property MemPitch: NativeUInt read fDeviceProperties.MemPitch;
Published | property Minor: Integer read fDeviceProperties.Minor;
Published | property MultiProcessorCount: Integer read fDeviceProperties.MultiProcessorCount;
Published | property Name: string read GetName;
Published | property RegsPerBlock: Integer read fDeviceProperties.RegsPerBlock;
Published | property SharedMemPerBlock: NativeUInt read fDeviceProperties.SharedMemPerBlock;
Published | property TextureAlignment: NativeUInt read fDeviceProperties.TextureAlignment;
Published | property TotalConstMem: NativeUInt read fDeviceProperties.TotalConstMem;
Published | property TotalGlobalMem: NativeUInt read fDeviceProperties.TotalGlobalMem;
Published | property WarpSize: Integer read fDeviceProperties.WarpSize;

Description

Fields

Private fID: Integer;
Private fHandle: TCUdevice;
Private fGFlops: Integer;
Private fDeviceProperties: TCudaDeviceProp;
Private FSuitable: Boolean;
Private FUsed: Boolean;
Private fMaxThreadsDim: TCUDADimensions;
Private fMaxGridSize: TCUDADimensions;

Methods

Public constructor Create; reintroduce;
Public destructor Destroy; override;
Public function TotalMemory: Cardinal;

Returns in bytes the total amount of memory available on the device dev in bytes.

Protected function GetName: string;
Public procedure Assign(Source: TPersistent); override;

Properties

Published property ClockRate: Integer read fDeviceProperties.ClockRate;
Published property DeviceOverlap: Integer read fDeviceProperties.DeviceOverlap;
Published property Major: Integer read fDeviceProperties.Major;
Published property MaxGridSize: TCUDADimensions read fMaxGridSize;
Published property MaxThreadsDim: TCUDADimensions read fMaxThreadsDim;
Published property MaxThreadsPerBlock: Integer read fDeviceProperties.MaxThreadsPerBlock;
Published property MemPitch: NativeUInt read fDeviceProperties.MemPitch;
Published property Minor: Integer read fDeviceProperties.Minor;
Published property MultiProcessorCount: Integer read fDeviceProperties.MultiProcessorCount;
Published property Name: string read GetName;
Published property RegsPerBlock: Integer read fDeviceProperties.RegsPerBlock;
Published property SharedMemPerBlock: NativeUInt read fDeviceProperties.SharedMemPerBlock;
Published property TextureAlignment: NativeUInt read fDeviceProperties.TextureAlignment;
Published property TotalConstMem: NativeUInt read fDeviceProperties.TotalConstMem;
Published property TotalGlobalMem: NativeUInt read fDeviceProperties.TotalGlobalMem;
Published property WarpSize: Integer read fDeviceProperties.WarpSize;


GLSysHelp v.2.1: CUDA.Context: Class TGLCUDADevice

Class TGLCUDADevice

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Context

Declaration

type TGLCUDADevice = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCUDADevice

Overview

Fields

Private FSelectDeviceName: string;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Suitable: Boolean;
Private | function GetDevice: TCUDADevice;
Private | procedure SetDevice(AValue: TCUDADevice);
Private | procedure SetDeviceName(const AName: string);

Properties

Published | property Device: TCUDADevice read GetDevice write SetDevice;
Published | property SelectDevice: string read FSelectDeviceName write SetDeviceName;

Description

Fields

Private FSelectDeviceName: string;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Suitable: Boolean;
Private function GetDevice: TCUDADevice;
Private procedure SetDevice(AValue: TCUDADevice);
Private procedure SetDeviceName(const AName: string);

Properties

Published property Device: TCUDADevice read GetDevice write SetDevice;
Published property SelectDevice: string read FSelectDeviceName write SetDeviceName;


GLSysHelp v.2.1: CUDA.Context: Class TCUDAHandlesMaster

Class TCUDAHandlesMaster

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Context

Declaration

type TCUDAHandlesMaster = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster

Overview

Methods

Protected | function GetContext: TCUDAContext; virtual; abstract;
Protected | procedure AllocateHandles; virtual;
Protected | procedure DestroyHandles; virtual;

Description

Methods

Protected function GetContext: TCUDAContext; virtual; abstract;
Protected procedure AllocateHandles; virtual;
Protected procedure DestroyHandles; virtual;


GLSysHelp v.2.1: CUDA.Context: Class TCUDAContext

Class TCUDAContext

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Context

Declaration

type TCUDAContext = class(TObject)

Description

Hierarchy

  • TObject
  • TCUDAContext

Overview

Fields

Private | fHandle: PCUcontext;
Private | FDevice: TCUDADevice;
Private | FOnOpenGLInteropInit: TOnOpenGLInteropInit;
Private | FHandleList: TCUDAHandleList;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function IsValid: Boolean; inline;
Public | procedure DestroyAllHandles;
Public | procedure Release;
Public | procedure Requires;
Private | procedure SetDevice(ADevice: TCUDADevice);

Properties

Public | property Device: TCUDADevice read FDevice write SetDevice;
Public | property OnOpenGLInteropInit: TOnOpenGLInteropInit read FOnOpenGLInteropInit write FOnOpenGLInteropInit;

Description

Fields

Private fHandle: PCUcontext;
Private FDevice: TCUDADevice;
Private FOnOpenGLInteropInit: TOnOpenGLInteropInit;
Private FHandleList: TCUDAHandleList;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function IsValid: Boolean; inline;
Public procedure DestroyAllHandles;

Destroy all handles based of this context.

Public procedure Release;

Pops context from current CPU thread.

Public procedure Requires;

Pushes context onto CPU thread’s stack of current contexts.

Private procedure SetDevice(ADevice: TCUDADevice);

Properties

Public property Device: TCUDADevice read FDevice write SetDevice;
Public property OnOpenGLInteropInit: TOnOpenGLInteropInit read FOnOpenGLInteropInit write FOnOpenGLInteropInit;


GLSysHelp v.2.1: CUDA.Context: Class CUDAContextManager

Class CUDAContextManager

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Context

Declaration

type CUDAContextManager = class(TObject)

Description

Static class of CUDA contexts manager.

Hierarchy

  • TObject
  • CUDAContextManager

Overview

Fields

Private | class var fDeviceList: TCUDADeviceList;
Private | class var fContextList: TCUDAContextList;
Private | class var FContextStacks: array of TCUDAContextList;

Methods

Public | class function ContextCount: Integer;
Public | class function DeviceCount: Integer;
Public | class function GetCurrentThreadContext: TCUDAContext;
Public | class function GetDeviceByName(const AName: string): TCUDADevice;
Public | class function GetMaxGflopsDevice: TCUDADevice;
Public | class function PopContext: TCUDAContext;
Protected | class function GetContext(i: Integer): TCUDAContext;
Protected | class function GetDevice(i: Integer): TCUDADevice;
Protected | class function GetNextUnusedDevice: TCUDADevice;
Protected | class function GetThreadStack: TCUDAContextList;
Public | class procedure CreateContext(aContext: TCUDAContext);
Public | class procedure CreateContextOf(ADevice: TCUDADevice);
Public | class procedure DestroyContext(aContext: TCUDAContext);
Public | class procedure DestroyContextOf(ADevice: TCUDADevice);
Public | class procedure Done;
Public | class procedure FillUnusedDeviceList(var AList: TStringList);
Public | class procedure Init;
Public | class procedure PushContext(aContext: TCUDAContext);
Protected | class procedure RegisterContext(aContext: TCUDAContext);
Protected | class procedure UnRegisterContext(aContext: TCUDAContext);

Properties

Public | property Contexts[i:Integer]: TCUDAContext read GetContext;
Public | property Devices[i:Integer]: TCUDADevice read GetDevice;

Description

Fields

Private class var fDeviceList: TCUDADeviceList;
Private class var fContextList: TCUDAContextList;
Private class var FContextStacks: array of TCUDAContextList;

Methods

Public class function ContextCount: Integer;

Returns the number of TCUDAcontext object.

Public class function DeviceCount: Integer;

Returns the number of CUDA compatiable devices.

Public class function GetCurrentThreadContext: TCUDAContext;

Return CUDA context of current thread.

Public class function GetDeviceByName(const AName: string): TCUDADevice;

Return device by name.

Public class function GetMaxGflopsDevice: TCUDADevice;

Returns a device that has a maximum Giga flops.

Public class function PopContext: TCUDAContext;
Protected class function GetContext(i: Integer): TCUDAContext;
Protected class function GetDevice(i: Integer): TCUDADevice;
Protected class function GetNextUnusedDevice: TCUDADevice;
Protected class function GetThreadStack: TCUDAContextList;
Public class procedure CreateContext(aContext: TCUDAContext);
Public class procedure CreateContextOf(ADevice: TCUDADevice);
Public class procedure DestroyContext(aContext: TCUDAContext);
Public class procedure DestroyContextOf(ADevice: TCUDADevice);
Public class procedure Done;
Public class procedure FillUnusedDeviceList(var AList: TStringList);

Fill unused device list to show its in property.

Public class procedure Init;

Management

Public class procedure PushContext(aContext: TCUDAContext);
Protected class procedure RegisterContext(aContext: TCUDAContext);
Protected class procedure UnRegisterContext(aContext: TCUDAContext);

Properties

Public property Contexts[i:Integer]: TCUDAContext read GetContext;

Access to contexts list.

Public property Devices[i:Integer]: TCUDADevice read GetDevice;

Access to devices list.


GLSysHelp v.2.1: CUDA.DataAccess

Unit CUDA.DataAccess

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • GLS.Logger
  • GLS.Strings
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class GCUDAHostElementAccess |

Functions and Procedures

procedure SetElementAccessAddress(AValue: PByte; ASize: Cardinal);
function GetElementAccessAddress: PByte;
function GetElementAccessSize: Cardinal;

Types

ByteElement = GCUDAHostElementAccess<ShortInt>;
DoubleElement = GCUDAHostElementAccess<Double>;
FloatElement = GCUDAHostElementAccess<Single>;
HalfElement = GCUDAHostElementAccess<THalfFloat>;
IntElement = GCUDAHostElementAccess<LongInt>;
ShortElement = GCUDAHostElementAccess<SmallInt>;
UByteElement = GCUDAHostElementAccess<Byte>;
UIntElement = GCUDAHostElementAccess<LongWord>;
UShortElement = GCUDAHostElementAccess<Word>;

Description

Functions and Procedures

procedure SetElementAccessAddress(AValue: PByte; ASize: Cardinal);
function GetElementAccessAddress: PByte;
function GetElementAccessSize: Cardinal;

Types

ByteElement = GCUDAHostElementAccess<ShortInt>;
DoubleElement = GCUDAHostElementAccess<Double>;
FloatElement = GCUDAHostElementAccess<Single>;
HalfElement = GCUDAHostElementAccess<THalfFloat>;
IntElement = GCUDAHostElementAccess<LongInt>;
ShortElement = GCUDAHostElementAccess<SmallInt>;
UByteElement = GCUDAHostElementAccess<Byte>;
UIntElement = GCUDAHostElementAccess<LongWord>;
UShortElement = GCUDAHostElementAccess<Word>;


GLSysHelp v.2.1: CUDA.DataAccess: Class GCUDAHostElementAccess

Class GCUDAHostElementAccess

Description
Hierarchy
Nested Types
Fields
Methods
Properties

Unit

CUDA.DataAccess

Declaration

type GCUDAHostElementAccess<TScalar> = class(TObject)

Description

Hierarchy

  • TObject
  • GCUDAHostElementAccess

Overview

Nested Types

Public | TVector2 = array [0 .. 1] of TScalar;
Public | TVector3 = array [0 .. 2] of TScalar;
Public | TVector4 = array [0 .. 3] of TScalar;

Fields

Public nested const ElementSize = SizeOf(TScalar);

Methods

Private | class function GetScalar: TScalar;
Private | class function GetVector2: TVector2;
Private | class function GetVector3: TVector3;
Private | class function GetVector4: TVector4;
Private | class procedure CheckElementSize(ACNum: Cardinal); inline;
Private | class procedure SetScalar(const AValue: TScalar);
Private | class procedure SetVector2(const AValue: TVector2);
Private | class procedure SetVector3(const AValue: TVector3);
Private | class procedure SetVector4(const AValue: TVector4);

Properties

Public | property Scalar: TScalar read GetScalar write SetScalar;
Public | property Vector2: TVector2 read GetVector2 write SetVector2;
Public | property Vector3: TVector3 read GetVector3 write SetVector3;
Public | property Vector4: TVector4 read GetVector4 write SetVector4;

Description

Nested Types

Public TVector2 = array [0 .. 1] of TScalar;
Public TVector3 = array [0 .. 2] of TScalar;
Public TVector4 = array [0 .. 3] of TScalar;

Fields

Public nested const ElementSize = SizeOf(TScalar);

Methods

Private class function GetScalar: TScalar;
Private class function GetVector2: TVector2;
Private class function GetVector3: TVector3;
Private class function GetVector4: TVector4;
Private class procedure CheckElementSize(ACNum: Cardinal); inline;
Private class procedure SetScalar(const AValue: TScalar);
Private class procedure SetVector2(const AValue: TVector2);
Private class procedure SetVector3(const AValue: TVector3);
Private class procedure SetVector4(const AValue: TVector4);

Properties

Public property Scalar: TScalar read GetScalar write SetScalar;
Public property Vector2: TVector2 read GetVector2 write SetVector2;
Public property Vector3: TVector3 read GetVector3 write SetVector3;
Public property Vector4: TVector4 read GetVector4 write SetVector4;


GLSysHelp v.2.1: CUDA.EditorFm

Unit CUDA.EditorFm

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.SysUtils
  • System.Variants
  • System.Classes
  • System.Win.Registry
  • System.ImageList
  • Vcl.Graphics
  • Vcl.Controls
  • Vcl.Forms
  • Vcl.Dialogs
  • Vcl.ImgList
  • Vcl.StdCtrls
  • Vcl.ComCtrls
  • Vcl.ToolWin
  • DesignIntf
  • VCLEditors
  • GLS.Strings
  • CUDA.APIComps
  • CUDA.FFTPlan
  • CUDA.Graphics

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCUDAEditorForm |

Functions and Procedures

function GLCUDAEditorForm: TGLCUDAEditorForm;
procedure ReleaseGLCUDAEditorForm;

Description

Functions and Procedures

function GLCUDAEditorForm: TGLCUDAEditorForm;
procedure ReleaseGLCUDAEditorForm;


GLSysHelp v.2.1: CUDA.EditorFm: Class TGLCUDAEditorForm

Class TGLCUDAEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.EditorFm

Declaration

type TGLCUDAEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLCUDAEditorForm

Overview

Fields

Public | ToolBar1: TToolBar;
Public | AddModuleButton: TToolButton;
Public | DeleteButton: TToolButton;
Public | ListBox1: TListBox;
Public | ImageList1: TImageList;
Public | AddMemDataButton: TToolButton;
Public | AddFFTPlanButton: TToolButton;
Public | AddGeometryResButton: TToolButton;
Public | AddImageResButton: TToolButton;
Private | FClassList: TList;
Private | FCUDA: TGLCUDA;
Private | FCurrentDesigner: IDesigner;

Methods

Public | procedure AddItemButtonClick(Sender: TObject);
Public | procedure DeleteButtonClick(Sender: TObject);
Public | procedure FormCreate(Sender: TObject);
Public | procedure FormDestroy(Sender: TObject);
Public | procedure ListBox1Click(Sender: TObject);
Public | procedure SetCUDAEditorClient(Client: TGLCUDA; Designer: IDesigner);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure OnCUDAComponentNameChanged(Sender : TObject);

Description

Fields

Public ToolBar1: TToolBar;
Public AddModuleButton: TToolButton;
Public DeleteButton: TToolButton;
Public ListBox1: TListBox;
Public ImageList1: TImageList;
Public AddMemDataButton: TToolButton;
Public AddFFTPlanButton: TToolButton;
Public AddGeometryResButton: TToolButton;
Public AddImageResButton: TToolButton;
Private FClassList: TList;
Private FCUDA: TGLCUDA;
Private FCurrentDesigner: IDesigner;

Methods

Public procedure AddItemButtonClick(Sender: TObject);
Public procedure DeleteButtonClick(Sender: TObject);
Public procedure FormCreate(Sender: TObject);
Public procedure FormDestroy(Sender: TObject);
Public procedure ListBox1Click(Sender: TObject);
Public procedure SetCUDAEditorClient(Client: TGLCUDA; Designer: IDesigner);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure OnCUDAComponentNameChanged(Sender : TObject);


GLSysHelp v.2.1: CUDA.FFTPlan

Unit CUDA.FFTPlan

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • CUDA.Import
  • CUDA.Context
  • CUDA.APIComps
  • CUDA.FourierTransform
  • GLS.Strings
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TCUDAFFTPlan |

Types

TCUDAFFTdir = (...);
TCUDAFFTransform = (...);

Description

Types

TCUDAFFTdir = (...);
Values
  • fftdForward
  • fftdInverse
TCUDAFFTransform = (...);
Values
  • fftRealToComplex
  • fftComplexToReal
  • fftComplexToComplex
  • fftDoubleToDoubleComplex
  • fftDoubleComplexToDouble
  • fftDoubleComplexToDoubleComplex


GLSysHelp v.2.1: CUDA.FFTPlan: Class TCUDAFFTPlan

Class TCUDAFFTPlan

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.FFTPlan

Declaration

type TCUDAFFTPlan = class(TCUDAComponent)

Description

No description available, ancestor TCUDAComponent description follows
No description available, ancestor TCUDAHandlesMaster description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAFFTPlan

Overview

Fields

Private | FHandle: TcufftHandle;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FDepth: Integer;
Private | FBatch: Integer;
Private | FSize: Integer;
Private | FPaddedSize: Integer;
Private | FTransform: TCUDAFFTransform;
Private | FStatus: TcufftResult;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Execute(ASrc: TCUDAMemData; ADst: TCUDAMemData; const ADir: TCUDAFFTdir = fftdForward);
Protected | procedure AllocateHandles; override;
Protected | class procedure CheckLib;
Protected | procedure DestroyHandles; override;
Private | procedure SetBatch(Value: Integer);
Private | procedure SetDepth(Value: Integer);
Private | procedure SetHeight(Value: Integer);
Private | procedure SetTransform(Value: TCUDAFFTransform);
Private | procedure SetWidth(Value: Integer);

Properties

Published | property Batch: Integer read FBatch write SetBatch default 1;
Published | property Depth: Integer read FDepth write SetDepth default 0;
Published | property Height: Integer read FHeight write SetHeight default 0;
Published | property Transform: TCUDAFFTransform read FTransform write SetTransform default fftRealToComplex;
Published | property Width: Integer read fWidth write SetWidth default 256;

Description

Fields

Private FHandle: TcufftHandle;
Private FWidth: Integer;
Private FHeight: Integer;
Private FDepth: Integer;
Private FBatch: Integer;
Private FSize: Integer;
Private FPaddedSize: Integer;
Private FTransform: TCUDAFFTransform;
Private FStatus: TcufftResult;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Execute(ASrc: TCUDAMemData; ADst: TCUDAMemData; const ADir: TCUDAFFTdir = fftdForward);
Protected procedure AllocateHandles; override;
Protected class procedure CheckLib;
Protected procedure DestroyHandles; override;
Private procedure SetBatch(Value: Integer);
Private procedure SetDepth(Value: Integer);
Private procedure SetHeight(Value: Integer);
Private procedure SetTransform(Value: TCUDAFFTransform);
Private procedure SetWidth(Value: Integer);

Properties

Published property Batch: Integer read FBatch write SetBatch default 1;
Published property Depth: Integer read FDepth write SetDepth default 0;
Published property Height: Integer read FHeight write SetHeight default 0;
Published property Transform: TCUDAFFTransform read FTransform write SetTransform default fftRealToComplex;
Published property Width: Integer read fWidth write SetWidth default 256;


GLSysHelp v.2.1: CUDA.FourierTransform

Unit CUDA.FourierTransform

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • GLS.VectorTypes
  • GLS.Strings
  • CUDA.Import
  • CUDA.RunTime

Overview

Functions and Procedures

function InitCUFFT: Boolean;
procedure CloseCUFFT;
function InitCUFFTFromLibrary(const LibName: WideString): Boolean;
function IsCUFFTInitialized: Boolean;
function Get_CUDA_FFT_Error_String(AError: TcufftResult): string;

Types

PcufftComplex = ˆTcufftComplex;
PcufftDoubleComplex = ˆTcufftDoubleComplex;
PcufftDoubleReal = ˆTcufftDoubleReal;
PcufftReal = ˆTcufftReal;
TcudaRoundMode = (...);
TcufftCompatibility = type Cardinal;
TcufftComplex = TVector2f;
TcufftDestroy = function(plan: TcufftHandle): TcufftResult; stdcall;
TcufftDoubleComplex = TVector2d;
TcufftDoubleReal = Double;
TcufftExecC2C = function(plan: TcufftHandle; idata: PcufftComplex; odata: PcufftComplex; direction: Integer): TcufftResult; stdcall;
TcufftExecC2R = function(plan: TcufftHandle; idata: PcufftComplex; odata: PcufftReal): TcufftResult; stdcall;
TcufftExecD2Z = function(plan: TcufftHandle; idata: PcufftDoubleReal; odata: PcufftDoubleComplex): TcufftResult; stdcall;
TcufftExecR2C = function(plan: TcufftHandle; idata: PcufftReal; odata: PcufftComplex): TcufftResult; stdcall;
TcufftExecZ2D = function(plan: TcufftHandle; idata: PcufftDoubleComplex; odata: PcufftDoubleReal): TcufftResult; stdcall;
TcufftExecZ2Z = function(plan: TcufftHandle; idata: PcufftDoubleComplex; odata: PcufftDoubleComplex; direction: Integer): TcufftResult; stdcall;
TcufftHandle = type Cardinal;
TcufftPlan1d = function(out plan: TcufftHandle; nx: Integer; atype: TcufftType; batch: Integer): TcufftResult; stdcall;
TcufftPlan2d = function(out plan: TcufftHandle; nx: Integer; ny: Integer; atype: TcufftType): TcufftResult; stdcall;
TcufftPlan3d = function(out plan: TcufftHandle; nx: Integer; ny: Integer; nz: Integer; atype: TcufftType): TcufftResult; stdcall;
TcufftPlanMany = function(out plan: TcufftHandle; rank: Integer; var n: Integer; var inembed: Integer; istride, idist: Integer; var onembed: Integer; ostride, odist: Integer; ctype: TcufftType; batch: Integer): TcufftResult; stdcall;
TcufftReal = Single;
TcufftRealfloat = Single;
TcufftResult = type Byte;
TcufftSetCompatibilityMode = function(plan: TcufftHandle; mode: TcufftCompatibility): TcufftResult; stdcall;
TcufftSetStream = function(p: TcufftHandle; stream: Integer): TcufftResult; stdcall;
TcufftType = type Cardinal;

Constants

CUFFTDLLNAMES: array [0 .. 9] of string = ( 'cufft32_42_9', 'cufft32_41_28', 'cufft32_40_10', 'cufft32_32_16', 'cufft32_31_4', 'cufft32_30_14', 'cufft32_30_9', 'cufft32_30_8', 'cufft32', 'cufft');
INVALID_CUFFT_HANDLE = $FFFFFFFF;
CUFFT_SUCCESS: TcufftResult = $00;
CUFFT_INVALID_PLAN: TcufftResult = $01;
CUFFT_ALLOC_FAILED: TcufftResult = $02;
CUFFT_INVALID_TYPE: TcufftResult = $03;
CUFFT_INVALID_VALUE: TcufftResult = $04;
CUFFT_INTERNAL_ERROR: TcufftResult = $05;
CUFFT_EXEC_FAILED: TcufftResult = $06;
CUFFT_SETUP_FAILED: TcufftResult = $07;
CUFFT_INVALID_SIZE: TcufftResult = $08;
CUFFT_FORWARD = -1;
CUFFT_INVERSE = 1;
CUFFT_R2C: TcufftType = $2A;
CUFFT_C2R: TcufftType = $2C;
CUFFT_C2C: TcufftType = $29;
CUFFT_D2Z: TcufftType = $6A;
CUFFT_Z2D: TcufftType = $6C;
CUFFT_Z2Z: TcufftType = $69;
CUFFT_COMPATIBILITY_NORMAL: TcufftCompatibility = $00;
CUFFT_COMPATIBILITY_FFTW_PADDING: TcufftCompatibility = $01;
CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC: TcufftCompatibility = $02;
CUFFT_COMPATIBILITY_FFTW: TcufftCompatibility = $03;

Variables

cufftPlan1d: TcufftPlan1d;
cufftPlan2d: TcufftPlan2d;
cufftPlan3d: TcufftPlan3d;
cufftDestroy: TcufftDestroy;
cufftPlanMany: TcufftPlanMany;
cufftExecC2C: TcufftExecC2C;
cufftExecR2C: TcufftExecR2C;
cufftExecC2R: TcufftExecC2R;
cufftExecZ2Z: TcufftExecZ2Z;
cufftExecD2Z: TcufftExecD2Z;
cufftExecZ2D: TcufftExecZ2D;
cufftSetStream: TcufftSetStream;
cufftSetCompatibilityMode: TcufftSetCompatibilityMode;

Description

Functions and Procedures

function InitCUFFT: Boolean;
procedure CloseCUFFT;
function InitCUFFTFromLibrary(const LibName: WideString): Boolean;
function IsCUFFTInitialized: Boolean;
function Get_CUDA_FFT_Error_String(AError: TcufftResult): string;

Types

PcufftComplex = ˆTcufftComplex;
PcufftDoubleComplex = ˆTcufftDoubleComplex;
PcufftDoubleReal = ˆTcufftDoubleReal;
PcufftReal = ˆTcufftReal;
TcudaRoundMode = (...);
Values
  • cudaRoundNearest
  • cudaRoundZero
  • cudaRoundPosInf
  • cudaRoundMinInf
TcufftCompatibility = type Cardinal;

Certain R2C and C2R transforms go much more slowly when FFTW memory layout and behaviour is required. The default is "best performance", which means not-compatible-with-fftw. Use the cufftSetCompatibilityMode API to enable exact FFTW-like behaviour.

These flags can be ORed together to select precise FFTW compatibility behaviour. The two levels presently supported are:

CUFFT_COMPATIBILITY_FFTW_PADDING Inserts extra padding between packed in-place transforms for batched transforms with power-of-2 size.

CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC Guarantees FFTW-compatible output for non-symmetric complex inputs for transforms with power-of-2 size. This is only useful for artificial (i.e. random) datasets as actual data will always be symmetric if it has come from the real plane. If you don't understand what this means, you probably don't have to use it.

CUFFT_COMPATIBILITY_FFTW For convenience, enables all FFTW compatibility modes at once.

TcufftComplex = TVector2f;
TcufftDestroy = function(plan: TcufftHandle): TcufftResult; stdcall;
TcufftDoubleComplex = TVector2d;
TcufftDoubleReal = Double;
TcufftExecC2C = function(plan: TcufftHandle; idata: PcufftComplex; odata: PcufftComplex; direction: Integer): TcufftResult; stdcall;
TcufftExecC2R = function(plan: TcufftHandle; idata: PcufftComplex; odata: PcufftReal): TcufftResult; stdcall;
TcufftExecD2Z = function(plan: TcufftHandle; idata: PcufftDoubleReal; odata: PcufftDoubleComplex): TcufftResult; stdcall;
TcufftExecR2C = function(plan: TcufftHandle; idata: PcufftReal; odata: PcufftComplex): TcufftResult; stdcall;
TcufftExecZ2D = function(plan: TcufftHandle; idata: PcufftDoubleComplex; odata: PcufftDoubleReal): TcufftResult; stdcall;
TcufftExecZ2Z = function(plan: TcufftHandle; idata: PcufftDoubleComplex; odata: PcufftDoubleComplex; direction: Integer): TcufftResult; stdcall;
TcufftHandle = type Cardinal;

CUFFT API function return values CUFFT defines and supports the following data types cufftHandle is a handle type used to store and access CUFFT plans.

TcufftPlan1d = function(out plan: TcufftHandle; nx: Integer; atype: TcufftType; batch: Integer): TcufftResult; stdcall;
TcufftPlan2d = function(out plan: TcufftHandle; nx: Integer; ny: Integer; atype: TcufftType): TcufftResult; stdcall;
TcufftPlan3d = function(out plan: TcufftHandle; nx: Integer; ny: Integer; nz: Integer; atype: TcufftType): TcufftResult; stdcall;
TcufftPlanMany = function(out plan: TcufftHandle; rank: Integer; var n: Integer; var inembed: Integer; istride, idist: Integer; var onembed: Integer; ostride, odist: Integer; ctype: TcufftType; batch: Integer): TcufftResult; stdcall;
TcufftReal = Single;
TcufftRealfloat = Single;
TcufftResult = type Byte;
TcufftSetCompatibilityMode = function(plan: TcufftHandle; mode: TcufftCompatibility): TcufftResult; stdcall;
TcufftSetStream = function(p: TcufftHandle; stream: Integer): TcufftResult; stdcall;
TcufftType = type Cardinal;

Constants

CUFFTDLLNAMES: array [0 .. 9] of string = ( 'cufft32_42_9', 'cufft32_41_28', 'cufft32_40_10', 'cufft32_32_16', 'cufft32_31_4', 'cufft32_30_14', 'cufft32_30_9', 'cufft32_30_8', 'cufft32', 'cufft');
INVALID_CUFFT_HANDLE = $FFFFFFFF;
CUFFT_SUCCESS: TcufftResult = $00;
CUFFT_INVALID_PLAN: TcufftResult = $01;
CUFFT_ALLOC_FAILED: TcufftResult = $02;
CUFFT_INVALID_TYPE: TcufftResult = $03;
CUFFT_INVALID_VALUE: TcufftResult = $04;
CUFFT_INTERNAL_ERROR: TcufftResult = $05;
CUFFT_EXEC_FAILED: TcufftResult = $06;
CUFFT_SETUP_FAILED: TcufftResult = $07;
CUFFT_INVALID_SIZE: TcufftResult = $08;
CUFFT_FORWARD = -1;

CUFFT transform directions

CUFFT_INVERSE = 1;

Forward FFT

CUFFT_R2C: TcufftType = $2A;

Inverse FFT CUFFT supports the following transform types

CUFFT_C2R: TcufftType = $2C;

Real to Complex (interleaved)

CUFFT_C2C: TcufftType = $29;

Complex (interleaved) to Real

CUFFT_D2Z: TcufftType = $6A;

Complex to Complex, interleaved

CUFFT_Z2D: TcufftType = $6C;

Double to Double-Complex

CUFFT_Z2Z: TcufftType = $69;

Double-Complex to Double

CUFFT_COMPATIBILITY_NORMAL: TcufftCompatibility = $00;
CUFFT_COMPATIBILITY_FFTW_PADDING: TcufftCompatibility = $01;

The default value

CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC: TcufftCompatibility = $02;
CUFFT_COMPATIBILITY_FFTW: TcufftCompatibility = $03;

Variables

cufftPlan1d: TcufftPlan1d;
cufftPlan2d: TcufftPlan2d;
cufftPlan3d: TcufftPlan3d;
cufftDestroy: TcufftDestroy;
cufftPlanMany: TcufftPlanMany;
cufftExecC2C: TcufftExecC2C;
cufftExecR2C: TcufftExecR2C;
cufftExecC2R: TcufftExecC2R;
cufftExecZ2Z: TcufftExecZ2Z;
cufftExecD2Z: TcufftExecD2Z;
cufftExecZ2D: TcufftExecZ2D;
cufftSetStream: TcufftSetStream;
cufftSetCompatibilityMode: TcufftSetCompatibilityMode;


GLSysHelp v.2.1: CUDA.Graphics

Unit CUDA.Graphics

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • CUDA.Import
  • CUDA.APIComps
  • GLS.Context
  • GLS.State
  • GLS.Scene
  • GLS.Graphics
  • GLS.Material
  • GLS.Strings
  • GLS.TextureFormat
  • GLS.Texture
  • GLSL.Shader
  • GLSL.ShaderParameter
  • GLS.PersistentClasses
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLVertexAttribute |
Class TGLVertexAttributes |
Class TCUDACustomFeedBackMesh |
Class TCUDAFeedbackMesh |
Class TCUDAImageResource |
Class TCUDAGeometryResource |

Types

TFeedBackMeshLaunching = (...);
TFeedBackMeshPrimitive = (...);
TOnBeforeKernelLaunch = procedure(Sender: TGLVertexAttribute) of object;

Description

Types

TFeedBackMeshLaunching = (...);
Values
  • fblCommon
  • fblOnePerAtttribute
TFeedBackMeshPrimitive = (...);
Values
  • fbmpPoint
  • fbmpLine
  • fbmpTriangle
TOnBeforeKernelLaunch = procedure(Sender: TGLVertexAttribute) of object;


GLSysHelp v.2.1: CUDA.Graphics: Class TGLVertexAttribute

Class TGLVertexAttribute

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Graphics

Declaration

type TGLVertexAttribute = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLVertexAttribute

Overview

Fields

Private | FName: string;
Private | FType: TGLSLDataType;
Private | FFunc: TCUDAFunction;
Private | FLocation: Integer;
Private | FOnBeforeKernelLaunch: TOnBeforeKernelLaunch;

Methods

Public | constructor Create(ACollection: TCollection); override;
Private | function GetLocation: Integer;
Private | function GetOwner: TGLVertexAttributes; reintroduce;
Public | procedure NotifyChange(Sender: TObject);
Private | procedure SetFunc(AFunc: TCUDAFunction);
Private | procedure SetName(const AName: string);
Private | procedure SetType(AType: TGLSLDataType);

Properties

Published | property GLSLType: TGLSLDataType read FType write SetType;
Published | property KernelFunction: TCUDAFunction read FFunc write SetFunc;
Public | property Location: Integer read GetLocation;
Published | property Name: string read FName write SetName;
Published | property OnBeforeKernelLaunch: TOnBeforeKernelLaunch read FOnBeforeKernelLaunch write FOnBeforeKernelLaunch;

Description

Fields

Private FName: string;
Private FType: TGLSLDataType;
Private FFunc: TCUDAFunction;
Private FLocation: Integer;
Private FOnBeforeKernelLaunch: TOnBeforeKernelLaunch;

Methods

Public constructor Create(ACollection: TCollection); override;
Private function GetLocation: Integer;
Private function GetOwner: TGLVertexAttributes; reintroduce;
Public procedure NotifyChange(Sender: TObject);
Private procedure SetFunc(AFunc: TCUDAFunction);
Private procedure SetName(const AName: string);
Private procedure SetType(AType: TGLSLDataType);

Properties

Published property GLSLType: TGLSLDataType read FType write SetType;
Published property KernelFunction: TCUDAFunction read FFunc write SetFunc;
Public property Location: Integer read GetLocation;
Published property Name: string read FName write SetName;
Published property OnBeforeKernelLaunch: TOnBeforeKernelLaunch read FOnBeforeKernelLaunch write FOnBeforeKernelLaunch;


GLSysHelp v.2.1: CUDA.Graphics: Class TGLVertexAttributes

Class TGLVertexAttributes

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Graphics

Declaration

type TGLVertexAttributes = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLVertexAttributes

Overview

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLVertexAttribute;
Public | function GetAttributeByName(const AName: string): TGLVertexAttribute;
Public | function MakeUniqueName(const ANameRoot: string): string;
Private | function GetItems(Index: Integer): TGLVertexAttribute;
Public | procedure NotifyChange(Sender: TObject);
Private | procedure SetItems(Index: Integer; const AValue: TGLVertexAttribute);

Properties

Public property Attributes[Index:Integer]: TGLVertexAttribute read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLVertexAttribute;
Public function GetAttributeByName(const AName: string): TGLVertexAttribute;
Public function MakeUniqueName(const ANameRoot: string): string;
Private function GetItems(Index: Integer): TGLVertexAttribute;
Public procedure NotifyChange(Sender: TObject);
Private procedure SetItems(Index: Integer; const AValue: TGLVertexAttribute);

Properties

Public property Attributes[Index:Integer]: TGLVertexAttribute read GetItems write SetItems;


GLSysHelp v.2.1: CUDA.Graphics: Class TCUDACustomFeedBackMesh

Class TCUDACustomFeedBackMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Graphics

Declaration

type TCUDACustomFeedBackMesh = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TCUDACustomFeedBackMesh

Overview

Fields

Private | FGeometryResource: TCUDAGraphicResource;
Private | FAttributes: TGLVertexAttributes;
Private | FVAO: TGLVertexArrayHandle;
Private | FVBO: TGLVBOArrayBufferHandle;
Private | FEBO: TGLVBOElementArrayHandle;
Private | FPrimitiveType: TFeedBackMeshPrimitive;
Private | FVertexNumber: Integer;
Private | FElementNumber: Integer;
Private | FShader: TGLSLShader;
Private | FCommonFunc: TCUDAFunction;
Private | FLaunching: TFeedBackMeshLaunching;
Private | FBlend: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure AllocateHandles;
Protected | procedure LaunchKernels;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure RefreshAttributes;
Private | procedure SetAttributes(AValue: TGLVertexAttributes);
Private | procedure SetCommonFunc(AFunc: TCUDAFunction);
Private | procedure SetElementNumber(AValue: Integer);
Private | procedure SetPrimitiveType(AValue: TFeedBackMeshPrimitive);
Private | procedure SetShader(AShader: TGLSLShader);
Private | procedure SetVertexNumber(AValue: Integer);

Properties

Public | property ArrayBufferHandle: TGLVBOArrayBufferHandle read FVBO;
Protected | property Attributes: TGLVertexAttributes read FAttributes write SetAttributes;
Protected | property Blend: Boolean read FBlend write FBlend default False;
Protected | property CommonKernelFunction: TCUDAFunction read FCommonFunc write SetCommonFunc;
Public | property ElementArrayHandle: TGLVBOElementArrayHandle read FEBO;
Protected | property ElementNumber: Integer read FElementNumber write SetElementNumber default 0;
Protected | property Launching: TFeedBackMeshLaunching read FLaunching write FLaunching default fblCommon;
Protected | property PrimitiveType: TFeedBackMeshPrimitive read FPrimitiveType write SetPrimitiveType default fbmpPoint;
Protected | property Shader: TGLSLShader read FShader write SetShader;
Protected | property VertexNumber: Integer read FVertexNumber write SetVertexNumber default 1;

Description

Fields

Private FGeometryResource: TCUDAGraphicResource;
Private FAttributes: TGLVertexAttributes;
Private FVAO: TGLVertexArrayHandle;
Private FVBO: TGLVBOArrayBufferHandle;
Private FEBO: TGLVBOElementArrayHandle;
Private FPrimitiveType: TFeedBackMeshPrimitive;
Private FVertexNumber: Integer;
Private FElementNumber: Integer;
Private FShader: TGLSLShader;
Private FCommonFunc: TCUDAFunction;
Private FLaunching: TFeedBackMeshLaunching;
Private FBlend: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure AllocateHandles;
Protected procedure LaunchKernels;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure RefreshAttributes;
Private procedure SetAttributes(AValue: TGLVertexAttributes);
Private procedure SetCommonFunc(AFunc: TCUDAFunction);
Private procedure SetElementNumber(AValue: Integer);
Private procedure SetPrimitiveType(AValue: TFeedBackMeshPrimitive);
Private procedure SetShader(AShader: TGLSLShader);
Private procedure SetVertexNumber(AValue: Integer);

Properties

Public property ArrayBufferHandle: TGLVBOArrayBufferHandle read FVBO;
Protected property Attributes: TGLVertexAttributes read FAttributes write SetAttributes;
Protected property Blend: Boolean read FBlend write FBlend default False;

Defines if the object uses blending for object sorting purposes.

Protected property CommonKernelFunction: TCUDAFunction read FCommonFunc write SetCommonFunc;

Used for all attributes and elements if Launching = fblCommon otherwise used own attribute function and this for elements.

Public property ElementArrayHandle: TGLVBOElementArrayHandle read FEBO;
Protected property ElementNumber: Integer read FElementNumber write SetElementNumber default 0;

Number of indexes in element buffer. Zero to disable.

Protected property Launching: TFeedBackMeshLaunching read FLaunching write FLaunching default fblCommon;

Define mode of manufacturer launching: fblCommon - single launch for all, flOnePerAtttribute - one launch per attribute and elements

Protected property PrimitiveType: TFeedBackMeshPrimitive read FPrimitiveType write SetPrimitiveType default fbmpPoint;

Primitive type.

Protected property Shader: TGLSLShader read FShader write SetShader;

GLSL shader as material. If it absent or disabled - nothing be drawen.

Protected property VertexNumber: Integer read FVertexNumber write SetVertexNumber default 1;

Number of vertexes in array buffer.


GLSysHelp v.2.1: CUDA.Graphics: Class TCUDAFeedbackMesh

Class TCUDAFeedbackMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Graphics

Declaration

type TCUDAFeedbackMesh = class(TCUDACustomFeedBackMesh)

Description

No description available, ancestor TCUDACustomFeedBackMesh description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TCUDACustomFeedBackMesh
  • TCUDAFeedbackMesh

Overview

Properties

Published | property Attributes;
Published | property Behaviours;
Published | property Blend;
Published | property CommonKernelFunction;
Published | property Direction;
Published | property Effects;
Published | property ElementNumber;
Published | property Launching;
Published | property ObjectsSorting;
Published | property OnPicked;
Published | property OnProgress;
Published | property Pickable;
Published | property PitchAngle;
Published | property Position;
Published | property PrimitiveType;
Published | property RollAngle;
Published | property Scale;
Published | property Shader;
Published | property ShowAxes;
Published | property TurnAngle;
Published | property Up;
Published | property VertexNumber;
Published | property VisibilityCulling;
Published | property Visible;

Description

Properties

Published property Attributes;
Published property Behaviours;
Published property Blend;
Published property CommonKernelFunction;
Published property Direction;
Published property Effects;
Published property ElementNumber;
Published property Launching;
Published property ObjectsSorting;
Published property OnPicked;
Published property OnProgress;
Published property Pickable;
Published property PitchAngle;
Published property Position;
Published property PrimitiveType;
Published property RollAngle;
Published property Scale;
Published property Shader;
Published property ShowAxes;
Published property TurnAngle;
Published property Up;
Published property VertexNumber;
Published property VisibilityCulling;
Published property Visible;


GLSysHelp v.2.1: CUDA.Graphics: Class TCUDAImageResource

Class TCUDAImageResource

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Graphics

Declaration

type TCUDAImageResource = class(TCUDAGraphicResource)

Description

No description available, ancestor TCUDAGraphicResource description follows

Abstract class of graphic resources.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAGraphicResource
  • TCUDAImageResource

Overview

Fields

Private | fMaterialLibrary: TGLMaterialLibrary;
Private | fTextureName: TGLLibMaterialName;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure BindArrayToTexture(var cudaArray: TCUDAMemData; ALeyer, ALevel: LOngWord); override;
Public | procedure MapResources; override;
Public | procedure UnMapResources; override;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private | procedure SetTextureName(const Value: TGLLibMaterialName);

Properties

Published | property Mapping;
Published | property MaterialLibrary: TGLMaterialLibrary read fMaterialLibrary write SetMaterialLibrary;
Published | property TextureName: TGLLibMaterialName read fTextureName write SetTextureName;

Description

Fields

Private fMaterialLibrary: TGLMaterialLibrary;
Private fTextureName: TGLLibMaterialName;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure BindArrayToTexture(var cudaArray: TCUDAMemData; ALeyer, ALevel: LOngWord); override;
Public procedure MapResources; override;
Public procedure UnMapResources; override;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private procedure SetTextureName(const Value: TGLLibMaterialName);

Properties

Published property Mapping;
Published property MaterialLibrary: TGLMaterialLibrary read fMaterialLibrary write SetMaterialLibrary;
Published property TextureName: TGLLibMaterialName read fTextureName write SetTextureName;


GLSysHelp v.2.1: CUDA.Graphics: Class TCUDAGeometryResource

Class TCUDAGeometryResource

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Graphics

Declaration

type TCUDAGeometryResource = class(TCUDAGraphicResource)

Description

No description available, ancestor TCUDAGraphicResource description follows

Abstract class of graphic resources.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TCUDAHandlesMaster
  • TCUDAComponent
  • TCUDAGraphicResource
  • TCUDAGeometryResource

Overview

Fields

Private FFeedBackMesh: TCUDACustomFeedBackMesh;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetAttributeArrayAddress(const AName: string): Pointer; override;
Protected | function GetAttributeArraySize(const AName: string): LongWord; override;
Protected | function GetElementArrayAddress: Pointer; override;
Protected | function GetElementArrayDataSize: LongWord; override;
Private | function GetAttribArraySize(AAttr: TGLVertexAttribute): LongWord;
Public | procedure MapResources; override;
Public | procedure UnMapResources; override;
Protected | procedure AllocateHandles; override;
Protected | procedure DestroyHandles; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetFeedBackMesh(const Value: TCUDACustomFeedBackMesh);

Properties

Public | property AttributeDataAddress[constAttribName:string]: Pointer read GetAttributeArrayAddress;
Public | property AttributeDataSize[constAttribName:string]: LongWord read GetAttributeArraySize;
Published | property FeedBackMesh: TCUDACustomFeedBackMesh read FFeedBackMesh write SetFeedBackMesh;
Public | property IndexDataAddress: Pointer read GetElementArrayAddress;
Public | property IndexDataSize: LongWord read GetElementArrayDataSize;
Published | property Mapping;

Description

Fields

Private FFeedBackMesh: TCUDACustomFeedBackMesh;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetAttributeArrayAddress(const AName: string): Pointer; override;
Protected function GetAttributeArraySize(const AName: string): LongWord; override;
Protected function GetElementArrayAddress: Pointer; override;
Protected function GetElementArrayDataSize: LongWord; override;
Private function GetAttribArraySize(AAttr: TGLVertexAttribute): LongWord;
Public procedure MapResources; override;
Public procedure UnMapResources; override;
Protected procedure AllocateHandles; override;
Protected procedure DestroyHandles; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetFeedBackMesh(const Value: TCUDACustomFeedBackMesh);

Properties

Public property AttributeDataAddress[constAttribName:string]: Pointer read GetAttributeArrayAddress;
Public property AttributeDataSize[constAttribName:string]: LongWord read GetAttributeArraySize;
Published property FeedBackMesh: TCUDACustomFeedBackMesh read FFeedBackMesh write SetFeedBackMesh;
Public property IndexDataAddress: Pointer read GetElementArrayAddress;
Public property IndexDataSize: LongWord read GetElementArrayDataSize;
Published property Mapping;


GLSysHelp v.2.1: CUDA.Import

Unit CUDA.Import

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TCUcontext |
Record TCUmodule |
Record TCUfunction |
Record TCUarray |
Record TCUtexref |
Record TCUevent |
Record TCUstream |
Record TCUgraphicsResource |
Record TCUdevprop |
Record TcudaFuncAttributes |
Record TCUDA_MEMCPY2D |
Record TCUDA_MEMCPY3D |
Record TCUDA_ARRAY_DESCRIPTOR |
Record TCUDA_ARRAY3D_DESCRIPTOR |

Functions and Procedures

function InitCUDA: Boolean;
procedure CloseCUDA;
function InitCUDAFromLibrary(const LibName: WideString): Boolean;
function IsCUDAInitialized: Boolean;
function Get_CUDA_API_Error_String(AError: TCUresult): string;

Types

HGPUNV = Pointer;
PCUarray = ˆTCUarray;
PCUcontext = ˆTCUcontext;
PCUDA_ARRAY_DESCRIPTOR = ˆTCUDA_ARRAY_DESCRIPTOR;
PCUDA_MEMCPY2D = ˆTCUDA_MEMCPY2D;
PCUevent = ˆTCUevent;
PCUfunction = ˆTCUfunction;
PCUgraphicsResource = ˆTCUgraphicsResource;
PCUmodule = ˆTCUmodule;
PCUstream = ˆTCUstream;
PCUtexref = ˆTCUtexref;
PPCUgraphicsResource = ˆPCUgraphicsResource;
TCUaddress_mode = (...);
TcuArray3DCreate = function(var pHandle: PCUarray; var pAllocateArray: TCUDA_ARRAY3D_DESCRIPTOR): TCUresult; stdcall;
TcuArray3DGetDescriptor = function(var pArrayDescriptor : TCUDA_ARRAY3D_DESCRIPTOR; hArray: PCUarray): TCUresult; stdcall;
TcuArrayCreate = function(var pHandle: PCUarray; var pAllocateArray: TCUDA_ARRAY_DESCRIPTOR): TCUresult; stdcall;
TcuArrayDestroy = function(hArray: PCUarray): TCUresult; stdcall;
TcuArrayGetDescriptor = function(var pArrayDescriptor: TCUDA_ARRAY_DESCRIPTOR; hArray: PCUarray): TCUresult; stdcall;
TCUarray_cubemap_face = (...);
TCUarray_format = (...);
TCUcomputemode = (...);
TcuCtxAttach = function(var pctx: PCUcontext; Flags: Cardinal): TCUresult; stdcall;
TcuCtxCreate = function(var pctx: PCUcontext; Flags: Cardinal; dev: TCUdevice): TCUresult; stdcall;
TcuCtxDestroy = function(ctx: PCUcontext): TCUresult; stdcall;
TcuCtxDetach = function(ctx: PCUcontext): TCUresult; stdcall;
TcuCtxGetDevice = function(var device: TCUdevice): TCUresult; stdcall;
TcuCtxPopCurrent = function(var pctx: PCUcontext): TCUresult; stdcall;
TcuCtxPushCurrent = function(ctx: PCUcontext): TCUresult; stdcall;
TcuCtxSynchronize = function: TCUresult; stdcall;
TCUctx_flags = (...);
TcudaFuncCache = (...);
TcudaLimit = (...);
TCUdevice = Integer;
TcuDeviceComputeCapability = function(var major: Integer; var minor: Integer; dev: TCUdevice): TCUresult; stdcall;
TcuDeviceGet = function(var device: TCUdevice; ordinal: Integer): TCUresult; stdcall;
TcuDeviceGetAttribute = function(pi: PSize_t; attrib: TCUdevice_attribute; dev: TCUdevice): TCUresult; stdcall;
TcuDeviceGetCount = function(var count: Integer): TCUresult; stdcall;
TcuDeviceGetName = function(name: PAnsiChar; len: Integer; dev: TCUdevice): TCUresult; stdcall;
TcuDeviceGetProperties = function(var prop: TCUdevprop; dev: TCUdevice): TCUresult; stdcall;
TCUdeviceptr = Pointer;
TcuDeviceTotalMem = function(bytes: PSize_t; dev: TCUdevice): TCUresult; stdcall;
TCUdevice_attribute = (...);
TcuDriverGetVersion = function(out driverVersion: Integer): TCUresult; stdcall;
TcuEventCreate = function(var phEvent: PCUevent; Flags: Cardinal): TCUresult; stdcall;
TcuEventDestroy = function(hEvent: PCUevent): TCUresult; stdcall;
TcuEventElapsedTime = function(var pMilliseconds: Single; hStart: PCUevent; hEnd: PCUevent): TCUresult; stdcall;
TcuEventQuery = function(hEvent: PCUevent): TCUresult; stdcall;
TcuEventRecord = function(hEvent: PCUevent; hStream: PCUstream): TCUresult; stdcall;
TcuEventSynchronize = function(hEvent: PCUevent): TCUresult; stdcall;
TCUevent_flags = (...);
TCUfilter_mode = (...);
TcuFuncGetAttribute = function(var pi: Integer; attrib: TCUfunction_attribute; hfunc: PCUfunction): TCUresult; stdcall;
TcuFuncSetBlockShape = function(hfunc: PCUfunction; x: Integer; y: Integer; z: Integer): TCUresult; stdcall;
TcuFuncSetSharedSize = function(hfunc: PCUfunction; bytes: Cardinal): TCUresult; stdcall;
TCUfunction_attribute = (...);
TcuGLCtxCreate = function(var pctx: PCUcontext; Flags: Cardinal; device: TCUdevice): TCUresult; stdcall;
TcuGLInit = procedure(); stdcall;
TcuGLMapBufferObject = function(var dptr: TCUdeviceptr; var size: Cardinal; buffer: Cardinal): TCUresult; stdcall;
TcuGLMapBufferObjectAsync = function(var dptr: TCUdeviceptr; var size: Cardinal; buffer: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TCUGLmap_flags = (...);
TcuGLRegisterBufferObject = function(buffer: Cardinal): TCUresult; stdcall;
TcuGLSetBufferObjectMapFlags = function(buffer: Cardinal; Flags: Cardinal) : TCUresult; stdcall;
TcuGLUnmapBufferObject = function(buffer: Cardinal): TCUresult; stdcall;
TcuGLUnmapBufferObjectAsync = function(buffer: Cardinal; hStream: PCUstream) : TCUresult; stdcall;
TcuGLUnregisterBufferObject = function(buffer: Cardinal): TCUresult; stdcall;
TcuGraphicsGLRegisterBuffer = function(var pCudaResource: PCUgraphicsResource; buffer: Cardinal; Flags: TCUgraphicsMapResourceFlags): TCUresult; stdcall;
TcuGraphicsGLRegisterImage = function(var pCudaResource: PCUgraphicsResource; image, target: Cardinal; Flags: TCUgraphicsMapResourceFlags): TCUresult; stdcall;
TCUgraphicsMapResourceFlags = (...);
TcuGraphicsMapResources = function(count: Cardinal; resources: PPCUgraphicsResource; hStream: PCUstream): TCUresult; stdcall;
TCUgraphicsRegisterFlags = (...);
TcuGraphicsResourceGetMappedPointer = function(var pDevPtr: TCUdeviceptr; out psize: Cardinal; resource: PCUgraphicsResource): TCUresult; stdcall;
TcuGraphicsResourceSetMapFlags = function(resource: PCUgraphicsResource; Flags: Cardinal): TCUresult; stdcall;
TcuGraphicsSubResourceGetMappedArray = function(var pArray: PCUarray; resource: PCUgraphicsResource; arrayIndex: Cardinal; mipLevel: Cardinal) : TCUresult; stdcall;
TcuGraphicsUnmapResources = function(count: Cardinal; resources: PPCUgraphicsResource; hStream: PCUstream): TCUresult; stdcall;
TcuGraphicsUnregisterResource = function(resource: PCUgraphicsResource): TCUresult; stdcall;
TcuInit = function(Flags: Cardinal): TCUresult; stdcall;
TCUjit_fallback = (...);
TCUjit_option = (...);
TCUjit_target = (...);
TcuLaunch = function(f: PCUfunction): TCUresult; stdcall;
TcuLaunchGrid = function(f: PCUfunction; grid_width: Integer; grid_height: Integer): TCUresult; stdcall;
TcuLaunchGridAsync = function(f: PCUfunction; grid_width: Integer; grid_height: Integer; hStream: PCUstream): TCUresult; stdcall;
TcuMemAlloc = function(var dptr: TCUdeviceptr; bytesize: Cardinal): TCUresult; stdcall;
TcuMemAllocHost = function(var pp; bytesize: Cardinal): TCUresult; stdcall;
TcuMemAllocPitch = function(var dptr: TCUdeviceptr; var pPitch: Cardinal; WidthInBytes: Cardinal; Height: Cardinal; ElementSizeBytes: Cardinal): TCUresult; stdcall;
TcuMemcpy2D = function(const pCopy: PCUDA_MEMCPY2D): TCUresult; stdcall;
TcuMemcpy2DAsync = function(var pCopy: TCUDA_MEMCPY2D; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpy2DUnaligned = function(var pCopy: TCUDA_MEMCPY2D): TCUresult; stdcall;
TcuMemcpy3D = function(var pCopy: TCUDA_MEMCPY3D): TCUresult; stdcall;
TcuMemcpy3DAsync = function(var pCopy: TCUDA_MEMCPY3D; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyAtoA = function(dstArray: PCUarray; dstIndex: Cardinal; srcArray: PCUarray; SrcIndex: Cardinal; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyAtoD = function(dstDevice: TCUdeviceptr; hSrc: PCUarray; SrcIndex: Cardinal; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyAtoH = function(dstHost: Pointer; srcArray: PCUarray; SrcIndex: Cardinal; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyAtoHAsync = function(var dstHost; srcArray: PCUstream; SrcIndex: Cardinal; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyDtoA = function(dstArray: PCUarray; dstIndex: Cardinal; srcDevice: TCUdeviceptr; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyDtoD = function(dstDevice: TCUdeviceptr; srcDevice: TCUdeviceptr; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyDtoDAsync = function(dstDevice: TCUdeviceptr; srcDevice: TCUdeviceptr; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyDtoH = function(const dstHost: Pointer; srcDevice: TCUdeviceptr; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyDtoHAsync = function(var dstHost; srcDevice: TCUdeviceptr; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyHtoA = function(dstArray: PCUarray; dstIndex: Cardinal; pSrc: Pointer; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyHtoAAsync = function(dstArray: PCUarray; dstIndex: Cardinal; var pSrc; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyHtoD = function(dstDevice: TCUdeviceptr; const srcHost: Pointer; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyHtoDAsync = function(dstDevice: TCUdeviceptr; var srcHost; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemFree = function(dptr: TCUdeviceptr): TCUresult; stdcall;
TcuMemFreeHost = function(p: Pointer): TCUresult; stdcall;
TcuMemGetAddressRange = function(var pbase: TCUdeviceptr; var psize: Cardinal; dptr: TCUdeviceptr): TCUresult; stdcall;
TcuMemGetInfo = function(var free: Cardinal; var total: Cardinal): TCUresult; stdcall;
TcuMemHostAlloc = function(var pp: Pointer; bytesize: Cardinal; Flags: Cardinal): TCUresult; stdcall;
TcuMemHostGetDevicePointer = function(var pdptr: TCUdeviceptr; p: Pointer; Flags: Cardinal): TCUresult; stdcall;
TcuMemHostGetFlags = function(var pFlags: Cardinal; var p): TCUresult; stdcall;
TCUmemorytype = (...);
TcuMemsetD16 = function(dstDevice: TCUdeviceptr; uw: Word; N: Cardinal): TCUresult; stdcall;
TcuMemsetD2D16 = function(dstDevice: TCUdeviceptr; dstPitch: Cardinal; uw: Word; Width: Cardinal; Height: Cardinal): TCUresult; stdcall;
TcuMemsetD2D32 = function(dstDevice: TCUdeviceptr; dstPitch: Cardinal; ui: Cardinal; Width: Cardinal; Height: Cardinal): TCUresult; stdcall;
TcuMemsetD2D8 = function(dstDevice: TCUdeviceptr; dstPitch: Cardinal; ub: Byte; Width: Cardinal; Height: Cardinal): TCUresult; stdcall;
TcuMemsetD32 = function(dstDevice: TCUdeviceptr; ui: Cardinal; N: Cardinal): TCUresult; stdcall;
TcuMemsetD8 = function(dstDevice: TCUdeviceptr; ub: Byte; N: Cardinal): TCUresult; stdcall;
TcuModuleGetFunction = function(out hfunc: PCUfunction; hmod: PCUmodule; const name: PAnsiChar): TCUresult; stdcall;
TcuModuleGetGlobal = function(out dptr: TCUdeviceptr; var bytes: Cardinal; hmod: PCUmodule; const name: PAnsiChar): TCUresult; stdcall;
TcuModuleGetTexRef = function(out pTexRef: PCUtexref; hmod: PCUmodule; const name: PAnsiChar): TCUresult; stdcall;
TcuModuleLoad = function(var module: PCUmodule; const fname: PAnsiChar): TCUresult; stdcall;
TcuModuleLoadData = function(var module: PCUmodule; const image: PAnsiChar): TCUresult; stdcall;
TcuModuleLoadDataEx = function(var module: PCUmodule; var image; numOptions: Cardinal; var options: TCUjit_option; var optionValues): TCUresult; stdcall;
TcuModuleLoadFatBinary = function(var module: PCUmodule; var fatCubin): TCUresult; stdcall;
TcuModuleUnload = function(hmod: PCUmodule): TCUresult; stdcall;
TcuParamSetf = function(hfunc: PCUfunction; offset: Integer; value: Single) : TCUresult; stdcall;
TcuParamSeti = function(hfunc: PCUfunction; offset: Integer; value: Cardinal) : TCUresult; stdcall;
TcuParamSetSize = function(hfunc: PCUfunction; numbytes: Cardinal): TCUresult; stdcall;
TcuParamSetTexRef = function(hfunc: PCUfunction; texunit: Integer; hTexRef: PCUtexref): TCUresult; stdcall;
TcuParamSetv = function(hfunc: PCUfunction; offset: Integer; var ptr; numbytes: Cardinal): TCUresult; stdcall;
TCUresult = type Cardinal;
TcuStreamCreate = function(var phStream: PCUstream; Flags: Cardinal): TCUresult; stdcall;
TcuStreamDestroy = function(hStream: PCUstream): TCUresult; stdcall;
TcuStreamQuery = function(hStream: PCUstream): TCUresult; stdcall;
TcuStreamSynchronize = function(hStream: PCUstream): TCUresult; stdcall;
TcuTexRefCreate = function(var pTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefDestroy = function(hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetAddress = function(var pdptr: TCUdeviceptr; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetAddressMode = function(var pam: TCUaddress_mode; hTexRef: PCUtexref; dim: Integer): TCUresult; stdcall;
TcuTexRefGetArray = function(var phArray: PCUarray; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetFilterMode = function(var pfm: TCUfilter_mode; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetFlags = function(var pFlags: Cardinal; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetFormat = function(var pFormat: TCUarray_format; var pNumChannels: Integer; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefSetAddress = function(var ByteOffset: Cardinal; hTexRef: PCUtexref; dptr: TCUdeviceptr; bytes: Cardinal): TCUresult; stdcall;
TcuTexRefSetAddress2D = function(hTexRef: PCUtexref; var desc: TCUDA_ARRAY_DESCRIPTOR; dptr: TCUdeviceptr; Pitch: Cardinal) : TCUresult; stdcall;
TcuTexRefSetAddressMode = function(hTexRef: PCUtexref; dim: Integer; am: TCUaddress_mode): TCUresult; stdcall;
TcuTexRefSetArray = function(hTexRef: PCUtexref; hArray: PCUarray; Flags: Cardinal): TCUresult; stdcall;
TcuTexRefSetFilterMode = function(hTexRef: PCUtexref; fm: TCUfilter_mode) : TCUresult; stdcall;
TcuTexRefSetFlags = function(hTexRef: PCUtexref; Flags: Cardinal): TCUresult; stdcall;
TcuTexRefSetFormat = function(hTexRef: PCUtexref; fmt: TCUarray_format; NumPackedComponents: Integer): TCUresult; stdcall;
TcuWGLGetDevice = function(var pDevice: TCUdevice; hGpu: HGPUNV): TCUresult; stdcall;
TDim3 = array [0 .. 2] of LongWord;

Constants

CUDAAPIDLL = 'nvcuda.dll';
CUDA_SUCCESS: TCUresult = 0;
CUDA_ERROR_INVALID_VALUE = 1;
CUDA_ERROR_OUT_OF_MEMORY = 2;
CUDA_ERROR_NOT_INITIALIZED = 3;
CUDA_ERROR_DEINITIALIZED = 4;
CUDA_ERROR_NO_DEVICE = 100;
CUDA_ERROR_INVALID_DEVICE = 101;
CUDA_ERROR_INVALID_IMAGE = 200;
CUDA_ERROR_INVALID_CONTEXT = 201;
CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202;
CUDA_ERROR_MAP_FAILED = 205;
CUDA_ERROR_UNMAP_FAILED = 206;
CUDA_ERROR_ARRAY_IS_MAPPED = 207;
CUDA_ERROR_ALREADY_MAPPED = 208;
CUDA_ERROR_NO_BINARY_FOR_GPU = 209;
CUDA_ERROR_ALREADY_ACQUIRED = 210;
CUDA_ERROR_NOT_MAPPED = 211;
CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212;
CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213;
CUDA_ERROR_INVALID_SOURCE = 300;
CUDA_ERROR_FILE_NOT_FOUND = 301;
CUDA_ERROR_INVALID_HANDLE = 400;
CUDA_ERROR_NOT_FOUND = 500;
CUDA_ERROR_NOT_READY = 600;
CUDA_ERROR_LAUNCH_FAILED = 700;
CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701;
CUDA_ERROR_LAUNCH_TIMEOUT = 702;
CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703;
CUDA_ERROR_POINTER_IS_64BIT = 800;
CUDA_ERROR_SIZE_IS_64BIT = 801;
CUDA_ERROR_UNKNOWN = 999;
CU_MEMHOSTALLOC_PORTABLE = $01;
CU_MEMHOSTALLOC_DEVICEMAP = $02;
CU_MEMHOSTALLOC_WRITECOMBINED = $04;
CU_TRSA_OVERRIDE_FORMAT = $01;
CU_TRSF_READ_AS_INTEGER = $01;
CU_TRSF_NORMALIZED_COORDINATES = $02;
CU_PARAM_TR_DEFAULT = -1;

Variables

cuInit: TcuInit;
cuDriverGetVersion: TcuDriverGetVersion;
cuDeviceGet: TcuDeviceGet;
cuDeviceGetCount: TcuDeviceGetCount;
cuDeviceGetName: TcuDeviceGetName;
cuDeviceComputeCapability: TcuDeviceComputeCapability;
cuDeviceTotalMem: TcuDeviceTotalMem;
cuDeviceGetProperties: TcuDeviceGetProperties;
cuDeviceGetAttribute: TcuDeviceGetAttribute;
cuCtxCreate: TcuCtxCreate;
cuCtxDestroy: TcuCtxDestroy;
cuCtxAttach: TcuCtxAttach;
cuCtxDetach: TcuCtxDetach;
cuCtxPushCurrent: TcuCtxPushCurrent;
cuCtxPopCurrent: TcuCtxPopCurrent;
cuCtxGetDevice: TcuCtxGetDevice;
cuCtxSynchronize: TcuCtxSynchronize;
cuModuleLoad: TcuModuleLoad;
cuModuleLoadData: TcuModuleLoadData;
cuModuleLoadDataEx: TcuModuleLoadDataEx;
cuModuleLoadFatBinary: TcuModuleLoadFatBinary;
cuModuleUnload: TcuModuleUnload;
cuModuleGetFunction: TcuModuleGetFunction;
cuModuleGetGlobal: TcuModuleGetGlobal;
cuModuleGetTexRef: TcuModuleGetTexRef;
cuMemGetInfo: TcuMemGetInfo;
cuMemAlloc: TcuMemAlloc;
cuMemAllocPitch: TcuMemAllocPitch;
cuMemFree: TcuMemFree;
cuMemGetAddressRange: TcuMemGetAddressRange;
cuMemAllocHost: TcuMemAllocHost;
cuMemFreeHost: TcuMemFreeHost;
cuMemHostAlloc: TcuMemHostAlloc;
cuMemHostGetDevicePointer: TcuMemHostGetDevicePointer;
cuMemHostGetFlags: TcuMemHostGetFlags;
cuMemcpyHtoD: TcuMemcpyHtoD;
cuMemcpyDtoH: TcuMemcpyDtoH;
cuMemcpyDtoD: TcuMemcpyDtoD;
cuMemcpyDtoDAsync: TcuMemcpyDtoDAsync;
cuMemcpyDtoA: TcuMemcpyDtoA;
cuMemcpyAtoD: TcuMemcpyAtoD;
cuMemcpyHtoA: TcuMemcpyHtoA;
cuMemcpyAtoH: TcuMemcpyAtoH;
cuMemcpyAtoA: TcuMemcpyAtoA;
cuMemcpy2D: TcuMemcpy2D;
cuMemcpy2DUnaligned: TcuMemcpy2DUnaligned;
cuMemcpy3D: TcuMemcpy3D;
cuMemcpyHtoDAsync: TcuMemcpyHtoDAsync;
cuMemcpyDtoHAsync: TcuMemcpyDtoHAsync;
cuMemcpyHtoAAsync: TcuMemcpyHtoAAsync;
cuMemcpyAtoHAsync: TcuMemcpyAtoHAsync;
cuMemcpy2DAsync: TcuMemcpy2DAsync;
cuMemcpy3DAsync: TcuMemcpy3DAsync;
cuMemsetD8: TcuMemsetD8;
cuMemsetD16: TcuMemsetD16;
cuMemsetD32: TcuMemsetD32;
cuMemsetD2D8: TcuMemsetD2D8;
cuMemsetD2D16: TcuMemsetD2D16;
cuMemsetD2D32: TcuMemsetD2D32;
cuFuncSetBlockShape: TcuFuncSetBlockShape;
cuFuncSetSharedSize: TcuFuncSetSharedSize;
cuFuncGetAttribute: TcuFuncGetAttribute;
cuArrayCreate: TcuArrayCreate;
cuArrayGetDescriptor: TcuArrayGetDescriptor;
cuArrayDestroy: TcuArrayDestroy;
cuArray3DCreate: TcuArray3DCreate;
cuArray3DGetDescriptor: TcuArray3DGetDescriptor;
cuTexRefCreate: TcuTexRefCreate;
cuTexRefDestroy: TcuTexRefDestroy;
cuTexRefSetArray: TcuTexRefSetArray;
cuTexRefSetAddress: TcuTexRefSetAddress;
cuTexRefSetAddress2D: TcuTexRefSetAddress2D;
cuTexRefSetFormat: TcuTexRefSetFormat;
cuTexRefSetAddressMode: TcuTexRefSetAddressMode;
cuTexRefSetFilterMode: TcuTexRefSetFilterMode;
cuTexRefSetFlags: TcuTexRefSetFlags;
cuTexRefGetAddress: TcuTexRefGetAddress;
cuTexRefGetArray: TcuTexRefGetArray;
cuTexRefGetAddressMode: TcuTexRefGetAddressMode;
cuTexRefGetFilterMode: TcuTexRefGetFilterMode;
cuTexRefGetFormat: TcuTexRefGetFormat;
cuTexRefGetFlags: TcuTexRefGetFlags;
cuParamSetSize: TcuParamSetSize;
cuParamSeti: TcuParamSeti;
cuParamSetf: TcuParamSetf;
cuParamSetv: TcuParamSetv;
cuParamSetTexRef: TcuParamSetTexRef;
cuLaunch: TcuLaunch;
cuLaunchGrid: TcuLaunchGrid;
cuLaunchGridAsync: TcuLaunchGridAsync;
cuEventCreate: TcuEventCreate;
cuEventRecord: TcuEventRecord;
cuEventQuery: TcuEventQuery;
cuEventSynchronize: TcuEventSynchronize;
cuEventDestroy: TcuEventDestroy;
cuEventElapsedTime: TcuEventElapsedTime;
cuStreamCreate: TcuStreamCreate;
cuStreamQuery: TcuStreamQuery;
cuStreamSynchronize: TcuStreamSynchronize;
cuStreamDestroy: TcuStreamDestroy;
cuGLInit: TcuGLInit;
cuGLCtxCreate: TcuGLCtxCreate;
cuGraphicsGLRegisterBuffer: TcuGraphicsGLRegisterBuffer;
cuGraphicsGLRegisterImage: TcuGraphicsGLRegisterImage;
cuWGLGetDevice: TcuWGLGetDevice;
cuGraphicsUnregisterResource: TcuGraphicsUnregisterResource;
cuGraphicsSubResourceGetMappedArray: TcuGraphicsSubResourceGetMappedArray;
cuGraphicsResourceGetMappedPointer: TcuGraphicsResourceGetMappedPointer;
cuGraphicsResourceSetMapFlags: TcuGraphicsResourceSetMapFlags;
cuGraphicsMapResources: TcuGraphicsMapResources;
cuGraphicsUnmapResources: TcuGraphicsUnmapResources;
cuGLRegisterBufferObject: TcuGLRegisterBufferObject;
cuGLMapBufferObject: TcuGLMapBufferObject;
cuGLUnmapBufferObject: TcuGLUnmapBufferObject;
cuGLUnregisterBufferObject: TcuGLUnregisterBufferObject;
cuGLSetBufferObjectMapFlags: TcuGLSetBufferObjectMapFlags;
cuGLMapBufferObjectAsync: TcuGLMapBufferObjectAsync;
cuGLUnmapBufferObjectAsync: TcuGLUnmapBufferObjectAsync;

Description

Functions and Procedures

function InitCUDA: Boolean;
procedure CloseCUDA;
function InitCUDAFromLibrary(const LibName: WideString): Boolean;
function IsCUDAInitialized: Boolean;
function Get_CUDA_API_Error_String(AError: TCUresult): string;

Types

HGPUNV = Pointer;
PCUarray = ˆTCUarray;

CUDA array

PCUcontext = ˆTCUcontext;

CUDA context

PCUDA_ARRAY_DESCRIPTOR = ˆTCUDA_ARRAY_DESCRIPTOR;

Array descriptor

PCUDA_MEMCPY2D = ˆTCUDA_MEMCPY2D;

2D memory copy parameters

PCUevent = ˆTCUevent;

CUDA event

PCUfunction = ˆTCUfunction;

CUDA function

PCUgraphicsResource = ˆTCUgraphicsResource;
PCUmodule = ˆTCUmodule;

CUDA module

PCUstream = ˆTCUstream;

CUDA stream

PCUtexref = ˆTCUtexref;

CUDA texture reference

PPCUgraphicsResource = ˆPCUgraphicsResource;

CUDA graphics interop resource

TCUaddress_mode = (...);

Texture reference addressing modes

Values
  • CU_TR_ADDRESS_MODE_WRAP = 0: Wrapping address mode
  • CU_TR_ADDRESS_MODE_CLAMP = 1: Clamp to edge address mode
  • CU_TR_ADDRESS_MODE_MIRROR = 2: Mirror address mode
TcuArray3DCreate = function(var pHandle: PCUarray; var pAllocateArray: TCUDA_ARRAY3D_DESCRIPTOR): TCUresult; stdcall;
TcuArray3DGetDescriptor = function(var pArrayDescriptor : TCUDA_ARRAY3D_DESCRIPTOR; hArray: PCUarray): TCUresult; stdcall;
TcuArrayCreate = function(var pHandle: PCUarray; var pAllocateArray: TCUDA_ARRAY_DESCRIPTOR): TCUresult; stdcall;
TcuArrayDestroy = function(hArray: PCUarray): TCUresult; stdcall;
TcuArrayGetDescriptor = function(var pArrayDescriptor: TCUDA_ARRAY_DESCRIPTOR; hArray: PCUarray): TCUresult; stdcall;
TCUarray_cubemap_face = (...);

Array indices for cube faces

Values
  • CU_CUBEMAP_FACE_POSITIVE_X = $00000000: Positive X face of cubemap
  • CU_CUBEMAP_FACE_NEGATIVE_X = $00000001: Negative X face of cubemap
  • CU_CUBEMAP_FACE_POSITIVE_Y = $00000002: Positive Y face of cubemap
  • CU_CUBEMAP_FACE_NEGATIVE_Y = $00000003: Negative Y face of cubemap
  • CU_CUBEMAP_FACE_POSITIVE_Z = $00000004: Positive Z face of cubemap
  • CU_CUBEMAP_FACE_NEGATIVE_Z = $00000005: Negative Z face of cubemap
TCUarray_format = (...);

Array formats

Values
  • CU_AD_FORMAT_UNSIGNED_INT8 = $01: Unsigned 8-bit integers
  • CU_AD_FORMAT_UNSIGNED_INT16 = $02: Unsigned 16-bit integers
  • CU_AD_FORMAT_UNSIGNED_INT32 = $03: Unsigned 32-bit integers
  • CU_AD_FORMAT_SIGNED_INT8 = $08: Signed 8-bit integers
  • CU_AD_FORMAT_SIGNED_INT16 = $09: Signed 16-bit integers
  • CU_AD_FORMAT_SIGNED_INT32 = $0A: Signed 32-bit integers
  • CU_AD_FORMAT_HALF = $10: 16-bit floating point
  • CU_AD_FORMAT_FLOAT = $20: 32-bit floating point
TCUcomputemode = (...);

Compute Modes

Values
  • CU_COMPUTEMODE_DEFAULT = 0: Default compute mode (Multiple contexts allowed per device)
  • CU_COMPUTEMODE_EXCLUSIVE = 1: Compute-exclusive mode (Only one context can be present on this device at a time)
  • CU_COMPUTEMODE_PROHIBITED = 2: Compute-prohibited mode (No contexts can be created on this device at this time)
TcuCtxAttach = function(var pctx: PCUcontext; Flags: Cardinal): TCUresult; stdcall;
TcuCtxCreate = function(var pctx: PCUcontext; Flags: Cardinal; dev: TCUdevice): TCUresult; stdcall;
TcuCtxDestroy = function(ctx: PCUcontext): TCUresult; stdcall;
TcuCtxDetach = function(ctx: PCUcontext): TCUresult; stdcall;
TcuCtxGetDevice = function(var device: TCUdevice): TCUresult; stdcall;
TcuCtxPopCurrent = function(var pctx: PCUcontext): TCUresult; stdcall;
TcuCtxPushCurrent = function(ctx: PCUcontext): TCUresult; stdcall;
TcuCtxSynchronize = function: TCUresult; stdcall;
TCUctx_flags = (...);

Context creation flags

Values
  • CU_CTX_SCHED_AUTO = 0: Automatic scheduling
  • CU_CTX_SCHED_SPIN = 1: Set spin as default scheduling
  • CU_CTX_SCHED_YIELD = 2: Set yield as default scheduling
  • CU_CTX_SCHED_MASK = 3
  • CU_CTX_BLOCKING_SYNC = 4: Use blocking synchronization
  • CU_CTX_MAP_HOST = 8: Support mapped pinned allocations
  • CU_CTX_FLAGS_MASK = 15
TcudaFuncCache = (...);

* * CUDA function cache configurations

Values
  • cudaFuncCachePreferNone = 0: Default function cache configuration, no preference
  • cudaFuncCachePreferShared = 1: Prefer larger shared memory and smaller L1 cache
  • cudaFuncCachePreferL1 = 2: Prefer larger L1 cache and smaller shared memory
TcudaLimit = (...);

* * CUDA Limits

Values
  • cudaLimitStackSize = $00: GPU thread stack size
  • cudaLimitPrintfFifoSize = $01: GPU printf FIFO size
TCUdevice = Integer;

CUDA device

TcuDeviceComputeCapability = function(var major: Integer; var minor: Integer; dev: TCUdevice): TCUresult; stdcall;
TcuDeviceGet = function(var device: TCUdevice; ordinal: Integer): TCUresult; stdcall;
TcuDeviceGetAttribute = function(pi: PSize_t; attrib: TCUdevice_attribute; dev: TCUdevice): TCUresult; stdcall;
TcuDeviceGetCount = function(var count: Integer): TCUresult; stdcall;
TcuDeviceGetName = function(name: PAnsiChar; len: Integer; dev: TCUdevice): TCUresult; stdcall;
TcuDeviceGetProperties = function(var prop: TCUdevprop; dev: TCUdevice): TCUresult; stdcall;
TCUdeviceptr = Pointer;

CUDA device pointer

TcuDeviceTotalMem = function(bytes: PSize_t; dev: TCUdevice): TCUresult; stdcall;
TCUdevice_attribute = (...);

Device properties

Values
  • CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1: Maximum number of threads per block
  • CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2: Maximum block dimension X
  • CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3: Maximum block dimension Y
  • CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4: Maximum block dimension Z
  • CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5: Maximum grid dimension X
  • CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6: Maximum grid dimension Y
  • CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7: Maximum grid dimension Z
  • CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8: Maximum shared memory available per block in bytes
  • CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
  • CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9: Memory available on device for __constant__ variables in a CUDA C kernel in bytes
  • CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10: Warp size in threads
  • CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11: Maximum pitch in bytes allowed by memory copies
  • CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12: Maximum number of 32-bit registers available per block
  • CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
  • CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13: Peak clock frequency in kilohertz
  • CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14: Alignment requirement for textures
  • CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15: Device can possibly copy memory and execute a kernel concurrently
  • CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16: Number of multiprocessors on device
  • CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17: Specifies whether there is a run time limit on kernels
  • CU_DEVICE_ATTRIBUTE_INTEGRATED = 18: Device is integrated with host memory
  • CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19: Device can map host memory into CUDA address space
  • CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20: Compute mode (See ::CUcomputemode for details)
TcuDriverGetVersion = function(out driverVersion: Integer): TCUresult; stdcall;
TcuEventCreate = function(var phEvent: PCUevent; Flags: Cardinal): TCUresult; stdcall;
TcuEventDestroy = function(hEvent: PCUevent): TCUresult; stdcall;
TcuEventElapsedTime = function(var pMilliseconds: Single; hStart: PCUevent; hEnd: PCUevent): TCUresult; stdcall;
TcuEventQuery = function(hEvent: PCUevent): TCUresult; stdcall;
TcuEventRecord = function(hEvent: PCUevent; hStream: PCUstream): TCUresult; stdcall;
TcuEventSynchronize = function(hEvent: PCUevent): TCUresult; stdcall;
TCUevent_flags = (...);

Event creation flags

Values
  • CU_EVENT_DEFAULT = 0: Default event flag
  • CU_EVENT_BLOCKING_SYNC = 1: Event uses blocking synchronization
TCUfilter_mode = (...);

Texture reference filtering modes

Values
  • CU_TR_FILTER_MODE_POINT = 0: Point filter mode
  • CU_TR_FILTER_MODE_LINEAR = 1: Linear filter mode
TcuFuncGetAttribute = function(var pi: Integer; attrib: TCUfunction_attribute; hfunc: PCUfunction): TCUresult; stdcall;
TcuFuncSetBlockShape = function(hfunc: PCUfunction; x: Integer; y: Integer; z: Integer): TCUresult; stdcall;
TcuFuncSetSharedSize = function(hfunc: PCUfunction; bytes: Cardinal): TCUresult; stdcall;
TCUfunction_attribute = (...);

Function properties

Values
  • CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0: The number of threads beyond which a launch of the function would fail. * This number depends on both the function and the device on which the * function is currently loaded.
  • CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1: The size in bytes of statically-allocated shared memory required by * this function. This does not include dynamically-allocated shared * memory requested by the user at runtime.
  • CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2: * The size in bytes of user-allocated constant memory required by this * function.
  • CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3: * The size in bytes of thread local memory used by this function.
  • CU_FUNC_ATTRIBUTE_NUM_REGS = 4: * The number of registers used by each thread of this function.
  • CU_FUNC_ATTRIBUTE_MAX
TcuGLCtxCreate = function(var pctx: PCUcontext; Flags: Cardinal; device: TCUdevice): TCUresult; stdcall;
TcuGLInit = procedure(); stdcall;
TcuGLMapBufferObject = function(var dptr: TCUdeviceptr; var size: Cardinal; buffer: Cardinal): TCUresult; stdcall;
TcuGLMapBufferObjectAsync = function(var dptr: TCUdeviceptr; var size: Cardinal; buffer: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TCUGLmap_flags = (...);

Flags to map or unmap a resource

Values
  • CU_GL_MAP_RESOURCE_FLAGS_NONE
  • CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY
  • CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
TcuGLRegisterBufferObject = function(buffer: Cardinal): TCUresult; stdcall;
TcuGLSetBufferObjectMapFlags = function(buffer: Cardinal; Flags: Cardinal) : TCUresult; stdcall;
TcuGLUnmapBufferObject = function(buffer: Cardinal): TCUresult; stdcall;
TcuGLUnmapBufferObjectAsync = function(buffer: Cardinal; hStream: PCUstream) : TCUresult; stdcall;
TcuGLUnregisterBufferObject = function(buffer: Cardinal): TCUresult; stdcall;
TcuGraphicsGLRegisterBuffer = function(var pCudaResource: PCUgraphicsResource; buffer: Cardinal; Flags: TCUgraphicsMapResourceFlags): TCUresult; stdcall;
TcuGraphicsGLRegisterImage = function(var pCudaResource: PCUgraphicsResource; image, target: Cardinal; Flags: TCUgraphicsMapResourceFlags): TCUresult; stdcall;
TCUgraphicsMapResourceFlags = (...);

Flags for mapping and unmapping interop resources

Values
  • CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = $00000000
  • CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = $00000001
  • CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = $00000002
TcuGraphicsMapResources = function(count: Cardinal; resources: PPCUgraphicsResource; hStream: PCUstream): TCUresult; stdcall;
TCUgraphicsRegisterFlags = (...);

Flags to register a graphics resource

Values
  • CU_GRAPHICS_REGISTER_FLAGS_NONE = $00000000
TcuGraphicsResourceGetMappedPointer = function(var pDevPtr: TCUdeviceptr; out psize: Cardinal; resource: PCUgraphicsResource): TCUresult; stdcall;
TcuGraphicsResourceSetMapFlags = function(resource: PCUgraphicsResource; Flags: Cardinal): TCUresult; stdcall;
TcuGraphicsSubResourceGetMappedArray = function(var pArray: PCUarray; resource: PCUgraphicsResource; arrayIndex: Cardinal; mipLevel: Cardinal) : TCUresult; stdcall;
TcuGraphicsUnmapResources = function(count: Cardinal; resources: PPCUgraphicsResource; hStream: PCUstream): TCUresult; stdcall;
TcuGraphicsUnregisterResource = function(resource: PCUgraphicsResource): TCUresult; stdcall;
TcuInit = function(Flags: Cardinal): TCUresult; stdcall;
TCUjit_fallback = (...);

Cubin matching fallback strategies

Values
  • CU_PREFER_PTX = 0: ** Prefer to compile ptx */
  • CU_PREFER_BINARY: ** Prefer to fall back to compatible binary code */
TCUjit_option = (...);

Online compiler options

Values
  • CU_JIT_MAX_REGISTERS = 0: * Max number of registers that a thread may use.
  • CU_JIT_THREADS_PER_BLOCK: * IN: Specifies minimum number of threads per block to target compilation * for\n * OUT: Returns the number of threads the compiler actually targeted. * This restricts the resource utilization fo the compiler (e.g. max * registers) such that a block with the given number of threads should be * able to launch based on register limitations. Note, this option does not * currently take into account any other resource limitations, such as * shared memory utilization.
  • CU_JIT_WALL_TIME: * Returns a float value in the option of the wall clock time, in * milliseconds, spent creating the cubin
  • CU_JIT_INFO_LOG_BUFFER: * Pointer to a buffer in which to print any log messsages from PTXAS * that are informational in nature
  • CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES: * IN: Log buffer size in bytes. Log messages will be capped at this size * (including null terminator)\n * OUT: Amount of log buffer filled with messages
  • CU_JIT_ERROR_LOG_BUFFER: * Pointer to a buffer in which to print any log messages from PTXAS that * reflect errors
  • CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES: * IN: Log buffer size in bytes. Log messages will be capped at this size * (including null terminator)\n * OUT: Amount of log buffer filled with messages
  • CU_JIT_OPTIMIZATION_LEVEL: * Level of optimizations to apply to generated code (0 - 4), with 4 * being the default and highest level of optimizations.
  • CU_JIT_TARGET_FROM_CUCONTEXT: * No option value required. Determines the target based on the current * attached context (default)
  • CU_JIT_TARGET: * Target is chosen based on supplied CUjit_target_enum.
  • CU_JIT_FALLBACK_STRATEGY: * Specifies choice of fallback strategy if matching cubin is not found. * Choice is based on supplied CUjit_fallback_enum.
TCUjit_target = (...);

Online compilation targets

Values
  • CU_TARGET_COMPUTE_10 = 0: Compute device class 1.0
  • CU_TARGET_COMPUTE_11: Compute device class 1.1
  • CU_TARGET_COMPUTE_12: Compute device class 1.2
  • CU_TARGET_COMPUTE_13: Compute device class 1.3
TcuLaunch = function(f: PCUfunction): TCUresult; stdcall;
TcuLaunchGrid = function(f: PCUfunction; grid_width: Integer; grid_height: Integer): TCUresult; stdcall;
TcuLaunchGridAsync = function(f: PCUfunction; grid_width: Integer; grid_height: Integer; hStream: PCUstream): TCUresult; stdcall;
TcuMemAlloc = function(var dptr: TCUdeviceptr; bytesize: Cardinal): TCUresult; stdcall;
TcuMemAllocHost = function(var pp; bytesize: Cardinal): TCUresult; stdcall;
TcuMemAllocPitch = function(var dptr: TCUdeviceptr; var pPitch: Cardinal; WidthInBytes: Cardinal; Height: Cardinal; ElementSizeBytes: Cardinal): TCUresult; stdcall;
TcuMemcpy2D = function(const pCopy: PCUDA_MEMCPY2D): TCUresult; stdcall;
TcuMemcpy2DAsync = function(var pCopy: TCUDA_MEMCPY2D; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpy2DUnaligned = function(var pCopy: TCUDA_MEMCPY2D): TCUresult; stdcall;
TcuMemcpy3D = function(var pCopy: TCUDA_MEMCPY3D): TCUresult; stdcall;
TcuMemcpy3DAsync = function(var pCopy: TCUDA_MEMCPY3D; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyAtoA = function(dstArray: PCUarray; dstIndex: Cardinal; srcArray: PCUarray; SrcIndex: Cardinal; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyAtoD = function(dstDevice: TCUdeviceptr; hSrc: PCUarray; SrcIndex: Cardinal; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyAtoH = function(dstHost: Pointer; srcArray: PCUarray; SrcIndex: Cardinal; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyAtoHAsync = function(var dstHost; srcArray: PCUstream; SrcIndex: Cardinal; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyDtoA = function(dstArray: PCUarray; dstIndex: Cardinal; srcDevice: TCUdeviceptr; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyDtoD = function(dstDevice: TCUdeviceptr; srcDevice: TCUdeviceptr; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyDtoDAsync = function(dstDevice: TCUdeviceptr; srcDevice: TCUdeviceptr; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyDtoH = function(const dstHost: Pointer; srcDevice: TCUdeviceptr; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyDtoHAsync = function(var dstHost; srcDevice: TCUdeviceptr; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyHtoA = function(dstArray: PCUarray; dstIndex: Cardinal; pSrc: Pointer; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyHtoAAsync = function(dstArray: PCUarray; dstIndex: Cardinal; var pSrc; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemcpyHtoD = function(dstDevice: TCUdeviceptr; const srcHost: Pointer; ByteCount: Cardinal): TCUresult; stdcall;
TcuMemcpyHtoDAsync = function(dstDevice: TCUdeviceptr; var srcHost; ByteCount: Cardinal; hStream: PCUstream): TCUresult; stdcall;
TcuMemFree = function(dptr: TCUdeviceptr): TCUresult; stdcall;
TcuMemFreeHost = function(p: Pointer): TCUresult; stdcall;
TcuMemGetAddressRange = function(var pbase: TCUdeviceptr; var psize: Cardinal; dptr: TCUdeviceptr): TCUresult; stdcall;
TcuMemGetInfo = function(var free: Cardinal; var total: Cardinal): TCUresult; stdcall;
TcuMemHostAlloc = function(var pp: Pointer; bytesize: Cardinal; Flags: Cardinal): TCUresult; stdcall;
TcuMemHostGetDevicePointer = function(var pdptr: TCUdeviceptr; p: Pointer; Flags: Cardinal): TCUresult; stdcall;
TcuMemHostGetFlags = function(var pFlags: Cardinal; var p): TCUresult; stdcall;
TCUmemorytype = (...);

Memory types

Values
  • CU_MEMORYTYPE_HOST = $01: Host memory
  • CU_MEMORYTYPE_DEVICE = $02: Device memory
  • CU_MEMORYTYPE_ARRAY = $03: Array memory
TcuMemsetD16 = function(dstDevice: TCUdeviceptr; uw: Word; N: Cardinal): TCUresult; stdcall;
TcuMemsetD2D16 = function(dstDevice: TCUdeviceptr; dstPitch: Cardinal; uw: Word; Width: Cardinal; Height: Cardinal): TCUresult; stdcall;
TcuMemsetD2D32 = function(dstDevice: TCUdeviceptr; dstPitch: Cardinal; ui: Cardinal; Width: Cardinal; Height: Cardinal): TCUresult; stdcall;
TcuMemsetD2D8 = function(dstDevice: TCUdeviceptr; dstPitch: Cardinal; ub: Byte; Width: Cardinal; Height: Cardinal): TCUresult; stdcall;
TcuMemsetD32 = function(dstDevice: TCUdeviceptr; ui: Cardinal; N: Cardinal): TCUresult; stdcall;
TcuMemsetD8 = function(dstDevice: TCUdeviceptr; ub: Byte; N: Cardinal): TCUresult; stdcall;
TcuModuleGetFunction = function(out hfunc: PCUfunction; hmod: PCUmodule; const name: PAnsiChar): TCUresult; stdcall;
TcuModuleGetGlobal = function(out dptr: TCUdeviceptr; var bytes: Cardinal; hmod: PCUmodule; const name: PAnsiChar): TCUresult; stdcall;
TcuModuleGetTexRef = function(out pTexRef: PCUtexref; hmod: PCUmodule; const name: PAnsiChar): TCUresult; stdcall;
TcuModuleLoad = function(var module: PCUmodule; const fname: PAnsiChar): TCUresult; stdcall;
TcuModuleLoadData = function(var module: PCUmodule; const image: PAnsiChar): TCUresult; stdcall;
TcuModuleLoadDataEx = function(var module: PCUmodule; var image; numOptions: Cardinal; var options: TCUjit_option; var optionValues): TCUresult; stdcall;
TcuModuleLoadFatBinary = function(var module: PCUmodule; var fatCubin): TCUresult; stdcall;
TcuModuleUnload = function(hmod: PCUmodule): TCUresult; stdcall;
TcuParamSetf = function(hfunc: PCUfunction; offset: Integer; value: Single) : TCUresult; stdcall;
TcuParamSeti = function(hfunc: PCUfunction; offset: Integer; value: Cardinal) : TCUresult; stdcall;
TcuParamSetSize = function(hfunc: PCUfunction; numbytes: Cardinal): TCUresult; stdcall;
TcuParamSetTexRef = function(hfunc: PCUfunction; texunit: Integer; hTexRef: PCUtexref): TCUresult; stdcall;
TcuParamSetv = function(hfunc: PCUfunction; offset: Integer; var ptr; numbytes: Cardinal): TCUresult; stdcall;
TCUresult = type Cardinal;

************************************ ** ** Error codes ** ***********************************/ Error codes

TcuStreamCreate = function(var phStream: PCUstream; Flags: Cardinal): TCUresult; stdcall;
TcuStreamDestroy = function(hStream: PCUstream): TCUresult; stdcall;
TcuStreamQuery = function(hStream: PCUstream): TCUresult; stdcall;
TcuStreamSynchronize = function(hStream: PCUstream): TCUresult; stdcall;
TcuTexRefCreate = function(var pTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefDestroy = function(hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetAddress = function(var pdptr: TCUdeviceptr; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetAddressMode = function(var pam: TCUaddress_mode; hTexRef: PCUtexref; dim: Integer): TCUresult; stdcall;
TcuTexRefGetArray = function(var phArray: PCUarray; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetFilterMode = function(var pfm: TCUfilter_mode; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetFlags = function(var pFlags: Cardinal; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefGetFormat = function(var pFormat: TCUarray_format; var pNumChannels: Integer; hTexRef: PCUtexref): TCUresult; stdcall;
TcuTexRefSetAddress = function(var ByteOffset: Cardinal; hTexRef: PCUtexref; dptr: TCUdeviceptr; bytes: Cardinal): TCUresult; stdcall;
TcuTexRefSetAddress2D = function(hTexRef: PCUtexref; var desc: TCUDA_ARRAY_DESCRIPTOR; dptr: TCUdeviceptr; Pitch: Cardinal) : TCUresult; stdcall;
TcuTexRefSetAddressMode = function(hTexRef: PCUtexref; dim: Integer; am: TCUaddress_mode): TCUresult; stdcall;
TcuTexRefSetArray = function(hTexRef: PCUtexref; hArray: PCUarray; Flags: Cardinal): TCUresult; stdcall;
TcuTexRefSetFilterMode = function(hTexRef: PCUtexref; fm: TCUfilter_mode) : TCUresult; stdcall;
TcuTexRefSetFlags = function(hTexRef: PCUtexref; Flags: Cardinal): TCUresult; stdcall;
TcuTexRefSetFormat = function(hTexRef: PCUtexref; fmt: TCUarray_format; NumPackedComponents: Integer): TCUresult; stdcall;
TcuWGLGetDevice = function(var pDevice: TCUdevice; hGpu: HGPUNV): TCUresult; stdcall;
TDim3 = array [0 .. 2] of LongWord;

Constants

CUDAAPIDLL = 'nvcuda.dll';
CUDA_SUCCESS: TCUresult = 0;
CUDA_ERROR_INVALID_VALUE = 1;

< No errors

CUDA_ERROR_OUT_OF_MEMORY = 2;

< Invalid value

CUDA_ERROR_NOT_INITIALIZED = 3;

< Out of memory

CUDA_ERROR_DEINITIALIZED = 4;

< Driver not initialized

CUDA_ERROR_NO_DEVICE = 100;

< Driver deinitialized

CUDA_ERROR_INVALID_DEVICE = 101;

< No CUDA-capable device available

CUDA_ERROR_INVALID_IMAGE = 200;

< Invalid device

CUDA_ERROR_INVALID_CONTEXT = 201;

< Invalid kernel image

CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202;

< Invalid context

CUDA_ERROR_MAP_FAILED = 205;

< Context already current

CUDA_ERROR_UNMAP_FAILED = 206;

< Map failed

CUDA_ERROR_ARRAY_IS_MAPPED = 207;

< Unmap failed

CUDA_ERROR_ALREADY_MAPPED = 208;

< Array is mapped

CUDA_ERROR_NO_BINARY_FOR_GPU = 209;

< Already mapped

CUDA_ERROR_ALREADY_ACQUIRED = 210;

< No binary for GPU

CUDA_ERROR_NOT_MAPPED = 211;

< Already acquired

CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212;

< Not mapped

CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213;

< Mapped resource not available for access as an array

CUDA_ERROR_INVALID_SOURCE = 300;

< Mapped resource not available for access as a pointer

CUDA_ERROR_FILE_NOT_FOUND = 301;

< Invalid source

CUDA_ERROR_INVALID_HANDLE = 400;

< File not found

CUDA_ERROR_NOT_FOUND = 500;

< Invalid handle

CUDA_ERROR_NOT_READY = 600;

< Not found

CUDA_ERROR_LAUNCH_FAILED = 700;

< CUDA not ready

CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701;

< Launch failed

CUDA_ERROR_LAUNCH_TIMEOUT = 702;

< Launch exceeded resources

CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703;

< Launch exceeded timeout

CUDA_ERROR_POINTER_IS_64BIT = 800;

< Launch with incompatible texturing

CUDA_ERROR_SIZE_IS_64BIT = 801;

< Attempted to retrieve 64-bit pointer via 32-bit API function

CUDA_ERROR_UNKNOWN = 999;

< Attempted to retrieve 64-bit size via 32-bit API function

CU_MEMHOSTALLOC_PORTABLE = $01;

* If set, host memory is portable between CUDA contexts. * Flag for ::cuMemHostAlloc()

CU_MEMHOSTALLOC_DEVICEMAP = $02;

* If set, host memory is mapped into CUDA address space and * ::cuMemHostGetDevicePointer() may be called on the host pointer. * Flag for ::cuMemHostAlloc()

CU_MEMHOSTALLOC_WRITECOMBINED = $04;

* If set, host memory is allocated as write-combined - fast to write, * faster to DMA, slow to read except via SSE4 streaming load instruction * (MOVNTDQA). * Flag for ::cuMemHostAlloc()

CU_TRSA_OVERRIDE_FORMAT = $01;

* Override the texref format with a format inferred from the array. * Flag for ::cuTexRefSetArray()

CU_TRSF_READ_AS_INTEGER = $01;

* Read the texture as integers rather than promoting the values to floats * in the range [0,1]. * Flag for ::cuTexRefSetFlags()

CU_TRSF_NORMALIZED_COORDINATES = $02;

* Use normalized texture coordinates in the range [0,1) instead of [0,dim). * Flag for ::cuTexRefSetFlags()

CU_PARAM_TR_DEFAULT = -1;

* For texture references loaded into the module, use default texunit from * texture reference.

Variables

cuInit: TcuInit;
cuDriverGetVersion: TcuDriverGetVersion;
cuDeviceGet: TcuDeviceGet;
cuDeviceGetCount: TcuDeviceGetCount;
cuDeviceGetName: TcuDeviceGetName;
cuDeviceComputeCapability: TcuDeviceComputeCapability;
cuDeviceTotalMem: TcuDeviceTotalMem;
cuDeviceGetProperties: TcuDeviceGetProperties;
cuDeviceGetAttribute: TcuDeviceGetAttribute;
cuCtxCreate: TcuCtxCreate;
cuCtxDestroy: TcuCtxDestroy;
cuCtxAttach: TcuCtxAttach;
cuCtxDetach: TcuCtxDetach;
cuCtxPushCurrent: TcuCtxPushCurrent;
cuCtxPopCurrent: TcuCtxPopCurrent;
cuCtxGetDevice: TcuCtxGetDevice;
cuCtxSynchronize: TcuCtxSynchronize;
cuModuleLoad: TcuModuleLoad;
cuModuleLoadData: TcuModuleLoadData;
cuModuleLoadDataEx: TcuModuleLoadDataEx;
cuModuleLoadFatBinary: TcuModuleLoadFatBinary;
cuModuleUnload: TcuModuleUnload;
cuModuleGetFunction: TcuModuleGetFunction;
cuModuleGetGlobal: TcuModuleGetGlobal;
cuModuleGetTexRef: TcuModuleGetTexRef;
cuMemGetInfo: TcuMemGetInfo;
cuMemAlloc: TcuMemAlloc;
cuMemAllocPitch: TcuMemAllocPitch;
cuMemFree: TcuMemFree;
cuMemGetAddressRange: TcuMemGetAddressRange;
cuMemAllocHost: TcuMemAllocHost;
cuMemFreeHost: TcuMemFreeHost;
cuMemHostAlloc: TcuMemHostAlloc;
cuMemHostGetDevicePointer: TcuMemHostGetDevicePointer;
cuMemHostGetFlags: TcuMemHostGetFlags;
cuMemcpyHtoD: TcuMemcpyHtoD;
cuMemcpyDtoH: TcuMemcpyDtoH;
cuMemcpyDtoD: TcuMemcpyDtoD;
cuMemcpyDtoDAsync: TcuMemcpyDtoDAsync;
cuMemcpyDtoA: TcuMemcpyDtoA;
cuMemcpyAtoD: TcuMemcpyAtoD;
cuMemcpyHtoA: TcuMemcpyHtoA;
cuMemcpyAtoH: TcuMemcpyAtoH;
cuMemcpyAtoA: TcuMemcpyAtoA;
cuMemcpy2D: TcuMemcpy2D;
cuMemcpy2DUnaligned: TcuMemcpy2DUnaligned;
cuMemcpy3D: TcuMemcpy3D;
cuMemcpyHtoDAsync: TcuMemcpyHtoDAsync;
cuMemcpyDtoHAsync: TcuMemcpyDtoHAsync;
cuMemcpyHtoAAsync: TcuMemcpyHtoAAsync;
cuMemcpyAtoHAsync: TcuMemcpyAtoHAsync;
cuMemcpy2DAsync: TcuMemcpy2DAsync;
cuMemcpy3DAsync: TcuMemcpy3DAsync;
cuMemsetD8: TcuMemsetD8;
cuMemsetD16: TcuMemsetD16;
cuMemsetD32: TcuMemsetD32;
cuMemsetD2D8: TcuMemsetD2D8;
cuMemsetD2D16: TcuMemsetD2D16;
cuMemsetD2D32: TcuMemsetD2D32;
cuFuncSetBlockShape: TcuFuncSetBlockShape;
cuFuncSetSharedSize: TcuFuncSetSharedSize;
cuFuncGetAttribute: TcuFuncGetAttribute;
cuArrayCreate: TcuArrayCreate;
cuArrayGetDescriptor: TcuArrayGetDescriptor;
cuArrayDestroy: TcuArrayDestroy;
cuArray3DCreate: TcuArray3DCreate;
cuArray3DGetDescriptor: TcuArray3DGetDescriptor;
cuTexRefCreate: TcuTexRefCreate;
cuTexRefDestroy: TcuTexRefDestroy;
cuTexRefSetArray: TcuTexRefSetArray;
cuTexRefSetAddress: TcuTexRefSetAddress;
cuTexRefSetAddress2D: TcuTexRefSetAddress2D;
cuTexRefSetFormat: TcuTexRefSetFormat;
cuTexRefSetAddressMode: TcuTexRefSetAddressMode;
cuTexRefSetFilterMode: TcuTexRefSetFilterMode;
cuTexRefSetFlags: TcuTexRefSetFlags;
cuTexRefGetAddress: TcuTexRefGetAddress;
cuTexRefGetArray: TcuTexRefGetArray;
cuTexRefGetAddressMode: TcuTexRefGetAddressMode;
cuTexRefGetFilterMode: TcuTexRefGetFilterMode;
cuTexRefGetFormat: TcuTexRefGetFormat;
cuTexRefGetFlags: TcuTexRefGetFlags;
cuParamSetSize: TcuParamSetSize;
cuParamSeti: TcuParamSeti;
cuParamSetf: TcuParamSetf;
cuParamSetv: TcuParamSetv;
cuParamSetTexRef: TcuParamSetTexRef;
cuLaunch: TcuLaunch;
cuLaunchGrid: TcuLaunchGrid;
cuLaunchGridAsync: TcuLaunchGridAsync;
cuEventCreate: TcuEventCreate;
cuEventRecord: TcuEventRecord;
cuEventQuery: TcuEventQuery;
cuEventSynchronize: TcuEventSynchronize;
cuEventDestroy: TcuEventDestroy;
cuEventElapsedTime: TcuEventElapsedTime;
cuStreamCreate: TcuStreamCreate;
cuStreamQuery: TcuStreamQuery;
cuStreamSynchronize: TcuStreamSynchronize;
cuStreamDestroy: TcuStreamDestroy;
cuGLInit: TcuGLInit;
cuGLCtxCreate: TcuGLCtxCreate;
cuGraphicsGLRegisterBuffer: TcuGraphicsGLRegisterBuffer;
cuGraphicsGLRegisterImage: TcuGraphicsGLRegisterImage;
cuWGLGetDevice: TcuWGLGetDevice;
cuGraphicsUnregisterResource: TcuGraphicsUnregisterResource;
cuGraphicsSubResourceGetMappedArray: TcuGraphicsSubResourceGetMappedArray;
cuGraphicsResourceGetMappedPointer: TcuGraphicsResourceGetMappedPointer;
cuGraphicsResourceSetMapFlags: TcuGraphicsResourceSetMapFlags;
cuGraphicsMapResources: TcuGraphicsMapResources;
cuGraphicsUnmapResources: TcuGraphicsUnmapResources;
cuGLRegisterBufferObject: TcuGLRegisterBufferObject;
cuGLMapBufferObject: TcuGLMapBufferObject;
cuGLUnmapBufferObject: TcuGLUnmapBufferObject;
cuGLUnregisterBufferObject: TcuGLUnregisterBufferObject;
cuGLSetBufferObjectMapFlags: TcuGLSetBufferObjectMapFlags;
cuGLMapBufferObjectAsync: TcuGLMapBufferObjectAsync;
cuGLUnmapBufferObjectAsync: TcuGLUnmapBufferObjectAsync;


GLSysHelp v.2.1: CUDA.Import: Record TCUcontext

Record TCUcontext

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUcontext = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUmodule

Record TCUmodule

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUmodule = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUfunction

Record TCUfunction

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUfunction = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUarray

Record TCUarray

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUarray = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUtexref

Record TCUtexref

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUtexref = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUevent

Record TCUevent

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUevent = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUstream

Record TCUstream

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUstream = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUgraphicsResource

Record TCUgraphicsResource

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUgraphicsResource = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: CUDA.Import: Record TCUdevprop

Record TCUdevprop

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUdevprop = record

Description

Legacy device properties

Overview

Fields

Public | maxThreadsPerBlock: Integer;
Public | maxThreadsDim: array [0 .. 2] of Integer;
Public | maxGridSize: array [0 .. 2] of Integer;
Public | sharedMemPerBlock: Integer;
Public | totalConstantMemory: Integer;
Public | SIMDWidth: Integer;
Public | memPitch: Integer;
Public | regsPerBlock: Integer;
Public | clockRate: Integer;
Public | textureAlign: Integer;

Description

Fields

Public maxThreadsPerBlock: Integer;

Maximum number of threads per block

Public maxThreadsDim: array [0 .. 2] of Integer;

Maximum size of each dimension of a block

Public maxGridSize: array [0 .. 2] of Integer;

Maximum size of each dimension of a grid

Public sharedMemPerBlock: Integer;

Shared memory available per block in bytes

Public totalConstantMemory: Integer;

Constant memory available on device in bytes

Public SIMDWidth: Integer;

Warp size in threads

Public memPitch: Integer;

Maximum pitch in bytes allowed by memory copies

Public regsPerBlock: Integer;

32-bit registers available per block

Public clockRate: Integer;

Clock frequency in kilohertz

Public textureAlign: Integer;

Alignment requirement for textures


GLSysHelp v.2.1: CUDA.Import: Record TcudaFuncAttributes

Record TcudaFuncAttributes

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TcudaFuncAttributes = record

Description

* CUDA function attributes

Overview

Fields

Public | sharedSizeBytes: NativeUInt;
Public | constSizeBytes: NativeUInt;
Public | localSizeBytes: NativeUInt;
Public | maxThreadsPerBlock: Integer;
Public | numRegs: Integer;
Public | ptxVersion: Integer;
Public | binaryVersion: Integer;
Public | __cudaReserved: array [0 .. 5] of Integer;

Description

Fields

Public sharedSizeBytes: NativeUInt;

Size of shared memory in bytes

Public constSizeBytes: NativeUInt;

Size of constant memory in bytes

Public localSizeBytes: NativeUInt;

Size of local memory in bytes

Public maxThreadsPerBlock: Integer;

Maximum number of threads per block

Public numRegs: Integer;

Number of registers used

Public ptxVersion: Integer;

\brief PTX virtual architecture version for which the function was * compiled. This value is the major PTX version * 10 + the minor PTX * version, so a PTX version 1.3 function would return the value 13. * For device emulation kernels, this is set to 9999.

Public binaryVersion: Integer;

* \brief Binary architecture version for which the function was compiled. * This value is the major binary version * 10 + the minor binary version, * so a binary version 1.3 function would return the value 13. * For device emulation kernels, this is set to 9999.

Public __cudaReserved: array [0 .. 5] of Integer;


GLSysHelp v.2.1: CUDA.Import: Record TCUDA_MEMCPY2D

Record TCUDA_MEMCPY2D

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUDA_MEMCPY2D = record

Description

Overview

Fields

Public | srcXInBytes: Cardinal;
Public | srcY: Cardinal;
Public | srcMemoryType: TCUmemorytype;
Public | srcHost: Pointer;
Public | srcDevice: TCUdeviceptr;
Public | srcArray: PCUarray;
Public | srcPitch: Cardinal;
Public | dstXInBytes: Cardinal;
Public | dstY: Cardinal;
Public | dstMemoryType: TCUmemorytype;
Public | dstHost: Pointer;
Public | dstDevice: TCUdeviceptr;
Public | dstArray: PCUarray;
Public | dstPitch: Cardinal;
Public | WidthInBytes: Cardinal;
Public | Height: Cardinal;

Description

Fields

Public srcXInBytes: Cardinal;
Public srcY: Cardinal;

< Source X in bytes

Public srcMemoryType: TCUmemorytype;

< Source Y

Public srcHost: Pointer;

< Source memory type (host, device, array)

Public srcDevice: TCUdeviceptr;

< Source host pointer

Public srcArray: PCUarray;

< Source device pointer

Public srcPitch: Cardinal;

< Source array reference

Public dstXInBytes: Cardinal;

< Source pitch (ignored when src is array)

Public dstY: Cardinal;

< Destination X in bytes

Public dstMemoryType: TCUmemorytype;

< Destination Y

Public dstHost: Pointer;

< Destination memory type (host, device, array)

Public dstDevice: TCUdeviceptr;

< Destination host pointer

Public dstArray: PCUarray;

< Destination device pointer

Public dstPitch: Cardinal;

< Destination array reference

Public WidthInBytes: Cardinal;

< Destination pitch (ignored when dst is array)

Public Height: Cardinal;

< Width of 2D memory copy in bytes


GLSysHelp v.2.1: CUDA.Import: Record TCUDA_MEMCPY3D

Record TCUDA_MEMCPY3D

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUDA_MEMCPY3D = record

Description

3D memory copy parameters

Overview

Fields

Public | srcXInBytes: Cardinal;
Public | srcY: Cardinal;
Public | srcZ: Cardinal;
Public | srcLOD: Cardinal;
Public | srcMemoryType: TCUmemorytype;
Public | srcHost: Pointer;
Public | srcDevice: TCUdeviceptr;
Public | srcArray: PCUarray;
Public | reserved0: Pointer;
Public | srcPitch: Cardinal;
Public | srcHeight: Cardinal;
Public | dstXInBytes: Cardinal;
Public | dstY: Cardinal;
Public | dstZ: Cardinal;
Public | dstLOD: Cardinal;
Public | dstMemoryType: TCUmemorytype;
Public | dstHost: Pointer;
Public | dstDevice: TCUdeviceptr;
Public | dstArray: PCUarray;
Public | reserved1: Pointer;
Public | dstPitch: Cardinal;
Public | dstHeight: Cardinal;
Public | WidthInBytes: Cardinal;
Public | Height: Cardinal;
Public | Depth: Cardinal;

Description

Fields

Public srcXInBytes: Cardinal;
Public srcY: Cardinal;

< Source X in bytes

Public srcZ: Cardinal;

< Source Y

Public srcLOD: Cardinal;

< Source Z

Public srcMemoryType: TCUmemorytype;

< Source LOD

Public srcHost: Pointer;

< Source memory type (host, device, array)

Public srcDevice: TCUdeviceptr;

< Source host pointer

Public srcArray: PCUarray;

< Source device pointer

Public reserved0: Pointer;

< Source array reference

Public srcPitch: Cardinal;

< Must be NULL

Public srcHeight: Cardinal;

< Source pitch (ignored when src is array)

Public dstXInBytes: Cardinal;

< Source height (ignored when src is array; may be 0 if Depth==1)

Public dstY: Cardinal;

< Destination X in bytes

Public dstZ: Cardinal;

< Destination Y

Public dstLOD: Cardinal;

< Destination Z

Public dstMemoryType: TCUmemorytype;

< Destination LOD

Public dstHost: Pointer;

< Destination memory type (host, device, array)

Public dstDevice: TCUdeviceptr;

< Destination host pointer

Public dstArray: PCUarray;

< Destination device pointer

Public reserved1: Pointer;

< Destination array reference

Public dstPitch: Cardinal;

< Must be NULL

Public dstHeight: Cardinal;

< Destination pitch (ignored when dst is array)

Public WidthInBytes: Cardinal;

< Destination height (ignored when dst is array; may be 0 if Depth==1)

Public Height: Cardinal;

< Width of 3D memory copy in bytes

Public Depth: Cardinal;

< Height of 3D memory copy


GLSysHelp v.2.1: CUDA.Import: Record TCUDA_ARRAY_DESCRIPTOR

Record TCUDA_ARRAY_DESCRIPTOR

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUDA_ARRAY_DESCRIPTOR = record

Description

Overview

Fields

Public | Width: Cardinal;
Public | Height: Cardinal;
Public | Format: TCUarray_format;
Public | NumChannels: Cardinal;

Description

Fields

Public Width: Cardinal;
Public Height: Cardinal;

< Width of array

Public Format: TCUarray_format;

< Height of array

Public NumChannels: Cardinal;

< Array format


GLSysHelp v.2.1: CUDA.Import: Record TCUDA_ARRAY3D_DESCRIPTOR

Record TCUDA_ARRAY3D_DESCRIPTOR

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Import

Declaration

type TCUDA_ARRAY3D_DESCRIPTOR = record

Description

3D array descriptor

Overview

Fields

Public | Width: Cardinal;
Public | Height: Cardinal;
Public | Depth: Cardinal;
Public | Format: TCUarray_format;
Public | NumChannels: Cardinal;
Public | Flags: Cardinal;

Description

Fields

Public Width: Cardinal;
Public Height: Cardinal;

< Width of 3D array

Public Depth: Cardinal;

< Height of 3D array

Public Format: TCUarray_format;

< Depth of 3D array

Public NumChannels: Cardinal;

< Array format

Public Flags: Cardinal;

< Channels per array element


GLSysHelp v.2.1: CUDA.ParallelPrimitives

Unit CUDA.ParallelPrimitives

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TCUDPPConfiguration |

Functions and Procedures

function cudppPlan(var planHandle: TCUDPPHandle; config: TCUDPPConfiguration; n: NativeUInt; rows: NativeUInt; rowPitch: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppDestroyPlan(plan: TCUDPPHandle): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppScan(planHandle: TCUDPPHandle; var d_out; var d_in, numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppMultiScan(planHandle: TCUDPPHandle; var d_out; var d_in; numElements: NativeUInt; numRows: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSegmentedScan(planHandle: TCUDPPHandle; var d_out; var d_idata; const d_iflags: PCardinal; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppCompact(planHandle: TCUDPPHandle; var d_out; var d_numValidElements: NativeUInt; var d_in; const d_isValid: PCardinal; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSort(planHandle: TCUDPPHandle; var d_keys; var d_values; keybits: Integer; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSparseMatrix(var sparseMatrixHandle: TCUDPPHandle; config: TCUDPPConfiguration; n: NativeUInt; rows: NativeUInt; var A; const h_rowIndices: PCardinal; const h_indices: PCardinal): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppDestroySparseMatrix(sparseMatrixHandle: TCUDPPHandle): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSparseMatrixVectorMultiply(sparseMatrixHandle: TCUDPPHandle; var d_y; var d_x): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppRand(planHandle: TCUDPPHandle; var d_out; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppRandSeed(const planHandle: TCUDPPHandle; seed: Cardinal): TCUDPPResult; stdcall; external CUDPPDLL;

Types

TCUDPPAlgorithm = (...);
TCUDPPDatatype = (...);
TCUDPPHandle = NativeUInt;
TCUDPPOperator = (...);
TCUDPPOption = (...);
TCUDPPResult = (...);

Constants

CUDPPDLL = 'cudpp32.dll';
CUDPP_INVALID_HANDLE = $C0DABAD1;

Description

Functions and Procedures

function cudppPlan(var planHandle: TCUDPPHandle; config: TCUDPPConfiguration; n: NativeUInt; rows: NativeUInt; rowPitch: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;

Plan allocation (for scan, sort, and compact)

function cudppDestroyPlan(plan: TCUDPPHandle): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppScan(planHandle: TCUDPPHandle; var d_out; var d_in, numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;

Scan and sort algorithms

function cudppMultiScan(planHandle: TCUDPPHandle; var d_out; var d_in; numElements: NativeUInt; numRows: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSegmentedScan(planHandle: TCUDPPHandle; var d_out; var d_idata; const d_iflags: PCardinal; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppCompact(planHandle: TCUDPPHandle; var d_out; var d_numValidElements: NativeUInt; var d_in; const d_isValid: PCardinal; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSort(planHandle: TCUDPPHandle; var d_keys; var d_values; keybits: Integer; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSparseMatrix(var sparseMatrixHandle: TCUDPPHandle; config: TCUDPPConfiguration; n: NativeUInt; rows: NativeUInt; var A; const h_rowIndices: PCardinal; const h_indices: PCardinal): TCUDPPResult; stdcall; external CUDPPDLL;

Sparse matrix allocation

function cudppDestroySparseMatrix(sparseMatrixHandle: TCUDPPHandle): TCUDPPResult; stdcall; external CUDPPDLL;
function cudppSparseMatrixVectorMultiply(sparseMatrixHandle: TCUDPPHandle; var d_y; var d_x): TCUDPPResult; stdcall; external CUDPPDLL;

Sparse matrix-vector algorithms

function cudppRand(planHandle: TCUDPPHandle; var d_out; numElements: NativeUInt): TCUDPPResult; stdcall; external CUDPPDLL;

random number generation algorithms

function cudppRandSeed(const planHandle: TCUDPPHandle; seed: Cardinal): TCUDPPResult; stdcall; external CUDPPDLL;

Types

TCUDPPAlgorithm = (...);

Maximum of two operands

Values
  • CUDPP_SCAN
  • CUDPP_SEGMENTED_SCAN
  • CUDPP_COMPACT
  • CUDPP_REDUCE
  • CUDPP_SORT_RADIX
  • CUDPP_SPMVMULT
  • CUDPP_RAND_MD5: Sparse matrix-dense vector multiplication
  • CUDPP_ALGORITHM_INVALID: Pseudo Random Number Generator using MD5 hash algorithm
TCUDPPDatatype = (...);

Each key has an associated value

Values
  • CUDPP_CHAR
  • CUDPP_UCHAR: Character type (C char)
  • CUDPP_INT: Unsigned character (byte) type (C unsigned char)
  • CUDPP_UINT: Integer type (C int)
  • CUDPP_FLOAT: Unsigned integer type (C unsigned int)
TCUDPPHandle = NativeUInt;
TCUDPPOperator = (...);

Float type (C float)

Values
  • CUDPP_ADD
  • CUDPP_MULTIPLY: Addition of two operands
  • CUDPP_MIN: Multiplication of two operands
  • CUDPP_MAX: Minimum of two operands
TCUDPPOption = (...);

Unknown or untraceable error.

Values
  • CUDPP_OPTION_FORWARD
  • CUDPP_OPTION_BACKWARD: Algorithms operate forward: from start to end of input array
  • CUDPP_OPTION_EXCLUSIVE: Algorithms operate backward: from end to start of array
  • CUDPP_OPTION_INCLUSIVE: Exclusive (for scans) - scan includes all elements up to (but not including) the current element
  • CUDPP_OPTION_CTA_LOCAL: Inclusive (for scans) - scan includes all elements up to and including the current element
  • CUDPP_OPTION_KEYS_ONLY: Algorithm performed only on the CTAs (blocks) with no communication between blocks. @todo Currently ignored.
  • CUDPP_OPTION_KEY_VALUE_PAIRS: No associated value to a key (for global radix sort)
TCUDPPResult = (...);
Values
  • CUDPP_SUCCESS
  • CUDPP_ERROR_INVALID_HANDLE: No error.
  • CUDPP_ERROR_ILLEGAL_CONFIGURATION: Specified handle (for example, to a plan) is invalid.
  • CUDPP_ERROR_UNKNOWN: Specified configuration is illegal. For example, an invalid or illogical combination of options.

Constants

CUDPPDLL = 'cudpp32.dll';

————————————————————- cuDPP – CUDA Data Parallel Primitives library ————————————————————- $Revision: 4567 $ $Date: 2020-05-17 ————————————————————- This source code is distributed under the terms of license.txt in the root directory of this source distribution. ————————————————————-

CUDPP_INVALID_HANDLE = $C0DABAD1;


GLSysHelp v.2.1: CUDA.ParallelPrimitives: Record TCUDPPConfiguration

Record TCUDPPConfiguration

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.ParallelPrimitives

Declaration

type TCUDPPConfiguration = record

Description

Placeholder at end of enum

Overview

Fields

Public | algorithm: TCUDPPAlgorithm;
Public | op: TCUDPPOperator;
Public | datatype: TCUDPPDatatype;
Public | options: TCUDPPoption;

Description

Fields

Public algorithm: TCUDPPAlgorithm;
Public op: TCUDPPOperator;

The algorithm to be used

Public datatype: TCUDPPDatatype;

The numerical operator to be applied

Public options: TCUDPPoption;

The datatype of the input arrays


GLSysHelp v.2.1: CUDA.Parser

Unit CUDA.Parser

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • CUDA.RunTime

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TCUDATexRefInfo |
Record TCUDAFuncArgInfo |
Record TCUDAFuncInfo |
Record TCUDAConstantInfo |
Class TCUDAModuleInfo |

Types

TCUDAType = (...);

Description

Types

TCUDAType = (...);
Values
  • customType
  • char1
  • uchar1
  • char2
  • uchar2
  • char3
  • uchar3
  • char4
  • uchar4
  • short1
  • ushort1
  • short2
  • ushort2
  • short3
  • ushort3
  • short4
  • ushort4
  • int1
  • uint1
  • int2
  • uint2
  • int3
  • uint3
  • int4
  • uint4
  • long1
  • ulong1
  • long2
  • ulong2
  • long3
  • ulong3
  • long4
  • ulong4
  • float1
  • float2
  • float3
  • float4
  • longlong1
  • ulonglong1
  • longlong2
  • ulonglong2
  • longlong3
  • ulonglong3
  • longlong4
  • ulonglong4
  • double1
  • double2
  • double3
  • double4
  • int8
  • int16
  • int32
  • uint8
  • uint16
  • uint32


GLSysHelp v.2.1: CUDA.Parser: Record TCUDATexRefInfo

Record TCUDATexRefInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Parser

Declaration

type TCUDATexRefInfo = record

Description

Overview

Fields

Public | Name: string;
Public | DataType: TCUDAType;
Public | Dim: Byte;
Public | ReadMode: TcudaTextureReadMode;

Description

Fields

Public Name: string;
Public DataType: TCUDAType;
Public Dim: Byte;
Public ReadMode: TcudaTextureReadMode;


GLSysHelp v.2.1: CUDA.Parser: Record TCUDAFuncArgInfo

Record TCUDAFuncArgInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Parser

Declaration

type TCUDAFuncArgInfo = record

Description

Overview

Fields

Public | Name: string;
Public | DataType: TCUDAType;
Public | CustomType: string;
Public | Ref: Boolean;

Description

Fields

Public Name: string;
Public DataType: TCUDAType;
Public CustomType: string;
Public Ref: Boolean;


GLSysHelp v.2.1: CUDA.Parser: Record TCUDAFuncInfo

Record TCUDAFuncInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Parser

Declaration

type TCUDAFuncInfo = record

Description

Overview

Fields

Public | Name: string;
Public | KernelName: string;
Public | Args: array of TCUDAFuncArgInfo;

Description

Fields

Public Name: string;
Public KernelName: string;
Public Args: array of TCUDAFuncArgInfo;


GLSysHelp v.2.1: CUDA.Parser: Record TCUDAConstantInfo

Record TCUDAConstantInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Parser

Declaration

type TCUDAConstantInfo = record

Description

Overview

Fields

Public | Name: string;
Public | DataType: TCUDAType;
Public | CustomType: string;
Public | Ref: Boolean;
Public | DefValue: Boolean;

Description

Fields

Public Name: string;
Public DataType: TCUDAType;
Public CustomType: string;
Public Ref: Boolean;
Public DefValue: Boolean;


GLSysHelp v.2.1: CUDA.Parser: Class TCUDAModuleInfo

Class TCUDAModuleInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Parser

Declaration

type TCUDAModuleInfo = class(TObject)

Description

Hierarchy

  • TObject
  • TCUDAModuleInfo

Overview

Fields

Private | ping: TStrings;
Private | pong: TStrings;
Public | Owner: TComponent;
Public | TexRef: array of TCUDATexRefInfo;
Public | Func: array of TCUDAFuncInfo;
Public | Constant: array of TCUDAConstantInfo;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | procedure ParseModule(ASource, AProduct: TStrings);
Private | procedure BreakStrings(inlist, outlist: TStrings);
Private | procedure FindConst(inlist: TStrings);
Private | procedure FindFunc(inlist: TStrings);
Private | procedure FindFuncKernelName(inlist: TStrings);
Private | procedure FindTexRef(inlist: TStrings);
Private | procedure RemoveComents(inlist, outlist: TStrings);
Private | procedure RemoveSpaces(inlist, outlist: TStrings);
Private | procedure ReplaceUnsigned(inlist, outlist: TStrings);
Private | procedure Reset;

Description

Fields

Private ping: TStrings;
Private pong: TStrings;
Public Owner: TComponent;
Public TexRef: array of TCUDATexRefInfo;
Public Func: array of TCUDAFuncInfo;
Public Constant: array of TCUDAConstantInfo;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure ParseModule(ASource, AProduct: TStrings);
Private procedure BreakStrings(inlist, outlist: TStrings);
Private procedure FindConst(inlist: TStrings);
Private procedure FindFunc(inlist: TStrings);
Private procedure FindFuncKernelName(inlist: TStrings);
Private procedure FindTexRef(inlist: TStrings);
Private procedure RemoveComents(inlist, outlist: TStrings);
Private procedure RemoveSpaces(inlist, outlist: TStrings);
Private procedure ReplaceUnsigned(inlist, outlist: TStrings);
Private procedure Reset;


GLSysHelp v.2.1: CUDA.PropEditors

Unit CUDA.PropEditors

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • ToolsAPI
  • StrEdit
  • DesignEditors
  • DesignIntf
  • CUDA.APIComps
  • CUDA.Context
  • CUDA.Compiler
  • CUDA.Parser
  • CUDA.EditorFm

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCUDAEditor |
Class TGLCUDACompilerEditor |
Class TGLCUDACompilerSourceProperty |
Class TGLCUDADeviceProperty |

Functions and Procedures

function FindCuFile(var AModuleName: string): Boolean;

Description

Functions and Procedures

function FindCuFile(var AModuleName: string): Boolean;


GLSysHelp v.2.1: CUDA.PropEditors: Class TGLCUDAEditor

Class TGLCUDAEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.PropEditors

Declaration

type TGLCUDAEditor = class(TComponentEditor)

Description

Hierarchy

  • TComponentEditor
  • TGLCUDAEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure Edit; override;
Public | procedure ExecuteVerb(Index: Integer); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure Edit; override;
Public procedure ExecuteVerb(Index: Integer); override;


GLSysHelp v.2.1: CUDA.PropEditors: Class TGLCUDACompilerEditor

Class TGLCUDACompilerEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.PropEditors

Declaration

type TGLCUDACompilerEditor = class(TComponentEditor)

Description

Hierarchy

  • TComponentEditor
  • TGLCUDACompilerEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure Edit; override;
Public | procedure ExecuteVerb(Index: Integer); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure Edit; override;
Public procedure ExecuteVerb(Index: Integer); override;


GLSysHelp v.2.1: CUDA.PropEditors: Class TGLCUDACompilerSourceProperty

Class TGLCUDACompilerSourceProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.PropEditors

Declaration

type TGLCUDACompilerSourceProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TGLCUDACompilerSourceProperty

Overview

Fields

Private FModuleList: TStringList;

Methods

Public | constructor Create(const ADesigner: IDesigner; APropCount: Integer); override;
Public | destructor Destroy; override;
Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure GetValues(Proc: TGetStrProc); override;
Public | procedure SetValue(const Value: String); override;
Private | procedure RefreshModuleList;

Description

Fields

Private FModuleList: TStringList;

Methods

Public constructor Create(const ADesigner: IDesigner; APropCount: Integer); override;
Public destructor Destroy; override;
Public function GetAttributes: TPropertyAttributes; override;
Public procedure GetValues(Proc: TGetStrProc); override;
Public procedure SetValue(const Value: String); override;
Private procedure RefreshModuleList;


GLSysHelp v.2.1: CUDA.PropEditors: Class TGLCUDADeviceProperty

Class TGLCUDADeviceProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.PropEditors

Declaration

type TGLCUDADeviceProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TGLCUDADeviceProperty

Overview

Fields

Private FDeviceList: TStringList;

Methods

Public | constructor Create(const ADesigner: IDesigner; APropCount: Integer); override;
Public | destructor Destroy; override;
Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure GetValues(Proc: TGetStrProc); override;
Public | procedure SetValue(const Value: String); override;

Description

Fields

Private FDeviceList: TStringList;

Methods

Public constructor Create(const ADesigner: IDesigner; APropCount: Integer); override;
Public destructor Destroy; override;
Public function GetAttributes: TPropertyAttributes; override;
Public procedure GetValues(Proc: TGetStrProc); override;
Public procedure SetValue(const Value: String); override;


GLSysHelp v.2.1: CUDA.Register

Unit CUDA.Register

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • DesignIntf
  • DesignEditors
  • ToolsAPI
  • StrEdit
  • GLS.SceneRegister
  • CUDA.APIComps
  • CUDA.Context
  • CUDA.PropEditors

Overview

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: CUDA.Runtime

Unit CUDA.Runtime

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • CUDA.Import
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TCudaChannelFormatDesc |
Record TcudaArray |
Record TcudaPitchedPtr |
Record TcudaExtent |
Record TcudaPos |
Record TcudaMemcpy3DParms |
Record TCudaDeviceProp |
Record TTextureReference |

Functions and Procedures

function cudaGetLastErrorString: string;
function InitCUDART: Boolean;
procedure CloseCUDART;
function InitCUDARTFromLibrary(const LibName: WideString): Boolean;
function IsCUDARTInitialized: Boolean;

Types

cudaError_t = TcudaError;
cudaEvent_t = Integer;
cudaStream_t = Integer;
PcudaArray = ˆTcudaArray;
PcudaChannelFormatDesc = ˆTCudaChannelFormatDesc;
PCudaDeviceProp = ˆTCudaDeviceProp;
PTextureReference = ˆTTextureReference;
TCudaChannelFormatKind = (...);
TcudaError = (...);
TCudaGLMapFlags = (...);
TcudaMemcpyKind = (...);
TcudaTextureAddressMode = (...);
TcudaTextureFilterMode = (...);
TcudaTextureReadMode = (...);

Constants

CUDARTDLLNAMES: array [0 .. 9] of string = ( 'cudart32_42_9', 'cudart32_41_28', 'cudart32_40_10', 'cudart32_32_16', 'cudart32_31_4', 'cudart32_30_14', 'cudart32_30_9', 'cudart32_30_8', 'cudart32', 'cudart');
CUDART_INF_F: Single = $7F800000;
CUDART_NAN_F: Single = $7FFFFFFF;
CUDART_MIN_DENORM_F: Single = $00000001;
CUDART_MAX_NORMAL_F: Single = $7F7FFFFF;
CUDART_NEG_ZERO_F: Single = $80000000;
CUDART_ZERO_F = 0.0;
CUDART_ONE_F = 1.0;
CUDART_SQRT_HALF_F = 0.707106781;
CUDART_SQRT_TWO_F = 1.414213562;
CUDART_THIRD_F = 0.333333333;
CUDART_PIO4_F = 0.785398163;
CUDART_PIO2_F = 1.570796327;
CUDART_3PIO4_F = 2.356194490;
CUDART_2_OVER_PI_F = 0.636619772;
CUDART_PI_F = 3.141592654;
CUDART_L2E_F = 1.442695041;
CUDART_L2T_F = 3.321928094;
CUDART_LG2_F = 0.301029996;
CUDART_LGE_F = 0.434294482;
CUDART_LN2_F = 0.693147181;
CUDART_LNT_F = 2.302585093;
CUDART_LNPI_F = 1.144729886;
CUDART_TWO_TO_M126_F = 1.175494351E-38;
CUDART_TWO_TO_126_F = 8.507059173E37;
CUDART_NORM_HUGE_F = 3.402823466E38;
CUDART_TWO_TO_23_F = 8388608.0;
CUDART_TWO_TO_24_F = 16777216.0;
CUDART_TWO_TO_31_F = 2147483648.0;
CUDART_TWO_TO_32_F = 4294967296.0;
CUDART_REMQUO_BITS_F = 3;
CUDART_REMQUO_MASK_F = CUDART_REMQUO_BITS_F;
CUDART_TRIG_PLOSS_F = 48039.0;
CUDART_INF: Double = $7FF0000000000000;
CUDART_NAN: Double = $FFF8000000000000;
CUDART_NEG_ZERO: Double = $8000000000000000;
CUDART_MIN_DENORM: Double = $0000000000000001;
CUDART_ZERO = 0.0;
CUDART_ONE = 1.0;
CUDART_SQRT_TWO = 1.4142135623730951E+0;
CUDART_SQRT_HALF = 7.0710678118654757E-1;
CUDART_THIRD = 3.3333333333333333E-1;
CUDART_TWOTHIRD = 6.6666666666666667E-1;
CUDART_PIO4 = 7.8539816339744828E-1;
CUDART_PIO4_HI = 7.8539816339744828E-1;
CUDART_PIO4_LO = 3.0616169978683830E-17;
CUDART_PIO2 = 1.5707963267948966E+0;
CUDART_PIO2_HI = 1.5707963267948966E+0;
CUDART_PIO2_LO = 6.1232339957367660E-17;
CUDART_3PIO4 = 2.3561944901923448E+0;
CUDART_2_OVER_PI = 6.3661977236758138E-1;
CUDART_PI = 3.1415926535897931E+0;
CUDART_PI_HI = 3.1415926535897931E+0;
CUDART_PI_LO = 1.2246467991473532E-16;
CUDART_SQRT_2PI_HI = 2.5066282746310007E+0;
CUDART_SQRT_2PI_LO = -1.8328579980459167E-16;
CUDART_SQRT_PIO2_HI = 1.2533141373155003E+0;
CUDART_SQRT_PIO2_LO = -9.1642899902295834E-17;
CUDART_L2E = 1.4426950408889634E+0;
CUDART_L2E_HI = 1.4426950408889634E+0;
CUDART_L2E_LO = 2.0355273740931033E-17;
CUDART_L2T = 3.3219280948873622E+0;
CUDART_LG2 = 3.0102999566398120E-1;
CUDART_LG2_HI = 3.0102999566398120E-1;
CUDART_LG2_LO = -2.8037281277851704E-18;
CUDART_LGE = 4.3429448190325182E-1;
CUDART_LGE_HI = 4.3429448190325182E-1;
CUDART_LGE_LO = 1.09831965021676510E-17;
CUDART_LN2 = 6.9314718055994529E-1;
CUDART_LN2_HI = 6.9314718055994529E-1;
CUDART_LN2_LO = 2.3190468138462996E-17;
CUDART_LNT = 2.3025850929940459E+0;
CUDART_LNT_HI = 2.3025850929940459E+0;
CUDART_LNT_LO = -2.1707562233822494E-16;
CUDART_LNPI = 1.1447298858494002E+0;
CUDART_LN2_X_1024 = 7.0978271289338397E+2;
CUDART_LN2_X_1025 = 7.1047586007394398E+2;
CUDART_LN2_X_1075 = 7.4513321910194122E+2;
CUDART_LG2_X_1024 = 3.0825471555991675E+2;
CUDART_LG2_X_1075 = 3.2360724533877976E+2;
CUDART_TWO_TO_23 = 8388608.0;
CUDART_TWO_TO_52 = 4503599627370496.0;
CUDART_TWO_TO_54 = 18014398509481984.0;
CUDART_TWO_TO_M54 = 5.5511151231257827E-17;
CUDART_TWO_TO_M1022 = 2.22507385850720140E-308;
CUDART_TRIG_PLOSS = 2147483648.0;

Variables

cudaBindTexture: function(var offset: NativeUInt; const texref: PTextureReference; var devPtr: Pointer; var desc: TCudaChannelFormatDesc; size: NativeUInt): cudaError_t; stdcall;
cudaBindTexture2D: function(var offset: NativeUInt; const texref: PTextureReference; const devPtr: Pointer; var desc: TCudaChannelFormatDesc; width, height, pitch: NativeUInt): cudaError_t; stdcall;
cudaBindTextureToArray: function(const texref: PTextureReference; const cudaArray: PcudaArray): cudaError_t; stdcall;
cudaUnbindTexture: function(const texref: PTextureReference): cudaError_t; stdcall;
cudaGetTextureAlignmentOffset: function(offset: NativeUInt; const texref: PTextureReference): cudaError_t; stdcall;
cudaGetTextureReference: function(const texref: PTextureReference; const symbol: PAnsiChar): cudaError_t; stdcall;
cudaGetChannelDesc: function(var desc: TCudaChannelFormatDesc; const array_: Pointer): cudaError_t; stdcall;
cudaCreateChannelDesc: function(x, y, z, w: Integer; f: TCudaChannelFormatKind): TCudaChannelFormatDesc; stdcall;
cudaMalloc3D: function(var pitchedDevPtr: TcudaPitchedPtr; extent: TcudaExtent): cudaError_t; stdcall;
cudaMalloc3DArray: function(var arrayPtr: PcudaArray; const desc: TCudaChannelFormatDesc; extent: TcudaExtent; flags: Cardinal): cudaError_t; stdcall;
cudaMemset3D: function(pitchedDevPtr: TcudaPitchedPtr; value: Integer; extent: TcudaExtent): cudaError_t; stdcall;
cudaMemcpy3D: function(const p: TcudaMemcpy3DParms): cudaError_t; stdcall;
cudaMemcpy3DAsync: function(const p: TcudaMemcpy3DParms; stream: cudaStream_t): cudaError_t; stdcall;
cudaMalloc: function(var devPtr; size: NativeUInt): cudaError_t; stdcall;
cudaMallocHost: function(var ptr: Pointer; size: NativeUInt): cudaError_t; stdcall;
cudaMallocPitch: function(var devPtr; var pitch: NativeUInt; width: NativeUInt; height: NativeUInt): cudaError_t; stdcall;
cudaMallocArray: function(var aarray: Pointer; var desc: TCudaChannelFormatDesc; width: NativeUInt; height: NativeUInt): cudaError_t; stdcall;
cudaFree: function(devPtr: Pointer): cudaError_t; stdcall;
cudaFreeHost: function(ptr: Pointer): cudaError_t; stdcall;
cudaFreeArray: function(const aarray: Pointer): cudaError_t; stdcall;
cudaHostAlloc: function(var pHost: Pointer; bytes: NativeUInt; flags: Cardinal): cudaError_t; stdcall;
cudaHostGetDevicePointer: function(var pDevice: Pointer; pHost: Pointer; flags: Cardinal): cudaError_t; stdcall;
cudaHostGetFlags: function(var pFlags: Cardinal; pHost: Pointer): cudaError_t; stdcall;
cudaMemGetInfo: function(var free: NativeUInt; var total: NativeUInt): cudaError_t; stdcall;
cudaMemcpy: function(dst: Pointer; src: Pointer; count: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpyToArray: function(var dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; var src; count: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpyFromArray: function(var dst; const src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; count: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpyArrayToArray: function(dst: PcudaArray; wOffsetDst: NativeUInt; hOffsetDst: NativeUInt; const src: PcudaArray; wOffsetSrc: NativeUInt; hOffsetSrc: NativeUInt; count: NativeUInt; const kind: TcudaMemcpyKind = cudaMemcpyDeviceToDevice): cudaError_t; stdcall;
cudaMemcpy2D: function(var dst; dpitch: NativeUInt; var src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpy2DToArray: function(dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; var src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpy2DFromArray: function(var dst; dpitch: NativeUInt; src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpy2DArrayToArray: function(dst: PcudaArray; wOffsetDst: NativeUInt; hOffsetDst: NativeUInt; src: PcudaArray; wOffsetSrc: NativeUInt; hOffsetSrc: NativeUInt; width: NativeUInt; height: NativeUInt; const kind: TcudaMemcpyKind = cudaMemcpyDeviceToDevice): cudaError_t; stdcall;
cudaMemcpyToSymbol: function(symbol: PAnsiChar; var src; count: NativeUInt; const offset: NativeUInt = 0; const kind: TcudaMemcpyKind = cudaMemcpyHostToDevice): cudaError_t; stdcall;
cudaMemcpyFromSymbol: function(var dst; symbol: PAnsiChar; count: NativeUInt; const offset: NativeUInt = 0; const kind: TcudaMemcpyKind = cudaMemcpyDeviceToHost): cudaError_t; stdcall;
cudaMemcpyAsync: function(var dst; const src; count: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyToArrayAsync: function(dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; const src; count: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyFromArrayAsync: function(var dst; const src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; count: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpy2DAsync: function(var dst; dpitch: NativeUInt; const src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpy2DToArrayAsync: function(dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; const src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpy2DFromArrayAsync: function(var dst; dpitch: NativeUInt; const src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyToSymbolAsync: function(const symbol: PAnsiChar; const src; count: NativeUInt; offset: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyFromSymbolAsync: function(var dst; const symbol: PAnsiChar; count: NativeUInt; offset: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemset: function(var devPtr; value: Integer; count: NativeUInt): cudaError_t; stdcall;
cudaMemset2D: function(var devPtr; pitch: NativeUInt; value: Integer; width: NativeUInt; height: NativeUInt): cudaError_t; stdcall;
cudaGetSymbolAddress: function(var devPtr: Pointer; const symbol: PAnsiChar): cudaError_t; stdcall;
cudaGetSymbolSize: function(var size: NativeUInt; const symbol: PAnsiChar): cudaError_t; stdcall;
cudaGetDeviceCount: function(var count: Integer): cudaError_t; stdcall;
cudaGetDeviceProperties: function(var prop: TCudaDeviceProp; device: Integer): cudaError_t; stdcall;
cudaChooseDevice: function(var device: Integer; const prop: PCudaDeviceProp): cudaError_t; stdcall;
cudaSetDevice: function(device: Integer): cudaError_t; stdcall;
cudaGetDevice: function(var device: Integer): cudaError_t; stdcall;
cudaSetDeviceFlags: function(flags: Integer): cudaError_t; stdcall;
cudaSetValidDevices: function(device_arr: PInteger; len: Integer): cudaError_t; stdcall;
cudaConfigureCall: function(gridDim, blockDim: TDim3; sharedMem: NativeUInt; stream: cudaStream_t): cudaError_t; stdcall;
cudaSetupArgument: function(const arg: Pointer; size: NativeUInt; offset: NativeUInt): cudaError_t; stdcall;
cudaFuncSetCacheConfig: function(const func: PAnsiChar; cacheConfig: TcudaFuncCache): cudaError_t; stdcall;
cudaLaunch: function(const entry: PAnsiChar): cudaError_t; stdcall;
cudaFuncGetAttributes: function(var attr: TcudaFuncAttributes; const func: PAnsiChar): cudaError_t; stdcall;
cudaGetLastError: function: cudaError_t; stdcall;
cudaGLSetGLDevice: function(device: Integer): cudaError_t; stdcall;
cudaGLRegisterBufferObject: function(bufObj: Cardinal): cudaError_t; stdcall;
cudaGraphicsGLRegisterImage: function(const resource: PCUgraphicsResource; image: Cardinal; target: Cardinal; flags: Cardinal): cudaError_t; stdcall;
cudaGraphicsGLRegisterBuffer: function(const resource: PCUgraphicsResource; buffer: Cardinal; flags: Cardinal): cudaError_t; stdcall;
cudaGLMapBufferObject: function(devPtr: Pointer; bufObj: Cardinal): cudaError_t; stdcall;
cudaGLUnmapBufferObject: function(bufObj: Cardinal): cudaError_t; stdcall;
cudaGLUnregisterBufferObject: function(bufObj: Cardinal): cudaError_t; stdcall;
cudaGLSetBufferObjectMapFlags: function(bufObj: Cardinal; flags: TCudaGLMapFlags): cudaError_t; stdcall;
cudaGLMapBufferObjectAsync: function(var devPtr: Pointer; bufObj: Cardinal; stream: cudaStream_t): cudaError_t; stdcall;
cudaGLUnmapBufferObjectAsync: function(bufObj: Cardinal; stream: cudaStream_t): cudaError_t; stdcall;
cudaGraphicsUnregisterResource: function(resource: PCUgraphicsResource): cudaError_t; stdcall;
cudaGraphicsResourceSetMapFlags: function(resource: PCUgraphicsResource; flags: Cardinal): cudaError_t; stdcall;
cudaGraphicsMapResources: function(count: Integer; const resources: PCUgraphicsResource; stream: cudaStream_t): cudaError_t; stdcall;
cudaGraphicsUnmapResources: function(count: Integer; const resources: PCUgraphicsResource; stream: cudaStream_t): cudaError_t; stdcall;
cudaGraphicsResourceGetMappedPointer: function(var pDevPtr: TCUdeviceptr; var pSize: Cardinal; resource: PCUgraphicsResource): cudaError_t; stdcall;
cudaGraphicsSubResourceGetMappedArray: function(var pArray: PCUarray; resource: PCUgraphicsResource; arrayIndex: Cardinal; mipLevel: Cardinal): cudaError_t; stdcall;
cudaGetErrorString: function(error: cudaError_t): PAnsiChar; stdcall;
cudaDriverGetVersion: function(out driverVersion: Integer): cudaError_t; stdcall;
cudaRuntimeGetVersion: function(out runtimeVersion: Integer): cudaError_t; stdcall;
cudaSetDoubleForDevice: function(var d: Double): cudaError_t; stdcall;
cudaSetDoubleForHost: function(var d: Double): cudaError_t; stdcall;
cudaStreamCreate: function(var pStream: cudaStream_t): cudaError_t; stdcall;
cudaStreamDestroy: function(stream: cudaStream_t): cudaError_t; stdcall;
cudaStreamSynchronize: function(stream: cudaStream_t): cudaError_t; stdcall;
cudaStreamQuery: function(stream: cudaStream_t): cudaError_t; stdcall;
cudaEventCreate: function(var event: cudaEvent_t): cudaError_t; stdcall;
cudaEventCreateWithFlags: function(var event: cudaEvent_t; flags: Integer): cudaError_t; stdcall;
cudaEventRecord: function(event: cudaEvent_t; stream: cudaStream_t): cudaError_t; stdcall;
cudaEventQuery: function(event: cudaEvent_t): cudaError_t; stdcall;
cudaEventSynchronize: function(event: cudaEvent_t): cudaError_t; stdcall;
cudaEventDestroy: function(event: cudaEvent_t): cudaError_t; stdcall;
cudaEventElapsedTime: function(var ms: Single; start: cudaEvent_t; ending: cudaEvent_t): cudaError_t; stdcall;
cudaWGLGetDevice: function(var device: Integer; hGpu: HGPUNV): cudaError_t; stdcall;
cudaThreadExit: function(): cudaError_t; stdcall;
cudaThreadSynchronize: function(): cudaError_t; stdcall;
cudaThreadSetLimit: function(limit: TcudaLimit; value: NativeUInt): cudaError_t; stdcall;
cudaThreadGetLimit: function(var value: NativeUInt; limit: TcudaLimit): cudaError_t; stdcall;

Description

Functions and Procedures

function cudaGetLastErrorString: string;
function InitCUDART: Boolean;
procedure CloseCUDART;
function InitCUDARTFromLibrary(const LibName: WideString): Boolean;
function IsCUDARTInitialized: Boolean;

Types

cudaError_t = TcudaError;

+//DEVICE_BUILTIN*/

cudaEvent_t = Integer;

+//DEVICE_BUILTIN*/

cudaStream_t = Integer;

+//DEVICE_BUILTIN*/

PcudaArray = ˆTcudaArray;
PcudaChannelFormatDesc = ˆTCudaChannelFormatDesc;

+//DEVICE_BUILTIN*/

PCudaDeviceProp = ˆTCudaDeviceProp;

+//DEVICE_BUILTIN*/

PTextureReference = ˆTTextureReference;
TCudaChannelFormatKind = (...);

+//DEVICE_BUILTIN*/

Values
  • cudaChannelFormatKindSigned
  • cudaChannelFormatKindUnsigned
  • cudaChannelFormatKindFloat
TcudaError = (...);
Values
  • cudaSuccess
  • cudaErrorMissingConfiguration
  • cudaErrorMemoryAllocation
  • cudaErrorInitializationError
  • cudaErrorLaunchFailure
  • cudaErrorPriorLaunchFailure
  • cudaErrorLaunchTimeout
  • cudaErrorLaunchOutOfResources
  • cudaErrorInvalidDeviceFunction
  • cudaErrorInvalidConfiguration
  • cudaErrorInvalidDevice
  • cudaErrorInvalidValue
  • cudaErrorInvalidPitchValue
  • cudaErrorInvalidSymbol
  • cudaErrorMapBufferObjectFailed
  • cudaErrorUnmapBufferObjectFailed
  • cudaErrorInvalidHostPointer
  • cudaErrorInvalidDevicePointer
  • cudaErrorInvalidTexture
  • cudaErrorInvalidTextureBinding
  • cudaErrorInvalidChannelDescriptor
  • cudaErrorInvalidMemcpyDirection
  • cudaErrorAddressOfConstant
  • cudaErrorTextureFetchFailed
  • cudaErrorTextureNotBound
  • cudaErrorSynchronizationError
  • cudaErrorInvalidFilterSetting
  • cudaErrorInvalidNormSetting
  • cudaErrorMixedDeviceExecution
  • cudaErrorCudartUnloading
  • cudaErrorUnknown
  • cudaErrorNotYetImplemented
  • cudaErrorMemoryValueTooLarge
  • cudaErrorInvalidResourceHandle
  • cudaErrorNotReady
  • cudaErrorStartupFailure
  • cudaErrorApiFailureBase
TCudaGLMapFlags = (...);
Values
  • cudaGLMapFlagsNone
  • cudaGLMapFlagsReadOnly: < Default; Assume resource can be read/written
  • cudaGLMapFlagsWriteDiscard: < CUDA kernels will not write to this resource
TcudaMemcpyKind = (...);

+//DEVICE_BUILTIN*/

Values
  • cudaMemcpyHostToHost
  • cudaMemcpyHostToDevice: = 0
  • cudaMemcpyDeviceToHost
  • cudaMemcpyDeviceToDevice
TcudaTextureAddressMode = (...);
Values
  • cudaAddressModeWrap
  • cudaAddressModeClamp
  • cudaAddressModeMirror
TcudaTextureFilterMode = (...);
Values
  • cudaFilterModePoint
  • cudaFilterModeLinear
TcudaTextureReadMode = (...);
Values
  • cudaReadModeElementType
  • cudaReadModeNormalizedFloat

Constants

CUDARTDLLNAMES: array [0 .. 9] of string = ( 'cudart32_42_9', 'cudart32_41_28', 'cudart32_40_10', 'cudart32_32_16', 'cudart32_31_4', 'cudart32_30_14', 'cudart32_30_9', 'cudart32_30_8', 'cudart32', 'cudart');
CUDART_INF_F: Single = $7F800000;

single precision constants

CUDART_NAN_F: Single = $7FFFFFFF;
CUDART_MIN_DENORM_F: Single = $00000001;
CUDART_MAX_NORMAL_F: Single = $7F7FFFFF;
CUDART_NEG_ZERO_F: Single = $80000000;
CUDART_ZERO_F = 0.0;
CUDART_ONE_F = 1.0;
CUDART_SQRT_HALF_F = 0.707106781;
CUDART_SQRT_TWO_F = 1.414213562;
CUDART_THIRD_F = 0.333333333;
CUDART_PIO4_F = 0.785398163;
CUDART_PIO2_F = 1.570796327;
CUDART_3PIO4_F = 2.356194490;
CUDART_2_OVER_PI_F = 0.636619772;
CUDART_PI_F = 3.141592654;
CUDART_L2E_F = 1.442695041;
CUDART_L2T_F = 3.321928094;
CUDART_LG2_F = 0.301029996;
CUDART_LGE_F = 0.434294482;
CUDART_LN2_F = 0.693147181;
CUDART_LNT_F = 2.302585093;
CUDART_LNPI_F = 1.144729886;
CUDART_TWO_TO_M126_F = 1.175494351E-38;
CUDART_TWO_TO_126_F = 8.507059173E37;
CUDART_NORM_HUGE_F = 3.402823466E38;
CUDART_TWO_TO_23_F = 8388608.0;
CUDART_TWO_TO_24_F = 16777216.0;
CUDART_TWO_TO_31_F = 2147483648.0;
CUDART_TWO_TO_32_F = 4294967296.0;
CUDART_REMQUO_BITS_F = 3;
CUDART_REMQUO_MASK_F = CUDART_REMQUO_BITS_F;
CUDART_TRIG_PLOSS_F = 48039.0;
CUDART_INF: Double = $7FF0000000000000;

double precision constants */

CUDART_NAN: Double = $FFF8000000000000;
CUDART_NEG_ZERO: Double = $8000000000000000;
CUDART_MIN_DENORM: Double = $0000000000000001;
CUDART_ZERO = 0.0;
CUDART_ONE = 1.0;
CUDART_SQRT_TWO = 1.4142135623730951E+0;
CUDART_SQRT_HALF = 7.0710678118654757E-1;
CUDART_THIRD = 3.3333333333333333E-1;
CUDART_TWOTHIRD = 6.6666666666666667E-1;
CUDART_PIO4 = 7.8539816339744828E-1;
CUDART_PIO4_HI = 7.8539816339744828E-1;
CUDART_PIO4_LO = 3.0616169978683830E-17;
CUDART_PIO2 = 1.5707963267948966E+0;
CUDART_PIO2_HI = 1.5707963267948966E+0;
CUDART_PIO2_LO = 6.1232339957367660E-17;
CUDART_3PIO4 = 2.3561944901923448E+0;
CUDART_2_OVER_PI = 6.3661977236758138E-1;
CUDART_PI = 3.1415926535897931E+0;
CUDART_PI_HI = 3.1415926535897931E+0;
CUDART_PI_LO = 1.2246467991473532E-16;
CUDART_SQRT_2PI_HI = 2.5066282746310007E+0;
CUDART_SQRT_2PI_LO = -1.8328579980459167E-16;
CUDART_SQRT_PIO2_HI = 1.2533141373155003E+0;
CUDART_SQRT_PIO2_LO = -9.1642899902295834E-17;
CUDART_L2E = 1.4426950408889634E+0;
CUDART_L2E_HI = 1.4426950408889634E+0;
CUDART_L2E_LO = 2.0355273740931033E-17;
CUDART_L2T = 3.3219280948873622E+0;
CUDART_LG2 = 3.0102999566398120E-1;
CUDART_LG2_HI = 3.0102999566398120E-1;
CUDART_LG2_LO = -2.8037281277851704E-18;
CUDART_LGE = 4.3429448190325182E-1;
CUDART_LGE_HI = 4.3429448190325182E-1;
CUDART_LGE_LO = 1.09831965021676510E-17;
CUDART_LN2 = 6.9314718055994529E-1;
CUDART_LN2_HI = 6.9314718055994529E-1;
CUDART_LN2_LO = 2.3190468138462996E-17;
CUDART_LNT = 2.3025850929940459E+0;
CUDART_LNT_HI = 2.3025850929940459E+0;
CUDART_LNT_LO = -2.1707562233822494E-16;
CUDART_LNPI = 1.1447298858494002E+0;
CUDART_LN2_X_1024 = 7.0978271289338397E+2;
CUDART_LN2_X_1025 = 7.1047586007394398E+2;
CUDART_LN2_X_1075 = 7.4513321910194122E+2;
CUDART_LG2_X_1024 = 3.0825471555991675E+2;
CUDART_LG2_X_1075 = 3.2360724533877976E+2;
CUDART_TWO_TO_23 = 8388608.0;
CUDART_TWO_TO_52 = 4503599627370496.0;
CUDART_TWO_TO_54 = 18014398509481984.0;
CUDART_TWO_TO_M54 = 5.5511151231257827E-17;
CUDART_TWO_TO_M1022 = 2.22507385850720140E-308;
CUDART_TRIG_PLOSS = 2147483648.0;

Variables

cudaBindTexture: function(var offset: NativeUInt; const texref: PTextureReference; var devPtr: Pointer; var desc: TCudaChannelFormatDesc; size: NativeUInt): cudaError_t; stdcall;

*****************************************************************************

cudaBindTexture2D: function(var offset: NativeUInt; const texref: PTextureReference; const devPtr: Pointer; var desc: TCudaChannelFormatDesc; width, height, pitch: NativeUInt): cudaError_t; stdcall;
cudaBindTextureToArray: function(const texref: PTextureReference; const cudaArray: PcudaArray): cudaError_t; stdcall;
cudaUnbindTexture: function(const texref: PTextureReference): cudaError_t; stdcall;
cudaGetTextureAlignmentOffset: function(offset: NativeUInt; const texref: PTextureReference): cudaError_t; stdcall;
cudaGetTextureReference: function(const texref: PTextureReference; const symbol: PAnsiChar): cudaError_t; stdcall;
cudaGetChannelDesc: function(var desc: TCudaChannelFormatDesc; const array_: Pointer): cudaError_t; stdcall;
cudaCreateChannelDesc: function(x, y, z, w: Integer; f: TCudaChannelFormatKind): TCudaChannelFormatDesc; stdcall;
cudaMalloc3D: function(var pitchedDevPtr: TcudaPitchedPtr; extent: TcudaExtent): cudaError_t; stdcall;

****************************************************************************** * * * * * * ******************************************************************************

cudaMalloc3DArray: function(var arrayPtr: PcudaArray; const desc: TCudaChannelFormatDesc; extent: TcudaExtent; flags: Cardinal): cudaError_t; stdcall;
cudaMemset3D: function(pitchedDevPtr: TcudaPitchedPtr; value: Integer; extent: TcudaExtent): cudaError_t; stdcall;
cudaMemcpy3D: function(const p: TcudaMemcpy3DParms): cudaError_t; stdcall;
cudaMemcpy3DAsync: function(const p: TcudaMemcpy3DParms; stream: cudaStream_t): cudaError_t; stdcall;
cudaMalloc: function(var devPtr; size: NativeUInt): cudaError_t; stdcall;
cudaMallocHost: function(var ptr: Pointer; size: NativeUInt): cudaError_t; stdcall;
cudaMallocPitch: function(var devPtr; var pitch: NativeUInt; width: NativeUInt; height: NativeUInt): cudaError_t; stdcall;
cudaMallocArray: function(var aarray: Pointer; var desc: TCudaChannelFormatDesc; width: NativeUInt; height: NativeUInt): cudaError_t; stdcall;
cudaFree: function(devPtr: Pointer): cudaError_t; stdcall;
cudaFreeHost: function(ptr: Pointer): cudaError_t; stdcall;
cudaFreeArray: function(const aarray: Pointer): cudaError_t; stdcall;
cudaHostAlloc: function(var pHost: Pointer; bytes: NativeUInt; flags: Cardinal): cudaError_t; stdcall;
cudaHostGetDevicePointer: function(var pDevice: Pointer; pHost: Pointer; flags: Cardinal): cudaError_t; stdcall;
cudaHostGetFlags: function(var pFlags: Cardinal; pHost: Pointer): cudaError_t; stdcall;
cudaMemGetInfo: function(var free: NativeUInt; var total: NativeUInt): cudaError_t; stdcall;
cudaMemcpy: function(dst: Pointer; src: Pointer; count: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpyToArray: function(var dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; var src; count: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpyFromArray: function(var dst; const src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; count: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpyArrayToArray: function(dst: PcudaArray; wOffsetDst: NativeUInt; hOffsetDst: NativeUInt; const src: PcudaArray; wOffsetSrc: NativeUInt; hOffsetSrc: NativeUInt; count: NativeUInt; const kind: TcudaMemcpyKind = cudaMemcpyDeviceToDevice): cudaError_t; stdcall;
cudaMemcpy2D: function(var dst; dpitch: NativeUInt; var src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpy2DToArray: function(dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; var src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpy2DFromArray: function(var dst; dpitch: NativeUInt; src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind): cudaError_t; stdcall;
cudaMemcpy2DArrayToArray: function(dst: PcudaArray; wOffsetDst: NativeUInt; hOffsetDst: NativeUInt; src: PcudaArray; wOffsetSrc: NativeUInt; hOffsetSrc: NativeUInt; width: NativeUInt; height: NativeUInt; const kind: TcudaMemcpyKind = cudaMemcpyDeviceToDevice): cudaError_t; stdcall;
cudaMemcpyToSymbol: function(symbol: PAnsiChar; var src; count: NativeUInt; const offset: NativeUInt = 0; const kind: TcudaMemcpyKind = cudaMemcpyHostToDevice): cudaError_t; stdcall;
cudaMemcpyFromSymbol: function(var dst; symbol: PAnsiChar; count: NativeUInt; const offset: NativeUInt = 0; const kind: TcudaMemcpyKind = cudaMemcpyDeviceToHost): cudaError_t; stdcall;
cudaMemcpyAsync: function(var dst; const src; count: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;

=*****************************************************************************

cudaMemcpyToArrayAsync: function(dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; const src; count: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyFromArrayAsync: function(var dst; const src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; count: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpy2DAsync: function(var dst; dpitch: NativeUInt; const src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpy2DToArrayAsync: function(dst: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; const src; spitch: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpy2DFromArrayAsync: function(var dst; dpitch: NativeUInt; const src: PcudaArray; wOffset: NativeUInt; hOffset: NativeUInt; width: NativeUInt; height: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyToSymbolAsync: function(const symbol: PAnsiChar; const src; count: NativeUInt; offset: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemcpyFromSymbolAsync: function(var dst; const symbol: PAnsiChar; count: NativeUInt; offset: NativeUInt; kind: TcudaMemcpyKind; stream: cudaStream_t): cudaError_t; stdcall;
cudaMemset: function(var devPtr; value: Integer; count: NativeUInt): cudaError_t; stdcall;

***************************************************************************** * * * * * * ****************************************************************************

cudaMemset2D: function(var devPtr; pitch: NativeUInt; value: Integer; width: NativeUInt; height: NativeUInt): cudaError_t; stdcall;
cudaGetSymbolAddress: function(var devPtr: Pointer; const symbol: PAnsiChar): cudaError_t; stdcall;

**************************************************************************** * * * * * * ****************************************************************************

cudaGetSymbolSize: function(var size: NativeUInt; const symbol: PAnsiChar): cudaError_t; stdcall;
cudaGetDeviceCount: function(var count: Integer): cudaError_t; stdcall;

=*****************************************************************************

cudaGetDeviceProperties: function(var prop: TCudaDeviceProp; device: Integer): cudaError_t; stdcall;
cudaChooseDevice: function(var device: Integer; const prop: PCudaDeviceProp): cudaError_t; stdcall;
cudaSetDevice: function(device: Integer): cudaError_t; stdcall;
cudaGetDevice: function(var device: Integer): cudaError_t; stdcall;
cudaSetDeviceFlags: function(flags: Integer): cudaError_t; stdcall;
cudaSetValidDevices: function(device_arr: PInteger; len: Integer): cudaError_t; stdcall;
cudaConfigureCall: function(gridDim, blockDim: TDim3; sharedMem: NativeUInt; stream: cudaStream_t): cudaError_t; stdcall;

***************************************************************************** * * * ****************************************************************************

cudaSetupArgument: function(const arg: Pointer; size: NativeUInt; offset: NativeUInt): cudaError_t; stdcall;
cudaFuncSetCacheConfig: function(const func: PAnsiChar; cacheConfig: TcudaFuncCache): cudaError_t; stdcall;
cudaLaunch: function(const entry: PAnsiChar): cudaError_t; stdcall;
cudaFuncGetAttributes: function(var attr: TcudaFuncAttributes; const func: PAnsiChar): cudaError_t; stdcall;
cudaGetLastError: function: cudaError_t; stdcall;

=*******************************************************************************/

cudaGLSetGLDevice: function(device: Integer): cudaError_t; stdcall;

=*******************************************************************************/

cudaGLRegisterBufferObject: function(bufObj: Cardinal): cudaError_t; stdcall;
cudaGraphicsGLRegisterImage: function(const resource: PCUgraphicsResource; image: Cardinal; target: Cardinal; flags: Cardinal): cudaError_t; stdcall;
cudaGraphicsGLRegisterBuffer: function(const resource: PCUgraphicsResource; buffer: Cardinal; flags: Cardinal): cudaError_t; stdcall;
cudaGLMapBufferObject: function(devPtr: Pointer; bufObj: Cardinal): cudaError_t; stdcall;
cudaGLUnmapBufferObject: function(bufObj: Cardinal): cudaError_t; stdcall;
cudaGLUnregisterBufferObject: function(bufObj: Cardinal): cudaError_t; stdcall;
cudaGLSetBufferObjectMapFlags: function(bufObj: Cardinal; flags: TCudaGLMapFlags): cudaError_t; stdcall;
cudaGLMapBufferObjectAsync: function(var devPtr: Pointer; bufObj: Cardinal; stream: cudaStream_t): cudaError_t; stdcall;
cudaGLUnmapBufferObjectAsync: function(bufObj: Cardinal; stream: cudaStream_t): cudaError_t; stdcall;
cudaGraphicsUnregisterResource: function(resource: PCUgraphicsResource): cudaError_t; stdcall;
cudaGraphicsResourceSetMapFlags: function(resource: PCUgraphicsResource; flags: Cardinal): cudaError_t; stdcall;
cudaGraphicsMapResources: function(count: Integer; const resources: PCUgraphicsResource; stream: cudaStream_t): cudaError_t; stdcall;
cudaGraphicsUnmapResources: function(count: Integer; const resources: PCUgraphicsResource; stream: cudaStream_t): cudaError_t; stdcall;
cudaGraphicsResourceGetMappedPointer: function(var pDevPtr: TCUdeviceptr; var pSize: Cardinal; resource: PCUgraphicsResource): cudaError_t; stdcall;
cudaGraphicsSubResourceGetMappedArray: function(var pArray: PCUarray; resource: PCUgraphicsResource; arrayIndex: Cardinal; mipLevel: Cardinal): cudaError_t; stdcall;
cudaGetErrorString: function(error: cudaError_t): PAnsiChar; stdcall;
cudaDriverGetVersion: function(out driverVersion: Integer): cudaError_t; stdcall;
cudaRuntimeGetVersion: function(out runtimeVersion: Integer): cudaError_t; stdcall;
cudaSetDoubleForDevice: function(var d: Double): cudaError_t; stdcall;

****************************************************************************** * * * * * * ******************************************************************************

cudaSetDoubleForHost: function(var d: Double): cudaError_t; stdcall;
cudaStreamCreate: function(var pStream: cudaStream_t): cudaError_t; stdcall;

****************************************************************************** * * * * * * ******************************************************************************

cudaStreamDestroy: function(stream: cudaStream_t): cudaError_t; stdcall;
cudaStreamSynchronize: function(stream: cudaStream_t): cudaError_t; stdcall;
cudaStreamQuery: function(stream: cudaStream_t): cudaError_t; stdcall;
cudaEventCreate: function(var event: cudaEvent_t): cudaError_t; stdcall;

****************************************************************************** * * * * * * ******************************************************************************

cudaEventCreateWithFlags: function(var event: cudaEvent_t; flags: Integer): cudaError_t; stdcall;
cudaEventRecord: function(event: cudaEvent_t; stream: cudaStream_t): cudaError_t; stdcall;
cudaEventQuery: function(event: cudaEvent_t): cudaError_t; stdcall;
cudaEventSynchronize: function(event: cudaEvent_t): cudaError_t; stdcall;
cudaEventDestroy: function(event: cudaEvent_t): cudaError_t; stdcall;
cudaEventElapsedTime: function(var ms: Single; start: cudaEvent_t; ending: cudaEvent_t): cudaError_t; stdcall;
cudaWGLGetDevice: function(var device: Integer; hGpu: HGPUNV): cudaError_t; stdcall;
cudaThreadExit: function(): cudaError_t; stdcall;

****************************************************************************** * * * * * * ******************************************************************************

cudaThreadSynchronize: function(): cudaError_t; stdcall;
cudaThreadSetLimit: function(limit: TcudaLimit; value: NativeUInt): cudaError_t; stdcall;
cudaThreadGetLimit: function(var value: NativeUInt; limit: TcudaLimit): cudaError_t; stdcall;


GLSysHelp v.2.1: CUDA.Runtime: Record TCudaChannelFormatDesc

Record TCudaChannelFormatDesc

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TCudaChannelFormatDesc = record

Description

Overview

Fields

Public | x: Integer;
Public | y: Integer;
Public | z: Integer;
Public | w: Integer;
Public | f: TCudaChannelFormatKind;

Description

Fields

Public x: Integer;
Public y: Integer;
Public z: Integer;
Public w: Integer;
Public f: TCudaChannelFormatKind;


GLSysHelp v.2.1: CUDA.Runtime: Record TcudaArray

Record TcudaArray

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TcudaArray = record

Description

+//DEVICE_BUILTIN*/


GLSysHelp v.2.1: CUDA.Runtime: Record TcudaPitchedPtr

Record TcudaPitchedPtr

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TcudaPitchedPtr = record

Description

+//DEVICE_BUILTIN*/

Overview

Fields

Public | ptr: Pointer;
Public | pitch: NativeUInt;
Public | xsize: NativeUInt;
Public | ysize: NativeUInt;

Description

Fields

Public ptr: Pointer;
Public pitch: NativeUInt;
Public xsize: NativeUInt;
Public ysize: NativeUInt;


GLSysHelp v.2.1: CUDA.Runtime: Record TcudaExtent

Record TcudaExtent

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TcudaExtent = record

Description

+//DEVICE_BUILTIN*/

Overview

Fields

Public | width: NativeUInt;
Public | height: NativeUInt;
Public | depth: NativeUInt;

Description

Fields

Public width: NativeUInt;
Public height: NativeUInt;
Public depth: NativeUInt;


GLSysHelp v.2.1: CUDA.Runtime: Record TcudaPos

Record TcudaPos

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TcudaPos = record

Description

+//DEVICE_BUILTIN*/

Overview

Fields

Public | x: NativeUInt;
Public | y: NativeUInt;
Public | z: NativeUInt;

Description

Fields

Public x: NativeUInt;
Public y: NativeUInt;
Public z: NativeUInt;


GLSysHelp v.2.1: CUDA.Runtime: Record TcudaMemcpy3DParms

Record TcudaMemcpy3DParms

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TcudaMemcpy3DParms = record

Description

+//DEVICE_BUILTIN*/

Overview

Fields

Public | srcArray: Pointer;
Public | srcPos: TcudaPos;
Public | srcPtr: TcudaPitchedPtr;
Public | dstArray: Pointer;
Public | dstPos: TcudaPos;
Public | dstPtr: TcudaPitchedPtr;
Public | extent: TcudaExtent;
Public | kind: TcudaMemcpyKind;

Description

Fields

Public srcArray: Pointer;
Public srcPos: TcudaPos;
Public srcPtr: TcudaPitchedPtr;
Public dstArray: Pointer;
Public dstPos: TcudaPos;
Public dstPtr: TcudaPitchedPtr;
Public extent: TcudaExtent;
Public kind: TcudaMemcpyKind;


GLSysHelp v.2.1: CUDA.Runtime: Record TCudaDeviceProp

Record TCudaDeviceProp

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TCudaDeviceProp = record

Description

Overview

Fields

Public | name: array [0 .. 256 - 1] of AnsiChar;
Public | totalGlobalMem: NativeUInt;
Public | sharedMemPerBlock: NativeUInt;
Public | regsPerBlock: Integer;
Public | warpSize: Integer;
Public | memPitch: NativeUInt;
Public | maxThreadsPerBlock: Integer;
Public | maxThreadsDim: array [0 .. 3 - 1] of Integer;
Public | maxGridSize: array [0 .. 3 - 1] of Integer;
Public | clockRate: Integer;
Public | totalConstMem: NativeUInt;
Public | major: Integer;
Public | minor: Integer;
Public | textureAlignment: NativeUInt;
Public | deviceOverlap: Integer;
Public | multiProcessorCount: Integer;
Public | kernelExecTimeoutEnabled: Integer;
Public | egrated: Integer;
Public | canMapHostMemory: Integer;
Public | computeMode: Integer;
Public | maxTexture1D: Integer;
Public | maxTexture2D: array[0..1] of Integer;
Public | maxTexture3D: array[0..2] of Integer;
Public | maxTexture2DArray: array[0..2] of Integer;
Public | surfaceAlignment: NativeUInt;
Public | concurrentKernels: Integer;
Public | ECCEnabled: Integer;
Public | pciBusID: Integer;
Public | pciDeviceID: Integer;
Public | tccDriver: Integer;
Public | __cudaReserved: array [0 .. 20] of Integer;

Description

Fields

Public name: array [0 .. 256 - 1] of AnsiChar;
Public totalGlobalMem: NativeUInt;
Public sharedMemPerBlock: NativeUInt;
Public regsPerBlock: Integer;
Public warpSize: Integer;
Public memPitch: NativeUInt;
Public maxThreadsPerBlock: Integer;
Public maxThreadsDim: array [0 .. 3 - 1] of Integer;
Public maxGridSize: array [0 .. 3 - 1] of Integer;
Public clockRate: Integer;
Public totalConstMem: NativeUInt;
Public major: Integer;
Public minor: Integer;
Public textureAlignment: NativeUInt;
Public deviceOverlap: Integer;
Public multiProcessorCount: Integer;
Public kernelExecTimeoutEnabled: Integer;

Specified whether there is a run time limit on kernels

Public egrated: Integer;

Device is egrated as opposed to discrete

Public canMapHostMemory: Integer;

Device can map host memory with cudaHostAlloc/cudaHostGetDevicePoer

Public computeMode: Integer;

Compute mode (See ::cudaComputeMode)

Public maxTexture1D: Integer;

Maximum 1D texture size

Public maxTexture2D: array[0..1] of Integer;

Maximum 2D texture dimensions

Public maxTexture3D: array[0..2] of Integer;

Maximum 3D texture dimensions

Public maxTexture2DArray: array[0..2] of Integer;

Maximum 2D texture array dimensions

Public surfaceAlignment: NativeUInt;

Alignment requirements for surfaces

Public concurrentKernels: Integer;

Device can possibly execute multiple kernels concurrently

Public ECCEnabled: Integer;

Device has ECC support enabled

Public pciBusID: Integer;

PCI bus ID of the device

Public pciDeviceID: Integer;

PCI device ID of the device

Public tccDriver: Integer;

1 if device is a Tesla device using TCC driver, 0 otherwise

Public __cudaReserved: array [0 .. 20] of Integer;


GLSysHelp v.2.1: CUDA.Runtime: Record TTextureReference

Record TTextureReference

Description
Hierarchy
Fields
Methods
Properties

Unit

CUDA.Runtime

Declaration

type TTextureReference = record

Description

Overview

Fields

Public | normalized: Integer;
Public | filterMode: TcudaTextureFilterMode;
Public | addressMode: array [0 .. 2] of TcudaTextureAddressMode;
Public | channelDesc: TCudaChannelFormatDesc;
Public | __cudaReserved: array [0 .. 15] of Integer;

Description

Fields

Public normalized: Integer;
Public filterMode: TcudaTextureFilterMode;
Public addressMode: array [0 .. 2] of TcudaTextureAddressMode;
Public channelDesc: TCudaChannelFormatDesc;
Public __cudaReserved: array [0 .. 15] of Integer;


GLSysHelp v.2.1: CUDA.Utility

Unit CUDA.Utility

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows

Overview

Functions and Procedures

function InitCUTIL: Boolean;
procedure CloseCUTIL;
function InitCUTILFromLibrary(const LibName: WideString): Boolean;
function IsCUTILInitialized: Boolean;

Constants

CUTILDLL = 'cutil32.dll';

Variables

cutFindFilePath: function(const filename: PAnsiChar; const executablePath: PAnsiChar): PAnsiChar; stdcall;
cutLoadPGMf: function(const filename: PAnsiChar; var data: System.PSingle; var w: Integer; var h: Integer): Boolean; stdcall;
cutSavePGMf: function(const filename: PAnsiChar; data: System.PSingle; w: Integer; h: Integer): Boolean; stdcall;
cutLoadPGMub: function(const filename: PAnsiChar; var data: PByte; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPPMub: function(const filename: PAnsiChar; var data: PByte; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPPM4ub: function(const filename: PAnsiChar; var data: PByte; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPGMi: function(const filename: PAnsiChar; var data: PInteger; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPGMs: function(const filename: PAnsiChar; var data: PWord; var w: Integer; var h: Integer): Boolean; stdcall;
cutSavePGMub: function(const filename: PAnsiChar; data: PByte; w: Integer; h: Integer): Boolean; stdcall;
cutSavePPMub: function(const filename: PAnsiChar; data: PByte; w: Integer; h: Integer): Boolean; stdcall;
cutSavePPM4ub: function(const filename: PAnsiChar; data: PByte; w: Integer; h: Integer): Boolean; stdcall;
cutSavePGMi: function(const filename: PAnsiChar; data: PInteger; w: Integer; h: Integer): Boolean; stdcall;
cutSavePGMs: function(const filename: PAnsiChar; data: PWord; w: Integer; h: Integer): Boolean; stdcall;
cutComparef: function(const reference: PSingle; const data: PSingle; const len: Cardinal): Boolean; stdcall;
cutComparei: function(const reference: PInteger; const data: PInteger; const len: Cardinal): Boolean; stdcall;
cutCompareuit: function(const reference: PInteger; const data: PInteger; const len: Cardinal; const epsilon: Single; const threshold: Single): Boolean; stdcall;
cutCompareub: function(const reference: PByte; const data: PByte; const len: Cardinal): Boolean; stdcall;
cutCompareubt: function(const reference: PByte; const data: PByte; const len: Cardinal; const epsilon: Single; const threshold: Single): Boolean; stdcall;
cutCompareube: function(const reference: PByte; const data: PByte; const len: Cardinal; const epsilon: Single): Boolean; stdcall;
cutComparefe: function(const reference: PSingle; const data: PSingle; const len: Cardinal; const epsilon: Single): Boolean; stdcall;
cutComparefet: function(const reference: PSingle; const data: PSingle; const len: Cardinal; const epsilon: Single; const threshold: Single): Boolean; stdcall;
cutCompareL2fe: function(const reference: PSingle; const data: PSingle; const len: Cardinal; const epsilon: Single): Boolean; stdcall;
cutCreateTimer: function(var name: Cardinal): Boolean; stdcall;
cutStartTimer: function(const name: Cardinal): Boolean; stdcall;
cutStopTimer: function(const name: Cardinal): Boolean; stdcall;
cutResetTimer: function(const name: Cardinal): Boolean; stdcall;
cutDeleteTimer: function(const name: Cardinal): Boolean; stdcall;
cutGetTimerValue: function(const name: Cardinal): Single; stdcall;
cutGetAverageTimerValue: function(const name: Cardinal): Single; stdcall;
cutFree: procedure(ptr: Pointer); stdcall;

Description

Functions and Procedures

function InitCUTIL: Boolean;
procedure CloseCUTIL;
function InitCUTILFromLibrary(const LibName: WideString): Boolean;
function IsCUTILInitialized: Boolean;

Constants

CUTILDLL = 'cutil32.dll';

Variables

cutFindFilePath: function(const filename: PAnsiChar; const executablePath: PAnsiChar): PAnsiChar; stdcall;
cutLoadPGMf: function(const filename: PAnsiChar; var data: System.PSingle; var w: Integer; var h: Integer): Boolean; stdcall;
cutSavePGMf: function(const filename: PAnsiChar; data: System.PSingle; w: Integer; h: Integer): Boolean; stdcall;
cutLoadPGMub: function(const filename: PAnsiChar; var data: PByte; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPPMub: function(const filename: PAnsiChar; var data: PByte; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPPM4ub: function(const filename: PAnsiChar; var data: PByte; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPGMi: function(const filename: PAnsiChar; var data: PInteger; var w: Integer; var h: Integer): Boolean; stdcall;
cutLoadPGMs: function(const filename: PAnsiChar; var data: PWord; var w: Integer; var h: Integer): Boolean; stdcall;
cutSavePGMub: function(const filename: PAnsiChar; data: PByte; w: Integer; h: Integer): Boolean; stdcall;
cutSavePPMub: function(const filename: PAnsiChar; data: PByte; w: Integer; h: Integer): Boolean; stdcall;
cutSavePPM4ub: function(const filename: PAnsiChar; data: PByte; w: Integer; h: Integer): Boolean; stdcall;
cutSavePGMi: function(const filename: PAnsiChar; data: PInteger; w: Integer; h: Integer): Boolean; stdcall;
cutSavePGMs: function(const filename: PAnsiChar; data: PWord; w: Integer; h: Integer): Boolean; stdcall;
cutComparef: function(const reference: PSingle; const data: PSingle; const len: Cardinal): Boolean; stdcall;
cutComparei: function(const reference: PInteger; const data: PInteger; const len: Cardinal): Boolean; stdcall;
cutCompareuit: function(const reference: PInteger; const data: PInteger; const len: Cardinal; const epsilon: Single; const threshold: Single): Boolean; stdcall;
cutCompareub: function(const reference: PByte; const data: PByte; const len: Cardinal): Boolean; stdcall;
cutCompareubt: function(const reference: PByte; const data: PByte; const len: Cardinal; const epsilon: Single; const threshold: Single): Boolean; stdcall;
cutCompareube: function(const reference: PByte; const data: PByte; const len: Cardinal; const epsilon: Single): Boolean; stdcall;
cutComparefe: function(const reference: PSingle; const data: PSingle; const len: Cardinal; const epsilon: Single): Boolean; stdcall;
cutComparefet: function(const reference: PSingle; const data: PSingle; const len: Cardinal; const epsilon: Single; const threshold: Single): Boolean; stdcall;
cutCompareL2fe: function(const reference: PSingle; const data: PSingle; const len: Cardinal; const epsilon: Single): Boolean; stdcall;
cutCreateTimer: function(var name: Cardinal): Boolean; stdcall;
cutStartTimer: function(const name: Cardinal): Boolean; stdcall;
cutStopTimer: function(const name: Cardinal): Boolean; stdcall;
cutResetTimer: function(const name: Cardinal): Boolean; stdcall;
cutDeleteTimer: function(const name: Cardinal): Boolean; stdcall;
cutGetTimerValue: function(const name: Cardinal): Single; stdcall;
cutGetAverageTimerValue: function(const name: Cardinal): Single; stdcall;
cutFree: procedure(ptr: Pointer); stdcall;


GLSysHelp v.2.1: DWS.Classes

Unit DWS.Classes

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • dwsExprs
  • dwsSymbols
  • dwsComp
  • dwsCompStrings
  • dwsStack
  • dwsFunctions
  • dwsHelperFunc

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TdwsClassesUnit |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: DWS.Classes: Class TdwsClassesUnit

Class TdwsClassesUnit

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.Classes

Declaration

type TdwsClassesUnit = class(TdwsUnitComponent)

Description

Hierarchy

  • TdwsUnitComponent
  • TdwsClassesUnit

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;
Private | procedure AddClassTComponent(SymbolTable: TSymbolTable);
Private | procedure AddClassTPersistent(SymbolTable: TSymbolTable);

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Protected procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;
Private procedure AddClassTComponent(SymbolTable: TSymbolTable);
Private procedure AddClassTPersistent(SymbolTable: TSymbolTable);


GLSysHelp v.2.1: DWS.HelperFunc

Unit DWS.HelperFunc

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • dwsSymbols
  • dwsCompStrings

Overview

Functions and Procedures

procedure AddForwardDeclaration(ClassName: String; SymbolTable: TSymbolTable);
function AddClassSymbol(SymbolTable: TSymbolTable; Name, Ancestor: String): TSymbol;
procedure AddPropertyToClass(Name, DataType, ReadAccess, WriteAccess, IndexDataType: String; IsDefault: Boolean; ClassSym: TClassSymbol; Table: TSymbolTable);
procedure ValidateExternalObject(ExtObject: TObject; ObjClass: TClass);

Description

Functions and Procedures

procedure AddForwardDeclaration(ClassName: String; SymbolTable: TSymbolTable);
function AddClassSymbol(SymbolTable: TSymbolTable; Name, Ancestor: String): TSymbol;
procedure AddPropertyToClass(Name, DataType, ReadAccess, WriteAccess, IndexDataType: String; IsDefault: Boolean; ClassSym: TClassSymbol; Table: TSymbolTable);
procedure ValidateExternalObject(ExtObject: TObject; ObjClass: TClass);


GLSysHelp v.2.1: DWS.Objects

Unit DWS.Objects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.XCollection
  • GLS.BaseClasses
  • GLS.Manager
  • DWS.Script
  • dwsComp
  • dwsExprs
  • dwsSymbols

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDWSActiveBehaviour |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: DWS.Objects: Class TGLDWSActiveBehaviour

Class TGLDWSActiveBehaviour

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.Objects

Declaration

type TGLDWSActiveBehaviour = class(TGLBehaviour)

Description

A DelphiWebScript enabled behaviour. This behaviour also calls on the OnProgress and OnBeginProgram procedures in the script if they are found. Once compiled and executed the program remains active until killed, deactivated or the script is invalidated.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLDWSActiveBehaviour

Overview

Fields

Private | FActive: Boolean;
Private | FScript: TStringList;
Private | FDWSProgram: TProgram;
Private | FCompiler: TGLDelphiWebScript;
Private | FCompilerName: String;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: String; override;
Public | procedure DoProgress(const ProgressTimes: TGLProgressTimes); override;
Public | procedure InvalidateScript;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure BeginProgram;
Private | procedure CompileProgram;
Private | procedure EndProgram;
Private | procedure KillProgram;
Private | procedure SetActive(const Value: Boolean);
Private | procedure SetCompiler(const Value: TGLDelphiWebScript);
Private | procedure SetScript(const Value: TStringList);

Properties

Published | property Active: Boolean read FActive write SetActive;
Published | property Compiler: TGLDelphiWebScript read FCompiler write SetCompiler;
Public | property DWSProgram: TProgram read FDWSProgram;
Published | property Script: TStringList read FScript write SetScript;

Description

Fields

Private FActive: Boolean;
Private FScript: TStringList;
Private FDWSProgram: TProgram;
Private FCompiler: TGLDelphiWebScript;
Private FCompilerName: String;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: String; override;
Public procedure DoProgress(const ProgressTimes: TGLProgressTimes); override;
Public procedure InvalidateScript;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure BeginProgram;
Private procedure CompileProgram;
Private procedure EndProgram;
Private procedure KillProgram;
Private procedure SetActive(const Value: Boolean);
Private procedure SetCompiler(const Value: TGLDelphiWebScript);
Private procedure SetScript(const Value: TStringList);

Properties

Published property Active: Boolean read FActive write SetActive;
Published property Compiler: TGLDelphiWebScript read FCompiler write SetCompiler;
Public property DWSProgram: TProgram read FDWSProgram;
Published property Script: TStringList read FScript write SetScript;


GLSysHelp v.2.1: DWS.OpenGL

Unit DWS.OpenGL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.Variants
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.VectorGeometry
  • dwsExprs
  • dwsSymbols
  • dwsComp
  • dwsFunctions

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TdwsOpenGLUnit |

Functions and Procedures

procedure Register;

Constants

TypCardinalID : TBaseTypeId = 10;
TypByteID : TBaseTypeId = 11;

Description

Functions and Procedures

procedure Register;

Constants

TypCardinalID : TBaseTypeId = 10;
TypByteID : TBaseTypeId = 11;


GLSysHelp v.2.1: DWS.OpenGL: Class TdwsOpenGLUnit

Class TdwsOpenGLUnit

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.OpenGL

Declaration

type TdwsOpenGLUnit = class(TdwsUnitComponent)

Description

Hierarchy

  • TdwsUnitComponent
  • TdwsOpenGLUnit

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | procedure AddExtensionUnitSymbols(SymbolTable: TSymbolTable);
Protected | procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Protected procedure AddExtensionUnitSymbols(SymbolTable: TSymbolTable);
Protected procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;


GLSysHelp v.2.1: DWS.Scene

Unit DWS.Scene

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Coordinates
  • DWS.HelperFunc
  • dwsExprs
  • dwsSymbols
  • dwsComp
  • dwsCompStrings
  • dwsStack
  • dwsFunctions

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TdwsGLSceneUnit |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: DWS.Scene: Class TdwsGLSceneUnit

Class TdwsGLSceneUnit

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.Scene

Declaration

type TdwsGLSceneUnit = class(TdwsUnitComponent)

Description

Hierarchy

  • TdwsUnitComponent
  • TdwsGLSceneUnit

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;
Private | procedure AddClassTGLBaseSceneObject(SymbolTable: TSymbolTable);
Private | procedure AddClassTGLCoordinates(SymbolTable: TSymbolTable);

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Protected procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;
Private procedure AddClassTGLBaseSceneObject(SymbolTable: TSymbolTable);
Private procedure AddClassTGLCoordinates(SymbolTable: TSymbolTable);


GLSysHelp v.2.1: DWS.Script

Unit DWS.Script

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.XCollection
  • GLS.ScriptBase
  • dwsComp
  • dwsExprs
  • dwsSymbols
  • GLS.Manager

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDelphiWebScript |
Class TGLScriptDWS |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: DWS.Script: Class TGLDelphiWebScript

Class TGLDelphiWebScript

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.Script

Declaration

type TGLDelphiWebScript = class(TDelphiWebScript)

Description

This class only adds manager registration logic to the TDelphiWebScriptII class to enable the XCollection items (ie. TGLScriptDWS) retain it's assigned compiler from design to run -time.

Hierarchy

  • TDelphiWebScript
  • TGLDelphiWebScript

Overview

Methods

Public | constructor Create(AOnwer: TComponent); override;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create(AOnwer: TComponent); override;
Public destructor Destroy; override;


GLSysHelp v.2.1: DWS.Script: Class TGLScriptDWS

Class TGLScriptDWS

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.Script

Declaration

type TGLScriptDWS = class(TGLScriptBase)

Description

Implements DelphiWebScript scripting functionality through the abstracted GLS.ScriptBase

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLScriptBase
  • TGLScriptDWS

Overview

Fields

Private | FDWSProgram: TProgram;
Private | FCompiler: TGLDelphiWebScript;
Private | FCompilerName: String;

Methods

Public | destructor Destroy; override;
Public | function Call(aName: String; aParams: array of Variant): Variant; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function GetState: TGLScriptState; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Compile; override;
Public | procedure Execute; override;
Public | procedure Invalidate; override;
Public | procedure Start; override;
Public | procedure Stop; override;
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetCompiler(const Value: TGLDelphiWebScriptII);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Compiler: TGLDelphiWebScriptII read FCompiler write SetCompiler;
Public | property DWS2Program: TProgram read FDWS2Program;

Description

Fields

Private FDWSProgram: TProgram;
Private FCompiler: TGLDelphiWebScript;
Private FCompilerName: String;

Methods

Public destructor Destroy; override;
Public function Call(aName: String; aParams: array of Variant): Variant; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function GetState: TGLScriptState; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Compile; override;
Public procedure Execute; override;
Public procedure Invalidate; override;
Public procedure Start; override;
Public procedure Stop; override;
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetCompiler(const Value: TGLDelphiWebScriptII);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Compiler: TGLDelphiWebScriptII read FCompiler write SetCompiler;
Public property DWS2Program: TProgram read FDWS2Program;


GLSysHelp v.2.1: DWS.VectorGeometry

Unit DWS.VectorGeometry

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • dwsExprs
  • dwsSymbols
  • dwsComp
  • dwsFunctions
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TdwsVectorGeometryUnit |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: DWS.VectorGeometry: Class TdwsVectorGeometryUnit

Class TdwsVectorGeometryUnit

Description
Hierarchy
Fields
Methods
Properties

Unit

DWS.VectorGeometry

Declaration

type TdwsVectorGeometryUnit = class(TdwsUnitComponent)

Description

Hierarchy

  • TdwsUnitComponent
  • TdwsVectorGeometryUnit

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Protected procedure AddUnitSymbols(SymbolTable: TSymbolTable); override;


GLSysHelp v.2.1: FLibMaterialPicker

Unit FLibMaterialPicker

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • VCL.Forms
  • VCL.StdCtrls
  • VCL.Buttons
  • VCL.Controls
  • GLS.Scene
  • GLS.Objects
  • GLS.GeomObjects
  • GLS.HudObjects
  • GLS.SceneViewer
  • GLS.Material
  • GLS.BaseClasses
  • GLS.Coordinates

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLibMaterialPickerForm |

Functions and Procedures

function GLLibMaterialPickerForm: TGLLibMaterialPickerForm;
procedure ReleaseLibMaterialPickerForm;

Description

Functions and Procedures

function GLLibMaterialPickerForm: TGLLibMaterialPickerForm;
procedure ReleaseLibMaterialPickerForm;


GLSysHelp v.2.1: FLibMaterialPicker: Class TGLLibMaterialPickerForm

Class TGLLibMaterialPickerForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FLibMaterialPicker

Declaration

type TGLLibMaterialPickerForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLLibMaterialPickerForm

Overview

Fields

Public | GLScene: TGLScene;
Public | LBMaterials: TListBox;
Public | Label1: TLabel;
Public | Label2: TLabel;
Public | BBOk: TBitBtn;
Public | BBCancel: TBitBtn;
Public | GLMaterialLibrary: TGLMaterialLibrary;
Public | GLSceneViewer: TGLSceneViewer;
Public | Camera: TGLCamera;
Public | BackgroundSprite: TGLSprite;
Public | World: TGLDummyCube;
Public | Light: TGLDummyCube;
Public | Cube: TGLCube;
Public | Cone: TGLCone;
Public | Sphere: TGLSphere;
Public | Teapot: TGLTeapot;
Public | cbObject: TComboBox;
Public | LightSource: TGLLightSource;
Public | FireSphere: TGLSphere;
Public | ComboBox1: TComboBox;

Methods

Public | function Execute(var materialName: TGLLibMaterialName; materialLibrary: TGLAbstractMaterialLibrary): Boolean;
Public | procedure LBMaterialsClick(Sender: TObject);
Public | procedure LBMaterialsDblClick(Sender: TObject);
Public | procedure LBMaterialsKeyPress(Sender: TObject; var Key: Char);

Description

Fields

Public GLScene: TGLScene;
Public LBMaterials: TListBox;
Public Label1: TLabel;
Public Label2: TLabel;
Public BBOk: TBitBtn;
Public BBCancel: TBitBtn;
Public GLMaterialLibrary: TGLMaterialLibrary;
Public GLSceneViewer: TGLSceneViewer;
Public Camera: TGLCamera;
Public BackgroundSprite: TGLSprite;
Public World: TGLDummyCube;
Public Light: TGLDummyCube;
Public Cube: TGLCube;
Public Cone: TGLCone;
Public Sphere: TGLSphere;
Public Teapot: TGLTeapot;
Public cbObject: TComboBox;
Public LightSource: TGLLightSource;
Public FireSphere: TGLSphere;
Public ComboBox1: TComboBox;

Methods

Public function Execute(var materialName: TGLLibMaterialName; materialLibrary: TGLAbstractMaterialLibrary): Boolean;
Public procedure LBMaterialsClick(Sender: TObject);
Public procedure LBMaterialsDblClick(Sender: TObject);
Public procedure LBMaterialsKeyPress(Sender: TObject; var Key: Char);


GLSysHelp v.2.1: FmGuiLayoutEditor

Unit FmGuiLayoutEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.ShellApi
  • System.SysUtils
  • System.Variants
  • System.Classes
  • Vcl.Graphics
  • Vcl.Controls
  • Vcl.Forms
  • Vcl.Dialogs
  • Vcl.Buttons
  • Vcl.ExtDlgs
  • Vcl.StdCtrls
  • Vcl.ExtCtrls
  • Vcl.Samples.Spin
  • Vcl.Grids
  • GLS.BaseClasses
  • GLS.Gui
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLayoutEditorForm |

Functions and Procedures

function GUILayoutEditorForm: TGLLayoutEditorForm;
procedure ReleaseGUILayoutEditorForm;

Description

Functions and Procedures

function GUILayoutEditorForm: TGLLayoutEditorForm;
procedure ReleaseGUILayoutEditorForm;


GLSysHelp v.2.1: FmGuiLayoutEditor: Class TGLLayoutEditorForm

Class TGLLayoutEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmGuiLayoutEditor

Declaration

type TGLLayoutEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLLayoutEditorForm

Overview

Fields

Public | Panel1: TPanel;
Public | Panel2: TPanel;
Public | items_list: TListBox;
Public | x_label: TLabel;
Public | y_label: TLabel;
Public | open_image_button: TBitBtn;
Public | open_button: TBitBtn;
Public | save_button: TBitBtn;
Public | OpenDialog1: TOpenDialog;
Public | SaveDialog1: TSaveDialog;
Public | delete_item_button: TBitBtn;
Public | add_button: TBitBtn;
Public | Label1: TLabel;
Public | Label2: TLabel;
Public | left_edit: TSpinEdit;
Public | top_edit: TSpinEdit;
Public | Label3: TLabel;
Public | Label4: TLabel;
Public | height_edit: TSpinEdit;
Public | width_edit: TSpinEdit;
Public | Label5: TLabel;
Public | name_edit: TEdit;
Public | elements_grid: TStringGrid;
Public | Panel3: TPanel;
Public | BitBtn4: TBitBtn;
Public | BitBtn5: TBitBtn;
Public | ScrollBox1: TScrollBox;
Public | Image2: TImage;
Public | PaintBox1: TPaintBox;
Public | Image1: TImage;
Public | BitBtn6: TBitBtn;
Public | BitBtn1: TBitBtn;
Public | GLGuiLayout1: TGLGuiLayout;

Methods

Private | function GetEnabledSpins: Boolean;
Public | procedure add_buttonClick(Sender: TObject);
Public | procedure BitBtn4Click(Sender: TObject);
Public | procedure BitBtn6Click(Sender: TObject);
Public | procedure delete_item_buttonClick(Sender: TObject);
Public | procedure elements_gridClick(Sender: TObject);
Public | procedure elements_gridDblClick(Sender: TObject);
Public | procedure Execute(AGUILayout: TGLGuiLayout);
Public | procedure FormCreate(Sender: TObject);
Public | procedure height_editChange(Sender: TObject);
Public | procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public | procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure items_listClick(Sender: TObject);
Public | procedure left_editChange(Sender: TObject);
Public | procedure name_editExit(Sender: TObject);
Public | procedure name_editKeyPress(Sender: TObject; var Key: Char);
Public | procedure open_buttonClick(Sender: TObject);
Public | procedure open_image_buttonClick(Sender: TObject);
Public | procedure save_buttonClick(Sender: TObject);
Public | procedure top_editChange(Sender: TObject);
Public | procedure width_editChange(Sender: TObject);
Private | procedure DrawCurrentElement;
Private | procedure RefreshComponentBox;
Private | procedure SetEnabledSpins(Value: Boolean);
Private | procedure SyncImages;

Properties

Public property EnabledSpins: Boolean read GetEnabledSpins write SetEnabledSpins;

Description

Fields

Public Panel1: TPanel;
Public Panel2: TPanel;
Public items_list: TListBox;
Public x_label: TLabel;
Public y_label: TLabel;
Public open_image_button: TBitBtn;
Public open_button: TBitBtn;
Public save_button: TBitBtn;
Public OpenDialog1: TOpenDialog;
Public SaveDialog1: TSaveDialog;
Public delete_item_button: TBitBtn;
Public add_button: TBitBtn;
Public Label1: TLabel;
Public Label2: TLabel;
Public left_edit: TSpinEdit;
Public top_edit: TSpinEdit;
Public Label3: TLabel;
Public Label4: TLabel;
Public height_edit: TSpinEdit;
Public width_edit: TSpinEdit;
Public Label5: TLabel;
Public name_edit: TEdit;
Public elements_grid: TStringGrid;
Public Panel3: TPanel;
Public BitBtn4: TBitBtn;
Public BitBtn5: TBitBtn;
Public ScrollBox1: TScrollBox;
Public Image2: TImage;
Public PaintBox1: TPaintBox;
Public Image1: TImage;
Public BitBtn6: TBitBtn;
Public BitBtn1: TBitBtn;
Public GLGuiLayout1: TGLGuiLayout;

Methods

Private function GetEnabledSpins: Boolean;
Public procedure add_buttonClick(Sender: TObject);
Public procedure BitBtn4Click(Sender: TObject);
Public procedure BitBtn6Click(Sender: TObject);
Public procedure delete_item_buttonClick(Sender: TObject);
Public procedure elements_gridClick(Sender: TObject);
Public procedure elements_gridDblClick(Sender: TObject);
Public procedure Execute(AGUILayout: TGLGuiLayout);
Public procedure FormCreate(Sender: TObject);
Public procedure height_editChange(Sender: TObject);
Public procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure items_listClick(Sender: TObject);
Public procedure left_editChange(Sender: TObject);
Public procedure name_editExit(Sender: TObject);
Public procedure name_editKeyPress(Sender: TObject; var Key: Char);
Public procedure open_buttonClick(Sender: TObject);
Public procedure open_image_buttonClick(Sender: TObject);
Public procedure save_buttonClick(Sender: TObject);
Public procedure top_editChange(Sender: TObject);
Public procedure width_editChange(Sender: TObject);
Private procedure DrawCurrentElement;
Private procedure RefreshComponentBox;
Private procedure SetEnabledSpins(Value: Boolean);
Private procedure SyncImages;

Properties

Public property EnabledSpins: Boolean read GetEnabledSpins write SetEnabledSpins;


GLSysHelp v.2.1: FmGuiSkinEditor

Unit FmGuiSkinEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.SysUtils
  • System.Classes
  • VCL.Graphics
  • VCL.Controls
  • VCL.Forms
  • VCL.Dialogs
  • VCL.StdCtrls
  • VCL.ComCtrls
  • VCL.ExtCtrls
  • VCL.Menus
  • GLS.Texture
  • GLS.Scene
  • GLS.Objects
  • GLS.Windows
  • GLS.HudObjects
  • GLS.SceneViewer
  • GLS.Gui
  • GLS.Graphics
  • GLS.Utils
  • GLS.Coordinates
  • GLS.BaseClasses
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSkinEditorForm |

Functions and Procedures

function GUIComponentDialog(GuiComponent: TGLGuiElementList): Boolean;

Variables

GLSkinEditorForm: TGLSkinEditorForm;

Description

Functions and Procedures

function GUIComponentDialog(GuiComponent: TGLGuiElementList): Boolean;

Variables

GLSkinEditorForm: TGLSkinEditorForm;


GLSysHelp v.2.1: FmGuiSkinEditor: Class TGLSkinEditorForm

Class TGLSkinEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmGuiSkinEditor

Declaration

type TGLSkinEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLSkinEditorForm

Overview

Fields

Public | GLScene1: TGLScene;
Public | GLCamera1: TGLCamera;
Public | GLPanel1: TGLPanel;
Public | HUDSprite1: TGLHUDSprite;
Public | GLMemoryViewer1: TGLMemoryViewer;
Public | GLLightSource1: TGLLightSource;
Public | StatusBar: TStatusBar;
Public | panBottom: TPanel;
Public | panZoomImage: TPanel;
Public | imgFull: TImage;
Public | sbarHorizontal: TScrollBar;
Public | sbarVertical: TScrollBar;
Public | Button5: TButton;
Public | Button6: TButton;
Public | panImageProperties: TPanel;
Public | Label5: TLabel;
Public | Label6: TLabel;
Public | Panel2: TPanel;
Public | imgPreview: TImage;
Public | Panel3: TPanel;
Public | Label2: TLabel;
Public | Label1: TLabel;
Public | Button3: TButton;
Public | Button4: TButton;
Public | CheckBox1: TCheckBox;
Public | WidthEdit: TEdit;
Public | HeightEdit: TEdit;
Public | panElements: TPanel;
Public | Bevel2: TBevel;
Public | Bevel1: TBevel;
Public | Label3: TLabel;
Public | Label4: TLabel;
Public | Label11: TLabel;
Public | Label12: TLabel;
Public | Label13: TLabel;
Public | Label9: TLabel;
Public | Label10: TLabel;
Public | Label14: TLabel;
Public | lbElements: TListBox;
Public | btnAdd: TButton;
Public | btnDelete: TButton;
Public | ComboBox1: TComboBox;
Public | LeftEdit: TEdit;
Public | TopEdit: TEdit;
Public | RightEdit: TEdit;
Public | BottomEdit: TEdit;
Public | ScaleXEdit: TEdit;
Public | ScaleYEdit: TEdit;
Public | popElements: TPopupMenu;
Public | mnuTopLeft: TMenuItem;
Public | mnuTop: TMenuItem;
Public | mnuTopRight: TMenuItem;
Public | mnuLeft: TMenuItem;
Public | mnuCenter: TMenuItem;
Public | mnuRight: TMenuItem;
Public | mnuBottomLeft: TMenuItem;
Public | mnuBottom: TMenuItem;
Public | mnuBottomRight: TMenuItem;
Public | N1: TMenuItem;
Public | mnuAddAll: TMenuItem;
Public | N2: TMenuItem;
Public | mnuAllTop: TMenuItem;
Public | mnuAllMiddle: TMenuItem;
Public | mnuAllBottom: TMenuItem;
Private | FOriginalWndProc: TWndMethod;
Private | FFocusRect: TRect;
Private | VisibleRect: TRect;
Private | PreviewMousePoint: TPoint;
Private | PreviewWidth: Integer;
Private | PreviewHeight: Integer;
Private | FullMousePoint: TPoint;
Private | MouseDown: Boolean;
Public | TheGuiComponent: TGLGuiElementList;
Public | SelectedElement: TGLGUIElement;
Public | Tex: TGLTexture;
Public | Zoom: Single;
Public | Width: Integer;
Public | Height: Integer;

Methods

Public | function Edit(GuiComponent: TGLGuiElementList): Boolean;
Public | procedure BottomEditChange(Sender: TObject);
Public | procedure btnAddClick(Sender: TObject);
Public | procedure btnDeleteClick(Sender: TObject);
Public | procedure Button3Click(Sender: TObject);
Public | procedure Button4Click(Sender: TObject);
Public | procedure CheckBox1Click(Sender: TObject);
Public | procedure ComboBox1Change(Sender: TObject);
Public | procedure EditKeyPress(Sender: TObject; var Key: Char);
Public | procedure FormCreate(Sender: TObject);
Public | procedure FormDestroy(Sender: TObject);
Public | procedure FormResize(Sender: TObject);
Public | procedure HeightEditChange(Sender: TObject);
Public | procedure imgFullMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure imgFullMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public | procedure imgFullMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure imgPreviewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure imgPreviewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public | procedure lbElementsClick(Sender: TObject);
Public | procedure lbElementsKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Public | procedure LeftEditChange(Sender: TObject);
Public | procedure MenuItemClick(Sender: TObject);
Public | procedure mnuAddAllClick(Sender: TObject);
Public | procedure mnuAllBottomClick(Sender: TObject);
Public | procedure mnuAllMiddleClick(Sender: TObject);
Public | procedure mnuAllTopClick(Sender: TObject);
Public | procedure Render;
Public | procedure RightEditChange(Sender: TObject);
Public | procedure ScaleXEditChange(Sender: TObject);
Public | procedure ScaleYEditChange(Sender: TObject);
Public | procedure ScrollbarChange(Sender: TObject);
Public | procedure ScrollBarScroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer);
Public | procedure SetMax(Scrollbar: TScrollbar; Val: Integer);
Public | procedure TopEditChange(Sender: TObject);
Public | procedure WidthEditChange(Sender: TObject);
Private | procedure AddElement(Index: Integer);
Private | procedure AlignZoomPanel;
Private | procedure DrawCrossair(Point: TPoint);
Private | procedure DrawImageFocusRect(ARect: TRect);
Private | procedure ImageWndProc(var Message: TMessage);
Private | procedure SetEditState(Parent: TControl; Enabled: Boolean);
Private | procedure UpdateRegionEdits;

Description

Fields

Public GLScene1: TGLScene;
Public GLCamera1: TGLCamera;
Public GLPanel1: TGLPanel;
Public HUDSprite1: TGLHUDSprite;
Public GLMemoryViewer1: TGLMemoryViewer;
Public GLLightSource1: TGLLightSource;
Public StatusBar: TStatusBar;
Public panBottom: TPanel;
Public panZoomImage: TPanel;
Public imgFull: TImage;
Public sbarHorizontal: TScrollBar;
Public sbarVertical: TScrollBar;
Public Button5: TButton;
Public Button6: TButton;
Public panImageProperties: TPanel;
Public Label5: TLabel;
Public Label6: TLabel;
Public Panel2: TPanel;
Public imgPreview: TImage;
Public Panel3: TPanel;
Public Label2: TLabel;
Public Label1: TLabel;
Public Button3: TButton;
Public Button4: TButton;
Public CheckBox1: TCheckBox;
Public WidthEdit: TEdit;
Public HeightEdit: TEdit;
Public panElements: TPanel;
Public Bevel2: TBevel;
Public Bevel1: TBevel;
Public Label3: TLabel;
Public Label4: TLabel;
Public Label11: TLabel;
Public Label12: TLabel;
Public Label13: TLabel;
Public Label9: TLabel;
Public Label10: TLabel;
Public Label14: TLabel;
Public lbElements: TListBox;
Public btnAdd: TButton;
Public btnDelete: TButton;
Public ComboBox1: TComboBox;
Public LeftEdit: TEdit;
Public TopEdit: TEdit;
Public RightEdit: TEdit;
Public BottomEdit: TEdit;
Public ScaleXEdit: TEdit;
Public ScaleYEdit: TEdit;
Public popElements: TPopupMenu;
Public mnuTopLeft: TMenuItem;
Public mnuTop: TMenuItem;
Public mnuTopRight: TMenuItem;
Public mnuLeft: TMenuItem;
Public mnuCenter: TMenuItem;
Public mnuRight: TMenuItem;
Public mnuBottomLeft: TMenuItem;
Public mnuBottom: TMenuItem;
Public mnuBottomRight: TMenuItem;
Public N1: TMenuItem;
Public mnuAddAll: TMenuItem;
Public N2: TMenuItem;
Public mnuAllTop: TMenuItem;
Public mnuAllMiddle: TMenuItem;
Public mnuAllBottom: TMenuItem;
Private FOriginalWndProc: TWndMethod;
Private FFocusRect: TRect;
Private VisibleRect: TRect;
Private PreviewMousePoint: TPoint;
Private PreviewWidth: Integer;
Private PreviewHeight: Integer;
Private FullMousePoint: TPoint;
Private MouseDown: Boolean;
Public TheGuiComponent: TGLGuiElementList;
Public SelectedElement: TGLGUIElement;
Public Tex: TGLTexture;
Public Zoom: Single;
Public Width: Integer;
Public Height: Integer;

Methods

Public function Edit(GuiComponent: TGLGuiElementList): Boolean;
Public procedure BottomEditChange(Sender: TObject);
Public procedure btnAddClick(Sender: TObject);
Public procedure btnDeleteClick(Sender: TObject);
Public procedure Button3Click(Sender: TObject);
Public procedure Button4Click(Sender: TObject);
Public procedure CheckBox1Click(Sender: TObject);
Public procedure ComboBox1Change(Sender: TObject);
Public procedure EditKeyPress(Sender: TObject; var Key: Char);
Public procedure FormCreate(Sender: TObject);
Public procedure FormDestroy(Sender: TObject);
Public procedure FormResize(Sender: TObject);
Public procedure HeightEditChange(Sender: TObject);
Public procedure imgFullMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure imgFullMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public procedure imgFullMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure imgPreviewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure imgPreviewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public procedure lbElementsClick(Sender: TObject);
Public procedure lbElementsKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Public procedure LeftEditChange(Sender: TObject);
Public procedure MenuItemClick(Sender: TObject);
Public procedure mnuAddAllClick(Sender: TObject);
Public procedure mnuAllBottomClick(Sender: TObject);
Public procedure mnuAllMiddleClick(Sender: TObject);
Public procedure mnuAllTopClick(Sender: TObject);
Public procedure Render;
Public procedure RightEditChange(Sender: TObject);
Public procedure ScaleXEditChange(Sender: TObject);
Public procedure ScaleYEditChange(Sender: TObject);
Public procedure ScrollbarChange(Sender: TObject);
Public procedure ScrollBarScroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer);
Public procedure SetMax(Scrollbar: TScrollbar; Val: Integer);
Public procedure TopEditChange(Sender: TObject);
Public procedure WidthEditChange(Sender: TObject);
Private procedure AddElement(Index: Integer);
Private procedure AlignZoomPanel;
Private procedure DrawCrossair(Point: TPoint);
Private procedure DrawImageFocusRect(ARect: TRect);
Private procedure ImageWndProc(var Message: TMessage);
Private procedure SetEditState(Parent: TControl; Enabled: Boolean);
Private procedure UpdateRegionEdits;


GLSysHelp v.2.1: FmInfo

Unit FmInfo

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.Windows
  • System.SysUtils
  • System.Classes
  • Vcl.Forms
  • Vcl.Controls
  • Vcl.Buttons
  • Vcl.StdCtrls
  • Vcl.ComCtrls
  • Vcl.ExtCtrls
  • Vcl.Graphics
  • Vcl.Menus
  • Vcl.Imaging.jpeg
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.Scene
  • GLS.SceneViewer
  • GLS.Context
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLInfoForm |


GLSysHelp v.2.1: FmInfo: Class TGLInfoForm

Class TGLInfoForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmInfo

Declaration

type TGLInfoForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLInfoForm

Overview

Fields

Public | AccLabel: TLabel;
Public | AccumLabel: TLabel;
Public | AuxLabel: TLabel;
Public | ClipLabel: TLabel;
Public | ColorLabel: TLabel;
Public | CopyLabel: TLabel;
Public | DepthLabel: TLabel;
Public | DoubleLabel: TLabel;
Public | EvalLabel: TLabel;
Public | Image: TImage;
Public | Label1: TLabel;
Public | Label10: TLabel;
Public | Label11: TLabel;
Public | Label12: TLabel;
Public | Label13: TLabel;
Public | Label14: TLabel;
Public | Label15: TLabel;
Public | Label16: TLabel;
Public | Label17: TLabel;
Public | Label18: TLabel;
Public | Label2: TLabel;
Public | Label20: TLabel;
Public | Label23: TLabel;
Public | Label25: TLabel;
Public | Label26: TLabel;
Public | Label27: TLabel;
Public | Label28: TLabel;
Public | Label29: TLabel;
Public | Label3: TLabel;
Public | Label30: TLabel;
Public | LabelCommon: TLabel;
Public | LabelDepths: TLabel;
Public | LabelMaxValues: TLabel;
Public | Label34: TLabel;
Public | Label35: TLabel;
Public | Label37: TLabel;
Public | Label4: TLabel;
Public | Label5: TLabel;
Public | Label6: TLabel;
Public | Label7: TLabel;
Public | Label8: TLabel;
Public | Label9: TLabel;
Public | LightLabel: TLabel;
Public | ListLabel: TLabel;
Public | MemoAbout: TMemo;
Public | MemoContributors: TMemo;
Public | ModelLabel: TLabel;
Public | NameLabel: TLabel;
Public | OverlayLabel: TLabel;
Public | PageControl: TPageControl;
Public | PixelLabel: TLabel;
Public | ProjLabel: TLabel;
Public | RendererLabel: TLabel;
Public | ScrollBoxInfo: TScrollBox;
Public | TabSheetInformation: TTabSheet;
Public | StencilLabel: TLabel;
Public | StereoLabel: TLabel;
Public | SubLabel: TLabel;
Public | TabSheetAbout: TTabSheet;
Public | TabSheetContributors: TTabSheet;
Public | TexSizeLabel: TLabel;
Public | TexStackLabel: TLabel;
Public | TexUnitsLabel: TLabel;
Public | UnderlayLabel: TLabel;
Public | VendorLabel: TLabel;
Public | VersionLabel: TLabel;
Public | TabSheetExtensions: TTabSheet;
Public | ListBoxExtensions: TListBox;
Public | PMWebLink: TPopupMenu;
Public | MIRegistryLink: TMenuItem;
Public | MIDelphi3D: TMenuItem;
Public | TabSheetGLScene: TTabSheet;
Public | CloseButton: TButton;
Public | VersionLbl: TLabel;
Public | ViewLabel: TLabel;
Public | WebsiteLbl: TLabel;

Methods

Protected | function GetSceneVersion: string;
Public | procedure CloseButtonClick(Sender: TObject);
Public | procedure FormClose(Sender: TObject; var Action: TCloseAction);
Public | procedure FormCreate(Sender: TObject);
Public | procedure FormKeyPress(Sender: TObject; var Key: Char);
Public | procedure FormShow(Sender: TObject);
Public | procedure GetInfoFrom(aSceneBuffer: TGLSceneBuffer);
Public | procedure ListBoxExtensionsClick(Sender: TObject);
Public | procedure ListBoxExtensionsDblClick(Sender: TObject);
Public | procedure ListBoxExtensionsKeyPress(Sender: TObject; var Key: Char);
Public | procedure MIDelphi3DClick(Sender: TObject);
Public | procedure WebsiteLblClick(Sender: TObject);

Description

Fields

Public AccLabel: TLabel;
Public AccumLabel: TLabel;
Public AuxLabel: TLabel;
Public ClipLabel: TLabel;
Public ColorLabel: TLabel;
Public CopyLabel: TLabel;
Public DepthLabel: TLabel;
Public DoubleLabel: TLabel;
Public EvalLabel: TLabel;
Public Image: TImage;
Public Label1: TLabel;
Public Label10: TLabel;
Public Label11: TLabel;
Public Label12: TLabel;
Public Label13: TLabel;
Public Label14: TLabel;
Public Label15: TLabel;
Public Label16: TLabel;
Public Label17: TLabel;
Public Label18: TLabel;
Public Label2: TLabel;
Public Label20: TLabel;
Public Label23: TLabel;
Public Label25: TLabel;
Public Label26: TLabel;
Public Label27: TLabel;
Public Label28: TLabel;
Public Label29: TLabel;
Public Label3: TLabel;
Public Label30: TLabel;
Public LabelCommon: TLabel;
Public LabelDepths: TLabel;
Public LabelMaxValues: TLabel;
Public Label34: TLabel;
Public Label35: TLabel;
Public Label37: TLabel;
Public Label4: TLabel;
Public Label5: TLabel;
Public Label6: TLabel;
Public Label7: TLabel;
Public Label8: TLabel;
Public Label9: TLabel;
Public LightLabel: TLabel;
Public ListLabel: TLabel;
Public MemoAbout: TMemo;
Public MemoContributors: TMemo;
Public ModelLabel: TLabel;
Public NameLabel: TLabel;
Public OverlayLabel: TLabel;
Public PageControl: TPageControl;
Public PixelLabel: TLabel;
Public ProjLabel: TLabel;
Public RendererLabel: TLabel;
Public ScrollBoxInfo: TScrollBox;
Public TabSheetInformation: TTabSheet;
Public StencilLabel: TLabel;
Public StereoLabel: TLabel;
Public SubLabel: TLabel;
Public TabSheetAbout: TTabSheet;
Public TabSheetContributors: TTabSheet;
Public TexSizeLabel: TLabel;
Public TexStackLabel: TLabel;
Public TexUnitsLabel: TLabel;
Public UnderlayLabel: TLabel;
Public VendorLabel: TLabel;
Public VersionLabel: TLabel;
Public TabSheetExtensions: TTabSheet;
Public ListBoxExtensions: TListBox;
Public PMWebLink: TPopupMenu;
Public MIRegistryLink: TMenuItem;
Public MIDelphi3D: TMenuItem;
Public TabSheetGLScene: TTabSheet;
Public CloseButton: TButton;
Public VersionLbl: TLabel;
Public ViewLabel: TLabel;
Public WebsiteLbl: TLabel;

Methods

Protected function GetSceneVersion: string;
Public procedure CloseButtonClick(Sender: TObject);
Public procedure FormClose(Sender: TObject; var Action: TCloseAction);
Public procedure FormCreate(Sender: TObject);
Public procedure FormKeyPress(Sender: TObject; var Key: Char);
Public procedure FormShow(Sender: TObject);
Public procedure GetInfoFrom(aSceneBuffer: TGLSceneBuffer);
Public procedure ListBoxExtensionsClick(Sender: TObject);
Public procedure ListBoxExtensionsDblClick(Sender: TObject);
Public procedure ListBoxExtensionsKeyPress(Sender: TObject; var Key: Char);
Public procedure MIDelphi3DClick(Sender: TObject);
Public procedure WebsiteLblClick(Sender: TObject);


GLSysHelp v.2.1: FmLibMaterialPicker

Unit FmLibMaterialPicker

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • VCL.Forms
  • VCL.StdCtrls
  • VCL.Buttons
  • VCL.Controls
  • GLS.SceneViewer
  • GLS.Material
  • FRMaterialPreview

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLibMaterialPickerForm |

Functions and Procedures

function GLLibMaterialPickerForm: TGLLibMaterialPickerForm;
procedure ReleaseLibMaterialPickerForm;

Description

Functions and Procedures

function GLLibMaterialPickerForm: TGLLibMaterialPickerForm;
procedure ReleaseLibMaterialPickerForm;


GLSysHelp v.2.1: FmLibMaterialPicker: Class TGLLibMaterialPickerForm

Class TGLLibMaterialPickerForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmLibMaterialPicker

Declaration

type TGLLibMaterialPickerForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLLibMaterialPickerForm

Overview

Fields

Public | LBMaterials: TListBox;
Public | Label1: TLabel;
Public | Label2: TLabel;
Public | BBOk: TBitBtn;
Public | BBCancel: TBitBtn;
Public | MPPreview: TRMaterialPreview;

Methods

Public | function Execute(var materialName: TGLLibMaterialName; materialLibrary: TGLAbstractMaterialLibrary): Boolean;
Public | procedure LBMaterialsClick(Sender: TObject);
Public | procedure LBMaterialsDblClick(Sender: TObject);
Public | procedure LBMaterialsKeyPress(Sender: TObject; var Key: Char);

Description

Fields

Public LBMaterials: TListBox;
Public Label1: TLabel;
Public Label2: TLabel;
Public BBOk: TBitBtn;
Public BBCancel: TBitBtn;
Public MPPreview: TRMaterialPreview;

Methods

Public function Execute(var materialName: TGLLibMaterialName; materialLibrary: TGLAbstractMaterialLibrary): Boolean;
Public procedure LBMaterialsClick(Sender: TObject);
Public procedure LBMaterialsDblClick(Sender: TObject);
Public procedure LBMaterialsKeyPress(Sender: TObject; var Key: Char);


GLSysHelp v.2.1: FmMaterialEditor

Unit FmMaterialEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.TypInfo
  • VCL.Forms
  • VCL.ComCtrls
  • VCL.StdCtrls
  • VCL.Controls
  • VCL.Buttons
  • GLS.SceneViewer
  • GLS.State
  • GLS.Material
  • GLS.Texture
  • FRMaterialPreview
  • FRColorEditor
  • FRFaceEditor
  • FRTextureEdit

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMaterialEditorForm |

Functions and Procedures

function GLMaterialEditorForm: TGLMaterialEditorForm;
procedure ReleaseMaterialEditorForm;

Description

Functions and Procedures

function GLMaterialEditorForm: TGLMaterialEditorForm;
procedure ReleaseMaterialEditorForm;


GLSysHelp v.2.1: FmMaterialEditor: Class TGLMaterialEditorForm

Class TGLMaterialEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmMaterialEditor

Declaration

type TGLMaterialEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLMaterialEditorForm

Overview

Fields

Public | PageControl1: TPageControl;
Public | TSFront: TTabSheet;
Public | TSBack: TTabSheet;
Public | TSTexture: TTabSheet;
Public | FEFront: TRFaceEditor;
Public | FEBack: TRFaceEditor;
Public | GroupBox1: TGroupBox;
Public | MPPreview: TRMaterialPreview;
Public | BBOk: TBitBtn;
Public | BBCancel: TBitBtn;
Public | RTextureEdit: TRTextureEdit;
Public | CBBlending: TComboBox;
Public | Label1: TLabel;
Public | Label2: TLabel;
Public | CBPolygonMode: TComboBox;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function Execute(AMaterial: TGLMaterial): Boolean;
Public | procedure OnMaterialChanged(Sender: TObject);

Description

Fields

Public PageControl1: TPageControl;
Public TSFront: TTabSheet;
Public TSBack: TTabSheet;
Public TSTexture: TTabSheet;
Public FEFront: TRFaceEditor;
Public FEBack: TRFaceEditor;
Public GroupBox1: TGroupBox;
Public MPPreview: TRMaterialPreview;
Public BBOk: TBitBtn;
Public BBCancel: TBitBtn;
Public RTextureEdit: TRTextureEdit;
Public CBBlending: TComboBox;
Public Label1: TLabel;
Public Label2: TLabel;
Public CBPolygonMode: TComboBox;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function Execute(AMaterial: TGLMaterial): Boolean;
Public procedure OnMaterialChanged(Sender: TObject);


GLSysHelp v.2.1: FmPlugInManagerEditor

Unit FmPlugInManagerEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.ImageList
  • VCL.Forms
  • VCL.Dialogs
  • VCL.StdCtrls
  • VCL.Controls
  • VCL.Buttons
  • Vcl.ExtCtrls
  • Vcl.ImgList
  • Vcl.ComCtrls
  • Vcl.ToolWin
  • GLS.PluginManager

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPlugInManagerEditorForm |


GLSysHelp v.2.1: FmPlugInManagerEditor: Class TGLPlugInManagerEditorForm

Class TGLPlugInManagerEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmPlugInManagerEditor

Declaration

type TGLPlugInManagerEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLPlugInManagerEditorForm

Overview

Fields

Public | OpenDialog: TOpenDialog;
Public | ListBox: TListBox;
Public | Label1: TLabel;
Public | GroupBox: TGroupBox;
Public | DescriptionMemo: TMemo;
Public | Label2: TLabel;
Public | Label3: TLabel;
Public | DateLabel: TLabel;
Public | SizeLabel: TLabel;
Public | Label4: TLabel;
Public | Label5: TLabel;
Public | ServiceBox: TComboBox;
Public | NameBox: TComboBox;
Public | ToolBar1: TToolBar;
Public | ToolButton1: TToolButton;
Public | ToolButton2: TToolButton;
Public | ToolButton3: TToolButton;
Public | ImageList: TImageList;
Private | FManager: TGLPlugInManager;

Methods

Public | class procedure EditPlugIns(AManager: TGLPlugInManager);
Public | procedure ListBoxClick(Sender: TObject);
Public | procedure LoadButtonClick(Sender: TObject);
Public | procedure OKButtonClick(Sender: TObject);
Public | procedure ServiceBoxChange(Sender: TObject);
Public | procedure UnloadButtonClick(Sender: TObject);

Description

Fields

Public OpenDialog: TOpenDialog;
Public ListBox: TListBox;
Public Label1: TLabel;
Public GroupBox: TGroupBox;
Public DescriptionMemo: TMemo;
Public Label2: TLabel;
Public Label3: TLabel;
Public DateLabel: TLabel;
Public SizeLabel: TLabel;
Public Label4: TLabel;
Public Label5: TLabel;
Public ServiceBox: TComboBox;
Public NameBox: TComboBox;
Public ToolBar1: TToolBar;
Public ToolButton1: TToolButton;
Public ToolButton2: TToolButton;
Public ToolButton3: TToolButton;
Public ImageList: TImageList;
Private FManager: TGLPlugInManager;

Methods

Public class procedure EditPlugIns(AManager: TGLPlugInManager);
Public procedure ListBoxClick(Sender: TObject);
Public procedure LoadButtonClick(Sender: TObject);
Public procedure OKButtonClick(Sender: TObject);
Public procedure ServiceBoxChange(Sender: TObject);
Public procedure UnloadButtonClick(Sender: TObject);


GLSysHelp v.2.1: FmSceneEditor

Unit FmSceneEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • System.Classes
  • System.SysUtils
  • System.Win.Registry
  • System.ImageList
  • System.Actions
  • VCL.ActnList
  • VCL.Controls
  • VCL.Forms
  • VCL.ComCtrls
  • VCL.ImgList
  • VCL.Dialogs
  • VCL.Menus
  • VCL.ToolWin
  • VCL.ExtCtrls
  • VCL.StdCtrls
  • VCL.ClipBrd
  • DesignIntf
  • VCLEditors
  • GLS.Scene
  • GLS.SceneViewer
  • GLS.Strings
  • FmInfo
  • GLS.XCollection
  • GLS.Utils
  • GLS.SceneRegister

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSceneEditorForm |

Functions and Procedures

function GLSceneEditorForm: TGLSceneEditorForm;
procedure ReleaseGLSceneEditorForm;

Types

TSetSubItemsEvent = procedure(Sender: TObject) of object;

Constants

SCENE_SELECTED = 0;
BEHAVIOURS_SELECTED = 1;
EFFECTS_SELECTED = 2;

Description

Functions and Procedures

function GLSceneEditorForm: TGLSceneEditorForm;
procedure ReleaseGLSceneEditorForm;

Types

TSetSubItemsEvent = procedure(Sender: TObject) of object;

Constants

SCENE_SELECTED = 0;
BEHAVIOURS_SELECTED = 1;
EFFECTS_SELECTED = 2;


GLSysHelp v.2.1: FmSceneEditor: Class TGLSceneEditorForm

Class TGLSceneEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmSceneEditor

Declaration

type TGLSceneEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLSceneEditorForm

Overview

Fields

Public | PopupMenu: TPopupMenu;
Public | MIAddObject: TMenuItem;
Public | N1: TMenuItem;
Public | MIDelObject: TMenuItem;
Public | ToolBar: TToolBar;
Public | ActionList: TActionList;
Public | TBAddObjects: TToolButton;
Public | TBMoveUp: TToolButton;
Public | pmToolBar: TPopupMenu;
Public | TBDeleteObject: TToolButton;
Public | TBMoveDown: TToolButton;
Public | acAddObject: TAction;
Public | ImageList: TImageList;
Public | acDeleteObject: TAction;
Public | acMoveUp: TAction;
Public | acMoveDown: TAction;
Public | N2: TMenuItem;
Public | MIMoveUp: TMenuItem;
Public | MIMoveDown: TMenuItem;
Public | acSaveScene: TAction;
Public | acLoadScene: TAction;
Public | OpenDialog: TOpenDialog;
Public | SaveDialog: TSaveDialog;
Public | TBLoadScene: TToolButton;
Public | TBSaveScene: TToolButton;
Public | acInfo: TAction;
Public | acCopy: TAction;
Public | acCut: TAction;
Public | acPaste: TAction;
Public | MICopy: TMenuItem;
Public | MIPaste: TMenuItem;
Public | MICut: TMenuItem;
Public | TBCut: TToolButton;
Public | TBCopy: TToolButton;
Public | TBPaste: TToolButton;
Public | pmBehavioursToolbar: TPopupMenu;
Public | acAddBehaviour: TAction;
Public | MIAddBehaviour: TMenuItem;
Public | MIAddEffect: TMenuItem;
Public | MIBehaviourSeparator: TMenuItem;
Public | acDeleteBehaviour: TAction;
Public | pmBehaviours: TPopupMenu;
Public | Delete1: TMenuItem;
Public | MoveUp1: TMenuItem;
Public | MoveDown1: TMenuItem;
Public | N4: TMenuItem;
Public | pmEffectsToolbar: TPopupMenu;
Public | acAddEffect: TAction;
Public | TBCharacterPanels: TToolButton;
Public | TBStayOnTop: TToolButton;
Public | acStayOnTop: TAction;
Public | TBSeparator4: TToolButton;
Public | TBExpand: TToolButton;
Public | acExpand: TAction;
Public | PAGallery: TPanel;
Public | PATree: TPanel;
Public | Tree: TTreeView;
Public | TBInfo: TToolButton;
Public | GalleryListView: TListView;
Public | PABehaviours: TPanel;
Public | ToolBarBehaviours: TToolBar;
Public | TBAddBehaviours: TToolButton;
Public | BehavioursListView: TListView;
Public | PAEffects: TPanel;
Public | EffectsListView: TListView;
Public | ToolBarEffects: TToolBar;
Public | TBAddEffects: TToolButton;
Public | TBGalleryPanel: TToolButton;
Private | FSelectedItems: Integer;
Private | FScene: TGLScene;
Private | FObjectNode: TTreeNode;
Private | FSceneObjects: TTreeNode;
Private | FCurrentDesigner: IDesigner;
Private | FLastMouseDownPos: TPoint;
Private | FPasteOwner: TComponent;
Private | FPasteSelection: IDesignerSelections;

Methods

Private | function AddNodes(ANode: TTreeNode; AObject: TGLBaseSceneObject): TTreeNode;
Private | function CanPaste(obj, destination: TGLBaseSceneObject): Boolean;
Private | function IsPastePossible: Boolean;
Private | function IsValidClipBoardNode: Boolean;
Private | function PasteComponents(AOwner, AParent: TComponent; const Components: IDesignerSelections): Boolean;
Private | function UniqueName(Component: TComponent): string;
Public | procedure acAddBehaviourExecute(Sender: TObject);
Public | procedure acAddEffectExecute(Sender: TObject);
Public | procedure acAddObjectExecute(Sender: TObject);
Public | procedure acCopyExecute(Sender: TObject);
Public | procedure acCutExecute(Sender: TObject);
Public | procedure acDeleteObjectExecute(Sender: TObject);
Public | procedure acExpandExecute(Sender: TObject);
Public | procedure acInfoExecute(Sender: TObject);
Public | procedure acLoadSceneExecute(Sender: TObject);
Public | procedure acMoveDownExecute(Sender: TObject);
Public | procedure acMoveUpExecute(Sender: TObject);
Public | procedure acPasteExecute(Sender: TObject);
Public | procedure acSaveSceneExecute(Sender: TObject);
Public | procedure acStayOnTopExecute(Sender: TObject);
Public | procedure BehavioursListViewEnter(Sender: TObject);
Public | procedure BehavioursListViewSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
Public | procedure DeleteBaseBehaviour(ListView: TListView);
Public | procedure EffectsListViewEnter(Sender: TObject);
Public | procedure FormCreate(Sender: TObject);
Public | procedure FormDestroy(Sender: TObject);
Public | procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Public | procedure pmBehavioursToolbarPopup(Sender: TObject);
Public | procedure pmEffectsToolbarPopup(Sender: TObject);
Public | procedure PopupMenuPopup(Sender: TObject);
Public | procedure SetScene(Scene: TGLScene; Designer: IDesigner);
Public | procedure TBCharacterPanelsClick(Sender: TObject);
Public | procedure TBGalleryPanelClick(Sender: TObject);
Public | procedure TreeChange(Sender: TObject; Node: TTreeNode);
Public | procedure TreeDragDrop(Sender, Source: TObject; X, Y: Integer);
Public | procedure TreeDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
Public | procedure TreeEditing(Sender: TObject; Node: TTreeNode; var AllowEdit: Boolean);
Public | procedure TreeEnter(Sender: TObject);
Public | procedure TreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Public | procedure TreeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure TreeMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure AddBehaviourClick(Sender: TObject);
Private | procedure AddEffectClick(Sender: TObject);
Private | procedure AddObjectClick(Sender: TObject);
Private | procedure ComponentRead(Component: TComponent);
Private | procedure CopyComponents(Root: TComponent; const Components: IDesignerSelections);
Private | procedure EnableAndDisableActions();
Private | procedure MethodError(Reader: TReader; const MethodName: string; var Address: Pointer; var Error: Boolean);
Private | procedure OnBaseSceneObjectNameChanged(Sender: TObject);
Private | procedure ReaderSetName(Reader: TReader; Component: TComponent; var Name: string);
Private | procedure ReadScene;
Private | procedure ResetTree;
Private | procedure SetBehavioursSubItems(parent: TMenuItem; XCollection: TXCollection);
Private | procedure SetEffectsSubItems(parent: TMenuItem; XCollection: TXCollection);
Private | procedure SetObjectsSubItems(parent: TMenuItem);
Private | procedure SetXCollectionSubItems(parent: TMenuItem; XCollection: TXCollection; Event: TSetSubItemsEvent);
Private | procedure ShowBehaviours(BaseSceneObject: TGLBaseSceneObject);
Private | procedure ShowBehavioursAndEffects(BaseSceneObject: TGLBaseSceneObject);
Private | procedure ShowEffects(BaseSceneObject: TGLBaseSceneObject);
Private | procedure ShowGallery(BaseSceneObject: TGLBaseSceneObject);
Private | procedure TreeEdited(Sender: TObject; Node: TTreeNode; var S: string);

Description

Fields

Public PopupMenu: TPopupMenu;
Public MIAddObject: TMenuItem;
Public N1: TMenuItem;
Public MIDelObject: TMenuItem;
Public ToolBar: TToolBar;
Public ActionList: TActionList;
Public TBAddObjects: TToolButton;
Public TBMoveUp: TToolButton;
Public pmToolBar: TPopupMenu;
Public TBDeleteObject: TToolButton;
Public TBMoveDown: TToolButton;
Public acAddObject: TAction;
Public ImageList: TImageList;
Public acDeleteObject: TAction;
Public acMoveUp: TAction;
Public acMoveDown: TAction;
Public N2: TMenuItem;
Public MIMoveUp: TMenuItem;
Public MIMoveDown: TMenuItem;
Public acSaveScene: TAction;
Public acLoadScene: TAction;
Public OpenDialog: TOpenDialog;
Public SaveDialog: TSaveDialog;
Public TBLoadScene: TToolButton;
Public TBSaveScene: TToolButton;
Public acInfo: TAction;
Public acCopy: TAction;
Public acCut: TAction;
Public acPaste: TAction;
Public MICopy: TMenuItem;
Public MIPaste: TMenuItem;
Public MICut: TMenuItem;
Public TBCut: TToolButton;
Public TBCopy: TToolButton;
Public TBPaste: TToolButton;
Public pmBehavioursToolbar: TPopupMenu;
Public acAddBehaviour: TAction;
Public MIAddBehaviour: TMenuItem;
Public MIAddEffect: TMenuItem;
Public MIBehaviourSeparator: TMenuItem;
Public acDeleteBehaviour: TAction;
Public pmBehaviours: TPopupMenu;
Public Delete1: TMenuItem;
Public MoveUp1: TMenuItem;
Public MoveDown1: TMenuItem;
Public N4: TMenuItem;
Public pmEffectsToolbar: TPopupMenu;
Public acAddEffect: TAction;
Public TBCharacterPanels: TToolButton;
Public TBStayOnTop: TToolButton;
Public acStayOnTop: TAction;
Public TBSeparator4: TToolButton;
Public TBExpand: TToolButton;
Public acExpand: TAction;
Public PAGallery: TPanel;
Public PATree: TPanel;
Public Tree: TTreeView;
Public TBInfo: TToolButton;
Public GalleryListView: TListView;
Public PABehaviours: TPanel;
Public ToolBarBehaviours: TToolBar;
Public TBAddBehaviours: TToolButton;
Public BehavioursListView: TListView;
Public PAEffects: TPanel;
Public EffectsListView: TListView;
Public ToolBarEffects: TToolBar;
Public TBAddEffects: TToolButton;
Public TBGalleryPanel: TToolButton;
Private FSelectedItems: Integer;
Private FScene: TGLScene;
Private FObjectNode: TTreeNode;
Private FSceneObjects: TTreeNode;
Private FCurrentDesigner: IDesigner;
Private FLastMouseDownPos: TPoint;
Private FPasteOwner: TComponent;
Private FPasteSelection: IDesignerSelections;

Methods

Private function AddNodes(ANode: TTreeNode; AObject: TGLBaseSceneObject): TTreeNode;

adds the given scene object as well as its children to the tree structure and returns the last add node (e.g. for selection)

Private function CanPaste(obj, destination: TGLBaseSceneObject): Boolean;
Private function IsPastePossible: Boolean;
Private function IsValidClipBoardNode: Boolean;
Private function PasteComponents(AOwner, AParent: TComponent; const Components: IDesignerSelections): Boolean;
Private function UniqueName(Component: TComponent): string;
Public procedure acAddBehaviourExecute(Sender: TObject);
Public procedure acAddEffectExecute(Sender: TObject);
Public procedure acAddObjectExecute(Sender: TObject);
Public procedure acCopyExecute(Sender: TObject);
Public procedure acCutExecute(Sender: TObject);
Public procedure acDeleteObjectExecute(Sender: TObject);
Public procedure acExpandExecute(Sender: TObject);
Public procedure acInfoExecute(Sender: TObject);
Public procedure acLoadSceneExecute(Sender: TObject);
Public procedure acMoveDownExecute(Sender: TObject);
Public procedure acMoveUpExecute(Sender: TObject);
Public procedure acPasteExecute(Sender: TObject);
Public procedure acSaveSceneExecute(Sender: TObject);
Public procedure acStayOnTopExecute(Sender: TObject);
Public procedure BehavioursListViewEnter(Sender: TObject);
Public procedure BehavioursListViewSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
Public procedure DeleteBaseBehaviour(ListView: TListView);
Public procedure EffectsListViewEnter(Sender: TObject);
Public procedure FormCreate(Sender: TObject);
Public procedure FormDestroy(Sender: TObject);
Public procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Public procedure pmBehavioursToolbarPopup(Sender: TObject);
Public procedure pmEffectsToolbarPopup(Sender: TObject);
Public procedure PopupMenuPopup(Sender: TObject);
Public procedure SetScene(Scene: TGLScene; Designer: IDesigner);
Public procedure TBCharacterPanelsClick(Sender: TObject);
Public procedure TBGalleryPanelClick(Sender: TObject);
Public procedure TreeChange(Sender: TObject; Node: TTreeNode);
Public procedure TreeDragDrop(Sender, Source: TObject; X, Y: Integer);
Public procedure TreeDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
Public procedure TreeEditing(Sender: TObject; Node: TTreeNode; var AllowEdit: Boolean);
Public procedure TreeEnter(Sender: TObject);
Public procedure TreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Public procedure TreeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure TreeMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure AddBehaviourClick(Sender: TObject);
Private procedure AddEffectClick(Sender: TObject);
Private procedure AddObjectClick(Sender: TObject);
Private procedure ComponentRead(Component: TComponent);
Private procedure CopyComponents(Root: TComponent; const Components: IDesignerSelections);
Private procedure EnableAndDisableActions();
Private procedure MethodError(Reader: TReader; const MethodName: string; var Address: Pointer; var Error: Boolean);
Private procedure OnBaseSceneObjectNameChanged(Sender: TObject);
Private procedure ReaderSetName(Reader: TReader; Component: TComponent; var Name: string);
Private procedure ReadScene;
Private procedure ResetTree;
Private procedure SetBehavioursSubItems(parent: TMenuItem; XCollection: TXCollection);
Private procedure SetEffectsSubItems(parent: TMenuItem; XCollection: TXCollection);
Private procedure SetObjectsSubItems(parent: TMenuItem);
Private procedure SetXCollectionSubItems(parent: TMenuItem; XCollection: TXCollection; Event: TSetSubItemsEvent);
Private procedure ShowBehaviours(BaseSceneObject: TGLBaseSceneObject);
Private procedure ShowBehavioursAndEffects(BaseSceneObject: TGLBaseSceneObject);
Private procedure ShowEffects(BaseSceneObject: TGLBaseSceneObject);
Private procedure ShowGallery(BaseSceneObject: TGLBaseSceneObject);
Private procedure TreeEdited(Sender: TObject; Node: TTreeNode; var S: string);

We can not use the IDE to define this event because the prototype is not the same between Delphi and Kylix !!


GLSysHelp v.2.1: FmShaderMemo

Unit FmShaderMemo

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.SysUtils
  • System.Variants
  • System.Classes
  • System.Win.Registry
  • VCL.Controls
  • VCL.Forms
  • VCL.ComCtrls
  • VCL.ImgList
  • VCL.Dialogs
  • VCL.Menus
  • VCL.ActnList
  • VCL.ToolWin
  • VCL.ExtCtrls
  • VCL.StdCtrls
  • VCL.Graphics
  • GLS.Memo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TShaderMemoForm |

Functions and Procedures

function GLShaderEditorForm: TShaderMemoForm;
procedure ReleaseGLShaderEditor;

Description

Functions and Procedures

function GLShaderEditorForm: TShaderMemoForm;
procedure ReleaseGLShaderEditor;


GLSysHelp v.2.1: FmShaderMemo: Class TShaderMemoForm

Class TShaderMemoForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmShaderMemo

Declaration

type TShaderMemoForm = class(TForm)

Description

Hierarchy

  • TForm
  • TShaderMemoForm

Overview

Fields

Public | ImageList: TImageList;
Public | ToolBar: TToolBar;
Public | TBOpen: TToolButton;
Public | TBSave: TToolButton;
Public | TBStayOnTop: TToolButton;
Public | TBHelp: TToolButton;
Public | ToolButton2: TToolButton;
Public | TBCopy: TToolButton;
Public | TBPaste: TToolButton;
Public | TBCut: TToolButton;
Public | ToolButton10: TToolButton;
Public | TBTemplate: TToolButton;
Public | TBUndo: TToolButton;
Public | TBRedo: TToolButton;
Public | ToolButton4: TToolButton;
Public | GLSLMemo: TGLSSynHiMemo;
Public | OpenDialog: TOpenDialog;
Public | SaveDialog: TSaveDialog;
Public | TemplateMenu: TPopupMenu;
Public | GLSL120: TMenuItem;
Public | GLSL330: TMenuItem;
Public | GLSL400: TMenuItem;
Public | N1: TMenuItem;
Public | N2: TMenuItem;
Public | CompilatorLog: TMemo;
Public | TBIncIndent: TToolButton;
Public | TBDecIndent: TToolButton;
Public | TBComment: TToolButton;
Public | TBUncoment: TToolButton;
Public | ToolButton1: TToolButton;
Public | Panel1: TPanel;
Public | CancelButton: TButton;
Public | OKButton: TButton;
Public | CheckButton: TButton;
Private | FLightLineStyle: Integer;
Private | FOnCheck: TNotifyEvent;

Methods

Public | procedure CheckButtonClick(Sender: TObject);
Public | procedure FormCreate(Sender: TObject);
Public | procedure FormDestroy(Sender: TObject);
Public | procedure FormShow(Sender: TObject);
Public | procedure GLSLMemoGutterClick(Sender: TObject; LineNo: Integer);
Public | procedure GLSLMemoGutterDraw(Sender: TObject; ACanvas: TCanvas; LineNo: Integer; rct: TRect);
Public | procedure GLSLMemoUndoChange(Sender: TObject; CanUndo, CanRedo: Boolean);
Public | procedure TBCommentClick(Sender: TObject);
Public | procedure TBCopyClick(Sender: TObject);
Public | procedure TBCutClick(Sender: TObject);
Public | procedure TBDecIndentClick(Sender: TObject);
Public | procedure TBIncIndentClick(Sender: TObject);
Public | procedure TBOpenClick(Sender: TObject);
Public | procedure TBPasteClick(Sender: TObject);
Public | procedure TBRedoClick(Sender: TObject);
Public | procedure TBSaveClick(Sender: TObject);
Public | procedure TBStayOnTopClick(Sender: TObject);
Public | procedure TBUncomentClick(Sender: TObject);
Public | procedure TBUndoClick(Sender: TObject);
Private | procedure OnTemplateClick(Sender: TObject);

Properties

Public property OnCheck: TNotifyEvent read FOnCheck write FOnCheck;

Description

Fields

Public ImageList: TImageList;
Public ToolBar: TToolBar;
Public TBOpen: TToolButton;
Public TBSave: TToolButton;
Public TBStayOnTop: TToolButton;
Public TBHelp: TToolButton;
Public ToolButton2: TToolButton;
Public TBCopy: TToolButton;
Public TBPaste: TToolButton;
Public TBCut: TToolButton;
Public ToolButton10: TToolButton;
Public TBTemplate: TToolButton;
Public TBUndo: TToolButton;
Public TBRedo: TToolButton;
Public ToolButton4: TToolButton;
Public GLSLMemo: TGLSSynHiMemo;
Public OpenDialog: TOpenDialog;
Public SaveDialog: TSaveDialog;
Public TemplateMenu: TPopupMenu;
Public GLSL120: TMenuItem;
Public GLSL330: TMenuItem;
Public GLSL400: TMenuItem;
Public N1: TMenuItem;
Public N2: TMenuItem;
Public CompilatorLog: TMemo;
Public TBIncIndent: TToolButton;
Public TBDecIndent: TToolButton;
Public TBComment: TToolButton;
Public TBUncoment: TToolButton;
Public ToolButton1: TToolButton;
Public Panel1: TPanel;
Public CancelButton: TButton;
Public OKButton: TButton;
Public CheckButton: TButton;
Private FLightLineStyle: Integer;
Private FOnCheck: TNotifyEvent;

Methods

Public procedure CheckButtonClick(Sender: TObject);
Public procedure FormCreate(Sender: TObject);
Public procedure FormDestroy(Sender: TObject);
Public procedure FormShow(Sender: TObject);
Public procedure GLSLMemoGutterClick(Sender: TObject; LineNo: Integer);
Public procedure GLSLMemoGutterDraw(Sender: TObject; ACanvas: TCanvas; LineNo: Integer; rct: TRect);
Public procedure GLSLMemoUndoChange(Sender: TObject; CanUndo, CanRedo: Boolean);
Public procedure TBCommentClick(Sender: TObject);
Public procedure TBCopyClick(Sender: TObject);
Public procedure TBCutClick(Sender: TObject);
Public procedure TBDecIndentClick(Sender: TObject);
Public procedure TBIncIndentClick(Sender: TObject);
Public procedure TBOpenClick(Sender: TObject);
Public procedure TBPasteClick(Sender: TObject);
Public procedure TBRedoClick(Sender: TObject);
Public procedure TBSaveClick(Sender: TObject);
Public procedure TBStayOnTopClick(Sender: TObject);
Public procedure TBUncomentClick(Sender: TObject);
Public procedure TBUndoClick(Sender: TObject);
Private procedure OnTemplateClick(Sender: TObject);

Properties

Public property OnCheck: TNotifyEvent read FOnCheck write FOnCheck;


GLSysHelp v.2.1: FmShaderUniformEditor

Unit FmShaderUniformEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Variants
  • System.Classes
  • VCL.Graphics
  • VCL.Controls
  • VCL.Forms
  • VCL.Dialogs
  • VCL.StdCtrls
  • VCL.ExtCtrls
  • VCL.Buttons
  • GLS.Strings
  • GLSL.ShaderParameter
  • GLS.TextureFormat
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLShaderUniformEditor |

Functions and Procedures

function GLShaderUniformEditor: TGLShaderUniformEditor;
procedure ReleaseShaderUniformEditor;

Description

Functions and Procedures

function GLShaderUniformEditor: TGLShaderUniformEditor;
procedure ReleaseShaderUniformEditor;


GLSysHelp v.2.1: FmShaderUniformEditor: Class TGLShaderUniformEditor

Class TGLShaderUniformEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

FmShaderUniformEditor

Declaration

type TGLShaderUniformEditor = class(TForm)

Description

Hierarchy

  • TForm
  • TGLShaderUniformEditor

Overview

Fields

Public | LBUniforms: TListBox;
Public | Labe1: TLabel;
Public | AutoSetBox: TComboBox;
Public | SamplerBox: TComboBox;
Public | Panel1: TPanel;
Public | RedGroup: TRadioGroup;
Public | GreenGroup: TRadioGroup;
Public | BlueGroup: TRadioGroup;
Public | AlphaGroup: TRadioGroup;
Public | Label1: TLabel;
Public | Label2: TLabel;
Public | Label3: TLabel;
Public | Label4: TLabel;
Public | TextureBox: TComboBox;
Public | Button1: TButton;
Private | FUniformList: array of IShaderParameter;

Methods

Public | procedure AddSamplerName(const S: string);
Public | procedure AddTextureName(const S: string);
Public | procedure AddUniform(AValue: IShaderParameter);
Public | procedure AutoSetBoxChange(Sender: TObject);
Public | procedure Clear;
Public | procedure ColorGroupClick(Sender: TObject);
Public | procedure Execute;
Public | procedure FormDestroy(Sender: TObject);
Public | procedure LBUniformsClick(Sender: TObject);
Public | procedure LBUniformsKeyPress(Sender: TObject; var Key: Char);
Public | procedure SamplerBoxChange(Sender: TObject);
Public | procedure TextureBoxChange(Sender: TObject);

Description

Fields

Public LBUniforms: TListBox;
Public Labe1: TLabel;
Public AutoSetBox: TComboBox;
Public SamplerBox: TComboBox;
Public Panel1: TPanel;
Public RedGroup: TRadioGroup;
Public GreenGroup: TRadioGroup;
Public BlueGroup: TRadioGroup;
Public AlphaGroup: TRadioGroup;
Public Label1: TLabel;
Public Label2: TLabel;
Public Label3: TLabel;
Public Label4: TLabel;
Public TextureBox: TComboBox;
Public Button1: TButton;
Private FUniformList: array of IShaderParameter;

Methods

Public procedure AddSamplerName(const S: string);
Public procedure AddTextureName(const S: string);
Public procedure AddUniform(AValue: IShaderParameter);
Public procedure AutoSetBoxChange(Sender: TObject);
Public procedure Clear;
Public procedure ColorGroupClick(Sender: TObject);
Public procedure Execute;
Public procedure FormDestroy(Sender: TObject);
Public procedure LBUniformsClick(Sender: TObject);
Public procedure LBUniformsKeyPress(Sender: TObject; var Key: Char);
Public procedure SamplerBoxChange(Sender: TObject);
Public procedure TextureBoxChange(Sender: TObject);


GLSysHelp v.2.1: FmVectorEditor

Unit FmVectorEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • VCL.Forms
  • VCL.ComCtrls
  • VCL.StdCtrls
  • VCL.ToolWin
  • VCL.ExtCtrls
  • VCL.Buttons
  • VCL.Graphics
  • VCL.Controls
  • GLS.VectorGeometry
  • GLS.Utils
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLVectorEditorForm |

Functions and Procedures

function GLVectorEditorForm: TGLVectorEditorForm;
procedure ReleaseVectorEditorForm;

Description

Functions and Procedures

function GLVectorEditorForm: TGLVectorEditorForm;
procedure ReleaseVectorEditorForm;


GLSysHelp v.2.1: FmVectorEditor: Class TGLVectorEditorForm

Class TGLVectorEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmVectorEditor

Declaration

type TGLVectorEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLVectorEditorForm

Overview

Fields

Public | EDx: TEdit;
Public | Label1: TLabel;
Public | Label2: TLabel;
Public | Label3: TLabel;
Public | EDy: TEdit;
Public | EDz: TEdit;
Public | BBok: TBitBtn;
Public | BBcancel: TBitBtn;
Public | IMx: TImage;
Public | IMy: TImage;
Public | IMz: TImage;
Public | SpeedButton1: TSpeedButton;
Public | SBmX: TSpeedButton;
Public | SpeedButton3: TSpeedButton;
Public | SBmY: TSpeedButton;
Public | SpeedButton5: TSpeedButton;
Public | SBmZ: TSpeedButton;
Public | SpeedButton7: TSpeedButton;
Public | SBUnit: TSpeedButton;
Public | SpeedButton9: TSpeedButton;
Public | Bevel1: TBevel;
Public | SBInvert: TSpeedButton;
Private | vx: Single;
Private | vy: Single;
Private | vz: Single;

Methods

Public | function Execute(var x, y, z: Single): Boolean;
Public | procedure EDxChange(Sender: TObject);
Public | procedure EDyChange(Sender: TObject);
Public | procedure EDzChange(Sender: TObject);
Public | procedure SBInvertClick(Sender: TObject);
Public | procedure SBmXClick(Sender: TObject);
Public | procedure SBmYClick(Sender: TObject);
Public | procedure SBmZClick(Sender: TObject);
Public | procedure SBUnitClick(Sender: TObject);
Public | procedure SpeedButton9Click(Sender: TObject);
Public | procedure TBnullClick(Sender: TObject);
Public | procedure TBxClick(Sender: TObject);
Public | procedure TByClick(Sender: TObject);
Public | procedure TBzClick(Sender: TObject);
Private | procedure TestInput(edit: TEdit; imError: TImage; var dest: Single);

Description

Fields

Public EDx: TEdit;
Public Label1: TLabel;
Public Label2: TLabel;
Public Label3: TLabel;
Public EDy: TEdit;
Public EDz: TEdit;
Public BBok: TBitBtn;
Public BBcancel: TBitBtn;
Public IMx: TImage;
Public IMy: TImage;
Public IMz: TImage;
Public SpeedButton1: TSpeedButton;
Public SBmX: TSpeedButton;
Public SpeedButton3: TSpeedButton;
Public SBmY: TSpeedButton;
Public SpeedButton5: TSpeedButton;
Public SBmZ: TSpeedButton;
Public SpeedButton7: TSpeedButton;
Public SBUnit: TSpeedButton;
Public SpeedButton9: TSpeedButton;
Public Bevel1: TBevel;
Public SBInvert: TSpeedButton;
Private vx: Single;
Private vy: Single;
Private vz: Single;

Methods

Public function Execute(var x, y, z: Single): Boolean;
Public procedure EDxChange(Sender: TObject);
Public procedure EDyChange(Sender: TObject);
Public procedure EDzChange(Sender: TObject);
Public procedure SBInvertClick(Sender: TObject);
Public procedure SBmXClick(Sender: TObject);
Public procedure SBmYClick(Sender: TObject);
Public procedure SBmZClick(Sender: TObject);
Public procedure SBUnitClick(Sender: TObject);
Public procedure SpeedButton9Click(Sender: TObject);
Public procedure TBnullClick(Sender: TObject);
Public procedure TBxClick(Sender: TObject);
Public procedure TByClick(Sender: TObject);
Public procedure TBzClick(Sender: TObject);
Private procedure TestInput(edit: TEdit; imError: TImage; var dest: Single);


GLSysHelp v.2.1: FmXCollectionEditor

Unit FmXCollectionEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Actions
  • System.ImageList
  • VCL.Forms
  • VCL.ImgList
  • VCL.Controls
  • VCL.ActnList
  • VCL.Menus
  • VCL.ComCtrls
  • VCL.ToolWin
  • VCL.Dialogs
  • DesignIntf
  • GLS.Strings
  • GLS.Scene
  • GLS.Behaviours
  • GLS.MaterialEx
  • GLS.XCollection

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TXCollectionEditorForm |

Functions and Procedures

function XCollectionEditorForm: TXCollectionEditorForm;
procedure ReleaseXCollectionEditor;

Description

Functions and Procedures

function XCollectionEditorForm: TXCollectionEditorForm;
procedure ReleaseXCollectionEditor;


GLSysHelp v.2.1: FmXCollectionEditor: Class TXCollectionEditorForm

Class TXCollectionEditorForm

Description
Hierarchy
Fields
Methods
Properties

Unit

FmXCollectionEditor

Declaration

type TXCollectionEditorForm = class(TForm)

Description

Hierarchy

  • TForm
  • TXCollectionEditorForm

Overview

Fields

Public | ListView: TListView;
Public | PMListView: TPopupMenu;
Public | ActionList: TActionList;
Public | ACRemove: TAction;
Public | ACMoveUp: TAction;
Public | ACMoveDown: TAction;
Public | ImageList: TImageList;
Public | MIAdd: TMenuItem;
Public | N1: TMenuItem;
Public | N2: TMenuItem;
Public | Moveup1: TMenuItem;
Public | Movedown1: TMenuItem;
Public | ToolBar1: TToolBar;
Public | TBAdd: TToolButton;
Public | ToolButton2: TToolButton;
Public | ToolButton3: TToolButton;
Public | ToolButton4: TToolButton;
Public | ToolButton5: TToolButton;
Public | ToolButton6: TToolButton;
Public | PMToolBar: TPopupMenu;
Private | FXCollection: TXCollection;
Private | FDesigner: IDesigner;
Private | UpdatingListView: Boolean;

Methods

Public | procedure ACMoveDownExecute(Sender: TObject);
Public | procedure ACMoveUpExecute(Sender: TObject);
Public | procedure ACRemoveExecute(Sender: TObject);
Public | procedure FormCreate(Sender: TObject);
Public | procedure FormDestroy(Sender: TObject);
Public | procedure FormHide(Sender: TObject);
Public | procedure ListViewChange(Sender: TObject; Item: TListItem; Change: TItemChange);
Public | procedure PMListViewPopup(Sender: TObject);
Public | procedure PMToolBarPopup(Sender: TObject);
Public | procedure SetXCollection(aXCollection: TXCollection; designer: IDesigner );
Public | procedure TBAddClick(Sender: TObject);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure OnAddXCollectionItemClick(Sender: TObject);
Private | procedure OnNameChanged(Sender: TObject);
Private | procedure OnXCollectionDestroyed(Sender: TObject);
Private | procedure PrepareListView;
Private | procedure PrepareXCollectionItemPopup(parent: TMenuItem);

Description

Fields

Public ListView: TListView;
Public PMListView: TPopupMenu;
Public ActionList: TActionList;
Public ACRemove: TAction;
Public ACMoveUp: TAction;
Public ACMoveDown: TAction;
Public ImageList: TImageList;
Public MIAdd: TMenuItem;
Public N1: TMenuItem;
Public N2: TMenuItem;
Public Moveup1: TMenuItem;
Public Movedown1: TMenuItem;
Public ToolBar1: TToolBar;
Public TBAdd: TToolButton;
Public ToolButton2: TToolButton;
Public ToolButton3: TToolButton;
Public ToolButton4: TToolButton;
Public ToolButton5: TToolButton;
Public ToolButton6: TToolButton;
Public PMToolBar: TPopupMenu;
Private FXCollection: TXCollection;
Private FDesigner: IDesigner;

ownerComponent : TComponent;

Private UpdatingListView: Boolean;

Methods

Public procedure ACMoveDownExecute(Sender: TObject);
Public procedure ACMoveUpExecute(Sender: TObject);
Public procedure ACRemoveExecute(Sender: TObject);
Public procedure FormCreate(Sender: TObject);
Public procedure FormDestroy(Sender: TObject);
Public procedure FormHide(Sender: TObject);
Public procedure ListViewChange(Sender: TObject; Item: TListItem; Change: TItemChange);
Public procedure PMListViewPopup(Sender: TObject);
Public procedure PMToolBarPopup(Sender: TObject);
Public procedure SetXCollection(aXCollection: TXCollection; designer: IDesigner );
Public procedure TBAddClick(Sender: TObject);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure OnAddXCollectionItemClick(Sender: TObject);
Private procedure OnNameChanged(Sender: TObject);
Private procedure OnXCollectionDestroyed(Sender: TObject);
Private procedure PrepareListView;
Private procedure PrepareXCollectionItemPopup(parent: TMenuItem);


GLSysHelp v.2.1: Formats.B3D

Unit Formats.B3D

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorLists

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TB3DChunk |
Record TBB3DChunk |
Record TTEXSChunk |
Record TBRUSChunk |
Record TVertexData |
Record TVRTSChunk |
Record TTRISChunk |
Record TMESHChunk |
Record TBONEChunk |
Record TKEYSChunk |
Record TANIMChunk |
Record TNODEChunk |
Class TB3DMaterial |
Class TB3DTexture |
Class TB3DNode |
Class TFileB3D |

Types

PANIMChunk = ˆTANIMChunk;
PB3DChunk = ˆTB3DChunk;
PBB3DChunk = ˆTBB3DChunk;
PBONEChunk = ˆTBONEChunk;
PBRUSChunk = ˆTBRUSChunk;
PKEYSChunk = ˆTKEYSChunk;
PMESHChunk = ˆTMESHChunk;
PNODEChunk = ˆTNODEChunk;
PTEXSChunk = ˆTTEXSChunk;
PTRISChunk = ˆTTRISChunk;
PVertexData = ˆTVertexData;
PVRTSChunk = ˆTVRTSChunk;
TB3DChunkType = (...);

Description

Types

PANIMChunk = ˆTANIMChunk;
PB3DChunk = ˆTB3DChunk;
PBB3DChunk = ˆTBB3DChunk;
PBONEChunk = ˆTBONEChunk;
PBRUSChunk = ˆTBRUSChunk;
PKEYSChunk = ˆTKEYSChunk;
PMESHChunk = ˆTMESHChunk;
PNODEChunk = ˆTNODEChunk;
PTEXSChunk = ˆTTEXSChunk;
PTRISChunk = ˆTTRISChunk;
PVertexData = ˆTVertexData;
PVRTSChunk = ˆTVRTSChunk;
TB3DChunkType = (...);
Values
  • bctUnknown
  • bctHeader
  • bctTexture
  • bctBrush
  • bctNode
  • bctVertex
  • bctTriangle
  • bctMesh
  • bctBone
  • bctKeyFrame
  • bctAnimation


GLSysHelp v.2.1: Formats.B3D: Record TB3DChunk

Record TB3DChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TB3DChunk = record

Description

Overview

Fields

Public | chunk: array[0..3] of char;
Public | length: Integer;

Description

Fields

Public chunk: array[0..3] of char;
Public length: Integer;


GLSysHelp v.2.1: Formats.B3D: Record TBB3DChunk

Record TBB3DChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TBB3DChunk = record

Description

Overview

Fields

Public Version: Integer;

Description

Fields

Public Version: Integer;


GLSysHelp v.2.1: Formats.B3D: Record TTEXSChunk

Record TTEXSChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TTEXSChunk = record

Description

Overview

Fields

Public | fileName: array[0..255] of char;
Public | flags: Integer;
Public | blend: Integer;
Public | x_pos: Single;
Public | y_pos: Single;
Public | x_scale: Single;
Public | y_scale: Single;
Public | rotation: Single;

Description

Fields

Public fileName: array[0..255] of char;
Public flags: Integer;

texture file name this is the filename of the texture, ie "wall.bmp" Has to be in the local Directory

Public blend: Integer;

texture file name this is the filename of the texture, ie "wall.bmp" Has to be in the local Directory

Public x_pos: Single;

blitz3D TextureFLags and TextureBlend: default=1,2 these are the same as far as I know as the flags for a texture in Blitz3D

Public y_pos: Single;

blitz3D TextureFLags and TextureBlend: default=1,2 these are the same as far as I know as the flags for a texture in Blitz3D

Public x_scale: Single;

x and y position of texture: default=0,0

Public y_scale: Single;

x and y position of texture: default=0,0

Public rotation: Single;

x and y scale of texture: default=1,1


GLSysHelp v.2.1: Formats.B3D: Record TBRUSChunk

Record TBRUSChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TBRUSChunk = record

Description

Overview

Fields

Public | n_texs: Integer;
Public | name: array[0..255] of Char;
Public | red: Single;
Public | green: Single;
Public | blue: Single;
Public | alpha: Single;
Public | shininess: Single;
Public | blend: Integer;
Public | fx: Integer;
Public | texture_id: array of Integer;

Description

Fields

Public n_texs: Integer;
Public name: array[0..255] of Char;
Public red: Single;

eg "WATER" - just use texture name by default

Public green: Single;

eg "WATER" - just use texture name by default

Public blue: Single;

eg "WATER" - just use texture name by default

Public alpha: Single;

eg "WATER" - just use texture name by default

Public shininess: Single;

Blitz3D Brushcolor and Brushalpha: default=1,1,1,1

Public blend: Integer;

Blitz3D BrushShininess: default=0

Public fx: Integer;

Blitz3D BrushShininess: default=0

Public texture_id: array of Integer;

Blitz3D Brushblend and BrushFX: default=1,0


GLSysHelp v.2.1: Formats.B3D: Record TVertexData

Record TVertexData

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TVertexData = record

Description

Overview

Fields

Public | next: PVertexData;
Public | x: Single;
Public | y: Single;
Public | z: Single;
Public | nx: Single;
Public | ny: Single;
Public | nz: Single;
Public | red: Single;
Public | green: Single;
Public | blue: Single;
Public | alpha: Single;
Public | tex_coords: array of Single;

Description

Fields

Public next: PVertexData;
Public x: Single;
Public y: Single;
Public z: Single;
Public nx: Single;

always present

Public ny: Single;

always present

Public nz: Single;

always present

Public red: Single;

vertex normal: present if (flags&1)

Public green: Single;

vertex normal: present if (flags&1)

Public blue: Single;

vertex normal: present if (flags&1)

Public alpha: Single;

vertex normal: present if (flags&1)

Public tex_coords: array of Single;

vertex color: present if (flags&2)


GLSysHelp v.2.1: Formats.B3D: Record TVRTSChunk

Record TVRTSChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TVRTSChunk = record

Description

Overview

Fields

Public | flags: Integer;
Public | tex_coord_sets: Integer;
Public | tex_coord_set_size: Integer;
Public | vertices: PVertexData;

Description

Fields

Public flags: Integer;
Public tex_coord_sets: Integer;

1=normal values present, 2=rgba values present

Public tex_coord_set_size: Integer;

texture coords per vertex (eg: 1 for simple U/V) max=8

Public vertices: PVertexData;

components per set (eg: 2 for simple U/V) max=4


GLSysHelp v.2.1: Formats.B3D: Record TTRISChunk

Record TTRISChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TTRISChunk = record

Description

Overview

Fields

Public | next: PTRISChunk;
Public | brush_id: Integer;
Public | vertex_id: array of Integer;

Description

Fields

Public next: PTRISChunk;
Public brush_id: Integer;
Public vertex_id: array of Integer;

brush applied to these TRIs: default=-1


GLSysHelp v.2.1: Formats.B3D: Record TMESHChunk

Record TMESHChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TMESHChunk = record

Description

Overview

Fields

Public | brush_id: Integer;
Public | vertices: TVRTSChunk;
Public | triangles: PTRISChunk;

Description

Fields

Public brush_id: Integer;
Public vertices: TVRTSChunk;

'master' brush: default=-1

Public triangles: PTRISChunk;

vertices


GLSysHelp v.2.1: Formats.B3D: Record TBONEChunk

Record TBONEChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TBONEChunk = record

Description

Overview

Fields

Public | vertex_id: Integer;
Public | weight: Single;

Description

Fields

Public vertex_id: Integer;
Public weight: Single;

vertex affected by this bone


GLSysHelp v.2.1: Formats.B3D: Record TKEYSChunk

Record TKEYSChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TKEYSChunk = record

Description

Overview

Fields

Public | next: PKEYSChunk;
Public | flags: Integer;
Public | frame: Integer;
Public | position: TAffineVector;
Public | scale: TAffineVector;
Public | rotation: TGLVector;

Description

Fields

Public next: PKEYSChunk;
Public flags: Integer;
Public frame: Integer;

1=position, 2=scale, 4=rotation

Public position: TAffineVector;

where key occurs

Public scale: TAffineVector;

present if (flags&1)

Public rotation: TGLVector;

present if (flags&2)


GLSysHelp v.2.1: Formats.B3D: Record TANIMChunk

Record TANIMChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TANIMChunk = record

Description

Overview

Fields

Public | flags: Integer;
Public | frames: Integer;
Public | fps: Single;

Description

Fields

Public flags: Integer;
Public frames: Integer;

unused: default=0

Public fps: Single;

how many frames in anim


GLSysHelp v.2.1: Formats.B3D: Record TNODEChunk

Record TNODEChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TNODEChunk = record

Description

Overview

Fields

Public | name: array[0..255] of char;
Public | position: TAffineVector;
Public | scale: TAffineVector;
Public | rotation: TGLVector;
Public | meshes: PMESHChunk;
Public | keys: PKEYSChunk;
Public | nodes: PNODEChunk;
Public | animation: TANIMChunk;
Public | next: PNODEChunk;
Public | level: Integer;

Description

Fields

Public name: array[0..255] of char;
Public position: TAffineVector;

name of node

Public scale: TAffineVector;

local...

Public rotation: TGLVector;

coord...

Public meshes: PMESHChunk;

system... array of node elements should be one of meshes or bones, support meshes only for now

Public keys: PKEYSChunk;

not supprot yet bones: PBONEChunk;

Public nodes: PNODEChunk;

optional animation keys

Public animation: TANIMChunk;

optional child nodes

Public next: PNODEChunk;

optional animation

Public level: Integer;

point to the next node


GLSysHelp v.2.1: Formats.B3D: Class TB3DMaterial

Class TB3DMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TB3DMaterial = class(TObject)

Description

Hierarchy

  • TObject
  • TB3DMaterial

Overview

Fields

Public MaterialData: TBRUSChunk;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function GetMaterialName: string;

Description

Fields

Public MaterialData: TBRUSChunk;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function GetMaterialName: string;


GLSysHelp v.2.1: Formats.B3D: Class TB3DTexture

Class TB3DTexture

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TB3DTexture = class(TObject)

Description

Hierarchy

  • TObject
  • TB3DTexture

Overview

Fields

Public TextureData: TTEXSChunk;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function GetTextureName: string;

Description

Fields

Public TextureData: TTEXSChunk;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function GetTextureName: string;


GLSysHelp v.2.1: Formats.B3D: Class TB3DNode

Class TB3DNode

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TB3DNode = class(TObject)

Description

Hierarchy

  • TObject
  • TB3DNode

Overview

Fields

Public NodeData: PNODEChunk;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function GetNodeName: string;
Public | procedure DestroyNodeData(Node: PNODEChunk);

Description

Fields

Public NodeData: PNODEChunk;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function GetNodeName: string;
Public procedure DestroyNodeData(Node: PNODEChunk);


GLSysHelp v.2.1: Formats.B3D: Class TFileB3D

Class TFileB3D

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.B3D

Declaration

type TFileB3D = class(TObject)

Description

Hierarchy

  • TObject
  • TFileB3D

Overview

Fields

Private | fTextures: TStringList;
Private | fMaterials: TStringList;
Private | fNodes: TB3DNode;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Private | function GetChunkType(const aChunk: TB3DChunk): TB3DChunkType;
Private | function ReadMaterialChunk(aStream: TStream; const aChunk: TB3DChunk): Integer;
Private | function ReadMeshChunk(aStream: TStream; const aChunk: TB3DChunk; Mesh: PMESHChunk): Integer;
Private | function ReadNodeChunk(aStream: TStream; const aChunk: TB3DChunk; Node: PNODEChunk; level: Integer): Integer;
Private | function ReadTextureChunk(aStream: TStream; const aChunk: TB3DChunk): Integer;
Private | function ReadTrianglesChunk(aStream: TStream; const aChunk: TB3DChunk; Triangle: PTRISChunk): Integer;
Private | function ReadVerticesChunk(aStream: TStream; const aChunk: TB3DChunk; Vertices: PVRTSChunk): Integer;
Private | function SkipChunk(aStream: TStream; const aChunk: TB3DChunk): Integer;
Public | procedure Check;
Public | procedure LoadFromStream(aStream : TStream);
Private | procedure FreeLists;

Properties

Public | property Materials: TStringList read fMaterials;
Public | property Nodes: TB3DNode read fNodes;
Public | property Textures: TStringList read fTextures;

Description

Fields

Private fTextures: TStringList;
Private fMaterials: TStringList;
Private fNodes: TB3DNode;

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Private function GetChunkType(const aChunk: TB3DChunk): TB3DChunkType;
Private function ReadMaterialChunk(aStream: TStream; const aChunk: TB3DChunk): Integer;
Private function ReadMeshChunk(aStream: TStream; const aChunk: TB3DChunk; Mesh: PMESHChunk): Integer;
Private function ReadNodeChunk(aStream: TStream; const aChunk: TB3DChunk; Node: PNODEChunk; level: Integer): Integer;
Private function ReadTextureChunk(aStream: TStream; const aChunk: TB3DChunk): Integer;
Private function ReadTrianglesChunk(aStream: TStream; const aChunk: TB3DChunk; Triangle: PTRISChunk): Integer;
Private function ReadVerticesChunk(aStream: TStream; const aChunk: TB3DChunk; Vertices: PVRTSChunk): Integer;
Private function SkipChunk(aStream: TStream; const aChunk: TB3DChunk): Integer;
Public procedure Check;

for test only

Public procedure LoadFromStream(aStream : TStream);
Private procedure FreeLists;

Properties

Public property Materials: TStringList read fMaterials;
Public property Nodes: TB3DNode read fNodes;
Public property Textures: TStringList read fTextures;


GLSysHelp v.2.1: Formats.DDSImage

Unit Formats.DDSImage

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Graphics
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TDDSImage |
Class EDDSException |


GLSysHelp v.2.1: Formats.DDSImage: Class TDDSImage

Class TDDSImage

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DDSImage

Declaration

type TDDSImage = class(TBitmap)

Description

Hierarchy

  • TBitmap
  • TDDSImage

Overview

Methods

Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: Formats.DDSImage: Class EDDSException

Class EDDSException

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DDSImage

Declaration

type EDDSException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EDDSException


GLSysHelp v.2.1: Formats.DXTC

Unit Formats.DXTC

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.SysUtils
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TDDPIXELFORMAT |
Record TDDSURFACEDESC2 |
Record TDDSHeader |
Record DXTColBlock |
Record DXT3AlphaBlock |
Record DXT5AlphaBlock |
Record TDDS_HEADER_DXT10 |
Record TGLImageDataFormat |

Functions and Procedures

procedure DecodeDXT1toBitmap32( encData, decData : PByteArray; w,h : Integer; var trans : Boolean);
procedure DecodeDXT3toBitmap32(encData, decData : PByteArray; w,h : Integer);
procedure DecodeDXT5toBitmap32(encData, decData : PByteArray; w,h : Integer);
procedure flip_blocks_dxtc1( data : PGLubyte; numBlocks: integer);
procedure flip_blocks_dxtc3( data : PGLubyte; numBlocks: integer);
procedure flip_blocks_dxtc5( data : PGLubyte; numBlocks: integer);
procedure flip_dxt5_alpha( block : PDXT5AlphaBlock);
function DDSHeaderToGLEnum(const DX9header: TDDSHeader; const DX11header: TDDS_HEADER_DXT10; const useDX11: Boolean; out iFormat: TGLInternalFormat; out colorFormat: Cardinal; out dataType: Cardinal; out bpe: Integer): Boolean;
function GLEnumToDDSHeader(var DX9header: TDDSHeader; var DX11header: TDDS_HEADER_DXT10; const useDX11: Boolean; const iFormat: TGLInternalFormat; const colorFormat: Cardinal; const dataType: Cardinal; const bpe: Integer): Boolean;
function FindDDSCompatibleDataFormat(const iFormat: TGLInternalFormat; out colorFormat: Cardinal; out dataType: Cardinal): Boolean;

Types

PDXT3AlphaBlock = ˆDXT3AlphaBlock;
PDXT5AlphaBlock = ˆDXT5AlphaBlock;
PDXTColBlock = ˆDXTColBlock;
TFOURCC = array[0..3] of AnsiChar;

Constants

DDSD_CAPS = $00000001;
DDSD_HEIGHT = $00000002;
DDSD_WIDTH = $00000004;
DDSD_PITCH = $00000008;
DDSD_PIXELFORMAT = $00001000;
DDSD_MIPMAPCOUNT = $00020000;
DDSD_LINEARSIZE = $00080000;
DDSD_DEPTH = $00800000;
DDPF_ALPHAPIXELS = $00000001;
DDPF_A = $00000002;
DDPF_FOURCC = $00000004;
DDPF_RGB = $00000040;
DDPF_RGBA = $00000041;
DDPF_L = $00020000;
DDPF_LA = $00020001;
DDSCAPS_COMPLEX = $00000008;
DDSCAPS_TEXTURE = $00001000;
DDSCAPS_MIPMAP = $00400000;
DDSCAPS2_CUBEMAP = $00000200;
DDSCAPS2_CUBEMAP_POSITIVEX = $00000400;
DDSCAPS2_CUBEMAP_NEGATIVEX = $00000800;
DDSCAPS2_CUBEMAP_POSITIVEY = $00001000;
DDSCAPS2_CUBEMAP_NEGATIVEY = $00002000;
DDSCAPS2_CUBEMAP_POSITIVEZ = $00004000;
DDSCAPS2_CUBEMAP_NEGATIVEZ = $00008000;
DDSCAPS2_VOLUME = $00200000;
DXGI_FORMAT_FORCE_UINT = -1;
DXGI_FORMAT_UNKNOWN = 0;
DXGI_FORMAT_R32G32B32A32_TYPELESS = 1;
DXGI_FORMAT_R32G32B32A32_FLOAT = 2;
DXGI_FORMAT_R32G32B32A32_UINT = 3;
DXGI_FORMAT_R32G32B32A32_SINT = 4;
DXGI_FORMAT_R32G32B32_TYPELESS = 5;
DXGI_FORMAT_R32G32B32_FLOAT = 6;
DXGI_FORMAT_R32G32B32_UINT = 7;
DXGI_FORMAT_R32G32B32_SINT = 8;
DXGI_FORMAT_R16G16B16A16_TYPELESS = 9;
DXGI_FORMAT_R16G16B16A16_FLOAT = 10;
DXGI_FORMAT_R16G16B16A16_UNORM = 11;
DXGI_FORMAT_R16G16B16A16_UINT = 12;
DXGI_FORMAT_R16G16B16A16_SNORM = 13;
DXGI_FORMAT_R16G16B16A16_SINT = 14;
DXGI_FORMAT_R32G32_TYPELESS = 15;
DXGI_FORMAT_R32G32_FLOAT = 16;
DXGI_FORMAT_R32G32_UINT = 17;
DXGI_FORMAT_R32G32_SINT = 18;
DXGI_FORMAT_R32G8X24_TYPELESS = 19;
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20;
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21;
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22;
DXGI_FORMAT_R10G10B10A2_TYPELESS = 23;
DXGI_FORMAT_R10G10B10A2_UNORM = 24;
DXGI_FORMAT_R10G10B10A2_UINT = 25;
DXGI_FORMAT_R11G11B10_FLOAT = 26;
DXGI_FORMAT_R8G8B8A8_TYPELESS = 27;
DXGI_FORMAT_R8G8B8A8_UNORM = 28;
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29;
DXGI_FORMAT_R8G8B8A8_UINT = 30;
DXGI_FORMAT_R8G8B8A8_SNORM = 31;
DXGI_FORMAT_R8G8B8A8_SINT = 32;
DXGI_FORMAT_R16G16_TYPELESS = 33;
DXGI_FORMAT_R16G16_FLOAT = 34;
DXGI_FORMAT_R16G16_UNORM = 35;
DXGI_FORMAT_R16G16_UINT = 36;
DXGI_FORMAT_R16G16_SNORM = 37;
DXGI_FORMAT_R16G16_SINT = 38;
DXGI_FORMAT_R32_TYPELESS = 39;
DXGI_FORMAT_D32_FLOAT = 40;
DXGI_FORMAT_R32_FLOAT = 41;
DXGI_FORMAT_R32_UINT = 42;
DXGI_FORMAT_R32_SINT = 43;
DXGI_FORMAT_R24G8_TYPELESS = 44;
DXGI_FORMAT_D24_UNORM_S8_UINT = 45;
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46;
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47;
DXGI_FORMAT_R8G8_TYPELESS = 48;
DXGI_FORMAT_R8G8_UNORM = 49;
DXGI_FORMAT_R8G8_UINT = 50;
DXGI_FORMAT_R8G8_SNORM = 51;
DXGI_FORMAT_R8G8_SINT = 52;
DXGI_FORMAT_R16_TYPELESS = 53;
DXGI_FORMAT_R16_FLOAT = 54;
DXGI_FORMAT_D16_UNORM = 55;
DXGI_FORMAT_R16_UNORM = 56;
DXGI_FORMAT_R16_UINT = 57;
DXGI_FORMAT_R16_SNORM = 58;
DXGI_FORMAT_R16_SINT = 59;
DXGI_FORMAT_R8_TYPELESS = 60;
DXGI_FORMAT_R8_UNORM = 61;
DXGI_FORMAT_R8_UINT = 62;
DXGI_FORMAT_R8_SNORM = 63;
DXGI_FORMAT_R8_SINT = 64;
DXGI_FORMAT_A8_UNORM = 65;
DXGI_FORMAT_R1_UNORM = 66;
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67;
DXGI_FORMAT_R8G8_B8G8_UNORM = 68;
DXGI_FORMAT_G8R8_G8B8_UNORM = 69;
DXGI_FORMAT_BC1_TYPELESS = 70;
DXGI_FORMAT_BC1_UNORM = 71;
DXGI_FORMAT_BC1_UNORM_SRGB = 72;
DXGI_FORMAT_BC2_TYPELESS = 73;
DXGI_FORMAT_BC2_UNORM = 74;
DXGI_FORMAT_BC2_UNORM_SRGB = 75;
DXGI_FORMAT_BC3_TYPELESS = 76;
DXGI_FORMAT_BC3_UNORM = 77;
DXGI_FORMAT_BC3_UNORM_SRGB = 78;
DXGI_FORMAT_BC4_TYPELESS = 79;
DXGI_FORMAT_BC4_UNORM = 80;
DXGI_FORMAT_BC4_SNORM = 81;
DXGI_FORMAT_BC5_TYPELESS = 82;
DXGI_FORMAT_BC5_UNORM = 83;
DXGI_FORMAT_BC5_SNORM = 84;
DXGI_FORMAT_B5G6R5_UNORM = 85;
DXGI_FORMAT_B5G5R5A1_UNORM = 86;
DXGI_FORMAT_B8G8R8A8_UNORM = 87;
DXGI_FORMAT_B8G8R8X8_UNORM = 88;
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89;
DXGI_FORMAT_B8G8R8A8_TYPELESS = 90;
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91;
DXGI_FORMAT_B8G8R8X8_TYPELESS = 92;
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93;
DXGI_FORMAT_BC6H_TYPELESS = 94;
DXGI_FORMAT_BC6H_UF16 = 95;
DXGI_FORMAT_BC6H_SF16 = 96;
DXGI_FORMAT_BC7_TYPELESS = 97;
DXGI_FORMAT_BC7_UNORM = 98;
DXGI_FORMAT_BC7_UNORM_SRGB = 99;
D3D11_RESOURCE_DIMENSION_UNKNOWN = 0;
D3D11_RESOURCE_DIMENSION_BUFFER = 1;
D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2;
D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3;
D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4;
FOURCC_UNKNOWN = 0;
FOURCC_R8G8B8 = 20;
FOURCC_A8R8G8B8 = 21;
FOURCC_X8R8G8B8 = 22;
FOURCC_R5G6B5 = 23;
FOURCC_X1R5G5B5 = 24;
FOURCC_A1R5G5B5 = 25;
FOURCC_A4R4G4B4 = 26;
FOURCC_R3G3B2 = 27;
FOURCC_A8 = 28;
FOURCC_A8R3G3B2 = 29;
FOURCC_X4R4G4B4 = 30;
FOURCC_A2B10G10R10 = 31;
FOURCC_A8B8G8R8 = 32;
FOURCC_X8B8G8R8 = 33;
FOURCC_G16R16 = 34;
FOURCC_A2R10G10B10 = 35;
FOURCC_A16B16G16R16 = 36;
FOURCC_L8 = 50;
FOURCC_A8L8 = 51;
FOURCC_A4L4 = 52;
FOURCC_DXT1 = $31545844;
FOURCC_DXT2 = $32545844;
FOURCC_DXT3 = $33545844;
FOURCC_DXT4 = $34545844;
FOURCC_DXT5 = $35545844;
FOURCC_ATI1 = $31495441;
FOURCC_ATI2 = $32495441;
FOURCC_D16_LOCKABLE = 70;
FOURCC_D32 = 71;
FOURCC_D24X8 = 77;
FOURCC_D16 = 80;
FOURCC_D32F_LOCKABLE = 82;
FOURCC_L16 = 81;
FOURCC_R16F = 111;
FOURCC_G16R16F = 112;
FOURCC_A16B16G16R16F = 113;
FOURCC_R32F = 114;
FOURCC_G32R32F = 115;
FOURCC_A32B32G32R32F = 116;
FOURCC_DX10 = $47495844;
cImageDataFormat8bits: array[0..3] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGB; RBits: $E0; GBits: $1C; BBits: $03; ABits: $00; colorFormat: GL_RGB; TexFormat: tfR3_G3_B2; dType: GL_UNSIGNED_BYTE_3_3_2), (ColorFlag: DDPF_LA; RBits: $0F; GBits: $00; BBits: $00; ABits: $F0; colorFormat: GL_LUMINANCE_ALPHA; TexFormat: tfLUMINANCE4_ALPHA4; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_A; RBits: $00; GBits: $00; BBits: $00; ABits: $FF; colorFormat: GL_ALPHA; TexFormat: tfALPHA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_L; RBits: $FF; GBits: $00; BBits: $00; ABits: $00; colorFormat: GL_LUMINANCE; TexFormat: tfLUMINANCE8; dType: GL_UNSIGNED_BYTE) );
cImageDataFormat16bits: array[0..4] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGBA; RBits: $0F00; GBits: $F0; BBits: $0F; ABits: $F000; colorFormat: GL_BGRA; TexFormat: tfRGBA4; dType: GL_UNSIGNED_SHORT_4_4_4_4_REV), (ColorFlag: DDPF_RGB; RBits: $F800; GBits: $07E0; BBits: $1F; ABits: $00; colorFormat: GL_RGB; TexFormat: tfRGB5; dType: GL_UNSIGNED_SHORT_5_6_5), (ColorFlag: DDPF_L; RBits: $FFFF; GBits: $00; BBits: $00; ABits: $00; colorFormat: GL_LUMINANCE; TexFormat: tfLUMINANCE16; dType: GL_UNSIGNED_SHORT), (ColorFlag: DDPF_LA; RBits: $FF; GBits: $00; BBits: $00; ABits: $FF00; colorFormat: GL_LUMINANCE_ALPHA; TexFormat: tfLUMINANCE8_ALPHA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_RGBA; RBits: $7C00; GBits: $03E0; BBits: $1F; ABits: $8000; colorFormat: GL_BGRA; TexFormat: tfRGB5_A1; dType: GL_UNSIGNED_SHORT_1_5_5_5_REV) );
cImageDataFormat24bits: array[0..0] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGB; RBits: $FF0000; GBits: $FF00; BBits: $FF; ABits: $00; colorFormat: GL_BGR; TexFormat: tfRGB8; dType: GL_UNSIGNED_BYTE) );
cImageDataFormat32bits: array[0..6] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGBA; RBits: $FF; GBits: $FF00; BBits: $FF0000; ABits: $FF000000; colorFormat: GL_RGBA; TexFormat: tfRGBA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_RGBA; RBits: $FF0000; GBits: $FF00; BBits: $FF; ABits: $FF000000; colorFormat: GL_BGRA; TexFormat: tfRGBA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_RGBA; RBits: $3FF00000; GBits: $0FFC00; BBits: $03FF; ABits: $0C0000000; colorFormat: GL_RGBA; TexFormat: tfRGB10_A2; dType: GL_UNSIGNED_INT_2_10_10_10_REV), (ColorFlag: DDPF_RGBA; RBits: $03FF; GBits: $FFC00; BBits: $3FF00000; ABits: $C0000000; colorFormat: GL_BGRA; TexFormat: tfRGB10_A2; dType: GL_UNSIGNED_INT_2_10_10_10_REV), (ColorFlag: DDPF_RGBA; RBits: $FF0000; GBits: $FF00; BBits: $FF; ABits: $FF000000; colorFormat: GL_BGRA; TexFormat: tfRGB8; dType: GL_UNSIGNED_INT_8_8_8_8), (ColorFlag: DDPF_RGBA; RBits: $FF; GBits: $FF00; BBits: $FF0000; ABits: $FF000000; colorFormat: GL_RGBA; TexFormat: tfRGB8; dType: GL_UNSIGNED_INT_8_8_8_8), (ColorFlag: DDPF_RGB; RBits: $FFFF; GBits: $FFFF0000; BBits: $00; ABits: $00; colorFormat: GL_RG; TexFormat: tfRG16; dType: GL_UNSIGNED_SHORT) );

Description

Functions and Procedures

procedure DecodeDXT1toBitmap32( encData, decData : PByteArray; w,h : Integer; var trans : Boolean);
procedure DecodeDXT3toBitmap32(encData, decData : PByteArray; w,h : Integer);
procedure DecodeDXT5toBitmap32(encData, decData : PByteArray; w,h : Integer);
procedure flip_blocks_dxtc1( data : PGLubyte; numBlocks: integer);
procedure flip_blocks_dxtc3( data : PGLubyte; numBlocks: integer);
procedure flip_blocks_dxtc5( data : PGLubyte; numBlocks: integer);
procedure flip_dxt5_alpha( block : PDXT5AlphaBlock);
function DDSHeaderToGLEnum(const DX9header: TDDSHeader; const DX11header: TDDS_HEADER_DXT10; const useDX11: Boolean; out iFormat: TGLInternalFormat; out colorFormat: Cardinal; out dataType: Cardinal; out bpe: Integer): Boolean;
function GLEnumToDDSHeader(var DX9header: TDDSHeader; var DX11header: TDDS_HEADER_DXT10; const useDX11: Boolean; const iFormat: TGLInternalFormat; const colorFormat: Cardinal; const dataType: Cardinal; const bpe: Integer): Boolean;
function FindDDSCompatibleDataFormat(const iFormat: TGLInternalFormat; out colorFormat: Cardinal; out dataType: Cardinal): Boolean;

Types

PDXT3AlphaBlock = ˆDXT3AlphaBlock;
PDXT5AlphaBlock = ˆDXT5AlphaBlock;
PDXTColBlock = ˆDXTColBlock;
TFOURCC = array[0..3] of AnsiChar;

Constants

DDSD_CAPS = $00000001;
DDSD_HEIGHT = $00000002;
DDSD_WIDTH = $00000004;
DDSD_PITCH = $00000008;
DDSD_PIXELFORMAT = $00001000;
DDSD_MIPMAPCOUNT = $00020000;
DDSD_LINEARSIZE = $00080000;
DDSD_DEPTH = $00800000;
DDPF_ALPHAPIXELS = $00000001;
DDPF_A = $00000002;
DDPF_FOURCC = $00000004;
DDPF_RGB = $00000040;
DDPF_RGBA = $00000041;
DDPF_L = $00020000;
DDPF_LA = $00020001;
DDSCAPS_COMPLEX = $00000008;
DDSCAPS_TEXTURE = $00001000;
DDSCAPS_MIPMAP = $00400000;
DDSCAPS2_CUBEMAP = $00000200;
DDSCAPS2_CUBEMAP_POSITIVEX = $00000400;
DDSCAPS2_CUBEMAP_NEGATIVEX = $00000800;
DDSCAPS2_CUBEMAP_POSITIVEY = $00001000;
DDSCAPS2_CUBEMAP_NEGATIVEY = $00002000;
DDSCAPS2_CUBEMAP_POSITIVEZ = $00004000;
DDSCAPS2_CUBEMAP_NEGATIVEZ = $00008000;
DDSCAPS2_VOLUME = $00200000;
DXGI_FORMAT_FORCE_UINT = -1;

TDXGI_FORMAT = (

DXGI_FORMAT_UNKNOWN = 0;
DXGI_FORMAT_R32G32B32A32_TYPELESS = 1;
DXGI_FORMAT_R32G32B32A32_FLOAT = 2;
DXGI_FORMAT_R32G32B32A32_UINT = 3;
DXGI_FORMAT_R32G32B32A32_SINT = 4;
DXGI_FORMAT_R32G32B32_TYPELESS = 5;
DXGI_FORMAT_R32G32B32_FLOAT = 6;
DXGI_FORMAT_R32G32B32_UINT = 7;
DXGI_FORMAT_R32G32B32_SINT = 8;
DXGI_FORMAT_R16G16B16A16_TYPELESS = 9;
DXGI_FORMAT_R16G16B16A16_FLOAT = 10;
DXGI_FORMAT_R16G16B16A16_UNORM = 11;
DXGI_FORMAT_R16G16B16A16_UINT = 12;
DXGI_FORMAT_R16G16B16A16_SNORM = 13;
DXGI_FORMAT_R16G16B16A16_SINT = 14;
DXGI_FORMAT_R32G32_TYPELESS = 15;
DXGI_FORMAT_R32G32_FLOAT = 16;
DXGI_FORMAT_R32G32_UINT = 17;
DXGI_FORMAT_R32G32_SINT = 18;
DXGI_FORMAT_R32G8X24_TYPELESS = 19;
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20;
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21;
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22;
DXGI_FORMAT_R10G10B10A2_TYPELESS = 23;
DXGI_FORMAT_R10G10B10A2_UNORM = 24;
DXGI_FORMAT_R10G10B10A2_UINT = 25;
DXGI_FORMAT_R11G11B10_FLOAT = 26;
DXGI_FORMAT_R8G8B8A8_TYPELESS = 27;
DXGI_FORMAT_R8G8B8A8_UNORM = 28;
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29;
DXGI_FORMAT_R8G8B8A8_UINT = 30;
DXGI_FORMAT_R8G8B8A8_SNORM = 31;
DXGI_FORMAT_R8G8B8A8_SINT = 32;
DXGI_FORMAT_R16G16_TYPELESS = 33;
DXGI_FORMAT_R16G16_FLOAT = 34;
DXGI_FORMAT_R16G16_UNORM = 35;
DXGI_FORMAT_R16G16_UINT = 36;
DXGI_FORMAT_R16G16_SNORM = 37;
DXGI_FORMAT_R16G16_SINT = 38;
DXGI_FORMAT_R32_TYPELESS = 39;
DXGI_FORMAT_D32_FLOAT = 40;
DXGI_FORMAT_R32_FLOAT = 41;
DXGI_FORMAT_R32_UINT = 42;
DXGI_FORMAT_R32_SINT = 43;
DXGI_FORMAT_R24G8_TYPELESS = 44;
DXGI_FORMAT_D24_UNORM_S8_UINT = 45;
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46;
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47;
DXGI_FORMAT_R8G8_TYPELESS = 48;
DXGI_FORMAT_R8G8_UNORM = 49;
DXGI_FORMAT_R8G8_UINT = 50;
DXGI_FORMAT_R8G8_SNORM = 51;
DXGI_FORMAT_R8G8_SINT = 52;
DXGI_FORMAT_R16_TYPELESS = 53;
DXGI_FORMAT_R16_FLOAT = 54;
DXGI_FORMAT_D16_UNORM = 55;
DXGI_FORMAT_R16_UNORM = 56;
DXGI_FORMAT_R16_UINT = 57;
DXGI_FORMAT_R16_SNORM = 58;
DXGI_FORMAT_R16_SINT = 59;
DXGI_FORMAT_R8_TYPELESS = 60;
DXGI_FORMAT_R8_UNORM = 61;
DXGI_FORMAT_R8_UINT = 62;
DXGI_FORMAT_R8_SNORM = 63;
DXGI_FORMAT_R8_SINT = 64;
DXGI_FORMAT_A8_UNORM = 65;
DXGI_FORMAT_R1_UNORM = 66;
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67;
DXGI_FORMAT_R8G8_B8G8_UNORM = 68;
DXGI_FORMAT_G8R8_G8B8_UNORM = 69;
DXGI_FORMAT_BC1_TYPELESS = 70;
DXGI_FORMAT_BC1_UNORM = 71;
DXGI_FORMAT_BC1_UNORM_SRGB = 72;
DXGI_FORMAT_BC2_TYPELESS = 73;
DXGI_FORMAT_BC2_UNORM = 74;
DXGI_FORMAT_BC2_UNORM_SRGB = 75;
DXGI_FORMAT_BC3_TYPELESS = 76;
DXGI_FORMAT_BC3_UNORM = 77;
DXGI_FORMAT_BC3_UNORM_SRGB = 78;
DXGI_FORMAT_BC4_TYPELESS = 79;
DXGI_FORMAT_BC4_UNORM = 80;
DXGI_FORMAT_BC4_SNORM = 81;
DXGI_FORMAT_BC5_TYPELESS = 82;
DXGI_FORMAT_BC5_UNORM = 83;
DXGI_FORMAT_BC5_SNORM = 84;
DXGI_FORMAT_B5G6R5_UNORM = 85;
DXGI_FORMAT_B5G5R5A1_UNORM = 86;
DXGI_FORMAT_B8G8R8A8_UNORM = 87;
DXGI_FORMAT_B8G8R8X8_UNORM = 88;
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89;
DXGI_FORMAT_B8G8R8A8_TYPELESS = 90;
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91;
DXGI_FORMAT_B8G8R8X8_TYPELESS = 92;
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93;
DXGI_FORMAT_BC6H_TYPELESS = 94;
DXGI_FORMAT_BC6H_UF16 = 95;
DXGI_FORMAT_BC6H_SF16 = 96;
DXGI_FORMAT_BC7_TYPELESS = 97;
DXGI_FORMAT_BC7_UNORM = 98;
DXGI_FORMAT_BC7_UNORM_SRGB = 99;
D3D11_RESOURCE_DIMENSION_UNKNOWN = 0;

); TD3D11_RESOURCE_DIMENSION = (

D3D11_RESOURCE_DIMENSION_BUFFER = 1;
D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2;
D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3;
D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4;
FOURCC_UNKNOWN = 0;
FOURCC_R8G8B8 = 20;
FOURCC_A8R8G8B8 = 21;
FOURCC_X8R8G8B8 = 22;
FOURCC_R5G6B5 = 23;
FOURCC_X1R5G5B5 = 24;
FOURCC_A1R5G5B5 = 25;
FOURCC_A4R4G4B4 = 26;
FOURCC_R3G3B2 = 27;
FOURCC_A8 = 28;
FOURCC_A8R3G3B2 = 29;
FOURCC_X4R4G4B4 = 30;
FOURCC_A2B10G10R10 = 31;
FOURCC_A8B8G8R8 = 32;
FOURCC_X8B8G8R8 = 33;
FOURCC_G16R16 = 34;
FOURCC_A2R10G10B10 = 35;
FOURCC_A16B16G16R16 = 36;
FOURCC_L8 = 50;
FOURCC_A8L8 = 51;
FOURCC_A4L4 = 52;
FOURCC_DXT1 = $31545844;
FOURCC_DXT2 = $32545844;
FOURCC_DXT3 = $33545844;
FOURCC_DXT4 = $34545844;
FOURCC_DXT5 = $35545844;
FOURCC_ATI1 = $31495441;
FOURCC_ATI2 = $32495441;
FOURCC_D16_LOCKABLE = 70;
FOURCC_D32 = 71;
FOURCC_D24X8 = 77;
FOURCC_D16 = 80;
FOURCC_D32F_LOCKABLE = 82;
FOURCC_L16 = 81;
FOURCC_R16F = 111;

Floating point surface formats s10e5 formats (16-bits per channel)

FOURCC_G16R16F = 112;
FOURCC_A16B16G16R16F = 113;
FOURCC_R32F = 114;

IEEE s23e8 formats (32-bits per channel)

FOURCC_G32R32F = 115;
FOURCC_A32B32G32R32F = 116;
FOURCC_DX10 = $47495844;

DX10 header indicator

cImageDataFormat8bits: array[0..3] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGB; RBits: $E0; GBits: $1C; BBits: $03; ABits: $00; colorFormat: GL_RGB; TexFormat: tfR3_G3_B2; dType: GL_UNSIGNED_BYTE_3_3_2), (ColorFlag: DDPF_LA; RBits: $0F; GBits: $00; BBits: $00; ABits: $F0; colorFormat: GL_LUMINANCE_ALPHA; TexFormat: tfLUMINANCE4_ALPHA4; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_A; RBits: $00; GBits: $00; BBits: $00; ABits: $FF; colorFormat: GL_ALPHA; TexFormat: tfALPHA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_L; RBits: $FF; GBits: $00; BBits: $00; ABits: $00; colorFormat: GL_LUMINANCE; TexFormat: tfLUMINANCE8; dType: GL_UNSIGNED_BYTE) );
cImageDataFormat16bits: array[0..4] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGBA; RBits: $0F00; GBits: $F0; BBits: $0F; ABits: $F000; colorFormat: GL_BGRA; TexFormat: tfRGBA4; dType: GL_UNSIGNED_SHORT_4_4_4_4_REV), (ColorFlag: DDPF_RGB; RBits: $F800; GBits: $07E0; BBits: $1F; ABits: $00; colorFormat: GL_RGB; TexFormat: tfRGB5; dType: GL_UNSIGNED_SHORT_5_6_5), (ColorFlag: DDPF_L; RBits: $FFFF; GBits: $00; BBits: $00; ABits: $00; colorFormat: GL_LUMINANCE; TexFormat: tfLUMINANCE16; dType: GL_UNSIGNED_SHORT), (ColorFlag: DDPF_LA; RBits: $FF; GBits: $00; BBits: $00; ABits: $FF00; colorFormat: GL_LUMINANCE_ALPHA; TexFormat: tfLUMINANCE8_ALPHA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_RGBA; RBits: $7C00; GBits: $03E0; BBits: $1F; ABits: $8000; colorFormat: GL_BGRA; TexFormat: tfRGB5_A1; dType: GL_UNSIGNED_SHORT_1_5_5_5_REV) );
cImageDataFormat24bits: array[0..0] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGB; RBits: $FF0000; GBits: $FF00; BBits: $FF; ABits: $00; colorFormat: GL_BGR; TexFormat: tfRGB8; dType: GL_UNSIGNED_BYTE) );
cImageDataFormat32bits: array[0..6] of TGLImageDataFormat = ( (ColorFlag: DDPF_RGBA; RBits: $FF; GBits: $FF00; BBits: $FF0000; ABits: $FF000000; colorFormat: GL_RGBA; TexFormat: tfRGBA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_RGBA; RBits: $FF0000; GBits: $FF00; BBits: $FF; ABits: $FF000000; colorFormat: GL_BGRA; TexFormat: tfRGBA8; dType: GL_UNSIGNED_BYTE), (ColorFlag: DDPF_RGBA; RBits: $3FF00000; GBits: $0FFC00; BBits: $03FF; ABits: $0C0000000; colorFormat: GL_RGBA; TexFormat: tfRGB10_A2; dType: GL_UNSIGNED_INT_2_10_10_10_REV), (ColorFlag: DDPF_RGBA; RBits: $03FF; GBits: $FFC00; BBits: $3FF00000; ABits: $C0000000; colorFormat: GL_BGRA; TexFormat: tfRGB10_A2; dType: GL_UNSIGNED_INT_2_10_10_10_REV), (ColorFlag: DDPF_RGBA; RBits: $FF0000; GBits: $FF00; BBits: $FF; ABits: $FF000000; colorFormat: GL_BGRA; TexFormat: tfRGB8; dType: GL_UNSIGNED_INT_8_8_8_8), (ColorFlag: DDPF_RGBA; RBits: $FF; GBits: $FF00; BBits: $FF0000; ABits: $FF000000; colorFormat: GL_RGBA; TexFormat: tfRGB8; dType: GL_UNSIGNED_INT_8_8_8_8), (ColorFlag: DDPF_RGB; RBits: $FFFF; GBits: $FFFF0000; BBits: $00; ABits: $00; colorFormat: GL_RG; TexFormat: tfRG16; dType: GL_UNSIGNED_SHORT) );


GLSysHelp v.2.1: Formats.DXTC: Record TDDPIXELFORMAT

Record TDDPIXELFORMAT

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type TDDPIXELFORMAT = record

Description

Overview

Fields

Public | dwSize: Cardinal;
Public | dwFlags: Cardinal;
Public | dwFourCC: Cardinal;
Public | dwRGBBitCount: Cardinal;
Public | dwRBitMask: Cardinal;
Public | dwGBitMask: Cardinal;
Public | dwBBitMask: Cardinal;
Public | dwRGBAlphaBitMask: Cardinal;

Description

Fields

Public dwSize: Cardinal;
Public dwFlags: Cardinal;
Public dwFourCC: Cardinal;
Public dwRGBBitCount: Cardinal;
Public dwRBitMask: Cardinal;
Public dwGBitMask: Cardinal;
Public dwBBitMask: Cardinal;
Public dwRGBAlphaBitMask: Cardinal;


GLSysHelp v.2.1: Formats.DXTC: Record TDDSURFACEDESC2

Record TDDSURFACEDESC2

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type TDDSURFACEDESC2 = record

Description

Overview

Fields

Public | dwSize: Cardinal;
Public | dwFlags: Cardinal;
Public | dwHeight: Cardinal;
Public | dwWidth: Cardinal;
Public | dwPitchOrLinearSize: Cardinal;
Public | dwDepth: Cardinal;
Public | dwMipMapCount: Cardinal;
Public | dwReserved1: array[0..10] of Cardinal;
Public | ddpf: TDDPIXELFORMAT;
Public | dwCaps: Cardinal;
Public | dwCaps2: Cardinal;
Public | dwCaps3: Cardinal;
Public | dwCaps4: Cardinal;
Public | dwReserved2: Cardinal;

Description

Fields

Public dwSize: Cardinal;
Public dwFlags: Cardinal;
Public dwHeight: Cardinal;
Public dwWidth: Cardinal;
Public dwPitchOrLinearSize: Cardinal;
Public dwDepth: Cardinal;

The number of bytes per scan line in an uncompressed texture; the total number of bytes in the top level texture for a compressed texture.

Public dwMipMapCount: Cardinal;

The number of bytes per scan line in an uncompressed texture; the total number of bytes in the top level texture for a compressed texture.

Public dwReserved1: array[0..10] of Cardinal;
Public ddpf: TDDPIXELFORMAT;
Public dwCaps: Cardinal;
Public dwCaps2: Cardinal;
Public dwCaps3: Cardinal;
Public dwCaps4: Cardinal;
Public dwReserved2: Cardinal;


GLSysHelp v.2.1: Formats.DXTC: Record TDDSHeader

Record TDDSHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type TDDSHeader = record

Description

Overview

Fields

Public | Magic: Cardinal;
Public | SurfaceFormat: TDDSURFACEDESC2;

Description

Fields

Public Magic: Cardinal;
Public SurfaceFormat: TDDSURFACEDESC2;


GLSysHelp v.2.1: Formats.DXTC: Record DXTColBlock

Record DXTColBlock

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type DXTColBlock = record

Description

Overview

Fields

Public | col0: Word;
Public | col1: Word;
Public | row: array[0..3] of Byte;

Description

Fields

Public col0: Word;
Public col1: Word;
Public row: array[0..3] of Byte;


GLSysHelp v.2.1: Formats.DXTC: Record DXT3AlphaBlock

Record DXT3AlphaBlock

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type DXT3AlphaBlock = record

Description

Overview

Fields

Public row: array[0..3] of Word;

Description

Fields

Public row: array[0..3] of Word;


GLSysHelp v.2.1: Formats.DXTC: Record DXT5AlphaBlock

Record DXT5AlphaBlock

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type DXT5AlphaBlock = record

Description

Overview

Fields

Public | alpha0: Byte;
Public | alpha1: Byte;
Public | row: array[0..5] of Byte;

Description

Fields

Public alpha0: Byte;
Public alpha1: Byte;
Public row: array[0..5] of Byte;


GLSysHelp v.2.1: Formats.DXTC: Record TDDS_HEADER_DXT10

Record TDDS_HEADER_DXT10

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type TDDS_HEADER_DXT10 = record

Description

);

Overview

Fields

Public | dxgiFormat: Integer;
Public | resourceDimension: Integer;
Public | miscFlag: Cardinal;
Public | arraySize: Cardinal;
Public | reserved: Cardinal;

Description

Fields

Public dxgiFormat: Integer;
Public resourceDimension: Integer;

TDXGI_FORMAT;

Public miscFlag: Cardinal;

TD3D11_RESOURCE_DIMENSION;

Public arraySize: Cardinal;
Public reserved: Cardinal;


GLSysHelp v.2.1: Formats.DXTC: Record TGLImageDataFormat

Record TGLImageDataFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.DXTC

Declaration

type TGLImageDataFormat = record

Description

Overview

Fields

Public | ColorFlag: Cardinal;
Public | RBits: Cardinal;
Public | GBits: Cardinal;
Public | BBits: Cardinal;
Public | ABits: Cardinal;
Public | colorFormat: Cardinal;
Public | TexFormat: TGLinternalFormat;
Public | dType: Cardinal;

Description

Fields

Public ColorFlag: Cardinal;
Public RBits: Cardinal;
Public GBits: Cardinal;
Public BBits: Cardinal;
Public ABits: Cardinal;
Public colorFormat: Cardinal;
Public TexFormat: TGLinternalFormat;
Public dType: Cardinal;


GLSysHelp v.2.1: Formats.GL2

Unit Formats.GL2

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLMHeader |
Record TGLMSurfaceHeirachy |
Record TGLMSurfaceHeader |
Record TGLMTriangle |
Record TGLMVertex |
Record TGLMSurface |
Record TGLMLODInfo |
Record TGLMLODs |
Record TGLAHeader |
Record TGLASkeleton |
Class TFileGLM |
Class TFileGLA |

Functions and Procedures

function G2_GetVertWeights(const vert: TGLMVertex): integer;
function G2_GetVertBoneIndex(const vert: TGLMVertex; iWeightNum: integer): integer;
function G2_GetVertBoneWeight(const vert: TGLMVertex; iWeightNum: Cardinal; var fTotalWeight: single; const iNumWeights: Cardinal): single;
procedure MC_UnCompressQuat(var mat: TGLMatrix; const comp: TGLACompQuatBone);

Types

TGLABone = array [0 .. 2] of TVector4f;
TGLACompQuatBone = array [0 .. 6] of Word;
TGLASkeletonOffsets = array of integer;
TGLMLODSurfaceOffsets = array of integer;
TGLMSurfaceHeirachyOffsets = array of integer;

Description

Functions and Procedures

function G2_GetVertWeights(const vert: TGLMVertex): integer;
function G2_GetVertBoneIndex(const vert: TGLMVertex; iWeightNum: integer): integer;
function G2_GetVertBoneWeight(const vert: TGLMVertex; iWeightNum: Cardinal; var fTotalWeight: single; const iNumWeights: Cardinal): single;
procedure MC_UnCompressQuat(var mat: TGLMatrix; const comp: TGLACompQuatBone);

Types

TGLABone = array [0 .. 2] of TVector4f;
TGLACompQuatBone = array [0 .. 6] of Word;
TGLASkeletonOffsets = array of integer;

14 bytes

TGLMLODSurfaceOffsets = array of integer;
TGLMSurfaceHeirachyOffsets = array of integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMHeader

Record TGLMHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMHeader = record

Description

Overview

Fields

Public | fileID: array[0..3] of char;
Public | version: integer;
Public | strFile: array[0..63] of char;
Public | animName: array[0..63] of char;
Public | animIndex: integer;
Public | numBones: integer;
Public | numLODs: integer;
Public | ofsLODs: integer;
Public | numSurfaces: integer;
Public | ofsSurfHierarchy: integer;
Public | ofsEnd: integer;

Description

Fields

Public fileID: array[0..3] of char;
Public version: integer;
Public strFile: array[0..63] of char;
Public animName: array[0..63] of char;
Public animIndex: integer;
Public numBones: integer;
Public numLODs: integer;
Public ofsLODs: integer;
Public numSurfaces: integer;
Public ofsSurfHierarchy: integer;
Public ofsEnd: integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMSurfaceHeirachy

Record TGLMSurfaceHeirachy

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMSurfaceHeirachy = record

Description

Overview

Fields

Public | name: array[0..63] of Char;
Public | flags: LongWord;
Public | shader: array[0..63] of Char;
Public | shaderIndex: integer;
Public | parentIndex: integer;
Public | numChildren: integer;
Public | childIndices: array of integer;

Description

Fields

Public name: array[0..63] of Char;
Public flags: LongWord;
Public shader: array[0..63] of Char;
Public shaderIndex: integer;
Public parentIndex: integer;
Public numChildren: integer;
Public childIndices: array of integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMSurfaceHeader

Record TGLMSurfaceHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMSurfaceHeader = record

Description

Overview

Fields

Public | ident: integer;
Public | thisSurfaceIndex: integer;
Public | ofsHeader: integer;
Public | numVerts: integer;
Public | ofsVerts: integer;
Public | numTriangles: integer;
Public | ofsTriangles: integer;
Public | numBoneReferences: integer;
Public | ofsBoneReferences: integer;
Public | ofsEnd: integer;

Description

Fields

Public ident: integer;
Public thisSurfaceIndex: integer;
Public ofsHeader: integer;
Public numVerts: integer;
Public ofsVerts: integer;
Public numTriangles: integer;
Public ofsTriangles: integer;
Public numBoneReferences: integer;
Public ofsBoneReferences: integer;
Public ofsEnd: integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMTriangle

Record TGLMTriangle

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMTriangle = record

Description

Overview

Fields

Public indices: array [0 .. 2] of integer;

Description

Fields

Public indices: array [0 .. 2] of integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMVertex

Record TGLMVertex

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMVertex = record

Description

Overview

Fields

Public | normal: TVector3f;
Public | vertex: TVector3f;
Public | uiNumWeightsAndBoneIndices: Cardinal;
Public | BoneWeightings: array [0 .. 3] of Byte;

Description

Fields

Public normal: TVector3f;
Public vertex: TVector3f;
Public uiNumWeightsAndBoneIndices: Cardinal;
Public BoneWeightings: array [0 .. 3] of Byte;

packed int


GLSysHelp v.2.1: Formats.GL2: Record TGLMSurface

Record TGLMSurface

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMSurface = record

Description

Overview

Fields

Public | SurfaceHeader: TGLMSurfaceHeader;
Public | Triangles: array of TGLMTriangle;
Public | Vertices: array of TGLMVertex;
Public | TexCoords: array of TVector2f;
Public | BoneReferences: array of integer;

Description

Fields

Public SurfaceHeader: TGLMSurfaceHeader;
Public Triangles: array of TGLMTriangle;
Public Vertices: array of TGLMVertex;
Public TexCoords: array of TVector2f;
Public BoneReferences: array of integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMLODInfo

Record TGLMLODInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMLODInfo = record

Description

Overview

Fields

Public ofsEnd: integer;

Description

Fields

Public ofsEnd: integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLMLODs

Record TGLMLODs

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLMLODs = record

Description

Overview

Fields

Public | LODInfo: TGLMLODInfo;
Public | LODSurfaceOffsets: TGLMLODSurfaceOffsets;
Public | Surfaces: array of TGLMSurface;

Description

Fields

Public LODInfo: TGLMLODInfo;
Public LODSurfaceOffsets: TGLMLODSurfaceOffsets;
Public Surfaces: array of TGLMSurface;


GLSysHelp v.2.1: Formats.GL2: Record TGLAHeader

Record TGLAHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLAHeader = record

Description

Overview

Fields

Public | fileID: array [0 .. 3] of char;
Public | version: integer;
Public | name: array [0 .. 63] of char;
Public | fScale: single;
Public | numFrames: integer;
Public | ofsFrames: integer;
Public | numBones: integer;
Public | ofsCompBonePool: integer;
Public | ofsSkel: integer;
Public | ofsEnd: integer;

Description

Fields

Public fileID: array [0 .. 3] of char;
Public version: integer;
Public name: array [0 .. 63] of char;
Public fScale: single;
Public numFrames: integer;
Public ofsFrames: integer;
Public numBones: integer;
Public ofsCompBonePool: integer;
Public ofsSkel: integer;
Public ofsEnd: integer;


GLSysHelp v.2.1: Formats.GL2: Record TGLASkeleton

Record TGLASkeleton

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TGLASkeleton = record

Description

Overview

Fields

Public | name: array [0 .. 63] of char;
Public | flags: LongWord;
Public | parent: integer;
Public | BasePoseMat: TGLABone;
Public | BasePoseMatInv: TGLABone;
Public | numChildren: integer;
Public | children: array of integer;

Description

Fields

Public name: array [0 .. 63] of char;
Public flags: LongWord;
Public parent: integer;
Public BasePoseMat: TGLABone;
Public BasePoseMatInv: TGLABone;
Public numChildren: integer;
Public children: array of integer;


GLSysHelp v.2.1: Formats.GL2: Class TFileGLM

Class TFileGLM

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TFileGLM = class(TObject)

Description

Ghoul2 Model structure

Hierarchy

  • TObject
  • TFileGLM

Overview

Fields

Public | ModelHeader: TGLMHeader;
Public | SurfaceHeirachyOffsets: TGLMSurfaceHeirachyOffsets;
Public | SurfaceHeirachy: array of TGLMSurfaceHeirachy;
Public | LODs: array of TGLMLODs;

Methods

Public procedure LoadFromStream(aStream: TStream);

Description

Fields

Public ModelHeader: TGLMHeader;
Public SurfaceHeirachyOffsets: TGLMSurfaceHeirachyOffsets;
Public SurfaceHeirachy: array of TGLMSurfaceHeirachy;
Public LODs: array of TGLMLODs;

Methods

Public procedure LoadFromStream(aStream: TStream);


GLSysHelp v.2.1: Formats.GL2: Class TFileGLA

Class TFileGLA

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.GL2

Declaration

type TFileGLA = class(TObject)

Description

Ghoul2 Animation structure

Hierarchy

  • TObject
  • TFileGLA

Overview

Fields

Public | AnimHeader: TGLAHeader;
Public | SkeletonOffsets: TGLASkeletonOffsets;
Public | Skeleton: array of TGLASkeleton;
Public | BoneIndices: array of integer;
Public | CompBonePool: array of TGLACompQuatBone;

Methods

Public | function GetCompressedMatrix(Frame, Bone: integer): TGLACompQuatBone;
Public | function GetUnCompressedMatrix(Frame, Bone: integer): TGLMatrix;
Public | procedure LoadFromStream(aStream: TStream);

Description

Fields

Public AnimHeader: TGLAHeader;
Public SkeletonOffsets: TGLASkeletonOffsets;
Public Skeleton: array of TGLASkeleton;
Public BoneIndices: array of integer;
Public CompBonePool: array of TGLACompQuatBone;

Methods

Public function GetCompressedMatrix(Frame, Bone: integer): TGLACompQuatBone;
Public function GetUnCompressedMatrix(Frame, Bone: integer): TGLMatrix;
Public procedure LoadFromStream(aStream: TStream);


GLSysHelp v.2.1: Formats.HDRImage

Unit Formats.HDRImage

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Graphics

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class THDRImage |


GLSysHelp v.2.1: Formats.HDRImage: Class THDRImage

Class THDRImage

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.HDRImage

Declaration

type THDRImage = class(TBitmap)

Description

Hierarchy

  • TBitmap
  • THDRImage

Overview

Methods

Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: Formats.LWO

Unit Formats.LWO

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.IOUtils
  • System.Math
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TLWChunkRec |
Record TLWSubChunkRec |
Record TLWPolsInfo |
Record TLWPntsInfo |
Record TLWPolyTagMap |
Record TLWVertexMap |
Class TLWChunk |
Class TLWSubChunk |
Class TLWChunkList |
Class TLWParentChunk |
Class TLWPnts |
Class TLWPols |
Class TLWVMap |
Class TLWTags |
Class TLWSurf |
Class TLWLayr |
Class TLWPTag |
Class TLWObjectFile |
Class TLWClip |
Class TLWContentDir |

Functions and Procedures

procedure RegisterChunkClass(ChunkClass: TLWChunkClass);
function LoadLW0FromStream(Stream: TStream; ReadCallback: TLWOReadCallback; UserData: Pointer): LongWord; cdecl;
function LoadLWOFromFile(const AFilename: string; ReadCallback: TLWOReadCallback; UserData: Pointer): LongWord;
procedure ReadMotorolaNumber(Stream: TStream; data: Pointer; ElementSize: Integer; Count: Integer = 1);
function WriteMotorolaNumber(Stream: TStream; data: Pointer; ElementSize: Integer; Count: Integer = 1): Integer;
function ReadS0(Stream: TStream; out Str: string): Integer;
procedure WriteS0(Stream: TStream; data: string);
procedure WriteU4AsVX(Stream: TStream; data: Pointer; Count: Integer);
function ReadVXAsU4(Stream: TStream; data: Pointer; Count: Integer = 1) : Integer;
procedure ReverseByteOrder(ValueIn: Pointer; size: Integer; Count: Integer = 1);
function ToDosPath(const Path: string): string;
function ToUnixPath(const Path: string): string;
function ID4ToInt(const id: TID4): Integer;
procedure FindChunkById(AChunk: TLWChunk; data: Pointer; var Found: boolean);
procedure FindSurfaceByName(AChunk: TLWChunk; AName: Pointer; var Found: boolean);
procedure FindSurfaceByTag(AChunk: TLWChunk; ATag: Pointer; var Found: boolean);
procedure FindVMapByName(AChunk: TLWChunk; AName: Pointer; var Found: boolean);
procedure FindClipByClipIndex(AChunk: TLWChunk; AIndex: Pointer; var Found: boolean);
function GetContentDir: TLWContentDir;

Types

PANG4 = ˆTANG4;
PColr12 = ˆTColr12;
PColr4 = ˆTColr4;
PF4 = ˆTF4;
PF4Array = ˆTF4Array;
PI1 = ˆTI1;
PI2 = ˆTI2;
PI4 = ˆTI4;
PID4 = ˆTID4;
PLWChunkRec = ˆTLWChunkRec;
PLWPolyTagMap = ˆTLWPolyTagMap;
PLWSubChunkRec = ˆTLWSubChunkRec;
PU1 = ˆTU1;
PU2 = ˆTU2;
PU2Array = ˆTU2Array;
PU4 = ˆTU4;
PU4Array = ˆTU4Array;
PVec12 = ˆTVec12;
PVec12Array = ˆTVec12Array;
TANG4 = TF4;
TColr12 = TVec12;
TColr12DynArray = array of TColr12;
TColr4 = array [0 .. 3] of TU1;
TF4 = Single;
TF4Array = array [0 .. 65534] of TF4;
TF4DynArray = array of TF4;
TI1 = ShortInt;
TI2 = SmallInt;
TI4 = LongInt;
TID4 = array [0 .. 3] of AnsiChar;
TID4DynArray = array of TID4;
TLWChunkClass = class of TLWChunk;
TLWChunkFind = procedure(AChunk: TLWChunk; Criteria: Pointer; var Found: boolean);
TLWContentNotify = procedure(Sender: TObject; var Content: string) of object;
TLWOReadCallback = procedure(Chunk: TLWChunkRec; data: Pointer); cdecl;
TLWPntsInfoDynArray = array of TLWPntsInfo;
TLWPolsDynArray = TU2DynArray;
TLWPolsInfoDynArray = array of TLWPolsInfo;
TLWPolyTagMapDynArray = TU2DynArray;
TLWVertexMapDynArray = array of TLWVertexMap;
TU1 = Byte;
TU1DynArray = array of TU1;
TU2 = Word;
TU2Array = array [0 .. 65534] of TU2;
TU2DynArray = array of TU2;
TU4 = LongWord;
TU4Array = array [0 .. 65534] of TU4;
TU4DynArray = array of TU4;
TVec12 = array [0 .. 2] of TF4;
TVec12Array = array [0 .. 65534] of TVec12;
TVec12DynArray = array of TVec12;

Constants

ID_NULL = '#0#0#0#0';
ID_LWSC: TID4 = 'LWSC';
ID_FORM: TID4 = 'FORM';
ID_LWOB: TID4 = 'LWOB';
ID_LWLO: TID4 = 'LWLO';
ID_LAYR: TID4 = 'LAYR';
ID_PNTS: TID4 = 'PNTS';
ID_SRFS: TID4 = 'SRFS';
ID_POLS: TID4 = 'POLS';
ID_CRVS: TID4 = 'CRVS';
ID_PCHS: TID4 = 'PCHS';
ID_SURF: TID4 = 'SURF';
ID_COLR: TID4 = 'COLR';
ID_FLAG: TID4 = 'FLAG';
ID_LUMI: TID4 = 'LUMI';
ID_DIFF: TID4 = 'DIFF';
ID_SPEC: TID4 = 'SPEC';
ID_REFL: TID4 = 'REFL';
ID_TRAN: TID4 = 'TRAN';
ID_VLUM: TID4 = 'VLUM';
ID_VDIF: TID4 = 'VDIF';
ID_VSPC: TID4 = 'VSPC';
ID_VRFL: TID4 = 'VRFL';
ID_VTRN: TID4 = 'VTRN';
ID_GLOS: TID4 = 'GLOS';
ID_SIDE: TID4 = 'SIDE';
ID_RFLT: TID4 = 'RFLT';
ID_RFOP: TID4 = 'RFOP';
ID_RIMG: TID4 = 'RIMG';
ID_RSAN: TID4 = 'RSAN';
ID_RIND: TID4 = 'RIND';
ID_EDGE: TID4 = 'EDGE';
ID_SMAN: TID4 = 'SMAN';
ID_ALPH: TID4 = 'ALPH';
ID_CTEX: TID4 = 'CTEX';
ID_DTEX: TID4 = 'DTEX';
ID_STEX: TID4 = 'STEX';
ID_RTEX: TID4 = 'RTEX';
ID_TTEX: TID4 = 'TTEX';
ID_LTEX: TID4 = 'LTEX';
ID_BTEX: TID4 = 'BTEX';
ID_TFLG: TID4 = 'TFLG';
ID_TSIZ: TID4 = 'TSIZ';
ID_TCTR: TID4 = 'TCTR';
ID_TFAL: TID4 = 'TFAL';
ID_TVEL: TID4 = 'TVAL';
ID_TREF: TID4 = 'TREF';
ID_TCLR: TID4 = 'TCLR';
ID_TVAL: TID4 = 'TVAL';
ID_TAMP: TID4 = 'TAMP';
ID_TFP0: TID4 = 'TFP0';
ID_TFP1: TID4 = 'TFP1';
ID_TFP2: TID4 = 'TFP2';
ID_TIP0: TID4 = 'TIP0';
ID_TIP1: TID4 = 'TIP1';
ID_TIP2: TID4 = 'TIP2';
ID_TSP0: TID4 = 'TSP0';
ID_TSP1: TID4 = 'TSP1';
ID_TSP2: TID4 = 'TSP2';
ID_TFRQ: TID4 = 'TFRQ';
ID_TIMG: TID4 = 'TIMG';
ID_TALP: TID4 = 'TALP';
ID_TWRP: TID4 = 'TWRP';
ID_TAAS: TID4 = 'TAAS';
ID_TOPC: TID4 = 'TOPC';
ID_SHDR: TID4 = 'SHDR';
ID_SDAT: TID4 = 'SDAT';
ID_IMSQ: TID4 = 'IMSQ';
ID_FLYR: TID4 = 'FLYR';
ID_IMCC: TID4 = 'IMCC';
SURF_FLAG_LUMINOUS = 1;
SURF_FLAG_OUTLINE = 2;
SURF_FLAG_SMOOTHING = 4;
SURF_FLAG_COLORHIGHLIGHTS = 8;
SURF_FLAG_COLORFILTER = 16;
SURF_FLAG_OPAQUEEDGE = 32;
SURF_FLAG_TRANSPARENTEDGE = 64;
SURF_FLAG_SHARPTERMINATOR = 128;
SURF_FLAG_DOUBLESIDED = 256;
SURF_FLAG_ADDITIVE = 512;
SURF_FLAG_SHADOWALPHA = 1024;
CURV_CONTINUITY_FIRST = 1;
CURV_CONTINUITY_LAST = 2;
IMSQ_FLAG_LOOP = 1;
IMSQ_FLAG_INTERLACE = 2;
ID_LWO2: TID4 = 'LWO2';
ID_VMAP: TID4 = 'VMAP';
ID_TAGS: TID4 = 'TAGS';
ID_PTAG: TID4 = 'PTAG';
ID_VMAD: TID4 = 'VMAD';
ID_ENVL: TID4 = 'ENVL';
ID_CLIP: TID4 = 'CLIP';
ID_BBOX: TID4 = 'BBOX';
ID_DESC: TID4 = 'DESC';
ID_TEXT: TID4 = 'TEXT';
ID_ICON: TID4 = 'ICON';
ENVL_PRE: TID4 = 'PRE'#0;
ENVL_POST: TID4 = 'POST';
ENVL_KEY: TID4 = 'KEY'#0;
ENVL_SPAN: TID4 = 'SPAN';
ENVL_CHAN: TID4 = 'CHAN';
ENVL_NAME: TID4 = 'NAME';
ID_STIL: TID4 = 'STIL';
ID_ISEQ: TID4 = 'ISEQ';
ID_ANIM: TID4 = 'ANIM';
ID_STCC: TID4 = 'STCC';
ID_CONT: TID4 = 'CONT';
ID_BRIT: TID4 = 'BRIT';
ID_SATR: TID4 = 'SATR';
ID_HUE: TID4 = 'HUE'#0;
ID_GAMMA: TID4 = 'GAMM';
ID_NEGA: TID4 = 'NEGA';
ID_IFLT: TID4 = 'IFLT';
ID_PFLT: TID4 = 'PFLT';
POLS_TYPE_FACE: TID4 = 'FACE';
POLS_TYPE_CURV: TID4 = 'CURV';
POLS_TYPE_PTCH: TID4 = 'PTCH';
POLS_TYPE_MBAL: TID4 = 'MBAL';
POLS_TYPE_BONE: TID4 = 'BONE';
VMAP_TYPE_PICK: TID4 = 'PICK';
VMAP_TYPE_WGHT: TID4 = 'WGHT';
VMAP_TYPE_MNVW: TID4 = 'MNVW';
VMAP_TYPE_TXUV: TID4 = 'TXUV';
VMAP_TYPE_RGB: TID4 = 'RGB'#0;
VMAP_TYPE_RGBA: TID4 = 'RGBA';
VMAP_TYPE_MORF: TID4 = 'MORF';
VMAP_TYPE_SPOT: TID4 = 'SPOT';
PTAG_TYPE_SURF: TID4 = 'SURF';
PTAG_TYPE_PART: TID4 = 'PART';
PTAG_TYPE_SMGP: TID4 = 'SMGP';
PRE_POST_RESET = 0;
PRE_POST_CONSTANT = 1;
PRE_POST_REPEAT = 2;
PRE_POST_OSCILLATE = 3;
PRE_POST_OFFSET = 4;
PRE_POST_LINEAR = 5;
POLS_VCOUNT_MASK = $3FF;
POLS_FLAGS_MASK = $FC00;
SIDE_FRONT = 1;
SIDE_BACK = 2;
SIDE_FRONT_AND_BACK = SIDE_FRONT and SIDE_BACK;
RFOP_BACKDROP = 0;
RFOP_RAYTRACEANDBACKDROP = 1;
RFOP_SPHERICALMAP = 2;
RFOP_RAYTRACEANDSPHERICALMAP = 3;

Description

Functions and Procedures

procedure RegisterChunkClass(ChunkClass: TLWChunkClass);
function LoadLW0FromStream(Stream: TStream; ReadCallback: TLWOReadCallback; UserData: Pointer): LongWord; cdecl;
function LoadLWOFromFile(const AFilename: string; ReadCallback: TLWOReadCallback; UserData: Pointer): LongWord;
procedure ReadMotorolaNumber(Stream: TStream; data: Pointer; ElementSize: Integer; Count: Integer = 1);
function WriteMotorolaNumber(Stream: TStream; data: Pointer; ElementSize: Integer; Count: Integer = 1): Integer;
function ReadS0(Stream: TStream; out Str: string): Integer;
procedure WriteS0(Stream: TStream; data: string);
procedure WriteU4AsVX(Stream: TStream; data: Pointer; Count: Integer);
function ReadVXAsU4(Stream: TStream; data: Pointer; Count: Integer = 1) : Integer;
procedure ReverseByteOrder(ValueIn: Pointer; size: Integer; Count: Integer = 1);
function ToDosPath(const Path: string): string;
function ToUnixPath(const Path: string): string;
function ID4ToInt(const id: TID4): Integer;
procedure FindChunkById(AChunk: TLWChunk; data: Pointer; var Found: boolean);

ChunkFind procedures

procedure FindSurfaceByName(AChunk: TLWChunk; AName: Pointer; var Found: boolean);
procedure FindSurfaceByTag(AChunk: TLWChunk; ATag: Pointer; var Found: boolean);
procedure FindVMapByName(AChunk: TLWChunk; AName: Pointer; var Found: boolean);
procedure FindClipByClipIndex(AChunk: TLWChunk; AIndex: Pointer; var Found: boolean);
function GetContentDir: TLWContentDir;

Types

PANG4 = ˆTANG4;
PColr12 = ˆTColr12;
PColr4 = ˆTColr4;
PF4 = ˆTF4;
PF4Array = ˆTF4Array;
PI1 = ˆTI1;
PI2 = ˆTI2;
PI4 = ˆTI4;
PID4 = ˆTID4;
PLWChunkRec = ˆTLWChunkRec;

Lightwave Chunk Struct - Used in TLWOReadCallback

PLWPolyTagMap = ˆTLWPolyTagMap;
PLWSubChunkRec = ˆTLWSubChunkRec;

Lightwave SubChunk Struct - Used in TLWOReadCallback

PU1 = ˆTU1;
PU2 = ˆTU2;
PU2Array = ˆTU2Array;
PU4 = ˆTU4;
PU4Array = ˆTU4Array;
PVec12 = ˆTVec12;
PVec12Array = ˆTVec12Array;
TANG4 = TF4;
TColr12 = TVec12;
TColr12DynArray = array of TColr12;
TColr4 = array [0 .. 3] of TU1;
TF4 = Single;
TF4Array = array [0 .. 65534] of TF4;
TF4DynArray = array of TF4;
TI1 = ShortInt;
TI2 = SmallInt;
TI4 = LongInt;
TID4 = array [0 .. 3] of AnsiChar;
TID4DynArray = array of TID4;
TLWChunkClass = class of TLWChunk;
TLWChunkFind = procedure(AChunk: TLWChunk; Criteria: Pointer; var Found: boolean);
TLWContentNotify = procedure(Sender: TObject; var Content: string) of object;
TLWOReadCallback = procedure(Chunk: TLWChunkRec; data: Pointer); cdecl;
TLWPntsInfoDynArray = array of TLWPntsInfo;
TLWPolsDynArray = TU2DynArray;
TLWPolsInfoDynArray = array of TLWPolsInfo;
TLWPolyTagMapDynArray = TU2DynArray;
TLWVertexMapDynArray = array of TLWVertexMap;
TU1 = Byte;
TU1DynArray = array of TU1;
TU2 = Word;
TU2Array = array [0 .. 65534] of TU2;
TU2DynArray = array of TU2;
TU4 = LongWord;
TU4Array = array [0 .. 65534] of TU4;
TU4DynArray = array of TU4;
TVec12 = array [0 .. 2] of TF4;

TS0 = PAnsiChar;

TVec12Array = array [0 .. 65534] of TVec12;
TVec12DynArray = array of TVec12;

Constants

ID_NULL = '#0#0#0#0';
ID_LWSC: TID4 = 'LWSC';

NULL ID

ID_FORM: TID4 = 'FORM';

Lightwave scene file

ID_LWOB: TID4 = 'LWOB';

IFF Form

ID_LWLO: TID4 = 'LWLO';

Lightwave Object version 1.0 - 5.x

ID_LAYR: TID4 = 'LAYR';

Lightwave Layered Object

ID_PNTS: TID4 = 'PNTS';

LAYER

ID_SRFS: TID4 = 'SRFS';

Points chunk

ID_POLS: TID4 = 'POLS';

Surface Names chunk

ID_CRVS: TID4 = 'CRVS';

Polygons chunk

ID_PCHS: TID4 = 'PCHS';

Curves chunk

ID_SURF: TID4 = 'SURF';

Patches chunk

ID_COLR: TID4 = 'COLR';

Surfaces chunk

ID_FLAG: TID4 = 'FLAG';

Color chunk

ID_LUMI: TID4 = 'LUMI';

Surface Flags

ID_DIFF: TID4 = 'DIFF';

Luminosity

ID_SPEC: TID4 = 'SPEC';

Diffuse

ID_REFL: TID4 = 'REFL';

Specular

ID_TRAN: TID4 = 'TRAN';

Reflective

ID_VLUM: TID4 = 'VLUM';

Transparency

ID_VDIF: TID4 = 'VDIF';

Luminosity

ID_VSPC: TID4 = 'VSPC';

Diffuse

ID_VRFL: TID4 = 'VRFL';

Specularity

ID_VTRN: TID4 = 'VTRN';

Reflective

ID_GLOS: TID4 = 'GLOS';

Transparency

ID_SIDE: TID4 = 'SIDE';

Glossiness SmallInt

ID_RFLT: TID4 = 'RFLT';

Sidedness

ID_RFOP: TID4 = 'RFOP';

REFLECTION MODE (PRE 6.0)

ID_RIMG: TID4 = 'RIMG';

REFLECTION OPTIONS

ID_RSAN: TID4 = 'RSAN';

REFLECTION IMAGE

ID_RIND: TID4 = 'RIND';

REFLECTION MAP SEAM ANGLE

ID_EDGE: TID4 = 'EDGE';

REFRACTIVE INDEX

ID_SMAN: TID4 = 'SMAN';

EDGE TRANSPARENCY THRESHOLD

ID_ALPH: TID4 = 'ALPH';

SMOOTHING ANGLE RADIANS

ID_CTEX: TID4 = 'CTEX';

ALPHA MODE

ID_DTEX: TID4 = 'DTEX';

COLOR TEXTURE

ID_STEX: TID4 = 'STEX';

DIFFUSE TEXTURE

ID_RTEX: TID4 = 'RTEX';

SPECULAR TEXTURE

ID_TTEX: TID4 = 'TTEX';

REFLECTIION TEXTURE

ID_LTEX: TID4 = 'LTEX';

TRANSPARENCY TEXTURE

ID_BTEX: TID4 = 'BTEX';

LUMINANCE TEXTURE

ID_TFLG: TID4 = 'TFLG';

BUMP TEXTURE

ID_TSIZ: TID4 = 'TSIZ';

TEXTURE FLAGS

ID_TCTR: TID4 = 'TCTR';

TEXTURE SIZE

ID_TFAL: TID4 = 'TFAL';

TEXTURE CENTER

ID_TVEL: TID4 = 'TVAL';

TEXTURE FALLOFF

ID_TREF: TID4 = 'TREF';

TEXTURE VALUE

ID_TCLR: TID4 = 'TCLR';

TEXTURE REFERENCE

ID_TVAL: TID4 = 'TVAL';

TEXTURE COLOR

ID_TAMP: TID4 = 'TAMP';

TEXTURE VALUE

ID_TFP0: TID4 = 'TFP0';

TEXTURE AMPLITUDE

ID_TFP1: TID4 = 'TFP1';

TEXTURE PARAMETERS

ID_TFP2: TID4 = 'TFP2';
ID_TIP0: TID4 = 'TIP0';
ID_TIP1: TID4 = 'TIP1';
ID_TIP2: TID4 = 'TIP2';
ID_TSP0: TID4 = 'TSP0';
ID_TSP1: TID4 = 'TSP1';
ID_TSP2: TID4 = 'TSP2';
ID_TFRQ: TID4 = 'TFRQ';
ID_TIMG: TID4 = 'TIMG';
ID_TALP: TID4 = 'TALP';

TEXTURE IMG

ID_TWRP: TID4 = 'TWRP';
ID_TAAS: TID4 = 'TAAS';

TEXTURE WRAP

ID_TOPC: TID4 = 'TOPC';
ID_SHDR: TID4 = 'SHDR';
ID_SDAT: TID4 = 'SDAT';
ID_IMSQ: TID4 = 'IMSQ';
ID_FLYR: TID4 = 'FLYR';

IMAGE SEQUENCE

ID_IMCC: TID4 = 'IMCC';

FLYER SEQUENCE

SURF_FLAG_LUMINOUS = 1;
SURF_FLAG_OUTLINE = 2;
SURF_FLAG_SMOOTHING = 4;
SURF_FLAG_COLORHIGHLIGHTS = 8;
SURF_FLAG_COLORFILTER = 16;
SURF_FLAG_OPAQUEEDGE = 32;
SURF_FLAG_TRANSPARENTEDGE = 64;
SURF_FLAG_SHARPTERMINATOR = 128;
SURF_FLAG_DOUBLESIDED = 256;
SURF_FLAG_ADDITIVE = 512;
SURF_FLAG_SHADOWALPHA = 1024;
CURV_CONTINUITY_FIRST = 1;
CURV_CONTINUITY_LAST = 2;
IMSQ_FLAG_LOOP = 1;
IMSQ_FLAG_INTERLACE = 2;
ID_LWO2: TID4 = 'LWO2';
ID_VMAP: TID4 = 'VMAP';

OBJECT

ID_TAGS: TID4 = 'TAGS';

VERTEX MAP

ID_PTAG: TID4 = 'PTAG';

TAGS?

ID_VMAD: TID4 = 'VMAD';

POLYGON TAG MAP

ID_ENVL: TID4 = 'ENVL';

DISCONTINUOUS VERTEX MAP

ID_CLIP: TID4 = 'CLIP';

ENVELOPE

ID_BBOX: TID4 = 'BBOX';

CLIP

ID_DESC: TID4 = 'DESC';

BOUNDING BOX

ID_TEXT: TID4 = 'TEXT';

DESCRIPTION

ID_ICON: TID4 = 'ICON';

TEXT

ENVL_PRE: TID4 = 'PRE'#0;

ICON

ENVL_POST: TID4 = 'POST';

PRE-BEHAVIOUR

ENVL_KEY: TID4 = 'KEY'#0;

POST

ENVL_SPAN: TID4 = 'SPAN';

KEY

ENVL_CHAN: TID4 = 'CHAN';

SPAN

ENVL_NAME: TID4 = 'NAME';

CHAN

ID_STIL: TID4 = 'STIL';

NAME

ID_ISEQ: TID4 = 'ISEQ';

STILL IMAGE FILENAME

ID_ANIM: TID4 = 'ANIM';

IMAGE SEQUENCE

ID_STCC: TID4 = 'STCC';

PLUGIN ANIMATION

ID_CONT: TID4 = 'CONT';

COLOR CYCLING STILL

ID_BRIT: TID4 = 'BRIT';

CONTRAST

ID_SATR: TID4 = 'SATR';

BRIGHTNESS

ID_HUE: TID4 = 'HUE'#0;

SATURATION

ID_GAMMA: TID4 = 'GAMM';

HUE

ID_NEGA: TID4 = 'NEGA';

GAMMA

ID_IFLT: TID4 = 'IFLT';

NEGATIVE IMAGE

ID_PFLT: TID4 = 'PFLT';

IMAGE PLUG-IN FILTER

POLS_TYPE_FACE: TID4 = 'FACE';

PIXEL PLUG-IN FILTER

POLS_TYPE_CURV: TID4 = 'CURV';

FACES

POLS_TYPE_PTCH: TID4 = 'PTCH';

CURVE

POLS_TYPE_MBAL: TID4 = 'MBAL';

PATCH

POLS_TYPE_BONE: TID4 = 'BONE';

METABALL

VMAP_TYPE_PICK: TID4 = 'PICK';

SKELEGON?

VMAP_TYPE_WGHT: TID4 = 'WGHT';

SELECTION SET

VMAP_TYPE_MNVW: TID4 = 'MNVW';

WEIGHT MAP

VMAP_TYPE_TXUV: TID4 = 'TXUV';

SUBPATCH WEIGHT MAP

VMAP_TYPE_RGB: TID4 = 'RGB'#0;

UV MAP

VMAP_TYPE_RGBA: TID4 = 'RGBA';

RGB MAP

VMAP_TYPE_MORF: TID4 = 'MORF';

RGBA MAP

VMAP_TYPE_SPOT: TID4 = 'SPOT';

MORPH MAP: RELATIVE VERTEX DISPLACEMENT

PTAG_TYPE_SURF: TID4 = 'SURF';

SPOT MAP: ABSOLUTE VERTEX POSITIONS

PTAG_TYPE_PART: TID4 = 'PART';

SURFACE

PTAG_TYPE_SMGP: TID4 = 'SMGP';

PARENT PART

PRE_POST_RESET = 0;

SMOOTH GROUP

PRE_POST_CONSTANT = 1;

RESET

PRE_POST_REPEAT = 2;

CONSTANT

PRE_POST_OSCILLATE = 3;

REPEAT

PRE_POST_OFFSET = 4;

OSCILLATE

PRE_POST_LINEAR = 5;

OFFSET REPEAT

POLS_VCOUNT_MASK = $3FF;

LINEAR

POLS_FLAGS_MASK = $FC00;
SIDE_FRONT = 1;
SIDE_BACK = 2;
SIDE_FRONT_AND_BACK = SIDE_FRONT and SIDE_BACK;
RFOP_BACKDROP = 0;
RFOP_RAYTRACEANDBACKDROP = 1;
RFOP_SPHERICALMAP = 2;
RFOP_RAYTRACEANDSPHERICALMAP = 3;


GLSysHelp v.2.1: Formats.LWO: Record TLWChunkRec

Record TLWChunkRec

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWChunkRec = record

Description

Overview

Fields

Public | id: TID4;
Public | size: TU4;
Public | data: Pointer;

Description

Fields

Public id: TID4;
Public size: TU4;
Public data: Pointer;


GLSysHelp v.2.1: Formats.LWO: Record TLWSubChunkRec

Record TLWSubChunkRec

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWSubChunkRec = record

Description

Overview

Fields

Public | id: TID4;
Public | size: TU2;
Public | data: Pointer;

Description

Fields

Public id: TID4;
Public size: TU2;
Public data: Pointer;


GLSysHelp v.2.1: Formats.LWO: Record TLWPolsInfo

Record TLWPolsInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWPolsInfo = record

Description

Overview

Fields

Public | norm: TVec12;
Public | vnorms: TVec12DynArray;
Public | surfid: TU2;

Description

Fields

Public norm: TVec12;
Public vnorms: TVec12DynArray;
Public surfid: TU2;


GLSysHelp v.2.1: Formats.LWO: Record TLWPntsInfo

Record TLWPntsInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWPntsInfo = record

Description

Overview

Fields

Public | npols: TU2;
Public | pols: TU2DynArray;

Description

Fields

Public npols: TU2;
Public pols: TU2DynArray;


GLSysHelp v.2.1: Formats.LWO: Record TLWPolyTagMap

Record TLWPolyTagMap

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWPolyTagMap = record

Description

Overview

Fields

Public | poly: TU2;
Public | tag: TU2;

Description

Fields

Public poly: TU2;
Public tag: TU2;


GLSysHelp v.2.1: Formats.LWO: Record TLWVertexMap

Record TLWVertexMap

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWVertexMap = record

Description

Value Map

Overview

Fields

Public | vert: TU2;
Public | values: TF4DynArray;

Description

Fields

Public vert: TU2;
Public values: TF4DynArray;


GLSysHelp v.2.1: Formats.LWO: Class TLWChunk

Class TLWChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWChunk = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk

Overview

Fields

Private | FData: Pointer;
Private | FID: TID4;
Private | FSize: TU4;
Private | FParentChunk: TLWParentChunk;
Private | FOwner: TLWChunkList;

Methods

Public | destructor Destroy; override;
Public | class function GetID: TID4; virtual;
Private | function GetIndex: Integer;
Private | function GetRootChunks: TLWChunkList;
Public | procedure LoadFromStream(AStream: TStream); virtual;
Protected | procedure Clear; virtual;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); virtual;
Protected | procedure Loaded; virtual;

Properties

Public | property data: Pointer read FData;
Public | property id: TID4 read FID;
Public | property Index: Integer read GetIndex;
Public | property Owner: TLWChunkList read FOwner;
Public | property ParentChunk: TLWParentChunk read FParentChunk;
Public | property RootChunks: TLWChunkList read GetRootChunks;
Public | property size: TU4 read FSize;

Description

Fields

Private FData: Pointer;
Private FID: TID4;
Private FSize: TU4;
Private FParentChunk: TLWParentChunk;
Private FOwner: TLWChunkList;

Methods

Public destructor Destroy; override;
Public class function GetID: TID4; virtual;
Private function GetIndex: Integer;
Private function GetRootChunks: TLWChunkList;
Public procedure LoadFromStream(AStream: TStream); virtual;
Protected procedure Clear; virtual;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); virtual;
Protected procedure Loaded; virtual;

Properties

Public property data: Pointer read FData;
Public property id: TID4 read FID;
Public property Index: Integer read GetIndex;
Public property Owner: TLWChunkList read FOwner;
Public property ParentChunk: TLWParentChunk read FParentChunk;

ParentChunk may be nil indicating this is a root chunk. ie. TLWLayr

Public property RootChunks: TLWChunkList read GetRootChunks;
Public property size: TU4 read FSize;


GLSysHelp v.2.1: Formats.LWO: Class TLWSubChunk

Class TLWSubChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWSubChunk = class(TLWChunk)

Description

No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWSubChunk

Overview

Methods

Public procedure LoadFromStream(AStream: TStream); override;

Description

Methods

Public procedure LoadFromStream(AStream: TStream); override;


GLSysHelp v.2.1: Formats.LWO: Class TLWChunkList

Class TLWChunkList

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWChunkList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TLWChunkList

Overview

Fields

Private | FOwnsItems: boolean;
Private | FOwner: TObject;

Methods

Public | constructor Create(AOwnsItems: boolean; AOwner: TObject);
Public | destructor Destroy; override;
Public | function Add(AChunk: TLWChunk): Integer;
Public | function FindChunk(ChunkFind: TLWChunkFind; Criteria: Pointer; StartIndex: Integer = 0): Integer;
Private | function GetItem(Index: Integer): TLWChunk;
Public | procedure Clear; override;
Public | procedure Delete(Index: Integer);
Protected | procedure Loaded; virtual;

Properties

Public | property Items[Index:Integer]: TLWChunk read GetItem;
Public | property Owner: TObject read FOwner;
Public | property OwnsItems: boolean read FOwnsItems;

Description

Fields

Private FOwnsItems: boolean;
Private FOwner: TObject;

Methods

Public constructor Create(AOwnsItems: boolean; AOwner: TObject);
Public destructor Destroy; override;
Public function Add(AChunk: TLWChunk): Integer;
Public function FindChunk(ChunkFind: TLWChunkFind; Criteria: Pointer; StartIndex: Integer = 0): Integer;
Private function GetItem(Index: Integer): TLWChunk;
Public procedure Clear; override;
Public procedure Delete(Index: Integer);
Protected procedure Loaded; virtual;

Properties

Public property Items[Index:Integer]: TLWChunk read GetItem;
Public property Owner: TObject read FOwner;
Public property OwnsItems: boolean read FOwnsItems;


GLSysHelp v.2.1: Formats.LWO: Class TLWParentChunk

Class TLWParentChunk

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWParentChunk = class(TLWChunk)

Description

No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWParentChunk

Overview

Fields

Private FItems: TLWChunkList;

Methods

Protected | function GetParamAddr(Param: TID4): Pointer; virtual;
Private | function GetFloatParam(Param: TID4): Single;
Private | function GetItems: TLWChunkList;
Private | function GetLongParam(Param: TID4): LongWord;
Private | function GetVec3Param(Param: TID4): TVec12;
Private | function GetVXParam(Param: TID4): Word;
Private | function GetWordParam(Param: TID4): Word;
Protected | procedure Clear; override;
Protected | procedure Loaded; override;

Properties

Public | property FloatParam[Param:TID4]: Single read GetFloatParam;
Public | property Items: TLWChunkList read GetItems;
Public | property LongParam[Param:TID4]: LongWord read GetLongParam;
Public | property ParamAddr[Param:TID4]: Pointer read GetParamAddr;
Public | property Vec3Param[Param:TID4]: TVec12 read GetVec3Param;
Public | property VXParam[Param:TID4]: Word read GetVXParam;
Public | property WordParam[Param:TID4]: Word read GetWordParam;

Description

Fields

Private FItems: TLWChunkList;

Methods

Protected function GetParamAddr(Param: TID4): Pointer; virtual;
Private function GetFloatParam(Param: TID4): Single;
Private function GetItems: TLWChunkList;
Private function GetLongParam(Param: TID4): LongWord;
Private function GetVec3Param(Param: TID4): TVec12;
Private function GetVXParam(Param: TID4): Word;
Private function GetWordParam(Param: TID4): Word;
Protected procedure Clear; override;
Protected procedure Loaded; override;

Properties

Public property FloatParam[Param:TID4]: Single read GetFloatParam;
Public property Items: TLWChunkList read GetItems;
Public property LongParam[Param:TID4]: LongWord read GetLongParam;
Public property ParamAddr[Param:TID4]: Pointer read GetParamAddr;
Public property Vec3Param[Param:TID4]: TVec12 read GetVec3Param;
Public property VXParam[Param:TID4]: Word read GetVXParam;
Public property WordParam[Param:TID4]: Word read GetWordParam;


GLSysHelp v.2.1: Formats.LWO: Class TLWPnts

Class TLWPnts

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWPnts = class(TLWParentChunk)

Description

No description available, ancestor TLWParentChunk description follows
No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWParentChunk
  • TLWPnts

Overview

Fields

Private | FPnts: TVec12DynArray;
Private | FPntsInfo: TLWPntsInfoDynArray;

Methods

Public | class function GetID: TID4; override;
Public | function GetVMap(VMapID: TID4; out VMap: TLWVMap): boolean;
Private | function AddPoly(PntIdx, PolyIdx: Integer): Integer;
Private | function GetPntsCount: LongWord;
Protected | procedure Clear; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public | property Pnts: TVec12DynArray read FPnts;
Public | property PntsCount: LongWord read GetPntsCount;
Public | property PntsInfo: TLWPntsInfoDynArray read FPntsInfo;

Description

Fields

Private FPnts: TVec12DynArray;
Private FPntsInfo: TLWPntsInfoDynArray;

Methods

Public class function GetID: TID4; override;
Public function GetVMap(VMapID: TID4; out VMap: TLWVMap): boolean;
Private function AddPoly(PntIdx, PolyIdx: Integer): Integer;
Private function GetPntsCount: LongWord;
Protected procedure Clear; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property Pnts: TVec12DynArray read FPnts;
Public property PntsCount: LongWord read GetPntsCount;
Public property PntsInfo: TLWPntsInfoDynArray read FPntsInfo;


GLSysHelp v.2.1: Formats.LWO: Class TLWPols

Class TLWPols

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWPols = class(TLWParentChunk)

Description

No description available, ancestor TLWParentChunk description follows
No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWParentChunk
  • TLWPols

Overview

Fields

Private | FPolsType: TID4;
Private | FPols: TLWPolsDynArray;
Private | FPolsInfo: TLWPolsInfoDynArray;
Private | FPolsCount: Integer;

Methods

Public | class function GetID: TID4; override;
Public | function GetPolsByPntIdx(VertIdx: TU2; var VertPolys: TU2DynArray): Integer;
Private | function GetIndice(AIndex: Integer): TU2;
Private | function GetIndiceCount: TU4;
Private | function GetPolsByIndex(AIndex: TU2): Integer;
Private | function GetPolsCount: Integer;
Protected | procedure Clear; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;
Protected | procedure Loaded; override;
Private | procedure CalcPntsNormals;
Private | procedure CalcPolsNormals;

Properties

Public | property IndiceCount: TU4 read GetIndiceCount;
Public | property Indices[AIndex:Integer]: TU2 read GetIndice;
Public | property PolsByIndex[AIndex:TU2]: Integer read GetPolsByIndex;
Public | property PolsCount: Integer read GetPolsCount;
Public | property PolsInfo: TLWPolsInfoDynArray read FPolsInfo;
Public | property PolsType: TID4 read FPolsType;

Description

Fields

Private FPolsType: TID4;
Private FPols: TLWPolsDynArray;
Private FPolsInfo: TLWPolsInfoDynArray;
Private FPolsCount: Integer;

Methods

Public class function GetID: TID4; override;
Public function GetPolsByPntIdx(VertIdx: TU2; var VertPolys: TU2DynArray): Integer;
Private function GetIndice(AIndex: Integer): TU2;
Private function GetIndiceCount: TU4;
Private function GetPolsByIndex(AIndex: TU2): Integer;
Private function GetPolsCount: Integer;
Protected procedure Clear; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;
Protected procedure Loaded; override;
Private procedure CalcPntsNormals;
Private procedure CalcPolsNormals;

Properties

Public property IndiceCount: TU4 read GetIndiceCount;
Public property Indices[AIndex:Integer]: TU2 read GetIndice;
Public property PolsByIndex[AIndex:TU2]: Integer read GetPolsByIndex;
Public property PolsCount: Integer read GetPolsCount;
Public property PolsInfo: TLWPolsInfoDynArray read FPolsInfo;
Public property PolsType: TID4 read FPolsType;


GLSysHelp v.2.1: Formats.LWO: Class TLWVMap

Class TLWVMap

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWVMap = class(TLWChunk)

Description

No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWVMap

Overview

Fields

Private | FDimensions: TU2;
Private | FName: string;
Private | FValues: TLWVertexMapDynArray;
Private | FVMapType: TID4;

Methods

Public | class function GetID: TID4; override;
Private | function GetValue(AIndex: TU2): TLWVertexMap;
Private | function GetValueCount: Integer;
Protected | procedure Clear; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public | property Dimensions: TU2 read FDimensions;
Public | property Name: string read FName;
Public | property Value[AIndex:TU2]: TLWVertexMap read GetValue;
Public | property ValueCount: Integer read GetValueCount;
Public | property VMapType: TID4 read FVMapType;

Description

Fields

Private FDimensions: TU2;
Private FName: string;
Private FValues: TLWVertexMapDynArray;
Private FVMapType: TID4;

Methods

Public class function GetID: TID4; override;
Private function GetValue(AIndex: TU2): TLWVertexMap;
Private function GetValueCount: Integer;
Protected procedure Clear; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property Dimensions: TU2 read FDimensions;
Public property Name: string read FName;
Public property Value[AIndex:TU2]: TLWVertexMap read GetValue;
Public property ValueCount: Integer read GetValueCount;
Public property VMapType: TID4 read FVMapType;


GLSysHelp v.2.1: Formats.LWO: Class TLWTags

Class TLWTags

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWTags = class(TLWChunk)

Description

No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWTags

Overview

Fields

Private FTags: TStrings;

Methods

Public | destructor Destroy; override;
Public | class function GetID: TID4; override;
Public | function TagToName(tag: TU2): string;
Private | function GetTags: TStrings;
Protected | procedure Clear; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property Tags: TStrings read GetTags;

Description

Fields

Private FTags: TStrings;

Methods

Public destructor Destroy; override;
Public class function GetID: TID4; override;
Public function TagToName(tag: TU2): string;
Private function GetTags: TStrings;
Protected procedure Clear; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property Tags: TStrings read GetTags;


GLSysHelp v.2.1: Formats.LWO: Class TLWSurf

Class TLWSurf

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWSurf = class(TLWParentChunk)

Description

No description available, ancestor TLWParentChunk description follows
No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWParentChunk
  • TLWSurf

Overview

Fields

Private | FName: string;
Private | FSource: string;

Methods

Public | destructor Destroy; override;
Public | class function GetID: TID4; override;
Protected | function GetParamAddr(Param: TID4): Pointer; override;
Private | function GetSurfId: Integer;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public | property Name: string read FName;
Public | property Source: string read FSource;
Public | property surfid: Integer read GetSurfId;

Description

Fields

Private FName: string;
Private FSource: string;

Methods

Public destructor Destroy; override;
Public class function GetID: TID4; override;
Protected function GetParamAddr(Param: TID4): Pointer; override;
Private function GetSurfId: Integer;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property Name: string read FName;
Public property Source: string read FSource;
Public property surfid: Integer read GetSurfId;


GLSysHelp v.2.1: Formats.LWO: Class TLWLayr

Class TLWLayr

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWLayr = class(TLWParentChunk)

Description

No description available, ancestor TLWParentChunk description follows
No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWParentChunk
  • TLWLayr

Overview

Fields

Private | FFlags: TU2;
Private | FName: string;
Private | FNumber: TU2;
Private | FParent: TU2;
Private | FPivot: TVec12;

Methods

Public | destructor Destroy; override;
Public | class function GetID: TID4; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public | property Flags: TU2 read FFlags;
Public | property Name: string read FName;
Public | property Number: TU2 read FNumber;
Public | property Parent: TU2 read FParent;
Public | property Pivot: TVec12 read FPivot;

Description

Fields

Private FFlags: TU2;
Private FName: string;
Private FNumber: TU2;
Private FParent: TU2;
Private FPivot: TVec12;

Methods

Public destructor Destroy; override;
Public class function GetID: TID4; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property Flags: TU2 read FFlags;
Public property Name: string read FName;
Public property Number: TU2 read FNumber;
Public property Parent: TU2 read FParent;
Public property Pivot: TVec12 read FPivot;


GLSysHelp v.2.1: Formats.LWO: Class TLWPTag

Class TLWPTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWPTag = class(TLWChunk)

Description

No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWPTag

Overview

Fields

Private | FMapType: TID4;
Private | FTagMaps: TLWPolyTagMapDynArray;
Private | FTags: TU2DynArray;

Methods

Public | constructor Create;
Public | class function GetID: TID4; override;
Public | function GetPolsByTag(tag: TU2; var PolyIndices: TU2DynArray): Integer;
Private | function AddTag(Value: TU2): Integer;
Private | function GetTag(AIndex: Integer): TU2;
Private | function GetTagCount: Integer;
Private | function GetTagMapCount: Integer;
Private | function GetTagMaps(AIndex: Integer): TLWPolyTagMap;
Protected | procedure Clear; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;
Private | procedure ValidateTagInfo;

Properties

Public | property MapType: TID4 read FMapType;
Public | property TagCount: Integer read GetTagCount;
Public | property TagMapCount: Integer read GetTagMapCount;
Public | property TagMaps[AIndex:Integer]: TLWPolyTagMap read GetTagMaps;
Public | property Tags[AIndex:Integer]: TU2 read GetTag;

Description

Fields

Private FMapType: TID4;
Private FTagMaps: TLWPolyTagMapDynArray;
Private FTags: TU2DynArray;

Methods

Public constructor Create;
Public class function GetID: TID4; override;
Public function GetPolsByTag(tag: TU2; var PolyIndices: TU2DynArray): Integer;
Private function AddTag(Value: TU2): Integer;
Private function GetTag(AIndex: Integer): TU2;
Private function GetTagCount: Integer;
Private function GetTagMapCount: Integer;
Private function GetTagMaps(AIndex: Integer): TLWPolyTagMap;
Protected procedure Clear; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;
Private procedure ValidateTagInfo;

Properties

Public property MapType: TID4 read FMapType;
Public property TagCount: Integer read GetTagCount;
Public property TagMapCount: Integer read GetTagMapCount;
Public property TagMaps[AIndex:Integer]: TLWPolyTagMap read GetTagMaps;
Public property Tags[AIndex:Integer]: TU2 read GetTag;


GLSysHelp v.2.1: Formats.LWO: Class TLWObjectFile

Class TLWObjectFile

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWObjectFile = class(TObject)

Description

Hierarchy

  • TObject
  • TLWObjectFile

Overview

Fields

Private | FChunks: TLWChunkList;
Private | FFileName: string;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function TagToName(tag: TU2): string;
Private | function GetChunks: TLWChunkList;
Private | function GetCount: Integer;
Private | function GetSurfaceByName(Index: string): TLWSurf;
Private | function GetSurfaceByTag(Index: TU2): TLWSurf;
Public | procedure LoadFromFile(const AFilename: string);
Public | procedure LoadFromStream(AStream: TStream);

Properties

Public | property ChunkCount: Integer read GetCount;
Public | property Chunks: TLWChunkList read GetChunks;
Public | property FileName: string read FFileName;
Public | property SurfaceByName[Index:string]: TLWSurf read GetSurfaceByName;
Public | property SurfaceByTag[Index:TU2]: TLWSurf read GetSurfaceByTag;

Description

Fields

Private FChunks: TLWChunkList;
Private FFileName: string;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function TagToName(tag: TU2): string;
Private function GetChunks: TLWChunkList;
Private function GetCount: Integer;
Private function GetSurfaceByName(Index: string): TLWSurf;
Private function GetSurfaceByTag(Index: TU2): TLWSurf;
Public procedure LoadFromFile(const AFilename: string);
Public procedure LoadFromStream(AStream: TStream);

Properties

Public property ChunkCount: Integer read GetCount;
Public property Chunks: TLWChunkList read GetChunks;
Public property FileName: string read FFileName;
Public property SurfaceByName[Index:string]: TLWSurf read GetSurfaceByName;
Public property SurfaceByTag[Index:TU2]: TLWSurf read GetSurfaceByTag;


GLSysHelp v.2.1: Formats.LWO: Class TLWClip

Class TLWClip

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWClip = class(TLWParentChunk)

Description

No description available, ancestor TLWParentChunk description follows
No description available, ancestor TLWChunk description follows

Hierarchy

  • TObject
  • TPersistent
  • TLWChunk
  • TLWParentChunk
  • TLWClip

Overview

Fields

Private FClipIndex: TU4;

Methods

Public | class function GetID: TID4; override;
Protected | procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property ClipIndex: TU4 read FClipIndex;

Description

Fields

Private FClipIndex: TU4;

Methods

Public class function GetID: TID4; override;
Protected procedure LoadData(AStream: TStream; DataStart, DataSize: LongWord); override;

Properties

Public property ClipIndex: TU4 read FClipIndex;


GLSysHelp v.2.1: Formats.LWO: Class TLWContentDir

Class TLWContentDir

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.LWO

Declaration

type TLWContentDir = class(TObject)

Description

Hierarchy

  • TObject
  • TLWContentDir

Overview

Fields

Private | FSubDirs: TStrings;
Private | FRoot: string;

Methods

Public | destructor Destroy; override;
Public | function FindContent(AFilename: string): string;
Private | function GetSubDirs: TStrings;
Private | procedure SetRoot(const Value: string);
Private | procedure SetSubDirs(const Value: TStrings);

Properties

Public | property Root: string read FRoot write SetRoot;
Public | property SubDirs: TStrings read GetSubDirs write SetSubDirs;

Description

Fields

Private FSubDirs: TStrings;
Private FRoot: string;

Methods

Public destructor Destroy; override;

function ContentSearch(AFilename: string): string;

Public function FindContent(AFilename: string): string;
Private function GetSubDirs: TStrings;
Private procedure SetRoot(const Value: string);
Private procedure SetSubDirs(const Value: TStrings);

Properties

Public property Root: string read FRoot write SetRoot;
Public property SubDirs: TStrings read GetSubDirs write SetSubDirs;


GLSysHelp v.2.1: Formats.m3DS

Unit Formats.m3DS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Formats.m3DSTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TMaterialList |
Class TObjectList |
Class TKeyFramer |
Class TFile3DS |

Types

TLoadProgress = procedure(StreamPos, StreamMax: Longint) of object;

Description

Types

TLoadProgress = procedure(StreamPos, StreamMax: Longint) of object;


GLSysHelp v.2.1: Formats.m3DS: Class TMaterialList

Class TMaterialList

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DS

Declaration

type TMaterialList = class(TObject)

Description

Progress : TProgressBar;

This allows to use something like that:

procedure TSomeForm.CreateForm(Sender: TObject); begin .... 3DSReader.OnProgress := LoadProgress; .... end; procedure TSomeForm.LoadProgress(StreamPos, StreamMax : Longint); begin if StreamMax <> 0 then Progress.MaxValue := StreamMax; Progress.Position := StreamPos; end; —– support classes —– All structure data of a 3DS file is actually held in TFile3DS.FDatabase as a tree with lots of links across the various chunks. For convinience and speed the data of the chunks is collected into some special structures (FMaterialList etc.) and presented to the user by the following helper classes:

Hierarchy

  • TObject
  • TMaterialList

Overview

Fields

Private | FOwner: TFile3DS;
Private | FLocalList: TList;

Methods

Public | constructor Create(AOwner: TFile3DS); virtual;
Public | destructor Destroy; override;
Private | function GetCount: Integer;
Private | function GetMaterial(Index: Integer): PMaterial3DS;
Private | function GetMaterialByName(const Name: String): PMaterial3DS;
Public | procedure ClearList;

Properties

Public | property Count: Integer read GetCount;
Public | property Material[Index:Integer]: PMaterial3DS read GetMaterial;
Public | property MaterialByName[constName:String]: PMaterial3DS read GetMaterialByName;

Description

Fields

Private FOwner: TFile3DS;
Private FLocalList: TList;

Methods

Public constructor Create(AOwner: TFile3DS); virtual;
Public destructor Destroy; override;
Private function GetCount: Integer;
Private function GetMaterial(Index: Integer): PMaterial3DS;
Private function GetMaterialByName(const Name: String): PMaterial3DS;
Public procedure ClearList;

Properties

Public property Count: Integer read GetCount;
Public property Material[Index:Integer]: PMaterial3DS read GetMaterial;
Public property MaterialByName[constName:String]: PMaterial3DS read GetMaterialByName;


GLSysHelp v.2.1: Formats.m3DS: Class TObjectList

Class TObjectList

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DS

Declaration

type TObjectList = class(TObject)

Description

Hierarchy

  • TObject
  • TObjectList

Overview

Fields

Private | FOwner: TFile3DS;
Private | FMeshList: TList;
Private | FOmniList: TList;
Private | FSpotList: TList;
Private | FCameraList: TList;

Methods

Public | constructor Create(AOwner: TFile3DS); virtual;
Public | destructor Destroy; override;
Private | function GetCamCount: Integer;
Private | function GetCamera(Index: Integer): PCamera3DS;
Private | function GetMesh(Index: Integer): PMesh3DS;
Private | function GetMeshObjectCount: Integer;
Private | function GetOmniCount: Integer;
Private | function GetOmniLight(Index: Integer): PLight3DS;
Private | function GetSpotCount: Integer;
Private | function GetSpotLight(Index: Integer): PLight3DS;
Public | procedure ClearLists;

Properties

Public | property Camera[Index:Integer]: PCamera3DS read GetCamera;
Public | property CameraCount: Integer read GetCamCount;
Public | property Mesh[Index:Integer]: PMesh3DS read GetMesh;
Public | property MeshCount: Integer read GetMeshObjectCount;
Public | property OmniLight[Index:Integer]: PLight3DS read GetOmniLight;
Public | property OmniLightCount: Integer read GetOmniCount;
Public | property SpotLight[Index:Integer]: PLight3DS read GetSpotLight;
Public | property SpotLightCount: Integer read GetSpotCount;

Description

Fields

Private FOwner: TFile3DS;
Private FMeshList: TList;
Private FOmniList: TList;
Private FSpotList: TList;
Private FCameraList: TList;

Methods

Public constructor Create(AOwner: TFile3DS); virtual;
Public destructor Destroy; override;
Private function GetCamCount: Integer;
Private function GetCamera(Index: Integer): PCamera3DS;
Private function GetMesh(Index: Integer): PMesh3DS;
Private function GetMeshObjectCount: Integer;
Private function GetOmniCount: Integer;
Private function GetOmniLight(Index: Integer): PLight3DS;
Private function GetSpotCount: Integer;
Private function GetSpotLight(Index: Integer): PLight3DS;
Public procedure ClearLists;

Properties

Public property Camera[Index:Integer]: PCamera3DS read GetCamera;
Public property CameraCount: Integer read GetCamCount;
Public property Mesh[Index:Integer]: PMesh3DS read GetMesh;
Public property MeshCount: Integer read GetMeshObjectCount;
Public property OmniLight[Index:Integer]: PLight3DS read GetOmniLight;
Public property OmniLightCount: Integer read GetOmniCount;
Public property SpotLight[Index:Integer]: PLight3DS read GetSpotLight;
Public property SpotLightCount: Integer read GetSpotCount;


GLSysHelp v.2.1: Formats.m3DS: Class TKeyFramer

Class TKeyFramer

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DS

Declaration

type TKeyFramer = class(TObject)

Description

Hierarchy

  • TObject
  • TKeyFramer

Overview

Fields

Private | FOwner: TFile3DS;
Private | FMeshMotionList: TList;
Private | FOmniMotionList: TList;
Private | FSpotMotionList: TList;
Private | FCameraMotionList: TList;
Private | FAmbientMotion: PKFAmbient3DS;

Methods

Public | constructor Create(AOwner: TFile3DS); virtual;
Public | destructor Destroy; override;
Private | function GetAmbientMotion: PKFAmbient3DS;
Private | function GetCameraMotion(Index: Integer): PKFCamera3DS;
Private | function GetCamMotionCount: Integer;
Private | function GetKFSets: TKFSets3DS;
Private | function GetMeshMotion(Index: Integer): PKFMesh3DS;
Private | function GetMeshMotionCount: Integer;
Private | function GetOmniLightMotion(Index: Integer): PKFOmni3DS;
Private | function GetOmniMotionCount: Integer;
Private | function GetSpotLightMotion(Index: Integer): PKFSpot3DS;
Private | function GetSpotMotionCount: Integer;
Public | procedure ClearLists;

Properties

Public | property AmbientLightMotion: PKFAmbient3DS read GetAmbientMotion;
Public | property CameraMotion[Index:Integer]: PKFCamera3DS read GetCameraMotion;
Public | property CameraMotionCount: Integer read GetCamMotionCount;
Public | property MeshMotion[Index:Integer]: PKFMesh3DS read GetMeshMotion;
Public | property MeshMotionCount: Integer read GetMeshMotionCount;
Public | property OmniLightMotion[Index:Integer]: PKFOmni3DS read GetOmniLightMotion;
Public | property OmniLightMotionCount: Integer read GetOmniMotionCount;
Public | property Settings: TKFSets3DS read GetKFSets;
Public | property SpotLightMotion[Index:Integer]: PKFSpot3DS read GetSpotLightMotion;
Public | property SpotLightMotionCount: Integer read GetSpotMotionCount;

Description

Fields

Private FOwner: TFile3DS;
Private FMeshMotionList: TList;
Private FOmniMotionList: TList;
Private FSpotMotionList: TList;
Private FCameraMotionList: TList;
Private FAmbientMotion: PKFAmbient3DS;

Methods

Public constructor Create(AOwner: TFile3DS); virtual;
Public destructor Destroy; override;
Private function GetAmbientMotion: PKFAmbient3DS;
Private function GetCameraMotion(Index: Integer): PKFCamera3DS;
Private function GetCamMotionCount: Integer;
Private function GetKFSets: TKFSets3DS;
Private function GetMeshMotion(Index: Integer): PKFMesh3DS;
Private function GetMeshMotionCount: Integer;
Private function GetOmniLightMotion(Index: Integer): PKFOmni3DS;
Private function GetOmniMotionCount: Integer;
Private function GetSpotLightMotion(Index: Integer): PKFSpot3DS;
Private function GetSpotMotionCount: Integer;
Public procedure ClearLists;

Properties

Public property AmbientLightMotion: PKFAmbient3DS read GetAmbientMotion;
Public property CameraMotion[Index:Integer]: PKFCamera3DS read GetCameraMotion;
Public property CameraMotionCount: Integer read GetCamMotionCount;
Public property MeshMotion[Index:Integer]: PKFMesh3DS read GetMeshMotion;
Public property MeshMotionCount: Integer read GetMeshMotionCount;
Public property OmniLightMotion[Index:Integer]: PKFOmni3DS read GetOmniLightMotion;
Public property OmniLightMotionCount: Integer read GetOmniMotionCount;
Public property Settings: TKFSets3DS read GetKFSets;
Public property SpotLightMotion[Index:Integer]: PKFSpot3DS read GetSpotLightMotion;
Public property SpotLightMotionCount: Integer read GetSpotMotionCount;


GLSysHelp v.2.1: Formats.m3DS: Class TFile3DS

Class TFile3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DS

Declaration

type TFile3DS = class(TObject)

Description

The main class that supplies the user with all available data from a specific 3DS file. The data is currently read only, but the class might be finished sometime later...

Hierarchy

  • TObject
  • TFile3DS

Overview

Fields

Private | FNodeList: PNodeList;
Private | FDatabase: TDatabase3DS;
Private | FStream: TStream;
Private | FOwnStream: Boolean;
Private | FMaterialList: TMaterialList;
Private | FObjectList: TObjectList;
Private | FKeyFramer: TKeyFramer;
Private | FFileName: String;
Private | FOnLoadProgress: TLoadProgress;

Methods

Public | constructor Create; virtual;
Public | constructor CreateFromFile(const FileName: String); virtual;
Public | destructor Destroy; override;
Public | function InitChunkData(Chunk: PChunk3DS): Pointer;
Public | function ReadByte: Byte;
Public | function ReadCardinal: Cardinal;
Public | function ReadDouble: Double;
Public | function ReadFace: TFace3DS;
Public | function ReadInteger: Integer;
Public | function ReadKeyHeader: TKeyHeader3DS;
Public | function ReadPoint: TPoint3DS;
Public | function ReadShort: SmallInt;
Public | function ReadSingle: Single;
Public | function ReadString: PChar3DS;
Public | function ReadTexVert: TTexVert3DS;
Public | function ReadTrackHeader: TTrackHeader3DS;
Public | function ReadWord: Word;
Protected | function FindNodeByID(ID: SmallInt): PNodeList;
Protected | function GetChunkNodeID(Chunk: PChunk3DS): SmallInt;
Protected | function IsNode(Tag: Word): Boolean;
Private | function GetAtmosphereData: TAtmosphere3DS;
Private | function GetBackgroundData: TBackground3DS;
Private | function GetDatabaseRelease: TReleaseLevel;
Private | function GetDatabaseType: TDBType3DS;
Private | function GetMeshRelease: TReleaseLevel;
Private | function GetMeshSettings: TMeshSet3DS;
Private | function GetViewportData: TViewport3DS;
Public | procedure ClearLists;
Public | procedure DumpDataBase(Strings: TStrings; DumpLevel: TDumpLevel);
Public | procedure FinishHeader(StartPos, EndPos: Cardinal);
Public | procedure LoadFromFile(const FileName: String);
Public | procedure LoadFromStream(const aStream: TStream);
Public | procedure ReadChunkData(Chunk: PChunk3DS);
Public | procedure ReadData(Size: Integer; Data: Pointer);
Public | procedure ReadHeader(var ChunkType: Word; var ChunkSize: Cardinal);
Public | procedure SeekChild(Chunk: PChunk3DS);
Public | procedure Skip(AValue: Integer);
Public | procedure WriteByte(AValue: Byte);
Public | procedure WriteCardinal(AValue: Cardinal);
Public | procedure WriteData(Size: Integer; Data: Pointer);
Public | procedure WriteDouble(AValue: Double);
Public | procedure WriteFace(const F: TFace3DS);
Public | procedure WriteFixedString(const AValue: String3DS; Len: Integer);
Public | procedure WriteHeader(ChunkType: Word; ChunkSize: Cardinal);
Public | procedure WriteInteger(AValue: Integer);
Public | procedure WriteKeyHeader(const K: TKeyHeader3DS);
Public | procedure WritePoint(const P: TPoint3DS);
Public | procedure WriteShort(AValue: SmallInt);
Public | procedure WriteSingle(AValue: Single);
Public | procedure WriteString(const AValue: String3DS);
Public | procedure WriteTexVertex(const T: TTexVert3DS);
Public | procedure WriteTrackHeader(const T: TTrackHeader3DS);
Public | procedure WriteWord(AValue: Word);
Protected | procedure AddToNodeList(Chunk: PChunk3DS);
Protected | procedure AssignParentNames;
Protected | procedure CheckListNodeIDs;
Protected | procedure CreateDatabase;
Protected | procedure InitDatabase;
Protected | procedure KFAddParentName(Chunk: PChunk3DS; const Name: String3DS);
Protected | procedure MakeNode(var Node: PNodeList);
Protected | procedure ParseDatabase;
Protected | procedure ReadChildren(Parent: PChunk3DS);
Protected | procedure ReadXDataEntryChildren(Parent: PChunk3DS);
Protected | procedure ReleaseDatabase;
Protected | procedure ReleaseNodeList;
Protected | procedure ReleaseStream;

Properties

Public | property Atmosphere: TAtmosphere3DS read GetAtmosphereData;
Public | property Background: TBackground3DS read GetBackgroundData;
Public | property DatabaseRelease: TReleaseLevel read GetDatabaseRelease;
Public | property DatabaseType: TDBType3DS read GetDatabaseType;
Public | property FileName: String read FFileName;
Public | property KeyFramer: TKeyFramer read FKeyFramer;
Public | property Materials: TMaterialList read FMaterialList;
Public | property MeshRelease: TReleaseLevel read GetMeshRelease;
Public | property MeshSettings: TMeshSet3DS read GetMeshSettings;
Public | property Objects: TObjectList read FObjectList;
Public | property OnLoadProgress: TLoadProgress read FOnLoadProgress write FOnLoadProgress;
Public | property Viewport: TViewport3DS read GetViewportData;

Description

Fields

Private FNodeList: PNodeList;
Private FDatabase: TDatabase3DS;
Private FStream: TStream;
Private FOwnStream: Boolean;
Private FMaterialList: TMaterialList;
Private FObjectList: TObjectList;
Private FKeyFramer: TKeyFramer;
Private FFileName: String;
Private FOnLoadProgress: TLoadProgress;

Methods

Public constructor Create; virtual;
Public constructor CreateFromFile(const FileName: String); virtual;
Public destructor Destroy; override;
Public function InitChunkData(Chunk: PChunk3DS): Pointer;
Public function ReadByte: Byte;

basic access methods

Public function ReadCardinal: Cardinal;
Public function ReadDouble: Double;
Public function ReadFace: TFace3DS;
Public function ReadInteger: Integer;
Public function ReadKeyHeader: TKeyHeader3DS;
Public function ReadPoint: TPoint3DS;
Public function ReadShort: SmallInt;
Public function ReadSingle: Single;
Public function ReadString: PChar3DS;
Public function ReadTexVert: TTexVert3DS;
Public function ReadTrackHeader: TTrackHeader3DS;
Public function ReadWord: Word;
Protected function FindNodeByID(ID: SmallInt): PNodeList;
Protected function GetChunkNodeID(Chunk: PChunk3DS): SmallInt;
Protected function IsNode(Tag: Word): Boolean;
Private function GetAtmosphereData: TAtmosphere3DS;
Private function GetBackgroundData: TBackground3DS;
Private function GetDatabaseRelease: TReleaseLevel;
Private function GetDatabaseType: TDBType3DS;
Private function GetMeshRelease: TReleaseLevel;
Private function GetMeshSettings: TMeshSet3DS;
Private function GetViewportData: TViewport3DS;
Public procedure ClearLists;
Public procedure DumpDataBase(Strings: TStrings; DumpLevel: TDumpLevel);

database methods

Public procedure FinishHeader(StartPos, EndPos: Cardinal);
Public procedure LoadFromFile(const FileName: String);
Public procedure LoadFromStream(const aStream: TStream);
Public procedure ReadChunkData(Chunk: PChunk3DS);
Public procedure ReadData(Size: Integer; Data: Pointer);
Public procedure ReadHeader(var ChunkType: Word; var ChunkSize: Cardinal);
Public procedure SeekChild(Chunk: PChunk3DS);
Public procedure Skip(AValue: Integer);
Public procedure WriteByte(AValue: Byte);
Public procedure WriteCardinal(AValue: Cardinal);
Public procedure WriteData(Size: Integer; Data: Pointer);
Public procedure WriteDouble(AValue: Double);
Public procedure WriteFace(const F: TFace3DS);
Public procedure WriteFixedString(const AValue: String3DS; Len: Integer);
Public procedure WriteHeader(ChunkType: Word; ChunkSize: Cardinal);
Public procedure WriteInteger(AValue: Integer);
Public procedure WriteKeyHeader(const K: TKeyHeader3DS);
Public procedure WritePoint(const P: TPoint3DS);
Public procedure WriteShort(AValue: SmallInt);
Public procedure WriteSingle(AValue: Single);
Public procedure WriteString(const AValue: String3DS);
Public procedure WriteTexVertex(const T: TTexVert3DS);
Public procedure WriteTrackHeader(const T: TTrackHeader3DS);
Public procedure WriteWord(AValue: Word);
Protected procedure AddToNodeList(Chunk: PChunk3DS);
Protected procedure AssignParentNames;
Protected procedure CheckListNodeIDs;
Protected procedure CreateDatabase;
Protected procedure InitDatabase;
Protected procedure KFAddParentName(Chunk: PChunk3DS; const Name: String3DS);
Protected procedure MakeNode(var Node: PNodeList);
Protected procedure ParseDatabase;
Protected procedure ReadChildren(Parent: PChunk3DS);
Protected procedure ReadXDataEntryChildren(Parent: PChunk3DS);
Protected procedure ReleaseDatabase;
Protected procedure ReleaseNodeList;
Protected procedure ReleaseStream;

Properties

Public property Atmosphere: TAtmosphere3DS read GetAtmosphereData;
Public property Background: TBackground3DS read GetBackgroundData;
Public property DatabaseRelease: TReleaseLevel read GetDatabaseRelease;
Public property DatabaseType: TDBType3DS read GetDatabaseType;
Public property FileName: String read FFileName;
Public property KeyFramer: TKeyFramer read FKeyFramer;

this is only valid if loaded from a file

Public property Materials: TMaterialList read FMaterialList;
Public property MeshRelease: TReleaseLevel read GetMeshRelease;
Public property MeshSettings: TMeshSet3DS read GetMeshSettings;
Public property Objects: TObjectList read FObjectList;
Public property OnLoadProgress: TLoadProgress read FOnLoadProgress write FOnLoadProgress;
Public property Viewport: TViewport3DS read GetViewportData;


GLSysHelp v.2.1: Formats.m3DSConst

Unit Formats.m3DSConst

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Formats.m3DSTypes

Overview

Constants

FaceCAVisable3DS = $0001;
FaceBCVisable3DS = $0002;
FaceABVisable3DS = $0004;
FaceUWrap3DS = $0008;
FaceVWrap3DS = $0010;
KeyUsesTension3DS = $01;
KeyUsesCont3DS = $02;
KeyUsesBias3DS = $04;
KeyUsesEaseTo3DS = $08;
KeyUsesEaseFrom3DS = $10;
TrackSingle3DS = $0000;
TrackLoops3DS = $0003;
TrackRepeats3DS = $0002;
TrackLockX3DS = $0008;
TrackLockY3DS = $0010;
TrackLockZ3DS = $0020;
TrackNoLinkX3DS = $0100;
TrackNoLinkY3DS = $0200;
TrackNoLinkZ3DS = $0400;
DefPoint3DS : TPoint3DS = (X: 0; Y: 0; Z: 0);
DefTextVert3DS : TTexVert3DS = (U: 0; V: 0);
DefFace3DS : TFace3DS = (v1: 0; v2: 1; v3: 2; Flag: 0);
DefTrackHeader3DS : TTrackHeader3DS = (Flags: 0; nu1: 0; nu2: 0; KeyCount: 1);
DefKeyHeader3DS : TKeyHeader3DS = (Time: 0; RFlags: 0; Tension: 0; Continuity: 0; Bias: 0; EaseTo: 0; EaseFrom: 0);
DefObjMat3DS : TObjMat3DS = (NameStr: ''; NFaces: 0; FaceIndex: nil);
DefKFRotKey3DS : TKFRotKey3DS = (Angle: 0; X: 0; Y: 0; Z: 1);
LayerFogBgnd = $100000;
NoFalloff = $0;
TopFalloff = $2;
BottomFalloff = $1;
InitNoExtras3DS = $0000;
InitVertexArray3DS = $0001;
InitTextArray3DS = $0002;
InitFaceArray3DS = $0004;
InitMatArray3DS = $0008;
InitSmoothArray3DS = $0010;
InitProcData3DS = $0020;
InitVFlagArray3DS = $0040;
RelVertexArray3ds = $0001;
RelTextArray3ds = $0002;
RelFaceArray3ds = $0004;
RelMatArray3ds = $0008;
RelSmoothArray3ds = $0010;
RelProcData3ds = $0020;
RelVFlagArray3ds = $0040;
RelAll3DS = $FFFF;
Smooth01Group3DS = $00000001;
Smooth02Group3DS = $00000002;
Smooth03Group3DS = $00000004;
Smooth04Group3DS = $00000008;
Smooth05Group3DS = $00000010;
Smooth06Group3DS = $00000020;
Smooth07Group3DS = $00000030;
Smooth08Group3DS = $00000080;
Smooth09Group3DS = $00000100;
Smooth10Group3DS = $00000200;
Smooth11Group3DS = $00000400;
Smooth12Group3DS = $00000800;
Smooth13Group3DS = $00001000;
Smooth14Group3DS = $00002000;
Smooth15Group3DS = $00004000;
Smooth16Group3DS = $00008000;
Smooth17Group3DS = $00010000;
Smooth18Group3DS = $00020000;
Smooth19Group3DS = $00040000;
Smooth20Group3DS = $00080000;
Smooth21Group3DS = $00100000;
Smooth22Group3DS = $00200000;
Smooth23Group3DS = $00400000;
Smooth24Group3DS = $00800000;
Smooth25Group3DS = $01000000;
Smooth26Group3DS = $02000000;
Smooth27Group3DS = $04000000;
Smooth28Group3DS = $08000000;
Smooth29Group3DS = $10000000;
Smooth30Group3DS = $20000000;
Smooth31Group3DS = $40000000;
Smooth32Group3DS = $80000000;
DummyName3DS = '$$$DUMMY';
KfNodeOff3DS = 1 shl 3;
KfHideNode3DS = 1 shl 11;
KfFastNode3DS = 1 shl 12;
KfNodeHasPath3DS = 1;
KfNodeAutoSmooth3DS = 1 shl 1;
KfNodeFrozen3DS = 1 shl 2;
KfMotionBlur3DS = 1 shl 4;
KfBlurBranch3DS = 1 shl 5;
KfMorphMtl3DS = 1 shl 6;
KfMorphOb3DS = 1 shl 7;
FileNameStrMax3DS = 512;
FileAttrStrMax3DS = 128;
MasterScaleMin3DS = 0;
LoShadowBiasMin3DS = 0;
HiShadowBiasMin3DS = 0;
ShadowMapSizeMin3DS = 0;
ShadowSamplesMin3DS = 0;
ShadowRangeMin3DS = 0;
ShadowFilterMin3DS = 1;
ShadowFilterMax3DS = 10;
BitMapStrMax3DS = 12;
VGradientMin3DS = 0;
VGradientMax3DS = 1;
FogMin3DS = 0;
FogMax3DS = 1;
DistanceCueMin3DS = 0;
DistanceCueMax3DS = 1;
ViewCameraStrMax3DS = 10;
MatNameStrMax3DS = 16;
MatShadingMin3DS = 0;
MatShadingMax3DS = 3;
MatACubicFMin3DS = 1;
MatACubicAMin3DS = 0;
MatACubicAMax3DS = 3;
ACubicFirst3DS = $09;
ACubicFlat3DS = $11;
PointArrayMin3DS = 3;
FaceArrayMin3DS = 1;
MshMatGroupMin3DS = 1;
MshMatGroupStrMax3DS = 16;
ProcNameStrMax3DS = 12;
DLSpotlightMin3DS = 0;
DLSpotlightMax3DS = 160;
DLLocalShadow2SMin3DS = 10;
DLLocalShadow2SMax3DS = 4096;
DLLocalShadow2FMin3DS = 1;
DLLocalShadow2FMax3DS = 10;
ColorFMin3DS = 0;
ColorFMax3DS = 1;
IntPercentageMax3DS = 100;
FloatPercentageMax3DS = 1;
MatMapNameStrMax3DS = 12;
NamedObjectStrMax3DS = 10;
NCameraFOVMin3DS = 0.00025;
NCameraFOVMax3DS = 160;
NCameraFocMin3DS = 10.7813;
NCameraFocMax3DS = 10000000;
KFHdrStrMax3DS = 12;
NodeHdrStrMax3DS = 10;
InstanceNameStrMax3DS = 10;
MorphTrackStrMax3DS = 10;
MorphSmoothMin3DS = 0;
MorphSmoothMax3DS = 360;
KFTensionMin3DS = -1;
KFTensionMax3DS = 1;
KFContinuityMin3DS = -1;
KFContinuityMax3DS = 1;
KFBiasMin3DS = -1;
KFBiasMax3DS = 1;
KFEaseToMin3DS = 0;
KFEaseToMax3DS = 1;
KFEaseFromMin3DS = 0;
KFEaseFromMax3DS = 1;
TrackHeaderKeysMin3DS = 1;
ColTrackTagMin3DS = 0;
ColTrackTagMax3DS = 1;
FOVTrackTagMin3DS = NCameraFOVMin3DS;
FOVTrackTagMax3DS = NCameraFOVMax3DS;
HotTrackTagMin3DS = 0;
HotTrackTagMax3DS = 160;
FallTrackTagMin3DS = 0;
FallTrackTagMax3DS = 160;
KNoID = -1;
TEX_DECAL = 1;
TEX_MIRROR = 1 shl 1;
TEX_UNUSED1 = 1 shl 2;
TEX_INVERT = 1 shl 3;
TEX_NOWRAP = 1 shl 4;
TEX_SAT = 1 shl 5;
TEX_ALPHA_SOURCE = 1 shl 6;
TEX_TINT = 1 shl 7;
TEX_DONT_USE_ALPHA = 1 shl 8;
TEX_RGB_TINT = 1 shl 9;
NODE_RENDOB_HIDE = 1 shl 2;
NODE_OFF = 1 shl 3;
ATKEY1 = 1 shl 4;
ATKEY2 = 1 shl 5;
ATKEY3 = 1 shl 6;
ATKEY4 = 1 shl 7;
ATKEY5 = 1 shl 8;
ATKEYFLAGS = ATKEY1 or ATKEY2 or ATKEY3 or ATKEY4 or ATKEY5;
MARK_NODE = 1 shl 9;
DISABLE_NODE = 1 shl 10;
HIDE_NODE = 1 shl 11;
FAST_NODE = 1 shl 12;
PRIMARY_NODE = 1 shl 14;
NODE_CALC_PATH = 1 shl 15;
NODE_HAS_PATH = 1;
NODE_AUTO_SMOOTH = 1 shl 1;
NODE_FROZEN = 1 shl 2;
NODE_ANI_HIDDEN = 1 shl 3;
NODE_MOTION_BLUR = 1 shl 4;
NODE_BLUR_BRANCH = 1 shl 5;
NODE_MORPH_MTL = 1 shl 6;
NODE_MORPH_OB = 1 shl 7;
NULL_CHUNK = $0000;
ChunkType = $0995;
ChunkUnique = $0996;
NotChunk = $0997;
Container = $0998;
IsChunk = $0999;
DUMMY = $FFFF;
POINT_ARRAY_ENTRY = $F110;
POINT_FLAG_ARRAY_ENTRY = $F111;
FACE_ARRAY_ENTRY = $F120;
MSH_MAT_GROUP_ENTRY = $F130;
TEX_VERTS_ENTRY = $F140;
SMOOTH_GROUP_ENTRY = $F150;
POS_TRACK_TAG_KEY = $F020;
ROT_TRACK_TAG_KEY = $F021;
SCL_TRACK_TAG_KEY = $F022;
FOV_TRACK_TAG_KEY = $F023;
ROLL_TRACK_TAG_KEY = $F024;
COL_TRACK_TAG_KEY = $F025;
MORPH_TRACK_TAG_KEY = $F026;
HOT_TRACK_TAG_KEY = $F027;
FALL_TRACK_TAG_KEY = $F028;
M3DMAGIC = $4D4D;
SMAGIC = $2D2D;
LMAGIC = $2D3D;
MLIBMAGIC = $3DAA;
MATMAGIC = $3DFF;
M3D_VERSION = $0002;
M3D_KFVERSION = $0005;
MDATA = $3D3D;
MESH_VERSION = $3D3E;
COLOR_F = $0010;
COLOR_24 = $0011;
LIN_COLOR_24 = $0012;
LIN_COLOR_F = $0013;
INT_PERCENTAGE = $0030;
FLOAT_PERCENTAGE = $0031;
MASTER_SCALE = $0100;
BIT_MAP = $1100;
USE_BIT_MAP = $1101;
SOLID_BGND = $1200;
USE_SOLID_BGND = $1201;
V_GRADIENT = $1300;
USE_V_GRADIENT = $1301;
LO_SHADOW_BIAS = $1400;
HI_SHADOW_BIAS = $1410;
SHADOW_MAP_SIZE = $1420;
SHADOW_SAMPLES = $1430;
SHADOW_RANGE = $1440;
SHADOW_FILTER = $1450;
RAY_BIAS = $1460;
O_CONSTS = $1500;
AMBIENT_LIGHT = $2100;
FOG = $2200;
USE_FOG = $2201;
FOG_BGND = $2210;
DISTANCE_CUE = $2300;
USE_DISTANCE_CUE = $2301;
LAYER_FOG = $2302;
USE_LAYER_FOG = $2303;
DCUE_BGND = $2310;
DEFAULT_VIEW = $3000;
VIEW_TOP = $3010;
VIEW_BOTTOM = $3020;
VIEW_LEFT = $3030;
VIEW_RIGHT = $3040;
VIEW_FRONT = $3050;
VIEW_BACK = $3060;
VIEW_USER = $3070;
VIEW_CAMERA = $3080;
VIEW_WINDOW = $3090;
NAMED_OBJECT = $4000;
OBJ_HIDDEN = $4010;
OBJ_VIS_LOFTER = $4011;
OBJ_DOESNT_CAST = $4012;
OBJ_MATTE = $4013;
OBJ_FAST = $4014;
OBJ_PROCEDURAL = $4015;
OBJ_FROZEN = $4016;
OBJ_DONT_RCVSHADOW = $4017;
N_TRI_OBJECT = $4100;
POINT_ARRAY = $4110;
POINT_FLAG_ARRAY = $4111;
FACE_ARRAY = $4120;
MSH_MAT_GROUP = $4130;
OLD_MAT_GROUP = $4131;
TEX_VERTS = $4140;
SMOOTH_GROUP = $4150;
MESH_MATRIX = $4160;
MESH_COLOR = $4165;
MESH_TEXTURE_INFO = $4170;
PROC_NAME = $4181;
PROC_DATA = $4182;
MSH_BOXMAP = $4190;
N_D_L_OLD = $4400;
N_CAM_OLD = $4500;
N_DIRECT_LIGHT = $4600;
DL_SPOTLIGHT = $4610;
DL_OFF = $4620;
DL_ATTENUATE = $4625;
DL_RAYSHAD = $4627;
DL_SHADOWED = $4630;
DL_LOCAL_SHADOW = $4640;
DL_LOCAL_SHADOW2 = $4641;
DL_SEE_CONE = $4650;
DL_SPOT_RECTANGULAR = $4651;
DL_SPOT_OVERSHOOT = $4652;
DL_SPOT_PROJECTOR = $4653;
DL_EXCLUDE = $4654;
DL_RANGE = $4655;
DL_SPOT_ROLL = $4656;
DL_SPOT_ASPECT = $4657;
DL_RAY_BIAS = $4658;
DL_INNER_RANGE = $4659;
DL_OUTER_RANGE = $465A;
DL_MULTIPLIER = $465B;
N_AMBIENT_LIGHT = $4680;
N_CAMERA = $4700;
CAM_SEE_CONE = $4710;
CAM_RANGES = $4720;
HIERARCHY = $4F00;
PARENT_OBJECT = $4F10;
PIVOT_OBJECT = $4F20;
PIVOT_LIMITS = $4F30;
PIVOT_ORDER = $4F40;
XLATE_RANGE = $4F50;
POLY_2D = $5000;
SHAPE_OK = $5010;
SHAPE_NOT_OK = $5011;
SHAPE_HOOK = $5020;
PATH_3D = $6000;
PATH_MATRIX = $6005;
SHAPE_2D = $6010;
M_SCALE = $6020;
M_TWIST = $6030;
M_TEETER = $6040;
M_FIT = $6050;
M_BEVEL = $6060;
XZ_CURVE = $6070;
YZ_CURVE = $6080;
INTERPCT = $6090;
DEFORM_LIMIT = $60A0;
USE_CONTOUR = $6100;
USE_TWEEN = $6110;
USE_SCALE = $6120;
USE_TWIST = $6130;
USE_TEETER = $6140;
USE_FIT = $6150;
USE_BEVEL = $6160;
VIEWPORT_LAYOUT_OLD = $7000;
VIEWPORT_DATA_OLD = $7010;
VIEWPORT_LAYOUT = $7001;
VIEWPORT_DATA = $7011;
VIEWPORT_DATA_3 = $7012;
VIEWPORT_SIZE = $7020;
NETWORK_VIEW = $7030;
XDATA_SECTION = $8000;
XDATA_ENTRY = $8001;
XDATA_APPNAME = $8002;
XDATA_STRING = $8003;
XDATA_FLOAT = $8004;
XDATA_DOUBLE = $8005;
XDATA_SHORT = $8006;
XDATA_LONG = $8007;
XDATA_VOID = $8008;
XDATA_GROUP = $8009;
XDATA_RFU6 = $800A;
XDATA_RFU5 = $800B;
XDATA_RFU4 = $800C;
XDATA_RFU3 = $800D;
XDATA_RFU2 = $800E;
XDATA_RFU1 = $800F;
PARENT_NAME = $80F0;
MAT_ENTRY = $AFFF;
MAT_NAME = $A000;
MAT_AMBIENT = $A010;
MAT_DIFFUSE = $A020;
MAT_SPECULAR = $A030;
MAT_SHININESS = $A040;
MAT_SHIN2PCT = $A041;
MAT_SHIN3PCT = $A042;
MAT_TRANSPARENCY = $A050;
MAT_XPFALL = $A052;
MAT_REFBLUR = $A053;
MAT_SELF_ILLUM = $A080;
MAT_TWO_SIDE = $A081;
MAT_DECAL = $A082;
MAT_ADDITIVE = $A083;
MAT_SELF_ILPCT = $A084;
MAT_WIRE = $A085;
MAT_SUPERSMP = $A086;
MAT_WIRESIZE = $A087;
MAT_FACEMAP = $A088;
MAT_XPFALLIN = $A08A;
MAT_PHONGSOFT = $A08C;
MAT_WIREABS = $A08E;
MAT_SHADING = $A100;
MAT_TEXMAP = $A200;
MAT_OPACMAP = $A210;
MAT_REFLMAP = $A220;
MAT_BUMPMAP = $A230;
MAT_SPECMAP = $A204;
MAT_USE_XPFALL = $A240;
MAT_USE_REFBLUR = $A250;
MAT_BUMP_PERCENT = $A252;
MAT_MAPNAME = $A300;
MAT_ACUBIC = $A310;
MAT_SXP_TEXT_DATA = $A320;
MAT_SXP_TEXT2_DATA = $A321;
MAT_SXP_OPAC_DATA = $A322;
MAT_SXP_BUMP_DATA = $A324;
MAT_SXP_SPEC_DATA = $A325;
MAT_SXP_SHIN_DATA = $A326;
MAT_SXP_SELFI_DATA = $A328;
MAT_SXP_TEXT_MASKDATA = $A32A;
MAT_SXP_TEXT2_MASKDATA = $A32C;
MAT_SXP_OPAC_MASKDATA = $A32E;
MAT_SXP_BUMP_MASKDATA = $A330;
MAT_SXP_SPEC_MASKDATA = $A332;
MAT_SXP_SHIN_MASKDATA = $A334;
MAT_SXP_SELFI_MASKDATA = $A336;
MAT_SXP_REFL_MASKDATA = $A338;
MAT_TEX2MAP = $A33A;
MAT_SHINMAP = $A33C;
MAT_SELFIMAP = $A33D;
MAT_TEXMASK = $A33E;
MAT_TEX2MASK = $A340;
MAT_OPACMASK = $A342;
MAT_BUMPMASK = $A344;
MAT_SHINMASK = $A346;
MAT_SPECMASK = $A348;
MAT_SELFIMASK = $A34A;
MAT_REFLMASK = $A34C;
MAT_MAP_TILINGOLD = $A350;
MAT_MAP_TILING = $A351;
MAT_MAP_TEXBLUR_OLD = $A352;
MAT_MAP_TEXBLUR = $A353;
MAT_MAP_USCALE = $A354;
MAT_MAP_VSCALE = $A356;
MAT_MAP_UOFFSET = $A358;
MAT_MAP_VOFFSET = $A35A;
MAT_MAP_ANG = $A35C;
MAT_MAP_COL1 = $A360;
MAT_MAP_COL2 = $A362;
MAT_MAP_RCOL = $A364;
MAT_MAP_GCOL = $A366;
MAT_MAP_BCOL = $A368;
KFDATA = $B000;
KFHDR = $B00A;
AMBIENT_NODE_TAG = $B001;
OBJECT_NODE_TAG = $B002;
CAMERA_NODE_TAG = $B003;
TARGET_NODE_TAG = $B004;
LIGHT_NODE_TAG = $B005;
L_TARGET_NODE_TAG = $B006;
SPOTLIGHT_NODE_TAG = $B007;
KFSEG = $B008;
KFCURTIME = $B009;
NODE_HDR = $B010;
INSTANCE_NAME = $B011;
PRESCALE = $B012;
PIVOT = $B013;
BOUNDBOX = $B014;
MORPH_SMOOTH = $B015;
POS_TRACK_TAG = $B020;
ROT_TRACK_TAG = $B021;
SCL_TRACK_TAG = $B022;
FOV_TRACK_TAG = $B023;
ROLL_TRACK_TAG = $B024;
COL_TRACK_TAG = $B025;
MORPH_TRACK_TAG = $B026;
HOT_TRACK_TAG = $B027;
FALL_TRACK_TAG = $B028;
HIDE_TRACK_TAG = $B029;
NODE_ID = $B030;
CMAGIC = $C23D;
C_MDRAWER = $C010;
C_TDRAWER = $C020;
C_SHPDRAWER = $C030;
C_MODDRAWER = $C040;
C_RIPDRAWER = $C050;
C_TXDRAWER = $C060;
C_PDRAWER = $C062;
C_MTLDRAWER = $C064;
C_FLIDRAWER = $C066;
C_CUBDRAWER = $C067;
C_MFILE = $C070;
C_SHPFILE = $C080;
C_MODFILE = $C090;
C_RIPFILE = $C0A0;
C_TXFILE = $C0B0;
C_PFILE = $C0B2;
C_MTLFILE = $C0B4;
C_FLIFILE = $C0B6;
C_PALFILE = $C0B8;
C_TX_STRING = $C0C0;
C_CONSTS = $C0D0;
C_SNAPS = $C0E0;
C_GRIDS = $C0F0;
C_ASNAPS = $C100;
C_GRID_RANGE = $C110;
C_RENDTYPE = $C120;
C_PROGMODE = $C130;
C_PREVMODE = $C140;
C_MODWMODE = $C150;
C_MODMODEL = $C160;
C_ALL_LINES = $C170;
C_BACK_TYPE = $C180;
C_MD_CS = $C190;
C_MD_CE = $C1A0;
C_MD_SML = $C1B0;
C_MD_SMW = $C1C0;
C_LOFT_WITH_TEXTURE = $C1C3;
C_LOFT_L_REPEAT = $C1C4;
C_LOFT_W_REPEAT = $C1C5;
C_LOFT_UV_NORMALIZE = $C1C6;
C_WELD_LOFT = $C1C7;
C_MD_PDET = $C1D0;
C_MD_SDET = $C1E0;
C_RGB_RMODE = $C1F0;
C_RGB_HIDE = $C200;
C_RGB_MAPSW = $C202;
C_RGB_TWOSIDE = $C204;
C_RGB_SHADOW = $C208;
C_RGB_AA = $C210;
C_RGB_OVW = $C220;
C_RGB_OVH = $C230;
C_RGB_PICTYPE = $C240;
C_RGB_OUTPUT = $C250;
C_RGB_TODISK = $C253;
C_RGB_COMPRESS = $C254;
C_JPEG_COMPRESSION = $C255;
C_RGB_DISPDEV = $C256;
C_RGB_HARDDEV = $C259;
C_RGB_PATH = $C25A;
C_BITMAP_DRAWER = $C25B;
C_RGB_FILE = $C260;
C_RGB_OVASPECT = $C270;
C_RGB_ANIMTYPE = $C271;
C_RENDER_ALL = $C272;
C_REND_FROM = $C273;
C_REND_TO = $C274;
C_REND_NTH = $C275;
C_PAL_TYPE = $C276;
C_RND_TURBO = $C277;
C_RND_MIP = $C278;
C_BGND_METHOD = $C279;
C_AUTO_REFLECT = $C27A;
C_VP_FROM = $C27B;
C_VP_TO = $C27C;
C_VP_NTH = $C27D;
C_REND_TSTEP = $C27E;
C_VP_TSTEP = $C27F;
C_SRDIAM = $C280;
C_SRDEG = $C290;
C_SRSEG = $C2A0;
C_SRDIR = $C2B0;
C_HETOP = $C2C0;
C_HEBOT = $C2D0;
C_HEHT = $C2E0;
C_HETURNS = $C2F0;
C_HEDEG = $C300;
C_HESEG = $C310;
C_HEDIR = $C320;
C_QUIKSTUFF = $C330;
C_SEE_LIGHTS = $C340;
C_SEE_CAMERAS = $C350;
C_SEE_3D = $C360;
C_MESHSEL = $C370;
C_MESHUNSEL = $C380;
C_POLYSEL = $C390;
C_POLYUNSEL = $C3A0;
C_SHPLOCAL = $C3A2;
C_MSHLOCAL = $C3A4;
C_NUM_FORMAT = $C3B0;
C_ARCH_DENOM = $C3C0;
C_IN_DEVICE = $C3D0;
C_MSCALE = $C3E0;
C_COMM_PORT = $C3F0;
C_TAB_BASES = $C400;
C_TAB_DIVS = $C410;
C_MASTER_SCALES = $C420;
C_SHOW_1STVERT = $C430;
C_SHAPER_OK = $C440;
C_LOFTER_OK = $C450;
C_EDITOR_OK = $C460;
C_KEYFRAMER_OK = $C470;
C_PICKSIZE = $C480;
C_MAPTYPE = $C490;
C_MAP_DISPLAY = $C4A0;
C_TILE_XY = $C4B0;
C_MAP_XYZ = $C4C0;
C_MAP_SCALE = $C4D0;
C_MAP_MATRIX_OLD = $C4E0;
C_MAP_MATRIX = $C4E1;
C_MAP_WID_HT = $C4F0;
C_OBNAME = $C500;
C_CAMNAME = $C510;
C_LTNAME = $C520;
C_CUR_MNAME = $C525;
C_CURMTL_FROM_MESH = $C526;
C_GET_SHAPE_MAKE_FACES = $C527;
C_DETAIL = $C530;
C_VERTMARK = $C540;
C_MSHAX = $C550;
C_MSHCP = $C560;
C_USERAX = $C570;
C_SHOOK = $C580;
C_RAX = $C590;
C_STAPE = $C5A0;
C_LTAPE = $C5B0;
C_ETAPE = $C5C0;
C_KTAPE = $C5C8;
C_SPHSEGS = $C5D0;
C_GEOSMOOTH = $C5E0;
C_HEMISEGS = $C5F0;
C_PRISMSEGS = $C600;
C_PRISMSIDES = $C610;
C_TUBESEGS = $C620;
C_TUBESIDES = $C630;
C_TORSEGS = $C640;
C_TORSIDES = $C650;
C_CONESIDES = $C660;
C_CONESEGS = $C661;
C_NGPARMS = $C670;
C_PTHLEVEL = $C680;
C_MSCSYM = $C690;
C_MFTSYM = $C6A0;
C_MTTSYM = $C6B0;
C_SMOOTHING = $C6C0;
C_MODICOUNT = $C6D0;
C_FONTSEL = $C6E0;
C_TESS_TYPE = $C6f0;
C_TESS_TENSION = $C6f1;
C_SEG_START = $C700;
C_SEG_END = $C705;
C_CURTIME = $C710;
C_ANIMLENGTH = $C715;
C_PV_FROM = $C720;
C_PV_TO = $C725;
C_PV_DOFNUM = $C730;
C_PV_RNG = $C735;
C_PV_NTH = $C740;
C_PV_TYPE = $C745;
C_PV_METHOD = $C750;
C_PV_FPS = $C755;
C_VTR_FRAMES = $C765;
C_VTR_HDTL = $C770;
C_VTR_HD = $C771;
C_VTR_TL = $C772;
C_VTR_IN = $C775;
C_VTR_PK = $C780;
C_VTR_SH = $C785;
C_WORK_MTLS = $C790;
C_WORK_MTLS_2 = $C792;
C_WORK_MTLS_3 = $C793;
C_WORK_MTLS_4 = $C794;
C_WORK_MTLS_5 = $CB00;
C_WORK_MTLS_6 = $CB01;
C_WORK_MTLS_7 = $CB02;
C_WORK_MTLS_8 = $CB03;
C_WORKMTL = $CB04;
C_SXP_TEXT_DATA = $CB10;
C_SXP_TEXT2_DATA = $CB20;
C_SXP_OPAC_DATA = $CB11;
C_SXP_BUMP_DATA = $CB12;
C_SXP_SPEC_DATA = $CB24;
C_SXP_SHIN_DATA = $CB13;
C_SXP_SELFI_DATA = $CB28;
C_SXP_TEXT_MASKDATA = $CB30;
C_SXP_TEXT2_MASKDATA = $CB32;
C_SXP_OPAC_MASKDATA = $CB34;
C_SXP_BUMP_MASKDATA = $CB36;
C_SXP_SPEC_MASKDATA = $CB38;
C_SXP_SHIN_MASKDATA = $CB3A;
C_SXP_SELFI_MASKDATA = $C3CB;
C_SXP_REFL_MASKDATA = $CB3E;
C_BGTYPE = $C7A1;
C_MEDTILE = $C7B0;
C_LO_CONTRAST = $C7D0;
C_HI_CONTRAST = $C7D1;
C_FROZ_DISPLAY = $C7E0;
C_BOOLWELD = $C7f0;
C_BOOLTYPE = $C7f1;
C_ANG_THRESH = $C900;
C_SS_THRESH = $C901;
C_TEXTURE_BLUR_DEFAULT = $C903;
C_MAPDRAWER = $CA00;
C_MAPDRAWER1 = $CA01;
C_MAPDRAWER2 = $CA02;
C_MAPDRAWER3 = $CA03;
C_MAPDRAWER4 = $CA04;
C_MAPDRAWER5 = $CA05;
C_MAPDRAWER6 = $CA06;
C_MAPDRAWER7 = $CA07;
C_MAPDRAWER8 = $CA08;
C_MAPDRAWER9 = $CA09;
C_MAPDRAWER_ENTRY = $CA10;
C_BACKUP_FILE = $CA20;
C_DITHER_256 = $CA21;
C_SAVE_LAST = $CA22;
C_USE_ALPHA = $CA23;
C_TGA_DEPTH = $CA24;
C_REND_FIELDS = $CA25;
C_REFLIP = $CA26;
C_SEL_ITEMTOG = $CA27;
C_SEL_RESET = $CA28;
C_STICKY_KEYINF = $CA29;
C_WELD_THRESHOLD = $CA2A;
C_ZCLIP_POINT = $CA2B;
C_ALPHA_SPLIT = $CA2C;
C_KF_SHOW_BACKFACE = $CA30;
C_OPTIMIZE_LOFT = $CA40;
C_TENS_DEFAULT = $CA42;
C_CONT_DEFAULT = $CA44;
C_BIAS_DEFAULT = $CA46;
C_DXFNAME_SRC = $CA50;
C_AUTO_WELD = $CA60;
C_AUTO_UNIFY = $CA70;
C_AUTO_SMOOTH = $CA80;
C_DXF_SMOOTH_ANG = $CA90;
C_SMOOTH_ANG = $CAA0;
C_NET_USE_VPOST = $CC00;
C_NET_USE_GAMMA = $CC10;
C_NET_FIELD_ORDER = $CC20;
C_BLUR_FRAMES = $CD00;
C_BLUR_SAMPLES = $CD10;
C_BLUR_DUR = $CD20;
C_HOT_METHOD = $CD30;
C_HOT_CHECK = $CD40;
C_PIXEL_SIZE = $CD50;
C_DISP_GAMMA = $CD60;
C_FBUF_GAMMA = $CD70;
C_FILE_OUT_GAMMA = $CD80;
C_FILE_IN_GAMMA = $CD82;
C_GAMMA_CORRECT = $CD84;
C_APPLY_DISP_GAMMA = $CD90;
C_APPLY_FBUF_GAMMA = $CDA0;
C_APPLY_FILE_GAMMA = $CDB0;
C_FORCE_WIRE = $CDC0;
C_RAY_SHADOWS = $CDD0;
C_MASTER_AMBIENT = $CDE0;
C_SUPER_SAMPLE = $CDF0;
C_OBJECT_MBLUR = $CE00;
C_MBLUR_DITHER = $CE10;
C_DITHER_24 = $CE20;
C_SUPER_BLACK = $CE30;
C_SAFE_FRAME = $CE40;
C_VIEW_PRES_RATIO = $CE50;
C_BGND_PRES_RATIO = $CE60;
C_NTH_SERIAL_NUM = $CE70;
VPDATA = $D000;
P_QUEUE_ENTRY = $D100;
P_QUEUE_IMAGE = $D110;
P_QUEUE_USEIGAMMA = $D114;
P_QUEUE_PROC = $D120;
P_QUEUE_SOLID = $D130;
P_QUEUE_GRADIENT = $D140;
P_QUEUE_KF = $D150;
P_QUEUE_MOTBLUR = $D152;
P_QUEUE_MB_REPEAT = $D153;
P_QUEUE_NONE = $D160;
P_QUEUE_RESIZE = $D180;
P_QUEUE_OFFSET = $D185;
P_QUEUE_ALIGN = $D190;
P_CUSTOM_SIZE = $D1a0;
P_ALPH_NONE = $D210;
P_ALPH_PSEUDO = $D220;
P_ALPH_OP_PSEUDO = $D221;
P_ALPH_BLUR = $D222;
P_ALPH_PCOL = $D225;
P_ALPH_C0 = $D230;
P_ALPH_OP_KEY = $D231;
P_ALPH_KCOL = $D235;
P_ALPH_OP_NOCONV = $D238;
P_ALPH_IMAGE = $D240;
P_ALPH_ALPHA = $D250;
P_ALPH_QUES = $D260;
P_ALPH_QUEIMG = $D265;
P_ALPH_CUTOFF = $D270;
P_ALPHANEG = $D280;
P_TRAN_NONE = $D300;
P_TRAN_IMAGE = $D310;
P_TRAN_FRAMES = $D312;
P_TRAN_FADEIN = $D320;
P_TRAN_FADEOUT = $D330;
P_TRANNEG = $D340;
P_RANGES = $D400;
P_PROC_DATA = $D500;
NodeTagCount = 6;
NodeTags: array[1..NodeTagCount] of Word = (TARGET_NODE_TAG, OBJECT_NODE_TAG, CAMERA_NODE_TAG, LIGHT_NODE_TAG, L_TARGET_NODE_TAG, SPOTLIGHT_NODE_TAG );

Description

Constants

FaceCAVisable3DS = $0001;

—————- Constants for commonly used structures ——————– Flags used by the flag field of the Mesh3DS structure

FaceBCVisable3DS = $0002;

flags the CA edge as visible

FaceABVisable3DS = $0004;

flags the BC edge as visible

FaceUWrap3DS = $0008;

flags the AB edge as visible

FaceVWrap3DS = $0010;

flags the face as being at a texture coord u wrap seam

KeyUsesTension3DS = $01;

flags the face as being at a texture coord v wrap seam flags used by the rflags field of the keyheader3DS structure

KeyUsesCont3DS = $02;
KeyUsesBias3DS = $04;
KeyUsesEaseTo3DS = $08;
KeyUsesEaseFrom3DS = $10;
TrackSingle3DS = $0000;

flags used by the track flags field

TrackLoops3DS = $0003;
TrackRepeats3DS = $0002;
TrackLockX3DS = $0008;
TrackLockY3DS = $0010;
TrackLockZ3DS = $0020;
TrackNoLinkX3DS = $0100;
TrackNoLinkY3DS = $0200;
TrackNoLinkZ3DS = $0400;
DefPoint3DS : TPoint3DS = (X: 0; Y: 0; Z: 0);

Basic structure default contents for ease of initialization

DefTextVert3DS : TTexVert3DS = (U: 0; V: 0);
DefFace3DS : TFace3DS = (v1: 0; v2: 1; v3: 2; Flag: 0);
DefTrackHeader3DS : TTrackHeader3DS = (Flags: 0; nu1: 0; nu2: 0; KeyCount: 1);
DefKeyHeader3DS : TKeyHeader3DS = (Time: 0; RFlags: 0; Tension: 0; Continuity: 0; Bias: 0; EaseTo: 0; EaseFrom: 0);
DefObjMat3DS : TObjMat3DS = (NameStr: ''; NFaces: 0; FaceIndex: nil);
DefKFRotKey3DS : TKFRotKey3DS = (Angle: 0; X: 0; Y: 0; Z: 1);
LayerFogBgnd = $100000;

Fog Flags

NoFalloff = $0;
TopFalloff = $2;
BottomFalloff = $1;
InitNoExtras3DS = $0000;

Flags for initflags parameter

InitVertexArray3DS = $0001;
InitTextArray3DS = $0002;
InitFaceArray3DS = $0004;
InitMatArray3DS = $0008;
InitSmoothArray3DS = $0010;
InitProcData3DS = $0020;
InitVFlagArray3DS = $0040;
RelVertexArray3ds = $0001;

field codes for RelMeshObjField3ds

RelTextArray3ds = $0002;
RelFaceArray3ds = $0004;
RelMatArray3ds = $0008;
RelSmoothArray3ds = $0010;
RelProcData3ds = $0020;
RelVFlagArray3ds = $0040;
RelAll3DS = $FFFF;
Smooth01Group3DS = $00000001;

Smoothing group Flags used in the smootharray field of the TMesh3DS structure

Smooth02Group3DS = $00000002;
Smooth03Group3DS = $00000004;
Smooth04Group3DS = $00000008;
Smooth05Group3DS = $00000010;
Smooth06Group3DS = $00000020;
Smooth07Group3DS = $00000030;
Smooth08Group3DS = $00000080;
Smooth09Group3DS = $00000100;
Smooth10Group3DS = $00000200;
Smooth11Group3DS = $00000400;
Smooth12Group3DS = $00000800;
Smooth13Group3DS = $00001000;
Smooth14Group3DS = $00002000;
Smooth15Group3DS = $00004000;
Smooth16Group3DS = $00008000;
Smooth17Group3DS = $00010000;
Smooth18Group3DS = $00020000;
Smooth19Group3DS = $00040000;
Smooth20Group3DS = $00080000;
Smooth21Group3DS = $00100000;
Smooth22Group3DS = $00200000;
Smooth23Group3DS = $00400000;
Smooth24Group3DS = $00800000;
Smooth25Group3DS = $01000000;
Smooth26Group3DS = $02000000;
Smooth27Group3DS = $04000000;
Smooth28Group3DS = $08000000;
Smooth29Group3DS = $10000000;
Smooth30Group3DS = $20000000;
Smooth31Group3DS = $40000000;
Smooth32Group3DS = $80000000;
DummyName3DS = '$$$DUMMY';
KfNodeOff3DS = 1 shl 3;

flag settings for TKFMesh3DS, TKFOmni3DS, TKFCamera3DS, TKFAmbient and TKFSpot3DS ml: these flags correspond directly to NODE_RENDOB_HIDE etc. (see below), I don't know what these duplications are for... for the flags field

KfHideNode3DS = 1 shl 11;
KfFastNode3DS = 1 shl 12;
KfNodeHasPath3DS = 1;

For the flags2 field

KfNodeAutoSmooth3DS = 1 shl 1;
KfNodeFrozen3DS = 1 shl 2;
KfMotionBlur3DS = 1 shl 4;
KfBlurBranch3DS = 1 shl 5;
KfMorphMtl3DS = 1 shl 6;
KfMorphOb3DS = 1 shl 7;
FileNameStrMax3DS = 512;

————– constants that define various value ranges for specific chunks 3DS filename

FileAttrStrMax3DS = 128;

3DS file attributes

MasterScaleMin3DS = 0;

MASTER_SCALE chunk

LoShadowBiasMin3DS = 0;

noninclusive minimum value for master scale LO_SHADOW_BIAS chunk

HiShadowBiasMin3DS = 0;

noninclusive minimum value for low shadow bias setting HI_SHADOW_BIAS chunk

ShadowMapSizeMin3DS = 0;

noninclusive minimum value for high shadow bias setting SHADOW_MAP_SIZE chunk

ShadowSamplesMin3DS = 0;

noninclusive minimum value for shadow map size SHADOW_SAMPLES chunk

ShadowRangeMin3DS = 0;

noninclusive minimum value for shadow samples SHADOW_RANGE chunk

ShadowFilterMin3DS = 1;

noninclusive minimum value for shadow range SHADOW_FILTER chunk

ShadowFilterMax3DS = 10;

inclusive minimum value for shadow filter

BitMapStrMax3DS = 12;

inclusive maximum value for shadow filter BITMAP chunk

VGradientMin3DS = 0;

maximum string length for filename V_GRADIENT chunk

VGradientMax3DS = 1;

minimum value for gradient midpoint

FogMin3DS = 0;

maximum value for gradient midpoint FOG chunk

FogMax3DS = 1;

minimum value for fogging plane density

DistanceCueMin3DS = 0;

maximum value for fogging plane density DISTANCE_CUE

DistanceCueMax3DS = 1;

minimum value for dimming factor

ViewCameraStrMax3DS = 10;

maximum value for dimming factor VIEW_CAMERA

MatNameStrMax3DS = 16;

maximum string length for filename MAT_NAME

MatShadingMin3DS = 0;

maximum string length for material name MAT_SHADING

MatShadingMax3DS = 3;

minimum shading value

MatACubicFMin3DS = 1;

maximum shading value MAT_ACUBIC_FMIN

MatACubicAMin3DS = 0;

minimum frame skip count

MatACubicAMax3DS = 3;

minimum reflection map aliasing

ACubicFirst3DS = $09;

maximum reflection map aliasing used with TAcubic3DS structure

ACubicFlat3DS = $11;
PointArrayMin3DS = 3;

POINT_ARRAY

FaceArrayMin3DS = 1;

minimum number of vertices FACE_ARRAY

MshMatGroupMin3DS = 1;

minimum number of faces MshMatGroup3DS

MshMatGroupStrMax3DS = 16;

minimum number of faces per material

ProcNameStrMax3DS = 12;

maximim string length for MshMatGroup PROC_NAME

DLSpotlightMin3DS = 0;

maximum string length for axp process DL_SPOTLIGHT

DLSpotlightMax3DS = 160;

minimum for hotspot and falloff cones

DLLocalShadow2SMin3DS = 10;

maximum for hotspot and falloff cones DL_LOCAL_SHADOW2

DLLocalShadow2SMax3DS = 4096;

minimum shadow map size

DLLocalShadow2FMin3DS = 1;

maximum shadow map size

DLLocalShadow2FMax3DS = 10;

minimum shadow map size

ColorFMin3DS = 0;

maximum shadow map size COLOR_F

ColorFMax3DS = 1;

minimum color value in a channel

IntPercentageMax3DS = 100;

maximum color value in a channel INT_PERCENTAGE

FloatPercentageMax3DS = 1;

Maximum integer percentage FLOAT_PERCENTAGE

MatMapNameStrMax3DS = 12;

Maximum floating point percentage MAT_MAPNAME

NamedObjectStrMax3DS = 10;

Maximum map name string size NAMED_OBJECT

NCameraFOVMin3DS = 0.00025;

Maximum named object string size N_CAMERA

NCameraFOVMax3DS = 160;

Minimum field of view for camera

NCameraFocMin3DS = 10.7813;

Maximum field of view for camera

NCameraFocMax3DS = 10000000;

Minimum lens size for camera

KFHdrStrMax3DS = 12;

Maximum lens size for camera KFHDR

NodeHdrStrMax3DS = 10;

Maximum keyframe header name string size NODE_HDR

InstanceNameStrMax3DS = 10;

Maximum node name string size INSTANCE_NAME

MorphTrackStrMax3DS = 10;

Maximum instance name string size MORPH_TRACK

MorphSmoothMin3DS = 0;

Maximum morph object name string size MORPH_SMOOTH

MorphSmoothMax3DS = 360;

Minimum morph smoothing angle

KFTensionMin3DS = -1;

Maximum morph smoothing angle Keyframe Spline Limits

KFTensionMax3DS = 1;

Minimum key spline tension

KFContinuityMin3DS = -1;

Maximum key spline tension

KFContinuityMax3DS = 1;

Minimum key spline continuity

KFBiasMin3DS = -1;

Maximum key spline continuity

KFBiasMax3DS = 1;

Minimum key spline bias

KFEaseToMin3DS = 0;

Maximum key spline bias

KFEaseToMax3DS = 1;

Minimum key spline ease to

KFEaseFromMin3DS = 0;

Maximum key spline ease to

KFEaseFromMax3DS = 1;

Minimum key spline ease from

TrackHeaderKeysMin3DS = 1;

Maximum key spline ease from Track header Limits

ColTrackTagMin3DS = 0;

Minimum number of keys in a track COL_TRACK_TAG_KEY

ColTrackTagMax3DS = 1;

Minimum color value

FOVTrackTagMin3DS = NCameraFOVMin3DS;

Maximum color value FOV_TRACK_TAG_KEY

FOVTrackTagMax3DS = NCameraFOVMax3DS;

Minimum camera FOV

HotTrackTagMin3DS = 0;

Maximum camera FOV HOT_TRACK_TAG_KEY

HotTrackTagMax3DS = 160;

Minimum hot spot angle

FallTrackTagMin3DS = 0;

Maximum hot spot angle FALL_TRACK_TAG_KEY

FallTrackTagMax3DS = 160;

Minimum fall off angle

KNoID = -1;

Maximum fall off angle

TEX_DECAL = 1;

MAT_TILING

TEX_MIRROR = 1 shl 1;
TEX_UNUSED1 = 1 shl 2;
TEX_INVERT = 1 shl 3;
TEX_NOWRAP = 1 shl 4;
TEX_SAT = 1 shl 5;
TEX_ALPHA_SOURCE = 1 shl 6;

summed area table

TEX_TINT = 1 shl 7;

use ALPHA instead of RGB of map

TEX_DONT_USE_ALPHA = 1 shl 8;

tint for color

TEX_RGB_TINT = 1 shl 9;

don't use map alpha

NODE_RENDOB_HIDE = 1 shl 2;

do RGB color transform Values for keyframer flags1

NODE_OFF = 1 shl 3;
ATKEY1 = 1 shl 4;
ATKEY2 = 1 shl 5;
ATKEY3 = 1 shl 6;
ATKEY4 = 1 shl 7;
ATKEY5 = 1 shl 8;
ATKEYFLAGS = ATKEY1 or ATKEY2 or ATKEY3 or ATKEY4 or ATKEY5;
MARK_NODE = 1 shl 9;
DISABLE_NODE = 1 shl 10;
HIDE_NODE = 1 shl 11;
FAST_NODE = 1 shl 12;
PRIMARY_NODE = 1 shl 14;

draw node quickdraw style

NODE_CALC_PATH = 1 shl 15;

corresponds to mesh

NODE_HAS_PATH = 1;

Values for keyframer flags2

NODE_AUTO_SMOOTH = 1 shl 1;
NODE_FROZEN = 1 shl 2;
NODE_ANI_HIDDEN = 1 shl 3;
NODE_MOTION_BLUR = 1 shl 4;
NODE_BLUR_BRANCH = 1 shl 5;
NODE_MORPH_MTL = 1 shl 6;
NODE_MORPH_OB = 1 shl 7;
NULL_CHUNK = $0000;

—————– List of all chunk IDs ————————————-

ChunkType = $0995;

Trick Chunk Flags For ChunkSyntax function

ChunkUnique = $0996;
NotChunk = $0997;
Container = $0998;
IsChunk = $0999;
DUMMY = $FFFF;

Dummy Chunk that sometimes appears in 3DS files created by prerelease 3D Studio R2

POINT_ARRAY_ENTRY = $F110;

Trick Chunk Types For Open, Write, Close functions

POINT_FLAG_ARRAY_ENTRY = $F111;
FACE_ARRAY_ENTRY = $F120;
MSH_MAT_GROUP_ENTRY = $F130;
TEX_VERTS_ENTRY = $F140;
SMOOTH_GROUP_ENTRY = $F150;
POS_TRACK_TAG_KEY = $F020;
ROT_TRACK_TAG_KEY = $F021;
SCL_TRACK_TAG_KEY = $F022;
FOV_TRACK_TAG_KEY = $F023;
ROLL_TRACK_TAG_KEY = $F024;
COL_TRACK_TAG_KEY = $F025;
MORPH_TRACK_TAG_KEY = $F026;
HOT_TRACK_TAG_KEY = $F027;
FALL_TRACK_TAG_KEY = $F028;
M3DMAGIC = $4D4D;

3DS file Chunk IDs

SMAGIC = $2D2D;
LMAGIC = $2D3D;
MLIBMAGIC = $3DAA;
MATMAGIC = $3DFF;
M3D_VERSION = $0002;
M3D_KFVERSION = $0005;
MDATA = $3D3D;

Mesh Chunk Ids

MESH_VERSION = $3D3E;
COLOR_F = $0010;
COLOR_24 = $0011;
LIN_COLOR_24 = $0012;
LIN_COLOR_F = $0013;
INT_PERCENTAGE = $0030;
FLOAT_PERCENTAGE = $0031;
MASTER_SCALE = $0100;
BIT_MAP = $1100;
USE_BIT_MAP = $1101;
SOLID_BGND = $1200;
USE_SOLID_BGND = $1201;
V_GRADIENT = $1300;
USE_V_GRADIENT = $1301;
LO_SHADOW_BIAS = $1400;
HI_SHADOW_BIAS = $1410;
SHADOW_MAP_SIZE = $1420;
SHADOW_SAMPLES = $1430;
SHADOW_RANGE = $1440;
SHADOW_FILTER = $1450;
RAY_BIAS = $1460;
O_CONSTS = $1500;
AMBIENT_LIGHT = $2100;
FOG = $2200;
USE_FOG = $2201;
FOG_BGND = $2210;
DISTANCE_CUE = $2300;
USE_DISTANCE_CUE = $2301;
LAYER_FOG = $2302;
USE_LAYER_FOG = $2303;
DCUE_BGND = $2310;
DEFAULT_VIEW = $3000;
VIEW_TOP = $3010;
VIEW_BOTTOM = $3020;
VIEW_LEFT = $3030;
VIEW_RIGHT = $3040;
VIEW_FRONT = $3050;
VIEW_BACK = $3060;
VIEW_USER = $3070;
VIEW_CAMERA = $3080;
VIEW_WINDOW = $3090;
NAMED_OBJECT = $4000;
OBJ_HIDDEN = $4010;
OBJ_VIS_LOFTER = $4011;
OBJ_DOESNT_CAST = $4012;
OBJ_MATTE = $4013;
OBJ_FAST = $4014;
OBJ_PROCEDURAL = $4015;
OBJ_FROZEN = $4016;
OBJ_DONT_RCVSHADOW = $4017;
N_TRI_OBJECT = $4100;
POINT_ARRAY = $4110;
POINT_FLAG_ARRAY = $4111;
FACE_ARRAY = $4120;
MSH_MAT_GROUP = $4130;
OLD_MAT_GROUP = $4131;
TEX_VERTS = $4140;
SMOOTH_GROUP = $4150;
MESH_MATRIX = $4160;
MESH_COLOR = $4165;
MESH_TEXTURE_INFO = $4170;
PROC_NAME = $4181;
PROC_DATA = $4182;
MSH_BOXMAP = $4190;
N_D_L_OLD = $4400;
N_CAM_OLD = $4500;
N_DIRECT_LIGHT = $4600;
DL_SPOTLIGHT = $4610;
DL_OFF = $4620;
DL_ATTENUATE = $4625;
DL_RAYSHAD = $4627;
DL_SHADOWED = $4630;
DL_LOCAL_SHADOW = $4640;
DL_LOCAL_SHADOW2 = $4641;
DL_SEE_CONE = $4650;
DL_SPOT_RECTANGULAR = $4651;
DL_SPOT_OVERSHOOT = $4652;
DL_SPOT_PROJECTOR = $4653;
DL_EXCLUDE = $4654;
DL_RANGE = $4655;
DL_SPOT_ROLL = $4656;

Not used in R3

DL_SPOT_ASPECT = $4657;
DL_RAY_BIAS = $4658;
DL_INNER_RANGE = $4659;
DL_OUTER_RANGE = $465A;
DL_MULTIPLIER = $465B;
N_AMBIENT_LIGHT = $4680;
N_CAMERA = $4700;
CAM_SEE_CONE = $4710;
CAM_RANGES = $4720;
HIERARCHY = $4F00;
PARENT_OBJECT = $4F10;
PIVOT_OBJECT = $4F20;
PIVOT_LIMITS = $4F30;
PIVOT_ORDER = $4F40;
XLATE_RANGE = $4F50;
POLY_2D = $5000;
SHAPE_OK = $5010;

Flags in shaper AFile that tell whether polys make up an ok shape

SHAPE_NOT_OK = $5011;
SHAPE_HOOK = $5020;
PATH_3D = $6000;
PATH_MATRIX = $6005;
SHAPE_2D = $6010;
M_SCALE = $6020;
M_TWIST = $6030;
M_TEETER = $6040;
M_FIT = $6050;
M_BEVEL = $6060;
XZ_CURVE = $6070;
YZ_CURVE = $6080;
INTERPCT = $6090;
DEFORM_LIMIT = $60A0;
USE_CONTOUR = $6100;

Flags for Modeler options

USE_TWEEN = $6110;
USE_SCALE = $6120;
USE_TWIST = $6130;
USE_TEETER = $6140;
USE_FIT = $6150;
USE_BEVEL = $6160;
VIEWPORT_LAYOUT_OLD = $7000;

Viewport description chunks

VIEWPORT_DATA_OLD = $7010;
VIEWPORT_LAYOUT = $7001;
VIEWPORT_DATA = $7011;
VIEWPORT_DATA_3 = $7012;
VIEWPORT_SIZE = $7020;
NETWORK_VIEW = $7030;
XDATA_SECTION = $8000;

External Application Data

XDATA_ENTRY = $8001;
XDATA_APPNAME = $8002;
XDATA_STRING = $8003;
XDATA_FLOAT = $8004;
XDATA_DOUBLE = $8005;
XDATA_SHORT = $8006;
XDATA_LONG = $8007;
XDATA_VOID = $8008;
XDATA_GROUP = $8009;
XDATA_RFU6 = $800A;
XDATA_RFU5 = $800B;
XDATA_RFU4 = $800C;
XDATA_RFU3 = $800D;
XDATA_RFU2 = $800E;
XDATA_RFU1 = $800F;
PARENT_NAME = $80F0;
MAT_ENTRY = $AFFF;

Material Chunk IDs

MAT_NAME = $A000;
MAT_AMBIENT = $A010;
MAT_DIFFUSE = $A020;
MAT_SPECULAR = $A030;
MAT_SHININESS = $A040;
MAT_SHIN2PCT = $A041;
MAT_SHIN3PCT = $A042;
MAT_TRANSPARENCY = $A050;
MAT_XPFALL = $A052;
MAT_REFBLUR = $A053;
MAT_SELF_ILLUM = $A080;
MAT_TWO_SIDE = $A081;
MAT_DECAL = $A082;
MAT_ADDITIVE = $A083;
MAT_SELF_ILPCT = $A084;
MAT_WIRE = $A085;
MAT_SUPERSMP = $A086;
MAT_WIRESIZE = $A087;
MAT_FACEMAP = $A088;
MAT_XPFALLIN = $A08A;
MAT_PHONGSOFT = $A08C;
MAT_WIREABS = $A08E;
MAT_SHADING = $A100;
MAT_TEXMAP = $A200;
MAT_OPACMAP = $A210;
MAT_REFLMAP = $A220;
MAT_BUMPMAP = $A230;
MAT_SPECMAP = $A204;
MAT_USE_XPFALL = $A240;
MAT_USE_REFBLUR = $A250;
MAT_BUMP_PERCENT = $A252;
MAT_MAPNAME = $A300;
MAT_ACUBIC = $A310;
MAT_SXP_TEXT_DATA = $A320;
MAT_SXP_TEXT2_DATA = $A321;
MAT_SXP_OPAC_DATA = $A322;
MAT_SXP_BUMP_DATA = $A324;
MAT_SXP_SPEC_DATA = $A325;
MAT_SXP_SHIN_DATA = $A326;
MAT_SXP_SELFI_DATA = $A328;
MAT_SXP_TEXT_MASKDATA = $A32A;
MAT_SXP_TEXT2_MASKDATA = $A32C;
MAT_SXP_OPAC_MASKDATA = $A32E;
MAT_SXP_BUMP_MASKDATA = $A330;
MAT_SXP_SPEC_MASKDATA = $A332;
MAT_SXP_SHIN_MASKDATA = $A334;
MAT_SXP_SELFI_MASKDATA = $A336;
MAT_SXP_REFL_MASKDATA = $A338;
MAT_TEX2MAP = $A33A;
MAT_SHINMAP = $A33C;
MAT_SELFIMAP = $A33D;
MAT_TEXMASK = $A33E;
MAT_TEX2MASK = $A340;
MAT_OPACMASK = $A342;
MAT_BUMPMASK = $A344;
MAT_SHINMASK = $A346;
MAT_SPECMASK = $A348;
MAT_SELFIMASK = $A34A;
MAT_REFLMASK = $A34C;
MAT_MAP_TILINGOLD = $A350;
MAT_MAP_TILING = $A351;
MAT_MAP_TEXBLUR_OLD = $A352;
MAT_MAP_TEXBLUR = $A353;
MAT_MAP_USCALE = $A354;
MAT_MAP_VSCALE = $A356;
MAT_MAP_UOFFSET = $A358;
MAT_MAP_VOFFSET = $A35A;
MAT_MAP_ANG = $A35C;
MAT_MAP_COL1 = $A360;
MAT_MAP_COL2 = $A362;
MAT_MAP_RCOL = $A364;
MAT_MAP_GCOL = $A366;
MAT_MAP_BCOL = $A368;
KFDATA = $B000;

Keyframe Chunk IDs

KFHDR = $B00A;
AMBIENT_NODE_TAG = $B001;
OBJECT_NODE_TAG = $B002;
CAMERA_NODE_TAG = $B003;
TARGET_NODE_TAG = $B004;
LIGHT_NODE_TAG = $B005;
L_TARGET_NODE_TAG = $B006;
SPOTLIGHT_NODE_TAG = $B007;
KFSEG = $B008;
KFCURTIME = $B009;
NODE_HDR = $B010;
INSTANCE_NAME = $B011;
PRESCALE = $B012;
PIVOT = $B013;
BOUNDBOX = $B014;
MORPH_SMOOTH = $B015;
POS_TRACK_TAG = $B020;
ROT_TRACK_TAG = $B021;
SCL_TRACK_TAG = $B022;
FOV_TRACK_TAG = $B023;
ROLL_TRACK_TAG = $B024;
COL_TRACK_TAG = $B025;
MORPH_TRACK_TAG = $B026;
HOT_TRACK_TAG = $B027;
FALL_TRACK_TAG = $B028;
HIDE_TRACK_TAG = $B029;
NODE_ID = $B030;
CMAGIC = $C23D;
C_MDRAWER = $C010;
C_TDRAWER = $C020;
C_SHPDRAWER = $C030;
C_MODDRAWER = $C040;
C_RIPDRAWER = $C050;
C_TXDRAWER = $C060;
C_PDRAWER = $C062;
C_MTLDRAWER = $C064;
C_FLIDRAWER = $C066;
C_CUBDRAWER = $C067;
C_MFILE = $C070;
C_SHPFILE = $C080;
C_MODFILE = $C090;
C_RIPFILE = $C0A0;
C_TXFILE = $C0B0;
C_PFILE = $C0B2;
C_MTLFILE = $C0B4;
C_FLIFILE = $C0B6;
C_PALFILE = $C0B8;
C_TX_STRING = $C0C0;
C_CONSTS = $C0D0;
C_SNAPS = $C0E0;
C_GRIDS = $C0F0;
C_ASNAPS = $C100;
C_GRID_RANGE = $C110;
C_RENDTYPE = $C120;
C_PROGMODE = $C130;
C_PREVMODE = $C140;
C_MODWMODE = $C150;
C_MODMODEL = $C160;
C_ALL_LINES = $C170;
C_BACK_TYPE = $C180;
C_MD_CS = $C190;
C_MD_CE = $C1A0;
C_MD_SML = $C1B0;
C_MD_SMW = $C1C0;
C_LOFT_WITH_TEXTURE = $C1C3;
C_LOFT_L_REPEAT = $C1C4;
C_LOFT_W_REPEAT = $C1C5;
C_LOFT_UV_NORMALIZE = $C1C6;
C_WELD_LOFT = $C1C7;
C_MD_PDET = $C1D0;
C_MD_SDET = $C1E0;
C_RGB_RMODE = $C1F0;
C_RGB_HIDE = $C200;
C_RGB_MAPSW = $C202;
C_RGB_TWOSIDE = $C204;
C_RGB_SHADOW = $C208;
C_RGB_AA = $C210;
C_RGB_OVW = $C220;
C_RGB_OVH = $C230;
C_RGB_PICTYPE = $C240;
C_RGB_OUTPUT = $C250;
C_RGB_TODISK = $C253;
C_RGB_COMPRESS = $C254;
C_JPEG_COMPRESSION = $C255;
C_RGB_DISPDEV = $C256;
C_RGB_HARDDEV = $C259;
C_RGB_PATH = $C25A;
C_BITMAP_DRAWER = $C25B;
C_RGB_FILE = $C260;
C_RGB_OVASPECT = $C270;
C_RGB_ANIMTYPE = $C271;
C_RENDER_ALL = $C272;
C_REND_FROM = $C273;
C_REND_TO = $C274;
C_REND_NTH = $C275;
C_PAL_TYPE = $C276;
C_RND_TURBO = $C277;
C_RND_MIP = $C278;
C_BGND_METHOD = $C279;
C_AUTO_REFLECT = $C27A;
C_VP_FROM = $C27B;
C_VP_TO = $C27C;
C_VP_NTH = $C27D;
C_REND_TSTEP = $C27E;
C_VP_TSTEP = $C27F;
C_SRDIAM = $C280;
C_SRDEG = $C290;
C_SRSEG = $C2A0;
C_SRDIR = $C2B0;
C_HETOP = $C2C0;
C_HEBOT = $C2D0;
C_HEHT = $C2E0;
C_HETURNS = $C2F0;
C_HEDEG = $C300;
C_HESEG = $C310;
C_HEDIR = $C320;
C_QUIKSTUFF = $C330;
C_SEE_LIGHTS = $C340;
C_SEE_CAMERAS = $C350;
C_SEE_3D = $C360;
C_MESHSEL = $C370;
C_MESHUNSEL = $C380;
C_POLYSEL = $C390;
C_POLYUNSEL = $C3A0;
C_SHPLOCAL = $C3A2;
C_MSHLOCAL = $C3A4;
C_NUM_FORMAT = $C3B0;
C_ARCH_DENOM = $C3C0;
C_IN_DEVICE = $C3D0;
C_MSCALE = $C3E0;
C_COMM_PORT = $C3F0;
C_TAB_BASES = $C400;
C_TAB_DIVS = $C410;
C_MASTER_SCALES = $C420;
C_SHOW_1STVERT = $C430;
C_SHAPER_OK = $C440;
C_LOFTER_OK = $C450;
C_EDITOR_OK = $C460;
C_KEYFRAMER_OK = $C470;
C_PICKSIZE = $C480;
C_MAPTYPE = $C490;
C_MAP_DISPLAY = $C4A0;
C_TILE_XY = $C4B0;
C_MAP_XYZ = $C4C0;
C_MAP_SCALE = $C4D0;
C_MAP_MATRIX_OLD = $C4E0;
C_MAP_MATRIX = $C4E1;
C_MAP_WID_HT = $C4F0;
C_OBNAME = $C500;
C_CAMNAME = $C510;
C_LTNAME = $C520;
C_CUR_MNAME = $C525;
C_CURMTL_FROM_MESH = $C526;
C_GET_SHAPE_MAKE_FACES = $C527;
C_DETAIL = $C530;
C_VERTMARK = $C540;
C_MSHAX = $C550;
C_MSHCP = $C560;
C_USERAX = $C570;
C_SHOOK = $C580;
C_RAX = $C590;
C_STAPE = $C5A0;
C_LTAPE = $C5B0;
C_ETAPE = $C5C0;
C_KTAPE = $C5C8;
C_SPHSEGS = $C5D0;
C_GEOSMOOTH = $C5E0;
C_HEMISEGS = $C5F0;
C_PRISMSEGS = $C600;
C_PRISMSIDES = $C610;
C_TUBESEGS = $C620;
C_TUBESIDES = $C630;
C_TORSEGS = $C640;
C_TORSIDES = $C650;
C_CONESIDES = $C660;
C_CONESEGS = $C661;
C_NGPARMS = $C670;
C_PTHLEVEL = $C680;
C_MSCSYM = $C690;
C_MFTSYM = $C6A0;
C_MTTSYM = $C6B0;
C_SMOOTHING = $C6C0;
C_MODICOUNT = $C6D0;
C_FONTSEL = $C6E0;
C_TESS_TYPE = $C6f0;
C_TESS_TENSION = $C6f1;
C_SEG_START = $C700;
C_SEG_END = $C705;
C_CURTIME = $C710;
C_ANIMLENGTH = $C715;
C_PV_FROM = $C720;
C_PV_TO = $C725;
C_PV_DOFNUM = $C730;
C_PV_RNG = $C735;
C_PV_NTH = $C740;
C_PV_TYPE = $C745;
C_PV_METHOD = $C750;
C_PV_FPS = $C755;
C_VTR_FRAMES = $C765;
C_VTR_HDTL = $C770;
C_VTR_HD = $C771;
C_VTR_TL = $C772;
C_VTR_IN = $C775;
C_VTR_PK = $C780;
C_VTR_SH = $C785;
C_WORK_MTLS = $C790;

Material chunks

C_WORK_MTLS_2 = $C792;

Old-style – now ignored

C_WORK_MTLS_3 = $C793;

Old-style – now ignored

C_WORK_MTLS_4 = $C794;

Old-style – now ignored

C_WORK_MTLS_5 = $CB00;

Old-style – now ignored

C_WORK_MTLS_6 = $CB01;

Old-style – now ignored

C_WORK_MTLS_7 = $CB02;

Old-style – now ignored

C_WORK_MTLS_8 = $CB03;

Old-style – now ignored

C_WORKMTL = $CB04;

Old-style – now ignored

C_SXP_TEXT_DATA = $CB10;
C_SXP_TEXT2_DATA = $CB20;
C_SXP_OPAC_DATA = $CB11;
C_SXP_BUMP_DATA = $CB12;
C_SXP_SPEC_DATA = $CB24;
C_SXP_SHIN_DATA = $CB13;
C_SXP_SELFI_DATA = $CB28;
C_SXP_TEXT_MASKDATA = $CB30;
C_SXP_TEXT2_MASKDATA = $CB32;
C_SXP_OPAC_MASKDATA = $CB34;
C_SXP_BUMP_MASKDATA = $CB36;
C_SXP_SPEC_MASKDATA = $CB38;
C_SXP_SHIN_MASKDATA = $CB3A;
C_SXP_SELFI_MASKDATA = $C3CB;
C_SXP_REFL_MASKDATA = $CB3E;
C_BGTYPE = $C7A1;
C_MEDTILE = $C7B0;
C_LO_CONTRAST = $C7D0;

Contrast

C_HI_CONTRAST = $C7D1;
C_FROZ_DISPLAY = $C7E0;

3d frozen display

C_BOOLWELD = $C7f0;

Booleans

C_BOOLTYPE = $C7f1;
C_ANG_THRESH = $C900;
C_SS_THRESH = $C901;
C_TEXTURE_BLUR_DEFAULT = $C903;
C_MAPDRAWER = $CA00;
C_MAPDRAWER1 = $CA01;
C_MAPDRAWER2 = $CA02;
C_MAPDRAWER3 = $CA03;
C_MAPDRAWER4 = $CA04;
C_MAPDRAWER5 = $CA05;
C_MAPDRAWER6 = $CA06;
C_MAPDRAWER7 = $CA07;
C_MAPDRAWER8 = $CA08;
C_MAPDRAWER9 = $CA09;
C_MAPDRAWER_ENTRY = $CA10;
C_BACKUP_FILE = $CA20;

system options

C_DITHER_256 = $CA21;
C_SAVE_LAST = $CA22;
C_USE_ALPHA = $CA23;
C_TGA_DEPTH = $CA24;
C_REND_FIELDS = $CA25;
C_REFLIP = $CA26;
C_SEL_ITEMTOG = $CA27;
C_SEL_RESET = $CA28;
C_STICKY_KEYINF = $CA29;
C_WELD_THRESHOLD = $CA2A;
C_ZCLIP_POINT = $CA2B;
C_ALPHA_SPLIT = $CA2C;
C_KF_SHOW_BACKFACE = $CA30;
C_OPTIMIZE_LOFT = $CA40;
C_TENS_DEFAULT = $CA42;
C_CONT_DEFAULT = $CA44;
C_BIAS_DEFAULT = $CA46;
C_DXFNAME_SRC = $CA50;
C_AUTO_WELD = $CA60;
C_AUTO_UNIFY = $CA70;
C_AUTO_SMOOTH = $CA80;
C_DXF_SMOOTH_ANG = $CA90;
C_SMOOTH_ANG = $CAA0;
C_NET_USE_VPOST = $CC00;

Special network-use chunks

C_NET_USE_GAMMA = $CC10;
C_NET_FIELD_ORDER = $CC20;
C_BLUR_FRAMES = $CD00;
C_BLUR_SAMPLES = $CD10;
C_BLUR_DUR = $CD20;
C_HOT_METHOD = $CD30;
C_HOT_CHECK = $CD40;
C_PIXEL_SIZE = $CD50;
C_DISP_GAMMA = $CD60;
C_FBUF_GAMMA = $CD70;
C_FILE_OUT_GAMMA = $CD80;
C_FILE_IN_GAMMA = $CD82;
C_GAMMA_CORRECT = $CD84;
C_APPLY_DISP_GAMMA = $CD90;
C_APPLY_FBUF_GAMMA = $CDA0;

OBSOLETE

C_APPLY_FILE_GAMMA = $CDB0;

OBSOLETE

C_FORCE_WIRE = $CDC0;

OBSOLETE

C_RAY_SHADOWS = $CDD0;
C_MASTER_AMBIENT = $CDE0;
C_SUPER_SAMPLE = $CDF0;
C_OBJECT_MBLUR = $CE00;
C_MBLUR_DITHER = $CE10;
C_DITHER_24 = $CE20;
C_SUPER_BLACK = $CE30;
C_SAFE_FRAME = $CE40;
C_VIEW_PRES_RATIO = $CE50;
C_BGND_PRES_RATIO = $CE60;
C_NTH_SERIAL_NUM = $CE70;
VPDATA = $D000;

Video Post

P_QUEUE_ENTRY = $D100;
P_QUEUE_IMAGE = $D110;
P_QUEUE_USEIGAMMA = $D114;
P_QUEUE_PROC = $D120;
P_QUEUE_SOLID = $D130;
P_QUEUE_GRADIENT = $D140;
P_QUEUE_KF = $D150;
P_QUEUE_MOTBLUR = $D152;
P_QUEUE_MB_REPEAT = $D153;
P_QUEUE_NONE = $D160;
P_QUEUE_RESIZE = $D180;
P_QUEUE_OFFSET = $D185;
P_QUEUE_ALIGN = $D190;
P_CUSTOM_SIZE = $D1a0;
P_ALPH_NONE = $D210;
P_ALPH_PSEUDO = $D220;
P_ALPH_OP_PSEUDO = $D221;

Old Chunk

P_ALPH_BLUR = $D222;

Old Chunk

P_ALPH_PCOL = $D225;

Replaces pseudo

P_ALPH_C0 = $D230;
P_ALPH_OP_KEY = $D231;
P_ALPH_KCOL = $D235;
P_ALPH_OP_NOCONV = $D238;
P_ALPH_IMAGE = $D240;
P_ALPH_ALPHA = $D250;
P_ALPH_QUES = $D260;
P_ALPH_QUEIMG = $D265;
P_ALPH_CUTOFF = $D270;
P_ALPHANEG = $D280;
P_TRAN_NONE = $D300;
P_TRAN_IMAGE = $D310;
P_TRAN_FRAMES = $D312;
P_TRAN_FADEIN = $D320;
P_TRAN_FADEOUT = $D330;
P_TRANNEG = $D340;
P_RANGES = $D400;
P_PROC_DATA = $D500;
NodeTagCount = 6;
NodeTags: array[1..NodeTagCount] of Word = (TARGET_NODE_TAG, OBJECT_NODE_TAG, CAMERA_NODE_TAG, LIGHT_NODE_TAG, L_TARGET_NODE_TAG, SPOTLIGHT_NODE_TAG );

number of entries in node tag list


GLSysHelp v.2.1: Formats.m3DSTypes

Unit Formats.m3DSTypes

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TPoint3DS |
Record TFColor3DS |
Packed Record TFace3DS |
Record TTexVert3DS |
Record TTrackHeader3DS |
Record TKeyHeader3DS |
Record TKFRotKey3DS |
Record TChunkListEntry3DS |
Record TChunkList3DS |
Record TNodeList |
Record TDatabase3DS |
Record TViewSize3DS |
Record TOrthoView3DS |
Record TUserView3DS |
Record TViewport3DS |
Record TShadowSets3DS |
Record TMeshSet3DS |
Record TFogSettings3DS |
Record TLayerFogSettings3DS |
Record TDCueSettings3DS |
Record TAtmosphere3DS |
Record TVGradientBgnd3DS |
Record TBackground3DS |
Record TACubic3DS |
Record TBitmap3DS |
Record TMapSet3DS |
Record TRMapSet3DS |
Record TMaterial3DS |
Record TMapInfo3DS |
Record TObjMat3DS |
Record TMesh3DS |
Record TSpotShadow3DS |
Record TSpotCone3DS |
Record TSpotProjector3DS |
Record TSpotLight3DS |
Record TLiteAttenuate3DS |
Record TLight3DS |
Record TCamRanges3DS |
Record TCamera3DS |
Record TKFKeyInfo3DS |
Record TKFSegment3DS |
Record TKFSets3DS |
Record TKFCamera3DS |
Record TKFAmbient3DS |
Record TKFMesh3DS |
Record TKFOmni3DS |
Record TKFSpot3DS |
Record TXDataRaw3DS |
Record TColorF |
Record TColor24 |
Record TFog |
Record TLayerFog |
Record TDistanceCue |
Record TViewStandard |
Record TViewUser |
Record TMatAcubic |
Record TIpasData |
Record TPointArray |
Record TPointFlagArray |
Record TFaceArray |
Record TMshMatGroup |
Record TSmoothGroup |
Record TTexVerts |
Record TMeshTextureInfo |
Record TDlSpotlight |
Record TDlLocalShadow2 |
Record TNCamera |
Record TCamRanges |
Record TViewportLayout |
Record TViewportSize |
Record TViewportData |
Record TKFHdr |
Record TKFSeg |
Record TNodeHdr |
Record TBoundBox |
Record TPosTrackTag |
Record TColTrackTag |
Record TRotTrackTag |
Record TScaleTrackTag |
Record TMorphTrackTag |
Record THideTrackTag |
Record TFovTrackTag |
Record TRollTrackTag |
Record THotTrackTag |
Record TFallTrackTag |
Record TXDataEntry |
Record TChunkData |
Record TChunk3DS |

Types

PACubic3DS = ˆTACubic3DS;
PAtmosphere3DS = ˆTAtmosphere3DS;
PBackground3DS = ˆTBackground3DS;
PBitmap3DS = ˆTBitmap3DS;
PBitmapBgnd3DS = ˆTBitmapBgnd3DS;
PBitMapName = PChar3DS;
PBoundBox = ˆTBoundBox;
PCamera3DS = ˆTCamera3DS;
PCamRanges = ˆTCamRanges;
PCamRanges3DS = ˆTCamRanges3DS;
PCardinalArray = ˆTCardinalArray;
PChar3DS = PAnsiChar;
PChunk3DS = ˆTChunk3DS;
PChunkList = ˆTChunkList;
PChunkList3DS = ˆTChunkList3DS;
PChunkListEntry3DS = ˆTChunkListEntry3DS;
PColor24 = ˆTColor24;
PColorF = ˆTColorF;
PColTrackTag = ˆTColTrackTag;
PDatabase3DS = ˆTDatabase3DS;
PDCueSettings3DS = ˆTDCueSettings3DS;
PDistanceCue = ˆTDistanceCue;
PDlExclude = PChar3DS;
PDlInnerRange = ˆTDlInnerRange;
PDlLocalShadow2 = ˆTDlLocalShadow2;
PDlMultiplier = ˆTDlMultiplier;
PDlOuterRange = ˆTDlOuterRange;
PDlRayBias = ˆTDlRayBias;
PDlSpotAspect = ˆTDlSpotAspect;
PDlSpotlight = ˆTDlSpotlight;
PDlSpotProjector = PChar3DS;
PDlSpotRoll = ˆTDlSpotRoll;
PFace3DS = ˆTFace3DS;
PFaceArray = ˆTFaceArray;
PFaceList = ˆTFaceList;
PFallTrackTag = ˆTFallTrackTag;
PFColor3DS = ˆTFColor3DS;
PFColorList = ˆTFColorList;
PFloatPercentage = ˆTFloatPercentage;
PFog = ˆTFog;
PFogSettings3DS = ˆTFogSettings3DS;
PFovTrackTag = ˆTFovTrackTag;
PHideTrackTag = ˆTHideTrackTag;
PHiShadowBias = ˆTHiShadowBias;
PHotTrackTag = ˆTHotTrackTag;
PInstanceName = PChar3DS;
PIntegerArray = ˆTIntegerArray;
PIntPercentage = ˆTIntPercentage;
PIpasData = ˆTIpasData;
PKeyHeader3DS = ˆTKeyHeader3DS;
PKeyHeaderList = ˆTKeyHeaderList;
PKFAmbient3DS = ˆTKFAmbient3DS;
PKFCamera3DS = ˆTKFCamera3DS;
PKFCurtime = ˆTKFCurtime;
PKFHdr = ˆTKFHdr;
PKFId = ˆTKFId;
PKFKeyInfo3DS = ˆTKFKeyInfo3DS;
PKFMesh3DS = ˆTKFMesh3DS;
PKFMorphKey3DS = ˆTKFMorphKey3DS;
PKFMorphKeyList = ˆTKFMorphKeyList;
PKFOmni3DS = ˆTKFOmni3DS;
PKFRotKey3DS = ˆTKFRotKey3DS;
PKFRotKeyList = ˆTKFRotKeyList;
PKFSeg = ˆTKFSeg;
PKFSegment3DS = ˆTKFSegment3DS;
PKFSets3DS = ˆTKFSets3DS;
PKFSpot3DS = ˆTKFSpot3DS;
PLayerFog = ˆTLayerFog;
PLayerFogSettings3DS = ˆTLayerFogSettings3DS;
PLight3DS = ˆTLight3DS;
PLinColor24 = ˆTLinColor24;
PLinColorF = ˆTLinColorF;
PLiteAttenuate3DS = ˆTLiteAttenuate3DS;
PLoShadowBias = ˆTLoShadowBias;
PM3dVersion = ˆTM3dVersion;
PMapInfo3DS = ˆTMapInfo3DS;
PMapSet3DS = ˆTMapSet3DS;
PMasterScale = ˆTMasterScale;
PMatAcubic = ˆTMatAcubic;
PMatBumpPercent = ˆTMatBumpPercent;
PMaterial3DS = ˆTMaterial3DS;
PMatMapAng = ˆTMatMapAng;
PMatMapBCol = ˆTMatMapBCol;
PMatMapCol1 = ˆTMatMapCol1;
PMatMapCol2 = ˆTMatMapCol2;
PMatMapGCol = ˆTMatMapGCol;
PMatMapname = PChar3DS;
PMatMapRCol = ˆTMatMapRCol;
PMatMapTexblur = ˆTMatMapTexblur;
PMatMapTiling = ˆTMatMapTiling;
PMatMapUOffset = ˆTMatMapUOffset;
PMatMapUScale = ˆTMatMapUScale;
PMatMapVOffset = ˆTMatMapVOffset;
PMatMapVScale = ˆTMatMapVScale;
PMatName = PChar3DS;
PMatShading = ˆTMatShading;
PMatWireSize = ˆTMatWireSize;
PMesh3DS = ˆTMesh3DS;
PMeshColor = ˆTMeshColor;
PMeshMatrix = ˆTMeshMatrix;
PMeshSet3DS = ˆTMeshSet3DS;
PMeshTextureInfo = ˆTMeshTextureInfo;
PMeshVersion = ˆTMeshVersion;
PMorphSmooth = ˆTMorphSmooth;
PMorphTrackTag = ˆTMorphTrackTag;
PMshBoxmap = ˆTMshBoxmap;
PMshMatGroup = ˆTMshMatGroup;
PNamedObject = PChar3DS;
PNCamera = ˆTNCamera;
PNDirectLight = ˆTNDirectLight;
PNodeHdr = ˆTNodeHdr;
PNodeList = ˆTNodeList;
PObjMat3DS = ˆTObjMat3DS;
PObjMatList = ˆTObjMatList;
POConsts = ˆTOConsts;
POrthoView3DS = ˆTOrthoView3DS;
PPivot = ˆTPivot;
PPoint3DS = ˆTPoint3DS;
PPointArray = ˆTPointArray;
PPointFlagArray = ˆTPointFlagArray;
PPointList = ˆTPointList;
PPosTrackTag = ˆTPosTrackTag;
PProcName = PChar3DS;
PRayBias = ˆTRayBias;
PRollTrackTag = ˆTRollTrackTag;
PRotTrackTag = ˆTRotTrackTag;
PScaleTrackTag = ˆTScaleTrackTag;
PShadowFilter = ˆTShadowFilter;
PShadowMapSize = ˆTShadowMapSize;
PShadowRange = ˆTShadowRange;
PShadowSamples = ˆTShadowSamples;
PShadowSets3DS = ˆTShadowSets3DS;
PSingleList = ˆTSingleList;
PSmoothGroup = ˆTSmoothGroup;
PSpotCone3DS = ˆTSpotCone3DS;
PSpotLight3DS = ˆTSpotLight3DS;
PSpotProjector3DS = ˆTSpotProjector3DS;
PSpotShadow3DS = ˆTSpotShadow3DS;
PTexVert3DS = ˆTTexVert3DS;
PTexVertList = ˆTTexVertList;
PTexVerts = ˆTTexVerts;
PTrackHeader3DS = ˆTTrackHeader3DS;
PUserView3DS = ˆTUserView3DS;
PVGradient = ˆTVGradient;
PVGradientBgnd3DS = ˆTVGradientBgnd3DS;
PViewCamera = PChar3DS;
PViewport3DS = ˆTViewport3DS;
PViewportData = ˆTViewportData;
PViewportData3 = ˆTViewportData3;
PViewportLayout = ˆTViewportLayout;
PViewportSize = ˆTViewportSize;
PViewSize3DS = ˆTViewSize3DS;
PViewStandard = ˆTViewStandard;
PViewUser = ˆTViewUser;
PWordList = ˆTWordList;
PXDataAppName = PChar3DS;
PXDataDouble = ˆTXDataDouble;
PXDataEntry = ˆTXDataEntry;
PXDataFloat = ˆTXDataFloat;
PXDataLong = ˆTXDataLong;
PXDataRaw3DS = ˆTXDataRaw3DS;
PXDataShort = ˆTXDataShort;
PXDataString = PChar3DS;
PXDataVoid = ˆTXDataVoid;
String3DS = UTF8String;
String64 = string[64];
TAtmosphereType3DS = (...);
TBackgroundType3DS = (...);
TBitmapBgnd3DS = AnsiString;
TCardinalArray = array[0..MaxInt div (2*SizeOf(Cardinal))] of Cardinal;
TChunkList = array[0..MaxInt div (2*SizeOf(TChunkListEntry3DS))] of TChunkListEntry3DS;
TConeStyle3DS = (...);
TDBType3DS = (...);
TDlInnerRange = TDlOuterRange;
TDlMultiplier = Single;
TDlOuterRange = Single;
TDlRayBias = Single;
TDlSpotAspect = Single;
TDlSpotRoll = Single;
TDumpLevel = (...);
TFaceList = array[0..MaxInt div (2*SizeOf(TFace3DS))] of TFace3DS;
TFColorList = array[0..MaxInt div (2*SizeOf(TFColor3DS))] of TFColor3DS;
TFilterType3DS = (...);
TFloatPercentage = Single;
THiShadowBias = TLoShadowBias;
TIntegerArray = array[0..MaxInt div (2*SizeOf(Integer))] of Integer;
TIntPercentage = SmallInt;
TKeyHeaderList = array[0..MaxInt div (2*SizeOf(TKeyHeader3DS))] of TKeyHeader3DS;
TKFCurtime = Integer;
TKFId = SmallInt;
TKFMorphKey3DS = String;
TKFMorphKeyList = array[0..MaxInt div (2*SizeOf(TKFMorphKey3DS))] of TKFMorphKey3DS;
TKFRotKeyList = array[0..MaxInt div (2*SizeOf(TKFRotKey3DS))] of TKFRotKey3DS;
TLayerFogFalloff3DS = (...);
TLinColor24 = TColor24;
TLinColorF = TColorF;
TLoShadowBias = Single;
TM3dVersion = Cardinal;
TMasterScale = Single;
TMatBumpPercent = TIntPercentage;
TMatMapAng = Single;
TMatMapBCol = TMatMapGCol;
TMatMapCol1 = TMatMapBCol;
TMatMapCol2 = TMatMapCol1;
TMatMapGCol = TMatMapRCol;
TMatMapRCol = TLinColor24;
TMatMapTexblur = Single;
TMatMapTiling = Word;
TMatMapUOffset = Single;
TMatMapUScale = Single;
TMatMapVOffset = TMatMapUOffset;
TMatMapVScale = TMatMapUScale;
TMatShading = SmallInt;
TMatWireSize = Single;
TMeshColor = Byte;
TMeshMatrix = array[0..11] of Single;
TMeshVersion = Integer;
TMorphSmooth = Single;
TMshBoxmap = array[0..5] of AnsiString;
TNDirectLight = TPoint3DS;
TObjMatList = array[0..MaxInt div (2*SizeOf(TObjMat3DS))] of TObjMat3DS;
TOConsts = TPoint3DS;
TPivot = TPoint3DS;
TPointList = array[0..MaxInt div (2*SizeOf(TPoint3DS))] of TPoint3DS;
TRayBias = THiShadowBias;
TReleaseLevel = (...);
TShadeType3DS = (...);
TShadowFilter = Single;
TShadowMapSize = SmallInt;
TShadowRange = Integer;
TShadowSamples = SmallInt;
TShadowStyle3DS = (...);
TSingleList = array[0..MaxInt div (2*SizeOf(Single))] of Single;
TSolidBgnd3DS = TFColor3DS;
TTargetType3DS = (...);
TTexVertList = array[0..MaxInt div (2*SizeOf(TTexVert3DS))] of TTexVert3DS;
TTileType3DS = (...);
TTintType3DS = (...);
TVGradient = Single;
TViewportData3 = TViewportData;
TViewType3DS = (...);
TWordList = array[0..MaxInt div (2*SizeOf(Word))] of Word;
TXDataDouble = Double;
TXDataFloat = Single;
TXDataLong = Integer;
TXDataShort = SmallInt;
TXDataVoid = Pointer;

Description

Types

PACubic3DS = ˆTACubic3DS;

used by AddMaterial3DS

PAtmosphere3DS = ˆTAtmosphere3DS;
PBackground3DS = ˆTBackground3DS;
PBitmap3DS = ˆTBitmap3DS;

Cubic reflection Map defintion

PBitmapBgnd3DS = ˆTBitmapBgnd3DS;
PBitMapName = PChar3DS;
PBoundBox = ˆTBoundBox;
PCamera3DS = ˆTCamera3DS;
PCamRanges = ˆTCamRanges;
PCamRanges3DS = ˆTCamRanges3DS;

Camera atomosphere Ranges

PCardinalArray = ˆTCardinalArray;
PChar3DS = PAnsiChar;
PChunk3DS = ˆTChunk3DS;
PChunkList = ˆTChunkList;
PChunkList3DS = ˆTChunkList3DS;
PChunkListEntry3DS = ˆTChunkListEntry3DS;

internal database representation of file information

PColor24 = ˆTColor24;
PColorF = ˆTColorF;

inner datatypes not followed by a '3DS' to show they are locally used (mostly as a part of another chunk or while collecting specific data)

PColTrackTag = ˆTColTrackTag;
PDatabase3DS = ˆTDatabase3DS;
PDCueSettings3DS = ˆTDCueSettings3DS;
PDistanceCue = ˆTDistanceCue;
PDlExclude = PChar3DS;
PDlInnerRange = ˆTDlInnerRange;
PDlLocalShadow2 = ˆTDlLocalShadow2;
PDlMultiplier = ˆTDlMultiplier;
PDlOuterRange = ˆTDlOuterRange;
PDlRayBias = ˆTDlRayBias;
PDlSpotAspect = ˆTDlSpotAspect;
PDlSpotlight = ˆTDlSpotlight;
PDlSpotProjector = PChar3DS;
PDlSpotRoll = ˆTDlSpotRoll;
PFace3DS = ˆTFace3DS;
PFaceArray = ˆTFaceArray;
PFaceList = ˆTFaceList;
PFallTrackTag = ˆTFallTrackTag;
PFColor3DS = ˆTFColor3DS;
PFColorList = ˆTFColorList;
PFloatPercentage = ˆTFloatPercentage;
PFog = ˆTFog;
PFogSettings3DS = ˆTFogSettings3DS;

FallOff to the Bottom

PFovTrackTag = ˆTFovTrackTag;
PHideTrackTag = ˆTHideTrackTag;
PHiShadowBias = ˆTHiShadowBias;
PHotTrackTag = ˆTHotTrackTag;
PInstanceName = PChar3DS;
PIntegerArray = ˆTIntegerArray;
PIntPercentage = ˆTIntPercentage;
PIpasData = ˆTIpasData;
PKeyHeader3DS = ˆTKeyHeader3DS;
PKeyHeaderList = ˆTKeyHeaderList;
PKFAmbient3DS = ˆTKFAmbient3DS;

Ambient Light animation

PKFCamera3DS = ˆTKFCamera3DS;
PKFCurtime = ˆTKFCurtime;
PKFHdr = ˆTKFHdr;
PKFId = ˆTKFId;
PKFKeyInfo3DS = ˆTKFKeyInfo3DS;
PKFMesh3DS = ˆTKFMesh3DS;

used by ObjectMotion3DS

PKFMorphKey3DS = ˆTKFMorphKey3DS;
PKFMorphKeyList = ˆTKFMorphKeyList;

Name of Target Morph object

PKFOmni3DS = ˆTKFOmni3DS;

used by OmnilightMotion3DS

PKFRotKey3DS = ˆTKFRotKey3DS;
PKFRotKeyList = ˆTKFRotKeyList;
PKFSeg = ˆTKFSeg;
PKFSegment3DS = ˆTKFSegment3DS;
PKFSets3DS = ˆTKFSets3DS;
PKFSpot3DS = ˆTKFSpot3DS;
PLayerFog = ˆTLayerFog;
PLayerFogSettings3DS = ˆTLayerFogSettings3DS;
PLight3DS = ˆTLight3DS;

omni and spotlight settings

PLinColor24 = ˆTLinColor24;
PLinColorF = ˆTLinColorF;
PLiteAttenuate3DS = ˆTLiteAttenuate3DS;

Light Attenuation settings

PLoShadowBias = ˆTLoShadowBias;
PM3dVersion = ˆTM3dVersion;
PMapInfo3DS = ˆTMapInfo3DS;

Texture Map icon placement

PMapSet3DS = ˆTMapSet3DS;

Bit Map definition Structure to all Map settings

PMasterScale = ˆTMasterScale;
PMatAcubic = ˆTMatAcubic;
PMatBumpPercent = ˆTMatBumpPercent;
PMaterial3DS = ˆTMaterial3DS;
PMatMapAng = ˆTMatMapAng;
PMatMapBCol = ˆTMatMapBCol;
PMatMapCol1 = ˆTMatMapCol1;
PMatMapCol2 = ˆTMatMapCol2;
PMatMapGCol = ˆTMatMapGCol;
PMatMapname = PChar3DS;
PMatMapRCol = ˆTMatMapRCol;
PMatMapTexblur = ˆTMatMapTexblur;
PMatMapTiling = ˆTMatMapTiling;
PMatMapUOffset = ˆTMatMapUOffset;
PMatMapUScale = ˆTMatMapUScale;
PMatMapVOffset = ˆTMatMapVOffset;
PMatMapVScale = ˆTMatMapVScale;
PMatName = PChar3DS;
PMatShading = ˆTMatShading;
PMatWireSize = ˆTMatWireSize;
PMesh3DS = ˆTMesh3DS;

Mesh object definition

PMeshColor = ˆTMeshColor;
PMeshMatrix = ˆTMeshMatrix;

Mesh definition

PMeshSet3DS = ˆTMeshSet3DS;
PMeshTextureInfo = ˆTMeshTextureInfo;
PMeshVersion = ˆTMeshVersion;
PMorphSmooth = ˆTMorphSmooth;
PMorphTrackTag = ˆTMorphTrackTag;
PMshBoxmap = ˆTMshBoxmap;
PMshMatGroup = ˆTMshMatGroup;
PNamedObject = PChar3DS;
PNCamera = ˆTNCamera;
PNDirectLight = ˆTNDirectLight;
PNodeHdr = ˆTNodeHdr;
PNodeList = ˆTNodeList;

3D Studio .MLI file

PObjMat3DS = ˆTObjMat3DS;

Material assignments by face

PObjMatList = ˆTObjMatList;
POConsts = ˆTOConsts;
POrthoView3DS = ˆTOrthoView3DS;
PPivot = ˆTPivot;
PPoint3DS = ˆTPoint3DS;
PPointArray = ˆTPointArray;
PPointFlagArray = ˆTPointFlagArray;
PPointList = ˆTPointList;
PPosTrackTag = ˆTPosTrackTag;
PProcName = PChar3DS;
PRayBias = ˆTRayBias;
PRollTrackTag = ˆTRollTrackTag;
PRotTrackTag = ˆTRotTrackTag;
PScaleTrackTag = ˆTScaleTrackTag;
PShadowFilter = ˆTShadowFilter;
PShadowMapSize = ˆTShadowMapSize;
PShadowRange = ˆTShadowRange;
PShadowSamples = ˆTShadowSamples;
PShadowSets3DS = ˆTShadowSets3DS;
PSingleList = ˆTSingleList;
PSmoothGroup = ˆTSmoothGroup;
PSpotCone3DS = ˆTSpotCone3DS;

Cone visibility settings

PSpotLight3DS = ˆTSpotLight3DS;

spotlight settings

PSpotProjector3DS = ˆTSpotProjector3DS;

spotlight projectio Bitmap

PSpotShadow3DS = ˆTSpotShadow3DS;

Spotlight shadow settings

PTexVert3DS = ˆTTexVert3DS;
PTexVertList = ˆTTexVertList;
PTexVerts = ˆTTexVerts;
PTrackHeader3DS = ˆTTrackHeader3DS;
PUserView3DS = ˆTUserView3DS;
PVGradient = ˆTVGradient;
PVGradientBgnd3DS = ˆTVGradientBgnd3DS;

Color of Solid background

PViewCamera = PChar3DS;
PViewport3DS = ˆTViewport3DS;
PViewportData = ˆTViewportData;
PViewportData3 = ˆTViewportData3;
PViewportLayout = ˆTViewportLayout;
PViewportSize = ˆTViewportSize;
PViewSize3DS = ˆTViewSize3DS;
PViewStandard = ˆTViewStandard;
PViewUser = ˆTViewUser;
PWordList = ˆTWordList;
PXDataAppName = PChar3DS;
PXDataDouble = ˆTXDataDouble;
PXDataEntry = ˆTXDataEntry;
PXDataFloat = ˆTXDataFloat;
PXDataLong = ˆTXDataLong;
PXDataRaw3DS = ˆTXDataRaw3DS;
PXDataShort = ˆTXDataShort;
PXDataString = PChar3DS;
PXDataVoid = ˆTXDataVoid;
String3DS = UTF8String;
String64 = string[64];
TAtmosphereType3DS = (...);
Values
  • atNoAtmo
  • atUseFog: no active atmospherics
  • atUseLayerFog: Fog atmospheric
  • atUseDistanceCue: layer Fog atmospheric
TBackgroundType3DS = (...);

enumerate list of possible backgrounds used in file

Values
  • btNoBgnd
  • btUseSolidBgnd
  • btUseVGradientBgnd
  • btUseBitmapBgnd
TBitmapBgnd3DS = AnsiString;
TCardinalArray = array[0..MaxInt div (2*SizeOf(Cardinal))] of Cardinal;
TChunkList = array[0..MaxInt div (2*SizeOf(TChunkListEntry3DS))] of TChunkListEntry3DS;
TConeStyle3DS = (...);

Spotlight projection cone shape

Values
  • csCircular
  • csRectangular
TDBType3DS = (...);

Database type settings

Values
  • dbUnknown
  • dbMeshFile: database has not been created yet
  • dbProjectFile: 3D Studio .3DS file
  • dbMaterialFile: 3D Studio .PRJ file
TDlInnerRange = TDlOuterRange;
TDlMultiplier = Single;
TDlOuterRange = Single;
TDlRayBias = Single;
TDlSpotAspect = Single;
TDlSpotRoll = Single;
TDumpLevel = (...);

for TStringList —————- commonly used structures ———————————-

Values
  • dlTerseDump
  • dlMediumDump
  • dlMaximumDump
TFaceList = array[0..MaxInt div (2*SizeOf(TFace3DS))] of TFace3DS;
TFColorList = array[0..MaxInt div (2*SizeOf(TFColor3DS))] of TFColor3DS;
TFilterType3DS = (...);
Values
  • ftPyramidal
  • ftSummedArea
TFloatPercentage = Single;
THiShadowBias = TLoShadowBias;
TIntegerArray = array[0..MaxInt div (2*SizeOf(Integer))] of Integer;
TIntPercentage = SmallInt;
TKeyHeaderList = array[0..MaxInt div (2*SizeOf(TKeyHeader3DS))] of TKeyHeader3DS;
TKFCurtime = Integer;
TKFId = SmallInt;
TKFMorphKey3DS = String;

Object Morph key

TKFMorphKeyList = array[0..MaxInt div (2*SizeOf(TKFMorphKey3DS))] of TKFMorphKey3DS;
TKFRotKeyList = array[0..MaxInt div (2*SizeOf(TKFRotKey3DS))] of TKFRotKey3DS;
TLayerFogFalloff3DS = (...);

distance cue atmospheric

Values
  • lfNoFall
  • lfTopFall: no FallOff
  • lfBottomFall: FallOff to the Top
TLinColor24 = TColor24;
TLinColorF = TColorF;
TLoShadowBias = Single;
TM3dVersion = Cardinal;
TMasterScale = Single;
TMatBumpPercent = TIntPercentage;
TMatMapAng = Single;
TMatMapBCol = TMatMapGCol;
TMatMapCol1 = TMatMapBCol;
TMatMapCol2 = TMatMapCol1;
TMatMapGCol = TMatMapRCol;
TMatMapRCol = TLinColor24;
TMatMapTexblur = Single;
TMatMapTiling = Word;
TMatMapUOffset = Single;
TMatMapUScale = Single;
TMatMapVOffset = TMatMapUOffset;
TMatMapVScale = TMatMapUScale;
TMatShading = SmallInt;
TMatWireSize = Single;
TMeshColor = Byte;
TMeshMatrix = array[0..11] of Single;
TMeshVersion = Integer;
TMorphSmooth = Single;
TMshBoxmap = array[0..5] of AnsiString;
TNDirectLight = TPoint3DS;
TObjMatList = array[0..MaxInt div (2*SizeOf(TObjMat3DS))] of TObjMat3DS;
TOConsts = TPoint3DS;
TPivot = TPoint3DS;
TPointList = array[0..MaxInt div (2*SizeOf(TPoint3DS))] of TPoint3DS;
TRayBias = THiShadowBias;
TReleaseLevel = (...);
Values
  • rlRelease1
  • rlRelease2
  • rlRelease3
  • rlReleaseNotKnown
TShadeType3DS = (...);

used for shading field in TMaterial3DS structure

Values
  • stWire
  • stFlat
  • stGouraud
  • stPhong
  • stMetal
TShadowFilter = Single;
TShadowMapSize = SmallInt;
TShadowRange = Integer;
TShadowSamples = SmallInt;
TShadowStyle3DS = (...);
Values
  • ssUseShadowMap
  • ssUseRayTraceShadow
TSingleList = array[0..MaxInt div (2*SizeOf(Single))] of Single;
TSolidBgnd3DS = TFColor3DS;

Name of background Bitmap

TTargetType3DS = (...);
Values
  • ttLightTarget
  • ttCameraTarget
TTexVertList = array[0..MaxInt div (2*SizeOf(TTexVert3DS))] of TTexVert3DS;
TTileType3DS = (...);

used for tiling field in TBitmap3DS structure

Values
  • ttTile
  • ttDecal
  • ttBoth
TTintType3DS = (...);
Values
  • ttRGB
  • ttAlpha
  • ttRGBLumaTint
  • ttAlphaTint
  • ttRGBTint
TVGradient = Single;
TViewportData3 = TViewportData;
TViewType3DS = (...);
Values
  • vtNoView3DS
  • vtTopView3DS
  • vtBottomView3DS
  • vtLeftView3DS
  • vtRightView3DS
  • vtFrontView3DS
  • vtBackView3DS
  • vtUserView3DS
  • vtCameraView3DS
  • vtSpotlightView3DS
TWordList = array[0..MaxInt div (2*SizeOf(Word))] of Word;
TXDataDouble = Double;
TXDataFloat = Single;
TXDataLong = Integer;
TXDataShort = SmallInt;
TXDataVoid = Pointer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TPoint3DS

Record TPoint3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TPoint3DS = record

Description

3D point structure

Overview

Fields

Public | X: Single;
Public | Y: Single;
Public | Z: Single;

Description

Fields

Public X: Single;
Public Y: Single;
Public Z: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TFColor3DS

Record TFColor3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFColor3DS = record

Description

RGB Color components

Overview

Fields

Public | R: Single;
Public | G: Single;
Public | B: Single;

Description

Fields

Public R: Single;
Public G: Single;
Public B: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Packed Record TFace3DS

Packed Record TFace3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFace3DS = packed record

Description

Face List element

Overview

Fields

Public | V1: Word
Public | V2: Word
Public | V3: Word
Public | Flag: Word
Public | FaceRec: array[0..3] of Word

Description

Fields

Public V1: Word
Public V2: Word
Public V3: Word
Public Flag: Word
Public FaceRec: array[0..3] of Word


GLSysHelp v.2.1: Formats.m3DSTypes: Record TTexVert3DS

Record TTexVert3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TTexVert3DS = record

Description

Texture assignment coordinate

Overview

Fields

Public | U: Single;
Public | V: Single;

Description

Fields

Public U: Single;
Public V: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TTrackHeader3DS

Record TTrackHeader3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TTrackHeader3DS = record

Description

Global track settings

Overview

Fields

Public | Flags: Word;
Public | nu1: Integer;
Public | nu2: Integer;
Public | KeyCount: Integer;

Description

Fields

Public Flags: Word;
Public nu1: Integer;
Public nu2: Integer;
Public KeyCount: Integer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKeyHeader3DS

Record TKeyHeader3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKeyHeader3DS = record

Description

Animation key settings

Overview

Fields

Public | Time: Integer;
Public | RFlags: Word;
Public | Tension: Single;
Public | Continuity: Single;
Public | Bias: Single;
Public | EaseTo: Single;
Public | EaseFrom: Single;

Description

Fields

Public Time: Integer;
Public RFlags: Word;

Key's frame position

Public Tension: Single;

Spline terms used flag

Public Continuity: Single;

Flagged with $01

Public Bias: Single;

Flagged with $02

Public EaseTo: Single;

Flagged with $04

Public EaseFrom: Single;

Flagged with $08


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFRotKey3DS

Record TKFRotKey3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFRotKey3DS = record

Description

Rotation key

Overview

Fields

Public | Angle: Single;
Public | X: Single;
Public | Y: Single;
Public | Z: Single;

Description

Fields

Public Angle: Single;
Public X: Single;

Angle of Rotation

Public Y: Single;

Angle of Rotation

Public Z: Single;

Angle of Rotation


GLSysHelp v.2.1: Formats.m3DSTypes: Record TChunkListEntry3DS

Record TChunkListEntry3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TChunkListEntry3DS = record

Description

cross reference between Name and Chunk

Overview

Fields

Public | NameStr: String;
Public | Chunk: PChunk3DS;

Description

Fields

Public NameStr: String;
Public Chunk: PChunk3DS;

chunk name list


GLSysHelp v.2.1: Formats.m3DSTypes: Record TChunkList3DS

Record TChunkList3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TChunkList3DS = record

Description

list of cross references

Overview

Fields

Public | Count: Integer;
Public | List: PChunkList;

Description

Fields

Public Count: Integer;
Public List: PChunkList;

number of entries in List


GLSysHelp v.2.1: Formats.m3DSTypes: Record TNodeList

Record TNodeList

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TNodeList = record

Description

Overview

Fields

Public | ID: SmallInt;
Public | Tag: Word;
Public | Name: String;
Public | InstStr: String;
Public | ParentID: SmallInt;
Public | Next: PNodeList;

Description

Fields

Public ID: SmallInt;
Public Tag: Word;
Public Name: String;
Public InstStr: String;
Public ParentID: SmallInt;
Public Next: PNodeList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TDatabase3DS

Record TDatabase3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TDatabase3DS = record

Description

file database

Overview

Fields

Public | TopChunk: PChunk3DS;
Public | ObjListDirty: Boolean;
Public | MatListDirty: Boolean;
Public | NodeListDirty: Boolean;
Public | ObjList: PChunkList3DS;
Public | MatList: PChunkList3DS;
Public | NodeList: PChunkList3DS;

Description

Fields

Public TopChunk: PChunk3DS;
Public ObjListDirty: Boolean;

Top chunk in the file

Public MatListDirty: Boolean;

If True, than ObjList needs to be recreated

Public NodeListDirty: Boolean;

If True, than ObjList needs to be recreated

Public ObjList: PChunkList3DS;
Public MatList: PChunkList3DS;

Quick Cross references between names and database chunks

Public NodeList: PChunkList3DS;

Quick Cross references between names and database chunks


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewSize3DS

Record TViewSize3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewSize3DS = record

Description

Overview

Fields

Public | XPos: Word;
Public | YPos: Word;
Public | Width: Word;
Public | Height: Word;

Description

Fields

Public XPos: Word;
Public YPos: Word;
Public Width: Word;
Public Height: Word;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TOrthoView3DS

Record TOrthoView3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TOrthoView3DS = record

Description

Used to describe Top, Bottom, left, right, front and back views

Overview

Fields

Public | Center: TPoint3DS;
Public | Zoom: Single;

Description

Fields

Public Center: TPoint3DS;
Public Zoom: Single;

Center of orthogonal View


GLSysHelp v.2.1: Formats.m3DSTypes: Record TUserView3DS

Record TUserView3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TUserView3DS = record

Description

Overview

Fields

Public | Center: TPoint3DS;
Public | Zoom: Single;
Public | HorAng: Single;
Public | VerAng: Single;

Description

Fields

Public Center: TPoint3DS;

Used to describe User views

Public Zoom: Single;

Center of User View

Public HorAng: Single;

View Zoom factor

Public VerAng: Single;

Horizontal Angle of View


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewport3DS

Record TViewport3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewport3DS = record

Description

Viewport structure details the kind of View in a viewport

Overview

Fields

Public | AType: TViewType3DS;
Public | Size: TViewSize3DS;
Public | Ortho: TOrthoView3DS;
Public | User: TUserView3DS;
Public | CameraStr: String;

Description

Fields

Public AType: TViewType3DS;
Public Size: TViewSize3DS;

top, bottom, left, right, front, back, user and camera, spot

Public Ortho: TOrthoView3DS;

size of the viewport

Public User: TUserView3DS;

used for top, bottom, left, right, front, and back views

Public CameraStr: String;

Used for User views


GLSysHelp v.2.1: Formats.m3DSTypes: Record TShadowSets3DS

Record TShadowSets3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TShadowSets3DS = record

Description

global Shadow settings

Overview

Fields

Public | AType: TShadowStyle3DS;
Public | Bias: Single;
Public | RayBias: Single;
Public | MapSize: Smallint;
Public | Filter: Single;

Description

Fields

Public AType: TShadowStyle3DS;
Public Bias: Single;

either UseShadowMaps or UseRayTraceShadows

Public RayBias: Single;

Shadow Bias factor.

Public MapSize: Smallint;

Shadow ray Bias factor, Used in R3

Public Filter: Single;

Shadow Map Size


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMeshSet3DS

Record TMeshSet3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMeshSet3DS = record

Description

Overview

Fields

Public | MasterScale: Single;
Public | Shadow: TShadowSets3DS;
Public | AmbientLight: TFColor3DS;
Public | OConsts: TPoint3DS;

Description

Fields

Public MasterScale: Single;
Public Shadow: TShadowSets3DS;

master mesh Scale factor

Public AmbientLight: TFColor3DS;

Global Shadow settings

Public OConsts: TPoint3DS;

Ambient light Color


GLSysHelp v.2.1: Formats.m3DSTypes: Record TFogSettings3DS

Record TFogSettings3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFogSettings3DS = record

Description

Fog atmosphere parameters

Overview

Fields

Public | NearPlane: Single;
Public | NearDensity: Single;
Public | FarPlane: Single;
Public | FarDensity: Single;
Public | FogColor: TFColor3DS;
Public | FogBgnd: Boolean;

Description

Fields

Public NearPlane: Single;
Public NearDensity: Single;

near radius of Fog effect

Public FarPlane: Single;

near Fog Density

Public FarDensity: Single;

far radius of Fog effect

Public FogColor: TFColor3DS;

far Fog Density

Public FogBgnd: Boolean;

Color of Fog effect


GLSysHelp v.2.1: Formats.m3DSTypes: Record TLayerFogSettings3DS

Record TLayerFogSettings3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TLayerFogSettings3DS = record

Description

layered Fog atmosphere parameters

Overview

Fields

Public | ZMin: Single;
Public | ZMax: Single;
Public | Density: Single;
Public | FogColor: TFColor3DS;
Public | FallOff: TLayerFogFalloff3DS;
Public | FogBgnd: Boolean;

Description

Fields

Public ZMin: Single;
Public ZMax: Single;

lower bounds of Fog

Public Density: Single;

upper bounds of Fog

Public FogColor: TFColor3DS;

Fog Density

Public FallOff: TLayerFogFalloff3DS;

Fog Color

Public FogBgnd: Boolean;

FallOff style


GLSysHelp v.2.1: Formats.m3DSTypes: Record TDCueSettings3DS

Record TDCueSettings3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TDCueSettings3DS = record

Description

distance cue atmosphere parameters

Overview

Fields

Public | NearPlane: Single;
Public | NearDim: Single;
Public | FarPlane: Single;
Public | FarDim: Single;
Public | DCueBgnd: Boolean;

Description

Fields

Public NearPlane: Single;
Public NearDim: Single;

near radius of effect

Public FarPlane: Single;

near dimming factor

Public FarDim: Single;

far radius of effect

Public DCueBgnd: Boolean;

far dimming factor


GLSysHelp v.2.1: Formats.m3DSTypes: Record TAtmosphere3DS

Record TAtmosphere3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TAtmosphere3DS = record

Description

Overview

Fields

Public | Fog: TFogSettings3DS;
Public | LayerFog: TLayerFogSettings3DS;
Public | DCue: TDCueSettings3DS;
Public | ActiveAtmo: TAtmosphereType3DS;

Description

Fields

Public Fog: TFogSettings3DS;
Public LayerFog: TLayerFogSettings3DS;

Fog atmosphere settings

Public DCue: TDCueSettings3DS;

layered Fog atmosphere parameters

Public ActiveAtmo: TAtmosphereType3DS;

distance cue atmosphere parameters


GLSysHelp v.2.1: Formats.m3DSTypes: Record TVGradientBgnd3DS

Record TVGradientBgnd3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TVGradientBgnd3DS = record

Description

Overview

Fields

Public | GradPercent: Single;
Public | Top: TFColor3DS;
Public | Mid: TFColor3DS;
Public | Bottom: TFColor3DS;

Description

Fields

Public GradPercent: Single;
Public Top: TFColor3DS;

placement of Mid Color band, Ranges from 0-1

Public Mid: TFColor3DS;

color of Top band

Public Bottom: TFColor3DS;

color of Mid background band


GLSysHelp v.2.1: Formats.m3DSTypes: Record TBackground3DS

Record TBackground3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TBackground3DS = record

Description

Overview

Fields

Public | Bitmap: TBitmapBgnd3DS;
Public | Solid: TSolidBgnd3DS;
Public | VGradient: TVGradientBgnd3DS;
Public | BgndUsed: TBackgroundType3DS;

Description

Fields

Public Bitmap: TBitmapBgnd3DS;
Public Solid: TSolidBgnd3DS;
Public VGradient: TVGradientBgnd3DS;
Public BgndUsed: TBackgroundType3DS;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TACubic3DS

Record TACubic3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TACubic3DS = record

Description

Overview

Fields

Public | FirstFrame: Boolean;
Public | Flat: Boolean;
Public | Size: Integer;
Public | nthFrame: Integer;

Description

Fields

Public FirstFrame: Boolean;
Public Flat: Boolean;

True for First Frame Only

Public Size: Integer;

True for Flat Mirror reflection

Public nthFrame: Integer;

Map resolution


GLSysHelp v.2.1: Formats.m3DSTypes: Record TBitmap3DS

Record TBitmap3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TBitmap3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | Percent: Single;
Public | Tiling: TTileType3DS;
Public | IgnoreAlpha: Boolean;
Public | Filter: TFilterType3DS;
Public | Blur: Single;
Public | Mirror: Boolean;
Public | Negative: Boolean;
Public | UScale: Single;
Public | VScale: Single;
Public | UOffset: Single;
Public | VOffset: Single;
Public | Rotation: Single;
Public | Source: TTintType3DS;
Public | Tint1: TFColor3DS;
Public | Tint2: TFColor3DS;
Public | RedTint: TFColor3DS;
Public | GreenTint: TFColor3DS;
Public | BlueTint: TFColor3DS;
Public | DataSize: Integer;
Public | Data: Pointer;

Description

Fields

Public NameStr: AnsiString;
Public Percent: Single;

Bitmap file name

Public Tiling: TTileType3DS;

Strength percentage

Public IgnoreAlpha: Boolean;

Tile/Decal/Both

Public Filter: TFilterType3DS;
Public Blur: Single;

Pyramidal/Summed Area

Public Mirror: Boolean;
Public Negative: Boolean;
Public UScale: Single;
Public VScale: Single;
Public UOffset: Single;
Public VOffset: Single;
Public Rotation: Single;
Public Source: TTintType3DS;
Public Tint1: TFColor3DS;

RGB/RGB Luma Tint/Alpha Tint/RGB Tint

Public Tint2: TFColor3DS;
Public RedTint: TFColor3DS;
Public GreenTint: TFColor3DS;
Public BlueTint: TFColor3DS;
Public DataSize: Integer;
Public Data: Pointer;

Size of procedural Data


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMapSet3DS

Record TMapSet3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMapSet3DS = record

Description

Overview

Fields

Public | Map: TBitmap3DS;
Public | Mask: TBitmap3DS;

Description

Fields

Public Map: TBitmap3DS;
Public Mask: TBitmap3DS;

The Map settings


GLSysHelp v.2.1: Formats.m3DSTypes: Record TRMapSet3DS

Record TRMapSet3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TRMapSet3DS = record

Description

Overview

Fields

Public | Map: TBitmap3DS;
Public | UseAuto: Boolean;
Public | AutoMap: TACubic3DS;
Public | Mask: TBitmap3DS;

Description

Fields

Public Map: TBitmap3DS;
Public UseAuto: Boolean;

The Map settings

Public AutoMap: TACubic3DS;

True if automatic reflections are being used

Public Mask: TBitmap3DS;

Automatic reflection definitions


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMaterial3DS

Record TMaterial3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMaterial3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | Ambient: TFColor3DS;
Public | Diffuse: TFColor3DS;
Public | Specular: TFColor3DS;
Public | Shininess: Single;
Public | ShinStrength: Single;
Public | Blur: Single;
Public | Transparency: Single;
Public | TransFallOff: Single;
Public | SelfIllumPct: Single;
Public | WireSize: Single;
Public | Shading: TShadeType3DS;
Public | UseBlur: Boolean;
Public | UseFall: Boolean;
Public | TwoSided: Boolean;
Public | SelFillum: Boolean;
Public | Additive: Boolean;
Public | UseWire: Boolean;
Public | UseWireAbs: Boolean;
Public | FaceMap: Boolean;
Public | Soften: Boolean;
Public | Texture: TMapSet3DS;
Public | Texture2: TMapSet3DS;
Public | Opacity: TMapSet3DS;
Public | Bump: TMapSet3DS;
Public | SpecMap: TMapSet3DS;
Public | ShinMap: TMapSet3DS;
Public | IllumMap: TMapSet3DS;
Public | Reflect: TRMapSet3DS;

Description

Fields

Public NameStr: AnsiString;
Public Ambient: TFColor3DS;

Name

Public Diffuse: TFColor3DS;

Ambient Light Color

Public Specular: TFColor3DS;

Diffuse Light Color

Public Shininess: Single;

Specular Light Color

Public ShinStrength: Single;

Shininess factor

Public Blur: Single;

Shininess strength

Public Transparency: Single;

Blur factor

Public TransFallOff: Single;

Trasparency factor

Public SelfIllumPct: Single;

Falloff factor

Public WireSize: Single;

Self illumination percentage

Public Shading: TShadeType3DS;

Width of wireframe

Public UseBlur: Boolean;

Shading type

Public UseFall: Boolean;

Blurring Flag

Public TwoSided: Boolean;

Transparency FallOff Flag

Public SelFillum: Boolean;

Two sided material Flag

Public Additive: Boolean;

Self illumination Flag

Public UseWire: Boolean;

Additive Transparency Flag

Public UseWireAbs: Boolean;

Use wireframe rendering

Public FaceMap: Boolean;

Wire Size is in units, not pixels.

Public Soften: Boolean;

Face mapping switch

Public Texture: TMapSet3DS;

Soften switch

Public Texture2: TMapSet3DS;

Texture Map settings

Public Opacity: TMapSet3DS;

Second Texture Map settings

Public Bump: TMapSet3DS;

Opacity Map settings

Public SpecMap: TMapSet3DS;

Bump Map settings

Public ShinMap: TMapSet3DS;

Specularity Map settings

Public IllumMap: TMapSet3DS;

Shininess Map settings

Public Reflect: TRMapSet3DS;

Self illumination Map settings


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMapInfo3DS

Record TMapInfo3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMapInfo3DS = record

Description

Overview

Fields

Public | MapType: Word;
Public | TileX: Single;
Public | TileY: Single;
Public | CenX: Single;
Public | CenY: Single;
Public | CenZ: Single;
Public | Scale: Single;
Public | Matrix: TMeshMatrix;
Public | PW: Single;
Public | PH: Single;
Public | CH: Single;

Description

Fields

Public MapType: Word;
Public TileX: Single;

icon type

Public TileY: Single;

tiling

Public CenX: Single;
Public CenY: Single;

position of center

Public CenZ: Single;
Public Scale: Single;
Public Matrix: TMeshMatrix;

icon scaling factor

Public PW: Single;

orientation matrix

Public PH: Single;

planar icon width

Public CH: Single;

planar icon height


GLSysHelp v.2.1: Formats.m3DSTypes: Record TObjMat3DS

Record TObjMat3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TObjMat3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | NFaces: Word;
Public | FaceIndex: PWordList;

Description

Fields

Public NameStr: AnsiString;
Public NFaces: Word;

material name

Public FaceIndex: PWordList;

number of faces using material


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMesh3DS

Record TMesh3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMesh3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | IsHidden: Boolean;
Public | IsvisLofter: Boolean;
Public | IsMatte: Boolean;
Public | IsNoCast: Boolean;
Public | IsFast: Boolean;
Public | IsNorcvShad: boolean;
Public | IsFrozen: Boolean;
Public | NVertices: Word;
Public | VertexArray: PPointList;
Public | NVFlags: Word;
Public | VFlagArray: PWordList;
Public | NTextVerts: Word;
Public | TextArray: PTexVertList;
Public | UseMapInfo: Boolean;
Public | Map: TMapInfo3DS;
Public | LocMatrix: TMeshMatrix;
Public | NFaces: Word;
Public | FaceArray: PFaceList;
Public | SmoothArray: PCardinalArray;
Public | UseBoxMap: Boolean;
Public | BoxMapStr: array[0..5] of String;
Public | MeshColor: Byte;
Public | NMats: Word;
Public | MatArray: PObjMatList;
Public | UseProc: Boolean;
Public | ProcSize: Integer;
Public | ProcNameStr: String;
Public | ProcData: Pointer;

Description

Fields

Public NameStr: AnsiString;
Public IsHidden: Boolean;

object name

Public IsvisLofter: Boolean;

hidden object flag

Public IsMatte: Boolean;

lofter visibility flag

Public IsNoCast: Boolean;

matte object flag

Public IsFast: Boolean;

doesn't cast shadows flag

Public IsNorcvShad: boolean;

fast display flag

Public IsFrozen: Boolean;

doesn't recieve shadows

Public NVertices: Word;

frozen object flag

Public VertexArray: PPointList;

vertice count

Public NVFlags: Word;

list of vertices

Public VFlagArray: PWordList;

number of vertex flags

Public NTextVerts: Word;

list of vertex flags

Public TextArray: PTexVertList;

number of texture vertices

Public UseMapInfo: Boolean;

list of texture coordinates

Public Map: TMapInfo3DS;

for use of mapping icon information

Public LocMatrix: TMeshMatrix;

mapping icon info

Public NFaces: Word;

object orientation matrix

Public FaceArray: PFaceList;

face count

Public SmoothArray: PCardinalArray;

list of faces

Public UseBoxMap: Boolean;

smoothing group assignment list

Public BoxMapStr: array[0..5] of String;

used to indicate the use of box mapping

Public MeshColor: Byte;

material names used in boxmapping

Public NMats: Word;

UI color assigned to the mesh

Public MatArray: PObjMatList;

assigned materials count

Public UseProc: Boolean;

material assignment list

Public ProcSize: Integer;

use animated stand-in flag

Public ProcNameStr: String;

size of animated stand-in data

Public ProcData: Pointer;

name of animated stand-in procedure


GLSysHelp v.2.1: Formats.m3DSTypes: Record TSpotShadow3DS

Record TSpotShadow3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TSpotShadow3DS = record

Description

Overview

Fields

Public | Cast: Boolean;
Public | AType: TShadowStyle3DS;
Public | Local: Boolean;
Public | Bias: Single;
Public | Filter: Single;
Public | MapSize: Word;
Public | RayBias: Single;

Description

Fields

Public Cast: Boolean;
Public AType: TShadowStyle3DS;

True if spotlight casts shadows

Public Local: Boolean;

UseShadow or UseRayTrace

Public Bias: Single;

True if local shadow settings are being used

Public Filter: Single;

shadow bias

Public MapSize: Word;

shadow filter

Public RayBias: Single;

shadow map size


GLSysHelp v.2.1: Formats.m3DSTypes: Record TSpotCone3DS

Record TSpotCone3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TSpotCone3DS = record

Description

Overview

Fields

Public | AType: TConeStyle3DS;
Public | Show: Boolean;
Public | Overshoot: Boolean;

Description

Fields

Public AType: TConeStyle3DS;
Public Show: Boolean;

Circular or rectangular light cone

Public Overshoot: Boolean;

True if cone is visible


GLSysHelp v.2.1: Formats.m3DSTypes: Record TSpotProjector3DS

Record TSpotProjector3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TSpotProjector3DS = record

Description

Overview

Fields

Public | Use: Boolean;
Public | BitmapStr: String;

Description

Fields

Public Use: Boolean;
Public BitmapStr: String;

True if using projector


GLSysHelp v.2.1: Formats.m3DSTypes: Record TSpotLight3DS

Record TSpotLight3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TSpotLight3DS = record

Description

Overview

Fields

Public | Target: TPoint3DS;
Public | Hotspot: Single;
Public | FallOff: Single;
Public | Roll: Single;
Public | Aspect: Single;
Public | Shadows: TSpotShadow3DS;
Public | Cone: TSpotCone3DS;
Public | Projector: TSpotProjector3DS;

Description

Fields

Public Target: TPoint3DS;
Public Hotspot: Single;

Spotlight Target

Public FallOff: Single;

Hotspot Angle

Public Roll: Single;

Hotspot FallOff

Public Aspect: Single;

Roll Angle

Public Shadows: TSpotShadow3DS;

Aspect ratio

Public Cone: TSpotCone3DS;
Public Projector: TSpotProjector3DS;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TLiteAttenuate3DS

Record TLiteAttenuate3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TLiteAttenuate3DS = record

Description

Overview

Fields

Public | IsOn: Boolean;
Public | Inner: Single;
Public | Outer: Single;

Description

Fields

Public IsOn: Boolean;
Public Inner: Single;

True if Light Attenuation is on

Public Outer: Single;

Inner range of Attenuation


GLSysHelp v.2.1: Formats.m3DSTypes: Record TLight3DS

Record TLight3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TLight3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | Pos: TPoint3DS;
Public | Color: TFColor3DS;
Public | Multiplier: Single;
Public | DLOff: Boolean;
Public | Attenuation: TLiteAttenuate3DS;
Public | Exclude: TStringList;
Public | Spot: PSpotLight3DS;

Description

Fields

Public NameStr: AnsiString;
Public Pos: TPoint3DS;

light name

Public Color: TFColor3DS;

light position

Public Multiplier: Single;

light color

Public DLOff: Boolean;

light intensity multiplier

Public Attenuation: TLiteAttenuate3DS;

True if light is off

Public Exclude: TStringList;
Public Spot: PSpotLight3DS;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TCamRanges3DS

Record TCamRanges3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TCamRanges3DS = record

Description

Overview

Fields

Public | CamNear: Single;
Public | CamFar: Single;

Description

Fields

Public CamNear: Single;
Public CamFar: Single;

Nearest effect radius


GLSysHelp v.2.1: Formats.m3DSTypes: Record TCamera3DS

Record TCamera3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TCamera3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | Position: TPoint3DS;
Public | Target: TPoint3DS;
Public | Roll: Single;
Public | FOV: Single;
Public | ShowCone: Boolean;
Public | Ranges: TCamRanges3DS;

Description

Fields

Public NameStr: AnsiString;
Public Position: TPoint3DS;
Public Target: TPoint3DS;
Public Roll: Single;
Public FOV: Single;
Public ShowCone: Boolean;
Public Ranges: TCamRanges3DS;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFKeyInfo3DS

Record TKFKeyInfo3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFKeyInfo3DS = record

Description

Overview

Fields

Public | Length: Integer;
Public | CurFrame: Integer;

Description

Fields

Public Length: Integer;
Public CurFrame: Integer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFSegment3DS

Record TKFSegment3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFSegment3DS = record

Description

Overview

Fields

Public | Use: Boolean;
Public | SegBegin: Integer;
Public | SegEnd: Integer;

Description

Fields

Public Use: Boolean;
Public SegBegin: Integer;
Public SegEnd: Integer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFSets3DS

Record TKFSets3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFSets3DS = record

Description

Overview

Fields

Public | Anim: TKFKeyInfo3DS;
Public | Seg: TKFSegment3DS;

Description

Fields

Public Anim: TKFKeyInfo3DS;
Public Seg: TKFSegment3DS;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFCamera3DS

Record TKFCamera3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFCamera3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | ParentStr: AnsiString;
Public | Flags1: Word;
Public | Flags2: Word;
Public | NPKeys: Integer;
Public | NPFlag: Word;
Public | PKeys: PKeyHeaderList;
Public | Pos: PPointList;
Public | NFKeys: Integer;
Public | NFFlag: Word;
Public | FKeys: PKeyHeaderList;
Public | FOV: PSingleList;
Public | NRKeys: Integer;
Public | NRFlag: Word;
Public | RKeys: PKeyHeaderList;
Public | Roll: PSingleList;
Public | TParentStr: String;
Public | NTKeys: Integer;
Public | NTFlag: Word;
Public | TKeys: PKeyHeaderList;
Public | TPos: PPointList;
Public | TFlags1: Word;
Public | TFlags2: Word;

Description

Fields

Public NameStr: AnsiString;
Public ParentStr: AnsiString;

Name of Camera object

Public Flags1: Word;

Name of Parent object

Public Flags2: Word;

Flags field from node header -fixup later

Public NPKeys: Integer;

Flags2 field from node header -fixup later

Public NPFlag: Word;

Number of Camera Position keys

Public PKeys: PKeyHeaderList;

Loop control Flag for Camera Position keys

Public Pos: PPointList;

Spline values for Camera Position keys

Public NFKeys: Integer;

Camera Position keys

Public NFFlag: Word;

Number of Camera FOV keys

Public FKeys: PKeyHeaderList;

Loop control Flag for Camera FOV keys

Public FOV: PSingleList;

Spline values for Camera FOV keys

Public NRKeys: Integer;

Camera FOV keys

Public NRFlag: Word;

Number of Camera Roll keys

Public RKeys: PKeyHeaderList;

Loop control Flag for Camera Roll keys

Public Roll: PSingleList;

Spline values for Camera Roll keys

Public TParentStr: String;

Camera Roll keys

Public NTKeys: Integer;

Index of Parent object for Target

Public NTFlag: Word;

Number of Target Position keys

Public TKeys: PKeyHeaderList;

Loop control Flag for Target Position keys

Public TPos: PPointList;

Spline values for Target Position keys

Public TFlags1: Word;

Target Position keys

Public TFlags2: Word;

Flags field from Target node header


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFAmbient3DS

Record TKFAmbient3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFAmbient3DS = record

Description

Overview

Fields

Public | Flags1: Word;
Public | Flags2: Word;
Public | NCKeys: Integer;
Public | NCFlag: Word;
Public | CKeys: PKeyHeaderList;
Public | Color: PFColorList;

Description

Fields

Public Flags1: Word;
Public Flags2: Word;

Flags field from node header -fixup later

Public NCKeys: Integer;

Flags2 field from node header -fixup later

Public NCFlag: Word;

Number of Color keys

Public CKeys: PKeyHeaderList;

Loop control Flag for Color keys

Public Color: PFColorList;

Spline values for Position keys


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFMesh3DS

Record TKFMesh3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFMesh3DS = record

Description

Overview

Fields

Public | NameStr: AnsiString;
Public | ParentStr: AnsiString;
Public | Flags1: Word;
Public | Flags2: Word;
Public | Pivot: TPoint3DS;
Public | InstanceStr: AnsiString;
Public | BoundMin: TPoint3DS;
Public | BoundMax: TPoint3DS;
Public | NPKeys: Integer;
Public | NPFlag: Smallint;
Public | PKeys: PKeyHeaderList;
Public | Pos: PPointList;
Public | NRKeys: Integer;
Public | NRFlag: Smallint;
Public | RKeys: PKeyHeaderList;
Public | Rot: PKFRotKeyList;
Public | NSKeys: Integer;
Public | NSFlag: Smallint;
Public | SKeys: PKeyHeaderList;
Public | Scale: PPointList;
Public | NMKeys: Integer;
Public | NMFlag: Smallint;
Public | MKeys: PKeyHeaderList;
Public | Morph: PKFMorphKeyList;
Public | NHKeys: Integer;
Public | NHFlag: Smallint;
Public | HKeys: PKeyHeaderList;
Public | MSAngle: Single;

Description

Fields

Public NameStr: AnsiString;
Public ParentStr: AnsiString;

Name of mesh

Public Flags1: Word;

Name of Parent object

Public Flags2: Word;

Flags field from node header

Public Pivot: TPoint3DS;

Flags2 field from node header

Public InstanceStr: AnsiString;

Object Pivot point

Public BoundMin: TPoint3DS;

Object Instance Name

Public BoundMax: TPoint3DS;

Minimum bounding box point for dummy objects

Public NPKeys: Integer;

Maximum bounding box point for dummy objects

Public NPFlag: Smallint;

Number of Position keys

Public PKeys: PKeyHeaderList;

Loop control Flag for Position keys

Public Pos: PPointList;

Spline values for Position keys

Public NRKeys: Integer;

Mesh Position keys

Public NRFlag: Smallint;

Number of Rotation keys

Public RKeys: PKeyHeaderList;

Loop control Flag for Rotation keys

Public Rot: PKFRotKeyList;

Spline values for Rotation keys

Public NSKeys: Integer;

Rotation keys

Public NSFlag: Smallint;

Number of scaling keys

Public SKeys: PKeyHeaderList;

Loop control Flag for scaling keys

Public Scale: PPointList;

Spline values for scaling

Public NMKeys: Integer;

Mesh scaling keys

Public NMFlag: Smallint;

Number of Morph keys

Public MKeys: PKeyHeaderList;

Loop control Flag for Morph keys

Public Morph: PKFMorphKeyList;

Spline values for Morph keys

Public NHKeys: Integer;

Morph keys

Public NHFlag: Smallint;

Number of hide keys

Public HKeys: PKeyHeaderList;

Loop control Flag for hide keys

Public MSAngle: Single;

Spline values for hide keys


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFOmni3DS

Record TKFOmni3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFOmni3DS = record

Description

Overview

Fields

Public | Name: AnsiString;
Public | Parent: AnsiString;
Public | Flags1: Word;
Public | Flags2: Word;
Public | NPKeys: Integer;
Public | NPFlag: Word;
Public | PKeys: PKeyHeaderList;
Public | Pos: PPointList;
Public | NCKeys: Integer;
Public | NCFlag: Word;
Public | CKeys: PKeyHeaderList;
Public | Color: PFColorList;

Description

Fields

Public Name: AnsiString;
Public Parent: AnsiString;

Name of the Light object node

Public Flags1: Word;

Name of the Parent object

Public Flags2: Word;

Flags field from node header -fixup later

Public NPKeys: Integer;

Flags2 field from node header -fixup later

Public NPFlag: Word;

Number of Position keys

Public PKeys: PKeyHeaderList;

Loop control Flag for Position keys

Public Pos: PPointList;

Spline values for Position keys

Public NCKeys: Integer;

Position keys

Public NCFlag: Word;

Number of Color keys

Public CKeys: PKeyHeaderList;

Loop control Flag for Color keys

Public Color: PFColorList;

Spline values for Position keys


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFSpot3DS

Record TKFSpot3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFSpot3DS = record

Description

Overview

Fields

Public | Name: AnsiString;
Public | Parent: AnsiString;
Public | Flags1: Word;
Public | Flags2: Word;
Public | NPKeys: Integer;
Public | NPFlag: Word;
Public | PKeys: PKeyHeaderList;
Public | Pos: PPointList;
Public | NCKeys: Integer;
Public | NCFlag: Word;
Public | CKeys: PKeyHeaderList;
Public | Color: PFColorList;
Public | NHKeys: Integer;
Public | NHFlag: Word;
Public | HKeys: PKeyHeaderList;
Public | Hot: PSingleList;
Public | NFKeys: Integer;
Public | NFFlag: Word;
Public | FKeys: PKeyHeaderList;
Public | Fall: PSingleList;
Public | NRKeys: Integer;
Public | NRFlag: Word;
Public | RKeys: PKeyHeaderList;
Public | Roll: PSingleList;
Public | TParent: AnsiString;
Public | NTKeys: Integer;
Public | NTFlag: Word;
Public | TKeys: PKeyHeaderList;
Public | TPos: PPointList;
Public | TFlags1: Word;
Public | TFlags2: Word;

Description

Fields

Public Name: AnsiString;
Public Parent: AnsiString;

Name of Camera object

Public Flags1: Word;

Parent Name

Public Flags2: Word;

Flags field from node header -fixup later

Public NPKeys: Integer;

Flags2 field from node header -fixup later

Public NPFlag: Word;

Number of Light Position keys

Public PKeys: PKeyHeaderList;

Loop control Flag for Position keys

Public Pos: PPointList;

Spline values for Light Position keys

Public NCKeys: Integer;

Light Position keys

Public NCFlag: Word;

Number of Color keys

Public CKeys: PKeyHeaderList;

Loop control Flag Color keys

Public Color: PFColorList;

Spline values for Color keys

Public NHKeys: Integer;

Color keys

Public NHFlag: Word;

Number of Hotspot Angle keys

Public HKeys: PKeyHeaderList;

Loop control Flag for Hotspot Angle keys

Public Hot: PSingleList;

Spline values for Hotspot Angle keys

Public NFKeys: Integer;

Hotspot Angle keys

Public NFFlag: Word;

Number of FallOff Angle keys

Public FKeys: PKeyHeaderList;

Loop control Flag for FallOff Angle keys

Public Fall: PSingleList;

Spline values for FallOff Angle keys

Public NRKeys: Integer;

FallOff Angle keys

Public NRFlag: Word;

Number of Light Roll keys

Public RKeys: PKeyHeaderList;

Loop control Flag for Light Roll keys

Public Roll: PSingleList;

Spline values for Light Roll keys

Public TParent: AnsiString;

Light Roll keys

Public NTKeys: Integer;

Name of Target's Parent object

Public NTFlag: Word;

Number of Target Position keys

Public TKeys: PKeyHeaderList;

Loop control Flag for Target Position keys

Public TPos: PPointList;

Spline values for Target Position keys

Public TFlags1: Word;

Target Position keys

Public TFlags2: Word;

Flags field from Target node header


GLSysHelp v.2.1: Formats.m3DSTypes: Record TXDataRaw3DS

Record TXDataRaw3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TXDataRaw3DS = record

Description

Overview

Fields

Public | Size: Integer;
Public | Data: Pointer;

Description

Fields

Public Size: Integer;
Public Data: Pointer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TColorF

Record TColorF

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TColorF = record

Description

Overview

Fields

Public | Red: Single;
Public | Green: Single;
Public | Blue: Single;

Description

Fields

Public Red: Single;
Public Green: Single;
Public Blue: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TColor24

Record TColor24

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TColor24 = record

Description

Overview

Fields

Public | Red: Byte;
Public | Green: Byte;
Public | Blue: Byte;

Description

Fields

Public Red: Byte;
Public Green: Byte;
Public Blue: Byte;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TFog

Record TFog

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFog = record

Description

Overview

Fields

Public | NearPlaneDist: Single;
Public | NearPlaneDensity: Single;
Public | FarPlaneDist: Single;
Public | FarPlaneDensity: Single;

Description

Fields

Public NearPlaneDist: Single;
Public NearPlaneDensity: Single;
Public FarPlaneDist: Single;
Public FarPlaneDensity: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TLayerFog

Record TLayerFog

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TLayerFog = record

Description

Overview

Fields

Public | ZMin: Single;
Public | ZMax: Single;
Public | Density: Single;
Public | AType: Cardinal;

Description

Fields

Public ZMin: Single;
Public ZMax: Single;
Public Density: Single;
Public AType: Cardinal;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TDistanceCue

Record TDistanceCue

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TDistanceCue = record

Description

Overview

Fields

Public | NearPlaneDist: Single;
Public | NearPlaneDimming: Single;
Public | FarPlaneDist: Single;
Public | FarPlaneDimming: Single;

Description

Fields

Public NearPlaneDist: Single;
Public NearPlaneDimming: Single;
Public FarPlaneDist: Single;
Public FarPlaneDimming: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewStandard

Record TViewStandard

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewStandard = record

Description

Overview

Fields

Public | ViewTargetCoord: TPoint3DS;
Public | ViewWidth: Single;

Description

Fields

Public ViewTargetCoord: TPoint3DS;
Public ViewWidth: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewUser

Record TViewUser

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewUser = record

Description

Overview

Fields

Public | ViewTargetCoord: TPoint3DS;
Public | ViewWidth: Single;
Public | XYViewangle: Single;
Public | YZViewangle: Single;
Public | BankAngle: Single;

Description

Fields

Public ViewTargetCoord: TPoint3DS;
Public ViewWidth: Single;
Public XYViewangle: Single;
Public YZViewangle: Single;
Public BankAngle: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMatAcubic

Record TMatAcubic

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMatAcubic = record

Description

Overview

Fields

Public | ShadeLevel: Byte;
Public | Antialias: Byte;
Public | Flags: SmallInt;
Public | MapSize: Cardinal;
Public | FrameInterval: Cardinal;

Description

Fields

Public ShadeLevel: Byte;
Public Antialias: Byte;
Public Flags: SmallInt;
Public MapSize: Cardinal;
Public FrameInterval: Cardinal;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TIpasData

Record TIpasData

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TIpasData = record

Description

Overview

Fields

Public | Size: Integer;
Public | Data: Pointer;

Description

Fields

Public Size: Integer;
Public Data: Pointer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TPointArray

Record TPointArray

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TPointArray = record

Description

Overview

Fields

Public | Vertices: Word;
Public | PointList: PPointList;

Description

Fields

Public Vertices: Word;
Public PointList: PPointList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TPointFlagArray

Record TPointFlagArray

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TPointFlagArray = record

Description

Overview

Fields

Public | Flags: Word;
Public | FlagList: PWordList;

Description

Fields

Public Flags: Word;
Public FlagList: PWordList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TFaceArray

Record TFaceArray

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFaceArray = record

Description

Overview

Fields

Public | Faces: Word;
Public | FaceList: PFaceList;

Description

Fields

Public Faces: Word;
Public FaceList: PFaceList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMshMatGroup

Record TMshMatGroup

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMshMatGroup = record

Description

Overview

Fields

Public | MatNameStr: AnsiString;
Public | Faces: Word;
Public | FaceList: PWordList;

Description

Fields

Public MatNameStr: AnsiString;
Public Faces: Word;
Public FaceList: PWordList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TSmoothGroup

Record TSmoothGroup

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TSmoothGroup = record

Description

Overview

Fields

Public | Groups: Word;
Public | GroupList: PCardinalArray;

Description

Fields

Public Groups: Word;
Public GroupList: PCardinalArray;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TTexVerts

Record TTexVerts

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TTexVerts = record

Description

Overview

Fields

Public | NumCoords: Word;
Public | TextVertList: PTexVertList;

Description

Fields

Public NumCoords: Word;
Public TextVertList: PTexVertList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMeshTextureInfo

Record TMeshTextureInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMeshTextureInfo = record

Description

Overview

Fields

Public | MapType: Word;
Public | XTiling: Single;
Public | YTiling: Single;
Public | IconPos: TPoint3DS;
Public | IconScaling: Single;
Public | XMatrix: TMeshMatrix;
Public | IconWidth: Single;
Public | IconHeight: Single;
Public | CylIconHeight: Single;

Description

Fields

Public MapType: Word;
Public XTiling: Single;
Public YTiling: Single;
Public IconPos: TPoint3DS;
Public IconScaling: Single;
Public XMatrix: TMeshMatrix;
Public IconWidth: Single;
Public IconHeight: Single;
Public CylIconHeight: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TDlSpotlight

Record TDlSpotlight

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TDlSpotlight = record

Description

Overview

Fields

Public | SpotLightTarg: TPoint3DS;
Public | HotspotAngle: Single;
Public | FalloffAngle: Single;

Description

Fields

Public SpotLightTarg: TPoint3DS;
Public HotspotAngle: Single;
Public FalloffAngle: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TDlLocalShadow2

Record TDlLocalShadow2

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TDlLocalShadow2 = record

Description

Overview

Fields

Public | LocalShadowBias: Single;
Public | LocalShadowFilter: Single;
Public | LocalShadowMapSize: SmallInt

Description

Fields

Public LocalShadowBias: Single;
Public LocalShadowFilter: Single;
Public LocalShadowMapSize: SmallInt


GLSysHelp v.2.1: Formats.m3DSTypes: Record TNCamera

Record TNCamera

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TNCamera = record

Description

Overview

Fields

Public | CameraPos: TPoint3DS;
Public | TargetPos: TPoint3DS;
Public | CameraBank: Single;
Public | CameraFocalLength: Single;

Description

Fields

Public CameraPos: TPoint3DS;
Public TargetPos: TPoint3DS;
Public CameraBank: Single;
Public CameraFocalLength: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TCamRanges

Record TCamRanges

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TCamRanges = record

Description

Overview

Fields

Public | NearPlane: Single;
Public | FarPlane: Single;

Description

Fields

Public NearPlane: Single;
Public FarPlane: Single;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewportLayout

Record TViewportLayout

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewportLayout = record

Description

Overview

Fields

Public | Form: SmallInt;
Public | Top: SmallInt;
Public | Ready: SmallInt;
Public | WState: SmallInt;
Public | SwapWS: SmallInt;
Public | SwapPort: SmallInt;
Public | SwapCur: SmallInt;

Description

Fields

Public Form: SmallInt;
Public Top: SmallInt;

0 = single window 1 = 2 split verticle 2 = 2 split horizontal 3 = 4 equal squares 4 = 2 squares left & 1 rect right 5 = 1 rect at Top & 2 sqr on bot 6 = 1 rect left & 2 sqr right 7 = 2 sqr Top & 1 rect bot 8 = 3 split vertical 9 = 2 split horiz 10 = 3 sqr left and 1 rect right 11 = 1 rect left & 3 sqr. right Form becomes 0 during swap and its preswapped value is stored in the SwapPort field

Public Ready: SmallInt;

Active window index of 0 to 5

Public WState: SmallInt;
Public SwapWS: SmallInt;

0 if no swap window, 1 if in swaped "w" state. During a swap, the old 0 window gets stored as the 4 window

Public SwapPort: SmallInt;
Public SwapCur: SmallInt;

The preswapped value from the Form field


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewportSize

Record TViewportSize

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewportSize = record

Description

Overview

Fields

Public | XPos: Word;
Public | YPos: Word;
Public | Width: Word;
Public | Height: Word;

Description

Fields

Public XPos: Word;

Values given for 1024x768 resolution

Public YPos: Word;

0

Public Width: Word;

14

Public Height: Word;

895


GLSysHelp v.2.1: Formats.m3DSTypes: Record TViewportData

Record TViewportData

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TViewportData = record

Description

Overview

Fields

Public | Flags: Word;
Public | AxisLockout: Word;
Public | WinXPos: Word;
Public | WinYPos: Word;
Public | WinWidth: Word;
Public | WinHeight: Word;
Public | View: Word;
Public | ZoomFactor: Single;
Public | Center: TPoint3DS;
Public | HorizAng: Single;
Public | VertAng: Single;
Public | CamNameStr: AnsiString;

Description

Fields

Public Flags: Word;
Public AxisLockout: Word;
Public WinXPos: Word;
Public WinYPos: Word;
Public WinWidth: Word;
Public WinHeight: Word;
Public View: Word;
Public ZoomFactor: Single;

0 = No View 1 = Top View 2 = Bottom View 3 = Left View 4 = Right View 5 = Front View 6 = Back View 7 = User View 18 = Spotlight View 65535 = Camera View

Public Center: TPoint3DS;
Public HorizAng: Single;
Public VertAng: Single;
Public CamNameStr: AnsiString;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFHdr

Record TKFHdr

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFHdr = record

Description

Overview

Fields

Public | Revision: SmallInt;
Public | Filename: String;
Public | AnimLength: Integer;

Description

Fields

Public Revision: SmallInt;
Public Filename: String;
Public AnimLength: Integer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TKFSeg

Record TKFSeg

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TKFSeg = record

Description

Overview

Fields

Public | First: Integer;
Public | Last: Integer;

Description

Fields

Public First: Integer;
Public Last: Integer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TNodeHdr

Record TNodeHdr

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TNodeHdr = record

Description

Overview

Fields

Public | ObjNameStr: String;
Public | Flags1: Word;
Public | Flags2: Word;
Public | ParentIndex: SmallInt;

Description

Fields

Public ObjNameStr: String;
Public Flags1: Word;
Public Flags2: Word;
Public ParentIndex: SmallInt;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TBoundBox

Record TBoundBox

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TBoundBox = record

Description

Overview

Fields

Public | Min: TPoint3DS;
Public | Max: TPoint3DS;

Description

Fields

Public Min: TPoint3DS;
Public Max: TPoint3DS;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TPosTrackTag

Record TPosTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TPosTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | PositionList: PPointList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public PositionList: PPointList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TColTrackTag

Record TColTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TColTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | ColorList: PFColorList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public ColorList: PFColorList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TRotTrackTag

Record TRotTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TRotTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | RotationList: PKFRotKeyList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public RotationList: PKFRotKeyList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TScaleTrackTag

Record TScaleTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TScaleTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | ScaleList: PPointList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public ScaleList: PPointList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TMorphTrackTag

Record TMorphTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TMorphTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | MorphList: PKFMorphKeyList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public MorphList: PKFMorphKeyList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record THideTrackTag

Record THideTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type THideTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TFovTrackTag

Record TFovTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFovTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | FOVAngleList: PSingleList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public FOVAngleList: PSingleList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TRollTrackTag

Record TRollTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TRollTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | RollAngleList: PSingleList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public RollAngleList: PSingleList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record THotTrackTag

Record THotTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type THotTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | HotspotAngleList: PSingleList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public HotspotAngleList: PSingleList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TFallTrackTag

Record TFallTrackTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TFallTrackTag = record

Description

Overview

Fields

Public | TrackHdr: TTrackHeader3DS;
Public | KeyHdrList: PKeyHeaderList;
Public | FalloffAngleList: PSingleList;

Description

Fields

Public TrackHdr: TTrackHeader3DS;
Public KeyHdrList: PKeyHeaderList;
Public FalloffAngleList: PSingleList;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TXDataEntry

Record TXDataEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TXDataEntry = record

Description

Overview

Fields

Public | Size: Integer;
Public | Data: Pointer;

Description

Fields

Public Size: Integer;
Public Data: Pointer;


GLSysHelp v.2.1: Formats.m3DSTypes: Record TChunkData

Record TChunkData

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TChunkData = record

Description

to avoid zillion type casts, we use this variant record for chunk data, effectively this defines the same pointer differently for different chunk types this is only possible because all types are just pointers

Overview

Fields

Public | ColorF: PColorF
Public | LinColorF: PLinColorF
Public | Color24: PColor24
Public | LinColor24: PLinColor24
Public | IntPercentage: PIntPercentage
Public | FloatPercentage: PFloatPercentage
Public | MatMapname: PMatMapname
Public | M3dVersion: PM3dVersion
Public | MeshVersion: PMeshVersion
Public | MasterScale: PMasterScale
Public | LoShadowBias: PLoShadowBias
Public | ShadowFilter: PShadowFilter
Public | ShadowRange: PShadowRange
Public | HiShadowBias: PHiShadowBias
Public | RayBias: PRayBias
Public | ShadowMapSize: PShadowMapSize
Public | ShadowSamples: PShadowSamples
Public | OConsts: POConsts
Public | BitMapName: PBitMapName
Public | VGradient: PVGradient
Public | Fog: PFog
Public | LayerFog: PLayerFog
Public | DistanceCue: PDistanceCue
Public | ViewStandard: PViewStandard
Public | ViewUser: PViewUser
Public | ViewCamera: PViewCamera
Public | MatName: PMatName
Public | MatShading: PMatShading
Public | MatAcubic: PMatAcubic
Public | IpasData: PIpasData
Public | MatWireSize: PMatWireSize
Public | MatMapTiling: PMatMapTiling
Public | MatMapTexblur: PMatMapTexblur
Public | MatMapUScale: PMatMapUScale
Public | MatMapVScale: PMatMapVScale
Public | MatMapUOffset: PMatMapUOffset
Public | MatMapVOffset: PMatMapVOffset
Public | MatMapAng: PMatMapAng
Public | MatMapCol1: PMatMapCol1
Public | MatMapCol2: PMatMapCol2
Public | MatMapRCol: PMatMapRCol
Public | MatMapGCol: PMatMapGCol
Public | MatMapBCol: PMatMapBCol
Public | MatBumpPercent: PMatBumpPercent
Public | NamedObject: PNamedObject
Public | PointArray: PPointArray
Public | PointFlagArray: PPointFlagArray
Public | FaceArray: PFaceArray
Public | MshMatGroup: PMshMatGroup
Public | MshBoxmap: PMshBoxmap
Public | SmoothGroup: PSmoothGroup
Public | TexVerts: PTexVerts
Public | MeshMatrix: PMeshMatrix
Public | MeshColor: PMeshColor
Public | MeshTextureInfo: PMeshTextureInfo
Public | ProcName: PProcName
Public | NDirectLight: PNDirectLight
Public | DlExclude: PDlExclude
Public | DlInnerRange: PDlInnerRange
Public | DlOuterRange: PDlOuterRange
Public | DlMultiplier: PDlMultiplier
Public | DlSpotlight: PDlSpotlight
Public | DlLocalShadow2: PDlLocalShadow2
Public | DlSpotRoll: PDlSpotRoll
Public | DlSpotAspect: PDlSpotAspect
Public | DlSpotProjector: PDlSpotProjector
Public | DlRayBias: PDlRayBias
Public | NCamera: PNCamera
Public | CamRanges: PCamRanges
Public | ViewportLayout: PViewportLayout
Public | ViewportSize: PViewportSize
Public | ViewportData: PViewportData
Public | XDataEntry: PXDataEntry
Public | XDataAppName: PXDataAppName
Public | XDataString: PXDataString
Public | KFHdr: PKFHdr
Public | KFSeg: PKFSeg
Public | KFCurtime: PKFCurtime
Public | KFId: PKFId
Public | NodeHdr: PNodeHdr
Public | Pivot: PPivot
Public | InstanceName: PInstanceName
Public | MorphSmooth: PMorphSmooth
Public | BoundBox: PBoundBox
Public | PosTrackTag: PPosTrackTag
Public | ColTrackTag: PColTrackTag
Public | RotTrackTag: PRotTrackTag
Public | ScaleTrackTag: PScaleTrackTag
Public | MorphTrackTag: PMorphTrackTag
Public | FovTrackTag: PFovTrackTag
Public | RollTrackTag: PRollTrackTag
Public | HotTrackTag: PHotTrackTag
Public | FallTrackTag: PFallTrackTag
Public | HideTrackTag: PHideTrackTag
Public | Dummy: Pointer

Description

Fields

Public ColorF: PColorF
Public LinColorF: PLinColorF
Public Color24: PColor24
Public LinColor24: PLinColor24
Public IntPercentage: PIntPercentage
Public FloatPercentage: PFloatPercentage
Public MatMapname: PMatMapname
Public M3dVersion: PM3dVersion
Public MeshVersion: PMeshVersion
Public MasterScale: PMasterScale
Public LoShadowBias: PLoShadowBias
Public ShadowFilter: PShadowFilter
Public ShadowRange: PShadowRange
Public HiShadowBias: PHiShadowBias
Public RayBias: PRayBias
Public ShadowMapSize: PShadowMapSize
Public ShadowSamples: PShadowSamples
Public OConsts: POConsts
Public BitMapName: PBitMapName
Public VGradient: PVGradient
Public Fog: PFog
Public LayerFog: PLayerFog
Public DistanceCue: PDistanceCue
Public ViewStandard: PViewStandard
Public ViewUser: PViewUser
Public ViewCamera: PViewCamera
Public MatName: PMatName
Public MatShading: PMatShading
Public MatAcubic: PMatAcubic
Public IpasData: PIpasData
Public MatWireSize: PMatWireSize
Public MatMapTiling: PMatMapTiling
Public MatMapTexblur: PMatMapTexblur
Public MatMapUScale: PMatMapUScale
Public MatMapVScale: PMatMapVScale
Public MatMapUOffset: PMatMapUOffset
Public MatMapVOffset: PMatMapVOffset
Public MatMapAng: PMatMapAng
Public MatMapCol1: PMatMapCol1
Public MatMapCol2: PMatMapCol2
Public MatMapRCol: PMatMapRCol
Public MatMapGCol: PMatMapGCol
Public MatMapBCol: PMatMapBCol
Public MatBumpPercent: PMatBumpPercent
Public NamedObject: PNamedObject
Public PointArray: PPointArray
Public PointFlagArray: PPointFlagArray
Public FaceArray: PFaceArray
Public MshMatGroup: PMshMatGroup
Public MshBoxmap: PMshBoxmap
Public SmoothGroup: PSmoothGroup
Public TexVerts: PTexVerts
Public MeshMatrix: PMeshMatrix
Public MeshColor: PMeshColor
Public MeshTextureInfo: PMeshTextureInfo
Public ProcName: PProcName
Public NDirectLight: PNDirectLight
Public DlExclude: PDlExclude
Public DlInnerRange: PDlInnerRange
Public DlOuterRange: PDlOuterRange
Public DlMultiplier: PDlMultiplier
Public DlSpotlight: PDlSpotlight
Public DlLocalShadow2: PDlLocalShadow2
Public DlSpotRoll: PDlSpotRoll
Public DlSpotAspect: PDlSpotAspect
Public DlSpotProjector: PDlSpotProjector
Public DlRayBias: PDlRayBias
Public NCamera: PNCamera
Public CamRanges: PCamRanges
Public ViewportLayout: PViewportLayout
Public ViewportSize: PViewportSize
Public ViewportData: PViewportData
Public XDataEntry: PXDataEntry
Public XDataAppName: PXDataAppName
Public XDataString: PXDataString
Public KFHdr: PKFHdr
Public KFSeg: PKFSeg
Public KFCurtime: PKFCurtime
Public KFId: PKFId
Public NodeHdr: PNodeHdr
Public Pivot: PPivot
Public InstanceName: PInstanceName
Public MorphSmooth: PMorphSmooth
Public BoundBox: PBoundBox
Public PosTrackTag: PPosTrackTag
Public ColTrackTag: PColTrackTag
Public RotTrackTag: PRotTrackTag
Public ScaleTrackTag: PScaleTrackTag
Public MorphTrackTag: PMorphTrackTag
Public FovTrackTag: PFovTrackTag
Public RollTrackTag: PRollTrackTag
Public HotTrackTag: PHotTrackTag
Public FallTrackTag: PFallTrackTag
Public HideTrackTag: PHideTrackTag
Public Dummy: Pointer


GLSysHelp v.2.1: Formats.m3DSTypes: Record TChunk3DS

Record TChunk3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.m3DSTypes

Declaration

type TChunk3DS = record

Description

finally the chunk definition

Overview

Fields

Public | Tag: Word;
Public | Size: Cardinal;
Public | Position: Cardinal;
Public | Data: TChunkData;
Public | Sibling: PChunk3DS;
Public | Children: PChunk3DS;

Description

Fields

Public Tag: Word;
Public Size: Cardinal;

Type of Chunk

Public Position: Cardinal;

Number of bytes used by Chunk

Public Data: TChunkData;

Offset in Source file

Public Sibling: PChunk3DS;

Memory copy of file Data

Public Children: PChunk3DS;

Next Chunk in database


GLSysHelp v.2.1: Formats.m3DSUtils

Unit Formats.m3DSUtils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Formats.m3DS
  • Formats.m3DSTypes
  • Formats.m3DSConst
  • GLS.Strings

Overview

Functions and Procedures

function GetAtmosphere(const Source: TFile3DS; var DB: TDatabase3DS): TAtmosphere3DS;
function GetBackground(const Source: TFile3DS; var DB: TDatabase3DS): TBackground3DS;
function GetMeshSet(const Source: TFile3DS; var DB: TDatabase3DS): TMeshSet3DS;
function GetViewport(const Source: TFile3DS; var DB: TDatabase3DS): TViewport3DS;
procedure AddChild(Parent, Child: PChunk3DS);
procedure AddChildOrdered(Parent, Child: PChunk3DS);
function FindChunk(Top: PChunk3DS; Tag: word): PChunk3DS;
function FindNextChunk(Local: PChunk3DS; Tag: word): PChunk3DS;
procedure FreeChunkData(var Chunk: PChunk3DS);
function GetCameraByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TCamera3DS;
function GetCameraCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetChunkValue(Tag: word): integer;
function GetMaterialByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TMaterial3DS;
function GetMaterialCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetMeshByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TMesh3DS;
function GetMeshCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetOmnilightByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TLight3DS;
function GetSpotlightByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TLight3DS;
function GetOmnilightCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetSpotlightCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
procedure InitChunk(var Chunk: PChunk3DS);
procedure ReleaseCamera(Camera: PCamera3DS);
procedure ReleaseChunk(var Chunk: PChunk3DS);
procedure ReleaseChunkList(var List: PChunkList3DS);
procedure ReleaseLight(Light: PLight3DS);
procedure ReleaseMaterial(Mat: PMaterial3DS);
procedure ReleaseMeshObj(Mesh: PMesh3DS);
function GetKFSettings(const Source: TFile3DS; var DB: TDatabase3DS): TKFSets3DS;
procedure ReleaseCameraMotion(Camera: PKFCamera3DS);
procedure GetCameraNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetCameraNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetCameraMotion(const Source: TFile3DS; CamChunk, TargetChunk: PChunk3DS): TKFCamera3DS;
function GetCameraMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TKFCamera3DS;
procedure ReleaseAmbientLightMotion(Light: PKFAmbient3DS);
function GetAmbientLightMotion(const Source: TFile3DS; var DB: TDatabase3DS): TKFAmbient3DS;
procedure InitObjectMotion(var Obj: TKFMesh3DS; NewNPKeys, NewNRKeys, NewNSKeys, NewNMKeys, NewNHKeys: cardinal);
procedure ReleaseObjectMotion(Obj: PKFMesh3DS);
procedure GetObjectNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetObjectNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetObjectMotionByName(const Source: TFile3DS; var DB: TDatabase3DS; const Name: string): TKFMesh3DS;
function GetObjectMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: cardinal): TKFMesh3DS;
procedure ReleaseOmnilightMotion(Light: PKFOmni3DS);
procedure GetOmnilightNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetOmnilightNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): cardinal;
function GetOmnilightMotionByName(const Source: TFile3DS; var DB: TDatabase3DS; const Name: string): TKFOmni3DS;
function GetOmnilightMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: cardinal): TKFOmni3DS;
procedure ReleaseSpotlightMotion(Spot: PKFSpot3DS);
procedure GetSpotlightNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetSpotlightNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): cardinal;
function GetSpotlightMotionByName(const Source: TFile3DS; var DB: TDatabase3DS; const Name: string): TKFSpot3DS;
function GetSpotlightMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: cardinal): TKFSpot3DS;
function GetM3dMagicRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
function GetMeshRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
function GetKfRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
function GetDatabaseRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
procedure ChunkHeaderReport(var Strings: TStrings; Chunk: PChunk3DS; IndentLevel: integer);
function ChunkTagToString(Tag: word): string;
procedure DumpChunk(const Source: TFile3DS; var Strings: TStrings; Chunk: PChunk3DS; IndentLevel: integer; DumpLevel: TDumpLevel);
procedure DumpKeyHeader(Strings: TStrings; const Key: TKeyHeader3DS; IndentLevel: integer);
procedure DeleteChunk(var Chunk: PChunk3DS);
function FindNamedObjectByIndex(Source: TFile3DS; DB: TDatabase3DS; AType: word; Index: integer): PChunk3DS;
procedure ShowError(const ErrorMessage: string);
procedure ShowErrorFormatted(const ErrorMessage: string; const Args: array of const);

Description

Functions and Procedures

function GetAtmosphere(const Source: TFile3DS; var DB: TDatabase3DS): TAtmosphere3DS;

functions to retrieve global settings of a specific 3DS database

function GetBackground(const Source: TFile3DS; var DB: TDatabase3DS): TBackground3DS;
function GetMeshSet(const Source: TFile3DS; var DB: TDatabase3DS): TMeshSet3DS;
function GetViewport(const Source: TFile3DS; var DB: TDatabase3DS): TViewport3DS;
procedure AddChild(Parent, Child: PChunk3DS);

functions to retrieve/modify data related to materials, lights and objects (meshs)

procedure AddChildOrdered(Parent, Child: PChunk3DS);
function FindChunk(Top: PChunk3DS; Tag: word): PChunk3DS;
function FindNextChunk(Local: PChunk3DS; Tag: word): PChunk3DS;
procedure FreeChunkData(var Chunk: PChunk3DS);
function GetCameraByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TCamera3DS;
function GetCameraCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetChunkValue(Tag: word): integer;
function GetMaterialByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TMaterial3DS;
function GetMaterialCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetMeshByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TMesh3DS;
function GetMeshCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetOmnilightByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TLight3DS;
function GetSpotlightByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TLight3DS;
function GetOmnilightCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetSpotlightCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
procedure InitChunk(var Chunk: PChunk3DS);
procedure ReleaseCamera(Camera: PCamera3DS);
procedure ReleaseChunk(var Chunk: PChunk3DS);
procedure ReleaseChunkList(var List: PChunkList3DS);
procedure ReleaseLight(Light: PLight3DS);
procedure ReleaseMaterial(Mat: PMaterial3DS);
procedure ReleaseMeshObj(Mesh: PMesh3DS);
function GetKFSettings(const Source: TFile3DS; var DB: TDatabase3DS): TKFSets3DS;

functions to retrieve/modify keyframer (animation) data

procedure ReleaseCameraMotion(Camera: PKFCamera3DS);
procedure GetCameraNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetCameraNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetCameraMotion(const Source: TFile3DS; CamChunk, TargetChunk: PChunk3DS): TKFCamera3DS;
function GetCameraMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: integer): TKFCamera3DS;
procedure ReleaseAmbientLightMotion(Light: PKFAmbient3DS);
function GetAmbientLightMotion(const Source: TFile3DS; var DB: TDatabase3DS): TKFAmbient3DS;
procedure InitObjectMotion(var Obj: TKFMesh3DS; NewNPKeys, NewNRKeys, NewNSKeys, NewNMKeys, NewNHKeys: cardinal);
procedure ReleaseObjectMotion(Obj: PKFMesh3DS);
procedure GetObjectNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetObjectNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): integer;
function GetObjectMotionByName(const Source: TFile3DS; var DB: TDatabase3DS; const Name: string): TKFMesh3DS;
function GetObjectMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: cardinal): TKFMesh3DS;
procedure ReleaseOmnilightMotion(Light: PKFOmni3DS);
procedure GetOmnilightNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetOmnilightNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): cardinal;
function GetOmnilightMotionByName(const Source: TFile3DS; var DB: TDatabase3DS; const Name: string): TKFOmni3DS;
function GetOmnilightMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: cardinal): TKFOmni3DS;
procedure ReleaseSpotlightMotion(Spot: PKFSpot3DS);
procedure GetSpotlightNodeNameList(const Source: TFile3DS; var DB: TDatabase3DS; List: TStringList);
function GetSpotlightNodeCount(const Source: TFile3DS; var DB: TDatabase3DS): cardinal;
function GetSpotlightMotionByName(const Source: TFile3DS; var DB: TDatabase3DS; const Name: string): TKFSpot3DS;
function GetSpotlightMotionByIndex(const Source: TFile3DS; var DB: TDatabase3DS; Index: cardinal): TKFSpot3DS;
function GetM3dMagicRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;

version information

function GetMeshRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
function GetKfRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
function GetDatabaseRelease(const Source: TFile3DS; var DB: TDatabase3DS): TReleaseLevel;
procedure ChunkHeaderReport(var Strings: TStrings; Chunk: PChunk3DS; IndentLevel: integer);

support functions for text output of chunk and database contents

function ChunkTagToString(Tag: word): string;
procedure DumpChunk(const Source: TFile3DS; var Strings: TStrings; Chunk: PChunk3DS; IndentLevel: integer; DumpLevel: TDumpLevel);
procedure DumpKeyHeader(Strings: TStrings; const Key: TKeyHeader3DS; IndentLevel: integer);
procedure DeleteChunk(var Chunk: PChunk3DS);

support functions for chunk handling

function FindNamedObjectByIndex(Source: TFile3DS; DB: TDatabase3DS; AType: word; Index: integer): PChunk3DS;
procedure ShowError(const ErrorMessage: string);

error message routines

procedure ShowErrorFormatted(const ErrorMessage: string; const Args: array of const);


GLSysHelp v.2.1: Formats.MD2

Unit Formats.MD2

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TMD2VertexIndex |
Record TMD2Triangle |
Record TMD2TriangleVertex |
Record TMD2AliasFrame |
Record TMD2Header |
Class TFileMD2 |

Types

PMD2AliasFrame = ˆTMD2AliasFrame;
PMD2VertexIndex = ˆTMD2VertexIndex;
TGLVertexList = array of array of TVector3f;
TIndexList = array of TMD2VertexIndex;

Constants

MAX_MD2_TRIANGLES = 4096;
MAX_MD2_VERTICES = 2048;
MAX_MD2_FRAMES = 512;
MAX_MD2_SKINS = 32;
MAX_MD2_SKINNAME = 64;

Description

Types

PMD2AliasFrame = ˆTMD2AliasFrame;
PMD2VertexIndex = ˆTMD2VertexIndex;
TGLVertexList = array of array of TVector3f;
TIndexList = array of TMD2VertexIndex;

Constants

MAX_MD2_TRIANGLES = 4096;
MAX_MD2_VERTICES = 2048;
MAX_MD2_FRAMES = 512;
MAX_MD2_SKINS = 32;
MAX_MD2_SKINNAME = 64;


GLSysHelp v.2.1: Formats.MD2: Record TMD2VertexIndex

Record TMD2VertexIndex

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD2

Declaration

type TMD2VertexIndex = record

Description

Overview

Fields

Public | A: integer;
Public | B: integer;
Public | C: integer;
Public | A_S: single;
Public | A_T: single;
Public | B_S: single;
Public | B_T: single;
Public | C_S: single;
Public | C_T: single;

Description

Fields

Public A: integer;
Public B: integer;
Public C: integer;
Public A_S: single;
Public A_T: single;
Public B_S: single;
Public B_T: single;
Public C_S: single;
Public C_T: single;


GLSysHelp v.2.1: Formats.MD2: Record TMD2Triangle

Record TMD2Triangle

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD2

Declaration

type TMD2Triangle = record

Description

Overview

Fields

Public | VertexIndex: TVector3s;
Public | TextureCoordIndex: TVector3s;

Description

Fields

Public VertexIndex: TVector3s;
Public TextureCoordIndex: TVector3s;


GLSysHelp v.2.1: Formats.MD2: Record TMD2TriangleVertex

Record TMD2TriangleVertex

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD2

Declaration

type TMD2TriangleVertex = record

Description

Overview

Fields

Public | Vert: array[0..2] of byte;
Public | LightnormalIndex: byte;

Description

Fields

Public Vert: array[0..2] of byte;
Public LightnormalIndex: byte;


GLSysHelp v.2.1: Formats.MD2: Record TMD2AliasFrame

Record TMD2AliasFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD2

Declaration

type TMD2AliasFrame = record

Description

Overview

Fields

Public | Scale: TVector3f;
Public | Translate: TVector3f;
Public | Name: array[0..15] of AnsiChar;
Public | Vertices: array[0..0] of TMD2TriangleVertex;

Description

Fields

Public Scale: TVector3f;
Public Translate: TVector3f;
Public Name: array[0..15] of AnsiChar;
Public Vertices: array[0..0] of TMD2TriangleVertex;


GLSysHelp v.2.1: Formats.MD2: Record TMD2Header

Record TMD2Header

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD2

Declaration

type TMD2Header = record

Description

Overview

Fields

Public | Ident: integer;
Public | Version: integer;
Public | SkinWidth: integer;
Public | SkinHeight: integer;
Public | FrameSize: integer;
Public | Num_Skins: integer;
Public | Num_Vertices: integer;
Public | Num_TextureCoords: integer;
Public | Num_VertexIndices: integer;
Public | Num_GLCommdands: integer;
Public | Num_Frames: integer;
Public | Offset_skins: integer;
Public | Offset_st: integer;
Public | Offset_tris: integer;
Public | Offset_frames: integer;
Public | Offset_glcmds: integer;
Public | Offset_end: integer;

Description

Fields

Public Ident: integer;
Public Version: integer;
Public SkinWidth: integer;
Public SkinHeight: integer;
Public FrameSize: integer;
Public Num_Skins: integer;
Public Num_Vertices: integer;
Public Num_TextureCoords: integer;
Public Num_VertexIndices: integer;
Public Num_GLCommdands: integer;
Public Num_Frames: integer;
Public Offset_skins: integer;
Public Offset_st: integer;
Public Offset_tris: integer;
Public Offset_frames: integer;
Public Offset_glcmds: integer;
Public Offset_end: integer;


GLSysHelp v.2.1: Formats.MD2: Class TFileMD2

Class TFileMD2

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD2

Declaration

type TFileMD2 = class(TObject)

Description

Hierarchy

  • TObject
  • TFileMD2

Overview

Fields

Private | FiFrames: longint;
Private | FiVertices: longint;
Private | FiTriangles: longint;
Public | fIndexList: TIndexList;
Public | fVertexList: TGLVertexList;
Public | FrameNames: TStrings;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | procedure LoadFromStream(aStream : TStream);
Private | procedure FreeLists;

Properties

Public | property iFrames: longInt read FiFrames;
Public | property IndexList: TIndexList read fIndexList;
Public | property iTriangles: longInt read FiTriangles;
Public | property iVertices: longInt read FiVertices;
Public | property VertexList: TGLVertexList read fVertexList;

Description

Fields

Private FiFrames: longint;
Private FiVertices: longint;
Private FiTriangles: longint;
Public fIndexList: TIndexList;
Public fVertexList: TGLVertexList;
Public FrameNames: TStrings;

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Public procedure LoadFromStream(aStream : TStream);
Private procedure FreeLists;

Properties

Public property iFrames: longInt read FiFrames;
Public property IndexList: TIndexList read fIndexList;
Public property iTriangles: longInt read FiTriangles;
Public property iVertices: longInt read FiVertices;
Public property VertexList: TGLVertexList read fVertexList;


GLSysHelp v.2.1: Formats.MD3

Unit Formats.MD3

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TMD3Tag |
Record TMD3Bone |
Record TMD3Triangle |
Record TMD3Face |
Record TMD3TexCoord |
Record TMD3Skin |
Record TMD3Header |
Record TMD3MeshHeader |
Record TMD3MeshData |
Class TFileMD3 |


GLSysHelp v.2.1: Formats.MD3: Record TMD3Tag

Record TMD3Tag

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3Tag = record

Description

Quake3 MD3 structure types

Overview

Fields

Public | strName: array[0..63] of AnsiChar;
Public | vPosition: TVector3f;
Public | rotation: TMatrix3f;

Description

Fields

Public strName: array[0..63] of AnsiChar;
Public vPosition: TVector3f;
Public rotation: TMatrix3f;


GLSysHelp v.2.1: Formats.MD3: Record TMD3Bone

Record TMD3Bone

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3Bone = record

Description

TMD3Frame = record min_bound,max_bounds, local_origin : TVector3f; radius : single; name : array[0..15] of char; end;

Overview

Fields

Public | mins: TVector3f;
Public | maxs: TVector3f;
Public | position: TVector3f;
Public | scale: single;
Public | creator: array[0..15] of AnsiChar;

Description

Fields

Public mins: TVector3f;
Public maxs: TVector3f;
Public position: TVector3f;
Public scale: single;
Public creator: array[0..15] of AnsiChar;


GLSysHelp v.2.1: Formats.MD3: Record TMD3Triangle

Record TMD3Triangle

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3Triangle = record

Description

Overview

Fields

Public | vertex: TVector3s;
Public | normal: TVector2b;

Description

Fields

Public vertex: TVector3s;
Public normal: TVector2b;

value/64 to get real number position


GLSysHelp v.2.1: Formats.MD3: Record TMD3Face

Record TMD3Face

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3Face = record

Description

Overview

Fields

Public vertexIndices: TVector3i;

Description

Fields

Public vertexIndices: TVector3i;


GLSysHelp v.2.1: Formats.MD3: Record TMD3TexCoord

Record TMD3TexCoord

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3TexCoord = record

Description

Overview

Fields

Public textureCoord: TVector2f;

Description

Fields

Public textureCoord: TVector2f;


GLSysHelp v.2.1: Formats.MD3: Record TMD3Skin

Record TMD3Skin

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3Skin = record

Description

Overview

Fields

Public | strName: array[0..63] of AnsiChar;
Public | shaderIndex: Integer;

Description

Fields

Public strName: array[0..63] of AnsiChar;
Public shaderIndex: Integer;


GLSysHelp v.2.1: Formats.MD3: Record TMD3Header

Record TMD3Header

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3Header = record

Description

Overview

Fields

Public | fileID: array[0..3] of AnsiChar;
Public | version: integer;
Public | strFile: array[0..63] of AnsiChar;
Public | flags: integer;
Public | numFrames: integer;
Public | numTags: integer;
Public | numMeshes: integer;
Public | numMaxSkins: integer;
Public | headerSize: integer;
Public | tagStart: integer;
Public | tagEnd: integer;
Public | fileSize: integer;

Description

Fields

Public fileID: array[0..3] of AnsiChar;
Public version: integer;
Public strFile: array[0..63] of AnsiChar;
Public flags: integer;
Public numFrames: integer;
Public numTags: integer;
Public numMeshes: integer;
Public numMaxSkins: integer;
Public headerSize: integer;
Public tagStart: integer;
Public tagEnd: integer;
Public fileSize: integer;


GLSysHelp v.2.1: Formats.MD3: Record TMD3MeshHeader

Record TMD3MeshHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3MeshHeader = record

Description

Overview

Fields

Public | meshID: array[0..3] of AnsiChar;
Public | strName: array[0..63] of AnsiChar;
Public | flags: integer;
Public | numMeshFrames: integer;
Public | numSkins: integer;
Public | numVertices: integer;
Public | numTriangles: integer;
Public | triStart: integer;
Public | headerSize: integer;
Public | uvStart: integer;
Public | vertexStart: integer;
Public | meshSize: integer;

Description

Fields

Public meshID: array[0..3] of AnsiChar;
Public strName: array[0..63] of AnsiChar;
Public flags: integer;
Public numMeshFrames: integer;
Public numSkins: integer;
Public numVertices: integer;
Public numTriangles: integer;
Public triStart: integer;
Public headerSize: integer;
Public uvStart: integer;
Public vertexStart: integer;
Public meshSize: integer;


GLSysHelp v.2.1: Formats.MD3: Record TMD3MeshData

Record TMD3MeshData

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TMD3MeshData = record

Description

Overview

Fields

Public | MeshHeader: TMD3MeshHeader;
Public | Skins: array of TMD3Skin;
Public | Triangles: array of TMD3Face;
Public | TexCoords: array of TMD3TexCoord;
Public | Vertices: array of TMD3Triangle;

Description

Fields

Public MeshHeader: TMD3MeshHeader;
Public Skins: array of TMD3Skin;
Public Triangles: array of TMD3Face;
Public TexCoords: array of TMD3TexCoord;
Public Vertices: array of TMD3Triangle;


GLSysHelp v.2.1: Formats.MD3: Class TFileMD3

Class TFileMD3

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.MD3

Declaration

type TFileMD3 = class(TObject)

Description

MD3 Main file class

Hierarchy

  • TObject
  • TFileMD3

Overview

Fields

Public | ModelHeader: TMD3Header;
Public | Bones: array of TMD3Bone;
Public | Tags: array of TMD3Tag;
Public | MeshData: array of TMD3MeshData;

Methods

Public procedure LoadFromStream(aStream : TStream);

Description

Fields

Public ModelHeader: TMD3Header;
Public Bones: array of TMD3Bone;
Public Tags: array of TMD3Tag;
Public MeshData: array of TMD3MeshData;

Methods

Public procedure LoadFromStream(aStream : TStream);


GLSysHelp v.2.1: Formats.OCT

Unit Formats.OCT

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorLists

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TOCTHeader |
Record TOCTVertex |
Record TOCTFace |
Record TOCTTexture |
Record TOCTLightmap |
Record TOCTLight |
Class TOCTFile |

Types

POCTFace = ˆTOCTFace;
POCTLightmap = ˆTOCTLightmap;

Description

Types

POCTFace = ˆTOCTFace;
POCTLightmap = ˆTOCTLightmap;


GLSysHelp v.2.1: Formats.OCT: Record TOCTHeader

Record TOCTHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTHeader = record

Description

Overview

Fields

Public | numVerts: Integer;
Public | numFaces: Integer;
Public | numTextures: Integer;
Public | numLightmaps: Integer;
Public | numLights: Integer;

Description

Fields

Public numVerts: Integer;
Public numFaces: Integer;
Public numTextures: Integer;
Public numLightmaps: Integer;
Public numLights: Integer;


GLSysHelp v.2.1: Formats.OCT: Record TOCTVertex

Record TOCTVertex

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTVertex = record

Description

Overview

Fields

Public | tv: TTexPoint;
Public | lv: TTexPoint;
Public | pos: TAffineVector;

Description

Fields

Public tv: TTexPoint;
Public lv: TTexPoint;

texture coordinates

Public pos: TAffineVector;

lightmap coordinates


GLSysHelp v.2.1: Formats.OCT: Record TOCTFace

Record TOCTFace

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTFace = record

Description

Overview

Fields

Public | start: Integer;
Public | num: Integer;
Public | id: Integer;
Public | lid: Integer;
Public | p: THmgPlane;

Description

Fields

Public start: Integer;
Public num: Integer;

first face vert in vertex array

Public id: Integer;

number of verts in the face

Public lid: Integer;

texture index into the texture array

Public p: THmgPlane;

lightmap index into the lightmap array


GLSysHelp v.2.1: Formats.OCT: Record TOCTTexture

Record TOCTTexture

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTTexture = record

Description

Overview

Fields

Public | id: Integer;
Public | Name: array [0 .. 63] of AnsiChar;

Description

Fields

Public id: Integer;
Public Name: array [0 .. 63] of AnsiChar;

texture id


GLSysHelp v.2.1: Formats.OCT: Record TOCTLightmap

Record TOCTLightmap

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTLightmap = record

Description

Overview

Fields

Public | id: Integer;
Public | map: array [0 .. 49151] of Byte;

Description

Fields

Public id: Integer;
Public map: array [0 .. 49151] of Byte;

lightmaps id


GLSysHelp v.2.1: Formats.OCT: Record TOCTLight

Record TOCTLight

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTLight = record

Description

Overview

Fields

Public | pos: TAffineVector;
Public | color: TAffineVector;
Public | intensity: Integer;

Description

Fields

Public pos: TAffineVector;
Public color: TAffineVector;

Position

Public intensity: Integer;

Color (RGB)


GLSysHelp v.2.1: Formats.OCT: Class TOCTFile

Class TOCTFile

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.OCT

Declaration

type TOCTFile = class(TObject)

Description

Hierarchy

  • TObject
  • TOCTFile

Overview

Fields

Public | Header: TOCTHeader;
Public | Vertices: array of TOCTVertex;
Public | Faces: array of TOCTFace;
Public | Textures: array of TOCTTexture;
Public | Lightmaps: array of TOCTLightmap;
Public | Lights: array of TOCTLight;
Public | PlayerPos: TAffineVector;

Methods

Public | constructor Create(octStream: TStream); overload;
Public | constructor Create; overload;
Public | procedure AddLight(const lightPos: TAffineVector; const lightColor: TGLVector; lightIntensity: Integer);
Public | procedure AddTriangles(vertexCoords: TAffineVectorList; texMapCoords: TAffineVectorList; const textureName: String);
Public | procedure SaveToStream(aStream: TStream);

Description

Fields

Public Header: TOCTHeader;
Public Vertices: array of TOCTVertex;
Public Faces: array of TOCTFace;
Public Textures: array of TOCTTexture;
Public Lightmaps: array of TOCTLightmap;
Public Lights: array of TOCTLight;
Public PlayerPos: TAffineVector;

Methods

Public constructor Create(octStream: TStream); overload;
Public constructor Create; overload;
Public procedure AddLight(const lightPos: TAffineVector; const lightColor: TGLVector; lightIntensity: Integer);
Public procedure AddTriangles(vertexCoords: TAffineVectorList; texMapCoords: TAffineVectorList; const textureName: String);
Public procedure SaveToStream(aStream: TStream);

Saves content to stream in OCT format. The Header is automatically prepared before streaming.


GLSysHelp v.2.1: Formats.Q3BSP

Unit Formats.Q3BSP

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TBSPHeader |
Record TBSPLump |
Record TBSPNode |
Record TBSPLeaf |
Record TBSPModel |
Record TBSPVertex |
Record TBSPFace |
Record TBSPTexture |
Record TBSPLightmap |
Record TBSPVisData |
Class TQ3BSP |

Types

PBSPFace = ˆTBSPFace;
PBSPLightmap = ˆTBSPLightmap;
PBSPTexture = ˆTBSPTexture;
PBSPVertex = ˆTBSPVertex;
TBSPBBox = array [0 .. 5] of Integer;

Constants

FACE_POLYGON = 1;
MAX_TEXTURES = 1000;
kEntities = 0;
kTextures = 1;
kPlanes = 2;
kNodes = 3;
kLeafs = 4;
kLeafFaces = 5;
kLeafBrushes = 6;
kModels = 7;
kBrushes = 8;
kBrushSides = 9;
kVertices = 10;
kMeshVerts = 11;
kShaders = 12;
kFaces = 13;
kLightmaps = 14;
kLightVolumes = 15;
kVisData = 16;
kMaxLumps = 17;

Description

Types

PBSPFace = ˆTBSPFace;
PBSPLightmap = ˆTBSPLightmap;
PBSPTexture = ˆTBSPTexture;
PBSPVertex = ˆTBSPVertex;
TBSPBBox = array [0 .. 5] of Integer;

Constants

FACE_POLYGON = 1;
MAX_TEXTURES = 1000;
kEntities = 0;
kTextures = 1;

Stores player/object positions, etc...

kPlanes = 2;

Stores texture information

kNodes = 3;

Stores the splitting planes

kLeafs = 4;

Stores the BSP nodes

kLeafFaces = 5;

Stores the leafs of the nodes

kLeafBrushes = 6;

Stores the leaf's indices into the faces

kModels = 7;

Stores the leaf's indices into the brushes

kBrushes = 8;

Stores the info of world models

kBrushSides = 9;

Stores the brushes info (for collision)

kVertices = 10;

Stores the brush surfaces info

kMeshVerts = 11;

Stores the level vertices

kShaders = 12;

Stores the model vertices offsets

kFaces = 13;

Stores the shader files (blending, anims..)

kLightmaps = 14;

Stores the faces for the level

kLightVolumes = 15;

Stores the lightmaps for the level

kVisData = 16;

Stores extra world lighting information

kMaxLumps = 17;

Stores PVS and cluster info (visibility)


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPHeader

Record TBSPHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPHeader = record

Description

Overview

Fields

Public | StrID: array [0 .. 3] of AnsiChar;
Public | Version: Integer;

Description

Fields

Public StrID: array [0 .. 3] of AnsiChar;
Public Version: Integer;

This should always be 'IBSP'


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPLump

Record TBSPLump

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPLump = record

Description

Overview

Fields

Public | Offset: Integer;
Public | Length: Integer;

Description

Fields

Public Offset: Integer;
Public Length: Integer;

The offset into the file for the start of this lump


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPNode

Record TBSPNode

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPNode = record

Description

Overview

Fields

Public | Plane: Integer;
Public | Children: array [0 .. 1] of Integer;
Public | BBox: TBSPBBox;

Description

Fields

Public Plane: Integer;
Public Children: array [0 .. 1] of Integer;

Space partitioning plane

Public BBox: TBSPBBox;

Back and front child nodes


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPLeaf

Record TBSPLeaf

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPLeaf = record

Description

Overview

Fields

Public | Cluster: Integer;
Public | Area: Integer;
Public | BBox: TBSPBBox;
Public | FirstFace: Integer;
Public | NumFaces: Integer;
Public | FirstBrush: Integer;
Public | NumBrushes: Integer;

Description

Fields

Public Cluster: Integer;
Public Area: Integer;

Visibility cluster number

Public BBox: TBSPBBox;

Volume of the leaf

Public FirstFace: Integer;

Bounding box of leaf

Public NumFaces: Integer;

Bounding box of leaf

Public FirstBrush: Integer;

Lookup for the face list (indexes are for faces)

Public NumBrushes: Integer;

Lookup for the face list (indexes are for faces)


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPModel

Record TBSPModel

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPModel = record

Description

Overview

Fields

Public | BBox: TBSPBBox;
Public | FirstFace: Integer;
Public | NumFaces: Integer;
Public | FirstBrush: Integer;
Public | NumBrushes: Integer;

Description

Fields

Public BBox: TBSPBBox;
Public FirstFace: Integer;

Bounding box of model

Public NumFaces: Integer;

Bounding box of model

Public FirstBrush: Integer;

Lookup for the face list (indexes are for faces)

Public NumBrushes: Integer;

Lookup for the face list (indexes are for faces)


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPVertex

Record TBSPVertex

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPVertex = record

Description

Overview

Fields

Public | Position: TVector3f;
Public | TextureCoord: TVector2f;
Public | LightmapCoord: TVector2f;
Public | Normal: TVector3f;
Public | Color: array [0 .. 3] of Byte

Description

Fields

Public Position: TVector3f;
Public TextureCoord: TVector2f;

(x, y, z) position.

Public LightmapCoord: TVector2f;

(u, v) texture coordinate

Public Normal: TVector3f;

(u, v) lightmap coordinate

Public Color: array [0 .. 3] of Byte

(x, y, z) normal vector


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPFace

Record TBSPFace

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPFace = record

Description

Overview

Fields

Public | textureID: Integer;
Public | effect: Integer;
Public | FaceType: Integer;
Public | startVertIndex: Integer;
Public | numOfVerts: Integer;
Public | meshVertIndex: Integer;
Public | numMeshVerts: Integer;
Public | lightmapID: Integer;
Public | lMapCorner: array [0 .. 1] of Integer;
Public | lMapSize: array [0 .. 1] of Integer;
Public | lMapPos: TVector3f;
Public | lMapVecs: array [0 .. 1] of TVector3f;
Public | vNormal: TVector3f;
Public | Size: array [0 .. 1] of Integer;

Description

Fields

Public textureID: Integer;
Public effect: Integer;

The index into the texture array

Public FaceType: Integer;

The index for the effects (or -1 = n/a)

Public startVertIndex: Integer;

1=polygon, 2=patch, 3=mesh, 4=billboard

Public numOfVerts: Integer;

The starting index into this face's first vertex

Public meshVertIndex: Integer;

The number of vertices for this face

Public numMeshVerts: Integer;

The index into the first meshvertex

Public lightmapID: Integer;

The number of mesh vertices

Public lMapCorner: array [0 .. 1] of Integer;

The texture index for the lightmap

Public lMapSize: array [0 .. 1] of Integer;

The face's lightmap corner in the image

Public lMapPos: TVector3f;

The size of the lightmap section

Public lMapVecs: array [0 .. 1] of TVector3f;

The 3D origin of lightmap.

Public vNormal: TVector3f;

The 3D space for s and t unit vectors.

Public Size: array [0 .. 1] of Integer;

The face normal.


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPTexture

Record TBSPTexture

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPTexture = record

Description

Overview

Fields

Public | TextureName: array [0 .. 63] of WideChar;
Public | flags: Integer;
Public | contents: Integer;

Description

Fields

Public TextureName: array [0 .. 63] of WideChar;
Public flags: Integer;

The name of the texture w/o the extension

Public contents: Integer;

The surface flags (unknown)


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPLightmap

Record TBSPLightmap

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPLightmap = record

Description

Overview

Fields

Public imageBits: array [0 .. 49151] of Byte;

Description

Fields

Public imageBits: array [0 .. 49151] of Byte;


GLSysHelp v.2.1: Formats.Q3BSP: Record TBSPVisData

Record TBSPVisData

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TBSPVisData = record

Description

Overview

Fields

Public | numOfClusters: Integer;
Public | bytesPerCluster: Integer;
Public | bitSets: array of Byte;

Description

Fields

Public numOfClusters: Integer;
Public bytesPerCluster: Integer;
Public bitSets: array of Byte;


GLSysHelp v.2.1: Formats.Q3BSP: Class TQ3BSP

Class TQ3BSP

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.Q3BSP

Declaration

type TQ3BSP = class(TObject)

Description

Hierarchy

  • TObject
  • TQ3BSP

Overview

Fields

Public | Header: TBSPHeader;
Public | Lumps: array of TBSPLump;
Public | numOfVerts: Integer;
Public | NumOfNodes: Integer;
Public | NumOfPlanes: Integer;
Public | NumOfLeaves: Integer;
Public | NumOfFaces: Integer;
Public | NumOfTextures: Integer;
Public | NumOfLightmaps: Integer;
Public | Vertices: array of TBSPVertex;
Public | Nodes: array of TBSPNode;
Public | Planes: array of TVector4f;
Public | Leaves: array of TBSPLeaf;
Public | Faces: array of TBSPFace;
Public | Textures: array of TBSPTexture;
Public | Lightmaps: array of TBSPLightmap;
Public | VisData: TBSPVisData;

Methods

Public constructor Create(bspStream: TStream);

Description

Fields

Public Header: TBSPHeader;
Public Lumps: array of TBSPLump;
Public numOfVerts: Integer;
Public NumOfNodes: Integer;
Public NumOfPlanes: Integer;
Public NumOfLeaves: Integer;
Public NumOfFaces: Integer;
Public NumOfTextures: Integer;
Public NumOfLightmaps: Integer;
Public Vertices: array of TBSPVertex;
Public Nodes: array of TBSPNode;
Public Planes: array of TVector4f;
Public Leaves: array of TBSPLeaf;
Public Faces: array of TBSPFace;
Public Textures: array of TBSPTexture;
Public Lightmaps: array of TBSPLightmap;

texture names (without extension)

Public VisData: TBSPVisData;

Methods

Public constructor Create(bspStream: TStream);


GLSysHelp v.2.1: Formats.TGA

Unit Formats.TGA

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Graphics
  • GLS.ApplicationFileIO
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTGAImage |


GLSysHelp v.2.1: Formats.TGA: Class TGLTGAImage

Class TGLTGAImage

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.TGA

Declaration

type TGLTGAImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLTGAImage

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToFile(const filename: string); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: boolean; const intFormat: TGLInternalFormat); reintroduce;
Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToFile(const filename: string); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: Formats.VFW

Unit Formats.VFW

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.MMSystem
  • Winapi.Messages
  • Winapi.CommDlg
  • Winapi.ActiveX

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TICOPEN |
Packed Record TICINFO |
Packed Record TICCOMPRESS |
Packed Record TICCOMPRESSFRAMES |
Packed Record TICSETSTATUSPROC |
Packed Record TICDECOMPRESS |
Packed Record TICDECOMPRESSEX |
Packed Record TICDRAWBEGIN |
Packed Record TICDRAW |
Packed Record TICDRAWSUGGEST |
Packed Record TICPALETTE |
Packed Record TCOMPVARS |
Packed Record TDRAWDIBTIME |
Packed Record TMainAVIHeader |
Packed Record TAVIStreamHeader |
Packed Record TAVIINDEXENTRY |
Packed Record TAVIPALCHANGE |
Packed Record TAVIStreamInfoW |
Packed Record TAVIStreamInfoA |
Packed Record TAVIFileInfoW |
Packed Record TAVIFileInfoA |
Packed Record TAVICOMPRESSOPTIONS |
Interface IAVIStream |
Interface IAVIStreaming |
Interface IAVIEditStream |
Interface IAVIFile |
Interface IGetFrame |
Record TVIDEOHDR |
Record TCHANNEL_CAPS |
Record TCAPDRIVERCAPS |
Record TCAPSTATUS |
Record TCAPTUREPARMS |
Record TCAPINFOCHUNK |

Functions and Procedures

function VideoForWindowsVersion: DWORD; pascal;
function MKFOURCC(ch0, ch1, ch2, ch3: AnsiChar): FOURCC;
function mmioFOURCC(ch0, ch1, ch2, ch3: AnsiChar): FOURCC;
function aviTWOCC(ch0, ch1: AnsiChar): TWOCC;
function ICInfo(fccType, fccHandler: DWORD; lpicinfo: PICINFO) : BOOL ; stdcall;
function ICInstall(fccType, fccHandler: DWORD; lParam: LPARAM; szDesc: LPSTR; wFlags: UINT) : BOOL ; stdcall;
function ICRemove(fccType, fccHandler: DWORD; wFlags: UINT) : BOOL ; stdcall;
function ICGetInfo(hic: HIC; picinfo: PICINFO; cb: DWORD) : DWORD ; stdcall;
function ICOpen(fccType, fccHandler: DWORD; wMode: UINT) : HIC ; stdcall;
function ICOpenFunction(fccType, fccHandler: DWORD; wMode: UINT; lpfnHandler: TFarProc) : HIC ; stdcall;
function ICClose(hic: HIC) : DWORD; stdcall;
function ICSendMessage(hic: HIC; msg: UINT; dw1, dw2: DWORD) : DWORD ; stdcall;
function ICQueryAbout(hic: HIC): BOOL;
function ICAbout(hic: HIC; hwnd: HWND): DWORD;
function ICQueryConfigure(hic: HIC): BOOL;
function ICConfigure(hic: HIC; hwnd: HWND): DWORD;
function ICGetState(hic: HIC; pv: PVOID; cb: DWORD): DWORD;
function ICSetState(hic: HIC; pv: PVOID; cb: DWORD): DWORD;
function ICGetStateSize(hic: HIC): DWORD;
function ICGetDefaultQuality(hic: HIC): DWORD;
function ICGetDefaultKeyFrameRate(hic: HIC): DWORD;
function ICDrawWindow(hic: HIC; prc: PRECT): DWORD;
function ICCompress( hic : HIC; dwFlags : DWORD; lpbiOutput : PBITMAPINFOHEADER; lpData : PVOID; lpbiInput : PBITMAPINFOHEADER; lpBits : PVOID; lpckid : PDWORD; lpdwFlags : PDWORD; lFrameNum : DWORD; dwFrameSize : DWORD; dwQuality : DWORD; lpbiPrev : PBITMAPINFOHEADER; lpPrev : PVOID ): DWORD; cdecl;
function ICCompressBegin(hic: HIC; lpbiInput: PBITMAPINFOHEADER; lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICCompressQuery(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICCompressGetFormat(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICCompressGetFormatSize(hic: HIC; lpbi: PBITMAPINFOHEADER): DWORD;
function ICCompressGetSize(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICCompressEnd(hic: HIC): DWORD;
function ICDecompress( hic : HIC; dwFlags : DWORD; lpbiFormat : PBITMAPINFOHEADER; lpData : PVOID; lpbi : PBITMAPINFOHEADER; lpBits : PVOID ): DWORD; cdecl;
function ICDecompressBegin(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICDecompressQuery(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICDecompressGetFormat(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICDecompressGetFormatSize(hic: HIC; lpbi: PBITMAPINFOHEADER): DWORD;
function ICDecompressGetPalette(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;
function ICDecompressSetPalette(hic: HIC; lpbiPalette: PBITMAPINFOHEADER): DWORD;
function ICDecompressEnd(hic: HIC): DWORD;
function ICDecompressEx( hic : HIC; dwFlags : DWORD; lpbiSrc : PBITMAPINFOHEADER; lpSrc : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; lpbiDst : PBITMAPINFOHEADER; lpDst : PVOID; xDst : int; yDst : int; dxDst : int; dyDst : int ): DWORD; stdcall;
function ICDecompressExBegin( hic : HIC; dwFlags : DWORD; lpbiSrc : PBITMAPINFOHEADER; lpSrc : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; lpbiDst : PBITMAPINFOHEADER; lpDst : PVOID; xDst : int; yDst : int; dxDst : int; dyDst : int ): DWORD; stdcall;
function ICDecompressExQuery( hic : HIC; dwFlags : DWORD; lpbiSrc : PBITMAPINFOHEADER; lpSrc : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; lpbiDst : PBITMAPINFOHEADER; lpDst : PVOID; xDst : int; yDst : int; dxDst : int; dyDst : int ): DWORD; stdcall;
function ICDecompressExEnd(hic: HIC): DWORD;
function ICDrawBegin( hic : HIC; dwFlags : DWORD; hpal : HPALETTE; hwnd : HWND; hdc : HDC; xDst : int; yDst : int; dxDst : int; dyDst : int; lpbi : PBITMAPINFOHEADER; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; dwRate : DWORD; dwScale : DWORD ): DWORD; cdecl;
function ICDraw( hic : HIC; dwFlags : DWORD; lpFormat : PVOID; lpData : PVOID; cbData : DWORD; lTime : DWORD ): DWORD; cdecl;
function ICDrawSuggestFormat( hic : HIC; lpbiIn : PBITMAPINFOHEADER; lpbiOut : PBITMAPINFOHEADER; dxSrc : int; dySrc : int; dxDst : int; dyDst : int; hicDecomp : HIC ): DWORD; stdcall;
function ICDrawQuery(hic: HIC; lpbiInput: PBITMAPINFOHEADER): DWORD;
function ICDrawChangePalette(hic: HIC; lpbiInput: PBITMAPINFOHEADER): DWORD;
function ICGetBuffersWanted(hic: HIC; lpdwBuffers: PDWORD): DWORD;
function ICDrawEnd(hic: HIC): DWORD;
function ICDrawStart(hic: HIC): DWORD;
function ICDrawStartPlay(hic: HIC; lFrom, lTo: DWORD): DWORD;
function ICDrawStop(hic: HIC): DWORD;
function ICDrawStopPlay(hic: HIC): DWORD;
function ICDrawGetTime(hic: HIC; lplTime: PDWORD): DWORD;
function ICDrawSetTime(hic: HIC; lTime: DWORD): DWORD;
function ICDrawRealize(hic: HIC; hdc: HDC; fBackground: BOOL): DWORD;
function ICDrawFlush(hic: HIC): DWORD;
function ICDrawRenderBuffer(hic: HIC): DWORD;
function ICSetStatusProc( hic : HIC; dwFlags : DWORD; lParam : DWORD; fpfnStatus : TICStatusProc ): DWORD; stdcall;
function ICLocate(fccType, fccHandler: DWORD; lpbiIn, lpbiOut: PBITMAPINFOHEADER; wFlags: WORD): HIC; stdcall;
function ICGetDisplayFormat(hic: HIC; lpbiIn, lpbiOut: PBITMAPINFOHEADER; BitDepth: int; dx, dy: int): HIC; stdcall;
function ICDecompressOpen(fccType, fccHandler: DWORD; lpbiIn, lpbiOut: PBITMAPINFOHEADER): HIC;
function ICDrawOpen(fccType, fccHandler: DWORD; lpbiIn: PBITMAPINFOHEADER): HIC;
function ICImageCompress( hic : HIC; uiFlags : UINT; lpbiIn : PBITMAPINFO; lpBits : PVOID; lpbiOut : PBITMAPINFO; lQuality : LONG; plSize : PDWORD ): THANDLE; stdcall;
function ICImageDecompress( hic : HIC; uiFlags : UINT; lpbiIn : PBITMAPINFO; lpBits : PVOID; lpbiOut : PBITMAPINFO ): THANDLE; stdcall;
function ICCompressorChoose( hwnd : HWND; uiFlags : UINT; pvIn : PVOID; lpData : PVOID; pc : PCOMPVARS; lpszTitle : LPSTR ): BOOL; stdcall;
function ICSeqCompressFrameStart(pc: PCOMPVARS; lpbiIn: PBITMAPINFO): BOOL; stdcall;
procedure ICSeqCompressFrameEnd(pc: PCOMPVARS); stdcall;
function ICSeqCompressFrame( pc : PCOMPVARS; uiFlags : UINT; lpBits : PVOID; pfKey : PBOOL; plSize : PDWORD ): PVOID; stdcall;
procedure ICCompressorFree(pc: PCOMPVARS); stdcall;
function DrawDibOpen: HDRAWDIB; stdcall;
function DrawDibClose(hdd: HDRAWDIB): BOOL; stdcall;
function DrawDibGetBuffer(hdd: HDRAWDIB; lpbi: PBITMAPINFOHEADER; dwSize: DWORD; dwFlags: DWORD): PVOID; stdcall;
function DrawDibGetPalette(hdd: HDRAWDIB): HPALETTE; stdcall;
function DrawDibSetPalette(hdd: HDRAWDIB; hpal: HPALETTE): BOOL; stdcall;
function DrawDibChangePalette(hdd: HDRAWDIB; iStart, iLen: int; lppe: PPALETTEENTRY): BOOL; stdcall;
function DrawDibRealize(hdd: HDRAWDIB; hdc: HDC; fBackground: BOOL): UINT; stdcall;
function DrawDibStart(hdd: HDRAWDIB; rate: DWORD): BOOL; stdcall;
function DrawDibStop(hdd: HDRAWDIB): BOOL; stdcall;
function DrawDibBegin( hdd : HDRAWDIB; hdc : HDC; dxDst : int; dyDst : int; lpbi : PBITMAPINFOHEADER; dxSrc : int; dySrc : int; wFlags : UINT ): BOOL; stdcall;
function DrawDibDraw( hdd : HDRAWDIB; hdc : HDC; xDst : int; yDst : int; dxDst : int; dyDst : int; lpbi : PBITMAPINFOHEADER; lpBits : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; wFlags : UINT ): BOOL; stdcall;
function DrawDibUpdate(hdd: HDRAWDIB; hdc: HDC; x, y: int): BOOL;
function DrawDibEnd(hdd: HDRAWDIB): BOOL; stdcall;
function DrawDibTime(hdd: HDRAWDIB; lpddtime: PDRAWDIBTIME): BOOL; stdcall;
function DrawDibProfileDisplay(lpbi: PBITMAPINFOHEADER): DWORD; stdcall;
function FromHex(n: BYTE): BYTE;
function StreamFromFOURCC(fcc: DWORD): BYTE;
function TWOCCFromFOURCC(fcc: DWORD): WORD;
function ToHex(n: BYTE): BYTE;
function MAKEAVICKID(tcc: WORD; stream: BYTE): DWORD;
procedure AVIFileInit; stdcall;
procedure AVIFileExit; stdcall;
function AVIFileAddRef(pfile: IAVIFile): ULONG; stdcall;
function AVIFileRelease(pfile: IAVIFile): ULONG; stdcall;
function AVIFileOpenA(var ppfile: IAVIFile; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall;
function AVIFileOpenW(var ppfile: IAVIFile; szFile: LPCWSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall;
function AVIFileOpen(var ppfile: IAVIFile; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall;
function AVIFileInfoW(pfile: IAVIFile; var pfi: TAVIFILEINFOW; lSize: LONG): HResult; stdcall;
function AVIFileInfoA(pfile: IAVIFile; var pfi: TAVIFILEINFOA; lSize: LONG): HResult; stdcall;
function AVIFileInfo(pfile: IAVIFile; var pfi: TAVIFILEINFO; lSize: LONG): HResult; stdcall;
function AVIFileGetStream(pfile: IAVIFile; var ppavi: IAVISTREAM; fccType: DWORD; lParam: LONG): HResult; stdcall;
function AVIFileCreateStreamW(pfile: IAVIFile; var ppavi: IAVISTREAM; var psi: TAVISTREAMINFOW): HResult; stdcall;
function AVIFileCreateStreamA(pfile: IAVIFile; var ppavi: IAVISTREAM; var psi: TAVISTREAMINFOA): HResult; stdcall;
function AVIFileCreateStream(pfile: IAVIFile; var ppavi: IAVISTREAM; var psi: TAVISTREAMINFO): HResult; stdcall;
function AVIFileWriteData(pfile: IAVIFile; ckid: DWORD; lpData: PVOID; cbData: LONG): HResult; stdcall;
function AVIFileReadData(pfile: IAVIFile; ckid: DWORD; lpData: PVOID; var lpcbData: LONG): HResult; stdcall;
function AVIFileEndRecord(pfile: IAVIFile): HResult; stdcall;
function AVIStreamAddRef(pavi: IAVIStream): ULONG; stdcall;
function AVIStreamRelease(pavi: IAVIStream): ULONG; stdcall;
function AVIStreamInfoW(pavi: IAVIStream; var psi: TAVISTREAMINFOW; lSize: LONG): HResult; stdcall;
function AVIStreamInfoA(pavi: IAVIStream; var psi: TAVISTREAMINFOA; lSize: LONG): HResult; stdcall;
function AVIStreamInfo(pavi: IAVIStream; var psi: TAVISTREAMINFO; lSize: LONG): HResult; stdcall;
function AVIStreamFindSample(pavi: IAVIStream; lPos: LONG; lFlags: LONG): LONG; stdcall;
function AVIStreamReadFormat(pavi: IAVIStream; lPos: LONG; lpFormat: PVOID; lpcbFormat: PLONG): HResult; stdcall;
function AVIStreamSetFormat(pavi: IAVIStream; lPos: LONG; lpFormat: PVOID; cbFormat: LONG): HResult; stdcall;
function AVIStreamReadData(pavi: IAVIStream; fcc: DWORD; lp: PVOID; lpcb: PLONG): HResult; stdcall;
function AVIStreamWriteData(pavi: IAVIStream; fcc: DWORD; lp: PVOID; cb: LONG): HResult; stdcall;
function AVIStreamRead( pavi : IAVISTREAM; lStart : LONG; lSamples : LONG; lpBuffer : PVOID; cbBuffer : LONG; plBytes : PLONG; plSamples : PLONG ): HResult; stdcall;
function AVIStreamWrite( pavi : IAVISTREAM; lStart : LONG; lSamples : LONG; lpBuffer : PVOID; cbBuffer : LONG; dwFlags : DWORD; plSampWritten : PLONG; plBytesWritten : PLONG ): HResult; stdcall;
function AVIStreamStart(pavi: IAVIStream): LONG; stdcall;
function AVIStreamLength(pavi: IAVIStream): LONG; stdcall;
function AVIStreamTimeToSample(pavi: IAVIStream; lTime: LONG): LONG; stdcall;
function AVIStreamSampleToTime(pavi: IAVIStream; lSample: LONG): LONG; stdcall;
function AVIStreamBeginStreaming(pavi: IAVIStream; lStart, lEnd: LONG; lRate: LONG): HResult; stdcall;
function AVIStreamEndStreaming(pavi: IAVIStream): HResult; stdcall;
function AVIStreamGetFrameOpen(pavi: IAVIStream; lpbiWanted: PBitmapInfoHeader): IGetFrame; stdcall;
function AVIStreamGetFrame(pg: IGetFrame; lPos: LONG): PBitmapInfoHeader; stdcall;
function AVIStreamGetFrameClose(pg: IGetFrame): HResult; stdcall;
function AVIStreamOpenFromFileA(var ppavi: IAVISTREAM; szFile: LPCSTR; fccType: DWORD; lParam: LONG; mode: UINT; pclsidHandler: PCLSID): HResult; stdcall;
function AVIStreamOpenFromFileW(var ppavi: IAVISTREAM; szFile: LPCWSTR; fccType: DWORD; lParam: LONG; mode: UINT; pclsidHandler: PCLSID): HResult; stdcall;
function AVIStreamOpenFromFile(var ppavi: IAVISTREAM; szFile: LPCSTR; fccType: DWORD; lParam: LONG; mode: UINT; pclsidHandler: PCLSID): HResult; stdcall;
function AVIStreamCreate(var ppavi: IAVISTREAM; lParam1, lParam2: LONG; pclsidHandler: PCLSID): HResult; stdcall;
function AVIStreamFindKeyFrame(var pavi: IAVISTREAM; lPos: LONG; lFlags: LONG): DWORD; stdcall;
function AVIStreamClose(pavi: IAVISTREAM): ULONG; stdcall;
function AVIFileClose(pfile: IAVIFILE): ULONG; stdcall;
procedure AVIStreamInit; stdcall;
procedure AVIStreamExit; stdcall;
function AVIStreamSampleToSample(pavi1, pavi2: IAVISTREAM; l: LONG): LONG;
function AVIStreamNextSample(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamPrevSample(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamNearestSample(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamNextKeyFrame(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamPrevKeyFrame(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamNearestKeyFrame(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamIsKeyFrame(pavi: IAVISTREAM; l: LONG): BOOL;
function AVIStreamPrevSampleTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNextSampleTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNearestSampleTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNextKeyFrameTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamPrevKeyFrameTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNearestKeyFrameTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamStartTime(pavi: IAVISTREAM): LONG;
function AVIStreamLengthTime(pavi: IAVISTREAM): LONG;
function AVIStreamEnd(pavi: IAVISTREAM): LONG;
function AVIStreamEndTime(pavi: IAVISTREAM): LONG;
function AVIStreamSampleSize(pavi: IAVISTREAM; lPos: LONG; plSize: PLONG): LONG;
function AVIStreamFormatSize(pavi: IAVISTREAM; lPos: LONG; plSize: PLONG): HResult;
function AVIStreamDataSize(pavi: IAVISTREAM; fcc: DWORD; plSize: PLONG): HResult;
function AVIMakeCompressedStream( var ppsCompressed : IAVISTREAM; ppsSource : IAVISTREAM; lpOptions : PAVICOMPRESSOPTIONS; pclsidHandler : PCLSID ): HResult; stdcall;
function AVISaveVA( szFile : LPCSTR; pclsidHandler : PCLSID; lpfnCallback : TAVISAVECALLBACK; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): HResult; stdcall;
function AVISaveVW( szFile : LPCWSTR; pclsidHandler : PCLSID; lpfnCallback : TAVISAVECALLBACK; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): HResult; stdcall;
function AVISaveV( szFile : LPCSTR; pclsidHandler : PCLSID; lpfnCallback : TAVISAVECALLBACK; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): HResult; stdcall;
function AVISaveOptions( hwnd : HWND; uiFlags : UINT; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): BOOL; stdcall;
function AVISaveOptionsFree(nStreams: int; var plpOptions: PAVICOMPRESSOPTIONS): HResult; stdcall;
function AVIBuildFilterW(lpszFilter: LPWSTR; cbFilter: LONG; fSaving: BOOL): HResult; stdcall;
function AVIBuildFilterA(lpszFilter: LPSTR; cbFilter: LONG; fSaving: BOOL): HResult; stdcall;
function AVIBuildFilter(lpszFilter: LPSTR; cbFilter: LONG; fSaving: BOOL): HResult; stdcall;
function AVIMakeFileFromStreams(var ppfile: IAVIFILE; nStreams: int; var papStreams: IAVISTREAM): HResult; stdcall;
function AVIMakeStreamFromClipboard(cfFormat: UINT; hGlobal: THANDLE; var ppstream: IAVISTREAM): HResult; stdcall;
function AVIPutFileOnClipboard(pf: IAVIFILE): HResult; stdcall;
function AVIGetFromClipboard(var lppf: IAVIFILE): HResult; stdcall;
function AVIClearClipboard: HResult; stdcall;
function CreateEditableStream(var ppsEditable: IAVISTREAM; psSource: IAVISTREAM): HResult; stdcall;
function EditStreamCut(pavi: IAVISTREAM; var plStart, plLength: LONG; var ppResult: IAVISTREAM): HResult; stdcall;
function EditStreamCopy(pavi: IAVISTREAM; var plStart, plLength: LONG; var ppResult: IAVISTREAM): HResult; stdcall;
function EditStreamPaste(pavi: IAVISTREAM; var plPos, plLength: LONG; pstream: IAVISTREAM; lStart, lEnd: LONG): HResult; stdcall;
function EditStreamClone(pavi: IAVISTREAM; var ppResult: IAVISTREAM): HResult; stdcall;
function EditStreamSetNameA(pavi: IAVISTREAM; lpszName: LPCSTR): HResult; stdcall;
function EditStreamSetNameW(pavi: IAVISTREAM; lpszName: LPCWSTR): HResult; stdcall;
function EditStreamSetInfoW(pavi: IAVISTREAM; lpInfo: PAVISTREAMINFOW; cbInfo: LONG): HResult; stdcall;
function EditStreamSetInfoA(pavi: IAVISTREAM; lpInfo: PAVISTREAMINFOA; cbInfo: LONG): HResult; stdcall;
function EditStreamSetInfo(pavi: IAVISTREAM; lpInfo: PAVISTREAMINFOA; cbInfo: LONG): HResult; stdcall;
function EditStreamSetName(pavi: IAVISTREAM; lpszName: LPCSTR): HResult; stdcall;
function MCIWndSM(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): DWORD;
function MCIWndCreateA(hwndParent: HWND; hInstance: HINST; dwStyle: DWORd; szFile: LPCSTR): HWND; cdecl;
function MCIWndCreateW(hwndParent: HWND; hInstance: HINST; dwStyle: DWORd; szFile: LPCWSTR): HWND; cdecl;
function MCIWndCreate(hwndParent: HWND; hInstance: HINST; dwStyle: DWORd; szFile: LPCSTR): HWND; cdecl;
function MCIWndRegisterClass: BOOL; cdecl;
function MCIWndCanPlay(hwnd: HWND): BOOL;
function MCIWndCanRecord(hwnd: HWND): BOOL;
function MCIWndCanSave(hwnd: HWND): BOOL;
function MCIWndCanWindow(hwnd: HWND): BOOL;
function MCIWndCanEject(hwnd: HWND): BOOL;
function MCIWndCanConfig(hwnd: HWND): BOOL;
function MCIWndPaletteKick(hwnd: HWND): BOOL;
function MCIWndSave(hwnd: HWND; szFile: LPCSTR): DWORD;
function MCIWndSaveDialog(hwnd: HWND): DWORD;
function MCIWndNew(hwnd: HWND; lp: PVOID): DWORD;
function MCIWndRecord(hwnd: HWND): DWORD;
function MCIWndOpen(hwnd: HWND; sz: LPCSTR; f: BOOL): DWORD;
function MCIWndOpenDialog(hwnd: HWND): DWORD;
function MCIWndClose(hwnd: HWND): DWORD;
function MCIWndPlay(hwnd: HWND): DWORD;
function MCIWndStop(hwnd: HWND): DWORD;
function MCIWndPause(hwnd: HWND): DWORD;
function MCIWndResume(hwnd: HWND): DWORD;
function MCIWndSeek(hwnd: HWND; lPos: DWORD): DWORD;
function MCIWndEject(hwnd: HWND): DWORD;
function MCIWndHome(hwnd: HWND): DWORD;
function MCIWndEnd(hwnd: HWND): DWORD;
function MCIWndGetSource(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndPutSource(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndGetDest(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndPutDest(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndPlayReverse(hwnd: HWND): DWORD;
function MCIWndPlayFrom(hwnd: HWND; lPos: DWORD): DWORD;
function MCIWndPlayTo(hwnd: HWND; lPos: DWORD): DWORD;
function MCIWndPlayFromTo(hwnd: HWND; lStart, lEnd: DWORD): DWORD;
function MCIWndGetDeviceID(hwnd: HWND): UINT;
function MCIWndGetAlias(hwnd: HWND): UINT;
function MCIWndGetMode(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetPosition(hwnd: HWND): DWORD;
function MCIWndGetPositionString(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetStart(hwnd: HWND): DWORD;
function MCIWndGetLength(hwnd: HWND): DWORD;
function MCIWndGetEnd(hwnd: HWND): DWORD;
function MCIWndStep(hwnd: HWND; n: DWORD): DWORD;
procedure MCIWndDestroy(hwnd: HWND);
procedure MCIWndSetZoom(hwnd: HWND; iZoom: UINT);
function MCIWndGetZoom(hwnd: HWND): UINT;
function MCIWndSetVolume(hwnd: HWND; iVol: UINT): DWORD;
function MCIWndGetVolume(hwnd: HWND): DWORD;
function MCIWndSetSpeed(hwnd: HWND; iSpeed: UINT): DWORD;
function MCIWndGetSpeed(hwnd: HWND): DWORD;
function MCIWndSetTimeFormat(hwnd: HWND; lp: LPCSTR): DWORD;
function MCIWndGetTimeFormat(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
procedure MCIWndValidateMedia(hwnd: HWND);
procedure MCIWndSetRepeat(hwnd: HWND; f: BOOL);
function MCIWndGetRepeat(hwnd: HWND): BOOL;
function MCIWndUseFrames(hwnd: HWND): DWORD;
function MCIWndUseTime(hwnd: HWND): DWORD;
procedure MCIWndSetActiveTimer(hwnd: HWND; active: UINT);
procedure MCIWndSetInactiveTimer(hwnd: HWND; inactive: UINT);
procedure MCIWndSetTimers(hwnd: HWND; active, inactive: UINT);
function MCIWndGetActiveTimer(hwnd: HWND): UINT;
function MCIWndGetInactiveTimer(hwnd: HWND): UINT;
function MCIWndRealize(hwnd: HWND; fBkgnd: BOOL): DWORD;
function MCIWndSendString(hwnd: HWND; sz: LPCSTR): DWORD;
function MCIWndReturnString(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetError(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetPalette(hwnd: HWND): HPALETTE;
function MCIWndSetPalette(hwnd: HWND; hpal: HPALETTE): DWORD;
function MCIWndGetFileName(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetDevice(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetStyles(hwnd: HWND): UINT;
function MCIWndChangeStyles(hwnd: HWND; mask: UINT; value: DWORD): DWORD;
function MCIWndOpenInterface(hwnd: HWND; pUnk: PUnknown): DWORD;
function MCIWndSetOwner(hwnd: HWND; hwndP: HWND): DWORD;
function AVICapSM(hwnd: HWND; m: UINT; w: WPARAM; l: LPARAM): DWORD;
function capSetCallbackOnError(hwnd: HWND; fpProc: TCAPERRORCALLBACK): BOOL;
function capSetCallbackOnStatus(hwnd: HWND; fpProc: TCAPSTATUSCALLBACK): BOOL;
function capSetCallbackOnYield(hwnd: HWND; fpProc: TCAPYIELDCALLBACK): BOOL;
function capSetCallbackOnFrame(hwnd: HWND; fpProc: TCAPVIDEOCALLBACK): BOOL;
function capSetCallbackOnVideoStream(hwnd: HWND; fpProc: TCAPVIDEOCALLBACK): BOOL;
function capSetCallbackOnWaveStream(hwnd: HWND; fpProc: TCAPWAVECALLBACK): BOOL;
function capSetCallbackOnCapControl(hwnd: HWND; fpProc: TCAPCONTROLCALLBACK): BOOL;
function capSetUserData(hwnd: HWND; lUser: DWORD): BOOL;
function capGetUserData(hwnd: HWND): DWORD;
function capDriverConnect(hwnd: HWND; i: INT): BOOL;
function capDriverDisconnect(hwnd: HWND): BOOL;
function capDriverGetName(hwnd: HWND; szName: LPSTR; wSize: WORD): BOOL;
function capDriverGetVersion(hwnd: HWND; szVer: LPSTR; wSize: WORD): BOOL;
function capDriverGetCaps(hwnd: HWND; s: PCAPDRIVERCAPS; wSize: WORD): BOOL;
function capFileSetCaptureFile(hwnd: HWND; szName: LPCSTR): BOOL;
function capFileGetCaptureFile(hwnd: HWND; szName: LPSTR; wSize: WORD): BOOL;
function capFileAlloc(hwnd: HWND; dwSize: DWORD): BOOL;
function capFileSaveAs(hwnd: HWND; szName: LPCSTR): BOOL;
function capFileSetInfoChunk(hwnd: HWND; lpInfoChunk: PCAPINFOCHUNK): BOOL;
function capFileSaveDIB(hwnd: HWND; szName: LPCSTR): BOOL;
function capEditCopy(hwnd: HWND): BOOL;
function capSetAudioFormat(hwnd: HWND; s: PWAVEFORMATEX; wSize: WORD): BOOL;
function capGetAudioFormat(hwnd: HWND; s: PWAVEFORMATEX; wSize: WORD): DWORD;
function capGetAudioFormatSize(hwnd: HWND): DWORD;
function capDlgVideoFormat(hwnd: HWND): BOOL;
function capDlgVideoSource(hwnd: HWND): BOOL;
function capDlgVideoDisplay(hwnd: HWND): BOOL;
function capDlgVideoCompression(hwnd: HWND): BOOL;
function capGetVideoFormat(hwnd: HWND; s: PVOID; wSize: WORD): DWORD;
function capGetVideoFormatSize(hwnd: HWND): DWORD;
function capSetVideoFormat(hwnd: HWND; s: PVOID; wSize: WORD): BOOL;
function capPreview(hwnd: HWND; f: BOOL): BOOL;
function capPreviewRate(hwnd: HWND; wMS: WORD): BOOL;
function capOverlay(hwnd: HWND; f: BOOL): BOOL;
function capPreviewScale(hwnd: HWND; f: BOOL): BOOL;
function capGetStatus(hwnd: HWND; s: PCAPSTATUS; wSize: WORD): BOOL;
function capSetScrollPos(hwnd: HWND; lpP: PPOINT): BOOL;
function capGrabFrame(hwnd: HWND): BOOL;
function capGrabFrameNoStop(hwnd: HWND): BOOL;
function capCaptureSequence(hwnd: HWND): BOOL;
function capCaptureSequenceNoFile(hwnd: HWND): BOOL;
function capCaptureStop(hwnd: HWND): BOOL;
function capCaptureAbort(hwnd: HWND): BOOL;
function capCaptureSingleFrameOpen(hwnd: HWND): BOOL;
function capCaptureSingleFrameClose(hwnd: HWND): BOOL;
function capCaptureSingleFrame(hwnd: HWND): BOOL;
function capCaptureGetSetup(hwnd: HWND; s: PCAPTUREPARMS; wSize: WORD): BOOL;
function capCaptureSetSetup(hwnd: HWND; s: PCAPTUREPARMS; wSize: WORD): BOOL;
function capSetMCIDeviceName(hwnd: HWND; szName: LPCSTR): BOOL;
function capGetMCIDeviceName(hwnd: HWND; szName: LPSTR; wSize: WORD): BOOL;
function capPaletteOpen(hwnd: HWND; szName: LPCSTR): BOOL;
function capPaletteSave(hwnd: HWND; szName: LPCSTR): BOOL;
function capPalettePaste(hwnd: HWND): BOOL;
function capPaletteAuto(hwnd: HWND; iFrames, iColors: INT): BOOL;
function capPaletteManual(hwnd: HWND; fGrab: BOOL; iColors: INT): BOOL;
function capCreateCaptureWindowA( lpszWindowName : LPCSTR; dwStyle : DWORD; x, y : int; nWidth, nHeight : int; hwndParent : HWND; nID : int ): HWND; stdcall;
function capGetDriverDescriptionA( wDriverIndex : UINT; lpszName : LPSTR; cbName : int; lpszVer : LPSTR; cbVer : int ): BOOL; stdcall;
function capCreateCaptureWindowW( lpszWindowName : LPCWSTR; dwStyle : DWORD; x, y : int; nWidth, nHeight : int; hwndParent : HWND; nID : int ): HWND; stdcall;
function capGetDriverDescriptionW( wDriverIndex : UINT; lpszName : LPWSTR; cbName : int; lpszVer : LPWSTR; cbVer : int ): BOOL; stdcall;
function capCreateCaptureWindow( lpszWindowName : LPCSTR; dwStyle : DWORD; x, y : int; nWidth, nHeight : int; hwndParent : HWND; nID : int ): HWND; stdcall;
function capGetDriverDescription( wDriverIndex : UINT; lpszName : LPSTR; cbName : int; lpszVer : LPSTR; cbVer : int ): BOOL; stdcall;
function GetOpenFileNamePreviewA(lpofn: POPENFILENAMEA): BOOL; stdcall;
function GetSaveFileNamePreviewA(lpofn: POPENFILENAMEA): BOOL; stdcall;
function GetOpenFileNamePreviewW(lpofn: POPENFILENAMEW): BOOL; stdcall;
function GetSaveFileNamePreviewW(lpofn: POPENFILENAMEW): BOOL; stdcall;
function GetOpenFileNamePreview(lpofn: POPENFILENAMEA): BOOL; stdcall;
function GetSaveFileNamePreview(lpofn: POPENFILENAMEA): BOOL; stdcall;

Types

HDRAWDIB = THandle;
HIC = THandle;
HVIDEO = THandle;
int = integer;
LONG = longint;
PAVICOMPRESSOPTIONS = ˆTAVICOMPRESSOPTIONS;
PAVIFileInfo = ˆTAVIFileInfo;
PAVIFileInfoA = ˆTAVIFileInfoA;
PAVIFileInfoW = ˆTAVIFileInfoW;
PAVIINDEXENTRY = ˆTAVIINDEXENTRY;
PAVIPALCHANGE = ˆTAVIPALCHANGE;
PAVIStreamHeader = ˆTAVIStreamHeader;
PAVIStreamInfo = ˆTAVIStreamInfo;
PAVIStreamInfoA = ˆTAVIStreamInfoA;
PAVIStreamInfoW = ˆTAVIStreamInfoW;
PCAPDRIVERCAPS = ˆTCAPDRIVERCAPS;
PCAPINFOCHUNK = ˆTCAPINFOCHUNK;
PCAPSTATUS = ˆTCAPSTATUS;
PCAPTUREPARMS = ˆTCAPTUREPARMS;
PCHANNEL_CAPS = ˆTCHANNEL_CAPS;
PCOMPVARS = ˆTCOMPVARS;
PDRAWDIBTIME = ˆTDRAWDIBTIME;
PHVIDEO = ˆHVIDEO;
PICCOMPRESS = ˆTICCOMPRESS;
PICCOMPRESSFRAMES = ˆTICCOMPRESSFRAMES;
PICDECOMPRESS = ˆTICDECOMPRESS;
PICDECOMPRESSEX = ˆTICDECOMPRESSEX;
PICDRAW = ˆTICDRAW;
PICDRAWBEGIN = ˆTICDRAWBEGIN;
PICDRAWSUGGEST = ˆTICDRAWSUGGEST;
PICINFO = ˆTICINFO;
PICOPEN = ˆTICOPEN;
PICPALETTE = ˆTICPALETTE;
PICSETSTATUSPROC = ˆTICSETSTATUSPROC;
PLONG = ˆLONG;
PMainAVIHeader = ˆTMainAVIHeader;
PUnknown = ˆIUnknown;
PVIDEOHDR = ˆTVIDEOHDR;
PVOID = pointer;
TAVIFileInfo = TAVIFileInfoA;
TAVISAVECALLBACK = function(i: int): BOOL; pascal;
TAVIStreamInfo = TAVIStreamInfoA;
TCAPCONTROLCALLBACK = function(hWnd: HWND; nState: int): DWORD; stdcall;
TCAPERRORCALLBACK = TCAPERRORCALLBACKA;
TCAPERRORCALLBACKA = function(hWnd: HWND; nID: int; lpsz: LPCSTR): DWORD; stdcall;
TCAPERRORCALLBACKW = function(hWnd: HWND; nID: int; lpsz: LPCWSTR): DWORD; stdcall;
TCAPSTATUSCALLBACK = TCAPSTATUSCALLBACKA;
TCAPSTATUSCALLBACKA = function(hWnd: HWND; nID: int; lpsz: LPCSTR): DWORD; stdcall;
TCAPSTATUSCALLBACKW = function(hWnd: HWND; nID: int; lpsz: LPCWSTR): DWORD; stdcall;
TCAPVIDEOCALLBACK = function(hWnd: HWND; lpVHdr: PVIDEOHDR): DWORD; stdcall;
TCAPWAVECALLBACK = function(hWnd: HWND; lpWHdr: PWAVEHDR): DWORD; stdcall;
TCAPYIELDCALLBACK = function(hWnd: HWND): DWORD; stdcall;
TICCompressProc = function(lInputOutput: LPARAM; lFrame: DWORD; lpBits: PVOID; len: LONG): LONG; stdcall;
TICStatusProc = function(lParam: LPARAM; message: UINT; l: LONG): LONG; stdcall;
TWOCC = word;

Constants

ICVERSION = $0104 ;
BI_1632 = $32333631;
ICTYPE_VIDEO = $63646976;
ICTYPE_AUDIO = $63647561;
ICERR_OK = 0 ;
ICERR_DONTDRAW = 1 ;
ICERR_NEWPALETTE = 2 ;
ICERR_GOTOKEYFRAME = 3 ;
ICERR_STOPDRAWING = 4 ;
ICERR_UNSUPPORTED = -1 ;
ICERR_BADFORMAT = -2 ;
ICERR_MEMORY = -3 ;
ICERR_INTERNAL = -4 ;
ICERR_BADFLAGS = -5 ;
ICERR_BADPARAM = -6 ;
ICERR_BADSIZE = -7 ;
ICERR_BADHANDLE = -8 ;
ICERR_CANTUPDATE = -9 ;
ICERR_ABORT = -10 ;
ICERR_ERROR = -100 ;
ICERR_BADBITDEPTH = -200 ;
ICERR_BADIMAGESIZE = -201 ;
ICERR_CUSTOM = -400 ;
ICMODE_COMPRESS = 1 ;
ICMODE_DECOMPRESS = 2 ;
ICMODE_FASTDECOMPRESS = 3 ;
ICMODE_QUERY = 4 ;
ICMODE_FASTCOMPRESS = 5 ;
ICMODE_DRAW = 8 ;
AVIIF_LIST = $00000001 ;
AVIIF_TWOCC = $00000002 ;
AVIIF_KEYFRAME = $00000010 ;
ICQUALITY_LOW = 0 ;
ICQUALITY_HIGH = 10000 ;
ICQUALITY_DEFAULT = -1 ;
ICM_USER = (DRV_USER+$0000) ;
ICM_RESERVED_LOW = (DRV_USER+$1000) ;
ICM_RESERVED_HIGH = (DRV_USER+$2000) ;
ICM_RESERVED = ICM_RESERVED_LOW ;
ICM_GETSTATE = (ICM_RESERVED+0) ;
ICM_SETSTATE = (ICM_RESERVED+1) ;
ICM_GETINFO = (ICM_RESERVED+2) ;
ICM_CONFIGURE = (ICM_RESERVED+10);
ICM_ABOUT = (ICM_RESERVED+11);
ICM_GETDEFAULTQUALITY = (ICM_RESERVED+30);
ICM_GETQUALITY = (ICM_RESERVED+31);
ICM_SETQUALITY = (ICM_RESERVED+32);
ICM_SET = (ICM_RESERVED+40);
ICM_GET = (ICM_RESERVED+41);
ICM_FRAMERATE = $526D7246;
ICM_KEYFRAMERATE = $5279654B;
ICM_COMPRESS_GET_FORMAT = (ICM_USER+4) ;
ICM_COMPRESS_GET_SIZE = (ICM_USER+5) ;
ICM_COMPRESS_QUERY = (ICM_USER+6) ;
ICM_COMPRESS_BEGIN = (ICM_USER+7) ;
ICM_COMPRESS = (ICM_USER+8) ;
ICM_COMPRESS_END = (ICM_USER+9) ;
ICM_DECOMPRESS_GET_FORMAT = (ICM_USER+10) ;
ICM_DECOMPRESS_QUERY = (ICM_USER+11) ;
ICM_DECOMPRESS_BEGIN = (ICM_USER+12) ;
ICM_DECOMPRESS = (ICM_USER+13) ;
ICM_DECOMPRESS_END = (ICM_USER+14) ;
ICM_DECOMPRESS_SET_PALETTE = (ICM_USER+29) ;
ICM_DECOMPRESS_GET_PALETTE = (ICM_USER+30) ;
ICM_DRAW_QUERY = (ICM_USER+31) ;
ICM_DRAW_BEGIN = (ICM_USER+15) ;
ICM_DRAW_GET_PALETTE = (ICM_USER+16) ;
ICM_DRAW_START = (ICM_USER+18) ;
ICM_DRAW_STOP = (ICM_USER+19) ;
ICM_DRAW_END = (ICM_USER+21) ;
ICM_DRAW_GETTIME = (ICM_USER+32) ;
ICM_DRAW = (ICM_USER+33) ;
ICM_DRAW_WINDOW = (ICM_USER+34) ;
ICM_DRAW_SETTIME = (ICM_USER+35) ;
ICM_DRAW_REALIZE = (ICM_USER+36) ;
ICM_DRAW_FLUSH = (ICM_USER+37) ;
ICM_DRAW_RENDERBUFFER = (ICM_USER+38) ;
ICM_DRAW_START_PLAY = (ICM_USER+39) ;
ICM_DRAW_STOP_PLAY = (ICM_USER+40) ;
ICM_DRAW_SUGGESTFORMAT = (ICM_USER+50) ;
ICM_DRAW_CHANGEPALETTE = (ICM_USER+51) ;
ICM_GETBUFFERSWANTED = (ICM_USER+41) ;
ICM_GETDEFAULTKEYFRAMERATE = (ICM_USER+42) ;
ICM_DECOMPRESSEX_BEGIN = (ICM_USER+60) ;
ICM_DECOMPRESSEX_QUERY = (ICM_USER+61) ;
ICM_DECOMPRESSEX = (ICM_USER+62) ;
ICM_DECOMPRESSEX_END = (ICM_USER+63) ;
ICM_COMPRESS_FRAMES_INFO = (ICM_USER+70) ;
ICM_SET_STATUS_PROC = (ICM_USER+72) ;
VIDCF_QUALITY = $0001 ;
VIDCF_CRUNCH = $0002 ;
VIDCF_TEMPORAL = $0004 ;
VIDCF_COMPRESSFRAMES = $0008 ;
VIDCF_DRAW = $0010 ;
VIDCF_FASTTEMPORALC = $0020 ;
VIDCF_FASTTEMPORALD = $0080 ;
ICCOMPRESS_KEYFRAME = $00000001;
ICCOMPRESSFRAMES_PADDING = $00000001 ;
ICSTATUS_START = 0 ;
ICSTATUS_STATUS = 1 ;
ICSTATUS_END = 2 ;
ICSTATUS_ERROR = 3 ;
ICSTATUS_YIELD = 4 ;
ICDECOMPRESS_HURRYUP = $80000000 ;
ICDECOMPRESS_UPDATE = $40000000 ;
ICDECOMPRESS_PREROLL = $20000000 ;
ICDECOMPRESS_NULLFRAME = $10000000 ;
ICDECOMPRESS_NOTKEYFRAME = $08000000 ;
ICDRAW_QUERY = $00000001 ;
ICDRAW_FULLSCREEN = $00000002 ;
ICDRAW_HDC = $00000004 ;
ICDRAW_ANIMATE = $00000008 ;
ICDRAW_CONTINUE = $00000010 ;
ICDRAW_MEMORYDC = $00000020 ;
ICDRAW_UPDATING = $00000040 ;
ICDRAW_RENDER = $00000080 ;
ICDRAW_BUFFER = $00000100 ;
ICDRAW_HURRYUP = $80000000 ;
ICDRAW_UPDATE = $40000000 ;
ICDRAW_PREROLL = $20000000 ;
ICDRAW_NULLFRAME = $10000000 ;
ICDRAW_NOTKEYFRAME = $08000000 ;
ICINSTALL_UNICODE = $8000 ;
ICINSTALL_FUNCTION = $0001 ;
ICINSTALL_DRIVER = $0002 ;
ICINSTALL_HDRV = $0004 ;
ICINSTALL_DRIVERW = $8002 ;
ICMF_CONFIGURE_QUERY = $00000001 ;
ICMF_ABOUT_QUERY = $00000001 ;
ICMF_COMPVARS_VALID = $00000001;
ICMF_CHOOSE_KEYFRAME = $0001;
ICMF_CHOOSE_DATARATE = $0002;
ICMF_CHOOSE_PREVIEW = $0004;
ICMF_CHOOSE_ALLCOMPRESSORS = $0008;
DDF_UPDATE = $0002;
DDF_SAME_HDC = $0004;
DDF_SAME_DRAW = $0008;
DDF_DONTDRAW = $0010;
DDF_ANIMATE = $0020;
DDF_BUFFER = $0040;
DDF_JUSTDRAWIT = $0080;
DDF_FULLSCREEN = $0100;
DDF_BACKGROUNDPAL = $0200;
DDF_NOTKEYFRAME = $0400;
DDF_HURRYUP = $0800;
DDF_HALFTONE = $1000;
DDF_PREROLL = DDF_DONTDRAW;
DDF_SAME_DIB = DDF_SAME_DRAW;
DDF_SAME_SIZE = DDF_SAME_DRAW;
PD_CAN_DRAW_DIB = $0001;
PD_CAN_STRETCHDIB = $0002;
PD_STRETCHDIB_1_1_OK = $0004;
PD_STRETCHDIB_1_2_OK = $0008;
PD_STRETCHDIB_1_N_OK = $0010;
formtypeAVI = $20495641;
listtypeAVIHEADER = $6C726468;
ckidAVIMAINHDR = $68697661;
listtypeSTREAMHEADER = $6C727473;
ckidSTREAMHEADER = $68727473;
ckidSTREAMFORMAT = $66727473;
ckidSTREAMHANDLERDATA = $64727473;
ckidSTREAMNAME = $6E727473;
listtypeAVIMOVIE = $69766F6D;
listtypeAVIRECORD = $20636572;
ckidAVINEWINDEX = $31786469;
streamtypeVIDEO = $73646976;
streamtypeAUDIO = $73647561;
streamtypeMIDI = $7364696D;
streamtypeTEXT = $73747874;
cktypeDIBbits = $6264;
cktypeDIBcompressed = $6364;
cktypePALchange = $6370;
cktypeWAVEbytes = $6277;
ckidAVIPADDING = $4B4E554A;
AVIF_HASINDEX = $00000010;
AVIF_MUSTUSEINDEX = $00000020;
AVIF_ISINTERLEAVED = $00000100;
AVIF_TRUSTCKTYPE = $00000800;
AVIF_WASCAPTUREFILE = $00010000;
AVIF_COPYRIGHTED = $00020000;
AVI_HEADERSIZE = 2048;
AVISF_DISABLED = $00000001;
AVISF_VIDEO_PALCHANGES = $00010000;
AVIIF_NOTIME = $00000100;
AVIIF_COMPUSE = $0FFF0000;
AVIGETFRAMEF_BESTDISPLAYFMT = 1;
AVISTREAMINFO_DISABLED = $00000001;
AVISTREAMINFO_FORMATCHANGES = $00010000;
AVIFILEINFO_HASINDEX = $00000010;
AVIFILEINFO_MUSTUSEINDEX = $00000020;
AVIFILEINFO_ISINTERLEAVED = $00000100;
AVIFILEINFO_WASCAPTUREFILE = $00010000;
AVIFILEINFO_COPYRIGHTED = $00020000;
AVIFILECAPS_CANREAD = $00000001;
AVIFILECAPS_CANWRITE = $00000002;
AVIFILECAPS_ALLKEYFRAMES = $00000010;
AVIFILECAPS_NOCOMPRESSION = $00000020;
AVICOMPRESSF_INTERLEAVE = $00000001;
AVICOMPRESSF_DATARATE = $00000002;
AVICOMPRESSF_KEYFRAMES = $00000004;
AVICOMPRESSF_VALID = $00000008;
IID_IAVIFile : TGUID = (D1: $00020020; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IAVIStream : TGUID = (D1: $00020021; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IAVIStreaming : TGUID = (D1: $00020022; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IGetFrame : TGUID = (D1: $00020023; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IAVIEditStream: TGUID = (D1: $00020024; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
CLSID_AVISimpleUnMarshal : TGUID = (D1: $00020009; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
CLSID_AVIFile : TGUID = (D1: $00020000; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
AVIFILEHANDLER_CANREAD = $0001;
AVIFILEHANDLER_CANWRITE = $0002;
AVIFILEHANDLER_CANACCEPTNONRGB = $0004;
AVISTREAMREAD_CONVENIENT = -1;
FIND_DIR = $0000000F;
FIND_NEXT = $00000001;
FIND_PREV = $00000004;
FIND_FROM_START = $00000008;
FIND_TYPE = $000000F0;
FIND_KEY = $00000010;
FIND_ANY = $00000020;
FIND_FORMAT = $00000040;
FIND_RET = $0000F000;
FIND_POS = $00000000;
FIND_LENGTH = $00001000;
FIND_OFFSET = $00002000;
FIND_SIZE = $00003000;
FIND_INDEX = $00004000;
SEARCH_NEAREST = FIND_PREV;
SEARCH_BACKWARD = FIND_PREV;
SEARCH_FORWARD = FIND_NEXT;
SEARCH_KEY = FIND_KEY;
SEARCH_ANY = FIND_ANY;
comptypeDIB = $20424944;
AVIERR_OK = 0;
AVIERR_UNSUPPORTED = $80044065;
AVIERR_BADFORMAT = $80044066;
AVIERR_MEMORY = $80044067;
AVIERR_INTERNAL = $80044068;
AVIERR_BADFLAGS = $80044069;
AVIERR_BADPARAM = $8004406A;
AVIERR_BADSIZE = $8004406B;
AVIERR_BADHANDLE = $8004406C;
AVIERR_FILEREAD = $8004406D;
AVIERR_FILEWRITE = $8004406E;
AVIERR_FILEOPEN = $8004406F;
AVIERR_COMPRESSOR = $80044070;
AVIERR_NOCOMPRESSOR = $80044071;
AVIERR_READONLY = $80044072;
AVIERR_NODATA = $80044073;
AVIERR_BUFFERTOOSMALL = $80044074;
AVIERR_CANTCOMPRESS = $80044075;
AVIERR_USERABORT = $800440C6;
AVIERR_ERROR = $800440C7;
MCIWND_WINDOW_CLASS = 'MCIWndClass' ;
MCIWNDOPENF_NEW = $0001;
MCIWNDF_NOAUTOSIZEWINDOW = $0001;
MCIWNDF_NOPLAYBAR = $0002;
MCIWNDF_NOAUTOSIZEMOVIE = $0004;
MCIWNDF_NOMENU = $0008;
MCIWNDF_SHOWNAME = $0010;
MCIWNDF_SHOWPOS = $0020;
MCIWNDF_SHOWMODE = $0040;
MCIWNDF_SHOWALL = $0070;
MCIWNDF_NOTIFYMODE = $0100;
MCIWNDF_NOTIFYPOS = $0200;
MCIWNDF_NOTIFYSIZE = $0400;
MCIWNDF_NOTIFYERROR = $1000;
MCIWNDF_NOTIFYALL = $1F00;
MCIWNDF_NOTIFYANSI = $0080;
MCIWNDF_NOTIFYMEDIAA = $0880;
MCIWNDF_NOTIFYMEDIAW = $0800;
MCIWNDF_NOTIFYMEDIA = MCIWNDF_NOTIFYMEDIAA;
MCIWNDF_RECORD = $2000;
MCIWNDF_NOERRORDLG = $4000;
MCIWNDF_NOOPEN = $8000;
MCIWNDM_GETDEVICEID = WM_USER + 100;
MCIWNDM_GETSTART = WM_USER + 103;
MCIWNDM_GETLENGTH = WM_USER + 104;
MCIWNDM_GETEND = WM_USER + 105;
MCIWNDM_EJECT = WM_USER + 107;
MCIWNDM_SETZOOM = WM_USER + 108;
MCIWNDM_GETZOOM = WM_USER + 109;
MCIWNDM_SETVOLUME = WM_USER + 110;
MCIWNDM_GETVOLUME = WM_USER + 111;
MCIWNDM_SETSPEED = WM_USER + 112;
MCIWNDM_GETSPEED = WM_USER + 113;
MCIWNDM_SETREPEAT = WM_USER + 114;
MCIWNDM_GETREPEAT = WM_USER + 115;
MCIWNDM_REALIZE = WM_USER + 118;
MCIWNDM_VALIDATEMEDIA = WM_USER + 121;
MCIWNDM_PLAYFROM = WM_USER + 122;
MCIWNDM_PLAYTO = WM_USER + 123;
MCIWNDM_GETPALETTE = WM_USER + 126;
MCIWNDM_SETPALETTE = WM_USER + 127;
MCIWNDM_SETTIMERS = WM_USER + 129;
MCIWNDM_SETACTIVETIMER = WM_USER + 130;
MCIWNDM_SETINACTIVETIMER = WM_USER + 131;
MCIWNDM_GETACTIVETIMER = WM_USER + 132;
MCIWNDM_GETINACTIVETIMER = WM_USER + 133;
MCIWNDM_CHANGESTYLES = WM_USER + 135;
MCIWNDM_GETSTYLES = WM_USER + 136;
MCIWNDM_GETALIAS = WM_USER + 137;
MCIWNDM_PLAYREVERSE = WM_USER + 139;
MCIWNDM_GET_SOURCE = WM_USER + 140;
MCIWNDM_PUT_SOURCE = WM_USER + 141;
MCIWNDM_GET_DEST = WM_USER + 142;
MCIWNDM_PUT_DEST = WM_USER + 143;
MCIWNDM_CAN_PLAY = WM_USER + 144;
MCIWNDM_CAN_WINDOW = WM_USER + 145;
MCIWNDM_CAN_RECORD = WM_USER + 146;
MCIWNDM_CAN_SAVE = WM_USER + 147;
MCIWNDM_CAN_EJECT = WM_USER + 148;
MCIWNDM_CAN_CONFIG = WM_USER + 149;
MCIWNDM_PALETTEKICK = WM_USER + 150;
MCIWNDM_OPENINTERFACE = WM_USER + 151;
MCIWNDM_SETOWNER = WM_USER + 152;
MCIWNDM_SENDSTRINGA = WM_USER + 101;
MCIWNDM_GETPOSITIONA = WM_USER + 102;
MCIWNDM_GETMODEA = WM_USER + 106;
MCIWNDM_SETTIMEFORMATA = WM_USER + 119;
MCIWNDM_GETTIMEFORMATA = WM_USER + 120;
MCIWNDM_GETFILENAMEA = WM_USER + 124;
MCIWNDM_GETDEVICEA = WM_USER + 125;
MCIWNDM_GETERRORA = WM_USER + 128;
MCIWNDM_NEWA = WM_USER + 134;
MCIWNDM_RETURNSTRINGA = WM_USER + 138;
MCIWNDM_OPENA = WM_USER + 153;
MCIWNDM_SENDSTRINGW = WM_USER + 201;
MCIWNDM_GETPOSITIONW = WM_USER + 202;
MCIWNDM_GETMODEW = WM_USER + 206;
MCIWNDM_SETTIMEFORMATW = WM_USER + 219;
MCIWNDM_GETTIMEFORMATW = WM_USER + 220;
MCIWNDM_GETFILENAMEW = WM_USER + 224;
MCIWNDM_GETDEVICEW = WM_USER + 225;
MCIWNDM_GETERRORW = WM_USER + 228;
MCIWNDM_NEWW = WM_USER + 234;
MCIWNDM_RETURNSTRINGW = WM_USER + 238;
MCIWNDM_OPENW = WM_USER + 252;
MCIWNDM_SENDSTRING = MCIWNDM_SENDSTRINGA;
MCIWNDM_GETPOSITION = MCIWNDM_GETPOSITIONA;
MCIWNDM_GETMODE = MCIWNDM_GETMODEA;
MCIWNDM_SETTIMEFORMAT = MCIWNDM_SETTIMEFORMATA;
MCIWNDM_GETTIMEFORMAT = MCIWNDM_GETTIMEFORMATA;
MCIWNDM_GETFILENAME = MCIWNDM_GETFILENAMEA;
MCIWNDM_GETDEVICE = MCIWNDM_GETDEVICEA;
MCIWNDM_GETERROR = MCIWNDM_GETERRORA;
MCIWNDM_NEW = MCIWNDM_NEWA;
MCIWNDM_RETURNSTRING = MCIWNDM_RETURNSTRINGA;
MCIWNDM_OPEN = MCIWNDM_OPENA;
MCIWNDM_NOTIFYMODE = WM_USER + 200;
MCIWNDM_NOTIFYPOS = WM_USER + 201;
MCIWNDM_NOTIFYSIZE = WM_USER + 202;
MCIWNDM_NOTIFYMEDIA = WM_USER + 203;
MCIWNDM_NOTIFYERROR = WM_USER + 205;
MCIWND_START = dword(-1) ;
MCIWND_END = dword(-2) ;
DV_ERR_OK = 0;
DV_ERR_BASE = 1;
DV_ERR_NONSPECIFIC = DV_ERR_BASE;
DV_ERR_BADFORMAT = DV_ERR_BASE + 1;
DV_ERR_STILLPLAYING = DV_ERR_BASE + 2;
DV_ERR_UNPREPARED = DV_ERR_BASE + 3;
DV_ERR_SYNC = DV_ERR_BASE + 4;
DV_ERR_TOOMANYCHANNELS = DV_ERR_BASE + 5;
DV_ERR_NOTDETECTED = DV_ERR_BASE + 6;
DV_ERR_BADINSTALL = DV_ERR_BASE + 7;
DV_ERR_CREATEPALETTE = DV_ERR_BASE + 8;
DV_ERR_SIZEFIELD = DV_ERR_BASE + 9;
DV_ERR_PARAM1 = DV_ERR_BASE + 10;
DV_ERR_PARAM2 = DV_ERR_BASE + 11;
DV_ERR_CONFIG1 = DV_ERR_BASE + 12;
DV_ERR_CONFIG2 = DV_ERR_BASE + 13;
DV_ERR_FLAGS = DV_ERR_BASE + 14;
DV_ERR_13 = DV_ERR_BASE + 15;
DV_ERR_NOTSUPPORTED = DV_ERR_BASE + 16;
DV_ERR_NOMEM = DV_ERR_BASE + 17;
DV_ERR_ALLOCATED = DV_ERR_BASE + 18;
DV_ERR_BADDEVICEID = DV_ERR_BASE + 19;
DV_ERR_INVALHANDLE = DV_ERR_BASE + 20;
DV_ERR_BADERRNUM = DV_ERR_BASE + 21;
DV_ERR_NO_BUFFERS = DV_ERR_BASE + 22;
DV_ERR_MEM_CONFLICT = DV_ERR_BASE + 23;
DV_ERR_IO_CONFLICT = DV_ERR_BASE + 24;
DV_ERR_DMA_CONFLICT = DV_ERR_BASE + 25;
DV_ERR_INT_CONFLICT = DV_ERR_BASE + 26;
DV_ERR_PROTECT_ONLY = DV_ERR_BASE + 27;
DV_ERR_LASTERROR = DV_ERR_BASE + 27;
DV_ERR_USER_MSG = DV_ERR_BASE + 1000;
DV_VM_OPEN = MM_DRVM_OPEN;
DV_VM_CLOSE = MM_DRVM_CLOSE;
DV_VM_DATA = MM_DRVM_DATA;
DV_VM_ERROR = MM_DRVM_ERROR;
VHDR_DONE = $00000001;
VHDR_PREPARED = $00000002;
VHDR_INQUEUE = $00000004;
VHDR_KEYFRAME = $00000008;
VCAPS_OVERLAY = $00000001;
VCAPS_SRC_CAN_CLIP = $00000002;
VCAPS_DST_CAN_CLIP = $00000004;
VCAPS_CAN_SCALE = $00000008;
VIDEO_EXTERNALIN = $0001;
VIDEO_EXTERNALOUT = $0002;
VIDEO_IN = $0004;
VIDEO_OUT = $0008;
VIDEO_DLG_QUERY = $0010;
VIDEO_CONFIGURE_QUERY = $8000;
VIDEO_CONFIGURE_SET = $1000;
VIDEO_CONFIGURE_GET = $2000;
VIDEO_CONFIGURE_QUERYSIZE = $0001;
VIDEO_CONFIGURE_CURRENT = $0010;
VIDEO_CONFIGURE_NOMINAL = $0020;
VIDEO_CONFIGURE_MIN = $0040;
VIDEO_CONFIGURE_MAX = $0080;
DVM_USER = $4000;
DVM_CONFIGURE_START = $1000;
DVM_CONFIGURE_END = $1FFF;
DVM_PALETTE = DVM_CONFIGURE_START + 1;
DVM_FORMAT = DVM_CONFIGURE_START + 2;
DVM_PALETTERGB555 = DVM_CONFIGURE_START + 3;
DVM_SRC_RECT = DVM_CONFIGURE_START + 4;
DVM_DST_RECT = DVM_CONFIGURE_START + 5;
WM_CAP_START = WM_USER;
WM_CAP_UNICODE_START = WM_USER + 100;
WM_CAP_GET_CAPSTREAMPTR = WM_CAP_START + 1;
WM_CAP_SET_CALLBACK_ERRORW = WM_CAP_UNICODE_START + 2;
WM_CAP_SET_CALLBACK_STATUSW = WM_CAP_UNICODE_START + 3;
WM_CAP_SET_CALLBACK_ERRORA = WM_CAP_START + 2;
WM_CAP_SET_CALLBACK_STATUSA = WM_CAP_START + 3;
WM_CAP_SET_CALLBACK_ERROR = WM_CAP_SET_CALLBACK_ERRORA;
WM_CAP_SET_CALLBACK_STATUS = WM_CAP_SET_CALLBACK_STATUSA;
WM_CAP_SET_CALLBACK_YIELD = WM_CAP_START + 4;
WM_CAP_SET_CALLBACK_FRAME = WM_CAP_START + 5;
WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START + 6;
WM_CAP_SET_CALLBACK_WAVESTREAM = WM_CAP_START + 7;
WM_CAP_GET_USER_DATA = WM_CAP_START + 8;
WM_CAP_SET_USER_DATA = WM_CAP_START + 9;
WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
WM_CAP_DRIVER_GET_NAMEA = WM_CAP_START + 12;
WM_CAP_DRIVER_GET_VERSIONA = WM_CAP_START + 13;
WM_CAP_DRIVER_GET_NAMEW = WM_CAP_UNICODE_START + 12;
WM_CAP_DRIVER_GET_VERSIONW = WM_CAP_UNICODE_START + 13;
WM_CAP_DRIVER_GET_NAME = WM_CAP_DRIVER_GET_NAMEA;
WM_CAP_DRIVER_GET_VERSION = WM_CAP_DRIVER_GET_VERSIONA;
WM_CAP_DRIVER_GET_CAPS = WM_CAP_START + 14;
WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20;
WM_CAP_FILE_GET_CAPTURE_FILEA = WM_CAP_START + 21;
WM_CAP_FILE_SAVEASA = WM_CAP_START + 23;
WM_CAP_FILE_SAVEDIBA = WM_CAP_START + 25;
WM_CAP_FILE_SET_CAPTURE_FILEW = WM_CAP_UNICODE_START + 20;
WM_CAP_FILE_GET_CAPTURE_FILEW = WM_CAP_UNICODE_START + 21;
WM_CAP_FILE_SAVEASW = WM_CAP_UNICODE_START + 23;
WM_CAP_FILE_SAVEDIBW = WM_CAP_UNICODE_START + 25;
WM_CAP_FILE_SET_CAPTURE_FILE = WM_CAP_FILE_SET_CAPTURE_FILEA;
WM_CAP_FILE_GET_CAPTURE_FILE = WM_CAP_FILE_GET_CAPTURE_FILEA;
WM_CAP_FILE_SAVEAS = WM_CAP_FILE_SAVEASA;
WM_CAP_FILE_SAVEDIB = WM_CAP_FILE_SAVEDIBA;
WM_CAP_FILE_ALLOCATE = WM_CAP_START + 22;
WM_CAP_FILE_SET_INFOCHUNK = WM_CAP_START + 24;
WM_CAP_EDIT_COPY = WM_CAP_START + 30;
WM_CAP_SET_AUDIOFORMAT = WM_CAP_START + 35;
WM_CAP_GET_AUDIOFORMAT = WM_CAP_START + 36;
WM_CAP_DLG_VIDEOFORMAT = WM_CAP_START + 41;
WM_CAP_DLG_VIDEOSOURCE = WM_CAP_START + 42;
WM_CAP_DLG_VIDEODISPLAY = WM_CAP_START + 43;
WM_CAP_GET_VIDEOFORMAT = WM_CAP_START + 44;
WM_CAP_SET_VIDEOFORMAT = WM_CAP_START + 45;
WM_CAP_DLG_VIDEOCOMPRESSION = WM_CAP_START + 46;
WM_CAP_SET_PREVIEW = WM_CAP_START + 50;
WM_CAP_SET_OVERLAY = WM_CAP_START + 51;
WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52;
WM_CAP_SET_SCALE = WM_CAP_START + 53;
WM_CAP_GET_STATUS = WM_CAP_START + 54;
WM_CAP_SET_SCROLL = WM_CAP_START + 55;
WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
WM_CAP_GRAB_FRAME_NOSTOP = WM_CAP_START + 61;
WM_CAP_SEQUENCE = WM_CAP_START + 62;
WM_CAP_SEQUENCE_NOFILE = WM_CAP_START + 63;
WM_CAP_SET_SEQUENCE_SETUP = WM_CAP_START + 64;
WM_CAP_GET_SEQUENCE_SETUP = WM_CAP_START + 65;
WM_CAP_SET_MCI_DEVICEA = WM_CAP_START + 66;
WM_CAP_GET_MCI_DEVICEA = WM_CAP_START + 67;
WM_CAP_SET_MCI_DEVICEW = WM_CAP_UNICODE_START + 66;
WM_CAP_GET_MCI_DEVICEW = WM_CAP_UNICODE_START + 67;
WM_CAP_SET_MCI_DEVICE = WM_CAP_SET_MCI_DEVICEA;
WM_CAP_GET_MCI_DEVICE = WM_CAP_GET_MCI_DEVICEA;
WM_CAP_STOP = WM_CAP_START + 68;
WM_CAP_ABORT = WM_CAP_START + 69;
WM_CAP_SINGLE_FRAME_OPEN = WM_CAP_START + 70;
WM_CAP_SINGLE_FRAME_CLOSE = WM_CAP_START + 71;
WM_CAP_SINGLE_FRAME = WM_CAP_START + 72;
WM_CAP_PAL_OPENA = WM_CAP_START + 80;
WM_CAP_PAL_SAVEA = WM_CAP_START + 81;
WM_CAP_PAL_OPENW = WM_CAP_UNICODE_START + 80;
WM_CAP_PAL_SAVEW = WM_CAP_UNICODE_START + 81;
WM_CAP_PAL_OPEN = WM_CAP_PAL_OPENA;
WM_CAP_PAL_SAVE = WM_CAP_PAL_SAVEA;
WM_CAP_PAL_PASTE = WM_CAP_START + 82;
WM_CAP_PAL_AUTOCREATE = WM_CAP_START + 83;
WM_CAP_PAL_MANUALCREATE = WM_CAP_START + 84;
WM_CAP_SET_CALLBACK_CAPCONTROL = WM_CAP_START + 85;
WM_CAP_UNICODE_END = WM_CAP_PAL_SAVEW;
WM_CAP_END = WM_CAP_UNICODE_END;
AVSTREAMMASTER_AUDIO = 0;
AVSTREAMMASTER_NONE = 1;
CONTROLCALLBACK_PREROLL = 1;
CONTROLCALLBACK_CAPTURING = 2;
infotypeDIGITIZATION_TIME = $54494449;
infotypeSMPTE_TIME = $504D5349;
IDS_CAP_BEGIN = 300;
IDS_CAP_END = 301;
IDS_CAP_INFO = 401;
IDS_CAP_OUTOFMEM = 402;
IDS_CAP_FILEEXISTS = 403;
IDS_CAP_ERRORPALOPEN = 404;
IDS_CAP_ERRORPALSAVE = 405;
IDS_CAP_ERRORDIBSAVE = 406;
IDS_CAP_DEFAVIEXT = 407;
IDS_CAP_DEFPALEXT = 408;
IDS_CAP_CANTOPEN = 409;
IDS_CAP_SEQ_MSGSTART = 410;
IDS_CAP_SEQ_MSGSTOP = 411;
IDS_CAP_VIDEDITERR = 412;
IDS_CAP_READONLYFILE = 413;
IDS_CAP_WRITEERROR = 414;
IDS_CAP_NODISKSPACE = 415;
IDS_CAP_SETFILESIZE = 416;
IDS_CAP_SAVEASPERCENT = 417;
IDS_CAP_DRIVER_ERROR = 418;
IDS_CAP_WAVE_OPEN_ERROR = 419;
IDS_CAP_WAVE_ALLOC_ERROR = 420;
IDS_CAP_WAVE_PREPARE_ERROR = 421;
IDS_CAP_WAVE_ADD_ERROR = 422;
IDS_CAP_WAVE_SIZE_ERROR = 423;
IDS_CAP_VIDEO_OPEN_ERROR = 424;
IDS_CAP_VIDEO_ALLOC_ERROR = 425;
IDS_CAP_VIDEO_PREPARE_ERROR = 426;
IDS_CAP_VIDEO_ADD_ERROR = 427;
IDS_CAP_VIDEO_SIZE_ERROR = 428;
IDS_CAP_FILE_OPEN_ERROR = 429;
IDS_CAP_FILE_WRITE_ERROR = 430;
IDS_CAP_RECORDING_ERROR = 431;
IDS_CAP_RECORDING_ERROR2 = 432;
IDS_CAP_AVI_INIT_ERROR = 433;
IDS_CAP_NO_FRAME_CAP_ERROR = 434;
IDS_CAP_NO_PALETTE_WARN = 435;
IDS_CAP_MCI_CONTROL_ERROR = 436;
IDS_CAP_MCI_CANT_STEP_ERROR = 437;
IDS_CAP_NO_AUDIO_CAP_ERROR = 438;
IDS_CAP_AVI_DRAWDIB_ERROR = 439;
IDS_CAP_COMPRESSOR_ERROR = 440;
IDS_CAP_AUDIO_DROP_ERROR = 441;
IDS_CAP_STAT_LIVE_MODE = 500;
IDS_CAP_STAT_OVERLAY_MODE = 501;
IDS_CAP_STAT_CAP_INIT = 502;
IDS_CAP_STAT_CAP_FINI = 503;
IDS_CAP_STAT_PALETTE_BUILD = 504;
IDS_CAP_STAT_OPTPAL_BUILD = 505;
IDS_CAP_STAT_I_FRAMES = 506;
IDS_CAP_STAT_L_FRAMES = 507;
IDS_CAP_STAT_CAP_L_FRAMES = 508;
IDS_CAP_STAT_CAP_AUDIO = 509;
IDS_CAP_STAT_VIDEOCURRENT = 510;
IDS_CAP_STAT_VIDEOAUDIO = 511;
IDS_CAP_STAT_VIDEOONLY = 512;
IDS_CAP_STAT_FRAMESDROPPED = 513;

Description

Functions and Procedures

function VideoForWindowsVersion: DWORD; pascal;

*************************************************************************** * * VideoForWindowsVersion() - returns version of VfW * **************************************************************************

function MKFOURCC(ch0, ch1, ch2, ch3: AnsiChar): FOURCC;

***************************************************************************/ /* */ /* Macros */ /* */ /* should we define this?? */ /* */ /***************************************************************************

function mmioFOURCC(ch0, ch1, ch2, ch3: AnsiChar): FOURCC;

'1632'

function aviTWOCC(ch0, ch1: AnsiChar): TWOCC;
function ICInfo(fccType, fccHandler: DWORD; lpicinfo: PICINFO) : BOOL ; stdcall;

***********************************************************************

ICM function declarations

***********************************************************************

function ICInstall(fccType, fccHandler: DWORD; lParam: LPARAM; szDesc: LPSTR; wFlags: UINT) : BOOL ; stdcall;
function ICRemove(fccType, fccHandler: DWORD; wFlags: UINT) : BOOL ; stdcall;
function ICGetInfo(hic: HIC; picinfo: PICINFO; cb: DWORD) : DWORD ; stdcall;
function ICOpen(fccType, fccHandler: DWORD; wMode: UINT) : HIC ; stdcall;
function ICOpenFunction(fccType, fccHandler: DWORD; wMode: UINT; lpfnHandler: TFarProc) : HIC ; stdcall;
function ICClose(hic: HIC) : DWORD; stdcall;
function ICSendMessage(hic: HIC; msg: UINT; dw1, dw2: DWORD) : DWORD ; stdcall;
function ICQueryAbout(hic: HIC): BOOL;
function ICAbout(hic: HIC; hwnd: HWND): DWORD;
function ICQueryConfigure(hic: HIC): BOOL;
function ICConfigure(hic: HIC; hwnd: HWND): DWORD;
function ICGetState(hic: HIC; pv: PVOID; cb: DWORD): DWORD;

– Get/Set state macros —————————————————–

function ICSetState(hic: HIC; pv: PVOID; cb: DWORD): DWORD;
function ICGetStateSize(hic: HIC): DWORD;
function ICGetDefaultQuality(hic: HIC): DWORD;

– Get value macros ———————————————————

function ICGetDefaultKeyFrameRate(hic: HIC): DWORD;
function ICDrawWindow(hic: HIC; prc: PRECT): DWORD;

– Draw window macro ——————————————————–

function ICCompress( hic : HIC; dwFlags : DWORD; lpbiOutput : PBITMAPINFOHEADER; lpData : PVOID; lpbiInput : PBITMAPINFOHEADER; lpBits : PVOID; lpckid : PDWORD; lpdwFlags : PDWORD; lFrameNum : DWORD; dwFrameSize : DWORD; dwQuality : DWORD; lpbiPrev : PBITMAPINFOHEADER; lpPrev : PVOID ): DWORD; cdecl;

***********************************************************************

compression functions

************************************************************************/ /* * ICCompress() * * compress a single frame *

function ICCompressBegin(hic: HIC; lpbiInput: PBITMAPINFOHEADER; lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICCompressBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOuput) is supported. *

function ICCompressQuery(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICCompressQuery() * * determines if compression from a source format (lpbiInput) to a dest * format (lpbiOuput) is supported. *

function ICCompressGetFormat(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICCompressGetFormat() * * get the output format, (format of compressed data) * if lpbiOutput is NULL return the size in bytes needed for format. *

function ICCompressGetFormatSize(hic: HIC; lpbi: PBITMAPINFOHEADER): DWORD;
function ICCompressGetSize(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICCompressSize() * * return the maximal size of a compressed frame *

function ICCompressEnd(hic: HIC): DWORD;
function ICDecompress( hic : HIC; dwFlags : DWORD; lpbiFormat : PBITMAPINFOHEADER; lpData : PVOID; lpbi : PBITMAPINFOHEADER; lpBits : PVOID ): DWORD; cdecl;

* ICDecompress() * * decompress a single frame *

function ICDecompressBegin(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICDecompressBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *

function ICDecompressQuery(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICDecompressQuery() * * determines if compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *

function ICDecompressGetFormat(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICDecompressGetFormat() * * get the output format, (format of un-compressed data) * if lpbiOutput is NULL return the size in bytes needed for format. *

function ICDecompressGetFormatSize(hic: HIC; lpbi: PBITMAPINFOHEADER): DWORD;
function ICDecompressGetPalette(hic: HIC; lpbiInput, lpbiOutput: PBITMAPINFOHEADER): DWORD;

* ICDecompressGetPalette() * * get the output palette *

function ICDecompressSetPalette(hic: HIC; lpbiPalette: PBITMAPINFOHEADER): DWORD;
function ICDecompressEnd(hic: HIC): DWORD;
function ICDecompressEx( hic : HIC; dwFlags : DWORD; lpbiSrc : PBITMAPINFOHEADER; lpSrc : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; lpbiDst : PBITMAPINFOHEADER; lpDst : PVOID; xDst : int; yDst : int; dxDst : int; dyDst : int ): DWORD; stdcall;

* ICDecompressEx() * * decompress a single frame *

function ICDecompressExBegin( hic : HIC; dwFlags : DWORD; lpbiSrc : PBITMAPINFOHEADER; lpSrc : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; lpbiDst : PBITMAPINFOHEADER; lpDst : PVOID; xDst : int; yDst : int; dxDst : int; dyDst : int ): DWORD; stdcall;

* ICDecompressExBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *

function ICDecompressExQuery( hic : HIC; dwFlags : DWORD; lpbiSrc : PBITMAPINFOHEADER; lpSrc : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; lpbiDst : PBITMAPINFOHEADER; lpDst : PVOID; xDst : int; yDst : int; dxDst : int; dyDst : int ): DWORD; stdcall;

* ICDecompressExQuery() *

function ICDecompressExEnd(hic: HIC): DWORD;
function ICDrawBegin( hic : HIC; dwFlags : DWORD; hpal : HPALETTE; hwnd : HWND; hdc : HDC; xDst : int; yDst : int; dxDst : int; dyDst : int; lpbi : PBITMAPINFOHEADER; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; dwRate : DWORD; dwScale : DWORD ): DWORD; cdecl;

* ICDrawBegin() * * start decompressing data with format (lpbiInput) directly to the screen * * return zero if the decompressor supports drawing. *

function ICDraw( hic : HIC; dwFlags : DWORD; lpFormat : PVOID; lpData : PVOID; cbData : DWORD; lTime : DWORD ): DWORD; cdecl;

* ICDraw() * * decompress data directly to the screen *

function ICDrawSuggestFormat( hic : HIC; lpbiIn : PBITMAPINFOHEADER; lpbiOut : PBITMAPINFOHEADER; dxSrc : int; dySrc : int; dxDst : int; dyDst : int; hicDecomp : HIC ): DWORD; stdcall;

ICMessage is not supported on Win32, so provide a static inline function to do the same job

function ICDrawQuery(hic: HIC; lpbiInput: PBITMAPINFOHEADER): DWORD;

* ICDrawQuery() * * determines if the compressor is willing to render the specified format. *

function ICDrawChangePalette(hic: HIC; lpbiInput: PBITMAPINFOHEADER): DWORD;
function ICGetBuffersWanted(hic: HIC; lpdwBuffers: PDWORD): DWORD;
function ICDrawEnd(hic: HIC): DWORD;
function ICDrawStart(hic: HIC): DWORD;
function ICDrawStartPlay(hic: HIC; lFrom, lTo: DWORD): DWORD;
function ICDrawStop(hic: HIC): DWORD;
function ICDrawStopPlay(hic: HIC): DWORD;
function ICDrawGetTime(hic: HIC; lplTime: PDWORD): DWORD;
function ICDrawSetTime(hic: HIC; lTime: DWORD): DWORD;
function ICDrawRealize(hic: HIC; hdc: HDC; fBackground: BOOL): DWORD;
function ICDrawFlush(hic: HIC): DWORD;
function ICDrawRenderBuffer(hic: HIC): DWORD;
function ICSetStatusProc( hic : HIC; dwFlags : DWORD; lParam : DWORD; fpfnStatus : TICStatusProc ): DWORD; stdcall;

ICMessage is not supported on NT

function ICLocate(fccType, fccHandler: DWORD; lpbiIn, lpbiOut: PBITMAPINFOHEADER; wFlags: WORD): HIC; stdcall;

***********************************************************************

helper routines for DrawDib and MCIAVI...

***********************************************************************

function ICGetDisplayFormat(hic: HIC; lpbiIn, lpbiOut: PBITMAPINFOHEADER; BitDepth: int; dx, dy: int): HIC; stdcall;
function ICDecompressOpen(fccType, fccHandler: DWORD; lpbiIn, lpbiOut: PBITMAPINFOHEADER): HIC;
function ICDrawOpen(fccType, fccHandler: DWORD; lpbiIn: PBITMAPINFOHEADER): HIC;
function ICImageCompress( hic : HIC; uiFlags : UINT; lpbiIn : PBITMAPINFO; lpBits : PVOID; lpbiOut : PBITMAPINFO; lQuality : LONG; plSize : PDWORD ): THANDLE; stdcall;

*********************************************************************** Higher level functions ***********************************************************************

function ICImageDecompress( hic : HIC; uiFlags : UINT; lpbiIn : PBITMAPINFO; lpBits : PVOID; lpbiOut : PBITMAPINFO ): THANDLE; stdcall;
function ICCompressorChoose( hwnd : HWND; uiFlags : UINT; pvIn : PVOID; lpData : PVOID; pc : PCOMPVARS; lpszTitle : LPSTR ): BOOL; stdcall;

COMPVARS contains valid data

allows user to choose compressor, quality etc...

function ICSeqCompressFrameStart(pc: PCOMPVARS; lpbiIn: PBITMAPINFO): BOOL; stdcall;

don't only show those that can handle the input format or input data

procedure ICSeqCompressFrameEnd(pc: PCOMPVARS); stdcall;
function ICSeqCompressFrame( pc : PCOMPVARS; uiFlags : UINT; lpBits : PVOID; pfKey : PBOOL; plSize : PDWORD ): PVOID; stdcall;
procedure ICCompressorFree(pc: PCOMPVARS); stdcall;
function DrawDibOpen: HDRAWDIB; stdcall;

– DrawDibOpen() ————————————————————

function DrawDibClose(hdd: HDRAWDIB): BOOL; stdcall;

– DrawDibClose() ———————————————————–

function DrawDibGetBuffer(hdd: HDRAWDIB; lpbi: PBITMAPINFOHEADER; dwSize: DWORD; dwFlags: DWORD): PVOID; stdcall;

– DrawDibGetBuffer() ——————————————————-

function DrawDibGetPalette(hdd: HDRAWDIB): HPALETTE; stdcall;

– DrawDibGetPalette() - get the palette used for drawing DIBs ————–

function DrawDibSetPalette(hdd: HDRAWDIB; hpal: HPALETTE): BOOL; stdcall;

– DrawDibSetPalette() - set the palette used for drawing DIBs ————–

function DrawDibChangePalette(hdd: HDRAWDIB; iStart, iLen: int; lppe: PPALETTEENTRY): BOOL; stdcall;

– DrawDibChangePalette() —————————————————

function DrawDibRealize(hdd: HDRAWDIB; hdc: HDC; fBackground: BOOL): UINT; stdcall;

– DrawDibRealize() - realize the palette in a HDD ————————–

function DrawDibStart(hdd: HDRAWDIB; rate: DWORD): BOOL; stdcall;

– DrawDibStart() - start of streaming playback —————————–

function DrawDibStop(hdd: HDRAWDIB): BOOL; stdcall;

– DrawDibStop() - start of streaming playback ——————————

function DrawDibBegin( hdd : HDRAWDIB; hdc : HDC; dxDst : int; dyDst : int; lpbi : PBITMAPINFOHEADER; dxSrc : int; dySrc : int; wFlags : UINT ): BOOL; stdcall;

– DrawDibBegin() - prepare to draw —————————————–

function DrawDibDraw( hdd : HDRAWDIB; hdc : HDC; xDst : int; yDst : int; dxDst : int; dyDst : int; lpbi : PBITMAPINFOHEADER; lpBits : PVOID; xSrc : int; ySrc : int; dxSrc : int; dySrc : int; wFlags : UINT ): BOOL; stdcall;

– DrawDibDraw() - actually draw a DIB to the screen ————————

function DrawDibUpdate(hdd: HDRAWDIB; hdc: HDC; x, y: int): BOOL;

– DrawDibUpdate() - redraw last image (may only be valid with DDF_BUFFER) –

function DrawDibEnd(hdd: HDRAWDIB): BOOL; stdcall;

– DrawDibEnd() ————————————————————-

function DrawDibTime(hdd: HDRAWDIB; lpddtime: PDRAWDIBTIME): BOOL; stdcall;
function DrawDibProfileDisplay(lpbi: PBITMAPINFOHEADER): DWORD; stdcall;

...

function FromHex(n: BYTE): BYTE;

– Macro to get stream number out of a FOURCC ckid ————————–

function StreamFromFOURCC(fcc: DWORD): BYTE;
function TWOCCFromFOURCC(fcc: DWORD): WORD;

– Macro to get TWOCC chunk type out of a FOURCC ckid ———————–

function ToHex(n: BYTE): BYTE;

– Macro to make a ckid for a chunk out of a TWOCC and a stream num (0-255) -

function MAKEAVICKID(tcc: WORD; stream: BYTE): DWORD;
procedure AVIFileInit; stdcall;

– Functions —————————————————————-

procedure AVIFileExit; stdcall;

Call this first!

function AVIFileAddRef(pfile: IAVIFile): ULONG; stdcall;
function AVIFileRelease(pfile: IAVIFile): ULONG; stdcall;
function AVIFileOpenA(var ppfile: IAVIFile; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall;
function AVIFileOpenW(var ppfile: IAVIFile; szFile: LPCWSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall;
function AVIFileOpen(var ppfile: IAVIFile; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall;
function AVIFileInfoW(pfile: IAVIFile; var pfi: TAVIFILEINFOW; lSize: LONG): HResult; stdcall;
function AVIFileInfoA(pfile: IAVIFile; var pfi: TAVIFILEINFOA; lSize: LONG): HResult; stdcall;
function AVIFileInfo(pfile: IAVIFile; var pfi: TAVIFILEINFO; lSize: LONG): HResult; stdcall;
function AVIFileGetStream(pfile: IAVIFile; var ppavi: IAVISTREAM; fccType: DWORD; lParam: LONG): HResult; stdcall;
function AVIFileCreateStreamW(pfile: IAVIFile; var ppavi: IAVISTREAM; var psi: TAVISTREAMINFOW): HResult; stdcall;
function AVIFileCreateStreamA(pfile: IAVIFile; var ppavi: IAVISTREAM; var psi: TAVISTREAMINFOA): HResult; stdcall;
function AVIFileCreateStream(pfile: IAVIFile; var ppavi: IAVISTREAM; var psi: TAVISTREAMINFO): HResult; stdcall;
function AVIFileWriteData(pfile: IAVIFile; ckid: DWORD; lpData: PVOID; cbData: LONG): HResult; stdcall;
function AVIFileReadData(pfile: IAVIFile; ckid: DWORD; lpData: PVOID; var lpcbData: LONG): HResult; stdcall;
function AVIFileEndRecord(pfile: IAVIFile): HResult; stdcall;
function AVIStreamAddRef(pavi: IAVIStream): ULONG; stdcall;
function AVIStreamRelease(pavi: IAVIStream): ULONG; stdcall;
function AVIStreamInfoW(pavi: IAVIStream; var psi: TAVISTREAMINFOW; lSize: LONG): HResult; stdcall;
function AVIStreamInfoA(pavi: IAVIStream; var psi: TAVISTREAMINFOA; lSize: LONG): HResult; stdcall;
function AVIStreamInfo(pavi: IAVIStream; var psi: TAVISTREAMINFO; lSize: LONG): HResult; stdcall;
function AVIStreamFindSample(pavi: IAVIStream; lPos: LONG; lFlags: LONG): LONG; stdcall;
function AVIStreamReadFormat(pavi: IAVIStream; lPos: LONG; lpFormat: PVOID; lpcbFormat: PLONG): HResult; stdcall;
function AVIStreamSetFormat(pavi: IAVIStream; lPos: LONG; lpFormat: PVOID; cbFormat: LONG): HResult; stdcall;
function AVIStreamReadData(pavi: IAVIStream; fcc: DWORD; lp: PVOID; lpcb: PLONG): HResult; stdcall;
function AVIStreamWriteData(pavi: IAVIStream; fcc: DWORD; lp: PVOID; cb: LONG): HResult; stdcall;
function AVIStreamRead( pavi : IAVISTREAM; lStart : LONG; lSamples : LONG; lpBuffer : PVOID; cbBuffer : LONG; plBytes : PLONG; plSamples : PLONG ): HResult; stdcall;
function AVIStreamWrite( pavi : IAVISTREAM; lStart : LONG; lSamples : LONG; lpBuffer : PVOID; cbBuffer : LONG; dwFlags : DWORD; plSampWritten : PLONG; plBytesWritten : PLONG ): HResult; stdcall;
function AVIStreamStart(pavi: IAVIStream): LONG; stdcall;

Right now, these just use AVIStreamInfo() to get information, then return some of it. Can they be more efficient?

function AVIStreamLength(pavi: IAVIStream): LONG; stdcall;
function AVIStreamTimeToSample(pavi: IAVIStream; lTime: LONG): LONG; stdcall;
function AVIStreamSampleToTime(pavi: IAVIStream; lSample: LONG): LONG; stdcall;
function AVIStreamBeginStreaming(pavi: IAVIStream; lStart, lEnd: LONG; lRate: LONG): HResult; stdcall;
function AVIStreamEndStreaming(pavi: IAVIStream): HResult; stdcall;
function AVIStreamGetFrameOpen(pavi: IAVIStream; lpbiWanted: PBitmapInfoHeader): IGetFrame; stdcall;

– Helper functions for using IGetFrame ————————————-

function AVIStreamGetFrame(pg: IGetFrame; lPos: LONG): PBitmapInfoHeader; stdcall;
function AVIStreamGetFrameClose(pg: IGetFrame): HResult; stdcall;
function AVIStreamOpenFromFileA(var ppavi: IAVISTREAM; szFile: LPCSTR; fccType: DWORD; lParam: LONG; mode: UINT; pclsidHandler: PCLSID): HResult; stdcall;

– Shortcut function ——————————————————–

function AVIStreamOpenFromFileW(var ppavi: IAVISTREAM; szFile: LPCWSTR; fccType: DWORD; lParam: LONG; mode: UINT; pclsidHandler: PCLSID): HResult; stdcall;
function AVIStreamOpenFromFile(var ppavi: IAVISTREAM; szFile: LPCSTR; fccType: DWORD; lParam: LONG; mode: UINT; pclsidHandler: PCLSID): HResult; stdcall;
function AVIStreamCreate(var ppavi: IAVISTREAM; lParam1, lParam2: LONG; pclsidHandler: PCLSID): HResult; stdcall;

– Use to create disembodied streams —————————————-

function AVIStreamFindKeyFrame(var pavi: IAVISTREAM; lPos: LONG; lFlags: LONG): DWORD; stdcall;

– Stuff to support backward compat. —————————————-

function AVIStreamClose(pavi: IAVISTREAM): ULONG; stdcall;

AVIStreamFindSample Non-portable: this is alias for method name FindKeyFrame FindSample

function AVIFileClose(pfile: IAVIFILE): ULONG; stdcall;

AVIStreamRelease

procedure AVIStreamInit; stdcall;

AVIFileRelease

procedure AVIStreamExit; stdcall;

AVIFileInit

function AVIStreamSampleToSample(pavi1, pavi2: IAVISTREAM; l: LONG): LONG;

– Helper macros ————————————————————

function AVIStreamNextSample(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamPrevSample(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamNearestSample(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamNextKeyFrame(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamPrevKeyFrame(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamNearestKeyFrame(pavi: IAVISTREAM; l: LONG): LONG;
function AVIStreamIsKeyFrame(pavi: IAVISTREAM; l: LONG): BOOL;
function AVIStreamPrevSampleTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNextSampleTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNearestSampleTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNextKeyFrameTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamPrevKeyFrameTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamNearestKeyFrameTime(pavi: IAVISTREAM; t: LONG): LONG;
function AVIStreamStartTime(pavi: IAVISTREAM): LONG;
function AVIStreamLengthTime(pavi: IAVISTREAM): LONG;
function AVIStreamEnd(pavi: IAVISTREAM): LONG;
function AVIStreamEndTime(pavi: IAVISTREAM): LONG;
function AVIStreamSampleSize(pavi: IAVISTREAM; lPos: LONG; plSize: PLONG): LONG;
function AVIStreamFormatSize(pavi: IAVISTREAM; lPos: LONG; plSize: PLONG): HResult;
function AVIStreamDataSize(pavi: IAVISTREAM; fcc: DWORD; plSize: PLONG): HResult;
function AVIMakeCompressedStream( var ppsCompressed : IAVISTREAM; ppsSource : IAVISTREAM; lpOptions : PAVICOMPRESSOPTIONS; pclsidHandler : PCLSID ): HResult; stdcall;

mmioFOURCC('D', 'I', 'B', ' ')

function AVISaveVA( szFile : LPCSTR; pclsidHandler : PCLSID; lpfnCallback : TAVISAVECALLBACK; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): HResult; stdcall;

Non-portable: uses variable number of params EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, CLSID FAR *pclsidHandler, AVISAVECALLBACK lpfnCallback, int nStreams, PAVISTREAM pfile, LPAVICOMPRESSOPTIONS lpOptions, ...);

function AVISaveVW( szFile : LPCWSTR; pclsidHandler : PCLSID; lpfnCallback : TAVISAVECALLBACK; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): HResult; stdcall;

Non-portable: uses variable number of params EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, CLSID FAR *pclsidHandler, AVISAVECALLBACK lpfnCallback, int nStreams, PAVISTREAM pfile, LPAVICOMPRESSOPTIONS lpOptions, ...);

function AVISaveV( szFile : LPCSTR; pclsidHandler : PCLSID; lpfnCallback : TAVISAVECALLBACK; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): HResult; stdcall;

#define AVISave AVISaveA

function AVISaveOptions( hwnd : HWND; uiFlags : UINT; nStreams : int; var ppavi : IAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): BOOL; stdcall;

AVISaveVA

function AVISaveOptionsFree(nStreams: int; var plpOptions: PAVICOMPRESSOPTIONS): HResult; stdcall;
function AVIBuildFilterW(lpszFilter: LPWSTR; cbFilter: LONG; fSaving: BOOL): HResult; stdcall;

Same as the flags for ICCompressorChoose (see compman.h) These determine what the compression options dialog for video streams will look like.

function AVIBuildFilterA(lpszFilter: LPSTR; cbFilter: LONG; fSaving: BOOL): HResult; stdcall;
function AVIBuildFilter(lpszFilter: LPSTR; cbFilter: LONG; fSaving: BOOL): HResult; stdcall;
function AVIMakeFileFromStreams(var ppfile: IAVIFILE; nStreams: int; var papStreams: IAVISTREAM): HResult; stdcall;

AVIBuildFilterA

function AVIMakeStreamFromClipboard(cfFormat: UINT; hGlobal: THANDLE; var ppstream: IAVISTREAM): HResult; stdcall;
function AVIPutFileOnClipboard(pf: IAVIFILE): HResult; stdcall;

– Clipboard routines ——————————————————-

function AVIGetFromClipboard(var lppf: IAVIFILE): HResult; stdcall;
function AVIClearClipboard: HResult; stdcall;
function CreateEditableStream(var ppsEditable: IAVISTREAM; psSource: IAVISTREAM): HResult; stdcall;

– Editing routines ———————————————————

function EditStreamCut(pavi: IAVISTREAM; var plStart, plLength: LONG; var ppResult: IAVISTREAM): HResult; stdcall;
function EditStreamCopy(pavi: IAVISTREAM; var plStart, plLength: LONG; var ppResult: IAVISTREAM): HResult; stdcall;
function EditStreamPaste(pavi: IAVISTREAM; var plPos, plLength: LONG; pstream: IAVISTREAM; lStart, lEnd: LONG): HResult; stdcall;
function EditStreamClone(pavi: IAVISTREAM; var ppResult: IAVISTREAM): HResult; stdcall;
function EditStreamSetNameA(pavi: IAVISTREAM; lpszName: LPCSTR): HResult; stdcall;
function EditStreamSetNameW(pavi: IAVISTREAM; lpszName: LPCWSTR): HResult; stdcall;
function EditStreamSetInfoW(pavi: IAVISTREAM; lpInfo: PAVISTREAMINFOW; cbInfo: LONG): HResult; stdcall;
function EditStreamSetInfoA(pavi: IAVISTREAM; lpInfo: PAVISTREAMINFOA; cbInfo: LONG): HResult; stdcall;
function EditStreamSetInfo(pavi: IAVISTREAM; lpInfo: PAVISTREAMINFOA; cbInfo: LONG): HResult; stdcall;
function EditStreamSetName(pavi: IAVISTREAM; lpszName: LPCSTR): HResult; stdcall;

EditStreamSetInfoA

function MCIWndSM(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): DWORD;

MCIWnd

MCIWnd window class header file.

the MCIWnd window class is a window class for controling MCI devices MCI devices include, wave files, midi files, AVI Video, cd audio, vcr, video disc, and others..

to learn more about MCI and mci command sets see the "Microsoft Multimedia Programmers's guide" in the Win31 SDK

the easiest use of the MCIWnd class is like so:

hwnd = MCIWndCreate(hwndParent, hInstance, 0, "chimes.wav"); ... MCIWndPlay(hwnd); MCIWndStop(hwnd); MCIWndPause(hwnd); .... MCIWndDestroy(hwnd);

this will create a window with a play/pause, stop and a playbar and start the wave file playing.

mciwnd.h defines macros for all the most common MCI commands, but any string command can be used if needed.

Note: unlike the mciSendString() API, no alias or file name needs to be specifed, since the device to use is implied by the window handle.

MCIWndSendString(hwnd, "setaudio stream to 2");

(C) Copyright Microsoft Corp. 1991-1995. All rights reserved.

WIN32:

MCIWnd supports both ansi and unicode interfaces. For any message that takes or returns a text string, two versions of the message are defined, appended with A or W for Ansi or Wide Char. The message or api itself is defined to be one or other of these depending on whether you have UNICODE defined in your application. Thus for the api MCIWndCreate, there are in fact two apis, MCIWndCreateA and MCIWndCreateW. If you call MCIWndCreate, this will be re-routed to MCIWndCreateA unless UNICODE is defined when building your application. In any one application, you can mix calls to the Ansi and Unicode entrypoints.

If you use SendMessage instead of the macros below such as MCIWndOpen(), you will see that the messages have changed for WIN32, to support Ansi and Unicode entrypoints. In particular, MCI_OPEN has been replaced by MCWNDM_OPENA, or MCIWNDM_OPENW (MCIWNDM_OPEN is defined to be one or other of these).

Also, note that the WIN32 implementation of MCIWnd uses UNICODE so all apis and messages supporting ANSI strings do so by mapping them UNICODE strings and then calling the corresponding UNICODE entrypoint.

function MCIWndCreateA(hwndParent: HWND; hInstance: HINST; dwStyle: DWORd; szFile: LPCSTR): HWND; cdecl;
function MCIWndCreateW(hwndParent: HWND; hInstance: HINST; dwStyle: DWORd; szFile: LPCWSTR): HWND; cdecl;
function MCIWndCreate(hwndParent: HWND; hInstance: HINST; dwStyle: DWORd; szFile: LPCSTR): HWND; cdecl;
function MCIWndRegisterClass: BOOL; cdecl;

MCIWndCreateA

function MCIWndCanPlay(hwnd: HWND): BOOL;

– Can macros —————————————————————

function MCIWndCanRecord(hwnd: HWND): BOOL;
function MCIWndCanSave(hwnd: HWND): BOOL;
function MCIWndCanWindow(hwnd: HWND): BOOL;
function MCIWndCanEject(hwnd: HWND): BOOL;
function MCIWndCanConfig(hwnd: HWND): BOOL;
function MCIWndPaletteKick(hwnd: HWND): BOOL;
function MCIWndSave(hwnd: HWND; szFile: LPCSTR): DWORD;
function MCIWndSaveDialog(hwnd: HWND): DWORD;
function MCIWndNew(hwnd: HWND; lp: PVOID): DWORD;

If you dont give a device it will use the current device....

function MCIWndRecord(hwnd: HWND): DWORD;
function MCIWndOpen(hwnd: HWND; sz: LPCSTR; f: BOOL): DWORD;
function MCIWndOpenDialog(hwnd: HWND): DWORD;
function MCIWndClose(hwnd: HWND): DWORD;
function MCIWndPlay(hwnd: HWND): DWORD;
function MCIWndStop(hwnd: HWND): DWORD;
function MCIWndPause(hwnd: HWND): DWORD;
function MCIWndResume(hwnd: HWND): DWORD;
function MCIWndSeek(hwnd: HWND; lPos: DWORD): DWORD;
function MCIWndEject(hwnd: HWND): DWORD;
function MCIWndHome(hwnd: HWND): DWORD;
function MCIWndEnd(hwnd: HWND): DWORD;
function MCIWndGetSource(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndPutSource(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndGetDest(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndPutDest(hwnd: HWND; prc: PRECT): DWORD;
function MCIWndPlayReverse(hwnd: HWND): DWORD;
function MCIWndPlayFrom(hwnd: HWND; lPos: DWORD): DWORD;
function MCIWndPlayTo(hwnd: HWND; lPos: DWORD): DWORD;
function MCIWndPlayFromTo(hwnd: HWND; lStart, lEnd: DWORD): DWORD;
function MCIWndGetDeviceID(hwnd: HWND): UINT;
function MCIWndGetAlias(hwnd: HWND): UINT;
function MCIWndGetMode(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetPosition(hwnd: HWND): DWORD;
function MCIWndGetPositionString(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetStart(hwnd: HWND): DWORD;
function MCIWndGetLength(hwnd: HWND): DWORD;
function MCIWndGetEnd(hwnd: HWND): DWORD;
function MCIWndStep(hwnd: HWND; n: DWORD): DWORD;
procedure MCIWndDestroy(hwnd: HWND);
procedure MCIWndSetZoom(hwnd: HWND; iZoom: UINT);
function MCIWndGetZoom(hwnd: HWND): UINT;
function MCIWndSetVolume(hwnd: HWND; iVol: UINT): DWORD;
function MCIWndGetVolume(hwnd: HWND): DWORD;
function MCIWndSetSpeed(hwnd: HWND; iSpeed: UINT): DWORD;
function MCIWndGetSpeed(hwnd: HWND): DWORD;
function MCIWndSetTimeFormat(hwnd: HWND; lp: LPCSTR): DWORD;
function MCIWndGetTimeFormat(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
procedure MCIWndValidateMedia(hwnd: HWND);
procedure MCIWndSetRepeat(hwnd: HWND; f: BOOL);
function MCIWndGetRepeat(hwnd: HWND): BOOL;
function MCIWndUseFrames(hwnd: HWND): DWORD;
function MCIWndUseTime(hwnd: HWND): DWORD;
procedure MCIWndSetActiveTimer(hwnd: HWND; active: UINT);
procedure MCIWndSetInactiveTimer(hwnd: HWND; inactive: UINT);
procedure MCIWndSetTimers(hwnd: HWND; active, inactive: UINT);
function MCIWndGetActiveTimer(hwnd: HWND): UINT;
function MCIWndGetInactiveTimer(hwnd: HWND): UINT;
function MCIWndRealize(hwnd: HWND; fBkgnd: BOOL): DWORD;
function MCIWndSendString(hwnd: HWND; sz: LPCSTR): DWORD;
function MCIWndReturnString(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetError(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetPalette(hwnd: HWND): HPALETTE;

#define MCIWndActivate(hwnd, f) (void)MCIWndSM(hwnd, WM_ACTIVATE, (WPARAM)(BOOL)(f), 0)

function MCIWndSetPalette(hwnd: HWND; hpal: HPALETTE): DWORD;
function MCIWndGetFileName(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetDevice(hwnd: HWND; lp: LPSTR; len: UINT): DWORD;
function MCIWndGetStyles(hwnd: HWND): UINT;
function MCIWndChangeStyles(hwnd: HWND; mask: UINT; value: DWORD): DWORD;
function MCIWndOpenInterface(hwnd: HWND; pUnk: PUnknown): DWORD;
function MCIWndSetOwner(hwnd: HWND; hwndP: HWND): DWORD;
function AVICapSM(hwnd: HWND; m: UINT; w: WPARAM; l: LPARAM): DWORD;

== AVICAP - Window class for AVI capture ====================================

function capSetCallbackOnError(hwnd: HWND; fpProc: TCAPERRORCALLBACK): BOOL;

message wrapper macros are defined for the default messages only. Apps that wish to mix Ansi and UNICODE message sending will have to reference the _A and _W messages directly

function capSetCallbackOnStatus(hwnd: HWND; fpProc: TCAPSTATUSCALLBACK): BOOL;
function capSetCallbackOnYield(hwnd: HWND; fpProc: TCAPYIELDCALLBACK): BOOL;
function capSetCallbackOnFrame(hwnd: HWND; fpProc: TCAPVIDEOCALLBACK): BOOL;
function capSetCallbackOnVideoStream(hwnd: HWND; fpProc: TCAPVIDEOCALLBACK): BOOL;
function capSetCallbackOnWaveStream(hwnd: HWND; fpProc: TCAPWAVECALLBACK): BOOL;
function capSetCallbackOnCapControl(hwnd: HWND; fpProc: TCAPCONTROLCALLBACK): BOOL;
function capSetUserData(hwnd: HWND; lUser: DWORD): BOOL;
function capGetUserData(hwnd: HWND): DWORD;
function capDriverConnect(hwnd: HWND; i: INT): BOOL;
function capDriverDisconnect(hwnd: HWND): BOOL;
function capDriverGetName(hwnd: HWND; szName: LPSTR; wSize: WORD): BOOL;
function capDriverGetVersion(hwnd: HWND; szVer: LPSTR; wSize: WORD): BOOL;
function capDriverGetCaps(hwnd: HWND; s: PCAPDRIVERCAPS; wSize: WORD): BOOL;
function capFileSetCaptureFile(hwnd: HWND; szName: LPCSTR): BOOL;
function capFileGetCaptureFile(hwnd: HWND; szName: LPSTR; wSize: WORD): BOOL;
function capFileAlloc(hwnd: HWND; dwSize: DWORD): BOOL;
function capFileSaveAs(hwnd: HWND; szName: LPCSTR): BOOL;
function capFileSetInfoChunk(hwnd: HWND; lpInfoChunk: PCAPINFOCHUNK): BOOL;
function capFileSaveDIB(hwnd: HWND; szName: LPCSTR): BOOL;
function capEditCopy(hwnd: HWND): BOOL;
function capSetAudioFormat(hwnd: HWND; s: PWAVEFORMATEX; wSize: WORD): BOOL;
function capGetAudioFormat(hwnd: HWND; s: PWAVEFORMATEX; wSize: WORD): DWORD;
function capGetAudioFormatSize(hwnd: HWND): DWORD;
function capDlgVideoFormat(hwnd: HWND): BOOL;
function capDlgVideoSource(hwnd: HWND): BOOL;
function capDlgVideoDisplay(hwnd: HWND): BOOL;
function capDlgVideoCompression(hwnd: HWND): BOOL;
function capGetVideoFormat(hwnd: HWND; s: PVOID; wSize: WORD): DWORD;
function capGetVideoFormatSize(hwnd: HWND): DWORD;
function capSetVideoFormat(hwnd: HWND; s: PVOID; wSize: WORD): BOOL;
function capPreview(hwnd: HWND; f: BOOL): BOOL;
function capPreviewRate(hwnd: HWND; wMS: WORD): BOOL;
function capOverlay(hwnd: HWND; f: BOOL): BOOL;
function capPreviewScale(hwnd: HWND; f: BOOL): BOOL;
function capGetStatus(hwnd: HWND; s: PCAPSTATUS; wSize: WORD): BOOL;
function capSetScrollPos(hwnd: HWND; lpP: PPOINT): BOOL;
function capGrabFrame(hwnd: HWND): BOOL;
function capGrabFrameNoStop(hwnd: HWND): BOOL;
function capCaptureSequence(hwnd: HWND): BOOL;
function capCaptureSequenceNoFile(hwnd: HWND): BOOL;
function capCaptureStop(hwnd: HWND): BOOL;
function capCaptureAbort(hwnd: HWND): BOOL;
function capCaptureSingleFrameOpen(hwnd: HWND): BOOL;
function capCaptureSingleFrameClose(hwnd: HWND): BOOL;
function capCaptureSingleFrame(hwnd: HWND): BOOL;
function capCaptureGetSetup(hwnd: HWND; s: PCAPTUREPARMS; wSize: WORD): BOOL;
function capCaptureSetSetup(hwnd: HWND; s: PCAPTUREPARMS; wSize: WORD): BOOL;
function capSetMCIDeviceName(hwnd: HWND; szName: LPCSTR): BOOL;
function capGetMCIDeviceName(hwnd: HWND; szName: LPSTR; wSize: WORD): BOOL;
function capPaletteOpen(hwnd: HWND; szName: LPCSTR): BOOL;
function capPaletteSave(hwnd: HWND; szName: LPCSTR): BOOL;
function capPalettePaste(hwnd: HWND): BOOL;
function capPaletteAuto(hwnd: HWND; iFrames, iColors: INT): BOOL;
function capPaletteManual(hwnd: HWND; fGrab: BOOL; iColors: INT): BOOL;
function capCreateCaptureWindowA( lpszWindowName : LPCSTR; dwStyle : DWORD; x, y : int; nWidth, nHeight : int; hwndParent : HWND; nID : int ): HWND; stdcall;

– The only exported functions from AVICAP.DLL ——————————

function capGetDriverDescriptionA( wDriverIndex : UINT; lpszName : LPSTR; cbName : int; lpszVer : LPSTR; cbVer : int ): BOOL; stdcall;
function capCreateCaptureWindowW( lpszWindowName : LPCWSTR; dwStyle : DWORD; x, y : int; nWidth, nHeight : int; hwndParent : HWND; nID : int ): HWND; stdcall;
function capGetDriverDescriptionW( wDriverIndex : UINT; lpszName : LPWSTR; cbName : int; lpszVer : LPWSTR; cbVer : int ): BOOL; stdcall;
function capCreateCaptureWindow( lpszWindowName : LPCSTR; dwStyle : DWORD; x, y : int; nWidth, nHeight : int; hwndParent : HWND; nID : int ): HWND; stdcall;
function capGetDriverDescription( wDriverIndex : UINT; lpszName : LPSTR; cbName : int; lpszVer : LPSTR; cbVer : int ): BOOL; stdcall;

capCreateCaptureWindowA

function GetOpenFileNamePreviewA(lpofn: POPENFILENAMEA): BOOL; stdcall;

== FilePreview dialog =======================================================

function GetSaveFileNamePreviewA(lpofn: POPENFILENAMEA): BOOL; stdcall;
function GetOpenFileNamePreviewW(lpofn: POPENFILENAMEW): BOOL; stdcall;
function GetSaveFileNamePreviewW(lpofn: POPENFILENAMEW): BOOL; stdcall;
function GetOpenFileNamePreview(lpofn: POPENFILENAMEA): BOOL; stdcall;
function GetSaveFileNamePreview(lpofn: POPENFILENAMEA): BOOL; stdcall;

GetOpenFileNamePreviewA

Types

HDRAWDIB = THandle;

************************************************************************* * * DRAWDIB - Routines for drawing to the display. * ************************************************************************

HIC = THandle;
HVIDEO = THandle;

== VIDEO - Video capture driver interface ===================================

int = integer;
LONG = longint;
PAVICOMPRESSOPTIONS = ˆTAVICOMPRESSOPTIONS;

Make sure it matches the AutoDoc in avisave.c !!!

PAVIFileInfo = ˆTAVIFileInfo;
PAVIFileInfoA = ˆTAVIFileInfoA;
PAVIFileInfoW = ˆTAVIFileInfoW;

– AVIFILEINFO ————————————————————–

PAVIINDEXENTRY = ˆTAVIINDEXENTRY;

these bits are for compressor use

PAVIPALCHANGE = ˆTAVIPALCHANGE;

– Palette change chunk (used in video streams) —————————–

PAVIStreamHeader = ˆTAVIStreamHeader;
PAVIStreamInfo = ˆTAVIStreamInfo;
PAVIStreamInfoA = ˆTAVIStreamInfoA;
PAVIStreamInfoW = ˆTAVIStreamInfoW;

for Unicode/Ansi thunking we need to declare three versions of this!

PCAPDRIVERCAPS = ˆTCAPDRIVERCAPS;

– Structures —————————————————————

PCAPINFOCHUNK = ˆTCAPINFOCHUNK;

No master

PCAPSTATUS = ˆTCAPSTATUS;
PCAPTUREPARMS = ˆTCAPTUREPARMS;

Default values in parenthesis

PCHANNEL_CAPS = ˆTCHANNEL_CAPS;

– Channel capabilities structure ——————————————-

PCOMPVARS = ˆTCOMPVARS;

Structure used by ICSeqCompressFrame and ICCompressorChoose routines Make sure this matches the autodoc in icm.c!

PDRAWDIBTIME = ˆTDRAWDIBTIME;

– DrawDibTime() - for debugging purposes only ——————————

PHVIDEO = ˆHVIDEO;
PICCOMPRESS = ˆTICCOMPRESS;
PICCOMPRESSFRAMES = ˆTICCOMPRESSFRAMES;
PICDECOMPRESS = ˆTICDECOMPRESS;

this frame is not a key frame

PICDECOMPRESSEX = ˆTICDECOMPRESSEX;
PICDRAW = ˆTICDRAW;

this frame is not a key frame

PICDRAWBEGIN = ˆTICDRAWBEGIN;

please buffer this data offscreen, we will need to update it

PICDRAWSUGGEST = ˆTICDRAWSUGGEST;
PICINFO = ˆTICINFO;

*********************************************************************** ***********************************************************************

PICOPEN = ˆTICOPEN;

*********************************************************************** ***********************************************************************

PICPALETTE = ˆTICPALETTE;

*********************************************************************** ***********************************************************************

PICSETSTATUSPROC = ˆTICSETSTATUSPROC;
PLONG = ˆLONG;
PMainAVIHeader = ˆTMainAVIHeader;

size of AVI header list

PUnknown = ˆIUnknown;
PVIDEOHDR = ˆTVIDEOHDR;

– Video data block header ————————————————–

PVOID = pointer;

*************************************************************************** * * types * **************************************************************************

TAVIFileInfo = TAVIFileInfoA;
TAVISAVECALLBACK = function(i: int): BOOL; pascal;
TAVIStreamInfo = TAVIStreamInfoA;
TCAPCONTROLCALLBACK = function(hWnd: HWND; nState: int): DWORD; stdcall;
TCAPERRORCALLBACK = TCAPERRORCALLBACKA;
TCAPERRORCALLBACKA = function(hWnd: HWND; nID: int; lpsz: LPCSTR): DWORD; stdcall;
TCAPERRORCALLBACKW = function(hWnd: HWND; nID: int; lpsz: LPCWSTR): DWORD; stdcall;
TCAPSTATUSCALLBACK = TCAPSTATUSCALLBACKA;
TCAPSTATUSCALLBACKA = function(hWnd: HWND; nID: int; lpsz: LPCSTR): DWORD; stdcall;
TCAPSTATUSCALLBACKW = function(hWnd: HWND; nID: int; lpsz: LPCWSTR): DWORD; stdcall;
TCAPVIDEOCALLBACK = function(hWnd: HWND; lpVHdr: PVIDEOHDR): DWORD; stdcall;
TCAPWAVECALLBACK = function(hWnd: HWND; lpWHdr: PWAVEHDR): DWORD; stdcall;
TCAPYIELDCALLBACK = function(hWnd: HWND): DWORD; stdcall;

– Callback definitions —————————————————–

TICCompressProc = function(lInputOutput: LPARAM; lFrame: DWORD; lpBits: PVOID; len: LONG): LONG; stdcall;
TICStatusProc = function(lParam: LPARAM; message: UINT; l: LONG): LONG; stdcall;

return nonzero means abort operation in progress

TWOCC = word;

Constants

ICVERSION = $0104 ;

*************************************************************************** * * COMPMAN - Installable Compression Manager. * ***************************************************************************

BI_1632 = $32333631;

Handle to an Installable Compressor

this code in biCompression means the DIB must be accesed via 48 bit pointers! using *ONLY* the selector given.

ICTYPE_VIDEO = $63646976;
ICTYPE_AUDIO = $63647561;

vidc

ICERR_OK = 0 ;

audc

ICERR_DONTDRAW = 1 ;
ICERR_NEWPALETTE = 2 ;
ICERR_GOTOKEYFRAME = 3 ;
ICERR_STOPDRAWING = 4 ;
ICERR_UNSUPPORTED = -1 ;
ICERR_BADFORMAT = -2 ;
ICERR_MEMORY = -3 ;
ICERR_INTERNAL = -4 ;
ICERR_BADFLAGS = -5 ;
ICERR_BADPARAM = -6 ;
ICERR_BADSIZE = -7 ;
ICERR_BADHANDLE = -8 ;
ICERR_CANTUPDATE = -9 ;
ICERR_ABORT = -10 ;
ICERR_ERROR = -100 ;
ICERR_BADBITDEPTH = -200 ;
ICERR_BADIMAGESIZE = -201 ;
ICERR_CUSTOM = -400 ;
ICMODE_COMPRESS = 1 ;

– Values for dwFlags of ICOpen() ——————————————-

ICMODE_DECOMPRESS = 2 ;
ICMODE_FASTDECOMPRESS = 3 ;
ICMODE_QUERY = 4 ;
ICMODE_FASTCOMPRESS = 5 ;
ICMODE_DRAW = 8 ;
AVIIF_LIST = $00000001 ;

– Flags for AVI file index ————————————————-

AVIIF_TWOCC = $00000002 ;
AVIIF_KEYFRAME = $00000010 ;
ICQUALITY_LOW = 0 ;

– quality flags ————————————————————

ICQUALITY_HIGH = 10000 ;
ICQUALITY_DEFAULT = -1 ;
ICM_USER = (DRV_USER+$0000) ;

*********************************************************************** ***********************************************************************

ICM_RESERVED_LOW = (DRV_USER+$1000) ;
ICM_RESERVED_HIGH = (DRV_USER+$2000) ;
ICM_RESERVED = ICM_RESERVED_LOW ;
ICM_GETSTATE = (ICM_RESERVED+0) ;

***********************************************************************

messages.

***********************************************************************

ICM_SETSTATE = (ICM_RESERVED+1) ;

Get compressor state

ICM_GETINFO = (ICM_RESERVED+2) ;

Set compressor state

ICM_CONFIGURE = (ICM_RESERVED+10);

Query info about the compressor

ICM_ABOUT = (ICM_RESERVED+11);

show the configure dialog

ICM_GETDEFAULTQUALITY = (ICM_RESERVED+30);

show the about box

ICM_GETQUALITY = (ICM_RESERVED+31);

get the default value for quality

ICM_SETQUALITY = (ICM_RESERVED+32);

get the current value for quality

ICM_SET = (ICM_RESERVED+40);

set the default value for quality

ICM_GET = (ICM_RESERVED+41);

Tell the driver something

ICM_FRAMERATE = $526D7246;

– Constants for ICM_SET: —————————————————

ICM_KEYFRAMERATE = $5279654B;

FrmR

ICM_COMPRESS_GET_FORMAT = (ICM_USER+4) ;

***********************************************************************

ICM specific messages.

***********************************************************************

ICM_COMPRESS_GET_SIZE = (ICM_USER+5) ;

get compress format or size

ICM_COMPRESS_QUERY = (ICM_USER+6) ;

get output size

ICM_COMPRESS_BEGIN = (ICM_USER+7) ;

query support for compress

ICM_COMPRESS = (ICM_USER+8) ;

begin a series of compress calls.

ICM_COMPRESS_END = (ICM_USER+9) ;

compress a frame

ICM_DECOMPRESS_GET_FORMAT = (ICM_USER+10) ;

end of a series of compress calls.

ICM_DECOMPRESS_QUERY = (ICM_USER+11) ;

get decompress format or size

ICM_DECOMPRESS_BEGIN = (ICM_USER+12) ;

query support for dempress

ICM_DECOMPRESS = (ICM_USER+13) ;

start a series of decompress calls

ICM_DECOMPRESS_END = (ICM_USER+14) ;

decompress a frame

ICM_DECOMPRESS_SET_PALETTE = (ICM_USER+29) ;

end a series of decompress calls

ICM_DECOMPRESS_GET_PALETTE = (ICM_USER+30) ;

fill in the DIB color table

ICM_DRAW_QUERY = (ICM_USER+31) ;

fill in the DIB color table

ICM_DRAW_BEGIN = (ICM_USER+15) ;

query support for dempress

ICM_DRAW_GET_PALETTE = (ICM_USER+16) ;

start a series of draw calls

ICM_DRAW_START = (ICM_USER+18) ;

get the palette needed for drawing

ICM_DRAW_STOP = (ICM_USER+19) ;

start decompress clock

ICM_DRAW_END = (ICM_USER+21) ;

stop decompress clock

ICM_DRAW_GETTIME = (ICM_USER+32) ;

end a series of draw calls

ICM_DRAW = (ICM_USER+33) ;

get value of decompress clock

ICM_DRAW_WINDOW = (ICM_USER+34) ;

generalized "render" message

ICM_DRAW_SETTIME = (ICM_USER+35) ;

drawing window has moved or hidden

ICM_DRAW_REALIZE = (ICM_USER+36) ;

set correct value for decompress clock

ICM_DRAW_FLUSH = (ICM_USER+37) ;

realize palette for drawing

ICM_DRAW_RENDERBUFFER = (ICM_USER+38) ;

clear out buffered frames

ICM_DRAW_START_PLAY = (ICM_USER+39) ;

draw undrawn things in queue

ICM_DRAW_STOP_PLAY = (ICM_USER+40) ;

start of a play

ICM_DRAW_SUGGESTFORMAT = (ICM_USER+50) ;

end of a play

ICM_DRAW_CHANGEPALETTE = (ICM_USER+51) ;

Like ICGetDisplayFormat

ICM_GETBUFFERSWANTED = (ICM_USER+41) ;

for animating palette

ICM_GETDEFAULTKEYFRAMERATE = (ICM_USER+42) ;

ask about prebuffering

ICM_DECOMPRESSEX_BEGIN = (ICM_USER+60) ;

get the default value for key frames

ICM_DECOMPRESSEX_QUERY = (ICM_USER+61) ;

start a series of decompress calls

ICM_DECOMPRESSEX = (ICM_USER+62) ;

start a series of decompress calls

ICM_DECOMPRESSEX_END = (ICM_USER+63) ;

decompress a frame

ICM_COMPRESS_FRAMES_INFO = (ICM_USER+70) ;

end a series of decompress calls

ICM_SET_STATUS_PROC = (ICM_USER+72) ;

tell about compress to come

VIDCF_QUALITY = $0001 ;

– Flags for the <dwFlags> field of the <ICINFO> structure. ————

VIDCF_CRUNCH = $0002 ;

supports quality

VIDCF_TEMPORAL = $0004 ;

supports crunching to a frame size

VIDCF_COMPRESSFRAMES = $0008 ;

supports inter-frame compress

VIDCF_DRAW = $0010 ;

wants the compress all frames message

VIDCF_FASTTEMPORALC = $0020 ;

supports drawing

VIDCF_FASTTEMPORALD = $0080 ;

does not need prev frame on compress

ICCOMPRESS_KEYFRAME = $00000001;

*********************************************************************** ***********************************************************************

ICCOMPRESSFRAMES_PADDING = $00000001 ;

*********************************************************************** ***********************************************************************

ICSTATUS_START = 0 ;

– Messages for Status callback ———————————————

ICSTATUS_STATUS = 1 ;
ICSTATUS_END = 2 ;

l = % done

ICSTATUS_ERROR = 3 ;
ICSTATUS_YIELD = 4 ;

l = error string (LPSTR)

ICDECOMPRESS_HURRYUP = $80000000 ;

*********************************************************************** ***********************************************************************

ICDECOMPRESS_UPDATE = $40000000 ;

don't draw just buffer (hurry up!)

ICDECOMPRESS_PREROLL = $20000000 ;

don't draw just update screen

ICDECOMPRESS_NULLFRAME = $10000000 ;

this frame is before real start

ICDECOMPRESS_NOTKEYFRAME = $08000000 ;

repeat last frame

ICDRAW_QUERY = $00000001 ;

*********************************************************************** ***********************************************************************

ICDRAW_FULLSCREEN = $00000002 ;

test for support

ICDRAW_HDC = $00000004 ;

draw to full screen

ICDRAW_ANIMATE = $00000008 ;

draw to a HDC/HWND

ICDRAW_CONTINUE = $00000010 ;

expect palette animation

ICDRAW_MEMORYDC = $00000020 ;

draw is a continuation of previous draw

ICDRAW_UPDATING = $00000040 ;

DC is offscreen, by the way

ICDRAW_RENDER = $00000080 ;

We're updating, as opposed to playing

ICDRAW_BUFFER = $00000100 ;

used to render data not draw it

ICDRAW_HURRYUP = $80000000 ;

*********************************************************************** ***********************************************************************

ICDRAW_UPDATE = $40000000 ;

don't draw just buffer (hurry up!)

ICDRAW_PREROLL = $20000000 ;

don't draw just update screen

ICDRAW_NULLFRAME = $10000000 ;

this frame is before real start

ICDRAW_NOTKEYFRAME = $08000000 ;

repeat last frame

ICINSTALL_UNICODE = $8000 ;

– Values for wFlags of ICInstall ——————————————-

ICINSTALL_FUNCTION = $0001 ;
ICINSTALL_DRIVER = $0002 ;

lParam is a DriverProc (function ptr)

ICINSTALL_HDRV = $0004 ;

lParam is a driver name (string)

ICINSTALL_DRIVERW = $8002 ;

lParam is a HDRVR (driver handle)

ICMF_CONFIGURE_QUERY = $00000001 ;

– Query macros ————————————————————-

ICMF_ABOUT_QUERY = $00000001 ;
ICMF_COMPVARS_VALID = $00000001;

FLAGS for dwFlags element of COMPVARS structure: set this flag if you initialize COMPVARS before calling ICCompressorChoose

ICMF_CHOOSE_KEYFRAME = $0001;

defines for uiFlags

ICMF_CHOOSE_DATARATE = $0002;

show KeyFrame Every box

ICMF_CHOOSE_PREVIEW = $0004;

show DataRate box

ICMF_CHOOSE_ALLCOMPRESSORS = $0008;

allow expanded preview dialog

DDF_UPDATE = $0002;

********************************************************************

DrawDib Flags

*********************************************************************

DDF_SAME_HDC = $0004;

re-draw the last DIB

DDF_SAME_DRAW = $0008;

HDC same as last call (all setup)

DDF_DONTDRAW = $0010;

draw params are the same

DDF_ANIMATE = $0020;

dont draw frame, just decompress

DDF_BUFFER = $0040;

allow palette animation

DDF_JUSTDRAWIT = $0080;

always buffer image

DDF_FULLSCREEN = $0100;

just draw it with GDI

DDF_BACKGROUNDPAL = $0200;

use DisplayDib

DDF_NOTKEYFRAME = $0400;

Realize palette in background

DDF_HURRYUP = $0800;

this is a partial frame update, hint

DDF_HALFTONE = $1000;

hurry up please!

DDF_PREROLL = DDF_DONTDRAW;

always halftone

DDF_SAME_DIB = DDF_SAME_DRAW;

Builing up a non-keyframe

DDF_SAME_SIZE = DDF_SAME_DRAW;
PD_CAN_DRAW_DIB = $0001;

– Display profiling ——————————————————–

PD_CAN_STRETCHDIB = $0002;

if you can draw at all

PD_STRETCHDIB_1_1_OK = $0004;

basicly RC_STRETCHDIB

PD_STRETCHDIB_1_2_OK = $0008;

is it fast?

PD_STRETCHDIB_1_N_OK = $0010;

...

formtypeAVI = $20495641;

– form types, list types and chunk types ———————————–

listtypeAVIHEADER = $6C726468;

mmioFOURCC('A', 'V', 'I', ' ')

ckidAVIMAINHDR = $68697661;

mmioFOURCC('h', 'd', 'r', 'l')

listtypeSTREAMHEADER = $6C727473;

mmioFOURCC('a', 'v', 'i', 'h')

ckidSTREAMHEADER = $68727473;

mmioFOURCC('s', 't', 'r', 'l')

ckidSTREAMFORMAT = $66727473;

mmioFOURCC('s', 't', 'r', 'h')

ckidSTREAMHANDLERDATA = $64727473;

mmioFOURCC('s', 't', 'r', 'f')

ckidSTREAMNAME = $6E727473;

mmioFOURCC('s', 't', 'r', 'd')

listtypeAVIMOVIE = $69766F6D;

mmioFOURCC('s', 't', 'r', 'n')

listtypeAVIRECORD = $20636572;

mmioFOURCC('m', 'o', 'v', 'i')

ckidAVINEWINDEX = $31786469;

mmioFOURCC('r', 'e', 'c', ' ')

streamtypeVIDEO = $73646976;

– Stream types for the <fccType> field of the stream header —————-

streamtypeAUDIO = $73647561;

mmioFOURCC('v', 'i', 'd', 's')

streamtypeMIDI = $7364696D;

mmioFOURCC('a', 'u', 'd', 's')

streamtypeTEXT = $73747874;

mmioFOURCC('m', 'i', 'd', 's')

cktypeDIBbits = $6264;

– Basic chunk types ——————————————————–

cktypeDIBcompressed = $6364;

aviTWOCC('d', 'b')

cktypePALchange = $6370;

aviTWOCC('d', 'c')

cktypeWAVEbytes = $6277;

aviTWOCC('p', 'c')

ckidAVIPADDING = $4B4E554A;

– Chunk id to use for extra chunks for padding —————————–

AVIF_HASINDEX = $00000010;

– flags for use in <dwFlags> in AVIFileHdr ———————————

AVIF_MUSTUSEINDEX = $00000020;

Index at end of file?

AVIF_ISINTERLEAVED = $00000100;
AVIF_TRUSTCKTYPE = $00000800;
AVIF_WASCAPTUREFILE = $00010000;

Use CKType to find key frames?

AVIF_COPYRIGHTED = $00020000;
AVI_HEADERSIZE = 2048;

– The AVI File Header LIST chunk should be padded to this size ————-

AVISF_DISABLED = $00000001;

– Stream header ————————————————————

AVISF_VIDEO_PALCHANGES = $00010000;
AVIIF_NOTIME = $00000100;

– Flags for index ———————————————————-

AVIIF_COMPUSE = $0FFF0000;

this frame doesn't take any time

AVIGETFRAMEF_BESTDISPLAYFMT = 1;

Ansi - Unicode thunking.

Unicode or Ansi-only apps can call the avifile APIs. any Win32 app who wants to use any of the AVI COM interfaces must be UNICODE - the AVISTREAMINFO and AVIFILEINFO structures used in the Info methods of these interfaces are the unicode variants, and no thunking to or from ansi takes place except in the AVIFILE api entrypoints.

For Ansi/Unicode thunking: for each entrypoint or structure that uses chars or strings, two versions are declared in the Win32 version, ApiNameW and ApiNameA. The default name ApiName is #defined to one or other of these depending on whether UNICODE is defined (during compilation of the app that is including this header). The source will contain ApiName and ApiNameA (with ApiName being the Win16 implementation, and also #defined to ApiNameW, and ApiNameA being the thunk entrypoint).

For GetFrame::SetFormat - use the best format for the display

AVISTREAMINFO_DISABLED = $00000001;
AVISTREAMINFO_FORMATCHANGES = $00010000;
AVIFILEINFO_HASINDEX = $00000010;

– Flags for dwFlags ——————————————————–

AVIFILEINFO_MUSTUSEINDEX = $00000020;
AVIFILEINFO_ISINTERLEAVED = $00000100;
AVIFILEINFO_WASCAPTUREFILE = $00010000;
AVIFILEINFO_COPYRIGHTED = $00020000;
AVIFILECAPS_CANREAD = $00000001;

– Flags for dwCaps ———————————————————

AVIFILECAPS_CANWRITE = $00000002;
AVIFILECAPS_ALLKEYFRAMES = $00000010;
AVIFILECAPS_NOCOMPRESSION = $00000020;
AVICOMPRESSF_INTERLEAVE = $00000001;

Defines for the dwFlags field of the AVICOMPRESSOPTIONS struct Each of these flags determines if the appropriate field in the structure (dwInterleaveEvery, dwBytesPerSecond, and dwKeyFrameEvery) is payed attention to. See the autodoc in avisave.c for details.

AVICOMPRESSF_DATARATE = $00000002;

interleave

AVICOMPRESSF_KEYFRAMES = $00000004;

use a data rate

AVICOMPRESSF_VALID = $00000008;

use keyframes

IID_IAVIFile : TGUID = (D1: $00020020; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));

– GUIDs ——————————————————————–

IID_IAVIStream : TGUID = (D1: $00020021; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IAVIStreaming : TGUID = (D1: $00020022; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IGetFrame : TGUID = (D1: $00020023; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
IID_IAVIEditStream: TGUID = (D1: $00020024; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
CLSID_AVISimpleUnMarshal : TGUID = (D1: $00020009; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
CLSID_AVIFile : TGUID = (D1: $00020000; D2: $0; D3: $0; D4:($C0,$0,$0,$0,$0,$0,$0,$46));
AVIFILEHANDLER_CANREAD = $0001;
AVIFILEHANDLER_CANWRITE = $0002;
AVIFILEHANDLER_CANACCEPTNONRGB = $0004;
AVISTREAMREAD_CONVENIENT = -1;
FIND_DIR = $0000000F;

– Flags for AVIStreamFindSample ——————————————–

FIND_NEXT = $00000001;

direction

FIND_PREV = $00000004;

go forward

FIND_FROM_START = $00000008;

go backward

FIND_TYPE = $000000F0;

start at the logical beginning

FIND_KEY = $00000010;

type mask

FIND_ANY = $00000020;

find key frame.

FIND_FORMAT = $00000040;

find any (non-empty) sample

FIND_RET = $0000F000;

find format change

FIND_POS = $00000000;

return mask

FIND_LENGTH = $00001000;

return logical position

FIND_OFFSET = $00002000;

return logical size

FIND_SIZE = $00003000;

return physical position

FIND_INDEX = $00004000;

return physical size

SEARCH_NEAREST = FIND_PREV;

AVIFileExit

SEARCH_BACKWARD = FIND_PREV;
SEARCH_FORWARD = FIND_NEXT;
SEARCH_KEY = FIND_KEY;
SEARCH_ANY = FIND_ANY;
comptypeDIB = $20424944;

== AVISave routines and structures ==========================================

AVIERR_OK = 0;

– Error handling ———————————————————–

AVIERR_UNSUPPORTED = $80044065;

!!! Questions to be answered: How can you get a string form of these errors? Which of these errors should be replaced by errors in SCODE.H?

AVIERR_BADFORMAT = $80044066;

MAKE_AVIERR(101)

AVIERR_MEMORY = $80044067;

MAKE_AVIERR(102)

AVIERR_INTERNAL = $80044068;

MAKE_AVIERR(103)

AVIERR_BADFLAGS = $80044069;

MAKE_AVIERR(104)

AVIERR_BADPARAM = $8004406A;

MAKE_AVIERR(105)

AVIERR_BADSIZE = $8004406B;

MAKE_AVIERR(106)

AVIERR_BADHANDLE = $8004406C;

MAKE_AVIERR(107)

AVIERR_FILEREAD = $8004406D;

MAKE_AVIERR(108)

AVIERR_FILEWRITE = $8004406E;

MAKE_AVIERR(109)

AVIERR_FILEOPEN = $8004406F;

MAKE_AVIERR(110)

AVIERR_COMPRESSOR = $80044070;

MAKE_AVIERR(111)

AVIERR_NOCOMPRESSOR = $80044071;

MAKE_AVIERR(112)

AVIERR_READONLY = $80044072;

MAKE_AVIERR(113)

AVIERR_NODATA = $80044073;

MAKE_AVIERR(114)

AVIERR_BUFFERTOOSMALL = $80044074;

MAKE_AVIERR(115)

AVIERR_CANTCOMPRESS = $80044075;

MAKE_AVIERR(116)

AVIERR_USERABORT = $800440C6;

MAKE_AVIERR(117)

AVIERR_ERROR = $800440C7;

MAKE_AVIERR(198)

MCIWND_WINDOW_CLASS = 'MCIWndClass' ;
MCIWNDOPENF_NEW = $0001;

– Flags for the MCIWndOpen command —————————————–

MCIWNDF_NOAUTOSIZEWINDOW = $0001;

– Window styles ————————————————————

MCIWNDF_NOPLAYBAR = $0002;

when movie size changes

MCIWNDF_NOAUTOSIZEMOVIE = $0004;

no toolbar

MCIWNDF_NOMENU = $0008;

when window size changes

MCIWNDF_SHOWNAME = $0010;

no popup menu from RBUTTONDOWN

MCIWNDF_SHOWPOS = $0020;

show name in caption

MCIWNDF_SHOWMODE = $0040;

show position in caption

MCIWNDF_SHOWALL = $0070;

show mode in caption

MCIWNDF_NOTIFYMODE = $0100;

show all

MCIWNDF_NOTIFYPOS = $0200;

tell parent of mode change

MCIWNDF_NOTIFYSIZE = $0400;

tell parent of pos change

MCIWNDF_NOTIFYERROR = $1000;

tell parent of size change

MCIWNDF_NOTIFYALL = $1F00;

tell parent of an error

MCIWNDF_NOTIFYANSI = $0080;

tell all

MCIWNDF_NOTIFYMEDIAA = $0880;

The MEDIA notification includes a text string. To receive notifications in ANSI instead of unicode set the MCIWNDF_NOTIFYANSI style bit. The macro below includes this bit by default unless you define UNICODE in your application.

MCIWNDF_NOTIFYMEDIAW = $0800;

tell parent of media change

MCIWNDF_NOTIFYMEDIA = MCIWNDF_NOTIFYMEDIAA;

tell parent of media change

MCIWNDF_RECORD = $2000;
MCIWNDF_NOERRORDLG = $4000;

Give a record button

MCIWNDF_NOOPEN = $8000;

Show Error Dlgs for MCI cmds?

MCIWNDM_GETDEVICEID = WM_USER + 100;

all the text-related messages are defined out of order above (they need to be defined before the MCIWndOpen() macros

MCIWNDM_GETSTART = WM_USER + 103;
MCIWNDM_GETLENGTH = WM_USER + 104;
MCIWNDM_GETEND = WM_USER + 105;
MCIWNDM_EJECT = WM_USER + 107;
MCIWNDM_SETZOOM = WM_USER + 108;
MCIWNDM_GETZOOM = WM_USER + 109;
MCIWNDM_SETVOLUME = WM_USER + 110;
MCIWNDM_GETVOLUME = WM_USER + 111;
MCIWNDM_SETSPEED = WM_USER + 112;
MCIWNDM_GETSPEED = WM_USER + 113;
MCIWNDM_SETREPEAT = WM_USER + 114;
MCIWNDM_GETREPEAT = WM_USER + 115;
MCIWNDM_REALIZE = WM_USER + 118;
MCIWNDM_VALIDATEMEDIA = WM_USER + 121;
MCIWNDM_PLAYFROM = WM_USER + 122;
MCIWNDM_PLAYTO = WM_USER + 123;
MCIWNDM_GETPALETTE = WM_USER + 126;
MCIWNDM_SETPALETTE = WM_USER + 127;
MCIWNDM_SETTIMERS = WM_USER + 129;
MCIWNDM_SETACTIVETIMER = WM_USER + 130;
MCIWNDM_SETINACTIVETIMER = WM_USER + 131;
MCIWNDM_GETACTIVETIMER = WM_USER + 132;
MCIWNDM_GETINACTIVETIMER = WM_USER + 133;
MCIWNDM_CHANGESTYLES = WM_USER + 135;
MCIWNDM_GETSTYLES = WM_USER + 136;
MCIWNDM_GETALIAS = WM_USER + 137;
MCIWNDM_PLAYREVERSE = WM_USER + 139;
MCIWNDM_GET_SOURCE = WM_USER + 140;
MCIWNDM_PUT_SOURCE = WM_USER + 141;
MCIWNDM_GET_DEST = WM_USER + 142;
MCIWNDM_PUT_DEST = WM_USER + 143;
MCIWNDM_CAN_PLAY = WM_USER + 144;
MCIWNDM_CAN_WINDOW = WM_USER + 145;
MCIWNDM_CAN_RECORD = WM_USER + 146;
MCIWNDM_CAN_SAVE = WM_USER + 147;
MCIWNDM_CAN_EJECT = WM_USER + 148;
MCIWNDM_CAN_CONFIG = WM_USER + 149;
MCIWNDM_PALETTEKICK = WM_USER + 150;
MCIWNDM_OPENINTERFACE = WM_USER + 151;
MCIWNDM_SETOWNER = WM_USER + 152;
MCIWNDM_SENDSTRINGA = WM_USER + 101;

– Define both A and W messages ———————————————

MCIWNDM_GETPOSITIONA = WM_USER + 102;
MCIWNDM_GETMODEA = WM_USER + 106;
MCIWNDM_SETTIMEFORMATA = WM_USER + 119;
MCIWNDM_GETTIMEFORMATA = WM_USER + 120;
MCIWNDM_GETFILENAMEA = WM_USER + 124;
MCIWNDM_GETDEVICEA = WM_USER + 125;
MCIWNDM_GETERRORA = WM_USER + 128;
MCIWNDM_NEWA = WM_USER + 134;
MCIWNDM_RETURNSTRINGA = WM_USER + 138;
MCIWNDM_OPENA = WM_USER + 153;
MCIWNDM_SENDSTRINGW = WM_USER + 201;
MCIWNDM_GETPOSITIONW = WM_USER + 202;
MCIWNDM_GETMODEW = WM_USER + 206;
MCIWNDM_SETTIMEFORMATW = WM_USER + 219;
MCIWNDM_GETTIMEFORMATW = WM_USER + 220;
MCIWNDM_GETFILENAMEW = WM_USER + 224;
MCIWNDM_GETDEVICEW = WM_USER + 225;
MCIWNDM_GETERRORW = WM_USER + 228;
MCIWNDM_NEWW = WM_USER + 234;
MCIWNDM_RETURNSTRINGW = WM_USER + 238;
MCIWNDM_OPENW = WM_USER + 252;
MCIWNDM_SENDSTRING = MCIWNDM_SENDSTRINGA;

– Map defaults to A ——————————————————–

MCIWNDM_GETPOSITION = MCIWNDM_GETPOSITIONA;
MCIWNDM_GETMODE = MCIWNDM_GETMODEA;
MCIWNDM_SETTIMEFORMAT = MCIWNDM_SETTIMEFORMATA;
MCIWNDM_GETTIMEFORMAT = MCIWNDM_GETTIMEFORMATA;
MCIWNDM_GETFILENAME = MCIWNDM_GETFILENAMEA;
MCIWNDM_GETDEVICE = MCIWNDM_GETDEVICEA;
MCIWNDM_GETERROR = MCIWNDM_GETERRORA;
MCIWNDM_NEW = MCIWNDM_NEWA;
MCIWNDM_RETURNSTRING = MCIWNDM_RETURNSTRINGA;
MCIWNDM_OPEN = MCIWNDM_OPENA;
MCIWNDM_NOTIFYMODE = WM_USER + 200;

– Messages MCIWND will send to an app ————————————–

MCIWNDM_NOTIFYPOS = WM_USER + 201;

wp = hwnd, lp = mode

MCIWNDM_NOTIFYSIZE = WM_USER + 202;

wp = hwnd, lp = pos

MCIWNDM_NOTIFYMEDIA = WM_USER + 203;

wp = hwnd

MCIWNDM_NOTIFYERROR = WM_USER + 205;

wp = hwnd, lp = fn

MCIWND_START = dword(-1) ;

– Special seek values for START and END ————————————

MCIWND_END = dword(-2) ;
DV_ERR_OK = 0;

– Error return values ——————————————————

DV_ERR_BASE = 1;

No error

DV_ERR_NONSPECIFIC = DV_ERR_BASE;

Error Base

DV_ERR_BADFORMAT = DV_ERR_BASE + 1;
DV_ERR_STILLPLAYING = DV_ERR_BASE + 2;

unsupported video format

DV_ERR_UNPREPARED = DV_ERR_BASE + 3;

still something playing

DV_ERR_SYNC = DV_ERR_BASE + 4;

header not prepared

DV_ERR_TOOMANYCHANNELS = DV_ERR_BASE + 5;

device is synchronous

DV_ERR_NOTDETECTED = DV_ERR_BASE + 6;

number of channels exceeded

DV_ERR_BADINSTALL = DV_ERR_BASE + 7;

HW not detected

DV_ERR_CREATEPALETTE = DV_ERR_BASE + 8;

Can not get Profile

DV_ERR_SIZEFIELD = DV_ERR_BASE + 9;
DV_ERR_PARAM1 = DV_ERR_BASE + 10;
DV_ERR_PARAM2 = DV_ERR_BASE + 11;
DV_ERR_CONFIG1 = DV_ERR_BASE + 12;
DV_ERR_CONFIG2 = DV_ERR_BASE + 13;
DV_ERR_FLAGS = DV_ERR_BASE + 14;
DV_ERR_13 = DV_ERR_BASE + 15;
DV_ERR_NOTSUPPORTED = DV_ERR_BASE + 16;
DV_ERR_NOMEM = DV_ERR_BASE + 17;

function not suported

DV_ERR_ALLOCATED = DV_ERR_BASE + 18;

out of memory

DV_ERR_BADDEVICEID = DV_ERR_BASE + 19;

device is allocated

DV_ERR_INVALHANDLE = DV_ERR_BASE + 20;
DV_ERR_BADERRNUM = DV_ERR_BASE + 21;
DV_ERR_NO_BUFFERS = DV_ERR_BASE + 22;
DV_ERR_MEM_CONFLICT = DV_ERR_BASE + 23;

out of buffers

DV_ERR_IO_CONFLICT = DV_ERR_BASE + 24;

Mem conflict detected

DV_ERR_DMA_CONFLICT = DV_ERR_BASE + 25;

I/O conflict detected

DV_ERR_INT_CONFLICT = DV_ERR_BASE + 26;

DMA conflict detected

DV_ERR_PROTECT_ONLY = DV_ERR_BASE + 27;

Interrupt conflict detected

DV_ERR_LASTERROR = DV_ERR_BASE + 27;

Can not run in standard mode

DV_ERR_USER_MSG = DV_ERR_BASE + 1000;
DV_VM_OPEN = MM_DRVM_OPEN;

Note that the values for all installable driver callback messages are identical, (ie. MM_DRVM_DATA has the same value for capture drivers, installable video codecs, and the audio compression manager).

DV_VM_CLOSE = MM_DRVM_CLOSE;

Obsolete messages

DV_VM_DATA = MM_DRVM_DATA;
DV_VM_ERROR = MM_DRVM_ERROR;
VHDR_DONE = $00000001;

– dwFlags field of VIDEOHDR ————————————————

VHDR_PREPARED = $00000002;

Done bit

VHDR_INQUEUE = $00000004;

Set if this header has been prepared

VHDR_KEYFRAME = $00000008;

Reserved for driver

VCAPS_OVERLAY = $00000001;

– dwFlags of CHANNEL_CAPS ————————————————–

VCAPS_SRC_CAN_CLIP = $00000002;

overlay channel

VCAPS_DST_CAN_CLIP = $00000004;

src rect can clip

VCAPS_CAN_SCALE = $00000008;

dst rect can clip

VIDEO_EXTERNALIN = $0001;

– Types of channels to open with the videoOpen function ——————–

VIDEO_EXTERNALOUT = $0002;
VIDEO_IN = $0004;
VIDEO_OUT = $0008;
VIDEO_DLG_QUERY = $0010;

– Is a driver dialog available for this channel —————————-

VIDEO_CONFIGURE_QUERY = $8000;

– videoConfigure (both GET and SET) —————————————-

VIDEO_CONFIGURE_SET = $1000;

– videoConfigure (SET only) ————————————————

VIDEO_CONFIGURE_GET = $2000;

– videoConfigure (GET only) ————————————————

VIDEO_CONFIGURE_QUERYSIZE = $0001;
VIDEO_CONFIGURE_CURRENT = $0010;
VIDEO_CONFIGURE_NOMINAL = $0020;
VIDEO_CONFIGURE_MIN = $0040;
VIDEO_CONFIGURE_MAX = $0080;
DVM_USER = $4000;

== Configure messages =======================================================

DVM_CONFIGURE_START = $1000;
DVM_CONFIGURE_END = $1FFF;
DVM_PALETTE = DVM_CONFIGURE_START + 1;
DVM_FORMAT = DVM_CONFIGURE_START + 2;
DVM_PALETTERGB555 = DVM_CONFIGURE_START + 3;
DVM_SRC_RECT = DVM_CONFIGURE_START + 4;
DVM_DST_RECT = DVM_CONFIGURE_START + 5;
WM_CAP_START = WM_USER;

UNICODE

The Win32 version of AVICAP on NT supports UNICODE applications: for each API or message that takes a char or string parameter, there are two versions, ApiNameA and ApiNameW. The default name ApiName is #defined to one or other depending on whether UNICODE is defined. Apps can call the A and W apis directly, and mix them.

The 32-bit AVICAP on NT uses unicode exclusively internally. ApiNameA() will be implemented as a call to ApiNameW() together with translation of strings. Defines start of the message range

WM_CAP_UNICODE_START = WM_USER + 100;
WM_CAP_GET_CAPSTREAMPTR = WM_CAP_START + 1;
WM_CAP_SET_CALLBACK_ERRORW = WM_CAP_UNICODE_START + 2;
WM_CAP_SET_CALLBACK_STATUSW = WM_CAP_UNICODE_START + 3;
WM_CAP_SET_CALLBACK_ERRORA = WM_CAP_START + 2;
WM_CAP_SET_CALLBACK_STATUSA = WM_CAP_START + 3;
WM_CAP_SET_CALLBACK_ERROR = WM_CAP_SET_CALLBACK_ERRORA;
WM_CAP_SET_CALLBACK_STATUS = WM_CAP_SET_CALLBACK_STATUSA;
WM_CAP_SET_CALLBACK_YIELD = WM_CAP_START + 4;
WM_CAP_SET_CALLBACK_FRAME = WM_CAP_START + 5;
WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START + 6;
WM_CAP_SET_CALLBACK_WAVESTREAM = WM_CAP_START + 7;
WM_CAP_GET_USER_DATA = WM_CAP_START + 8;
WM_CAP_SET_USER_DATA = WM_CAP_START + 9;
WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
WM_CAP_DRIVER_GET_NAMEA = WM_CAP_START + 12;
WM_CAP_DRIVER_GET_VERSIONA = WM_CAP_START + 13;
WM_CAP_DRIVER_GET_NAMEW = WM_CAP_UNICODE_START + 12;
WM_CAP_DRIVER_GET_VERSIONW = WM_CAP_UNICODE_START + 13;
WM_CAP_DRIVER_GET_NAME = WM_CAP_DRIVER_GET_NAMEA;
WM_CAP_DRIVER_GET_VERSION = WM_CAP_DRIVER_GET_VERSIONA;
WM_CAP_DRIVER_GET_CAPS = WM_CAP_START + 14;
WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20;
WM_CAP_FILE_GET_CAPTURE_FILEA = WM_CAP_START + 21;
WM_CAP_FILE_SAVEASA = WM_CAP_START + 23;
WM_CAP_FILE_SAVEDIBA = WM_CAP_START + 25;
WM_CAP_FILE_SET_CAPTURE_FILEW = WM_CAP_UNICODE_START + 20;
WM_CAP_FILE_GET_CAPTURE_FILEW = WM_CAP_UNICODE_START + 21;
WM_CAP_FILE_SAVEASW = WM_CAP_UNICODE_START + 23;
WM_CAP_FILE_SAVEDIBW = WM_CAP_UNICODE_START + 25;
WM_CAP_FILE_SET_CAPTURE_FILE = WM_CAP_FILE_SET_CAPTURE_FILEA;
WM_CAP_FILE_GET_CAPTURE_FILE = WM_CAP_FILE_GET_CAPTURE_FILEA;
WM_CAP_FILE_SAVEAS = WM_CAP_FILE_SAVEASA;
WM_CAP_FILE_SAVEDIB = WM_CAP_FILE_SAVEDIBA;
WM_CAP_FILE_ALLOCATE = WM_CAP_START + 22;

out of order to save on ifdefs

WM_CAP_FILE_SET_INFOCHUNK = WM_CAP_START + 24;
WM_CAP_EDIT_COPY = WM_CAP_START + 30;
WM_CAP_SET_AUDIOFORMAT = WM_CAP_START + 35;
WM_CAP_GET_AUDIOFORMAT = WM_CAP_START + 36;
WM_CAP_DLG_VIDEOFORMAT = WM_CAP_START + 41;
WM_CAP_DLG_VIDEOSOURCE = WM_CAP_START + 42;
WM_CAP_DLG_VIDEODISPLAY = WM_CAP_START + 43;
WM_CAP_GET_VIDEOFORMAT = WM_CAP_START + 44;
WM_CAP_SET_VIDEOFORMAT = WM_CAP_START + 45;
WM_CAP_DLG_VIDEOCOMPRESSION = WM_CAP_START + 46;
WM_CAP_SET_PREVIEW = WM_CAP_START + 50;
WM_CAP_SET_OVERLAY = WM_CAP_START + 51;
WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52;
WM_CAP_SET_SCALE = WM_CAP_START + 53;
WM_CAP_GET_STATUS = WM_CAP_START + 54;
WM_CAP_SET_SCROLL = WM_CAP_START + 55;
WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
WM_CAP_GRAB_FRAME_NOSTOP = WM_CAP_START + 61;
WM_CAP_SEQUENCE = WM_CAP_START + 62;
WM_CAP_SEQUENCE_NOFILE = WM_CAP_START + 63;
WM_CAP_SET_SEQUENCE_SETUP = WM_CAP_START + 64;
WM_CAP_GET_SEQUENCE_SETUP = WM_CAP_START + 65;
WM_CAP_SET_MCI_DEVICEA = WM_CAP_START + 66;
WM_CAP_GET_MCI_DEVICEA = WM_CAP_START + 67;
WM_CAP_SET_MCI_DEVICEW = WM_CAP_UNICODE_START + 66;
WM_CAP_GET_MCI_DEVICEW = WM_CAP_UNICODE_START + 67;
WM_CAP_SET_MCI_DEVICE = WM_CAP_SET_MCI_DEVICEA;
WM_CAP_GET_MCI_DEVICE = WM_CAP_GET_MCI_DEVICEA;
WM_CAP_STOP = WM_CAP_START + 68;
WM_CAP_ABORT = WM_CAP_START + 69;
WM_CAP_SINGLE_FRAME_OPEN = WM_CAP_START + 70;
WM_CAP_SINGLE_FRAME_CLOSE = WM_CAP_START + 71;
WM_CAP_SINGLE_FRAME = WM_CAP_START + 72;
WM_CAP_PAL_OPENA = WM_CAP_START + 80;
WM_CAP_PAL_SAVEA = WM_CAP_START + 81;
WM_CAP_PAL_OPENW = WM_CAP_UNICODE_START + 80;
WM_CAP_PAL_SAVEW = WM_CAP_UNICODE_START + 81;
WM_CAP_PAL_OPEN = WM_CAP_PAL_OPENA;
WM_CAP_PAL_SAVE = WM_CAP_PAL_SAVEA;
WM_CAP_PAL_PASTE = WM_CAP_START + 82;
WM_CAP_PAL_AUTOCREATE = WM_CAP_START + 83;
WM_CAP_PAL_MANUALCREATE = WM_CAP_START + 84;
WM_CAP_SET_CALLBACK_CAPCONTROL = WM_CAP_START + 85;

Following added post VFW 1.1

WM_CAP_UNICODE_END = WM_CAP_PAL_SAVEW;

Defines end of the message range

WM_CAP_END = WM_CAP_UNICODE_END;
AVSTREAMMASTER_AUDIO = 0;

Since Audio and Video streams generally use non-synchronized capture clocks, this flag determines whether the audio stream is to be considered the master or controlling clock when writing the AVI file:

AVSTREAMMASTER_AUDIO - Audio is master, video frame duration is forced to match audio duration (VFW 1.0, 1.1 default) AVSTREAMMASTER_NONE - No master, audio and video streams may be of different lengths

AVSTREAMMASTER_NONE = 1;

Audio master (VFW 1.0, 1.1)

CONTROLCALLBACK_PREROLL = 1;

– CapControlCallback states ————————————————

CONTROLCALLBACK_CAPTURING = 2;

Waiting to start capture

infotypeDIGITIZATION_TIME = $54494449;

– New information chunk IDs ————————————————

infotypeSMPTE_TIME = $504D5349;

mmioFOURCC ('I','D','I','T')

IDS_CAP_BEGIN = 300;

– String IDs from status and error callbacks ——————————-

IDS_CAP_END = 301;

"Capture Start"

IDS_CAP_INFO = 401;

"Capture End"

IDS_CAP_OUTOFMEM = 402;

"%s"

IDS_CAP_FILEEXISTS = 403;

"Out of memory"

IDS_CAP_ERRORPALOPEN = 404;

"File '%s' exists – overwrite it?"

IDS_CAP_ERRORPALSAVE = 405;

"Error opening palette '%s'"

IDS_CAP_ERRORDIBSAVE = 406;

"Error saving palette '%s'"

IDS_CAP_DEFAVIEXT = 407;

"Error saving frame '%s'"

IDS_CAP_DEFPALEXT = 408;

"avi"

IDS_CAP_CANTOPEN = 409;

"pal"

IDS_CAP_SEQ_MSGSTART = 410;

"Cannot open '%s'"

IDS_CAP_SEQ_MSGSTOP = 411;

"Select OK to start capture\nof video sequence\nto %s."

IDS_CAP_VIDEDITERR = 412;

"Hit ESCAPE or click to end capture"

IDS_CAP_READONLYFILE = 413;

"An error occurred while trying to run VidEdit."

IDS_CAP_WRITEERROR = 414;

"The file '%s' is a read-only file."

IDS_CAP_NODISKSPACE = 415;

"Unable to write to file '%s'.\nDisk may be full."

IDS_CAP_SETFILESIZE = 416;

"There is no space to create a capture file on the specified device."

IDS_CAP_SAVEASPERCENT = 417;

"Set File Size"

IDS_CAP_DRIVER_ERROR = 418;

"SaveAs: %2ld%% Hit Escape to abort."

IDS_CAP_WAVE_OPEN_ERROR = 419;

Driver specific error message

IDS_CAP_WAVE_ALLOC_ERROR = 420;

"Error: Cannot open the wave input device.\nCheck sample size, frequency, and channels."

IDS_CAP_WAVE_PREPARE_ERROR = 421;

"Error: Out of memory for wave buffers."

IDS_CAP_WAVE_ADD_ERROR = 422;

"Error: Cannot prepare wave buffers."

IDS_CAP_WAVE_SIZE_ERROR = 423;

"Error: Cannot add wave buffers."

IDS_CAP_VIDEO_OPEN_ERROR = 424;

"Error: Bad wave size."

IDS_CAP_VIDEO_ALLOC_ERROR = 425;

"Error: Cannot open the video input device."

IDS_CAP_VIDEO_PREPARE_ERROR = 426;

"Error: Out of memory for video buffers."

IDS_CAP_VIDEO_ADD_ERROR = 427;

"Error: Cannot prepare video buffers."

IDS_CAP_VIDEO_SIZE_ERROR = 428;

"Error: Cannot add video buffers."

IDS_CAP_FILE_OPEN_ERROR = 429;

"Error: Bad video size."

IDS_CAP_FILE_WRITE_ERROR = 430;

"Error: Cannot open capture file."

IDS_CAP_RECORDING_ERROR = 431;

"Error: Cannot write to capture file. Disk may be full."

IDS_CAP_RECORDING_ERROR2 = 432;

"Error: Cannot write to capture file. Data rate too high or disk full."

IDS_CAP_AVI_INIT_ERROR = 433;

"Error while recording"

IDS_CAP_NO_FRAME_CAP_ERROR = 434;

"Error: Unable to initialize for capture."

IDS_CAP_NO_PALETTE_WARN = 435;

"Warning: No frames captured.\nConfirm that vertical sync interrupts\nare configured and enabled."

IDS_CAP_MCI_CONTROL_ERROR = 436;

"Warning: Using default palette."

IDS_CAP_MCI_CANT_STEP_ERROR = 437;

"Error: Unable to access MCI device."

IDS_CAP_NO_AUDIO_CAP_ERROR = 438;

"Error: Unable to step MCI device."

IDS_CAP_AVI_DRAWDIB_ERROR = 439;

"Error: No audio data captured.\nCheck audio card settings."

IDS_CAP_COMPRESSOR_ERROR = 440;

"Error: Unable to draw this data format."

IDS_CAP_AUDIO_DROP_ERROR = 441;

"Error: Unable to initialize compressor."

IDS_CAP_STAT_LIVE_MODE = 500;

– Status string IDs ——————————————————–

IDS_CAP_STAT_OVERLAY_MODE = 501;

"Live window"

IDS_CAP_STAT_CAP_INIT = 502;

"Overlay window"

IDS_CAP_STAT_CAP_FINI = 503;

"Setting up for capture - Please wait"

IDS_CAP_STAT_PALETTE_BUILD = 504;

"Finished capture, now writing frame %ld"

IDS_CAP_STAT_OPTPAL_BUILD = 505;

"Building palette map"

IDS_CAP_STAT_I_FRAMES = 506;

"Computing optimal palette"

IDS_CAP_STAT_L_FRAMES = 507;

"%d frames"

IDS_CAP_STAT_CAP_L_FRAMES = 508;

"%ld frames"

IDS_CAP_STAT_CAP_AUDIO = 509;

"Captured %ld frames"

IDS_CAP_STAT_VIDEOCURRENT = 510;

"Capturing audio"

IDS_CAP_STAT_VIDEOAUDIO = 511;

"Captured %ld frames (%ld dropped) %d.%03d sec."

IDS_CAP_STAT_VIDEOONLY = 512;

"Captured %d.%03d sec. %ld frames (%ld dropped) (%d.%03d fps). %ld audio bytes (%d,%03d sps)"

IDS_CAP_STAT_FRAMESDROPPED = 513;

"Captured %d.%03d sec. %ld frames (%ld dropped) (%d.%03d fps)"


GLSysHelp v.2.1: Formats.VFW: Packed Record TICOPEN

Packed Record TICOPEN

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICOPEN = packed record

Description

Overview

Fields

Public | dwSize: DWORD ;
Public | fccType: DWORD ;
Public | fccHandler: DWORD ;
Public | dwVersion: DWORD ;
Public | dwFlags: DWORD ;
Public | dwError: DWORD ;
Public | pV1Reserved: PVOID ;
Public | pV2Reserved: PVOID ;
Public | dnDevNode: DWORD ;

Description

Fields

Public dwSize: DWORD ;
Public fccType: DWORD ;

sizeof(ICOPEN)

Public fccHandler: DWORD ;

'vidc'

Public dwVersion: DWORD ;
Public dwFlags: DWORD ;

version of compman opening you

Public dwError: DWORD ;

LOWORD is type specific

Public pV1Reserved: PVOID ;

error return.

Public pV2Reserved: PVOID ;

Reserved

Public dnDevNode: DWORD ;

Reserved


GLSysHelp v.2.1: Formats.VFW: Packed Record TICINFO

Packed Record TICINFO

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICINFO = packed record

Description

Overview

Fields

Public | dwSize: DWORD;
Public | fccType: DWORD;
Public | fccHandler: DWORD;
Public | dwFlags: DWORD;
Public | dwVersion: DWORD;
Public | dwVersionICM: DWORD;
Public | szName: array[0..15] of WChar ;
Public | szDescription: array[0..127] of WChar ;
Public | szDriver: array[0..127] of WChar ;

Description

Fields

Public dwSize: DWORD;
Public fccType: DWORD;

sizeof(ICINFO)

Public fccHandler: DWORD;

compressor type 'vidc' 'audc'

Public dwFlags: DWORD;

compressor sub-type 'rle ' 'jpeg' 'pcm '

Public dwVersion: DWORD;

flags LOWORD is type specific

Public dwVersionICM: DWORD;

version of the driver

Public szName: array[0..15] of WChar ;

version of the ICM used

under Win32, the driver always returns UNICODE strings.

Public szDescription: array[0..127] of WChar ;

short name

Public szDriver: array[0..127] of WChar ;

DWORD name


GLSysHelp v.2.1: Formats.VFW: Packed Record TICCOMPRESS

Packed Record TICCOMPRESS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICCOMPRESS = packed record

Description

Overview

Fields

Public | dwFlags: DWORD;
Public | lpbiOutput: PBITMAPINFOHEADER ;
Public | lpOutput: PVOID ;
Public | lpbiInput: PBITMAPINFOHEADER ;
Public | lpInput: PVOID ;
Public | lpckid: PDWORD ;
Public | lpdwFlags: PDWORD;
Public | lFrameNum: LONG ;
Public | dwFrameSize: DWORD ;
Public | dwQuality: DWORD ;
Public | lpbiPrev: PBITMAPINFOHEADER ;
Public | lpPrev: PVOID ;

Description

Fields

Public dwFlags: DWORD;
Public lpbiOutput: PBITMAPINFOHEADER ;

flags

Public lpOutput: PVOID ;

output format

Public lpbiInput: PBITMAPINFOHEADER ;

output data

Public lpInput: PVOID ;

format of frame to compress

Public lpckid: PDWORD ;

frame data to compress

Public lpdwFlags: PDWORD;

ckid for data in AVI file

Public lFrameNum: LONG ;

flags in the AVI index.

Public dwFrameSize: DWORD ;

frame number of seq.

Public dwQuality: DWORD ;

reqested size in bytes. (if non zero)

Public lpbiPrev: PBITMAPINFOHEADER ;

quality these are new fields

Public lpPrev: PVOID ;

format of previous frame


GLSysHelp v.2.1: Formats.VFW: Packed Record TICCOMPRESSFRAMES

Packed Record TICCOMPRESSFRAMES

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICCOMPRESSFRAMES = packed record

Description

Overview

Fields

Public | dwFlags: DWORD ;
Public | lpbiOutput: PBITMAPINFOHEADER ;
Public | lOutput: LPARAM ;
Public | lpbiInput: PBITMAPINFOHEADER ;
Public | lInput: LPARAM ;
Public | lStartFrame: LONG ;
Public | lFrameCount: LONG ;
Public | lQuality: LONG ;
Public | lDataRate: LONG ;
Public | lKeyRate: LONG ;
Public | dwRate: DWORD ;
Public | dwScale: DWORD ;
Public | dwOverheadPerFrame: DWORD ;
Public | dwReserved2: DWORD ;
Public | GetData: TICCompressProc;
Public | PutData: TICCompressProc;

Description

Fields

Public dwFlags: DWORD ;
Public lpbiOutput: PBITMAPINFOHEADER ;

flags

Public lOutput: LPARAM ;

output format

Public lpbiInput: PBITMAPINFOHEADER ;

output identifier

Public lInput: LPARAM ;

format of frame to compress

Public lStartFrame: LONG ;

input identifier

Public lFrameCount: LONG ;

start frame

Public lQuality: LONG ;

# of frames

Public lDataRate: LONG ;

quality

Public lKeyRate: LONG ;

data rate

Public dwRate: DWORD ;

key frame rate

Public dwScale: DWORD ;

frame rate, as always

Public dwOverheadPerFrame: DWORD ;
Public dwReserved2: DWORD ;
Public GetData: TICCompressProc;
Public PutData: TICCompressProc;


GLSysHelp v.2.1: Formats.VFW: Packed Record TICSETSTATUSPROC

Packed Record TICSETSTATUSPROC

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICSETSTATUSPROC = packed record

Description

Overview

Fields

Public | dwFlags: DWORD ;
Public | lParam: LPARAM ;
Public | Status: TICStatusProc;

Description

Fields

Public dwFlags: DWORD ;
Public lParam: LPARAM ;
Public Status: TICStatusProc;


GLSysHelp v.2.1: Formats.VFW: Packed Record TICDECOMPRESS

Packed Record TICDECOMPRESS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICDECOMPRESS = packed record

Description

Overview

Fields

Public | dwFlags: DWORD ;
Public | lpbiInput: PBITMAPINFOHEADER ;
Public | lpInput: PVOID ;
Public | lpbiOutput: PBITMAPINFOHEADER ;
Public | lpOutput: PVOID ;
Public | ckid: DWORD ;

Description

Fields

Public dwFlags: DWORD ;
Public lpbiInput: PBITMAPINFOHEADER ;

flags (from AVI index...)

Public lpInput: PVOID ;

BITMAPINFO of compressed data biSizeImage has the chunk size

Public lpbiOutput: PBITMAPINFOHEADER ;

compressed data

Public lpOutput: PVOID ;

DIB to decompress to

Public ckid: DWORD ;


GLSysHelp v.2.1: Formats.VFW: Packed Record TICDECOMPRESSEX

Packed Record TICDECOMPRESSEX

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICDECOMPRESSEX = packed record

Description

Overview

Fields

Public | dwFlags: DWORD;
Public | lpbiSrc: PBITMAPINFOHEADER;
Public | lpSrc: PVOID;
Public | lpbiDst: PBITMAPINFOHEADER;
Public | lpDst: PVOID;
Public | xDst: int;
Public | yDst: int;
Public | dxDst: int;
Public | dyDst: int;
Public | xSrc: int;
Public | ySrc: int;
Public | dxSrc: int;
Public | dySrc: int;

Description

Fields

Public dwFlags: DWORD;

same as ICM_DECOMPRESS

Public lpbiSrc: PBITMAPINFOHEADER;
Public lpSrc: PVOID;

BITMAPINFO of compressed data

Public lpbiDst: PBITMAPINFOHEADER;

compressed data

Public lpDst: PVOID;

DIB to decompress to

Public xDst: int;

output data

new for ICM_DECOMPRESSEX

Public yDst: int;

destination rectangle

Public dxDst: int;
Public dyDst: int;
Public xSrc: int;
Public ySrc: int;

source rectangle

Public dxSrc: int;
Public dySrc: int;


GLSysHelp v.2.1: Formats.VFW: Packed Record TICDRAWBEGIN

Packed Record TICDRAWBEGIN

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICDRAWBEGIN = packed record

Description

Overview

Fields

Public | dwFlags: DWORD ;
Public | hpal: HPALETTE ;
Public | hwnd: HWND ;
Public | hdc: HDC ;
Public | xDst: int ;
Public | yDst: int ;
Public | dxDst: int ;
Public | dyDst: int ;
Public | lpbi: PBITMAPINFOHEADER ;
Public | xSrc: int ;
Public | ySrc: int ;
Public | dxSrc: int ;
Public | dySrc: int ;
Public | dwRate: DWORD ;
Public | dwScale: DWORD ;

Description

Fields

Public dwFlags: DWORD ;
Public hpal: HPALETTE ;

flags

Public hwnd: HWND ;

palette to draw with

Public hdc: HDC ;

window to draw to

Public xDst: int ;

HDC to draw to

Public yDst: int ;

destination rectangle

Public dxDst: int ;
Public dyDst: int ;
Public lpbi: PBITMAPINFOHEADER ;
Public xSrc: int ;

format of frame to draw

Public ySrc: int ;

source rectangle

Public dxSrc: int ;
Public dySrc: int ;
Public dwRate: DWORD ;
Public dwScale: DWORD ;

frames/second = (dwRate/dwScale)


GLSysHelp v.2.1: Formats.VFW: Packed Record TICDRAW

Packed Record TICDRAW

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICDRAW = packed record

Description

Overview

Fields

Public | dwFlags: DWORD ;
Public | lpFormat: PVOID ;
Public | lpData: PVOID ;
Public | cbData: DWORD ;
Public | lTime: LONG ;

Description

Fields

Public dwFlags: DWORD ;
Public lpFormat: PVOID ;

flags

Public lpData: PVOID ;

format of frame to decompress

Public cbData: DWORD ;

frame data to decompress

Public lTime: LONG ;


GLSysHelp v.2.1: Formats.VFW: Packed Record TICDRAWSUGGEST

Packed Record TICDRAWSUGGEST

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICDRAWSUGGEST = packed record

Description

Overview

Fields

Public | lpbiIn: PBITMAPINFOHEADER ;
Public | lpbiSuggest: PBITMAPINFOHEADER ;
Public | dxSrc: int ;
Public | dySrc: int ;
Public | dxDst: int ;
Public | dyDst: int ;
Public | hicDecompressor: HIC ;

Description

Fields

Public lpbiIn: PBITMAPINFOHEADER ;
Public lpbiSuggest: PBITMAPINFOHEADER ;

format to be drawn

Public dxSrc: int ;

location for suggested format (or NULL to get size)

Public dySrc: int ;

source extent or 0

Public dxDst: int ;
Public dyDst: int ;

dest extent or 0

Public hicDecompressor: HIC ;


GLSysHelp v.2.1: Formats.VFW: Packed Record TICPALETTE

Packed Record TICPALETTE

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TICPALETTE = packed record

Description

Overview

Fields

Public | dwFlags: DWORD ;
Public | iStart: int ;
Public | iLen: int ;
Public | lppe: PPALETTEENTRY ;

Description

Fields

Public dwFlags: DWORD ;
Public iStart: int ;

flags (from AVI index...)

Public iLen: int ;

first palette to change

Public lppe: PPALETTEENTRY ;

count of entries to change.


GLSysHelp v.2.1: Formats.VFW: Packed Record TCOMPVARS

Packed Record TCOMPVARS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TCOMPVARS = packed record

Description

Overview

Fields

Public | cbSize: DWORD;
Public | dwFlags: DWORD;
Public | hic: HIC;
Public | fccType: DWORD;
Public | fccHandler: DWORD;
Public | lpbiIn: PBITMAPINFO;
Public | lpbiOut: PBITMAPINFO;
Public | lpBitsOut: PVOID;
Public | lpBitsPrev: PVOID;
Public | lFrame: LONG;
Public | lKey: LONG;
Public | lDataRate: LONG;
Public | lQ: LONG;
Public | lKeyCount: LONG;
Public | lpState: PVOID;
Public | cbState: LONG;

Description

Fields

Public cbSize: DWORD;
Public dwFlags: DWORD;

set to sizeof(COMPVARS) before calling ICCompressorChoose

Public hic: HIC;

see below...

Public fccType: DWORD;

HIC of chosen compressor

Public fccHandler: DWORD;

basically ICTYPE_VIDEO

Public lpbiIn: PBITMAPINFO;

handler of chosen compressor or "" or "DIB "

Public lpbiOut: PBITMAPINFO;

input format

Public lpBitsOut: PVOID;

output format - will compress to this

Public lpBitsPrev: PVOID;
Public lFrame: LONG;
Public lKey: LONG;
Public lDataRate: LONG;

key frames how often?

Public lQ: LONG;

desired data rate KB/Sec

Public lKeyCount: LONG;

desired quality

Public lpState: PVOID;
Public cbState: LONG;

state of compressor


GLSysHelp v.2.1: Formats.VFW: Packed Record TDRAWDIBTIME

Packed Record TDRAWDIBTIME

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TDRAWDIBTIME = packed record

Description

Overview

Fields

Public | timeCount: LONG;
Public | timeDraw: LONG;
Public | timeDecompress: LONG;
Public | timeDither: LONG;
Public | timeStretch: LONG;
Public | timeBlt: LONG;
Public | timeSetDIBits: LONG;

Description

Fields

Public timeCount: LONG;
Public timeDraw: LONG;
Public timeDecompress: LONG;
Public timeDither: LONG;
Public timeStretch: LONG;
Public timeBlt: LONG;
Public timeSetDIBits: LONG;


GLSysHelp v.2.1: Formats.VFW: Packed Record TMainAVIHeader

Packed Record TMainAVIHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TMainAVIHeader = packed record

Description

Overview

Fields

Public | dwMicroSecPerFrame: DWORD;
Public | dwMaxBytesPerSec: DWORD;
Public | dwPaddingGranularity: DWORD;
Public | dwFlags: DWORD;
Public | dwTotalFrames: DWORD;
Public | dwInitialFrames: DWORD;
Public | dwStreams: DWORD;
Public | dwSuggestedBufferSize: DWORD;
Public | dwWidth: DWORD;
Public | dwHeight: DWORD;
Public | dwReserved: array[0..3] of DWORD;

Description

Fields

Public dwMicroSecPerFrame: DWORD;
Public dwMaxBytesPerSec: DWORD;

frame display rate (or 0L)

Public dwPaddingGranularity: DWORD;

max. transfer rate

Public dwFlags: DWORD;

pad to multiples of this size; normally 2K.

Public dwTotalFrames: DWORD;

the ever-present flags

Public dwInitialFrames: DWORD;

# frames in file

Public dwStreams: DWORD;
Public dwSuggestedBufferSize: DWORD;
Public dwWidth: DWORD;
Public dwHeight: DWORD;
Public dwReserved: array[0..3] of DWORD;


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIStreamHeader

Packed Record TAVIStreamHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIStreamHeader = packed record

Description

Overview

Fields

Public | fccType: FOURCC;
Public | fccHandler: FOURCC;
Public | dwFlags: DWORD;
Public | wPriority: WORD;
Public | wLanguage: WORD;
Public | dwInitialFrames: DWORD;
Public | dwScale: DWORD;
Public | dwRate: DWORD;
Public | dwStart: DWORD;
Public | dwLength: DWORD;
Public | dwSuggestedBufferSize: DWORD;
Public | dwQuality: DWORD;
Public | dwSampleSize: DWORD;
Public | rcFrame: TRECT;

Description

Fields

Public fccType: FOURCC;
Public fccHandler: FOURCC;
Public dwFlags: DWORD;
Public wPriority: WORD;

Contains AVITF_* flags

Public wLanguage: WORD;
Public dwInitialFrames: DWORD;
Public dwScale: DWORD;
Public dwRate: DWORD;
Public dwStart: DWORD;

dwRate / dwScale == samples/second

Public dwLength: DWORD;
Public dwSuggestedBufferSize: DWORD;

In units above...

Public dwQuality: DWORD;
Public dwSampleSize: DWORD;
Public rcFrame: TRECT;


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIINDEXENTRY

Packed Record TAVIINDEXENTRY

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIINDEXENTRY = packed record

Description

Overview

Fields

Public | ckid: DWORD;
Public | dwFlags: DWORD;
Public | dwChunkOffset: DWORD;
Public | dwChunkLength: DWORD;

Description

Fields

Public ckid: DWORD;
Public dwFlags: DWORD;
Public dwChunkOffset: DWORD;
Public dwChunkLength: DWORD;

Position of chunk


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIPALCHANGE

Packed Record TAVIPALCHANGE

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIPALCHANGE = packed record

Description

Overview

Fields

Public | bFirstEntry: BYTE;
Public | bNumEntries: BYTE;
Public | wFlags: WORD;
Public | peNew: array[0..0] of TPALETTEENTRY;

Description

Fields

Public bFirstEntry: BYTE;
Public bNumEntries: BYTE;

first entry to change

Public wFlags: WORD;

# entries to change (0 if 256)

Public peNew: array[0..0] of TPALETTEENTRY;

Mostly to preserve alignment...


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIStreamInfoW

Packed Record TAVIStreamInfoW

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIStreamInfoW = packed record

Description

Overview

Fields

Public | fccType: DWORD;
Public | fccHandler: DWORD;
Public | dwFlags: DWORD;
Public | dwCaps: DWORD;
Public | wPriority: WORD;
Public | wLanguage: WORD;
Public | dwScale: DWORD;
Public | dwRate: DWORD;
Public | dwStart: DWORD;
Public | dwLength: DWORD;
Public | dwInitialFrames: DWORD;
Public | dwSuggestedBufferSize: DWORD;
Public | dwQuality: DWORD;
Public | dwSampleSize: DWORD;
Public | rcFrame: TRECT;
Public | dwEditCount: DWORD;
Public | dwFormatChangeCount: DWORD;
Public | szName: array[0..63] of WideChar;

Description

Fields

Public fccType: DWORD;
Public fccHandler: DWORD;
Public dwFlags: DWORD;
Public dwCaps: DWORD;

Contains AVITF_* flags

Public wPriority: WORD;
Public wLanguage: WORD;
Public dwScale: DWORD;
Public dwRate: DWORD;
Public dwStart: DWORD;

dwRate / dwScale == samples/second

Public dwLength: DWORD;
Public dwInitialFrames: DWORD;

In units above...

Public dwSuggestedBufferSize: DWORD;
Public dwQuality: DWORD;
Public dwSampleSize: DWORD;
Public rcFrame: TRECT;
Public dwEditCount: DWORD;
Public dwFormatChangeCount: DWORD;
Public szName: array[0..63] of WideChar;


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIStreamInfoA

Packed Record TAVIStreamInfoA

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIStreamInfoA = packed record

Description

Overview

Fields

Public | fccType: DWORD;
Public | fccHandler: DWORD;
Public | dwFlags: DWORD;
Public | dwCaps: DWORD;
Public | wPriority: WORD;
Public | wLanguage: WORD;
Public | dwScale: DWORD;
Public | dwRate: DWORD;
Public | dwStart: DWORD;
Public | dwLength: DWORD;
Public | dwInitialFrames: DWORD;
Public | dwSuggestedBufferSize: DWORD;
Public | dwQuality: DWORD;
Public | dwSampleSize: DWORD;
Public | rcFrame: TRECT;
Public | dwEditCount: DWORD;
Public | dwFormatChangeCount: DWORD;
Public | szName: array[0..63] of AnsiChar;

Description

Fields

Public fccType: DWORD;
Public fccHandler: DWORD;
Public dwFlags: DWORD;
Public dwCaps: DWORD;

Contains AVITF_* flags

Public wPriority: WORD;
Public wLanguage: WORD;
Public dwScale: DWORD;
Public dwRate: DWORD;
Public dwStart: DWORD;

dwRate / dwScale == samples/second

Public dwLength: DWORD;
Public dwInitialFrames: DWORD;

In units above...

Public dwSuggestedBufferSize: DWORD;
Public dwQuality: DWORD;
Public dwSampleSize: DWORD;
Public rcFrame: TRECT;
Public dwEditCount: DWORD;
Public dwFormatChangeCount: DWORD;
Public szName: array[0..63] of AnsiChar;


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIFileInfoW

Packed Record TAVIFileInfoW

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIFileInfoW = packed record

Description

Overview

Fields

Public | dwMaxBytesPerSec: DWORD;
Public | dwFlags: DWORD;
Public | dwCaps: DWORD;
Public | dwStreams: DWORD;
Public | dwSuggestedBufferSize: DWORD;
Public | dwWidth: DWORD;
Public | dwHeight: DWORD;
Public | dwScale: DWORD;
Public | dwRate: DWORD;
Public | dwLength: DWORD;
Public | dwEditCount: DWORD;
Public | szFileType: array[0..63] of WideChar;

Description

Fields

Public dwMaxBytesPerSec: DWORD;
Public dwFlags: DWORD;

max. transfer rate

Public dwCaps: DWORD;

the ever-present flags

Public dwStreams: DWORD;
Public dwSuggestedBufferSize: DWORD;
Public dwWidth: DWORD;
Public dwHeight: DWORD;
Public dwScale: DWORD;
Public dwRate: DWORD;
Public dwLength: DWORD;

dwRate / dwScale == samples/second

Public dwEditCount: DWORD;
Public szFileType: array[0..63] of WideChar;


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVIFileInfoA

Packed Record TAVIFileInfoA

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVIFileInfoA = packed record

Description

Overview

Fields

Public | dwMaxBytesPerSec: DWORD;
Public | dwFlags: DWORD;
Public | dwCaps: DWORD;
Public | dwStreams: DWORD;
Public | dwSuggestedBufferSize: DWORD;
Public | dwWidth: DWORD;
Public | dwHeight: DWORD;
Public | dwScale: DWORD;
Public | dwRate: DWORD;
Public | dwLength: DWORD;
Public | dwEditCount: DWORD;
Public | szFileType: array[0..63] of AnsiChar;

Description

Fields

Public dwMaxBytesPerSec: DWORD;
Public dwFlags: DWORD;

max. transfer rate

Public dwCaps: DWORD;

the ever-present flags

Public dwStreams: DWORD;
Public dwSuggestedBufferSize: DWORD;
Public dwWidth: DWORD;
Public dwHeight: DWORD;
Public dwScale: DWORD;
Public dwRate: DWORD;
Public dwLength: DWORD;

dwRate / dwScale == samples/second

Public dwEditCount: DWORD;
Public szFileType: array[0..63] of AnsiChar;


GLSysHelp v.2.1: Formats.VFW: Packed Record TAVICOMPRESSOPTIONS

Packed Record TAVICOMPRESSOPTIONS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TAVICOMPRESSOPTIONS = packed record

Description

Overview

Fields

Public | fccType: DWORD;
Public | fccHandler: DWORD;
Public | dwKeyFrameEvery: DWORD;
Public | dwQuality: DWORD;
Public | dwBytesPerSecond: DWORD;
Public | dwFlags: DWORD;
Public | lpFormat: PVOID;
Public | cbFormat: DWORD;
Public | lpParms: PVOID;
Public | cbParms: DWORD;
Public | dwInterleaveEvery: DWORD;

Description

Fields

Public fccType: DWORD;
Public fccHandler: DWORD;

stream type, for consistency

Public dwKeyFrameEvery: DWORD;

compressor

Public dwQuality: DWORD;

keyframe rate

Public dwBytesPerSecond: DWORD;

compress quality 0-10,000

Public dwFlags: DWORD;

bytes per second

Public lpFormat: PVOID;

flags... see below

Public cbFormat: DWORD;

save format

Public lpParms: PVOID;
Public cbParms: DWORD;

compressor options

Public dwInterleaveEvery: DWORD;


GLSysHelp v.2.1: Formats.VFW: Interface IAVIStream

Interface IAVIStream

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type IAVIStream = interface(IUnknown)

Description

- - - - - - - - */

/****** AVI Stream Interface ******************************************

Hierarchy

  • IUnknown
  • IAVIStream

Overview

Methods

Public | function Create(lParam1, lParam2: LPARAM): HResult; stdcall;
Public | function Delete(lStart: LONG; lSamples: LONG): HResult; stdcall;
Public | function FindSample(lPos: LONG; lFlags: LONG): LONG; stdcall;
Public | function Info(var psi: TAVIStreamInfoW; lSize: LONG): HResult; stdcall;
Public | function Read(lStart: LONG; lSamples: LONG; lpBuffer: PVOID; cbBuffer: LONG; var plBytes, plSamples: LONG): HResult; stdcall;
Public | function ReadData(fcc: DWORD; lp: PVOID; var lpcb: LONG): HResult; stdcall;
Public | function ReadFormat(lPos: LONG; lpFormat: PVOID; var lpcbFormat: LONG): HResult; stdcall;
Public | function SetFormat(lPos: LONG; lpFormat: PVOID; cbFormat: LONG): HResult; stdcall;
Public | function SetInfo(var lpInfo: TAVIStreamInfoW; cbInfo: LONG): HResult; stdcall;
Public | function Write(lStart: LONG; lSamples: LONG; lpBuffer: PVOID; cbBuffer: LONG; dwFlags: DWORD; var plSampWritten, plBytesWritten: LONG): HResult; stdcall;
Public | function WriteData(fcc: DWORD; lp: PVOID; cb: LONG): HResult; stdcall;

Description

Methods

Public function Create(lParam1, lParam2: LPARAM): HResult; stdcall;
Public function Delete(lStart: LONG; lSamples: LONG): HResult; stdcall;
Public function FindSample(lPos: LONG; lFlags: LONG): LONG; stdcall;
Public function Info(var psi: TAVIStreamInfoW; lSize: LONG): HResult; stdcall;
Public function Read(lStart: LONG; lSamples: LONG; lpBuffer: PVOID; cbBuffer: LONG; var plBytes, plSamples: LONG): HResult; stdcall;
Public function ReadData(fcc: DWORD; lp: PVOID; var lpcb: LONG): HResult; stdcall;
Public function ReadFormat(lPos: LONG; lpFormat: PVOID; var lpcbFormat: LONG): HResult; stdcall;
Public function SetFormat(lPos: LONG; lpFormat: PVOID; cbFormat: LONG): HResult; stdcall;
Public function SetInfo(var lpInfo: TAVIStreamInfoW; cbInfo: LONG): HResult; stdcall;
Public function Write(lStart: LONG; lSamples: LONG; lpBuffer: PVOID; cbBuffer: LONG; dwFlags: DWORD; var plSampWritten, plBytesWritten: LONG): HResult; stdcall;
Public function WriteData(fcc: DWORD; lp: PVOID; cb: LONG): HResult; stdcall;


GLSysHelp v.2.1: Formats.VFW: Interface IAVIStreaming

Interface IAVIStreaming

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type IAVIStreaming = interface(IUnknown)

Description

Hierarchy

  • IUnknown
  • IAVIStreaming

Overview

Methods

Public | function _Begin(lStart, lEnd : LONG; lRate : LONG): HResult; stdcall;
Public | function _End: HResult; stdcall;

Description

Methods

Public function _Begin(lStart, lEnd : LONG; lRate : LONG): HResult; stdcall;
Public function _End: HResult; stdcall;


GLSysHelp v.2.1: Formats.VFW: Interface IAVIEditStream

Interface IAVIEditStream

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type IAVIEditStream = interface(IUnknown)

Description

Hierarchy

  • IUnknown
  • IAVIEditStream

Overview

Methods

Public | function Clone(var ppResult: IAVIStream): HResult; stdcall;
Public | function Copy(var plStart, plLength: LONG; var ppResult: IAVIStream): HResult; stdcall;
Public | function Cut(var plStart, plLength: LONG; var ppResult: IAVIStream): HResult; stdcall;
Public | function Paste(var plPos: LONG; var plLength: LONG; pstream: IAVIStream; lStart, lEnd: LONG): HResult; stdcall;
Public | function SetInfo(var lpInfo: TAVIStreamInfoW; cbInfo: LONG): HResult; stdcall;

Description

Methods

Public function Clone(var ppResult: IAVIStream): HResult; stdcall;
Public function Copy(var plStart, plLength: LONG; var ppResult: IAVIStream): HResult; stdcall;
Public function Cut(var plStart, plLength: LONG; var ppResult: IAVIStream): HResult; stdcall;
Public function Paste(var plPos: LONG; var plLength: LONG; pstream: IAVIStream; lStart, lEnd: LONG): HResult; stdcall;
Public function SetInfo(var lpInfo: TAVIStreamInfoW; cbInfo: LONG): HResult; stdcall;


GLSysHelp v.2.1: Formats.VFW: Interface IAVIFile

Interface IAVIFile

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type IAVIFile = interface(IUnknown)

Description

– AVIFile ——————————————————————

Hierarchy

  • IUnknown
  • IAVIFile

Overview

Methods

Public | function CreateStream(var ppStream: IAVISTREAM; var psi: TAVIStreamInfoW): HResult; stdcall;
Public | function DeleteStream(fccType: DWORD; lParam: LONG): HResult; stdcall;
Public | function EndRecord: HResult; stdcall;
Public | function GetStream(var ppStream: IAVISTREAM; fccType: DWORD; lParam: LONG): HResult; stdcall;
Public | function Info(var pfi: TAVIFileInfoW; iSize: LONG): HResult; stdcall;
Public | function ReadData(ckid: DWORD; lpData: PVOID; lpcbData: PLONG): HResult; stdcall;
Public | function WriteData(ckid: DWORD; lpData: PVOID; cbData: LONG): HResult; stdcall;

Description

Methods

Public function CreateStream(var ppStream: IAVISTREAM; var psi: TAVIStreamInfoW): HResult; stdcall;
Public function DeleteStream(fccType: DWORD; lParam: LONG): HResult; stdcall;
Public function EndRecord: HResult; stdcall;
Public function GetStream(var ppStream: IAVISTREAM; fccType: DWORD; lParam: LONG): HResult; stdcall;
Public function Info(var pfi: TAVIFileInfoW; iSize: LONG): HResult; stdcall;
Public function ReadData(ckid: DWORD; lpData: PVOID; lpcbData: PLONG): HResult; stdcall;
Public function WriteData(ckid: DWORD; lpData: PVOID; cbData: LONG): HResult; stdcall;


GLSysHelp v.2.1: Formats.VFW: Interface IGetFrame

Interface IGetFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type IGetFrame = interface(IUnknown)

Description

The functions 'BeginExtraction' and 'EndExtraction' have actually the names 'Begin' and 'End', but we cannot use that identifiers for obvious reasons.

Hierarchy

  • IUnknown
  • IGetFrame

Overview

Methods

Public | function BeginExtraction(lStart, lEnd, lRate: LONG): HResult; stdcall;
Public | function EndExtraction: HResult; stdcall;
Public | function GetFrame(lPos: LONG): PBitmapInfoHeader; stdcall;
Public | function SetFormat(var lpbi: TBitmapInfoHeader; lpBits: Pointer; x, y, dx, dy: Integer): HResult; stdcall;

Description

Methods

Public function BeginExtraction(lStart, lEnd, lRate: LONG): HResult; stdcall;
Public function EndExtraction: HResult; stdcall;
Public function GetFrame(lPos: LONG): PBitmapInfoHeader; stdcall;
Public function SetFormat(var lpbi: TBitmapInfoHeader; lpBits: Pointer; x, y, dx, dy: Integer): HResult; stdcall;


GLSysHelp v.2.1: Formats.VFW: Record TVIDEOHDR

Record TVIDEOHDR

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TVIDEOHDR = record

Description

Overview

Fields

Public | lpData: PBYTE;
Public | dwBufferLength: DWORD;
Public | dwBytesUsed: DWORD;
Public | dwTimeCaptured: DWORD;
Public | dwUser: DWORD;
Public | dwFlags: DWORD;
Public | dwReserved: array[0..3] of DWORD;

Description

Fields

Public lpData: PBYTE;
Public dwBufferLength: DWORD;

pointer to locked data buffer

Public dwBytesUsed: DWORD;

Length of data buffer

Public dwTimeCaptured: DWORD;

Bytes actually used

Public dwUser: DWORD;

Milliseconds from start of stream

Public dwFlags: DWORD;

for client's use

Public dwReserved: array[0..3] of DWORD;

assorted flags (see defines)


GLSysHelp v.2.1: Formats.VFW: Record TCHANNEL_CAPS

Record TCHANNEL_CAPS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TCHANNEL_CAPS = record

Description

Overview

Fields

Public | dwFlags: DWORD;
Public | dwSrcRectXMod: DWORD;
Public | dwSrcRectYMod: DWORD;
Public | dwSrcRectWidthMod: DWORD;
Public | dwSrcRectHeightMod: DWORD;
Public | dwDstRectXMod: DWORD;
Public | dwDstRectYMod: DWORD;
Public | dwDstRectWidthMod: DWORD;
Public | dwDstRectHeightMod: DWORD;

Description

Fields

Public dwFlags: DWORD;
Public dwSrcRectXMod: DWORD;

Capability flags

Public dwSrcRectYMod: DWORD;

Granularity of src rect in x

Public dwSrcRectWidthMod: DWORD;

Granularity of src rect in y

Public dwSrcRectHeightMod: DWORD;

Granularity of src rect width

Public dwDstRectXMod: DWORD;

Granularity of src rect height

Public dwDstRectYMod: DWORD;

Granularity of dst rect in x

Public dwDstRectWidthMod: DWORD;

Granularity of dst rect in y

Public dwDstRectHeightMod: DWORD;

Granularity of dst rect width


GLSysHelp v.2.1: Formats.VFW: Record TCAPDRIVERCAPS

Record TCAPDRIVERCAPS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TCAPDRIVERCAPS = record

Description

Overview

Fields

Public | wDeviceIndex: UINT;
Public | fHasOverlay: BOOL;
Public | fHasDlgVideoSource: BOOL;
Public | fHasDlgVideoFormat: BOOL;
Public | fHasDlgVideoDisplay: BOOL;
Public | fCaptureInitialized: BOOL;
Public | fDriverSuppliesPalettes: BOOL;
Public | hVideoIn: THANDLE;
Public | hVideoOut: THANDLE;
Public | hVideoExtIn: THANDLE;
Public | hVideoExtOut: THANDLE;

Description

Fields

Public wDeviceIndex: UINT;
Public fHasOverlay: BOOL;

Driver index in system.ini

Public fHasDlgVideoSource: BOOL;

Can device overlay?

Public fHasDlgVideoFormat: BOOL;

Has Video source dlg?

Public fHasDlgVideoDisplay: BOOL;

Has Format dlg?

Public fCaptureInitialized: BOOL;

Has External out dlg?

Public fDriverSuppliesPalettes: BOOL;

Driver ready to capture?

Public hVideoIn: THANDLE;

Can driver make palettes? following always NULL on Win32.

Public hVideoOut: THANDLE;

Driver In channel

Public hVideoExtIn: THANDLE;

Driver Out channel

Public hVideoExtOut: THANDLE;

Driver Ext In channel


GLSysHelp v.2.1: Formats.VFW: Record TCAPSTATUS

Record TCAPSTATUS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TCAPSTATUS = record

Description

Overview

Fields

Public | uiImageWidth: UINT ;
Public | uiImageHeight: UINT ;
Public | fLiveWindow: BOOL ;
Public | fOverlayWindow: BOOL ;
Public | fScale: BOOL ;
Public | ptScroll: TPOINT ;
Public | fUsingDefaultPalette: BOOL ;
Public | fAudioHardware: BOOL ;
Public | fCapFileExists: BOOL ;
Public | dwCurrentVideoFrame: DWORD ;
Public | dwCurrentVideoFramesDropped: DWORD ;
Public | dwCurrentWaveSamples: DWORD ;
Public | dwCurrentTimeElapsedMS: DWORD ;
Public | hPalCurrent: HPALETTE;
Public | fCapturingNow: BOOL ;
Public | dwReturn: DWORD ;
Public | wNumVideoAllocated: UINT ;
Public | wNumAudioAllocated: UINT ;

Description

Fields

Public uiImageWidth: UINT ;
Public uiImageHeight: UINT ;

Width of the image

Public fLiveWindow: BOOL ;

Height of the image

Public fOverlayWindow: BOOL ;

Now Previewing video?

Public fScale: BOOL ;

Now Overlaying video?

Public ptScroll: TPOINT ;

Scale image to client?

Public fUsingDefaultPalette: BOOL ;

Scroll position

Public fAudioHardware: BOOL ;

Using default driver palette?

Public fCapFileExists: BOOL ;

Audio hardware present?

Public dwCurrentVideoFrame: DWORD ;

Does capture file exist?

Public dwCurrentVideoFramesDropped: DWORD ;

# of video frames cap'td

Public dwCurrentWaveSamples: DWORD ;

# of video frames dropped

Public dwCurrentTimeElapsedMS: DWORD ;

# of wave samples cap'td

Public hPalCurrent: HPALETTE;

Elapsed capture duration

Public fCapturingNow: BOOL ;

Current palette in use

Public dwReturn: DWORD ;

Capture in progress?

Public wNumVideoAllocated: UINT ;

Error value after any operation

Public wNumAudioAllocated: UINT ;

Actual number of video buffers


GLSysHelp v.2.1: Formats.VFW: Record TCAPTUREPARMS

Record TCAPTUREPARMS

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TCAPTUREPARMS = record

Description

Overview

Fields

Public | dwRequestMicroSecPerFrame: DWORD ;
Public | fMakeUserHitOKToCapture: BOOL ;
Public | wPercentDropForError: UINT ;
Public | fYield: BOOL ;
Public | dwIndexSize: DWORD ;
Public | wChunkGranularity: UINT ;
Public | fUsingDOSMemory: BOOL ;
Public | wNumVideoRequested: UINT ;
Public | fCaptureAudio: BOOL ;
Public | wNumAudioRequested: UINT ;
Public | vKeyAbort: UINT ;
Public | fAbortLeftMouse: BOOL ;
Public | fAbortRightMouse: BOOL ;
Public | fLimitEnabled: BOOL ;
Public | wTimeLimit: UINT ;
Public | fMCIControl: BOOL ;
Public | fStepMCIDevice: BOOL ;
Public | dwMCIStartTime: DWORD ;
Public | dwMCIStopTime: DWORD ;
Public | fStepCaptureAt2x: BOOL ;
Public | wStepCaptureAverageFrames: UINT ;
Public | dwAudioBufferSize: DWORD ;
Public | fDisableWriteCache: BOOL ;
Public | AVStreamMaster: UINT ;

Description

Fields

Public dwRequestMicroSecPerFrame: DWORD ;
Public fMakeUserHitOKToCapture: BOOL ;

Requested capture rate

Public wPercentDropForError: UINT ;

Show "Hit OK to cap" dlg?

Public fYield: BOOL ;

Give error msg if > (10%)

Public dwIndexSize: DWORD ;

Capture via background task?

Public wChunkGranularity: UINT ;

Max index size in frames (32K)

Public fUsingDOSMemory: BOOL ;

Junk chunk granularity (2K)

Public wNumVideoRequested: UINT ;

Use DOS buffers?

Public fCaptureAudio: BOOL ;

# video buffers, If 0, autocalc

Public wNumAudioRequested: UINT ;

Capture audio?

Public vKeyAbort: UINT ;

# audio buffers, If 0, autocalc

Public fAbortLeftMouse: BOOL ;

Virtual key causing abort

Public fAbortRightMouse: BOOL ;

Abort on left mouse?

Public fLimitEnabled: BOOL ;

Abort on right mouse?

Public wTimeLimit: UINT ;

Use wTimeLimit?

Public fMCIControl: BOOL ;

Seconds to capture

Public fStepMCIDevice: BOOL ;

Use MCI video source?

Public dwMCIStartTime: DWORD ;

Step MCI device?

Public dwMCIStopTime: DWORD ;

Time to start in MS

Public fStepCaptureAt2x: BOOL ;

Time to stop in MS

Public wStepCaptureAverageFrames: UINT ;

Perform spatial averaging 2x

Public dwAudioBufferSize: DWORD ;

Temporal average n Frames

Public fDisableWriteCache: BOOL ;

Size of audio bufs (0 = default)

Public AVStreamMaster: UINT ;

Attempt to disable write cache


GLSysHelp v.2.1: Formats.VFW: Record TCAPINFOCHUNK

Record TCAPINFOCHUNK

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VFW

Declaration

type TCAPINFOCHUNK = record

Description

Overview

Fields

Public | fccInfoID: FOURCC;
Public | lpData: PVOID;
Public | cbData: DWORD;

Description

Fields

Public fccInfoID: FOURCC;
Public lpData: PVOID;

Chunk ID, "ICOP" for copyright

Public cbData: DWORD;

pointer to data


GLSysHelp v.2.1: Formats.VRML

Unit Formats.VRML

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The unit is part of the GLScene Engine, http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorLists

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TVRMLNode |
Class TVRMLSingleArray |
Class TVRMLIntegerArray |
Class TVRMLMaterial |
Class TVRMLUse |
Class TVRMLShapeHints |
Class TVRMLTransform |
Class TVRMLParser |


GLSysHelp v.2.1: Formats.VRML: Class TVRMLNode

Class TVRMLNode

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLNode = class(TObject)

Description

Hierarchy

  • TObject
  • TVRMLNode

Overview

Fields

Private | FNodes: TList;
Private | FParent: TVRMLNode;
Private | FName: String;
Private | FDefName: String;

Methods

Public | constructor Create; virtual;
Public | constructor CreateOwned(AParent: TVRMLNode);
Public | destructor Destroy; override;
Public | function Count: Integer;
Private | function GetNode(index: Integer): TVRMLNode;
Public | procedure Add(node: TVRMLNode);
Public | procedure Clear;
Public | procedure Delete(index: Integer);
Public | procedure Remove(node: TVRMLNode);

Properties

Public | property DefName: String read FDefName write FDefName;
Public | property Name: String read FName write FName;
Public | property Nodes[index:Integer]: TVRMLNode read GetNode;
Public | property Parent: TVRMLNode read FParent;

Description

Fields

Private FNodes: TList;
Private FParent: TVRMLNode;
Private FName: String;
Private FDefName: String;

Methods

Public constructor Create; virtual;
Public constructor CreateOwned(AParent: TVRMLNode);
Public destructor Destroy; override;
Public function Count: Integer;
Private function GetNode(index: Integer): TVRMLNode;
Public procedure Add(node: TVRMLNode);
Public procedure Clear;
Public procedure Delete(index: Integer);
Public procedure Remove(node: TVRMLNode);

Properties

Public property DefName: String read FDefName write FDefName;
Public property Name: String read FName write FName;
Public property Nodes[index:Integer]: TVRMLNode read GetNode;
Public property Parent: TVRMLNode read FParent;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLSingleArray

Class TVRMLSingleArray

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLSingleArray = class(TVRMLNode)

Description

No description available, ancestor TVRMLNode description follows

Hierarchy

  • TObject
  • TVRMLNode
  • TVRMLSingleArray

Overview

Fields

Private FValues: TSingleList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;

Properties

Public property Values: TSingleList read FValues;

Description

Fields

Private FValues: TSingleList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;

Properties

Public property Values: TSingleList read FValues;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLIntegerArray

Class TVRMLIntegerArray

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLIntegerArray = class(TVRMLNode)

Description

No description available, ancestor TVRMLNode description follows

Hierarchy

  • TObject
  • TVRMLNode
  • TVRMLIntegerArray

Overview

Fields

Private FValues: TIntegerList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;

Properties

Public property Values: TIntegerList read FValues;

Description

Fields

Private FValues: TIntegerList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;

Properties

Public property Values: TIntegerList read FValues;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLMaterial

Class TVRMLMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLMaterial = class(TVRMLNode)

Description

No description available, ancestor TVRMLNode description follows

Hierarchy

  • TObject
  • TVRMLNode
  • TVRMLMaterial

Overview

Fields

Private | FDiffuseColor: TVector3f;
Private | FAmbientColor: TVector3f;
Private | FSpecularColor: TVector3f;
Private | FEmissiveColor: TVector3f;
Private | FTransparency: Single;
Private | FShininess: Single;
Private | FHasDiffuse: Boolean;
Private | FHasAmbient: Boolean;
Private | FHasSpecular: Boolean;
Private | FHasEmissive: Boolean;
Private | FHasTransparency: Boolean;
Private | FHasShininess: Boolean;

Methods

Public constructor Create; override;

Properties

Public | property AmbientColor: TVector3f read FAmbientColor write FAmbientColor;
Public | property DiffuseColor: TVector3f read FDiffuseColor write FDiffuseColor;
Public | property EmissiveColor: TVector3f read FEmissiveColor write FEmissiveColor;
Public | property HasAmbient: Boolean read FHasAmbient write FHasAmbient;
Public | property HasDiffuse: Boolean read FHasDiffuse write FHasDiffuse;
Public | property HasEmissive: Boolean read FHasEmissive write FHasEmissive;
Public | property HasShininess: Boolean read FHasShininess write FHasShininess;
Public | property HasSpecular: Boolean read FHasSpecular write FHasSpecular;
Public | property HasTransparency: Boolean read FHasTransparency write FHasTransparency;
Public | property Shininess: Single read FShininess write FShininess;
Public | property SpecularColor: TVector3f read FSpecularColor write FSpecularColor;
Public | property Transparency: Single read FTransparency write FTransparency;

Description

Fields

Private FDiffuseColor: TVector3f;
Private FAmbientColor: TVector3f;
Private FSpecularColor: TVector3f;
Private FEmissiveColor: TVector3f;
Private FTransparency: Single;
Private FShininess: Single;
Private FHasDiffuse: Boolean;
Private FHasAmbient: Boolean;
Private FHasSpecular: Boolean;
Private FHasEmissive: Boolean;
Private FHasTransparency: Boolean;
Private FHasShininess: Boolean;

Methods

Public constructor Create; override;

Properties

Public property AmbientColor: TVector3f read FAmbientColor write FAmbientColor;
Public property DiffuseColor: TVector3f read FDiffuseColor write FDiffuseColor;
Public property EmissiveColor: TVector3f read FEmissiveColor write FEmissiveColor;
Public property HasAmbient: Boolean read FHasAmbient write FHasAmbient;
Public property HasDiffuse: Boolean read FHasDiffuse write FHasDiffuse;
Public property HasEmissive: Boolean read FHasEmissive write FHasEmissive;
Public property HasShininess: Boolean read FHasShininess write FHasShininess;
Public property HasSpecular: Boolean read FHasSpecular write FHasSpecular;
Public property HasTransparency: Boolean read FHasTransparency write FHasTransparency;
Public property Shininess: Single read FShininess write FShininess;
Public property SpecularColor: TVector3f read FSpecularColor write FSpecularColor;
Public property Transparency: Single read FTransparency write FTransparency;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLUse

Class TVRMLUse

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLUse = class(TVRMLNode)

Description

No description available, ancestor TVRMLNode description follows

Hierarchy

  • TObject
  • TVRMLNode
  • TVRMLUse

Overview

Fields

Private FValue: String;

Properties

Public property Value: String read FValue write FValue;

Description

Fields

Private FValue: String;

Properties

Public property Value: String read FValue write FValue;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLShapeHints

Class TVRMLShapeHints

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLShapeHints = class(TVRMLNode)

Description

No description available, ancestor TVRMLNode description follows

Hierarchy

  • TObject
  • TVRMLNode
  • TVRMLShapeHints

Overview

Fields

Private FCreaseAngle: Single;

Properties

Public property CreaseAngle: Single read FCreaseAngle write FCreaseAngle;

Description

Fields

Private FCreaseAngle: Single;

Properties

Public property CreaseAngle: Single read FCreaseAngle write FCreaseAngle;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLTransform

Class TVRMLTransform

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLTransform = class(TVRMLNode)

Description

No description available, ancestor TVRMLNode description follows

Hierarchy

  • TObject
  • TVRMLNode
  • TVRMLTransform

Overview

Fields

Private | FCenter: TVector3f;
Private | FRotation: TVector4f;
Private | FScaleFactor: TVector3f;

Methods

Public constructor Create; override;

Properties

Public | property Center: TVector3f read FCenter write FCenter;
Public | property Rotation: TVector4f read FRotation write FRotation;
Public | property ScaleFactor: TVector3f read FScaleFactor write FScaleFactor;

Description

Fields

Private FCenter: TVector3f;
Private FRotation: TVector4f;
Private FScaleFactor: TVector3f;

Methods

Public constructor Create; override;

Properties

Public property Center: TVector3f read FCenter write FCenter;
Public property Rotation: TVector4f read FRotation write FRotation;
Public property ScaleFactor: TVector3f read FScaleFactor write FScaleFactor;


GLSysHelp v.2.1: Formats.VRML: Class TVRMLParser

Class TVRMLParser

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.VRML

Declaration

type TVRMLParser = class(TObject)

Description

Hierarchy

  • TObject
  • TVRMLParser

Overview

Fields

Private | FCursor: Integer;
Private | FTokens: TStringList;
Private | FRootNode: TVRMLNode;
Private | FCurrentNode: TVRMLNode;
Private | FAllowUnknownNodes: Boolean;
Private | FDefines: TList;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Protected | function ReadSingle: Single;
Protected | function ReadToken: String;
Protected | function ReadVector3f: TVector3f;
Protected | function ReadVector4f: TVector4f;
Public | procedure Parse(Text: String);
Protected | procedure ReadCoordinate3(DefName: String = '');
Protected | procedure ReadCoordIndexArray(DefName: String = '');
Protected | procedure ReadDef;
Protected | procedure ReadGroup(DefName: String = '');
Protected | procedure ReadIndexedFaceSet(DefName: String = '');
Protected | procedure ReadMaterial(DefName: String = '');
Protected | procedure ReadNormal(DefName: String = '');
Protected | procedure ReadNormalIndexArray(DefName: String = '');
Protected | procedure ReadPointArray(DefName: String = '');
Protected | procedure ReadSeparator(DefName: String = '');
Protected | procedure ReadShapeHints(DefName: String = '');
Protected | procedure ReadTextureCoordinate2(DefName: String = '');
Protected | procedure ReadTextureCoordIndexArray(DefName: String = '');
Protected | procedure ReadTransform(DefName: String = '');
Protected | procedure ReadUnknown(unknown_token: String; DefName: String = '');
Protected | procedure ReadUnknownArray(DefName: String = '');
Protected | procedure ReadUnknownHeirachy(DefName: String = '');
Protected | procedure ReadUse;

Properties

Public | property AllowUnknownNodes: Boolean read FAllowUnknownNodes write FAllowUnknownNodes;
Public | property RootNode: TVRMLNode read FRootNode;

Description

Fields

Private FCursor: Integer;
Private FTokens: TStringList;
Private FRootNode: TVRMLNode;
Private FCurrentNode: TVRMLNode;
Private FAllowUnknownNodes: Boolean;
Private FDefines: TList;

Methods

Public constructor Create;
Public destructor Destroy; override;
Protected function ReadSingle: Single;
Protected function ReadToken: String;
Protected function ReadVector3f: TVector3f;
Protected function ReadVector4f: TVector4f;
Public procedure Parse(Text: String);
Protected procedure ReadCoordinate3(DefName: String = '');
Protected procedure ReadCoordIndexArray(DefName: String = '');
Protected procedure ReadDef;
Protected procedure ReadGroup(DefName: String = '');
Protected procedure ReadIndexedFaceSet(DefName: String = '');
Protected procedure ReadMaterial(DefName: String = '');
Protected procedure ReadNormal(DefName: String = '');
Protected procedure ReadNormalIndexArray(DefName: String = '');
Protected procedure ReadPointArray(DefName: String = '');
Protected procedure ReadSeparator(DefName: String = '');
Protected procedure ReadShapeHints(DefName: String = '');
Protected procedure ReadTextureCoordinate2(DefName: String = '');
Protected procedure ReadTextureCoordIndexArray(DefName: String = '');
Protected procedure ReadTransform(DefName: String = '');
Protected procedure ReadUnknown(unknown_token: String; DefName: String = '');
Protected procedure ReadUnknownArray(DefName: String = '');
Protected procedure ReadUnknownHeirachy(DefName: String = '');
Protected procedure ReadUse;

Properties

Public property AllowUnknownNodes: Boolean read FAllowUnknownNodes write FAllowUnknownNodes;
Public property RootNode: TVRMLNode read FRootNode;


GLSysHelp v.2.1: Formats.X

Unit Formats.X

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TDXFileHeader |
Class TDXNode |
Class TDXMaterial |
Class TDXMaterialList |
Class TDXFrame |
Class TDXMesh |
Class TDXFile |


GLSysHelp v.2.1: Formats.X: Record TDXFileHeader

Record TDXFileHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXFileHeader = record

Description

Overview

Fields

Public | Magic: array [0 .. 3] of AnsiChar;
Public | Major: array [0 .. 1] of AnsiChar;
Public | Minor: array [0 .. 1] of AnsiChar;
Public | FileType: array [0 .. 3] of AnsiChar;
Public | FloatType: array [0 .. 3] of AnsiChar;

Description

Fields

Public Magic: array [0 .. 3] of AnsiChar;
Public Major: array [0 .. 1] of AnsiChar;
Public Minor: array [0 .. 1] of AnsiChar;
Public FileType: array [0 .. 3] of AnsiChar;
Public FloatType: array [0 .. 3] of AnsiChar;


GLSysHelp v.2.1: Formats.X: Class TDXNode

Class TDXNode

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXNode = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TDXNode

Overview

Fields

Private | FName: String;
Private | FTypeName: String;
Private | FOwner: TDXNode;

Methods

Public | constructor Create; virtual;
Public | constructor CreateOwned(AOwner: TDXNode);
Private | function GetItem(index: Integer): TDXNode;
Public | procedure Clear; override;

Properties

Public | property Items[index:Integer]: TDXNode read GetItem;
Public | property Name: String read FName write FName;
Public | property Owner: TDXNode read FOwner;
Public | property TypeName: String read FTypeName write FTypeName;

Description

Fields

Private FName: String;
Private FTypeName: String;
Private FOwner: TDXNode;

Methods

Public constructor Create; virtual;
Public constructor CreateOwned(AOwner: TDXNode);
Private function GetItem(index: Integer): TDXNode;
Public procedure Clear; override;

Properties

Public property Items[index:Integer]: TDXNode read GetItem;
Public property Name: String read FName write FName;
Public property Owner: TDXNode read FOwner;
Public property TypeName: String read FTypeName write FTypeName;


GLSysHelp v.2.1: Formats.X: Class TDXMaterial

Class TDXMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXMaterial = class(TPersistentObject)

Description

No description available, ancestor TPersistentObject description follows

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TDXMaterial

Overview

Fields

Private | FDiffuse: TVector4f;
Private | FSpecPower: Single;
Private | FSpecular: TVector3f;
Private | FEmissive: TVector3f;
Private | FTexture: String;

Methods

Public constructor CreateOwned(AOwner: TDXMaterialList);

Properties

Public | property Diffuse: TVector4f read FDiffuse write FDiffuse;
Public | property Emissive: TVector3f read FEmissive write FEmissive;
Public | property SpecPower: Single read FSpecPower write FSpecPower;
Public | property Specular: TVector3f read FSpecular write FSpecular;
Public | property Texture: String read FTexture write FTexture;

Description

Fields

Private FDiffuse: TVector4f;
Private FSpecPower: Single;
Private FSpecular: TVector3f;
Private FEmissive: TVector3f;
Private FTexture: String;

Methods

Public constructor CreateOwned(AOwner: TDXMaterialList);

Properties

Public property Diffuse: TVector4f read FDiffuse write FDiffuse;
Public property Emissive: TVector3f read FEmissive write FEmissive;
Public property SpecPower: Single read FSpecPower write FSpecPower;
Public property Specular: TVector3f read FSpecular write FSpecular;
Public property Texture: String read FTexture write FTexture;


GLSysHelp v.2.1: Formats.X: Class TDXMaterialList

Class TDXMaterialList

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXMaterialList = class(TDXNode)

Description

No description available, ancestor TDXNode description follows

Hierarchy

  • TObject
  • TList
  • TDXNode
  • TDXMaterialList

Overview

Methods

Private function GetMaterial(index: Integer): TDXMaterial;

Properties

Public property Items[index:Integer]: TDXMaterial read GetMaterial;

Description

Methods

Private function GetMaterial(index: Integer): TDXMaterial;

Properties

Public property Items[index:Integer]: TDXMaterial read GetMaterial;


GLSysHelp v.2.1: Formats.X: Class TDXFrame

Class TDXFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXFrame = class(TDXNode)

Description

No description available, ancestor TDXNode description follows

Hierarchy

  • TObject
  • TList
  • TDXNode
  • TDXFrame

Overview

Fields

Private FMatrix: TGLMatrix;

Methods

Public | constructor Create; override;
Public | function GlobalMatrix: TGLMatrix;

Properties

Public property Matrix: TGLMatrix read FMatrix write FMatrix;

Description

Fields

Private FMatrix: TGLMatrix;

Methods

Public constructor Create; override;
Public function GlobalMatrix: TGLMatrix;

Properties

Public property Matrix: TGLMatrix read FMatrix write FMatrix;


GLSysHelp v.2.1: Formats.X: Class TDXMesh

Class TDXMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXMesh = class(TDXNode)

Description

No description available, ancestor TDXNode description follows

Hierarchy

  • TObject
  • TList
  • TDXNode
  • TDXMesh

Overview

Fields

Private | FVertices: TAffineVectorList;
Private | FNormals: TAffineVectorList;
Private | FTexCoords: TAffineVectorList;
Private | FVertexIndices: TIntegerList;
Private | FNormalIndices: TIntegerList;
Private | FMaterialIndices: TIntegerList;
Private | FVertCountIndices: TIntegerList;
Private | FMaterialList: TDXMaterialList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;

Properties

Public | property MaterialIndices: TIntegerList read FMaterialIndices;
Public | property MaterialList: TDXMaterialList read FMaterialList;
Public | property NormalIndices: TIntegerList read FNormalIndices;
Public | property Normals: TAffineVectorList read FNormals;
Public | property TexCoords: TAffineVectorList read FTexCoords;
Public | property VertCountIndices: TIntegerList read FVertCountIndices;
Public | property VertexIndices: TIntegerList read FVertexIndices;
Public | property Vertices: TAffineVectorList read FVertices;

Description

Fields

Private FVertices: TAffineVectorList;
Private FNormals: TAffineVectorList;
Private FTexCoords: TAffineVectorList;
Private FVertexIndices: TIntegerList;
Private FNormalIndices: TIntegerList;
Private FMaterialIndices: TIntegerList;
Private FVertCountIndices: TIntegerList;
Private FMaterialList: TDXMaterialList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;

Properties

Public property MaterialIndices: TIntegerList read FMaterialIndices;
Public property MaterialList: TDXMaterialList read FMaterialList;
Public property NormalIndices: TIntegerList read FNormalIndices;
Public property Normals: TAffineVectorList read FNormals;
Public property TexCoords: TAffineVectorList read FTexCoords;
Public property VertCountIndices: TIntegerList read FVertCountIndices;
Public property VertexIndices: TIntegerList read FVertexIndices;
Public property Vertices: TAffineVectorList read FVertices;


GLSysHelp v.2.1: Formats.X: Class TDXFile

Class TDXFile

Description
Hierarchy
Fields
Methods
Properties

Unit

Formats.X

Declaration

type TDXFile = class(TObject)

Description

Hierarchy

  • TObject
  • TDXFile

Overview

Fields

Private | FRootNode: TDXNode;
Private | FHeader: TDXFileHeader;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | procedure LoadFromStream(Stream: TStream);
Protected | procedure ParseBinary(Stream: TStream);
Protected | procedure ParseText(Stream: TStream);

Properties

Public | property Header: TDXFileHeader read FHeader;
Public | property RootNode: TDXNode read FRootNode;

Description

Fields

Private FRootNode: TDXNode;
Private FHeader: TDXFileHeader;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure LoadFromStream(Stream: TStream);
Protected procedure ParseBinary(Stream: TStream);
Protected procedure ParseText(Stream: TStream);

Properties

Public property Header: TDXFileHeader read FHeader;

procedure SaveToStream(Stream : TStream);

Public property RootNode: TDXNode read FRootNode;


GLSysHelp v.2.1: FRColorEditor

Unit FRColorEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • System.Classes
  • System.SysUtils
  • System.Types
  • VCL.Forms
  • VCL.StdCtrls
  • VCL.ComCtrls
  • VCL.ExtCtrls
  • VCL.Dialogs
  • VCL.Controls
  • VCL.Graphics
  • GLS.VectorGeometry
  • GLS.Color
  • GLS.Texture
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TRColorEditor |


GLSysHelp v.2.1: FRColorEditor: Class TRColorEditor

Class TRColorEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

FRColorEditor

Declaration

type TRColorEditor = class(TFrame)

Description

Hierarchy

  • TFrame
  • TRColorEditor

Overview

Fields

Public | Label1: TLabel;
Public | Label2: TLabel;
Public | Label3: TLabel;
Public | Label4: TLabel;
Public | PAPreview: TPanel;
Public | ColorDialog: TColorDialog;
Public | Panel1: TPanel;
Public | ColorEditorPaintBox: TPaintBox;
Public | RedEdit: TEdit;
Public | GreenEdit: TEdit;
Public | BlueEdit: TEdit;
Public | AlphaEdit: TEdit;
Private | FOnChange: TNotifyEvent;
Private | updating: Boolean;
Private | WorkBitmap: tBitmap;
Private | RedValue: Integer;
Private | GreenValue: integer;
Private | BlueValue: integer;
Private | AlphaVAlue: integer;
Private | DraggingValue: (None,Red,Green,Blue,Alpha);

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetColor: THomogeneousFltVector;
Public | procedure AlphaEditChange(Sender: TObject);
Public | procedure BlueEditChange(Sender: TObject);
Public | procedure ColorEditorPaintBoxMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure ColorEditorPaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public | procedure ColorEditorPaintBoxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure ColorEditorPaintBoxPaint(Sender: TObject);
Public | procedure FrameResize(Sender: TObject);
Public | procedure GreenEditChange(Sender: TObject);
Public | procedure PAPreviewDblClick(Sender: TObject);
Public | procedure RedEditChange(Sender: TObject);
Public | procedure TBEChange(Sender: TObject);
Private | procedure ContentsChanged;
Private | procedure DragColorSliderToPosition(XPos : integer);
Private | procedure DrawContents;
Private | procedure SetColor(const val : THomogeneousFltVector);

Properties

Public | property Color : THomogeneousFltVector read GetColor write SetColor;
Published | property OnChange : TNotifyEvent read FOnChange write FOnChange;

Description

Fields

Public Label1: TLabel;
Public Label2: TLabel;
Public Label3: TLabel;
Public Label4: TLabel;
Public PAPreview: TPanel;
Public ColorDialog: TColorDialog;
Public Panel1: TPanel;
Public ColorEditorPaintBox: TPaintBox;
Public RedEdit: TEdit;
Public GreenEdit: TEdit;
Public BlueEdit: TEdit;
Public AlphaEdit: TEdit;
Private FOnChange: TNotifyEvent;
Private updating: Boolean;
Private WorkBitmap: tBitmap;
Private RedValue: Integer;
Private GreenValue: integer;
Private BlueValue: integer;
Private AlphaVAlue: integer;
Private DraggingValue: (None,Red,Green,Blue,Alpha);

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetColor: THomogeneousFltVector;
Public procedure AlphaEditChange(Sender: TObject);
Public procedure BlueEditChange(Sender: TObject);
Public procedure ColorEditorPaintBoxMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure ColorEditorPaintBoxMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public procedure ColorEditorPaintBoxMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure ColorEditorPaintBoxPaint(Sender: TObject);
Public procedure FrameResize(Sender: TObject);
Public procedure GreenEditChange(Sender: TObject);
Public procedure PAPreviewDblClick(Sender: TObject);
Public procedure RedEditChange(Sender: TObject);
Public procedure TBEChange(Sender: TObject);
Private procedure ContentsChanged;
Private procedure DragColorSliderToPosition(XPos : integer);
Private procedure DrawContents;
Private procedure SetColor(const val : THomogeneousFltVector);

Properties

Public property Color : THomogeneousFltVector read GetColor write SetColor;
Published property OnChange : TNotifyEvent read FOnChange write FOnChange;


GLSysHelp v.2.1: FRFaceEditor

Unit FRFaceEditor

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • System.Classes
  • System.SysUtils
  • System.ImageList
  • VCL.Forms
  • VCL.ComCtrls
  • VCL.StdCtrls
  • VCL.ImgList
  • VCL.Controls
  • VCL.Graphics
  • FRColorEditor
  • GLS.Texture
  • GLS.Material
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TRFaceEditor |


GLSysHelp v.2.1: FRFaceEditor: Class TRFaceEditor

Class TRFaceEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

FRFaceEditor

Declaration

type TRFaceEditor = class(TFrame)

Description

Hierarchy

  • TFrame
  • TRFaceEditor

Overview

Fields

Public | PageControl: TPageControl;
Public | TSAmbient: TTabSheet;
Public | TSDiffuse: TTabSheet;
Public | TSEmission: TTabSheet;
Public | TSSpecular: TTabSheet;
Public | CEAmbiant: TRColorEditor;
Public | Label1: TLabel;
Public | ImageList: TImageList;
Public | CEDiffuse: TRColorEditor;
Public | CEEmission: TRColorEditor;
Public | CESpecular: TRColorEditor;
Public | Edit: TEdit;
Public | TrackBar: TTrackBar;
Private | FOnChange: TNotifyEvent;
Private | Updating: Boolean;
Private | FFaceProperties: TGLFaceProperties;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetValue: Integer;
Private | function GetValueMax: Integer;
Private | function GetValueMin: Integer;
Public | procedure EditChange(Sender: TObject);
Public | procedure TBEShininessTrackBarChange(Sender: TObject);
Public | procedure TrackBarChange(Sender: TObject);
Private | procedure OnColorChange(Sender: TObject);
Private | procedure SetGLFaceProperties(const val: TGLFaceProperties);
Private | procedure SetValue(const val: Integer);
Private | procedure SetValueMax(const val: Integer);
Private | procedure SetValueMin(const val: Integer);

Properties

Public | property FaceProperties: TGLFaceProperties read FFaceProperties write SetGLFaceProperties;
Public | property OnChange: TNotifyEvent read FOnChange write FOnChange;
Public | property Value: Integer read GetValue write SetValue;
Public | property ValueMax: Integer read GetValueMax write SetValueMax;
Public | property ValueMin: Integer read GetValueMin write SetValueMin;

Description

Fields

Public PageControl: TPageControl;
Public TSAmbient: TTabSheet;
Public TSDiffuse: TTabSheet;
Public TSEmission: TTabSheet;
Public TSSpecular: TTabSheet;
Public CEAmbiant: TRColorEditor;
Public Label1: TLabel;
Public ImageList: TImageList;
Public CEDiffuse: TRColorEditor;
Public CEEmission: TRColorEditor;
Public CESpecular: TRColorEditor;
Public Edit: TEdit;
Public TrackBar: TTrackBar;
Private FOnChange: TNotifyEvent;
Private Updating: Boolean;
Private FFaceProperties: TGLFaceProperties;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetValue: Integer;
Private function GetValueMax: Integer;
Private function GetValueMin: Integer;
Public procedure EditChange(Sender: TObject);
Public procedure TBEShininessTrackBarChange(Sender: TObject);
Public procedure TrackBarChange(Sender: TObject);
Private procedure OnColorChange(Sender: TObject);
Private procedure SetGLFaceProperties(const val: TGLFaceProperties);
Private procedure SetValue(const val: Integer);
Private procedure SetValueMax(const val: Integer);
Private procedure SetValueMin(const val: Integer);

Properties

Public property FaceProperties: TGLFaceProperties read FFaceProperties write SetGLFaceProperties;
Public property OnChange: TNotifyEvent read FOnChange write FOnChange;
Public property Value: Integer read GetValue write SetValue;
Public property ValueMax: Integer read GetValueMax write SetValueMax;
Public property ValueMin: Integer read GetValueMin write SetValueMin;


GLSysHelp v.2.1: FRMaterialPreview

Unit FRMaterialPreview

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.Classes
  • VCL.Graphics
  • VCL.Forms
  • VCL.StdCtrls
  • VCL.ComCtrls
  • VCL.Controls
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.Objects
  • GLS.Texture
  • GLS.HudObjects
  • GLS.SceneViewer
  • GLS.GeomObjects
  • GLS.Color
  • GLS.Coordinates
  • GLS.BaseClasses
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TRMaterialPreview |


GLSysHelp v.2.1: FRMaterialPreview: Class TRMaterialPreview

Class TRMaterialPreview

Description
Hierarchy
Fields
Methods
Properties

Unit

FRMaterialPreview

Declaration

type TRMaterialPreview = class(TFrame)

Description

Hierarchy

  • TFrame
  • TRMaterialPreview

Overview

Fields

Public | GLScene: TGLScene;
Public | CBObject: TComboBox;
Public | Camera: TGLCamera;
Public | Cube: TGLCube;
Public | Sphere: TGLSphere;
Public | LightSource: TGLLightSource;
Public | CBBackground: TComboBox;
Public | BackGroundSprite: TGLHUDSprite;
Public | Cone: TGLCone;
Public | Teapot: TGLTeapot;
Public | World: TGLDummyCube;
Public | Light: TGLDummyCube;
Public | FireSphere: TGLSphere;
Public | GLMaterialLibrary: TGLMaterialLibrary;
Public | GLSceneViewer: TGLSceneViewer;
Private | FLibMaterial: TGLAbstractLibMaterial;

Methods

Public | constructor Create(AOwner: TComponent); override;
Private | function GetLibMaterial: TGLAbstractLibMaterial;
Private | function GetMaterial: TGLMaterial;
Public | procedure CBBackgroundChange(Sender: TObject);
Public | procedure CBObjectChange(Sender: TObject);
Public | procedure SceneViewerMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public | procedure SceneViewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public | procedure SceneViewerMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
Private | procedure SetLibMaterial(const Value: TGLAbstractLibMaterial);
Private | procedure SetMaterial(const Value: TGLMaterial);

Properties

Public | property LibMaterial: TGLAbstractLibMaterial read GetLibMaterial write SetLibMaterial;
Public | property Material: TGLMaterial read GetMaterial write SetMaterial;

Description

Fields

Public GLScene: TGLScene;
Public CBObject: TComboBox;
Public Camera: TGLCamera;
Public Cube: TGLCube;
Public Sphere: TGLSphere;
Public LightSource: TGLLightSource;
Public CBBackground: TComboBox;
Public BackGroundSprite: TGLHUDSprite;
Public Cone: TGLCone;
Public Teapot: TGLTeapot;
Public World: TGLDummyCube;
Public Light: TGLDummyCube;
Public FireSphere: TGLSphere;
Public GLMaterialLibrary: TGLMaterialLibrary;
Public GLSceneViewer: TGLSceneViewer;
Private FLibMaterial: TGLAbstractLibMaterial;

Methods

Public constructor Create(AOwner: TComponent); override;
Private function GetLibMaterial: TGLAbstractLibMaterial;
Private function GetMaterial: TGLMaterial;
Public procedure CBBackgroundChange(Sender: TObject);
Public procedure CBObjectChange(Sender: TObject);
Public procedure SceneViewerMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Public procedure SceneViewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Public procedure SceneViewerMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
Private procedure SetLibMaterial(const Value: TGLAbstractLibMaterial);
Private procedure SetMaterial(const Value: TGLMaterial);

Properties

Public property LibMaterial: TGLAbstractLibMaterial read GetLibMaterial write SetLibMaterial;
Public property Material: TGLMaterial read GetMaterial write SetMaterial;


GLSysHelp v.2.1: FRTextureEdit

Unit FRTextureEdit

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.TypInfo
  • VCL.Forms
  • VCL.StdCtrls
  • VCL.Buttons
  • VCL.Controls
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.Texture
  • GLS.State
  • GLS.TextureImageEditors

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TRTextureEdit |


GLSysHelp v.2.1: FRTextureEdit: Class TRTextureEdit

Class TRTextureEdit

Description
Hierarchy
Fields
Methods
Properties

Unit

FRTextureEdit

Declaration

type TRTextureEdit = class(TFrame)

Description

Hierarchy

  • TFrame
  • TRTextureEdit

Overview

Fields

Public | Label2: TLabel;
Public | SBEditImage: TSpeedButton;
Public | CBMagFilter: TComboBox;
Public | Label3: TLabel;
Public | Label4: TLabel;
Public | CBMinFilter: TComboBox;
Public | CBTextureMode: TComboBox;
Public | Label1: TLabel;
Public | Label5: TLabel;
Public | CBTextureWrap: TComboBox;
Public | CBDisabled: TCheckBox;
Public | CBImageClass: TComboBox;
Public | CBImageAlpha: TComboBox;
Public | Label6: TLabel;
Public | CBFilteringQuality: TComboBox;
Public | Label7: TLabel;
Private | FTexture: TGLTexture;
Private | FOnChange: TNotifyEvent;
Private | Changeing: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure CBDisabledClick(Sender: TObject);
Public | procedure CBFilteringQualityChange(Sender: TObject);
Public | procedure CBImageAlphaChange(Sender: TObject);
Public | procedure CBImageClassChange(Sender: TObject);
Public | procedure CBMagFilterChange(Sender: TObject);
Public | procedure CBMinFilterChange(Sender: TObject);
Public | procedure CBTextureModeChange(Sender: TObject);
Public | procedure CBTextureWrapChange(Sender: TObject);
Public | procedure SBEditImageClick(Sender: TObject);
Protected | procedure DoOnChange; virtual;
Protected | procedure SetTexture(const val: TGLTexture);

Properties

Public | property OnChange: TNotifyEvent read FOnChange write FOnChange;
Public | property Texture: TGLTexture read FTexture write SetTexture;

Description

Fields

Public Label2: TLabel;
Public SBEditImage: TSpeedButton;
Public CBMagFilter: TComboBox;
Public Label3: TLabel;
Public Label4: TLabel;
Public CBMinFilter: TComboBox;
Public CBTextureMode: TComboBox;
Public Label1: TLabel;
Public Label5: TLabel;
Public CBTextureWrap: TComboBox;
Public CBDisabled: TCheckBox;
Public CBImageClass: TComboBox;
Public CBImageAlpha: TComboBox;
Public Label6: TLabel;
Public CBFilteringQuality: TComboBox;
Public Label7: TLabel;
Private FTexture: TGLTexture;
Private FOnChange: TNotifyEvent;
Private Changeing: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure CBDisabledClick(Sender: TObject);
Public procedure CBFilteringQualityChange(Sender: TObject);
Public procedure CBImageAlphaChange(Sender: TObject);
Public procedure CBImageClassChange(Sender: TObject);
Public procedure CBMagFilterChange(Sender: TObject);
Public procedure CBMinFilterChange(Sender: TObject);
Public procedure CBTextureModeChange(Sender: TObject);
Public procedure CBTextureWrapChange(Sender: TObject);
Public procedure SBEditImageClick(Sender: TObject);
Protected procedure DoOnChange; virtual;
Protected procedure SetTexture(const val: TGLTexture);

Properties

Public property OnChange: TNotifyEvent read FOnChange write FOnChange;
Public property Texture: TGLTexture read FTexture write SetTexture;


GLSysHelp v.2.1: GLS.AnimatedSprite

Unit GLS.AnimatedSprite

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.PersistentClasses
  • GLS.XCollection
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.Context
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSpriteAnimFrame |
Class TGLSpriteAnimFrameList |
Class TGLSpriteAnimMargins |
Class TGLSpriteAnimation |
Class TGLSpriteAnimationList |
Class TGLAnimatedSprite |

Types

TGLSpriteAnimationMode = (...);
TGLSpriteFrameDimensions = (...);

Description

Types

TGLSpriteAnimationMode = (...);

Sets the current animation playback mode: samNone - No playback, the animation does not progress. samPlayOnce - Plays the animation once then switches to samNone. samLoop - Play the animation forward in a continuous loop. samLoopBackward - Same as samLoop but reversed direction. samBounceForward - Plays forward and switches to samBounceBackward when EndFrame is reached. samBounceBackward - Plays backward and switches to samBounceForward when StartFrame is reached.

Values
  • samNone
  • samPlayOnce
  • samLoop
  • samBounceForward
  • samBounceBackward
  • samLoopBackward
TGLSpriteFrameDimensions = (...);

Determines if the texture coordinates are Automatically generated from the Animations properties or if they are Manually set through the Frames collection.

Values
  • sfdAuto
  • sfdManual


GLSysHelp v.2.1: GLS.AnimatedSprite: Class TGLSpriteAnimFrame

Class TGLSpriteAnimFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AnimatedSprite

Declaration

type TGLSpriteAnimFrame = class(TXCollectionItem)

Description

Used by the SpriteAnimation when Dimensions are set manual. The animation will use the offsets, width and height to determine the texture coodinates for this frame.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLSpriteAnimFrame

Overview

Fields

Private | FOffsetX: Integer;
Private | FOffsetY: Integer;
Private | FWidth: Integer;
Private | FHeight: Integer;

Methods

Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetHeight(const Value: Integer);
Protected | procedure SetOffsetX(const Value: Integer);
Protected | procedure SetOffsetY(const Value: Integer);
Protected | procedure SetWidth(const Value: Integer);
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure DoChanged;

Properties

Published | property Height: Integer read FHeight write SetHeight;
Published | property OffsetX: Integer read FOffsetX write SetOffsetX;
Published | property OffsetY: Integer read FOffsetY write SetOffsetY;
Published | property Width: Integer read FWidth write SetWidth;

Description

Fields

Private FOffsetX: Integer;
Private FOffsetY: Integer;
Private FWidth: Integer;
Private FHeight: Integer;

Methods

Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetHeight(const Value: Integer);
Protected procedure SetOffsetX(const Value: Integer);
Protected procedure SetOffsetY(const Value: Integer);
Protected procedure SetWidth(const Value: Integer);
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure DoChanged;

Properties

Published property Height: Integer read FHeight write SetHeight;
Published property OffsetX: Integer read FOffsetX write SetOffsetX;
Published property OffsetY: Integer read FOffsetY write SetOffsetY;
Published property Width: Integer read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.AnimatedSprite: Class TGLSpriteAnimFrameList

Class TGLSpriteAnimFrameList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AnimatedSprite

Declaration

type TGLSpriteAnimFrameList = class(TXCollection)

Description

No description available, ancestor TXCollection description follows

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLSpriteAnimFrameList

Overview

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | class function ItemsClass: TXCollectionItemClass; override;

Description

Methods

Public constructor Create(aOwner: TPersistent); override;
Public class function ItemsClass: TXCollectionItemClass; override;


GLSysHelp v.2.1: GLS.AnimatedSprite: Class TGLSpriteAnimMargins

Class TGLSpriteAnimMargins

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AnimatedSprite

Declaration

type TGLSpriteAnimMargins = class(TPersistent)

Description

Used to mask the auto generated frames. The Left, Top, Right and Bottom properties determines the number of pixels to be cropped from each corresponding side of the frame. Only applicable to auto dimensions.

Hierarchy

  • TObject
  • TPersistent
  • TGLSpriteAnimMargins

Overview

Fields

Private | FOwner: TGLSpriteAnimation;
Private | FLeft: Integer;
Private | FTop: Integer;
Private | FRight: Integer;
Private | FBottom: Integer;

Methods

Public | constructor Create(Animation: TGLSpriteAnimation);
Protected | procedure DoChanged;
Protected | procedure SetBottom(const Value: Integer);
Protected | procedure SetLeft(const Value: Integer);
Protected | procedure SetRight(const Value: Integer);
Protected | procedure SetTop(const Value: Integer);

Properties

Published | property Bottom: Integer read FBottom write SetBottom;
Published | property Left: Integer read FLeft write SetLeft;
Public | property Owner: TGLSpriteAnimation read FOwner;
Published | property Right: Integer read FRight write SetRight;
Published | property Top: Integer read FTop write SetTop;

Description

Fields

Private FOwner: TGLSpriteAnimation;
Private FLeft: Integer;
Private FTop: Integer;
Private FRight: Integer;
Private FBottom: Integer;

Methods

Public constructor Create(Animation: TGLSpriteAnimation);
Protected procedure DoChanged;
Protected procedure SetBottom(const Value: Integer);
Protected procedure SetLeft(const Value: Integer);
Protected procedure SetRight(const Value: Integer);
Protected procedure SetTop(const Value: Integer);

Properties

Published property Bottom: Integer read FBottom write SetBottom;
Published property Left: Integer read FLeft write SetLeft;
Public property Owner: TGLSpriteAnimation read FOwner;
Published property Right: Integer read FRight write SetRight;
Published property Top: Integer read FTop write SetTop;


GLSysHelp v.2.1: GLS.AnimatedSprite: Class TGLSpriteAnimation

Class TGLSpriteAnimation

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AnimatedSprite

Declaration

type TGLSpriteAnimation = class(TXCollectionItem, IGLMaterialLibrarySupported)

Description

Animations define how the texture coordinates for each offset are to be determined.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLSpriteAnimation

Overview

Fields

Private | FCurrentFrame: Integer;
Private | FStartFrame: Integer;
Private | FEndFrame: Integer;
Private | FFrameWidth: Integer;
Private | FFrameHeight: Integer;
Private | FInterval: Integer;
Private | FFrames: TGLSpriteAnimFrameList;
Private | FLibMaterialName: TGLLibMaterialName;
Private | FLibMaterialCached: TGLLibMaterial;
Private | FDimensions: TGLSpriteFrameDimensions;
Private | FMargins: TGLSpriteAnimMargins;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Protected | function GetFrameRate: Single;
Protected | function GetLibMaterialCached: TGLLibMaterial;
Protected | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetCurrentFrame(const Value: Integer);
Protected | procedure SetDimensions(const Value: TGLSpriteFrameDimensions);
Protected | procedure SetFrameHeight(const Value: Integer);
Protected | procedure SetFrameRate(const Value: Single);
Protected | procedure SetFrameWidth(const Value: Integer);
Protected | procedure SetInterval(const Value: Integer);
Protected | procedure SetLibMaterialName(const val: TGLLibMaterialName);
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure DoChanged;

Properties

Published | property CurrentFrame: Integer read FCurrentFrame write SetCurrentFrame;
Published | property Dimensions: TGLSpriteFrameDimensions read FDimensions write SetDimensions;
Published | property EndFrame: Integer read FEndFrame write FEndFrame;
Published | property FrameHeight: Integer read FFrameHeight write SetFrameHeight;
Published | property FrameRate: Single read GetFrameRate write SetFrameRate;
Published | property Frames: TGLSpriteAnimFrameList read FFrames;
Published | property FrameWidth: Integer read FFrameWidth write SetFrameWidth;
Published | property Interval: Integer read FInterval write SetInterval;
Public | property LibMaterialCached: TGLLibMaterial read GetLibMaterialCached;
Published | property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;
Published | property Margins: TGLSpriteAnimMargins read FMargins;
Published | property StartFrame: Integer read FStartFrame write FStartFrame;

Description

Fields

Private FCurrentFrame: Integer;
Private FStartFrame: Integer;
Private FEndFrame: Integer;
Private FFrameWidth: Integer;
Private FFrameHeight: Integer;
Private FInterval: Integer;
Private FFrames: TGLSpriteAnimFrameList;
Private FLibMaterialName: TGLLibMaterialName;
Private FLibMaterialCached: TGLLibMaterial;
Private FDimensions: TGLSpriteFrameDimensions;
Private FMargins: TGLSpriteAnimMargins;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Protected function GetFrameRate: Single;
Protected function GetLibMaterialCached: TGLLibMaterial;
Protected function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetCurrentFrame(const Value: Integer);
Protected procedure SetDimensions(const Value: TGLSpriteFrameDimensions);
Protected procedure SetFrameHeight(const Value: Integer);
Protected procedure SetFrameRate(const Value: Single);
Protected procedure SetFrameWidth(const Value: Integer);
Protected procedure SetInterval(const Value: Integer);
Protected procedure SetLibMaterialName(const val: TGLLibMaterialName);
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure DoChanged;

Properties

Published property CurrentFrame: Integer read FCurrentFrame write SetCurrentFrame;

The current showing frame for this animation.

Published property Dimensions: TGLSpriteFrameDimensions read FDimensions write SetDimensions;

Automatic or manual texture coordinate generation.

Published property EndFrame: Integer read FEndFrame write FEndFrame;

Defines the ending frame for auto dimension animations.

Published property FrameHeight: Integer read FFrameHeight write SetFrameHeight;

Height of each frame in an auto dimension animation.

Published property FrameRate: Single read GetFrameRate write SetFrameRate;

The number of frames per second for the animation. Will automatically calculate the Interval value when set. Precision will depend on Interval since Interval has priority.

Published property Frames: TGLSpriteAnimFrameList read FFrames;

Manual dimension animation frames. Stores the offsets and dimensions for each frame in the animation.

Published property FrameWidth: Integer read FFrameWidth write SetFrameWidth;

Width of each frame in an auto dimension animation.

Published property Interval: Integer read FInterval write SetInterval;

The number of milliseconds between each frame in the animation. Will automatically calculate the FrameRate value when set. Will override the TGLAnimatedSprite Interval is greater than zero.

Public property LibMaterialCached: TGLLibMaterial read GetLibMaterialCached;
Published property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;

The name of the lib material the sprites associated material library for this animation.

Published property Margins: TGLSpriteAnimMargins read FMargins;

Sets cropping margins for auto dimension animations.

Published property StartFrame: Integer read FStartFrame write FStartFrame;

Defines the starting frame for auto dimension animations.


GLSysHelp v.2.1: GLS.AnimatedSprite: Class TGLSpriteAnimationList

Class TGLSpriteAnimationList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AnimatedSprite

Declaration

type TGLSpriteAnimationList = class(TXCollection)

Description

A collection for storing SpriteAnimation objects.

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLSpriteAnimationList

Overview

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | class function ItemsClass: TXCollectionItemClass; override;

Description

Methods

Public constructor Create(aOwner: TPersistent); override;
Public class function ItemsClass: TXCollectionItemClass; override;


GLSysHelp v.2.1: GLS.AnimatedSprite: Class TGLAnimatedSprite

Class TGLAnimatedSprite

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AnimatedSprite

Declaration

type TGLAnimatedSprite = class(TGLBaseSceneObject)

Description

An animated version for using offset texture coordinate animation.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLAnimatedSprite

Overview

Fields

Private | FAnimations: TGLSpriteAnimationList;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FAnimationIndex: Integer;
Private | FInterval: Integer;
Private | FRotation: Integer;
Private | FPixelRatio: Integer;
Private | FMirrorU: Boolean;
Private | FMirrorV: Boolean;
Private | FAnimationMode: TGLSpriteAnimationMode;
Private | FCurrentFrameDelta: Double;
Private | FOnFrameChanged: TNotifyEvent;
Private | FOnEndFrameReached: TNotifyEvent;
Private | FOnStartFrameReached: TNotifyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetFrameRate: Single;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure NextFrame;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadAnimations(Stream: TStream);
Protected | procedure SetAnimationIndex(const val: Integer);
Protected | procedure SetAnimationMode(const val: TGLSpriteAnimationMode);
Protected | procedure SetFrameRate(const Value: Single);
Protected | procedure SetInterval(const val: Integer);
Protected | procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Protected | procedure SetMirrorU(const val: Boolean);
Protected | procedure SetMirrorV(const val: Boolean);
Protected | procedure SetPixelRatio(const val: Integer);
Protected | procedure SetRotation(const val: Integer);
Protected | procedure WriteAnimations(Stream: TStream);

Properties

Published | property AnimationIndex: Integer read FAnimationIndex write SetAnimationIndex;
Published | property AnimationMode: TGLSpriteAnimationMode read FAnimationMode write SetAnimationMode;
Published | property Animations: TGLSpriteAnimationList read FAnimations;
Published | property FrameRate: Single read GetFrameRate write SetFrameRate;
Published | property Interval: Integer read FInterval write SetInterval;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property MirrorU: Boolean read FMirrorU write SetMirrorU;
Published | property MirrorV: Boolean read FMirrorV write SetMirrorV;
Published | property OnEndFrameReached: TNotifyEvent read FOnEndFrameReached write FOnEndFrameReached;
Published | property OnFrameChanged: TNotifyEvent read FOnFrameChanged write FOnFrameChanged;
Published | property OnStartFrameReached: TNotifyEvent read FOnStartFrameReached write FOnStartFrameReached;
Published | property PixelRatio: Integer read FPixelRatio write SetPixelRatio;
Published | property Position;
Published | property Rotation: Integer read FRotation write SetRotation;
Published | property Scale;
Published | property Visible;

Description

Fields

Private FAnimations: TGLSpriteAnimationList;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FAnimationIndex: Integer;
Private FInterval: Integer;
Private FRotation: Integer;
Private FPixelRatio: Integer;
Private FMirrorU: Boolean;
Private FMirrorV: Boolean;
Private FAnimationMode: TGLSpriteAnimationMode;
Private FCurrentFrameDelta: Double;
Private FOnFrameChanged: TNotifyEvent;
Private FOnEndFrameReached: TNotifyEvent;
Private FOnStartFrameReached: TNotifyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetFrameRate: Single;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure NextFrame;

Steps the current animation to the next frame

Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadAnimations(Stream: TStream);
Protected procedure SetAnimationIndex(const val: Integer);
Protected procedure SetAnimationMode(const val: TGLSpriteAnimationMode);
Protected procedure SetFrameRate(const Value: Single);
Protected procedure SetInterval(const val: Integer);
Protected procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Protected procedure SetMirrorU(const val: Boolean);
Protected procedure SetMirrorV(const val: Boolean);
Protected procedure SetPixelRatio(const val: Integer);
Protected procedure SetRotation(const val: Integer);
Protected procedure WriteAnimations(Stream: TStream);

Properties

Published property AnimationIndex: Integer read FAnimationIndex write SetAnimationIndex;

Index of the sprite animation to be used.

Published property AnimationMode: TGLSpriteAnimationMode read FAnimationMode write SetAnimationMode;

Playback mode for the current animation.

Published property Animations: TGLSpriteAnimationList read FAnimations;

A collection of animations. Stores the settings for animating then sprite.

Published property FrameRate: Single read GetFrameRate write SetFrameRate;

Sets the frames per second for the current animation. Automatically calculates the Interval. Precision will be restricted to the values of Interval since Interval takes priority.

Published property Interval: Integer read FInterval write SetInterval;

Sets the number of milliseconds between each frame. Will recalculate the Framerate when set. Will be overridden by the TGLSpriteAnimation Interval if it is greater than zero.

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

The material library that stores the lib materials for the animations.

Published property MirrorU: Boolean read FMirrorU write SetMirrorU;

Mirror the generated texture coords in the U axis.

Published property MirrorV: Boolean read FMirrorV write SetMirrorV;

Mirror the generated texture coords in the V axis.

Published property OnEndFrameReached: TNotifyEvent read FOnEndFrameReached write FOnEndFrameReached;

An event fired when the animation reaches the end frame.

Published property OnFrameChanged: TNotifyEvent read FOnFrameChanged write FOnFrameChanged;

An event fired when the animation changes to it's next frame.

Published property OnStartFrameReached: TNotifyEvent read FOnStartFrameReached write FOnStartFrameReached;

An event fired when the animation reaches the start frame.

Published property PixelRatio: Integer read FPixelRatio write SetPixelRatio;

Used to automatically calculate the width and height of a sprite based on the size of the frame it is showing. For example, if PixelRatio is set to 100 and the current animation frame is 100 pixels wide it will set the width of the sprite to 1. If the frame is 50 pixels width the sprite will be 0.5 wide.

Published property Position;
Published property Rotation: Integer read FRotation write SetRotation;

Rotates the sprite (in degrees).

Published property Scale;
Published property Visible;


GLSysHelp v.2.1: GLS.AnimationUtils

Unit GLS.AnimationUtils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Classes
  • System.Math
  • GLS.VectorTypes
  • GLS.VectorGeometry

Overview

Functions and Procedures

function Tweener(Current, Target: TAffineVector; Time, Duration: Single; EaseType: TEaseType): TAffineVector; overload;
function Tweener(Current, Target: TGLVector; Time, Duration: Single; EaseType: TEaseType): TGLVector; overload;
function Tweener(Current, Target: TVector2f; Time, Duration: Single; EaseType: TEaseType): TVector2f; overload;
function Tweener(Current, Target: Single; Time, Duration: Single; EaseType: TEaseType): Single; overload;

Types

TEaseType = (...);

Description

Functions and Procedures

function Tweener(Current, Target: TAffineVector; Time, Duration: Single; EaseType: TEaseType): TAffineVector; overload;
function Tweener(Current, Target: TGLVector; Time, Duration: Single; EaseType: TEaseType): TGLVector; overload;
function Tweener(Current, Target: TVector2f; Time, Duration: Single; EaseType: TEaseType): TVector2f; overload;
function Tweener(Current, Target: Single; Time, Duration: Single; EaseType: TEaseType): Single; overload;

Types

TEaseType = (...);
Values
  • etLinear
  • etQuadIn
  • etQuadOut
  • etQuadInOut
  • etQuadOutIn
  • etCubicIn
  • etCubicOut
  • etCubicInOut
  • etCubicOutIn
  • etQuintIn
  • etQuintOut
  • etQuintInOut
  • etQuintOutIn
  • etSineIn
  • etSineOut
  • etSineInOut
  • etSineOutIn
  • etCircIn
  • etCircOut
  • etCircInOut
  • etCircOutIn
  • etExpoIn
  • etExpoOut
  • etExpoInOut
  • etExpoOutIn
  • etElasticIn
  • etElasticOut
  • etElasticInOut
  • etElasticOutIn
  • etBackIn
  • etBackOut
  • etBackInOut
  • etBackOutIn
  • etBounceIn
  • etBounceOut
  • etBounceInOut
  • etBounceOutIn


GLSysHelp v.2.1: GLS.ApplicationFileIO

Unit GLS.ApplicationFileIO

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • GLS.BaseClasses
  • GLS.Strings
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLApplicationFileIO |
Class TGLDataFile |

Functions and Procedures

function ApplicationFileIODefined: Boolean;
function FileStreamExists(const fileName: string): Boolean;
function CreateResourceStream(const ResName: string; ResType: PChar) : TGLResourceStream;
function StrToGLSResType(const AStrRes: string): TGLApplicationResource;

Types

TAFIOCreateFileStream = function(const fileName: string; mode: Word): TStream;
TAFIOFileStreamEvent = procedure(const fileName: String; mode: Word; var Stream: TStream) of object;
TAFIOFileStreamExists = function(const fileName: string): Boolean;
TAFIOFileStreamExistsEvent = function(const fileName: string) : Boolean of object;
TGLApplicationResource = (...);
TGLDataFileCapabilities = set of TGLDataFileCapability;
TGLDataFileCapability = (...);
TGLDataFileClass = class of TGLDataFile;
TGLResourceStream = TResourceStream;

Constants

GLS_RC_DDS_Type = RT_RCDATA;
GLS_RC_JPG_Type = RT_RCDATA;
GLS_RC_XML_Type = RT_RCDATA;
GLS_RC_String_Type = RT_RCDATA;

Variables

vAFIOCreateFileStream: TAFIOCreateFileStream = nil;
vAFIOFileStreamExists: TAFIOFileStreamExists = nil;

Description

Functions and Procedures

function ApplicationFileIODefined: Boolean;

Returns true if an ApplicationFileIO has been defined

function FileStreamExists(const fileName: string): Boolean;

Queries is a file stream corresponding to the fileName exists.

function CreateResourceStream(const ResName: string; ResType: PChar) : TGLResourceStream;
function StrToGLSResType(const AStrRes: string): TGLApplicationResource;

Types

TAFIOCreateFileStream = function(const fileName: string; mode: Word): TStream;
TAFIOFileStreamEvent = procedure(const fileName: String; mode: Word; var Stream: TStream) of object;
TAFIOFileStreamExists = function(const fileName: string): Boolean;
TAFIOFileStreamExistsEvent = function(const fileName: string) : Boolean of object;
TGLApplicationResource = (...);
Values
  • aresNone
  • aresSplash
  • aresTexture
  • aresMaterial
  • aresSampler
  • aresFont
  • aresMesh
TGLDataFileCapabilities = set of TGLDataFileCapability;
TGLDataFileCapability = (...);
Values
  • dfcRead
  • dfcWrite
TGLDataFileClass = class of TGLDataFile;
TGLResourceStream = TResourceStream;

Constants

GLS_RC_DDS_Type = RT_RCDATA;
GLS_RC_JPG_Type = RT_RCDATA;
GLS_RC_XML_Type = RT_RCDATA;
GLS_RC_String_Type = RT_RCDATA;

Variables

vAFIOCreateFileStream: TAFIOCreateFileStream = nil;
vAFIOFileStreamExists: TAFIOFileStreamExists = nil;


GLSysHelp v.2.1: GLS.ApplicationFileIO: Class TGLApplicationFileIO

Class TGLApplicationFileIO

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ApplicationFileIO

Declaration

type TGLApplicationFileIO = class(TComponent)

Description

Allows specifying a custom behaviour for CreateFileStream. The component should be considered a helper only, you can directly specify a function via the vAFIOCreateFileStream variable. If multiple ApplicationFileIO components exist in the application, the last one created will be the active one.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLApplicationFileIO

Overview

Fields

Private | FOnFileStream: TAFIOFileStreamEvent;
Private | FOnFileStreamExists: TAFIOFileStreamExistsEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;

Properties

Published | property OnFileStream: TAFIOFileStreamEvent read FOnFileStream write FOnFileStream;
Published | property OnFileStreamExists: TAFIOFileStreamExistsEvent read FOnFileStreamExists write FOnFileStreamExists;

Description

Fields

Private FOnFileStream: TAFIOFileStreamEvent;
Private FOnFileStreamExists: TAFIOFileStreamExistsEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;

Properties

Published property OnFileStream: TAFIOFileStreamEvent read FOnFileStream write FOnFileStream;

Event that allows you to specify a stream for the file. Destruction of the stream is at the discretion of the code that invoked CreateFileStream. Return nil to let the default mechanism take place (ie. attempt a regular file system access).

Published property OnFileStreamExists: TAFIOFileStreamExistsEvent read FOnFileStreamExists write FOnFileStreamExists;

Event that allows you to specify if a stream for the file exists.


GLSysHelp v.2.1: GLS.ApplicationFileIO: Class TGLDataFile

Class TGLDataFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ApplicationFileIO

Declaration

type TGLDataFile = class(TGLUpdateAbleObject)

Description

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile

Overview

Fields

Private FResourceName: string;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; virtual;
Public | function CreateCopy(AOwner: TPersistent): TGLDataFile; virtual;
Public | procedure Initialize; virtual;
Public | procedure LoadFromFile(const fileName: string); virtual;
Public | procedure LoadFromStream(Stream: TStream); virtual;
Public | procedure SaveToFile(const fileName: string); virtual;
Public | procedure SaveToStream(Stream: TStream); virtual;
Private | procedure SetResourceName(const AName: string);

Properties

Public property ResourceName: string read FResourceName write SetResourceName;

Description

Fields

Private FResourceName: string;

Methods

Public class function Capabilities: TGLDataFileCapabilities; virtual;

Describes what the TGLDataFile is capable of. Default value is [dfcRead].

Public function CreateCopy(AOwner: TPersistent): TGLDataFile; virtual;

Duplicates Self and returns a copy. Subclasses should override this method to duplicate their data.

Public procedure Initialize; virtual;
Public procedure LoadFromFile(const fileName: string); virtual;
Public procedure LoadFromStream(Stream: TStream); virtual;
Public procedure SaveToFile(const fileName: string); virtual;
Public procedure SaveToStream(Stream: TStream); virtual;
Private procedure SetResourceName(const AName: string);

Properties

Public property ResourceName: string read FResourceName write SetResourceName;

Optionnal resource name. When using LoadFromFile/SaveToFile, the filename is placed in it, when using the Stream variants, the caller may place the resource name in it for parser use.


GLSysHelp v.2.1: GLS.ArchiveManager

Unit GLS.ArchiveManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.ApplicationFileIO
  • GLS.PersistentClasses
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseArchive |
Class TArchiveFileFormat |
Class TGLArchiveFileFormatsList |
Class TLibArchive |
Class TLibArchives |
Class TGLSArchiveManager |
Class EInvalidArchiveFile |

Functions and Procedures

function GetArchiveFileFormats: TGLArchiveFileFormatsList;
procedure RegisterArchiveFormat(const AExtension, ADescription: string; AClass: TGLBaseArchiveClass);
procedure UnregisterArchiveFormat(AClass: TGLBaseArchiveClass);
function GetArchiveManager: TGLSArchiveManager;
function ArcCreateFileStream(const FileName: string; mode: word): TStream;
function ArcFileStreamExists(const FileName: string): boolean;

Types

TCompressionLevel = (...);
TGLBaseArchiveClass = class of TGLBaseArchive;

Description

Functions and Procedures

function GetArchiveFileFormats: TGLArchiveFileFormatsList;

getting a class of accessed archiver

procedure RegisterArchiveFormat(const AExtension, ADescription: string; AClass: TGLBaseArchiveClass);
procedure UnregisterArchiveFormat(AClass: TGLBaseArchiveClass);
function GetArchiveManager: TGLSArchiveManager;

Caution!!! Work for one archive manager only

function ArcCreateFileStream(const FileName: string; mode: word): TStream;

GLS.ApplicationFileIO These functions are used to automate loading User enters LoadFromFile and through these functions gets the result

function ArcFileStreamExists(const FileName: string): boolean;

Types

TCompressionLevel = (...);
Values
  • clNone
  • clFastest
  • clDefault
  • clMax
  • clLevel1
  • clLevel2
  • clLevel3
  • clLevel4
  • clLevel5
  • clLevel6
  • clLevel7
  • clLevel8
  • clLevel9
TGLBaseArchiveClass = class of TGLBaseArchive;


GLSysHelp v.2.1: GLS.ArchiveManager: Class TGLBaseArchive

Class TGLBaseArchive

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type TGLBaseArchive = class(TGLDataFile)

Description

BaseArchive class

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseArchive

Overview

Fields

Protected | FFileName: string;
Protected | FContentList: TStrings;
Protected | FCompressionLevel: TCompressionLevel;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function ContentExists(ContentName: string): boolean; virtual; abstract;
Public | function GetContent(ContentName: string): TStream; overload; virtual; abstract;
Public | function GetContent(index: integer): TStream; overload; virtual; abstract;
Public | function GetContent(Stream: TStream; index: integer): TStream; overload; virtual; abstract;
Public | function GetContentSize(index: integer): integer; overload; virtual; abstract;
Public | function GetContentSize(ContentName: string): integer; overload; virtual; abstract;
Public | procedure AddFromFile(FileName, Path: string); virtual; abstract;
Public | procedure AddFromStream(ContentName, Path: string; FS: TStream); virtual; abstract;
Public | procedure Clear; virtual; abstract;
Public | procedure Extract(index: integer; NewName: string); overload; virtual; abstract;
Public | procedure Extract(ContentName, NewName: string); overload; virtual; abstract;
Public | procedure RemoveContent(ContentName: string); overload; virtual; abstract;
Public | procedure RemoveContent(index: integer); overload; virtual; abstract;
Protected | Procedure SetCompressionLevel(aValue: TCompressionLevel); Virtual;

Properties

Public | property CompressionLevel: TCompressionLevel read FCompressionLevel write SetCompressionLevel default clNone;
Public | property ContentList: TStrings read FContentList;

Description

Fields

Protected FFileName: string;
Protected FContentList: TStrings;
Protected FCompressionLevel: TCompressionLevel;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function ContentExists(ContentName: string): boolean; virtual; abstract;
Public function GetContent(ContentName: string): TStream; overload; virtual; abstract;
Public function GetContent(index: integer): TStream; overload; virtual; abstract;
Public function GetContent(Stream: TStream; index: integer): TStream; overload; virtual; abstract;
Public function GetContentSize(index: integer): integer; overload; virtual; abstract;
Public function GetContentSize(ContentName: string): integer; overload; virtual; abstract;
Public procedure AddFromFile(FileName, Path: string); virtual; abstract;
Public procedure AddFromStream(ContentName, Path: string; FS: TStream); virtual; abstract;
Public procedure Clear; virtual; abstract;
Public procedure Extract(index: integer; NewName: string); overload; virtual; abstract;
Public procedure Extract(ContentName, NewName: string); overload; virtual; abstract;
Public procedure RemoveContent(ContentName: string); overload; virtual; abstract;
Public procedure RemoveContent(index: integer); overload; virtual; abstract;
Protected Procedure SetCompressionLevel(aValue: TCompressionLevel); Virtual;

Properties

Public property CompressionLevel: TCompressionLevel read FCompressionLevel write SetCompressionLevel default clNone;
Public property ContentList: TStrings read FContentList;


GLSysHelp v.2.1: GLS.ArchiveManager: Class TArchiveFileFormat

Class TArchiveFileFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type TArchiveFileFormat = class(TObject)

Description

The type to record a registered class

Hierarchy

  • TObject
  • TArchiveFileFormat

Overview

Fields

Public | BaseArchiveClass: TGLBaseArchiveClass;
Public | Extension: string;
Public | Description: string;
Public | DescResID: integer;

Description

Fields

Public BaseArchiveClass: TGLBaseArchiveClass;
Public Extension: string;
Public Description: string;
Public DescResID: integer;


GLSysHelp v.2.1: GLS.ArchiveManager: Class TGLArchiveFileFormatsList

Class TGLArchiveFileFormatsList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type TGLArchiveFileFormatsList = class(TPersistentObjectList)

Description

The list of registered classes

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLArchiveFileFormatsList

Overview

Methods

Public | destructor Destroy; override;
Public | function FindExt(Ext: string): TGLBaseArchiveClass;
Public | function FindFromFileName(const FileName: string): TGLBaseArchiveClass;
Public | procedure Add(const Ext, Desc: string; DescID: integer; AClass: TGLBaseArchiveClass);
Public | procedure Remove(AClass: TGLBaseArchiveClass);

Description

Methods

Public destructor Destroy; override;
Public function FindExt(Ext: string): TGLBaseArchiveClass;
Public function FindFromFileName(const FileName: string): TGLBaseArchiveClass;
Public procedure Add(const Ext, Desc: string; DescID: integer; AClass: TGLBaseArchiveClass);
Public procedure Remove(AClass: TGLBaseArchiveClass);


GLSysHelp v.2.1: GLS.ArchiveManager: Class TLibArchive

Class TLibArchive

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type TLibArchive = class(TCollectionItem)

Description

Using the collection item for simultaneous work with several archives

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TLibArchive

Overview

Fields

Private | vArchive: TGLBaseArchive;
Private | ArcClass: TGLBaseArchiveClass;
Private | FFileName: string;
Private | FName: string;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Public | function ContentExists(aContentName: string): boolean;
Public | function GetContent(aindex: integer): TStream; overload;
Public | function GetContent(aContentName: string): TStream; overload;
Public | function GetContentSize(aindex: integer): integer; overload;
Public | function GetContentSize(aContentName: string): integer; overload;
Protected | function GetDisplayName: string; override;
Private | function GetCompressionLevel: TCompressionLevel;
Private | function GetContentList: TStrings;
Public | procedure AddFromFile(aFileName, aPath: string); overload;
Public | procedure AddFromFile(aFileName: string); overload;
Public | procedure AddFromStream(aContentName, aPath: string; aF: TStream); overload;
Public | procedure AddFromStream(aContentName: string; aF: TStream); overload;
Public | procedure Clear;
Public | procedure CreateArchive(FileName: string; OverwriteExistingFile: boolean = False);
Public | procedure Extract(aindex: integer; aNewName: string); overload;
Public | procedure Extract(aContentName, aNewName: string); overload;
Public | procedure LoadFromFile(aFileName: string); overload;
Public | procedure LoadFromFile(aFileName, aAchiverType: string); overload;
Public | procedure RemoveContent(aContentName: string); overload;
Public | procedure RemoveContent(aindex: integer); overload;
Private | procedure SetCompressionLevel(aValue: TCompressionLevel);
Private | procedure SetName(const val: string);

Properties

Public | property CompressionLevel: TCompressionLevel read GetCompressionLevel write SetCompressionLevel default clDefault;
Public | property ContentList: TStrings read GetContentList;
Public | property FileName: string read FFileName;
Published | property Name: string read FName write SetName;

Description

Fields

Private vArchive: TGLBaseArchive;
Private ArcClass: TGLBaseArchiveClass;
Private FFileName: string;
Private FName: string;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Public function ContentExists(aContentName: string): boolean;
Public function GetContent(aindex: integer): TStream; overload;
Public function GetContent(aContentName: string): TStream; overload;
Public function GetContentSize(aindex: integer): integer; overload;
Public function GetContentSize(aContentName: string): integer; overload;
Protected function GetDisplayName: string; override;
Private function GetCompressionLevel: TCompressionLevel;
Private function GetContentList: TStrings;
Public procedure AddFromFile(aFileName, aPath: string); overload;
Public procedure AddFromFile(aFileName: string); overload;
Public procedure AddFromStream(aContentName, aPath: string; aF: TStream); overload;
Public procedure AddFromStream(aContentName: string; aF: TStream); overload;
Public procedure Clear;
Public procedure CreateArchive(FileName: string; OverwriteExistingFile: boolean = False);
Public procedure Extract(aindex: integer; aNewName: string); overload;
Public procedure Extract(aContentName, aNewName: string); overload;
Public procedure LoadFromFile(aFileName: string); overload;
Public procedure LoadFromFile(aFileName, aAchiverType: string); overload;
Public procedure RemoveContent(aContentName: string); overload;
Public procedure RemoveContent(aindex: integer); overload;
Private procedure SetCompressionLevel(aValue: TCompressionLevel);
Private procedure SetName(const val: string);

Properties

Public property CompressionLevel: TCompressionLevel read GetCompressionLevel write SetCompressionLevel default clDefault;
Public property ContentList: TStrings read GetContentList;
Public property FileName: string read FFileName;
Published property Name: string read FName write SetName;


GLSysHelp v.2.1: GLS.ArchiveManager: Class TLibArchives

Class TLibArchives

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type TLibArchives = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TLibArchives

Overview

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TLibArchive;
Public | function FindItemID(ID: integer): TLibArchive;
Public | function GetArchiveByFileName(const AName: string): TLibArchive;
Public | function GetFileNameOfArchive(aValue: TLibArchive): string;
Public | function GetLibArchiveByName(const AName: string): TLibArchive;
Public | function GetNameOfLibArchive(const Archive: TLibArchive): string;
Public | function IndexOf(const Item: TLibArchive): integer;
Public | function MakeUniqueName(const nameRoot: string): string;
Public | function Owner: TPersistent;
Protected | function GetItems(index: integer): TLibArchive;
Protected | procedure SetItems(index: integer; const val: TLibArchive);

Properties

Public property Items[index:integer]: TLibArchive read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TLibArchive;
Public function FindItemID(ID: integer): TLibArchive;
Public function GetArchiveByFileName(const AName: string): TLibArchive;

searching archiver by name

Public function GetFileNameOfArchive(aValue: TLibArchive): string;
Public function GetLibArchiveByName(const AName: string): TLibArchive;
Public function GetNameOfLibArchive(const Archive: TLibArchive): string;
Public function IndexOf(const Item: TLibArchive): integer;
Public function MakeUniqueName(const nameRoot: string): string;

searching needed item

Public function Owner: TPersistent;
Protected function GetItems(index: integer): TLibArchive;
Protected procedure SetItems(index: integer; const val: TLibArchive);

Properties

Public property Items[index:integer]: TLibArchive read GetItems write SetItems;


GLSysHelp v.2.1: GLS.ArchiveManager: Class TGLSArchiveManager

Class TGLSArchiveManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type TGLSArchiveManager = class(TComponent)

Description

ArchiveManager class

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSArchiveManager

Overview

Fields

Private FArchives: TLibArchives;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ContentExists(aContentName: string): boolean;
Public | function GetArchiveByFileName(const AName: string): TLibArchive;
Public | function GetContent(aContentName: string): TStream;
Public | function GetFileNameOfArchive(const aArchive: TLibArchive): string;
Public | function OpenArchive(aFileName, aAchiverType: string): TLibArchive; overload;
Public | function OpenArchive(aFileName: string): TLibArchive; overload;
Public | procedure CloseArchive(aArchive: TLibArchive);
Private | Procedure SetArchives(aValue: TLibArchives);

Properties

Published property Archives: TLibArchives read FArchives write SetArchives;

Description

Fields

Private FArchives: TLibArchives;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function ContentExists(aContentName: string): boolean;
Public function GetArchiveByFileName(const AName: string): TLibArchive;
Public function GetContent(aContentName: string): TStream;
Public function GetFileNameOfArchive(const aArchive: TLibArchive): string;
Public function OpenArchive(aFileName, aAchiverType: string): TLibArchive; overload;
Public function OpenArchive(aFileName: string): TLibArchive; overload;
Public procedure CloseArchive(aArchive: TLibArchive);
Private Procedure SetArchives(aValue: TLibArchives);

Properties

Published property Archives: TLibArchives read FArchives write SetArchives;


GLSysHelp v.2.1: GLS.ArchiveManager: Class EInvalidArchiveFile

Class EInvalidArchiveFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ArchiveManager

Declaration

type EInvalidArchiveFile = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EInvalidArchiveFile


GLSysHelp v.2.1: GLS.AsyncHDS

Unit GLS.AsyncHDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.HeightData

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLAsyncHDS |
Class TGLAsyncHDThread |

Types

TIdleEvent = procedure(Sender:TGLAsyncHDS;TilesUpdated:boolean) of object;
TNewTilePreparedEvent = procedure (Sender : TGLAsyncHDS; HeightData : TGLHeightData) of object;
TUseDirtyTiles = (...);

Description

Types

TIdleEvent = procedure(Sender:TGLAsyncHDS;TilesUpdated:boolean) of object;
TNewTilePreparedEvent = procedure (Sender : TGLAsyncHDS; HeightData : TGLHeightData) of object;
TUseDirtyTiles = (...);

Determines if/how dirty tiles are displayed and when they are released. When a tile is maked as dirty, a replacement is queued immediately. However, the replacement cant be used until the HDThread has finished preparing it. Dirty tiles can be deleted as soon as they are no longer used/displayed. Possible states for a TUseDirtyTiles. hdsNever : Dirty tiles get released immediately, leaving a hole in the terrain, until the replacement is hdsReady. hdsUntilReplaced : Dirty tiles are used, until the HDThread has finished preparing the queued replacement. hdsUntilAllReplaced : Waits until the HDSThread has finished preparing ALL queued tiles, before allowing the renderer to switch over to the new set of tiles. (This prevents a fading checkerbox effect.)

Values
  • dtNever
  • dtUntilReplaced
  • dtUntilAllReplaced


GLSysHelp v.2.1: GLS.AsyncHDS: Class TGLAsyncHDS

Class TGLAsyncHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AsyncHDS

Declaration

type TGLAsyncHDS = class(TGLHeightDataSourceFilter)

Description

No description available, ancestor TGLHeightDataSourceFilter description follows

Height Data Source Filter. This component sits between the TGLTerrainRenderer, and a real TGLHeightDataSource. i.e. TGLTerrainRenderer links to this. This links to the real TGLHeightDataSource. Use the 'HeightDataSource' property, to link to a source HDS. The 'OnSourceDataFetched' event then gives you the opportunity to make any changes, or link in a texture to the TGLHeightData object, BEFORE it is cached. It bypasses the cache of the source HDS, by calling the source's StartPreparingData procedure directly. The TGLHeightData objects are then cached by THIS component, AFTER you have made your changes. This eliminates the need to copy and release the TGLHeightData object from the Source HDS's cache, before linking your texture. See the new version of TGLBumpmapHDS for an example. (LIN) To create your own HDSFilters, Derive from this component, and override the PreparingData procedure.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLHeightDataSourceFilter
  • TGLAsyncHDS

Overview

Fields

Private | FOnIdleEvent:TIdleEvent;
Private | FOnNewTilePrepared: TNewTilePreparedEvent;
Private | FUseDirtyTiles:TUseDirtyTiles;
Private | FTilesUpdated:boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ThreadCount:integer;
Public | function TilesUpdated:boolean;
Public | procedure BeforePreparingData(HeightData : TGLHeightData); override;
Public | procedure NewTilePrepared(HeightData:TGLHeightData);
Public | procedure StartPreparingData(HeightData : TGLHeightData); override;
Public | procedure ThreadIsIdle; override;
Public | procedure TilesUpdatedFlagReset;
Public | procedure WaitFor(TimeOut: integer = 2000);

Properties

Published | property Active;
Published | property MaxThreads;
Published | property OnIdle : TIdleEvent read FOnIdleEvent write FOnIdleEvent;
Published | property OnNewTilePrepared : TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
Published | property UseDirtyTiles : TUseDirtyTiles read FUseDirtyTiles write FUseDirtyTiles;

Description

Fields

Private FOnIdleEvent:TIdleEvent;
Private FOnNewTilePrepared: TNewTilePreparedEvent;
Private FUseDirtyTiles:TUseDirtyTiles;
Private FTilesUpdated:boolean;

Methods

Public constructor Create(AOwner: TComponent); override;

TilesUpdated:boolean;

Public destructor Destroy; override;
Public function ThreadCount:integer;
Public function TilesUpdated:boolean;

This function prevents the user from trying to write directly to this variable. FTilesUpdated if NOT threadsafe and should only be reset with TilesUpdatedFlagReset.

Public procedure BeforePreparingData(HeightData : TGLHeightData); override;
Public procedure NewTilePrepared(HeightData:TGLHeightData);
Public procedure StartPreparingData(HeightData : TGLHeightData); override;
Public procedure ThreadIsIdle; override;
Public procedure TilesUpdatedFlagReset;

Returns true if tiles have been updated since the flag was last reset

Public procedure WaitFor(TimeOut: integer = 2000);

Wait for all running threads to finish. Should only be called after setting Active to false, to prevent new threads from starting.

Properties

Published property Active;

sets the maximum number of simultaineous threads that will prepare tiles.(>1 is rarely needed)

Published property MaxThreads;
Published property OnIdle : TIdleEvent read FOnIdleEvent write FOnIdleEvent;

sets the TilesUpdatedFlag to false; (is ThreadSafe)

Published property OnNewTilePrepared : TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
Published property UseDirtyTiles : TUseDirtyTiles read FUseDirtyTiles write FUseDirtyTiles;


GLSysHelp v.2.1: GLS.AsyncHDS: Class TGLAsyncHDThread

Class TGLAsyncHDThread

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AsyncHDS

Declaration

type TGLAsyncHDThread = class(TGLHeightDataThread)

Description

No description available, ancestor TGLHeightDataThread description follows

A thread specialized for processing TGLHeightData in background. Requirements: must have FreeOnTerminate set to true, must check and honour Terminated swiftly

Hierarchy

  • TObject
  • TThread
  • TGLHeightDataThread
  • TGLAsyncHDThread

Overview

Fields

Public | Owner: TGLAsyncHDS;
Public | HDS: TGLHeightDataSource;

Methods

Public | Procedure Execute; override;
Public | Procedure Sync;

Description

Fields

Public Owner: TGLAsyncHDS;
Public HDS: TGLHeightDataSource;

Methods

Public Procedure Execute; override;
Public Procedure Sync;


GLSysHelp v.2.1: GLS.AsyncTimer

Unit GLS.AsyncTimer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.SyncObjs
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLAsyncTimer |

Constants

cDEFAULT_TIMER_INTERVAL = 1000;

Description

Constants

cDEFAULT_TIMER_INTERVAL = 1000;


GLSysHelp v.2.1: GLS.AsyncTimer: Class TGLAsyncTimer

Class TGLAsyncTimer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AsyncTimer

Declaration

type TGLAsyncTimer = class(TComponent)

Description

Asynchronous timer component (actual 1 ms resolution, if CPU fast enough). Keep in mind timer resolution is obtained in-between events, but events are not triggered every x ms. For instance if you set the interval to 5 ms, and your Timer event takes 1 ms to complete, Timer events will actually be triggered every 5+1=6 ms (that's why it's "asynchronous"). This component is based on ThreadedTimer by Carlos Barbosa.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLAsyncTimer

Overview

Fields

Private | FEnabled: Boolean;
Private | FOnTimer: TNotifyEvent;
Private | FTimerThread: TThread;
Private | FMutex: TCriticalSection;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetInterval: Word;
Protected | function GetThreadPriority: TThreadPriority;
Protected | procedure DoTimer;
Protected | procedure SetEnabled(Value: Boolean);
Protected | procedure SetInterval(Value: Word);
Protected | procedure SetThreadPriority(Value: TThreadPriority);

Properties

Published | property Enabled: Boolean read FEnabled write SetEnabled default False;
Published | property Interval: Word read GetInterval write SetInterval default cDEFAULT_TIMER_INTERVAL;
Published | property OnTimer: TNotifyEvent read FOnTimer write FOnTimer;
Published | property ThreadPriority: TThreadPriority read GetThreadPriority write SetThreadPriority default tpTimeCritical;

Description

Fields

Private FEnabled: Boolean;
Private FOnTimer: TNotifyEvent;
Private FTimerThread: TThread;
Private FMutex: TCriticalSection;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetInterval: Word;
Protected function GetThreadPriority: TThreadPriority;
Protected procedure DoTimer;
Protected procedure SetEnabled(Value: Boolean);
Protected procedure SetInterval(Value: Word);
Protected procedure SetThreadPriority(Value: TThreadPriority);

Properties

Published property Enabled: Boolean read FEnabled write SetEnabled default False;
Published property Interval: Word read GetInterval write SetInterval default cDEFAULT_TIMER_INTERVAL;
Published property OnTimer: TNotifyEvent read FOnTimer write FOnTimer;
Published property ThreadPriority: TThreadPriority read GetThreadPriority write SetThreadPriority default tpTimeCritical;


GLSysHelp v.2.1: GLS.Atmosphere

Unit GLS.Atmosphere

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.SysUtils
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Objects
  • GLS.Cadencer
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Strings
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLAtmosphereException |
Class TGLCustomAtmosphere |
Class TGLAtmosphere |

Types

TGLAtmosphereBlendingMode = (...);

Description

Types

TGLAtmosphereBlendingMode = (...);

With atmosphere options: - aabmOneMinusSrcAlpha is transparent to other objects, but has problems, which are best seen when the Atmosphere radius is big; - bmOneMinusDstColor atmosphere doesn't have these problems, but offers limited transparency (when you look closely on the side).

Values
  • abmOneMinusDstColor
  • abmOneMinusSrcAlpha


GLSysHelp v.2.1: GLS.Atmosphere: Class EGLAtmosphereException

Class EGLAtmosphereException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Atmosphere

Declaration

type EGLAtmosphereException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLAtmosphereException


GLSysHelp v.2.1: GLS.Atmosphere: Class TGLCustomAtmosphere

Class TGLCustomAtmosphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Atmosphere

Declaration

type TGLCustomAtmosphere = class(TGLBaseSceneObject)

Description

This class imitates an atmosphere around a planet

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomAtmosphere

Overview

Fields

Private | cosCache: array of Single;
Private | sinCache: array of Single;
Private | pVertex: PVectorArray;
Private | pColor: PVectorArray;
Private | FSlices: Integer;
Private | FBlendingMode: TGLAtmosphereBlendingMode;
Private | FPlanetRadius: Single;
Private | FAtmosphereRadius: Single;
Private | FOpacity: Single;
Private | FLowAtmColor: TGLColor;
Private | FHighAtmColor: TGLColor;
Private | FSun: TGLBaseSceneObject;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Private | function StoreAtmosphereRadius: Boolean;
Private | function StoreHighAtmColor: Boolean;
Private | function StoreLowAtmColor: Boolean;
Private | function StoreOpacity: Boolean;
Private | function StorePlanetRadius: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure SetOptimalAtmosphere(const ARadius: Single);
Public | procedure SetOptimalAtmosphere2(const ARadius: Single);
Public | procedure TogleBlendingMode;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure EnableGLBlendingMode(StateCache: TGLStateCache);
Private | procedure SetAtmosphereRadius(const Value: Single);
Private | procedure SetHighAtmColor(const AValue: TGLColor);
Private | procedure SetLowAtmColor(const AValue: TGLColor);
Private | procedure SetPlanetRadius(const Value: Single);
Private | procedure SetSlices(const Value: Integer);
Private | procedure SetSun(const Value: TGLBaseSceneObject);

Properties

Public | property AtmosphereRadius: Single read FAtmosphereRadius write SetAtmosphereRadius stored StoreAtmosphereRadius;
Public | property BlendingMode: TGLAtmosphereBlendingMode read FBlendingMode write FBlendingMode default abmOneMinusSrcAlpha;
Public | property HighAtmColor: TGLColor read FHighAtmColor write SetHighAtmColor stored StoreHighAtmColor;
Public | property LowAtmColor: TGLColor read FLowAtmColor write SetLowAtmColor stored StoreLowAtmColor;
Public | property Opacity: Single read FOpacity write FOpacity stored StoreOpacity;
Public | property PlanetRadius: Single read FPlanetRadius write SetPlanetRadius stored StorePlanetRadius;
Public | property Slices: Integer read FSlices write SetSlices default 60;
Public | property Sun: TGLBaseSceneObject read FSun write SetSun;

Description

Fields

Private cosCache: array of Single;

Used in DoRenderl

Private sinCache: array of Single;

Used in DoRenderl

Private pVertex: PVectorArray;
Private pColor: PVectorArray;
Private FSlices: Integer;
Private FBlendingMode: TGLAtmosphereBlendingMode;
Private FPlanetRadius: Single;
Private FAtmosphereRadius: Single;
Private FOpacity: Single;
Private FLowAtmColor: TGLColor;
Private FHighAtmColor: TGLColor;
Private FSun: TGLBaseSceneObject;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;

Used to determine extents.

Private function StoreAtmosphereRadius: Boolean;
Private function StoreHighAtmColor: Boolean;
Private function StoreLowAtmColor: Boolean;
Private function StoreOpacity: Boolean;
Private function StorePlanetRadius: Boolean;
Public procedure Assign(Source: TPersistent); override;

changes between 2 blending modes Standard component stuff.

Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Main rendering procedure.

Public procedure SetOptimalAtmosphere(const ARadius: Single);
Public procedure SetOptimalAtmosphere2(const ARadius: Single);

absolute

Public procedure TogleBlendingMode;

relative

Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure EnableGLBlendingMode(StateCache: TGLStateCache);
Private procedure SetAtmosphereRadius(const Value: Single);
Private procedure SetHighAtmColor(const AValue: TGLColor);
Private procedure SetLowAtmColor(const AValue: TGLColor);
Private procedure SetPlanetRadius(const Value: Single);
Private procedure SetSlices(const Value: Integer);
Private procedure SetSun(const Value: TGLBaseSceneObject);

Properties

Public property AtmosphereRadius: Single read FAtmosphereRadius write SetAtmosphereRadius stored StoreAtmosphereRadius;

AtmosphereRadius > PlanetRadius!

Public property BlendingMode: TGLAtmosphereBlendingMode read FBlendingMode write FBlendingMode default abmOneMinusSrcAlpha;
Public property HighAtmColor: TGLColor read FHighAtmColor write SetHighAtmColor stored StoreHighAtmColor;
Public property LowAtmColor: TGLColor read FLowAtmColor write SetLowAtmColor stored StoreLowAtmColor;

Use value slightly lower than actual radius, for antialiasing effect.

Public property Opacity: Single read FOpacity write FOpacity stored StoreOpacity;
Public property PlanetRadius: Single read FPlanetRadius write SetPlanetRadius stored StorePlanetRadius;
Public property Slices: Integer read FSlices write SetSlices default 60;
Public property Sun: TGLBaseSceneObject read FSun write SetSun;


GLSysHelp v.2.1: GLS.Atmosphere: Class TGLAtmosphere

Class TGLAtmosphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Atmosphere

Declaration

type TGLAtmosphere = class(TGLCustomAtmosphere)

Description

No description available, ancestor TGLCustomAtmosphere description follows

This class imitates an atmosphere around a planet

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomAtmosphere
  • TGLAtmosphere

Overview

Properties

Published | property AtmosphereRadius;
Published | property Behaviours;
Published | property BlendingMode;
Published | property Effects;
Published | property HighAtmColor;
Published | property LowAtmColor;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property Opacity;
Published | property PlanetRadius;
Published | property Position;
Published | property ShowAxes;
Published | property Slices;
Published | property Sun;
Published | property Visible;

Description

Properties

Published property AtmosphereRadius;
Published property Behaviours;
Published property BlendingMode;
Published property Effects;
Published property HighAtmColor;
Published property LowAtmColor;
Published property ObjectsSorting;
Published property OnProgress;
Published property Opacity;
Published property PlanetRadius;
Published property Position;
Published property ShowAxes;
Published property Slices;
Published property Sun;
Published property Visible;


GLSysHelp v.2.1: GLS.AVIRecorder

Unit GLS.AVIRecorder

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.UITypes
  • VCL.Controls
  • VCL.Forms
  • VCL.Extctrls
  • VCL.Graphics
  • VCL.Dialogs
  • Formats.VFW
  • GLS.Graphics
  • GLS.Scene
  • GLS.SceneViewer

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLAVIRecorder |

Types

PAVIStream = ˆIAVIStream;
TAVICompressor = (...);
TAVIImageRetrievalMode = (...);
TAVIRecorderPostProcessEvent = procedure(Sender: TObject; frame: TBitmap) of object;
TAVIRecorderState = (...);
TAVISizeRestriction = (...);

Description

Types

PAVIStream = ˆIAVIStream;
TAVICompressor = (...);
Values
  • acDefault
  • acShowDialog
  • acDivX
TAVIImageRetrievalMode = (...);

Image retrieval mode for frame capture. Following modes are supported: irmSnapShot : retrieve OpenGL framebuffer content using glReadPixels irmRenderToBitmap : renders the whole scene to a bitmap, this is the slowest mode, but it won't be affected by driver-side specifics. irmBitBlt : tranfers the framebuffer using the BitBlt function, usually the fastest solution

Values
  • irmSnapShot
  • irmRenderToBitmap
  • irmBitBlt
TAVIRecorderPostProcessEvent = procedure(Sender: TObject; frame: TBitmap) of object;
TAVIRecorderState = (...);
Values
  • rsNone
  • rsRecording
TAVISizeRestriction = (...);

Frame size restriction. Forces frame dimensions to be a multiple of 2, 4, or 8. Some compressors require this. e.g. DivX 5.2.1 requires mutiples of 2.

Values
  • srNoRestriction
  • srForceBlock2x2
  • srForceBlock4x4
  • srForceBlock8x8


GLSysHelp v.2.1: GLS.AVIRecorder: Class TGLAVIRecorder

Class TGLAVIRecorder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.AVIRecorder

Declaration

type TGLAVIRecorder = class(TComponent)

Description

Component to make it easy to record GLScene frames into an AVI file.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLAVIRecorder

Overview

Fields

Private | AVIBitmap: TBitmap;
Private | AVIFrameIndex: integer;
Private | AVI_DPI: integer;
Private | asi: TAVIStreamInfo;
Private | pfile: IAVIFile;
Private | Stream: IAVIStream;
Private | Stream_c: IAVIStream;
Private | FBitmapInfo: PBitmapInfoHeader;
Private | FBitmapBits: Pointer;
Private | FBitmapSize: Dword;
Private | FTempName: String;
Private | FAVIFilename: string;
Private | FFPS: byte;
Private | FWidth: integer;
Private | FHeight: integer;
Private | FSizeRestriction: TAVISizeRestriction;
Private | FImageRetrievalMode: TAVIImageRetrievalMode;
Private | RecorderState: TAVIRecorderState;
Private | FOnPostProcessEvent: TAVIRecorderPostProcessEvent;
Private | FBuffer: TGLSceneBuffer;
Protected | FGLSceneViewer: TGLSceneViewer;
Protected | FGLNonVisualViewer: TGLNonVisualViewer;
Protected | FCompressor: TAVICompressor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateAVIFile(DPI: integer = 0): boolean;
Public | function Recording: boolean;
Protected | function Restricted(s: integer): integer;
Public | procedure AddAVIFrame(bmp: TBitmap); overload;
Public | procedure AddAVIFrame; overload;
Public | procedure CloseAVIFile(UserAbort: boolean = false);
Protected | procedure InternalAddAVIFrame;
Private | procedure SetGLNonVisualViewer(const Value: TGLNonVisualViewer);
Private | procedure SetGLSceneViewer(const Value: TGLSceneViewer);
Private | procedure SetHeight(const val: integer);
Private | procedure SetSizeRestriction(const val: TAVISizeRestriction);
Private | procedure SetWidth(const val: integer);

Properties

Published | property Compressor: TAVICompressor read FCompressor write FCompressor default acDefault;
Published | property Filename: String read FAVIFilename write FAVIFilename;
Published | property FPS: byte read FFPS write FFPS default 25;
Published | property GLNonVisualViewer: TGLNonVisualViewer read FGLNonVisualViewer write SetGLNonVisualViewer;
Published | property GLSceneViewer: TGLSceneViewer read FGLSceneViewer write SetGLSceneViewer;
Published | property Height: integer read FHeight write SetHeight;
Published | property ImageRetrievalMode: TAVIImageRetrievalMode read FImageRetrievalMode write FImageRetrievalMode default irmBitBlt;
Published | property OnPostProcessEvent: TAVIRecorderPostProcessEvent read FOnPostProcessEvent write FOnPostProcessEvent;
Published | property SizeRestriction: TAVISizeRestriction read FSizeRestriction write SetSizeRestriction default srForceBlock8x8;
Published | property Width: integer read FWidth write SetWidth;

Description

Fields

Private AVIBitmap: TBitmap;
Private AVIFrameIndex: integer;
Private AVI_DPI: integer;
Private asi: TAVIStreamInfo;
Private pfile: IAVIFile;
Private Stream: IAVIStream;
Private Stream_c: IAVIStream;
Private FBitmapInfo: PBitmapInfoHeader;

AVI stream and stream to be compressed

Private FBitmapBits: Pointer;
Private FBitmapSize: Dword;
Private FTempName: String;
Private FAVIFilename: string;

so that we know the filename to delete case of user abort

Private FFPS: byte;
Private FWidth: integer;
Private FHeight: integer;
Private FSizeRestriction: TAVISizeRestriction;
Private FImageRetrievalMode: TAVIImageRetrievalMode;
Private RecorderState: TAVIRecorderState;
Private FOnPostProcessEvent: TAVIRecorderPostProcessEvent;
Private FBuffer: TGLSceneBuffer;
Protected FGLSceneViewer: TGLSceneViewer;

Maybe we should make a generic TGLAVIRecorder, and then use sub-class of it

Protected FGLNonVisualViewer: TGLNonVisualViewer;

FGLNonVisualViewer accepts GLNonVisualViewer and GLS.FullScreenViewer

Protected FCompressor: TAVICompressor;

FCompressor determines if the user is to choose a compressor via a dialog box, or just use a default compressor without showing a dialog box.

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateAVIFile(DPI: integer = 0): boolean;
Public function Recording: boolean;
Protected function Restricted(s: integer): integer;

Some video compressor assumes input dimensions to be multiple of 2, 4 or 8. Restricted() is for rounding off the width and height. Currently I can't find a simple way to know which compressor imposes what resiction, so the SizeRestiction property is there for the user to set. The source code of VirtualDub (http://www.virtualdub.org/) may give us some cues on this. ( BTW, VirtualDub is an excellent freeware for editing your AVI. For converting AVI into MPG, try AVI2MPG1 - http://www.mnsi.net/˜jschlic1

Public procedure AddAVIFrame(bmp: TBitmap); overload;
Public procedure AddAVIFrame; overload;
Public procedure CloseAVIFile(UserAbort: boolean = false);
Protected procedure InternalAddAVIFrame;
Private procedure SetGLNonVisualViewer(const Value: TGLNonVisualViewer);
Private procedure SetGLSceneViewer(const Value: TGLSceneViewer);
Private procedure SetHeight(const val: integer);
Private procedure SetSizeRestriction(const val: TAVISizeRestriction);
Private procedure SetWidth(const val: integer);

Properties

Published property Compressor: TAVICompressor read FCompressor write FCompressor default acDefault;
Published property Filename: String read FAVIFilename write FAVIFilename;
Published property FPS: byte read FFPS write FFPS default 25;
Published property GLNonVisualViewer: TGLNonVisualViewer read FGLNonVisualViewer write SetGLNonVisualViewer;
Published property GLSceneViewer: TGLSceneViewer read FGLSceneViewer write SetGLSceneViewer;
Published property Height: integer read FHeight write SetHeight;
Published property ImageRetrievalMode: TAVIImageRetrievalMode read FImageRetrievalMode write FImageRetrievalMode default irmBitBlt;
Published property OnPostProcessEvent: TAVIRecorderPostProcessEvent read FOnPostProcessEvent write FOnPostProcessEvent;
Published property SizeRestriction: TAVISizeRestriction read FSizeRestriction write SetSizeRestriction default srForceBlock8x8;
Published property Width: integer read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.BaseClasses

Unit GLS.BaseClasses

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Strings
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLProgressTimes |
Interface IGLNotifyAble |
Interface IGLProgessAble |
Class TGLUpdateAbleObject |
Class TGLCadenceAbleComponent |
Class TGLUpdateAbleComponent |
Class TGLNotifyCollection |

Types

TGLProgressEvent = procedure(Sender: TObject; const DeltaTime, NewTime: Double) of object;

Description

Types

TGLProgressEvent = procedure(Sender: TObject; const DeltaTime, NewTime: Double) of object;

Progression event for time-base animations/simulations. deltaTime is the time delta since last progress and newTime is the new time after the progress event is completed.


GLSysHelp v.2.1: GLS.BaseClasses: Packed Record TGLProgressTimes

Packed Record TGLProgressTimes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type TGLProgressTimes = packed record

Description

Overview

Fields

Public | DeltaTime: Double;
Public | NewTime: Double;
Public | SqrDeltaTime: Single;
Public | InvSqrDeltaTime: Single;

Description

Fields

Public DeltaTime: Double;
Public NewTime: Double;
Public SqrDeltaTime: Single;
Public InvSqrDeltaTime: Single;


GLSysHelp v.2.1: GLS.BaseClasses: Interface IGLNotifyAble

Interface IGLNotifyAble

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type IGLNotifyAble = interface(IInterface)

Description

Attributes
GUID['{00079A6C-D46E-4126-86EE-F9E2951B4593}']

Hierarchy

  • IInterface
  • IGLNotifyAble

Overview

Methods

Public procedure NotifyChange(Sender: TObject);

Description

Methods

Public procedure NotifyChange(Sender: TObject);


GLSysHelp v.2.1: GLS.BaseClasses: Interface IGLProgessAble

Interface IGLProgessAble

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type IGLProgessAble = interface(IInterface)

Description

Attributes
GUID['{95E44548-B0FE-4607-98D0-CA51169AF8B5}']

Hierarchy

  • IInterface
  • IGLProgessAble

Overview

Methods

Public procedure DoProgress(const progressTime: TGLProgressTimes);

Description

Methods

Public procedure DoProgress(const progressTime: TGLProgressTimes);


GLSysHelp v.2.1: GLS.BaseClasses: Class TGLUpdateAbleObject

Class TGLUpdateAbleObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type TGLUpdateAbleObject = class(TGLInterfacedPersistent, IGLNotifyAble)

Description

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject

Overview

Fields

Private | FOwner: TPersistent;
Private | FUpdating: Integer;
Private | FOnNotifyChange: TNotifyEvent;

Methods

Public | constructor Create(AOwner: TPersistent); virtual;
Protected | function GetOwner: TPersistent; override; final;
Public | procedure BeginUpdate; inline;
Public | procedure EndUpdate; inline;
Public | procedure Notification(Sender: TObject; Operation: TOperation); virtual;
Public | procedure NotifyChange(Sender: TObject); virtual;

Properties

Public | property OnNotifyChange: TNotifyEvent read FOnNotifyChange write FOnNotifyChange;
Public | property Owner: TPersistent read FOwner;
Public | property Updating: Integer read FUpdating;

Description

Fields

Private FOwner: TPersistent;
Private FUpdating: Integer;
Private FOnNotifyChange: TNotifyEvent;

Methods

Public constructor Create(AOwner: TPersistent); virtual;
Protected function GetOwner: TPersistent; override; final;
Public procedure BeginUpdate; inline;
Public procedure EndUpdate; inline;
Public procedure Notification(Sender: TObject; Operation: TOperation); virtual;
Public procedure NotifyChange(Sender: TObject); virtual;

Properties

Public property OnNotifyChange: TNotifyEvent read FOnNotifyChange write FOnNotifyChange;
Public property Owner: TPersistent read FOwner;
Public property Updating: Integer read FUpdating;


GLSysHelp v.2.1: GLS.BaseClasses: Class TGLCadenceAbleComponent

Class TGLCadenceAbleComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type TGLCadenceAbleComponent = class(TComponent, IGLProgessAble)

Description

A base class describing the "cadenceing" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent

Overview

Methods

Public procedure DoProgress(const progressTime: TGLProgressTimes); virtual;

Description

Methods

Public procedure DoProgress(const progressTime: TGLProgressTimes); virtual;


GLSysHelp v.2.1: GLS.BaseClasses: Class TGLUpdateAbleComponent

Class TGLUpdateAbleComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type TGLUpdateAbleComponent = class(TGLCadenceAbleComponent, IGLNotifyAble)

Description

A base class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent

Overview

Methods

Public procedure NotifyChange(Sender: TObject); virtual;

Description

Methods

Public procedure NotifyChange(Sender: TObject); virtual;


GLSysHelp v.2.1: GLS.BaseClasses: Class TGLNotifyCollection

Class TGLNotifyCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseClasses

Declaration

type TGLNotifyCollection = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNotifyCollection

Overview

Fields

Strict Private FOnNotifyChange: TNotifyEvent;

Methods

Public | constructor Create(AOwner: TPersistent; AItemClass: TCollectionItemClass);
Strict Protected | procedure Update(item: TCollectionItem); override;

Properties

Public property OnNotifyChange: TNotifyEvent read FOnNotifyChange write FOnNotifyChange;

Description

Fields

Strict Private FOnNotifyChange: TNotifyEvent;

Methods

Public constructor Create(AOwner: TPersistent; AItemClass: TCollectionItemClass);
Strict Protected procedure Update(item: TCollectionItem); override;

Properties

Public property OnNotifyChange: TNotifyEvent read FOnNotifyChange write FOnNotifyChange;


GLSysHelp v.2.1: GLS.BaseMeshSilhouette

Unit GLS.BaseMeshSilhouette

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.Silhouette

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFaceGroupConnectivity |
Class TGLBaseMeshConnectivity |


GLSysHelp v.2.1: GLS.BaseMeshSilhouette: Class TGLFaceGroupConnectivity

Class TGLFaceGroupConnectivity

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseMeshSilhouette

Declaration

type TGLFaceGroupConnectivity = class(TGLConnectivity)

Description

No description available, ancestor TGLConnectivity description follows
No description available, ancestor TGLBaseConnectivity description follows

Hierarchy

  • TObject
  • TGLBaseConnectivity
  • TGLConnectivity
  • TGLFaceGroupConnectivity

Overview

Fields

Private | FMeshObject: TGLMeshObject;
Private | FOwnsVertices: boolean;

Methods

Public | constructor Create(APrecomputeFaceNormal: boolean); override;
Public | constructor CreateFromMesh(aMeshObject: TGLMeshObject; APrecomputeFaceNormal: boolean);
Public | destructor Destroy; override;
Public | procedure Clear; override;
Public | procedure RebuildEdgeList;
Private | procedure SetMeshObject(const Value: TGLMeshObject);

Properties

Public property MeshObject: TGLMeshObject read FMeshObject write SetMeshObject;

Description

Fields

Private FMeshObject: TGLMeshObject;
Private FOwnsVertices: boolean;

Methods

Public constructor Create(APrecomputeFaceNormal: boolean); override;
Public constructor CreateFromMesh(aMeshObject: TGLMeshObject; APrecomputeFaceNormal: boolean);
Public destructor Destroy; override;
Public procedure Clear; override;
Public procedure RebuildEdgeList;

Builds the connectivity information.

Private procedure SetMeshObject(const Value: TGLMeshObject);

Properties

Public property MeshObject: TGLMeshObject read FMeshObject write SetMeshObject;


GLSysHelp v.2.1: GLS.BaseMeshSilhouette: Class TGLBaseMeshConnectivity

Class TGLBaseMeshConnectivity

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BaseMeshSilhouette

Declaration

type TGLBaseMeshConnectivity = class(TGLBaseConnectivity)

Description

No description available, ancestor TGLBaseConnectivity description follows

Hierarchy

  • TObject
  • TGLBaseConnectivity
  • TGLBaseMeshConnectivity

Overview

Fields

Private | FBaseMesh: TGLBaseMesh;
Private | FFaceGroupConnectivityList: TList;

Methods

Public | constructor Create(APrecomputeFaceNormal: boolean); override;
Public | constructor CreateFromMesh(aBaseMesh: TGLBaseMesh);
Public | destructor Destroy; override;
Protected | function GetEdgeCount: integer; override;
Protected | function GetFaceCount: integer; override;
Private | function GetConnectivityCount: integer;
Private | function GetFaceGroupConnectivity(i: integer): TGLFaceGroupConnectivity;
Public | procedure Clear(SaveFaceGroupConnectivity: boolean);
Public | procedure CreateSilhouette(const silhouetteParameters: TGLSilhouetteParameters; var aSilhouette: TGLSilhouette; AddToSilhouette: boolean);
Public | procedure RebuildEdgeList;
Private | procedure SetBaseMesh(const Value: TGLBaseMesh);

Properties

Public | property BaseMesh: TGLBaseMesh read FBaseMesh write SetBaseMesh;
Public | property ConnectivityCount: integer read GetConnectivityCount;
Public | property FaceGroupConnectivity[i:integer]: TGLFaceGroupConnectivity read GetFaceGroupConnectivity;

Description

Fields

Private FBaseMesh: TGLBaseMesh;
Private FFaceGroupConnectivityList: TList;

Methods

Public constructor Create(APrecomputeFaceNormal: boolean); override;
Public constructor CreateFromMesh(aBaseMesh: TGLBaseMesh);
Public destructor Destroy; override;
Protected function GetEdgeCount: integer; override;
Protected function GetFaceCount: integer; override;
Private function GetConnectivityCount: integer;
Private function GetFaceGroupConnectivity(i: integer): TGLFaceGroupConnectivity;
Public procedure Clear(SaveFaceGroupConnectivity: boolean);
Public procedure CreateSilhouette(const silhouetteParameters: TGLSilhouetteParameters; var aSilhouette: TGLSilhouette; AddToSilhouette: boolean);
Public procedure RebuildEdgeList;

Builds the connectivity information.

Private procedure SetBaseMesh(const Value: TGLBaseMesh);

Properties

Public property BaseMesh: TGLBaseMesh read FBaseMesh write SetBaseMesh;
Public property ConnectivityCount: integer read GetConnectivityCount;
Public property FaceGroupConnectivity[i:integer]: TGLFaceGroupConnectivity read GetFaceGroupConnectivity;


GLSysHelp v.2.1: GLS.Behaviours

Unit GLS.Behaviours

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.XCollection
  • GLS.BaseClasses
  • GLS.Coordinates

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDamping |
Class TGLBInertia |
Class TGLBAcceleration |

Functions and Procedures

function GetInertia(const AGLSceneObject: TGLBaseSceneObject): TGLBInertia;
function GetOrCreateInertia(behaviours: TGLBehaviours): TGLBInertia; overload;
function GetOrCreateInertia(obj: TGLBaseSceneObject): TGLBInertia; overload;
function GetOrCreateAcceleration(behaviours: TGLBehaviours): TGLBAcceleration; overload;
function GetOrCreateAcceleration(obj: TGLBaseSceneObject): TGLBAcceleration; overload;

Description

Functions and Procedures

function GetInertia(const AGLSceneObject: TGLBaseSceneObject): TGLBInertia;

Returns or creates the TGLBInertia within the given behaviours. This helper function is convenient way to access a TGLBInertia.

function GetOrCreateInertia(behaviours: TGLBehaviours): TGLBInertia; overload;
function GetOrCreateInertia(obj: TGLBaseSceneObject): TGLBInertia; overload;
function GetOrCreateAcceleration(behaviours: TGLBehaviours): TGLBAcceleration; overload;

Returns or creates the TGLBAcceleration within the given behaviours. This helper function is convenient way to access a TGLBAcceleration.

function GetOrCreateAcceleration(obj: TGLBaseSceneObject): TGLBAcceleration; overload;


GLSysHelp v.2.1: GLS.Behaviours: Class TGLDamping

Class TGLDamping

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Behaviours

Declaration

type TGLDamping = class(TGLUpdateAbleObject)

Description

Holds parameters for a basic damping model by calculating a force from the speed, this force can then be transformed to an acceleration is you know the object's mass. Formulas: damping = constant + linear * Speed + quadratic * Speedˆ2 accel = damping / Mass That's just basic physics. A note on the components: constant: use it for solid friction (will stop abruptly an object after decreasing its speed. linear: linear friction damping. quadratic: expresses viscosity

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDamping

Overview

Fields

Private | FConstant: single;
Private | FLinear: single;
Private | FQuadratic: single;

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function AsString(const damping: TGLDamping): String;
Public | function Calculate(speed, deltaTime: Double): Double;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(reader: TReader);
Public | procedure SetDamping(const constant: Single = 0; const linear: Single = 0; const quadratic: Single = 0);
Public | procedure WriteToFiler(writer: TWriter);

Properties

Published | property Constant: Single read FConstant write FConstant;
Published | property Linear: Single read FLinear write FLinear;
Published | property Quadratic: Single read FQuadratic write FQuadratic;

Description

Fields

Private FConstant: single;
Private FLinear: single;
Private FQuadratic: single;

Methods

Public constructor Create(aOwner: TPersistent); override;
Public destructor Destroy; override;
Public function AsString(const damping: TGLDamping): String;

Returns a "[constant; linear; quadratic]" String

Public function Calculate(speed, deltaTime: Double): Double;

Calculates attenuated speed over deltaTime. integration step is 0.01 sec, and the following formula is applied at each step: constant+linear*speed+quadratic*speedˆ2

Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(reader: TReader);
Public procedure SetDamping(const constant: Single = 0; const linear: Single = 0; const quadratic: Single = 0);

Sets all damping parameters in a single call.

Public procedure WriteToFiler(writer: TWriter);

Properties

Published property Constant: Single read FConstant write FConstant;
Published property Linear: Single read FLinear write FLinear;
Published property Quadratic: Single read FQuadratic write FQuadratic;


GLSysHelp v.2.1: GLS.Behaviours: Class TGLBInertia

Class TGLBInertia

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Behaviours

Declaration

type TGLBInertia = class(TGLBehaviour)

Description

Simple translation and rotation Inertia behaviour. Stores translation and rotation speeds, to which you can apply accelerations. Note that the rotation model is not physical, so feel free to contribute a "realworld" inertia class with realistic, axis-free, rotation inertia if this approximation does not suits your needs :).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBInertia

Overview

Fields

Private | FMass: single;
Private | FTranslationSpeed: TGLCoordinates;
Private | FTurnSpeed: single;
Private | FRollSpeed: single;
Private | FPitchSpeed: single;
Private | FTranslationDamping: TGLDamping;
Private | FRotationDamping: TGLDamping;
Private | FDampingEnabled: boolean;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | class function UniqueItem: boolean; override;
Public | procedure ApplyForce(const deltaTime: Double; const Force: TGLVector);
Public | procedure ApplyTorque(const deltaTime: double; const turnTorque, rollTorque, pitchTorque: single);
Public | procedure ApplyTranslationAcceleration(const deltaTime: double; const accel: TGLVector);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure MirrorTranslation;
Public | procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: single);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetRotationDamping(const val: TGLDamping);
Protected | procedure SetTranslationDamping(const val: TGLDamping);
Protected | procedure SetTranslationSpeed(const val: TGLCoordinates);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property DampingEnabled: boolean read FDampingEnabled write FDampingEnabled;
Published | property Mass: single read FMass write FMass;
Published | property PitchSpeed: single read FPitchSpeed write FPitchSpeed;
Published | property RollSpeed: single read FRollSpeed write FRollSpeed;
Published | property RotationDamping: TGLDamping read FRotationDamping write SetRotationDamping;
Published | property TranslationDamping: TGLDamping read FTranslationDamping write SetTranslationDamping;
Published | property TranslationSpeed: TGLCoordinates read FTranslationSpeed write SetTranslationSpeed;
Published | property TurnSpeed: single read FTurnSpeed write FTurnSpeed;

Description

Fields

Private FMass: single;
Private FTranslationSpeed: TGLCoordinates;
Private FTurnSpeed: single;
Private FRollSpeed: single;
Private FPitchSpeed: single;
Private FTranslationDamping: TGLDamping;
Private FRotationDamping: TGLDamping;
Private FDampingEnabled: boolean;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public class function UniqueItem: boolean; override;
Public procedure ApplyForce(const deltaTime: Double; const Force: TGLVector);

Applies a timed force to the inertia. If Mass is null, nothing is done.

Public procedure ApplyTorque(const deltaTime: double; const turnTorque, rollTorque, pitchTorque: single);

Applies a timed torque to the inertia (yuck!). This gets a "yuck!" because it is as false as the rest of the rotation model.

Public procedure ApplyTranslationAcceleration(const deltaTime: double; const accel: TGLVector);

Adds time-proportionned acceleration to the speed.

Public procedure Assign(Source: TPersistent); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure MirrorTranslation;

Inverts the translation vector.

Public procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: single);

Bounce speed as if hitting a surface. restitution is the coefficient of restituted energy (1=no energy loss, 0=no bounce). The normal is NOT assumed to be normalized.

Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetRotationDamping(const val: TGLDamping);
Protected procedure SetTranslationDamping(const val: TGLDamping);
Protected procedure SetTranslationSpeed(const val: TGLCoordinates);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property DampingEnabled: boolean read FDampingEnabled write FDampingEnabled;

Enable/Disable damping (damping has a high cpu-cycle cost). Damping is enabled by default.

Published property Mass: single read FMass write FMass;
Published property PitchSpeed: single read FPitchSpeed write FPitchSpeed;
Published property RollSpeed: single read FRollSpeed write FRollSpeed;
Published property RotationDamping: TGLDamping read FRotationDamping write SetRotationDamping;

Damping applied to rotation speed (yuck!). Well, this one is not "exact", like TranslationDamping, and neither it is "physical" since I'm reusing the mass and... and... well don't show this to your science teacher 8). Anyway that's easier to use than the realworld formulas, calculated faster, and properly used can give a good illusion of reality.

Published property TranslationDamping: TGLDamping read FTranslationDamping write SetTranslationDamping;

Damping applied to translation speed. Note that it is not "exactly" applied, ie. if damping would stop your object after 0.5 time unit, and your progression steps are of 1 time unit, there will be an integration error of 0.5 time unit.

Published property TranslationSpeed: TGLCoordinates read FTranslationSpeed write SetTranslationSpeed;
Published property TurnSpeed: single read FTurnSpeed write FTurnSpeed;


GLSysHelp v.2.1: GLS.Behaviours: Class TGLBAcceleration

Class TGLBAcceleration

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Behaviours

Declaration

type TGLBAcceleration = class(TGLBehaviour)

Description

Applies a constant acceleration to a TGLBInertia.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBAcceleration

Overview

Fields

Private FAcceleration: TGLCoordinates;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | class function UniqueItem: boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetAcceleration(const val: TGLCoordinates);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Acceleration: TGLCoordinates read FAcceleration write FAcceleration;

Description

Fields

Private FAcceleration: TGLCoordinates;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public class function UniqueItem: boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetAcceleration(const val: TGLCoordinates);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Acceleration: TGLCoordinates read FAcceleration write FAcceleration;


GLSysHelp v.2.1: GLS.BitmapFont

Unit GLS.BitmapFont

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpengL
  • System.Classes
  • System.SysUtils
  • System.Types
  • Vcl.Graphics
  • Vcl.StdCtrls
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Texture
  • GLS.State
  • GLS.Utils
  • GLS.Graphics
  • GLS.Color
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.TextureFormat
  • GLS.VectorTypes
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBitmapFontRange |
Class TGLBitmapFontRanges |
Record TCharInfo |
Class TGLCustomBitmapFont |
Class TGLBitmapFont |
Class TGLFlatText |

Types

PCharInfo = ˆTCharInfo;
TGLFlatTextOption = (...);
TGLFlatTextOptions = set of TGLFlatTextOption;

Description

Types

PCharInfo = ˆTCharInfo;
TGLFlatTextOption = (...);
Values
  • ftoTwoSided
TGLFlatTextOptions = set of TGLFlatTextOption;


GLSysHelp v.2.1: GLS.BitmapFont: Class TGLBitmapFontRange

Class TGLBitmapFontRange

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BitmapFont

Declaration

type TGLBitmapFontRange = class(TCollectionItem)

Description

An individual character range in a bitmap font. A range allows mapping ASCII characters to character tiles in a font bitmap, tiles are enumerated line then column (raster).

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLBitmapFontRange

Overview

Fields

Protected | FStartASCII: WideChar;
Protected | FStopASCII: WideChar;
Protected | FStartGlyphIdx: Integer;
Protected | FStopGlyphIdx: Integer;
Protected | FCharCount: Integer;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Private | function GetStartASCII: WideString;
Private | function GetStopASCII: WideString;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange;
Protected | procedure SetStartASCII(const val: WideString);
Protected | procedure SetStartGlyphIdx(val: Integer);
Protected | procedure SetStopASCII(const val: WideString);

Properties

Published | property CharCount: Integer read FCharCount;
Published | property StartASCII: WideString read GetStartASCII write SetStartASCII;
Published | property StartGlyphIdx: Integer read FStartGlyphIdx write SetStartGlyphIdx;
Published | property StopASCII: WideString read GetStopASCII write SetStopASCII;
Published | property StopGlyphIdx: Integer read FStopGlyphIdx;

Description

Fields

Protected FStartASCII: WideChar;
Protected FStopASCII: WideChar;
Protected FStartGlyphIdx: Integer;
Protected FStopGlyphIdx: Integer;
Protected FCharCount: Integer;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Private function GetStartASCII: WideString;
Private function GetStopASCII: WideString;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange;
Protected procedure SetStartASCII(const val: WideString);
Protected procedure SetStartGlyphIdx(val: Integer);
Protected procedure SetStopASCII(const val: WideString);

Properties

Published property CharCount: Integer read FCharCount;
Published property StartASCII: WideString read GetStartASCII write SetStartASCII;
Published property StartGlyphIdx: Integer read FStartGlyphIdx write SetStartGlyphIdx;
Published property StopASCII: WideString read GetStopASCII write SetStopASCII;
Published property StopGlyphIdx: Integer read FStopGlyphIdx;


GLSysHelp v.2.1: GLS.BitmapFont: Class TGLBitmapFontRanges

Class TGLBitmapFontRanges

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BitmapFont

Declaration

type TGLBitmapFontRanges = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLBitmapFontRanges

Overview

Fields

Private | FCharCount: Integer;
Protected | FOwner: TComponent;

Methods

Public | constructor Create(AOwner: TComponent);
Public | destructor Destroy; override;
Public | function Add: TGLBitmapFontRange; overload;
Public | function Add(const StartASCII, StopASCII: WideChar) : TGLBitmapFontRange; overload;
Public | function Add(const StartASCII, StopASCII: AnsiChar) : TGLBitmapFontRange; overload;
Public | function CharacterToTileIndex(aChar: WideChar): Integer;
Public | function FindItemID(ID: Integer): TGLBitmapFontRange;
Public | function TileIndexToChar(aIndex: Integer): WideChar;
Protected | function CalcCharacterCount: Integer;
Protected | function GetItems(index: Integer): TGLBitmapFontRange;
Protected | function GetOwner: TPersistent; override;
Public | procedure NotifyChange;
Protected | procedure SetItems(index: Integer; const val: TGLBitmapFontRange);
Protected | procedure Update(Item: TCollectionItem); override;

Properties

Public | property CharacterCount: Integer read FCharCount;
Public | property Items[index:Integer]: TGLBitmapFontRange read GetItems write SetItems;

Description

Fields

Private FCharCount: Integer;
Protected FOwner: TComponent;

Methods

Public constructor Create(AOwner: TComponent);
Public destructor Destroy; override;
Public function Add: TGLBitmapFontRange; overload;
Public function Add(const StartASCII, StopASCII: WideChar) : TGLBitmapFontRange; overload;
Public function Add(const StartASCII, StopASCII: AnsiChar) : TGLBitmapFontRange; overload;
Public function CharacterToTileIndex(aChar: WideChar): Integer;

Converts an ASCII character into a tile index. Return -1 if character cannot be rendered.

Public function FindItemID(ID: Integer): TGLBitmapFontRange;
Public function TileIndexToChar(aIndex: Integer): WideChar;
Protected function CalcCharacterCount: Integer;
Protected function GetItems(index: Integer): TGLBitmapFontRange;
Protected function GetOwner: TPersistent; override;
Public procedure NotifyChange;
Protected procedure SetItems(index: Integer; const val: TGLBitmapFontRange);
Protected procedure Update(Item: TCollectionItem); override;

Properties

Public property CharacterCount: Integer read FCharCount;

Total number of characters in the ranges; cached for performance

Public property Items[index:Integer]: TGLBitmapFontRange read GetItems write SetItems;


GLSysHelp v.2.1: GLS.BitmapFont: Record TCharInfo

Record TCharInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BitmapFont

Declaration

type TCharInfo = record

Description

Overview

Fields

Public | l: word;
Public | t: word;
Public | w: word;

Description

Fields

Public l: word;
Public t: word;
Public w: word;


GLSysHelp v.2.1: GLS.BitmapFont: Class TGLCustomBitmapFont

Class TGLCustomBitmapFont

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BitmapFont

Declaration

type TGLCustomBitmapFont = class(TGLUpdateAbleComponent)

Description

Provides access to individual characters in a BitmapFont. Only fixed-width bitmap fonts are supported, the characters are enumerated in a raster fashion (line then column). Transparency is all or nothing, the transparent color being that of the top left pixel of the Glyphs bitmap. Performance note: as usual, for best performance, you base font bitmap dimensions should be close to a power of two, and have at least 1 pixel spacing between characters (horizontally and vertically) to avoid artefacts when rendering with linear filtering.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomBitmapFont

Overview

Fields

Private | FRanges: TGLBitmapFontRanges;
Private | FGlyphs: TPicture;
Private | FCharWidth: Integer;
Private | FCharHeight: Integer;
Private | FGlyphsIntervalX: Integer;
Private | FGlyphsIntervalY: Integer;
Private | FHSpace: Integer;
Private | FVSpace: Integer;
Private | FHSpaceFix: Integer;
Private | FUsers: TList;
Private | FMinFilter: TGLMinFilter;
Private | FMagFilter: TGLMagFilter;
Private | FTextureWidth: Integer;
Private | FTextureHeight: Integer;
Private | FTextRows: Integer;
Private | FTextCols: Integer;
Private | FGlyphsAlpha: TGLTextureImageAlpha;
Private | FTextures: TList;
Private | FTextureModified: boolean;
Private | FLastTexture: TGLTextureHandle;
Protected | FChars: array of TCharInfo;
Protected | FCharsLoaded: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CalcStringWidth(const aText: UnicodeString): Integer; overload; virtual;
Public | function CharacterCount: Integer; virtual;
Public | function CharacterToTileIndex(aChar: WideChar): Integer; virtual;
Public | function GetCharWidth(Ch: WideChar): Integer;
Public | function TextWidth(const Text: UnicodeString): Integer;
Public | function TileIndexToChar(aIndex: Integer): WideChar; virtual;
Protected | function CharactersPerRow: Integer;
Protected | function TextureFormat: Integer; virtual;
Public | procedure CheckTexture(var ARci: TGLRenderContextInfo);
Public | procedure RegisterUser(anObject: TGLBaseSceneObject); virtual;
Public | procedure RenderString(var ARci: TGLRenderContextInfo; const aText: UnicodeString; aAlignment: TAlignment; aLayout: TTextLayout; const aColor: TGLColorVector; aPosition: PGLVector = nil; aReverseY: boolean = False); overload; virtual;
Public | procedure TextOut(var rci: TGLRenderContextInfo; X, Y: Single; const Text: UnicodeString; const Color: TColor); overload;
Public | procedure TextOut(var rci: TGLRenderContextInfo; X, Y: Single; const Text: UnicodeString; const Color: TGLColorVector); overload;
Public | procedure UnRegisterUser(anObject: TGLBaseSceneObject); virtual;
Protected | procedure FreeTextureHandle; virtual;
Protected | procedure GetCharTexCoords(Ch: WideChar; var TopLeft, BottomRight: TTexPoint);
Protected | procedure GetICharTexCoords(var ARci: TGLRenderContextInfo; Chi: Integer; out TopLeft, BottomRight: TTexPoint);
Protected | procedure InvalidateUsers;
Protected | procedure OnGlyphsChanged(Sender: TObject);
Protected | procedure PrepareImage(var ARci: TGLRenderContextInfo); virtual;
Protected | procedure PrepareParams(var ARci: TGLRenderContextInfo);
Protected | procedure ResetCharWidths(w: Integer = -1);
Protected | procedure SetCharHeight(const val: Integer);
Protected | procedure SetCharWidth(const val: Integer);
Protected | procedure SetCharWidths(index, value: Integer);
Protected | procedure SetGlyphs(const val: TPicture);
Protected | procedure SetGlyphsAlpha(val: TGLTextureImageAlpha);
Protected | procedure SetGlyphsIntervalX(const val: Integer);
Protected | procedure SetGlyphsIntervalY(const val: Integer);
Protected | procedure SetHSpace(const val: Integer);
Protected | procedure SetMagFilter(AValue: TGLMagFilter);
Protected | procedure SetMinFilter(AValue: TGLMinFilter);
Protected | procedure SetRanges(const val: TGLBitmapFontRanges);
Protected | procedure SetVSpace(const val: Integer);
Protected | procedure TextureChanged;

Properties

Public | property CharHeight: Integer read FCharHeight write SetCharHeight default 16;
Protected | property CharWidth: Integer read FCharWidth write SetCharWidth default 16;
Protected | property Glyphs: TPicture read FGlyphs write SetGlyphs;
Protected | property GlyphsAlpha: TGLTextureImageAlpha read FGlyphsAlpha write FGlyphsAlpha default tiaDefault;
Protected | property GlyphsIntervalX: Integer read FGlyphsIntervalX write SetGlyphsIntervalX;
Protected | property GlyphsIntervalY: Integer read FGlyphsIntervalY write SetGlyphsIntervalY;
Protected | property HSpace: Integer read FHSpace write SetHSpace default 1;
Protected | property HSpaceFix: Integer read FHSpaceFix write FHSpaceFix;
Protected | property MagFilter: TGLMagFilter read FMagFilter write SetMagFilter default maLinear;
Protected | property MinFilter: TGLMinFilter read FMinFilter write SetMinFilter default miLinear;
Protected | property Ranges: TGLBitmapFontRanges read FRanges write SetRanges;
Public | property TextureHeight: Integer read FTextureHeight write FTextureHeight;
Public | property TextureWidth: Integer read FTextureWidth write FTextureWidth;
Protected | property VSpace: Integer read FVSpace write SetVSpace default 1;

Description

Fields

Private FRanges: TGLBitmapFontRanges;
Private FGlyphs: TPicture;
Private FCharWidth: Integer;
Private FCharHeight: Integer;
Private FGlyphsIntervalX: Integer;
Private FGlyphsIntervalY: Integer;
Private FHSpace: Integer;
Private FVSpace: Integer;
Private FHSpaceFix: Integer;
Private FUsers: TList;
Private FMinFilter: TGLMinFilter;
Private FMagFilter: TGLMagFilter;
Private FTextureWidth: Integer;
Private FTextureHeight: Integer;
Private FTextRows: Integer;
Private FTextCols: Integer;
Private FGlyphsAlpha: TGLTextureImageAlpha;
Private FTextures: TList;
Private FTextureModified: boolean;
Private FLastTexture: TGLTextureHandle;
Protected FChars: array of TCharInfo;
Protected FCharsLoaded: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CalcStringWidth(const aText: UnicodeString): Integer; overload; virtual;

Get the actual pixel width for this string.

Public function CharacterCount: Integer; virtual;
Public function CharacterToTileIndex(aChar: WideChar): Integer; virtual;
Public function GetCharWidth(Ch: WideChar): Integer;

Get the actual width for this char.

Public function TextWidth(const Text: UnicodeString): Integer;
Public function TileIndexToChar(aIndex: Integer): WideChar; virtual;
Protected function CharactersPerRow: Integer;
Protected function TextureFormat: Integer; virtual;
Public procedure CheckTexture(var ARci: TGLRenderContextInfo);

make texture if needed

Public procedure RegisterUser(anObject: TGLBaseSceneObject); virtual;
Public procedure RenderString(var ARci: TGLRenderContextInfo; const aText: UnicodeString; aAlignment: TAlignment; aLayout: TTextLayout; const aColor: TGLColorVector; aPosition: PGLVector = nil; aReverseY: boolean = False); overload; virtual;

Renders the given string at current position or at position given by the optional position variable. The current matrix is blindly used, meaning you can render all kinds of rotated and linear distorted text with this method, OpenGL Enable states are also possibly altered.

Public procedure TextOut(var rci: TGLRenderContextInfo; X, Y: Single; const Text: UnicodeString; const Color: TColor); overload;
Public procedure TextOut(var rci: TGLRenderContextInfo; X, Y: Single; const Text: UnicodeString; const Color: TGLColorVector); overload;

A simpler canvas-style TextOut helper for RenderString. The rendering is reversed along Y by default, to allow direct use with TGLCanvas

Public procedure UnRegisterUser(anObject: TGLBaseSceneObject); virtual;
Protected procedure FreeTextureHandle; virtual;
Protected procedure GetCharTexCoords(Ch: WideChar; var TopLeft, BottomRight: TTexPoint);
Protected procedure GetICharTexCoords(var ARci: TGLRenderContextInfo; Chi: Integer; out TopLeft, BottomRight: TTexPoint);
Protected procedure InvalidateUsers;
Protected procedure OnGlyphsChanged(Sender: TObject);
Protected procedure PrepareImage(var ARci: TGLRenderContextInfo); virtual;
Protected procedure PrepareParams(var ARci: TGLRenderContextInfo);
Protected procedure ResetCharWidths(w: Integer = -1);
Protected procedure SetCharHeight(const val: Integer);
Protected procedure SetCharWidth(const val: Integer);
Protected procedure SetCharWidths(index, value: Integer);
Protected procedure SetGlyphs(const val: TPicture);
Protected procedure SetGlyphsAlpha(val: TGLTextureImageAlpha);
Protected procedure SetGlyphsIntervalX(const val: Integer);
Protected procedure SetGlyphsIntervalY(const val: Integer);
Protected procedure SetHSpace(const val: Integer);
Protected procedure SetMagFilter(AValue: TGLMagFilter);
Protected procedure SetMinFilter(AValue: TGLMinFilter);
Protected procedure SetRanges(const val: TGLBitmapFontRanges);
Protected procedure SetVSpace(const val: Integer);
Protected procedure TextureChanged;

Properties

Public property CharHeight: Integer read FCharHeight write SetCharHeight default 16;

Height of a single character.

Protected property CharWidth: Integer read FCharWidth write SetCharWidth default 16;

Width of a single character.

Protected property Glyphs: TPicture read FGlyphs write SetGlyphs;

A single bitmap containing all the characters. The transparent color is that of the top left pixel.

Protected property GlyphsAlpha: TGLTextureImageAlpha read FGlyphsAlpha write FGlyphsAlpha default tiaDefault;
Protected property GlyphsIntervalX: Integer read FGlyphsIntervalX write SetGlyphsIntervalX;

Nb of horizontal pixels between two columns in the Glyphs.

Protected property GlyphsIntervalY: Integer read FGlyphsIntervalY write SetGlyphsIntervalY;

Nb of vertical pixels between two rows in the Glyphs.

Protected property HSpace: Integer read FHSpace write SetHSpace default 1;

Pixels in between rendered characters (horizontally).

Protected property HSpaceFix: Integer read FHSpaceFix write FHSpaceFix;

Horizontal spacing fix offset. This property is for internal use, and is added to the hspacing of each character when rendering, typically to fix extra spacing.

Protected property MagFilter: TGLMagFilter read FMagFilter write SetMagFilter default maLinear;
Protected property MinFilter: TGLMinFilter read FMinFilter write SetMinFilter default miLinear;
Protected property Ranges: TGLBitmapFontRanges read FRanges write SetRanges;

Ranges allow converting between ASCII and tile indexes. See TGLCustomBitmapFontRange.

Public property TextureHeight: Integer read FTextureHeight write FTextureHeight;
Public property TextureWidth: Integer read FTextureWidth write FTextureWidth;
Protected property VSpace: Integer read FVSpace write SetVSpace default 1;

Pixels in between rendered lines (vertically).


GLSysHelp v.2.1: GLS.BitmapFont: Class TGLBitmapFont

Class TGLBitmapFont

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BitmapFont

Declaration

type TGLBitmapFont = class(TGLCustomBitmapFont)

Description

See TGLCustomBitmapFont. This class only publuishes some of the properties.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomBitmapFont
  • TGLBitmapFont

Overview

Properties

Published | property CharHeight;
Published | property CharWidth;
Published | property Glyphs;
Published | property GlyphsAlpha;
Published | property GlyphsIntervalX;
Published | property GlyphsIntervalY;
Published | property HSpace;
Published | property MagFilter;
Published | property MinFilter;
Published | property Ranges;
Published | property VSpace;

Description

Properties

Published property CharHeight;
Published property CharWidth;
Published property Glyphs;
Published property GlyphsAlpha;
Published property GlyphsIntervalX;
Published property GlyphsIntervalY;
Published property HSpace;
Published property MagFilter;
Published property MinFilter;
Published property Ranges;
Published property VSpace;


GLSysHelp v.2.1: GLS.BitmapFont: Class TGLFlatText

Class TGLFlatText

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BitmapFont

Declaration

type TGLFlatText = class(TGLImmaterialSceneObject)

Description

A 2D text displayed and positionned in 3D coordinates. The FlatText uses a character font defined and stored by a TGLBitmapFont component. Default character scale is 1 font pixel = 1 space unit.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLFlatText

Overview

Fields

Private | FBitmapFont: TGLCustomBitmapFont;
Private | FText: UnicodeString;
Private | FAlignment: TAlignment;
Private | FLayout: TTextLayout;
Private | FModulateColor: TGLColor;
Private | FOptions: TGLFlatTextOptions;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetAlignment(const val: TAlignment);
Protected | procedure SetBitmapFont(const val: TGLCustomBitmapFont);
Protected | procedure SetLayout(const val: TTextLayout);
Protected | procedure SetModulateColor(const val: TGLColor);
Protected | procedure SetOptions(const val: TGLFlatTextOptions);
Protected | procedure SetText(const val: UnicodeString);

Properties

Published | property Alignment: TAlignment read FAlignment write SetAlignment;
Published | property BitmapFont: TGLCustomBitmapFont read FBitmapFont write SetBitmapFont;
Published | property Layout: TTextLayout read FLayout write SetLayout;
Published | property ModulateColor: TGLColor read FModulateColor write SetModulateColor;
Published | property Options: TGLFlatTextOptions read FOptions write SetOptions;
Published | property Text: UnicodeString read FText write SetText;

Description

Fields

Private FBitmapFont: TGLCustomBitmapFont;
Private FText: UnicodeString;
Private FAlignment: TAlignment;
Private FLayout: TTextLayout;
Private FModulateColor: TGLColor;
Private FOptions: TGLFlatTextOptions;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetAlignment(const val: TAlignment);
Protected procedure SetBitmapFont(const val: TGLCustomBitmapFont);
Protected procedure SetLayout(const val: TTextLayout);
Protected procedure SetModulateColor(const val: TGLColor);
Protected procedure SetOptions(const val: TGLFlatTextOptions);
Protected procedure SetText(const val: UnicodeString);

Properties

Published property Alignment: TAlignment read FAlignment write SetAlignment;

Controls the text alignment (horizontal). Possible values : taLeftJustify, taRightJustify, taCenter

Published property BitmapFont: TGLCustomBitmapFont read FBitmapFont write SetBitmapFont;

Refers the bitmap font to use. The referred bitmap font component stores and allows access to individual character bitmaps.

Published property Layout: TTextLayout read FLayout write SetLayout;

Controls the text layout (vertical). Possible values : tlTop, tlCenter, tlBottom

Published property ModulateColor: TGLColor read FModulateColor write SetModulateColor;

Color modulation, can be used for fade in/out too.

Published property Options: TGLFlatTextOptions read FOptions write SetOptions;

Flat text options. ftoTwoSided : when set the text will be visible from its two sides even if faceculling is on (at the scene-level).

Published property Text: UnicodeString read FText write SetText;

Text to render. Be aware that only the characters available in the bitmap font will be rendered. CR LF sequences are allowed.


GLSysHelp v.2.1: GLS.Blur

Unit GLS.Blur

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • VCL.Graphics
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.BaseClasses
  • GLS.Scene
  • GLS.Objects
  • GLS.BitmapFont
  • GLS.Texture
  • GLS.Material
  • GLS.HudObjects
  • GLS.Color
  • GLS.Graphics
  • GLS.Context
  • GLS.XOpenGL
  • GLS.State
  • GLS.TextureFormat
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TRGBPixel |
Class EGLMotionBlurException |
Class TGLBlur |
Class TGLMotionBlur |

Types

TGLAdvancedBlurImagePrepareEvent = procedure(Sender: TObject; BMP32: TGLImage; var DoBlur: boolean) of object;
TGLBlurkind = (...);
TGLBlurPreset = (...);
TRGBPixelBuffer = array of TRGBPixel;

Description

Types

TGLAdvancedBlurImagePrepareEvent = procedure(Sender: TObject; BMP32: TGLImage; var DoBlur: boolean) of object;
TGLBlurkind = (...);
Values
  • bNone
  • bSimple
  • bAdvanced
TGLBlurPreset = (...);
Values
  • pNone
  • pGlossy
  • pBeastView
  • pOceanDepth
  • pDream
  • pOverBlur
  • pAdvancedBlur
TRGBPixelBuffer = array of TRGBPixel;


GLSysHelp v.2.1: GLS.Blur: Record TRGBPixel

Record TRGBPixel

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Blur

Declaration

type TRGBPixel = record

Description

Overview

Fields

Public | R: TGLubyte;
Public | G: TGLubyte;
Public | B: TGLubyte;

Description

Fields

Public R: TGLubyte;
Public G: TGLubyte;
Public B: TGLubyte;


GLSysHelp v.2.1: GLS.Blur: Class EGLMotionBlurException

Class EGLMotionBlurException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Blur

Declaration

type EGLMotionBlurException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLMotionBlurException


GLSysHelp v.2.1: GLS.Blur: Class TGLBlur

Class TGLBlur

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Blur

Declaration

type TGLBlur = class(TGLHUDSprite)

Description

No description available, ancestor TGLHUDSprite description follows

A rectangular area, NOT perspective projected. (x, y) coordinates map directly to the viewport (in pixels) and refer the center of the area. The coordinate system is that of an equivalent TCanvas, ie. top-left point is the origin (0, 0). The z component is ignored and Z-Buffer is disabled when rendering. Using TGLHUDSprite in 2D only scenes : The most convenient way to use a TGLHUDSprite as a simple 2D sprite with blending capabilities (transparency or additive), is to set the texture mode to tmModulate, in FrontProperties, to use the Emission color to control coloring/intensity, and finally use the Diffuse color's alpha to control transparency (while setting the other RGB components to 0). You can also control aplha-blending by defining a <1 value in the sprite's AlphaChannel field. This provides you with hardware accelerated, alpha-blended blitting. Note : since TGLHUDSprite works in absolute coordinates, TGLProxyObject can't be used to duplicate an hud sprite.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLSprite
  • TGLHUDSprite
  • TGLBlur

Overview

Fields

Private | FViewer: TGLMemoryViewer;
Private | OldTime: Double;
Private | FDoingMemView: boolean;
Private | FBlurDeltaTime: Double;
Private | FBlurTop: Single;
Private | FBlurBottom: Single;
Private | FBlurLeft: Single;
Private | FBlurRight: Single;
Private | FRenderHeight: Integer;
Private | FRenderWidth: Integer;
Private | FPreset: TGLBlurPreset;
Private | FTargetObject: TGLbaseSceneObject;
Private | FOnAdvancedBlurImagePrepareEvent: TGLAdvancedBlurImagePrepareEvent;
Private | FBlur: TGLBlurKind;
Private | Pixelbuffer: TRGBPixelBuffer;
Private | FAdvancedBlurPasses: integer;
Private | FOnAfterTargetRender: TNotifyEvent;
Private | FOnBeforeTargetRender: TNotifyEvent;
Private | FAdvancedBlurAmp: single;
Private | FBlurSelf: boolean;
Private | FAdvancedBlurLowClamp: byte;
Private | FAdvancedBlurHiClamp: byte;
Private | FRenderBackgroundColor: TColor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function StoreBlurBottom: Boolean;
Private | function StoreBlurDeltaTime: Boolean;
Private | function StoreBlurLeft: Boolean;
Private | function StoreBlurRight: Boolean;
Private | function StoreBlurTop: Boolean;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure DoMemView(baseObject: TGLBaseSceneObject);
Private | procedure SetAdvancedBlurAmp(const Value: single);
Private | procedure SetAdvancedBlurHiClamp(const Value: byte);
Private | procedure SetAdvancedBlurLowClamp(const Value: byte);
Private | procedure SetAdvancedBlurPasses(const Value: integer);
Private | procedure SetBlur(const Value: TGLBlurKind);
Private | procedure SetBlurSelf(const Value: boolean);
Private | procedure SetOnAdvancedBlurImagePrepareEvent(const Value: TGLAdvancedBlurImagePrepareEvent);
Private | procedure SetOnAfterTargetRender(const Value: TNotifyEvent);
Private | procedure SetOnBeforeTargetRender(const Value: TNotifyEvent);
Private | procedure SetPreset(const Value: TGLBlurPreset);
Private | procedure SetRenderBackgroundColor(const Value: TColor);
Private | procedure SetRenderHeight(const Value: Integer);
Private | procedure SetRenderWidth(const Value: Integer);
Private | procedure SetTargetObject(const Value: TGLbaseSceneObject);
Private | procedure UpdateImageSettings;

Properties

Published | property AdvancedBlurAmp: single read FAdvancedBlurAmp write SetAdvancedBlurAmp;
Published | property AdvancedBlurHiClamp: byte read FAdvancedBlurHiClamp write SetAdvancedBlurHiClamp;
Published | property AdvancedBlurLowClamp: byte read FAdvancedBlurLowClamp write SetAdvancedBlurLowClamp;
Published | property AdvancedBlurPasses: integer read FAdvancedBlurPasses write SetAdvancedBlurPasses;
Published | property Blur: TGLBlurKind read FBlur write SetBlur;
Published | property BlurBottom: Single read FBlurBottom write FBlurBottom stored StoreBlurBottom;
Published | property BlurDeltaTime: Double read FBlurDeltaTime write FBlurDeltaTime stored StoreBlurDeltaTime;
Published | property BlurLeft: Single read FBlurLeft write FBlurLeft stored StoreBlurLeft;
Published | property BlurRight: Single read FBlurRight write FBlurRight stored StoreBlurRight;
Published | property BlurSelf: boolean read FBlurSelf write SetBlurSelf;
Published | property BlurTop: Single read FBlurTop write FBlurTop stored StoreBlurTop;
Published | property OnAdvancedBlurImagePrepareEvent: TGLAdvancedBlurImagePrepareEvent read FOnAdvancedBlurImagePrepareEvent write SetOnAdvancedBlurImagePrepareEvent;
Published | property OnAfterTargetRender: TNotifyEvent read FOnAfterTargetRender write SetOnAfterTargetRender;
Published | property OnBeforeTargetRender: TNotifyEvent read FOnBeforeTargetRender write SetOnBeforeTargetRender;
Published | property Preset: TGLBlurPreset read FPreset write SetPreset stored false;
Published | property RenderBackgroundColor: TColor read FRenderBackgroundColor write SetRenderBackgroundColor;
Published | property RenderHeight: Integer read FRenderHeight write SetRenderHeight default 256;
Published | property RenderWidth: Integer read FRenderWidth write SetRenderWidth default 256;
Published | property TargetObject: TGLbaseSceneObject read FTargetObject write SetTargetObject;

Description

Fields

Private FViewer: TGLMemoryViewer;
Private OldTime: Double;
Private FDoingMemView: boolean;
Private FBlurDeltaTime: Double;
Private FBlurTop: Single;
Private FBlurBottom: Single;
Private FBlurLeft: Single;
Private FBlurRight: Single;
Private FRenderHeight: Integer;
Private FRenderWidth: Integer;
Private FPreset: TGLBlurPreset;
Private FTargetObject: TGLbaseSceneObject;
Private FOnAdvancedBlurImagePrepareEvent: TGLAdvancedBlurImagePrepareEvent;
Private FBlur: TGLBlurKind;
Private Pixelbuffer: TRGBPixelBuffer;
Private FAdvancedBlurPasses: integer;
Private FOnAfterTargetRender: TNotifyEvent;
Private FOnBeforeTargetRender: TNotifyEvent;
Private FAdvancedBlurAmp: single;
Private FBlurSelf: boolean;
Private FAdvancedBlurLowClamp: byte;
Private FAdvancedBlurHiClamp: byte;
Private FRenderBackgroundColor: TColor;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function StoreBlurBottom: Boolean;
Private function StoreBlurDeltaTime: Boolean;
Private function StoreBlurLeft: Boolean;
Private function StoreBlurRight: Boolean;
Private function StoreBlurTop: Boolean;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure DoMemView(baseObject: TGLBaseSceneObject);
Private procedure SetAdvancedBlurAmp(const Value: single);
Private procedure SetAdvancedBlurHiClamp(const Value: byte);
Private procedure SetAdvancedBlurLowClamp(const Value: byte);
Private procedure SetAdvancedBlurPasses(const Value: integer);
Private procedure SetBlur(const Value: TGLBlurKind);
Private procedure SetBlurSelf(const Value: boolean);
Private procedure SetOnAdvancedBlurImagePrepareEvent(const Value: TGLAdvancedBlurImagePrepareEvent);
Private procedure SetOnAfterTargetRender(const Value: TNotifyEvent);
Private procedure SetOnBeforeTargetRender(const Value: TNotifyEvent);
Private procedure SetPreset(const Value: TGLBlurPreset);
Private procedure SetRenderBackgroundColor(const Value: TColor);
Private procedure SetRenderHeight(const Value: Integer);
Private procedure SetRenderWidth(const Value: Integer);
Private procedure SetTargetObject(const Value: TGLbaseSceneObject);
Private procedure UpdateImageSettings;

Properties

Published property AdvancedBlurAmp: single read FAdvancedBlurAmp write SetAdvancedBlurAmp;
Published property AdvancedBlurHiClamp: byte read FAdvancedBlurHiClamp write SetAdvancedBlurHiClamp;
Published property AdvancedBlurLowClamp: byte read FAdvancedBlurLowClamp write SetAdvancedBlurLowClamp;
Published property AdvancedBlurPasses: integer read FAdvancedBlurPasses write SetAdvancedBlurPasses;
Published property Blur: TGLBlurKind read FBlur write SetBlur;
Published property BlurBottom: Single read FBlurBottom write FBlurBottom stored StoreBlurBottom;
Published property BlurDeltaTime: Double read FBlurDeltaTime write FBlurDeltaTime stored StoreBlurDeltaTime;
Published property BlurLeft: Single read FBlurLeft write FBlurLeft stored StoreBlurLeft;
Published property BlurRight: Single read FBlurRight write FBlurRight stored StoreBlurRight;
Published property BlurSelf: boolean read FBlurSelf write SetBlurSelf;
Published property BlurTop: Single read FBlurTop write FBlurTop stored StoreBlurTop;
Published property OnAdvancedBlurImagePrepareEvent: TGLAdvancedBlurImagePrepareEvent read FOnAdvancedBlurImagePrepareEvent write SetOnAdvancedBlurImagePrepareEvent;
Published property OnAfterTargetRender: TNotifyEvent read FOnAfterTargetRender write SetOnAfterTargetRender;
Published property OnBeforeTargetRender: TNotifyEvent read FOnBeforeTargetRender write SetOnBeforeTargetRender;
Published property Preset: TGLBlurPreset read FPreset write SetPreset stored false;
Published property RenderBackgroundColor: TColor read FRenderBackgroundColor write SetRenderBackgroundColor;
Published property RenderHeight: Integer read FRenderHeight write SetRenderHeight default 256;
Published property RenderWidth: Integer read FRenderWidth write SetRenderWidth default 256;
Published property TargetObject: TGLbaseSceneObject read FTargetObject write SetTargetObject;


GLSysHelp v.2.1: GLS.Blur: Class TGLMotionBlur

Class TGLMotionBlur

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Blur

Declaration

type TGLMotionBlur = class(TGLCustomSceneObject, IGLInitializable)

Description

This component blurs everything thatis rendered BEFORE it. So if you want part of your scene blured, the other not blured, make sure that the other part is rendered after this component. It is fast and does not require shaders. Note: it is FPS-dependant. Also also can produce a "blury trail effect", which stays on the screen until something new is rendered over it. It can be overcome by changing the Material.FrontProperties.Diffuse property. This, however, also has a drawback - the picture becomes more blured altogether. For example, if your backgroud color is Black, set the Material.FrontProperties.Diffuse to White. If it is White, set Material.FrontProperties.Diffuse to Black. I haven't tried any others, but I hope you get the idea ;) I've seen this effect in different Bruring components, even in shaders, but if anyone knows another way to fix this issue - please post it on the glscene newsgroup.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLMotionBlur

Overview

Fields

Private FIntensity: Single;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | function SupportsRequiredExtensions: Boolean;
Private | function StoreIntensity: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure DoOnAddedToParent; override;
Protected | procedure InitializeObject(ASender: TObject; const ARci: TGLRenderContextInfo); virtual;

Properties

Published | property Behaviours;
Published | property Effects;
Published | property Hint;
Published | property Intensity: Single read FIntensity write FIntensity stored StoreIntensity;
Published | property OnProgress;
Published | property Visible;

Description

Fields

Private FIntensity: Single;

Methods

Public constructor Create(aOwner: TComponent); override;
Public function SupportsRequiredExtensions: Boolean;

This function is only valid AFTER OpenGL has been initialized.

Private function StoreIntensity: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure DoOnAddedToParent; override;
Protected procedure InitializeObject(ASender: TObject; const ARci: TGLRenderContextInfo); virtual;

Properties

Published property Behaviours;
Published property Effects;
Published property Hint;
Published property Intensity: Single read FIntensity write FIntensity stored StoreIntensity;

The more the intensity, the more blur you have.

Published property OnProgress;
Published property Visible;

From TGLBaseSceneObject.


GLSysHelp v.2.1: GLS.BumpmapHDS

Unit GLS.BumpmapHDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.SyncObjs
  • System.UITypes
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.Coordinates
  • GLS.HeightData
  • GLS.Graphics
  • GLS.Color
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.Material
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBumpmapHDS |

Functions and Procedures

procedure CalcObjectSpaceLightVectors(Light : TAffineVector; Vertices: TAffineVectorList; Colors: TVectorList);
procedure SetupTangentSpace(Vertices, Normals, TexCoords, Tangents, BiNormals : TAffineVectorList);
procedure CalcTangentSpaceLightVectors(Light : TAffineVector; Vertices, Normals, Tangents, BiNormals : TAffineVectorList; Colors: TVectorList);
function CreateObjectSpaceNormalMap(Width, Height : Integer; HiNormals,HiTexCoords : TAffineVectorList) : TBitmap;
function CreateTangentSpaceNormalMap(Width, Height : Integer; HiNormals, HiTexCoords, LoNormals, LoTexCoords, Tangents, BiNormals : TAffineVectorList) : TBitmap;

Types

TGLNormalMapSpace = (...);
TNewTilePreparedEvent = procedure(Sender: TGLBumpmapHDS; heightData: TGLHeightData; normalMapMaterial: TGLLibMaterial) of object;

Description

Functions and Procedures

procedure CalcObjectSpaceLightVectors(Light : TAffineVector; Vertices: TAffineVectorList; Colors: TVectorList);

Some useful methods for setting up bump maps.

procedure SetupTangentSpace(Vertices, Normals, TexCoords, Tangents, BiNormals : TAffineVectorList);
procedure CalcTangentSpaceLightVectors(Light : TAffineVector; Vertices, Normals, Tangents, BiNormals : TAffineVectorList; Colors: TVectorList);
function CreateObjectSpaceNormalMap(Width, Height : Integer; HiNormals,HiTexCoords : TAffineVectorList) : TBitmap;
function CreateTangentSpaceNormalMap(Width, Height : Integer; HiNormals, HiTexCoords, LoNormals, LoTexCoords, Tangents, BiNormals : TAffineVectorList) : TBitmap;

Types

TGLNormalMapSpace = (...);
Values
  • nmsObject
  • nmsTangent
TNewTilePreparedEvent = procedure(Sender: TGLBumpmapHDS; heightData: TGLHeightData; normalMapMaterial: TGLLibMaterial) of object;


GLSysHelp v.2.1: GLS.BumpmapHDS: Class TGLBumpmapHDS

Class TGLBumpmapHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.BumpmapHDS

Declaration

type TGLBumpmapHDS = class(TGLHeightDataSourceFilter)

Description

An Height Data Source that generates elevation bumpmaps automatically. The HDS must be connected to another HDS, which will provide the elevation data, and to a MaterialLibrary where bumpmaps will be placed.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLHeightDataSourceFilter
  • TGLBumpmapHDS

Overview

Fields

Private | FBumpmapLibrary: TGLMaterialLibrary;
Private | FOnNewTilePrepared: TNewTilePreparedEvent;
Private | FBumpScale: Single;
Private | FSubSampling: Integer;
Private | FMaxTextures: Integer;
Private | Uno: TCriticalSection;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreBumpScale: Boolean;
Public | procedure GenerateNormalMap(heightData: TGLHeightData; normalMap: TGLImage; scale: Single);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure PreparingData(heightData: TGLHeightData); override;
Public | procedure Release(aHeightData: TGLHeightData); override;
Public | procedure TrimTextureCache(MaxTextureCount: Integer);
Protected | procedure SetBumpmapLibrary(const val: TGLMaterialLibrary);
Protected | procedure SetBumpScale(const val: Single);
Protected | procedure SetSubSampling(const val: Integer);
Protected | procedure Trim(MaxTextureCount: Integer);

Properties

Published | property BumpmapLibrary: TGLMaterialLibrary read FBumpmapLibrary write SetBumpmapLibrary;
Published | property BumpScale: Single read FBumpScale write SetBumpScale stored StoreBumpScale;
Published | property MaxPoolSize;
Published | property MaxTextures: Integer read FMaxTextures write FMaxTextures;
Published | property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
Published | property OnSourceDataFetched;
Published | property SubSampling: Integer read FSubSampling write SetSubSampling default 1;

Description

Fields

Private FBumpmapLibrary: TGLMaterialLibrary;

FElevationHDS : TGLHeightDataSource;

Private FOnNewTilePrepared: TNewTilePreparedEvent;
Private FBumpScale: Single;
Private FSubSampling: Integer;
Private FMaxTextures: Integer;
Private Uno: TCriticalSection;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreBumpScale: Boolean;
Public procedure GenerateNormalMap(heightData: TGLHeightData; normalMap: TGLImage; scale: Single);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure PreparingData(heightData: TGLHeightData); override;

procedure TileTextureCoordinates(heightData : TGLHeightData; TextureScale:TTexPoint; TextureOffset:TTexPoint);

Public procedure Release(aHeightData: TGLHeightData); override;
Public procedure TrimTextureCache(MaxTextureCount: Integer);

This will repeatedly delete the oldest unused texture from the TGLMaterialLibrary, until the texture count drops to MaxTextureCount. DONT use this if you used TGLHeightData.MaterialName to link your terrain textures. Either use with TGLHeightData.LibMaterial, or manually delete unused Normal-Map textures.

Protected procedure SetBumpmapLibrary(const val: TGLMaterialLibrary);
Protected procedure SetBumpScale(const val: Single);
Protected procedure SetSubSampling(const val: Integer);
Protected procedure Trim(MaxTextureCount: Integer);

Properties

Published property BumpmapLibrary: TGLMaterialLibrary read FBumpmapLibrary write SetBumpmapLibrary;
Published property BumpScale: Single read FBumpScale write SetBumpScale stored StoreBumpScale;
Published property MaxPoolSize;
Published property MaxTextures: Integer read FMaxTextures write FMaxTextures;

If MaxTextures>0 then the Bumpmap library is trimmed down to size whenever the texture count is larger than MaxTextures. The oldest, unused texture is trimmed first. However, if you used TGLHeightData.MaterialName, instead of TGLHeightData.LibMaterial, then the TGLHeightData component does not register the texture as being used. So, if you use TGLHeightData.MaterialName then make sure MaxTextures=0. If MaxTextures=0 or if treads(GLS.AsyncHDS) are used, then the texture cache is NOT trimmed automatically. You will have to manually trim the cache from the main thread, by calling 'TrimTextureCache'. (GLS.AsyncHDS.OnIdle is a good place.)

Published property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
Published property OnSourceDataFetched;
Published property SubSampling: Integer read FSubSampling write SetSubSampling default 1;

Specifies the amount of subsampling for the bump texture. This value must be a power of 2, and is used to divide the height tile resolution to determine the bump texture resolution (f.i. a tile size of 128 with a subsampling of 4 will result in textures of a resolution of 32x32. SubSampling won't allow texture resolution to get below 16x16 (minimal bumpmap resolution).


GLSysHelp v.2.1: GLS.Cadencer

Unit GLS.Cadencer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.Classes
  • System.SysUtils
  • System.Types
  • VCL.Forms
  • GLS.Scene
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCadencer |
Class TGLCustomCadencedComponent |
Class TGLCadencedComponent |

Types

TGLCadencerMode = (...);
TGLCadencerTimeReference = (...);

Description

Types

TGLCadencerMode = (...);

Determines how the TGLCadencer operates. - cmManual : you must trigger progress manually (in your code) - cmASAP : progress is triggered As Soon As Possible after a previous progress (uses windows messages). - cmApplicationIdle : will hook Application.OnIdle, this will overwrite any previous event handle, and only one cadencer may be in this mode.

Values
  • cmManual
  • cmASAP
  • cmApplicationIdle
TGLCadencerTimeReference = (...);

Determines which time reference the TGLCadencer should use. - cmRTC : the Real Time Clock is used (precise over long periods, but not accurate to the millisecond, may limit your effective framerate to less than 50 FPS on some systems) - cmPerformanceCounter : the windows performance counter is used (nice precision, may derive over long periods, this is the default option as it allows the smoothest animation on fast systems) - cmExternal : the CurrentTime property is used

Values
  • cmRTC
  • cmPerformanceCounter
  • cmExternal


GLSysHelp v.2.1: GLS.Cadencer: Class TGLCadencer

Class TGLCadencer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Cadencer

Declaration

type TGLCadencer = class(TComponent)

Description

This component allows auto-progression of animation. Basicly dropping this component and linking it to your TGLScene will send it real-time progression events (time will be measured in seconds) while keeping the CPU 100% busy if possible (ie. if things change in your scene). The progression time (the one you'll see in you progression events) is calculated using (CurrentTime-OriginTime)*TimeMultiplier, CurrentTime being either manually or automatically updated using TimeReference (setting CurrentTime does NOT trigger progression).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadencer

Overview

Fields

Private | FSubscribedCadenceableComponents: TList;
Private | FScene: TGLScene;
Private | FTimeMultiplier: Double;
Private | lastTime: Double;
Private | downTime: Double;
Private | lastMultiplier: Double;
Private | FEnabled: Boolean;
Private | FSleepLength: Integer;
Private | FMode: TGLCadencerMode;
Private | FTimeReference: TGLCadencerTimeReference;
Private | FCurrentTime: Double;
Private | FOriginTime: Double;
Private | FMaxDeltaTime: Double;
Private | FMinDeltaTime: Double;
Private | FFixedDeltaTime: Double;
Private | FOnProgress: TGLProgressEvent;
Private | FOnTotalProgress: TGLProgressEvent;
Private | FProgressing: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function GetCurrenttime: Double; inline;
Public | function IsBusy: Boolean;
Protected | function GetRawReferenceTime: Double;
Protected | function StoreTimeMultiplier: Boolean;
Public | procedure Progress;
Public | procedure Reset;
Public | procedure Subscribe(aComponent: TGLCadenceAbleComponent);
Public | procedure UnSubscribe(aComponent: TGLCadenceAbleComponent);
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure OnIdleEvent(Sender: TObject; var Done: Boolean);
Protected | procedure RestartASAP;
Protected | procedure SetEnabled(const val: Boolean);
Protected | procedure SetMode(const val: TGLCadencerMode);
Protected | procedure SetScene(const val: TGLScene);
Protected | procedure SetTimeMultiplier(const val: Double);
Protected | procedure SetTimeReference(const val: TGLCadencerTimeReference);
Private | procedure SetCurrentTime(const Value: Double);

Properties

Public | property CurrentTime: Double read FCurrentTime write SetCurrentTime;
Published | property Enabled: Boolean read FEnabled write SetEnabled default True;
Published | property FixedDeltaTime: Double read FFixedDeltaTime write FFixedDeltaTime;
Published | property MaxDeltaTime: Double read FMaxDeltaTime write FMaxDeltaTime;
Published | property MinDeltaTime: Double read FMinDeltaTime write FMinDeltaTime;
Published | property Mode: TGLCadencerMode read FMode write SetMode default cmASAP;
Published | property OnProgress: TGLProgressEvent read FOnProgress write FOnProgress;
Published | property OnTotalProgress : TGLProgressEvent read FOnTotalProgress write FOnTotalProgress;
Public | property OriginTime: Double read FOriginTime write FOriginTime;
Published | property Scene: TGLScene read FScene write SetScene;
Published | property SleepLength: Integer read FSleepLength write FSleepLength default -1;
Published | property TimeMultiplier: Double read FTimeMultiplier write SetTimeMultiplier stored StoreTimeMultiplier;
Published | property TimeReference: TGLCadencerTimeReference read FTimeReference write SetTimeReference default cmPerformanceCounter;

Description

Fields

Private FSubscribedCadenceableComponents: TList;
Private FScene: TGLScene;
Private FTimeMultiplier: Double;
Private lastTime: Double;
Private downTime: Double;
Private lastMultiplier: Double;
Private FEnabled: Boolean;
Private FSleepLength: Integer;
Private FMode: TGLCadencerMode;
Private FTimeReference: TGLCadencerTimeReference;
Private FCurrentTime: Double;
Private FOriginTime: Double;
Private FMaxDeltaTime: Double;
Private FMinDeltaTime: Double;
Private FFixedDeltaTime: Double;
Private FOnProgress: TGLProgressEvent;
Private FOnTotalProgress: TGLProgressEvent;
Private FProgressing: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function GetCurrenttime: Double; inline;

Adjusts CurrentTime if necessary, then returns its value.

Public function IsBusy: Boolean;

Returns True if a "Progress" is underway. Be aware that as long as IsBusy is True, the Cadencer may be sending messages and progression calls to cadenceable components and scenes.

Protected function GetRawReferenceTime: Double;

Returns raw ref time (no multiplier, no offset)

Protected function StoreTimeMultiplier: Boolean;
Public procedure Progress;

Allows to manually trigger a progression. Time stuff is handled automatically. If cadencer is disabled, this functions does nothing.

Public procedure Reset;

Reset the time parameters and returns to zero.

Public procedure Subscribe(aComponent: TGLCadenceAbleComponent);
Public procedure UnSubscribe(aComponent: TGLCadenceAbleComponent);
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure OnIdleEvent(Sender: TObject; var Done: Boolean);
Protected procedure RestartASAP;
Protected procedure SetEnabled(const val: Boolean);
Protected procedure SetMode(const val: TGLCadencerMode);
Protected procedure SetScene(const val: TGLScene);
Protected procedure SetTimeMultiplier(const val: Double);
Protected procedure SetTimeReference(const val: TGLCadencerTimeReference);
Private procedure SetCurrentTime(const Value: Double);

Properties

Public property CurrentTime: Double read FCurrentTime write SetCurrentTime;

Current time (manually or automatically set, see TimeReference).

Published property Enabled: Boolean read FEnabled write SetEnabled default True;

Enables/Disables cadencing. Disabling won't cause a jump when restarting, it is working like a play/pause (ie. may modify OriginTime to keep things smooth).

Published property FixedDeltaTime: Double read FFixedDeltaTime write FFixedDeltaTime;

Fixed time-step value for progression events. If superior to zero, progression steps will happen with that fixed delta time. The progression remains time based, so zero to N events may be fired depending on the actual deltaTime (if deltaTime is inferior to FixedDeltaTime, no event will be fired, if it is superior to two times FixedDeltaTime, two events will be fired, etc.). This option allows to use fixed time steps in simulations (while the animation and rendering itself may happen at a lower or higher framerate).

Published property MaxDeltaTime: Double read FMaxDeltaTime write FMaxDeltaTime;

Maximum value for deltaTime in progression events. If null or negative, no max deltaTime is defined, otherwise, whenever an event whose actual deltaTime would be superior to MaxDeltaTime occurs, deltaTime is clamped to this max, and the extra time is hidden by the cadencer (it isn't visible in CurrentTime either). This option allows to limit progression rate in simulations where high values would result in errors/random behaviour.

Published property MinDeltaTime: Double read FMinDeltaTime write FMinDeltaTime;

Minimum value for deltaTime in progression events. If superior to zero, this value specifies the minimum time step between two progression events. This option allows to limit progression rate in simulations where low values would result in errors/random behaviour.

Published property Mode: TGLCadencerMode read FMode write SetMode default cmASAP;

Adjusts how progression events are triggered. See TGLCadencerMode.

Published property OnProgress: TGLProgressEvent read FOnProgress write FOnProgress;

Happens AFTER scene was progressed.

Published property OnTotalProgress : TGLProgressEvent read FOnTotalProgress write FOnTotalProgress;

Happens AFTER all iterations with fixed delta time.

Public property OriginTime: Double read FOriginTime write FOriginTime;

Value soustracted to current time to obtain progression time.

Published property Scene: TGLScene read FScene write SetScene;

The TGLScene that will be cadenced (progressed).

Published property SleepLength: Integer read FSleepLength write FSleepLength default -1;

Allows relinquishing time to other threads/processes. A "sleep" is issued BEFORE each progress if SleepLength>=0 (see help for the "sleep" procedure in delphi for details).

Published property TimeMultiplier: Double read FTimeMultiplier write SetTimeMultiplier stored StoreTimeMultiplier;

Multiplier applied to the time reference. Zero isn't an allowed value, and be aware that if negative values are accepted, they may not be supported by other GLScene objects. Changing the TimeMultiplier will alter OriginTime.

Published property TimeReference: TGLCadencerTimeReference read FTimeReference write SetTimeReference default cmPerformanceCounter;

Defines how CurrentTime is updated. See TGLCadencerTimeReference. Dynamically changeing the TimeReference may cause a "jump".


GLSysHelp v.2.1: GLS.Cadencer: Class TGLCustomCadencedComponent

Class TGLCustomCadencedComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Cadencer

Declaration

type TGLCustomCadencedComponent = class(TGLUpdateAbleComponent)

Description

Adds a property to connect/subscribe to a cadencer.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent

Overview

Fields

Private FCadencer: TGLCadencer;

Methods

Public | destructor Destroy; override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetCadencer(const val: TGLCadencer);

Properties

Protected property Cadencer: TGLCadencer read FCadencer write SetCadencer;

Description

Fields

Private FCadencer: TGLCadencer;

Methods

Public destructor Destroy; override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetCadencer(const val: TGLCadencer);

Properties

Protected property Cadencer: TGLCadencer read FCadencer write SetCadencer;


GLSysHelp v.2.1: GLS.Cadencer: Class TGLCadencedComponent

Class TGLCadencedComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Cadencer

Declaration

type TGLCadencedComponent = class(TGLCustomCadencedComponent)

Description

No description available, ancestor TGLCustomCadencedComponent description follows

Adds a property to connect/subscribe to a cadencer.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent

Overview

Properties

Published property Cadencer;

Description

Properties

Published property Cadencer;


GLSysHelp v.2.1: GLS.CameraController

Unit GLS.CameraController

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • System.Contnrs
  • System.Types
  • GLS.Scene
  • GLS.Coordinates
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.SmoothNavigator
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLCameraController |
Class TGLCameraJobList |
Class TGLCameraJob |
Class TGLMoveToPosJob |
Class TGLZoomToDistanceJob |
Class TGLOrbitToPosJob |
Class TGLSmoothOrbitToPos |
Class TGLOrbitToPosAdvJob |
Class TGLSmoothOrbitToPosAdvJob |
Class TGLCameraController |

Types

TGLCameraJobEvent = procedure(Sender: TGLCameraJob) of object;

Description

Types

TGLCameraJobEvent = procedure(Sender: TGLCameraJob) of object;


GLSysHelp v.2.1: GLS.CameraController: Class EGLCameraController

Class EGLCameraController

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type EGLCameraController = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLCameraController


GLSysHelp v.2.1: GLS.CameraController: Class TGLCameraJobList

Class TGLCameraJobList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLCameraJobList = class(TObjectList)

Description

No description available, ancestor TObjectList description follows

Hierarchy

  • TObject
  • TObjectList
  • TGLCameraJobList

Overview

Fields

Private FController: TGLCameraController;

Methods

Public | constructor Create(AController: TGLCameraController);
Public | function Add(ACameraJob: TGLCameraJob): integer;
Public | function First: TGLCameraJob;
Public | function Last: TGLCameraJob;
Private | function GetCameraJob(const AIndex: integer): TGLCameraJob;
Private | procedure SetCameraJob(const AIndex: integer; const Value: TGLCameraJob);

Properties

Public property Items[constAIndex:integer]: TGLCameraJob read GetCameraJob write SetCameraJob;

Description

Fields

Private FController: TGLCameraController;

Methods

Public constructor Create(AController: TGLCameraController);
Public function Add(ACameraJob: TGLCameraJob): integer;
Public function First: TGLCameraJob;
Public function Last: TGLCameraJob;
Private function GetCameraJob(const AIndex: integer): TGLCameraJob;
Private procedure SetCameraJob(const AIndex: integer; const Value: TGLCameraJob);

Properties

Public property Items[constAIndex:integer]: TGLCameraJob read GetCameraJob write SetCameraJob;


GLSysHelp v.2.1: GLS.CameraController: Class TGLCameraJob

Class TGLCameraJob

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLCameraJob = class(TObject)

Description

Hierarchy

  • TObject
  • TGLCameraJob

Overview

Fields

Private | FJoblist: TGLCameraJobList;
Protected | FAbort: boolean;
Protected | FInit: boolean;
Protected | FRunning: boolean;
Protected | FElapsedTime: Double;
Protected | FDeltaTime: Double;
Protected | FStartTime: Double;
Protected | FProceedTime: Double;

Methods

Public | constructor Create(const AJoblist: TGLCameraJobList); virtual;
Public | destructor Destroy; override;
Public | procedure Abort;
Public | procedure Init; virtual; abstract;
Public | procedure Step; virtual; abstract;

Properties

Public | property ElapsedTime: Double read FElapsedTime write FElapsedTime;
Public | property ProceedTime: Double read FProceedTime write FProceedTime;
Public | property Running: boolean read FRunning write FRunning;
Public | property StartTime: Double read FStartTime write FStartTime;

Description

Fields

Private FJoblist: TGLCameraJobList;
Protected FAbort: boolean;
Protected FInit: boolean;
Protected FRunning: boolean;
Protected FElapsedTime: Double;
Protected FDeltaTime: Double;
Protected FStartTime: Double;
Protected FProceedTime: Double;

Methods

Public constructor Create(const AJoblist: TGLCameraJobList); virtual;
Public destructor Destroy; override;
Public procedure Abort;
Public procedure Init; virtual; abstract;
Public procedure Step; virtual; abstract;

Properties

Public property ElapsedTime: Double read FElapsedTime write FElapsedTime;
Public property ProceedTime: Double read FProceedTime write FProceedTime;
Public property Running: boolean read FRunning write FRunning;
Public property StartTime: Double read FStartTime write FStartTime;


GLSysHelp v.2.1: GLS.CameraController: Class TGLMoveToPosJob

Class TGLMoveToPosJob

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLMoveToPosJob = class(TGLCameraJob)

Description

No description available, ancestor TGLCameraJob description follows

Hierarchy

  • TObject
  • TGLCameraJob
  • TGLMoveToPosJob

Overview

Fields

Private | FInitialPos: TGLVector;
Private | FFinalPos: TGLVector;
Public | X: Double;
Public | Y: Double;
Public | Z: Double;
Public | Time: Double;

Methods

Public | procedure Init; override;
Public | procedure Step; override;

Properties

Public | property FinalPos: TGLVector read FFinalPos;
Public | property InitialPos: TGLVector read FInitialPos;

Description

Fields

Private FInitialPos: TGLVector;
Private FFinalPos: TGLVector;
Public X: Double;
Public Y: Double;
Public Z: Double;
Public Time: Double;

Methods

Public procedure Init; override;
Public procedure Step; override;

Properties

Public property FinalPos: TGLVector read FFinalPos;
Public property InitialPos: TGLVector read FInitialPos;

Properties.


GLSysHelp v.2.1: GLS.CameraController: Class TGLZoomToDistanceJob

Class TGLZoomToDistanceJob

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLZoomToDistanceJob = class(TGLCameraJob)

Description

No description available, ancestor TGLCameraJob description follows

Hierarchy

  • TObject
  • TGLCameraJob
  • TGLZoomToDistanceJob

Overview

Fields

Private | FInitialPos: TGLVector;
Private | FFinalPos: TGLVector;
Public | Distance: Double;
Public | Time: Double;

Methods

Public | procedure Init; override;
Public | procedure Step; override;

Properties

Public | property FinalPos: TGLVector read FFinalPos;
Public | property InitialPos: TGLVector read FInitialPos;

Description

Fields

Private FInitialPos: TGLVector;
Private FFinalPos: TGLVector;
Public Distance: Double;
Public Time: Double;

Methods

Public procedure Init; override;
Public procedure Step; override;

Properties

Public property FinalPos: TGLVector read FFinalPos;
Public property InitialPos: TGLVector read FInitialPos;

Properties.


GLSysHelp v.2.1: GLS.CameraController: Class TGLOrbitToPosJob

Class TGLOrbitToPosJob

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLOrbitToPosJob = class(TGLCameraJob)

Description

No description available, ancestor TGLCameraJob description follows

Hierarchy

  • TObject
  • TGLCameraJob
  • TGLOrbitToPosJob

Overview

Fields

Private | FFinalPos: TGLVector;
Private | FRotateSpeed: TVector2f;
Private | FCameraUpVector: TGLVector;
Private | FTargetPosition: TGLVector;
Private | FTime: Double;

Methods

Public | procedure Init; override;
Public | procedure Step; override;

Properties

Public | property CameraUpVector: TGLVector read FCameraUpVector;
Public | property FinalPos: TGLVector read FFinalPos;
Public | property RotateSpeed: TVector2f read FRotateSpeed;
Public | property TargetPosition: TGLVector read FTargetPosition;
Public | property Time: Double read FTime;

Description

Fields

Private FFinalPos: TGLVector;
Private FRotateSpeed: TVector2f;

Yep, FFinalPos is stored in relative coordinates.

Private FCameraUpVector: TGLVector;
Private FTargetPosition: TGLVector;

Absolute Coordinates, can even be not normalized by radius. Procesed in Init, not used anywhere else.

Private FTime: Double;

Methods

Public procedure Init; override;
Public procedure Step; override;

Properties

Public property CameraUpVector: TGLVector read FCameraUpVector;
Public property FinalPos: TGLVector read FFinalPos;
Public property RotateSpeed: TVector2f read FRotateSpeed;
Public property TargetPosition: TGLVector read FTargetPosition;
Public property Time: Double read FTime;


GLSysHelp v.2.1: GLS.CameraController: Class TGLSmoothOrbitToPos

Class TGLSmoothOrbitToPos

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLSmoothOrbitToPos = class(TGLOrbitToPosJob)

Description

No description available, ancestor TGLOrbitToPosJob description follows
No description available, ancestor TGLCameraJob description follows

Hierarchy

  • TObject
  • TGLCameraJob
  • TGLOrbitToPosJob
  • TGLSmoothOrbitToPos

Overview

Fields

Private | FCutoffAngle: Single;
Private | FNeedToRecalculateZoom: boolean;
Private | FShouldBeMatrix: TGLMatrix;
Private | FSmoothNavigator: TGLNavigatorSmoothChangeVector;

Methods

Public | constructor Create(const AJoblist: TGLCameraJobList); override;
Public | procedure Step; override;

Properties

Public | property CutoffAngle: Single read FCutoffAngle write FCutoffAngle;
Public | property NeedToRecalculateZoom: boolean read FNeedToRecalculateZoom write FNeedToRecalculateZoom;

Description

Fields

Private FCutoffAngle: Single;
Private FNeedToRecalculateZoom: boolean;
Private FShouldBeMatrix: TGLMatrix;
Private FSmoothNavigator: TGLNavigatorSmoothChangeVector;

Methods

Public constructor Create(const AJoblist: TGLCameraJobList); override;
Public procedure Step; override;

Properties

Public property CutoffAngle: Single read FCutoffAngle write FCutoffAngle;
Public property NeedToRecalculateZoom: boolean read FNeedToRecalculateZoom write FNeedToRecalculateZoom;


GLSysHelp v.2.1: GLS.CameraController: Class TGLOrbitToPosAdvJob

Class TGLOrbitToPosAdvJob

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLOrbitToPosAdvJob = class(TGLCameraJob)

Description

No description available, ancestor TGLCameraJob description follows

Hierarchy

  • TObject
  • TGLCameraJob
  • TGLOrbitToPosAdvJob

Overview

Fields

Private | FInitialPos: TGLVector;
Private | FFinalPos: TGLVector;
Private | FInitialUp: TGLVector;
Private | FInitialDir: TGLVector;
Private | FRotAxis: TGLVector;
Private | FAngle: Double;
Public | X: Double;
Public | Y: Double;
Public | Z: Double;
Public | Time: Double;
Public | PreferUpAxis: boolean;

Methods

Public | procedure Init; override;
Public | procedure Step; override;

Properties

Public | property FinalPos: TGLVector read FFinalPos;
Public | property InitialDir: TGLVector read FInitialDir;
Public | property InitialPos: TGLVector read FInitialPos;
Public | property InitialUp: TGLVector read FInitialUp;

Description

Fields

Private FInitialPos: TGLVector;
Private FFinalPos: TGLVector;
Private FInitialUp: TGLVector;
Private FInitialDir: TGLVector;
Private FRotAxis: TGLVector;
Private FAngle: Double;
Public X: Double;
Public Y: Double;
Public Z: Double;
Public Time: Double;
Public PreferUpAxis: boolean;

Methods

Public procedure Init; override;
Public procedure Step; override;

Properties

Public property FinalPos: TGLVector read FFinalPos;
Public property InitialDir: TGLVector read FInitialDir;
Public property InitialPos: TGLVector read FInitialPos;

Properties.

Public property InitialUp: TGLVector read FInitialUp;


GLSysHelp v.2.1: GLS.CameraController: Class TGLSmoothOrbitToPosAdvJob

Class TGLSmoothOrbitToPosAdvJob

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLSmoothOrbitToPosAdvJob = class(TGLOrbitToPosAdvJob)

Description

No description available, ancestor TGLOrbitToPosAdvJob description follows
No description available, ancestor TGLCameraJob description follows

Hierarchy

  • TObject
  • TGLCameraJob
  • TGLOrbitToPosAdvJob
  • TGLSmoothOrbitToPosAdvJob

Overview

Fields

Private | FPreviousPosition: TGLVector;
Private | FSmoothNavigator: TGLNavigatorSmoothChangeVector;
Private | FRestoreUpVector: boolean;

Methods

Public | procedure Init; override;
Public | procedure Step; override;

Description

Fields

Private FPreviousPosition: TGLVector;
Private FSmoothNavigator: TGLNavigatorSmoothChangeVector;
Private FRestoreUpVector: boolean;

Methods

Public procedure Init; override;
Public procedure Step; override;


GLSysHelp v.2.1: GLS.CameraController: Class TGLCameraController

Class TGLCameraController

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CameraController

Declaration

type TGLCameraController = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCameraController

Overview

Fields

Private | FCameraJobList: TGLCameraJobList;
Private | FCamera: TGLBaseSceneObject;
Private | FCameraTarget: TGLBaseSceneObject;
Private | FOnJobAdded: TGLCameraJobEvent;
Private | FOnJobFinished: TGLCameraJobEvent;
Private | FOnJobStep: TGLCameraJobEvent;
Private | FsoSafeDist: Double;
Private | FsoTimeToSafePlacement: Double;
Private | FsoTimeToOrbit: Double;
Private | FsoTimeToZoomBackIn: Double;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function MoveToPos(X, Y, Z, Time: Double): TGLMoveToPosJob;
Public | function OrbitToPos(X, Y, Z, Time: Double): TGLOrbitToPosJob;
Public | function OrbitToPosAdvanced(X, Y, Z, Time: Double; PreferUpAxis: boolean = True): TGLOrbitToPosAdvJob;
Public | function OrbitToPosAdvancedSmooth(const X, Y, Z, Time: Double; const ASmoothNavigator: TGLNavigatorSmoothChangeVector; const PreferUpAxis: boolean = True): TGLSmoothOrbitToPosAdvJob;
Public | function OrbitToPosSmooth(const ATargetPosition: TGLVector; const ATime: Double; const ASmoothNavigator: TGLNavigatorSmoothChangeVector; const AFNeedToRecalculateZoom: boolean; const ACameraUpVector: PGLVector = nil): TGLSmoothOrbitToPos;
Public | function ZoomToDistance(Distance, Time: Double): TGLZoomToDistanceJob;
Public | procedure SafeOrbitAndZoomToPos(X, Y, Z: Double);
Public | procedure Step(const deltaTime, newTime: Double);
Public | procedure StopMovement;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure CheckAssignments(Extended: boolean);
Private | procedure SetCamera(const Value: TGLBaseSceneObject);
Private | procedure SetCameraTarget(const Value: TGLBaseSceneObject);
Private | procedure SetOnJobAdded(const Value: TGLCameraJobEvent);
Private | procedure SetOnJobFinished(const Value: TGLCameraJobEvent);
Private | procedure SetOnJobStep(const Value: TGLCameraJobEvent);

Properties

Published | property Camera: TGLBaseSceneObject read FCamera write SetCamera;
Public | property CameraJobList: TGLCameraJobList read FCameraJobList;
Published | property CameraTarget: TGLBaseSceneObject read FCameraTarget write SetCameraTarget;
Published | property OnJobAdded: TGLCameraJobEvent read FOnJobAdded write SetOnJobAdded;
Published | property OnJobFinished: TGLCameraJobEvent read FOnJobFinished write SetOnJobFinished;
Published | property OnJobStep: TGLCameraJobEvent read FOnJobStep write SetOnJobStep;
Published | property soSafeDistance: Double read FsoSafeDist write FsoSafeDist;
Published | property soTimeToOrbit: Double read FsoTimeToOrbit write FsoTimeToOrbit;
Published | property soTimeToSafePlacement: Double read FsoTimeToSafePlacement write FsoTimeToSafePlacement;
Published | property soTimeToZoomBackIn: Double read FsoTimeToZoomBackIn write FsoTimeToZoomBackIn;

Description

Fields

Private FCameraJobList: TGLCameraJobList;

Objects.

Private FCamera: TGLBaseSceneObject;
Private FCameraTarget: TGLBaseSceneObject;
Private FOnJobAdded: TGLCameraJobEvent;

Events.

Private FOnJobFinished: TGLCameraJobEvent;
Private FOnJobStep: TGLCameraJobEvent;
Private FsoSafeDist: Double;

fields used by SafeOrbitAndZoomToPos

Private FsoTimeToSafePlacement: Double;

fields used by SafeOrbitAndZoomToPos

Private FsoTimeToOrbit: Double;

fields used by SafeOrbitAndZoomToPos

Private FsoTimeToZoomBackIn: Double;

fields used by SafeOrbitAndZoomToPos

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function MoveToPos(X, Y, Z, Time: Double): TGLMoveToPosJob;

linear movement from current pos

Public function OrbitToPos(X, Y, Z, Time: Double): TGLOrbitToPosJob;

orbiting from current pos to the pos where the camera points at the camera.targetObject TROUGH the given point it will not move to the given point(!), use SafeOrbitAndZoomToPos instead there has to be a camera.targetObject assigned!

Public function OrbitToPosAdvanced(X, Y, Z, Time: Double; PreferUpAxis: boolean = True): TGLOrbitToPosAdvJob;

Same function as OrbitToPos but support all camera states PreferUpAxis value is to setup if function use Camera Up based rotation axis instead of Camera direction based rotation axis when destination and camera position are opposite from Camera Target

Public function OrbitToPosAdvancedSmooth(const X, Y, Z, Time: Double; const ASmoothNavigator: TGLNavigatorSmoothChangeVector; const PreferUpAxis: boolean = True): TGLSmoothOrbitToPosAdvJob;

Same as OrbitToPosAdvanced(), but makes use of SmoothNavigator to make sure all camera movements are smooth.

Public function OrbitToPosSmooth(const ATargetPosition: TGLVector; const ATime: Double; const ASmoothNavigator: TGLNavigatorSmoothChangeVector; const AFNeedToRecalculateZoom: boolean; const ACameraUpVector: PGLVector = nil): TGLSmoothOrbitToPos;

Same as OrbitToPos(), but makes use of SmoothNavigator to make sure all camera movements are smooth.

Public function ZoomToDistance(Distance, Time: Double): TGLZoomToDistanceJob;

zooms in/out by moving to the given distance from camera.targetObject there has to be a camera.targetObject assigned!

Public procedure SafeOrbitAndZoomToPos(X, Y, Z: Double);

google earth - like "fly-to" = zoom out to safe distance, orbit, and then zoom in to the given point there has to be a camera.targetObject assigned!

Public procedure Step(const deltaTime, newTime: Double);

Called by the cadencer to animate the camera

Public procedure StopMovement;

It might be a good idea to introduce ability to stop movement and return control to user, here it is

Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure CheckAssignments(Extended: boolean);

private methods used to test whether camera and cadencer are assigned Extended = true -> will test also for Camera.TargetObject

Private procedure SetCamera(const Value: TGLBaseSceneObject);
Private procedure SetCameraTarget(const Value: TGLBaseSceneObject);
Private procedure SetOnJobAdded(const Value: TGLCameraJobEvent);

after AdjustScene the Camera.DepthofView will be modified if you want to zoom back in from GUI you should use something like Camera.DepthOfView:=2*Camera.DistanceToTarget+2*camera.TargetObject.BoundingSphereRadius;

Private procedure SetOnJobFinished(const Value: TGLCameraJobEvent);
Private procedure SetOnJobStep(const Value: TGLCameraJobEvent);

Properties

Published property Camera: TGLBaseSceneObject read FCamera write SetCamera;

Assign a Moving object (usually a TGLCamera).

Public property CameraJobList: TGLCameraJobList read FCameraJobList;
Published property CameraTarget: TGLBaseSceneObject read FCameraTarget write SetCameraTarget;

Assign a target, around which Moving object should rotate(usually TGLCamera.TargetObject).

Published property OnJobAdded: TGLCameraJobEvent read FOnJobAdded write SetOnJobAdded;

this event is triggered when a job is init

Published property OnJobFinished: TGLCameraJobEvent read FOnJobFinished write SetOnJobFinished;

this event is triggered when a job is finished (not canceled)

Published property OnJobStep: TGLCameraJobEvent read FOnJobStep write SetOnJobStep;

this event is triggered when a job is step (like an OnMove)

Published property soSafeDistance: Double read FsoSafeDist write FsoSafeDist;

safe distance to avoid moving the camera trough the camera.targetObject while performing SafeOrbitAndZoomToPos

Published property soTimeToOrbit: Double read FsoTimeToOrbit write FsoTimeToOrbit;

time to orbit while performing SafeOrbitAndZoomToPos

Published property soTimeToSafePlacement: Double read FsoTimeToSafePlacement write FsoTimeToSafePlacement;

time to zoom in/out to the safe position while performing SafeOrbitAndZoomToPos

Published property soTimeToZoomBackIn: Double read FsoTimeToZoomBackIn write FsoTimeToZoomBackIn;

time to zoom in/out to the given final position while performing SafeOrbitAndZoomToPos


GLSysHelp v.2.1: GLS.Canvas

Unit GLS.Canvas

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Types
  • System.Classes
  • System.Math
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.Color
  • GLS.Context
  • GLS.VectorTypes
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCanvas |

Types

TGLArcDirection = (...);

Description

Types

TGLArcDirection = (...);
Values
  • adCounterClockWise
  • adClockWise


GLSysHelp v.2.1: GLS.Canvas: Class TGLCanvas

Class TGLCanvas

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Canvas

Declaration

type TGLCanvas = class(TObject)

Description

A simple Canvas-like interface for OpenGL. This class implements a small "shell" for 2D operations in OpenGL, it operates over the current OpenGL context and provides methods for drawing lines, ellipses and points. This class is typically used by creating an instance, using it for drawing, and freeing the instance. When drawing (0, 0) is the top left corner. All coordinates are internally maintained with floating point precision. Several states are cached and it is of primary importance not to invoke OpenGL directly throughout the life of an instance (at the cost of unespected behaviour).

Hierarchy

  • TObject
  • TGLCanvas

Overview

Fields

Private | FBufferSizeX: Integer;
Private | FBufferSizeY: Integer;
Private | FLastPrimitive: Integer;
Private | FCurrentPos: TAffineVector;
Private | FPenColor: TColor;
Private | FPenWidth: Integer;
Private | FCurrentPenColorVector: TGLVector;
Private | FArcDirection: TGLArcDirection;

Methods

Public | constructor Create(bufferSizeX, bufferSizeY: Integer; const baseTransform: TGLMatrix); overload;
Public | constructor Create(bufferSizeX, bufferSizeY: Integer); overload;
Public | destructor Destroy; override;
Protected | function GetPenAlpha: Single;
Public | procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Integer); overload;
Public | procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Single); overload;
Public | procedure Arc(const x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single); overload;
Public | procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Single); overload;
Public | procedure ArcTo(const x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single); overload;
Public | procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Integer); overload;
Public | procedure Ellipse(const x, y: Single; const Radius: Single); overload;
Public | procedure Ellipse(const x, y: Single; const xRadius, yRadius: Single); overload;
Public | procedure Ellipse(const x, y: Integer; const xRadius, yRadius: Single); overload;
Public | procedure EllipseBB(const x1, y1, x2, y2: Single); overload;
Public | procedure EllipseBB(const x1, y1, x2, y2: Integer); overload;
Public | procedure FillEllipse(const x, y: Integer; const xRadius, yRadius: Single); overload;
Public | procedure FillEllipse(const x, y: Single; const Radius: Single); overload;
Public | procedure FillEllipse(const x, y: Single; const xRadius, yRadius: Single); overload;
Public | procedure FillEllipseGradient(const x, y, xRadius, yRadius: Single; const edgeColor: TGLColorVector); overload;
Public | procedure FillEllipseGradient(const x, y, Radius: Single; const edgeColor: TGLColorVector); overload;
Public | procedure FillEllipseGradient(const x, y: Integer; const xRadius, yRadius: Integer; const edgeColor: TGLColorVector); overload;
Public | procedure FillRect(const x1, y1, x2, y2: Single); overload;
Public | procedure FillRect(const x1, y1, x2, y2: Integer); overload;
Public | procedure FillRectGradient(const x1, y1, x2, y2: Integer; const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TGLColorVector); overload;
Public | procedure FillRectGradient(const x1, y1, x2, y2: Single; const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TGLColorVector); overload;
Public | procedure FrameRect(const x1, y1, x2, y2: Single); overload;
Public | procedure FrameRect(const x1, y1, x2, y2: Integer); overload;
Public | procedure InvertYAxis;
Public | procedure Line(const x1, y1, x2, y2: Single); overload;
Public | procedure Line(const x1, y1, x2, y2: Integer); overload;
Public | procedure LineTo(const x, y: Single); overload;
Public | procedure LineTo(const x, y: Integer); overload;
Public | procedure LineToRel(const x, y: Single); overload;
Public | procedure LineToRel(const x, y: Integer); overload;
Public | procedure MoveTo(const x, y: Integer); overload;
Public | procedure MoveTo(const x, y: Single); overload;
Public | procedure MoveToRel(const x, y: Single); overload;
Public | procedure MoveToRel(const x, y: Integer); overload;
Public | procedure PlotPixel(const x, y: Single); overload;
Public | procedure PlotPixel(const x, y: Integer); overload;
Public | procedure Polygon(const points: array of TPoint);
Public | procedure Polyline(const points: array of TPoint);
Public | procedure RoundRect(const x1, y1, x2, y2, xr, yr: Integer); overload;
Public | procedure RoundRect(const x1, y1, x2, y2, xr, yr: Single); overload;
Public | procedure StopPrimitive;
Protected | procedure BackupOpenGLStates;
Protected | procedure DrawArc(x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single; UpdateCurrentPos: Boolean); overload;
Protected | procedure DrawArc(x1, y1, x2, y2, x3, y3, x4, y4: Single; UpdateCurrentPos: Boolean); overload;
Protected | procedure EllipseVertices(x, y, xRadius, yRadius: Single);
Protected | procedure NormalizePoint(const x1, y1, x2, y2: Single; const x, y: Single; pX, pY: PSingle);
Protected | procedure SetPenAlpha(const val: Single);
Protected | procedure SetPenColor(const val: TColor);
Protected | procedure SetPenWidth(const val: Integer);
Protected | procedure StartPrimitive(const primitiveType: Integer);
Protected | procedure SwapSingle(pX, pY: PSingle);

Properties

Public | property ArcDirection: TGLArcDirection read FArcDirection write FArcDirection;
Public | property CanvasSizeX: Integer read FBufferSizeX;
Public | property CanvasSizeY: Integer read FBufferSizeY;
Public | property PenAlpha : Single read GetPenAlpha write SetPenAlpha;
Public | property PenColor: TColor read FPenColor write SetPenColor;
Public | property PenWidth: Integer read FPenWidth write SetPenWidth;

Description

Fields

Private FBufferSizeX: Integer;
Private FBufferSizeY: Integer;
Private FLastPrimitive: Integer;
Private FCurrentPos: TAffineVector;
Private FPenColor: TColor;
Private FPenWidth: Integer;
Private FCurrentPenColorVector: TGLVector;
Private FArcDirection: TGLArcDirection;

Methods

Public constructor Create(bufferSizeX, bufferSizeY: Integer; const baseTransform: TGLMatrix); overload;
Public constructor Create(bufferSizeX, bufferSizeY: Integer); overload;
Public destructor Destroy; override;
Protected function GetPenAlpha: Single;
Public procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Integer); overload;

Draw an elliptical arc. The points (x1, y1) and (x2, y2) specify the bounding rectangle. An ellipse formed by the specified bounding rectangle defines the curve of the arc. The arc extends in the current drawing direction from the point where it intersects the radial from the center of the bounding rectangle to the (x3, y3) point. The arc ends where it intersects the radial from the center of the bounding rectangle to the (x4, y4) point. If the starting point and ending point are the same, a complete ellipse is drawn. Use the ArcDirection property to get and set the current drawing direction for a device context. The default drawing direction is counterclockwise.

Public procedure Arc(const x1, y1, x2, y2, x3, y3, x4, y4: Single); overload;
Public procedure Arc(const x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single); overload;
Public procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Single); overload;
Public procedure ArcTo(const x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single); overload;
Public procedure ArcTo(const x1, y1, x2, y2, x3, y3, x4, y4: Integer); overload;

Same as Arc but update the current position.

Public procedure Ellipse(const x, y: Single; const Radius: Single); overload;
Public procedure Ellipse(const x, y: Single; const xRadius, yRadius: Single); overload;
Public procedure Ellipse(const x, y: Integer; const xRadius, yRadius: Single); overload;

Draws and ellipse centered at (x, y) with given radiuses.

Public procedure EllipseBB(const x1, y1, x2, y2: Single); overload;
Public procedure EllipseBB(const x1, y1, x2, y2: Integer); overload;

Draws an ellipse with (x1,y1)-(x2, y2) bounding rectangle.

Public procedure FillEllipse(const x, y: Integer; const xRadius, yRadius: Single); overload;

Draw a filled ellipse.

Public procedure FillEllipse(const x, y: Single; const Radius: Single); overload;
Public procedure FillEllipse(const x, y: Single; const xRadius, yRadius: Single); overload;
Public procedure FillEllipseGradient(const x, y, xRadius, yRadius: Single; const edgeColor: TGLColorVector); 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.

Public procedure FillEllipseGradient(const x, y, Radius: Single; const edgeColor: TGLColorVector); overload;
Public procedure FillEllipseGradient(const x, y: Integer; const xRadius, yRadius: Integer; const edgeColor: TGLColorVector); overload;
Public procedure FillRect(const x1, y1, x2, y2: Single); overload;
Public procedure FillRect(const x1, y1, x2, y2: Integer); overload;

Draw the (x1,y1)-(x2, y2) rectangle (filled with PenColor).

Public procedure FillRectGradient(const x1, y1, x2, y2: Integer; const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TGLColorVector); overload;
Public procedure FillRectGradient(const x1, y1, x2, y2: Single; const x1y1Color, x2y1Color, x2y2Color, x1y2Color: TGLColorVector); overload;

Draw the (x1,y1)-(x2, y2) rectangle (filled with given gradient's color).

Public procedure FrameRect(const x1, y1, x2, y2: Single); overload;
Public procedure FrameRect(const x1, y1, x2, y2: Integer); overload;

Draw the (x1,y1)-(x2, y2) rectangle's frame (border).

Public procedure InvertYAxis;

Inverts the orientation of the Y Axis. If (0, 0) was in the top left corner, it will move to the bottom left corner or vice-versa.

Public procedure Line(const x1, y1, x2, y2: Single); overload;
Public procedure Line(const x1, y1, x2, y2: Integer); overload;

Draws a line from (x1, y1) to (x2, y2). The current position is NOT updated.

Public procedure LineTo(const x, y: Single); overload;
Public procedure LineTo(const x, y: Integer); overload;

Draws a line from current position to given coordinate. Current position is updated.

Public procedure LineToRel(const x, y: Single); overload;
Public procedure LineToRel(const x, y: Integer); overload;
Public procedure MoveTo(const x, y: Integer); overload;

Updates the current position (absolute coords).

Public procedure MoveTo(const x, y: Single); overload;
Public procedure MoveToRel(const x, y: Single); overload;
Public procedure MoveToRel(const x, y: Integer); overload;

Updates the current position (relative coords).

Public procedure PlotPixel(const x, y: Single); overload;
Public procedure PlotPixel(const x, y: Integer); overload;

Plots a pixel at given coordinate. PenWidth affects pixel size. The current position is NOT updated.

Public procedure Polygon(const points: array of TPoint);

Similar to Polyline but also connects the last point to the first.

Public procedure Polyline(const points: array of TPoint);

Draws the set of lines defined by connecting the points. Similar to invoking MoveTo on the first point, then LineTo on all the following points.

Public procedure RoundRect(const x1, y1, x2, y2, xr, yr: Integer); overload;
Public procedure RoundRect(const x1, y1, x2, y2, xr, yr: Single); overload;
Public procedure StopPrimitive;

Stops the current internal primitive. This function is invoked automatically by TGLCanvas when changeing primitives, you should directly call if you want to render your own stuff intertwined with TGLCanvas drawings. In that case, call it before your own OpenGL calls.

Protected procedure BackupOpenGLStates;
Protected procedure DrawArc(x1, y1, x2, y2: Single; AngleBegin, AngleEnd: Single; UpdateCurrentPos: Boolean); overload;
Protected procedure DrawArc(x1, y1, x2, y2, x3, y3, x4, y4: Single; UpdateCurrentPos: Boolean); overload;
Protected procedure EllipseVertices(x, y, xRadius, yRadius: Single);
Protected procedure NormalizePoint(const x1, y1, x2, y2: Single; const x, y: Single; pX, pY: PSingle);
Protected procedure SetPenAlpha(const val: Single);
Protected procedure SetPenColor(const val: TColor);
Protected procedure SetPenWidth(const val: Integer);
Protected procedure StartPrimitive(const primitiveType: Integer);
Protected procedure SwapSingle(pX, pY: PSingle);

Properties

Public property ArcDirection: TGLArcDirection read FArcDirection write FArcDirection;
Public property CanvasSizeX: Integer read FBufferSizeX;
Public property CanvasSizeY: Integer read FBufferSizeY;
Public property PenAlpha : Single read GetPenAlpha write SetPenAlpha;

Current Pen Alpha channel (from 0.0 to 1.0)

Public property PenColor: TColor read FPenColor write SetPenColor;

Current Pen Color.

Public property PenWidth: Integer read FPenWidth write SetPenWidth;

Current Pen Width.


GLSysHelp v.2.1: GLS.Collision

Unit GLS.Collision

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.XCollection
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.GeometryBB
  • GLS.Manager
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCollisionManager |
Class TGLBCollision |

Functions and Procedures

function FastCheckPointVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckPointVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckPointVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckPointVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsFace(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckFaceVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckFaceVsFace(obj1, obj2: TGLBaseSceneObject): Boolean;
function IntersectCubes(obj1, obj2: TGLBaseSceneObject): Boolean; overload;
function GetOrCreateCollision(behaviours: TGLBehaviours) : TGLBCollision; overload;
function GetOrCreateCollision(obj: TGLBaseSceneObject): TGLBCollision; overload;

Types

PFastCollisionChecker = ˆTFastCollisionChecker;
TCollisionBoundingMode = (...);
TFastCollisionChecker = function(obj1, obj2: TGLBaseSceneObject): Boolean;
TObjectCollisionEvent = procedure(Sender: TObject; object1, object2: TGLBaseSceneObject) of object;

Description

Functions and Procedures

function FastCheckPointVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;

Fast Collision detection routines that are heavily specialized and just return a boolean

function FastCheckPointVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckPointVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckPointVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckSphereVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckEllipsoidVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsPoint(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsSphere(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsEllipsoid(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckCubeVsFace(obj1, obj2: TGLBaseSceneObject): Boolean;
function FastCheckFaceVsCube(obj1, obj2: TGLBaseSceneObject): Boolean;

experimental

function FastCheckFaceVsFace(obj1, obj2: TGLBaseSceneObject): Boolean;

experimental

function IntersectCubes(obj1, obj2: TGLBaseSceneObject): Boolean; overload;

Returns true when the bounding box cubes does intersect the other. Also true when the one cube does contain the other completely.

function GetOrCreateCollision(behaviours: TGLBehaviours) : TGLBCollision; overload;

Returns or creates the TGLBCollision within the given behaviours. This helper function is convenient way to access a TGLBCollision.

function GetOrCreateCollision(obj: TGLBaseSceneObject): TGLBCollision; overload;

Returns or creates the TGLBCollision within the given object's behaviours. This helper function is convenient way to access a TGLBCollision.

Types

PFastCollisionChecker = ˆTFastCollisionChecker;
TCollisionBoundingMode = (...);

Defines how fine collision bounding is for a particular object. Possible values are : cbmPoint : the object is punctual and may only collide with volumes cbmSphere : the object is defined by its bounding sphere (radius is the max of axis-aligned dimensions) cbmEllipsoid the object is defined by its bounding axis-aligned ellipsoid cbmCube : the object is defined by a bounding axis-aligned "cube" cbmFaces : the object is defined by its faces (needs object-level support, if unavailable, uses cbmCube code)

Values
  • cbmPoint
  • cbmSphere
  • cbmEllipsoid
  • cbmCube
  • cbmFaces
TFastCollisionChecker = function(obj1, obj2: TGLBaseSceneObject): Boolean;
TObjectCollisionEvent = procedure(Sender: TObject; object1, object2: TGLBaseSceneObject) of object;


GLSysHelp v.2.1: GLS.Collision: Class TGLCollisionManager

Class TGLCollisionManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Collision

Declaration

type TGLCollisionManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCollisionManager

Overview

Fields

Private | FClients: TList;
Private | FOnCollision: TObjectCollisionEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure CheckCollisions;
Protected | procedure DeRegisterAllClients;
Protected | procedure DeRegisterClient(aClient: TGLBCollision);
Protected | procedure RegisterClient(aClient: TGLBCollision);

Properties

Published property OnCollision: TObjectCollisionEvent read FOnCollision write FOnCollision;

Description

Fields

Private FClients: TList;
Private FOnCollision: TObjectCollisionEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure CheckCollisions;
Protected procedure DeRegisterAllClients;
Protected procedure DeRegisterClient(aClient: TGLBCollision);
Protected procedure RegisterClient(aClient: TGLBCollision);

Properties

Published property OnCollision: TObjectCollisionEvent read FOnCollision write FOnCollision;


GLSysHelp v.2.1: GLS.Collision: Class TGLBCollision

Class TGLBCollision

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Collision

Declaration

type TGLBCollision = class(TGLBehaviour)

Description

Collision detection behaviour. Allows an object to register to a TCollisionManager and be accounted for in collision-detection and distance calculation mechanisms. An object may have multiple TGLBCollision, registered to multiple collision managers, however if multiple behaviours share the same manager, only one of them will be accounted for, others will be ignored.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBCollision

Overview

Fields

Private | FBoundingMode: TCollisionBoundingMode;
Private | FManager: TGLCollisionManager;
Private | FManagerName: String;
Private | FGroupIndex: Integer;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetGroupIndex(const value: Integer);
Protected | procedure SetManager(const val: TGLCollisionManager);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property BoundingMode: TCollisionBoundingMode read FBoundingMode write FBoundingMode;
Published | property GroupIndex: Integer read FGroupIndex write SetGroupIndex;
Published | property Manager: TGLCollisionManager read FManager write SetManager;

Description

Fields

Private FBoundingMode: TCollisionBoundingMode;
Private FManager: TGLCollisionManager;
Private FManagerName: String;
Private FGroupIndex: Integer;

NOT persistent, temporarily used for persistence

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetGroupIndex(const value: Integer);
Protected procedure SetManager(const val: TGLCollisionManager);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property BoundingMode: TCollisionBoundingMode read FBoundingMode write FBoundingMode;
Published property GroupIndex: Integer read FGroupIndex write SetGroupIndex;
Published property Manager: TGLCollisionManager read FManager write SetManager;

Refers the collision manager.


GLSysHelp v.2.1: GLS.Color

Unit GLS.Color

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.SysUtils
  • System.Classes
  • System.UITypes
  • Vcl.Dialogs
  • Vcl.Graphics
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.PersistentClasses
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLColor |
Record TGLColorEntry |
Class TGLColorManager |

Functions and Procedures

function RGB2Color(const r, g, b: Byte): TColor; inline;
function ColorManager: TGLColorManager;
procedure RegisterColor(const aName: String; const aColor: TGLColorVector);
procedure UnRegisterColor(const aName: String);
function GetRValue(rgb: DWORD): Byte;
function GetGValue(rgb: DWORD): Byte;
function GetBValue(rgb: DWORD): Byte;
procedure InitGLSceneColors;
function ConvertWinColor(aColor: TColor; Alpha: Single = 1): TGLColorVector;
function ConvertColorVector(const aColor: TGLColorVector): TColor; overload;
function ConvertColorVector(const aColor: TGLColorVector; intensity: Single): TColor; overload;
function ConvertRGBColor(const aColor: array of Byte): TGLColorVector;

Types

PGLColorEntry = ˆTGLColorEntry;
PGLColorVector = ˆTGLColorVector;
PRGBColor = ˆTRGBColor;
TGLColorVector = TVector4f;
TRGBColor = TVector3b;

Constants

clForeground = TColor(-1);
clButton = TColor(-2);
clLight = TColor(-3);
clMidlight = TColor(-4);
clDark = TColor(-5);
clMid = TColor(-6);
clText = TColor(-7);
clBrightText = TColor(-8);
clButtonText = TColor(-9);
clBase = TColor(-10);
clBackground = TColor(-11);
clShadow = TColor(-12);
clHighlight = TColor(-13);
clHighlightedText = TColor(-14);
cloNormal = 32;
cloDisabled = 64;
cloActive = 96;
clNormalForeground = TColor(clForeground - cloNormal);
clNormalButton = TColor(clButton - cloNormal);
clNormalLight = TColor(clLight - cloNormal);
clNormalMidlight = TColor(clMidlight - cloNormal);
clNormalDark = TColor(clDark - cloNormal);
clNormalMid = TColor(clMid - cloNormal);
clNormalText = TColor(clText - cloNormal);
clNormalBrightText = TColor(clBrightText - cloNormal);
clNormalButtonText = TColor(clButtonText - cloNormal);
clNormalBase = TColor(clBase - cloNormal);
clNormalBackground = TColor(clBackground - cloNormal);
clNormalShadow = TColor(clShadow - cloNormal);
clNormalHighlight = TColor(clHighlight - cloNormal);
clNormalHighlightedText = TColor(clHighlightedText - cloNormal);
clDisabledForeground = TColor(clForeground - cloDisabled);
clDisabledButton = TColor(clButton - cloDisabled);
clDisabledLight = TColor(clLight - cloDisabled);
clDisabledMidlight = TColor(clMidlight - cloDisabled);
clDisabledDark = TColor(clDark - cloDisabled);
clDisabledMid = TColor(clMid - cloDisabled);
clDisabledText = TColor(clText - cloDisabled);
clDisabledBrightText = TColor(clBrightText - cloDisabled);
clDisabledButtonText = TColor(clButtonText - cloDisabled);
clDisabledBase = TColor(clBase - cloDisabled);
clDisabledBackground = TColor(clBackground - cloDisabled);
clDisabledShadow = TColor(clShadow - cloDisabled);
clDisabledHighlight = TColor(clHighlight - cloDisabled);
clDisabledHighlightedText = TColor(clHighlightedText - cloDisabled);
clActiveForeground = TColor(clForeground - cloActive);
clActiveButton = TColor(clButton - cloActive);
clActiveLight = TColor(clLight - cloActive);
clActiveMidlight = TColor(clMidlight - cloActive);
clActiveDark = TColor(clDark - cloActive);
clActiveMid = TColor(clMid - cloActive);
clActiveText = TColor(clText - cloActive);
clActiveBrightText = TColor(clBrightText - cloActive);
clActiveButtonText = TColor(clButtonText - cloActive);
clActiveBase = TColor(clBase - cloActive);
clActiveBackground = TColor(clBackground - cloActive);
clActiveShadow = TColor(clShadow - cloActive);
clActiveHighlight = TColor(clHighlight - cloActive);
clActiveHighlightedText = TColor(clHighlightedText - cloActive);
clFirstSpecialColor = clActiveHighlightedText;
clMask = clWhite;
clDontMask = clBlack;
clrScrollBar: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBackground: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrActiveCaption: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInactiveCaption: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrMenu: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrWindow: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrWindowFrame: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrMenuText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrWindowText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrCaptionText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrActiveBorder: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInactiveBorder: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrAppWorkSpace: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrHighlight: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrHighlightText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnFace: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnShadow: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrGrayText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInactiveCaptionText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnHighlight: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clr3DDkShadow: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clr3DLight: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInfoText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInfoBk: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrTransparent: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 0);
clrBlack: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrGray05: TGLColorVector = (X: 0.05; Y: 0.05; Z: 0.05; W: 1);
clrGray10: TGLColorVector = (X: 0.10; Y: 0.10; Z: 0.10; W: 1);
clrGray15: TGLColorVector = (X: 0.15; Y: 0.15; Z: 0.15; W: 1);
clrGray20: TGLColorVector = (X: 0.20; Y: 0.20; Z: 0.20; W: 1);
clrGray25: TGLColorVector = (X: 0.25; Y: 0.25; Z: 0.25; W: 1);
clrGray30: TGLColorVector = (X: 0.30; Y: 0.30; Z: 0.30; W: 1);
clrGray35: TGLColorVector = (X: 0.35; Y: 0.35; Z: 0.35; W: 1);
clrGray40: TGLColorVector = (X: 0.40; Y: 0.40; Z: 0.40; W: 1);
clrGray45: TGLColorVector = (X: 0.45; Y: 0.45; Z: 0.45; W: 1);
clrGray50: TGLColorVector = (X: 0.50; Y: 0.50; Z: 0.50; W: 1);
clrGray55: TGLColorVector = (X: 0.55; Y: 0.55; Z: 0.55; W: 1);
clrGray60: TGLColorVector = (X: 0.60; Y: 0.60; Z: 0.60; W: 1);
clrGray65: TGLColorVector = (X: 0.65; Y: 0.65; Z: 0.65; W: 1);
clrGray70: TGLColorVector = (X: 0.70; Y: 0.70; Z: 0.70; W: 1);
clrGray75: TGLColorVector = (X: 0.75; Y: 0.75; Z: 0.75; W: 1);
clrGray80: TGLColorVector = (X: 0.80; Y: 0.80; Z: 0.80; W: 1);
clrGray85: TGLColorVector = (X: 0.85; Y: 0.85; Z: 0.85; W: 1);
clrGray90: TGLColorVector = (X: 0.90; Y: 0.90; Z: 0.90; W: 1);
clrGray95: TGLColorVector = (X: 0.95; Y: 0.95; Z: 0.95; W: 1);
clrWhite: TGLColorVector = (X: 1; Y: 1; Z: 1; W: 1);
clrDimGray: TGLColorVector = (X: 0.329412; Y: 0.329412; Z: 0.329412; W: 1);
clrGray: TGLColorVector = (X: 0.752941; Y: 0.752941; Z: 0.752941; W: 1);
clrLightGray: TGLColorVector = (X: 0.658824; Y: 0.658824; Z: 0.658824; W: 1);
clrAqua: TGLColorVector = (X: 0; Y: 1; Z: 1; W: 1);
clrAquamarine: TGLColorVector = (X: 0.439216; Y: 0.858824; Z: 0.576471; W: 1);
clrBakersChoc: TGLColorVector = (X: 0.36; Y: 0.20; Z: 0.09; W: 1);
clrBlue: TGLColorVector = (X: 0; Y: 0; Z: 1; W: 1);
clrBlueViolet: TGLColorVector = (X: 0.62352; Y: 0.372549; Z: 0.623529; W: 1);
clrBrown: TGLColorVector = (X: 0.647059; Y: 0.164706; Z: 0.164706; W: 1);
clrCadetBlue: TGLColorVector = (X: 0.372549; Y: 0.623529; Z: 0.623529; W: 1);
clrCoral: TGLColorVector = (X: 1; Y: 0.498039; Z: 0.0; W: 1);
clrCornflowerBlue: TGLColorVector = (X: 0.258824; Y: 0.258824; Z: 0.435294; W: 1);
clrDarkGreen: TGLColorVector = (X: 0.184314; Y: 0.309804; Z: 0.184314; W: 1);
clrDarkOliveGreen: TGLColorVector = (X: 0.309804; Y: 0.309804; Z: 0.184314; W: 1);
clrDarkOrchid: TGLColorVector = (X: 0.6; Y: 0.196078; Z: 0.8; W: 1);
clrDarkSlateBlue: TGLColorVector = (X: 0.419608; Y: 0.137255; Z: 0.556863; W: 1);
clrDarkSlateGray: TGLColorVector = (X: 0.184314; Y: 0.309804; Z: 0.309804; W: 1);
clrDarkSlateGrey: TGLColorVector = (X: 0.184314; Y: 0.309804; Z: 0.309804; W: 1);
clrDarkTurquoise: TGLColorVector = (X: 0.439216; Y: 0.576471; Z: 0.858824; W: 1);
clrFirebrick: TGLColorVector = (X: 0.556863; Y: 0.137255; Z: 0.137255; W: 1);
clrForestGreen: TGLColorVector = (X: 0.137255; Y: 0.556863; Z: 0.137255; W: 1);
clrFuchsia: TGLColorVector = (X: 1; Y: 0; Z: 1; W: 1);
clrGold: TGLColorVector = (X: 0.8; Y: 0.498039; Z: 0.196078; W: 1);
clrGoldenrod: TGLColorVector = (X: 0.858824; Y: 0.858824; Z: 0.439216; W: 1);
clrGreenYellow: TGLColorVector = (X: 0.576471; Y: 0.858824; Z: 0.439216; W: 1);
clrIndian: TGLColorVector = (X: 0.309804; Y: 0.184314; Z: 0.184314; W: 1);
clrKhaki: TGLColorVector = (X: 0.623529; Y: 0.623529; Z: 0.372549; W: 1);
clrLightBlue: TGLColorVector = (X: 0.74902; Y: 0.847059; Z: 0.847059; W: 1);
clrLightSteelBlue: TGLColorVector = (X: 0.560784; Y: 0.560784; Z: 0.737255; W: 1);
clrLime: TGLColorVector = (X: 0; Y: 1; Z: 0; W: 1);
clrLimeGreen: TGLColorVector = (X: 0.196078; Y: 0.8; Z: 0.196078; W: 1);
clrMaroon: TGLColorVector = (X: 0.556863; Y: 0.137255; Z: 0.419608; W: 1);
clrMediumAquamarine: TGLColorVector = (X: 0.196078; Y: 0.8; Z: 0.6; W: 1);
clrMediumBlue: TGLColorVector = (X: 0.196078; Y: 0.196078; Z: 0.8; W: 1);
clrMediumForestGreen: TGLColorVector = (X: 0.419608; Y: 0.556863; Z: 0.137255; W: 1);
clrMediumGoldenrod: TGLColorVector = (X: 0.917647; Y: 0.917647; Z: 0.678431; W: 1);
clrMediumOrchid: TGLColorVector = (X: 0.576471; Y: 0.439216; Z: 0.858824; W: 1);
clrMediumSeaGreen: TGLColorVector = (X: 0.258824; Y: 0.435294; Z: 0.258824; W: 1);
clrMediumSlateBlue: TGLColorVector = (X: 0.498039; Y: 0; Z: 1; W: 1);
clrMediumSpringGreen: TGLColorVector = (X: 0.498039; Y: 1; Z: 0; W: 1);
clrMediumTurquoise: TGLColorVector = (X: 0.439216; Y: 0.858824; Z: 0.858824; W: 1);
clrMediumViolet: TGLColorVector = (X: 0.858824; Y: 0.439216; Z: 0.576471; W: 1);
clrMediumPurple: TGLColorVector = (X: 0.73; Y: 0.16; Z: 0.96; W: 1);
clrMidnightBlue: TGLColorVector = (X: 0.184314; Y: 0.184314; Z: 0.309804; W: 1);
clrNavy: TGLColorVector = (X: 0.137255; Y: 0.137255; Z: 0.556863; W: 1);
clrNavyBlue: TGLColorVector = (X: 0.137255; Y: 0.137255; Z: 0.556863; W: 1);
clrOrange: TGLColorVector = (X: 1; Y: 0.5; Z: 0.0; W: 1);
clrOrangeRed: TGLColorVector = (X: 1; Y: 0.25; Z: 0; W: 1);
clrOrchid: TGLColorVector = (X: 0.858824; Y: 0.439216; Z: 0.858824; W: 1);
clrPaleGreen: TGLColorVector = (X: 0.560784; Y: 0.737255; Z: 0.560784; W: 1);
clrPink: TGLColorVector = (X: 0.737255; Y: 0.560784; Z: 0.560784; W: 1);
clrPlum: TGLColorVector = (X: 0.917647; Y: 0.678431; Z: 0.917647; W: 1);
clrSalmon: TGLColorVector = (X: 0.435294; Y: 0.258824; Z: 0.258824; W: 1);
clrSeaGreen: TGLColorVector = (X: 0.137255; Y: 0.556863; Z: 0.419608; W: 1);
clrSienna: TGLColorVector = (X: 0.556863; Y: 0.419608; Z: 0.137255; W: 1);
clrSkyBlue: TGLColorVector = (X: 0.196078; Y: 0.6; Z: 0.8; W: 1);
clrSlateBlue: TGLColorVector = (X: 0; Y: 0.498039; Z: 1; W: 1);
clrSpringGreen: TGLColorVector = (X: 0; Y: 1; Z: 0.498039; W: 1);
clrSteelBlue: TGLColorVector = (X: 0.137255; Y: 0.419608; Z: 0.556863; W: 1);
clrTan: TGLColorVector = (X: 0.858824; Y: 0.576471; Z: 0.439216; W: 1);
clrThistle: TGLColorVector = (X: 0.847059; Y: 0.74902; Z: 0.847059; W: 1);
clrTurquoise: TGLColorVector = (X: 0.678431; Y: 0.917647; Z: 0.917647; W: 1);
clrViolet: TGLColorVector = (X: 0.309804; Y: 0.184314; Z: 0.309804; W: 1);
clrVioletRed: TGLColorVector = (X: 0.8; Y: 0.196078; Z: 0.6; W: 1);
clrYellowGreen: TGLColorVector = (X: 0.6; Y: 0.8; Z: 0.196078; W: 1);
clrSummerSky: TGLColorVector = (X: 0.22; Y: 0.69; Z: 0.87; W: 1);
clrRichBlue: TGLColorVector = (X: 0.35; Y: 0.35; Z: 0.67; W: 1);
clrBrass: TGLColorVector = (X: 0.71; Y: 0.65; Z: 0.26; W: 1);
clrCopper: TGLColorVector = (X: 0.72; Y: 0.45; Z: 0.20; W: 1);
clrBronze: TGLColorVector = (X: 0.55; Y: 0.47; Z: 0.14; W: 1);
clrBronze2: TGLColorVector = (X: 0.65; Y: 0.49; Z: 0.24; W: 1);
clrSilver: TGLColorVector = (X: 0.90; Y: 0.91; Z: 0.98; W: 1);
clrBrightGold: TGLColorVector = (X: 0.85; Y: 0.85; Z: 0.10; W: 1);
clrOldGold: TGLColorVector = (X: 0.81; Y: 0.71; Z: 0.23; W: 1);
clrFeldspar: TGLColorVector = (X: 0.82; Y: 0.57; Z: 0.46; W: 1);
clrQuartz: TGLColorVector = (X: 0.85; Y: 0.85; Z: 0.95; W: 1);
clrNeonPink: TGLColorVector = (X: 1.00; Y: 0.43; Z: 0.78; W: 1);
clrDarkPurple: TGLColorVector = (X: 0.53; Y: 0.12; Z: 0.47; W: 1);
clrNeonBlue: TGLColorVector = (X: 0.30; Y: 0.30; Z: 1.00; W: 1);
clrCoolCopper: TGLColorVector = (X: 0.85; Y: 0.53; Z: 0.10; W: 1);
clrMandarinOrange: TGLColorVector = (X: 0.89; Y: 0.47; Z: 0.20; W: 1);
clrLightWood: TGLColorVector = (X: 0.91; Y: 0.76; Z: 0.65; W: 1);
clrMediumWood: TGLColorVector = (X: 0.65; Y: 0.50; Z: 0.39; W: 1);
clrDarkWood: TGLColorVector = (X: 0.52; Y: 0.37; Z: 0.26; W: 1);
clrSpicyPink: TGLColorVector = (X: 1.00; Y: 0.11; Z: 0.68; W: 1);
clrSemiSweetChoc: TGLColorVector = (X: 0.42; Y: 0.26; Z: 0.15; W: 1);
clrFlesh: TGLColorVector = (X: 0.96; Y: 0.80; Z: 0.69; W: 1);
clrNewTan: TGLColorVector = (X: 0.92; Y: 0.78; Z: 0.62; W: 1);
clrNewMidnightBlue: TGLColorVector = (X: 0.00; Y: 0.00; Z: 0.61; W: 1);
clrVeryDarkBrown: TGLColorVector = (X: 0.35; Y: 0.16; Z: 0.14; W: 1);
clrDarkBrown: TGLColorVector = (X: 0.36; Y: 0.25; Z: 0.20; W: 1);
clrDarkTan: TGLColorVector = (X: 0.59; Y: 0.41; Z: 0.31; W: 1);
clrGreenCopper: TGLColorVector = (X: 0.32; Y: 0.49; Z: 0.46; W: 1);
clrDkGreenCopper: TGLColorVector = (X: 0.29; Y: 0.46; Z: 0.43; W: 1);
clrDustyRose: TGLColorVector = (X: 0.52; Y: 0.39; Z: 0.39; W: 1);
clrHuntersGreen: TGLColorVector = (X: 0.13; Y: 0.37; Z: 0.31; W: 1);
clrScarlet: TGLColorVector = (X: 0.55; Y: 0.09; Z: 0.09; W: 1);
clrLightPurple: TGLColorVector = (X: 0.87; Y: 0.58; Z: 0.98; W: 1);
clrVeryLightPurple: TGLColorVector = (X: 0.94; Y: 0.81; Z: 0.99; W: 1);
clrGreen: TGLColorVector = (X: 0; Y: 0.5; Z: 0; W: 1);
clrOlive: TGLColorVector = (X: 0.5; Y: 0.5; Z: 1; W: 1);
clrPurple: TGLColorVector = (X: 1; Y: 0; Z: 1; W: 1);
clrTeal: TGLColorVector = (X: 0; Y: 0.5; Z: 0.5; W: 1);
clrRed: TGLColorVector = (X: 1; Y: 0; Z: 0; W: 1);
clrYellow: TGLColorVector = (X: 1; Y: 1; Z: 0; W: 1);
clrWheat: TGLColorVector = (X: 0.847059; Y: 0.847059; Z: 0.74902; W: 1);
cDefaultNormalMapScale = 0.125;

Variables

vUseDefaultColorSets: Boolean = False;

Description

Functions and Procedures

function RGB2Color(const r, g, b: Byte): TColor; inline;

Builds a TColor from Red Green Blue components.

function ColorManager: TGLColorManager;
procedure RegisterColor(const aName: String; const aColor: TGLColorVector);
procedure UnRegisterColor(const aName: String);
function GetRValue(rgb: DWORD): Byte;
function GetGValue(rgb: DWORD): Byte;
function GetBValue(rgb: DWORD): Byte;
procedure InitGLSceneColors;
function ConvertWinColor(aColor: TColor; Alpha: Single = 1): TGLColorVector;

Converts a delphi color into its RGB fragments and correct range.

function ConvertColorVector(const aColor: TGLColorVector): TColor; overload;

Converts a color vector (containing float values)

function ConvertColorVector(const aColor: TGLColorVector; intensity: Single): TColor; overload;

Converts a color vector (containing float values) and alter intensity. intensity is in [0..1]

function ConvertRGBColor(const aColor: array of Byte): TGLColorVector;

Converts RGB components into a color vector with correct range

Types

PGLColorEntry = ˆTGLColorEntry;
PGLColorVector = ˆTGLColorVector;
PRGBColor = ˆTRGBColor;
TGLColorVector = TVector4f;
TRGBColor = TVector3b;

Constants

clForeground = TColor(-1);

color definitions Some extra colors, not declared in Vcl.Graphics.pas

clButton = TColor(-2);
clLight = TColor(-3);
clMidlight = TColor(-4);
clDark = TColor(-5);
clMid = TColor(-6);
clText = TColor(-7);
clBrightText = TColor(-8);
clButtonText = TColor(-9);
clBase = TColor(-10);
clBackground = TColor(-11);
clShadow = TColor(-12);
clHighlight = TColor(-13);
clHighlightedText = TColor(-14);
cloNormal = 32;

Mapped role offsets

cloDisabled = 64;
cloActive = 96;
clNormalForeground = TColor(clForeground - cloNormal);

Normal, mapped, pseudo, rgb values

clNormalButton = TColor(clButton - cloNormal);
clNormalLight = TColor(clLight - cloNormal);
clNormalMidlight = TColor(clMidlight - cloNormal);
clNormalDark = TColor(clDark - cloNormal);
clNormalMid = TColor(clMid - cloNormal);
clNormalText = TColor(clText - cloNormal);
clNormalBrightText = TColor(clBrightText - cloNormal);
clNormalButtonText = TColor(clButtonText - cloNormal);
clNormalBase = TColor(clBase - cloNormal);
clNormalBackground = TColor(clBackground - cloNormal);
clNormalShadow = TColor(clShadow - cloNormal);
clNormalHighlight = TColor(clHighlight - cloNormal);
clNormalHighlightedText = TColor(clHighlightedText - cloNormal);
clDisabledForeground = TColor(clForeground - cloDisabled);

Disabled, mapped, pseudo, rgb values

clDisabledButton = TColor(clButton - cloDisabled);
clDisabledLight = TColor(clLight - cloDisabled);
clDisabledMidlight = TColor(clMidlight - cloDisabled);
clDisabledDark = TColor(clDark - cloDisabled);
clDisabledMid = TColor(clMid - cloDisabled);
clDisabledText = TColor(clText - cloDisabled);
clDisabledBrightText = TColor(clBrightText - cloDisabled);
clDisabledButtonText = TColor(clButtonText - cloDisabled);
clDisabledBase = TColor(clBase - cloDisabled);
clDisabledBackground = TColor(clBackground - cloDisabled);
clDisabledShadow = TColor(clShadow - cloDisabled);
clDisabledHighlight = TColor(clHighlight - cloDisabled);
clDisabledHighlightedText = TColor(clHighlightedText - cloDisabled);
clActiveForeground = TColor(clForeground - cloActive);

Active, mapped, pseudo, rgb values

clActiveButton = TColor(clButton - cloActive);
clActiveLight = TColor(clLight - cloActive);
clActiveMidlight = TColor(clMidlight - cloActive);
clActiveDark = TColor(clDark - cloActive);
clActiveMid = TColor(clMid - cloActive);
clActiveText = TColor(clText - cloActive);
clActiveBrightText = TColor(clBrightText - cloActive);
clActiveButtonText = TColor(clButtonText - cloActive);
clActiveBase = TColor(clBase - cloActive);
clActiveBackground = TColor(clBackground - cloActive);
clActiveShadow = TColor(clShadow - cloActive);
clActiveHighlight = TColor(clHighlight - cloActive);
clActiveHighlightedText = TColor(clHighlightedText - cloActive);
clFirstSpecialColor = clActiveHighlightedText;
clMask = clWhite;
clDontMask = clBlack;
clrScrollBar: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);

Window's colors (must be filled at program startup, since they depend on the desktop scheme)

clrBackground: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrActiveCaption: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInactiveCaption: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrMenu: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrWindow: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrWindowFrame: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrMenuText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrWindowText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrCaptionText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrActiveBorder: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInactiveBorder: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrAppWorkSpace: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrHighlight: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrHighlightText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnFace: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnShadow: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrGrayText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInactiveCaptionText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrBtnHighlight: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clr3DDkShadow: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clr3DLight: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInfoText: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrInfoBk: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrTransparent: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 0);

'static' color definitions sort of grays

clrBlack: TGLColorVector = (X: 0; Y: 0; Z: 0; W: 1);
clrGray05: TGLColorVector = (X: 0.05; Y: 0.05; Z: 0.05; W: 1);
clrGray10: TGLColorVector = (X: 0.10; Y: 0.10; Z: 0.10; W: 1);
clrGray15: TGLColorVector = (X: 0.15; Y: 0.15; Z: 0.15; W: 1);
clrGray20: TGLColorVector = (X: 0.20; Y: 0.20; Z: 0.20; W: 1);
clrGray25: TGLColorVector = (X: 0.25; Y: 0.25; Z: 0.25; W: 1);
clrGray30: TGLColorVector = (X: 0.30; Y: 0.30; Z: 0.30; W: 1);
clrGray35: TGLColorVector = (X: 0.35; Y: 0.35; Z: 0.35; W: 1);
clrGray40: TGLColorVector = (X: 0.40; Y: 0.40; Z: 0.40; W: 1);
clrGray45: TGLColorVector = (X: 0.45; Y: 0.45; Z: 0.45; W: 1);
clrGray50: TGLColorVector = (X: 0.50; Y: 0.50; Z: 0.50; W: 1);
clrGray55: TGLColorVector = (X: 0.55; Y: 0.55; Z: 0.55; W: 1);
clrGray60: TGLColorVector = (X: 0.60; Y: 0.60; Z: 0.60; W: 1);
clrGray65: TGLColorVector = (X: 0.65; Y: 0.65; Z: 0.65; W: 1);
clrGray70: TGLColorVector = (X: 0.70; Y: 0.70; Z: 0.70; W: 1);
clrGray75: TGLColorVector = (X: 0.75; Y: 0.75; Z: 0.75; W: 1);
clrGray80: TGLColorVector = (X: 0.80; Y: 0.80; Z: 0.80; W: 1);
clrGray85: TGLColorVector = (X: 0.85; Y: 0.85; Z: 0.85; W: 1);
clrGray90: TGLColorVector = (X: 0.90; Y: 0.90; Z: 0.90; W: 1);
clrGray95: TGLColorVector = (X: 0.95; Y: 0.95; Z: 0.95; W: 1);
clrWhite: TGLColorVector = (X: 1; Y: 1; Z: 1; W: 1);
clrDimGray: TGLColorVector = (X: 0.329412; Y: 0.329412; Z: 0.329412; W: 1);

other grays

clrGray: TGLColorVector = (X: 0.752941; Y: 0.752941; Z: 0.752941; W: 1);
clrLightGray: TGLColorVector = (X: 0.658824; Y: 0.658824; Z: 0.658824; W: 1);
clrAqua: TGLColorVector = (X: 0; Y: 1; Z: 1; W: 1);

colors en masse

clrAquamarine: TGLColorVector = (X: 0.439216; Y: 0.858824; Z: 0.576471; W: 1);
clrBakersChoc: TGLColorVector = (X: 0.36; Y: 0.20; Z: 0.09; W: 1);
clrBlue: TGLColorVector = (X: 0; Y: 0; Z: 1; W: 1);
clrBlueViolet: TGLColorVector = (X: 0.62352; Y: 0.372549; Z: 0.623529; W: 1);
clrBrown: TGLColorVector = (X: 0.647059; Y: 0.164706; Z: 0.164706; W: 1);
clrCadetBlue: TGLColorVector = (X: 0.372549; Y: 0.623529; Z: 0.623529; W: 1);
clrCoral: TGLColorVector = (X: 1; Y: 0.498039; Z: 0.0; W: 1);
clrCornflowerBlue: TGLColorVector = (X: 0.258824; Y: 0.258824; Z: 0.435294; W: 1);
clrDarkGreen: TGLColorVector = (X: 0.184314; Y: 0.309804; Z: 0.184314; W: 1);
clrDarkOliveGreen: TGLColorVector = (X: 0.309804; Y: 0.309804; Z: 0.184314; W: 1);
clrDarkOrchid: TGLColorVector = (X: 0.6; Y: 0.196078; Z: 0.8; W: 1);
clrDarkSlateBlue: TGLColorVector = (X: 0.419608; Y: 0.137255; Z: 0.556863; W: 1);
clrDarkSlateGray: TGLColorVector = (X: 0.184314; Y: 0.309804; Z: 0.309804; W: 1);
clrDarkSlateGrey: TGLColorVector = (X: 0.184314; Y: 0.309804; Z: 0.309804; W: 1);
clrDarkTurquoise: TGLColorVector = (X: 0.439216; Y: 0.576471; Z: 0.858824; W: 1);
clrFirebrick: TGLColorVector = (X: 0.556863; Y: 0.137255; Z: 0.137255; W: 1);
clrForestGreen: TGLColorVector = (X: 0.137255; Y: 0.556863; Z: 0.137255; W: 1);
clrFuchsia: TGLColorVector = (X: 1; Y: 0; Z: 1; W: 1);
clrGold: TGLColorVector = (X: 0.8; Y: 0.498039; Z: 0.196078; W: 1);
clrGoldenrod: TGLColorVector = (X: 0.858824; Y: 0.858824; Z: 0.439216; W: 1);
clrGreenYellow: TGLColorVector = (X: 0.576471; Y: 0.858824; Z: 0.439216; W: 1);
clrIndian: TGLColorVector = (X: 0.309804; Y: 0.184314; Z: 0.184314; W: 1);
clrKhaki: TGLColorVector = (X: 0.623529; Y: 0.623529; Z: 0.372549; W: 1);
clrLightBlue: TGLColorVector = (X: 0.74902; Y: 0.847059; Z: 0.847059; W: 1);
clrLightSteelBlue: TGLColorVector = (X: 0.560784; Y: 0.560784; Z: 0.737255; W: 1);
clrLime: TGLColorVector = (X: 0; Y: 1; Z: 0; W: 1);
clrLimeGreen: TGLColorVector = (X: 0.196078; Y: 0.8; Z: 0.196078; W: 1);
clrMaroon: TGLColorVector = (X: 0.556863; Y: 0.137255; Z: 0.419608; W: 1);
clrMediumAquamarine: TGLColorVector = (X: 0.196078; Y: 0.8; Z: 0.6; W: 1);
clrMediumBlue: TGLColorVector = (X: 0.196078; Y: 0.196078; Z: 0.8; W: 1);
clrMediumForestGreen: TGLColorVector = (X: 0.419608; Y: 0.556863; Z: 0.137255; W: 1);
clrMediumGoldenrod: TGLColorVector = (X: 0.917647; Y: 0.917647; Z: 0.678431; W: 1);
clrMediumOrchid: TGLColorVector = (X: 0.576471; Y: 0.439216; Z: 0.858824; W: 1);
clrMediumSeaGreen: TGLColorVector = (X: 0.258824; Y: 0.435294; Z: 0.258824; W: 1);
clrMediumSlateBlue: TGLColorVector = (X: 0.498039; Y: 0; Z: 1; W: 1);
clrMediumSpringGreen: TGLColorVector = (X: 0.498039; Y: 1; Z: 0; W: 1);
clrMediumTurquoise: TGLColorVector = (X: 0.439216; Y: 0.858824; Z: 0.858824; W: 1);
clrMediumViolet: TGLColorVector = (X: 0.858824; Y: 0.439216; Z: 0.576471; W: 1);
clrMediumPurple: TGLColorVector = (X: 0.73; Y: 0.16; Z: 0.96; W: 1);
clrMidnightBlue: TGLColorVector = (X: 0.184314; Y: 0.184314; Z: 0.309804; W: 1);
clrNavy: TGLColorVector = (X: 0.137255; Y: 0.137255; Z: 0.556863; W: 1);
clrNavyBlue: TGLColorVector = (X: 0.137255; Y: 0.137255; Z: 0.556863; W: 1);
clrOrange: TGLColorVector = (X: 1; Y: 0.5; Z: 0.0; W: 1);
clrOrangeRed: TGLColorVector = (X: 1; Y: 0.25; Z: 0; W: 1);
clrOrchid: TGLColorVector = (X: 0.858824; Y: 0.439216; Z: 0.858824; W: 1);
clrPaleGreen: TGLColorVector = (X: 0.560784; Y: 0.737255; Z: 0.560784; W: 1);
clrPink: TGLColorVector = (X: 0.737255; Y: 0.560784; Z: 0.560784; W: 1);
clrPlum: TGLColorVector = (X: 0.917647; Y: 0.678431; Z: 0.917647; W: 1);
clrSalmon: TGLColorVector = (X: 0.435294; Y: 0.258824; Z: 0.258824; W: 1);
clrSeaGreen: TGLColorVector = (X: 0.137255; Y: 0.556863; Z: 0.419608; W: 1);
clrSienna: TGLColorVector = (X: 0.556863; Y: 0.419608; Z: 0.137255; W: 1);
clrSkyBlue: TGLColorVector = (X: 0.196078; Y: 0.6; Z: 0.8; W: 1);
clrSlateBlue: TGLColorVector = (X: 0; Y: 0.498039; Z: 1; W: 1);
clrSpringGreen: TGLColorVector = (X: 0; Y: 1; Z: 0.498039; W: 1);
clrSteelBlue: TGLColorVector = (X: 0.137255; Y: 0.419608; Z: 0.556863; W: 1);
clrTan: TGLColorVector = (X: 0.858824; Y: 0.576471; Z: 0.439216; W: 1);
clrThistle: TGLColorVector = (X: 0.847059; Y: 0.74902; Z: 0.847059; W: 1);
clrTurquoise: TGLColorVector = (X: 0.678431; Y: 0.917647; Z: 0.917647; W: 1);
clrViolet: TGLColorVector = (X: 0.309804; Y: 0.184314; Z: 0.309804; W: 1);
clrVioletRed: TGLColorVector = (X: 0.8; Y: 0.196078; Z: 0.6; W: 1);
clrYellowGreen: TGLColorVector = (X: 0.6; Y: 0.8; Z: 0.196078; W: 1);
clrSummerSky: TGLColorVector = (X: 0.22; Y: 0.69; Z: 0.87; W: 1);
clrRichBlue: TGLColorVector = (X: 0.35; Y: 0.35; Z: 0.67; W: 1);
clrBrass: TGLColorVector = (X: 0.71; Y: 0.65; Z: 0.26; W: 1);
clrCopper: TGLColorVector = (X: 0.72; Y: 0.45; Z: 0.20; W: 1);
clrBronze: TGLColorVector = (X: 0.55; Y: 0.47; Z: 0.14; W: 1);
clrBronze2: TGLColorVector = (X: 0.65; Y: 0.49; Z: 0.24; W: 1);
clrSilver: TGLColorVector = (X: 0.90; Y: 0.91; Z: 0.98; W: 1);
clrBrightGold: TGLColorVector = (X: 0.85; Y: 0.85; Z: 0.10; W: 1);
clrOldGold: TGLColorVector = (X: 0.81; Y: 0.71; Z: 0.23; W: 1);
clrFeldspar: TGLColorVector = (X: 0.82; Y: 0.57; Z: 0.46; W: 1);
clrQuartz: TGLColorVector = (X: 0.85; Y: 0.85; Z: 0.95; W: 1);
clrNeonPink: TGLColorVector = (X: 1.00; Y: 0.43; Z: 0.78; W: 1);
clrDarkPurple: TGLColorVector = (X: 0.53; Y: 0.12; Z: 0.47; W: 1);
clrNeonBlue: TGLColorVector = (X: 0.30; Y: 0.30; Z: 1.00; W: 1);
clrCoolCopper: TGLColorVector = (X: 0.85; Y: 0.53; Z: 0.10; W: 1);
clrMandarinOrange: TGLColorVector = (X: 0.89; Y: 0.47; Z: 0.20; W: 1);
clrLightWood: TGLColorVector = (X: 0.91; Y: 0.76; Z: 0.65; W: 1);
clrMediumWood: TGLColorVector = (X: 0.65; Y: 0.50; Z: 0.39; W: 1);
clrDarkWood: TGLColorVector = (X: 0.52; Y: 0.37; Z: 0.26; W: 1);
clrSpicyPink: TGLColorVector = (X: 1.00; Y: 0.11; Z: 0.68; W: 1);
clrSemiSweetChoc: TGLColorVector = (X: 0.42; Y: 0.26; Z: 0.15; W: 1);
clrFlesh: TGLColorVector = (X: 0.96; Y: 0.80; Z: 0.69; W: 1);
clrNewTan: TGLColorVector = (X: 0.92; Y: 0.78; Z: 0.62; W: 1);
clrNewMidnightBlue: TGLColorVector = (X: 0.00; Y: 0.00; Z: 0.61; W: 1);
clrVeryDarkBrown: TGLColorVector = (X: 0.35; Y: 0.16; Z: 0.14; W: 1);
clrDarkBrown: TGLColorVector = (X: 0.36; Y: 0.25; Z: 0.20; W: 1);
clrDarkTan: TGLColorVector = (X: 0.59; Y: 0.41; Z: 0.31; W: 1);
clrGreenCopper: TGLColorVector = (X: 0.32; Y: 0.49; Z: 0.46; W: 1);
clrDkGreenCopper: TGLColorVector = (X: 0.29; Y: 0.46; Z: 0.43; W: 1);
clrDustyRose: TGLColorVector = (X: 0.52; Y: 0.39; Z: 0.39; W: 1);
clrHuntersGreen: TGLColorVector = (X: 0.13; Y: 0.37; Z: 0.31; W: 1);
clrScarlet: TGLColorVector = (X: 0.55; Y: 0.09; Z: 0.09; W: 1);
clrLightPurple: TGLColorVector = (X: 0.87; Y: 0.58; Z: 0.98; W: 1);
clrVeryLightPurple: TGLColorVector = (X: 0.94; Y: 0.81; Z: 0.99; W: 1);
clrGreen: TGLColorVector = (X: 0; Y: 0.5; Z: 0; W: 1);
clrOlive: TGLColorVector = (X: 0.5; Y: 0.5; Z: 1; W: 1);
clrPurple: TGLColorVector = (X: 1; Y: 0; Z: 1; W: 1);
clrTeal: TGLColorVector = (X: 0; Y: 0.5; Z: 0.5; W: 1);
clrRed: TGLColorVector = (X: 1; Y: 0; Z: 0; W: 1);
clrYellow: TGLColorVector = (X: 1; Y: 1; Z: 0; W: 1);
clrWheat: TGLColorVector = (X: 0.847059; Y: 0.847059; Z: 0.74902; W: 1);
cDefaultNormalMapScale = 0.125;

Variables

vUseDefaultColorSets: Boolean = False;

Specifies if TGLColor should allocate memory for their default values (ie. design-time) or not (run-time)


GLSysHelp v.2.1: GLS.Color: Class TGLColor

Class TGLColor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Color

Declaration

type TGLColor = class(TGLUpdateAbleObject)

Description

Wraps an OpenGL color.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLColor

Overview

Fields

Private | FColor: TGLColorVector;
Private | FPDefaultColor: PGLColorVector;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | constructor CreateInitialized(AOwner: TPersistent; const Color: TGLColorVector; changeEvent: TNotifyEvent = nil);
Public | destructor Destroy; override;
Public | function AsAddress: PSingle;
Protected | function GetHSVA: TGLVector;
Private | function GetAsWinColor: TColor;
Private | function GetColorComponent(const index: Integer): Single;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Initialize(const color: TGLColorVector);
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure RandomColor;
Public | procedure SetColor(Red, Green, Blue: Single; Alpha: Single = 1); overload;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadData(Stream: TStream);
Protected | procedure SetHSVA(const hsva: TGLVector);
Protected | procedure WriteData(Stream: TStream);
Private | procedure SetAsWinColor(const val: TColor);
Private | procedure SetColorComponent(index: Integer; value: Single);
Private | procedure SetColorVector(const aColor: TGLColorVector); overload;
Private | procedure SetDirectColorVector(const aColor: TGLColorVector);

Properties

Published | property Alpha: Single index 3 read GetColorComponent write SetColorComponent stored False;
Public | property AsWinColor: TColor read GetAsWinColor write SetAsWinColor;
Published | property Blue: Single index 2 read GetColorComponent write SetColorComponent stored False;
Public | property Color: TGLColorVector read FColor write SetColorVector;
Public | property DefaultColor: TGLColorVector read FColor;
Public | property DirectColor: TGLColorVector read FColor write SetDirectColorVector;
Published | property Green: Single index 1 read GetColorComponent write SetColorComponent stored False;
Public | property hsva: TGLVector read GetHSVA write SetHSVA;
Published | property Red: Single index 0 read GetColorComponent write SetColorComponent stored False;

Description

Fields

Private FColor: TGLColorVector;
Private FPDefaultColor: PGLColorVector;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public constructor CreateInitialized(AOwner: TPersistent; const Color: TGLColorVector; changeEvent: TNotifyEvent = nil);
Public destructor Destroy; override;
Public function AsAddress: PSingle;
Protected function GetHSVA: TGLVector;
Private function GetAsWinColor: TColor;
Private function GetColorComponent(const index: Integer): Single;
Public procedure Assign(Source: TPersistent); override;
Public procedure Initialize(const color: TGLColorVector);
Public procedure NotifyChange(Sender: TObject); override;
Public procedure RandomColor;
Public procedure SetColor(Red, Green, Blue: Single; Alpha: Single = 1); overload;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadData(Stream: TStream);
Protected procedure SetHSVA(const hsva: TGLVector);
Protected procedure WriteData(Stream: TStream);
Private procedure SetAsWinColor(const val: TColor);
Private procedure SetColorComponent(index: Integer; value: Single);
Private procedure SetColorVector(const aColor: TGLColorVector); overload;
Private procedure SetDirectColorVector(const aColor: TGLColorVector);

Properties

Published property Alpha: Single index 3 read GetColorComponent write SetColorComponent stored False;
Public property AsWinColor: TColor read GetAsWinColor write SetAsWinColor;
Published property Blue: Single index 2 read GetColorComponent write SetColorComponent stored False;
Public property Color: TGLColorVector read FColor write SetColorVector;
Public property DefaultColor: TGLColorVector read FColor;
Public property DirectColor: TGLColorVector read FColor write SetDirectColorVector;
Published property Green: Single index 1 read GetColorComponent write SetColorComponent stored False;
Public property hsva: TGLVector read GetHSVA write SetHSVA;
Published property Red: Single index 0 read GetColorComponent write SetColorComponent stored False;


GLSysHelp v.2.1: GLS.Color: Record TGLColorEntry

Record TGLColorEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Color

Declaration

type TGLColorEntry = record

Description

Overview

Fields

Public | Name: String;
Public | Color: TGLColorVector;

Description

Fields

Public Name: String;
Public Color: TGLColorVector;


GLSysHelp v.2.1: GLS.Color: Class TGLColorManager

Class TGLColorManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Color

Declaration

type TGLColorManager = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLColorManager

Overview

Methods

Public | destructor Destroy; override;
Public | function FindColor(const aName: String): TGLColorVector;
Public | function GetColor(const aName: String): TGLColorVector;
Public | function GetColorName(const aColor: TGLColorVector): String;
Public | procedure AddColor(const aName: String; const aColor: TGLColorVector);
Public | procedure EnumColors(Proc: TGetStrProc); overload;
Public | procedure EnumColors(AValues: TStrings); overload;
Public | procedure RegisterDefaultColors;
Public | procedure RemoveColor(const aName: String);

Description

Methods

Public destructor Destroy; override;
Public function FindColor(const aName: String): TGLColorVector;
Public function GetColor(const aName: String): TGLColorVector;

Convert a clrXxxx or a '<Red Green Blue Alpha> to a color vector

Public function GetColorName(const aColor: TGLColorVector): String;
Public procedure AddColor(const aName: String; const aColor: TGLColorVector);
Public procedure EnumColors(Proc: TGetStrProc); overload;
Public procedure EnumColors(AValues: TStrings); overload;
Public procedure RegisterDefaultColors;
Public procedure RemoveColor(const aName: String);


GLSysHelp v.2.1: GLS.CompositeImage

Unit GLS.CompositeImage

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.Context
  • GLS.OpenGLTokens
  • GLS.Graphics
  • GLS.Texture
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCompositeImage |


GLSysHelp v.2.1: GLS.CompositeImage: Class TGLCompositeImage

Class TGLCompositeImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.CompositeImage

Declaration

type TGLCompositeImage = class(TGLTextureImage)

Description

No description available, ancestor TGLTextureImage description follows

Base class for texture image data. Basicly, subclasses are to be considered as different ways of getting a HBitmap (interfacing the actual source). SubClasses should be registered using RegisterGLTextureImageClass to allow proper persistence and editability in the IDE experts.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLCompositeImage

Overview

Fields

Private | FBitmap: TGLBitmap32;
Private | FWidth: integer;
Private | FHeight: integer;
Private | FDepth: integer;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function GetBitmap32: TGLBitmap32; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetTextureTarget: TGLTextureTarget; override;
Protected | function GetWidth: Integer; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure LoadFromStream(const AStream: TStream);
Public | procedure ReleaseBitmap32; override;
Public | procedure SaveToFile(const fileName: string); override;
Protected | procedure SetDepth(val: Integer);
Protected | procedure SetHeight(val: Integer);
Protected | procedure SetWidth(val: Integer);

Properties

Published | property Depth: Integer read GetDepth write SetDepth;
Published | property Height: Integer read GetHeight write SetHeight;
Public | property NativeTextureTarget;
Published | property Width: Integer read GetWidth write SetWidth;

Description

Fields

Private FBitmap: TGLBitmap32;
Private FWidth: integer;
Private FHeight: integer;
Private FDepth: integer;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function GetBitmap32: TGLBitmap32; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetTextureTarget: TGLTextureTarget; override;
Protected function GetWidth: Integer; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadFromFile(const fileName: string); override;
Public procedure LoadFromStream(const AStream: TStream);
Public procedure ReleaseBitmap32; override;
Public procedure SaveToFile(const fileName: string); override;
Protected procedure SetDepth(val: Integer);
Protected procedure SetHeight(val: Integer);
Protected procedure SetWidth(val: Integer);

Properties

Published property Depth: Integer read GetDepth write SetDepth;
Published property Height: Integer read GetHeight write SetHeight;
Public property NativeTextureTarget;
Published property Width: Integer read GetWidth write SetWidth;


GLSysHelp v.2.1: GLS.Console

Unit GLS.Console

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.TypInfo
  • Vcl.Graphics
  • GLS.Scene
  • GLS.Coordinates
  • GLS.Objects
  • GLS.HudObjects
  • GLS.SceneViewer
  • GLS.BitmapFont
  • GLS.PersistentClasses
  • GLS.Context
  • GLS.Texture
  • GLS.Utils
  • GLS.Strings
  • GLS.Material
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLConsoleException |
Record TGLUserInputCommand |
Class TGLConsoleStringList |
Class TGLConsoleCommand |
Class TGLConsoleCommandList |
Class TGLConsoleControls |
Class TGLCustomConsole |
Class TGLConsole |

Types

TGLConsoleMatchList = set of 0..CONSOLE_MAX_COMMANDS ;
TGLConsoleOption = (...);
TGLConsoleOptions = set of TGLConsoleOption;
TGLlConsoleEvent = procedure(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand) of object;

Constants

CONSOLE_MAX_COMMANDS = 120;

Description

Types

TGLConsoleMatchList = set of 0..CONSOLE_MAX_COMMANDS ;
TGLConsoleOption = (...);
Values
  • coAutoCompleteCommandsOnKeyPress
  • coAutoCompleteCommandsOnEnter: commands are auto-completed as user types them
  • coShowConsoleHelpIfUnknownCommand: commands are auto-completed when user presses the "Enter" key
  • coRemoveQuotes: take a wild guess ;)
TGLConsoleOptions = set of TGLConsoleOption;

remove quotes when a command line is parsed

TGLlConsoleEvent = procedure(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand) of object;

Event called when used presses the "Enter"

Constants

CONSOLE_MAX_COMMANDS = 120;


GLSysHelp v.2.1: GLS.Console: Class EGLConsoleException

Class EGLConsoleException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type EGLConsoleException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLConsoleException


GLSysHelp v.2.1: GLS.Console: Record TGLUserInputCommand

Record TGLUserInputCommand

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLUserInputCommand = record

Description

Stores info on a command. A command is a parsed input line. Should be transformed into a class, I think...

Overview

Fields

Public | CommandCount: Integer;
Public | Strings: array of string;
Public | UnknownCommand: Boolean;

Description

Fields

Public CommandCount: Integer;
Public Strings: array of string;
Public UnknownCommand: Boolean;


GLSysHelp v.2.1: GLS.Console: Class TGLConsoleStringList

Class TGLConsoleStringList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLConsoleStringList = class(TStringList)

Description

A class that checks for duplicates.

Hierarchy

  • TObject
  • TPersistent
  • TStrings
  • TStringList
  • TGLConsoleStringList

Overview

Fields

Private FConsole: TGLCustomConsole;

Methods

Public | constructor Create(const Owner: TGLCustomConsole);
Public | function CommandExists(const Command: string): Boolean;
Protected | function GetOwner: TPersistent; override;
Protected | procedure Changed; override;

Description

Fields

Private FConsole: TGLCustomConsole;

Methods

Public constructor Create(const Owner: TGLCustomConsole);
Public function CommandExists(const Command: string): Boolean;
Protected function GetOwner: TPersistent; override;
Protected procedure Changed; override;


GLSysHelp v.2.1: GLS.Console: Class TGLConsoleCommand

Class TGLConsoleCommand

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLConsoleCommand = class(TCollectionItem)

Description

A wrapper for a console command.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLConsoleCommand

Overview

Fields

Private | FVisible: Boolean;
Private | FEnabled: Boolean;
Private | FSilentDisabled: Boolean;
Private | FCommandList: TGLConsoleCommandList;
Private | FCommandName: string;
Private | FShortHelp: string;
Private | FLongHelp: TStringList;
Private | FOnCommand: TGLlConsoleEvent;
Private | FOnHelp: TNotifyEvent;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ShowHelp; virtual;
Public | procedure ShowShortHelp; virtual;
Protected | procedure DoOnCommand(var UserInputCommand: TGLUserInputCommand); virtual;
Protected | procedure ShowInvalidNumberOfArgumentsError(const ShowHelpAfter: Boolean = True); virtual;
Protected | procedure ShowInvalidUseOfCommandError; virtual;
Private | procedure SetCommandName(const Value: string);

Properties

Published | property CommandName: string read FCommandName write SetCommandName;
Published | property Enabled: Boolean read FEnabled write FEnabled default True;
Published | property LongHelp: TStringList read FLongHelp;
Published | property OnCommand: TGLlConsoleEvent read FOnCommand write FOnCommand;
Published | property OnHelp: TNotifyEvent read FOnHelp write FOnHelp;
Published | property ShortHelp: string read FShortHelp write FShortHelp;
Published | property SilentDisabled: Boolean read FSilentDisabled write FSilentDisabled default False;
Published | property Visible: Boolean read FVisible write FVisible default True;

Description

Fields

Private FVisible: Boolean;
Private FEnabled: Boolean;
Private FSilentDisabled: Boolean;
Private FCommandList: TGLConsoleCommandList;
Private FCommandName: string;
Private FShortHelp: string;
Private FLongHelp: TStringList;
Private FOnCommand: TGLlConsoleEvent;
Private FOnHelp: TNotifyEvent;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ShowHelp; virtual;
Public procedure ShowShortHelp; virtual;
Protected procedure DoOnCommand(var UserInputCommand: TGLUserInputCommand); virtual;
Protected procedure ShowInvalidNumberOfArgumentsError(const ShowHelpAfter: Boolean = True); virtual;
Protected procedure ShowInvalidUseOfCommandError; virtual;
Private procedure SetCommandName(const Value: string);

Properties

Published property CommandName: string read FCommandName write SetCommandName;
Published property Enabled: Boolean read FEnabled write FEnabled default True;

Disabled commands won't execute

Published property LongHelp: TStringList read FLongHelp;
Published property OnCommand: TGLlConsoleEvent read FOnCommand write FOnCommand;
Published property OnHelp: TNotifyEvent read FOnHelp write FOnHelp;
Published property ShortHelp: string read FShortHelp write FShortHelp;
Published property SilentDisabled: Boolean read FSilentDisabled write FSilentDisabled default False;

If command is disabled and user calls it, no error report will be generated if SilentDisabled is enabled

Published property Visible: Boolean read FVisible write FVisible default True;

Hidden commands won't show when user requests command list or uses auto-complete


GLSysHelp v.2.1: GLS.Console: Class TGLConsoleCommandList

Class TGLConsoleCommandList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLConsoleCommandList = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLConsoleCommandList

Overview

Fields

Private FConsole: TGLCustomConsole;

Methods

Public | constructor Create(const AOwner: TGLCustomConsole);
Public | destructor Destroy; override;
Public | function Add: TGLConsoleCommand; overload;
Public | function CommandExists(const Command: string): Boolean;
Public | function GetCommandIndex(const Command: string): Integer;
Public | function LastConsoleCommand: TGLConsoleCommand;
Protected | function GetOwner: TPersistent; override;
Private | function GetItems(const Index: Integer): TGLConsoleCommand;
Public | procedure SortCommands(const Ascending: Boolean = True);

Properties

Public property Items[constIndex:Integer]: TGLConsoleCommand read GetItems;

Description

Fields

Private FConsole: TGLCustomConsole;

Methods

Public constructor Create(const AOwner: TGLCustomConsole);

Standard stuff.

Public destructor Destroy; override;
Public function Add: TGLConsoleCommand; overload;
Public function CommandExists(const Command: string): Boolean;
Public function GetCommandIndex(const Command: string): Integer;
Public function LastConsoleCommand: TGLConsoleCommand;

General list stuff.

Protected function GetOwner: TPersistent; override;
Private function GetItems(const Index: Integer): TGLConsoleCommand;
Public procedure SortCommands(const Ascending: Boolean = True);

Properties

Public property Items[constIndex:Integer]: TGLConsoleCommand read GetItems;


GLSysHelp v.2.1: GLS.Console: Class TGLConsoleControls

Class TGLConsoleControls

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLConsoleControls = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLConsoleControls

Overview

Fields

Private | FOwner: TPersistent;
Private | FNavigatePageUp: Byte;
Private | FAutoCompleteCommand: Byte;
Private | FPreviousCommand: Byte;
Private | FNextCommand: Byte;
Private | FNavigateUp: Byte;
Private | FNavigatePageDown: Byte;
Private | FNavigateDown: Byte;
Private | FDblClickDelay: Integer;

Methods

Public | constructor Create(AOwner: TPersistent);
Protected | function GetOwner: TPersistent; override;
Public | procedure Assign(Source: TPersistent); override;

Properties

Published | property AutoCompleteCommand: Byte read FAutoCompleteCommand write FAutoCompleteCommand default VK_CONTROL;
Published | property DblClickDelay: Integer read FDblClickDelay write FDblClickDelay default 300;
Published | property NavigateDown: Byte read FNavigateDown write FNavigateDown default VK_END;
Published | property NavigatePageDown: Byte read FNavigatePageDown write FNavigatePageDown default VK_NEXT;
Published | property NavigatePageUp: Byte read FNavigatePageUp write FNavigatePageUp default VK_PRIOR;
Published | property NavigateUp: Byte read FNavigateUp write FNavigateUp default VK_HOME;
Published | property NextCommand: Byte read FNextCommand write FNextCommand default VK_DOWN;
Published | property PreviousCommand: Byte read FPreviousCommand write FPreviousCommand default VK_UP;

Description

Fields

Private FOwner: TPersistent;
Private FNavigatePageUp: Byte;
Private FAutoCompleteCommand: Byte;
Private FPreviousCommand: Byte;
Private FNextCommand: Byte;
Private FNavigateUp: Byte;
Private FNavigatePageDown: Byte;
Private FNavigateDown: Byte;
Private FDblClickDelay: Integer;

Methods

Public constructor Create(AOwner: TPersistent);
Protected function GetOwner: TPersistent; override;
Public procedure Assign(Source: TPersistent); override;

Properties

Published property AutoCompleteCommand: Byte read FAutoCompleteCommand write FAutoCompleteCommand default VK_CONTROL;
Published property DblClickDelay: Integer read FDblClickDelay write FDblClickDelay default 300;
Published property NavigateDown: Byte read FNavigateDown write FNavigateDown default VK_END;
Published property NavigatePageDown: Byte read FNavigatePageDown write FNavigatePageDown default VK_NEXT;
Published property NavigatePageUp: Byte read FNavigatePageUp write FNavigatePageUp default VK_PRIOR;
Published property NavigateUp: Byte read FNavigateUp write FNavigateUp default VK_HOME;
Published property NextCommand: Byte read FNextCommand write FNextCommand default VK_DOWN;
Published property PreviousCommand: Byte read FPreviousCommand write FPreviousCommand default VK_UP;


GLSysHelp v.2.1: GLS.Console: Class TGLCustomConsole

Class TGLCustomConsole

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLCustomConsole = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomConsole

Overview

Fields

Private | FHudSprite: TGLHudSprite;
Private | FHudText: TGLHudText;
Private | FSceneViewer: TGLSceneViewer;
Private | FInputLine: string;
Private | FStartLine: Integer;
Private | FCurrentCommand: Integer;
Private | FPreviousTickCount: Integer;
Private | FSize: Single;
Private | FColsoleLog: TStringList;
Private | FCommands: TGLConsoleCommandList;
Private | FAdditionalCommands: TGLConsoleStringList;
Private | FTypedCommands: TStringList;
Private | FControls: TGLConsoleControls;
Private | FOnCommandIssued: TGLlConsoleEvent;
Private | FOptions: TGLConsoleOptions;
Private | FHint: string;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetFontColor: TColor;
Protected | function GetHUDSpriteColor: TColor;
Protected | function NumLines: Integer;
Protected | function ParseString(str, caract: string): TGLUserInputCommand;
Private | function GetFont: TGLCustomBitmapFont;
Public | procedure AddLine(const str: string);
Public | procedure ClearTypedCommands;
Public | procedure ExecuteCommand(const Command: string);
Public | procedure ExecuteCommands(const Commands: TStrings);
Public | procedure NavigateDown;
Public | procedure NavigatePageDown;
Public | procedure NavigatePageUp;
Public | procedure NavigateUp;
Public | procedure ProcessKeyDown(const key: word); virtual;
Public | procedure ProcessKeyPress(const c: Char); virtual;
Public | procedure RefreshHudSize; virtual;
Protected | procedure AutoCompleteCommand; overload; virtual;
Protected | procedure AutoCompleteCommand(var MatchCount: Integer; var AdditionalCommandsMatchList: TGLConsoleMatchList; var CommandsMatchList: TGLConsoleMatchList); overload;
Protected | procedure CommandIssued(var UserInputCommand: TGLUserInputCommand); virtual;
Protected | procedure DoOnCommandIssued(var UserInputCommand: TGLUserInputCommand); virtual;
Protected | procedure FixCommand(var UserInputCommand: TGLUserInputCommand); virtual;
Protected | procedure GetHelpInternalCommandRename(Sender: TObject); virtual;
Protected | procedure HandleUnknownCommand(const Command: string); virtual;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ProcessInput; virtual;
Protected | procedure ProcessInternalCommandClearScreen(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandConsoleClearTypedCommands(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandConsoleColor(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandConsoleHide(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandConsoleRename(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandHelp(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandSystemDate(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandSystemTime(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandViewerAntiAliasing(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandViewerFPS(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandViewerResetPerformanceMonitor(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure ProcessInternalCommandViewerVSync(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected | procedure RefreshHud; virtual;
Protected | procedure RegisterBuiltInCommands; virtual;
Protected | procedure SetFontColor(const Color: TColor); virtual;
Protected | procedure SetHUDSpriteColor(const Color: TColor); virtual;
Protected | procedure SetName(const Value: TComponentName); override;
Protected | procedure ShowConsoleHelp; virtual;
Private | procedure SetFont(const Value: TGLCustomBitmapFont);
Private | procedure SetSceneViewer(const Value: TGLSceneViewer);
Private | procedure SetSize(const Value: Single);

Properties

Public | property AdditionalCommands: TGLConsoleStringList read FAdditionalCommands;
Public | property ColsoleLog: TStringList read FColsoleLog;
Public | property Commands: TGLConsoleCommandList read FCommands;
Public | property Controls: TGLConsoleControls read FControls;
Public | property Font: TGLCustomBitmapFont read GetFont write SetFont stored False;
Public | property FontColor: TColor read GetFontColor write SetFontColor stored False;
Public | property Hint: string read FHint write FHint;
Public | property HudSprite: TGLHudSprite read FHudSprite;
Public | property HUDSpriteColor: TColor read GetHUDSpriteColor write SetHUDSpriteColor stored False;
Public | property HudText: TGLHudText read FHudText;
Public | property InputLine: string read FInputLine write FInputLine;
Public | property OnCommandIssued: TGLlConsoleEvent read FOnCommandIssued write FOnCommandIssued;
Public | property Options: TGLConsoleOptions read FOptions write FOptions;
Public | property SceneViewer: TGLSceneViewer read FSceneViewer write SetSceneViewer;
Public | property Size: Single read FSize write SetSize;
Public | property TypedCommands: TStringList read FTypedCommands;
Public | property Visible default False;

Description

Fields

Private FHudSprite: TGLHudSprite;
Private FHudText: TGLHudText;
Private FSceneViewer: TGLSceneViewer;
Private FInputLine: string;
Private FStartLine: Integer;
Private FCurrentCommand: Integer;
Private FPreviousTickCount: Integer;
Private FSize: Single;
Private FColsoleLog: TStringList;
Private FCommands: TGLConsoleCommandList;
Private FAdditionalCommands: TGLConsoleStringList;
Private FTypedCommands: TStringList;
Private FControls: TGLConsoleControls;
Private FOnCommandIssued: TGLlConsoleEvent;
Private FOptions: TGLConsoleOptions;
Private FHint: string;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetFontColor: TColor;
Protected function GetHUDSpriteColor: TColor;
Protected function NumLines: Integer;
Protected function ParseString(str, caract: string): TGLUserInputCommand;
Private function GetFont: TGLCustomBitmapFont;
Public procedure AddLine(const str: string);

Adds a line (which is not treated as a command).

Public procedure ClearTypedCommands;

TypedCommands are cleared and current command index is reset.

Public procedure ExecuteCommand(const Command: string);
Public procedure ExecuteCommands(const Commands: TStrings);
Public procedure NavigateDown;
Public procedure NavigatePageDown;
Public procedure NavigatePageUp;
Public procedure NavigateUp;

Navigation through code from outside

Public procedure ProcessKeyDown(const key: word); virtual;
Public procedure ProcessKeyPress(const c: Char); virtual;

Methods: User *must* call these methods in his code.

Public procedure RefreshHudSize; virtual;

Refreshes the size of the hud to reflect changes on the viewer. Should be called whenever the viewer's size changes.

Protected procedure AutoCompleteCommand; overload; virtual;

Auto Complete Command

Protected procedure AutoCompleteCommand(var MatchCount: Integer; var AdditionalCommandsMatchList: TGLConsoleMatchList; var CommandsMatchList: TGLConsoleMatchList); overload;
Protected procedure CommandIssued(var UserInputCommand: TGLUserInputCommand); virtual;

Command interpreters

Protected procedure DoOnCommandIssued(var UserInputCommand: TGLUserInputCommand); virtual;

Misc

Protected procedure FixCommand(var UserInputCommand: TGLUserInputCommand); virtual;
Protected procedure GetHelpInternalCommandRename(Sender: TObject); virtual;

Internal command help handlers:

Protected procedure HandleUnknownCommand(const Command: string); virtual;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ProcessInput; virtual;
Protected procedure ProcessInternalCommandClearScreen(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandConsoleClearTypedCommands(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandConsoleColor(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandConsoleHide(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandConsoleRename(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandHelp(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;

Internal command handlers:

Protected procedure ProcessInternalCommandSystemDate(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandSystemTime(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandViewerAntiAliasing(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandViewerFPS(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandViewerResetPerformanceMonitor(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure ProcessInternalCommandViewerVSync(const ConsoleCommand: TGLConsoleCommand; const Console: TGLCustomConsole; var Command: TGLUserInputCommand); virtual;
Protected procedure RefreshHud; virtual;

Refreshes the Hud (clip lines outside the visible console).

Protected procedure RegisterBuiltInCommands; virtual;

Register built-in commands (onCreate)

Protected procedure SetFontColor(const Color: TColor); virtual;
Protected procedure SetHUDSpriteColor(const Color: TColor); virtual;
Protected procedure SetName(const Value: TComponentName); override;
Protected procedure ShowConsoleHelp; virtual;
Private procedure SetFont(const Value: TGLCustomBitmapFont);
Private procedure SetSceneViewer(const Value: TGLSceneViewer);
Private procedure SetSize(const Value: Single);

Properties

Public property AdditionalCommands: TGLConsoleStringList read FAdditionalCommands;

Aditional commands can be registered to participate in command auto-completion. They can be interpreted in the global OnCommandIssued event handler.

Public property ColsoleLog: TStringList read FColsoleLog;

List of commands that user typed and console's responces.

Public property Commands: TGLConsoleCommandList read FCommands;

Commands have events that are called when user types a sertauin command

Public property Controls: TGLConsoleControls read FControls;

User controls.

Public property Font: TGLCustomBitmapFont read GetFont write SetFont stored False;
Public property FontColor: TColor read GetFontColor write SetFontColor stored False;

Changes the console font color.

Public property Hint: string read FHint write FHint;

Standard stuff

Public property HudSprite: TGLHudSprite read FHudSprite;
Public property HUDSpriteColor: TColor read GetHUDSpriteColor write SetHUDSpriteColor stored False;
Public property HudText: TGLHudText read FHudText;
Public property InputLine: string read FInputLine write FInputLine;

Where user enters his commands.

Public property OnCommandIssued: TGLlConsoleEvent read FOnCommandIssued write FOnCommandIssued;

Main event of the console. Happens whenever the enter key is pressed. First the input line is compared to all registered commands, then everything is parsed into a TGLUserInputCommand record and sent to the event. Empty lines are not ignored (i.e. they also trigger events)

Public property Options: TGLConsoleOptions read FOptions write FOptions;
Public property SceneViewer: TGLSceneViewer read FSceneViewer write SetSceneViewer;

Visual stuff.

Public property Size: Single read FSize write SetSize;

Allows to change consol's height from 0 to 1.

Public property TypedCommands: TStringList read FTypedCommands;

List of commands that user typed.

Public property Visible default False;


GLSysHelp v.2.1: GLS.Console: Class TGLConsole

Class TGLConsole

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Console

Declaration

type TGLConsole = class(TGLCustomConsole)

Description

No description available, ancestor TGLCustomConsole description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomConsole
  • TGLConsole

Overview

Properties

Published | property AdditionalCommands;
Published | property ColsoleLog;
Published | property Commands;
Published | property Controls;
Published | property Font;
Published | property FontColor;
Published | property Hint;
Published | property HudSprite;
Published | property HUDSpriteColor;
Published | property HudText;
Published | property InputLine;
Published | property ObjectsSorting;
Published | property OnCommandIssued;
Published | property OnProgress;
Published | property Options;
Published | property SceneViewer;
Published | property Tag;
Published | property TypedCommands;
Published | property Visible;

Description

Properties

Published property AdditionalCommands;
Published property ColsoleLog;
Published property Commands;
Published property Controls;
Published property Font;
Published property FontColor;
Published property Hint;
Published property HudSprite;
Published property HUDSpriteColor;
Published property HudText;
Published property InputLine;
Published property ObjectsSorting;
Published property OnCommandIssued;
Published property OnProgress;
Published property Options;
Published property SceneViewer;
Published property Tag;
Published property TypedCommands;
Published property Visible;


GLSysHelp v.2.1: GLS.Context

Unit GLS.Context

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.Types
  • System.SyncObjs
  • VCL.Forms
  • VCL.Controls
  • VCL.Consts
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.XOpenGL
  • GLS.VectorGeometry
  • GLS.Strings
  • GLS.VectorTypes
  • GLS.State
  • GLS.PipelineTransformation
  • GLS.TextureFormat
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TFinishTaskEvent |
Record TServiceContextTask |
Class TGLContext |
Class TGLScreenControlingContext |
Record TGLRCHandle |
Class TGLContextHandle |
Class TGLVirtualHandle |
Class TGLVirtualHandleTransf |
Class TGLListHandle |
Class TGLTextureHandle |
Class TGLSamplerHandle |
Class TGLQueryHandle |
Class TGLOcclusionQueryHandle |
Class TGLBooleanOcclusionQueryHandle |
Class TGLTimerQueryHandle |
Class TGLPrimitiveQueryHandle |
Class TGLBufferObjectHandle |
Class TGLVBOHandle |
Class TGLVBOArrayBufferHandle |
Class TGLVBOElementArrayHandle |
Class TGLPackPBOHandle |
Class TGLUnpackPBOHandle |
Class TGLTransformFeedbackBufferHandle |
Class TGLTextureBufferHandle |
Class TGLUniformBufferHandle |
Class TGLVertexArrayHandle |
Class TGLFramebufferHandle |
Class TGLRenderbufferHandle |
Class TGLARBProgramHandle |
Class TGLARBVertexProgramHandle |
Class TGLARBFragmentProgramHandle |
Class TGLARBGeometryProgramHandle |
Class TGLSLHandle |
Class TGLShaderHandle |
Class TGLVertexShaderHandle |
Class TGLGeometryShaderHandle |
Class TGLFragmentShaderHandle |
Class TGLTessControlShaderHandle |
Class TGLTessEvaluationShaderHandle |
Class TGLProgramHandle |
Record TGLContextNotification |
Class TGLContextManager |
Class EGLContext |
Class EGLShader |
Class EPBuffer |

Functions and Procedures

procedure RegisterGLContextClass(aGLContextClass: TGLContextClass);
function CurrentGLContext: TGLContext; inline;
function SafeCurrentGLContext: TGLContext; inline;
function IsMainThread: Boolean;
function IsServiceContextAvaible: Boolean;
function GetServiceWindow: TForm;

Types

PGLRCHandle = ˆTGLRCHandle;
TGLAntiAliasing = (...);
TGLContextAcceleration = (...);
TGLContextClass = class of TGLContext;
TGLContextLayer = (...);
TGLFramebufferStatus = (...);
TGLRCOption = (...);
TGLRCOptions = set of TGLRCOption;
TGLShaderHandleClass = class of TGLShaderHandle;
TGLVirtualHandleEvent = procedure(Sender: TGLVirtualHandle; var Handle: TGLuint) of object;
TGLVSyncMode = (...);
TOnPrepareHandleData = procedure(aContext: TGLContext) of object;
TTaskProcedure = procedure of object; stdcall;

Constants

MRT_BUFFERS: array [0 .. 3] of TGLuint = (GL_FRONT_LEFT, GL_AUX0, GL_AUX1, GL_AUX2);

Variables

GLContextManager: TGLContextManager;
vIgnoreOpenGLErrors: Boolean = False;
vContextActivationFailureOccurred: Boolean = False;
vCurrentGLContext: TGLContext;
GL: TGLExtensionsAndEntryPoints;
xgl: TGLMultitextureCoordinator;
vMainThread: Boolean;
GLwithoutContext: TGLExtensionsAndEntryPoints;

Description

Functions and Procedures

procedure RegisterGLContextClass(aGLContextClass: TGLContextClass);

Drivers should register themselves via this function.

function CurrentGLContext: TGLContext; inline;

The TGLContext that is the currently active context, if any. Returns nil if no context is active.

function SafeCurrentGLContext: TGLContext; inline;
function IsMainThread: Boolean;
function IsServiceContextAvaible: Boolean;
function GetServiceWindow: TForm;

Types

PGLRCHandle = ˆTGLRCHandle;
TGLAntiAliasing = (...);
Values
  • aaDefault: Multisample Antialiasing
  • aaNone
  • aa2x
  • aa2xHQ
  • aa4x
  • aa4xHQ
  • aa6x
  • aa8x
  • aa16x
  • csa8x: Coverage Sampling Antialiasing
  • csa8xHQ
  • csa16x
  • csa16xHQ
TGLContextAcceleration = (...);
Values
  • chaUnknown
  • chaHardware
  • chaSoftware
TGLContextClass = class of TGLContext;
TGLContextLayer = (...);
Values
  • clUnderlay2
  • clUnderlay1
  • clMainPlane
  • clOverlay1
  • clOverlay2
TGLFramebufferStatus = (...);
Values
  • fsComplete
  • fsIncompleteAttachment
  • fsIncompleteMissingAttachment
  • fsIncompleteDuplicateAttachment
  • fsIncompleteDimensions
  • fsIncompleteFormats
  • fsIncompleteDrawBuffer
  • fsIncompleteReadBuffer
  • fsUnsupported
  • fsIncompleteMultisample
  • fsStatusError
TGLRCOption = (...);
Values
  • rcoDoubleBuffered
  • rcoStereo
  • rcoDebug
  • rcoOGL_ES
TGLRCOptions = set of TGLRCOption;
TGLShaderHandleClass = class of TGLShaderHandle;
TGLVirtualHandleEvent = procedure(Sender: TGLVirtualHandle; var Handle: TGLuint) of object;
TGLVSyncMode = (...);
Values
  • vsmSync
  • vsmNoSync
TOnPrepareHandleData = procedure(aContext: TGLContext) of object;
TTaskProcedure = procedure of object; stdcall;

Constants

MRT_BUFFERS: array [0 .. 3] of TGLuint = (GL_FRONT_LEFT, GL_AUX0, GL_AUX1, GL_AUX2);

Buffer ID's for Multiple-Render-Targets (using GL_ATI_draw_buffers)

Variables

GLContextManager: TGLContextManager;
vIgnoreOpenGLErrors: Boolean = False;
vContextActivationFailureOccurred: Boolean = False;
vCurrentGLContext: TGLContext;
GL: TGLExtensionsAndEntryPoints;
xgl: TGLMultitextureCoordinator;
vMainThread: Boolean;
GLwithoutContext: TGLExtensionsAndEntryPoints;


GLSysHelp v.2.1: GLS.Context: Class TFinishTaskEvent

Class TFinishTaskEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TFinishTaskEvent = class(TEvent)

Description

Hierarchy

  • TEvent
  • TFinishTaskEvent

Overview

Methods

Public constructor Create; reintroduce;

Description

Methods

Public constructor Create; reintroduce;


GLSysHelp v.2.1: GLS.Context: Record TServiceContextTask

Record TServiceContextTask

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TServiceContextTask = record

Description

Overview

Fields

Public | Task: TTaskProcedure;
Public | Event: TFinishTaskEvent;

Description

Fields

Public Task: TTaskProcedure;
Public Event: TFinishTaskEvent;


GLSysHelp v.2.1: GLS.Context: Class TGLContext

Class TGLContext

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLContext = class(TObject)

Description

Wrapper around an OpenGL rendering context. The aim of this class is to offer platform-independant initialization, activation and management of OpenGL rendering context. The class also offers notifications event and error/problems detection. This is a virtual abstract a class, and platform-specific subclasses must be used. All rendering context share the same lists

Hierarchy

  • TObject
  • TGLContext

Overview

Fields

Private | FColorBits: Integer;
Private | FAlphaBits: Integer;
Private | FDepthBits: Integer;
Private | FStencilBits: Integer;
Private | FAccumBits: Integer;
Private | FAuxBuffers: Integer;
Private | FAntiAliasing: TGLAntiAliasing;
Private | FOptions: TGLRCOptions;
Private | FOnDestroyContext: TNotifyEvent;
Private | FManager: TGLContextManager;
Private | FActivationCount: Integer;
Private | FOwnedHandlesCount: Integer;
Private | FIsPraparationNeed: Boolean;
Protected | Fgl: TGLExtensionsAndEntryPoints;
Protected | Fxgl: TGLMultitextureCoordinator;
Protected | FGLStates: TGLStateCache;
Protected | FTransformation: TGLTransformation;
Protected | FAcceleration: TGLContextAcceleration;
Protected | FLayer: TGLContextLayer;
Protected | FSharedContexts: TList;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | function FindCompatibleContext: TGLContext;
Public | function IsValid: Boolean; virtual; abstract;
Public | function RenderOutputDevice: Pointer; virtual; abstract;
Protected | function DoShareLists(aContext: TGLContext): Boolean; virtual; abstract;
Protected | class function ServiceContext: TGLContext;
Private | function GetActive: Boolean; inline;
Public | procedure Activate;
Public | procedure CreateContext(ADeviceHandle: HDC); overload;
Public | procedure CreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: Integer = 1);
Public | procedure Deactivate;
Public | procedure DestroyAllHandles;
Public | procedure DestroyContext;
Public | procedure PrepareHandlesData;
Public | procedure ShareLists(aContext: TGLContext);
Public | procedure SwapBuffers; virtual; abstract;
Protected | procedure DoActivate; virtual; abstract;
Protected | procedure DoCreateContext(ADeviceHandle: HDC); virtual; abstract;
Protected | procedure DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: Integer = 1); virtual; abstract;
Protected | procedure DoDeactivate; virtual; abstract;
Protected | procedure DoDestroyContext; virtual; abstract;
Protected | procedure MakeGLCurrent;
Protected | procedure PropagateSharedContext;
Private | procedure SetAcceleration(const val: TGLContextAcceleration); inline;
Private | procedure SetAccumBits(const aAccumBits: Integer); inline;
Private | procedure SetActive(const aActive: Boolean); inline;
Private | procedure SetAlphaBits(const aAlphaBits: Integer); inline;
Private | procedure SetAntiAliasing(const val: TGLAntiAliasing); inline;
Private | procedure SetAuxBuffers(const aAuxBuffers: Integer); inline;
Private | procedure SetColorBits(const aColorBits: Integer); inline;
Private | procedure SetDepthBits(const val: Integer); inline;
Private | procedure SetLayer(const Value: TGLContextLayer); inline;
Private | procedure SetOptions(const aOptions: TGLRCOptions); inline;
Private | procedure SetStencilBits(const aStencilBits: Integer); inline;

Properties

Public | property Acceleration: TGLContextAcceleration read FAcceleration write SetAcceleration;
Public | property AccumBits: Integer read FAccumBits write SetAccumBits;
Public | property Active: Boolean read GetActive write SetActive;
Public | property AlphaBits: Integer read FAlphaBits write SetAlphaBits;
Public | property AntiAliasing: TGLAntiAliasing read FAntiAliasing write SetAntiAliasing;
Public | property AuxBuffers: Integer read FAuxBuffers write SetAuxBuffers;
Public | property ColorBits: Integer read FColorBits write SetColorBits;
Public | property DepthBits: Integer read FDepthBits write SetDepthBits;
Public | property GL: TGLExtensionsAndEntryPoints read Fgl;
Public | property GLStates: TGLStateCache read FGLStates;
Public | property IsPraparationNeed: Boolean read FIsPraparationNeed;
Public | property Layer: TGLContextLayer read FLayer write SetLayer;
Public | property Manager: TGLContextManager read FManager;
Public | property MultitextureCoordinator: TGLMultitextureCoordinator read Fxgl;
Public | property OnDestroyContext: TNotifyEvent read FOnDestroyContext write FOnDestroyContext;
Public | property Options: TGLRCOptions read FOptions write SetOptions;
Public | property PipelineTransformation: TGLTransformation read FTransformation;
Public | property StencilBits: Integer read FStencilBits write SetStencilBits;

Description

Fields

Private FColorBits: Integer;
Private FAlphaBits: Integer;
Private FDepthBits: Integer;
Private FStencilBits: Integer;
Private FAccumBits: Integer;
Private FAuxBuffers: Integer;
Private FAntiAliasing: TGLAntiAliasing;
Private FOptions: TGLRCOptions;
Private FOnDestroyContext: TNotifyEvent;
Private FManager: TGLContextManager;
Private FActivationCount: Integer;
Private FOwnedHandlesCount: Integer;
Private FIsPraparationNeed: Boolean;
Protected Fgl: TGLExtensionsAndEntryPoints;
Protected Fxgl: TGLMultitextureCoordinator;
Protected FGLStates: TGLStateCache;
Protected FTransformation: TGLTransformation;
Protected FAcceleration: TGLContextAcceleration;
Protected FLayer: TGLContextLayer;
Protected FSharedContexts: TList;

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Public function FindCompatibleContext: TGLContext;

Returns the first compatible context that isn't self in the shares

Public function IsValid: Boolean; virtual; abstract;

Returns true if the context is valid. A context is valid from the time it has been successfully created to the time of its destruction.

Public function RenderOutputDevice: Pointer; virtual; abstract;
Protected function DoShareLists(aContext: TGLContext): Boolean; virtual; abstract;
Protected class function ServiceContext: TGLContext;
Private function GetActive: Boolean; inline;
Public procedure Activate;

Activates the context. A context can be activated multiple times (and must be deactivated the same number of times), but this function will fail if another context is already active.

Public procedure CreateContext(ADeviceHandle: HDC); overload;

Creates the context. This method must be invoked before the context can be used

Public procedure CreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: Integer = 1);

Creates an in-memory context. The function should fail if no hardware-accelerated memory context can be created (the CreateContext method can handle software OpenGL contexts)

Public procedure Deactivate;

Deactivates the context. Will fail if the context is not active or another context has been activated

Public procedure DestroyAllHandles;
Public procedure DestroyContext;

Destroy the context. Will fail if no context has been created. The method will first invoke the OnDestroyContext event, then attempts to deactivate the context (if it is active) before destroying it

Public procedure PrepareHandlesData;

Call OnPrepare for all handles

Public procedure ShareLists(aContext: TGLContext);

Setup display list sharing between two rendering contexts. Both contexts must have the same pixel format

Public procedure SwapBuffers; virtual; abstract;

Request to swap front and back buffers if they were defined

Protected procedure DoActivate; virtual; abstract;
Protected procedure DoCreateContext(ADeviceHandle: HDC); virtual; abstract;
Protected procedure DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: Integer = 1); virtual; abstract;
Protected procedure DoDeactivate; virtual; abstract;
Protected procedure DoDestroyContext; virtual; abstract;
Protected procedure MakeGLCurrent;
Protected procedure PropagateSharedContext;
Private procedure SetAcceleration(const val: TGLContextAcceleration); inline;
Private procedure SetAccumBits(const aAccumBits: Integer); inline;
Private procedure SetActive(const aActive: Boolean); inline;
Private procedure SetAlphaBits(const aAlphaBits: Integer); inline;
Private procedure SetAntiAliasing(const val: TGLAntiAliasing); inline;
Private procedure SetAuxBuffers(const aAuxBuffers: Integer); inline;
Private procedure SetColorBits(const aColorBits: Integer); inline;
Private procedure SetDepthBits(const val: Integer); inline;
Private procedure SetLayer(const Value: TGLContextLayer); inline;
Private procedure SetOptions(const aOptions: TGLRCOptions); inline;
Private procedure SetStencilBits(const aStencilBits: Integer); inline;

Properties

Public property Acceleration: TGLContextAcceleration read FAcceleration write SetAcceleration;

Indicates if the context is hardware-accelerated

Public property AccumBits: Integer read FAccumBits write SetAccumBits;

Accumulation buffer bits for the rendering context

Public property Active: Boolean read GetActive write SetActive;

Allows reading and defining the activity for the context. The methods of this property are just wrappers around calls to Activate and Deactivate

Public property AlphaBits: Integer read FAlphaBits write SetAlphaBits;

Alpha bits for the rendering context

Public property AntiAliasing: TGLAntiAliasing read FAntiAliasing write SetAntiAliasing;

AntiAliasing option. Ignored if not hardware supported, currently based on ARB_multisample

Public property AuxBuffers: Integer read FAuxBuffers write SetAuxBuffers;

Auxiliary buffers bits for the rendering context

Public property ColorBits: Integer read FColorBits write SetColorBits;

Color bits for the rendering context

Public property DepthBits: Integer read FDepthBits write SetDepthBits;

Depth bits for the rendering context

Public property GL: TGLExtensionsAndEntryPoints read Fgl;

Access to OpenGL command and extension

Public property GLStates: TGLStateCache read FGLStates;

An application-side cache of global per-context OpenGL states and parameters

Public property IsPraparationNeed: Boolean read FIsPraparationNeed;
Public property Layer: TGLContextLayer read FLayer write SetLayer;

Specifies the layer plane that the rendering context is bound to

Public property Manager: TGLContextManager read FManager;

Context manager reference

Public property MultitextureCoordinator: TGLMultitextureCoordinator read Fxgl;
Public property OnDestroyContext: TNotifyEvent read FOnDestroyContext write FOnDestroyContext;

Triggered whenever the context is destroyed. This events happens *before* the context has been actually destroyed, OpenGL resource cleanup can still occur here

Public property Options: TGLRCOptions read FOptions write SetOptions;

Rendering context options

Public property PipelineTransformation: TGLTransformation read FTransformation;
Public property StencilBits: Integer read FStencilBits write SetStencilBits;

Stencil bits for the rendering context


GLSysHelp v.2.1: GLS.Context: Class TGLScreenControlingContext

Class TGLScreenControlingContext

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLScreenControlingContext = class(TGLContext)

Description

A TGLContext with screen control property and methods. This variety of contexts is for drivers that access windows and OpenGL through an intermediate opaque cross-platform API. TGLSceneViewer won't use them, TGLMemoryViewer may be able to use them, but most of the time they will be accessed through a specific viewer class/subclass

Hierarchy

  • TObject
  • TGLContext
  • TGLScreenControlingContext

Overview

Fields

Strict Private | FWidth: Integer;
Strict Private | FHeight: Integer;
Strict Private | FFullScreen: Boolean;

Properties

Public | property FullScreen: Boolean read FFullScreen write FFullScreen;
Public | property Height: Integer read FHeight write FHeight;
Public | property Width: Integer read FWidth write FWidth;

Description

Fields

Strict Private FWidth: Integer;
Strict Private FHeight: Integer;
Strict Private FFullScreen: Boolean;

Properties

Public property FullScreen: Boolean read FFullScreen write FFullScreen;
Public property Height: Integer read FHeight write FHeight;
Public property Width: Integer read FWidth write FWidth;


GLSysHelp v.2.1: GLS.Context: Record TGLRCHandle

Record TGLRCHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLRCHandle = record

Description

Overview

Fields

Public | FRenderingContext: TGLContext;
Public | FHandle: TGLuint;
Public | FChanged: Boolean;

Description

Fields

Public FRenderingContext: TGLContext;
Public FHandle: TGLuint;
Public FChanged: Boolean;


GLSysHelp v.2.1: GLS.Context: Class TGLContextHandle

Class TGLContextHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLContextHandle = class(TObject)

Description

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses

Hierarchy

  • TObject
  • TGLContextHandle

Overview

Fields

Private | FHandles: TList;
Private | FLastHandle: PGLRCHandle;
Private | FOnPrepare: TOnPrepareHandleData;

Methods

Public | constructor Create; virtual;
Public | constructor CreateAndAllocate(failIfAllocationFailed: Boolean = True);
Public | destructor Destroy; override;
Public | function AllocateHandle: TGLuint;
Public | function IsAllocatedForContext(aContext: TGLContext = nil): Boolean;
Public | function IsDataComplitelyUpdated: Boolean;
Public | function IsDataNeedUpdate: Boolean; inline;
Public | function IsShared: Boolean;
Public | class function IsSupported: Boolean; virtual;
Protected | function DoAllocateHandle: TGLuint; virtual; abstract;
Protected | class function IsValid(const ID: TGLuint): Boolean; virtual;
Protected | class function Transferable: Boolean; virtual;
Private | function GetContext: TGLContext;
Private | function GetHandle: TGLuint; inline;
Private | function RCItem(AIndex: Integer): PGLRCHandle; inline;
Private | function SearchRC(aContext: TGLContext): PGLRCHandle;
Public | procedure DestroyHandle;
Public | procedure NotifyChangesOfData;
Public | procedure NotifyDataUpdated;
Protected | procedure ContextDestroying;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); virtual; abstract;
Private | procedure CheckCurrentRC;

Properties

Public | property Handle: TGLuint read GetHandle;
Public | property OnPrapare: TOnPrepareHandleData read FOnPrepare write FOnPrepare;
Public | property RenderingContext: TGLContext read GetContext;

Description

Fields

Private FHandles: TList;
Private FLastHandle: PGLRCHandle;
Private FOnPrepare: TOnPrepareHandleData;

Methods

Public constructor Create; virtual;
Public constructor CreateAndAllocate(failIfAllocationFailed: Boolean = True);
Public destructor Destroy; override;
Public function AllocateHandle: TGLuint;
Public function IsAllocatedForContext(aContext: TGLContext = nil): Boolean;
Public function IsDataComplitelyUpdated: Boolean;

Return True if data updated in all contexts

Public function IsDataNeedUpdate: Boolean; inline;

Return True is data need update in current context

Public function IsShared: Boolean;
Public class function IsSupported: Boolean; virtual;

Checks if required extensions / OpenGL version are met

Protected function DoAllocateHandle: TGLuint; virtual; abstract;
Protected class function IsValid(const ID: TGLuint): Boolean; virtual;
Protected class function Transferable: Boolean; virtual;

Specifies if the handle can be transfered across shared contexts

Private function GetContext: TGLContext;
Private function GetHandle: TGLuint; inline;
Private function RCItem(AIndex: Integer): PGLRCHandle; inline;
Private function SearchRC(aContext: TGLContext): PGLRCHandle;
Public procedure DestroyHandle;
Public procedure NotifyChangesOfData;

Notify the data was changed through all context

Public procedure NotifyDataUpdated;

Notify the data was updated in current context

Protected procedure ContextDestroying;

Invoked by when there is no compatible context left for relocation

Protected procedure DoDestroyHandle(var AHandle: TGLuint); virtual; abstract;
Private procedure CheckCurrentRC;

Properties

Public property Handle: TGLuint read GetHandle;

Return OpenGL identifier in current context

Public property OnPrapare: TOnPrepareHandleData read FOnPrepare write FOnPrepare;
Public property RenderingContext: TGLContext read GetContext;

Return current rendering context if handle is allocated in it or first context where handle is allocated.


GLSysHelp v.2.1: GLS.Context: Class TGLVirtualHandle

Class TGLVirtualHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVirtualHandle = class(TGLContextHandle)

Description

A context handle with event-based handle allocation and destruction

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLVirtualHandle

Overview

Fields

Private | FOnAllocate: TGLVirtualHandleEvent;
Private | FOnDestroy: TGLVirtualHandleEvent;
Private | FTag: Integer;

Methods

Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function Transferable: Boolean; override;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public | property OnAllocate: TGLVirtualHandleEvent read FOnAllocate write FOnAllocate;
Public | property OnDestroy: TGLVirtualHandleEvent read FOnDestroy write FOnDestroy;
Public | property Tag: Integer read FTag write FTag;

Description

Fields

Private FOnAllocate: TGLVirtualHandleEvent;
Private FOnDestroy: TGLVirtualHandleEvent;
Private FTag: Integer;

Methods

Protected function DoAllocateHandle: TGLuint; override;
Protected class function Transferable: Boolean; override;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public property OnAllocate: TGLVirtualHandleEvent read FOnAllocate write FOnAllocate;
Public property OnDestroy: TGLVirtualHandleEvent read FOnDestroy write FOnDestroy;
Public property Tag: Integer read FTag write FTag;


GLSysHelp v.2.1: GLS.Context: Class TGLVirtualHandleTransf

Class TGLVirtualHandleTransf

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVirtualHandleTransf = class(TGLVirtualHandle)

Description

Transferable virtual handle

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLVirtualHandle
  • TGLVirtualHandleTransf

Overview

Methods

Protected class function Transferable: Boolean; override;

Description

Methods

Protected class function Transferable: Boolean; override;


GLSysHelp v.2.1: GLS.Context: Class TGLListHandle

Class TGLListHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLListHandle = class(TGLContextHandle)

Description

Manages a handle to a display list

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLListHandle

Overview

Methods

Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Public | procedure CallList; inline;
Public | procedure EndList; inline;
Public | procedure NewList(mode: TGLuint); inline;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Description

Methods

Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Public procedure CallList; inline;
Public procedure EndList; inline;
Public procedure NewList(mode: TGLuint); inline;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLTextureHandle

Class TGLTextureHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLTextureHandle = class(TGLContextHandle)

Description

Manages a handle to a texture

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLTextureHandle

Overview

Fields

Private FTarget: TGLTextureTarget;

Methods

Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;
Private | procedure SetTarget(ATarget: TGLTextureTarget);

Properties

Public property Target: TGLTextureTarget read FTarget write SetTarget;

Description

Fields

Private FTarget: TGLTextureTarget;

Methods

Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;
Private procedure SetTarget(ATarget: TGLTextureTarget);

Properties

Public property Target: TGLTextureTarget read FTarget write SetTarget;


GLSysHelp v.2.1: GLS.Context: Class TGLSamplerHandle

Class TGLSamplerHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLSamplerHandle = class(TGLContextHandle)

Description

Manages a handle to a sampler

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSamplerHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLQueryHandle

Class TGLQueryHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLQueryHandle = class(TGLContextHandle)

Description

Manages a handle to a query. Do not use this class directly, use one of its subclasses instead.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLQueryHandle

Overview

Fields

Private FActive: Boolean;

Methods

Public | function CounterBits: Integer;
Public | function IsResultAvailable: Boolean;
Public | function QueryResultBool: TGLboolean;
Public | function QueryResultInt: TGLint;
Public | function QueryResultInt64: TGLint64EXT;
Public | function QueryResultUInt: TGLUInt;
Public | function QueryResultUInt64: TGLuint64EXT;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | function GetQueryType: TGLQueryType; virtual; abstract;
Protected | function GetTarget: TGLuint; virtual; abstract;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Protected | class function Transferable: Boolean; override;
Public | procedure BeginQuery;
Public | procedure EndQuery;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public | property Active: Boolean read FActive;
Public | property QueryType: TGLQueryType read GetQueryType;
Public | property Target: TGLuint read GetTarget;

Description

Fields

Private FActive: Boolean;

Methods

Public function CounterBits: Integer;

Number of bits used to store the query result. eg. 32/64 bit

Public function IsResultAvailable: Boolean;

Check if result is available from the query. Result may not be available immediately after ending the query

Public function QueryResultBool: TGLboolean;
Public function QueryResultInt: TGLint;

Retrieve query result, may cause a stall if the result is not available yet

Public function QueryResultInt64: TGLint64EXT;
Public function QueryResultUInt: TGLUInt;
Public function QueryResultUInt64: TGLuint64EXT;
Protected function DoAllocateHandle: TGLuint; override;
Protected function GetQueryType: TGLQueryType; virtual; abstract;
Protected function GetTarget: TGLuint; virtual; abstract;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Protected class function Transferable: Boolean; override;
Public procedure BeginQuery;
Public procedure EndQuery;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public property Active: Boolean read FActive;

True if within a Begin/EndQuery.

Public property QueryType: TGLQueryType read GetQueryType;
Public property Target: TGLuint read GetTarget;


GLSysHelp v.2.1: GLS.Context: Class TGLOcclusionQueryHandle

Class TGLOcclusionQueryHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLOcclusionQueryHandle = class(TGLQueryHandle)

Description

Manages a handle to an occlusion query. Requires OpenGL 1.5+ Does *NOT* check for extension availability, this is assumed to have been checked by the user.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLQueryHandle
  • TGLOcclusionQueryHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Public | function PixelCount: Integer;
Protected | function GetQueryType: TGLQueryType; override;
Protected | function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Public function PixelCount: Integer;

Number of samples (pixels) drawn during the query, some pixels may be drawn to several times in the same query

Protected function GetQueryType: TGLQueryType; override;
Protected function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLBooleanOcclusionQueryHandle

Class TGLBooleanOcclusionQueryHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLBooleanOcclusionQueryHandle = class(TGLQueryHandle)

Description

No description available, ancestor TGLQueryHandle description follows

Manages a handle to a query. Do not use this class directly, use one of its subclasses instead.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLQueryHandle
  • TGLBooleanOcclusionQueryHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function GetQueryType: TGLQueryType; override;
Protected | function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function GetQueryType: TGLQueryType; override;
Protected function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLTimerQueryHandle

Class TGLTimerQueryHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLTimerQueryHandle = class(TGLQueryHandle)

Description

Manages a handle to a timer query. Requires GL_EXT_timer_query extension. Does *NOT* check for extension availability, this is assumed to have been checked by the user.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLQueryHandle
  • TGLTimerQueryHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Public | function Time: Integer;
Protected | function GetQueryType: TGLQueryType; override;
Protected | function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Public function Time: Integer;

Time, in nanoseconds (1 ns = 10ˆ-9 s) between starting + ending the query. with 32 bit integer can measure up to approximately 4 seconds, use QueryResultUInt64 if you may need longer

Protected function GetQueryType: TGLQueryType; override;
Protected function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLPrimitiveQueryHandle

Class TGLPrimitiveQueryHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLPrimitiveQueryHandle = class(TGLQueryHandle)

Description

Manages a handle to a primitive query. Requires OpenGL 3.0+ Does *NOT* check for extension availability, this is assumed to have been checked by the user.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLQueryHandle
  • TGLPrimitiveQueryHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Public | function PrimitivesGenerated: Integer;
Protected | function GetQueryType: TGLQueryType; override;
Protected | function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Public function PrimitivesGenerated: Integer;

Number of primitives (eg. Points, Triangles etc.) drawn whilst the query was active

Protected function GetQueryType: TGLQueryType; override;
Protected function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLBufferObjectHandle

Class TGLBufferObjectHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLBufferObjectHandle = class(TGLContextHandle)

Description

Manages a handle to a Buffer Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle

Overview

Fields

Private FSize: Integer;

Methods

Public | constructor CreateFromData(p: Pointer; size: Integer; bufferUsage: TGLuint);
Public | class function IsSupported: Boolean; override;
Public | function MapBuffer(access: TGLuint): Pointer;
Public | function MapBufferRange(offset: TGLint; len: TGLsizei; access: TGLbitfield): Pointer;
Public | function UnmapBuffer: Boolean;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | function GetTarget: TGLuint; virtual; abstract;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Public | procedure Bind; virtual; abstract;
Public | procedure BindBase(index: TGLuint); virtual;
Public | procedure BindBufferData(p: Pointer; size: Integer; bufferUsage: TGLuint);
Public | procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); virtual;
Public | procedure BufferData(p: Pointer; size: Integer; bufferUsage: TGLuint);
Public | procedure BufferSubData(offset, size: Integer; p: Pointer);
Public | procedure Flush(offset: TGLint; len: TGLsizei);
Public | procedure UnBind; virtual; abstract;
Public | procedure UnBindBase(index: TGLuint); virtual;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public | property BufferSize: Integer read FSize;
Public | property Target: TGLuint read GetTarget;

Description

Fields

Private FSize: Integer;

Methods

Public constructor CreateFromData(p: Pointer; size: Integer; bufferUsage: TGLuint);

Creates the buffer object buffer and initializes it.

Public class function IsSupported: Boolean; override;
Public function MapBuffer(access: TGLuint): Pointer;

Map buffer content to memory. Values for access are GL_READ_ONLY_ARB, GL_WRITE_ONLY_ARB and GL_READ_WRITE_ARB. Valid only if the buffer has been bound, must be followed by an UnmapBuffer, only one buffer may be mapped at a time.

Public function MapBufferRange(offset: TGLint; len: TGLsizei; access: TGLbitfield): Pointer;
Public function UnmapBuffer: Boolean;

Unmap buffer content from memory. Must follow a MapBuffer, and happen before the buffer is unbound.

Protected function DoAllocateHandle: TGLuint; override;
Protected function GetTarget: TGLuint; virtual; abstract;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Public procedure Bind; virtual; abstract;
Public procedure BindBase(index: TGLuint); virtual;

Equivalent to calling BindRange with offset = 0, and size = the size of buffer.

Public procedure BindBufferData(p: Pointer; size: Integer; bufferUsage: TGLuint);

Invokes Bind then BufferData

Public procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); virtual;

Bind a buffer object to an indexed target, used by transform feedback buffer objects and uniform buffer objects. (OpenGL 3.0+)

Public procedure BufferData(p: Pointer; size: Integer; bufferUsage: TGLuint);

Specifies buffer content. Common bufferUsage values are GL_STATIC_DRAW_ARB for data that will change rarely, but be used often, GL_STREAM_DRAW_ARB for data specified once but used only a few times, and GL_DYNAMIC_DRAW_ARB for data that is re-specified very often. Valid only if the buffer has been bound.

Public procedure BufferSubData(offset, size: Integer; p: Pointer);

Updates part of an already existing buffer. offset and size indicate which part of the data in the buffer is to bo modified and p where the data should be taken from.

Public procedure Flush(offset: TGLint; len: TGLsizei);
Public procedure UnBind; virtual; abstract;

Note that it is not necessary to UnBind before Binding another buffer.

Public procedure UnBindBase(index: TGLuint); virtual;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public property BufferSize: Integer read FSize;
Public property Target: TGLuint read GetTarget;


GLSysHelp v.2.1: GLS.Context: Class TGLVBOHandle

Class TGLVBOHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVBOHandle = class(TGLBufferObjectHandle)

Description

Manages a handle to an Vertex Buffer Object, VBO. Does *NOT* check for extension availability, this is assumed to have been checked by the user. Do not use this class directly, use one of its subclasses instead.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLVBOHandle

Overview

Methods

Private function GetVBOTarget: TGLuint;

Properties

Public property VBOTarget: TGLuint read GetVBOTarget;

Description

Methods

Private function GetVBOTarget: TGLuint;

Properties

Public property VBOTarget: TGLuint read GetVBOTarget;


GLSysHelp v.2.1: GLS.Context: Class TGLVBOArrayBufferHandle

Class TGLVBOArrayBufferHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVBOArrayBufferHandle = class(TGLVBOHandle)

Description

Manages a handle to VBO Array Buffer. Typically used to store vertices, normals, texcoords, etc.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLVBOHandle
  • TGLVBOArrayBufferHandle

Overview

Methods

Protected | function GetTarget: TGLuint; override;
Public | procedure Bind; override;
Public | procedure UnBind; override;

Description

Methods

Protected function GetTarget: TGLuint; override;
Public procedure Bind; override;
Public procedure UnBind; override;


GLSysHelp v.2.1: GLS.Context: Class TGLVBOElementArrayHandle

Class TGLVBOElementArrayHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVBOElementArrayHandle = class(TGLVBOHandle)

Description

Manages a handle to VBO Element Array Buffer. Typically used to store vertex indices.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLVBOHandle
  • TGLVBOElementArrayHandle

Overview

Methods

Protected | function GetTarget: TGLuint; override;
Public | procedure Bind; override;
Public | procedure UnBind; override;

Description

Methods

Protected function GetTarget: TGLuint; override;
Public procedure Bind; override;
Public procedure UnBind; override;


GLSysHelp v.2.1: GLS.Context: Class TGLPackPBOHandle

Class TGLPackPBOHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLPackPBOHandle = class(TGLBufferObjectHandle)

Description

Manages a handle to PBO Pixel Pack Buffer. When bound, commands such as ReadPixels write their data into a buffer object.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLPackPBOHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function GetTarget: TGLuint; override;
Public | procedure Bind; override;
Public | procedure UnBind; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function GetTarget: TGLuint; override;
Public procedure Bind; override;
Public procedure UnBind; override;


GLSysHelp v.2.1: GLS.Context: Class TGLUnpackPBOHandle

Class TGLUnpackPBOHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLUnpackPBOHandle = class(TGLBufferObjectHandle)

Description

Manages a handle to PBO Pixel Unpack Buffer. When bound, commands such as DrawPixels read their data from a buffer object

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLUnpackPBOHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function GetTarget: TGLuint; override;
Public | procedure Bind; override;
Public | procedure UnBind; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function GetTarget: TGLuint; override;
Public procedure Bind; override;
Public procedure UnBind; override;


GLSysHelp v.2.1: GLS.Context: Class TGLTransformFeedbackBufferHandle

Class TGLTransformFeedbackBufferHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLTransformFeedbackBufferHandle = class(TGLBufferObjectHandle)

Description

Manages a handle to a Transform Feedback Buffer Object. Transform feedback buffers can be used to capture vertex data from the vertex or geometry shader stage to perform further processing without going on to the fragment shader stage.

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLTransformFeedbackBufferHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function GetTarget: TGLuint; override;
Public | procedure BeginTransformFeedback(primitiveMode: TGLuint);
Public | procedure Bind; override;
Public | procedure BindBase(index: TGLuint); override;
Public | procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); override;
Public | procedure EndTransformFeedback();
Public | procedure UnBind; override;
Public | procedure UnBindBase(index: TGLuint); override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function GetTarget: TGLuint; override;

FTransformFeedbackBufferBuffer: array[0..15] of Cardinal; // (0, 0, 0, ...) FTransformFeedbackBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...) FTransformFeedbackBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)

Public procedure BeginTransformFeedback(primitiveMode: TGLuint);
Public procedure Bind; override;
Public procedure BindBase(index: TGLuint); override;
Public procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); override;
Public procedure EndTransformFeedback();
Public procedure UnBind; override;
Public procedure UnBindBase(index: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLTextureBufferHandle

Class TGLTextureBufferHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLTextureBufferHandle = class(TGLBufferObjectHandle)

Description

Manages a handle to a Buffer Texture. (TBO)

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLTextureBufferHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function GetTarget: TGLuint; override;
Public | procedure Bind; override;
Public | procedure UnBind; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function GetTarget: TGLuint; override;
Public procedure Bind; override;
Public procedure UnBind; override;


GLSysHelp v.2.1: GLS.Context: Class TGLUniformBufferHandle

Class TGLUniformBufferHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLUniformBufferHandle = class(TGLBufferObjectHandle)

Description

Manages a handle to a Uniform Buffer Object (UBO). Uniform buffer objects store "uniform blocks"; groups of uniforms that can be passed as a group into a GLSL program

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLBufferObjectHandle
  • TGLUniformBufferHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function GetTarget: TGLuint; override;
Public | procedure Bind; override;
Public | procedure BindBase(index: TGLuint); override;
Public | procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); override;
Public | procedure UnBind; override;
Public | procedure UnBindBase(index: TGLuint); override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function GetTarget: TGLuint; override;

FUniformBufferBuffer: array[0..15] of GLuint; // (0, 0, 0, ...) FUniformBufferStart: array[0..15] of TGLuint64; // (0, 0, 0, ...) FUniformBufferSize: array[0..15] of TGLuint64; // (0, 0, 0, ...)

Public procedure Bind; override;
Public procedure BindBase(index: TGLuint); override;
Public procedure BindRange(index: TGLuint; offset: TGLintptr; size: TGLsizeiptr); override;
Public procedure UnBind; override;
Public procedure UnBindBase(index: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLVertexArrayHandle

Class TGLVertexArrayHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVertexArrayHandle = class(TGLContextHandle)

Description

Manages a handle to a Vertex Array Object (VAO). Vertex array objects are used to rapidly switch between large sets of array state

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLVertexArrayHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Protected | class function Transferable: Boolean; override;
Public | procedure Bind;
Public | procedure UnBind;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Protected class function Transferable: Boolean; override;
Public procedure Bind;
Public procedure UnBind;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLFramebufferHandle

Class TGLFramebufferHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLFramebufferHandle = class(TGLContextHandle)

Description

Manages a handle to a Framebuffer Object (FBO). Framebuffer objects provide a way of drawing to rendering destinations other than the buffers provided to the GL by the window-system. One or more "framebuffer-attachable images" can be attached to a Framebuffer for uses such as: offscreen rendering, "render to texture" + "multiple render targets" (MRT). There are several types of framebuffer-attachable images: - The image of a renderbuffer object, which is always 2D. - A single level of a 1D texture, which is treated as a 2D image with a height of one. - A single level of a 2D or rectangle texture. - A single face of a cube map texture level, which is treated as a 2D image. - A single layer of a 1D or 2D array texture or 3D texture, which is treated as a 2D image. Additionally, an entire level of a 3D texture, cube map texture, or 1D or 2D array texture can be attached to an attachment point. Such attachments are treated as an array of 2D images, arranged in layers, and the corresponding attachment point is considered to be layered

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLFramebufferHandle

Overview

Methods

Public | function GetAttachmentObjectName(Target: TGLuint; attachment: TGLuint): TGLint;
Public | function GetAttachmentObjectType(Target: TGLuint; attachment: TGLuint): TGLint;
Public | function GetAttachmentParameter(Target: TGLuint; attachment: TGLuint; pname: TGLuint): TGLint;
Public | function GetStatus: TGLFramebufferStatus;
Public | function GetStringStatus(out clarification: string): TGLFramebufferStatus;
Public | class function IsSupported: Boolean; override;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Protected | class function Transferable: Boolean; override;
Public | procedure Attach1DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint);
Public | procedure Attach2DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint);
Public | procedure Attach3DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
Public | procedure AttachLayer(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
Public | procedure AttachRenderBuffer(Target: TGLuint; attachment: TGLuint; renderbuffertarget: TGLuint; renderbuffer: TGLuint);
Public | procedure AttachTexture(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint);
Public | procedure AttachTextureLayer(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
Public | procedure Bind;
Public | procedure BindForDrawing;
Public | procedure BindForReading;
Public | procedure Blit(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: TGLuint);
Public | procedure UnBind;
Public | procedure UnBindForDrawing;
Public | procedure UnBindForReading;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Description

Methods

Public function GetAttachmentObjectName(Target: TGLuint; attachment: TGLuint): TGLint;

Returns the name (ID) of the texture or renderbuffer attached to attachment point

Public function GetAttachmentObjectType(Target: TGLuint; attachment: TGLuint): TGLint;

Returns the type of object bound to attachment point: GL_NONE, GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER

Public function GetAttachmentParameter(Target: TGLuint; attachment: TGLuint; pname: TGLuint): TGLint;

target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (equivalent to GL_DRAW_FRAMEBUFFER) If default framebuffer (0) is bound: attachment = GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, or GL_BACK_RIGHT, GL_DEPTH, GL_STENCIL if a framebuffer object is bound: attachment = GL_COLOR_ATTACHMENTi, GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT, GL_DEPTH_STENCIL_ATTACHMENT param = GL_FRAMEBUFFER_ATTACHMENT_(OBJECT_TYPE, OBJECT_NAME, RED_SIZE, GREEN_SIZE, BLUE_SIZE, ALPHA_SIZE, DEPTH_SIZE, STENCIL_SIZE, COMPONENT_TYPE, COLOR_ENCODING, TEXTURE_LEVEL, LAYERED, TEXTURE_CUBE_MAP_FACE, TEXTURE_LAYER

Public function GetStatus: TGLFramebufferStatus;
Public function GetStringStatus(out clarification: string): TGLFramebufferStatus;
Public class function IsSupported: Boolean; override;
Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Protected class function Transferable: Boolean; override;
Public procedure Attach1DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint);

target = GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_FRAMEBUFFER (attach to both READ + DRAW) attachment = COLOR_ATTACHMENTi, DEPTH_ATTACHMENT, STENCIL_ATTACHMENT, DEPTH_STENCIL_ATTACHMENT

Public procedure Attach2DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint);
Public procedure Attach3DTexture(Target: TGLuint; attachment: TGLuint; textarget: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
Public procedure AttachLayer(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);
Public procedure AttachRenderBuffer(Target: TGLuint; attachment: TGLuint; renderbuffertarget: TGLuint; renderbuffer: TGLuint);
Public procedure AttachTexture(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint);

OpenGL 3.2+ only. If texture is the name of a three-dimensional texture, cube map texture, one-or two-dimensional array texture, or two-dimensional multisample array texture, the texture level attached to the framebuffer attachment point is an array of images, and the framebuffer attachment is considered layered

Public procedure AttachTextureLayer(Target: TGLuint; attachment: TGLuint; texture: TGLuint; level: TGLint; Layer: TGLint);

OpenGL 3.2+ only

Public procedure Bind;

Bind framebuffer for both drawing + reading

Public procedure BindForDrawing;

Bind framebuffer for drawing

Public procedure BindForReading;

Bind framebuffer for reading

Public procedure Blit(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: TGLuint);

copy rect from bound read framebuffer to bound draw framebuffer

Public procedure UnBind;

Note that it is not necessary to unbind before binding another framebuffer.

Public procedure UnBindForDrawing;
Public procedure UnBindForReading;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLRenderbufferHandle

Class TGLRenderbufferHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLRenderbufferHandle = class(TGLContextHandle)

Description

Manages a handle to a Renderbuffer Object. A Renderbuffer is a "framebuffer-attachable image" for generalized offscreen rendering and it also provides a means to support rendering to GL logical buffer types which have no corresponding texture format (stencil, accum, etc).

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLRenderbufferHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Public | procedure Bind;
Public | procedure SetStorage(internalformat: TGLuint; width, height: TGLsizei);
Public | procedure SetStorageMultisample(internalformat: TGLuint; samples: TGLsizei; width, height: TGLsizei);
Public | procedure UnBind;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Public procedure Bind;
Public procedure SetStorage(internalformat: TGLuint; width, height: TGLsizei);
Public procedure SetStorageMultisample(internalformat: TGLuint; samples: TGLsizei; width, height: TGLsizei);
Public procedure UnBind;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLARBProgramHandle

Class TGLARBProgramHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLARBProgramHandle = class(TGLContextHandle)

Description

No description available, ancestor TGLContextHandle description follows

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLARBProgramHandle

Overview

Fields

Private | FReady: Boolean;
Private | FInfoLog: string;

Methods

Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function GetTarget: TGLuint; virtual; abstract;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Public | procedure Bind;
Public | procedure Disable;
Public | procedure Enable;
Public | procedure LoadARBProgram(const AText: string);
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public | property InfoLog: string read FInfoLog;
Public | property Ready: Boolean read FReady;

Description

Fields

Private FReady: Boolean;
Private FInfoLog: string;

Methods

Protected function DoAllocateHandle: TGLuint; override;
Protected class function GetTarget: TGLuint; virtual; abstract;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Public procedure Bind;
Public procedure Disable;
Public procedure Enable;
Public procedure LoadARBProgram(const AText: string);
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;

Properties

Public property InfoLog: string read FInfoLog;
Public property Ready: Boolean read FReady;


GLSysHelp v.2.1: GLS.Context: Class TGLARBVertexProgramHandle

Class TGLARBVertexProgramHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLARBVertexProgramHandle = class(TGLARBProgramHandle)

Description

No description available, ancestor TGLARBProgramHandle description follows
No description available, ancestor TGLContextHandle description follows

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLARBProgramHandle
  • TGLARBVertexProgramHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | class function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected class function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLARBFragmentProgramHandle

Class TGLARBFragmentProgramHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLARBFragmentProgramHandle = class(TGLARBProgramHandle)

Description

No description available, ancestor TGLARBProgramHandle description follows
No description available, ancestor TGLContextHandle description follows

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLARBProgramHandle
  • TGLARBFragmentProgramHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | class function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected class function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLARBGeometryProgramHandle

Class TGLARBGeometryProgramHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLARBGeometryProgramHandle = class(TGLARBProgramHandle)

Description

No description available, ancestor TGLARBProgramHandle description follows
No description available, ancestor TGLContextHandle description follows

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLARBProgramHandle
  • TGLARBGeometryProgramHandle

Overview

Methods

Public | class function IsSupported: Boolean; override;
Protected | class function GetTarget: TGLuint; override;

Description

Methods

Public class function IsSupported: Boolean; override;
Protected class function GetTarget: TGLuint; override;


GLSysHelp v.2.1: GLS.Context: Class TGLSLHandle

Class TGLSLHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLSLHandle = class(TGLContextHandle)

Description

Base class for GLSL handles (programs and shaders). Do not use this class directly, use one of its subclasses instead

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle

Overview

Methods

Public | function InfoLog: string;
Public | class function IsSupported: Boolean; override;
Protected | procedure DoDestroyHandle(var AHandle: TGLuint); override;

Description

Methods

Public function InfoLog: string;
Public class function IsSupported: Boolean; override;
Protected procedure DoDestroyHandle(var AHandle: TGLuint); override;


GLSysHelp v.2.1: GLS.Context: Class TGLShaderHandle

Class TGLShaderHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLShaderHandle = class(TGLSLHandle)

Description

Manages a handle to a Shader Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user. Do not use this class directly, use one of its subclasses instead

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLShaderHandle

Overview

Fields

Private FShaderType: TGLuint;

Methods

Public | function CompileShader: Boolean;
Protected | function DoAllocateHandle: TGLuint; override;
Protected | class function IsValid(const ID: TGLuint): Boolean; override;
Public | procedure ShaderSource(const source: AnsiString); overload;

Properties

Public property ShaderType: TGLuint read FShaderType;

Description

Fields

Private FShaderType: TGLuint;

Methods

Public function CompileShader: Boolean;

Returns True if compilation sucessful

Protected function DoAllocateHandle: TGLuint; override;
Protected class function IsValid(const ID: TGLuint): Boolean; override;
Public procedure ShaderSource(const source: AnsiString); overload;

Properties

Public property ShaderType: TGLuint read FShaderType;


GLSysHelp v.2.1: GLS.Context: Class TGLVertexShaderHandle

Class TGLVertexShaderHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLVertexShaderHandle = class(TGLShaderHandle)

Description

Manages a handle to a Vertex Shader Object

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLShaderHandle
  • TGLVertexShaderHandle

Overview

Methods

Public | constructor Create; override;
Public | class function IsSupported: Boolean; override;

Description

Methods

Public constructor Create; override;
Public class function IsSupported: Boolean; override;


GLSysHelp v.2.1: GLS.Context: Class TGLGeometryShaderHandle

Class TGLGeometryShaderHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLGeometryShaderHandle = class(TGLShaderHandle)

Description

Manages a handle to a Geometry Shader Object

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLShaderHandle
  • TGLGeometryShaderHandle

Overview

Methods

Public | constructor Create; override;
Public | class function IsSupported: Boolean; override;

Description

Methods

Public constructor Create; override;
Public class function IsSupported: Boolean; override;


GLSysHelp v.2.1: GLS.Context: Class TGLFragmentShaderHandle

Class TGLFragmentShaderHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLFragmentShaderHandle = class(TGLShaderHandle)

Description

Manages a handle to a Fragment Shader Object

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLShaderHandle
  • TGLFragmentShaderHandle

Overview

Methods

Public | constructor Create; override;
Public | class function IsSupported: Boolean; override;

Description

Methods

Public constructor Create; override;
Public class function IsSupported: Boolean; override;


GLSysHelp v.2.1: GLS.Context: Class TGLTessControlShaderHandle

Class TGLTessControlShaderHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLTessControlShaderHandle = class(TGLShaderHandle)

Description

Manages a handle to a Tessellation Control Shader Object

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLShaderHandle
  • TGLTessControlShaderHandle

Overview

Methods

Public | constructor Create; override;
Public | class function IsSupported: Boolean; override;

Description

Methods

Public constructor Create; override;
Public class function IsSupported: Boolean; override;


GLSysHelp v.2.1: GLS.Context: Class TGLTessEvaluationShaderHandle

Class TGLTessEvaluationShaderHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLTessEvaluationShaderHandle = class(TGLShaderHandle)

Description

Manages a handle to a Tessellation Evaluation Shader Object

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLShaderHandle
  • TGLTessEvaluationShaderHandle

Overview

Methods

Public | constructor Create; override;
Public | class function IsSupported: Boolean; override;

Description

Methods

Public constructor Create; override;
Public class function IsSupported: Boolean; override;


GLSysHelp v.2.1: GLS.Context: Class TGLProgramHandle

Class TGLProgramHandle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLProgramHandle = class(TGLSLHandle)

Description

Manages a GLSL Program Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user

Hierarchy

  • TObject
  • TGLContextHandle
  • TGLSLHandle
  • TGLProgramHandle

Overview

Fields

Private FName: string;

Methods

Public | constructor Create; override;
Public | function GetAttribLocation(const aName: string): Integer;
Public | function GetUniformBlockIndex(const aName: string): Integer;
Public | function GetUniformBufferSize(const aName: string): Integer;
Public | function GetUniformLocation(const aName: string): Integer;
Public | function GetUniformOffset(const aName: string): PGLInt;
Public | function GetVaryingLocation(const aName: string): Integer;
Public | class function IsValid(const ID: TGLuint): Boolean; override;
Public | function LinkProgram: Boolean;
Public | function ValidateProgram: Boolean;
Protected | function DoAllocateHandle: TGLuint; override;
Private | function GetUniform1f(const index: string): Single;
Private | function GetUniform1i(const index: string): Integer;
Private | function GetUniform2f(const index: string): TVector2f;
Private | function GetUniform2i(const index: string): TVector2i;
Private | function GetUniform3f(const index: string): TAffineVector;
Private | function GetUniform3i(const index: string): TVector3i;
Private | function GetUniform4f(const index: string): TGLVector;
Private | function GetUniform4i(const index: string): TVector4i;
Private | function GetUniformMatrix2fv(const index: string): TMatrix2f;
Private | function GetUniformMatrix3fv(const index: string): TMatrix3f;
Private | function GetUniformMatrix4fv(const index: string): TGLMatrix;
Private | function GetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget) : TGLuint;
Public | procedure AddActiveVarying(const aName: string);
Public | procedure AddShader(ShaderType: TGLShaderHandleClass; const ShaderSource: string; treatWarningsAsErrors: Boolean = False);
Public | procedure AttachObject(shader: TGLShaderHandle);
Public | procedure BindAttribLocation(index: Integer; const aName: string);
Public | procedure BindFragDataLocation(index: Integer; const aName: string);
Public | procedure DetachAllObject;
Public | procedure EndUseProgramObject;
Public | procedure SetUniformf(const index: string; const val: Single); overload;
Public | procedure SetUniformf(const index: string; const val: TVector2f); overload;
Public | procedure SetUniformf(const index: string; const val: TVector4f); overload;
Public | procedure SetUniformf(const index: string; const val: TVector3f); overload;
Public | procedure SetUniformi(const index: string; const val: Integer); overload;
Public | procedure SetUniformi(const index: string; const val: TVector3i); overload;
Public | procedure SetUniformi(const index: string; const val: TVector4i); overload;
Public | procedure SetUniformi(const index: string; const val: TVector2i); overload;
Public | procedure UseProgramObject;
Private | procedure SetUniform1f(const index: string; val: Single);
Private | procedure SetUniform1i(const index: string; val: Integer);
Private | procedure SetUniform2f(const index: string; const val: TVector2f);
Private | procedure SetUniform2i(const index: string; const Value: TVector2i);
Private | procedure SetUniform3f(const index: string; const val: TAffineVector);
Private | procedure SetUniform3i(const index: string; const Value: TVector3i);
Private | procedure SetUniform4f(const index: string; const val: TGLVector);
Private | procedure SetUniform4i(const index: string; const Value: TVector4i);
Private | procedure SetUniformBuffer(const Index: string; Value: TGLUniformBufferHandle);
Private | procedure SetUniformMatrix2fv(const index: string; const val: TMatrix2f);
Private | procedure SetUniformMatrix3fv(const index: string; const val: TMatrix3f);
Private | procedure SetUniformMatrix4fv(const index: string; const val: TGLMatrix);
Private | procedure SetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget; const Value: TGLuint);

Properties

Public | property Name: string read FName write FName;
Public | property Uniform1f[constindex:string]: Single read GetUniform1f write SetUniform1f;
Public | property Uniform1i[constindex:string]: Integer read GetUniform1i write SetUniform1i;
Public | property Uniform2f[constindex:string]: TVector2f read GetUniform2f write SetUniform2f;
Public | property Uniform2i[constindex:string]: TVector2i read GetUniform2i write SetUniform2i;
Public | property Uniform3f[constindex:string]: TAffineVector read GetUniform3f write SetUniform3f;
Public | property Uniform3i[constindex:string]: TVector3i read GetUniform3i write SetUniform3i;
Public | property Uniform4f[constindex:string]: TGLVector read GetUniform4f write SetUniform4f;
Public | property Uniform4i[constindex:string]: TVector4i read GetUniform4i write SetUniform4i;
Public | property UniformBuffer[constindex:string]: TGLUniformBufferHandle write SetUniformBuffer;
Public | property UniformMatrix2fv[constindex:string]: TMatrix2f read GetUniformMatrix2fv write SetUniformMatrix2fv;
Public | property UniformMatrix3fv[constindex:string]: TMatrix3f read GetUniformMatrix3fv write SetUniformMatrix3fv;
Public | property UniformMatrix4fv[constindex:string]: TGLMatrix read GetUniformMatrix4fv write SetUniformMatrix4fv;
Public | property UniformTextureHandle[constindex:string;constTextureIndex:Integer;constTextureTarget:TGLTextureTarget]: TGLuint read GetUniformTextureHandle write SetUniformTextureHandle;

Description

Fields

Private FName: string;

Methods

Public constructor Create; override;
Public function GetAttribLocation(const aName: string): Integer;
Public function GetUniformBlockIndex(const aName: string): Integer;
Public function GetUniformBufferSize(const aName: string): Integer;

Currently, NVidia-specific.

Public function GetUniformLocation(const aName: string): Integer;
Public function GetUniformOffset(const aName: string): PGLInt;
Public function GetVaryingLocation(const aName: string): Integer;
Public class function IsValid(const ID: TGLuint): Boolean; override;
Public function LinkProgram: Boolean;
Public function ValidateProgram: Boolean;
Protected function DoAllocateHandle: TGLuint; override;
Private function GetUniform1f(const index: string): Single;
Private function GetUniform1i(const index: string): Integer;
Private function GetUniform2f(const index: string): TVector2f;
Private function GetUniform2i(const index: string): TVector2i;
Private function GetUniform3f(const index: string): TAffineVector;
Private function GetUniform3i(const index: string): TVector3i;
Private function GetUniform4f(const index: string): TGLVector;
Private function GetUniform4i(const index: string): TVector4i;
Private function GetUniformMatrix2fv(const index: string): TMatrix2f;
Private function GetUniformMatrix3fv(const index: string): TMatrix3f;
Private function GetUniformMatrix4fv(const index: string): TGLMatrix;
Private function GetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget) : TGLuint;
Public procedure AddActiveVarying(const aName: string);

Currently, NVidia-specific.

Public procedure AddShader(ShaderType: TGLShaderHandleClass; const ShaderSource: string; treatWarningsAsErrors: Boolean = False);

Compile and attach a new shader. Raises an EGLShader exception in case of failure.

Public procedure AttachObject(shader: TGLShaderHandle);
Public procedure BindAttribLocation(index: Integer; const aName: string);
Public procedure BindFragDataLocation(index: Integer; const aName: string);
Public procedure DetachAllObject;
Public procedure EndUseProgramObject;
Public procedure SetUniformf(const index: string; const val: Single); overload;
Public procedure SetUniformf(const index: string; const val: TVector2f); overload;
Public procedure SetUniformf(const index: string; const val: TVector4f); overload;
Public procedure SetUniformf(const index: string; const val: TVector3f); overload;
Public procedure SetUniformi(const index: string; const val: Integer); overload;
Public procedure SetUniformi(const index: string; const val: TVector3i); overload;
Public procedure SetUniformi(const index: string; const val: TVector4i); overload;
Public procedure SetUniformi(const index: string; const val: TVector2i); overload;
Public procedure UseProgramObject;
Private procedure SetUniform1f(const index: string; val: Single);
Private procedure SetUniform1i(const index: string; val: Integer);
Private procedure SetUniform2f(const index: string; const val: TVector2f);
Private procedure SetUniform2i(const index: string; const Value: TVector2i);
Private procedure SetUniform3f(const index: string; const val: TAffineVector);
Private procedure SetUniform3i(const index: string; const Value: TVector3i);
Private procedure SetUniform4f(const index: string; const val: TGLVector);
Private procedure SetUniform4i(const index: string; const Value: TVector4i);
Private procedure SetUniformBuffer(const Index: string; Value: TGLUniformBufferHandle);
Private procedure SetUniformMatrix2fv(const index: string; const val: TMatrix2f);
Private procedure SetUniformMatrix3fv(const index: string; const val: TMatrix3f);
Private procedure SetUniformMatrix4fv(const index: string; const val: TGLMatrix);
Private procedure SetUniformTextureHandle(const Index: string; const TextureIndex: Integer; const TextureTarget: TGLTextureTarget; const Value: TGLuint);

Properties

Public property Name: string read FName write FName;
Public property Uniform1f[constindex:string]: Single read GetUniform1f write SetUniform1f;
Public property Uniform1i[constindex:string]: Integer read GetUniform1i write SetUniform1i;

Shader parameters.

Public property Uniform2f[constindex:string]: TVector2f read GetUniform2f write SetUniform2f;
Public property Uniform2i[constindex:string]: TVector2i read GetUniform2i write SetUniform2i;
Public property Uniform3f[constindex:string]: TAffineVector read GetUniform3f write SetUniform3f;
Public property Uniform3i[constindex:string]: TVector3i read GetUniform3i write SetUniform3i;
Public property Uniform4f[constindex:string]: TGLVector read GetUniform4f write SetUniform4f;
Public property Uniform4i[constindex:string]: TVector4i read GetUniform4i write SetUniform4i;
Public property UniformBuffer[constindex:string]: TGLUniformBufferHandle write SetUniformBuffer;
Public property UniformMatrix2fv[constindex:string]: TMatrix2f read GetUniformMatrix2fv write SetUniformMatrix2fv;
Public property UniformMatrix3fv[constindex:string]: TMatrix3f read GetUniformMatrix3fv write SetUniformMatrix3fv;
Public property UniformMatrix4fv[constindex:string]: TGLMatrix read GetUniformMatrix4fv write SetUniformMatrix4fv;
Public property UniformTextureHandle[constindex:string;constTextureIndex:Integer;constTextureTarget:TGLTextureTarget]: TGLuint read GetUniformTextureHandle write SetUniformTextureHandle;


GLSysHelp v.2.1: GLS.Context: Record TGLContextNotification

Record TGLContextNotification

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLContextNotification = record

Description

Overview

Fields

Public | obj: TObject;
Public | Event: TNotifyEvent;

Description

Fields

Public obj: TObject;
Public Event: TNotifyEvent;


GLSysHelp v.2.1: GLS.Context: Class TGLContextManager

Class TGLContextManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type TGLContextManager = class(TObject)

Description

Stores and manages all the TGLContext objects.

Hierarchy

  • TObject
  • TGLContextManager

Overview

Fields

Private | FList: TThreadList;
Private | FTerminated: Boolean;
Private | FNotifications: array of TGLContextNotification;
Private | FCreatedRCCount: Integer;
Private | FHandles: TList;
Private | FServiceContext: TGLContext;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function ContextCount: Integer;
Public | function CreateContext(AClass: TGLContextClass = nil): TGLContext;
Public | procedure DestroyAllHandles;
Public | procedure LastContextDestroyNotification(anObject: TObject; anEvent: TNotifyEvent);
Public | procedure NotifyPreparationNeed;
Public | procedure RemoveNotification(anObject: TObject);
Public | procedure Terminate;
Protected | procedure ContextCreatedBy(aContext: TGLContext);
Protected | procedure DestroyingContextBy(aContext: TGLContext);
Protected | procedure Lock;
Protected | procedure RegisterContext(aContext: TGLContext);
Protected | procedure UnLock;
Protected | procedure UnRegisterContext(aContext: TGLContext);

Properties

Protected property ServiceContext: TGLContext read FServiceContext;

Description

Fields

Private FList: TThreadList;
Private FTerminated: Boolean;
Private FNotifications: array of TGLContextNotification;
Private FCreatedRCCount: Integer;
Private FHandles: TList;
Private FServiceContext: TGLContext;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function ContextCount: Integer;

Returns the number of TGLContext object. This is *not* the number of OpenGL rendering contexts!

Public function CreateContext(AClass: TGLContextClass = nil): TGLContext;

Returns an appropriate, ready-to use context. The returned context should be freed by caller.

Public procedure DestroyAllHandles;

Request all contexts to destroy all their handles.

Public procedure LastContextDestroyNotification(anObject: TObject; anEvent: TNotifyEvent);

Registers a new object to notify when the last context is destroyed. When the last rendering context is destroyed, the 'anEvent' will be invoked with 'anObject' as parameter. Note that the registration is kept until the notification is triggered or a RemoveNotification on 'anObject' is issued.

Public procedure NotifyPreparationNeed;

Notify all contexts about necessity of handles preparation.

Public procedure RemoveNotification(anObject: TObject);

Unregisters an object from the notification lists.

Public procedure Terminate;

Marks the context manager for termination

Protected procedure ContextCreatedBy(aContext: TGLContext);
Protected procedure DestroyingContextBy(aContext: TGLContext);
Protected procedure Lock;
Protected procedure RegisterContext(aContext: TGLContext);
Protected procedure UnLock;
Protected procedure UnRegisterContext(aContext: TGLContext);

Properties

Protected property ServiceContext: TGLContext read FServiceContext;


GLSysHelp v.2.1: GLS.Context: Class EGLContext

Class EGLContext

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type EGLContext = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLContext


GLSysHelp v.2.1: GLS.Context: Class EGLShader

Class EGLShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type EGLShader = class(EGLContext)

Description

No description available, ancestor EGLContext description follows

Hierarchy

  • TObject
  • Exception
  • EGLContext
  • EGLShader


GLSysHelp v.2.1: GLS.Context: Class EPBuffer

Class EPBuffer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Context

Declaration

type EPBuffer = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EPBuffer


GLSysHelp v.2.1: GLS.Coordinates

Unit GLS.Coordinates

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Math
  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCustomCoordinates |
Class TGLCoordinates2 |
Class TGLCoordinates3 |
Class TGLCoordinates4 |
Interface IGLCoordinatesUpdateAble |
Class TGLCoordinatesUpdateAbleComponent |

Functions and Procedures

function BarycentricCoordinates(const V1, V2, V3, p: TAffineVector; var u, V: Single): Boolean;
procedure Cylindrical_Cartesian(const r, theta, z1: single; var x, y, z: single); overload;
procedure Cylindrical_Cartesian(const r, theta, z1: double; var x, y, z: double); overload;
procedure Cylindrical_Cartesian(const r, theta, z1: single; var x, y, z: single; var ierr: integer); overload;
procedure Cylindrical_Cartesian(const r, theta, z1: double; var x, y, z: double; var ierr: integer); overload;
procedure Cartesian_Cylindrical(const x, y, z1: single; var r, theta, z: single); overload;
procedure Cartesian_Cylindrical(const x, y, z1: double; var r, theta, z: double); overload;
procedure Spherical_Cartesian(const r, theta, phi: single; var x, y, z: single); overload;
procedure Spherical_Cartesian(const r, theta, phi: double; var x, y, z: double); overload;
procedure Spherical_Cartesian(const r, theta, phi: single; var x, y, z: single; var ierr: integer); overload;
procedure Spherical_Cartesian(const r, theta, phi: double; var x, y, z: double; var ierr: integer); overload;
procedure Cartesian_Spherical(const x, y, z: single; var r, theta, phi: single); overload;
procedure Cartesian_Spherical(const v: TAffineVector; var r, theta, phi: single); overload;
procedure Cartesian_Spherical(const x, y, z: double; var r, theta, phi: double); overload;
procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single); overload;
procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double); overload;
procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single; var ierr: integer); overload;
procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double; var ierr: integer); overload;
procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single); overload;
procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double); overload;
procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single; var ierr: integer); overload;
procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double; var ierr: integer); overload;
procedure BipolarCylindrical_Cartesian(const u, v, z1, a: single; var x, y, z: single); overload;
procedure BipolarCylindrical_Cartesian(const u, v, z1, a: double; var x, y, z: double); overload;
procedure BipolarCylindrical_Cartesian(const u, v, z1, a: single; var x, y, z: single; var ierr: integer); overload;
procedure BipolarCylindrical_Cartesian(const u, v, z1, a: double; var x, y, z: double; var ierr: integer); overload;

Types

TGLCoordinates = TGLCoordinates3;
TGLCoordinatesStyle = (...);

Variables

VUseDefaultCoordinateSets: Boolean = False;

Description

Functions and Procedures

function BarycentricCoordinates(const V1, V2, V3, p: TAffineVector; var u, V: Single): Boolean;

Calculates the barycentric coordinates for the point p on the triangle defined by the vertices v1, v2 and v3. That is, solves p = u * v1 + v * v2 + (1-u-v) * v3 for u,v. Returns true if the point is inside the triangle, false otherwise. NOTE: This function assumes that the point lies on the plane defined by the triangle. If this is not the case, the function will not work correctly! https://mathworld.wolfram.com/BarycentricCoordinates.html

procedure Cylindrical_Cartesian(const r, theta, z1: single; var x, y, z: single); overload;

Convert Cylindrical to Cartesian [single] with no checks, theta in rad Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

procedure Cylindrical_Cartesian(const r, theta, z1: double; var x, y, z: double); overload;

Convert Cylindrical to Cartesian with no checks. Double version, theta in rads Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

procedure Cylindrical_Cartesian(const r, theta, z1: single; var x, y, z: single; var ierr: integer); overload;

Convert Cylindrical to Cartesian with checks. [single], theta in rad ierr: [0] = ok, [1] = r out of bounds. Acceptable r: [0,inf) [2] = theta out of bounds. Acceptable theta: [0,2pi) [3] = z1 out of bounds. Acceptable z1 : (-inf,inf) Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

procedure Cylindrical_Cartesian(const r, theta, z1: double; var x, y, z: double; var ierr: integer); overload;

Convert Cylindrical to Cartesian with checks. [double], theta in rad ierr: [0] = ok, [1] = r out of bounds. Acceptable r: [0,inf) [2] = theta out of bounds. Acceptable theta: [0,2pi) [3] = z1 out of bounds. Acceptable z1 : (-inf,inf) Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

procedure Cartesian_Cylindrical(const x, y, z1: single; var r, theta, z: single); overload;

Convert Cartesian to Cylindrical no checks. Single

procedure Cartesian_Cylindrical(const x, y, z1: double; var r, theta, z: double); overload;

Convert Cartesian to Cylindrical no checks. Duoble

procedure Spherical_Cartesian(const r, theta, phi: single; var x, y, z: single); overload;

Convert Spherical to Cartesian with no checks. [single] theta,phi in rads Ref: http://mathworld.wolfram.com/SphericalCoordinates.html

procedure Spherical_Cartesian(const r, theta, phi: double; var x, y, z: double); overload;

Convert Spherical to Cartesian with no checks. Double version. theta,phi in rads

procedure Spherical_Cartesian(const r, theta, phi: single; var x, y, z: single; var ierr: integer); overload;

Convert Spherical to Cartesian [single] (with error check).theta,phi in rad ierr: [0] = ok, [1] = r out of bounds [2] = theta out of bounds [3] = phi out of bounds Ref: http://mathworld.wolfram.com/SphericalCoordinates.html

procedure Spherical_Cartesian(const r, theta, phi: double; var x, y, z: double; var ierr: integer); overload;

Convert spherical to cartesian [double] (with error check).theta,phi in rad

procedure Cartesian_Spherical(const x, y, z: single; var r, theta, phi: single); overload;

Convert Cartesian to Spherical, no checks, single Ref: http://mathworld.wolfram.com/SphericalCoordinates.html NB: Could be optimised by using jclmath.pas unit

procedure Cartesian_Spherical(const v: TAffineVector; var r, theta, phi: single); overload;
procedure Cartesian_Spherical(const x, y, z: double; var r, theta, phi: double); overload;

convert Cartesian to Spherical, no checks, double Ref: http://mathworld.wolfram.com/SphericalCoordinates.html NB: Could be optimised by using jclmath.pas unit?

procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single); overload;

Convert Prolate-Spheroidal to Cartesian with no checks. [single] eta, phi in rad A system of curvilinear coordinates in which two sets of coordinate surfaces are obtained by revolving the curves of the elliptic cylindrical coordinates about the x-axis, which is relabeled the z-axis. The third set of coordinates consists of planes passing through this axis. The coordinate system is parameterised by parameter a. A default value of a=1 is suggesed: Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double); overload;

Convert Prolate-Spheroidal to Cartesian [double] eta,phi in rad A system of curvilinear coordinates in which two sets of coordinate surfaces are obtained by revolving the curves of the elliptic cylindrical coordinates about the x-axis, which is relabeled the z-axis. The third set of coordinates consists of planes passing through this axis. The coordinate system is parameterised by parameter a. A default value of a=1 is suggesed: Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single; var ierr: integer); overload;

Convert Prolate-Spheroidal to Cartesian [single](with error check). eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [0,pi] [3] = phi out of bounds. Acceptable phi: [0,2pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

procedure ProlateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double; var ierr: integer); overload;

Convert Prolate-Spheroidal to Cartesian [double](with error check). eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [0,pi] [3] = phi out of bounds. Acceptable phi: [0,2pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single); overload;

Convert Oblate-Spheroidal to Cartesian. [Single] eta, phi in rad

procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double); overload;

Convert Oblate-Spheroidal to Cartesian. [Double] eta, phi in rad

procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: single; var x, y, z: single; var ierr: integer); overload;

Convert Oblate-Spheroidal to Cartesian (with error check). eta,phi in rad

procedure OblateSpheroidal_Cartesian(const xi, eta, phi, a: double; var x, y, z: double; var ierr: integer); overload;

Convert Oblate-Spheroidal to Cartesian with checks. [Double] eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [-0.5*pi,0.5*pi] [3] = phi out of bounds. Acceptable phi: [0,2*pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

procedure BipolarCylindrical_Cartesian(const u, v, z1, a: single; var x, y, z: single); overload;

Convert Bipolar to Cartesian. u in rad

procedure BipolarCylindrical_Cartesian(const u, v, z1, a: double; var x, y, z: double); overload;

Convert BiPolarCylindrical to Cartesian with no checks. Double, u in rad http://mathworld.wolfram.com/BipolarCylindricalCoordinates.html

procedure BipolarCylindrical_Cartesian(const u, v, z1, a: single; var x, y, z: single; var ierr: integer); overload;

Convert Bipolar to Cartesian (with error check). u in rad

procedure BipolarCylindrical_Cartesian(const u, v, z1, a: double; var x, y, z: double; var ierr: integer); overload;

Convert Oblate-Spheroidal to Cartesian with checks. Double, u in rad ierr: [0] = ok, [1] = u out of bounds. Acceptable u: [0,2*pi) [2] = v out of bounds. Acceptable v: (-inf,inf) [3] = z1 out of bounds. Acceptable z1: (-inf,inf) Ref: https://mathworld.wolfram.com/BipolarCylindricalCoordinates.html

Types

TGLCoordinates = TGLCoordinates3;
TGLCoordinatesStyle = (...);

Identifies the type of data stored within a TGLCustomCoordinates. csPoint2D : a simple 2D point (Z=0, W=0) csPoint : a point (W=1) csVector : a vector (W=0) csUnknown : no constraint

Values
  • csPoint2D
  • csPoint
  • csVector
  • csUnknown

Variables

VUseDefaultCoordinateSets: Boolean = False;

Specifies if TGLCustomCoordinates should allocate memory for their default values (ie. design-time) or not (run-time)


GLSysHelp v.2.1: GLS.Coordinates: Class TGLCustomCoordinates

Class TGLCustomCoordinates

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Coordinates

Declaration

type TGLCustomCoordinates = class(TGLUpdateAbleObject)

Description

Stores any homogeneous vector. This class is basicly a container for a TGLVector, allowing proper use of property editors and editing in the IDE. Vector/Coordinates manipulation methods are only minimal. Handles dynamic default values to save resource file space.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLCustomCoordinates

Overview

Fields

Private | FCoords: TGLVector;
Private | FStyle: TGLCoordinatesStyle;
Private | FPDefaultCoords: PGLVector;

Methods

Public | constructor CreateInitialized(AOwner: TPersistent; const AValue: TGLVector; const AStyle: TGLCoordinatesStyle = CsUnknown);
Public | destructor Destroy; override;
Public | function AsAddress: PSingle; inline;
Public | function Equals(const AVector: TGLVector): Boolean; reintroduce;
Public | function MaxXYZ: Single;
Public | function VectorLength: Single;
Public | function VectorNorm: Single;
Private | function GetAsAffineVector: TAffineVector; inline;
Private | function GetAsPoint2D: TVector2f;
Private | function GetAsString: String;
Private | function GetCoordinate(const AIndex: Integer): Single; inline;
Private | function GetDirectCoordinate(const Index: Integer): Single; inline;
Public | procedure AddScaledVector(const Factor: Single; const TranslationVector: TAffineVector); overload;
Public | procedure AddScaledVector(const Factor: Single; const TranslationVector: TGLVector); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Initialize(const Value: TGLVector);
Public | procedure Invert;
Public | procedure Normalize; inline;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure ReadFromFiler(Reader: TReader);
Public | procedure Rotate(const AnAxis: TGLVector; AnAngle: Single); overload;
Public | procedure Rotate(const AnAxis: TAffineVector; AnAngle: Single); overload;
Public | procedure Scale(Factor: Single);
Public | procedure SetPoint(const V: TGLVector); overload;
Public | procedure SetPoint(const V: TAffineVector); overload;
Public | procedure SetPoint(const X, Y, Z: Single); overload;
Public | procedure SetPoint2D(const Vector: TGLVector); overload;
Public | procedure SetPoint2D(const Vector: TVector2f); overload;
Public | procedure SetPoint2D(const Vector: TAffineVector); overload;
Public | procedure SetPoint2D(const X, Y: Single); overload;
Public | procedure SetToZero;
Public | procedure SetVector(const X, Y, Z, W: Single); overload;
Public | procedure SetVector(const V: TAffineVector); overload;
Public | procedure SetVector(const V: TGLVector); overload;
Public | procedure SetVector(const X, Y: Single; Z: Single = 0); overload;
Public | procedure Translate(const TranslationVector: TGLVector); overload;
Public | procedure Translate(const TranslationVector: TAffineVector); overload;
Public | procedure WriteToFiler(Writer: TWriter);
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadData(Stream: TStream);
Protected | procedure SetDirectVector(const V: TGLVector); inline;
Protected | procedure WriteData(Stream: TStream);
Private | procedure SetAsAffineVector(const Value: TAffineVector);
Private | procedure SetAsPoint2D(const Value: TVector2f);
Private | procedure SetAsVector(const Value: TGLVector);
Private | procedure SetCoordinate(const AIndex: Integer; const AValue: Single); inline;
Private | procedure SetDirectCoordinate(const Index: Integer; const AValue: Single);

Properties

Public | property AsAffineVector: TAffineVector read GetAsAffineVector write SetAsAffineVector;
Public | property AsPoint2D: TVector2f read GetAsPoint2D write SetAsPoint2D;
Public | property AsString: String read GetAsString;
Public | property AsVector: TGLVector read FCoords write SetAsVector;
Public | property Coordinate[constAIndex:Integer]: Single read GetCoordinate write SetCoordinate;
Public | property DirectVector: TGLVector read FCoords write SetDirectVector;
Public | property DirectW: Single index 3 read GetDirectCoordinate write SetDirectCoordinate;
Public | property DirectX: Single index 0 read GetDirectCoordinate write SetDirectCoordinate;
Public | property DirectY: Single index 1 read GetDirectCoordinate write SetDirectCoordinate;
Public | property DirectZ: Single index 2 read GetDirectCoordinate write SetDirectCoordinate;
Public | property Style: TGLCoordinatesStyle read FStyle write FStyle;
Public | property W: Single index 3 read GetCoordinate write SetCoordinate;
Public | property X: Single index 0 read GetCoordinate write SetCoordinate;
Public | property Y: Single index 1 read GetCoordinate write SetCoordinate;
Public | property Z: Single index 2 read GetCoordinate write SetCoordinate;

Description

Fields

Private FCoords: TGLVector;
Private FStyle: TGLCoordinatesStyle;
Private FPDefaultCoords: PGLVector;

NOT Persistent

Methods

Public constructor CreateInitialized(AOwner: TPersistent; const AValue: TGLVector; const AStyle: TGLCoordinatesStyle = CsUnknown);
Public destructor Destroy; override;
Public function AsAddress: PSingle; inline;
Public function Equals(const AVector: TGLVector): Boolean; reintroduce;
Public function MaxXYZ: Single;
Public function VectorLength: Single;
Public function VectorNorm: Single;
Private function GetAsAffineVector: TAffineVector; inline;
Private function GetAsPoint2D: TVector2f;
Private function GetAsString: String;
Private function GetCoordinate(const AIndex: Integer): Single; inline;
Private function GetDirectCoordinate(const Index: Integer): Single; inline;
Public procedure AddScaledVector(const Factor: Single; const TranslationVector: TAffineVector); overload;
Public procedure AddScaledVector(const Factor: Single; const TranslationVector: TGLVector); overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure Initialize(const Value: TGLVector);
Public procedure Invert;
Public procedure Normalize; inline;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure ReadFromFiler(Reader: TReader);
Public procedure Rotate(const AnAxis: TGLVector; AnAngle: Single); overload;
Public procedure Rotate(const AnAxis: TAffineVector; AnAngle: Single); overload;
Public procedure Scale(Factor: Single);
Public procedure SetPoint(const V: TGLVector); overload;
Public procedure SetPoint(const V: TAffineVector); overload;
Public procedure SetPoint(const X, Y, Z: Single); overload;
Public procedure SetPoint2D(const Vector: TGLVector); overload;
Public procedure SetPoint2D(const Vector: TVector2f); overload;
Public procedure SetPoint2D(const Vector: TAffineVector); overload;
Public procedure SetPoint2D(const X, Y: Single); overload;
Public procedure SetToZero;
Public procedure SetVector(const X, Y, Z, W: Single); overload;
Public procedure SetVector(const V: TAffineVector); overload;
Public procedure SetVector(const V: TGLVector); overload;
Public procedure SetVector(const X, Y: Single; Z: Single = 0); overload;
Public procedure Translate(const TranslationVector: TGLVector); overload;
Public procedure Translate(const TranslationVector: TAffineVector); overload;
Public procedure WriteToFiler(Writer: TWriter);
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadData(Stream: TStream);
Protected procedure SetDirectVector(const V: TGLVector); inline;
Protected procedure WriteData(Stream: TStream);
Private procedure SetAsAffineVector(const Value: TAffineVector);
Private procedure SetAsPoint2D(const Value: TVector2f);
Private procedure SetAsVector(const Value: TGLVector);
Private procedure SetCoordinate(const AIndex: Integer; const AValue: Single); inline;
Private procedure SetDirectCoordinate(const Index: Integer; const AValue: Single);

Properties

Public property AsAffineVector: TAffineVector read GetAsAffineVector write SetAsAffineVector;

The coordinates viewed as an affine vector. Assigning a value to this property will trigger notification events, if you don't want so, use DirectVector instead. The W component is automatically adjustes depending on style.

Public property AsPoint2D: TVector2f read GetAsPoint2D write SetAsPoint2D;

The coordinates viewed as a 2D point. Assigning a value to this property will trigger notification events, if you don't want so, use DirectVector instead.

Public property AsString: String read GetAsString;

The coordinates, in-between brackets, separated by semi-colons.

Public property AsVector: TGLVector read FCoords write SetAsVector;

The coordinates viewed as a vector. Assigning a value to this property will trigger notification events, if you don't want so, use DirectVector instead.

Public property Coordinate[constAIndex:Integer]: Single read GetCoordinate write SetCoordinate;
Public property DirectVector: TGLVector read FCoords write SetDirectVector;

Similar to AsVector but does not trigger notification events

Public property DirectW: Single index 3 read GetDirectCoordinate write SetDirectCoordinate;
Public property DirectX: Single index 0 read GetDirectCoordinate write SetDirectCoordinate;
Public property DirectY: Single index 1 read GetDirectCoordinate write SetDirectCoordinate;
Public property DirectZ: Single index 2 read GetDirectCoordinate write SetDirectCoordinate;
Public property Style: TGLCoordinatesStyle read FStyle write FStyle;

Identifies the coordinates styles. The property is NOT persistent, csUnknown by default, and should be managed by owner object only (internally). It is used by the TGLCustomCoordinates for internal "assertion" checks to detect "misuses" or "misunderstandings" of what the homogeneous coordinates system implies.

Public property W: Single index 3 read GetCoordinate write SetCoordinate;
Public property X: Single index 0 read GetCoordinate write SetCoordinate;
Public property Y: Single index 1 read GetCoordinate write SetCoordinate;
Public property Z: Single index 2 read GetCoordinate write SetCoordinate;


GLSysHelp v.2.1: GLS.Coordinates: Class TGLCoordinates2

Class TGLCoordinates2

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Coordinates

Declaration

type TGLCoordinates2 = class(TGLCustomCoordinates)

Description

A TGLCustomCoordinates that publishes X, Y properties.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLCustomCoordinates
  • TGLCoordinates2

Overview

Properties

Published | property X stored False;
Published | property Y stored False;

Description

Properties

Published property X stored False;
Published property Y stored False;


GLSysHelp v.2.1: GLS.Coordinates: Class TGLCoordinates3

Class TGLCoordinates3

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Coordinates

Declaration

type TGLCoordinates3 = class(TGLCustomCoordinates)

Description

A TGLCustomCoordinates that publishes X, Y, Z properties.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLCustomCoordinates
  • TGLCoordinates3

Overview

Properties

Published | property X stored False;
Published | property Y stored False;
Published | property Z stored False;

Description

Properties

Published property X stored False;
Published property Y stored False;
Published property Z stored False;


GLSysHelp v.2.1: GLS.Coordinates: Class TGLCoordinates4

Class TGLCoordinates4

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Coordinates

Declaration

type TGLCoordinates4 = class(TGLCustomCoordinates)

Description

A TGLCustomCoordinates that publishes X, Y, Z, W properties.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLCustomCoordinates
  • TGLCoordinates4

Overview

Properties

Published | property W stored False;
Published | property X stored False;
Published | property Y stored False;
Published | property Z stored False;

Description

Properties

Published property W stored False;
Published property X stored False;
Published property Y stored False;
Published property Z stored False;


GLSysHelp v.2.1: GLS.Coordinates: Interface IGLCoordinatesUpdateAble

Interface IGLCoordinatesUpdateAble

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Coordinates

Declaration

type IGLCoordinatesUpdateAble = interface(IInterface)

Description

Actually Sender should be TGLCustomCoordinates, but that would require changes in a some other GLScene units and some other projects that use TGLCoordinatesUpdateAbleComponent

Attributes
GUID['{ACB98D20-8905-43A7-AFA5-225CF5FA6FF5}']

Hierarchy

  • IInterface
  • IGLCoordinatesUpdateAble

Overview

Methods

Public procedure CoordinateChanged(Sender: TGLCustomCoordinates);

Description

Methods

Public procedure CoordinateChanged(Sender: TGLCustomCoordinates);


GLSysHelp v.2.1: GLS.Coordinates: Class TGLCoordinatesUpdateAbleComponent

Class TGLCoordinatesUpdateAbleComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Coordinates

Declaration

type TGLCoordinatesUpdateAbleComponent = class(TGLUpdateAbleComponent, IGLCoordinatesUpdateAble)

Description

No description available, ancestor TGLUpdateAbleComponent description follows

A base class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent

Overview

Methods

Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); virtual; abstract;

Description

Methods

Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); virtual; abstract;


GLSysHelp v.2.1: GLS.CrossXML

Unit GLS.CrossXML

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Variants
  • XMLIntf
  • XMLDoc
  • XMLDom

Overview

Functions and Procedures

function GLSNewXMLDocument: GLSXMLDocument;
procedure ReleaseXMLDocument(var ADoc: GLSXMLDocument);
procedure WriteXMLFile(var ADoc: GLSXMLDocument; AStream: TStream); overload;
procedure ReadXMLFile(var ADoc: GLSXMLDocument; AStream: TStream); overload;
procedure WriteXMLFile(var ADoc: GLSXMLDocument; AFileName: string); overload;
procedure ReadXMLFile(var ADoc: GLSXMLDocument; AFileName: string); overload;
function GetXMLAttribute(const XMLNode: GLSXMLNode; const AttrName: string; out Value: string): Boolean; overload;
function GetXMLAttribute(const XMLNode: GLSXMLNode; Idx: Integer): GLSXMLNode; overload;
procedure SetXMLAttribute(const XMLNode: GLSXMLNode; const AttrName: string; const Value: string); overload;
procedure SetXMLAttribute(const DOMNode: GLSDOMNode; const AttrName: string; const Value: string); overload;
function GetXMLAttributeCount(const XMLNode: GLSXMLNode): Integer;
function FindXMLNode(const ParentNode: GLSXMLNode; const NodeName: string; out ChildNode: GLSXMLNode): Boolean;
function CreateDOMNode(const ParentNode: GLSDOMNode; const NodeName: string): GLSDOMNode;
procedure SetXMLText(const DOMNode: GLSDOMNode; const AText: string);
function GetXMLText(const XMLNode: GLSXMLNode; out AText: string): Boolean;

Types

GLSDOMNode = IDOMNode;
GLSXMLDocument = IXMLDocument;
GLSXMLNode = IXMLNode;

Description

Functions and Procedures

function GLSNewXMLDocument: GLSXMLDocument;
procedure ReleaseXMLDocument(var ADoc: GLSXMLDocument);
procedure WriteXMLFile(var ADoc: GLSXMLDocument; AStream: TStream); overload;
procedure ReadXMLFile(var ADoc: GLSXMLDocument; AStream: TStream); overload;
procedure WriteXMLFile(var ADoc: GLSXMLDocument; AFileName: string); overload;
procedure ReadXMLFile(var ADoc: GLSXMLDocument; AFileName: string); overload;
function GetXMLAttribute(const XMLNode: GLSXMLNode; const AttrName: string; out Value: string): Boolean; overload;
function GetXMLAttribute(const XMLNode: GLSXMLNode; Idx: Integer): GLSXMLNode; overload;
procedure SetXMLAttribute(const XMLNode: GLSXMLNode; const AttrName: string; const Value: string); overload;
procedure SetXMLAttribute(const DOMNode: GLSDOMNode; const AttrName: string; const Value: string); overload;
function GetXMLAttributeCount(const XMLNode: GLSXMLNode): Integer;
function FindXMLNode(const ParentNode: GLSXMLNode; const NodeName: string; out ChildNode: GLSXMLNode): Boolean;
function CreateDOMNode(const ParentNode: GLSDOMNode; const NodeName: string): GLSDOMNode;
procedure SetXMLText(const DOMNode: GLSDOMNode; const AText: string);
function GetXMLText(const XMLNode: GLSXMLNode; out AText: string): Boolean;

Types

GLSDOMNode = IDOMNode;
GLSXMLDocument = IXMLDocument;
GLSXMLNode = IXMLNode;


GLSysHelp v.2.1: GLS.CurvesAndSurfaces

Unit GLS.CurvesAndSurfaces

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists

Overview

Functions and Procedures

function BezierCurvePoint(t: single; n: integer; cp: PAffineVectorArray): TAffineVector;
function BezierSurfacePoint(s, t: single; m, n: integer; cp: PAffineVectorArray): TAffineVector;
procedure GenerateBezierCurve(Steps: integer; ControlPoints, Vertices: TAffineVectorList);
procedure GenerateBezierSurface(Steps, Width, Height: integer; ControlPoints, Vertices: TAffineVectorList);
function BSplinePoint(t: single; n, k: integer; knots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
function BSplineSurfacePoint(s, t: single; m, n, k1, k2: integer; uknots, vknots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
procedure GenerateBSpline(Steps, Order: integer; KnotVector: TSingleList; ControlPoints, Vertices: TAffineVectorList);
procedure GenerateBSplineSurface(Steps, UOrder, VOrder, Width, Height: integer; UKnotVector, VKnotVector: TSingleList; ControlPoints, Vertices: TAffineVectorList);
procedure GenerateKnotVector(KnotVector: TSingleList; NumberOfPoints, Order: integer; Continuity: TBSplineContinuity);

Types

TBSplineContinuity = (...);

Description

Functions and Procedures

function BezierCurvePoint(t: single; n: integer; cp: PAffineVectorArray): TAffineVector;
function BezierSurfacePoint(s, t: single; m, n: integer; cp: PAffineVectorArray): TAffineVector;
procedure GenerateBezierCurve(Steps: integer; ControlPoints, Vertices: TAffineVectorList);
procedure GenerateBezierSurface(Steps, Width, Height: integer; ControlPoints, Vertices: TAffineVectorList);
function BSplinePoint(t: single; n, k: integer; knots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
function BSplineSurfacePoint(s, t: single; m, n, k1, k2: integer; uknots, vknots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
procedure GenerateBSpline(Steps, Order: integer; KnotVector: TSingleList; ControlPoints, Vertices: TAffineVectorList);
procedure GenerateBSplineSurface(Steps, UOrder, VOrder, Width, Height: integer; UKnotVector, VKnotVector: TSingleList; ControlPoints, Vertices: TAffineVectorList);
procedure GenerateKnotVector(KnotVector: TSingleList; NumberOfPoints, Order: integer; Continuity: TBSplineContinuity);

Types

TBSplineContinuity = (...);
Values
  • bscUniformNonPeriodic
  • bscUniformPeriodic


GLSysHelp v.2.1: GLS.DCE

Unit GLS.DCE

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.Scene
  • GLS.XCollection
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.EllipseCollision
  • GLS.TerrainRenderer
  • GLS.Coordinates
  • GLS.BaseClasses
  • GLS.ProxyObjects
  • GLS.MultiProxy
  • GLS.Manager
  • GLS.VectorTypes
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TDCECollision |
Class TGLDCEManager |
Class TGLDCEStatic |
Class TGLDCEDynamic |

Functions and Procedures

procedure ECSetCollisionRange(var MovePack: TECMovePack);
procedure ECResetColliders(var MovePack: TECMovePack);
procedure ECAddFreeForm(var MovePack: TECMovePack; FreeForm: TGLBaseSceneObject; Solid: Boolean; ObjectID: Integer);
procedure ECAddBox(var MovePack: TECMovePack; BoxObj: TGLBaseSceneObject; BoxSize: TAffineVector; Solid: Boolean; ObjectID: Integer);
procedure ECAddTerrain(var MovePack: TECMovePack; TerrainRenderer: TGLTerrainRenderer; Resolution: single; Solid: Boolean; ObjectID: Integer);
procedure ECAddEllipsoid(var MovePack: TECMovePack; ePos, eRadius: TAffineVector; Solid: Boolean; ObjectID: Integer);
function GetOrCreateDCEStatic(behaviours: TGLBehaviours): TGLDCEStatic; overload;
function GetOrCreateDCEStatic(obj: TGLBaseSceneObject): TGLDCEStatic; overload;
function GetOrCreateDCEDynamic(behaviours: TGLBehaviours) : TGLDCEDynamic; overload;
function GetOrCreateDCEDynamic(obj: TGLBaseSceneObject): TGLDCEDynamic; overload;

Types

TDCECollisionEvent = procedure(Sender: TObject; object1, object2: TGLBaseSceneObject; CollisionInfo: TDCECollision) of object;
TDCECollisionSelection = (...);
TDCEObjectCollisionEvent = procedure(Sender: TObject; ObjectCollided: TGLBaseSceneObject; CollisionInfo: TDCECollision) of object;
TDCEShape = (...);
TDCESlideOrBounce = (...);

Constants

DCEBox: array [0 .. 35] of TAffineVector = ((x: 1; y: - 1; z: - 1), (x: 1; y: 1; z: - 1), (x: 1; y: - 1; z: 1), (x: 1; y: 1; z: - 1), (x: 1; y: 1; z: 1), (x: 1; y: - 1; z: 1), (x: 1; y: 1; z: - 1), (x: - 1; y: 1; z: - 1), (x: - 1; y: 1; z: 1), (x: 1; y: 1; z: 1), (x: 1; y: 1; z: - 1), (x: - 1; y: 1; z: 1), (x: - 1; y: 1; z: 1), (x: - 1; y: - 1; z: 1), (x: 1; y: - 1; z: 1), (x: 1; y: 1; z: 1), (x: - 1; y: 1; z: 1), (x: 1; y: - 1; z: 1), (x: - 1; y: - 1; z: 1), (x: - 1; y: 1; z: 1), (x: - 1; y: 1; z: - 1), (x: - 1; y: - 1; z: - 1), (x: - 1; y: - 1; z: 1), (x: - 1; y: 1; z: - 1), (x: 1; y: - 1; z: 1), (x: - 1; y: - 1; z: 1), (x: 1; y: - 1; z: - 1), (x: - 1; y: - 1; z: 1), (x: - 1; y: - 1; z: - 1), (x: 1; y: - 1; z: - 1), (x: 1; y: 1; z: - 1), (x: 1; y: - 1; z: - 1), (x: - 1; y: 1; z: - 1), (x: 1; y: - 1; z: - 1), (x: - 1; y: - 1; z: - 1), (x: - 1; y: 1; z: - 1));

Description

Functions and Procedures

procedure ECSetCollisionRange(var MovePack: TECMovePack);

———————- DCE Misc functions ————————— Calculate and set the collision range

procedure ECResetColliders(var MovePack: TECMovePack);

Set the collider lists to null

procedure ECAddFreeForm(var MovePack: TECMovePack; FreeForm: TGLBaseSceneObject; Solid: Boolean; ObjectID: Integer);

Add freeform's octree data

procedure ECAddBox(var MovePack: TECMovePack; BoxObj: TGLBaseSceneObject; BoxSize: TAffineVector; Solid: Boolean; ObjectID: Integer);

Add a TriMesh box

procedure ECAddTerrain(var MovePack: TECMovePack; TerrainRenderer: TGLTerrainRenderer; Resolution: single; Solid: Boolean; ObjectID: Integer);

Add the terrain as a TriMesh

procedure ECAddEllipsoid(var MovePack: TECMovePack; ePos, eRadius: TAffineVector; Solid: Boolean; ObjectID: Integer);

Add a static ellipsoid

function GetOrCreateDCEStatic(behaviours: TGLBehaviours): TGLDCEStatic; overload;
function GetOrCreateDCEStatic(obj: TGLBaseSceneObject): TGLDCEStatic; overload;
function GetOrCreateDCEDynamic(behaviours: TGLBehaviours) : TGLDCEDynamic; overload;
function GetOrCreateDCEDynamic(obj: TGLBaseSceneObject): TGLDCEDynamic; overload;

Types

TDCECollisionEvent = procedure(Sender: TObject; object1, object2: TGLBaseSceneObject; CollisionInfo: TDCECollision) of object;
TDCECollisionSelection = (...);

Indicates which type of layer comparison is made when trying to detect collisions between 2 bodies (A and B). Possible values are: ccsDCEStandard: Collides bodies if A.layer <= B.layer ccsCollisionStandard: Collides bodies if either A or B have layer equal to zero or if their layers are different. ccsHybrid: Collides bodies if either one of the previous checks would pass (i.e. if the layer of either body is equal to 0 or if A.layer <= B.layer) *and* if both layers are positive (that is, turns off collision for bodies whose layer is < 0)

Values
  • ccsDCEStandard
  • ccsCollisionStandard
  • ccsHybrid
TDCEObjectCollisionEvent = procedure(Sender: TObject; ObjectCollided: TGLBaseSceneObject; CollisionInfo: TDCECollision) of object;
TDCEShape = (...);

Only csEllipsoid can have dynamic behaviour

Values
  • csEllipsoid
  • csBox
  • csFreeform
  • csTerrain
TDCESlideOrBounce = (...);
Values
  • csbSlide
  • csbBounce

Constants

DCEBox: array [0 .. 35] of TAffineVector = ((x: 1; y: - 1; z: - 1), (x: 1; y: 1; z: - 1), (x: 1; y: - 1; z: 1), (x: 1; y: 1; z: - 1), (x: 1; y: 1; z: 1), (x: 1; y: - 1; z: 1), (x: 1; y: 1; z: - 1), (x: - 1; y: 1; z: - 1), (x: - 1; y: 1; z: 1), (x: 1; y: 1; z: 1), (x: 1; y: 1; z: - 1), (x: - 1; y: 1; z: 1), (x: - 1; y: 1; z: 1), (x: - 1; y: - 1; z: 1), (x: 1; y: - 1; z: 1), (x: 1; y: 1; z: 1), (x: - 1; y: 1; z: 1), (x: 1; y: - 1; z: 1), (x: - 1; y: - 1; z: 1), (x: - 1; y: 1; z: 1), (x: - 1; y: 1; z: - 1), (x: - 1; y: - 1; z: - 1), (x: - 1; y: - 1; z: 1), (x: - 1; y: 1; z: - 1), (x: 1; y: - 1; z: 1), (x: - 1; y: - 1; z: 1), (x: 1; y: - 1; z: - 1), (x: - 1; y: - 1; z: 1), (x: - 1; y: - 1; z: - 1), (x: 1; y: - 1; z: - 1), (x: 1; y: 1; z: - 1), (x: 1; y: - 1; z: - 1), (x: - 1; y: 1; z: - 1), (x: 1; y: - 1; z: - 1), (x: - 1; y: - 1; z: - 1), (x: - 1; y: 1; z: - 1));


GLSysHelp v.2.1: GLS.DCE: Record TDCECollision

Record TDCECollision

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.DCE

Declaration

type TDCECollision = record

Description

Overview

Fields

Public | Position: TAffineVector;
Public | Normal: TAffineVector;
Public | Bounce: TAffineVector;
Public | Nearest: Boolean;
Public | RootCollision: Boolean;
Public | Distance: single;

Description

Fields

Public Position: TAffineVector;
Public Normal: TAffineVector;
Public Bounce: TAffineVector;

Surface normal

Public Nearest: Boolean;

Surface reflection

Public RootCollision: Boolean;
Public Distance: single;


GLSysHelp v.2.1: GLS.DCE: Class TGLDCEManager

Class TGLDCEManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.DCE

Declaration

type TGLDCEManager = class(TComponent)

Description

The Dynamic Collision Engine Manager class

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLDCEManager

Overview

Fields

Private | FStatics: TList;
Private | FDynamics: TList;
Private | FGravity: single;
Private | FWorldDirection: TGLCoordinates;
Private | FWorldScale: single;
Private | FMovimentScale: single;
Private | FStandardiseLayers: TDCECollisionSelection;
Private | FManualStep: Boolean;
Private | FOnCollision: TDCECollisionEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function MoveByDistance(var Body: TGLDCEDynamic; deltaS, deltaAbsS: TAffineVector): single;
Private | function GetDynamicCount: Integer;
Private | function GetStaticCount: Integer;
Public | procedure Step(deltaTime: Double);
Protected | procedure DeRegisterAllDynamics;
Protected | procedure DeRegisterAllStatics;
Protected | procedure DeRegisterDynamic(aClient: TGLDCEDynamic);
Protected | procedure DeRegisterStatic(aClient: TGLDCEStatic);
Protected | procedure RegisterDynamic(aClient: TGLDCEDynamic);
Protected | procedure RegisterStatic(aClient: TGLDCEStatic);
Private | procedure SetWorldDirection(const Value: TGLCoordinates);
Private | procedure SetWorldScale(const Value: single);

Properties

Public | property DynamicCount: Integer read GetDynamicCount;
Published | property Gravity: single read FGravity write FGravity;
Published | property ManualStep: Boolean read FManualStep write FManualStep;
Published | property MovimentScale: single read FMovimentScale write FMovimentScale;
Published | property OnCollision: TDCECollisionEvent read FOnCollision write FOnCollision;
Published | property StandardiseLayers: TDCECollisionSelection read FStandardiseLayers write FStandardiseLayers;
Public | property StaticCount: Integer read GetStaticCount;
Published | property WorldDirection: TGLCoordinates read FWorldDirection write SetWorldDirection;
Published | property WorldScale: single read FWorldScale write SetWorldScale;

Description

Fields

Private FStatics: TList;
Private FDynamics: TList;
Private FGravity: single;
Private FWorldDirection: TGLCoordinates;
Private FWorldScale: single;

Used to calculate jumps f.i.

Private FMovimentScale: single;
Private FStandardiseLayers: TDCECollisionSelection;
Private FManualStep: Boolean;
Private FOnCollision: TDCECollisionEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function MoveByDistance(var Body: TGLDCEDynamic; deltaS, deltaAbsS: TAffineVector): single;

Moves the body by the distance and returns the average friction

Private function GetDynamicCount: Integer;
Private function GetStaticCount: Integer;
Public procedure Step(deltaTime: Double);
Protected procedure DeRegisterAllDynamics;
Protected procedure DeRegisterAllStatics;
Protected procedure DeRegisterDynamic(aClient: TGLDCEDynamic);
Protected procedure DeRegisterStatic(aClient: TGLDCEStatic);
Protected procedure RegisterDynamic(aClient: TGLDCEDynamic);
Protected procedure RegisterStatic(aClient: TGLDCEStatic);
Private procedure SetWorldDirection(const Value: TGLCoordinates);
Private procedure SetWorldScale(const Value: single);

Properties

Public property DynamicCount: Integer read GetDynamicCount;
Published property Gravity: single read FGravity write FGravity;
Published property ManualStep: Boolean read FManualStep write FManualStep;
Published property MovimentScale: single read FMovimentScale write FMovimentScale;
Published property OnCollision: TDCECollisionEvent read FOnCollision write FOnCollision;
Published property StandardiseLayers: TDCECollisionSelection read FStandardiseLayers write FStandardiseLayers;
Public property StaticCount: Integer read GetStaticCount;
Published property WorldDirection: TGLCoordinates read FWorldDirection write SetWorldDirection;
Published property WorldScale: single read FWorldScale write SetWorldScale;


GLSysHelp v.2.1: GLS.DCE: Class TGLDCEStatic

Class TGLDCEStatic

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.DCE

Declaration

type TGLDCEStatic = class(TGLBehaviour)

Description

No description available, ancestor TGLBehaviour description follows

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLDCEStatic

Overview

Fields

Private | FManager: TGLDCEManager;
Private | FManagerName: String;
Private | FActive: Boolean;
Private | FShape: TDCEShape;
Private | FLayer: Integer;
Private | FSolid: Boolean;
Private | FFriction: single;
Private | FBounceFactor: single;
Private | FSize: TGLCoordinates;
Private | FOnCollision: TDCEObjectCollisionEvent;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetManager(const val: TGLDCEManager);
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure SetBounceFactor(const Value: single);
Private | procedure SetFriction(const Value: single);
Private | procedure SetShape(const Value: TDCEShape);
Private | procedure SetSize(const Value: TGLCoordinates);

Properties

Published | property Active: Boolean read FActive write FActive;
Published | property BounceFactor: single read FBounceFactor write SetBounceFactor;
Published | property Friction: single read FFriction write SetFriction;
Published | property Layer: Integer read FLayer write FLayer;
Published | property Manager: TGLDCEManager read FManager write SetManager;
Public | property OnCollision: TDCEObjectCollisionEvent read FOnCollision write FOnCollision;
Published | property Shape: TDCEShape read FShape write SetShape;
Published | property Size: TGLCoordinates read FSize write SetSize;
Published | property Solid: Boolean read FSolid write FSolid;

Description

Fields

Private FManager: TGLDCEManager;
Private FManagerName: String;
Private FActive: Boolean;

NOT persistent, temporarily used for persistence

Private FShape: TDCEShape;
Private FLayer: Integer;

Collides only with lower or equal layers

Private FSolid: Boolean;

Collide and slide if true, otherwise it "walk thru walls"

Private FFriction: single;
Private FBounceFactor: single;

0 (no friction); 100 (no movement)

Private FSize: TGLCoordinates;

0 (don't bounce); 1 (bounce forever)

Private FOnCollision: TDCEObjectCollisionEvent;

Events

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetManager(const val: TGLDCEManager);
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure SetBounceFactor(const Value: single);
Private procedure SetFriction(const Value: single);
Private procedure SetShape(const Value: TDCEShape);
Private procedure SetSize(const Value: TGLCoordinates);

Properties

Published property Active: Boolean read FActive write FActive;
Published property BounceFactor: single read FBounceFactor write SetBounceFactor;
Published property Friction: single read FFriction write SetFriction;
Published property Layer: Integer read FLayer write FLayer;
Published property Manager: TGLDCEManager read FManager write SetManager;
Public property OnCollision: TDCEObjectCollisionEvent read FOnCollision write FOnCollision;
Published property Shape: TDCEShape read FShape write SetShape;
Published property Size: TGLCoordinates read FSize write SetSize;
Published property Solid: Boolean read FSolid write FSolid;


GLSysHelp v.2.1: GLS.DCE: Class TGLDCEDynamic

Class TGLDCEDynamic

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.DCE

Declaration

type TGLDCEDynamic = class(TGLBehaviour)

Description

No description available, ancestor TGLBehaviour description follows

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLDCEDynamic

Overview

Fields

Private | FManager: TGLDCEManager;
Private | FManagerName: String;
Private | FActive: Boolean;
Private | FUseGravity: Boolean;
Private | FLayer: Integer;
Private | FSolid: Boolean;
Private | FFriction: single;
Private | FBounceFactor: single;
Private | FSize: TGLCoordinates;
Private | FMaxRecursionDepth: byte;
Private | FSlideOrBounce: TDCESlideOrBounce;
Private | FAccel: TAffineVector;
Private | FSpeed: TAffineVector;
Private | FAbsAccel: TAffineVector;
Private | FAbsSpeed: TAffineVector;
Private | FGravSpeed: TAffineVector;
Private | FTotalFriction: single;
Private | FInGround: Boolean;
Private | FGroundNormal: TAffineVector;
Private | FJumpHeight: single;
Private | FJumpForce: single;
Private | FJumpSpeed: single;
Private | FJumping: Boolean;
Private | FOnCollision: TDCEObjectCollisionEvent;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure ApplyAbsAccel(NewAccel: TAffineVector); overload;
Public | procedure ApplyAbsAccel(x, y, z: single); overload;
Public | procedure ApplyAccel(NewAccel: TAffineVector); overload;
Public | procedure ApplyAccel(x, y, z: single); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoMove(deltaTime: Double);
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure Jump(jHeight, jSpeed: single);
Public | procedure Move(deltaS: TAffineVector; deltaTime: Double);
Public | procedure MoveTo(Position: TAffineVector; Amount: single);
Public | procedure StopAbsAccel;
Public | procedure StopAccel;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetManager(const val: TGLDCEManager);
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure SetBounceFactor(const Value: single);
Private | procedure SetFriction(const Value: single);
Private | procedure SetSize(const Value: TGLCoordinates);

Properties

Published | property Active: Boolean read FActive write FActive;
Published | property BounceFactor: single read FBounceFactor write SetBounceFactor;
Published | property Friction: single read FFriction write SetFriction;
Public | property InGround: Boolean read FInGround;
Published | property Layer: Integer read FLayer write FLayer;
Published | property Manager: TGLDCEManager read FManager write SetManager;
Public | property MaxRecursionDepth: byte read FMaxRecursionDepth write FMaxRecursionDepth;
Public | property OnCollision: TDCEObjectCollisionEvent read FOnCollision write FOnCollision;
Published | property Size: TGLCoordinates read FSize write SetSize;
Published | property SlideOrBounce: TDCESlideOrBounce read FSlideOrBounce write FSlideOrBounce;
Published | property Solid: Boolean read FSolid write FSolid;
Public | property Speed: TAffineVector read FSpeed write FSpeed;
Published | property UseGravity: Boolean read FUseGravity write FUseGravity;

Description

Fields

Private FManager: TGLDCEManager;
Private FManagerName: String;
Private FActive: Boolean;

NOT persistent, temporarily used for persistence

Private FUseGravity: Boolean;
Private FLayer: Integer;
Private FSolid: Boolean;

Collides only with lower or equal layers

Private FFriction: single;

Collide and slide if true, otherwise it "walk thru walls"

Private FBounceFactor: single;

0 (no friction); 100 (no movement)

Private FSize: TGLCoordinates;

0 (don't bounce); 1 (bounce forever)

Private FMaxRecursionDepth: byte;

Number of iterations of the collision method

Private FSlideOrBounce: TDCESlideOrBounce;
Private FAccel: TAffineVector;

gak20041122 Movement

Private FSpeed: TAffineVector;

Current acceleration

Private FAbsAccel: TAffineVector;

Current speed

Private FAbsSpeed: TAffineVector;

Current absolute accel

Private FGravSpeed: TAffineVector;

Current absolute speed

Private FTotalFriction: single;

Current gravity speed

Private FInGround: Boolean;

Current sum of all contatcs friction

Private FGroundNormal: TAffineVector;
Private FJumpHeight: single;
Private FJumpForce: single;
Private FJumpSpeed: single;
Private FJumping: Boolean;
Private FOnCollision: TDCEObjectCollisionEvent;

Events

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure ApplyAbsAccel(NewAccel: TAffineVector); overload;
Public procedure ApplyAbsAccel(x, y, z: single); overload;
Public procedure ApplyAccel(NewAccel: TAffineVector); overload;
Public procedure ApplyAccel(x, y, z: single); overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoMove(deltaTime: Double);
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure Jump(jHeight, jSpeed: single);
Public procedure Move(deltaS: TAffineVector; deltaTime: Double);
Public procedure MoveTo(Position: TAffineVector; Amount: single);
Public procedure StopAbsAccel;
Public procedure StopAccel;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetManager(const val: TGLDCEManager);
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure SetBounceFactor(const Value: single);
Private procedure SetFriction(const Value: single);
Private procedure SetSize(const Value: TGLCoordinates);

Properties

Published property Active: Boolean read FActive write FActive;
Published property BounceFactor: single read FBounceFactor write SetBounceFactor;
Published property Friction: single read FFriction write SetFriction;
Public property InGround: Boolean read FInGround;
Published property Layer: Integer read FLayer write FLayer;
Published property Manager: TGLDCEManager read FManager write SetManager;
Public property MaxRecursionDepth: byte read FMaxRecursionDepth write FMaxRecursionDepth;
Public property OnCollision: TDCEObjectCollisionEvent read FOnCollision write FOnCollision;
Published property Size: TGLCoordinates read FSize write SetSize;
Published property SlideOrBounce: TDCESlideOrBounce read FSlideOrBounce write FSlideOrBounce;
Published property Solid: Boolean read FSolid write FSolid;
Public property Speed: TAffineVector read FSpeed write FSpeed;

Runtime only

Published property UseGravity: Boolean read FUseGravity write FUseGravity;


GLSysHelp v.2.1: GLS.DynamicTexture

Unit GLS.DynamicTexture

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Types
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Utils
  • GLS.Context
  • GLS.Texture
  • GLS.TextureFormat
  • GLS.Graphics

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDynamicTextureImage |


GLSysHelp v.2.1: GLS.DynamicTexture: Class TGLDynamicTextureImage

Class TGLDynamicTextureImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.DynamicTexture

Declaration

type TGLDynamicTextureImage = class(TGLBlankImage)

Description

Allows for fast updating of the texture at runtime

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLBlankImage
  • TGLDynamicTextureImage

Overview

Fields

Private | FUpdating: integer;
Private | FTexSize: integer;
Private | FBuffer: pointer;
Private | FPBO: TGLBufferObjectHandle;
Private | FData: pointer;
Private | FDirtyRect: TRect;
Private | FUseBGR: boolean;
Private | FUsePBO: boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Protected | function GetBitsPerPixel: integer;
Protected | function GetDataFormat: integer;
Protected | function GetTexSize: integer;
Protected | function GetTextureFormat: integer;
Public | procedure BeginUpdate;
Public | procedure EndUpdate;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure FreeBuffer;
Protected | procedure FreePBO;
Private | procedure SetDirtyRectangle(const Value: TRect);
Private | procedure SetUsePBO(const Value: boolean);

Properties

Protected | property BitsPerPixel: integer read GetBitsPerPixel;
Public | property Data: pointer read FData;
Protected | property DataFormat: integer read GetDataFormat;
Public | property DirtyRectangle: TRect read FDirtyRect write SetDirtyRectangle;
Protected | property TextureFormat: integer read GetTextureFormat;
Public | property UseBGR: boolean read FUseBGR write FUseBGR;
Public | property UsePBO: boolean read FUsePBO write SetUsePBO;

Description

Fields

Private FUpdating: integer;
Private FTexSize: integer;
Private FBuffer: pointer;
Private FPBO: TGLBufferObjectHandle;
Private FData: pointer;
Private FDirtyRect: TRect;
Private FUseBGR: boolean;
Private FUsePBO: boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Protected function GetBitsPerPixel: integer;
Protected function GetDataFormat: integer;
Protected function GetTexSize: integer;
Protected function GetTextureFormat: integer;
Public procedure BeginUpdate;

Must be called before using the Data pointer. Rendering context must be active!

Public procedure EndUpdate;

Must be called after data is changed. This will upload the new data

Public procedure NotifyChange(Sender: TObject); override;
Protected procedure FreeBuffer;
Protected procedure FreePBO;
Private procedure SetDirtyRectangle(const Value: TRect);
Private procedure SetUsePBO(const Value: boolean);

Properties

Protected property BitsPerPixel: integer read GetBitsPerPixel;
Public property Data: pointer read FData;

Pointer to buffer data. Will be nil outside a BeginUpdate / EndUpdate block

Protected property DataFormat: integer read GetDataFormat;
Public property DirtyRectangle: TRect read FDirtyRect write SetDirtyRectangle;

Marks the dirty rectangle inside the texture. BeginUpdate sets it to ((0, 0), (Width, Height)), ie the entire texture. Override it if you're only changing a small piece of the texture. Note that the Data pointer is relative to the DirtyRectangle, NOT the entire texture.

Protected property TextureFormat: integer read GetTextureFormat;
Public property UseBGR: boolean read FUseBGR write FUseBGR;

Indicates that the data is stored as BGR(A) instead of RGB(A). The default is BGR(A)

Public property UsePBO: boolean read FUsePBO write SetUsePBO;

Enables or disables use of a PBO. Default is true


GLSysHelp v.2.1: GLS.EllipseCollision

Unit GLS.EllipseCollision

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.VectorGeometry
  • GLS.Octree
  • GLS.VectorLists
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TECPlane |
Record TECObjectInfo |
Record TECTriangle |
Record TECTriMesh |
Record TECFreeForm |
Record TECCollider |
Record TECContact |
Record TECCollisionPacket |
Record TECMovePack |

Functions and Procedures

function VectorDivide(const v, divider: TAffineVector): TAffineVector;
procedure CollideAndSlide(var MP: TECMovePack);
procedure CollideWithWorld(var MP: TECMovePack; pos, vel: TAffineVector; var HasCollided: Boolean);

Types

TECColliderList = array of TECCollider;
TECColliderShape = (...);
TECContactList = array of TECContact;
TECFreeFormList = array of TECFreeForm;
TECTriMeshList = array of TECTriMesh;

Constants

cECCloseDistance: Single = 0.005;

Variables

Debug_Tri: array of TECTriangle;

Description

Functions and Procedures

function VectorDivide(const v, divider: TAffineVector): TAffineVector;
procedure CollideAndSlide(var MP: TECMovePack);
procedure CollideWithWorld(var MP: TECMovePack; pos, vel: TAffineVector; var HasCollided: Boolean);

Types

TECColliderList = array of TECCollider;
TECColliderShape = (...);
Values
  • csEllipsoid
  • csPoint
TECContactList = array of TECContact;
TECFreeFormList = array of TECFreeForm;
TECTriMeshList = array of TECTriMesh;

Constants

cECCloseDistance: Single = 0.005;

Variables

Debug_Tri: array of TECTriangle;

.$DEFINE DEBUG


GLSysHelp v.2.1: GLS.EllipseCollision: Class TECPlane

Class TECPlane

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECPlane = class(TObject)

Description

The Ellipsoid collision class

Hierarchy

  • TObject
  • TECPlane

Overview

Fields

Public | Equation: array [0 .. 3] of Single;
Public | Origin: TAffineVector;
Public | Normal: TAffineVector;

Methods

Public | function isFrontFacingTo(const Direction: TAffineVector): Boolean;
Public | function signedDistanceTo(const Point: TAffineVector): Single;
Public | procedure MakePlane(const nOrigin, nNormal: TAffineVector); overload;
Public | procedure MakePlane(const p1, p2, p3: TAffineVector); overload;

Description

Fields

Public Equation: array [0 .. 3] of Single;
Public Origin: TAffineVector;
Public Normal: TAffineVector;

Methods

Public function isFrontFacingTo(const Direction: TAffineVector): Boolean;
Public function signedDistanceTo(const Point: TAffineVector): Single;
Public procedure MakePlane(const nOrigin, nNormal: TAffineVector); overload;
Public procedure MakePlane(const p1, p2, p3: TAffineVector); overload;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECObjectInfo

Record TECObjectInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECObjectInfo = record

Description

Object collision properties

Overview

Fields

Public | AbsoluteMatrix: TGLMatrix;
Public | Solid: Boolean;
Public | IsDynamic: Boolean;
Public | ObjectID: Integer;

Description

Fields

Public AbsoluteMatrix: TGLMatrix;
Public Solid: Boolean;
Public IsDynamic: Boolean;
Public ObjectID: Integer;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECTriangle

Record TECTriangle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECTriangle = record

Description

Ellipsoid collision Triangle

Overview

Fields

Public | p1: TAffineVector;
Public | p2: TAffineVector;
Public | p3: TAffineVector;

Description

Fields

Public p1: TAffineVector;
Public p2: TAffineVector;
Public p3: TAffineVector;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECTriMesh

Record TECTriMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECTriMesh = record

Description

Ellipsoid collision Mesh

Overview

Fields

Public | Triangles: array of TECTriangle;
Public | ObjectInfo: TECObjectInfo;

Description

Fields

Public Triangles: array of TECTriangle;
Public ObjectInfo: TECObjectInfo;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECFreeForm

Record TECFreeForm

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECFreeForm = record

Description

Ellipsoid collision FreeForm

Overview

Fields

Public | OctreeNodes: array of POctreeNode;
Public | triangleFiler: ˆTAffineVectorList;
Public | InvertedNormals: Boolean;
Public | ObjectInfo: TECObjectInfo;

Description

Fields

Public OctreeNodes: array of POctreeNode;
Public triangleFiler: ˆTAffineVectorList;
Public InvertedNormals: Boolean;
Public ObjectInfo: TECObjectInfo;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECCollider

Record TECCollider

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECCollider = record

Description

Overview

Fields

Public | Position: TAffineVector;
Public | Radius: TAffineVector;
Public | Shape: TECColliderShape;
Public | ObjectInfo: TECObjectInfo;

Description

Fields

Public Position: TAffineVector;
Public Radius: TAffineVector;
Public Shape: TECColliderShape;
Public ObjectInfo: TECObjectInfo;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECContact

Record TECContact

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECContact = record

Description

Overview

Fields

Public | Position: TAffineVector;
Public | SurfaceNormal: TAffineVector;
Public | Distance: Single;
Public | ObjectInfo: TECObjectInfo;

Description

Fields

Public Position: TAffineVector;

Generated by the collision procedure

Public SurfaceNormal: TAffineVector;
Public Distance: Single;
Public ObjectInfo: TECObjectInfo;

Collider data


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECCollisionPacket

Record TECCollisionPacket

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECCollisionPacket = record

Description

Overview

Fields

Public | velocity: TAffineVector;
Public | normalizedVelocity: TAffineVector;
Public | basePoint: TAffineVector;
Public | foundCollision: Boolean;
Public | nearestDistance: Single;
Public | NearestObject: Integer;
Public | intersectionPoint: TAffineVector;
Public | intersectionNormal: TAffineVector;

Description

Fields

Public velocity: TAffineVector;

Information about the move being requested: (in eSpace)

Public normalizedVelocity: TAffineVector;
Public basePoint: TAffineVector;
Public foundCollision: Boolean;

Hit information

Public nearestDistance: Single;
Public NearestObject: Integer;
Public intersectionPoint: TAffineVector;
Public intersectionNormal: TAffineVector;


GLSysHelp v.2.1: GLS.EllipseCollision: Record TECMovePack

Record TECMovePack

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EllipseCollision

Declaration

type TECMovePack = record

Description

Overview

Fields

Public | TriMeshes: TECTriMeshList;
Public | Freeforms: TECFreeFormList;
Public | Colliders: TECColliderList;
Public | Position: TAffineVector;
Public | velocity: TAffineVector;
Public | Gravity: TAffineVector;
Public | Radius: TAffineVector;
Public | ObjectInfo: TECObjectInfo;
Public | CollisionRange: Single;
Public | UnitScale: Double;
Public | MaxRecursionDepth: Byte;
Public | CP: TECCollisionPacket;
Public | collisionRecursionDepth: Byte;
Public | ResultPos: TAffineVector;
Public | NearestObject: Integer;
Public | VelocityCollided: Boolean;
Public | GravityCollided: Boolean;
Public | GroundNormal: TAffineVector;
Public | Contacts: TECContactList

Description

Fields

Public TriMeshes: TECTriMeshList;

List of closest triangles

Public Freeforms: TECFreeFormList;

List of freeform octree nodes

Public Colliders: TECColliderList;

List of other colliders (f.i. ellipsoids)

Public Position: TAffineVector;

Movement params

Public velocity: TAffineVector;
Public Gravity: TAffineVector;
Public Radius: TAffineVector;
Public ObjectInfo: TECObjectInfo;
Public CollisionRange: Single;
Public UnitScale: Double;

Stores the range where objects may collide Internal

Public MaxRecursionDepth: Byte;
Public CP: TECCollisionPacket;
Public collisionRecursionDepth: Byte;
Public ResultPos: TAffineVector;

Result

Public NearestObject: Integer;
Public VelocityCollided: Boolean;
Public GravityCollided: Boolean;
Public GroundNormal: TAffineVector;
Public Contacts: TECContactList


GLSysHelp v.2.1: GLS.EParticleMasksManager

Unit GLS.EParticleMasksManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.SysUtils
  • System.Classes
  • System.Math
  • VCL.Graphics
  • GLS.Texture
  • GLS.Material
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.ParticleFX
  • GLS.Coordinates

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLEParticleMask |
Class TGLEParticleMasks |
Class TGLEParticleMasksManager |

Types

TGLEProjectedParticleMask = (...);

Description

Types

TGLEProjectedParticleMask = (...);
Values
  • pptXMask
  • pptYMask
  • pptZMask


GLSysHelp v.2.1: GLS.EParticleMasksManager: Class TGLEParticleMask

Class TGLEParticleMask

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EParticleMasksManager

Declaration

type TGLEParticleMask = class(TCollectionItem, IGLMaterialLibrarySupported)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLEParticleMask

Overview

Fields

Private | FName: string;
Private | FScale: TGLCoordinates;
Private | FPosition: TGLCoordinates;
Private | FYMask: TGLLibMaterialName;
Private | FZMask: TGLLibMaterialName;
Private | FXMask: TGLLibMaterialName;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FBackgroundColor: TColor;
Private | FMaskColor: TColor;
Private | FMaxX: Integer;
Private | FMaxY: Integer;
Private | FMaxZ: Integer;
Private | FMinX: Integer;
Private | FMinY: Integer;
Private | FMinZ: Integer;
Private | IXW: Integer;
Private | IXH: Integer;
Private | IYW: Integer;
Private | IYH: Integer;
Private | IZW: Integer;
Private | IZH: Integer;
Private | LX: Integer;
Private | LY: Integer;
Private | LZ: Integer;
Private | MX: Integer;
Private | MY: Integer;
Private | BogusMask: Boolean;
Private | BogusMaskX: Boolean;
Private | BogusMaskY: Boolean;
Private | BogusMaskZ: Boolean;
Private | FRollAngle: Single;
Private | FPitchAngle: Single;
Private | FTurnAngle: Single;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Private | function XCan: TBitmap;
Private | function YCan: TBitmap;
Private | function ZCan: TBitmap;
Private | function _AddRef: Integer; stdcall;
Private | function _Release: Integer; stdcall;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure GenerateMaskFromProjection(FromMask, ToMask: TGLEProjectedParticleMask; Depth: Integer);
Public | procedure Pitch(Angle: Single);
Public | procedure Roll(Angle: Single);
Public | procedure Turn(Angle: Single);
Public | procedure UpdateExtents;
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private | procedure SetName(const Value: string);
Private | procedure SetXMask(const Value: TGLLibMaterialName);
Private | procedure SetYMask(const Value: TGLLibMaterialName);
Private | procedure SetZMask(const Value: TGLLibMaterialName);

Properties

Published | property BackgroundColor: TColor read FBackgroundColor write FBackgroundColor;
Published | property MaskColor: TColor read FMaskColor write FMaskColor;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property Name: string read FName write SetName;
Published | property PitchAngle: Single read FPitchAngle write FPitchAngle;
Published | property Position: TGLCoordinates read FPosition write FPosition;
Published | property RollAngle: Single read FRollAngle write FRollAngle;
Published | property Scale: TGLCoordinates read FScale write FScale;
Published | property TurnAngle: Single read FTurnAngle write FTurnAngle;
Published | property XMask: TGLLibMaterialName read FXMask write SetXMask;
Published | property YMask: TGLLibMaterialName read FYMask write SetYMask;
Published | property ZMask: TGLLibMaterialName read FZMask write SetZMask;

Description

Fields

Private FName: string;
Private FScale: TGLCoordinates;
Private FPosition: TGLCoordinates;
Private FYMask: TGLLibMaterialName;
Private FZMask: TGLLibMaterialName;
Private FXMask: TGLLibMaterialName;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FBackgroundColor: TColor;
Private FMaskColor: TColor;
Private FMaxX: Integer;
Private FMaxY: Integer;
Private FMaxZ: Integer;
Private FMinX: Integer;
Private FMinY: Integer;
Private FMinZ: Integer;
Private IXW: Integer;
Private IXH: Integer;
Private IYW: Integer;
Private IYH: Integer;
Private IZW: Integer;
Private IZH: Integer;
Private LX: Integer;
Private LY: Integer;
Private LZ: Integer;
Private MX: Integer;
Private MY: Integer;
Private BogusMask: Boolean;
Private BogusMaskX: Boolean;
Private BogusMaskY: Boolean;
Private BogusMaskZ: Boolean;
Private FRollAngle: Single;

we might have a pitch mask

Private FPitchAngle: Single;
Private FTurnAngle: Single;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

implementing IGLMaterialLibrarySupported

Private function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

implementing IInterface

Private function XCan: TBitmap;
Private function YCan: TBitmap;
Private function ZCan: TBitmap;
Private function _AddRef: Integer; stdcall;
Private function _Release: Integer; stdcall;
Public procedure Assign(Source: TPersistent); override;
Public procedure GenerateMaskFromProjection(FromMask, ToMask: TGLEProjectedParticleMask; Depth: Integer);

this generates a xmask from another mask just to fill gaps, depth is dependant on frommask width and height

Public procedure Pitch(Angle: Single);
Public procedure Roll(Angle: Single);
Public procedure Turn(Angle: Single);
Public procedure UpdateExtents;
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private procedure SetName(const Value: string);
Private procedure SetXMask(const Value: TGLLibMaterialName);
Private procedure SetYMask(const Value: TGLLibMaterialName);
Private procedure SetZMask(const Value: TGLLibMaterialName);

Properties

Published property BackgroundColor: TColor read FBackgroundColor write FBackgroundColor;

background color is the color that prevents particles from being positioned there

Published property MaskColor: TColor read FMaskColor write FMaskColor;

maskcolor is where particles are allowed to be positioned

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property Name: string read FName write SetName;

the reference name of the particle mask

Published property PitchAngle: Single read FPitchAngle write FPitchAngle;
Published property Position: TGLCoordinates read FPosition write FPosition;
Published property RollAngle: Single read FRollAngle write FRollAngle;

just the average angles for orientation

Published property Scale: TGLCoordinates read FScale write FScale;

scales and positions

Published property TurnAngle: Single read FTurnAngle write FTurnAngle;
Published property XMask: TGLLibMaterialName read FXMask write SetXMask;

mask images, make sure materiallibrary is assigned

Published property YMask: TGLLibMaterialName read FYMask write SetYMask;
Published property ZMask: TGLLibMaterialName read FZMask write SetZMask;


GLSysHelp v.2.1: GLS.EParticleMasksManager: Class TGLEParticleMasks

Class TGLEParticleMasks

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EParticleMasksManager

Declaration

type TGLEParticleMasks = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLEParticleMasks

Overview

Fields

Protected Owner: TComponent;

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLEParticleMask;
Protected | function GetItems(Index: Integer): TGLEParticleMask;
Protected | function GetOwner: TPersistent; override;
Protected | procedure SetItems(Index: Integer; const Val: TGLEParticleMask);

Properties

Public property Items[Index:Integer]: TGLEParticleMask read GetItems write SetItems;

Description

Fields

Protected Owner: TComponent;

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLEParticleMask;
Protected function GetItems(Index: Integer): TGLEParticleMask;
Protected function GetOwner: TPersistent; override;
Protected procedure SetItems(Index: Integer; const Val: TGLEParticleMask);

Properties

Public property Items[Index:Integer]: TGLEParticleMask read GetItems write SetItems;


GLSysHelp v.2.1: GLS.EParticleMasksManager: Class TGLEParticleMasksManager

Class TGLEParticleMasksManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.EParticleMasksManager

Declaration

type TGLEParticleMasksManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLEParticleMasksManager

Overview

Fields

Private FParticleMasks: TGLEParticleMasks;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateParticlePositionFromMask(MaskName: string): TVector3f;
Public | function ParticleMaskByName(MaskName: string): TGLEParticleMask;
Public | function TargetParticlePositionFromMask(TargetObject: TGLBaseSceneObject; MaskName: string): TVector3f;
Public | procedure SetParticlePositionFromMask(Particle: TGLParticle; MaskName: string);
Public | procedure SetParticlePositionFromMaskTarget(Particle: TGLParticle; MaskName: string; TargetObject: TGLBaseSceneObject);
Protected | procedure ApplyOrthoGraphic(var Vec: TVector3f; Mask: TGLEParticleMask);
Protected | procedure ApplyRotation(var Vec: TVector3f; Mask: TGLEParticleMask);
Protected | procedure ApplyRotationTarget(var Vec: TVector3f; Mask: TGLEParticleMask; TargetObject: TGLBaseSceneObject);
Protected | procedure ApplyScaleAndPosition(var Vec: TVector3f; Mask: TGLEParticleMask);
Protected | procedure ApplyScaleAndPositionTarget(var Vec: TVector3f; Mask: TGLEParticleMask; TargetObject: TGLBaseSceneObject);
Protected | procedure FindParticlePosition(var Vec: TVector3f; Mask: TGLEParticleMask);

Properties

Published property ParticleMasks: TGLEParticleMasks read FParticleMasks write FParticleMasks;

Description

Fields

Private FParticleMasks: TGLEParticleMasks;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateParticlePositionFromMask(MaskName: string): TVector3f;
Public function ParticleMaskByName(MaskName: string): TGLEParticleMask;
Public function TargetParticlePositionFromMask(TargetObject: TGLBaseSceneObject; MaskName: string): TVector3f;
Public procedure SetParticlePositionFromMask(Particle: TGLParticle; MaskName: string);
Public procedure SetParticlePositionFromMaskTarget(Particle: TGLParticle; MaskName: string; TargetObject: TGLBaseSceneObject);
Protected procedure ApplyOrthoGraphic(var Vec: TVector3f; Mask: TGLEParticleMask);
Protected procedure ApplyRotation(var Vec: TVector3f; Mask: TGLEParticleMask);
Protected procedure ApplyRotationTarget(var Vec: TVector3f; Mask: TGLEParticleMask; TargetObject: TGLBaseSceneObject);
Protected procedure ApplyScaleAndPosition(var Vec: TVector3f; Mask: TGLEParticleMask);
Protected procedure ApplyScaleAndPositionTarget(var Vec: TVector3f; Mask: TGLEParticleMask; TargetObject: TGLBaseSceneObject);
Protected procedure FindParticlePosition(var Vec: TVector3f; Mask: TGLEParticleMask);

Properties

Published property ParticleMasks: TGLEParticleMasks read FParticleMasks write FParticleMasks;


GLSysHelp v.2.1: GLS.ExplosionFx

Unit GLS.ExplosionFx

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.Scene
  • GLS.VectorFileObjects
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.XCollection
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.Context
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBExplosionFX |


GLSysHelp v.2.1: GLS.ExplosionFx: Class TGLBExplosionFX

Class TGLBExplosionFX

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ExplosionFx

Declaration

type TGLBExplosionFX = class(TGLObjectPreEffect)

Description

No description available, ancestor TGLObjectPreEffect description follows

An object effect that gets rendered before owner object's render. The current OpenGL matrices and material are that of the owner object.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPreEffect
  • TGLBExplosionFX

Overview

Fields

Private | FTriList: TAffineVectorList;
Private | FRotList: TAffineVectorList;
Private | FDirList: TAffineVectorList;
Private | FPosList: TAffineVectorList;
Private | FEnabled: boolean;
Private | FFaceCount: integer;
Private | FSpeed: single;
Private | FDirection: TGLCoordinates;
Private | FMaxSteps: integer;
Private | FStep: integer;

Methods

Public | constructor Create(aOwner : TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure Render(var rci : TGLRenderContextInfo); override;
Public | procedure Reset;
Protected | procedure CacheInfo;
Private | procedure SetDirection(value: TGLCoordinates);
Private | procedure SetDirList(Value: TAffineVectorList);
Private | procedure SetEnabled(value: boolean);
Private | procedure SetPosList(Value: TAffineVectorList);
Private | procedure SetRotList(Value: TAffineVectorList);
Private | procedure SetTriList(Value: TAffineVectorList);

Properties

Published | property Direction: TGLCoordinates read FDirection write SetDirection;
Protected | property DirList: TAffineVectorList read FDirList write SetDirList;
Public | property Enabled: boolean read FEnabled write SetEnabled;
Protected | property FaceCount: integer read FFAceCount write FFaceCount;
Published | property MaxSteps: integer read FMaxSteps write FMaxSteps;
Protected | property PosList: TAffineVectorList read FPosList write SetPosList;
Protected | property RotList: TAffineVectorList read FRotList write SetRotList;
Published | property Speed: single read FSpeed write FSpeed;
Public | property Step: integer read FStep;
Protected | property TriList: TAffineVectorList read FTriList write SetTriList;

Description

Fields

Private FTriList: TAffineVectorList;
Private FRotList: TAffineVectorList;
Private FDirList: TAffineVectorList;
Private FPosList: TAffineVectorList;
Private FEnabled: boolean;
Private FFaceCount: integer;
Private FSpeed: single;
Private FDirection: TGLCoordinates;
Private FMaxSteps: integer;
Private FStep: integer;

Methods

Public constructor Create(aOwner : TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure Render(var rci : TGLRenderContextInfo); override;
Public procedure Reset;

Resets the behaviour, so the information can be re-cached and the mesh can be exploded again

Protected procedure CacheInfo;
Private procedure SetDirection(value: TGLCoordinates);
Private procedure SetDirList(Value: TAffineVectorList);
Private procedure SetEnabled(value: boolean);
Private procedure SetPosList(Value: TAffineVectorList);
Private procedure SetRotList(Value: TAffineVectorList);
Private procedure SetTriList(Value: TAffineVectorList);

Properties

Published property Direction: TGLCoordinates read FDirection write SetDirection;
Protected property DirList: TAffineVectorList read FDirList write SetDirList;
Public property Enabled: boolean read FEnabled write SetEnabled;
Protected property FaceCount: integer read FFAceCount write FFaceCount;
Published property MaxSteps: integer read FMaxSteps write FMaxSteps;
Protected property PosList: TAffineVectorList read FPosList write SetPosList;
Protected property RotList: TAffineVectorList read FRotList write SetRotList;
Published property Speed: single read FSpeed write FSpeed;
Public property Step: integer read FStep;
Protected property TriList: TAffineVectorList read FTriList write SetTriList;


GLSysHelp v.2.1: GLS.Extrusion

Unit GLS.Extrusion

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Objects
  • GLS.Scene
  • GLS.MultiPolygon
  • GLS.Color
  • GLS.VectorGeometry
  • GLS.RenderContextInfo
  • GLS.Nodes
  • GLS.State
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLRevolutionSolid |
Class TGLExtrusionSolid |
Class TGLPipeNode |
Class TGLPipeNodes |
Class TGLPipe |

Types

TGLExtrusionSolidPart = (...);
TGLExtrusionSolidParts = set of TGLExtrusionSolidPart;
TGLRevolutionSolidPart = (...);
TGLRevolutionSolidParts = set of TGLRevolutionSolidPart;
TPipeNodesColorMode = (...);
TPipeNormalMode = (...);
TPipePart = (...);
TPipeParts = set of TPipePart;
TPipeTexCoordMode = (...);

Description

Types

TGLExtrusionSolidPart = (...);
Values
  • espOutside
  • espInside
  • espStartPolygon
  • espStopPolygon
TGLExtrusionSolidParts = set of TGLExtrusionSolidPart;
TGLRevolutionSolidPart = (...);
Values
  • rspOutside
  • rspInside
  • rspStartPolygon
  • rspStopPolygon
TGLRevolutionSolidParts = set of TGLRevolutionSolidPart;
TPipeNodesColorMode = (...);
Values
  • pncmNone
  • pncmEmission
  • pncmAmbient
  • pncmDiffuse
  • pncmAmbientAndDiffuse
TPipeNormalMode = (...);
Values
  • pnmDefault
  • pnmAdvanced
TPipePart = (...);
Values
  • ppOutside
  • ppInside
  • ppStartDisk
  • ppStopDisk
TPipeParts = set of TPipePart;
TPipeTexCoordMode = (...);
Values
  • ptcmDefault
  • ptcmManual


GLSysHelp v.2.1: GLS.Extrusion: Class TGLRevolutionSolid

Class TGLRevolutionSolid

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Extrusion

Declaration

type TGLRevolutionSolid = class(TGLPolygonBase)

Description

A solid object generated by rotating a curve along the Y axis. The curve is described by the Nodes and SplineMode properties, and it is rotated in the trigonometrical direction (CCW when seen from Y->INF). The TGLRevolutionSolid can also be used to render regular helicoidions, by setting a non-null YOffsetPerTurn, and adjusting start/finish angles to make more than one revolution. If you want top/bottom caps, just add a first/last node that will make the curve start/finish on the Y axis.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPolygonBase
  • TGLRevolutionSolid

Overview

Fields

Private | FSlices: Integer;
Private | FStartAngle: Single;
Private | FStopAngle: Single;
Private | FNormals: TGLNormalSmoothing;
Private | FYOffsetPerTurn: Single;
Private | FTriangleCount: Integer;
Private | FNormalDirection: TGLNormalDirection;
Private | FParts: TGLRevolutionSolidParts;
Private | FAxisAlignedDimensionsCache: TGLVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected | function StoreStopAngle: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure StructureChanged; override;
Protected | procedure SetNormalDirection(const val: TGLNormalDirection);
Protected | procedure SetNormals(const val: TGLNormalSmoothing);
Protected | procedure SetParts(const val: TGLRevolutionSolidParts);
Protected | procedure SetSlices(const val: Integer);
Protected | procedure SetStartAngle(const val: Single);
Protected | procedure SetStopAngle(const val: Single);
Protected | procedure SetYOffsetPerTurn(const val: Single);

Properties

Published | property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published | property Normals: TGLNormalSmoothing read FNormals write SetNormals default nsFlat;
Published | property Parts: TGLRevolutionSolidParts read FParts write SetParts default [rspOutside];
Published | property Slices: Integer read FSlices write SetSlices default 16;
Published | property StartAngle: Single read FStartAngle write SetStartAngle;
Published | property StopAngle: Single read FStopAngle write SetStopAngle stored StoreStopAngle;
Public | property TriangleCount: Integer read FTriangleCount;
Published | property YOffsetPerTurn: Single read FYOffsetPerTurn write SetYOffsetPerTurn;

Description

Fields

Private FSlices: Integer;
Private FStartAngle: Single;
Private FStopAngle: Single;
Private FNormals: TGLNormalSmoothing;
Private FYOffsetPerTurn: Single;
Private FTriangleCount: Integer;
Private FNormalDirection: TGLNormalDirection;
Private FParts: TGLRevolutionSolidParts;
Private FAxisAlignedDimensionsCache: TGLVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected function StoreStopAngle: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure StructureChanged; override;
Protected procedure SetNormalDirection(const val: TGLNormalDirection);
Protected procedure SetNormals(const val: TGLNormalSmoothing);
Protected procedure SetParts(const val: TGLRevolutionSolidParts);
Protected procedure SetSlices(const val: Integer);
Protected procedure SetStartAngle(const val: Single);
Protected procedure SetStopAngle(const val: Single);
Protected procedure SetYOffsetPerTurn(const val: Single);

Properties

Published property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published property Normals: TGLNormalSmoothing read FNormals write SetNormals default nsFlat;
Published property Parts: TGLRevolutionSolidParts read FParts write SetParts default [rspOutside];

Parts of the rotation solid to be generated for rendering. rspInside and rspOutside are generated from the curve and make the inside/outside as long as NormalDirection=ndOutside and the solid is described by the curve that goes from top to bottom. Start/StopPolygon are tesselated from the curve (considered as closed).

Published property Slices: Integer read FSlices write SetSlices default 16;

Number of slices per turn (360deg).

Published property StartAngle: Single read FStartAngle write SetStartAngle;
Published property StopAngle: Single read FStopAngle write SetStopAngle stored StoreStopAngle;
Public property TriangleCount: Integer read FTriangleCount;

Number of triangles used for rendering.

Published property YOffsetPerTurn: Single read FYOffsetPerTurn write SetYOffsetPerTurn;

Y offset applied to the curve position for each turn. This amount is applied proportionnally, for instance if your curve is a small circle, off from the Y axis, with a YOffset set to 0 (zero), you will get a torus, but with a non null value, you will get a small helicoidal spring. This can be useful for rendering, lots of helicoidal objects from screws, to nails to stairs etc.


GLSysHelp v.2.1: GLS.Extrusion: Class TGLExtrusionSolid

Class TGLExtrusionSolid

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Extrusion

Declaration

type TGLExtrusionSolid = class(TGLMultiPolygonBase)

Description

Extrudes a complex Polygon into Z direction. For contour description see TGLMultiPolygonBase. properties Parts, Height (or should we better cal it Depth, because its in Z?), Stacks, Normals and NormalDirection are equivalent to TGLRevolutionSolid. If Normals=nsSmooth and the angle between two consecutive normals along the contour is less than MinSmoothAngle, smoothing is done, otherweise flat normals are used. This makes it possible to have smooth normals on sharp edged contours.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMultiPolygonBase
  • TGLExtrusionSolid

Overview

Fields

Private | FStacks: Integer;
Private | FNormals: TGLNormalSmoothing;
Private | FTriangleCount: Integer;
Private | FNormalDirection: TGLNormalDirection;
Private | FParts: TGLExtrusionSolidParts;
Private | FHeight: TGLFloat;
Private | FMinSmoothAngle: Single;
Private | FMinSmoothAngleCos: Single;
Private | FAxisAlignedDimensionsCache: TGLVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure StructureChanged; override;
Protected | procedure SetNormalDirection(const val: TGLNormalDirection);
Protected | procedure SetNormals(const val: TGLNormalSmoothing);
Protected | procedure SetParts(const val: TGLExtrusionSolidParts);
Protected | procedure SetStacks(const val: Integer);
Private | procedure SetHeight(const Value: TGLFloat);
Private | procedure SetMinSmoothAngle(const Value: Single);

Properties

Published | property Height: TGLFloat read FHeight write SetHeight;
Published | property MinSmoothAngle: Single read FMinSmoothAngle write SetMinSmoothAngle;
Published | property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published | property Normals: TGLNormalSmoothing read FNormals write SetNormals default nsFlat;
Published | property Parts: TGLExtrusionSolidParts read FParts write SetParts default [espOutside];
Published | property Stacks: Integer read FStacks write SetStacks default 1;
Public | property TriangleCount: Integer read FTriangleCount;

Description

Fields

Private FStacks: Integer;
Private FNormals: TGLNormalSmoothing;
Private FTriangleCount: Integer;
Private FNormalDirection: TGLNormalDirection;
Private FParts: TGLExtrusionSolidParts;
Private FHeight: TGLFloat;
Private FMinSmoothAngle: Single;
Private FMinSmoothAngleCos: Single;
Private FAxisAlignedDimensionsCache: TGLVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure StructureChanged; override;
Protected procedure SetNormalDirection(const val: TGLNormalDirection);
Protected procedure SetNormals(const val: TGLNormalSmoothing);
Protected procedure SetParts(const val: TGLExtrusionSolidParts);
Protected procedure SetStacks(const val: Integer);
Private procedure SetHeight(const Value: TGLFloat);
Private procedure SetMinSmoothAngle(const Value: Single);

Properties

Published property Height: TGLFloat read FHeight write SetHeight;
Published property MinSmoothAngle: Single read FMinSmoothAngle write SetMinSmoothAngle;
Published property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published property Normals: TGLNormalSmoothing read FNormals write SetNormals default nsFlat;
Published property Parts: TGLExtrusionSolidParts read FParts write SetParts default [espOutside];
Published property Stacks: Integer read FStacks write SetStacks default 1;
Public property TriangleCount: Integer read FTriangleCount;

Number of triangles used for rendering.


GLSysHelp v.2.1: GLS.Extrusion: Class TGLPipeNode

Class TGLPipeNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Extrusion

Declaration

type TGLPipeNode = class(TGLNode)

Description

No description available, ancestor TGLNode description follows

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNode
  • TGLPipeNode

Overview

Fields

Private | FRadiusFactor: Single;
Private | FColor: TGLColor;
Private | FTexCoordT: Single;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Protected | function StoreRadiusFactor: Boolean;
Protected | function StoreTexCoordT: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure ColorChanged(sender: TObject);
Protected | procedure SetColor(const val: TGLColor);
Protected | procedure SetRadiusFactor(const val: Single);

Properties

Published | property Color: TGLColor read FColor write SetColor;
Published | property RadiusFactor: Single read FRadiusFactor write SetRadiusFactor stored StoreRadiusFactor;
Published | property TexCoordT: Single read FTexCoordT write FTexCoordT stored StoreTexCoordT;

Description

Fields

Private FRadiusFactor: Single;
Private FColor: TGLColor;
Private FTexCoordT: Single;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Protected function StoreRadiusFactor: Boolean;
Protected function StoreTexCoordT: Boolean;
Public procedure Assign(Source: TPersistent); override;
Protected procedure ColorChanged(sender: TObject);
Protected procedure SetColor(const val: TGLColor);
Protected procedure SetRadiusFactor(const val: Single);

Properties

Published property Color: TGLColor read FColor write SetColor;
Published property RadiusFactor: Single read FRadiusFactor write SetRadiusFactor stored StoreRadiusFactor;
Published property TexCoordT: Single read FTexCoordT write FTexCoordT stored StoreTexCoordT;


GLSysHelp v.2.1: GLS.Extrusion: Class TGLPipeNodes

Class TGLPipeNodes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Extrusion

Declaration

type TGLPipeNodes = class(TGLLinesNodes)

Description

No description available, ancestor TGLLinesNodes description follows

Specialized collection for Nodes in a TGLLines objects. Stores TGLLinesNode items

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNodes
  • TGLLinesNodes
  • TGLPipeNodes

Overview

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLPipeNode;
Public | function FindItemID(ID: Integer): TGLPipeNode;
Protected | function GetItems(index: Integer): TGLPipeNode;
Protected | procedure SetItems(index: Integer; const val: TGLPipeNode);

Properties

Public property Items[index:Integer]: TGLPipeNode read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLPipeNode;
Public function FindItemID(ID: Integer): TGLPipeNode;
Protected function GetItems(index: Integer): TGLPipeNode;
Protected procedure SetItems(index: Integer; const val: TGLPipeNode);

Properties

Public property Items[index:Integer]: TGLPipeNode read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Extrusion: Class TGLPipe

Class TGLPipe

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Extrusion

Declaration

type TGLPipe = class(TGLPolygonBase)

Description

A solid object generated by extruding a circle along a trajectory. Texture coordinates NOT supported yet.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPolygonBase
  • TGLPipe

Overview

Fields

Private | FSlices: Integer;
Private | FParts: TPipeParts;
Private | FTriangleCount: Integer;
Private | FRadius: Single;
Private | FNodesColorMode: TPipeNodesColorMode;
Private | FTextCoordMode: TPipeTexCoordMode;
Private | FTextCoordTileS: Single;
Private | FTextCoordTileT: Single;
Private | FNormalMode: TPipeNormalMode;
Private | FNormalSmoothAngle: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreRadius: Boolean;
Protected | function StoreTextCoordTileS: Boolean;
Protected | function StoreTextCoordTileT: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure CreateNodes; override;
Protected | procedure SetNodesColorMode(const val: TPipeNodesColorMode);
Protected | procedure SetNormalMode(const val: TPipeNormalMode);
Protected | procedure SetNormalSmoothAngle(const val: Single);
Protected | procedure SetParts(const val: TPipeParts);
Protected | procedure SetRadius(const val: Single);
Protected | procedure SetSlices(const val: Integer);
Protected | procedure SetTextCoordMode(const val: TPipeTexCoordMode);
Protected | procedure SetTextCoordTileS(const val: Single);
Protected | procedure SetTextCoordTileT(const val: Single);

Properties

Published | property NodesColorMode: TPipeNodesColorMode read FNodesColorMode write SetNodesColorMode default pncmNone;
Published | property NormalMode: TPipeNormalMode read FNormalMode write SetNormalMode default pnmDefault;
Published | property NormalSmoothAngle: Single read FNormalSmoothAngle write SetNormalSmoothAngle;
Published | property Parts: TPipeParts read FParts write SetParts default [ppOutside];
Published | property Radius: Single read FRadius write SetRadius;
Published | property Slices: Integer read FSlices write SetSlices default 16;
Published | property TexCoordMode: TPipeTexCoordMode read FTextCoordMode write SetTextCoordMode default ptcmDefault;
Published | property TexCoordTileS: Single read FTextCoordTileS write SetTextCoordTileS stored StoreTextCoordTileS;
Published | property TexCoordTileT: Single read FTextCoordTileT write SetTextCoordTileT stored StoreTextCoordTileT;
Public | property TriangleCount: Integer read FTriangleCount;

Description

Fields

Private FSlices: Integer;
Private FParts: TPipeParts;
Private FTriangleCount: Integer;
Private FRadius: Single;
Private FNodesColorMode: TPipeNodesColorMode;
Private FTextCoordMode: TPipeTexCoordMode;
Private FTextCoordTileS: Single;
Private FTextCoordTileT: Single;
Private FNormalMode: TPipeNormalMode;
Private FNormalSmoothAngle: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreRadius: Boolean;
Protected function StoreTextCoordTileS: Boolean;
Protected function StoreTextCoordTileT: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure CreateNodes; override;
Protected procedure SetNodesColorMode(const val: TPipeNodesColorMode);
Protected procedure SetNormalMode(const val: TPipeNormalMode);
Protected procedure SetNormalSmoothAngle(const val: Single);
Protected procedure SetParts(const val: TPipeParts);
Protected procedure SetRadius(const val: Single);
Protected procedure SetSlices(const val: Integer);
Protected procedure SetTextCoordMode(const val: TPipeTexCoordMode);
Protected procedure SetTextCoordTileS(const val: Single);
Protected procedure SetTextCoordTileT(const val: Single);

Properties

Published property NodesColorMode: TPipeNodesColorMode read FNodesColorMode write SetNodesColorMode default pncmNone;
Published property NormalMode: TPipeNormalMode read FNormalMode write SetNormalMode default pnmDefault;
Published property NormalSmoothAngle: Single read FNormalSmoothAngle write SetNormalSmoothAngle;
Published property Parts: TPipeParts read FParts write SetParts default [ppOutside];
Published property Radius: Single read FRadius write SetRadius;
Published property Slices: Integer read FSlices write SetSlices default 16;
Published property TexCoordMode: TPipeTexCoordMode read FTextCoordMode write SetTextCoordMode default ptcmDefault;
Published property TexCoordTileS: Single read FTextCoordTileS write SetTextCoordTileS stored StoreTextCoordTileS;
Published property TexCoordTileT: Single read FTextCoordTileT write SetTextCoordTileT stored StoreTextCoordTileT;
Public property TriangleCount: Integer read FTriangleCount;

Number of triangles used for rendering.


GLSysHelp v.2.1: GLS.FBORenderer

Unit GLS.FBORenderer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.Scene
  • GLS.Texture
  • GLS.Context
  • GLS.Color
  • GLS.Material
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.TextureFormat
  • GLS.VectorTypes
  • GLS.MultiSampleImage
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLRenderbuffer |
Class TGLDepthRBO |
Class TGLStencilRBO |
Class TGLFrameBuffer |
Class TGLFBORenderer |

Types

TGLEnabledRenderBuffer = (...);
TGLEnabledRenderBuffers = set of TGLEnabledRenderBuffer;
TGLFBOClearOption = (...);
TGLFBOClearOptions = set of TGLFBOClearOption;
TGLFBOTargetVisibility = (...);
TGLStencilPrecision = (...);
TGLTextureArray = array of TGLTexture;
TSetTextureTargetsEvent = procedure(Sender : TObject; var colorTexs : TGLTextureArray) of object;

Constants

MaxColorAttachments = 32;

Description

Types

TGLEnabledRenderBuffer = (...);

———————– GLS.FBORenderer classes ————————–

Values
  • erbDepth
  • erbStencil
TGLEnabledRenderBuffers = set of TGLEnabledRenderBuffer;
TGLFBOClearOption = (...);
Values
  • coColorBufferClear
  • coDepthBufferClear
  • coStencilBufferClear
  • coUseBufferBackground
TGLFBOClearOptions = set of TGLFBOClearOption;
TGLFBOTargetVisibility = (...);
Values
  • tvDefault
  • tvFBOOnly
TGLStencilPrecision = (...);
Values
  • spDefault
  • sp1bit
  • sp4bits
  • sp8bits
  • sp16bits
TGLTextureArray = array of TGLTexture;
TSetTextureTargetsEvent = procedure(Sender : TObject; var colorTexs : TGLTextureArray) of object;

Constants

MaxColorAttachments = 32;


GLSysHelp v.2.1: GLS.FBORenderer: Class TGLRenderbuffer

Class TGLRenderbuffer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FBORenderer

Declaration

type TGLRenderbuffer = class(TObject)

Description

Hierarchy

  • TObject
  • TGLRenderbuffer

Overview

Fields

Private | FRenderbufferHandle: TGLRenderbufferHandle;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FStorageValid: Boolean;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Protected | function GetInternalFormat: cardinal; virtual; abstract;
Private | function GetHandle: Cardinal;
Public | procedure Bind;
Public | procedure Unbind;
Protected | procedure InvalidateStorage;
Private | procedure SetHeight(const Value: Integer);
Private | procedure SetWidth(const Value: Integer);

Properties

Public | property Handle: Cardinal read GetHandle;
Public | property Height: Integer read FHeight write SetHeight;
Public | property Width: Integer read FWidth write SetWidth;

Description

Fields

Private FRenderbufferHandle: TGLRenderbufferHandle;
Private FWidth: Integer;
Private FHeight: Integer;
Private FStorageValid: Boolean;

Methods

Public constructor Create;
Public destructor Destroy; override;
Protected function GetInternalFormat: cardinal; virtual; abstract;
Private function GetHandle: Cardinal;
Public procedure Bind;
Public procedure Unbind;
Protected procedure InvalidateStorage;
Private procedure SetHeight(const Value: Integer);
Private procedure SetWidth(const Value: Integer);

Properties

Public property Handle: Cardinal read GetHandle;

Handle to the OpenGL render buffer object. If the handle hasn't already been allocated, it will be allocated by this call (ie. do not use if no OpenGL context is active!)

Public property Height: Integer read FHeight write SetHeight;
Public property Width: Integer read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.FBORenderer: Class TGLDepthRBO

Class TGLDepthRBO

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FBORenderer

Declaration

type TGLDepthRBO = class(TGLRenderbuffer)

Description

No description available, ancestor TGLRenderbuffer description follows

Hierarchy

  • TObject
  • TGLRenderbuffer
  • TGLDepthRBO

Overview

Fields

Private FDepthPrecision: TGLDepthPrecision;

Methods

Public | constructor Create;
Protected | function GetInternalFormat: cardinal; override;
Private | procedure SetDepthPrecision(const Value: TGLDepthPrecision);

Properties

Public property DepthPrecision: TGLDepthPrecision read FDepthPrecision write SetDepthPrecision;

Description

Fields

Private FDepthPrecision: TGLDepthPrecision;

Methods

Public constructor Create;
Protected function GetInternalFormat: cardinal; override;
Private procedure SetDepthPrecision(const Value: TGLDepthPrecision);

Properties

Public property DepthPrecision: TGLDepthPrecision read FDepthPrecision write SetDepthPrecision;


GLSysHelp v.2.1: GLS.FBORenderer: Class TGLStencilRBO

Class TGLStencilRBO

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FBORenderer

Declaration

type TGLStencilRBO = class(TGLRenderbuffer)

Description

No description available, ancestor TGLRenderbuffer description follows

Hierarchy

  • TObject
  • TGLRenderbuffer
  • TGLStencilRBO

Overview

Fields

Private FStencilPrecision: TGLStencilPrecision;

Methods

Public | constructor Create;
Protected | function GetInternalFormat: cardinal; override;
Private | procedure SetStencilPrecision(const Value: TGLStencilPrecision);

Properties

Public property StencilPrecision: TGLStencilPrecision read FStencilPrecision write SetStencilPrecision;

Description

Fields

Private FStencilPrecision: TGLStencilPrecision;

Methods

Public constructor Create;
Protected function GetInternalFormat: cardinal; override;
Private procedure SetStencilPrecision(const Value: TGLStencilPrecision);

Properties

Public property StencilPrecision: TGLStencilPrecision read FStencilPrecision write SetStencilPrecision;


GLSysHelp v.2.1: GLS.FBORenderer: Class TGLFrameBuffer

Class TGLFrameBuffer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FBORenderer

Declaration

type TGLFrameBuffer = class(TObject)

Description

Hierarchy

  • TObject
  • TGLFrameBuffer

Overview

Fields

Private | FFrameBufferHandle: TGLFramebufferHandle;
Private | FTarget: Cardinal;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FLayer: Integer;
Private | FLevel: Integer;
Private | FTextureMipmap: cardinal;
Private | FAttachedTexture: array[0..MaxColorAttachments - 1] of TGLTexture;
Private | FDepthTexture: TGLTexture;
Private | FDRBO: TGLDepthRBO;
Private | FSRBO: TGLStencilRBO;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function GetStringStatus(out clarification: string): TGLFramebufferStatus;
Private | function GetStatus: TGLFramebufferStatus;
Public | procedure AttachDepthBuffer(DepthBuffer: TGLDepthRBO); overload;
Public | procedure AttachDepthTexture(Texture: TGLTexture); overload;
Public | procedure AttachStencilBuffer(StencilBuffer: TGLStencilRBO); overload;
Public | procedure AttachTexture(n: Cardinal; Texture: TGLTexture); overload;
Public | procedure Bind;
Public | procedure DetachDepthBuffer;
Public | procedure DetachDepthTexture;
Public | procedure DetachStencilBuffer;
Public | procedure DetachTexture(n: Cardinal);
Public | procedure PostRender(const PostGenerateMipmap: Boolean);
Public | procedure PreRender;
Public | procedure Render(var rci: TGLRenderContextInfo; baseObject: TGLBaseSceneObject);
Public | procedure Unbind;
Protected | procedure AttachTexture( const attachment: Cardinal; const textarget: Cardinal; const texture: Cardinal; const level: TGLint; const layer: TGLint); overload;
Protected | procedure ReattachTextures;
Private | procedure SetHeight(const Value: Integer);
Private | procedure SetLayer(const Value: Integer);
Private | procedure SetLevel(const Value: Integer);
Private | procedure SetWidth(const Value: Integer);

Properties

Public | property Handle: TGLFramebufferHandle read FFrameBufferHandle;
Public | property Height: Integer read FHeight write SetHeight;
Public | property Layer: Integer read FLayer write SetLayer;
Public | property Level: Integer read FLevel write SetLevel;
Public | property Status: TGLFramebufferStatus read GetStatus;
Public | property Width: Integer read FWidth write SetWidth;

Description

Fields

Private FFrameBufferHandle: TGLFramebufferHandle;
Private FTarget: Cardinal;
Private FWidth: Integer;
Private FHeight: Integer;
Private FLayer: Integer;
Private FLevel: Integer;
Private FTextureMipmap: cardinal;
Private FAttachedTexture: array[0..MaxColorAttachments - 1] of TGLTexture;
Private FDepthTexture: TGLTexture;
Private FDRBO: TGLDepthRBO;
Private FSRBO: TGLStencilRBO;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function GetStringStatus(out clarification: string): TGLFramebufferStatus;
Private function GetStatus: TGLFramebufferStatus;
Public procedure AttachDepthBuffer(DepthBuffer: TGLDepthRBO); overload;

attaches a depth rbo to the fbo the depth buffer must have the same dimentions as the fbo

Public procedure AttachDepthTexture(Texture: TGLTexture); overload;

attaches a depth texture to the fbo the depth texture must have the same dimentions as the fbo

Public procedure AttachStencilBuffer(StencilBuffer: TGLStencilRBO); overload;

attaches a stencil rbo to the fbo the stencil buffer must have the same dimentions as the fbo

Public procedure AttachTexture(n: Cardinal; Texture: TGLTexture); overload;
Public procedure Bind;
Public procedure DetachDepthBuffer;

detaches depth attachment from the fbo

Public procedure DetachDepthTexture;
Public procedure DetachStencilBuffer;

detaches stencil attachment from the fbo

Public procedure DetachTexture(n: Cardinal);
Public procedure PostRender(const PostGenerateMipmap: Boolean);
Public procedure PreRender;
Public procedure Render(var rci: TGLRenderContextInfo; baseObject: TGLBaseSceneObject);
Public procedure Unbind;
Protected procedure AttachTexture( const attachment: Cardinal; const textarget: Cardinal; const texture: Cardinal; const level: TGLint; const layer: TGLint); overload;
Protected procedure ReattachTextures;
Private procedure SetHeight(const Value: Integer);
Private procedure SetLayer(const Value: Integer);
Private procedure SetLevel(const Value: Integer);
Private procedure SetWidth(const Value: Integer);

Properties

Public property Handle: TGLFramebufferHandle read FFrameBufferHandle;
Public property Height: Integer read FHeight write SetHeight;
Public property Layer: Integer read FLayer write SetLayer;
Public property Level: Integer read FLevel write SetLevel;
Public property Status: TGLFramebufferStatus read GetStatus;
Public property Width: Integer read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.FBORenderer: Class TGLFBORenderer

Class TGLFBORenderer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FBORenderer

Declaration

type TGLFBORenderer = class(TGLBaseSceneObject, IGLMaterialLibrarySupported)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLFBORenderer

Overview

Fields

Private | FFbo: TGLFrameBuffer;
Private | FDepthRBO: TGLDepthRBO;
Private | FStencilRBO: TGLStencilRBO;
Private | FColorAttachment: Integer;
Private | FRendering: Boolean;
Private | FHasColor: Boolean;
Private | FHasDepth: Boolean;
Private | FHasStencil: Boolean;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FColorTextureName: TGLLibMaterialName;
Private | FDepthTextureName: TGLLibMaterialName;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FForceTextureDimensions: Boolean;
Private | FStencilPrecision: TGLStencilPrecision;
Private | FRootObject: TGLBaseSceneObject;
Private | FRootVisible: Boolean;
Private | FCamera: TGLCamera;
Private | FEnabledRenderBuffers: TGLEnabledRenderBuffers;
Private | FTargetVisibility: TGLFBOTargetVisibility;
Private | FBeforeRender: TGLDirectRenderEvent;
Private | FPostInitialize: TNotifyEvent;
Private | FAfterRender: TGLDirectRenderEvent;
Private | FPreInitialize: TNotifyEvent;
Private | FBackgroundColor: TGLColor;
Private | FClearOptions: TGLFBOClearOptions;
Private | FAspect: Single;
Private | FSceneScaleFactor: Single;
Private | FUseLibraryAsMultiTarget: Boolean;
Private | FPostGenerateMipmap: Boolean;
Private | FMaxSize: Integer;
Private | FMaxAttachment: Integer;
Private | FStoreCamera: array[0..2] of TGLVector;
Private | FOnSetTextureTargets: TSetTextureTargetsEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetLayer: Integer;
Private | function GetLevel: Integer;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetViewport: TRectangle;
Private | function StoreAspect: Boolean;
Private | function StoreSceneScaleFactor: Boolean;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf: Boolean; ARenderChildren: Boolean); override;
Protected | procedure ApplyCamera(var ARci: TGLRenderContextInfo);
Protected | procedure DoAfterRender(var ARci: TGLRenderContextInfo);
Protected | procedure DoBeforeRender(var ARci: TGLRenderContextInfo);
Protected | procedure DoPostInitialize;
Protected | procedure DoPreInitialize;
Protected | procedure ForceDimensions(Texture: TGLTexture);
Protected | procedure Initialize;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure RenderToFBO(var ARci: TGLRenderContextInfo);
Protected | procedure UnApplyCamera(var ARci: TGLRenderContextInfo);
Private | procedure SetBackgroundColor(const Value: TGLColor);
Private | procedure SetCamera(const Value: TGLCamera);
Private | procedure SetColorTextureName(const Value: TGLLibMaterialName);
Private | procedure SetDepthTextureName(const Value: TGLLibMaterialName);
Private | procedure SetEnabledRenderBuffers(const Value: TGLEnabledRenderBuffers);
Private | procedure SetForceTextureDimentions(const Value: Boolean);
Private | procedure SetHeight(Value: Integer);
Private | procedure SetLayer(const Value: Integer);
Private | procedure SetLevel(const Value: Integer);
Private | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary);
Private | procedure SetPostGenerateMipmap(const Value: Boolean);
Private | procedure SetRootObject(const Value: TGLBaseSceneObject);
Private | procedure SetStencilPrecision(const Value: TGLStencilPrecision);
Private | procedure SetTargetVisibility(const Value: TGLFBOTargetVisibility);
Private | procedure SetUseLibraryAsMultiTarget(Value: Boolean);
Private | procedure SetWidth(Value: Integer);

Properties

Published | property Active: Boolean read GetVisible write SetVisible default True;
Published | property AfterRender: TGLDirectRenderEvent read FAfterRender write FAfterRender;
Published | property Aspect: Single read FAspect write FAspect stored StoreAspect;
Published | property BackgroundColor: TGLColor read FBackgroundColor write SetBackgroundColor;
Published | property BeforeRender: TGLDirectRenderEvent read FBeforeRender write FBeforeRender;
Published | property Camera: TGLCamera read FCamera write SetCamera;
Published | property ClearOptions: TGLFBOClearOptions read FClearOptions write FClearOptions;
Published | property ColorTextureName: TGLLibMaterialName read FColorTextureName write SetColorTextureName;
Published | property DepthTextureName: TGLLibMaterialName read FDepthTextureName write SetDepthTextureName;
Published | property EnabledRenderBuffers: TGLEnabledRenderBuffers read FEnabledRenderBuffers write SetEnabledRenderBuffers;
Published | property ForceTextureDimensions: Boolean read FForceTextureDimensions write SetForceTextureDimentions default True;
Protected | property HasColor: Boolean read FHasColor;
Protected | property HasDepth: Boolean read FHasDepth;
Protected | property HasStencil: Boolean read FHasStencil;
Published | property Height: Integer read FHeight write SetHeight default 256;
Public | property Layer: Integer read GetLayer write SetLayer;
Public | property Level: Integer read GetLevel write SetLevel;
Published | property MaterialLibrary: TGLAbstractMaterialLibrary read GetMaterialLibrary write SetMaterialLibrary;
Published | property OnSetTextureTargets: TSetTextureTargetsEvent read FOnSetTextureTargets write FOnSetTextureTargets;
Published | property PickableTarget: Boolean read GetPickable write SetPickable default False;
Published | property PostGenerateMipmap: Boolean read FPostGenerateMipmap write SetPostGenerateMipmap default True;
Published | property PostInitialize: TNotifyEvent read FPostInitialize write FPostInitialize;
Published | property PreInitialize: TNotifyEvent read FPreInitialize write FPreInitialize;
Published | property RootObject: TGLBaseSceneObject read FRootObject write SetRootObject;
Published | property SceneScaleFactor: Single read FSceneScaleFactor write FSceneScaleFactor stored StoreSceneScaleFactor;
Published | property StencilPrecision: TGLStencilPrecision read FStencilPrecision write SetStencilPrecision default spDefault;
Published | property TargetVisibility: TGLFBOTargetVisibility read FTargetVisibility write SetTargetVisibility default tvDefault;
Published | property UseLibraryAsMultiTarget: Boolean read FUseLibraryAsMultiTarget write SetUseLibraryAsMultiTarget default False;
Protected | property Viewport: TRectangle read GetViewport;
Published | property Width: Integer read FWidth write SetWidth default 256;

Description

Fields

Private FFbo: TGLFrameBuffer;
Private FDepthRBO: TGLDepthRBO;
Private FStencilRBO: TGLStencilRBO;
Private FColorAttachment: Integer;
Private FRendering: Boolean;
Private FHasColor: Boolean;
Private FHasDepth: Boolean;
Private FHasStencil: Boolean;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FColorTextureName: TGLLibMaterialName;
Private FDepthTextureName: TGLLibMaterialName;
Private FWidth: Integer;
Private FHeight: Integer;
Private FForceTextureDimensions: Boolean;
Private FStencilPrecision: TGLStencilPrecision;
Private FRootObject: TGLBaseSceneObject;
Private FRootVisible: Boolean;
Private FCamera: TGLCamera;
Private FEnabledRenderBuffers: TGLEnabledRenderBuffers;
Private FTargetVisibility: TGLFBOTargetVisibility;
Private FBeforeRender: TGLDirectRenderEvent;
Private FPostInitialize: TNotifyEvent;
Private FAfterRender: TGLDirectRenderEvent;
Private FPreInitialize: TNotifyEvent;
Private FBackgroundColor: TGLColor;
Private FClearOptions: TGLFBOClearOptions;
Private FAspect: Single;
Private FSceneScaleFactor: Single;
Private FUseLibraryAsMultiTarget: Boolean;
Private FPostGenerateMipmap: Boolean;
Private FMaxSize: Integer;
Private FMaxAttachment: Integer;
Private FStoreCamera: array[0..2] of TGLVector;
Private FOnSetTextureTargets: TSetTextureTargetsEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetLayer: Integer;
Private function GetLevel: Integer;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

implementing IGLMaterialLibrarySupported

Private function GetViewport: TRectangle;
Private function StoreAspect: Boolean;
Private function StoreSceneScaleFactor: Boolean;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf: Boolean; ARenderChildren: Boolean); override;
Protected procedure ApplyCamera(var ARci: TGLRenderContextInfo);
Protected procedure DoAfterRender(var ARci: TGLRenderContextInfo);
Protected procedure DoBeforeRender(var ARci: TGLRenderContextInfo);
Protected procedure DoPostInitialize;
Protected procedure DoPreInitialize;
Protected procedure ForceDimensions(Texture: TGLTexture);
Protected procedure Initialize;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure RenderToFBO(var ARci: TGLRenderContextInfo);
Protected procedure UnApplyCamera(var ARci: TGLRenderContextInfo);
Private procedure SetBackgroundColor(const Value: TGLColor);
Private procedure SetCamera(const Value: TGLCamera);
Private procedure SetColorTextureName(const Value: TGLLibMaterialName);
Private procedure SetDepthTextureName(const Value: TGLLibMaterialName);
Private procedure SetEnabledRenderBuffers(const Value: TGLEnabledRenderBuffers);
Private procedure SetForceTextureDimentions(const Value: Boolean);
Private procedure SetHeight(Value: Integer);
Private procedure SetLayer(const Value: Integer);
Private procedure SetLevel(const Value: Integer);
Private procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary);
Private procedure SetPostGenerateMipmap(const Value: Boolean);
Private procedure SetRootObject(const Value: TGLBaseSceneObject);
Private procedure SetStencilPrecision(const Value: TGLStencilPrecision);
Private procedure SetTargetVisibility(const Value: TGLFBOTargetVisibility);
Private procedure SetUseLibraryAsMultiTarget(Value: Boolean);
Private procedure SetWidth(Value: Integer);

Properties

Published property Active: Boolean read GetVisible write SetVisible default True;
Published property AfterRender: TGLDirectRenderEvent read FAfterRender write FAfterRender;

called after the rendering to the FBO

Published property Aspect: Single read FAspect write FAspect stored StoreAspect;
Published property BackgroundColor: TGLColor read FBackgroundColor write SetBackgroundColor;
Published property BeforeRender: TGLDirectRenderEvent read FBeforeRender write FBeforeRender;

called before rendering to the FBO

Published property Camera: TGLCamera read FCamera write SetCamera;

Camera used for rendering to the FBO if not assigned, use the active view's camera

Published property ClearOptions: TGLFBOClearOptions read FClearOptions write FClearOptions;
Published property ColorTextureName: TGLLibMaterialName read FColorTextureName write SetColorTextureName;
Published property DepthTextureName: TGLLibMaterialName read FDepthTextureName write SetDepthTextureName;
Published property EnabledRenderBuffers: TGLEnabledRenderBuffers read FEnabledRenderBuffers write SetEnabledRenderBuffers;

Enables the use of a render buffer if a texture is not assigned

Published property ForceTextureDimensions: Boolean read FForceTextureDimensions write SetForceTextureDimentions default True;

Force texture dimensions when initializing only works with TGLBlankImage and TGLFloatDataImage, otherwise does nothing

Protected property HasColor: Boolean read FHasColor;
Protected property HasDepth: Boolean read FHasDepth;
Protected property HasStencil: Boolean read FHasStencil;
Published property Height: Integer read FHeight write SetHeight default 256;
Public property Layer: Integer read GetLayer write SetLayer;

Layer (also cube map face) is activated only on the volume textures, texture array and cube map. You can select the layer during the drawing to.

Public property Level: Integer read GetLevel write SetLevel;

Mipmap Level where will be rendering

Published property MaterialLibrary: TGLAbstractMaterialLibrary read GetMaterialLibrary write SetMaterialLibrary;
Published property OnSetTextureTargets: TSetTextureTargetsEvent read FOnSetTextureTargets write FOnSetTextureTargets;

Allows multiTargeting to different texture sources instead of all coming from one single MatLib with UseLibraryAsMultiTarget. OnSetTextureTargets overrides the other method of setting target textures via the MaterialLibrary, ColorTextureName and DepthTextureName propertes

Published property PickableTarget: Boolean read GetPickable write SetPickable default False;
Published property PostGenerateMipmap: Boolean read FPostGenerateMipmap write SetPostGenerateMipmap default True;

Control mipmap generation after rendering texture must have MinFilter with mipmaping

Published property PostInitialize: TNotifyEvent read FPostInitialize write FPostInitialize;

Called after the FBO is initialized, but before any rendering the FBO is bound before calling this event

Published property PreInitialize: TNotifyEvent read FPreInitialize write FPreInitialize;

Called before the FBO is initialized the FBO is bound before calling this event

Published property RootObject: TGLBaseSceneObject read FRootObject write SetRootObject;

Root object used when rendering to the FBO if not assigned, uses itself as root and renders the child objects to the FBO

Published property SceneScaleFactor: Single read FSceneScaleFactor write FSceneScaleFactor stored StoreSceneScaleFactor;

Adjust the scene scale of the camera so that the rendering becomes independent of the width of the fbo renderer 0 = disabled

Published property StencilPrecision: TGLStencilPrecision read FStencilPrecision write SetStencilPrecision default spDefault;

use stencil buffer

Published property TargetVisibility: TGLFBOTargetVisibility read FTargetVisibility write SetTargetVisibility default tvDefault;

Determines if target is rendered to FBO only or rendered normally in FBO only mode, if RootObject is assigned, the RootObject's Visible flag is modified in default mode, if RootObject is not assigned, children are rendered normally after being rendered to the FBO

Published property UseLibraryAsMultiTarget: Boolean read FUseLibraryAsMultiTarget write SetUseLibraryAsMultiTarget default False;
Protected property Viewport: TRectangle read GetViewport;
Published property Width: Integer read FWidth write SetWidth default 256;


GLSysHelp v.2.1: GLS.Feedback

Unit GLS.Feedback

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.VectorLists
  • GLS.Scene
  • GLS.VectorFileObjects
  • GLS.Texture
  • GLS.RenderContextInfo
  • GLS.Context
  • GLS.State
  • GLS.MeshUtils
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFeedback |

Types

TGLFeedbackMode = (...);

Description

Types

TGLFeedbackMode = (...);
Values
  • fm2D
  • fm3D
  • fm3DColor
  • fm3DColorTexture
  • fm4DColorTexture


GLSysHelp v.2.1: GLS.Feedback: Class TGLFeedback

Class TGLFeedback

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Feedback

Declaration

type TGLFeedback = class(TGLBaseSceneObject)

Description

An object encapsulating the OpenGL feedback rendering mode.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLFeedback

Overview

Fields

Private | FActive: Boolean;
Private | FBuffer: TSingleList;
Private | FMaxBufferSize: Cardinal;
Private | FBuffered: Boolean;
Private | FCorrectionScaling: Single;
Private | FMode: TGLFeedbackMode;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure BuildMeshFromBuffer( Vertices: TAffineVectorList = nil; Normals: TAffineVectorList = nil; Colors: TVectorList = nil; TexCoords: TAffineVectorList = nil; VertexIndices: TIntegerList = nil);
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure SetMaxBufferSize(const Value: Cardinal);
Protected | procedure SetMode(const Value: TGLFeedbackMode);

Properties

Published | property Active: Boolean read FActive write FActive;
Public | property Buffer: TSingleList read FBuffer;
Public | property Buffered: Boolean read FBuffered;
Public | property CorrectionScaling: Single read FCorrectionScaling;
Published | property MaxBufferSize: Cardinal read FMaxBufferSize write SetMaxBufferSize;
Published | property Mode: TGLFeedbackMode read FMode write SetMode;
Published | property Visible;

Description

Fields

Private FActive: Boolean;
Private FBuffer: TSingleList;
Private FMaxBufferSize: Cardinal;
Private FBuffered: Boolean;
Private FCorrectionScaling: Single;
Private FMode: TGLFeedbackMode;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure BuildMeshFromBuffer( Vertices: TAffineVectorList = nil; Normals: TAffineVectorList = nil; Colors: TVectorList = nil; TexCoords: TAffineVectorList = nil; VertexIndices: TIntegerList = nil);

Parse the the feedback buffer for polygon data and build a mesh into the assigned lists.

Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure SetMaxBufferSize(const Value: Cardinal);
Protected procedure SetMode(const Value: TGLFeedbackMode);

Properties

Published property Active: Boolean read FActive write FActive;

Toggles the feedback rendering

Public property Buffer: TSingleList read FBuffer;

The feedback buffer

Public property Buffered: Boolean read FBuffered;

True when there is data in the buffer ready for parsing

Public property CorrectionScaling: Single read FCorrectionScaling;

Vertex positions in the buffer needs to be scaled by CorrectionScaling to get correct coordinates.

Published property MaxBufferSize: Cardinal read FMaxBufferSize write SetMaxBufferSize;

Maximum size allocated for the feedback buffer

Published property Mode: TGLFeedbackMode read FMode write SetMode;

The type of data that is collected in the feedback buffer

Published property Visible;


GLSysHelp v.2.1: GLS.File3DPDF

Unit GLS.File3DPDF

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • WinApi.ShellAPI
  • System.Classes
  • System.SysUtils
  • System.StrUtils
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLIDTFVectorFile |
Class TGLU3DVectorFile |

Variables

IDTFConverterFileName: string;

Description

Variables

IDTFConverterFileName: string;

global variable for accing the IDTF->U3D converter


GLSysHelp v.2.1: GLS.File3DPDF: Class TGLIDTFVectorFile

Class TGLIDTFVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DPDF

Declaration

type TGLIDTFVectorFile = class(TGLVectorFile)

Description

The IDTF vector file (Intermediate Data Text File). Used for converting to IDTF -> U3D -> 3D PDF

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLIDTFVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure SaveToStream(aStream: TStream); override;
Private | procedure BuildNormals(m: TGLMeshObject);

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure SaveToStream(aStream: TStream); override;
Private procedure BuildNormals(m: TGLMeshObject);


GLSysHelp v.2.1: GLS.File3DPDF: Class TGLU3DVectorFile

Class TGLU3DVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DPDF

Declaration

type TGLU3DVectorFile = class(TGLIDTFVectorFile)

Description

The U3D vector file (using IDTF and U3DConverter).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLIDTFVectorFile
  • TGLU3DVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.File3DS

Unit GLS.File3DS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Strings
  • GLS.Scene
  • GLS.Objects
  • GLS.VectorFileObjects
  • GLS.Texture
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.PersistentClasses
  • GLS.File3DSSceneObjects
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.RenderContextInfo
  • GLS.Material
  • Formats.m3DS
  • Formats.m3DSTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLFile3DS |
Packed Record TGLFile3DSAnimationData |
Class TGLFile3DSAnimationKeys |
Class TGLFile3DSScaleAnimationKeys |
Class TGLFile3DSRotationAnimationKeys |
Class TGLFile3DSPositionAnimationKeys |
Class TGLFile3DSColorAnimationKeys |
Class TTGLFile3DSPositionAnimationKeys |
Class TGLFile3DSSpotLightCutOffAnimationKeys |
Class TGLFile3DSLightHotSpotAnimationKeys |
Class TGLFile3DSRollAnimationKeys |
Class TGLFile3DSAnimationKeyList |
Class TGLFile3DSDummyObject |
Class TGLFile3DSMeshObject |
Class TGLFile3DSOmniLightObject |
Class TGLFile3DSSpotLightObject |
Class TGLFile3DSCameraObject |
Class TGL3DSVectorFile |

Types

TGLFile3DSAnimKeysClassType = (...);

Variables

vGLFile3DS_UseTextureEx: Boolean = False;
vGLFile3DS_EnableAnimation: Boolean = False;
vGLFile3DS_FixDefaultUpAxisY: Boolean = False;
vGLFile3DS_LoadedStaticFrame: Integer = -1;

Description

Types

TGLFile3DSAnimKeysClassType = (...);

Used only for serialization. There probably is a more efficient way to do it.

Values
  • ctScale
  • ctRot
  • ctPos
  • ctCol
  • ctTPos
  • ctFall
  • ctHot
  • ctRoll

Variables

vGLFile3DS_UseTextureEx: Boolean = False;

If enabled, advanced parameters will be loaded from a 3ds file (TextureScale, TextureOffset), but it might break backwards compatibility. If disabled, it won't break anything, but some parameters will not be loaded correctly from a 3ds file. Also there is a significant drop in FPS when this option is on (for unknown reasons), so it is off by default.

vGLFile3DS_EnableAnimation: Boolean = False;

If enabled, allows 3ds animation and fixes loading of some 3ds models, but has a few bugs: - TGLFreeForm.AutoCentering does now work correctly. - TGLMeshObject.vertices return values different from TGLMeshObject.ExtractTriangles()

vGLFile3DS_FixDefaultUpAxisY: Boolean = False;

If enabled, a -90 degrees (-PI/2) rotation will occured on X Axis. By design 3dsmax has a Z Up-Axis, after the rotation the Up axis will be Y. (Note: you need vGLFile3DS_EnableAnimation = true)

vGLFile3DS_LoadedStaticFrame: Integer = -1;

If >= 0, then the vertices list will be updated with selected frame animation data. (Note: you need vGLFile3DS_EnableAnimation = true). Be aware that in that case animation will not be usable, it is made to be used with a static mesh like GLFreeForm.


GLSysHelp v.2.1: GLS.File3DS: Class EGLFile3DS

Class EGLFile3DS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type EGLFile3DS = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLFile3DS


GLSysHelp v.2.1: GLS.File3DS: Packed Record TGLFile3DSAnimationData

Packed Record TGLFile3DSAnimationData

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSAnimationData = packed record

Description

A record that holds all the information that is used during 3ds animation.

Overview

Fields

Public | ModelMatrix: TGLMatrix;
Public | Color: TGLVector;
Public | TargetPos: TAffineVector;
Public | SpotLightCutOff: Single;
Public | HotSpot: Single;
Public | Roll: Single;

Description

Fields

Public ModelMatrix: TGLMatrix;
Public Color: TGLVector;
Public TargetPos: TAffineVector;

Omni Light.

Public SpotLightCutOff: Single;

Spot Light.

Public HotSpot: Single;
Public Roll: Single;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSAnimationKeys

Class TGLFile3DSAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSAnimationKeys = class(TPersistentObject)

Description

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys

Overview

Fields

Private | FNumKeys: Integer;
Private | FKeys: array of TKeyHeader3DS;

Methods

Protected | function InterpolateValue(const AValues: array of TAffineVector; const AFrame: real): TAffineVector; overload;
Protected | function InterpolateValue(const AValues: array of TKFRotKey3DS; const AFrame: real): TGLMatrix; overload;
Protected | function InterpolateValue(const AValues: array of Single; const AFrame: real): Single; overload;
Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); virtual; abstract;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); virtual;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;
Private | procedure InterpolateFrame(var I: Integer; var w: real; const AFrame: real);

Description

Fields

Private FNumKeys: Integer;
Private FKeys: array of TKeyHeader3DS;

Methods

Protected function InterpolateValue(const AValues: array of TAffineVector; const AFrame: real): TAffineVector; overload;
Protected function InterpolateValue(const AValues: array of TKFRotKey3DS; const AFrame: real): TGLMatrix; overload;
Protected function InterpolateValue(const AValues: array of Single; const AFrame: real): Single; overload;
Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); virtual; abstract;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); virtual;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;
Private procedure InterpolateFrame(var I: Integer; var w: real; const AFrame: real);


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSScaleAnimationKeys

Class TGLFile3DSScaleAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSScaleAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSScaleAnimationKeys

Overview

Fields

Private FScale: array of TAffineVector;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FScale: array of TAffineVector;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSRotationAnimationKeys

Class TGLFile3DSRotationAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSRotationAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSRotationAnimationKeys

Overview

Fields

Private FRot: array of TKFRotKey3DS;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FRot: array of TKFRotKey3DS;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSPositionAnimationKeys

Class TGLFile3DSPositionAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSPositionAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSPositionAnimationKeys

Overview

Fields

Private FPos: array of TAffineVector;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FPos: array of TAffineVector;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSColorAnimationKeys

Class TGLFile3DSColorAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSColorAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSColorAnimationKeys

Overview

Fields

Private FCol: array of TAffineVector;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FCol: array of TAffineVector;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TTGLFile3DSPositionAnimationKeys

Class TTGLFile3DSPositionAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TTGLFile3DSPositionAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TTGLFile3DSPositionAnimationKeys

Overview

Fields

Private FTPos: array of TAffineVector;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FTPos: array of TAffineVector;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSSpotLightCutOffAnimationKeys

Class TGLFile3DSSpotLightCutOffAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSSpotLightCutOffAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSSpotLightCutOffAnimationKeys

Overview

Fields

Private FFall: array of Single;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FFall: array of Single;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSLightHotSpotAnimationKeys

Class TGLFile3DSLightHotSpotAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSLightHotSpotAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSLightHotSpotAnimationKeys

Overview

Fields

Private FHot: array of Single;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FHot: array of Single;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSRollAnimationKeys

Class TGLFile3DSRollAnimationKeys

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSRollAnimationKeys = class(TGLFile3DSAnimationKeys)

Description

No description available, ancestor TGLFile3DSAnimationKeys description follows

An abstract class that describes how to interpolate animation keys.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeys
  • TGLFile3DSRollAnimationKeys

Overview

Fields

Private FRoll: array of Single;

Methods

Public | procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FRoll: array of Single;

Methods

Public procedure Apply(var DataTransf: TGLFile3DSAnimationData; const AFrame: real); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadData(const ANumKeys: Integer; const Keys: PKeyHeaderList; const AData: Pointer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSAnimationKeyList

Class TGLFile3DSAnimationKeyList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSAnimationKeyList = class(TPersistentObject)

Description

No description available, ancestor TPersistentObject description follows

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFile3DSAnimationKeyList

Overview

Fields

Private FAnimKeysList: array of TGLFile3DSAnimationKeys;

Methods

Public | destructor Destroy; override;
Public | procedure AddKeys(const AItem: TGLFile3DSAnimationKeys);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ClearKeys;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;
Protected | procedure ApplyAnimKeys(var DataTransf: TGLFile3DSAnimationData; const AFrame: real);

Description

Fields

Private FAnimKeysList: array of TGLFile3DSAnimationKeys;

Methods

Public destructor Destroy; override;
Public procedure AddKeys(const AItem: TGLFile3DSAnimationKeys);
Public procedure Assign(Source: TPersistent); override;
Public procedure ClearKeys;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;
Protected procedure ApplyAnimKeys(var DataTransf: TGLFile3DSAnimationData; const AFrame: real);


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSDummyObject

Class TGLFile3DSDummyObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSDummyObject = class(TGLMorphableMeshObject)

Description

A 3ds-specific TGLMorphableMeshObject.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLFile3DSDummyObject

Overview

Fields

Private | FAnimList: TGLFile3DSAnimationKeyList;
Private | FAnimData: Pointer;
Private | FRefTranf: TGLFile3DSAnimationData;
Private | FAnimTransf: TGLFile3DSAnimationData;
Private | FParent: TGLFile3DSDummyObject;
Private | FParentName: String64;
Private | FStatic: Boolean;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function ExtractTriangles(texCoords: TAffineVectorList = nil; normals: TAffineVectorList = nil): TAffineVectorList; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure GetExtents(out min, max: TAffineVector); override;
Public | procedure Lerp(morphTargetIndex1, morphTargetIndex2: Integer; lerpFactor: Single); override;
Public | procedure LoadAnimation(const AData: Pointer); virtual;
Public | procedure MorphTo(morphTargetIndex: Integer); override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure SetFrame(const AFrame: real); virtual;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Properties

Public | property AnimList: TGLFile3DSAnimationKeyList read FAnimList;
Public | property Parent: TGLFile3DSDummyObject read FParent write FParent;
Public | property RefrenceTransf: TGLFile3DSAnimationData read FRefTranf write FRefTranf;

Description

Fields

Private FAnimList: TGLFile3DSAnimationKeyList;
Private FAnimData: Pointer;
Private FRefTranf: TGLFile3DSAnimationData;
Private FAnimTransf: TGLFile3DSAnimationData;
Private FParent: TGLFile3DSDummyObject;
Private FParentName: String64;
Private FStatic: Boolean;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function ExtractTriangles(texCoords: TAffineVectorList = nil; normals: TAffineVectorList = nil): TAffineVectorList; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure GetExtents(out min, max: TAffineVector); override;
Public procedure Lerp(morphTargetIndex1, morphTargetIndex2: Integer; lerpFactor: Single); override;
Public procedure LoadAnimation(const AData: Pointer); virtual;

Static tag used in BuildList to not apply animation matrix

Public procedure MorphTo(morphTargetIndex: Integer); override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure SetFrame(const AFrame: real); virtual;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;

Properties

Public property AnimList: TGLFile3DSAnimationKeyList read FAnimList;
Public property Parent: TGLFile3DSDummyObject read FParent write FParent;
Public property RefrenceTransf: TGLFile3DSAnimationData read FRefTranf write FRefTranf;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSMeshObject

Class TGLFile3DSMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSMeshObject = class(TGLFile3DSDummyObject)

Description

A 3ds-specific mesh object.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLFile3DSDummyObject
  • TGLFile3DSMeshObject

Overview

Methods

Public | procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public | procedure LoadAnimation(const AData: Pointer); override;

Description

Methods

Public procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public procedure LoadAnimation(const AData: Pointer); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSOmniLightObject

Class TGLFile3DSOmniLightObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSOmniLightObject = class(TGLFile3DSDummyObject)

Description

A 3ds-specific omni light.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLFile3DSDummyObject
  • TGLFile3DSOmniLightObject

Overview

Fields

Private | FLightSrc: TGLFile3DSLight;
Private | FLightSrcName: String64;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadAnimation(const AData: Pointer); override;
Public | procedure LoadData(const AOwner: TGLBaseMesh; const AData: PLight3DS); virtual;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure SetFrame(const AFrame: real); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FLightSrc: TGLFile3DSLight;
Private FLightSrcName: String64;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadAnimation(const AData: Pointer); override;
Public procedure LoadData(const AOwner: TGLBaseMesh; const AData: PLight3DS); virtual;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure SetFrame(const AFrame: real); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSSpotLightObject

Class TGLFile3DSSpotLightObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSSpotLightObject = class(TGLFile3DSOmniLightObject)

Description

A 3ds-specific spot light.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLFile3DSDummyObject
  • TGLFile3DSOmniLightObject
  • TGLFile3DSSpotLightObject

Overview

Methods

Public | procedure LoadAnimation(const AData: Pointer); override;
Public | procedure LoadData(const AOwner: TGLBaseMesh; const AData: PLight3DS); override;
Public | procedure SetFrame(const AFrame: real); override;

Description

Methods

Public procedure LoadAnimation(const AData: Pointer); override;
Public procedure LoadData(const AOwner: TGLBaseMesh; const AData: PLight3DS); override;
Public procedure SetFrame(const AFrame: real); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGLFile3DSCameraObject

Class TGLFile3DSCameraObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGLFile3DSCameraObject = class(TGLFile3DSDummyObject)

Description

A 3ds-specific camera.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLFile3DSDummyObject
  • TGLFile3DSCameraObject

Overview

Fields

Private | FTargetObj: TGLDummyCube;
Private | FCameraSrc: TGLFile3DSCamera;
Private | FCameraSrcName: String64;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure LoadAnimation(const AData: Pointer); override;
Public | procedure LoadData(Owner: TGLBaseMesh; AData: PCamera3DS);
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure SetFrame(const AFrame: real); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Description

Fields

Private FTargetObj: TGLDummyCube;
Private FCameraSrc: TGLFile3DSCamera;
Private FCameraSrcName: String64;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure LoadAnimation(const AData: Pointer); override;
Public procedure LoadData(Owner: TGLBaseMesh; AData: PCamera3DS);
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure SetFrame(const AFrame: real); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;


GLSysHelp v.2.1: GLS.File3DS: Class TGL3DSVectorFile

Class TGL3DSVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DS

Declaration

type TGL3DSVectorFile = class(TGLVectorFile)

Description

The 3DStudio vector file. Uses an upgraded version if a 3DS import library by Mike Lischke. (http://www.lishcke-online.de). A 3DS file may contain material information and require textures when loading.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGL3DSVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.File3DSSceneObjects

Unit GLS.File3DSSceneObjects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Scene
  • GLS.VectorFileObjects
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFile3DSLight |
Class TGLFile3DSCamera |
Class TGLFile3DSActor |
Class TGLFile3DSFreeForm |

Variables

vGLFile3DSSceneObjects_RenderCameraAndLights: Boolean = False;

Description

Variables

vGLFile3DSSceneObjects_RenderCameraAndLights: Boolean = False;


GLSysHelp v.2.1: GLS.File3DSSceneObjects: Class TGLFile3DSLight

Class TGLFile3DSLight

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DSSceneObjects

Declaration

type TGLFile3DSLight = class(TGLLightSource)

Description

No description available, ancestor TGLLightSource description follows

Standard light source. The standard GLScene light source covers spotlights, omnidirectionnal and parallel sources (see TLightStyle). Lights are colored, have distance attenuation parameters and are turned on/off through their Shining property. Lightsources are managed in a specific object by the TGLScene for rendering purposes. The maximum number of light source in a scene is limited by the OpenGL implementation (8 lights are supported under most ICDs), though the more light you use, the slower rendering may get. If you want to render many more light/lightsource, you may have to resort to other techniques like lightmapping.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLLightSource
  • TGLFile3DSLight

Overview

Fields

Private | FTargetPos: TGLCoordinates;
Private | FHotSpot: Single;
Private | FMultipler: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Properties

Published | property HotSpot: Single read FHotSpot write FHotSpot;
Published | property Multipler: Single read FMultipler write FMultipler;
Published | property SpotTargetPos: TGLCoordinates read FTargetPos;

Description

Fields

Private FTargetPos: TGLCoordinates;
Private FHotSpot: Single;
Private FMultipler: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Properties

Published property HotSpot: Single read FHotSpot write FHotSpot;
Published property Multipler: Single read FMultipler write FMultipler;
Published property SpotTargetPos: TGLCoordinates read FTargetPos;


GLSysHelp v.2.1: GLS.File3DSSceneObjects: Class TGLFile3DSCamera

Class TGLFile3DSCamera

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DSSceneObjects

Declaration

type TGLFile3DSCamera = class(TGLCamera)

Description

No description available, ancestor TGLCamera description follows

Camera object. This object is commonly referred by TGLSceneViewer and defines a position, direction, focal length, depth of view... all the properties needed for defining a point of view and optical characteristics.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCamera
  • TGLFile3DSCamera

Overview

Fields

Private | FTargetPos: TGLCoordinates;
Private | FQuadCyl: array[0..1] of PGLUquadric;
Private | FQuadDisk: array[0..1] of PGLUquadric;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Properties

Published | property CameraTargetPos: TGLCoordinates read FTargetPos;
Published | property RollAngle;

Description

Fields

Private FTargetPos: TGLCoordinates;
Private FQuadCyl: array[0..1] of PGLUquadric;
Private FQuadDisk: array[0..1] of PGLUquadric;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Properties

Published property CameraTargetPos: TGLCoordinates read FTargetPos;
Published property RollAngle;


GLSysHelp v.2.1: GLS.File3DSSceneObjects: Class TGLFile3DSActor

Class TGLFile3DSActor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DSSceneObjects

Declaration

type TGLFile3DSActor = class(TGLActor)

Description

No description available, ancestor TGLActor description follows

Mesh class specialized in animated meshes. The TGLActor provides a quick interface to animated meshes based on morph or skeleton frames, it is capable of performing frame interpolation and animation blending (via TGLAnimationControler components).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLActor
  • TGLFile3DSActor

Overview

Methods

Protected | procedure DefineProperties(Filer: TFiler); override;
Private | procedure ReadMesh(Stream: TStream);
Private | procedure WriteMesh(Stream: TStream);

Description

Methods

Protected procedure DefineProperties(Filer: TFiler); override;
Private procedure ReadMesh(Stream: TStream);
Private procedure WriteMesh(Stream: TStream);


GLSysHelp v.2.1: GLS.File3DSSceneObjects: Class TGLFile3DSFreeForm

Class TGLFile3DSFreeForm

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.File3DSSceneObjects

Declaration

type TGLFile3DSFreeForm = class(TGLFreeForm)

Description

No description available, ancestor TGLFreeForm description follows

Container objects for a vector file mesh. FreeForms allows loading and rendering vector files (like 3DStudio ".3DS" file) in GLScene. Meshes can be loaded with the LoadFromFile method. A FreeForm may contain more than one mesh, but they will all be handled as a single object in a scene.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLFreeForm
  • TGLFile3DSFreeForm

Overview

Fields

Private | FTransfMat: TGLMatrix;
Private | FScaleMat: TGLMatrix;
Private | ParentMatrix: TGLMatrix;
Private | FS_Rot3DS: TGLCoordinates4;
Private | FRot3DS: TGLCoordinates4;
Private | FScale3DS: TGLCoordinates4;
Public | FRefMat: TGLMatrix;

Methods

Public | constructor Create(AOWner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function BarycenterAbsolutePosition: TGLVector; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Protected | procedure DefineProperties(Filer: TFiler); override;
Private | procedure ReadMesh(Stream: TStream);
Private | procedure WriteMesh(Stream: TStream);

Properties

Published | property Rot3DS: TGLCoordinates4 read FRot3DS;
Published | property Scale3DS: TGLCoordinates4 read FScale3DS;
Published | property S_Rot3DS: TGLCoordinates4 read FS_Rot3DS;

Description

Fields

Private FTransfMat: TGLMatrix;
Private FScaleMat: TGLMatrix;
Private ParentMatrix: TGLMatrix;
Private FS_Rot3DS: TGLCoordinates4;
Private FRot3DS: TGLCoordinates4;
Private FScale3DS: TGLCoordinates4;
Public FRefMat: TGLMatrix;

Methods

Public constructor Create(AOWner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function BarycenterAbsolutePosition: TGLVector; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Protected procedure DefineProperties(Filer: TFiler); override;
Private procedure ReadMesh(Stream: TStream);
Private procedure WriteMesh(Stream: TStream);

Properties

Published property Rot3DS: TGLCoordinates4 read FRot3DS;
Published property Scale3DS: TGLCoordinates4 read FScale3DS;
Published property S_Rot3DS: TGLCoordinates4 read FS_Rot3DS;


GLSysHelp v.2.1: GLS.FileASE

Unit GLS.FileASE

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.Texture
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLASEFaceTexure |
Record TGLASEFaceTexureChannels |
Record TGLASESmoothingGroups |
Class TGLASEFace |
Class TGLASEFaceList |
Class TGLASEMeshObject |
Record TGLASEMaterialTextureMap |
Record TGLASEMaterialTextureMaps |
Record TGLASESubMaterial |
Record TGLASESubMaterialList |
Class TGLASEMaterial |
Class TGLASEMaterialList |
Class TGLASEVectorFile |

Functions and Procedures

procedure ASESetPreferredTexture(aMap: TASETextureMap; aSubMaterialIndex: Integer = -1);
procedure ASESetPreferredLightmap(aMap: TASETextureMap; aSubMaterialIndex: Integer = -1);

Types

TASETextureMap = (...);

Constants

GL_ASE_MAX_TEXURE_CHANNELS = 12;
GL_ASE_MAX_SUBMATERIALS = 5;
GL_ASE_MAX_SMOOTH_GROUPS = 5;
GL_ASE_MAX_TEXTURE_MAPS = 12;

Description

Functions and Procedures

procedure ASESetPreferredTexture(aMap: TASETextureMap; aSubMaterialIndex: Integer = -1);

use this functions to select texture and lightmap from ASE file aSubMaterialIndex = -1 - means main material maps Default are: Texture - main material Diffuse map Lightmap - main material Ambient map

procedure ASESetPreferredLightmap(aMap: TASETextureMap; aSubMaterialIndex: Integer = -1);

Types

TASETextureMap = (...);
Values
  • tmGeneric
  • tmAmbient
  • tmDiffuse
  • tmSpecular
  • tmShine
  • tmShinestrength
  • tmSelfillum
  • tmOpacity
  • tmFiltercolor
  • tmBump
  • tmReflect
  • tmRefract

Constants

GL_ASE_MAX_TEXURE_CHANNELS = 12;
GL_ASE_MAX_SUBMATERIALS = 5;

maximum texture channels

GL_ASE_MAX_SMOOTH_GROUPS = 5;

maximum material submaterials

GL_ASE_MAX_TEXTURE_MAPS = 12;

maximum smoothing groups


GLSysHelp v.2.1: GLS.FileASE: Record TGLASEFaceTexure

Record TGLASEFaceTexure

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEFaceTexure = record

Description

maximum texture maps face texture channel indices

Overview

Fields

Public | Idx0: Integer;
Public | Idx1: Integer;
Public | Idx2: Integer;

Description

Fields

Public Idx0: Integer;
Public Idx1: Integer;
Public Idx2: Integer;


GLSysHelp v.2.1: GLS.FileASE: Record TGLASEFaceTexureChannels

Record TGLASEFaceTexureChannels

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEFaceTexureChannels = record

Description

face texture channels

Overview

Fields

Public | Count: Integer;
Public | ChanelTexture: array [0..GL_ASE_MAX_TEXURE_CHANNELS - 1] of TGLASEFaceTexure;

Description

Fields

Public Count: Integer;
Public ChanelTexture: array [0..GL_ASE_MAX_TEXURE_CHANNELS - 1] of TGLASEFaceTexure;


GLSysHelp v.2.1: GLS.FileASE: Record TGLASESmoothingGroups

Record TGLASESmoothingGroups

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASESmoothingGroups = record

Description

Overview

Fields

Public | Count: Integer;
Public | Groups: array [0..GL_ASE_MAX_SMOOTH_GROUPS] of Integer;

Description

Fields

Public Count: Integer;
Public Groups: array [0..GL_ASE_MAX_SMOOTH_GROUPS] of Integer;


GLSysHelp v.2.1: GLS.FileASE: Class TGLASEFace

Class TGLASEFace

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEFace = class(TObject)

Description

ASE mesh face

Hierarchy

  • TObject
  • TGLASEFace

Overview

Fields

Private | FV: array [0..2] of Integer;
Private | FNormal: TAffineVector;
Private | FN: array [0..2] of TAffineVector;
Private | FSmoothing: TGLASESmoothingGroups;
Private | FSubMaterialID: Integer;
Private | FTextChannels: TGLASEFaceTexureChannels;

Methods

Public constructor Create;

Properties

Public | property Normal: TAffineVector read FNormal;
Public | property Normal1: TAffineVector read FN[0];
Public | property Normal2: TAffineVector read FN[1];
Public | property Normal3: TAffineVector read FN[2];
Public | property Smoothing: TGLASESmoothingGroups read FSmoothing;
Public | property SubMaterialID: Integer read FSubMaterialID;
Public | property TextChannels: TGLASEFaceTexureChannels read FTextChannels;
Public | property VertIdx1: Integer read FV[0];
Public | property VertIdx2: Integer read FV[1];
Public | property VertIdx3: Integer read FV[2];

Description

Fields

Private FV: array [0..2] of Integer;
Private FNormal: TAffineVector;
Private FN: array [0..2] of TAffineVector;
Private FSmoothing: TGLASESmoothingGroups;
Private FSubMaterialID: Integer;
Private FTextChannels: TGLASEFaceTexureChannels;

submaterial ID

Methods

Public constructor Create;

Properties

Public property Normal: TAffineVector read FNormal;

vertex 2 index

Public property Normal1: TAffineVector read FN[0];

face normal

Public property Normal2: TAffineVector read FN[1];

vertex 0 normal

Public property Normal3: TAffineVector read FN[2];

vertex 1 normal

Public property Smoothing: TGLASESmoothingGroups read FSmoothing;

channels texture coordinates

Public property SubMaterialID: Integer read FSubMaterialID;

smoothing group list

Public property TextChannels: TGLASEFaceTexureChannels read FTextChannels;

vertex 2 normal

Public property VertIdx1: Integer read FV[0];
Public property VertIdx2: Integer read FV[1];

vertex 0 index

Public property VertIdx3: Integer read FV[2];

vertex 1 index


GLSysHelp v.2.1: GLS.FileASE: Class TGLASEFaceList

Class TGLASEFaceList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEFaceList = class(TObject)

Description

ASE mesh faces list

Hierarchy

  • TObject
  • TGLASEFaceList

Overview

Fields

Private FItems: TList;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function Add: TGLASEFace;
Private | function GetCount: Integer;
Private | function GetFace(Index: Integer): TGLASEFace;
Public | procedure Clear;
Public | procedure Delete(aIndex: Integer);

Properties

Public | property Count: Integer read GetCount;
Public | property Face[Index:Integer]: TGLASEFace read GetFace;

Description

Fields

Private FItems: TList;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function Add: TGLASEFace;
Private function GetCount: Integer;
Private function GetFace(Index: Integer): TGLASEFace;
Public procedure Clear;
Public procedure Delete(aIndex: Integer);

Properties

Public property Count: Integer read GetCount;
Public property Face[Index:Integer]: TGLASEFace read GetFace;


GLSysHelp v.2.1: GLS.FileASE: Class TGLASEMeshObject

Class TGLASEMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEMeshObject = class(TObject)

Description

ASE geom object, represents single mesh object; contains: vertices, faces, verice indices, faces and vertices normals, channels of texture coordinates and indices, scaling and location info; this object used only to store ASE data temporary to copy supported piece of it into GLScene TGLMeshObject

Hierarchy

  • TObject
  • TGLASEMeshObject

Overview

Fields

Private | FFaces: TGLASEFaceList;
Private | FVertices: TAffineVectorList;
Private | FMatrix: TGLMatrix;
Private | FInheritedPosition: TAffineVector;
Private | FInheritedScale: TAffineVector;
Private | FInheritedRotation: TAffineVector;
Private | FRotationAngle: Single;
Private | FRotationAxis: TAffineVector;
Private | FPosition: TGLVector;
Private | FScale: TAffineVector;
Private | FScaleAxisAngle: Single;
Private | FScaleAxis: TAffineVector;
Private | FTexChannels: array [0..GL_ASE_MAX_TEXURE_CHANNELS - 1] of TAffineVectorList;
Private | FTexChannelsCount: Integer;
Private | FHasNormals: Boolean;
Private | FMaterialID: Integer;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Private | function AddTexChannel: TAffineVectorList;
Private | function GetTextChannel(Channel: Integer): TAffineVectorList;

Properties

Public | property Faces: TGLASEFaceList read FFaces;
Public | property HasNormals: Boolean read FHasNormals;
Public | property InheritedPosition: TAffineVector read FInheritedPosition;
Public | property InheritedRotation: TAffineVector read FInheritedRotation;
Public | property InheritedScale: TAffineVector read FInheritedScale;
Public | property MaterialID: Integer read FMaterialID;
Public | property Matrix: TGLMatrix read FMatrix;
Public | property Position: TGLVector read FPosition;
Public | property RotationAngle: Single read FRotationAngle;
Public | property RotationAxis: TAffineVector read FRotationAxis;
Public | property Scale: TAffineVector read FScale;
Public | property ScaleAxis: TAffineVector read FScaleAxis;
Public | property ScaleAxisAngle: Single read FScaleAxisAngle;
Public | property TextChannel[Channel:Integer]: TAffineVectorList read GetTextChannel;
Public | property TextChannelsCount: Integer read FTexChannelsCount;
Public | property Vertices: TAffineVectorList read FVertices;

Description

Fields

Private FFaces: TGLASEFaceList;
Private FVertices: TAffineVectorList;
Private FMatrix: TGLMatrix;
Private FInheritedPosition: TAffineVector;
Private FInheritedScale: TAffineVector;
Private FInheritedRotation: TAffineVector;
Private FRotationAngle: Single;
Private FRotationAxis: TAffineVector;
Private FPosition: TGLVector;
Private FScale: TAffineVector;
Private FScaleAxisAngle: Single;
Private FScaleAxis: TAffineVector;
Private FTexChannels: array [0..GL_ASE_MAX_TEXURE_CHANNELS - 1] of TAffineVectorList;
Private FTexChannelsCount: Integer;
Private FHasNormals: Boolean;
Private FMaterialID: Integer;

Methods

Public constructor Create;
Public destructor Destroy; override;
Private function AddTexChannel: TAffineVectorList;
Private function GetTextChannel(Channel: Integer): TAffineVectorList;

Properties

Public property Faces: TGLASEFaceList read FFaces;
Public property HasNormals: Boolean read FHasNormals;
Public property InheritedPosition: TAffineVector read FInheritedPosition;
Public property InheritedRotation: TAffineVector read FInheritedRotation;
Public property InheritedScale: TAffineVector read FInheritedScale;
Public property MaterialID: Integer read FMaterialID;
Public property Matrix: TGLMatrix read FMatrix;
Public property Position: TGLVector read FPosition;
Public property RotationAngle: Single read FRotationAngle;
Public property RotationAxis: TAffineVector read FRotationAxis;
Public property Scale: TAffineVector read FScale;
Public property ScaleAxis: TAffineVector read FScaleAxis;
Public property ScaleAxisAngle: Single read FScaleAxisAngle;
Public property TextChannel[Channel:Integer]: TAffineVectorList read GetTextChannel;
Public property TextChannelsCount: Integer read FTexChannelsCount;
Public property Vertices: TAffineVectorList read FVertices;


GLSysHelp v.2.1: GLS.FileASE: Record TGLASEMaterialTextureMap

Record TGLASEMaterialTextureMap

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEMaterialTextureMap = record

Description

Overview

Fields

Public | Kind: string;
Public | Name: string;
Public | _Class: string;
Public | No: Integer;
Public | Amount: Single;
Public | Bitmap: string;
Public | UOffset: Single;
Public | VOffset: Single;
Public | UTiling: Single;
Public | VTiling: Single;
Public | Angle: Single;
Public | Blur: Single;
Public | BlurOffset: Single;
Public | NouseAmount: Single;
Public | NoiseSize: Single;
Public | NoiseLevel: Integer;
Public | NoisePhase: Single;

Description

Fields

Public Kind: string;
Public Name: string;
Public _Class: string;
Public No: Integer;
Public Amount: Single;
Public Bitmap: string;
Public UOffset: Single;
Public VOffset: Single;
Public UTiling: Single;
Public VTiling: Single;
Public Angle: Single;
Public Blur: Single;
Public BlurOffset: Single;
Public NouseAmount: Single;
Public NoiseSize: Single;
Public NoiseLevel: Integer;
Public NoisePhase: Single;


GLSysHelp v.2.1: GLS.FileASE: Record TGLASEMaterialTextureMaps

Record TGLASEMaterialTextureMaps

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEMaterialTextureMaps = record

Description

Overview

Fields

Public | Map: array [0..GL_ASE_MAX_TEXTURE_MAPS - 1] of TGLASEMaterialTextureMap;
Public | Count: Integer;

Description

Fields

Public Map: array [0..GL_ASE_MAX_TEXTURE_MAPS - 1] of TGLASEMaterialTextureMap;
Public Count: Integer;


GLSysHelp v.2.1: GLS.FileASE: Record TGLASESubMaterial

Record TGLASESubMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASESubMaterial = record

Description

Overview

Fields

Public | Name: string;
Public | Ambient: TAffineVector;
Public | Diffuse: TAffineVector;
Public | Specular: TAffineVector;
Public | Shiness: Single;
Public | ShineStrength: Single;
Public | Transparency: Single;
Public | WireSize: Single;
Public | SelfIllumination: Single;
Public | TextureMaps: TGLASEMaterialTextureMaps;

Description

Fields

Public Name: string;
Public Ambient: TAffineVector;
Public Diffuse: TAffineVector;
Public Specular: TAffineVector;
Public Shiness: Single;
Public ShineStrength: Single;
Public Transparency: Single;
Public WireSize: Single;
Public SelfIllumination: Single;
Public TextureMaps: TGLASEMaterialTextureMaps;


GLSysHelp v.2.1: GLS.FileASE: Record TGLASESubMaterialList

Record TGLASESubMaterialList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASESubMaterialList = record

Description

Overview

Fields

Public | SubMaterial: array [0..GL_ASE_MAX_SUBMATERIALS - 1] of TGLASESubMaterial;
Public | Count: Integer;

Description

Fields

Public SubMaterial: array [0..GL_ASE_MAX_SUBMATERIALS - 1] of TGLASESubMaterial;
Public Count: Integer;


GLSysHelp v.2.1: GLS.FileASE: Class TGLASEMaterial

Class TGLASEMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEMaterial = class(TObject)

Description

Hierarchy

  • TObject
  • TGLASEMaterial

Overview

Fields

Private | FWireSize: Single;
Private | FShineStrength: Single;
Private | FShiness: Single;
Private | FTransparency: Single;
Private | FName: string;
Private | FDiffuse: TAffineVector;
Private | FAmbient: TAffineVector;
Private | FSpecular: TAffineVector;
Private | FSubMaterials: TGLASESubMaterialList;
Private | FTextureMaps: TGLASEMaterialTextureMaps;

Methods

Public constructor Create;

Properties

Public | property Ambient: TAffineVector read FAmbient;
Public | property Diffuse: TAffineVector read FDiffuse;
Public | property Name: string read FName;
Public | property Shiness: Single read FShiness;
Public | property ShineStrength: Single read FShineStrength;
Public | property Specular: TAffineVector read FSpecular;
Public | property SubMaterials: TGLASESubMaterialList read FSubMaterials;
Public | property TextureMaps: TGLASEMaterialTextureMaps read FTextureMaps;
Public | property Transparency: Single read FTransparency;
Public | property WireSize: Single read FWireSize;

Description

Fields

Private FWireSize: Single;
Private FShineStrength: Single;
Private FShiness: Single;
Private FTransparency: Single;
Private FName: string;
Private FDiffuse: TAffineVector;
Private FAmbient: TAffineVector;
Private FSpecular: TAffineVector;
Private FSubMaterials: TGLASESubMaterialList;
Private FTextureMaps: TGLASEMaterialTextureMaps;

Methods

Public constructor Create;

Properties

Public property Ambient: TAffineVector read FAmbient;
Public property Diffuse: TAffineVector read FDiffuse;
Public property Name: string read FName;
Public property Shiness: Single read FShiness;
Public property ShineStrength: Single read FShineStrength;
Public property Specular: TAffineVector read FSpecular;
Public property SubMaterials: TGLASESubMaterialList read FSubMaterials;
Public property TextureMaps: TGLASEMaterialTextureMaps read FTextureMaps;
Public property Transparency: Single read FTransparency;
Public property WireSize: Single read FWireSize;


GLSysHelp v.2.1: GLS.FileASE: Class TGLASEMaterialList

Class TGLASEMaterialList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEMaterialList = class(TObject)

Description

Hierarchy

  • TObject
  • TGLASEMaterialList

Overview

Fields

Private FItems: TList;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function Add: TGLASEMaterial;
Private | function GetCount: Integer;
Private | function GetMaterial(Index: Integer): TGLASEMaterial;
Public | procedure Clear;
Public | procedure Delete(aIndex: Integer);

Properties

Public | property Count: Integer read GetCount;
Public | property Material[Index:Integer]: TGLASEMaterial read GetMaterial;

Description

Fields

Private FItems: TList;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function Add: TGLASEMaterial;
Private function GetCount: Integer;
Private function GetMaterial(Index: Integer): TGLASEMaterial;
Public procedure Clear;
Public procedure Delete(aIndex: Integer);

Properties

Public property Count: Integer read GetCount;
Public property Material[Index:Integer]: TGLASEMaterial read GetMaterial;


GLSysHelp v.2.1: GLS.FileASE: Class TGLASEVectorFile

Class TGLASEVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileASE

Declaration

type TGLASEVectorFile = class(TGLVectorFile)

Description

ASE vector file parser

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLASEVectorFile

Overview

Fields

Private | FStringData: TStringList;
Private | FHeader: string;
Private | FComment: string;
Private | FRECVShadow: Boolean;
Private | FCastShadow: Boolean;
Private | FMotionBlur: Boolean;
Private | FMaterialList: TGLASEMaterialList;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function Capabilities: TGLDataFileCapabilities; override;
Private | function CheckTextureMap(var aLineIndex: Integer; var aMaps: TGLASEMaterialTextureMaps): Boolean;
Private | function CheckUnknownData(var aLineIndex: Integer): Boolean;
Private | function ContainString(const aData, aString: string): Boolean;
Private | function GetDoubleValue(const aData: string): Double;
Private | function GetEndOfFirstValue(const aData: string): Integer;
Private | function GetFirstValue(aData: string): string;
Private | function GetPropCastShadow(const aData: string): Boolean;
Private | function GetPropMBlur(const aData: string): Boolean;
Private | function GetPropRECVShadow(const aData: string): Boolean;
Private | function GetStringValue(const aData: string): string;
Private | function GetTagOnData(const aData: string): Integer;
Private | function GetValue3D(const aData: string): TAffineVector;
Private | function GetValue4D(const aData: string; var Value0: Integer): TAffineVector;
Private | function IsEndOfSection(const aData: string): Boolean;
Private | function IsSectionBegingin(const aData: string): Boolean;
Public | procedure LoadFromStream(aStream: TStream); override;
Private | procedure Parse;
Private | procedure ParseFaceString(const aData: string; var Index, A, B, C, AB, BC, CA, MatID: Integer; var Smooth: TGLASESmoothingGroups);
Private | procedure ParseGeomObject(var aLineIndex: Integer);
Private | procedure ParseMappingChannel(var aLineIndex: Integer; aMesh: TGLASEMeshObject);
Private | procedure ParseMaterial(var aLineIndex: Integer; aMaterial: TGLASEMaterial);
Private | procedure ParseMaterialList(var aLineIndex: Integer);
Private | procedure ParseMeshFaces(var aLineIndex: Integer; aMesh: TGLASEMeshObject; FacesCount: Integer);
Private | procedure ParseMeshGeom(var aLineIndex: Integer; aMesh: TGLASEMeshObject);
Private | procedure ParseMeshNormals(var aLineIndex: Integer; aMesh: TGLASEMeshObject; FacesCount: Integer);
Private | procedure ParseMeshOptions(var aLineIndex: Integer; aMesh: TGLASEMeshObject);
Private | procedure ParseMeshTextureFaces(var aLineIndex: Integer; aMesh: TGLASEMeshObject; TextureFacesCount: Integer);
Private | procedure ParseMeshTextureVertices(var aLineIndex: Integer; aMesh: TGLASEMeshObject; TextureVerticesCount: Integer);
Private | procedure ParseMeshVertices(var aLineIndex: Integer; aMesh: TGLASEMeshObject; VerticesCount: Integer);
Private | procedure ParseScene(var aLineIndex: Integer);
Private | procedure ParseSubMaterial(var aLineIndex: Integer; aMaterial: TGLASEMaterial);
Private | procedure ParseTextureMap(var aLineIndex: Integer; var aMaps: TGLASEMaterialTextureMaps; const aMapKind: string);
Private | procedure SkipSection(var aLineIndex: Integer);

Properties

Public | property CastShadow: Boolean read FCastShadow;
Public | property Comment: string read FComment;
Public | property Header: string read FHeader;
Public | property MotionBlur: Boolean read FMotionBlur;
Public | property RECVShadow: Boolean read FRECVShadow;

Description

Fields

Private FStringData: TStringList;
Private FHeader: string;
Private FComment: string;
Private FRECVShadow: Boolean;
Private FCastShadow: Boolean;
Private FMotionBlur: Boolean;
Private FMaterialList: TGLASEMaterialList;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function Capabilities: TGLDataFileCapabilities; override;
Private function CheckTextureMap(var aLineIndex: Integer; var aMaps: TGLASEMaterialTextureMaps): Boolean;
Private function CheckUnknownData(var aLineIndex: Integer): Boolean;
Private function ContainString(const aData, aString: string): Boolean;
Private function GetDoubleValue(const aData: string): Double;
Private function GetEndOfFirstValue(const aData: string): Integer;
Private function GetFirstValue(aData: string): string;
Private function GetPropCastShadow(const aData: string): Boolean;
Private function GetPropMBlur(const aData: string): Boolean;
Private function GetPropRECVShadow(const aData: string): Boolean;
Private function GetStringValue(const aData: string): string;
Private function GetTagOnData(const aData: string): Integer;
Private function GetValue3D(const aData: string): TAffineVector;
Private function GetValue4D(const aData: string; var Value0: Integer): TAffineVector;
Private function IsEndOfSection(const aData: string): Boolean;
Private function IsSectionBegingin(const aData: string): Boolean;
Public procedure LoadFromStream(aStream: TStream); override;
Private procedure Parse;
Private procedure ParseFaceString(const aData: string; var Index, A, B, C, AB, BC, CA, MatID: Integer; var Smooth: TGLASESmoothingGroups);
Private procedure ParseGeomObject(var aLineIndex: Integer);
Private procedure ParseMappingChannel(var aLineIndex: Integer; aMesh: TGLASEMeshObject);
Private procedure ParseMaterial(var aLineIndex: Integer; aMaterial: TGLASEMaterial);
Private procedure ParseMaterialList(var aLineIndex: Integer);
Private procedure ParseMeshFaces(var aLineIndex: Integer; aMesh: TGLASEMeshObject; FacesCount: Integer);
Private procedure ParseMeshGeom(var aLineIndex: Integer; aMesh: TGLASEMeshObject);
Private procedure ParseMeshNormals(var aLineIndex: Integer; aMesh: TGLASEMeshObject; FacesCount: Integer);
Private procedure ParseMeshOptions(var aLineIndex: Integer; aMesh: TGLASEMeshObject);
Private procedure ParseMeshTextureFaces(var aLineIndex: Integer; aMesh: TGLASEMeshObject; TextureFacesCount: Integer);
Private procedure ParseMeshTextureVertices(var aLineIndex: Integer; aMesh: TGLASEMeshObject; TextureVerticesCount: Integer);
Private procedure ParseMeshVertices(var aLineIndex: Integer; aMesh: TGLASEMeshObject; VerticesCount: Integer);
Private procedure ParseScene(var aLineIndex: Integer);
Private procedure ParseSubMaterial(var aLineIndex: Integer; aMaterial: TGLASEMaterial);
Private procedure ParseTextureMap(var aLineIndex: Integer; var aMaps: TGLASEMaterialTextureMaps; const aMapKind: string);
Private procedure SkipSection(var aLineIndex: Integer);

Properties

Public property CastShadow: Boolean read FCastShadow;
Public property Comment: string read FComment;
Public property Header: string read FHeader;
Public property MotionBlur: Boolean read FMotionBlur;
Public property RECVShadow: Boolean read FRECVShadow;


GLSysHelp v.2.1: GLS.FileB3D

Unit GLS.FileB3D

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.Texture
  • GLS.TextureFormat
  • GLS.Material
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • Formats.B3D

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLB3DVectorFile |


GLSysHelp v.2.1: GLS.FileB3D: Class TGLB3DVectorFile

Class TGLB3DVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileB3D

Declaration

type TGLB3DVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLB3DVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(AStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(AStream: TStream); override;


GLSysHelp v.2.1: GLS.FileBMP

Unit GLS.FileBMP

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Graphics
  • GLS.ApplicationFileIO
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBMPImage |


GLSysHelp v.2.1: GLS.FileBMP: Class TGLBMPImage

Class TGLBMPImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileBMP

Declaration

type TGLBMPImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLBMPImage

Overview

Fields

Private | FTopDown: Boolean;
Private | RedMask: LongWord;
Private | GreenMask: LongWord;
Private | BlueMask: LongWord;
Private | RedShift: ShortInt;
Private | GreenShift: ShortInt;
Private | BlueShift: ShortInt;
Private | FLineBuffer: PByteArray;
Private | FReadSize: Integer;
Private | FDeltaX: Integer;
Private | FDeltaY: Integer;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Private | function CountBits(Value: byte): shortint;
Private | function ExpandColor(Value: longword): TGLPixel32;
Private | function Monochrome(N: Integer): Integer;
Private | function Octochrome(N: Integer): Integer;
Private | function Quadrochrome(N: Integer): Integer;
Private | function ShiftCount(Mask: longword): shortint;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToFile(const filename: string); override;
Public | procedure SaveToStream(stream: TStream); override;
Private | procedure ExpandRLE4ScanLine(Row: Integer; Stream: TStream);
Private | procedure ExpandRLE8ScanLine(Row: Integer; Stream: TStream);

Description

Fields

Private FTopDown: Boolean;
Private RedMask: LongWord;
Private GreenMask: LongWord;
Private BlueMask: LongWord;
Private RedShift: ShortInt;
Private GreenShift: ShortInt;
Private BlueShift: ShortInt;
Private FLineBuffer: PByteArray;
Private FReadSize: Integer;
Private FDeltaX: Integer;
Private FDeltaY: Integer;

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Private function CountBits(Value: byte): shortint;
Private function ExpandColor(Value: longword): TGLPixel32;
Private function Monochrome(N: Integer): Integer;
Private function Octochrome(N: Integer): Integer;
Private function Quadrochrome(N: Integer): Integer;
Private function ShiftCount(Mask: longword): shortint;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: boolean; const intFormat: TGLInternalFormat); reintroduce;
Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToFile(const filename: string); override;
Public procedure SaveToStream(stream: TStream); override;
Private procedure ExpandRLE4ScanLine(Row: Integer; Stream: TStream);
Private procedure ExpandRLE8ScanLine(Row: Integer; Stream: TStream);


GLSysHelp v.2.1: GLS.FileDDS

Unit GLS.FileDDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.Context
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.RGBE
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDDSImage |

Types

TGLDDSDetailLevels = (...);

Variables

vDDSDetailLevel: TGLDDSDetailLevels = ddsHighDet;

Description

Types

TGLDDSDetailLevels = (...);
Values
  • ddsHighDet
  • ddsMediumDet
  • ddsLowDet

Variables

vDDSDetailLevel: TGLDDSDetailLevels = ddsHighDet;

Variable determines which resolution to use textures, high - it loads all levels, midle - skipped the first level, low - skipped the first two levels.


GLSysHelp v.2.1: GLS.FileDDS: Class TGLDDSImage

Class TGLDDSImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileDDS

Declaration

type TGLDDSImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLDDSImage

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure AssignFromTexture(TextureContext: TGLContext; const TextureHandle: Cardinal; TextureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const IntFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const Filename: string); override;
Public | procedure LoadFromStream(Stream: TStream); override;
Public | procedure SaveToFile(const Filename: string); override;
Public | procedure SaveToStream(Stream: TStream); override;
Private | procedure FlipSurface(ChangeData: PGLubyte; W, H, D: integer);

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure AssignFromTexture(TextureContext: TGLContext; const TextureHandle: Cardinal; TextureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const IntFormat: TGLInternalFormat); reintroduce;

Assigns from any Texture.

Public procedure LoadFromFile(const Filename: string); override;
Public procedure LoadFromStream(Stream: TStream); override;
Public procedure SaveToFile(const Filename: string); override;
Public procedure SaveToStream(Stream: TStream); override;
Private procedure FlipSurface(ChangeData: PGLubyte; W, H, D: integer);


GLSysHelp v.2.1: GLS.FileDEL

Unit GLS.FileDEL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.VectorTypesExt

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDELVectorFile |


GLSysHelp v.2.1: GLS.FileDEL: Class TGLDELVectorFile

Class TGLDELVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileDEL

Declaration

type TGLDELVectorFile = class(TGLVectorFile)

Description

The DEL vector file (tetrahedra irregular network)

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLDELVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream : TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream : TStream); override;


GLSysHelp v.2.1: GLS.FileDXF

Unit GLS.FileDXF

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.Scene
  • GLS.Texture
  • GLS.VectorFileObjects
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDXFVectorFile |


GLSysHelp v.2.1: GLS.FileDXF: Class TGLDXFVectorFile

Class TGLDXFVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileDXF

Declaration

type TGLDXFVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLDXFVectorFile

Overview

Fields

Private | FSourceStream: TStream;
Private | FBuffer: String;
Private | FLineNo: Integer;
Private | FEof: Boolean;
Private | FBufPos: Integer;
Private | HasPushedCode: Boolean;
Private | PushedCode: Integer;
Private | FLayers: TStringList;
Private | FBlocks: TStringList;
Private | FLastpercentdone: BYTE;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Protected | function GetCode: Integer;
Protected | function NeedFaceGroup(m: TGLMeshObject; fgmode: TGLFaceGroupMeshMode; fgmat: STRING): TFGVertexIndexList;
Protected | function NeedMesh(basemesh: TGLBaseMesh; layer: STRING): TGLMeshObject;
Protected | function ReadDouble: double;
Protected | function ReadInt: Integer;
Protected | function ReadLine: STRING;
Public | procedure LoadFromStream(aStream: TStream); override;
Protected | procedure NeedMeshAndFaceGroup(basemesh: TGLBaseMesh; layer: STRING; fgmode: TGLFaceGroupMeshMode; fgmat: STRING; var m: TGLMeshObject; var fg: TFGVertexIndexList);
Protected | procedure PushCode(code: Integer);
Protected | procedure ReadBlocks;
Protected | procedure ReadEntities(basemesh: TGLBaseMesh);
Protected | procedure ReadEntity3Dface(basemesh: TGLBaseMesh);
Protected | procedure ReadEntityPolyLine(basemesh: TGLBaseMesh);
Protected | procedure ReadInsert(basemesh: TGLBaseMesh);
Protected | procedure ReadLayer;
Protected | procedure ReadLayerTable;
Protected | procedure ReadTables;
Protected | procedure SkipSection;
Protected | procedure SkipTable;

Description

Fields

Private FSourceStream: TStream;
Private FBuffer: String;

Load from this stream

Private FLineNo: Integer;

Buffer and current line

Private FEof: Boolean;

current Line number - for error messages

Private FBufPos: Integer;

Stream done?

Private HasPushedCode: Boolean;

Position in the buffer

Private PushedCode: Integer;
Private FLayers: TStringList;
Private FBlocks: TStringList;
Private FLastpercentdone: BYTE;

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Protected function GetCode: Integer;
Protected function NeedFaceGroup(m: TGLMeshObject; fgmode: TGLFaceGroupMeshMode; fgmat: STRING): TFGVertexIndexList;
Protected function NeedMesh(basemesh: TGLBaseMesh; layer: STRING): TGLMeshObject;

procedure DoProgress (Stage: TGLProgressStage; PercentDone: single; RedrawNow: Boolean; const Msg: string);

Protected function ReadDouble: double;
Protected function ReadInt: Integer;

Read a single line of text from the source stream, set FEof to true when done.

Protected function ReadLine: STRING;
Public procedure LoadFromStream(aStream: TStream); override;
Protected procedure NeedMeshAndFaceGroup(basemesh: TGLBaseMesh; layer: STRING; fgmode: TGLFaceGroupMeshMode; fgmat: STRING; var m: TGLMeshObject; var fg: TFGVertexIndexList);
Protected procedure PushCode(code: Integer);
Protected procedure ReadBlocks;
Protected procedure ReadEntities(basemesh: TGLBaseMesh);
Protected procedure ReadEntity3Dface(basemesh: TGLBaseMesh);
Protected procedure ReadEntityPolyLine(basemesh: TGLBaseMesh);
Protected procedure ReadInsert(basemesh: TGLBaseMesh);
Protected procedure ReadLayer;
Protected procedure ReadLayerTable;
Protected procedure ReadTables;
Protected procedure SkipSection;
Protected procedure SkipTable;


GLSysHelp v.2.1: GLS.FileGL2

Unit GLS.FileGL2

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.PersistentClasses
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.Material
  • GLS.VectorGeometry
  • Formats.GL2
  • GLS.VectorTypes
  • GLS.VectorLists

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMVectorFile |
Class TGLAVectorFile |

Variables

vGhoul2LevelOfDetail: Integer = 0;
vGhoul2MaxBonesPerVertex: Integer = 4;

Description

Variables

vGhoul2LevelOfDetail: Integer = 0;
vGhoul2MaxBonesPerVertex: Integer = 4;

Highest detail level by default


GLSysHelp v.2.1: GLS.FileGL2: Class TGLMVectorFile

Class TGLMVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileGL2

Declaration

type TGLMVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLMVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream : TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream : TStream); override;


GLSysHelp v.2.1: GLS.FileGL2: Class TGLAVectorFile

Class TGLAVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileGL2

Declaration

type TGLAVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLAVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream : TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream : TStream); override;


GLSysHelp v.2.1: GLS.FileGLB

Unit GLS.FileGLB

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.Texture
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.Utils
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBVectorFile |


GLSysHelp v.2.1: GLS.FileGLB: Class TGLBVectorFile

Class TGLBVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileGLB

Declaration

type TGLBVectorFile = class(TGLVectorFile)

Description

The GLB binary glTF format is a runtime asset delivery format for GL APIs: WebGL, OpenGL ES OpenGL and Vulkan.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLBVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileGLTF

Unit GLS.FileGLTF

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.PersistentClasses
  • GLS.VectorFileObjects
  • GLS.Texture
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.Material
  • PasGLTF

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTFVectorFile |


GLSysHelp v.2.1: GLS.FileGLTF: Class TGLTFVectorFile

Class TGLTFVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileGLTF

Declaration

type TGLTFVectorFile = class(TGLVectorFile)

Description

The glTF format is a runtime asset delivery format for GL APIs: WebGL, OpenGL ES OpenGL and Vulkan.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLTFVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileGRD

Unit GLS.FileGRD

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.Graph

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLGRDVectorFile |


GLSysHelp v.2.1: GLS.FileGRD: Class TGLGRDVectorFile

Class TGLGRDVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileGRD

Declaration

type TGLGRDVectorFile = class(TGLVectorFile)

Description

The GRD file represents ascii grid formats in 2D/3D. This is a format for storing regular grid values as a matrices of cell centers. The format supports variations and subformats. This importer works for Sutfer, ArcInfo and GMS formats

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLGRDVectorFile

Overview

Fields

Public | GLHeightField: TGLHeightField;
Public | Nodes: array of TSingleArray;
Private | StrVal: String;
Private | StrLine: String;
Private | MaxZ: Single;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Private | function ExtractWord(N: Integer; const S: string; const WordDelims: TSysCharSet): string;
Private | function WordPosition(const N: Integer; const S: string; const WordDelims: TSysCharSet): Integer;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Fields

Public GLHeightField: TGLHeightField;
Public Nodes: array of TSingleArray;
Private StrVal: String;
Private StrLine: String;
Private MaxZ: Single;

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Private function ExtractWord(N: Integer; const S: string; const WordDelims: TSysCharSet): string;
Private function WordPosition(const N: Integer; const S: string; const WordDelims: TSysCharSet): Integer;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileGTS

Unit GLS.FileGTS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLGTSVectorFile |


GLSysHelp v.2.1: GLS.FileGTS: Class TGLGTSVectorFile

Class TGLGTSVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileGTS

Declaration

type TGLGTSVectorFile = class(TGLVectorFile)

Description

The GTS vector file (GNU Triangulated Surface library). It is a simple text format, with indexed vertices. The first line contains the number of vertices, the number of edges and the number of faces separated by spaces. Following lines contain the x/y/z coordinates of vertices, then the edges (two indices) and the faces (three indices). http://gts.sourceforge.net/

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLGTSVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileHDR

Unit GLS.FileHDR

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.ApplicationFileIO
  • GLS.RGBE
  • GLS.VectorTypes
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLHDRImage |


GLSysHelp v.2.1: GLS.FileHDR: Class TGLHDRImage

Class TGLHDRImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileHDR

Declaration

type TGLHDRImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLHDRImage

Overview

Fields

Protected | fGamma: Single;
Protected | fExposure: Single;
Protected | fProgramType: string[16];

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Private | function GetProgramType: Ansistring;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(stream: TStream); override;
Private | procedure SetProgramType(aval: Ansistring);

Properties

Public | property Exposure: Single read fExposure;
Public | property Gamma: Single read fGamma;
Public | property ProgramType: Ansistring read GetProgramType write SetProgramType;

Description

Fields

Protected fGamma: Single;
Protected fExposure: Single;

image has already been gamma corrected with given gamma. defaults to 1.0 (no correction) */

Protected fProgramType: string[16];

a value of 1.0 in an image corresponds to <exposure> watts/steradian/mˆ2. defaults to 1.0

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Private function GetProgramType: Ansistring;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(stream: TStream); override;
Private procedure SetProgramType(aval: Ansistring);

Properties

Public property Exposure: Single read fExposure;
Public property Gamma: Single read fGamma;
Public property ProgramType: Ansistring read GetProgramType write SetProgramType;


GLSysHelp v.2.1: GLS.FileJPEG

Unit GLS.FileJPEG

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • Vcl.Imaging.Jpeg
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLJPEGImage |

Functions and Procedures

procedure Jpeg2Bmp(const BmpFileName, JpgFileName: string);

Description

Functions and Procedures

procedure Jpeg2Bmp(const BmpFileName, JpgFileName: string);


GLSysHelp v.2.1: GLS.FileJPEG: Class TGLJPEGImage

Class TGLJPEGImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileJPEG

Declaration

type TGLJPEGImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLJPEGImage

Overview

Fields

Private | FAbortLoading: boolean;
Private | FDivScale: longword;
Private | FDither: boolean;
Private | FSmoothing: boolean;
Private | FProgressiveEncoding: boolean;

Methods

Public | constructor Create; override;
Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(AStream: TStream); override;
Public | procedure SaveToFile(const filename: string); override;
Public | procedure SaveToStream(AStream: TStream); override;
Private | procedure SetSmoothing(const AValue: boolean);

Properties

Public | property Dither: boolean read FDither write FDither;
Public | property DivScale: longword read FDivScale write FDivScale;
Public | property ProgressiveEncoding: boolean read FProgressiveEncoding;
Public | property Smoothing: boolean read FSmoothing write SetSmoothing;

Description

Fields

Private FAbortLoading: boolean;
Private FDivScale: longword;
Private FDither: boolean;
Private FSmoothing: boolean;
Private FProgressiveEncoding: boolean;

Methods

Public constructor Create; override;
Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;

Assigns from any Texture.

Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(AStream: TStream); override;
Public procedure SaveToFile(const filename: string); override;
Public procedure SaveToStream(AStream: TStream); override;
Private procedure SetSmoothing(const AValue: boolean);

Properties

Public property Dither: boolean read FDither write FDither;
Public property DivScale: longword read FDivScale write FDivScale;
Public property ProgressiveEncoding: boolean read FProgressiveEncoding;
Public property Smoothing: boolean read FSmoothing write SetSmoothing;


GLSysHelp v.2.1: GLS.FileLMTS

Unit GLS.FileLMTS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.PersistentClasses
  • GLS.Graphics
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TLMTS_Header |
Record TLMTS_TexData |
Record TLMTS_Subset |
Record TLMTS_Vertex |
Record TLMTS |
Record TMaterialInfo |
Class TGLLMTSVectorFile |

Types

PLMTS = ˆTLMTS;
PLMTS_Header = ˆTLMTS_Header;
PLMTS_Subset = ˆTLMTS_Subset;
PLMTS_TexData = ˆTLMTS_TexData;
PLMTS_Vertex = ˆTLMTS_Vertex;

Constants

C_LMTS_ID = $53544D4C;
C_LMTS_VER = 4;
C_LMTS_SUBS = $53425553;
C_LMTS_TEXT = $54584554;
C_LMTS_TRIS = $53495254;
C_LMTS_TEXFNLEN = 255;

Description

Types

PLMTS = ˆTLMTS;
PLMTS_Header = ˆTLMTS_Header;

max texture filename length

PLMTS_Subset = ˆTLMTS_Subset;
PLMTS_TexData = ˆTLMTS_TexData;
PLMTS_Vertex = ˆTLMTS_Vertex;

Constants

C_LMTS_ID = $53544D4C;
C_LMTS_VER = 4;
C_LMTS_SUBS = $53425553;
C_LMTS_TEXT = $54584554;
C_LMTS_TRIS = $53495254;
C_LMTS_TEXFNLEN = 255;


GLSysHelp v.2.1: GLS.FileLMTS: Record TLMTS_Header

Record TLMTS_Header

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TLMTS_Header = record

Description

Overview

Fields

Public | ID: cardinal;
Public | Ver: cardinal;
Public | headerSize: cardinal;
Public | nTexts: word;
Public | nSubsets: word;
Public | nTris: cardinal;
Public | subSize: word;
Public | vtxSize: word;

Description

Fields

Public ID: cardinal;

packed

Public Ver: cardinal;
Public headerSize: cardinal;
Public nTexts: word;
Public nSubsets: word;

# of textures

Public nTris: cardinal;
Public subSize: word;
Public vtxSize: word;


GLSysHelp v.2.1: GLS.FileLMTS: Record TLMTS_TexData

Record TLMTS_TexData

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TLMTS_TexData = record

Description

Overview

Fields

Public | fName: array [0 .. C_LMTS_TEXFNLEN] of AnsiChar;
Public | Flags: Word;

Description

Fields

Public fName: array [0 .. C_LMTS_TEXFNLEN] of AnsiChar;

packed

Public Flags: Word;


GLSysHelp v.2.1: GLS.FileLMTS: Record TLMTS_Subset

Record TLMTS_Subset

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TLMTS_Subset = record

Description

Overview

Fields

Public | Offset: LongInt;
Public | Count: LongInt;
Public | TextID1: Word;
Public | TextID2: Word;

Description

Fields

Public Offset: LongInt;

packed

Public Count: LongInt;
Public TextID1: Word;
Public TextID2: Word;


GLSysHelp v.2.1: GLS.FileLMTS: Record TLMTS_Vertex

Record TLMTS_Vertex

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TLMTS_Vertex = record

Description

Overview

Fields

Public | x: Single;
Public | y: Single;
Public | z: Single;
Public | u1: Single;
Public | v1: Single;
Public | u2: Single;
Public | v2: Single;

Description

Fields

Public x: Single;

packed

Public y: Single;

packed

Public z: Single;

packed

Public u1: Single;
Public v1: Single;
Public u2: Single;
Public v2: Single;


GLSysHelp v.2.1: GLS.FileLMTS: Record TLMTS

Record TLMTS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TLMTS = record

Description

Overview

Fields

Public | header: TLMTS_Header;
Public | usrData: pointer;
Public | usrSize: cardinal;
Public | texData: pointer;
Public | subsets: pointer;
Public | tris: pointer;
Public | ok: boolean;

Description

Fields

Public header: TLMTS_Header;
Public usrData: pointer;
Public usrSize: cardinal;
Public texData: pointer;
Public subsets: pointer;
Public tris: pointer;
Public ok: boolean;


GLSysHelp v.2.1: GLS.FileLMTS: Record TMaterialInfo

Record TMaterialInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TMaterialInfo = record

Description

Overview

Fields

Public | FShininess: TGLShininess;
Public | BShininess: TGLShininess;
Public | FAmbient: TGLVector;
Public | FDiffuse: TGLVector;
Public | FEmission: TGLVector;
Public | FSpecular: TGLVector;
Public | BAmbient: TGLVector;
Public | BDiffuse: TGLVector;
Public | BEmission: TGLVector;
Public | BSpecular: TGLVector;
Public | ImageAlpha: TGLTextureImageAlpha;
Public | magFilter: TGLMagFilter;
Public | minFilter: TGLMinFilter;
Public | TextureMode: TGLTextureMode;
Public | TextureWrap: TGLTextureWrap;
Public | Blendingmode: TGLBlendingMode;
Public | FaceCulling: TGLFaceCulling;
Public | mathash: integer;

Description

Fields

Public FShininess: TGLShininess;
Public BShininess: TGLShininess;
Public FAmbient: TGLVector;
Public FDiffuse: TGLVector;
Public FEmission: TGLVector;
Public FSpecular: TGLVector;
Public BAmbient: TGLVector;
Public BDiffuse: TGLVector;
Public BEmission: TGLVector;
Public BSpecular: TGLVector;
Public ImageAlpha: TGLTextureImageAlpha;
Public magFilter: TGLMagFilter;
Public minFilter: TGLMinFilter;
Public TextureMode: TGLTextureMode;
Public TextureWrap: TGLTextureWrap;
Public Blendingmode: TGLBlendingMode;
Public FaceCulling: TGLFaceCulling;
Public mathash: integer;


GLSysHelp v.2.1: GLS.FileLMTS: Class TGLLMTSVectorFile

Class TGLLMTSVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLMTS

Declaration

type TGLLMTSVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLLMTSVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileLWO

Unit GLS.FileLWO

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • Formats.LWO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLWOVectorFile |


GLSysHelp v.2.1: GLS.FileLWO: Class TGLLWOVectorFile

Class TGLLWOVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileLWO

Declaration

type TGLLWOVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLLWOVectorFile

Overview

Fields

Private | FLWO: TLWObjectFile;
Private | FPnts: TLWPnts;

Methods

Public | procedure LoadFromStream(aStream: TStream); override;
Private | procedure AddLayr(Layr: TLWLayr; LWO: TLWObjectFile);
Private | procedure AddPnts(Pnts: TLWPnts; Mesh: TGLMeshObject);
Private | procedure AddPols(Pols: TLWPols; Mesh: TGLMeshObject);
Private | procedure AddSurf(Surf: TLWSurf; LWO: TLWObjectFile);
Private | procedure AddVMap(VMap: TLWVMap; Mesh: TGLMeshObject);

Description

Fields

Private FLWO: TLWObjectFile;
Private FPnts: TLWPnts;

Methods

Public procedure LoadFromStream(aStream: TStream); override;
Private procedure AddLayr(Layr: TLWLayr; LWO: TLWObjectFile);
Private procedure AddPnts(Pnts: TLWPnts; Mesh: TGLMeshObject);
Private procedure AddPols(Pols: TLWPols; Mesh: TGLMeshObject);
Private procedure AddSurf(Surf: TLWSurf; LWO: TLWObjectFile);
Private procedure AddVMap(VMap: TLWVMap; Mesh: TGLMeshObject);


GLSysHelp v.2.1: GLS.FileMD2

Unit GLS.FileMD2

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • Formats.MD2

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMD2VectorFile |


GLSysHelp v.2.1: GLS.FileMD2: Class TGLMD2VectorFile

Class TGLMD2VectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMD2

Declaration

type TGLMD2VectorFile = class(TGLVectorFile)

Description

The MD2 vector file (Quake2 actor file). Stores a set of "frames" describing the different postures of the actor, it may be animated by TGLActor. The "Skin" must be loaded indepentendly (the whole mesh uses a single texture bitmap). Based on code by Roger Cao.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLMD2VectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileMD3

Unit GLS.FileMD3

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.Material
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • Formats.MD3
  • GLS.Texture

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMD3VectorFile |


GLSysHelp v.2.1: GLS.FileMD3: Class TGLMD3VectorFile

Class TGLMD3VectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMD3

Declaration

type TGLMD3VectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLMD3VectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream : TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream : TStream); override;


GLSysHelp v.2.1: GLS.FileMD5

Unit GLS.FileMD5

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.PersistentClasses
  • GLS.Utils
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMD5VectorFile |

Variables

vMD5TextureExtensions: TStringList;

Description

Variables

vMD5TextureExtensions: TStringList;


GLSysHelp v.2.1: GLS.FileMD5: Class TGLMD5VectorFile

Class TGLMD5VectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMD5

Declaration

type TGLMD5VectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLMD5VectorFile

Overview

Fields

Private | FMD5String: TStringList;
Private | FTempString: TStringList;
Private | FBoneNames: TStringList;
Private | FCurrentPos: Integer;
Private | FBasePose: TGLSkeletonFrame;
Private | FFramePositions: TAffineVectorList;
Private | FFrameQuaternions: TQuaternionList;
Private | FJointFlags: TIntegerList;
Private | FNumFrames: Integer;
Private | FFirstFrame: Integer;
Private | FFrameRate: Integer;
Private | FNumJoints: Integer;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Private | function ReadLine: String;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Fields

Private FMD5String: TStringList;
Private FTempString: TStringList;
Private FBoneNames: TStringList;
Private FCurrentPos: Integer;
Private FBasePose: TGLSkeletonFrame;
Private FFramePositions: TAffineVectorList;
Private FFrameQuaternions: TQuaternionList;
Private FJointFlags: TIntegerList;
Private FNumFrames: Integer;
Private FFirstFrame: Integer;
Private FFrameRate: Integer;
Private FNumJoints: Integer;

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Private function ReadLine: String;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileMDC

Unit GLS.FileMDC

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.Material
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TMDCFileHeader |
Record TMDCBorderFrame |
Packed Record TMDCTagName |
Packed Record TMDCTagFrame |
Packed Record TMDCTag |
Packed Record TMDCSurfaceHeader |
Packed Record TMDCSkin |
Packed Record TMDCBaseFrame |
Packed Record TMDCCompFrame |
Class TGLMDCVectorFile |

Types

PMDCTagFrame = ˆTMDCTagFrame;
PMDCTagName = ˆTMDCTagName;
TMDCAngle = TMDCPoint;
TMDCBaseVertex = array [0 .. 3] of SmallInt;
TMDCCompVertex = array [0 .. 3] of Byte;
TMDCPoint = array [0 .. 2] of Single;
TMDCTexCoord = array [0 .. 1] of Single;
TMDCTriangle = array [0 .. 2] of Cardinal;

Constants

MDCFILE_IDENTITY = 'IDPC';
MDCFILE_VERSION = 2;
MDC_BASEVERTEX_FACTOR = 0.015625;
MDC_COMPVERTEX_FACTOR = 0.046875;

Description

Types

PMDCTagFrame = ˆTMDCTagFrame;
PMDCTagName = ˆTMDCTagName;
TMDCAngle = TMDCPoint;
TMDCBaseVertex = array [0 .. 3] of SmallInt;
TMDCCompVertex = array [0 .. 3] of Byte;
TMDCPoint = array [0 .. 2] of Single;

3/64;

TMDCTexCoord = array [0 .. 1] of Single;
TMDCTriangle = array [0 .. 2] of Cardinal;

Constants

MDCFILE_IDENTITY = 'IDPC';
MDCFILE_VERSION = 2;
MDC_BASEVERTEX_FACTOR = 0.015625;
MDC_COMPVERTEX_FACTOR = 0.046875;

1/64;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCFileHeader

Packed Record TMDCFileHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCFileHeader = packed record

Description

Overview

Fields

Public | Ident: array [0 .. 3] of AnsiChar;
Public | Version: Cardinal;
Public | Name: array [0 .. 63] of AnsiChar;
Public | Flags: Cardinal;
Public | NumFrames: Cardinal;
Public | NumTags: Cardinal;
Public | NumSurfaces: Cardinal;
Public | NumSkins: Cardinal;
Public | OffsetBorderFrames: Cardinal;
Public | OffsetTagNames: Cardinal;
Public | OffsetTagFrames: Cardinal;
Public | OffsetSurfaces: Cardinal;
Public | OffsetEnd: Cardinal;

Description

Fields

Public Ident: array [0 .. 3] of AnsiChar;
Public Version: Cardinal;
Public Name: array [0 .. 63] of AnsiChar;
Public Flags: Cardinal;
Public NumFrames: Cardinal;
Public NumTags: Cardinal;
Public NumSurfaces: Cardinal;
Public NumSkins: Cardinal;
Public OffsetBorderFrames: Cardinal;
Public OffsetTagNames: Cardinal;
Public OffsetTagFrames: Cardinal;
Public OffsetSurfaces: Cardinal;
Public OffsetEnd: Cardinal;


GLSysHelp v.2.1: GLS.FileMDC: Record TMDCBorderFrame

Record TMDCBorderFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCBorderFrame = record

Description

Overview

Fields

Public | BBMin: TMDCPoint;
Public | BBMax: TMDCPoint;
Public | LocalOrigin: TMDCPoint;
Public | Radius: Single;
Public | Name: array [0 .. 15] of AnsiChar;

Description

Fields

Public BBMin: TMDCPoint;
Public BBMax: TMDCPoint;
Public LocalOrigin: TMDCPoint;
Public Radius: Single;
Public Name: array [0 .. 15] of AnsiChar;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCTagName

Packed Record TMDCTagName

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCTagName = packed record

Description

Overview

Fields

Public Name: array [0 .. 63] of AnsiChar;

Description

Fields

Public Name: array [0 .. 63] of AnsiChar;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCTagFrame

Packed Record TMDCTagFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCTagFrame = packed record

Description

Overview

Fields

Public | TagPosition: array [0 .. 2] of Word;
Public | TagAngle: array [0 .. 2] of Word;

Description

Fields

Public TagPosition: array [0 .. 2] of Word;
Public TagAngle: array [0 .. 2] of Word;

or ShortInt?


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCTag

Packed Record TMDCTag

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCTag = packed record

Description

Overview

Fields

Public | TagName: PMDCTagName;
Public | TagFrame: PMDCTagFrame;

Description

Fields

Public TagName: PMDCTagName;
Public TagFrame: PMDCTagFrame;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCSurfaceHeader

Packed Record TMDCSurfaceHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCSurfaceHeader = packed record

Description

Overview

Fields

Public | Ident: array [0 .. 3] of AnsiChar;
Public | Name: array [0 .. 63] of AnsiChar;
Public | Flags: Cardinal;
Public | NumCompFrames: Cardinal;
Public | NumBaseFrames: Cardinal;
Public | NumSkins: Cardinal;
Public | NumVertices: Cardinal;
Public | NumTriangles: Cardinal;
Public | OffsetTriangles: Cardinal;
Public | OffsetSkins: Cardinal;
Public | OffsetTexCoords: Cardinal;
Public | OffsetBaseVerts: Cardinal;
Public | OffsetCompVerts: Cardinal;
Public | OffsetFrameBaseFrames: Cardinal;
Public | OffsetFrameCompFrames: Cardinal;
Public | OffsetEnd: Cardinal;

Description

Fields

Public Ident: array [0 .. 3] of AnsiChar;
Public Name: array [0 .. 63] of AnsiChar;
Public Flags: Cardinal;
Public NumCompFrames: Cardinal;
Public NumBaseFrames: Cardinal;
Public NumSkins: Cardinal;
Public NumVertices: Cardinal;
Public NumTriangles: Cardinal;
Public OffsetTriangles: Cardinal;
Public OffsetSkins: Cardinal;
Public OffsetTexCoords: Cardinal;
Public OffsetBaseVerts: Cardinal;
Public OffsetCompVerts: Cardinal;
Public OffsetFrameBaseFrames: Cardinal;
Public OffsetFrameCompFrames: Cardinal;
Public OffsetEnd: Cardinal;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCSkin

Packed Record TMDCSkin

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCSkin = packed record

Description

Overview

Fields

Public | Shader: array [0 .. 63] of AnsiChar;
Public | Flags: Cardinal;

Description

Fields

Public Shader: array [0 .. 63] of AnsiChar;
Public Flags: Cardinal;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCBaseFrame

Packed Record TMDCBaseFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCBaseFrame = packed record

Description

Overview

Fields

Public BaseVertices: array of TMDCBaseVertex;

Description

Fields

Public BaseVertices: array of TMDCBaseVertex;


GLSysHelp v.2.1: GLS.FileMDC: Packed Record TMDCCompFrame

Packed Record TMDCCompFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TMDCCompFrame = packed record

Description

Overview

Fields

Public CompVertices: array of TMDCCompVertex;

Description

Fields

Public CompVertices: array of TMDCCompVertex;


GLSysHelp v.2.1: GLS.FileMDC: Class TGLMDCVectorFile

Class TGLMDCVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMDC

Declaration

type TGLMDCVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLMDCVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(AStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(AStream: TStream); override;


GLSysHelp v.2.1: GLS.FileMP3

Unit GLS.FileMP3

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.ApplicationFileIO
  • GLS.SoundFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMP3File |


GLSysHelp v.2.1: GLS.FileMP3: Class TGLMP3File

Class TGLMP3File

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMP3

Declaration

type TGLMP3File = class(TGLSoundFile)

Description

Support for MP3 format. *Partial* support only, access to PCMData is NOT supported.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLSoundFile
  • TGLMP3File

Overview

Fields

Private data: array of Byte;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | function CreateCopy(AOwner: TPersistent) : TGLDataFile; override;
Public | function LengthInBytes: Integer; override;
Public | function PCMData: Pointer; override;
Public | function WAVData: Pointer; override;
Public | function WAVDataSize: Integer; override;
Public | procedure LoadFromStream(Stream: TStream); override;
Public | procedure PlayOnWaveOut; override;
Public | procedure SaveToStream(Stream: TStream); override;

Description

Fields

Private data: array of Byte;

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public function CreateCopy(AOwner: TPersistent) : TGLDataFile; override;

used to store MP3 bitstream

Public function LengthInBytes: Integer; override;
Public function PCMData: Pointer; override;
Public function WAVData: Pointer; override;
Public function WAVDataSize: Integer; override;
Public procedure LoadFromStream(Stream: TStream); override;
Public procedure PlayOnWaveOut; override;
Public procedure SaveToStream(Stream: TStream); override;


GLSysHelp v.2.1: GLS.FileMS3D

Unit GLS.FileMS3D

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Math
  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.VectorTypes
  • GLS.Material
  • GLS.Color
  • GLS.Texture
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TMS3DGroup |
Record TMS3DHeader |
Record TMS3DVertex |
Record TMS3DTriangle |
Record TMS3DMaterial |
Record TMS3DKeyframeRotation |
Record TMS3DKeyframePosition |
Record TMS3DJointBase |
Record TMS3DJoint |
Record TMS3DComment |
Class TMS3DCommentList |
Record TMS3D_vertex_ex_t |
Class TVertexWeightList |
Class TGLMS3DVectorFile |

Types

pMS3DComment=ˆTMS3DComment;
PMS3DJointArray = ˆTMS3DJointArray;
PMS3DKeyframePositionArray = ˆTMS3DKeyframePositionArray;
PMS3DKeyframeRotationArray = ˆTMS3DKeyframeRotationArray;
PMS3DTriangleArray = ˆTMS3DTriangleArray;
PMS3DVertexArray = ˆTMS3DVertexArray;
pMS3D_vertex_ex_t=ˆTMS3D_vertex_ex_t;
TMS3DJointArray = array[0..MAX_MS3D_JOINTS - 1] of TMS3DJoint;
TMS3DKeyframePositionArray = array[0..MAX_MS3D_KEYFRAMES - 1] of TMS3DKeyframePosition;
TMS3DKeyframeRotationArray = array[0..MAX_MS3D_KEYFRAMES - 1] of TMS3DKeyframeRotation;
TMS3DTriangleArray = array[0..MAX_MS3D_TRIANGLES - 1] of TMS3DTriangle;
TMS3DVertexArray = array[0..MAX_MS3D_VERTICES - 1] of TMS3DVertex;

Constants

MAX_MS3D_VERTICES = 8192;
MAX_MS3D_TRIANGLES = 16384;
MAX_MS3D_GROUPS = 128;
MAX_MS3D_MATERIALS = 128;
MAX_MS3D_JOINTS = 128;
MAX_MS3D_KEYFRAMES = 5000;

Description

Types

pMS3DComment=ˆTMS3DComment;
PMS3DJointArray = ˆTMS3DJointArray;
PMS3DKeyframePositionArray = ˆTMS3DKeyframePositionArray;
PMS3DKeyframeRotationArray = ˆTMS3DKeyframeRotationArray;
PMS3DTriangleArray = ˆTMS3DTriangleArray;
PMS3DVertexArray = ˆTMS3DVertexArray;
pMS3D_vertex_ex_t=ˆTMS3D_vertex_ex_t;
TMS3DJointArray = array[0..MAX_MS3D_JOINTS - 1] of TMS3DJoint;
TMS3DKeyframePositionArray = array[0..MAX_MS3D_KEYFRAMES - 1] of TMS3DKeyframePosition;
TMS3DKeyframeRotationArray = array[0..MAX_MS3D_KEYFRAMES - 1] of TMS3DKeyframeRotation;
TMS3DTriangleArray = array[0..MAX_MS3D_TRIANGLES - 1] of TMS3DTriangle;
TMS3DVertexArray = array[0..MAX_MS3D_VERTICES - 1] of TMS3DVertex;

Constants

MAX_MS3D_VERTICES = 8192;
MAX_MS3D_TRIANGLES = 16384;
MAX_MS3D_GROUPS = 128;
MAX_MS3D_MATERIALS = 128;
MAX_MS3D_JOINTS = 128;
MAX_MS3D_KEYFRAMES = 5000;


GLSysHelp v.2.1: GLS.FileMS3D: Class TMS3DGroup

Class TMS3DGroup

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DGroup = class(TObject)

Description

typedef struct (* byte flags; // SELECTED | HIDDEN char name[32]; // word numtriangles; // word triangleIndices[numtriangles]; // the groups group the triangles char materialIndex; // -1 = no material *) ms3d_group_t;

Hierarchy

  • TObject
  • TMS3DGroup

Overview

Fields

Public | Flags: byte;
Public | Name: array[0..31] of AnsiChar;
Public | NumTriangles: word;
Public | TriangleIndices: TList;
Public | MaterialIndex: Shortint;

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Fields

Public Flags: byte;
Public Name: array[0..31] of AnsiChar;
Public NumTriangles: word;
Public TriangleIndices: TList;
Public MaterialIndex: Shortint;

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DHeader

Record TMS3DHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DHeader = record

Description

typdef struct (* char id[10]; // always "MS3D000000" int version; // 4 *) ms3d_header_t;

Overview

Fields

Public | ID: array[0..9] of AnsiChar;
Public | Version: integer;

Description

Fields

Public ID: array[0..9] of AnsiChar;
Public Version: integer;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DVertex

Record TMS3DVertex

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DVertex = record

Description

typedef struct (* byte flags; // SELECTED | SELECTED2 | HIDDEN float vertex[3]; // char boneId; // -1 = no bone byte referenceCount; *) ms3d_vertex_t;

Overview

Fields

Public | Flags: byte;
Public | Vertex: TD3DVector;
Public | BoneId: AnsiChar;
Public | ReferenceCount: byte;

Description

Fields

Public Flags: byte;
Public Vertex: TD3DVector;
Public BoneId: AnsiChar;
Public ReferenceCount: byte;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DTriangle

Record TMS3DTriangle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DTriangle = record

Description

typedef struct (* word flags; // SELECTED | SELECTED2 | HIDDEN word vertexIndices[3]; // float vertexNormals[3][3]; // float s[3]; // float t[3]; // byte smoothingGroup; // 1 - 32 byte groupIndex; // *) ms3d_triangle_t;

Overview

Fields

Public | Flags: word;
Public | VertexIndices: array[0..2] of word;
Public | VertexNormals: array[0..2] of TD3DVector;
Public | S: array[0..2] of single;
Public | T: array[0..2] of single;
Public | SmoothingGroup: byte;
Public | GroupIndex: byte;

Description

Fields

Public Flags: word;
Public VertexIndices: array[0..2] of word;
Public VertexNormals: array[0..2] of TD3DVector;
Public S: array[0..2] of single;
Public T: array[0..2] of single;
Public SmoothingGroup: byte;
Public GroupIndex: byte;

1 - 32


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DMaterial

Record TMS3DMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DMaterial = record

Description

typedef struct (* char name[32]; // float ambient[4]; // float diffuse[4]; // float specular[4]; // float emissive[4]; // float shininess; // 0.0f - 128.0f float transparency; // 0.0f - 1.0f char mode; // 0, 1, 2 is unused now char texture[128]; // texture.bmp char alphamap[128]; // alpha.bmp *) ms3d_material_t;

Overview

Fields

Public | Name: array[0..31] of AnsiChar;
Public | Ambient: TGLColorVector;
Public | Diffuse: TGLColorVector;
Public | Specular: TGLColorVector;
Public | Emissive: TGLColorVector;
Public | Shininess: single;
Public | Transparency: single;
Public | Mode: AnsiChar;
Public | Texture: array[0..127] of AnsiChar;
Public | Alphamap: array[0..127] of AnsiChar;

Description

Fields

Public Name: array[0..31] of AnsiChar;
Public Ambient: TGLColorVector;
Public Diffuse: TGLColorVector;
Public Specular: TGLColorVector;
Public Emissive: TGLColorVector;
Public Shininess: single;
Public Transparency: single;
Public Mode: AnsiChar;
Public Texture: array[0..127] of AnsiChar;
Public Alphamap: array[0..127] of AnsiChar;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DKeyframeRotation

Record TMS3DKeyframeRotation

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DKeyframeRotation = record

Description

typedef struct (* float time; // time in seconds float rotation[3]; // x, y, z angles *) ms3d_keyframe_rot_t;

Overview

Fields

Public | Time: single;
Public | Rotation: TD3DVector;

Description

Fields

Public Time: single;
Public Rotation: TD3DVector;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DKeyframePosition

Record TMS3DKeyframePosition

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DKeyframePosition = record

Description

typedef struct (* float time; // time in seconds float position[3]; // local position *) ms3d_keyframe_pos_t;

Overview

Fields

Public | Time: single;
Public | Position: TD3DVector;

Description

Fields

Public Time: single;
Public Position: TD3DVector;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DJointBase

Record TMS3DJointBase

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DJointBase = record

Description

typedef struct (* byte flags; // SELECTED | DIRTY char name[32]; // char parentName[32]; // float rotation[3]; // local reference matrix float position[3];

word numKeyFramesRot; // word numKeyFramesTrans; //

ms3d_keyframe_rot_t keyFramesRot[numKeyFramesRot]; // local animation matrices ms3d_keyframe_pos_t keyFramesTrans[numKeyFramesTrans]; // local animation matrices *) ms3d_joint_t;

Overview

Fields

Public | Flags: byte;
Public | Name: array[0..31] of AnsiChar;
Public | ParentName: array[0..31] of AnsiChar;
Public | Rotation: TD3DVector;
Public | Position: TD3DVector;
Public | NumKeyFramesRot: word;
Public | NumKeyFramesTrans: word;

Description

Fields

Public Flags: byte;
Public Name: array[0..31] of AnsiChar;
Public ParentName: array[0..31] of AnsiChar;
Public Rotation: TD3DVector;
Public Position: TD3DVector;
Public NumKeyFramesRot: word;
Public NumKeyFramesTrans: word;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DJoint

Record TMS3DJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DJoint = record

Description

Overview

Fields

Public | Base: TMS3DJointBase;
Public | KeyFramesRot: PMS3DKeyframeRotationArray;
Public | KeyFramesTrans: PMS3DKeyframePositionArray;

Description

Fields

Public Base: TMS3DJointBase;
Public KeyFramesRot: PMS3DKeyframeRotationArray;
Public KeyFramesTrans: PMS3DKeyframePositionArray;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3DComment

Record TMS3DComment

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DComment = record

Description

Overview

Fields

Public | index: Integer;
Public | commentLength: integer;
Public | comment: array of AnsiChar;

Description

Fields

Public index: Integer;
Public commentLength: integer;
Public comment: array of AnsiChar;


GLSysHelp v.2.1: GLS.FileMS3D: Class TMS3DCommentList

Class TMS3DCommentList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3DCommentList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TMS3DCommentList

Overview

Methods

Public | destructor Destroy; override;
Public | function NewComment: pMS3DComment;

Description

Methods

Public destructor Destroy; override;
Public function NewComment: pMS3DComment;


GLSysHelp v.2.1: GLS.FileMS3D: Record TMS3D_vertex_ex_t

Record TMS3D_vertex_ex_t

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TMS3D_vertex_ex_t = record

Description

Overview

Fields

Public | boneIds: array[0..2] of byte;
Public | weights: array[0..2] of byte;
Public | extra: cardinal;
Public | unknown: cardinal;

Description

Fields

Public boneIds: array[0..2] of byte;
Public weights: array[0..2] of byte;
Public extra: cardinal;
Public unknown: cardinal;


GLSysHelp v.2.1: GLS.FileMS3D: Class TVertexWeightList

Class TVertexWeightList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TVertexWeightList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TVertexWeightList

Overview

Fields

Private FsubVersion: Integer;

Methods

Public | destructor Destroy; override;
Public | function newWeight: pMS3D_vertex_ex_t;
Private | function GetWeight(idx: Integer): pMS3D_vertex_ex_t;
Public | procedure Clear; override;
Private | procedure SetsubVersion(const Value: Integer);

Properties

Public | property subVersion: Integer read FsubVersion write SetsubVersion;
Public | property Weight[idx:Integer]: pMS3D_vertex_ex_t read GetWeight;

Description

Fields

Private FsubVersion: Integer;

Methods

Public destructor Destroy; override;
Public function newWeight: pMS3D_vertex_ex_t;
Private function GetWeight(idx: Integer): pMS3D_vertex_ex_t;
Public procedure Clear; override;
Private procedure SetsubVersion(const Value: Integer);

Properties

Public property subVersion: Integer read FsubVersion write SetsubVersion;
Public property Weight[idx:Integer]: pMS3D_vertex_ex_t read GetWeight;


GLSysHelp v.2.1: GLS.FileMS3D: Class TGLMS3DVectorFile

Class TGLMS3DVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileMS3D

Declaration

type TGLMS3DVectorFile = class(TGLVectorFile)

Description

The MilkShape vector file. By Mattias Fagerlund, mattias@cambrianlabs.com. Yada yada. Eric rules!

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLMS3DVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileNMF

Unit GLS.FileNMF

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TNmHeader |
Record TNmRawTriangle |
Class TFileNMF |
Class TGLNMFVectorFile |

Constants

NMF_HEADER_TAG = 'NMF ';
NMF_TRIANGLE_TAG = 'TRIS';

Description

Constants

NMF_HEADER_TAG = 'NMF ';
NMF_TRIANGLE_TAG = 'TRIS';


GLSysHelp v.2.1: GLS.FileNMF: Record TNmHeader

Record TNmHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileNMF

Declaration

type TNmHeader = record

Description

Overview

Fields

Public | hdr: array [0 .. 3] of AnsiChar;
Public | size: cardinal;

Description

Fields

Public hdr: array [0 .. 3] of AnsiChar;
Public size: cardinal;


GLSysHelp v.2.1: GLS.FileNMF: Record TNmRawTriangle

Record TNmRawTriangle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileNMF

Declaration

type TNmRawTriangle = record

Description

Overview

Fields

Public | vert: array [0 .. 2] of TAffineVector;
Public | norm: array [0 .. 2] of TAffineVector;
Public | texCoord: array [0 .. 2] of TTexPoint;

Description

Fields

Public vert: array [0 .. 2] of TAffineVector;
Public norm: array [0 .. 2] of TAffineVector;
Public texCoord: array [0 .. 2] of TTexPoint;


GLSysHelp v.2.1: GLS.FileNMF: Class TFileNMF

Class TFileNMF

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileNMF

Declaration

type TFileNMF = class(TObject)

Description

Hierarchy

  • TObject
  • TFileNMF

Overview

Fields

Public | FileHeader: TNmHeader;
Public | TrisHeader: TNmHeader;
Public | NumTris: Integer;
Public | RawTriangles: array of TNmRawTriangle;

Methods

Public | procedure LoadFromStream(Stream: TStream);
Public | procedure SaveToStream(Stream: TStream);

Description

Fields

Public FileHeader: TNmHeader;
Public TrisHeader: TNmHeader;
Public NumTris: Integer;
Public RawTriangles: array of TNmRawTriangle;

Methods

Public procedure LoadFromStream(Stream: TStream);
Public procedure SaveToStream(Stream: TStream);


GLSysHelp v.2.1: GLS.FileNMF: Class TGLNMFVectorFile

Class TGLNMFVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileNMF

Declaration

type TGLNMFVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLNMFVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileNurbs

Unit GLS.FileNurbs

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.ApplicationFileIO
  • GLS.ParametricSurfaces

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLNurbsVectorFile |


GLSysHelp v.2.1: GLS.FileNurbs: Class TGLNurbsVectorFile

Class TGLNurbsVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileNurbs

Declaration

type TGLNurbsVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLNurbsVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(stream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(stream: TStream); override;


GLSysHelp v.2.1: GLS.FileO3TC

Unit GLS.FileO3TC

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLO3TCImage |


GLSysHelp v.2.1: GLS.FileO3TC: Class TGLO3TCImage

Class TGLO3TCImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileO3TC

Declaration

type TGLO3TCImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLO3TCImage

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToFile(const filename: string); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToFile(const filename: string); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: GLS.FileO3TCImage

Unit GLS.FileO3TCImage

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Graphics
  • GLS.FileO3TC

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TO3TCImage |


GLSysHelp v.2.1: GLS.FileO3TCImage: Class TO3TCImage

Class TO3TCImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileO3TCImage

Declaration

type TO3TCImage = class(TBitmap)

Description

Hierarchy

  • TBitmap
  • TO3TCImage

Overview

Methods

Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: GLS.FileOBJ

Unit GLS.FileOBJ

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.ApplicationFileIO
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.Scene
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • GLS.Texture
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLOBJVectorFile |
Class EGLOBJFileError |
Class TGLMTLFile |

Constants

BufSize = 10240;
LineLen = 100;

Variables

vGLFileOBJ_SplitMesh: boolean = False;

Description

Constants

BufSize = 10240;

Load input data in chunks of BufSize Bytes.

LineLen = 100;

Allocate memory for the current line in chunks of LineLen Bytes.

Variables

vGLFileOBJ_SplitMesh: boolean = False;

If enabled, main mesh will be splitted into multiple mesh from facegroup data.


GLSysHelp v.2.1: GLS.FileOBJ: Class TGLOBJVectorFile

Class TGLOBJVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileOBJ

Declaration

type TGLOBJVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLOBJVectorFile

Overview

Fields

Private | FSourceStream: TStream;
Private | FBuffer: AnsiString;
Private | FLine: string;
Private | FLineNo: Integer;
Private | FEof: Boolean;
Private | FBufPos: Integer;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;
Protected | procedure CalcMissingOBJNormals(mesh: TGLMeshObject);
Protected | procedure Error(const msg: string);
Protected | procedure ReadLine;

Description

Fields

Private FSourceStream: TStream;
Private FBuffer: AnsiString;

Load from this stream

Private FLine: string;

Buffer

Private FLineNo: Integer;

current line

Private FEof: Boolean;

current Line number - for error messages

Private FBufPos: Integer;

Stream done?

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;
Protected procedure CalcMissingOBJNormals(mesh: TGLMeshObject);
Protected procedure Error(const msg: string);

Raise a class-specific exception

Protected procedure ReadLine;

Position in the buffer Read a single line of text from the source stream, set FEof to true when done.


GLSysHelp v.2.1: GLS.FileOBJ: Class EGLOBJFileError

Class EGLOBJFileError

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileOBJ

Declaration

type EGLOBJFileError = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLOBJFileError

Overview

Fields

Private FLineNo: Integer;

Properties

Public property LineNo: Integer read FLineNo;

Description

Fields

Private FLineNo: Integer;

Properties

Public property LineNo: Integer read FLineNo;


GLSysHelp v.2.1: GLS.FileOBJ: Class TGLMTLFile

Class TGLMTLFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileOBJ

Declaration

type TGLMTLFile = class(TStringList)

Description

A simple class that know how to extract infos from a mtl file. mtl files are companion files of the obj, they store material information. Guessed content (imported ones denoted with a '*', please help if you know more): materials begin with a 'newmtl' command followed by material name *Kd command defines the diffuse color *map_Kd command defines the diffuse texture image *Ka/map_Ka define the ambient color and texmap *Ks/map_Ks define the specular color and texmap *Ke/map_Ke define the self-illumination/lightmap texmap map_Bump specifies the bump map *d specifies transparency (alpha-channel, range [0; 1]) map_d specifies the opcaity texture map Ns defines the specular exponent or shininess or phong specular (?) Ni is the refraction index (greater than 1) *illum defines the illumination model (0 for no lighting, 1 for ambient and diffuse, 2 for full lighting)

Hierarchy

  • TObject
  • TPersistent
  • TStrings
  • TStringList
  • TGLMTLFile

Overview

Methods

Public | function MaterialStringProperty(const materialName, propertyName: string): string;
Public | function MaterialVectorProperty(const materialName, propertyName: string; const defaultValue: TGLVector): TGLVector;
Public | procedure Prepare;

Description

Methods

Public function MaterialStringProperty(const materialName, propertyName: string): string;
Public function MaterialVectorProperty(const materialName, propertyName: string; const defaultValue: TGLVector): TGLVector;
Public procedure Prepare;


GLSysHelp v.2.1: GLS.FileOCT

Unit GLS.FileOCT

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.Texture
  • GLS.Material
  • GLS.Graphics
  • GLS.State
  • GLS.TextureFormat
  • GLS.VectorFileObjects
  • GLS.VectorGeometry
  • GLS.ApplicationFileIO
  • Formats.OCT

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLOCTGLVectorFile |

Variables

vGLFileOCTLightmapBrightness: single = 1;
vGLFileOCTLightmapGammaCorrection: single = 1;
vGLFileOCTAllocateMaterials: boolean = True;

Description

Variables

vGLFileOCTLightmapBrightness: single = 1;
vGLFileOCTLightmapGammaCorrection: single = 1;

Scaling factor, 1.0 = unchanged

vGLFileOCTAllocateMaterials: boolean = True;

Scaling factor, 1.0 = unchanged


GLSysHelp v.2.1: GLS.FileOCT: Class TGLOCTGLVectorFile

Class TGLOCTGLVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileOCT

Declaration

type TGLOCTGLVectorFile = class(TGLVectorFile)

Description

The OCT vector file (FSRad output).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLOCTGLVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FilePAK

Unit GLS.FilePAK

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.ArchiveManager

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TPakHeader |
Record TFileSection |
Class TPAKArchive |

Constants

SIGN = 'PACK';

Description

Constants

SIGN = 'PACK';


GLSysHelp v.2.1: GLS.FilePAK: Record TPakHeader

Record TPakHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FilePAK

Declaration

type TPakHeader = record

Description

Overview

Fields

Public | Signature: array[0..3] of AnsiChar;
Public | DirOffset: integer;
Public | DirLength: integer;

Description

Fields

Public Signature: array[0..3] of AnsiChar;
Public DirOffset: integer;
Public DirLength: integer;


GLSysHelp v.2.1: GLS.FilePAK: Record TFileSection

Record TFileSection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FilePAK

Declaration

type TFileSection = record

Description

Overview

Fields

Public | FileName: array[0..119] of AnsiChar;
Public | FilePos: integer;
Public | FileLength: integer;

Description

Fields

Public FileName: array[0..119] of AnsiChar;
Public FilePos: integer;
Public FileLength: integer;


GLSysHelp v.2.1: GLS.FilePAK: Class TPAKArchive

Class TPAKArchive

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FilePAK

Declaration

type TPAKArchive = class(TGLBaseArchive)

Description

No description available, ancestor TGLBaseArchive description follows

BaseArchive class

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseArchive
  • TPAKArchive

Overview

Fields

Private | FHeader: TPakHeader;
Private | FStream: TFileStream;

Methods

Public | function ContentExists(ContentName: string): boolean; override;
Public | function GetContent(Stream: TStream; index: integer): TStream; override;
Public | function GetContent(ContentName: string): TStream; override;
Public | function GetContent(index: integer): TStream; override;
Public | function GetContentSize(index: integer): integer; override;
Public | function GetContentSize(ContentName: string): integer; override;
Private | function GetContentCount: integer;
Public | procedure AddFromFile(FileName, Path: string); override;
Public | procedure AddFromStream(ContentName, Path: string; FS: TStream); override;
Public | procedure Clear; override;
Public | procedure Extract(index: integer; NewName: string); override;
Public | procedure Extract(ContentName, NewName: string); override;
Public | procedure LoadFromFile(const FileName: string); override;
Public | procedure RemoveContent(ContentName: string); override;
Public | procedure RemoveContent(index: integer); override;
Protected | Procedure SetCompressionLevel(aValue: TCompressionLevel); override;
Private | procedure MakeContentList;

Properties

Public property ContentCount: integer Read GetContentCount;

Description

Fields

Private FHeader: TPakHeader;
Private FStream: TFileStream;

Methods

Public function ContentExists(ContentName: string): boolean; override;
Public function GetContent(Stream: TStream; index: integer): TStream; override;
Public function GetContent(ContentName: string): TStream; override;
Public function GetContent(index: integer): TStream; override;
Public function GetContentSize(index: integer): integer; override;
Public function GetContentSize(ContentName: string): integer; override;
Private function GetContentCount: integer;
Public procedure AddFromFile(FileName, Path: string); override;
Public procedure AddFromStream(ContentName, Path: string; FS: TStream); override;
Public procedure Clear; override;
Public procedure Extract(index: integer; NewName: string); override;
Public procedure Extract(ContentName, NewName: string); override;
Public procedure LoadFromFile(const FileName: string); override;
Public procedure RemoveContent(ContentName: string); override;
Public procedure RemoveContent(index: integer); override;
Protected Procedure SetCompressionLevel(aValue: TCompressionLevel); override;
Private procedure MakeContentList;

Properties

Public property ContentCount: integer Read GetContentCount;


GLSysHelp v.2.1: GLS.FilePGM

Unit GLS.FilePGM

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.Context
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.Strings
  • GLS.ApplicationFileIO
  • CUDA.Utility

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPGMImage |


GLSysHelp v.2.1: GLS.FilePGM: Class TGLPGMImage

Class TGLPGMImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FilePGM

Declaration

type TGLPGMImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLPGMImage

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToFile(const filename: string); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToFile(const filename: string); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: GLS.FilePLY

Unit GLS.FilePLY

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPLYVectorFile |


GLSysHelp v.2.1: GLS.FilePLY: Class TGLPLYVectorFile

Class TGLPLYVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FilePLY

Declaration

type TGLPLYVectorFile = class(TGLVectorFile)

Description

The PLY vector file aka Stanford Triangle Format. This is a format for storing graphical objects that are described as a collection of polygons. The format is extensible, supports variations and subformats. This importer only works for the simplest variant (triangles without specified normals, and will ignore most header specifications.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLPLYVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FilePNG

Unit GLS.FilePNG

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • VCL.Imaging.pngimage
  • GLS.OpenGLTokens
  • GLS.Strings
  • GLS.Context
  • GLS.Graphics
  • GLS.ApplicationFileIO
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPNGImage |


GLSysHelp v.2.1: GLS.FilePNG: Class TGLPNGImage

Class TGLPNGImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FilePNG

Declaration

type TGLPNGImage = class(TGLBaseImage)

Description

No description available, ancestor TGLBaseImage description follows
No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLPNGImage

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;
Public | procedure LoadFromFile(const filename: string); override;
Public | procedure LoadFromStream(AStream: TStream); override;
Public | procedure SaveToFile(const filename: string); override;
Public | procedure SaveToStream(AStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure AssignFromTexture(textureContext: TGLContext; const textureHandle: Cardinal; textureTarget: TGLTextureTarget; const CurrentFormat: Boolean; const intFormat: TGLInternalFormat); reintroduce;

Assigns from any Texture.

Public procedure LoadFromFile(const filename: string); override;
Public procedure LoadFromStream(AStream: TStream); override;
Public procedure SaveToFile(const filename: string); override;
Public procedure SaveToStream(AStream: TStream); override;


GLSysHelp v.2.1: GLS.FileQ3BSP

Unit GLS.FileQ3BSP

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorLists
  • Formats.Q3BSP
  • GLS.MeshBSP
  • GLS.Texture
  • GLS.Graphics
  • GLS.State
  • GLS.Utils
  • GLS.Material
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLQ3BSPVectorFile |

Variables

vQ3BSPLightmapGammaCorrection: Single = 2.5;
vQ3BSPLightmapBrightness: Single = 2;
vGLFileQ3BSPLoadMaterials: boolean = True;

Description

Variables

vQ3BSPLightmapGammaCorrection: Single = 2.5;

Q3 lightmaps are quite dark, we brighten them a lot by default

vQ3BSPLightmapBrightness: Single = 2;
vGLFileQ3BSPLoadMaterials: boolean = True;

scaling factor, 1.0 = unchanged


GLSysHelp v.2.1: GLS.FileQ3BSP: Class TGLQ3BSPVectorFile

Class TGLQ3BSPVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileQ3BSP

Declaration

type TGLQ3BSPVectorFile = class(TGLVectorFile)

Description

The Q3BSP vector file (Quake III BSP).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLQ3BSPVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileQ3MD3

Unit GLS.FileQ3MD3

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • GLS.Material
  • GLS.PersistentClasses
  • Formats.MD3

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TMD3TagList |

Functions and Procedures

procedure LoadQ3Anims(Animations: TGLActorAnimations; const FileName: string; const NamePrefix: string); overload;
procedure LoadQ3Anims(Animations: TGLActorAnimations; Strings: TStrings; const NamePrefix: string); overload;
procedure LoadQ3Skin(const FileName: string; Actor: TGLActor);

Description

Functions and Procedures

procedure LoadQ3Anims(Animations: TGLActorAnimations; const FileName: string; const NamePrefix: string); overload;

These procedures are helpers to load the Quake3 animation file data into an animation list. The NamePrefix parameter is used to determine which class of animation is extracted. eg NamePrefix='TORSO' will load all animations starting with 'TORSO_' like 'TORSO_STAND'

procedure LoadQ3Anims(Animations: TGLActorAnimations; Strings: TStrings; const NamePrefix: string); overload;
procedure LoadQ3Skin(const FileName: string; Actor: TGLActor);

Quake3 Skin loading procedure. Use this procedure to apply textures to a GLActor. This doens't use the actors original preloaded materials so it may be a good idea to clear the actors material library before running this to keep everything nice and clean.


GLSysHelp v.2.1: GLS.FileQ3MD3: Class TMD3TagList

Class TMD3TagList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileQ3MD3

Declaration

type TMD3TagList = class(TObject)

Description

This class is used to extract the tag transform information stored in the MD3 files. The data is used to offset each part of the model based on the parent parts animation state.

Hierarchy

  • TObject
  • TMD3TagList

Overview

Fields

Private | FTags: array of TMD3Tag;
Private | FNumTags: Integer;
Private | FNumFrames: Integer;

Methods

Public | function GetTransform(const TagName: string; Frame: Integer): TGLMatrix;
Private | function GetTag(index: Integer): TMD3Tag;
Public | procedure LoadFromFile(const FileName: String);
Public | procedure LoadFromStream(AStream: TStream);

Properties

Public | property FrameCount: Integer read FNumFrames;
Public | property TagCount: Integer read FNumTags;
Public | property Tags[index:Integer]: TMD3Tag read GetTag;

Description

Fields

Private FTags: array of TMD3Tag;
Private FNumTags: Integer;
Private FNumFrames: Integer;

Methods

Public function GetTransform(const TagName: string; Frame: Integer): TGLMatrix;
Private function GetTag(index: Integer): TMD3Tag;
Public procedure LoadFromFile(const FileName: String);
Public procedure LoadFromStream(AStream: TStream);

Properties

Public property FrameCount: Integer read FNumFrames;
Public property TagCount: Integer read FNumTags;
Public property Tags[index:Integer]: TMD3Tag read GetTag;


GLSysHelp v.2.1: GLS.FileSMD

Unit GLS.FileSMD

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • GLS.Texture
  • GLS.PersistentClasses
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSMDVectorFile |


GLSysHelp v.2.1: GLS.FileSMD: Class TGLSMDVectorFile

Class TGLSMDVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileSMD

Declaration

type TGLSMDVectorFile = class(TGLVectorFile)

Description

The SMD vector file is Half-life's skeleton format. The SMD is a text-based file format. They come in two flavors: one that old Skeleton and triangle (mesh) data, and animation files that store Skeleton frames. This reader curently reads both, but requires that the main file (the one with mesh data) be read first.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLSMDVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileSTL

Unit GLS.FileSTL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TSTLHeader |
Packed Record TSTLFace |
Class TglSTLVectorFile |

Types

TSTLVertex = TAffineVector;

Variables

STLUseEmbeddedColors: Boolean;

Description

Types

TSTLVertex = TAffineVector;

Variables

STLUseEmbeddedColors: Boolean;


GLSysHelp v.2.1: GLS.FileSTL: Packed Record TSTLHeader

Packed Record TSTLHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileSTL

Declaration

type TSTLHeader = packed record

Description

Overview

Fields

Public | dummy: array[0..79] of byte;
Public | nbFaces: Longint;

Description

Fields

Public dummy: array[0..79] of byte;
Public nbFaces: Longint;


GLSysHelp v.2.1: GLS.FileSTL: Packed Record TSTLFace

Packed Record TSTLFace

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileSTL

Declaration

type TSTLFace = packed record

Description

Overview

Fields

Public | normal: TSTLVertex;
Public | v1: TSTLVertex;
Public | v2: TSTLVertex;
Public | v3: TSTLVertex;
Public | padding: array[0..1] of byte;

Description

Fields

Public normal: TSTLVertex;
Public v1: TSTLVertex;

facet surface normal

Public v2: TSTLVertex;

vertex 1

Public v3: TSTLVertex;

vertex 2

Public padding: array[0..1] of byte;

vertex 3


GLSysHelp v.2.1: GLS.FileSTL: Class TglSTLVectorFile

Class TglSTLVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileSTL

Declaration

type TglSTLVectorFile = class(TglVectorFile)

Description

No description available, ancestor TglVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TglSTLVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileTGA

Unit GLS.FileTGA

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • GLS.Graphics

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TTGAImage |
Class ETGAException |


GLSysHelp v.2.1: GLS.FileTGA: Class TTGAImage

Class TTGAImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileTGA

Declaration

type TTGAImage = class(TBitmap)

Description

TGA image load/save capable class. TGA formats supported : 24 and 32 bits uncompressed or RLE compressed, saves only to uncompressed TGA.

Hierarchy

  • TBitmap
  • TTGAImage

Overview

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure LoadFromStream(stream: TStream); override;
Public | procedure SaveToStream(stream: TStream); override;

Description

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure LoadFromStream(stream: TStream); override;
Public procedure SaveToStream(stream: TStream); override;


GLSysHelp v.2.1: GLS.FileTGA: Class ETGAException

Class ETGAException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileTGA

Declaration

type ETGAException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • ETGAException


GLSysHelp v.2.1: GLS.FileTIN

Unit GLS.FileTIN

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.VectorTypesExt

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTINVectorFile |


GLSysHelp v.2.1: GLS.FileTIN: Class TGLTINVectorFile

Class TGLTINVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileTIN

Declaration

type TGLTINVectorFile = class(TGLVectorFile)

Description

The TIN vector file (triangle irregular network). It is a simple text format, with one triangle record per line, no materials, no texturing (there may be more, but I never saw anything in this files). This format is encountered in the DEM/DTED world and used in place of grids.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLTINVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream : TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream : TStream); override;


GLSysHelp v.2.1: GLS.FileVfsPAK

Unit GLS.FileVfsPAK

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.Contnrs
  • System.SysUtils
  • GLS.Strings
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TPakHeader |
Record TFileSection |
Class TGLVfsPAK |

Functions and Procedures

function PAKCreateFileStream(const FileName: string; Mode: word): TStream;
function PAKFileStreamExists(const FileName: string): Boolean;

Types

TZCompressedMode = (...);

Constants

SIGN = 'PACK';
SIGN_COMPRESSED = 'PACZ';

Variables

ActiveVfsPAK: TGLVfsPAK;

Description

Functions and Procedures

function PAKCreateFileStream(const FileName: string; Mode: word): TStream;
function PAKFileStreamExists(const FileName: string): Boolean;

Types

TZCompressedMode = (...);

Signature for compressed pak.

Values
  • Good
  • Fast
  • Auto
  • None

Constants

SIGN = 'PACK';
SIGN_COMPRESSED = 'PACZ';

Signature for uncompressed - raw pak.

Variables

ActiveVfsPAK: TGLVfsPAK;


GLSysHelp v.2.1: GLS.FileVfsPAK: Record TPakHeader

Record TPakHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVfsPAK

Declaration

type TPakHeader = record

Description

Overview

Fields

Public | Signature: array [0 .. 3] of AnsiChar;
Public | DirOffset: integer;
Public | DirLength: integer;

Description

Fields

Public Signature: array [0 .. 3] of AnsiChar;
Public DirOffset: integer;
Public DirLength: integer;


GLSysHelp v.2.1: GLS.FileVfsPAK: Record TFileSection

Record TFileSection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVfsPAK

Declaration

type TFileSection = record

Description

Overview

Fields

Public | FileName: array [0 .. 119] of AnsiChar;
Public | FilePos: integer;
Public | FileLength: integer;

Description

Fields

Public FileName: array [0 .. 119] of AnsiChar;
Public FilePos: integer;
Public FileLength: integer;


GLSysHelp v.2.1: GLS.FileVfsPAK: Class TGLVfsPAK

Class TGLVfsPAK

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVfsPAK

Declaration

type TGLVfsPAK = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLVfsPAK

Overview

Fields

Private | FPakFiles: TStringList;
Private | FHeader: TPakHeader;
Private | FHeaderList: array of TPakHeader;
Private | FStream: TFileStream;
Private | FStreamList: TObjectList;
Private | FFiles: TStrings;
Private | FFilesLists: TObjectList;
Private | FFileName: string;
Private | FCompressionLevel: TZCompressedMode;
Private | FCompressed: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); overload; override;
Public | constructor Create(AOwner: TComponent; const CbrMode: TZCompressedMode); reintroduce; overload;
Public | destructor Destroy; override;
Public | function FileExists(const FileName: string): Boolean;
Public | function GetFile(const FileName: string): TStream; overload;
Public | function GetFile(index: integer): TStream; overload;
Public | function GetFileSize(index: integer): integer; overload;
Public | function GetFileSize(const FileName: string): integer; overload;
Private | function GetFileCount: integer;
Private | function GetStreamNumber: integer;
Public | procedure AddEmptyFile(const FileName, Path: string);
Public | procedure AddFromFile(const FileName, Path: string);
Public | procedure AddFromStream(const FileName, Path: string; F: TStream);
Public | procedure ClearPakFiles;
Public | procedure Extract(index: integer; const NewName: string); overload;
Public | procedure Extract(const FileName, NewName: string); overload;
Public | procedure LoadFromFile(const FileName: string; Mode: word);
Public | procedure RemoveFile(const FileName: string); overload;
Public | procedure RemoveFile(index: integer); overload;
Private | procedure MakeFileList;
Private | procedure SetStreamNumber(i: integer);

Properties

Public | property ActivePakNum: integer read GetStreamNumber write SetStreamNumber;
Public | property Compressed: Boolean read FCompressed;
Public | property CompressionLevel: TZCompressedMode read FCompressionLevel;
Public | property FileCount: integer Read GetFileCount;
Public | property Files: TStrings read FFiles;
Public | property PakFileName: string Read FFileName;
Public | property PakFiles: TStringList read FPakFiles;

Description

Fields

Private FPakFiles: TStringList;
Private FHeader: TPakHeader;
Private FHeaderList: array of TPakHeader;
Private FStream: TFileStream;
Private FStreamList: TObjectList;
Private FFiles: TStrings;
Private FFilesLists: TObjectList;
Private FFileName: string;
Private FCompressionLevel: TZCompressedMode;
Private FCompressed: Boolean;

Methods

Public constructor Create(AOwner: TComponent); overload; override;
Public constructor Create(AOwner: TComponent; const CbrMode: TZCompressedMode); reintroduce; overload;
Public destructor Destroy; override;
Public function FileExists(const FileName: string): Boolean;
Public function GetFile(const FileName: string): TStream; overload;
Public function GetFile(index: integer): TStream; overload;
Public function GetFileSize(index: integer): integer; overload;
Public function GetFileSize(const FileName: string): integer; overload;
Private function GetFileCount: integer;
Private function GetStreamNumber: integer;
Public procedure AddEmptyFile(const FileName, Path: string);
Public procedure AddFromFile(const FileName, Path: string);
Public procedure AddFromStream(const FileName, Path: string; F: TStream);
Public procedure ClearPakFiles;
Public procedure Extract(index: integer; const NewName: string); overload;
Public procedure Extract(const FileName, NewName: string); overload;
Public procedure LoadFromFile(const FileName: string; Mode: word);

for Mode value search Delphi Help for "File open mode constants"

Public procedure RemoveFile(const FileName: string); overload;
Public procedure RemoveFile(index: integer); overload;
Private procedure MakeFileList;
Private procedure SetStreamNumber(i: integer);

Properties

Public property ActivePakNum: integer read GetStreamNumber write SetStreamNumber;
Public property Compressed: Boolean read FCompressed;
Public property CompressionLevel: TZCompressedMode read FCompressionLevel;
Public property FileCount: integer Read GetFileCount;
Public property Files: TStrings read FFiles;
Public property PakFileName: string Read FFileName;
Public property PakFiles: TStringList read FPakFiles;


GLSysHelp v.2.1: GLS.FileVOR

Unit GLS.FileVOR

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TVORHeader |
Packed Record TVORFace |
Class TGLVORVectorFile |

Types

TVORVertex = TAffineVector;

Variables

VORUseEmbeddedColors: Boolean;

Description

Types

TVORVertex = TAffineVector;

Variables

VORUseEmbeddedColors: Boolean;


GLSysHelp v.2.1: GLS.FileVOR: Packed Record TVORHeader

Packed Record TVORHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVOR

Declaration

type TVORHeader = packed record

Description

Overview

Fields

Public | dummy: array[0..79] of byte;
Public | nbFaces: Longint;

Description

Fields

Public dummy: array[0..79] of byte;
Public nbFaces: Longint;


GLSysHelp v.2.1: GLS.FileVOR: Packed Record TVORFace

Packed Record TVORFace

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVOR

Declaration

type TVORFace = packed record

Description

Overview

Fields

Public | normal: TVORVertex;
Public | v1: TVORVertex;
Public | v2: TVORVertex;
Public | v3: TVORVertex;
Public | padding: array[0..1] of byte;

Description

Fields

Public normal: TVORVertex;
Public v1: TVORVertex;

facet surface normal

Public v2: TVORVertex;

vertex 1

Public v3: TVORVertex;

vertex 2

Public padding: array[0..1] of byte;

vertex 3


GLSysHelp v.2.1: GLS.FileVOR: Class TGLVORVectorFile

Class TGLVORVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVOR

Declaration

type TGLVORVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLVORVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileVRML

Unit GLS.FileVRML

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.VectorFileObjects
  • GLS.Material
  • GLS.ApplicationFileIO
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • Formats.VRML
  • GLS.MeshUtils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLVRMLVectorFile |


GLSysHelp v.2.1: GLS.FileVRML: Class TGLVRMLVectorFile

Class TGLVRMLVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileVRML

Declaration

type TGLVRMLVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLVRMLVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileWAV

Unit GLS.FileWAV

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.MMSystem
  • System.Classes
  • GLS.ApplicationFileIO
  • GLS.SoundFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLWAVFile |


GLSysHelp v.2.1: GLS.FileWAV: Class TGLWAVFile

Class TGLWAVFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileWAV

Declaration

type TGLWAVFile = class(TGLSoundFile)

Description

Support for Windows WAV format.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLSoundFile
  • TGLWAVFile

Overview

Fields

Private | waveFormat: TWaveFormatEx;
Private | pcmOffset: Integer;
Private | FPCMDataLength: Integer;
Private | data: array of Byte;

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | function CreateCopy(AOwner: TPersistent) : TGLDataFile; override;
Public | function LengthInBytes: Integer; override;
Public | function PCMData: Pointer; override;
Public | function WAVData: Pointer; override;
Public | function WAVDataSize: Integer; override;
Public | procedure LoadFromStream(Stream: TStream); override;
Public | procedure PlayOnWaveOut; override;
Public | procedure SaveToStream(Stream: TStream); override;

Description

Fields

Private waveFormat: TWaveFormatEx;
Private pcmOffset: Integer;
Private FPCMDataLength: Integer;
Private data: array of Byte;

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public function CreateCopy(AOwner: TPersistent) : TGLDataFile; override;

used to store WAVE bitstream

Public function LengthInBytes: Integer; override;
Public function PCMData: Pointer; override;
Public function WAVData: Pointer; override;
Public function WAVDataSize: Integer; override;
Public procedure LoadFromStream(Stream: TStream); override;
Public procedure PlayOnWaveOut; override;
Public procedure SaveToStream(Stream: TStream); override;


GLSysHelp v.2.1: GLS.FileX

Unit GLS.FileX

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.VectorLists
  • GLS.Material
  • Formats.X

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLXVectorFile |


GLSysHelp v.2.1: GLS.FileX: Class TGLXVectorFile

Class TGLXVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileX

Declaration

type TGLXVectorFile = class(TGLVectorFile)

Description

No description available, ancestor TGLVectorFile description follows

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLXVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.FileZLIB

Unit GLS.FileZLIB

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.ZLib
  • GLS.ArchiveManager

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TZLibHeader |
Record TFileSection |
Class TZLibArchive |

Constants

SIGN = 'ZLIB';

Description

Constants

SIGN = 'ZLIB';


GLSysHelp v.2.1: GLS.FileZLIB: Record TZLibHeader

Record TZLibHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileZLIB

Declaration

type TZLibHeader = record

Description

Signature for compressed zlib.

Overview

Fields

Public | Signature: array[0..3] of AnsiChar;
Public | DirOffset: integer;
Public | DirLength: integer;

Description

Fields

Public Signature: array[0..3] of AnsiChar;
Public DirOffset: integer;
Public DirLength: integer;


GLSysHelp v.2.1: GLS.FileZLIB: Record TFileSection

Record TFileSection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileZLIB

Declaration

type TFileSection = record

Description

Overview

Fields

Public | FileName: array[0..119] of AnsiChar;
Public | FilePos: integer;
Public | FileLength: integer;
Public | CbrMode: TCompressionLevel;

Description

Fields

Public FileName: array[0..119] of AnsiChar;
Public FilePos: integer;
Public FileLength: integer;
Public CbrMode: TCompressionLevel;


GLSysHelp v.2.1: GLS.FileZLIB: Class TZLibArchive

Class TZLibArchive

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FileZLIB

Declaration

type TZLibArchive = class(TGLBaseArchive)

Description

No description available, ancestor TGLBaseArchive description follows

BaseArchive class

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseArchive
  • TZLibArchive

Overview

Fields

Private | FHeader: TZLibHeader;
Private | FStream: TFileStream;

Methods

Public | destructor Destroy; override;
Public | function ContentExists(ContentName: string): boolean; override;
Public | function GetContent(aStream: TStream; index: integer): TStream; override;
Public | function GetContent(index: integer): TStream; override;
Public | function GetContent(ContentName: string): TStream; override;
Public | function GetContentSize(index: integer): integer; override;
Public | function GetContentSize(ContentName: string): integer; override;
Private | function GetContentCount: integer;
Public | procedure AddFromFile(FileName, Path: string); override;
Public | procedure AddFromStream(ContentName, Path: string; FS: TStream); override;
Public | procedure Clear; override;
Public | procedure Extract(ContentName, NewName: string); override;
Public | procedure Extract(index: integer; NewName: string); override;
Public | procedure LoadFromFile(const FileName: string); override;
Public | procedure RemoveContent(ContentName: string); overload; override;
Public | procedure RemoveContent(index: integer); overload; override;
Private | procedure MakeContentList;

Properties

Public property ContentCount: integer Read GetContentCount;

Description

Fields

Private FHeader: TZLibHeader;
Private FStream: TFileStream;

Methods

Public destructor Destroy; override;
Public function ContentExists(ContentName: string): boolean; override;
Public function GetContent(aStream: TStream; index: integer): TStream; override;
Public function GetContent(index: integer): TStream; override;
Public function GetContent(ContentName: string): TStream; override;
Public function GetContentSize(index: integer): integer; override;
Public function GetContentSize(ContentName: string): integer; override;
Private function GetContentCount: integer;
Public procedure AddFromFile(FileName, Path: string); override;
Public procedure AddFromStream(ContentName, Path: string; FS: TStream); override;
Public procedure Clear; override;
Public procedure Extract(ContentName, NewName: string); override;
Public procedure Extract(index: integer; NewName: string); override;
Public procedure LoadFromFile(const FileName: string); override;
Public procedure RemoveContent(ContentName: string); overload; override;
Public procedure RemoveContent(index: integer); overload; override;
Private procedure MakeContentList;

Properties

Public property ContentCount: integer Read GetContentCount;


GLSysHelp v.2.1: GLS.FireFX

Unit GLS.FireFX

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.PipelineTransformation
  • GLS.XCollection
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.VectorLists
  • GLS.VectorTypes
  • GLS.Cadencer
  • GLS.Color
  • GLS.BaseClasses
  • GLS.Coordinates
  • GLS.Manager
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLFireParticle |
Class TGLFireFXManager |
Class TGLBFireFX |

Functions and Procedures

function GetOrCreateFireFX(effects: TGLEffects): TGLBFireFX; overload;
function GetOrCreateFireFX(obj: TGLBaseSceneObject): TGLBFireFX; overload;

Types

PGLFireParticle = ˆTGLFireParticle;
PGLFireParticleArray = ˆTGLFireParticleArray;
TGLFireParticleArray = array[0..MAXINT shr 6] of TGLFireParticle;

Description

Functions and Procedures

function GetOrCreateFireFX(effects: TGLEffects): TGLBFireFX; overload;

Returns or creates the TGLBFireFX within the given behaviours. This helper function is convenient way to access a TGLBFireFX.

function GetOrCreateFireFX(obj: TGLBaseSceneObject): TGLBFireFX; overload;

Returns or creates the TGLBFireFX within the given object's behaviours. This helper function is convenient way to access a TGLBFireFX.

Types

PGLFireParticle = ˆTGLFireParticle;
PGLFireParticleArray = ˆTGLFireParticleArray;
TGLFireParticleArray = array[0..MAXINT shr 6] of TGLFireParticle;


GLSysHelp v.2.1: GLS.FireFX: Record TGLFireParticle

Record TGLFireParticle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FireFX

Declaration

type TGLFireParticle = record

Description

Overview

Fields

Public | Position: TGLVector;
Public | Speed: TGLVector;
Public | Alpha: Single;
Public | TimeToLive: Single;
Public | LifeLength: Single;

Description

Fields

Public Position: TGLVector;
Public Speed: TGLVector;
Public Alpha: Single;
Public TimeToLive: Single;
Public LifeLength: Single;


GLSysHelp v.2.1: GLS.FireFX: Class TGLFireFXManager

Class TGLFireFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FireFX

Declaration

type TGLFireFXManager = class(TGLCadenceAbleComponent)

Description

Fire special effect manager. Defines the looks and behaviour of a particle system that can be made to look fire-like.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLFireFXManager

Overview

Fields

Private | FClients: TList;
Private | FFireParticles: PGLFireParticleArray;
Private | FFireDir: TGLCoordinates;
Private | FInitialDir: TGLCoordinates;
Private | FCadencer: TGLCadencer;
Private | FMaxParticles: Integer;
Private | FParticleLife: Integer;
Private | FParticleSize: Single;
Private | FFireDensity: Single;
Private | FFireEvaporation: Single;
Private | FFireCrown: Single;
Private | FParticleInterval: Single;
Private | IntervalDelta: Single;
Private | NP: Integer;
Private | FInnerColor: TGLColor;
Private | FOuterColor: TGLColor;
Private | FFireBurst: Single;
Private | FFireRadius: Single;
Private | FDisabled: Boolean;
Private | FPaused: Boolean;
Private | FUseInterval: Boolean;
Private | FReference: TGLBaseSceneObject;
Private | FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreParticleSize: Boolean;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure FireInit;
Public | procedure IsotropicExplosion(minInitialSpeed, maxInitialSpeed, lifeBoostFactor: Single; nbParticles: Integer = -1);
Public | procedure RingExplosion(minInitialSpeed, maxInitialSpeed, lifeBoostFactor: Single; const ringVectorX, ringVectorY: TAffineVector; nbParticles: Integer = -1);
Protected | procedure AffParticle3d(Color2: TGLColorVector; const mat: TGLMatrix);
Protected | procedure CalcFire(deltaTime: Double; ParticleInterval, ParticleLife: Single; FireAlpha: Single);
Protected | procedure DeRegisterAllClients;
Protected | procedure DeRegisterClient(aClient: TGLBFireFX);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure RegisterClient(aClient: TGLBFireFX);
Protected | procedure SetCadencer(const val: TGLCadencer);
Protected | procedure SetFireDir(const val: TGLCoordinates);
Protected | procedure SetInitialDir(const val: TGLCoordinates);
Protected | procedure SetInnerColor(const val: TGLcolor);
Protected | procedure SetMaxParticles(const val: Integer);
Protected | procedure SetOuterColor(const val: TGLcolor);
Protected | procedure SetReference(const val: TGLBaseSceneObject);

Properties

Published | property Cadencer: TGLCadencer read FCadencer write SetCadencer;
Published | property Disabled: Boolean read FDisabled write FDisabled;
Published | property FireBurst: Single read FFireBurst write FFireBurst;
Published | property FireCrown: Single read FFireCrown write FFireCrown;
Published | property FireDensity: Single read FFireDensity write FFireDensity;
Published | property FireDir: TGLCoordinates read FFireDir write SetFireDir;
Published | property FireEvaporation: Single read FFireEvaporation write FFireEvaporation;
Published | property FireRadius: Single read FFireRadius write FFireRadius;
Published | property InitialDir: TGLCoordinates read FInitialDir write SetInitialDir;
Published | property InnerColor: TGLcolor read FInnerColor write SetInnerColor;
Published | property MaxParticles: Integer read FMaxParticles write SetMaxParticles default 256;
Published | property NoZWrite: Boolean read FNoZWrite write FNoZWrite default True;
Published | property OuterColor: TGLcolor read FOuterColor write SetOuterColor;
Public | property ParticleCount: Integer read NP;
Published | property ParticleInterval: Single read FParticleInterval write FParticleInterval;
Published | property ParticleLife: Integer read FParticleLife write FParticleLife default 3;
Published | property ParticleSize: Single read FParticleSize write FParticleSize stored StoreParticleSize;
Published | property Paused: Boolean read FPaused write FPaused;
Published | property Reference: TGLBaseSceneObject read FReference write SetReference;
Published | property UseInterval: Boolean read FUseInterval write FUseInterval;

Description

Fields

Private FClients: TList;
Private FFireParticles: PGLFireParticleArray;
Private FFireDir: TGLCoordinates;
Private FInitialDir: TGLCoordinates;
Private FCadencer: TGLCadencer;
Private FMaxParticles: Integer;
Private FParticleLife: Integer;
Private FParticleSize: Single;
Private FFireDensity: Single;
Private FFireEvaporation: Single;
Private FFireCrown: Single;
Private FParticleInterval: Single;
Private IntervalDelta: Single;
Private NP: Integer;
Private FInnerColor: TGLColor;
Private FOuterColor: TGLColor;
Private FFireBurst: Single;
Private FFireRadius: Single;
Private FDisabled: Boolean;
Private FPaused: Boolean;
Private FUseInterval: Boolean;
Private FReference: TGLBaseSceneObject;
Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreParticleSize: Boolean;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure FireInit;

Reinitializes the fire.

Public procedure IsotropicExplosion(minInitialSpeed, maxInitialSpeed, lifeBoostFactor: Single; nbParticles: Integer = -1);

Spawns a large quantity of particles to simulate an isotropic explosion. This method generates an isotropic explosion, i.e. there is no privilegied direction in the initial vector.

Public procedure RingExplosion(minInitialSpeed, maxInitialSpeed, lifeBoostFactor: Single; const ringVectorX, ringVectorY: TAffineVector; nbParticles: Integer = -1);

Spawns a large quantity of particles to simulate a ring explosion. This method generates a ring explosion. The plane of the ring is described by ringVectorX/Y, which should be of unit length (but you may not make them of unit length if you want "elliptic" rings).

Protected procedure AffParticle3d(Color2: TGLColorVector; const mat: TGLMatrix);
Protected procedure CalcFire(deltaTime: Double; ParticleInterval, ParticleLife: Single; FireAlpha: Single);
Protected procedure DeRegisterAllClients;
Protected procedure DeRegisterClient(aClient: TGLBFireFX);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure RegisterClient(aClient: TGLBFireFX);
Protected procedure SetCadencer(const val: TGLCadencer);
Protected procedure SetFireDir(const val: TGLCoordinates);
Protected procedure SetInitialDir(const val: TGLCoordinates);
Protected procedure SetInnerColor(const val: TGLcolor);
Protected procedure SetMaxParticles(const val: Integer);
Protected procedure SetOuterColor(const val: TGLcolor);
Protected procedure SetReference(const val: TGLBaseSceneObject);

Properties

Published property Cadencer: TGLCadencer read FCadencer write SetCadencer;

The cadencer that will "drive" the animation of the system.

Published property Disabled: Boolean read FDisabled write FDisabled;

If true, no new particles are spawn. But current ones continue to live and die.

Published property FireBurst: Single read FFireBurst write FFireBurst;
Published property FireCrown: Single read FFireCrown write FFireCrown;

Adjust a crown (circular) radius on which particles are spawned. With a value of zero, the particles are spawned in the FireRadius cube around the origin, with a non zero value, they appear in a torus of major radius FireCrown, and minor radius FireRadius*1.73.

Published property FireDensity: Single read FFireDensity write FFireDensity;

default clrWhite;

Published property FireDir: TGLCoordinates read FFireDir write SetFireDir;

Adjusts the acceleration direction (abs coordinates).

Published property FireEvaporation: Single read FFireEvaporation write FFireEvaporation;
Published property FireRadius: Single read FFireRadius write FFireRadius;

Adjusts the random birth radius for particles (actually a birth cube).

Published property InitialDir: TGLCoordinates read FInitialDir write SetInitialDir;

Adjusts the initial direction (abs coordinates).

Published property InnerColor: TGLcolor read FInnerColor write SetInnerColor;

Inner color of a particle.

Published property MaxParticles: Integer read FMaxParticles write SetMaxParticles default 256;

Maximum number of simultaneous particles in the system.

Published property NoZWrite: Boolean read FNoZWrite write FNoZWrite default True;

Particle's render won't write to Z-Buffer

Published property OuterColor: TGLcolor read FOuterColor write SetOuterColor;

Outer color of a particle.

Public property ParticleCount: Integer read NP;

Current Nb of particles.

Published property ParticleInterval: Single read FParticleInterval write FParticleInterval;

Interval between particles births (in sec). The interval may not be honoured if MawParticles is reached.

Published property ParticleLife: Integer read FParticleLife write FParticleLife default 3;

Life length of particle.

Published property ParticleSize: Single read FParticleSize write FParticleSize stored StoreParticleSize;

Size of the particle, in absolute units.

Published property Paused: Boolean read FPaused write FPaused;

When paused, the fire animation is freezed.

Published property Reference: TGLBaseSceneObject read FReference write SetReference;

Specifies an optional object whose position to use as reference. This property allows switching between static/shared fires (for fireplaces or static torches) and dynamic fire trails. The absolute position of the reference object is 'central' spawning point for new particles, usually, the object will be the one and only one on which the effect is applied.

Published property UseInterval: Boolean read FUseInterval write FUseInterval;

Enable/disable use of ParticleInterval. If true ParticleInterval is used, if False, the system will attempt to maintain a particle count of MaxParticles, by spawning new particles to replace the dead ones ASAP.


GLSysHelp v.2.1: GLS.FireFX: Class TGLBFireFX

Class TGLBFireFX

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FireFX

Declaration

type TGLBFireFX = class(TGLObjectPostEffect)

Description

Fire special effect. This effect works as a client of TFireFXManager

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPostEffect
  • TGLBFireFX

Overview

Fields

Private | FManager: TGLFireFXManager;
Private | FManagerName: string;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetManager(const val: TGLFireFXManager);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Manager: TGLFireFXManager read FManager write SetManager;

Description

Fields

Private FManager: TGLFireFXManager;
Private FManagerName: string;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Render(var rci: TGLRenderContextInfo); override;

Old - procedure Render(sceneBuffer: TGLSceneBuffer; var rci: TGLRenderContextInfo); override;

Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetManager(const val: TGLFireFXManager);

NOT persistent, temporarily used for persistence

Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Manager: TGLFireFXManager read FManager write SetManager;

Refers the collision manager.


GLSysHelp v.2.1: GLS.FPSMovement

Unit GLS.FPSMovement

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.Windows
  • System.Classes
  • System.Types
  • System.SysUtils
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.Coordinates
  • GLS.VectorTypes
  • GLS.Context
  • GLS.VectorGeometry
  • GLS.Scene
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • GLS.XCollection
  • GLS.GeomObjects
  • GLS.Navigator
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.Manager
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLContactPoint |
Class TGLCollisionState |
Class TGLCollisionStates |
Class TGLMapCollectionItem |
Class TGLMapCollection |
Class TGLFPSMovementManager |
Class TGLBFPSMovement |

Functions and Procedures

function GetFPSMovement(behaviours: TGLBehaviours): TGLBFPSMovement; overload;
function GetFPSMovement(obj: TGLBaseSceneObject): TGLBFPSMovement; overload;
function GetOrCreateFPSMovement(behaviours: TGLBehaviours): TGLBFPSMovement; overload;
function GetOrCreateFPSMovement(obj: TGLBaseSceneObject): TGLBFPSMovement; overload;

Types

TGLMapCollectionItemClass = class of TGLMapCollectionItem;

Description

Functions and Procedures

function GetFPSMovement(behaviours: TGLBehaviours): TGLBFPSMovement; overload;
function GetFPSMovement(obj: TGLBaseSceneObject): TGLBFPSMovement; overload;
function GetOrCreateFPSMovement(behaviours: TGLBehaviours): TGLBFPSMovement; overload;
function GetOrCreateFPSMovement(obj: TGLBaseSceneObject): TGLBFPSMovement; overload;

Types

TGLMapCollectionItemClass = class of TGLMapCollectionItem;


GLSysHelp v.2.1: GLS.FPSMovement: Record TGLContactPoint

Record TGLContactPoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLContactPoint = record

Description

Overview

Fields

Public | intPoint: TGLVector;
Public | intNormal: TGLVector;

Description

Fields

Public intPoint: TGLVector;
Public intNormal: TGLVector;


GLSysHelp v.2.1: GLS.FPSMovement: Class TGLCollisionState

Class TGLCollisionState

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLCollisionState = class(TObject)

Description

Hierarchy

  • TObject
  • TGLCollisionState

Overview

Fields

Public | Position: TGLVector;
Public | Contact: TGLContactPoint;
Public | Time: Int64;

Description

Fields

Public Position: TGLVector;
Public Contact: TGLContactPoint;
Public Time: Int64;


GLSysHelp v.2.1: GLS.FPSMovement: Class TGLCollisionStates

Class TGLCollisionStates

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLCollisionStates = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLCollisionStates


GLSysHelp v.2.1: GLS.FPSMovement: Class TGLMapCollectionItem

Class TGLMapCollectionItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLMapCollectionItem = class(TXCollectionItem)

Description

No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLMapCollectionItem

Overview

Fields

Private | FMap: TGLFreeForm;
Private | FMapName: string;
Private | FCollisionGroup: integer;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | class function FriendlyName: String; override;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure setMap(value: TGLFreeForm);

Properties

Published | property CollisionGroup: integer read FCollisionGroup write FCollisionGroup;
Published | property Map: TGLFreeForm read FMap write setMap;

Description

Fields

Private FMap: TGLFreeForm;
Private FMapName: string;
Private FCollisionGroup: integer;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public class function FriendlyName: String; override;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure setMap(value: TGLFreeForm);

Properties

Published property CollisionGroup: integer read FCollisionGroup write FCollisionGroup;

Indicates the collision group of this map. A Collision Group is a set of logical maps and movers that can collide between themselves (i.e. a Behaviour with group 1 can only collide with maps that are also on group 1).

Published property Map: TGLFreeForm read FMap write setMap;


GLSysHelp v.2.1: GLS.FPSMovement: Class TGLMapCollection

Class TGLMapCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLMapCollection = class(TXCollection)

Description

No description available, ancestor TXCollection description follows

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLMapCollection

Overview

Methods

Public | function addMap(Map: TGLFreeForm; CollisionGroup: integer = 0) : TGLMapCollectionItem;
Public | function findMap(mapFreeForm: TGLFreeForm): TGLMapCollectionItem;
Public | class function ItemsClass: TXCollectionItemClass; override;

Description

Methods

Public function addMap(Map: TGLFreeForm; CollisionGroup: integer = 0) : TGLMapCollectionItem;
Public function findMap(mapFreeForm: TGLFreeForm): TGLMapCollectionItem;
Public class function ItemsClass: TXCollectionItemClass; override;


GLSysHelp v.2.1: GLS.FPSMovement: Class TGLFPSMovementManager

Class TGLFPSMovementManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLFPSMovementManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLFPSMovementManager

Overview

Fields

Private | FNavigator: TGLNavigator;
Private | FDisplayTime: integer;
Private | FMovementScale: single;
Private | FMaps: TGLMapCollection;
Private | FScene: TGLScene;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function SphereSweepAndSlide(freeform: TGLFreeForm; behaviour: TGLBFPSMovement; SphereStart: TGLVector; var Velocity, newPosition: TGLVector; sphereRadius: single): boolean; overload;
Public | procedure SphereSweepAndSlide(behaviour: TGLBFPSMovement; SphereStart: TGLVector; var Velocity, newPosition: TGLVector; sphereRadius: single); overload;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadMaps(stream: TStream);
Protected | procedure WriteMaps(stream: TStream);
Private | procedure DrawArrows(intPoint, intNormal, Ray: TGLVector; Arrow1, Arrow2: TGLArrowLine);
Private | procedure SetNavigator(value: TGLNavigator);
Private | procedure setScene(value: TGLScene);

Properties

Published | property DisplayTime: integer read FDisplayTime write FDisplayTime;
Published | property Maps: TGLMapCollection read FMaps write FMaps;
Published | property MovementScale: single read FMovementScale write FMovementScale;
Published | property Navigator: TGLNavigator read FNavigator write SetNavigator;
Published | property Scene: TGLScene read FScene write setScene;

Description

Fields

Private FNavigator: TGLNavigator;
Private FDisplayTime: integer;
Private FMovementScale: single;
Private FMaps: TGLMapCollection;
Private FScene: TGLScene;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function SphereSweepAndSlide(freeform: TGLFreeForm; behaviour: TGLBFPSMovement; SphereStart: TGLVector; var Velocity, newPosition: TGLVector; sphereRadius: single): boolean; overload;

Basic idea is to OctreeSphereSweepIntersect to plane, update position then change velocity to slide along the plane. Camera can collide with multiple planes (e.g. floor + multiple walls + ceiling) limit iterations to 4 or 5 for now, may need to be higher for more complex maps or fast motion

Public procedure SphereSweepAndSlide(behaviour: TGLBFPSMovement; SphereStart: TGLVector; var Velocity, newPosition: TGLVector; sphereRadius: single); overload;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadMaps(stream: TStream);
Protected procedure WriteMaps(stream: TStream);
Private procedure DrawArrows(intPoint, intNormal, Ray: TGLVector; Arrow1, Arrow2: TGLArrowLine);
Private procedure SetNavigator(value: TGLNavigator);
Private procedure setScene(value: TGLScene);

Properties

Published property DisplayTime: integer read FDisplayTime write FDisplayTime;

Display Time for the arrow lines.

Published property Maps: TGLMapCollection read FMaps write FMaps;
Published property MovementScale: single read FMovementScale write FMovementScale;
Published property Navigator: TGLNavigator read FNavigator write SetNavigator;
Published property Scene: TGLScene read FScene write setScene;


GLSysHelp v.2.1: GLS.FPSMovement: Class TGLBFPSMovement

Class TGLBFPSMovement

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FPSMovement

Declaration

type TGLBFPSMovement = class(TGLBehaviour)

Description

No description available, ancestor TGLBehaviour description follows

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBFPSMovement

Overview

Fields

Private | FManager: TGLFPSMovementManager;
Private | CollisionStates: TGLCollisionStates;
Private | ArrowLine1: TGLArrowLine;
Private | ArrowLine2: TGLArrowLine;
Private | ArrowLine3: TGLArrowLine;
Private | ArrowLine4: TGLArrowLine;
Private | ArrowLine5: TGLArrowLine;
Private | ArrowLine6: TGLArrowLine;
Private | dirGl: TGLDirectOpenGL;
Private | tickCount: Int64;
Private | oldPosition: TGLVector;
Private | FGravityEnabled: boolean;
Private | FSphereRadius: single;
Private | FShowArrows: boolean;
Private | FCollisionGroup: integer;
Private | FManagerName: string;
Public | Velocity: TGLVector;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure MoveForward(Distance: single);
Public | procedure StrafeHorizontal(Distance: single);
Public | procedure StrafeVertical(Distance: single);
Public | procedure Straighten;
Public | procedure TurnHorizontal(Angle: single);
Public | procedure TurnVertical(Angle: single);
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure RenderArrowLines(Sender: TObject; var rci: TGLRenderContextInfo);
Private | procedure setShowArrows(value: boolean);

Properties

Published | property CollisionGroup: integer read FCollisionGroup write FCollisionGroup;
Published | property GravityEnabled: boolean read FGravityEnabled write FGravityEnabled;
Published | property Manager: TGLFPSMovementManager read FManager write FManager;
Published | property ShowArrows: boolean read FShowArrows write setShowArrows;
Published | property sphereRadius: single read FSphereRadius write FSphereRadius;

Description

Fields

Private FManager: TGLFPSMovementManager;
Private CollisionStates: TGLCollisionStates;
Private ArrowLine1: TGLArrowLine;
Private ArrowLine2: TGLArrowLine;
Private ArrowLine3: TGLArrowLine;
Private ArrowLine4: TGLArrowLine;
Private ArrowLine5: TGLArrowLine;
Private ArrowLine6: TGLArrowLine;
Private dirGl: TGLDirectOpenGL;
Private tickCount: Int64;
Private oldPosition: TGLVector;
Private FGravityEnabled: boolean;
Private FSphereRadius: single;
Private FShowArrows: boolean;
Private FCollisionGroup: integer;
Private FManagerName: string;
Public Velocity: TGLVector;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure MoveForward(Distance: single);
Public procedure StrafeHorizontal(Distance: single);
Public procedure StrafeVertical(Distance: single);
Public procedure Straighten;
Public procedure TurnHorizontal(Angle: single);
Public procedure TurnVertical(Angle: single);
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure RenderArrowLines(Sender: TObject; var rci: TGLRenderContextInfo);
Private procedure setShowArrows(value: boolean);

Properties

Published property CollisionGroup: integer read FCollisionGroup write FCollisionGroup;

Indicates the collision group of this behaviour. A Collision Group is a set of logical maps and movers that can collide between themselves (i.e. a Behaviour with group 1 can only collide with maps that are also on group 1)

Published property GravityEnabled: boolean read FGravityEnabled write FGravityEnabled;
Published property Manager: TGLFPSMovementManager read FManager write FManager;
Published property ShowArrows: boolean read FShowArrows write setShowArrows;

Show Arrows and trailing for debuging.

Published property sphereRadius: single read FSphereRadius write FSphereRadius;

Radius to execute the testing with. A value < 0 indicates to use the boundingSphereRadius of the object.


GLSysHelp v.2.1: GLS.FullScreenViewer

Unit GLS.FullScreenViewer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.Classes
  • System.SysUtils
  • VCL.Forms
  • VCL.Controls
  • VCL.Menus
  • GLS.OpenGLTokens
  • GLS.Utils
  • GLS.Context
  • GLS.Scene
  • GLS.SceneViewer

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFullScreenViewer |

Functions and Procedures

procedure Register;

Types

TGLScreenDepth = (...);

Description

Functions and Procedures

procedure Register;

Types

TGLScreenDepth = (...);
Values
  • sd8bits
  • sd16bits
  • sd24bits
  • sd32bits


GLSysHelp v.2.1: GLS.FullScreenViewer: Class TGLFullScreenViewer

Class TGLFullScreenViewer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.FullScreenViewer

Declaration

type TGLFullScreenViewer = class(TGLNonVisualViewer)

Description

A FullScreen viewer. This non visual viewer will, when activated, use the full screen as rendering surface. It will also switch/restore videomode depending on the required width/height. This is performed by creating an underlying TForm and using its surface for rendering OpenGL, "decent" ICDs will automatically use PageFlipping instead of BlockTransfer (slower buffer flipping mode used for windowed OpenGL). Note: if you terminate the application either via a kill or in the IDE, the original resolution isn't restored.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNonVisualViewer
  • TGLFullScreenViewer

Overview

Fields

Private | FFormIsOwned: Boolean;
Private | FForm: TForm;
Private | FOwnDC: HWND;
Private | FScreenDepth: TGLScreenDepth;
Private | FActive: Boolean;
Private | FSwitchedResolution: Boolean;
Private | FManualRendering: Boolean;
Private | FUpdateCount: Integer;
Private | FOnMouseDown: TMouseEvent;
Private | FOnMouseUp: TMouseEvent;
Private | FOnMouseMove: TMouseMoveEvent;
Private | FOnMouseWheel: TMouseWheelEvent;
Private | FOnMouseWheelDown: TMouseWheelUpDownEvent;
Private | FOnMouseWheelUp: TMouseWheelUpDownEvent;
Private | FOnClick: TNotifyEvent;
Private | FOnDblClick: TNotifyEvent;
Private | FOnKeyDown: TKeyEvent;
Private | FOnKeyUp: TKeyEvent;
Private | FOnKeyPress: TKeyPressEvent;
Private | FOnClose: TCloseEvent;
Private | FOnCloseQuery: TCloseQueryEvent;
Private | FStayOnTop: Boolean;
Private | FVSync: TGLVSyncMode;
Private | FRefreshRate: Integer;
Private | FCursor: TCursor;
Private | FPopupMenu: TPopupMenu;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function FramesPerSecond: Single;
Public | function FramesPerSecondText(decimals: Integer = 1): String;
Public | function LastFrameTime: Single;
Protected | function GetHandle: HWND;
Public | procedure BeginUpdate;
Public | procedure EndUpdate;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure ReActivate;
Public | procedure Render(baseObject: TGLBaseSceneObject = nil); override;
Public | procedure ResetPerformanceMonitor;
Public | procedure UseCurrentResolution;
Protected | procedure BindFormEvents;
Protected | procedure DoActivate(Sender: TObject);
Protected | procedure DoBeforeRender(Sender: TObject);
Protected | procedure DoBufferChange(Sender: TObject); override;
Protected | procedure DoBufferStructuralChange(Sender: TObject); override;
Protected | procedure DoCloseQuery(Sender: TObject; var CanClose: Boolean);
Protected | procedure DoDeactivate(Sender: TObject);
Protected | procedure DoFormDestroy(Sender: TObject);
Protected | procedure DoPaint(Sender: TObject);
Protected | procedure Shutdown;
Protected | procedure Startup;
Private | procedure SetActive(const val: Boolean);
Private | procedure SetCursor(const val: TCursor);
Private | procedure SetForm(aVal: TForm);
Private | procedure SetManualRendering(const val: Boolean);
Private | procedure SetOnClick(const val: TNotifyEvent);
Private | procedure SetOnClose(const val: TCloseEvent);
Private | procedure SetOnCloseQuery(const val: TCloseQueryEvent);
Private | procedure SetOnDblClick(const val: TNotifyEvent);
Private | procedure SetOnKeyDown(const val: TKeyEvent);
Private | procedure SetOnKeyPress(const val: TKeyPressEvent);
Private | procedure SetOnKeyUp(const val: TKeyEvent);
Private | procedure SetOnMouseDown(const val: TMouseEvent);
Private | procedure SetOnMouseMove(const val: TMouseMoveEvent);
Private | procedure SetOnMouseUp(const val: TMouseEvent);
Private | procedure SetOnMouseWheel(const val: TMouseWheelEvent);
Private | procedure SetOnMouseWheelDown(const val: TMouseWheelUpDownEvent);
Private | procedure SetOnMouseWheelUp(const val: TMouseWheelUpDownEvent);
Private | procedure SetPopupMenu(const val: TPopupMenu);
Private | procedure SetScreenDepth(const val: TGLScreenDepth);
Private | procedure SetStayOnTop(const val: Boolean);

Properties

Public | property Active: Boolean read FActive write SetActive;
Published | property Cursor: TCursor read FCursor write SetCursor default crDefault;
Published | property Form: TForm read FForm write SetForm;
Public | property Handle: HWND read GetHandle;
Published | property ManualRendering: Boolean read FManualRendering write SetManualRendering;
Published | property OnClick: TNotifyEvent read FOnClick write SetOnClick;
Published | property OnClose: TCloseEvent read FOnClose write SetOnClose;
Published | property OnCloseQuery: TCloseQueryEvent read FOnCloseQuery write SetOnCloseQuery;
Published | property OnDblClick: TNotifyEvent read FOnDblClick write SetOnDblClick;
Published | property OnKeyDown: TKeyEvent read FOnKeyDown write SetOnKeyDown;
Published | property OnKeyPress: TKeyPressEvent read FOnKeyPress write SetOnKeyPress;
Published | property OnKeyUp: TKeyEvent read FOnKeyUp write SetOnKeyUp;
Published | property OnMouseDown: TMouseEvent read FOnMouseDown write SetOnMouseDown;
Published | property OnMouseMove: TMouseMoveEvent read FOnMouseMove write SetOnMouseMove;
Published | property OnMouseUp: TMouseEvent read FOnMouseUp write SetOnMouseUp;
Published | property OnMouseWheel: TMouseWheelEvent read FOnMouseWheel write SetOnMouseWheel;
Published | property OnMouseWheelDown: TMouseWheelUpDownEvent read FOnMouseWheelDown write SetOnMouseWheelDown;
Published | property OnMouseWheelUp: TMouseWheelUpDownEvent read FOnMouseWheelUp write SetOnMouseWheelUp;
Published | property PopupMenu: TPopupMenu read FPopupMenu write SetPopupMenu;
Published | property RefreshRate: Integer read FRefreshRate write FRefreshRate;
Public | property RenderDC: HWND read FOwnDC;
Published | property ScreenDepth: TGLScreenDepth read FScreenDepth write SetScreenDepth default sd32bits;
Published | property StayOnTop: Boolean read FStayOnTop write SetStayOnTop default False;
Published | property VSync: TGLVSyncMode read FVSync write FVSync default vsmSync;

Description

Fields

Private FFormIsOwned: Boolean;
Private FForm: TForm;
Private FOwnDC: HWND;
Private FScreenDepth: TGLScreenDepth;
Private FActive: Boolean;
Private FSwitchedResolution: Boolean;
Private FManualRendering: Boolean;
Private FUpdateCount: Integer;
Private FOnMouseDown: TMouseEvent;
Private FOnMouseUp: TMouseEvent;
Private FOnMouseMove: TMouseMoveEvent;
Private FOnMouseWheel: TMouseWheelEvent;
Private FOnMouseWheelDown: TMouseWheelUpDownEvent;
Private FOnMouseWheelUp: TMouseWheelUpDownEvent;
Private FOnClick: TNotifyEvent;
Private FOnDblClick: TNotifyEvent;
Private FOnKeyDown: TKeyEvent;
Private FOnKeyUp: TKeyEvent;
Private FOnKeyPress: TKeyPressEvent;
Private FOnClose: TCloseEvent;
Private FOnCloseQuery: TCloseQueryEvent;
Private FStayOnTop: Boolean;
Private FVSync: TGLVSyncMode;
Private FRefreshRate: Integer;
Private FCursor: TCursor;
Private FPopupMenu: TPopupMenu;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function FramesPerSecond: Single;
Public function FramesPerSecondText(decimals: Integer = 1): String;
Public function LastFrameTime: Single;
Protected function GetHandle: HWND;
Public procedure BeginUpdate;
Public procedure EndUpdate;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure ReActivate;
Public procedure Render(baseObject: TGLBaseSceneObject = nil); override;
Public procedure ResetPerformanceMonitor;
Public procedure UseCurrentResolution;

Adjusts property so that current resolution will be used. Call this method if you want to make sure video mode isn't switched.

Protected procedure BindFormEvents;
Protected procedure DoActivate(Sender: TObject);
Protected procedure DoBeforeRender(Sender: TObject);
Protected procedure DoBufferChange(Sender: TObject); override;
Protected procedure DoBufferStructuralChange(Sender: TObject); override;
Protected procedure DoCloseQuery(Sender: TObject; var CanClose: Boolean);
Protected procedure DoDeactivate(Sender: TObject);
Protected procedure DoFormDestroy(Sender: TObject);
Protected procedure DoPaint(Sender: TObject);
Protected procedure Shutdown;
Protected procedure Startup;
Private procedure SetActive(const val: Boolean);
Private procedure SetCursor(const val: TCursor);
Private procedure SetForm(aVal: TForm);
Private procedure SetManualRendering(const val: Boolean);
Private procedure SetOnClick(const val: TNotifyEvent);
Private procedure SetOnClose(const val: TCloseEvent);
Private procedure SetOnCloseQuery(const val: TCloseQueryEvent);
Private procedure SetOnDblClick(const val: TNotifyEvent);
Private procedure SetOnKeyDown(const val: TKeyEvent);
Private procedure SetOnKeyPress(const val: TKeyPressEvent);
Private procedure SetOnKeyUp(const val: TKeyEvent);
Private procedure SetOnMouseDown(const val: TMouseEvent);
Private procedure SetOnMouseMove(const val: TMouseMoveEvent);
Private procedure SetOnMouseUp(const val: TMouseEvent);
Private procedure SetOnMouseWheel(const val: TMouseWheelEvent);
Private procedure SetOnMouseWheelDown(const val: TMouseWheelUpDownEvent);
Private procedure SetOnMouseWheelUp(const val: TMouseWheelUpDownEvent);
Private procedure SetPopupMenu(const val: TPopupMenu);
Private procedure SetScreenDepth(const val: TGLScreenDepth);
Private procedure SetStayOnTop(const val: Boolean);

Properties

Public property Active: Boolean read FActive write SetActive;

Activates/deactivates full screen mode.

Published property Cursor: TCursor read FCursor write SetCursor default crDefault;
Published property Form: TForm read FForm write SetForm;
Public property Handle: HWND read GetHandle;

Read access to the underlying form handle. Returns 0 (zero) if the viewer is not active or has not yet instantiated its form.

Published property ManualRendering: Boolean read FManualRendering write SetManualRendering;
Published property OnClick: TNotifyEvent read FOnClick write SetOnClick;
Published property OnClose: TCloseEvent read FOnClose write SetOnClose;
Published property OnCloseQuery: TCloseQueryEvent read FOnCloseQuery write SetOnCloseQuery;
Published property OnDblClick: TNotifyEvent read FOnDblClick write SetOnDblClick;
Published property OnKeyDown: TKeyEvent read FOnKeyDown write SetOnKeyDown;
Published property OnKeyPress: TKeyPressEvent read FOnKeyPress write SetOnKeyPress;
Published property OnKeyUp: TKeyEvent read FOnKeyUp write SetOnKeyUp;
Published property OnMouseDown: TMouseEvent read FOnMouseDown write SetOnMouseDown;
Published property OnMouseMove: TMouseMoveEvent read FOnMouseMove write SetOnMouseMove;
Published property OnMouseUp: TMouseEvent read FOnMouseUp write SetOnMouseUp;
Published property OnMouseWheel: TMouseWheelEvent read FOnMouseWheel write SetOnMouseWheel;
Published property OnMouseWheelDown: TMouseWheelUpDownEvent read FOnMouseWheelDown write SetOnMouseWheelDown;
Published property OnMouseWheelUp: TMouseWheelUpDownEvent read FOnMouseWheelUp write SetOnMouseWheelUp;
Published property PopupMenu: TPopupMenu read FPopupMenu write SetPopupMenu;
Published property RefreshRate: Integer read FRefreshRate write FRefreshRate;

Screen refresh rate. Use zero for system default. This property allows you to work around the winxp bug that limits uses a refresh rate of 60hz when changeing resolution. it is however suggested to give the user the opportunity to adjust it instead of having a fixed value (expecially beyond 75hz or for resolutions beyond 1024x768). the value will be automatically clamped to the highest value *reported* compatible with the monitor.

Public property RenderDC: HWND read FOwnDC;
Published property ScreenDepth: TGLScreenDepth read FScreenDepth write SetScreenDepth default sd32bits;

It is not used in UNIX. Requested ScreenDepth.

Published property StayOnTop: Boolean read FStayOnTop write SetStayOnTop default False;

Specifies if the underlying form is "fsStayOnTop". The benefit of StayOnTop is that it hides the windows bar and other background windows. The "fsStayOnTop" is automatically switched off/on when the underlying form loses/gains focus. It is recommended not to use StayOnTop while running in the IDE or during the debugging phase.

Published property VSync: TGLVSyncMode read FVSync write FVSync default vsmSync;

Specifies if the refresh should be synchronized with the VSync signal. If the underlying OpenGL ICD does not support the WGL_EXT_swap_control extension, this property is ignored.


GLSysHelp v.2.1: GLS.GameMenu

Unit GLS.GameMenu

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.Coordinates
  • GLS.Scene
  • GLS.Material
  • GLS.BitmapFont
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.Canvas
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLGameMenu |

Types

TGLGameMenuScale = (...);

Description

Types

TGLGameMenuScale = (...);
Values
  • gmsNormal
  • gms1024x768


GLSysHelp v.2.1: GLS.GameMenu: Class TGLGameMenu

Class TGLGameMenu

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GameMenu

Declaration

type TGLGameMenu = class(TGLSceneObject, IGLMaterialLibrarySupported)

Description

Classic game menu interface made of several lines.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLGameMenu

Overview

Fields

Private | FItems: TStrings;
Private | FSelected: Integer;
Private | FFont: TGLCustomBitmapFont;
Private | FMarginVert: Integer;
Private | FMarginHorz: Integer;
Private | FSpacing: Integer;
Private | FMenuScale: TGLGameMenuScale;
Private | FBackColor: TGLColor;
Private | FInactiveColor: TGLColor;
Private | FActiveColor: TGLColor;
Private | FDisabledColor: TGLColor;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FTitleMaterialName: TGLLibMaterialName;
Private | FTitleWidth: Integer;
Private | FTitleHeight: Integer;
Private | FOnSelectedChanged: TNotifyEvent;
Private | FBoxTop: Integer;
Private | FBoxBottom: Integer;
Private | FBoxLeft: Integer;
Private | FBoxRight: Integer;
Private | FMenuTop: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetEnabled(AIndex: Integer): Boolean;
Protected | function GetSelectedText: string;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure MouseMenuSelect(const X, Y: Integer);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure SelectNext;
Public | procedure SelectPrev;
Protected | procedure ItemsChanged(Sender: TObject);
Protected | procedure SetActiveColor(AValue: TGLColor);
Protected | procedure SetBackColor(AValue: TGLColor);
Protected | procedure SetDisabledColor(AValue: TGLColor);
Protected | procedure SetEnabled(AIndex: Integer; AValue: Boolean);
Protected | procedure SetFont(AValue: TGLCustomBitmapFont);
Protected | procedure SetInactiveColor(AValue: TGLColor);
Protected | procedure SetItems(AValue: TStrings);
Protected | procedure SetMarginHorz(AValue: Integer);
Protected | procedure SetMarginVert(AValue: Integer);
Protected | procedure SetMaterialLibrary(AValue: TGLMaterialLibrary);
Protected | procedure SetMenuScale(AValue: TGLGameMenuScale);
Protected | procedure SetSelected(AValue: Integer);
Protected | procedure SetSpacing(AValue: Integer);
Protected | procedure SetTitleHeight(AValue: Integer);
Protected | procedure SetTitleMaterialName(const AValue: string);
Protected | procedure SetTitleWidth(AValue: Integer);

Properties

Published | property ActiveColor: TGLColor read FActiveColor write SetActiveColor;
Published | property BackColor: TGLColor read FBackColor write SetBackColor;
Published | property Behaviours;
Published | property BoxBottom: Integer read FBoxBottom;
Published | property BoxLeft: Integer read FBoxLeft;
Published | property BoxRight: Integer read FBoxRight;
Published | property BoxTop: Integer read FBoxTop;
Published | property DisabledColor: TGLColor read FDisabledColor write SetDisabledColor;
Published | property Effects;
Public | property Enabled[AIndex:Integer]: Boolean read GetEnabled write SetEnabled;
Published | property Font: TGLCustomBitmapFont read FFont write SetFont;
Published | property InactiveColor: TGLColor read FInactiveColor write SetInactiveColor;
Published | property Items: TStrings read FItems write SetItems;
Published | property MarginHorz: Integer read FMarginHorz write SetMarginHorz default 16;
Published | property MarginVert: Integer read FMarginVert write SetMarginVert default 16;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property MenuScale: TGLGameMenuScale read FMenuScale write SetMenuScale default gmsNormal;
Published | property MenuTop: Integer read FMenuTop;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property OnSelectedChanged: TNotifyEvent read FOnSelectedChanged write FOnSelectedChanged;
Published | property Position;
Published | property Selected: Integer read FSelected write SetSelected default -1;
Public | property SelectedText: string read GetSelectedText;
Published | property Spacing: Integer read FSpacing write SetSpacing default 16;
Published | property TitleHeight: Integer read FTitleHeight write SetTitleHeight default 0;
Published | property TitleMaterialName: string read FTitleMaterialName write SetTitleMaterialName;
Published | property TitleWidth: Integer read FTitleWidth write SetTitleWidth default 0;
Published | property VisibilityCulling;
Published | property Visible;

Description

Fields

Private FItems: TStrings;
Private FSelected: Integer;
Private FFont: TGLCustomBitmapFont;
Private FMarginVert: Integer;
Private FMarginHorz: Integer;
Private FSpacing: Integer;
Private FMenuScale: TGLGameMenuScale;
Private FBackColor: TGLColor;
Private FInactiveColor: TGLColor;
Private FActiveColor: TGLColor;
Private FDisabledColor: TGLColor;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FTitleMaterialName: TGLLibMaterialName;
Private FTitleWidth: Integer;
Private FTitleHeight: Integer;
Private FOnSelectedChanged: TNotifyEvent;
Private FBoxTop: Integer;
Private FBoxBottom: Integer;
Private FBoxLeft: Integer;
Private FBoxRight: Integer;
Private FMenuTop: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetEnabled(AIndex: Integer): Boolean;
Protected function GetSelectedText: string;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

implementing IGLMaterialLibrarySupported

Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure MouseMenuSelect(const X, Y: Integer);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure SelectNext;
Public procedure SelectPrev;
Protected procedure ItemsChanged(Sender: TObject);
Protected procedure SetActiveColor(AValue: TGLColor);
Protected procedure SetBackColor(AValue: TGLColor);
Protected procedure SetDisabledColor(AValue: TGLColor);
Protected procedure SetEnabled(AIndex: Integer; AValue: Boolean);
Protected procedure SetFont(AValue: TGLCustomBitmapFont);
Protected procedure SetInactiveColor(AValue: TGLColor);
Protected procedure SetItems(AValue: TStrings);
Protected procedure SetMarginHorz(AValue: Integer);
Protected procedure SetMarginVert(AValue: Integer);
Protected procedure SetMaterialLibrary(AValue: TGLMaterialLibrary);
Protected procedure SetMenuScale(AValue: TGLGameMenuScale);
Protected procedure SetSelected(AValue: Integer);
Protected procedure SetSpacing(AValue: Integer);
Protected procedure SetTitleHeight(AValue: Integer);
Protected procedure SetTitleMaterialName(const AValue: string);
Protected procedure SetTitleWidth(AValue: Integer);

Properties

Published property ActiveColor: TGLColor read FActiveColor write SetActiveColor;
Published property BackColor: TGLColor read FBackColor write SetBackColor;
Published property Behaviours;
Published property BoxBottom: Integer read FBoxBottom;
Published property BoxLeft: Integer read FBoxLeft;
Published property BoxRight: Integer read FBoxRight;
Published property BoxTop: Integer read FBoxTop;

these are the extents of the menu

Published property DisabledColor: TGLColor read FDisabledColor write SetDisabledColor;
Published property Effects;
Public property Enabled[AIndex:Integer]: Boolean read GetEnabled write SetEnabled;
Published property Font: TGLCustomBitmapFont read FFont write SetFont;
Published property InactiveColor: TGLColor read FInactiveColor write SetInactiveColor;
Published property Items: TStrings read FItems write SetItems;
Published property MarginHorz: Integer read FMarginHorz write SetMarginHorz default 16;
Published property MarginVert: Integer read FMarginVert write SetMarginVert default 16;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property MenuScale: TGLGameMenuScale read FMenuScale write SetMenuScale default gmsNormal;
Published property MenuTop: Integer read FMenuTop;

this is the top of the first menu item

Published property ObjectsSorting;

publish other stuff from TGLBaseSceneObject

Published property OnProgress;
Published property OnSelectedChanged: TNotifyEvent read FOnSelectedChanged write FOnSelectedChanged;
Published property Position;
Published property Selected: Integer read FSelected write SetSelected default -1;
Public property SelectedText: string read GetSelectedText;
Published property Spacing: Integer read FSpacing write SetSpacing default 16;
Published property TitleHeight: Integer read FTitleHeight write SetTitleHeight default 0;
Published property TitleMaterialName: string read FTitleMaterialName write SetTitleMaterialName;
Published property TitleWidth: Integer read FTitleWidth write SetTitleWidth default 0;
Published property VisibilityCulling;
Published property Visible;


GLSysHelp v.2.1: GLS.GeometryBB

Unit GLS.GeometryBB

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record THmgBoundingBox |
Record TAABB |
Record TBSphere |
Record TGLClipRect |

Functions and Procedures

function BoundingBoxesAreEqual(const ABoundingBox1, ABoundingBox2: THmgBoundingBox): Boolean; overload;
function BoundingBoxesAreEqual(const ABoundingBox1, ABoundingBox2: PHmgBoundingBox): Boolean; overload;
function AddBB(var C1: THmgBoundingBox; const C2: THmgBoundingBox): THmgBoundingBox;
procedure AddAABB(var Aabb: TAABB; const Aabb1: TAABB);
procedure SetBB(var C: THmgBoundingBox; const V: TGLVector);
procedure SetAABB(var Bb: TAABB; const V: TGLVector); inline;
procedure BBTransform(var C: THmgBoundingBox; const M: TGLMatrix);
procedure AABBTransform(var Bb: TAABB; const M: TGLMatrix);
procedure AABBScale(var Bb: TAABB; const V: TAffineVector);
function BBMinX(const C: THmgBoundingBox): Single;
function BBMaxX(const C: THmgBoundingBox): Single;
function BBMinY(const C: THmgBoundingBox): Single;
function BBMaxY(const C: THmgBoundingBox): Single;
function BBMinZ(const C: THmgBoundingBox): Single;
function BBMaxZ(const C: THmgBoundingBox): Single;
procedure AABBInclude(var Bb: TAABB; const P: TAffineVector);
procedure AABBFromSweep(var SweepAABB: TAABB; const Start, Dest: TGLVector; const Radius: Single);
function AABBIntersection(const Aabb1, Aabb2: TAABB): TAABB;
function BBToAABB(const ABB: THmgBoundingBox): TAABB;
function AABBToBB(const AnAABB: TAABB): THmgBoundingBox; overload;
function AABBToBB(const AnAABB: TAABB; const M: TGLMatrix): THmgBoundingBox; overload;
procedure OffsetAABB(var Aabb: TAABB; const Delta: TAffineVector); overload;
procedure OffsetAABB(var Aabb: TAABB; const Delta: TGLVector); overload;
procedure OffsetBB(var Bb: THmgBoundingBox; const Delta: TAffineVector); overload;
procedure OffsetBB(var Bb: THmgBoundingBox; const Delta: TGLVector); overload;
procedure OffsetBBPoint(var Bb: THmgBoundingBox; const Delta: TGLVector); overload;
function IntersectAABBs(const Aabb1, Aabb2: TAABB; const M1To2, M2To1: TGLMatrix): Boolean; overload;
function IntersectAABBsAbsoluteXY(const Aabb1, Aabb2: TAABB): Boolean;
function IntersectAABBsAbsoluteXZ(const Aabb1, Aabb2: TAABB): Boolean;
function IntersectAABBsAbsolute(const Aabb1, Aabb2: TAABB): Boolean;
function AABBFitsInAABBAbsolute(const Aabb1, Aabb2: TAABB): Boolean;
function PointInAABB(const P: TAffineVector; const Aabb: TAABB): Boolean; overload;
function PointInAABB(const P: TGLVector; const Aabb: TAABB): Boolean; overload;
function PlaneIntersectAABB(const Normal: TAffineVector; D: Single; const Aabb: TAABB): Boolean;
function PlaneAABBIntersection(const plane : THmgPlane; const AABB : TAABB) : TAffineVectorList;
function TriangleIntersectAABB(const Aabb: TAABB; const V1, V2, V3: TAffineVector): Boolean;
procedure ExtractAABBCorners(const AABB: TAABB; var AABBCorners: TAABBCorners);
procedure AABBToBSphere(const AABB: TAABB; var BSphere: TBSphere);
procedure BSphereToAABB(const BSphere: TBSphere; var AABB: TAABB); overload;
function BSphereToAABB(const Center: TAffineVector; Radius: Single): TAABB; overload;
function BSphereToAABB(const Center: TGLVector; Radius: Single): TAABB; overload;
function AABBContainsAABB(const MainAABB, TestAABB: TAABB): TSpaceContains;
function BSphereContainsAABB(const MainBSphere: TBSphere; const TestAABB: TAABB): TSpaceContains;
function BSphereContainsBSphere(const MainBSphere, TestBSphere: TBSphere): TSpaceContains;
function AABBContainsBSphere(const MainAABB: TAABB; const TestBSphere: TBSphere): TSpaceContains;
function PlaneContainsBSphere(const Location, Normal: TAffineVector; const TestBSphere: TBSphere): TSpaceContains;
function FrustumContainsBSphere(const Frustum: TFrustum; const TestBSphere: TBSphere): TSpaceContains;
function FrustumContainsAABB(const Frustum: TFrustum; const TestAABB: TAABB): TSpaceContains;
function ClipToAABB(const V: TAffineVector; const AABB: TAABB): TAffineVector;
function BSphereIntersectsBSphere(const MainBSphere, TestBSphere: TBSphere): Boolean;
procedure IncludeInClipRect(var ClipRect: TGLClipRect; X, Y: Single);
function AABBToClipRect(const Aabb: TAABB; const ModelViewProjection: TGLMatrix; ViewportSizeX, ViewportSizeY: Integer): TGLClipRect;
function RayCastAABBIntersect(const RayOrigin, RayDirection: TGLVector; const Aabb: TAABB; out TNear, TFar: Single): Boolean; overload;
function RayCastAABBIntersect(const RayOrigin, RayDirection: TGLVector; const Aabb: TAABB; IntersectPoint: PGLVector = nil): Boolean; overload;

Types

PAABB = ˆTAABB;
PHmgBoundingBox = ˆTHmgBoundingBox;
TAABBCorners = array [0 .. 7] of TAffineVector;
TDirPlan = array [0 .. 5] of Integer;
TPlanBB = array [0 .. 5] of TPlanIndices;
TPlanIndices = array [0 .. 3] of Integer;
TSpaceContains = (...);

Constants

NullBoundingBox: THmgBoundingBox = (BBox:((X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1)));
CBBFront: TPlanIndices = (0, 1, 2, 3);
CBBBack: TPlanIndices = (4, 5, 6, 7);
CBBLeft: TPlanIndices = (0, 4, 7, 3);
CBBRight: TPlanIndices = (1, 5, 6, 2);
CBBTop: TPlanIndices = (0, 1, 5, 4);
CBBBottom: TPlanIndices = (2, 3, 7, 6);
CBBPlans: TPlanBB = ((0, 1, 2, 3), (4, 5, 6, 7), (0, 4, 7, 3), (1, 5, 6, 2), (0, 1, 5, 4), (2, 3, 7, 6));
CDirPlan: TDirPlan = (0, 0, 1, 1, 2, 2);

Description

Functions and Procedures

function BoundingBoxesAreEqual(const ABoundingBox1, ABoundingBox2: THmgBoundingBox): Boolean; overload;

—————————————————————————— Bounding Box functions ——————————————————————————

function BoundingBoxesAreEqual(const ABoundingBox1, ABoundingBox2: PHmgBoundingBox): Boolean; overload;
function AddBB(var C1: THmgBoundingBox; const C2: THmgBoundingBox): THmgBoundingBox;

Adds a BB into another BB. The original BB (c1) is extended if necessary to contain c2.

procedure AddAABB(var Aabb: TAABB; const Aabb1: TAABB);
procedure SetBB(var C: THmgBoundingBox; const V: TGLVector);
procedure SetAABB(var Bb: TAABB; const V: TGLVector); inline;
procedure BBTransform(var C: THmgBoundingBox; const M: TGLMatrix);
procedure AABBTransform(var Bb: TAABB; const M: TGLMatrix);
procedure AABBScale(var Bb: TAABB; const V: TAffineVector);
function BBMinX(const C: THmgBoundingBox): Single;
function BBMaxX(const C: THmgBoundingBox): Single;
function BBMinY(const C: THmgBoundingBox): Single;
function BBMaxY(const C: THmgBoundingBox): Single;
function BBMinZ(const C: THmgBoundingBox): Single;
function BBMaxZ(const C: THmgBoundingBox): Single;
procedure AABBInclude(var Bb: TAABB; const P: TAffineVector);

Resize the AABB if necessary to include p.

procedure AABBFromSweep(var SweepAABB: TAABB; const Start, Dest: TGLVector; const Radius: Single);

Make an AABB that is formed by sweeping a sphere (or AABB) from Start to Dest

function AABBIntersection(const Aabb1, Aabb2: TAABB): TAABB;

Returns the intersection AABB of two AABBs. If the AABBs don't intersect, will return a degenerated AABB (plane, line or point).

function BBToAABB(const ABB: THmgBoundingBox): TAABB;

Extract AABB information from a BB.

function AABBToBB(const AnAABB: TAABB): THmgBoundingBox; overload;

Converts an AABB to its canonical BB.

function AABBToBB(const AnAABB: TAABB; const M: TGLMatrix): THmgBoundingBox; overload;

Transforms an AABB to a BB.

procedure OffsetAABB(var Aabb: TAABB; const Delta: TAffineVector); overload;

Adds delta to min and max of the AABB.

procedure OffsetAABB(var Aabb: TAABB; const Delta: TGLVector); overload;
procedure OffsetBB(var Bb: THmgBoundingBox; const Delta: TAffineVector); overload;

Adds delta to min and max of the BB.

procedure OffsetBB(var Bb: THmgBoundingBox; const Delta: TGLVector); overload;
procedure OffsetBBPoint(var Bb: THmgBoundingBox; const Delta: TGLVector); overload;

The same as above but uses AddPoint() instead of AddVector().

function IntersectAABBs(const Aabb1, Aabb2: TAABB; const M1To2, M2To1: TGLMatrix): Boolean; overload;

Determines if two AxisAlignedBoundingBoxes intersect. The matrices are the ones that convert one point to the other's AABB system

function IntersectAABBsAbsoluteXY(const Aabb1, Aabb2: TAABB): Boolean;

Checks whether two Bounding boxes aligned with the world axes collide in the XY plane.

function IntersectAABBsAbsoluteXZ(const Aabb1, Aabb2: TAABB): Boolean;

Checks whether two Bounding boxes aligned with the world axes collide in the XZ plane.

function IntersectAABBsAbsolute(const Aabb1, Aabb2: TAABB): Boolean;

Checks whether two Bounding boxes aligned with the world axes collide.

function AABBFitsInAABBAbsolute(const Aabb1, Aabb2: TAABB): Boolean;

Checks whether one Bounding box aligned with the world axes fits within another Bounding box

function PointInAABB(const P: TAffineVector; const Aabb: TAABB): Boolean; overload;

Checks if a point "p" is inside an AABB

function PointInAABB(const P: TGLVector; const Aabb: TAABB): Boolean; overload;
function PlaneIntersectAABB(const Normal: TAffineVector; D: Single; const Aabb: TAABB): Boolean;

Checks if a plane (given by the normal+d) intersects the AABB

function PlaneAABBIntersection(const plane : THmgPlane; const AABB : TAABB) : TAffineVectorList;

Compute the intersection between a plane and the AABB

function TriangleIntersectAABB(const Aabb: TAABB; const V1, V2, V3: TAffineVector): Boolean;

Original source code by Tomas Akenine-Mцller Based on the paper "Fast 3D Triangle-Box Overlap Testing" http://www.cs.lth.se/home/Tomas_Akenine_Moller/pubs/tribox.pdf http://jgt.akpeters.com/papers/AkenineMoller01/ (code) Use separating axis theorem to test overlap between triangle and box need to test for overlap in these directions: 1) the (x,y,z)-directions (actually, since we use the AABB of the triangle we do not even need to test these) 2) normal of the triangle 3) crossproduct(edge from tri, {x,y,z}-directin) this gives 3x3=9 more tests Checks if a triangle (given by vertices v1, v2 and v3) intersects an AABB

procedure ExtractAABBCorners(const AABB: TAABB; var AABBCorners: TAABBCorners);

Extract the corners from an AABB

procedure AABBToBSphere(const AABB: TAABB; var BSphere: TBSphere);

Convert an AABB to a BSphere

procedure BSphereToAABB(const BSphere: TBSphere; var AABB: TAABB); overload;

Convert a BSphere to an AABB

function BSphereToAABB(const Center: TAffineVector; Radius: Single): TAABB; overload;
function BSphereToAABB(const Center: TGLVector; Radius: Single): TAABB; overload;
function AABBContainsAABB(const MainAABB, TestAABB: TAABB): TSpaceContains;

Determines to which extent one AABB contains another AABB

function BSphereContainsAABB(const MainBSphere: TBSphere; const TestAABB: TAABB): TSpaceContains;

Determines to which extent a BSphere contains an AABB

function BSphereContainsBSphere(const MainBSphere, TestBSphere: TBSphere): TSpaceContains;

Determines to which extent one BSphere contains another BSphere

function AABBContainsBSphere(const MainAABB: TAABB; const TestBSphere: TBSphere): TSpaceContains;

Determines to which extent an AABB contains a BSpher

function PlaneContainsBSphere(const Location, Normal: TAffineVector; const TestBSphere: TBSphere): TSpaceContains;

Determines to which extent a plane contains a BSphere

function FrustumContainsBSphere(const Frustum: TFrustum; const TestBSphere: TBSphere): TSpaceContains;

Determines to which extent a frustum contains a BSphere

function FrustumContainsAABB(const Frustum: TFrustum; const TestAABB: TAABB): TSpaceContains;

Determines to which extent a frustum contains an AABB

function ClipToAABB(const V: TAffineVector; const AABB: TAABB): TAffineVector;

Clips a position to an AABB

function BSphereIntersectsBSphere(const MainBSphere, TestBSphere: TBSphere): Boolean;

Determines if one BSphere intersects another BSphere

procedure IncludeInClipRect(var ClipRect: TGLClipRect; X, Y: Single);

Extend the clip rect to include given coordinate.

function AABBToClipRect(const Aabb: TAABB; const ModelViewProjection: TGLMatrix; ViewportSizeX, ViewportSizeY: Integer): TGLClipRect;

Projects an AABB and determines the extent of its projection as a clip rect.

function RayCastAABBIntersect(const RayOrigin, RayDirection: TGLVector; const Aabb: TAABB; out TNear, TFar: Single): Boolean; overload;

Finds the intersection between a ray and an axis aligned bounding box.

function RayCastAABBIntersect(const RayOrigin, RayDirection: TGLVector; const Aabb: TAABB; IntersectPoint: PGLVector = nil): Boolean; overload;

Types

PAABB = ˆTAABB;
PHmgBoundingBox = ˆTHmgBoundingBox;

Structure for storing Bounding Boxes

TAABBCorners = array [0 .. 7] of TAffineVector;

Structure for storing the corners of an AABB, used with ExtractAABBCorners

TDirPlan = array [0 .. 5] of Integer;
TPlanBB = array [0 .. 5] of TPlanIndices;
TPlanIndices = array [0 .. 3] of Integer;
TSpaceContains = (...);

Result type for space intersection tests, like AABBContainsAABB or BSphereContainsAABB

Values
  • ScNoOverlap
  • ScContainsFully
  • ScContainsPartially

Constants

NullBoundingBox: THmgBoundingBox = (BBox:((X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1), (X: 0; Y: 0; Z: 0; W: 1)));
CBBFront: TPlanIndices = (0, 1, 2, 3);
CBBBack: TPlanIndices = (4, 5, 6, 7);
CBBLeft: TPlanIndices = (0, 4, 7, 3);
CBBRight: TPlanIndices = (1, 5, 6, 2);
CBBTop: TPlanIndices = (0, 1, 5, 4);
CBBBottom: TPlanIndices = (2, 3, 7, 6);
CBBPlans: TPlanBB = ((0, 1, 2, 3), (4, 5, 6, 7), (0, 4, 7, 3), (1, 5, 6, 2), (0, 1, 5, 4), (2, 3, 7, 6));
CDirPlan: TDirPlan = (0, 0, 1, 1, 2, 2);


GLSysHelp v.2.1: GLS.GeometryBB: Record THmgBoundingBox

Record THmgBoundingBox

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeometryBB

Declaration

type THmgBoundingBox = record

Description

Overview

Fields

Public BBox: array [0 .. 7] of TGLVector;

Description

Fields

Public BBox: array [0 .. 7] of TGLVector;


GLSysHelp v.2.1: GLS.GeometryBB: Record TAABB

Record TAABB

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeometryBB

Declaration

type TAABB = record

Description

Structure for storing Axis Aligned Bounding Boxes

Overview

Fields

Public | Min: TAffineVector;
Public | Max: TAffineVector;

Description

Fields

Public Min: TAffineVector;
Public Max: TAffineVector;


GLSysHelp v.2.1: GLS.GeometryBB: Record TBSphere

Record TBSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeometryBB

Declaration

type TBSphere = record

Description

Structure for storing BoundingSpheres. Similar to TAABB

Overview

Fields

Public | Center: TAffineVector;
Public | Radius: Single;

Description

Fields

Public Center: TAffineVector;

Center of Bounding Sphere

Public Radius: Single;

Radius of Bounding Sphere


GLSysHelp v.2.1: GLS.GeometryBB: Record TGLClipRect

Record TGLClipRect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeometryBB

Declaration

type TGLClipRect = record

Description

Overview

Fields

Public | Left: Single;
Public | Top: Single;
Public | Right: Single;
Public | Bottom: Single;

Description

Fields

Public Left: Single;
Public Top: Single;
Public Right: Single;
Public Bottom: Single;


GLSysHelp v.2.1: GLS.GeomObjects

Unit GLS.GeomObjects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Math
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.Scene
  • GLS.State
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.Polynomials
  • GLS.Silhouette
  • GLS.VectorTypes
  • GLS.GeometryBB
  • GLS.VectorFileObjects
  • GLS.PipelineTransformation
  • GLS.Material
  • GLS.Texture
  • GLS.Context
  • GLS.Objects
  • GLS.Mesh
  • GLS.RenderContextInfo
  • GLS.XOpenGL

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTetrahedron |
Class TGLOctahedron |
Class TGLHexahedron |
Class TGLDodecahedron |
Class TGLIcosahedron |
Class TGLDisk |
Class TGLCylinderBase |
Class TGLCone |
Class TGLCylinder |
Class TGLCapsule |
Class TGLAnnulus |
Class TGLTorus |
Class TGLArrowLine |
Class TGLArrowArc |
Class TGLPolygon |
Class TGLFrustrum |
Class TGLTeapot |

Types

TArrowArcPart = (...);
TGLAnnulusPart = (...);
TGLAnnulusParts = set of TGLAnnulusPart;
TGLArrowArcPart = set of TArrowArcPart;
TGLArrowHeadStyle = (...);
TGLArrowLinePart = (...);
TGLArrowLineParts = set of TGLArrowLinePart;
TGLConePart = (...);
TGLConeParts = set of TGLConePart;
TGLCylinderAlignment = (...);
TGLCylinderPart = (...);
TGLCylinderParts = set of TGLCylinderPart;
TGLFrustrumPart = (...);
TGLFrustrumParts = set of TGLFrustrumPart;
TGLPolygonPart = (...);
TGLPolygonParts = set of TGLPolygonPart;
TGLTorusPart = (...);
TGLTorusParts = set of TGLTorusPart;

Constants

cAllFrustrumParts = [fpTop, fpBottom, fpFront, fpBack, fpLeft, fpRight];

Description

Types

TArrowArcPart = (...);
Values
  • aaArc
  • aaTopArrow
  • aaBottomArrow
TGLAnnulusPart = (...);
Values
  • anInnerSides
  • anOuterSides
  • anBottom
  • anTop
TGLAnnulusParts = set of TGLAnnulusPart;
TGLArrowArcPart = set of TArrowArcPart;
TGLArrowHeadStyle = (...);
Values
  • ahssStacked
  • ahssCentered
  • ahssIncluded
TGLArrowLinePart = (...);
Values
  • alLine
  • alTopArrow
  • alBottomArrow
TGLArrowLineParts = set of TGLArrowLinePart;
TGLConePart = (...);
Values
  • coSides
  • coBottom
TGLConeParts = set of TGLConePart;
TGLCylinderAlignment = (...);
Values
  • caCenter
  • caTop
  • caBottom
TGLCylinderPart = (...);
Values
  • cySides
  • cyBottom
  • cyTop
TGLCylinderParts = set of TGLCylinderPart;
TGLFrustrumPart = (...);
Values
  • fpTop
  • fpBottom
  • fpFront
  • fpBack
  • fpLeft
  • fpRight
TGLFrustrumParts = set of TGLFrustrumPart;
TGLPolygonPart = (...);
Values
  • ppTop
  • ppBottom
TGLPolygonParts = set of TGLPolygonPart;
TGLTorusPart = (...);
Values
  • toSides
  • toStartDisk
  • toStopDisk
TGLTorusParts = set of TGLTorusPart;

Constants

cAllFrustrumParts = [fpTop, fpBottom, fpFront, fpBack, fpLeft, fpRight];


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLTetrahedron

Class TGLTetrahedron

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLTetrahedron = class(TGLBaseMesh)

Description

The tetrahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLTetrahedron

Overview

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Description

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLOctahedron

Class TGLOctahedron

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLOctahedron = class(TGLBaseMesh)

Description

The octahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLOctahedron

Overview

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Description

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLHexahedron

Class TGLHexahedron

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLHexahedron = class(TGLBaseMesh)

Description

The hexahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLHexahedron

Overview

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Description

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLDodecahedron

Class TGLDodecahedron

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLDodecahedron = class(TGLBaseMesh)

Description

The dodecahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLDodecahedron

Overview

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Description

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLIcosahedron

Class TGLIcosahedron

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLIcosahedron = class(TGLBaseMesh)

Description

The icosahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLIcosahedron

Overview

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Description

Methods

Public procedure BuildList(var rci: TGLRenderContextInfo); override;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLDisk

Class TGLDisk

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLDisk = class(TGLQuadricObject)

Description

A Disk object that may not be complete, it can have a hole (controlled by the InnerRadius property) and can only be a slice (controlled by the StartAngle and SweepAngle properties).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLDisk

Overview

Fields

Private | FStartAngle: Single;
Private | FSweepAngle: Single;
Private | FOuterRadius: Single;
Private | FInnerRadius: Single;
Private | FSlices: Integer;
Private | FLoops: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Private | procedure SetInnerRadius(const aValue: Single);
Private | procedure SetLoops(aValue: Integer);
Private | procedure SetOuterRadius(const aValue: Single);
Private | procedure SetSlices(aValue: Integer);
Private | procedure SetStartAngle(const aValue: Single);
Private | procedure SetSweepAngle(const aValue: Single);

Properties

Published | property InnerRadius: Single read FInnerRadius write SetInnerRadius;
Published | property Loops: Integer read FLoops write SetLoops default 2;
Published | property OuterRadius: Single read FOuterRadius write SetOuterRadius;
Published | property Slices: Integer read FSlices write SetSlices default 16;
Published | property StartAngle: Single read FStartAngle write SetStartAngle;
Published | property SweepAngle: Single read FSweepAngle write SetSweepAngle;

Description

Fields

Private FStartAngle: Single;
Private FSweepAngle: Single;
Private FOuterRadius: Single;
Private FInnerRadius: Single;
Private FSlices: Integer;
Private FLoops: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Private procedure SetInnerRadius(const aValue: Single);
Private procedure SetLoops(aValue: Integer);
Private procedure SetOuterRadius(const aValue: Single);
Private procedure SetSlices(aValue: Integer);
Private procedure SetStartAngle(const aValue: Single);
Private procedure SetSweepAngle(const aValue: Single);

Properties

Published property InnerRadius: Single read FInnerRadius write SetInnerRadius;

Allows defining a "hole" in the disk

Published property Loops: Integer read FLoops write SetLoops default 2;

Number of radial mesh subdivisions

Published property OuterRadius: Single read FOuterRadius write SetOuterRadius;

Outer radius for the disk. If you leave InnerRadius at 0, this is the disk radius

Published property Slices: Integer read FSlices write SetSlices default 16;

Number of mesh slices. For instance, if Slices=6, your disk will look like an hexagon

Published property StartAngle: Single read FStartAngle write SetStartAngle;
Published property SweepAngle: Single read FSweepAngle write SetSweepAngle;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLCylinderBase

Class TGLCylinderBase

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLCylinderBase = class(TGLQuadricObject)

Description

Base class to cylinder-like objects that introduces the basic cylinder description properties. Be aware teh default slices and stacks make up for a high-poly cylinder, unless you're after high-quality lighting it is recommended to reduce the Stacks property to 1.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase

Overview

Fields

Private | FBottomRadius: Single;
Private | FSlices: Integer;
Private | FStacks: Integer;
Private | FLoops: Integer;
Private | FHeight: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Protected | function GetTopRadius: Single; virtual;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetBottomRadius(const aValue: Single);
Protected | procedure SetHeight(const aValue: Single);
Protected | procedure SetLoops(aValue: Integer);
Protected | procedure SetSlices(aValue: Integer);
Protected | procedure SetStacks(aValue: Integer);

Properties

Published | property BottomRadius: Single read FBottomRadius write SetBottomRadius;
Published | property Height: Single read FHeight write SetHeight;
Published | property Loops: Integer read FLoops write SetLoops default 1;
Published | property Slices: Integer read FSlices write SetSlices default 16;
Published | property Stacks: Integer read FStacks write SetStacks default 4;

Description

Fields

Private FBottomRadius: Single;
Private FSlices: Integer;
Private FStacks: Integer;
Private FLoops: Integer;
Private FHeight: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Protected function GetTopRadius: Single; virtual;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetBottomRadius(const aValue: Single);
Protected procedure SetHeight(const aValue: Single);
Protected procedure SetLoops(aValue: Integer);
Protected procedure SetSlices(aValue: Integer);
Protected procedure SetStacks(aValue: Integer);

Properties

Published property BottomRadius: Single read FBottomRadius write SetBottomRadius;
Published property Height: Single read FHeight write SetHeight;
Published property Loops: Integer read FLoops write SetLoops default 1;

Number of concentric rings for top/bottom disk(s).

Published property Slices: Integer read FSlices write SetSlices default 16;
Published property Stacks: Integer read FStacks write SetStacks default 4;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLCone

Class TGLCone

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLCone = class(TGLCylinderBase)

Description

A cone object

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase
  • TGLCone

Overview

Fields

Private FParts: TGLConeParts;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Protected | function GetTopRadius: Single; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetParts(aValue: TGLConeParts);

Properties

Published property Parts: TGLConeParts read FParts write SetParts default [coSides, coBottom];

Description

Fields

Private FParts: TGLConeParts;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Protected function GetTopRadius: Single; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetParts(aValue: TGLConeParts);

Properties

Published property Parts: TGLConeParts read FParts write SetParts default [coSides, coBottom];


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLCylinder

Class TGLCylinder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLCylinder = class(TGLCylinderBase)

Description

Cylinder object, can also be used to make truncated cones

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase
  • TGLCylinder

Overview

Fields

Private | FParts: TGLCylinderParts;
Private | FTopRadius: Single;
Private | FAlignment: TGLCylinderAlignment;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Protected | function GetTopRadius: Single; override;
Public | procedure Align(const startPoint, endPoint: TAffineVector); overload;
Public | procedure Align(const startObj, endObj: TGLBaseSceneObject); overload;
Public | procedure Align(const startPoint, endPoint: TGLVector); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetAlignment(val: TGLCylinderAlignment);
Protected | procedure SetParts(aValue: TGLCylinderParts);
Protected | procedure SetTopRadius(const aValue: Single);

Properties

Published | property Alignment: TGLCylinderAlignment read FAlignment write SetAlignment default caCenter;
Published | property Parts: TGLCylinderParts read FParts write SetParts default [cySides, cyBottom, cyTop];
Published | property TopRadius: Single read FTopRadius write SetTopRadius;

Description

Fields

Private FParts: TGLCylinderParts;
Private FTopRadius: Single;
Private FAlignment: TGLCylinderAlignment;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Protected function GetTopRadius: Single; override;
Public procedure Align(const startPoint, endPoint: TAffineVector); overload;
Public procedure Align(const startObj, endObj: TGLBaseSceneObject); overload;
Public procedure Align(const startPoint, endPoint: TGLVector); overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetAlignment(val: TGLCylinderAlignment);
Protected procedure SetParts(aValue: TGLCylinderParts);
Protected procedure SetTopRadius(const aValue: Single);

Properties

Published property Alignment: TGLCylinderAlignment read FAlignment write SetAlignment default caCenter;
Published property Parts: TGLCylinderParts read FParts write SetParts default [cySides, cyBottom, cyTop];
Published property TopRadius: Single read FTopRadius write SetTopRadius;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLCapsule

Class TGLCapsule

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLCapsule = class(TGLSceneObject)

Description

Capsule object, can also be used to make truncated cones

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLCapsule

Overview

Fields

Private | FParts: TGLCylinderParts;
Private | FRadius: Single;
Private | FSlices: Integer;
Private | FStacks: Integer;
Private | FHeight: Single;
Private | FAlignment: TGLCylinderAlignment;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | procedure Align(const startPoint, endPoint: TGLVector); overload;
Public | procedure Align(const startPoint, endPoint: TAffineVector); overload;
Public | procedure Align(const startObj, endObj: TGLBaseSceneObject); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetAlignment(val: TGLCylinderAlignment);
Protected | procedure SetHeight(const aValue: Single);
Protected | procedure SetParts(aValue: TGLCylinderParts);
Protected | procedure SetRadius(const aValue: Single);
Protected | procedure SetSlices(const aValue: integer);
Protected | procedure SetStacks(const aValue: integer);

Properties

Published | property Alignment: TGLCylinderAlignment read FAlignment write SetAlignment default caCenter;
Published | property Height: Single read FHeight write SetHeight;
Published | property Parts: TGLCylinderParts read FParts write SetParts default [cySides, cyBottom, cyTop];
Published | property Radius: Single read FRadius write SetRadius;
Published | property Slices: Integer read FSlices write SetSlices;
Published | property Stacks: Integer read FStacks write SetStacks;

Description

Fields

Private FParts: TGLCylinderParts;
Private FRadius: Single;
Private FSlices: Integer;
Private FStacks: Integer;
Private FHeight: Single;
Private FAlignment: TGLCylinderAlignment;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public procedure Align(const startPoint, endPoint: TGLVector); overload;
Public procedure Align(const startPoint, endPoint: TAffineVector); overload;
Public procedure Align(const startObj, endObj: TGLBaseSceneObject); overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetAlignment(val: TGLCylinderAlignment);
Protected procedure SetHeight(const aValue: Single);
Protected procedure SetParts(aValue: TGLCylinderParts);
Protected procedure SetRadius(const aValue: Single);
Protected procedure SetSlices(const aValue: integer);
Protected procedure SetStacks(const aValue: integer);

Properties

Published property Alignment: TGLCylinderAlignment read FAlignment write SetAlignment default caCenter;
Published property Height: Single read FHeight write SetHeight;
Published property Parts: TGLCylinderParts read FParts write SetParts default [cySides, cyBottom, cyTop];
Published property Radius: Single read FRadius write SetRadius;
Published property Slices: Integer read FSlices write SetSlices;
Published property Stacks: Integer read FStacks write SetStacks;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLAnnulus

Class TGLAnnulus

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLAnnulus = class(TGLCylinderBase)

Description

An annulus is a cylinder that can be made hollow (pipe-like)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase
  • TGLAnnulus

Overview

Fields

Private | FParts: TGLAnnulusParts;
Private | FBottomInnerRadius: Single;
Private | FTopInnerRadius: Single;
Private | FTopRadius: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetBottomInnerRadius(const aValue: Single);
Protected | procedure SetParts(aValue: TGLAnnulusParts);
Protected | procedure SetTopInnerRadius(const aValue: Single);
Protected | procedure SetTopRadius(const aValue: Single);

Properties

Published | property BottomInnerRadius: Single read FBottomInnerRadius write SetBottomInnerRadius;
Published | property Parts: TGLAnnulusParts read FParts write SetParts default [anInnerSides, anOuterSides, anBottom, anTop];
Published | property TopInnerRadius: Single read FTopInnerRadius write SetTopInnerRadius;
Published | property TopRadius: Single read FTopRadius write SetTopRadius;

Description

Fields

Private FParts: TGLAnnulusParts;
Private FBottomInnerRadius: Single;
Private FTopInnerRadius: Single;
Private FTopRadius: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetBottomInnerRadius(const aValue: Single);
Protected procedure SetParts(aValue: TGLAnnulusParts);
Protected procedure SetTopInnerRadius(const aValue: Single);
Protected procedure SetTopRadius(const aValue: Single);

Properties

Published property BottomInnerRadius: Single read FBottomInnerRadius write SetBottomInnerRadius;
Published property Parts: TGLAnnulusParts read FParts write SetParts default [anInnerSides, anOuterSides, anBottom, anTop];
Published property TopInnerRadius: Single read FTopInnerRadius write SetTopInnerRadius;
Published property TopRadius: Single read FTopRadius write SetTopRadius;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLTorus

Class TGLTorus

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLTorus = class(TGLSceneObject)

Description

A Torus object

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLTorus

Overview

Fields

Private | FParts: TGLTorusParts;
Private | FRings: Cardinal;
Private | FSides: Cardinal;
Private | FStartAngle: Single;
Private | FStopAngle: Single;
Private | FMinorRadius: Single;
Private | FMajorRadius: Single;
Private | FMesh: array of array of TGLVertexRec;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetMajorRadius(const aValue: Single);
Protected | procedure SetMinorRadius(const aValue: Single);
Protected | procedure SetParts(aValue: TGLTorusParts);
Protected | procedure SetRings(aValue: Cardinal);
Protected | procedure SetSides(aValue: Cardinal);
Protected | procedure SetStartAngle(const aValue: Single);
Protected | procedure SetStopAngle(const aValue: Single);

Properties

Published | property MajorRadius: Single read FMajorRadius write SetMajorRadius;
Published | property MinorRadius: Single read FMinorRadius write SetMinorRadius;
Published | property Parts: TGLTorusParts read FParts write SetParts default [toSides];
Published | property Rings: Cardinal read FRings write SetRings default 25;
Published | property Sides: Cardinal read FSides write SetSides default 15;
Published | property StartAngle: Single read FStartAngle write SetStartAngle;
Published | property StopAngle: Single read FStopAngle write SetStopAngle;

Description

Fields

Private FParts: TGLTorusParts;
Private FRings: Cardinal;
Private FSides: Cardinal;
Private FStartAngle: Single;
Private FStopAngle: Single;
Private FMinorRadius: Single;
Private FMajorRadius: Single;
Private FMesh: array of array of TGLVertexRec;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetMajorRadius(const aValue: Single);
Protected procedure SetMinorRadius(const aValue: Single);
Protected procedure SetParts(aValue: TGLTorusParts);
Protected procedure SetRings(aValue: Cardinal);
Protected procedure SetSides(aValue: Cardinal);
Protected procedure SetStartAngle(const aValue: Single);
Protected procedure SetStopAngle(const aValue: Single);

Properties

Published property MajorRadius: Single read FMajorRadius write SetMajorRadius;
Published property MinorRadius: Single read FMinorRadius write SetMinorRadius;
Published property Parts: TGLTorusParts read FParts write SetParts default [toSides];
Published property Rings: Cardinal read FRings write SetRings default 25;
Published property Sides: Cardinal read FSides write SetSides default 15;
Published property StartAngle: Single read FStartAngle write SetStartAngle;
Published property StopAngle: Single read FStopAngle write SetStopAngle;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLArrowLine

Class TGLArrowLine

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLArrowLine = class(TGLCylinderBase)

Description

Draws an arrowhead (cylinder + cone). The arrow head is a cone that shares the attributes of the cylinder (ie stacks/slices, materials etc). Seems to work ok. This is useful for displaying a vector based field (eg velocity) or other arrows that might be required. By default the bottom arrow is off

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase
  • TGLArrowLine

Overview

Fields

Private | FParts: TGLArrowLineParts;
Private | FTopRadius: Single;
Private | fTopArrowHeadHeight: Single;
Private | fTopArrowHeadRadius: Single;
Private | fBottomArrowHeadHeight: Single;
Private | fBottomArrowHeadRadius: Single;
Private | FHeadStackingStyle: TGLArrowHeadStyle;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetBottomArrowHeadHeight(const aValue: Single);
Protected | procedure SetBottomArrowHeadRadius(const aValue: Single);
Protected | procedure SetHeadStackingStyle(const val: TGLArrowHeadStyle);
Protected | procedure SetParts(aValue: TGLArrowLineParts);
Protected | procedure SetTopArrowHeadHeight(const aValue: Single);
Protected | procedure SetTopArrowHeadRadius(const aValue: Single);
Protected | procedure SetTopRadius(const aValue: Single);

Properties

Published | property BottomArrowHeadHeight: Single read fBottomArrowHeadHeight write SetBottomArrowHeadHeight;
Published | property BottomArrowHeadRadius: Single read fBottomArrowHeadRadius write SetBottomArrowHeadRadius;
Published | property HeadStackingStyle: TGLArrowHeadStyle read FHeadStackingStyle write SetHeadStackingStyle default ahssStacked;
Published | property Parts: TGLArrowLineParts read FParts write SetParts default [alLine, alTopArrow];
Published | property TopArrowHeadHeight: Single read fTopArrowHeadHeight write SetTopArrowHeadHeight;
Published | property TopArrowHeadRadius: Single read fTopArrowHeadRadius write SetTopArrowHeadRadius;
Published | property TopRadius: Single read FTopRadius write SetTopRadius;

Description

Fields

Private FParts: TGLArrowLineParts;
Private FTopRadius: Single;
Private fTopArrowHeadHeight: Single;
Private fTopArrowHeadRadius: Single;
Private fBottomArrowHeadHeight: Single;
Private fBottomArrowHeadRadius: Single;
Private FHeadStackingStyle: TGLArrowHeadStyle;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetBottomArrowHeadHeight(const aValue: Single);
Protected procedure SetBottomArrowHeadRadius(const aValue: Single);
Protected procedure SetHeadStackingStyle(const val: TGLArrowHeadStyle);
Protected procedure SetParts(aValue: TGLArrowLineParts);
Protected procedure SetTopArrowHeadHeight(const aValue: Single);
Protected procedure SetTopArrowHeadRadius(const aValue: Single);
Protected procedure SetTopRadius(const aValue: Single);

Properties

Published property BottomArrowHeadHeight: Single read fBottomArrowHeadHeight write SetBottomArrowHeadHeight;
Published property BottomArrowHeadRadius: Single read fBottomArrowHeadRadius write SetBottomArrowHeadRadius;
Published property HeadStackingStyle: TGLArrowHeadStyle read FHeadStackingStyle write SetHeadStackingStyle default ahssStacked;
Published property Parts: TGLArrowLineParts read FParts write SetParts default [alLine, alTopArrow];
Published property TopArrowHeadHeight: Single read fTopArrowHeadHeight write SetTopArrowHeadHeight;
Published property TopArrowHeadRadius: Single read fTopArrowHeadRadius write SetTopArrowHeadRadius;
Published property TopRadius: Single read FTopRadius write SetTopRadius;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLArrowArc

Class TGLArrowArc

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLArrowArc = class(TGLCylinderBase)

Description

Draws an arrowhead (Sliced Torus + cone). The arrow head is a cone that shares the attributes of the Torus (ie stacks/slices, materials etc). This is useful for displaying a movement (eg twist) or other arc arrows that might be required. By default the bottom arrow is off

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase
  • TGLArrowArc

Overview

Fields

Private | fArcRadius: Single;
Private | FStartAngle: Single;
Private | FStopAngle: Single;
Private | FParts: TGLArrowArcPart;
Private | FTopRadius: Single;
Private | fTopArrowHeadHeight: Single;
Private | fTopArrowHeadRadius: Single;
Private | fBottomArrowHeadHeight: Single;
Private | fBottomArrowHeadRadius: Single;
Private | FHeadStackingStyle: TGLArrowHeadStyle;
Private | FMesh: array of array of TGLVertexRec;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetArcRadius(const aValue: Single);
Protected | procedure SetBottomArrowHeadHeight(const aValue: Single);
Protected | procedure SetBottomArrowHeadRadius(const aValue: Single);
Protected | procedure SetHeadStackingStyle(const val: TGLArrowHeadStyle);
Protected | procedure SetParts(aValue: TGLArrowArcPart);
Protected | procedure SetStartAngle(const aValue: Single);
Protected | procedure SetStopAngle(const aValue: Single);
Protected | procedure SetTopArrowHeadHeight(const aValue: Single);
Protected | procedure SetTopArrowHeadRadius(const aValue: Single);
Protected | procedure SetTopRadius(const aValue: Single);

Properties

Published | property ArcRadius: Single read fArcRadius write SetArcRadius;
Published | property BottomArrowHeadHeight: Single read fBottomArrowHeadHeight write SetBottomArrowHeadHeight;
Published | property BottomArrowHeadRadius: Single read fBottomArrowHeadRadius write SetBottomArrowHeadRadius;
Published | property HeadStackingStyle: TGLArrowHeadStyle read FHeadStackingStyle write SetHeadStackingStyle default ahssStacked;
Published | property Parts: TGLArrowArcPart read FParts write SetParts default [aaArc, aaTopArrow];
Published | property StartAngle: Single read FStartAngle write SetStartAngle;
Published | property StopAngle: Single read FStopAngle write SetStopAngle;
Published | property TopArrowHeadHeight: Single read fTopArrowHeadHeight write SetTopArrowHeadHeight;
Published | property TopArrowHeadRadius: Single read fTopArrowHeadRadius write SetTopArrowHeadRadius;
Published | property TopRadius: Single read FTopRadius write SetTopRadius;

Description

Fields

Private fArcRadius: Single;
Private FStartAngle: Single;
Private FStopAngle: Single;
Private FParts: TGLArrowArcPart;
Private FTopRadius: Single;
Private fTopArrowHeadHeight: Single;
Private fTopArrowHeadRadius: Single;
Private fBottomArrowHeadHeight: Single;
Private fBottomArrowHeadRadius: Single;
Private FHeadStackingStyle: TGLArrowHeadStyle;
Private FMesh: array of array of TGLVertexRec;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetArcRadius(const aValue: Single);
Protected procedure SetBottomArrowHeadHeight(const aValue: Single);
Protected procedure SetBottomArrowHeadRadius(const aValue: Single);
Protected procedure SetHeadStackingStyle(const val: TGLArrowHeadStyle);
Protected procedure SetParts(aValue: TGLArrowArcPart);
Protected procedure SetStartAngle(const aValue: Single);
Protected procedure SetStopAngle(const aValue: Single);
Protected procedure SetTopArrowHeadHeight(const aValue: Single);
Protected procedure SetTopArrowHeadRadius(const aValue: Single);
Protected procedure SetTopRadius(const aValue: Single);

Properties

Published property ArcRadius: Single read fArcRadius write SetArcRadius;
Published property BottomArrowHeadHeight: Single read fBottomArrowHeadHeight write SetBottomArrowHeadHeight;
Published property BottomArrowHeadRadius: Single read fBottomArrowHeadRadius write SetBottomArrowHeadRadius;
Published property HeadStackingStyle: TGLArrowHeadStyle read FHeadStackingStyle write SetHeadStackingStyle default ahssStacked;
Published property Parts: TGLArrowArcPart read FParts write SetParts default [aaArc, aaTopArrow];
Published property StartAngle: Single read FStartAngle write SetStartAngle;
Published property StopAngle: Single read FStopAngle write SetStopAngle;
Published property TopArrowHeadHeight: Single read fTopArrowHeadHeight write SetTopArrowHeadHeight;
Published property TopArrowHeadRadius: Single read fTopArrowHeadRadius write SetTopArrowHeadRadius;
Published property TopRadius: Single read FTopRadius write SetTopRadius;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLPolygon

Class TGLPolygon

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLPolygon = class(TGLPolygonBase)

Description

A basic polygon object. The curve is described by the Nodes and SplineMode properties, should be planar and is automatically tessellated. Texture coordinates are deduced from X and Y coordinates only. This object allows only for polygons described by a single curve, if you need "complex polygons" with holes, patches and cutouts, see GLS.MultiPolygon.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPolygonBase
  • TGLPolygon

Overview

Fields

Private FParts: TGLPolygonParts;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetParts(const val: TGLPolygonParts);

Properties

Published property Parts: TGLPolygonParts read FParts write SetParts default [ppTop, ppBottom];

Description

Fields

Private FParts: TGLPolygonParts;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetParts(const val: TGLPolygonParts);

Properties

Published property Parts: TGLPolygonParts read FParts write SetParts default [ppTop, ppBottom];

Parts of polygon. The 'top' of the polygon is the position were the curve describing the polygon spin counter-clockwise (i.e. right handed convention).


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLFrustrum

Class TGLFrustrum

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLFrustrum = class(TGLSceneObject)

Description

A frustrum is a pyramid with the top chopped off. The height of the imaginary pyramid is ApexHeight, the height of the frustrum is Height. If ApexHeight and Height are the same, the frustrum degenerates into a pyramid. Height cannot be greater than ApexHeight.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLFrustrum

Overview

Fields

Private | FApexHeight: Single;
Private | FBaseDepth: Single;
Private | FBaseWidth: Single;
Private | FHeight: Single;
Private | FParts: TGLFrustrumParts;
Private | FNormalDirection: TGLNormalDirection;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedBoundingBoxUnscaled: TAABB;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function TopDepth: Single;
Public | function TopWidth: Single;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadData(Stream: TStream);
Protected | procedure WriteData(Stream: TStream);
Private | procedure SetApexHeight(const aValue: Single);
Private | procedure SetBaseDepth(const aValue: Single);
Private | procedure SetBaseWidth(const aValue: Single);
Private | procedure SetHeight(const aValue: Single);
Private | procedure SetNormalDirection(aValue: TGLNormalDirection);
Private | procedure SetParts(aValue: TGLFrustrumParts);

Properties

Published | property ApexHeight: Single read FApexHeight write SetApexHeight stored False;
Published | property BaseDepth: Single read FBaseDepth write SetBaseDepth stored False;
Published | property BaseWidth: Single read FBaseWidth write SetBaseWidth stored False;
Published | property Height: Single read FHeight write SetHeight stored False;
Published | property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published | property Parts: TGLFrustrumParts read FParts write SetParts default cAllFrustrumParts;

Description

Fields

Private FApexHeight: Single;
Private FBaseDepth: Single;
Private FBaseWidth: Single;
Private FHeight: Single;
Private FParts: TGLFrustrumParts;
Private FNormalDirection: TGLNormalDirection;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedBoundingBoxUnscaled: TAABB;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function TopDepth: Single;
Public function TopWidth: Single;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadData(Stream: TStream);
Protected procedure WriteData(Stream: TStream);
Private procedure SetApexHeight(const aValue: Single);
Private procedure SetBaseDepth(const aValue: Single);
Private procedure SetBaseWidth(const aValue: Single);
Private procedure SetHeight(const aValue: Single);
Private procedure SetNormalDirection(aValue: TGLNormalDirection);
Private procedure SetParts(aValue: TGLFrustrumParts);

Properties

Published property ApexHeight: Single read FApexHeight write SetApexHeight stored False;
Published property BaseDepth: Single read FBaseDepth write SetBaseDepth stored False;
Published property BaseWidth: Single read FBaseWidth write SetBaseWidth stored False;
Published property Height: Single read FHeight write SetHeight stored False;
Published property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published property Parts: TGLFrustrumParts read FParts write SetParts default cAllFrustrumParts;


GLSysHelp v.2.1: GLS.GeomObjects: Class TGLTeapot

Class TGLTeapot

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GeomObjects

Declaration

type TGLTeapot = class(TGLSceneObject)

Description

The classic teapot. The only use of this object is as placeholder for testing...

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLTeapot

Overview

Fields

Private FGrid: Cardinal;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;

Description

Fields

Private FGrid: Cardinal;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;


GLSysHelp v.2.1: GLS.Gizmo

Unit GLS.Gizmo

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.StdCtrls
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.Color
  • GLS.Objects
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.Strings
  • GLS.GeomObjects
  • GLS.BitmapFont
  • GLS.SceneViewer
  • GLS.VectorFileObjects
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.Selection
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLGizmoUndoItem |
Class TGLGizmoUndoCollection |
Class TGLGizmoRayCastHitData |
Class TGLGizmoPickCube |
Class TGLGizmoPickTorus |
Class TGLGizmo |

Types

TGLGizmoAcceptEvent = procedure(Sender: TObject; var Obj: TGLBaseSceneObject; var Accept: Boolean; var Dimensions: TGLVector) of object;
TGLGizmoAxis = (...);
TGLGizmoElement = (...);
TGLGizmoElements = set of TGLGizmoElement;
TGLGizmoOperation = (...);
TGLGizmoPickMode = (...);
TGLGizmoUpdateEvent = procedure(Sender: TObject; Obj: TGLBaseSceneObject; Axis: TGLGizmoAxis; Operation: TGLGizmoOperation; var Vector: TGLVector) of object;
TGLGizmoVisibleInfoLabel = (...);
TGLGizmoVisibleInfoLabels = set of TGLGizmoVisibleInfoLabel;

Description

Types

TGLGizmoAcceptEvent = procedure(Sender: TObject; var Obj: TGLBaseSceneObject; var Accept: Boolean; var Dimensions: TGLVector) of object;
TGLGizmoAxis = (...);
Values
  • gaNone
  • gaX
  • gaY
  • gaZ
  • gaXY
  • gaXZ
  • gaYZ
TGLGizmoElement = (...);
Values
  • geMove
  • geRotate
  • geScale
  • geAxisLabel
  • geObjectInfos
  • geBoundingBox
TGLGizmoElements = set of TGLGizmoElement;
TGLGizmoOperation = (...);
Values
  • gopMove
  • gopRotate
  • gopScale
  • gopNone
  • gpMoveGizmo
  • gpRotateGizmo
TGLGizmoPickMode = (...);
Values
  • pmGetPickedObjects
  • pmRayCast
TGLGizmoUpdateEvent = procedure(Sender: TObject; Obj: TGLBaseSceneObject; Axis: TGLGizmoAxis; Operation: TGLGizmoOperation; var Vector: TGLVector) of object;
TGLGizmoVisibleInfoLabel = (...);
Values
  • vliName
  • vliOperation
  • vliCoords
TGLGizmoVisibleInfoLabels = set of TGLGizmoVisibleInfoLabel;


GLSysHelp v.2.1: GLS.Gizmo: Class TGLGizmoUndoItem

Class TGLGizmoUndoItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gizmo

Declaration

type TGLGizmoUndoItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLGizmoUndoItem

Overview

Fields

Private | FOldLibMaterialName: string;
Private | FOldAutoScaling: TGLCoordinates;
Private | FEffectedObject: TGLCustomSceneObject;
Private | FOldMatr: TGLMatrix;
Private | FOldMatrix: TGLMatrix;

Methods

Public | constructor Create(AOwner: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetGizmo: TGLGizmo;
Protected | function GetParent: TGLGizmoUndoCollection;
Public | procedure AssignFromObject(const AObject: TGLCustomSceneObject);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;
Protected | procedure DoUndo; virtual;
Private | procedure SetEffectedObject(const Value: TGLCustomSceneObject);
Private | procedure SetOldAutoScaling(const Value: TGLCoordinates);
Private | procedure SetOldMatrix(const Value: TGLMatrix);

Properties

Published | property EffectedObject: TGLCustomSceneObject read FEffectedObject write SetEffectedObject;
Published | property OldAutoScaling: TGLCoordinates read FOldAutoScaling write SetOldAutoScaling;
Published | property OldLibMaterialName: string read FOldLibMaterialName write FOldLibMaterialName;
Public | property OldMatrix: TGLMatrix read FOldMatrix write SetOldMatrix;

Description

Fields

Private FOldLibMaterialName: string;
Private FOldAutoScaling: TGLCoordinates;
Private FEffectedObject: TGLCustomSceneObject;
Private FOldMatr: TGLMatrix;
Private FOldMatrix: TGLMatrix;

Methods

Public constructor Create(AOwner: TCollection); override;
Public destructor Destroy; override;
Protected function GetGizmo: TGLGizmo;
Protected function GetParent: TGLGizmoUndoCollection;
Public procedure AssignFromObject(const AObject: TGLCustomSceneObject);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;
Protected procedure DoUndo; virtual;
Private procedure SetEffectedObject(const Value: TGLCustomSceneObject);
Private procedure SetOldAutoScaling(const Value: TGLCoordinates);
Private procedure SetOldMatrix(const Value: TGLMatrix);

Properties

Published property EffectedObject: TGLCustomSceneObject read FEffectedObject write SetEffectedObject;
Published property OldAutoScaling: TGLCoordinates read FOldAutoScaling write SetOldAutoScaling;
Published property OldLibMaterialName: string read FOldLibMaterialName write FOldLibMaterialName;
Public property OldMatrix: TGLMatrix read FOldMatrix write SetOldMatrix;

TODO: create a special type for Matrix.


GLSysHelp v.2.1: GLS.Gizmo: Class TGLGizmoUndoCollection

Class TGLGizmoUndoCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gizmo

Declaration

type TGLGizmoUndoCollection = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLGizmoUndoCollection

Overview

Methods

Public | function Add: TGLGizmoUndoItem;
Protected | function GetParent: TGLGizmo;
Private | function GetItems(const Index: Integer): TGLGizmoUndoItem;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation);
Public | procedure RemoveByObject(const AObject: TGLCustomSceneObject);
Private | procedure SetItems(const Index: Integer; const Value: TGLGizmoUndoItem);

Properties

Public property Items[constIndex:Integer]: TGLGizmoUndoItem read GetItems write SetItems;

Description

Methods

Public function Add: TGLGizmoUndoItem;
Protected function GetParent: TGLGizmo;
Private function GetItems(const Index: Integer): TGLGizmoUndoItem;
Public procedure Notification(AComponent: TComponent; Operation: TOperation);
Public procedure RemoveByObject(const AObject: TGLCustomSceneObject);
Private procedure SetItems(const Index: Integer; const Value: TGLGizmoUndoItem);

Properties

Public property Items[constIndex:Integer]: TGLGizmoUndoItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Gizmo: Class TGLGizmoRayCastHitData

Class TGLGizmoRayCastHitData

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gizmo

Declaration

type TGLGizmoRayCastHitData = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLGizmoRayCastHitData

Overview

Fields

Public | Obj: TGLBaseSceneObject;
Public | Point: TGLVector;

Description

Fields

Public Obj: TGLBaseSceneObject;
Public Point: TGLVector;


GLSysHelp v.2.1: GLS.Gizmo: Class TGLGizmoPickCube

Class TGLGizmoPickCube

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gizmo

Declaration

type TGLGizmoPickCube = class(TGLCube)

Description

No description available, ancestor TGLCube description follows

A simple cube object. This cube use the same material for each of its faces, ie. all faces look the same. If you want a multi-material cube, use a mesh in conjunction with a TGLFreeForm and a material library. Ref: https://mathworld.wolfram.com/Cube.html

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLCube
  • TGLGizmoPickCube


GLSysHelp v.2.1: GLS.Gizmo: Class TGLGizmoPickTorus

Class TGLGizmoPickTorus

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gizmo

Declaration

type TGLGizmoPickTorus = class(TGLTorus)

Description

No description available, ancestor TGLTorus description follows

A Torus object

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLTorus
  • TGLGizmoPickTorus


GLSysHelp v.2.1: GLS.Gizmo: Class TGLGizmo

Class TGLGizmo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gizmo

Declaration

type TGLGizmo = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLGizmo

Overview

Fields

Private | _GZObaseGizmo: TGLBaseSceneObject;
Private | _GZOBoundingcube: TGLCube;
Private | _GZOrootHelpers: TGLBaseSceneObject;
Private | _GZOrootLines: TGLBaseSceneObject;
Private | _GZOrootTorus: TGLBaseSceneObject;
Private | _GZOrootCubes: TGLBaseSceneObject;
Private | _GZORootAxisLabel: TGLBaseSceneObject;
Private | _GZORootVisibleInfoLabels: TGLBaseSceneObject;
Private | _GZOlineX: TGLLines;
Private | _GZOlineY: TGLLines;
Private | _GZOlineZ: TGLLines;
Private | _GZOplaneXY: TGLLines;
Private | _GZOplaneXZ: TGLLines;
Private | _GZOplaneYZ: TGLLines;
Private | _GZOTorusX: TGLGizmoPickTorus;
Private | _GZOTorusY: TGLGizmoPickTorus;
Private | _GZOTorusZ: TGLGizmoPickTorus;
Private | _GZOCubeX: TGLGizmoPickCube;
Private | _GZOCubeY: TGLGizmoPickCube;
Private | _GZOCubeZ: TGLGizmoPickCube;
Private | _GZOAxisLabelX: TGLFlatText;
Private | _GZOAxisLabelY: TGLFlatText;
Private | _GZOAxisLabelZ: TGLFlatText;
Private | _GZOVisibleInfoLabels: TGLFlatText;
Private | FRootGizmo: TGLBaseSceneObject;
Private | FSelectedObj: TGLBaseSceneObject;
Private | FOperation: TGLGizmoOperation;
Private | FSelAxis: TGLGizmoAxis;
Private | FBoundingBoxColor: TGLColor;
Private | FSelectedColor: TGLColor;
Private | FVisibleInfoLabelsColor: TGLColor;
Private | FBoundingBoxColorChanged: Boolean;
Private | FVisibleInfoLabelsColorChanged: Boolean;
Private | FForceOperation: Boolean;
Private | FForceAxis: Boolean;
Private | FForceUniformScale: Boolean;
Private | FAutoZoom: Boolean;
Private | FExcludeObjects: Boolean;
Private | FNoZWrite: Boolean;
Private | FEnabled: Boolean;
Private | FAutoZoomFactor: Single;
Private | FZoomFactor: Single;
Private | FMoveCoef: Single;
Private | FRotationCoef: Single;
Private | FViewer: TGLSceneViewer;
Private | FGizmoElements: TGLGizmoElements;
Private | FVisibleVisibleInfoLabels: TGLGizmoVisibleInfoLabels;
Private | FExcludeObjectsList: TStrings;
Private | Moving: Boolean;
Private | Mx: Integer;
Private | My: Integer;
Private | Rx: Integer;
Private | Ry: Integer;
Private | dglEnable: TGLDirectOpenGL;
Private | dglDisable: TGLDirectOpenGL;
Private | dgtEnable: TGLDirectOpenGL;
Private | dgtDisable: TGLDirectOpenGL;
Private | dgcEnable: TGLDirectOpenGL;
Private | dgcDisable: TGLDirectOpenGL;
Private | dglaEnable: TGLDirectOpenGL;
Private | dglaDisable: TGLDirectOpenGL;
Private | dgliEnable: TGLDirectOpenGL;
Private | dgliDisable: TGLDirectOpenGL;
Private | LastMousePos: TGLVector;
Private | ObjDimensions: TGLVector;
Private | FOnBeforeSelect: TGLGizmoAcceptEvent;
Private | FOnBeforeUpdate: TGLGizmoUpdateEvent;
Private | FOnSelectionLost: TNotifyEvent;
Private | FScaleCoef: Single;
Private | FGizmoThickness: Single;
Private | FPickMode: TGLGizmoPickMode;
Private | FInternalRaycastHitData: TList;
Private | FUndoHistory: TGLGizmoUndoCollection;
Private | FLabelFont: TGLCustomBitmapFont;
Public | PickableObjectsWithRayCast: TList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function GetPickedObjectPoint(const Obj: TGLBaseSceneObject): TGLVector;
Private | function CheckObjectInExcludeList(const Obj: TGLBaseSceneObject): Boolean;
Private | function InternalGetPickedObjects(const X1, Y1, X2, Y2: Integer; const GuessCount: Integer = 8): TGLPickList;
Private | function MouseWorldPos(const X, Y: Integer): TGLVector;
Public | procedure Loaded; override;
Public | procedure LooseSelection; virtual;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure SetVisible(const AValue: Boolean);
Public | procedure UndoAdd(const AObject: TGLCustomSceneObject);
Public | procedure UpdateGizmo(const NewDimensions: TGLVector); overload;
Public | procedure UpdateGizmo; overload;
Public | procedure ViewerMouseDown(const X, Y: Integer);
Public | procedure ViewerMouseMove(const X, Y: Integer);
Public | procedure ViewerMouseUp(const X, Y: Integer);
Private | procedure ClearInternalRaycastHitData;
Private | procedure DirectGlDisable(Sender: TObject; var Rci: TGLRenderContextInfo);
Private | procedure DirectGlEnable(Sender: TObject; var Rci: TGLRenderContextInfo);
Private | procedure SetBoundingBoxColor(const AValue: TGLColor);
Private | procedure SetExcludeObjectsList(const AValue: TStrings);
Private | procedure SetGizmoElements(const AValue: TGLGizmoElements);
Private | procedure SetGLGizmoThickness(const Value: Single);
Private | procedure SeTGLGizmoVisibleInfoLabels(const AValue : TGLGizmoVisibleInfoLabels);
Private | procedure SetLabelFont(const Value: TGLCustomBitmapFont);
Private | procedure SetRootGizmo(const AValue: TGLBaseSceneObject);
Private | procedure SetSelectedColor(const AValue: TGLColor);
Private | procedure SetSelectedObj(const Value: TGLBaseSceneObject);
Private | procedure SetViewer(const Value: TGLSceneViewer);
Private | procedure SetVisibleInfoLabelsColor(const AValue: TGLColor);
Private | procedure UpdateVisibleInfoLabels;

Properties

Published | property AutoZoom: Boolean read FAutoZoom write FAutoZoom;
Published | property AutoZoomFactor: Single read FAutoZoomFactor write FAutoZoomFactor;
Published | property BoundingBoxColor: TGLColor read FBoundingBoxColor write SetBoundingBoxColor;
Published | property Enabled: Boolean read FEnabled write FEnabled default False;
Published | property ExcludeObjects: Boolean read FExcludeObjects write FExcludeObjects;
Published | property ExcludeObjectsList: TStrings read FExcludeObjectsList write SetExcludeObjectsList;
Published | property ForceAxis: Boolean read FForceAxis write FForceAxis;
Published | property ForceOperation: Boolean read FForceOperation write FForceoperation;
Published | property ForceUniformScale: Boolean read FForceUniformScale write FForceUniformScale;
Published | property GizmoElements: TGLGizmoElements read FGizmoElements write SetGizmoElements;
Published | property GizmoThickness: Single read FGizmoThickness write SeTGLGizmoThickness;
Published | property LabelFont: TGLCustomBitmapFont read FLabelFont write SetLabelFont default nil;
Published | property MoveCoef: Single read FMoveCoef write FMoveCoef;
Published | property NoZWrite: Boolean read FNoZWrite write FNoZWrite;
Published | property OnBeforeSelect: TGLGizmoAcceptEvent read FOnBeforeSelect write FOnBeforeSelect;
Published | property OnBeforeUpdate: TGLGizmoUpdateEvent read FOnBeforeUpdate write FOnBeforeUpdate;
Published | property OnSelectionLost: TNotifyEvent read FOnSelectionLost write FOnSelectionLost;
Published | property Operation: TGLGizmoOperation read FOperation write FOperation;
Published | property PickMode: TGLGizmoPickMode read FPickMode write FPickMode default PmGetPickedObjects;
Public | property RootGizmo: TGLBaseSceneObject read FRootGizmo write SetRootGizmo;
Published | property RotationCoef: Single read FRotationCoef write FRotationCoef;
Published | property ScaleCoef: Single read FScaleCoef write FScaleCoef;
Published | property SelAxis: TGLGizmoAxis read FSelAxis write FSelAxis;
Published | property SelectedColor: TGLColor read FSelectedColor write SetSelectedColor;
Published | property SelectedObj: TGLBaseSceneObject read FSelectedObj write SetSelectedObj;
Published | property Viewer: TGLSceneViewer read FViewer write SetViewer;
Published | property VisibleInfoLabels: TGLGizmoVisibleInfoLabels read FVisibleVisibleInfoLabels write SeTGLGizmoVisibleInfoLabels;
Published | property VisibleInfoLabelsColor: TGLColor read FVisibleInfoLabelsColor write SetVisibleInfoLabelsColor;
Published | property ZoomFactor: Single read FZoomFactor write FZoomFactor;

Description

Fields

Private _GZObaseGizmo: TGLBaseSceneObject;
Private _GZOBoundingcube: TGLCube;
Private _GZOrootHelpers: TGLBaseSceneObject;
Private _GZOrootLines: TGLBaseSceneObject;
Private _GZOrootTorus: TGLBaseSceneObject;
Private _GZOrootCubes: TGLBaseSceneObject;
Private _GZORootAxisLabel: TGLBaseSceneObject;
Private _GZORootVisibleInfoLabels: TGLBaseSceneObject;
Private _GZOlineX: TGLLines;
Private _GZOlineY: TGLLines;
Private _GZOlineZ: TGLLines;
Private _GZOplaneXY: TGLLines;
Private _GZOplaneXZ: TGLLines;
Private _GZOplaneYZ: TGLLines;
Private _GZOTorusX: TGLGizmoPickTorus;

For Move

Private _GZOTorusY: TGLGizmoPickTorus;

For Move

Private _GZOTorusZ: TGLGizmoPickTorus;

For Move

Private _GZOCubeX: TGLGizmoPickCube;

For Rotate

Private _GZOCubeY: TGLGizmoPickCube;

For Rotate

Private _GZOCubeZ: TGLGizmoPickCube;

For Rotate

Private _GZOAxisLabelX: TGLFlatText;

For Scale

Private _GZOAxisLabelY: TGLFlatText;

For Scale

Private _GZOAxisLabelZ: TGLFlatText;

For Scale

Private _GZOVisibleInfoLabels: TGLFlatText;
Private FRootGizmo: TGLBaseSceneObject;
Private FSelectedObj: TGLBaseSceneObject;
Private FOperation: TGLGizmoOperation;

FLastOperation,

Private FSelAxis: TGLGizmoAxis;
Private FBoundingBoxColor: TGLColor;
Private FSelectedColor: TGLColor;
Private FVisibleInfoLabelsColor: TGLColor;
Private FBoundingBoxColorChanged: Boolean;
Private FVisibleInfoLabelsColorChanged: Boolean;
Private FForceOperation: Boolean;
Private FForceAxis: Boolean;
Private FForceUniformScale: Boolean;
Private FAutoZoom: Boolean;
Private FExcludeObjects: Boolean;
Private FNoZWrite: Boolean;
Private FEnabled: Boolean;
Private FAutoZoomFactor: Single;
Private FZoomFactor: Single;
Private FMoveCoef: Single;
Private FRotationCoef: Single;
Private FViewer: TGLSceneViewer;
Private FGizmoElements: TGLGizmoElements;
Private FVisibleVisibleInfoLabels: TGLGizmoVisibleInfoLabels;
Private FExcludeObjectsList: TStrings;
Private Moving: Boolean;
Private Mx: Integer;
Private My: Integer;
Private Rx: Integer;
Private Ry: Integer;
Private dglEnable: TGLDirectOpenGL;
Private dglDisable: TGLDirectOpenGL;
Private dgtEnable: TGLDirectOpenGL;
Private dgtDisable: TGLDirectOpenGL;
Private dgcEnable: TGLDirectOpenGL;
Private dgcDisable: TGLDirectOpenGL;
Private dglaEnable: TGLDirectOpenGL;
Private dglaDisable: TGLDirectOpenGL;
Private dgliEnable: TGLDirectOpenGL;
Private dgliDisable: TGLDirectOpenGL;
Private LastMousePos: TGLVector;
Private ObjDimensions: TGLVector;
Private FOnBeforeSelect: TGLGizmoAcceptEvent;
Private FOnBeforeUpdate: TGLGizmoUpdateEvent;
Private FOnSelectionLost: TNotifyEvent;
Private FScaleCoef: Single;
Private FGizmoThickness: Single;
Private FPickMode: TGLGizmoPickMode;
Private FInternalRaycastHitData: TList;
Private FUndoHistory: TGLGizmoUndoCollection;
Private FLabelFont: TGLCustomBitmapFont;
Public PickableObjectsWithRayCast: TList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function GetPickedObjectPoint(const Obj: TGLBaseSceneObject): TGLVector;
Private function CheckObjectInExcludeList(const Obj: TGLBaseSceneObject): Boolean;
Private function InternalGetPickedObjects(const X1, Y1, X2, Y2: Integer; const GuessCount: Integer = 8): TGLPickList;
Private function MouseWorldPos(const X, Y: Integer): TGLVector;
Public procedure Loaded; override;
Public procedure LooseSelection; virtual;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure SetVisible(const AValue: Boolean);
Public procedure UndoAdd(const AObject: TGLCustomSceneObject);
Public procedure UpdateGizmo(const NewDimensions: TGLVector); overload;
Public procedure UpdateGizmo; overload;
Public procedure ViewerMouseDown(const X, Y: Integer);
Public procedure ViewerMouseMove(const X, Y: Integer);
Public procedure ViewerMouseUp(const X, Y: Integer);
Private procedure ClearInternalRaycastHitData;
Private procedure DirectGlDisable(Sender: TObject; var Rci: TGLRenderContextInfo);
Private procedure DirectGlEnable(Sender: TObject; var Rci: TGLRenderContextInfo);
Private procedure SetBoundingBoxColor(const AValue: TGLColor);
Private procedure SetExcludeObjectsList(const AValue: TStrings);
Private procedure SetGizmoElements(const AValue: TGLGizmoElements);
Private procedure SetGLGizmoThickness(const Value: Single);
Private procedure SeTGLGizmoVisibleInfoLabels(const AValue : TGLGizmoVisibleInfoLabels);
Private procedure SetLabelFont(const Value: TGLCustomBitmapFont);
Private procedure SetRootGizmo(const AValue: TGLBaseSceneObject);
Private procedure SetSelectedColor(const AValue: TGLColor);
Private procedure SetSelectedObj(const Value: TGLBaseSceneObject);
Private procedure SetViewer(const Value: TGLSceneViewer);
Private procedure SetVisibleInfoLabelsColor(const AValue: TGLColor);
Private procedure UpdateVisibleInfoLabels;

Properties

Published property AutoZoom: Boolean read FAutoZoom write FAutoZoom;
Published property AutoZoomFactor: Single read FAutoZoomFactor write FAutoZoomFactor;
Published property BoundingBoxColor: TGLColor read FBoundingBoxColor write SetBoundingBoxColor;
Published property Enabled: Boolean read FEnabled write FEnabled default False;

Warning Enable is ReadOnly property if you set to False, Gizmo is not Hidden use Visible instead if you want to Hide, if you want to Hide but keep enabled see the VisibleGizmo property

Published property ExcludeObjects: Boolean read FExcludeObjects write FExcludeObjects;
Published property ExcludeObjectsList: TStrings read FExcludeObjectsList write SetExcludeObjectsList;
Published property ForceAxis: Boolean read FForceAxis write FForceAxis;
Published property ForceOperation: Boolean read FForceOperation write FForceoperation;
Published property ForceUniformScale: Boolean read FForceUniformScale write FForceUniformScale;
Published property GizmoElements: TGLGizmoElements read FGizmoElements write SetGizmoElements;
Published property GizmoThickness: Single read FGizmoThickness write SeTGLGizmoThickness;
Published property LabelFont: TGLCustomBitmapFont read FLabelFont write SetLabelFont default nil;
Published property MoveCoef: Single read FMoveCoef write FMoveCoef;
Published property NoZWrite: Boolean read FNoZWrite write FNoZWrite;
Published property OnBeforeSelect: TGLGizmoAcceptEvent read FOnBeforeSelect write FOnBeforeSelect;
Published property OnBeforeUpdate: TGLGizmoUpdateEvent read FOnBeforeUpdate write FOnBeforeUpdate;

Called before an Update is applied. The "vector" parameter is the difference that will be applied to the object, according to the axis and operation selected.

Published property OnSelectionLost: TNotifyEvent read FOnSelectionLost write FOnSelectionLost;
Published property Operation: TGLGizmoOperation read FOperation write FOperation;
Published property PickMode: TGLGizmoPickMode read FPickMode write FPickMode default PmGetPickedObjects;
Public property RootGizmo: TGLBaseSceneObject read FRootGizmo write SetRootGizmo;
Published property RotationCoef: Single read FRotationCoef write FRotationCoef;
Published property ScaleCoef: Single read FScaleCoef write FScaleCoef;
Published property SelAxis: TGLGizmoAxis read FSelAxis write FSelAxis;
Published property SelectedColor: TGLColor read FSelectedColor write SetSelectedColor;
Published property SelectedObj: TGLBaseSceneObject read FSelectedObj write SetSelectedObj;
Published property Viewer: TGLSceneViewer read FViewer write SetViewer;

——————————————————————–

Published property VisibleInfoLabels: TGLGizmoVisibleInfoLabels read FVisibleVisibleInfoLabels write SeTGLGizmoVisibleInfoLabels;
Published property VisibleInfoLabelsColor: TGLColor read FVisibleInfoLabelsColor write SetVisibleInfoLabelsColor;
Published property ZoomFactor: Single read FZoomFactor write FZoomFactor;


GLSysHelp v.2.1: GLS.GizmoEx

Unit GLS.GizmoEx

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.Types
  • Vcl.StdCtrls
  • GLS.Scene
  • GLS.Color
  • GLS.Objects
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.Strings
  • GLS.GeomObjects
  • GLS.BitmapFont
  • GLS.SceneViewer
  • GLS.VectorFileObjects
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.GeometryBB
  • GLS.VectorTypes
  • GLS.Canvas
  • GLS.PersistentClasses
  • GLS.Screen
  • GLS.State
  • GLS.Selection

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLGizmoExObjectItem |
Class TGLGizmoExObjectCollection |
Class TGLGizmoExActionHistoryItem |
Class TGLGizmoExActionHistoryCollection |
Class TGLGizmoExUIFrustrum |
Class TGLGizmoExUISphere |
Class TGLGizmoExUIDisk |
Class TGLGizmoExUITorus |
Class TGLGizmoExUIPolygon |
Class TGLGizmoExUIArrowLine |
Class TGLGizmoExUILines |
Class TGLGizmoExUIFlatText |
Class TGLGizmoEx |

Types

TGLGizmoExAcceptEvent = procedure(Sender: TObject; var objs: TGLPickList) of object;
TGLGizmoExAxis = (...);
TGLGizmoExAxisSelected = procedure(Sender: TObject; var Axis: TGLGizmoExAxis) of object;
TGLGizmoExOperation = (...);
TGLGizmoExOperationMode = (...);
TGLGizmoExPickMode = (...);
TGLGizmoExReferenceCoordinateSystem = (...);
TGLGizmoExSelectionRegion = (...);
TGLGizmoExSelRec = array of TPoint;
TGLGizmoExVisibleInfoLabel = (...);
TGLGizmoExVisibleInfoLabels = set of TGLGizmoExVisibleInfoLabel;
TInfoLabelCoordType = (...);

Description

Types

TGLGizmoExAcceptEvent = procedure(Sender: TObject; var objs: TGLPickList) of object;
TGLGizmoExAxis = (...);
Values
  • gaNone
  • gaX
  • gaY
  • gaZ
  • gaXY
  • gaXZ
  • gaYZ
  • gaXYZ
TGLGizmoExAxisSelected = procedure(Sender: TObject; var Axis: TGLGizmoExAxis) of object;
TGLGizmoExOperation = (...);
Values
  • gopMove
  • gopRotate
  • gopScale
  • gopNone
TGLGizmoExOperationMode = (...);
Values
  • gomNone
  • gomSelect
  • gomMove
  • gomRotate
  • gomScale
TGLGizmoExPickMode = (...);
Values
  • pmGetPickedObjects
  • pmRayCast
TGLGizmoExReferenceCoordinateSystem = (...);
Values
  • rcsView
  • rcsLocal
TGLGizmoExSelectionRegion = (...);
Values
  • gsrRectangular
  • gsrCircular
  • gsrFence
  • gsrLasso
TGLGizmoExSelRec = array of TPoint;
TGLGizmoExVisibleInfoLabel = (...);
Values
  • vliName
  • vliOperation
  • vliCoords
TGLGizmoExVisibleInfoLabels = set of TGLGizmoExVisibleInfoLabel;
TInfoLabelCoordType = (...);
Values
  • ilcChanging
  • ilcChangeRate


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExObjectItem

Class TGLGizmoExObjectItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExObjectItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLGizmoExObjectItem

Overview

Fields

Private | FOldAutoScaling: TGLVector;
Private | FEffectedObject: TGLBaseSceneObject;
Private | FParentOldObject: TGLBaseSceneObject;
Private | FIndexOldObject: Integer;
Private | FNameOldObject: string;
Private | FReturnObject: Boolean;
Private | FOldMatrix: TGLMatrix;
Private | FGizmoTmpRoot: TGLBaseSceneObject;

Methods

Public | constructor Create(AOwner: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetGizmo: TGLGizmoEx;
Protected | function GetParent: TGLGizmoExObjectCollection;
Public | procedure AssignFromObject(const AObject: TGLBaseSceneObject; AssignAndRemoveObj: Boolean = False);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;
Protected | procedure DoUndo;
Private | procedure SetEffectedObject(const Value: TGLBaseSceneObject);
Private | procedure SetOldMatrix(const Value: TGLMatrix);

Properties

Published | property EffectedObject: TGLBaseSceneobject read FEffectedObject write SetEffectedObject;
Public | property GizmoTmpRoot: TGLBaseSceneObject read FGizmoTmpRoot write FGizmoTmpRoot;
Public | property OldMatrix: TGLMatrix read FOldMatrix write SetOldMatrix;

Description

Fields

Private FOldAutoScaling: TGLVector;
Private FEffectedObject: TGLBaseSceneObject;
Private FParentOldObject: TGLBaseSceneObject;
Private FIndexOldObject: Integer;
Private FNameOldObject: string;
Private FReturnObject: Boolean;
Private FOldMatrix: TGLMatrix;
Private FGizmoTmpRoot: TGLBaseSceneObject;

Methods

Public constructor Create(AOwner: TCollection); override;
Public destructor Destroy; override;
Protected function GetGizmo: TGLGizmoEx;
Protected function GetParent: TGLGizmoExObjectCollection;
Public procedure AssignFromObject(const AObject: TGLBaseSceneObject; AssignAndRemoveObj: Boolean = False);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;
Protected procedure DoUndo;
Private procedure SetEffectedObject(const Value: TGLBaseSceneObject);
Private procedure SetOldMatrix(const Value: TGLMatrix);

Properties

Published property EffectedObject: TGLBaseSceneobject read FEffectedObject write SetEffectedObject;
Public property GizmoTmpRoot: TGLBaseSceneObject read FGizmoTmpRoot write FGizmoTmpRoot;
Public property OldMatrix: TGLMatrix read FOldMatrix write SetOldMatrix;

TODO: create a special type for Matrix.


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExObjectCollection

Class TGLGizmoExObjectCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExObjectCollection = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLGizmoExObjectCollection

Overview

Methods

Public | function Add: TGLGizmoExObjectItem;
Protected | function GetParent: TGLGizmoEx;
Private | function GetItems(const Index: Integer): TGLGizmoExObjectItem;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation);
Public | procedure RemoveByObject(const AObject: TGLCustomSceneObject);
Protected | procedure DoUndo;
Private | procedure SetItems(const Index: Integer; const Value: TGLGizmoExObjectItem);

Properties

Public property Items[constIndex:Integer]: TGLGizmoExObjectItem read GetItems write SetItems;

Description

Methods

Public function Add: TGLGizmoExObjectItem;
Protected function GetParent: TGLGizmoEx;
Private function GetItems(const Index: Integer): TGLGizmoExObjectItem;
Public procedure Notification(AComponent: TComponent; Operation: TOperation);
Public procedure RemoveByObject(const AObject: TGLCustomSceneObject);
Protected procedure DoUndo;
Private procedure SetItems(const Index: Integer; const Value: TGLGizmoExObjectItem);

Properties

Public property Items[constIndex:Integer]: TGLGizmoExObjectItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExActionHistoryItem

Class TGLGizmoExActionHistoryItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExActionHistoryItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLGizmoExActionHistoryItem

Overview

Fields

Private | FObject: TObject;
Private | FGizmoObjectCollection: TGLGizmoExObjectCollection;

Methods

Public | constructor Create(AOwner: TCollection); override;
Public | destructor Destroy; override;
Private | procedure SetGizmoObjectCollection(aValue: TGLGizmoExObjectCollection);
Private | procedure SetObject(aValue: TObject);

Properties

Public | property BaseObject: TObject read FObject write SetObject;
Public | property GizmoObjectCollection: TGLGizmoExObjectCollection read FGizmoObjectCollection write SetGizmoObjectCollection;

Description

Fields

Private FObject: TObject;
Private FGizmoObjectCollection: TGLGizmoExObjectCollection;

Methods

Public constructor Create(AOwner: TCollection); override;
Public destructor Destroy; override;
Private procedure SetGizmoObjectCollection(aValue: TGLGizmoExObjectCollection);
Private procedure SetObject(aValue: TObject);

Properties

Public property BaseObject: TObject read FObject write SetObject;
Public property GizmoObjectCollection: TGLGizmoExObjectCollection read FGizmoObjectCollection write SetGizmoObjectCollection;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExActionHistoryCollection

Class TGLGizmoExActionHistoryCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExActionHistoryCollection = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLGizmoExActionHistoryCollection

Overview

Fields

Private | FItemIndex: Integer;
Private | FItemsMaxCount: Integer;
Private | FGizmoTmpRoot: TGLBaseSceneObject;

Methods

Public | constructor Create(AOwner: TPersistent; ItemClass: TCollectionItemClass);
Public | function Redo: TGLGizmoExActionHistoryItem;
Public | function Undo: TGLGizmoExActionHistoryItem;
Private | function Add: TGLGizmoExActionHistoryItem;
Private | function GetItems(const Index: Integer): TGLGizmoExActionHistoryItem;
Public | procedure AddObject(obj: TObject);
Public | procedure AddObjects(objs: TGLPickList);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation);
Public | procedure RemoveObjects(objs: TGLPickList);
Private | procedure SetItems(const Index: Integer; const Value: TGLGizmoExActionHistoryItem);

Properties

Public | property GizmoTmpRoot: TGLBaseSceneObject read FGizmoTmpRoot write FGizmoTmpRoot;
Public | property ItemIndex: Integer read FItemIndex write FItemIndex;
Public | property Items[constIndex:Integer]: TGLGizmoExActionHistoryItem read GetItems write SetItems;
Public | property MaxCount: Integer read FItemsMaxCount write FItemsMaxCount;

Description

Fields

Private FItemIndex: Integer;
Private FItemsMaxCount: Integer;
Private FGizmoTmpRoot: TGLBaseSceneObject;

Methods

Public constructor Create(AOwner: TPersistent; ItemClass: TCollectionItemClass);
Public function Redo: TGLGizmoExActionHistoryItem;
Public function Undo: TGLGizmoExActionHistoryItem;
Private function Add: TGLGizmoExActionHistoryItem;
Private function GetItems(const Index: Integer): TGLGizmoExActionHistoryItem;
Public procedure AddObject(obj: TObject);
Public procedure AddObjects(objs: TGLPickList);
Public procedure Notification(AComponent: TComponent; Operation: TOperation);
Public procedure RemoveObjects(objs: TGLPickList);
Private procedure SetItems(const Index: Integer; const Value: TGLGizmoExActionHistoryItem);

Properties

Public property GizmoTmpRoot: TGLBaseSceneObject read FGizmoTmpRoot write FGizmoTmpRoot;
Public property ItemIndex: Integer read FItemIndex write FItemIndex;
Public property Items[constIndex:Integer]: TGLGizmoExActionHistoryItem read GetItems write SetItems;
Public property MaxCount: Integer read FItemsMaxCount write FItemsMaxCount;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUIFrustrum

Class TGLGizmoExUIFrustrum

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUIFrustrum = class(TGLFrustrum)

Description

Gizmo objects

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLFrustrum
  • TGLGizmoExUIFrustrum

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUISphere

Class TGLGizmoExUISphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUISphere = class(TGLSphere)

Description

No description available, ancestor TGLSphere description follows

A sphere object. The sphere can have to and bottom caps, as well as being just a slice of sphere. Ref: https://mathworld.wolfram.com/Sphere.html Ref: https://mathworld.wolfram.com/GeodesicDome.html

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLSphere
  • TGLGizmoExUISphere

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUIDisk

Class TGLGizmoExUIDisk

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUIDisk = class(TGLDisk)

Description

No description available, ancestor TGLDisk description follows

A Disk object that may not be complete, it can have a hole (controlled by the InnerRadius property) and can only be a slice (controlled by the StartAngle and SweepAngle properties).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLDisk
  • TGLGizmoExUIDisk

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUITorus

Class TGLGizmoExUITorus

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUITorus = class(TGLTorus)

Description

No description available, ancestor TGLTorus description follows

A Torus object

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLTorus
  • TGLGizmoExUITorus

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUIPolygon

Class TGLGizmoExUIPolygon

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUIPolygon = class(TGLPolygon)

Description

No description available, ancestor TGLPolygon description follows

A basic polygon object. The curve is described by the Nodes and SplineMode properties, should be planar and is automatically tessellated. Texture coordinates are deduced from X and Y coordinates only. This object allows only for polygons described by a single curve, if you need "complex polygons" with holes, patches and cutouts, see GLS.MultiPolygon.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPolygonBase
  • TGLPolygon
  • TGLGizmoExUIPolygon

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUIArrowLine

Class TGLGizmoExUIArrowLine

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUIArrowLine = class(TGLArrowLine)

Description

No description available, ancestor TGLArrowLine description follows

Draws an arrowhead (cylinder + cone). The arrow head is a cone that shares the attributes of the cylinder (ie stacks/slices, materials etc). Seems to work ok. This is useful for displaying a vector based field (eg velocity) or other arrows that might be required. By default the bottom arrow is off

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLCylinderBase
  • TGLArrowLine
  • TGLGizmoExUIArrowLine

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUILines

Class TGLGizmoExUILines

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUILines = class(TGLLines)

Description

No description available, ancestor TGLLines description follows

Set of 3D line segments. You define a 3D Line by adding its nodes in the "Nodes" property. The line may be rendered as a set of segment or as a curve (nodes then act as spline control points). Alternatively, you can also use it to render a set of spacial nodes (points in space), just make the lines transparent and the nodes visible by picking the node aspect that suits you.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLLineBase
  • TGLNodedLines
  • TGLLines
  • TGLGizmoExUILines

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoExUIFlatText

Class TGLGizmoExUIFlatText

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoExUIFlatText = class(TGLFlatText)

Description

No description available, ancestor TGLFlatText description follows

A 2D text displayed and positionned in 3D coordinates. The FlatText uses a character font defined and stored by a TGLBitmapFont component. Default character scale is 1 font pixel = 1 space unit.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLFlatText
  • TGLGizmoExUIFlatText

Overview

Fields

Private FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;

Description

Fields

Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Properties

Public property NoZWrite: Boolean read FNoZWrite write FNoZWrite;


GLSysHelp v.2.1: GLS.GizmoEx: Class TGLGizmoEx

Class TGLGizmoEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.GizmoEx

Declaration

type TGLGizmoEx = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLGizmoEx

Overview

Fields

Private | FUIBaseGizmo: TGLBaseSceneObject;
Private | FUIRootHelpers: TGLBaseSceneObject;
Private | FUIRootSelect: TGLBaseSceneObject;
Private | FUIRootMovement: TGLBaseSceneObject;
Private | FUIRootRotate: TGLBaseSceneObject;
Private | FUIRootRotateAxisLabel: TGLBaseSceneObject;
Private | FUIRootScale: TGLBaseSceneObject;
Private | FUIRootAxisLabel: TGLBaseSceneObject;
Private | FUIRootVisibleInfoLabels: TGLBaseSceneObject;
Private | FInterfaceRender: TGLDirectOpenGL;
Private | FInternalRender: TGLDirectOpenGL;
Private | FUISelectLineX: TGLGizmoExUILines;
Private | FUISelectLineY: TGLGizmoExUILines;
Private | FUISelectLineZ: TGLGizmoExUILines;
Private | FUIICMovementLineX: TGLGizmoExUIFrustrum;
Private | FUIICMovementLineY: TGLGizmoExUIFrustrum;
Private | FUIICMovementLineZ: TGLGizmoExUIFrustrum;
Private | FUIICMovementLineXY: TGLGizmoExUIFrustrum;
Private | FUIICMovementLineXZ: TGLGizmoExUIFrustrum;
Private | FUIICMovementLineYZ: TGLGizmoExUIFrustrum;
Private | FUIMovementArrowX: TGLGizmoExUIArrowLine;
Private | FUIMovementArrowY: TGLGizmoExUIArrowLine;
Private | FUIMovementArrowZ: TGLGizmoExUIArrowLine;
Private | FUIMovementLineX: TGLGizmoExUILines;
Private | FUIMovementLineY: TGLGizmoExUILines;
Private | FUIMovementLineZ: TGLGizmoExUILines;
Private | FUIMovementLineXY: TGLGizmoExUILines;
Private | FUIMovementLineXZ: TGLGizmoExUILines;
Private | FUIMovementLineYZ: TGLGizmoExUILines;
Private | FUIMovementPlaneXY: TGLGizmoExUIPolyGon;
Private | FUIMovementPlaneXZ: TGLGizmoExUIPolyGon;
Private | FUIMovementPlaneYZ: TGLGizmoExUIPolyGon;
Private | FUIRotateLineX: TGLGizmoExUILines;
Private | FUIRotateLineY: TGLGizmoExUILines;
Private | FUIRotateLineZ: TGLGizmoExUILines;
Private | FUIRotateLineXY: TGLGizmoExUILines;
Private | FUIRotateLineXZ: TGLGizmoExUILines;
Private | FUIICRotateTorusX: TGLGizmoExUITorus;
Private | FUIICRotateTorusY: TGLGizmoExUITorus;
Private | FUIICRotateTorusZ: TGLGizmoExUITorus;
Private | FUIICRotateTorusXZ: TGLGizmoExUITorus;
Private | FUIRotateDiskXY: TGLGizmoExUIDisk;
Private | FUIRotateDiskX: TGLGizmoExUIDisk;
Private | FUIRotateDiskX2: TGLGizmoExUIDisk;
Private | FUIRotateDiskY: TGLGizmoExUIDisk;
Private | FUIRotateDiskY2: TGLGizmoExUIDisk;
Private | FUIRotateDiskZ: TGLGizmoExUIDisk;
Private | FUIRotateDiskZ2: TGLGizmoExUIDisk;
Private | FUIRotateLineArrowX: TGLGizmoExUILines;
Private | FUIRotateLineArrowY: TGLGizmoExUILines;
Private | FUIRotateLineArrowZ: TGLGizmoExUILines;
Private | FUIICRotateSphereXY: TGLGizmoExUISphere;
Private | FUIRotateAxisLabelX: TGLGizmoExUIFlatText;
Private | FUIRotateAxisLabelY: TGLGizmoExUIFlatText;
Private | FUIRotateAxisLabelZ: TGLGizmoExUIFlatText;
Private | FUIScaleArrowX: TGLGizmoExUISphere;
Private | FUIScaleArrowY: TGLGizmoExUISphere;
Private | FUIScaleArrowZ: TGLGizmoExUISphere;
Private | FUIScaleLineX: TGLGizmoExUILines;
Private | FUIScaleLineY: TGLGizmoExUILines;
Private | FUIScaleLineZ: TGLGizmoExUILines;
Private | FUIScaleLineXY: TGLGizmoExUILines;
Private | FUIScaleLineYZ: TGLGizmoExUILines;
Private | FUIScaleLineXZ: TGLGizmoExUILines;
Private | FUIICScaleLineX: TGLGizmoExUIFrustrum;
Private | FUIICScaleLineY: TGLGizmoExUIFrustrum;
Private | FUIICScaleLineZ: TGLGizmoExUIFrustrum;
Private | FUIICScaleLineXY: TGLGizmoExUIFrustrum;
Private | FUIICScaleLineXZ: TGLGizmoExUIFrustrum;
Private | FUIICScaleLineYZ: TGLGizmoExUIFrustrum;
Private | FUIICScaleLineXYZ: TGLGizmoExUIFrustrum;
Private | FUIScalePlaneXY: TGLGizmoExUIPolyGon;
Private | FUIScalePlaneXZ: TGLGizmoExUIPolyGon;
Private | FUIScalePlaneYZ: TGLGizmoExUIPolyGon;
Private | FUIScalePlaneXYZ: TGLGizmoExUIPolyGon;
Private | FUIAxisLabelX: TGLGizmoExUIFlatText;
Private | FUIAxisLabelY: TGLGizmoExUIFlatText;
Private | FUIAxisLabelZ: TGLGizmoExUIFlatText;
Private | FUIVisibleInfoLabels: TGLGizmoExUIFlatText;
Private | FRootGizmo: TGLBaseSceneObject;
Private | FRootObjects: TGLBaseSceneObject;
Private | FGizmoTmpRoot: TGLBaseSceneObject;
Private | FSelectedObj: TGLBaseSceneObject;
Private | FOperation: TGLGizmoExOperation;
Private | FOperationMode: TGLGizmoExOperationMode;
Private | FSelAxis: TGLGizmoExAxis;
Private | fInfoLabelCoordType: TInfoLabelCoordType;
Private | FReferenceCoordSystem: TGLGizmoExReferenceCoordinateSystem;
Private | FBoundingBoxColor: TGLColor;
Private | FSelectedColor: TGLColor;
Private | FVisibleInfoLabelsColor: TGLColor;
Private | FSelectionRegionColor: TGLColor;
Private | FVisibleInfoLabelsColorChanged: Boolean;
Private | FAutoZoom: Boolean;
Private | FExcludeObjects: Boolean;
Private | FExcludeClassname: Boolean;
Private | FNoZWrite: Boolean;
Private | FEnabled: Boolean;
Private | FAutoZoomFactor: Single;
Private | FZoomFactor: Single;
Private | FMoveCoef: Single;
Private | FRotationCoef: Single;
Private | FViewer: TGLSceneViewer;
Private | FVisibleVisibleInfoLabels: TGLGizmoExVisibleInfoLabels;
Private | FExcludeObjectsList: TStrings;
Private | FExcludeClassNameList: TStrings;
Private | FSelectionRegion: TGLGizmoExSelectionRegion;
Private | FEnableMultiSelection: Boolean;
Private | FShowMultiSelecting: Boolean;
Private | FSelectionRec: TGLGizmoExSelRec;
Private | FCanAddObjToSelectionList: Boolean;
Private | FCanRemoveObjFromSelectionList: Boolean;
Private | FSelectedObjects: TGLPickList;
Private | FAntiAliasedLines: Boolean;
Private | FShowAxisLabel: Boolean;
Private | FShowObjectInfos: Boolean;
Private | FShowBoundingBox: Boolean;
Private | FCanChangeWithChildren: Boolean;
Private | moving: Boolean;
Private | mx: Integer;
Private | my: Integer;
Private | fCursorPos: TPoint;
Private | fLastCursorPos: TPoint;
Private | fChangeRate: TAffineVector;
Private | FEnableLoopCursorMoving: Boolean;
Private | lastMousePos: TGLVector;
Private | FOnUpdate: TNotifyEvent;
Private | FOnSelect: TGLGizmoExAcceptEvent;
Private | FOnOperationChange: TNotifyEvent;
Private | FOnOperationModeChange: TNotifyEvent;
Private | FOnSelectionLost: TNotifyEvent;
Private | FOnAxisSelected: TGLGizmoExAxisSelected;
Private | FScaleCoef: Single;
Private | FGizmoThickness: Single;
Private | FPickMode: TGLGizmoExPickMode;
Private | FEnableHistory: Boolean;
Private | FHistory: TGLGizmoExActionHistoryCollection;
Private | FHistoryStepsCount: Integer;
Private | FLabelFont: TGLCustomBitmapFont;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Redo: TGLGizmoExActionHistoryItem;
Public | function Undo: TGLGizmoExActionHistoryItem;
Private | function CheckClassNameInExcludeList(const Obj: TGLBaseSceneObject): Boolean;
Private | function CheckObjectInExcludeList(const Obj: TGLBaseSceneObject): Boolean;
Private | function GetPickList: TGLPickList;
Private | function GetSelectedObj: TGLBaseSceneObject;
Private | function GetVisible: Boolean;
Private | function InternalGetPickedObjects(const x1, y1, x2, y2: Integer; const guessCount: Integer = 8): TGLPickList;
Private | function MouseWorldPos(const X, Y: Integer): TGLVector;
Public | procedure Loaded; override;
Public | procedure LooseCursorSelection;
Public | procedure LooseSelection; virtual;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure RemoveSelectedObjects;
Public | procedure UndoAdd(const AObject: TObject);
Public | procedure UpdateGizmo; overload;
Public | procedure ViewerMouseDown(const X, Y: Integer);
Public | procedure ViewerMouseMove(const X, Y: Integer);
Public | procedure ViewerMouseUp(const X, Y: Integer);
Private | procedure ActivatingElements(PickList: TGLPickList);
Private | procedure AddObjToSelectionList(Obj: TGLBaseSceneObject);
Private | procedure AssignPickList(aList: TGLPickList; RemoveObj: Boolean = False);
Private | procedure ClearSelection;
Private | procedure InterfaceRender(Sender: TObject; var rci: TGLRenderContextInfo);
Private | procedure InternalRender(Sender: TObject; var rci: TGLRenderContextInfo);
Private | procedure MultiSelMouseDown(X, Y: Integer);
Private | procedure MultiSelMouseMove(X, Y: Integer);
Private | procedure MultiSelMouseUp(X, Y: Integer);
Private | procedure RemoveObjFromSelectionList(Obj: TGLBaseSceneObject);
Private | procedure SetAALines(aValue: Boolean);
Private | procedure SetAngleDisk(aAngle: Single);
Private | procedure SetAutoZoomFactor(const AValue: Single);
Private | procedure SetBoundingBoxColor(const AValue: TGLColor);
Private | procedure SetCanChangeWithChildren(AValue: Boolean);
Private | procedure SetEnableLoopCursorMoving(const AValue: Boolean);
Private | procedure SetEnableMultiSelection(const AValue: Boolean);
Private | procedure SetExcludeClassNameList(const AValue: TStrings);
Private | procedure SetExcludeObjectsList(const AValue: TStrings);
Private | procedure SetGizmoTmpRoot(const AValue: TGLBaseSceneObject);
Private | procedure SetGLGizmoExThickness(const Value: Single);
Private | procedure SeTGLGizmoExVisibleInfoLabels(const AValue: TGLGizmoExVisibleInfoLabels);
Private | procedure SetHistoryStepsCount(aValue: Integer);
Private | procedure SetInfoLabelCoordType(aValue: TInfoLabelCoordType);
Private | procedure SetLabelFont(const Value: TGLCustomBitmapFont);
Private | procedure SetNoZWrite(const Value: Boolean);
Private | procedure SetOperation(const Value: TGLGizmoExOperation);
Private | procedure SetOperationMode(const Value: TGLGizmoExOperationMode);
Private | procedure SetPickList(aValue: TGLPickList);
Private | procedure SetPickMode(APickMode: TGLGizmoExPickMode);
Private | procedure SetReferenceCoordSystem(aValue: TGLGizmoExReferenceCoordinateSystem);
Private | procedure SetRootGizmo(const AValue: TGLBaseSceneObject);
Private | procedure SetRootObjects(const AValue: TGLBaseSceneObject);
Private | procedure SetSelAxis(aValue: TGLGizmoExAxis);
Private | procedure SetSelectedColor(const AValue: TGLColor);
Private | procedure SetSelectedObj(const Value: TGLBaseSceneObject);
Private | procedure SetSelectionRegion(const AValue: TGLGizmoExSelectionRegion);
Private | procedure SetSelectionRegionColor(const AValue: TGLColor);
Private | procedure SetShowAxisLabel(const AValue: Boolean);
Private | procedure SetShowBoundingBox(const AValue: Boolean);
Private | procedure SetShowObjectInfos(const AValue: Boolean);
Private | procedure SetViewer(const Value: TGLSceneViewer);
Private | procedure SetVisible(const AValue: Boolean);
Private | procedure SetVisibleInfoLabelsColor(const AValue: TGLColor);
Private | procedure SetZoomFactor(const AValue: Single);
Private | procedure UpdateVisibleInfoLabels;

Properties

Published | property AntiAliasedLines: Boolean read FAntiAliasedLines write SetAALines default True;
Published | property AutoZoom: Boolean read FAutoZoom write FAutoZoom default True;
Published | property AutoZoomFactor: Single read FAutoZoomFactor write SetAutoZoomFactor;
Published | property BoundingBoxColor: TGLColor read FBoundingBoxColor write SetBoundingBoxColor;
Public | property CanAddObjToSelectionList: Boolean read FCanAddObjToSelectionList write FCanAddObjToSelectionList;
Published | property CanChangeWithChildren: Boolean read FCanChangeWithChildren write SetCanChangeWithChildren;
Public | property CanRemoveObjFromSelectionList: Boolean read FCanRemoveObjFromSelectionList write FCanRemoveObjFromSelectionList;
Public | property CursorSelectingRegion: Boolean read FShowMultiSelecting;
Published | property EnableActionHistory: Boolean read FEnableHistory write FEnableHistory default True;
Published | property Enabled: Boolean read FEnabled write FEnabled default True;
Published | property EnableLoopCursorMoving: Boolean read FEnableLoopCursorMoving write SetEnableLoopCursorMoving default True;
Published | property EnableMultiSelection: Boolean read FEnableMultiSelection write SetEnableMultiSelection default True;
Published | property ExcludeClassname: Boolean read FExcludeClassname write FExcludeClassname;
Published | property ExcludeClassnameList: TStrings read FExcludeClassnameList write SetExcludeClassnameList;
Published | property ExcludeObjects: Boolean read FExcludeObjects write FExcludeObjects;
Published | property ExcludeObjectsList: TStrings read FExcludeObjectsList write SetExcludeObjectsList;
Published | property GizmoThickness: Single read FGizmoThickness write SeTGLGizmoExThickness;
Public | property GizmoTmpRoot: TGLBaseSceneObject read FGizmoTmpRoot write SetGizmoTmpRoot;
Published | property HistoryStepsCount: Integer read FHistoryStepsCount write SetHistoryStepsCount;
Published | property InfoLabelCoordType: TInfoLabelCoordType read fInfoLabelCoordType write SetInfoLabelCoordType default ilcChangeRate;
Published | property LabelFont: TGLCustomBitmapFont read FLabelFont write SetLabelFont default nil;
Published | property MoveCoef: Single read FMoveCoef write FMoveCoef;
Published | property NoZWrite: Boolean read FNoZWrite write SetNoZWrite default True;
Published | property OnAxisSelected: TGLGizmoExAxisSelected read FOnAxisSelected write FOnAxisSelected;
Published | property OnOperationChange: TNotifyEvent read FOnOperationChange write FOnOperationChange;
Published | property OnOperationModeChange: TNotifyEvent read FOnOperationModeChange write FOnOperationModeChange;
Published | property OnSelect: TGLGizmoExAcceptEvent read FOnSelect write FOnSelect;
Published | property OnSelectionLost: TNotifyEvent read FOnSelectionLost write FOnSelectionLost;
Published | property OnUpdate: TNotifyEvent read FOnUpdate write FOnUpdate;
Private | property Operation: TGLGizmoExOperation read FOperation write SetOperation;
Published | property OperationMode: TGLGizmoExOperationMode read FOperationMode write SetOperationMode default gomSelect;
Published | property PickMode: TGLGizmoExPickMode read FPickMode write SetPickMode default pmGetPickedObjects;
Published | property ReferenceCoordSystem: TGLGizmoExReferenceCoordinateSystem read FReferenceCoordSystem write SetReferenceCoordSystem default rcsView;
Public | property RootGizmo: TGLBaseSceneObject read FRootGizmo write SetRootGizmo;
Public | property RootObjects: TGLBaseSceneObject read FRootObjects write SetRootObjects;
Published | property RotationCoef: Single read FRotationCoef write FRotationCoef;
Published | property ScaleCoef: Single read FScaleCoef write FScaleCoef;
Private | property SelAxis: TGLGizmoExAxis read FSelAxis write SetSelAxis;
Published | property SelectedColor: TGLColor read FSelectedColor write SetSelectedColor;
Published | property SelectedObj: TGLBaseSceneObject read GetSelectedObj write SetSelectedObj;
Published | property SelectedObjects: TGLPickList read GetPickList write SetPickList;
Published | property SelectionRegion: TGLGizmoExSelectionRegion read FSelectionRegion write SetSelectionRegion default gsrRectangular;
Published | property SelectionRegionColor: TGLColor read FSelectionRegionColor write SetSelectionRegionColor;
Published | property ShowAxisLabel: Boolean read FShowAxisLabel write SetShowAxisLabel default True;
Published | property ShowBoundingBox: Boolean read FShowBoundingBox write SetShowBoundingBox default True;
Published | property ShowObjectInfos: Boolean read FShowObjectInfos write SetShowObjectInfos default True;
Published | property Viewer: TGLSceneViewer read FViewer write SetViewer;
Published | property Visible: Boolean read GetVisible write SetVisible;
Published | property VisibleInfoLabels: TGLGizmoExVisibleInfoLabels read FVisibleVisibleInfoLabels write SeTGLGizmoExVisibleInfoLabels;
Published | property VisibleInfoLabelsColor: TGLColor read FVisibleInfoLabelsColor write SetVisibleInfoLabelsColor;
Published | property ZoomFactor: Single read FZoomFactor write SetZoomFactor;

Description

Fields

Private FUIBaseGizmo: TGLBaseSceneObject;
Private FUIRootHelpers: TGLBaseSceneObject;
Private FUIRootSelect: TGLBaseSceneObject;
Private FUIRootMovement: TGLBaseSceneObject;

for None

Private FUIRootRotate: TGLBaseSceneObject;

for Move

Private FUIRootRotateAxisLabel: TGLBaseSceneObject;

for Rotate

Private FUIRootScale: TGLBaseSceneObject;
Private FUIRootAxisLabel: TGLBaseSceneObject;

for Scale

Private FUIRootVisibleInfoLabels: TGLBaseSceneObject;
Private FInterfaceRender: TGLDirectOpenGL;
Private FInternalRender: TGLDirectOpenGL;
Private FUISelectLineX: TGLGizmoExUILines;
Private FUISelectLineY: TGLGizmoExUILines;
Private FUISelectLineZ: TGLGizmoExUILines;
Private FUIICMovementLineX: TGLGizmoExUIFrustrum;

For None (Select) IC- Invisible Control For Move

Private FUIICMovementLineY: TGLGizmoExUIFrustrum;

For None (Select) IC- Invisible Control For Move

Private FUIICMovementLineZ: TGLGizmoExUIFrustrum;

For None (Select) IC- Invisible Control For Move

Private FUIICMovementLineXY: TGLGizmoExUIFrustrum;

For None (Select) IC- Invisible Control For Move

Private FUIICMovementLineXZ: TGLGizmoExUIFrustrum;

For None (Select) IC- Invisible Control For Move

Private FUIICMovementLineYZ: TGLGizmoExUIFrustrum;

For None (Select) IC- Invisible Control For Move

Private FUIMovementArrowX: TGLGizmoExUIArrowLine;
Private FUIMovementArrowY: TGLGizmoExUIArrowLine;
Private FUIMovementArrowZ: TGLGizmoExUIArrowLine;
Private FUIMovementLineX: TGLGizmoExUILines;

For Move

Private FUIMovementLineY: TGLGizmoExUILines;

For Move

Private FUIMovementLineZ: TGLGizmoExUILines;

For Move

Private FUIMovementLineXY: TGLGizmoExUILines;

For Move

Private FUIMovementLineXZ: TGLGizmoExUILines;

For Move

Private FUIMovementLineYZ: TGLGizmoExUILines;

For Move

Private FUIMovementPlaneXY: TGLGizmoExUIPolyGon;

For Move

Private FUIMovementPlaneXZ: TGLGizmoExUIPolyGon;

For Move

Private FUIMovementPlaneYZ: TGLGizmoExUIPolyGon;

For Move

Private FUIRotateLineX: TGLGizmoExUILines;

For Move ForRotate

Private FUIRotateLineY: TGLGizmoExUILines;

For Move ForRotate

Private FUIRotateLineZ: TGLGizmoExUILines;

For Move ForRotate

Private FUIRotateLineXY: TGLGizmoExUILines;

For Move ForRotate

Private FUIRotateLineXZ: TGLGizmoExUILines;

For Move ForRotate

Private FUIICRotateTorusX: TGLGizmoExUITorus;
Private FUIICRotateTorusY: TGLGizmoExUITorus;
Private FUIICRotateTorusZ: TGLGizmoExUITorus;
Private FUIICRotateTorusXZ: TGLGizmoExUITorus;
Private FUIRotateDiskXY: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateDiskX: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateDiskX2: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateDiskY: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateDiskY2: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateDiskZ: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateDiskZ2: TGLGizmoExUIDisk;

For Rotate

Private FUIRotateLineArrowX: TGLGizmoExUILines;
Private FUIRotateLineArrowY: TGLGizmoExUILines;
Private FUIRotateLineArrowZ: TGLGizmoExUILines;
Private FUIICRotateSphereXY: TGLGizmoExUISphere;
Private FUIRotateAxisLabelX: TGLGizmoExUIFlatText;
Private FUIRotateAxisLabelY: TGLGizmoExUIFlatText;
Private FUIRotateAxisLabelZ: TGLGizmoExUIFlatText;
Private FUIScaleArrowX: TGLGizmoExUISphere;

ForScale

Private FUIScaleArrowY: TGLGizmoExUISphere;

ForScale

Private FUIScaleArrowZ: TGLGizmoExUISphere;

ForScale

Private FUIScaleLineX: TGLGizmoExUILines;

For Scale

Private FUIScaleLineY: TGLGizmoExUILines;

For Scale

Private FUIScaleLineZ: TGLGizmoExUILines;

For Scale

Private FUIScaleLineXY: TGLGizmoExUILines;

For Scale

Private FUIScaleLineYZ: TGLGizmoExUILines;

For Scale

Private FUIScaleLineXZ: TGLGizmoExUILines;

For Scale

Private FUIICScaleLineX: TGLGizmoExUIFrustrum;
Private FUIICScaleLineY: TGLGizmoExUIFrustrum;
Private FUIICScaleLineZ: TGLGizmoExUIFrustrum;
Private FUIICScaleLineXY: TGLGizmoExUIFrustrum;
Private FUIICScaleLineXZ: TGLGizmoExUIFrustrum;
Private FUIICScaleLineYZ: TGLGizmoExUIFrustrum;
Private FUIICScaleLineXYZ: TGLGizmoExUIFrustrum;
Private FUIScalePlaneXY: TGLGizmoExUIPolyGon;
Private FUIScalePlaneXZ: TGLGizmoExUIPolyGon;
Private FUIScalePlaneYZ: TGLGizmoExUIPolyGon;
Private FUIScalePlaneXYZ: TGLGizmoExUIPolyGon;
Private FUIAxisLabelX: TGLGizmoExUIFlatText;

For Move

Private FUIAxisLabelY: TGLGizmoExUIFlatText;

For Move

Private FUIAxisLabelZ: TGLGizmoExUIFlatText;

For Move

Private FUIVisibleInfoLabels: TGLGizmoExUIFlatText;
Private FRootGizmo: TGLBaseSceneObject;
Private FRootObjects: TGLBaseSceneObject;
Private FGizmoTmpRoot: TGLBaseSceneObject;
Private FSelectedObj: TGLBaseSceneObject;
Private FOperation: TGLGizmoExOperation;
Private FOperationMode: TGLGizmoExOperationMode;
Private FSelAxis: TGLGizmoExAxis;
Private fInfoLabelCoordType: TInfoLabelCoordType;
Private FReferenceCoordSystem: TGLGizmoExReferenceCoordinateSystem;
Private FBoundingBoxColor: TGLColor;
Private FSelectedColor: TGLColor;
Private FVisibleInfoLabelsColor: TGLColor;
Private FSelectionRegionColor: TGLColor;
Private FVisibleInfoLabelsColorChanged: Boolean;
Private FAutoZoom: Boolean;
Private FExcludeObjects: Boolean;
Private FExcludeClassname: Boolean;
Private FNoZWrite: Boolean;
Private FEnabled: Boolean;
Private FAutoZoomFactor: Single;
Private FZoomFactor: Single;
Private FMoveCoef: Single;
Private FRotationCoef: Single;
Private FViewer: TGLSceneViewer;
Private FVisibleVisibleInfoLabels: TGLGizmoExVisibleInfoLabels;
Private FExcludeObjectsList: TStrings;
Private FExcludeClassNameList: TStrings;
Private FSelectionRegion: TGLGizmoExSelectionRegion;
Private FEnableMultiSelection: Boolean;
Private FShowMultiSelecting: Boolean;
Private FSelectionRec: TGLGizmoExSelRec;
Private FCanAddObjToSelectionList: Boolean;
Private FCanRemoveObjFromSelectionList: Boolean;
Private FSelectedObjects: TGLPickList;
Private FAntiAliasedLines: Boolean;
Private FShowAxisLabel: Boolean;
Private FShowObjectInfos: Boolean;
Private FShowBoundingBox: Boolean;
Private FCanChangeWithChildren: Boolean;
Private moving: Boolean;
Private mx: Integer;
Private my: Integer;
Private fCursorPos: TPoint;
Private fLastCursorPos: TPoint;
Private fChangeRate: TAffineVector;
Private FEnableLoopCursorMoving: Boolean;

total rotate angle

Private lastMousePos: TGLVector;
Private FOnUpdate: TNotifyEvent;
Private FOnSelect: TGLGizmoExAcceptEvent;
Private FOnOperationChange: TNotifyEvent;
Private FOnOperationModeChange: TNotifyEvent;
Private FOnSelectionLost: TNotifyEvent;
Private FOnAxisSelected: TGLGizmoExAxisSelected;
Private FScaleCoef: Single;
Private FGizmoThickness: Single;
Private FPickMode: TGLGizmoExPickMode;
Private FEnableHistory: Boolean;
Private FHistory: TGLGizmoExActionHistoryCollection;
Private FHistoryStepsCount: Integer;
Private FLabelFont: TGLCustomBitmapFont;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Redo: TGLGizmoExActionHistoryItem;
Public function Undo: TGLGizmoExActionHistoryItem;
Private function CheckClassNameInExcludeList(const Obj: TGLBaseSceneObject): Boolean;
Private function CheckObjectInExcludeList(const Obj: TGLBaseSceneObject): Boolean;
Private function GetPickList: TGLPickList;
Private function GetSelectedObj: TGLBaseSceneObject;
Private function GetVisible: Boolean;
Private function InternalGetPickedObjects(const x1, y1, x2, y2: Integer; const guessCount: Integer = 8): TGLPickList;
Private function MouseWorldPos(const X, Y: Integer): TGLVector;
Public procedure Loaded; override;
Public procedure LooseCursorSelection;
Public procedure LooseSelection; virtual;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure RemoveSelectedObjects;
Public procedure UndoAdd(const AObject: TObject);
Public procedure UpdateGizmo; overload;
Public procedure ViewerMouseDown(const X, Y: Integer);
Public procedure ViewerMouseMove(const X, Y: Integer);
Public procedure ViewerMouseUp(const X, Y: Integer);
Private procedure ActivatingElements(PickList: TGLPickList);
Private procedure AddObjToSelectionList(Obj: TGLBaseSceneObject);
Private procedure AssignPickList(aList: TGLPickList; RemoveObj: Boolean = False);
Private procedure ClearSelection;
Private procedure InterfaceRender(Sender: TObject; var rci: TGLRenderContextInfo);
Private procedure InternalRender(Sender: TObject; var rci: TGLRenderContextInfo);
Private procedure MultiSelMouseDown(X, Y: Integer);
Private procedure MultiSelMouseMove(X, Y: Integer);
Private procedure MultiSelMouseUp(X, Y: Integer);
Private procedure RemoveObjFromSelectionList(Obj: TGLBaseSceneObject);
Private procedure SetAALines(aValue: Boolean);
Private procedure SetAngleDisk(aAngle: Single);
Private procedure SetAutoZoomFactor(const AValue: Single);
Private procedure SetBoundingBoxColor(const AValue: TGLColor);
Private procedure SetCanChangeWithChildren(AValue: Boolean);
Private procedure SetEnableLoopCursorMoving(const AValue: Boolean);
Private procedure SetEnableMultiSelection(const AValue: Boolean);
Private procedure SetExcludeClassNameList(const AValue: TStrings);
Private procedure SetExcludeObjectsList(const AValue: TStrings);
Private procedure SetGizmoTmpRoot(const AValue: TGLBaseSceneObject);
Private procedure SetGLGizmoExThickness(const Value: Single);
Private procedure SeTGLGizmoExVisibleInfoLabels(const AValue: TGLGizmoExVisibleInfoLabels);
Private procedure SetHistoryStepsCount(aValue: Integer);
Private procedure SetInfoLabelCoordType(aValue: TInfoLabelCoordType);
Private procedure SetLabelFont(const Value: TGLCustomBitmapFont);
Private procedure SetNoZWrite(const Value: Boolean);
Private procedure SetOperation(const Value: TGLGizmoExOperation);
Private procedure SetOperationMode(const Value: TGLGizmoExOperationMode);
Private procedure SetPickList(aValue: TGLPickList);
Private procedure SetPickMode(APickMode: TGLGizmoExPickMode);
Private procedure SetReferenceCoordSystem(aValue: TGLGizmoExReferenceCoordinateSystem);
Private procedure SetRootGizmo(const AValue: TGLBaseSceneObject);
Private procedure SetRootObjects(const AValue: TGLBaseSceneObject);
Private procedure SetSelAxis(aValue: TGLGizmoExAxis);
Private procedure SetSelectedColor(const AValue: TGLColor);
Private procedure SetSelectedObj(const Value: TGLBaseSceneObject);
Private procedure SetSelectionRegion(const AValue: TGLGizmoExSelectionRegion);
Private procedure SetSelectionRegionColor(const AValue: TGLColor);
Private procedure SetShowAxisLabel(const AValue: Boolean);
Private procedure SetShowBoundingBox(const AValue: Boolean);
Private procedure SetShowObjectInfos(const AValue: Boolean);
Private procedure SetViewer(const Value: TGLSceneViewer);
Private procedure SetVisible(const AValue: Boolean);
Private procedure SetVisibleInfoLabelsColor(const AValue: TGLColor);
Private procedure SetZoomFactor(const AValue: Single);
Private procedure UpdateVisibleInfoLabels;

Properties

Published property AntiAliasedLines: Boolean read FAntiAliasedLines write SetAALines default True;
Published property AutoZoom: Boolean read FAutoZoom write FAutoZoom default True;
Published property AutoZoomFactor: Single read FAutoZoomFactor write SetAutoZoomFactor;
Published property BoundingBoxColor: TGLColor read FBoundingBoxColor write SetBoundingBoxColor;
Public property CanAddObjToSelectionList: Boolean read FCanAddObjToSelectionList write FCanAddObjToSelectionList;
Published property CanChangeWithChildren: Boolean read FCanChangeWithChildren write SetCanChangeWithChildren;
Public property CanRemoveObjFromSelectionList: Boolean read FCanRemoveObjFromSelectionList write FCanRemoveObjFromSelectionList;
Public property CursorSelectingRegion: Boolean read FShowMultiSelecting;
Published property EnableActionHistory: Boolean read FEnableHistory write FEnableHistory default True;
Published property Enabled: Boolean read FEnabled write FEnabled default True;

Use the property OperationMode=gomNone to unactivate gizmo and make it invisible

Published property EnableLoopCursorMoving: Boolean read FEnableLoopCursorMoving write SetEnableLoopCursorMoving default True;
Published property EnableMultiSelection: Boolean read FEnableMultiSelection write SetEnableMultiSelection default True;
Published property ExcludeClassname: Boolean read FExcludeClassname write FExcludeClassname;
Published property ExcludeClassnameList: TStrings read FExcludeClassnameList write SetExcludeClassnameList;
Published property ExcludeObjects: Boolean read FExcludeObjects write FExcludeObjects;
Published property ExcludeObjectsList: TStrings read FExcludeObjectsList write SetExcludeObjectsList;
Published property GizmoThickness: Single read FGizmoThickness write SeTGLGizmoExThickness;
Public property GizmoTmpRoot: TGLBaseSceneObject read FGizmoTmpRoot write SetGizmoTmpRoot;
Published property HistoryStepsCount: Integer read FHistoryStepsCount write SetHistoryStepsCount;
Published property InfoLabelCoordType: TInfoLabelCoordType read fInfoLabelCoordType write SetInfoLabelCoordType default ilcChangeRate;
Published property LabelFont: TGLCustomBitmapFont read FLabelFont write SetLabelFont default nil;
Published property MoveCoef: Single read FMoveCoef write FMoveCoef;
Published property NoZWrite: Boolean read FNoZWrite write SetNoZWrite default True;
Published property OnAxisSelected: TGLGizmoExAxisSelected read FOnAxisSelected write FOnAxisSelected;
Published property OnOperationChange: TNotifyEvent read FOnOperationChange write FOnOperationChange;
Published property OnOperationModeChange: TNotifyEvent read FOnOperationModeChange write FOnOperationModeChange;
Published property OnSelect: TGLGizmoExAcceptEvent read FOnSelect write FOnSelect;
Published property OnSelectionLost: TNotifyEvent read FOnSelectionLost write FOnSelectionLost;
Published property OnUpdate: TNotifyEvent read FOnUpdate write FOnUpdate;
Private property Operation: TGLGizmoExOperation read FOperation write SetOperation;
Published property OperationMode: TGLGizmoExOperationMode read FOperationMode write SetOperationMode default gomSelect;
Published property PickMode: TGLGizmoExPickMode read FPickMode write SetPickMode default pmGetPickedObjects;
Published property ReferenceCoordSystem: TGLGizmoExReferenceCoordinateSystem read FReferenceCoordSystem write SetReferenceCoordSystem default rcsView;
Public property RootGizmo: TGLBaseSceneObject read FRootGizmo write SetRootGizmo;
Public property RootObjects: TGLBaseSceneObject read FRootObjects write SetRootObjects;
Published property RotationCoef: Single read FRotationCoef write FRotationCoef;
Published property ScaleCoef: Single read FScaleCoef write FScaleCoef;
Private property SelAxis: TGLGizmoExAxis read FSelAxis write SetSelAxis;
Published property SelectedColor: TGLColor read FSelectedColor write SetSelectedColor;
Published property SelectedObj: TGLBaseSceneObject read GetSelectedObj write SetSelectedObj;
Published property SelectedObjects: TGLPickList read GetPickList write SetPickList;
Published property SelectionRegion: TGLGizmoExSelectionRegion read FSelectionRegion write SetSelectionRegion default gsrRectangular;
Published property SelectionRegionColor: TGLColor read FSelectionRegionColor write SetSelectionRegionColor;
Published property ShowAxisLabel: Boolean read FShowAxisLabel write SetShowAxisLabel default True;
Published property ShowBoundingBox: Boolean read FShowBoundingBox write SetShowBoundingBox default True;
Published property ShowObjectInfos: Boolean read FShowObjectInfos write SetShowObjectInfos default True;
Published property Viewer: TGLSceneViewer read FViewer write SetViewer;

——————————————————————–

Published property Visible: Boolean read GetVisible write SetVisible;
Published property VisibleInfoLabels: TGLGizmoExVisibleInfoLabels read FVisibleVisibleInfoLabels write SeTGLGizmoExVisibleInfoLabels;
Published property VisibleInfoLabelsColor: TGLColor read FVisibleInfoLabelsColor write SetVisibleInfoLabelsColor;
Published property ZoomFactor: Single read FZoomFactor write SetZoomFactor;


GLSysHelp v.2.1: GLS.Graph

Unit GLS.Graph

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.Scene
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.XOpenGL
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.Objects
  • GLS.VectorLists
  • GLS.Color
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSamplingScale |
Class TGLHeightField |
Class TGLXYZGrid |

Types

TGLHeightFieldColorMode = (...);
TGLHeightFieldGetHeight2Event = procedure(Sender: TObject; const x, y: Single; var z: Single; var Color: TGLColorVector; var TexPoint: TTexPoint) of object;
TGLHeightFieldGetHeightEvent = procedure(const x, y: Single; var z: Single; var Color: TGLColorVector; var TexPoint: TTexPoint) of object;
TGLHeightFieldOption = (...);
TGLHeightFieldOptions = set of TGLHeightFieldOption;
TGLXYZGridLinesStyle = (...);
TGLXYZGridPart = (...);
TGLXYZGridParts = set of TGLXYZGridPart;

Description

Types

TGLHeightFieldColorMode = (...);
Values
  • hfcmNone
  • hfcmEmission
  • hfcmAmbient
  • hfcmDiffuse
  • hfcmAmbientAndDiffuse
TGLHeightFieldGetHeight2Event = procedure(Sender: TObject; const x, y: Single; var z: Single; var Color: TGLColorVector; var TexPoint: TTexPoint) of object;
TGLHeightFieldGetHeightEvent = procedure(const x, y: Single; var z: Single; var Color: TGLColorVector; var TexPoint: TTexPoint) of object;
TGLHeightFieldOption = (...);
Values
  • hfoTextureCoordinates
  • hfoTwoSided
TGLHeightFieldOptions = set of TGLHeightFieldOption;
TGLXYZGridLinesStyle = (...);

Rendering Style for grid lines. - glsLine : a single line is used for each grid line (from Min to Max), this provides the fastest rendering - glsSegments : line segments are used between each node of the grid, this enhances perspective and quality, at the expense of computing power.

Values
  • glsLine
  • glsSegments
TGLXYZGridPart = (...);
Values
  • gpX
  • gpY
  • gpZ
TGLXYZGridParts = set of TGLXYZGridPart;


GLSysHelp v.2.1: GLS.Graph: Class TGLSamplingScale

Class TGLSamplingScale

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graph

Declaration

type TGLSamplingScale = class(TGLUpdateAbleObject)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLSamplingScale

Overview

Fields

Private | FMin: Single;
Private | FMax: Single;
Private | FOrigin: Single;
Private | FStep: Single;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function IsValid: Boolean;
Public | function MaxStepCount: Integer;
Public | function StepBase: Single;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure SetBaseStepMaxToVars(var Base, Step, Max: Single; SamplingEnabled: Boolean = True);
Protected | procedure SetMax(const val: Single);
Protected | procedure SetMin(const val: Single);
Protected | procedure SetOrigin(const val: Single);
Protected | procedure SetStep(const val: Single);

Properties

Published | property Max: Single read FMax write SetMax;
Published | property Min: Single read FMin write SetMin;
Published | property Origin: Single read FOrigin write SetOrigin;
Published | property Step: Single read FStep write SetStep;

Description

Fields

Private FMin: Single;
Private FMax: Single;
Private FOrigin: Single;
Private FStep: Single;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function IsValid: Boolean;
Public function MaxStepCount: Integer;

Maximum number of steps that can occur between Min and Max.

Public function StepBase: Single;

Returns the Base value for Step browsing. ie. the lowest value (superior to Min) that verifies Frac((Origin-StepBase)/Step)=0.0, this value may be superior to Max.

Public procedure Assign(Source: TPersistent); override;
Public procedure SetBaseStepMaxToVars(var Base, Step, Max: Single; SamplingEnabled: Boolean = True);
Protected procedure SetMax(const val: Single);
Protected procedure SetMin(const val: Single);
Protected procedure SetOrigin(const val: Single);
Protected procedure SetStep(const val: Single);

Properties

Published property Max: Single read FMax write SetMax;
Published property Min: Single read FMin write SetMin;
Published property Origin: Single read FOrigin write SetOrigin;
Published property Step: Single read FStep write SetStep;


GLSysHelp v.2.1: GLS.Graph: Class TGLHeightField

Class TGLHeightField

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graph

Declaration

type TGLHeightField = class(TGLSceneObject)

Description

Renders a sampled height-field. HeightFields are used to materialize z=f(x, y) surfaces, you can use it to render anything from math formulas to statistics. Most important properties of an height field are its sampling scales (X & Y) that determine the extents and the resolution of the base grid. The component will then invoke it OnGetHeight event to retrieve Z values for all of the grid points (values are retrieved only once for each point). Each point may have an additionnal color and texture coordinate.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLHeightField

Overview

Fields

Private | FOnGetHeight: TGLHeightFieldGetHeightEvent;
Private | FOnGetHeight2: TGLHeightFieldGetHeight2Event;
Private | FXSamplingScale: TGLSamplingScale;
Private | FYSamplingScale: TGLSamplingScale;
Private | FOptions: TGLHeightFieldOptions;
Private | FTriangleCount: Integer;
Private | FColorMode: TGLHeightFieldColorMode;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure DefaultHeightField(const x, y: Single; var z: Single; var Color: TGLColorVector; var TexPoint: TTexPoint);
Protected | procedure Height2Field(const x, y: Single; var z: Single; var Color: TGLColorVector; var texPoint: TTexPoint);
Protected | procedure SetColorMode(const val: TGLHeightFieldColorMode);
Protected | procedure SetOnGetHeight(const val: TGLHeightFieldGetHeightEvent);
Protected | procedure SetOnGetHeight2(const val: TGLHeightFieldGetHeight2Event);
Protected | procedure SetOptions(const val: TGLHeightFieldOptions);
Protected | procedure SetXSamplingScale(const val: TGLSamplingScale);
Protected | procedure SetYSamplingScale(const val: TGLSamplingScale);

Properties

Published | property ColorMode: TGLHeightFieldColorMode read FColorMode write SetColorMode default hfcmNone;
Published | property OnGetHeight: TGLHeightFieldGetHeightEvent read FOnGetHeight write SetOnGetHeight;
Published | property OnGetHeight2: TGLHeightFieldGetHeight2Event read FOnGetHeight2 write SetOnGetHeight2;
Published | property Options: TGLHeightFieldOptions read FOptions write SetOptions default [hfoTwoSided];
Public | property TriangleCount: Integer read FTriangleCount;
Published | property XSamplingScale: TGLSamplingScale read FXSamplingScale write SetXSamplingScale;
Published | property YSamplingScale: TGLSamplingScale read FYSamplingScale write SetYSamplingScale;

Description

Fields

Private FOnGetHeight: TGLHeightFieldGetHeightEvent;
Private FOnGetHeight2: TGLHeightFieldGetHeight2Event;
Private FXSamplingScale: TGLSamplingScale;
Private FYSamplingScale: TGLSamplingScale;
Private FOptions: TGLHeightFieldOptions;
Private FTriangleCount: Integer;
Private FColorMode: TGLHeightFieldColorMode;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure DefaultHeightField(const x, y: Single; var z: Single; var Color: TGLColorVector; var TexPoint: TTexPoint);
Protected procedure Height2Field(const x, y: Single; var z: Single; var Color: TGLColorVector; var texPoint: TTexPoint);
Protected procedure SetColorMode(const val: TGLHeightFieldColorMode);
Protected procedure SetOnGetHeight(const val: TGLHeightFieldGetHeightEvent);
Protected procedure SetOnGetHeight2(const val: TGLHeightFieldGetHeight2Event);
Protected procedure SetOptions(const val: TGLHeightFieldOptions);
Protected procedure SetXSamplingScale(const val: TGLSamplingScale);
Protected procedure SetYSamplingScale(const val: TGLSamplingScale);

Properties

Published property ColorMode: TGLHeightFieldColorMode read FColorMode write SetColorMode default hfcmNone;

Define if and how per vertex color is used.

Published property OnGetHeight: TGLHeightFieldGetHeightEvent read FOnGetHeight write SetOnGetHeight;

Primary event to return heights.

Published property OnGetHeight2: TGLHeightFieldGetHeight2Event read FOnGetHeight2 write SetOnGetHeight2;

Alternate this event to return heights. This events passes an extra "Sender" parameter, it will be invoked only if OnGetHeight isn't defined.

Published property Options: TGLHeightFieldOptions read FOptions write SetOptions default [hfoTwoSided];
Public property TriangleCount: Integer read FTriangleCount;
Published property XSamplingScale: TGLSamplingScale read FXSamplingScale write SetXSamplingScale;
Published property YSamplingScale: TGLSamplingScale read FYSamplingScale write SetYSamplingScale;


GLSysHelp v.2.1: GLS.Graph: Class TGLXYZGrid

Class TGLXYZGrid

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graph

Declaration

type TGLXYZGrid = class(TGLLineBase)

Description

An XYZ Grid object. Renders an XYZ grid using lines

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLLineBase
  • TGLXYZGrid

Overview

Fields

Private | FXSamplingScale: TGLSamplingScale;
Private | FYSamplingScale: TGLSamplingScale;
Private | FZSamplingScale: TGLSamplingScale;
Private | FParts: TGLXYZGridParts;
Private | FLinesStyle: TGLXYZGridLinesStyle;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure SetLinesSmoothing(const val: Boolean);
Protected | procedure SetLinesStyle(const val: TGLXYZGridLinesStyle);
Protected | procedure SetParts(const val: TGLXYZGridParts);
Protected | procedure SetXSamplingScale(const val: TGLSamplingScale);
Protected | procedure SetYSamplingScale(const val: TGLSamplingScale);
Protected | procedure SetZSamplingScale(const val: TGLSamplingScale);

Properties

Published | property LinesSmoothing: Boolean write SetLinesSmoothing stored False;
Published | property LinesStyle: TGLXYZGridLinesStyle read FLinesStyle write SetLinesStyle default glsSegments;
Published | property Parts: TGLXYZGridParts read FParts write SetParts default [gpX, gpY];
Published | property XSamplingScale: TGLSamplingScale read FXSamplingScale write SetXSamplingScale;
Published | property YSamplingScale: TGLSamplingScale read FYSamplingScale write SetYSamplingScale;
Published | property ZSamplingScale: TGLSamplingScale read FZSamplingScale write SetZSamplingScale;

Description

Fields

Private FXSamplingScale: TGLSamplingScale;
Private FYSamplingScale: TGLSamplingScale;
Private FZSamplingScale: TGLSamplingScale;
Private FParts: TGLXYZGridParts;
Private FLinesStyle: TGLXYZGridLinesStyle;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure SetLinesSmoothing(const val: Boolean);
Protected procedure SetLinesStyle(const val: TGLXYZGridLinesStyle);
Protected procedure SetParts(const val: TGLXYZGridParts);
Protected procedure SetXSamplingScale(const val: TGLSamplingScale);
Protected procedure SetYSamplingScale(const val: TGLSamplingScale);
Protected procedure SetZSamplingScale(const val: TGLSamplingScale);

Properties

Published property LinesSmoothing: Boolean write SetLinesSmoothing stored False;

Adjusts lines smoothing (or antialiasing). Obsolete, now maps to Antialiased property.

Published property LinesStyle: TGLXYZGridLinesStyle read FLinesStyle write SetLinesStyle default glsSegments;
Published property Parts: TGLXYZGridParts read FParts write SetParts default [gpX, gpY];
Published property XSamplingScale: TGLSamplingScale read FXSamplingScale write SetXSamplingScale;
Published property YSamplingScale: TGLSamplingScale read FYSamplingScale write SetYSamplingScale;
Published property ZSamplingScale: TGLSamplingScale read FZSamplingScale write SetZSamplingScale;


GLSysHelp v.2.1: GLS.Graphics

Unit GLS.Graphics

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.SyncObjs
  • System.Math
  • VCL.Graphics
  • VCL.Imaging.Pngimage
  • VCL.Consts
  • GLS.VectorTypes
  • GLS.State
  • GLS.ApplicationFileIO
  • GLS.PersistentClasses
  • GLS.Context
  • GLS.ImageUtils
  • GLS.Color
  • GLS.TextureFormat
  • GLS.VectorGeometry
  • GLS.Utils
  • GLS.Strings
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLPixel24 |
Packed Record TGLPixel32 |
Record TGLImageLevelDesc |
Class TGLBaseImage |
Class TGLImage |
Class TGLRasterFileFormat |
Class TGLRasterFileFormatsList |
Class EInvalidRasterFile |

Functions and Procedures

procedure Div2(var Value: Integer);
procedure BGR24ToRGB24(src, dest: Pointer; pixelCount: Integer);
procedure BGR24ToRGBA32(src, dest: Pointer; pixelCount: Integer);
procedure RGB24ToRGBA32(src, dest: Pointer; pixelCount: Integer);
procedure BGRA32ToRGBA32(src, dest: Pointer; pixelCount: Integer);
procedure GammaCorrectRGBArray(base: Pointer; pixelCount: Integer; gamma: Single);
procedure BrightenRGBArray(base: Pointer; pixelCount: Integer; factor: Single);
function GetRasterFileFormats: TGLRasterFileFormatsList;
function RasterFileFormatExtensionByIndex(index: Integer): string;
procedure RegisterRasterFormat(const AExtension, ADescription: string; AClass: TGLBaseImageClass);
procedure UnregisterRasterFormat(AClass: TGLBaseImageClass);
function GetImageLodNumber(w, h, d: Integer; IsVolume: Boolean): Integer;
function GraphicClassForExtension(const anExtension: string): TGraphicClass;
procedure HackTPictureRegisteredFormats(destList: TStrings);

Types

PGLPixel24 = ˆTGLPixel24;
PGLPixel32 = ˆTGLPixel32;
PGLPixel32Array = ˆTGLPixel32Array;
TGLBaseImageClass = class of TGLBaseImage;
TGLBitmap32 = TGLImage;
TGLImageLODRange = 0..15;
TGLImagePiramid = array[TGLImageLODRange] of TGLImageLevelDesc;
TGLLODStreamingState = (...);
TGLPixel32Array = array[0..MaxInt shr 3] of TGLPixel32;

Variables

vVerticalFlipDDS: Boolean = True;

Description

Functions and Procedures

procedure Div2(var Value: Integer);
procedure BGR24ToRGB24(src, dest: Pointer; pixelCount: Integer);
procedure BGR24ToRGBA32(src, dest: Pointer; pixelCount: Integer);
procedure RGB24ToRGBA32(src, dest: Pointer; pixelCount: Integer);
procedure BGRA32ToRGBA32(src, dest: Pointer; pixelCount: Integer);
procedure GammaCorrectRGBArray(base: Pointer; pixelCount: Integer; gamma: Single);
procedure BrightenRGBArray(base: Pointer; pixelCount: Integer; factor: Single);
function GetRasterFileFormats: TGLRasterFileFormatsList;

Read access to the list of registered vector file formats

function RasterFileFormatExtensionByIndex(index: Integer): string;

Returns an extension by its index in the internal image files dialogs filter. Use InternalImageFileFormatsFilter to obtain the filter.

procedure RegisterRasterFormat(const AExtension, ADescription: string; AClass: TGLBaseImageClass);
procedure UnregisterRasterFormat(AClass: TGLBaseImageClass);
function GetImageLodNumber(w, h, d: Integer; IsVolume: Boolean): Integer;

Return an optimal number of texture pyramid

function GraphicClassForExtension(const anExtension: string): TGraphicClass;

Returns the TGraphicClass associated to the extension, if any. Accepts anExtension with or without the '.'

procedure HackTPictureRegisteredFormats(destList: TStrings);

Adds to the passed TStrings the list of registered formats. Convention is "extension=description" for the string, the Objects hold the corresponding TGraphicClass (extensions do not include the '.').

Types

PGLPixel24 = ˆTGLPixel24;
PGLPixel32 = ˆTGLPixel32;
PGLPixel32Array = ˆTGLPixel32Array;
TGLBaseImageClass = class of TGLBaseImage;
TGLBitmap32 = TGLImage;
TGLImageLODRange = 0..15;
TGLImagePiramid = array[TGLImageLODRange] of TGLImageLevelDesc;
TGLLODStreamingState = (...);
Values
  • ssKeeping
  • ssLoading
  • ssLoaded
  • ssTransfered
TGLPixel32Array = array[0..MaxInt shr 3] of TGLPixel32;

Variables

vVerticalFlipDDS: Boolean = True;


GLSysHelp v.2.1: GLS.Graphics: Packed Record TGLPixel24

Packed Record TGLPixel24

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLPixel24 = packed record

Description

GLS.OpenGLTokens,

Overview

Fields

Public | r: Byte;
Public | g: Byte;
Public | b: Byte;

Description

Fields

Public r: Byte;
Public g: Byte;
Public b: Byte;


GLSysHelp v.2.1: GLS.Graphics: Packed Record TGLPixel32

Packed Record TGLPixel32

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLPixel32 = packed record

Description

Overview

Fields

Public | r: Byte;
Public | g: Byte;
Public | b: Byte;
Public | a: Byte;

Description

Fields

Public r: Byte;
Public g: Byte;
Public b: Byte;
Public a: Byte;


GLSysHelp v.2.1: GLS.Graphics: Record TGLImageLevelDesc

Record TGLImageLevelDesc

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLImageLevelDesc = record

Description

Overview

Fields

Public | Width: Integer;
Public | Height: Integer;
Public | Depth: Integer;
Public | PBO: TGLUnpackPBOHandle;
Public | MapAddress: Pointer;
Public | Offset: LongWord;
Public | StreamOffset: LongWord;
Public | Size: LongWord;
Public | State: TGLLODStreamingState;

Description

Fields

Public Width: Integer;
Public Height: Integer;
Public Depth: Integer;
Public PBO: TGLUnpackPBOHandle;
Public MapAddress: Pointer;
Public Offset: LongWord;
Public StreamOffset: LongWord;
Public Size: LongWord;
Public State: TGLLODStreamingState;


GLSysHelp v.2.1: GLS.Graphics: Class TGLBaseImage

Class TGLBaseImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLBaseImage = class(TGLDataFile)

Description

No description available, ancestor TGLDataFile description follows

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage

Overview

Fields

Private | FSourceStream: TStream;
Private | FStreamLevel: TGLImageLODRange;
Private | FFinishEvent: TFinishTaskEvent;
Protected | fData: PGLPixel32Array;
Protected | FLOD: TGLImagePiramid;
Protected | fLevelCount: TGLImageLODRange;
Protected | fColorFormat: Cardinal;
Protected | fInternalFormat: TGLInternalFormat;
Protected | fDataType: Cardinal;
Protected | fElementSize: Integer;
Protected | fCubeMap: Boolean;
Protected | fTextureArray: Boolean;

Methods

Public | constructor Create; reintroduce; virtual;
Public | destructor Destroy; override;
Public | function AssignFromTexture( AHandle: TGLTextureHandle; const CastToFormat: Boolean; const intFormat: TGLInternalFormat = tfRGBA8; const colorFormat: Cardinal = 0; const dataType: Cardinal = 0): Boolean; virtual;
Public | function ConvertCrossToCubeMap: Boolean;
Public | function ConvertToVolume(const col, row: Integer; const MakeArray: Boolean): Boolean;
Public | function DataSize: Cardinal;
Public | function GetTextureTarget: TGLTextureTarget;
Public | function IsCompressed: Boolean;
Public | function IsEmpty: Boolean;
Public | function IsVolume: Boolean;
Protected | function GetData: PGLPixel32Array; virtual;
Protected | function GetDepth: Integer;
Protected | function GetHeight: Integer;
Protected | function GetLevelAddress(ALevel: Byte): Pointer; overload;
Protected | function GetLevelAddress(ALevel, AFace: Byte): Pointer; overload;
Protected | function GetLevelDepth(ALOD: TGLImageLODRange): Integer;
Protected | function GetLevelHeight(ALOD: TGLImageLODRange): Integer;
Protected | function GetLevelOffset(ALOD: TGLImageLODRange): Integer;
Protected | function GetLevelPBO(ALOD: TGLImageLODRange): TGLUnpackPBOHandle;
Protected | function GetLevelSizeInByte(ALOD: TGLImageLODRange): Integer;
Protected | function GetLevelStreamingState(ALOD: TGLImageLODRange): TGLLODStreamingState;
Protected | function GetLevelWidth(ALOD: TGLImageLODRange): Integer;
Protected | function GetWidth: Integer;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure GenerateMipmap(AFilter: TImageFilterFunction); virtual;
Public | procedure Narrow;
Public | procedure RegisterAsOpenGLTexture( AHandle: TGLTextureHandle; aMipmapGen: Boolean; aTexFormat: Cardinal; out texWidth: integer; out texHeight: integer; out texDepth: integer); virtual;
Public | procedure SetErrorImage;
Public | procedure UnMipmap; virtual;
Public | procedure UpdateLevelsInfo;
Protected | procedure DoStreaming;
Protected | procedure LoadHeader;
Protected | procedure SaveHeader;
Protected | procedure SetLevelStreamingState(ALOD: TGLImageLODRange; AState: TGLLODStreamingState);
Protected | procedure StartStreaming;

Properties

Public | property ColorFormat: Cardinal read fColorFormat;
Public | property CubeMap: Boolean read fCubeMap;
Public | property Data: PGLPixel32Array read GetData;
Public | property DataType: Cardinal read fDataType;
Public | property ElementSize: Integer read fElementSize;
Public | property InternalFormat: TGLInternalFormat read FInternalFormat;
Public | property LevelCount: TGLImageLODRange read fLevelCount;
Public | property LevelDepth[ALOD:TGLImageLODRange]: Integer read GetLevelDepth;
Public | property LevelHeight[ALOD:TGLImageLODRange]: Integer read GetLevelHeight;
Public | property LevelOffset[ALOD:TGLImageLODRange]: Integer read GetLevelOffset;
Public | property LevelPixelBuffer[ALOD:TGLImageLODRange]: TGLUnpackPBOHandle read GetLevelPBO;
Public | property LevelSizeInByte[ALOD:TGLImageLODRange]: Integer read GetLevelSizeInByte;
Public | property LevelStreamingState[ALOD:TGLImageLODRange]: TGLLODStreamingState read GetLevelStreamingState write SetLevelStreamingState;
Public | property LevelWidth[ALOD:TGLImageLODRange]: Integer read GetLevelWidth;
Public | property TextureArray: Boolean read fTextureArray;

Description

Fields

Private FSourceStream: TStream;
Private FStreamLevel: TGLImageLODRange;
Private FFinishEvent: TFinishTaskEvent;
Protected fData: PGLPixel32Array;
Protected FLOD: TGLImagePiramid;
Protected fLevelCount: TGLImageLODRange;
Protected fColorFormat: Cardinal;
Protected fInternalFormat: TGLInternalFormat;
Protected fDataType: Cardinal;
Protected fElementSize: Integer;
Protected fCubeMap: Boolean;
Protected fTextureArray: Boolean;

Methods

Public constructor Create; reintroduce; virtual;
Public destructor Destroy; override;
Public function AssignFromTexture( AHandle: TGLTextureHandle; const CastToFormat: Boolean; const intFormat: TGLInternalFormat = tfRGBA8; const colorFormat: Cardinal = 0; const dataType: Cardinal = 0): Boolean; virtual;

Assigns from any Texture.

Public function ConvertCrossToCubeMap: Boolean;

Convert vertical cross format of non compressed, non mipmaped image to six face of cube map

Public function ConvertToVolume(const col, row: Integer; const MakeArray: Boolean): Boolean;

Convert flat image to volume by dividing it into slice.

Public function DataSize: Cardinal;

Return size in byte of all image

Public function GetTextureTarget: TGLTextureTarget;
Public function IsCompressed: Boolean;
Public function IsEmpty: Boolean;

True if the bitmap is empty (ie. width or height is zero).

Public function IsVolume: Boolean;
Protected function GetData: PGLPixel32Array; virtual;
Protected function GetDepth: Integer;
Protected function GetHeight: Integer;
Protected function GetLevelAddress(ALevel: Byte): Pointer; overload;
Protected function GetLevelAddress(ALevel, AFace: Byte): Pointer; overload;
Protected function GetLevelDepth(ALOD: TGLImageLODRange): Integer;
Protected function GetLevelHeight(ALOD: TGLImageLODRange): Integer;
Protected function GetLevelOffset(ALOD: TGLImageLODRange): Integer;
Protected function GetLevelPBO(ALOD: TGLImageLODRange): TGLUnpackPBOHandle;
Protected function GetLevelSizeInByte(ALOD: TGLImageLODRange): Integer;
Protected function GetLevelStreamingState(ALOD: TGLImageLODRange): TGLLODStreamingState;
Protected function GetLevelWidth(ALOD: TGLImageLODRange): Integer;
Protected function GetWidth: Integer;
Public procedure Assign(Source: TPersistent); override;
Public procedure GenerateMipmap(AFilter: TImageFilterFunction); virtual;

Generate LOD pyramid

Public procedure Narrow;

Narrow image data to simple RGBA8 ubyte

Public procedure RegisterAsOpenGLTexture( AHandle: TGLTextureHandle; aMipmapGen: Boolean; aTexFormat: Cardinal; out texWidth: integer; out texHeight: integer; out texDepth: integer); virtual;

Registers the bitmap's content as an OpenGL texture map.

Public procedure SetErrorImage;

Set image of error.

Public procedure UnMipmap; virtual;

Leave top level and remove other

Public procedure UpdateLevelsInfo;

Recalculate levels information based on first level.

Protected procedure DoStreaming;
Protected procedure LoadHeader;
Protected procedure SaveHeader;
Protected procedure SetLevelStreamingState(ALOD: TGLImageLODRange; AState: TGLLODStreamingState);
Protected procedure StartStreaming;

Properties

Public property ColorFormat: Cardinal read fColorFormat;
Public property CubeMap: Boolean read fCubeMap;
Public property Data: PGLPixel32Array read GetData;

Direct Access to image data

Public property DataType: Cardinal read fDataType;
Public property ElementSize: Integer read fElementSize;
Public property InternalFormat: TGLInternalFormat read FInternalFormat;
Public property LevelCount: TGLImageLODRange read fLevelCount;

Number of levels.

Public property LevelDepth[ALOD:TGLImageLODRange]: Integer read GetLevelDepth;
Public property LevelHeight[ALOD:TGLImageLODRange]: Integer read GetLevelHeight;
Public property LevelOffset[ALOD:TGLImageLODRange]: Integer read GetLevelOffset;

LOD offset in byte

Public property LevelPixelBuffer[ALOD:TGLImageLODRange]: TGLUnpackPBOHandle read GetLevelPBO;
Public property LevelSizeInByte[ALOD:TGLImageLODRange]: Integer read GetLevelSizeInByte;

LOD size in byte

Public property LevelStreamingState[ALOD:TGLImageLODRange]: TGLLODStreamingState read GetLevelStreamingState write SetLevelStreamingState;
Public property LevelWidth[ALOD:TGLImageLODRange]: Integer read GetLevelWidth;
Public property TextureArray: Boolean read fTextureArray;


GLSysHelp v.2.1: GLS.Graphics: Class TGLImage

Class TGLImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLImage = class(TGLBaseImage)

Description

Contains and manipulates a 32 bits (24+8) bitmap. This is the base class for preparing and manipulating textures in GLS.Scene, this function does not rely on a windows handle and should be used for in-memory manipulations only. 16 bits textures are automatically converted to 24 bits and an opaque (255) alpha channel is assumed for all planes, the byte order is as specified in GL_RGBA. If 32 bits is used in this class, it can however output 16 bits texture data for use in OpenGL. The class has support for registering its content as a texture, as well as for directly drawing/reading from the current OpenGL buffer.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLBaseImage
  • TGLImage

Overview

Fields

Private | FVerticalReverseOnAssignFromBitmap: Boolean;
Private | FBlank: Boolean;
Private | fOldColorFormat: Cardinal;
Private | fOldDataType: Cardinal;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function Create32BitsBitmap: TBitmap;
Protected | function GetScanLine(index: Integer): PGLPixel32Array;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure AssignFromBitmap24WithoutRGBSwap(aBitmap: TBitmap);
Public | procedure AssignFromTexture2D(textureHandle: TGLTextureHandle); overload;
Public | procedure AssignFromTexture2D(textureHandle: Cardinal); overload;
Public | procedure AssignToBitmap(aBitmap: TBitmap);
Public | procedure BrightnessCorrection(const factor: Single);
Public | procedure DownSampleByFactor2;
Public | procedure DrawPixels(const x, y: Single);
Public | procedure GammaCorrection(const gamma: Single);
Public | procedure GenerateMipmap(AFilter: TImageFilterFunction); override;
Public | procedure GrayScaleToNormalMap(const scale: Single; wrapX: Boolean = True; wrapY: Boolean = True);
Public | procedure InvertAlpha;
Public | procedure NormalizeNormalMap;
Public | procedure ReadPixels(const area: TRect);
Public | procedure SetAlphaFromIntensity;
Public | procedure SetAlphaToFloatValue(const aValue: Single);
Public | procedure SetAlphaToValue(const aValue: Byte);
Public | procedure SetAlphaTransparentForColor(const aColor: TGLPixel24); overload;
Public | procedure SetAlphaTransparentForColor(const aColor: TColor); overload;
Public | procedure SetAlphaTransparentForColor(const aColor: TGLPixel32); overload;
Public | procedure SetColorFormatDataType(const AColorFormat, ADataType: Cardinal);
Public | procedure SqrtAlpha;
Public | procedure UnMipmap; override;
Protected | procedure AssignFrom24BitsBitmap(aBitmap: TBitmap);
Protected | procedure AssignFrom32BitsBitmap(aBitmap: TBitmap);
Protected | procedure AssignFromPngImage(aPngImage: TPngImage);
Protected | procedure SetArray(const val: Boolean);
Protected | procedure SetBlank(const Value: Boolean);
Protected | procedure SetCubeMap(const val: Boolean);
Protected | procedure SetDepth(const val: Integer);
Protected | procedure SetHeight(const val: Integer);
Protected | procedure SetWidth(val: Integer);
Private | procedure DataConvertTask;

Properties

Public | property Blank: boolean read FBlank write SetBlank;
Public | property ColorFormat: Cardinal read fColorFormat;
Public | property CubeMap: Boolean read fCubeMap write SetCubeMap;
Public | property DataType: Cardinal read fDataType;
Public | property Depth: Integer read GetDepth write SetDepth;
Public | property ElementSize: Integer read fElementSize;
Public | property Height: Integer read GetHeight write SetHeight;
Public | property InternalFormat: TGLInternalFormat read FInternalFormat write FInternalFormat;
Public | property ScanLine[index:Integer]: PGLPixel32Array read GetScanLine;
Public | property TextureArray: Boolean read fTextureArray write SetArray;
Public | property VerticalReverseOnAssignFromBitmap: Boolean read FVerticalReverseOnAssignFromBitmap write FVerticalReverseOnAssignFromBitmap;
Public | property Width: Integer read GetWidth write SetWidth;

Description

Fields

Private FVerticalReverseOnAssignFromBitmap: Boolean;
Private FBlank: Boolean;
Private fOldColorFormat: Cardinal;
Private fOldDataType: Cardinal;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function Create32BitsBitmap: TBitmap;

Create a 32 bits TBitmap from self content.

Protected function GetScanLine(index: Integer): PGLPixel32Array;
Public procedure Assign(Source: TPersistent); override;

Accepts TGLImage and TGraphic subclasses.

Public procedure AssignFromBitmap24WithoutRGBSwap(aBitmap: TBitmap);

Assigns from a 24 bits bitmap without swapping RGB. This is faster than a regular assignment, but R and B channels will be reversed (from what you would view in a TImage). Suitable if you do your own drawing and reverse RGB on the drawing side. If you're after speed, don't forget to set the bitmap's dimensions to a power of two!

Public procedure AssignFromTexture2D(textureHandle: TGLTextureHandle); overload;

Assigns from a Texture handle. If the handle is invalid, the bitmap32 will be empty.

Public procedure AssignFromTexture2D(textureHandle: Cardinal); overload;

Assigns from a 2D Texture. The context which holds the texture must be active and the texture handle valid.

Public procedure AssignToBitmap(aBitmap: TBitmap);

Converts a TImage back into a TBitmap

Public procedure BrightnessCorrection(const factor: Single);

Apply a brightness (scaled saturating) correction to the RGB components.

Public procedure DownSampleByFactor2;

Downsample the bitmap by a factor of 2 in both dimensions. If one of the dimensions is 1 or less, does nothing.

Public procedure DrawPixels(const x, y: Single);

Draws the whole bitmap at given position in the current OpenGL context. This function must be called with a rendering context active. Blending and Alpha channel functions are not altered by this function and must be adjusted separately.

Public procedure GammaCorrection(const gamma: Single);

Apply a gamma correction to the RGB components.

Public procedure GenerateMipmap(AFilter: TImageFilterFunction); override;

Generate level of detail.

Public procedure GrayScaleToNormalMap(const scale: Single; wrapX: Boolean = True; wrapY: Boolean = True);

Converts a grayscale 'elevation' bitmap to normal map. Actually, only the Green component in the original bitmap is used.

Public procedure InvertAlpha;

Inverts the AlphaChannel component. What was transparent becomes opaque and vice-versa.

Public procedure NormalizeNormalMap;

Assumes the bitmap content is a normal map and normalizes all pixels.

Public procedure ReadPixels(const area: TRect);

Reads the given area from the current active OpenGL rendering context. The best spot for reading pixels is within a SceneViewer's PostRender event : the scene has been fully rendered and the OpenGL context is still active.

Public procedure SetAlphaFromIntensity;

Set Alpha channel values to the pixel intensity. The intensity is calculated as the mean of RGB components.

Public procedure SetAlphaToFloatValue(const aValue: Single);

Set Alpha channel values to given float [0..1] value.

Public procedure SetAlphaToValue(const aValue: Byte);

Set Alpha channel values to given byte value.

Public procedure SetAlphaTransparentForColor(const aColor: TGLPixel24); overload;
Public procedure SetAlphaTransparentForColor(const aColor: TColor); overload;

Set Alpha channel to 0 for pixels of given color, 255 for others). This makes pixels of given color totally transparent while the others are completely opaque.

Public procedure SetAlphaTransparentForColor(const aColor: TGLPixel32); overload;
Public procedure SetColorFormatDataType(const AColorFormat, ADataType: Cardinal);

Recast image OpenGL data type and color format.

Public procedure SqrtAlpha;

AlphaChannel components are replaced by their sqrt.

Public procedure UnMipmap; override;

Clear all levels except first.

Protected procedure AssignFrom24BitsBitmap(aBitmap: TBitmap);
Protected procedure AssignFrom32BitsBitmap(aBitmap: TBitmap);
Protected procedure AssignFromPngImage(aPngImage: TPngImage);
Protected procedure SetArray(const val: Boolean);
Protected procedure SetBlank(const Value: Boolean);
Protected procedure SetCubeMap(const val: Boolean);
Protected procedure SetDepth(const val: Integer);
Protected procedure SetHeight(const val: Integer);
Protected procedure SetWidth(val: Integer);
Private procedure DataConvertTask;

Properties

Public property Blank: boolean read FBlank write SetBlank;

Set Blank to true if you actually don't need to allocate data in main menory. Useful for textures that are generated by the GPU on the fly.

Public property ColorFormat: Cardinal read fColorFormat;

OpenGL color format

Public property CubeMap: Boolean read fCubeMap write SetCubeMap;
Public property DataType: Cardinal read fDataType;

OpenGL data type

Public property Depth: Integer read GetDepth write SetDepth;

Depth of the bitmap.

Public property ElementSize: Integer read fElementSize;

Size in bytes of pixel or block

Public property Height: Integer read GetHeight write SetHeight;

Height of the bitmap.

Public property InternalFormat: TGLInternalFormat read FInternalFormat write FInternalFormat;

Recommended texture internal format

Public property ScanLine[index:Integer]: PGLPixel32Array read GetScanLine;

Access to a specific Bitmap ScanLine. index should be in the [0; Height[ range. Warning : this function is NOT protected against invalid indexes, and invoking it is invalid if the bitmap is Empty.

Public property TextureArray: Boolean read fTextureArray write SetArray;
Public property VerticalReverseOnAssignFromBitmap: Boolean read FVerticalReverseOnAssignFromBitmap write FVerticalReverseOnAssignFromBitmap;
Public property Width: Integer read GetWidth write SetWidth;

Width of the bitmap.


GLSysHelp v.2.1: GLS.Graphics: Class TGLRasterFileFormat

Class TGLRasterFileFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLRasterFileFormat = class(TObject)

Description

Hierarchy

  • TObject
  • TGLRasterFileFormat

Overview

Fields

Public | BaseImageClass: TGLBaseImageClass;
Public | Extension: string;
Public | Description: string;
Public | DescResID: Integer;

Description

Fields

Public BaseImageClass: TGLBaseImageClass;
Public Extension: string;
Public Description: string;
Public DescResID: Integer;


GLSysHelp v.2.1: GLS.Graphics: Class TGLRasterFileFormatsList

Class TGLRasterFileFormatsList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type TGLRasterFileFormatsList = class(TPersistentObjectList)

Description

Stores registered raster file formats.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLRasterFileFormatsList

Overview

Methods

Public | destructor Destroy; override;
Public | function FindExt(ext: string): TGLBaseImageClass;
Public | function FindExtByIndex(index: Integer; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False): string;
Public | function FindFromFileName(const fileName: string): TGLBaseImageClass;
Public | function FindFromStream(const AStream: TStream): TGLBaseImageClass;
Public | procedure Add(const Ext, Desc: string; DescID: Integer; AClass: TGLBaseImageClass);
Public | procedure BuildFilterStrings(imageFileClass: TGLBaseImageClass; var descriptions, filters: string; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False);
Public | procedure Remove(AClass: TGLBaseImageClass);

Description

Methods

Public destructor Destroy; override;
Public function FindExt(ext: string): TGLBaseImageClass;
Public function FindExtByIndex(index: Integer; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False): string;
Public function FindFromFileName(const fileName: string): TGLBaseImageClass;
Public function FindFromStream(const AStream: TStream): TGLBaseImageClass;
Public procedure Add(const Ext, Desc: string; DescID: Integer; AClass: TGLBaseImageClass);
Public procedure BuildFilterStrings(imageFileClass: TGLBaseImageClass; var descriptions, filters: string; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False);
Public procedure Remove(AClass: TGLBaseImageClass);


GLSysHelp v.2.1: GLS.Graphics: Class EInvalidRasterFile

Class EInvalidRasterFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Graphics

Declaration

type EInvalidRasterFile = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EInvalidRasterFile


GLSysHelp v.2.1: GLS.Gui

Unit GLS.Gui

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.Scene
  • GLS.BitmapFont
  • GLS.Material
  • GLS.Context
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.Coordinates
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseGuiObject |
Record TGUIRect |
Class TGLGuiElement |
Class TGLGuiElementList |
Class TGLGuiComponent |
Class TGLGuiComponentList |
Class TGLGuiLayout |

Functions and Procedures

function IsInRect(const R: TGUIRect; X, Y: Single): Boolean; inline;

Types

TGLGuiComponentName = string;
TGLGuiElementName = string;
TGUIAlignments = (...);
TGUIDrawResult = array [TGUIAlignments] of TGUIRect;

Constants

GuiNullRect: TGUIRect = (X1: 0.0; Y1: 0.0; X2: 0.0; Y2: 0.0; XTiles: 0.0; YTiles: 0.0);

Description

Functions and Procedures

function IsInRect(const R: TGUIRect; X, Y: Single): Boolean; inline;

Types

TGLGuiComponentName = string;
TGLGuiElementName = string;
TGUIAlignments = (...);
Values
  • GLAlTopLeft
  • GLAlTop
  • GLAlTopRight
  • GLAlLeft
  • GLAlCenter
  • GLAlRight
  • GLAlBottomLeft
  • GLAlBottom
  • GLAlBottomRight
  • GLAlBorder
TGUIDrawResult = array [TGUIAlignments] of TGUIRect;

Constants

GuiNullRect: TGUIRect = (X1: 0.0; Y1: 0.0; X2: 0.0; Y2: 0.0; XTiles: 0.0; YTiles: 0.0);


GLSysHelp v.2.1: GLS.Gui: Class TGLBaseGuiObject

Class TGLBaseGuiObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGLBaseGuiObject = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject

Overview

Fields

Private | FRecursiveVisible: Boolean;
Private | FWidth: Single;
Private | FHeight: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function GetLeft: TGLFloat;
Protected | function GetTop: TGLFloat;
Public | procedure AddChild(AChild: TGLBaseSceneObject); override;
Public | procedure Insert(aIndex: Integer; AChild: TGLBaseSceneObject); override;
Protected | procedure NotifyHide; virtual;
Protected | procedure NotifyShow; virtual;
Protected | procedure SetHeight(const val: Single);
Protected | procedure SetLeft(const Value: TGLFloat);
Protected | procedure SetTop(const Value: TGLFloat);
Protected | procedure SetVisible(aValue: Boolean); override;
Protected | procedure SetWidth(const val: Single);

Properties

Public | property Height: Single read FHeight write SetHeight;
Public | property Left: TGLFloat read GetLeft write SetLeft;
Public | property RecursiveVisible: Boolean read FRecursiveVisible;
Public | property Top: TGLFloat read GetTop write SetTop;
Public | property Width: Single read FWidth write SetWidth;

Description

Fields

Private FRecursiveVisible: Boolean;
Private FWidth: Single;
Private FHeight: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function GetLeft: TGLFloat;
Protected function GetTop: TGLFloat;
Public procedure AddChild(AChild: TGLBaseSceneObject); override;
Public procedure Insert(aIndex: Integer; AChild: TGLBaseSceneObject); override;
Protected procedure NotifyHide; virtual;

self notification on hide. Also notifies children.

Protected procedure NotifyShow; virtual;

child notification on show. Also notifies children.

Protected procedure SetHeight(const val: Single);
Protected procedure SetLeft(const Value: TGLFloat);
Protected procedure SetTop(const Value: TGLFloat);
Protected procedure SetVisible(aValue: Boolean); override;
Protected procedure SetWidth(const val: Single);

Properties

Public property Height: Single read FHeight write SetHeight;

GuiComponent Height in 3D world units.

Public property Left: TGLFloat read GetLeft write SetLeft;

GuiComponent Left in 3D world units.

Public property RecursiveVisible: Boolean read FRecursiveVisible;
Public property Top: TGLFloat read GetTop write SetTop;

GuiComponent Top in 3D world units.

Public property Width: Single read FWidth write SetWidth;

GuiComponent Width in 3D world units.


GLSysHelp v.2.1: GLS.Gui: Record TGUIRect

Record TGUIRect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGUIRect = record

Description

Overview

Fields

Public | X1: TGLFloat;
Public | Y1: TGLFloat;
Public | X2: TGLFloat;
Public | Y2: TGLFloat;
Public | XTiles: TGLFloat;
Public | YTiles: TGLFloat;

Description

Fields

Public X1: TGLFloat;
Public Y1: TGLFloat;
Public X2: TGLFloat;
Public Y2: TGLFloat;
Public XTiles: TGLFloat;
Public YTiles: TGLFloat;


GLSysHelp v.2.1: GLS.Gui: Class TGLGuiElement

Class TGLGuiElement

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGLGuiElement = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLGuiElement

Overview

Fields

Private | FTopLeft: TGLCoordinates2;
Private | FBottomRight: TGLCoordinates2;
Private | FScale: TGLCoordinates2;
Private | FAlign: TGUIAlignments;
Private | FName: TGLGuiElementName;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure AssignTo(Dest: TPersistent); override;
Protected | procedure SetName(const val: TGLGuiElementName);

Properties

Published | property Align: TGUIAlignments read FAlign write FAlign;
Published | property BottomRight: TGLCoordinates2 read FBottomRight write FBottomRight;
Published | property Name: TGLGuiElementName read FName write SetName;
Published | property Scale: TGLCoordinates2 read FScale write FScale;
Published | property TopLeft: TGLCoordinates2 read FTopLeft write FTopLeft;

Description

Fields

Private FTopLeft: TGLCoordinates2;
Private FBottomRight: TGLCoordinates2;
Private FScale: TGLCoordinates2;
Private FAlign: TGUIAlignments;
Private FName: TGLGuiElementName;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure AssignTo(Dest: TPersistent); override;
Protected procedure SetName(const val: TGLGuiElementName);

Properties

Published property Align: TGUIAlignments read FAlign write FAlign;
Published property BottomRight: TGLCoordinates2 read FBottomRight write FBottomRight;
Published property Name: TGLGuiElementName read FName write SetName;
Published property Scale: TGLCoordinates2 read FScale write FScale;
Published property TopLeft: TGLCoordinates2 read FTopLeft write FTopLeft;


GLSysHelp v.2.1: GLS.Gui: Class TGLGuiElementList

Class TGLGuiElementList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGLGuiElementList = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLGuiElementList

Overview

Fields

Private FGuiComponent: TGLGuiComponent;

Methods

Public | constructor Create(AOwner: TGLGuiComponent);
Public | function GetOwner: TPersistent; override;
Public | function IndexOf(const Item: TGLGuiElement): Integer;
Protected | function GetItems(index: Integer): TGLGuiElement;
Public | procedure AssignTo(Dest: TPersistent); override;
Protected | procedure SetItems(index: Integer; const val: TGLGuiElement);

Properties

Public property Items[index:Integer]: TGLGuiElement read GetItems write SetItems;

Description

Fields

Private FGuiComponent: TGLGuiComponent;

Methods

Public constructor Create(AOwner: TGLGuiComponent);
Public function GetOwner: TPersistent; override;
Public function IndexOf(const Item: TGLGuiElement): Integer;
Protected function GetItems(index: Integer): TGLGuiElement;
Public procedure AssignTo(Dest: TPersistent); override;
Protected procedure SetItems(index: Integer; const val: TGLGuiElement);

Properties

Public property Items[index:Integer]: TGLGuiElement read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Gui: Class TGLGuiComponent

Class TGLGuiComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGLGuiComponent = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLGuiComponent

Overview

Fields

Private | FElements: TGLGuiElementList;
Private | FName: TGLGuiComponentName;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function GetOwnerList: TGLGuiComponentList;
Protected | function GetDisplayName: string; override;
Public | procedure AssignTo(Dest: TPersistent); override;
Public | procedure RenderToArea(X1, Y1, X2, Y2: TGLFloat; var Res: TGUIDrawResult; Refresh: Boolean = True; Scale: TGLFloat = 1);
Protected | procedure SetName(const val: TGLGuiComponentName);

Properties

Published | property Elements: TGLGuiElementList read FElements write FElements;
Published | property Name: TGLGuiComponentName read FName write SetName;
Public | property Owner: TGLGuiComponentList read GetOwnerList;

Description

Fields

Private FElements: TGLGuiElementList;
Private FName: TGLGuiComponentName;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function GetOwnerList: TGLGuiComponentList;
Protected function GetDisplayName: string; override;
Public procedure AssignTo(Dest: TPersistent); override;
Public procedure RenderToArea(X1, Y1, X2, Y2: TGLFloat; var Res: TGUIDrawResult; Refresh: Boolean = True; Scale: TGLFloat = 1);
Protected procedure SetName(const val: TGLGuiComponentName);

Properties

Published property Elements: TGLGuiElementList read FElements write FElements;
Published property Name: TGLGuiComponentName read FName write SetName;
Public property Owner: TGLGuiComponentList read GetOwnerList;


GLSysHelp v.2.1: GLS.Gui: Class TGLGuiComponentList

Class TGLGuiComponentList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGLGuiComponentList = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLGuiComponentList

Overview

Fields

Private FLayout: TGLGuiLayout;

Methods

Public | constructor Create(AOwner: TGLGuiLayout);
Public | function FindItem(name: TGLGuiComponentName): TGLGuiComponent;
Public | function GetOwner: TPersistent; override;
Protected | function GetItems(index: Integer): TGLGuiComponent;
Protected | procedure SetItems(index: Integer; const val: TGLGuiComponent);

Properties

Public property Items[index:Integer]: TGLGuiComponent read GetItems write SetItems;

Description

Fields

Private FLayout: TGLGuiLayout;

Methods

Public constructor Create(AOwner: TGLGuiLayout);
Public function FindItem(name: TGLGuiComponentName): TGLGuiComponent;
Public function GetOwner: TPersistent; override;
Protected function GetItems(index: Integer): TGLGuiComponent;
Protected procedure SetItems(index: Integer; const val: TGLGuiComponent);

Properties

Public property Items[index:Integer]: TGLGuiComponent read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Gui: Class TGLGuiLayout

Class TGLGuiLayout

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Gui

Declaration

type TGLGuiLayout = class(TGLUpdateableComponent)

Description

No description available, ancestor TGLUpdateableComponent description follows

A base class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLGuiLayout

Overview

Fields

Private | FBitmapFont: TGLCustomBitmapFont;
Private | FMaterial: TGLMaterial;
Private | FGuiComponents: TGLGuiComponentList;
Private | FFileName: string;
Private | FGuiComponentList: TList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure AddGuiComponent(Component: TGLUpdateableComponent);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Clear;
Public | procedure LoadFromFile(FN: string);
Public | procedure LoadFromStream(Stream: TStream);
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure RemoveGuiComponent(Component: TGLUpdateableComponent);
Public | procedure SaveToFile(FN: string);
Public | procedure SaveToStream(Stream: TStream);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetFileName(newName: string);

Properties

Published | property BitmapFont: TGLCustomBitmapFont read FBitmapFont write FBitmapFont;
Published | property FileName: string read FFileName write SetFileName;
Published | property GuiComponents: TGLGuiComponentList read FGuiComponents write FGuiComponents;
Published | property Material: TGLMaterial read FMaterial write FMaterial;

Description

Fields

Private FBitmapFont: TGLCustomBitmapFont;
Private FMaterial: TGLMaterial;
Private FGuiComponents: TGLGuiComponentList;
Private FFileName: string;
Private FGuiComponentList: TList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure AddGuiComponent(Component: TGLUpdateableComponent);
Public procedure Assign(Source: TPersistent); override;
Public procedure Clear;
Public procedure LoadFromFile(FN: string);
Public procedure LoadFromStream(Stream: TStream);
Public procedure NotifyChange(Sender: TObject); override;
Public procedure RemoveGuiComponent(Component: TGLUpdateableComponent);
Public procedure SaveToFile(FN: string);
Public procedure SaveToStream(Stream: TStream);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetFileName(newName: string);

Properties

Published property BitmapFont: TGLCustomBitmapFont read FBitmapFont write FBitmapFont;
Published property FileName: string read FFileName write SetFileName;
Published property GuiComponents: TGLGuiComponentList read FGuiComponents write FGuiComponents;
Published property Material: TGLMaterial read FMaterial write FMaterial;


GLSysHelp v.2.1: GLS.HeightData

Unit GLS.HeightData

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.Types
  • Vcl.Graphics
  • GLS.ApplicationFileIO
  • GLS.Utils
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLHeightDataSource |
Record TGLHeightDataUser |
Class TGLHeightData |
Class TGLHeightDataThread |
Class TGLBitmapHDS |
Class TGLCustomHDS |
Class TGLTerrainBaseHDS |
Class TGLHeightDataSourceFilter |

Types

PByteRaster = ˆTByteRaster;
PSingleRaster = ˆTSingleRaster;
PSmallIntArray = ˆTSmallintArray;
PSmallIntRaster = ˆTSmallIntRaster;
TByteArray = array [0 .. MaxInt div (2 * SizeOf(Byte))] of Byte;
TByteRaster = array [0 .. MaxInt div (2 * SizeOf(Pointer))] of PByteArray;
TGLHeightDataClass = class of TGLHeightData;
TGLHeightDataState = (...);
TGLHeightDataType = (...);
THDTextureCoordinatesMode = (...);
TMarkDirtyEvent = procedure(const Area: TRect) of object;
TOnHeightDataDirtyEvent = procedure(sender: TGLHeightData) of object;
TSingleRaster = array [0 .. MaxInt div (2 * SizeOf(Pointer))] of PSingleArray;
TSmallintArray = array [0 .. MaxInt div (2 * SizeOf(SmallInt))] of SmallInt;
TSmallIntRaster = array [0 .. MaxInt div (2 * SizeOf(Pointer)) ] of PSmallIntArray;
TSourceDataFetchedEvent = procedure(sender: TGLHeightDataSourceFilter; HeightData: TGLHeightData) of object;
TStartPreparingDataEvent = procedure(HeightData: TGLHeightData) of object;

Description

Types

PByteRaster = ˆTByteRaster;
PSingleRaster = ˆTSingleRaster;
PSmallIntArray = ˆTSmallintArray;
PSmallIntRaster = ˆTSmallIntRaster;
TByteArray = array [0 .. MaxInt div (2 * SizeOf(Byte))] of Byte;

to CreateMonochromeBitmap

TByteRaster = array [0 .. MaxInt div (2 * SizeOf(Pointer))] of PByteArray;
TGLHeightDataClass = class of TGLHeightData;
TGLHeightDataState = (...);

Possible states for a TGLHeightData. hdsQueued : the data has been queued for loading hdsPreparing : the data is currently loading or being prepared for use hdsReady : the data is fully loaded and ready for use hdsNone : the height data does not exist for this tile

Values
  • hdsQueued
  • hdsPreparing
  • hdsReady
  • hdsNone
TGLHeightDataType = (...);

Determines the type of data stored in a TGLHeightData. There are 3 data types (8 bits unsigned, signed 16 bits and 32 bits). Conversions: (128*(ByteValue-128)) = SmallIntValue = Round(SingleValue). The 'hdtDefault' type is used for request only, and specifies that the default type for the source should be used.

Values
  • hdtByte
  • hdtSmallInt
  • hdtSingle
  • hdtDefault
THDTextureCoordinatesMode = (...);
Values
  • tcmWorld
  • tcmLocal
TMarkDirtyEvent = procedure(const Area: TRect) of object;
TOnHeightDataDirtyEvent = procedure(sender: TGLHeightData) of object;
TSingleRaster = array [0 .. MaxInt div (2 * SizeOf(Pointer))] of PSingleArray;
TSmallintArray = array [0 .. MaxInt div (2 * SizeOf(SmallInt))] of SmallInt;
TSmallIntRaster = array [0 .. MaxInt div (2 * SizeOf(Pointer)) ] of PSmallIntArray;
TSourceDataFetchedEvent = procedure(sender: TGLHeightDataSourceFilter; HeightData: TGLHeightData) of object;
TStartPreparingDataEvent = procedure(HeightData: TGLHeightData) of object;


GLSysHelp v.2.1: GLS.HeightData: Class TGLHeightDataSource

Class TGLHeightDataSource

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLHeightDataSource = class(TComponent)

Description

Base class for height datasources. This class is abstract and presents the standard interfaces for height data retrieval (TGLHeightData objects). The class offers the following features (that a subclass may decide to implement or not, what follow is the complete feature set, check subclass doc to see what is actually supported): Pooling / Cacheing (return a TGLHeightData with its "Release" method) Pre-loading : specify a list of TGLHeightData you want to preload Multi-threaded preload/queueing : specified list can be loaded in a background task.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource

Overview

Fields

Private | FData: TThreadList;
Private | FDataHash: array [0 .. 255] of TList;
Private | FThread: TThread;
Private | FMaxThreads: Integer;
Private | FMaxPoolSize: Integer;
Private | FHeightDataClass: TGLHeightDataClass;
Private | FDefaultHeight: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function GetData(XLeft, YTop, size: Integer; DataType: TGLHeightDataType) : TGLHeightData; virtual;
Public | function Height: Integer; virtual; abstract;
Public | function InterpolatedHeight(x, y: Single; TileSize: Integer) : Single; virtual;
Public | function PreLoad(XLeft, YTop, size: Integer; DataType: TGLHeightDataType) : TGLHeightData; virtual;
Public | function Width: Integer; virtual; abstract;
Protected | function FindMatchInList(XLeft, YTop, size: Integer; DataType: TGLHeightDataType): TGLHeightData;
Protected | function HashKey(XLeft, YTop: Integer): Integer;
Public | procedure AfterPreparingData(HeightData: TGLHeightData); virtual;
Public | procedure BeforePreparingData(HeightData: TGLHeightData); virtual;
Public | procedure CleanUp;
Public | procedure Clear;
Public | procedure MarkDirty; overload;
Public | procedure MarkDirty(const Area: TRect); overload; virtual;
Public | procedure MarkDirty(XLeft, YTop, xRight, yBottom: Integer); overload;
Public | procedure PreloadReplacement(aHeightData: TGLHeightData);
Public | procedure Release(aHeightData: TGLHeightData); virtual;
Public | procedure StartPreparingData(HeightData: TGLHeightData); virtual;
Public | procedure TextureCoordinates(HeightData: TGLHeightData; Stretch: boolean = false);
Public | procedure ThreadIsIdle; virtual;
Protected | procedure SetMaxThreads(const Val: Integer);

Properties

Public | property Data: TThreadList read FData;
Public | property DefaultHeight: Single read FDefaultHeight write FDefaultHeight;
Protected | property HeightDataClass: TGLHeightDataClass read FHeightDataClass write FHeightDataClass;
Public | property MaxPoolSize: Integer read FMaxPoolSize write FMaxPoolSize;
Public | property MaxThreads: Integer read FMaxThreads write SetMaxThreads;

Description

Fields

Private FData: TThreadList;
Private FDataHash: array [0 .. 255] of TList;

stores all TGLHeightData, whatever their state/type

Private FThread: TThread;

X/Y hash references for HeightDatas

Private FMaxThreads: Integer;

queue manager

Private FMaxPoolSize: Integer;
Private FHeightDataClass: TGLHeightDataClass;
Private FDefaultHeight: Single;

FReleaseLatency : TDateTime; //Not used anymore???

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function GetData(XLeft, YTop, size: Integer; DataType: TGLHeightDataType) : TGLHeightData; virtual;

Base TGLHeightData requester method. Returns (by rebuilding it or from the cache) a TGLHeightData corresponding to the given area. Size must be a power of two. Subclasses may choose to publish it or just publish datasource- specific requester method using specific parameters.

Public function Height: Integer; virtual; abstract;
Public function InterpolatedHeight(x, y: Single; TileSize: Integer) : Single; virtual;

Interpolates height for the given point.

Public function PreLoad(XLeft, YTop, size: Integer; DataType: TGLHeightDataType) : TGLHeightData; virtual;

Preloading request. See GetData for details.

Public function Width: Integer; virtual; abstract;
Protected function FindMatchInList(XLeft, YTop, size: Integer; DataType: TGLHeightDataType): TGLHeightData;

Looks up the list and returns the matching TGLHeightData, if any.

Protected function HashKey(XLeft, YTop: Integer): Integer;
Public procedure AfterPreparingData(HeightData: TGLHeightData); virtual;

This is called After "StartPreparingData", but always from the main thread

Public procedure BeforePreparingData(HeightData: TGLHeightData); virtual;

This is called BEFORE StartPreparing Data, but always from the main thread.

Public procedure CleanUp;

Removes less used TDataHeight objects from the pool. Only removes objects whose state is hdsReady and UseCounter is zero, starting from the end of the list until total data size gets below MaxPoolSize (or nothing can be removed).

Public procedure Clear;

Empties the Data list, terminating thread if necessary. If some TGLHeightData are hdsInUse, triggers an exception and does nothing.

Public procedure MarkDirty; overload;
Public procedure MarkDirty(const Area: TRect); overload; virtual;

Marks the given area as "dirty" (ie source data changed). All loaded and in-cache tiles overlapping the area are flushed.

Public procedure MarkDirty(XLeft, YTop, xRight, yBottom: Integer); overload;
Public procedure PreloadReplacement(aHeightData: TGLHeightData);

Replacing dirty tiles.

Public procedure Release(aHeightData: TGLHeightData); virtual;

Notification that the data is no longer used by the renderer. Default behaviour is just to change DataState to hdsReady (ie. return the data to the pool)

Public procedure StartPreparingData(HeightData: TGLHeightData); virtual;

Request to start preparing data. If your subclass is thread-enabled, this is here that you'll create your thread and fire it (don't forget the requirements), if not, that'll be here you'll be doing your work. Either way, you are responsible for adjusting the DataState to hdsReady when you're done (DataState will be hdsPreparing when this method will be invoked).

Public procedure TextureCoordinates(HeightData: TGLHeightData; Stretch: boolean = false);
Public procedure ThreadIsIdle; virtual;
Protected procedure SetMaxThreads(const Val: Integer);

Properties

Public property Data: TThreadList read FData;

Access to currently pooled TGLHeightData objects, and Thread locking

Public property DefaultHeight: Single read FDefaultHeight write FDefaultHeight;

Height to return for undefined tiles.

Protected property HeightDataClass: TGLHeightDataClass read FHeightDataClass write FHeightDataClass;

Adjust this property in you subclasses.

Public property MaxPoolSize: Integer read FMaxPoolSize write FMaxPoolSize;

Maximum Size of TDataHeight pool in bytes. The pool (cache) can actually get larger if more data than the pool can accomodate is used, but as soon as data gets released and returns to the pool, TDataHeight will be freed until total pool Size gets below this figure. The pool manager frees TDataHeight objects who haven't been requested for the longest time first. The default value of zero effectively disables pooling.

Public property MaxThreads: Integer read FMaxThreads write SetMaxThreads;

Maximum number of background threads. If 0 (zero), multithreading is disabled and StartPreparingData will be called from the mainthread, and all preload requirements (queued TGLHeightData objects) will be loaded in sequence from the main thread. If 1, basic multithreading and queueing gets enabled, ie. StartPreparingData will be called from a thread, but from one thread only (ie. there is no need to implement a TGLHeightDataThread, just make sure StartPreparingData code is thread-safe). Other values (2 and more) are relevant only if you implement a TGLHeightDataThread subclass and fire it in StartPreparingData.


GLSysHelp v.2.1: GLS.HeightData: Record TGLHeightDataUser

Record TGLHeightDataUser

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLHeightDataUser = record

Description

Overview

Fields

Public | user: TObject;
Public | event: TOnHeightDataDirtyEvent;

Description

Fields

Public user: TObject;
Public event: TOnHeightDataDirtyEvent;


GLSysHelp v.2.1: GLS.HeightData: Class TGLHeightData

Class TGLHeightData

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLHeightData = class(TGLUpdateAbleObject)

Description

TGLHeightData = class (TObject)

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLHeightData

Overview

Fields

Private | FUsers: array of TGLHeightDataUser;
Private | FOwner: TGLHeightDataSource;
Private | FDataState: TGLHeightDataState;
Private | FSize: Integer;
Private | FXLeft: Integer;
Private | FYTop: Integer;
Private | FUseCounter: Integer;
Private | FDataType: TGLHeightDataType;
Private | FDataSize: Integer;
Private | FByteData: PByteArray;
Private | FByteRaster: PByteRaster;
Private | FSmallIntData: PSmallIntArray;
Private | FSmallIntRaster: PSmallIntRaster;
Private | FSingleData: PSingleArray;
Private | FSingleRaster: PSingleRaster;
Private | FTextureCoordinatesMode: THDTextureCoordinatesMode;
Private | FTCOffset: TTexPoint;
Private | FTCScale: TTexPoint;
Private | FMaterialName: String;
Private | FLibMaterial: TGLLibMaterial;
Private | FObjectTag: TObject;
Private | FTag: Integer;
Private | FTag2: Integer;
Private | FOnDestroy: TNotifyEvent;
Private | FDirty: boolean;
Private | FHeightMin: Single;
Private | FHeightMax: Single;
Protected | FThread: TGLHeightDataThread;
Public | OldVersion: TGLHeightData;
Public | NewVersion: TGLHeightData;
Public | DontUse: boolean;

Methods

Public | constructor Create(AOwner: TGLHeightDataSource; aXLeft, aYTop, aSize: Integer; aDataType: TGLHeightDataType); reintroduce; virtual;
Public | destructor Destroy; override;
Public | function ByteHeight(x, y: Integer): Byte;
Public | function Height(x, y: Integer): Single;
Public | function InterpolatedHeight(x, y: Single): Single;
Public | function Normal(x, y: Integer; const scale: TAffineVector): TAffineVector;
Public | function NormalAtNode(x, y: Integer; const scale: TAffineVector): TAffineVector;
Public | function OverlapsArea(const Area: TRect): boolean;
Public | function SingleHeight(x, y: Integer): Single;
Public | function SmallIntHeight(x, y: Integer): SmallInt;
Protected | function GetHeightMax: Single;
Protected | function GetHeightMin: Single;
Public | procedure Allocate(const Val: TGLHeightDataType); virtual;
Public | procedure MarkDirty;
Public | procedure RegisterUse;
Public | procedure Release;
Protected | procedure SetDataType(const Val: TGLHeightDataType);
Protected | procedure SetLibMaterial(LibMaterial: TGLLibMaterial);
Protected | procedure SetMaterialName(const MaterialName: string);
Private | procedure BuildByteRaster;
Private | procedure BuildSingleRaster;
Private | procedure BuildSmallIntRaster;
Private | procedure ConvertByteToSingle;
Private | procedure ConvertByteToSmallInt;
Private | procedure ConvertSingleToByte;
Private | procedure ConvertSingleToSmallInt;
Private | procedure ConvertSmallIntToByte;
Private | procedure ConvertSmallIntToSingle;

Properties

Public | property ByteData: PByteArray read FByteData;
Public | property ByteRaster: PByteRaster read FByteRaster;
Public | property DataSize: Integer read FDataSize;
Public | property DataState: TGLHeightDataState read FDataState write FDataState;
Public | property DataType: TGLHeightDataType read FDataType write SetDataType;
Public | property Dirty: boolean read FDirty write FDirty;
Public | property HeightMax: Single read GetHeightMax write FHeightMax;
Public | property HeightMin: Single read GetHeightMin write FHeightMin;
Public | property LibMaterial: TGLLibMaterial read FLibMaterial write SetLibMaterial;
Public | property MaterialName: String read FMaterialName write SetMaterialName;
Public | property ObjectTag: TObject read FObjectTag write FObjectTag;
Public | property OnDestroy: TNotifyEvent read FOnDestroy write FOnDestroy;
Public | property Owner: TGLHeightDataSource read FOwner;
Public | property SingleData: PSingleArray read FSingleData;
Public | property SingleRaster: PSingleRaster read FSingleRaster;
Public | property Size: Integer read FSize;
Public | property SmallIntData: PSmallIntArray read FSmallIntData;
Public | property SmallIntRaster: PSmallIntRaster read FSmallIntRaster;
Public | property Tag: Integer read FTag write FTag;
Public | property Tag2: Integer read FTag2 write FTag2;
Public | property TextureCoordinatesMode: THDTextureCoordinatesMode read FTextureCoordinatesMode write FTextureCoordinatesMode;
Public | property TextureCoordinatesOffset: TTexPoint read FTCOffset write FTCOffset;
Public | property TextureCoordinatesScale: TTexPoint read FTCScale write FTCScale;
Public | property Thread: TGLHeightDataThread read FThread write FThread;
Public | property UseCounter: Integer read FUseCounter;
Public | property XLeft: Integer read FXLeft;
Public | property YTop: Integer read FYTop;

Description

Fields

Private FUsers: array of TGLHeightDataUser;
Private FOwner: TGLHeightDataSource;
Private FDataState: TGLHeightDataState;
Private FSize: Integer;
Private FXLeft: Integer;
Private FYTop: Integer;
Private FUseCounter: Integer;
Private FDataType: TGLHeightDataType;
Private FDataSize: Integer;
Private FByteData: PByteArray;
Private FByteRaster: PByteRaster;
Private FSmallIntData: PSmallIntArray;
Private FSmallIntRaster: PSmallIntRaster;
Private FSingleData: PSingleArray;
Private FSingleRaster: PSingleRaster;
Private FTextureCoordinatesMode: THDTextureCoordinatesMode;
Private FTCOffset: TTexPoint;
Private FTCScale: TTexPoint;
Private FMaterialName: String;
Private FLibMaterial: TGLLibMaterial;

Unsafe. Use FLibMaterial instead

Private FObjectTag: TObject;
Private FTag: Integer;
Private FTag2: Integer;
Private FOnDestroy: TNotifyEvent;
Private FDirty: boolean;
Private FHeightMin: Single;
Private FHeightMax: Single;
Protected FThread: TGLHeightDataThread;
Public OldVersion: TGLHeightData;
Public NewVersion: TGLHeightData;

previous version of this tile

Public DontUse: boolean;

the replacement tile

Methods

Public constructor Create(AOwner: TGLHeightDataSource; aXLeft, aYTop, aSize: Integer; aDataType: TGLHeightDataType); reintroduce; virtual;

Tells TerrainRenderer which version to use constructor Create(AOwner : TComponent); override;

Public destructor Destroy; override;
Public function ByteHeight(x, y: Integer): Byte;

Height of point x, y as a Byte.

Public function Height(x, y: Integer): Single;

Returns the height as a single, whatever the DataType (slow).

Public function InterpolatedHeight(x, y: Single): Single;

Interopolated height of point x, y as a Single.

Public function Normal(x, y: Integer; const scale: TAffineVector): TAffineVector;

Calculates and returns the normal for vertex point x, y. Sub classes may provide normal cacheing, the default implementation being rather blunt.

Public function NormalAtNode(x, y: Integer; const scale: TAffineVector): TAffineVector;

Calculates and returns the normal for cell x, y.(between vertexes)

Public function OverlapsArea(const Area: TRect): boolean;

Returns True if the data tile overlaps the area.

Public function SingleHeight(x, y: Integer): Single;

Height of point x, y as a Single.

Public function SmallIntHeight(x, y: Integer): SmallInt;

Height of point x, y as a SmallInt.

Protected function GetHeightMax: Single;
Protected function GetHeightMin: Single;
Public procedure Allocate(const Val: TGLHeightDataType); virtual;

Allocate memory and prepare lookup tables for current datatype. Fails if already allocated. Made Dynamic to allow descendants

Public procedure MarkDirty;

Marks the tile as dirty. The immediate effect is currently the destruction of the tile.

Public procedure RegisterUse;

Increments UseCounter. User objects should implement a method that will be notified when the data becomes dirty, when invoked they should release the heightdata immediately after performing their own cleanups.

Public procedure Release;

Decrements UseCounter. When the counter reaches zero, notifies the Owner TGLHeightDataSource that the data is no longer used. The renderer should call Release when it no longer needs a THeighData, and never free/destroy the object directly.

Protected procedure SetDataType(const Val: TGLHeightDataType);

thread used for multi-threaded processing (if any)

Protected procedure SetLibMaterial(LibMaterial: TGLLibMaterial);
Protected procedure SetMaterialName(const MaterialName: string);
Private procedure BuildByteRaster;
Private procedure BuildSingleRaster;
Private procedure BuildSmallIntRaster;
Private procedure ConvertByteToSingle;
Private procedure ConvertByteToSmallInt;
Private procedure ConvertSingleToByte;
Private procedure ConvertSingleToSmallInt;
Private procedure ConvertSmallIntToByte;
Private procedure ConvertSmallIntToSingle;

Properties

Public property ByteData: PByteArray read FByteData;

Access to data as a byte array (n = y*Size+x). If TGLHeightData is not of type hdtByte, this value is nil.

Public property ByteRaster: PByteRaster read FByteRaster;

Access to data as a byte raster (y, x). If TGLHeightData is not of type hdtByte, this value is nil.

Public property DataSize: Integer read FDataSize;

Memory Size of the raw data in bytes.

Public property DataState: TGLHeightDataState read FDataState write FDataState;

Current state of the data.

Public property DataType: TGLHeightDataType read FDataType write SetDataType;

Type of the data. Assigning a new datatype will result in the data being converted.

Public property Dirty: boolean read FDirty write FDirty;

True if the data is dirty (ie. no longer up-to-date).

Public property HeightMax: Single read GetHeightMax write FHeightMax;

Maximum height in the tile. DataSources may assign a value to prevent automatic computation if they have a faster/already computed value.

Public property HeightMin: Single read GetHeightMin write FHeightMin;

Minimum height in the tile. DataSources may assign a value to prevent automatic computation if they have a faster/already computed value.

Public property LibMaterial: TGLLibMaterial read FLibMaterial write SetLibMaterial;

property LibMaterial : Links directly to the tile's TGLLibMaterial. Unlike 'MaterialName', this property also registers the tile as a user of the texture. This prevents TGLLibMaterials.DeleteUnusedTextures from deleting the used texture by mistake and causing Access Violations. Use this instead of the old MaterialName property, to prevent AV's.

Public property MaterialName: String read FMaterialName write SetMaterialName;

Name of material for the tile (if terrain uses multiple materials). property MaterialName : String read FMaterialName write FMaterialName; (WARNING: Unsafe when deleting textures! If possible, rather use LibMaterial.)

Public property ObjectTag: TObject read FObjectTag write FObjectTag;

Reserved for renderer use.

Public property OnDestroy: TNotifyEvent read FOnDestroy write FOnDestroy;

Fired when the object is destroyed.

Public property Owner: TGLHeightDataSource read FOwner;

The component who created and maintains this data.

Public property SingleData: PSingleArray read FSingleData;

Access to data as a Single array (n = y*Size+x). If TGLHeightData is not of type hdtSingle, this value is nil.

Public property SingleRaster: PSingleRaster read FSingleRaster;

Access to data as a Single raster (y, x). If TGLHeightData is not of type hdtSingle, this value is nil.

Public property Size: Integer read FSize;

Size of the data square, in data units.

Public property SmallIntData: PSmallIntArray read FSmallIntData;

Access to data as a SmallInt array (n = y*Size+x). If TGLHeightData is not of type hdtSmallInt, this value is nil.

Public property SmallIntRaster: PSmallIntRaster read FSmallIntRaster;

Access to data as a SmallInt raster (y, x). If TGLHeightData is not of type hdtSmallInt, this value is nil.

Public property Tag: Integer read FTag write FTag;

Reserved for renderer use.

Public property Tag2: Integer read FTag2 write FTag2;

Reserved for renderer use.

Public property TextureCoordinatesMode: THDTextureCoordinatesMode read FTextureCoordinatesMode write FTextureCoordinatesMode;

Texture coordinates generation mode. Default is tcmWorld coordinates.

Public property TextureCoordinatesOffset: TTexPoint read FTCOffset write FTCOffset;
Public property TextureCoordinatesScale: TTexPoint read FTCScale write FTCScale;
Public property Thread: TGLHeightDataThread read FThread write FThread;

Used by perlin HDS.

Public property UseCounter: Integer read FUseCounter;

Counter for use registration. A TGLHeightData is not returned to the pool until this counter reaches a value of zero.

Public property XLeft: Integer read FXLeft;

World X coordinate of top left point.

Public property YTop: Integer read FYTop;

World Y coordinate of top left point.


GLSysHelp v.2.1: GLS.HeightData: Class TGLHeightDataThread

Class TGLHeightDataThread

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLHeightDataThread = class(TThread)

Description

A thread specialized for processing TGLHeightData in background. Requirements: must have FreeOnTerminate set to true, must check and honour Terminated swiftly

Hierarchy

  • TObject
  • TThread
  • TGLHeightDataThread

Overview

Fields

Protected FHeightData: TGLHeightData;

Methods

Public destructor Destroy; override;

Properties

Public property HeightData: TGLHeightData read FHeightData write FHeightData;

Description

Fields

Protected FHeightData: TGLHeightData;

Methods

Public destructor Destroy; override;

Properties

Public property HeightData: TGLHeightData read FHeightData write FHeightData;

The Height Data the thread is to prepare.


GLSysHelp v.2.1: GLS.HeightData: Class TGLBitmapHDS

Class TGLBitmapHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLBitmapHDS = class(TGLHeightDataSource)

Description

Bitmap-based Height Data Source. The image is automatically wrapped if requested data is out of picture Size, or if requested data is larger than the picture. The internal format is an 8 bit bitmap whose dimensions are a power of two, if the original image does not comply, it is StretchDraw'ed on a monochrome (gray) bitmap.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLBitmapHDS

Overview

Fields

Private | FScanLineCache: array of PByteArray;
Private | FBitmap: TBitmap;
Private | FPicture: TPicture;
Private | FInfiniteWrap: boolean;
Private | FInverted: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Height: Integer; override;
Public | function Width: Integer; override;
Protected | function GetScanLine(y: Integer): PByteArray;
Public | procedure MarkDirty(const Area: TRect); override;
Public | procedure StartPreparingData(HeightData: TGLHeightData); override;
Protected | procedure CreateMonochromeBitmap(size: Integer);
Protected | procedure FreeMonochromeBitmap;
Protected | procedure OnPictureChanged(sender: TObject);
Protected | procedure SetInfiniteWrap(Val: boolean);
Protected | procedure SetInverted(Val: boolean);
Protected | procedure SetPicture(const Val: TPicture);

Properties

Published | property InfiniteWrap: boolean read FInfiniteWrap write SetInfiniteWrap default True;
Published | property Inverted: boolean read FInverted write SetInverted default True;
Published | property MaxPoolSize;
Published | property Picture: TPicture read FPicture write SetPicture;

Description

Fields

Private FScanLineCache: array of PByteArray;
Private FBitmap: TBitmap;
Private FPicture: TPicture;
Private FInfiniteWrap: boolean;
Private FInverted: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Height: Integer; override;
Public function Width: Integer; override;
Protected function GetScanLine(y: Integer): PByteArray;
Public procedure MarkDirty(const Area: TRect); override;
Public procedure StartPreparingData(HeightData: TGLHeightData); override;
Protected procedure CreateMonochromeBitmap(size: Integer);
Protected procedure FreeMonochromeBitmap;
Protected procedure OnPictureChanged(sender: TObject);
Protected procedure SetInfiniteWrap(Val: boolean);
Protected procedure SetInverted(Val: boolean);
Protected procedure SetPicture(const Val: TPicture);

Properties

Published property InfiniteWrap: boolean read FInfiniteWrap write SetInfiniteWrap default True;

If true the height field is wrapped indefinetely.

Published property Inverted: boolean read FInverted write SetInverted default True;

If true, the rendered terrain is a mirror image of the input data.

Published property MaxPoolSize;
Published property Picture: TPicture read FPicture write SetPicture;

The picture serving as Height field data reference. The picture is (if not already) internally converted to a 8 bit bitmap (grayscale). For better performance and to save memory, feed it this format!


GLSysHelp v.2.1: GLS.HeightData: Class TGLCustomHDS

Class TGLCustomHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLCustomHDS = class(TGLHeightDataSource)

Description

An Height Data Source for custom use. Provides event handlers for the various requests to be implemented application-side (for application-specific needs).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLCustomHDS

Overview

Fields

Private | FOnStartPreparingData: TStartPreparingDataEvent;
Private | FOnMarkDirty: TMarkDirtyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure MarkDirty(const Area: TRect); override;
Public | procedure StartPreparingData(HeightData: TGLHeightData); override;

Properties

Published | property MaxPoolSize;
Published | property OnMarkDirtyEvent: TMarkDirtyEvent read FOnMarkDirty write FOnMarkDirty;
Published | property OnStartPreparingData: TStartPreparingDataEvent read FOnStartPreparingData write FOnStartPreparingData;

Description

Fields

Private FOnStartPreparingData: TStartPreparingDataEvent;
Private FOnMarkDirty: TMarkDirtyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure MarkDirty(const Area: TRect); override;
Public procedure StartPreparingData(HeightData: TGLHeightData); override;

Properties

Published property MaxPoolSize;
Published property OnMarkDirtyEvent: TMarkDirtyEvent read FOnMarkDirty write FOnMarkDirty;
Published property OnStartPreparingData: TStartPreparingDataEvent read FOnStartPreparingData write FOnStartPreparingData;


GLSysHelp v.2.1: GLS.HeightData: Class TGLTerrainBaseHDS

Class TGLTerrainBaseHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLTerrainBaseHDS = class(TGLHeightDataSource)

Description

TerrainBase-based Height Data Source. This component takes its data from the TerrainBase Gobal Terrain Model. Though it can be used directly, the resolution of the TerrainBase dataset isn't high enough for accurate short-range representation and the data should rather be used as basis for further (fractal) refinement. TerrainBase is freely available from the National Geophysical Data Center and World Data Center web site (http://ngdc.noaa.com). (this component expects to find "tbase.bin" in the current directory).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLTerrainBaseHDS

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure StartPreparingData(HeightData: TGLHeightData); override;

Properties

Published property MaxPoolSize;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure StartPreparingData(HeightData: TGLHeightData); override;

Properties

Published property MaxPoolSize;


GLSysHelp v.2.1: GLS.HeightData: Class TGLHeightDataSourceFilter

Class TGLHeightDataSourceFilter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightData

Declaration

type TGLHeightDataSourceFilter = class(TGLHeightDataSource)

Description

Height Data Source Filter. This component sits between the TGLTerrainRenderer, and a real TGLHeightDataSource. i.e. TGLTerrainRenderer links to this. This links to the real TGLHeightDataSource. Use the 'HeightDataSource' property, to link to a source HDS. The 'OnSourceDataFetched' event then gives you the opportunity to make any changes, or link in a texture to the TGLHeightData object, BEFORE it is cached. It bypasses the cache of the source HDS, by calling the source's StartPreparingData procedure directly. The TGLHeightData objects are then cached by THIS component, AFTER you have made your changes. This eliminates the need to copy and release the TGLHeightData object from the Source HDS's cache, before linking your texture. See the new version of TGLBumpmapHDS for an example. (LIN) To create your own HDSFilters, Derive from this component, and override the PreparingData procedure.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLHeightDataSourceFilter

Overview

Fields

Private | FHDS: TGLHeightDataSource;
Private | FOnSourceDataFetched: TSourceDataFetchedEvent;
Private | FActive: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Height: Integer; override;
Public | function Width: Integer; override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure Release(aHeightData: TGLHeightData); override;
Public | procedure StartPreparingData(HeightData: TGLHeightData); override;
Protected | procedure PreparingData(HeightData: TGLHeightData); virtual; abstract;
Protected | procedure SetHDS(Val: TGLHeightDataSource);

Properties

Published | property Active: boolean read FActive write FActive;
Published | property HeightDataSource: TGLHeightDataSource read FHDS write SetHDS;
Published | property MaxPoolSize;
Public | property OnSourceDataFetched: TSourceDataFetchedEvent read FOnSourceDataFetched write FOnSourceDataFetched;

Description

Fields

Private FHDS: TGLHeightDataSource;
Private FOnSourceDataFetched: TSourceDataFetchedEvent;
Private FActive: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Height: Integer; override;
Public function Width: Integer; override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure Release(aHeightData: TGLHeightData); override;
Public procedure StartPreparingData(HeightData: TGLHeightData); override;
Protected procedure PreparingData(HeightData: TGLHeightData); virtual; abstract;

PreparingData: Override this function in your filter subclasses, to make any updates/changes to HeightData, before it goes into the cache. Make sure any code in this function is thread-safe, in case TAsyncHDS was used.

Protected procedure SetHDS(Val: TGLHeightDataSource);

Properties

Published property Active: boolean read FActive write FActive;
Published property HeightDataSource: TGLHeightDataSource read FHDS write SetHDS;
Published property MaxPoolSize;
Public property OnSourceDataFetched: TSourceDataFetchedEvent read FOnSourceDataFetched write FOnSourceDataFetched;


GLSysHelp v.2.1: GLS.HeightTileFileHDS

Unit GLS.HeightTileFileHDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.HeightData

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLHeightTileInfo |
Packed Record TGLHeightTile |
Packed Record THTFHeader |
Class TGLHeightTileFile |
Class TGLHeightTileFileHDS |

Types

PByte = ˆByte;
PHeightTile = ˆTGLHeightTile;
PHeightTileInfo = ˆTGLHeightTileInfo;
PInteger = ˆInteger;
PIntegerArray = ˆTIntegerArray;
PPHeightTileInfo = ˆPHeightTileInfo;
PShortInt = ˆShortInt;
PShortIntArray = ˆTShortIntArray;
PSmallInt = ˆSmallInt;
PSmallIntArray = ˆTSmallIntArray;
TIntegerArray = array [0 .. MaxInt shr 3] of Integer;
TShortIntArray = array [0 .. MaxInt shr 2] of ShortInt;
TSmallIntArray = array [0 .. MaxInt shr 2] of SmallInt;

Constants

cHTFHashTableSize = 1023;
cHTFQuadTableSize = 31;

Description

Types

PByte = ˆByte;

Access to large tiled height data files. Performance vs Raw file accesses (for perfect tile match): Cached data: "Smooth" terrain 1:2 to 1:10 Random terrain 1:1

Non-cached data: "Smooth" terrain 1:100 to 1:1000 Random terrain 1:100

PHeightTile = ˆTGLHeightTile;
PHeightTileInfo = ˆTGLHeightTileInfo;
PInteger = ˆInteger;
PIntegerArray = ˆTIntegerArray;
PPHeightTileInfo = ˆPHeightTileInfo;
PShortInt = ˆShortInt;
PShortIntArray = ˆTShortIntArray;
PSmallInt = ˆSmallInt;
PSmallIntArray = ˆTSmallIntArray;
TIntegerArray = array [0 .. MaxInt shr 3] of Integer;
TShortIntArray = array [0 .. MaxInt shr 2] of ShortInt;
TSmallIntArray = array [0 .. MaxInt shr 2] of SmallInt;

Constants

cHTFHashTableSize = 1023;
cHTFQuadTableSize = 31;


GLSysHelp v.2.1: GLS.HeightTileFileHDS: Packed Record TGLHeightTileInfo

Packed Record TGLHeightTileInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightTileFileHDS

Declaration

type TGLHeightTileInfo = packed record

Description

Overview

Fields

Public | left: Integer;
Public | top: Integer;
Public | width: Integer;
Public | height: Integer;
Public | min: SmallInt;
Public | max: SmallInt;
Public | average: SmallInt;
Public | fileOffset: Int64;

Description

Fields

Public left: Integer;
Public top: Integer;
Public width: Integer;
Public height: Integer;
Public min: SmallInt;
Public max: SmallInt;
Public average: SmallInt;
Public fileOffset: Int64;


GLSysHelp v.2.1: GLS.HeightTileFileHDS: Packed Record TGLHeightTile

Packed Record TGLHeightTile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightTileFileHDS

Declaration

type TGLHeightTile = packed record

Description

Overview

Fields

Public | info: TGLHeightTileInfo;
Public | data: array of SmallInt;

Description

Fields

Public info: TGLHeightTileInfo;
Public data: array of SmallInt;


GLSysHelp v.2.1: GLS.HeightTileFileHDS: Packed Record THTFHeader

Packed Record THTFHeader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightTileFileHDS

Declaration

type THTFHeader = packed record

Description

Overview

Fields

Public | FileVersion: array [0 .. 5] of AnsiChar;
Public | TileIndexOffset: Int64;
Public | SizeX: Integer;
Public | SizeY: Integer;
Public | TileSize: Integer;
Public | DefaultZ: SmallInt;

Description

Fields

Public FileVersion: array [0 .. 5] of AnsiChar;
Public TileIndexOffset: Int64;
Public SizeX: Integer;
Public SizeY: Integer;
Public TileSize: Integer;
Public DefaultZ: SmallInt;


GLSysHelp v.2.1: GLS.HeightTileFileHDS: Class TGLHeightTileFile

Class TGLHeightTileFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightTileFileHDS

Declaration

type TGLHeightTileFile = class(TObject)

Description

Interfaces a Tiled file

Hierarchy

  • TObject
  • TGLHeightTileFile

Overview

Fields

Private | FFile: TStream;
Private | FHeader: THTFHeader;
Private | FTileIndex: packed of TGLHeightTileInfo;
Private | FTileMark: array of Cardinal;
Private | FLastMark: Cardinal;
Private | FHashTable: array [0 .. cHTFHashTableSize] of array of Integer;
Private | FQuadTable: array [0 .. cHTFQuadTableSize, 0 .. cHTFQuadTableSize] of array of Integer;
Private | FCreating: Boolean;
Private | FHeightTile: TGLHeightTile;
Private | FInBuf: array of ShortInt;

Methods

Public | constructor Create(const fileName: String);
Public | constructor CreateNew(const fileName: String; aSizeX, aSizeY, aTileSize: Integer);
Public | destructor Destroy; override;
Public | function GetTile(aLeft, aTop: Integer; pTileInfo: PPHeightTileInfo = nil): PHeightTile;
Public | function GetTileIndex(aLeft, aTop: Integer): Integer;
Public | function IndexOfTile(aTile: PHeightTileInfo): Integer;
Public | function TileCompressedSize(tileIndex: Integer): Integer;
Public | function TileCount: Integer;
Public | function XYHeight(anX, anY: Integer): SmallInt;
Public | function XYTileInfo(anX, anY: Integer): PHeightTileInfo;
Protected | function GetTiles(index: Integer): PHeightTileInfo;
Protected | function QuadTableX(x: Integer): Integer;
Protected | function QuadTableY(y: Integer): Integer;
Public | procedure CompressTile(aLeft, aTop, aWidth, aHeight: Integer; aData: PSmallIntArray);
Public | procedure ExtractRow(x, y, len: Integer; dest: PSmallIntArray);
Public | procedure TilesInRect(aLeft, aTop, aRight, aBottom: Integer; destList: TList);
Protected | procedure PackTile(aWidth, aHeight: Integer; src: PSmallIntArray);
Protected | procedure UnPackTile(source: PShortIntArray);

Properties

Public | property DefaultZ: SmallInt read FHeader.DefaultZ write FHeader.DefaultZ;
Public | property SizeX: Integer read FHeader.SizeX;
Public | property SizeY: Integer read FHeader.SizeY;
Protected | property TileIndexOffset: Int64 read FHeader.TileIndexOffset write FHeader.TileIndexOffset;
Public | property Tiles[index:Integer]: PHeightTileInfo read GetTiles;
Public | property TileSize: Integer read FHeader.TileSize;

Description

Fields

Private FFile: TStream;
Private FHeader: THTFHeader;
Private FTileIndex: packed of TGLHeightTileInfo;
Private FTileMark: array of Cardinal;
Private FLastMark: Cardinal;
Private FHashTable: array [0 .. cHTFHashTableSize] of array of Integer;
Private FQuadTable: array [0 .. cHTFQuadTableSize, 0 .. cHTFQuadTableSize] of array of Integer;
Private FCreating: Boolean;
Private FHeightTile: TGLHeightTile;
Private FInBuf: array of ShortInt;

Methods

Public constructor Create(const fileName: String);
Public constructor CreateNew(const fileName: String; aSizeX, aSizeY, aTileSize: Integer);

Creates a new HTF file. Read and data access methods are not available when creating.

Public destructor Destroy; override;
Public function GetTile(aLeft, aTop: Integer; pTileInfo: PPHeightTileInfo = nil): PHeightTile;

Returns tile of corresponding left/top.

Public function GetTileIndex(aLeft, aTop: Integer): Integer;

Returns tile index for corresponding left/top.

Public function IndexOfTile(aTile: PHeightTileInfo): Integer;
Public function TileCompressedSize(tileIndex: Integer): Integer;
Public function TileCount: Integer;
Public function XYHeight(anX, anY: Integer): SmallInt;

Returns the height at given coordinates. This is definetely NOT the fastest way to access HTF data and should only be used as utility function.

Public function XYTileInfo(anX, anY: Integer): PHeightTileInfo;

Returns the tile that contains x and y.

Protected function GetTiles(index: Integer): PHeightTileInfo;
Protected function QuadTableX(x: Integer): Integer;
Protected function QuadTableY(y: Integer): Integer;
Public procedure CompressTile(aLeft, aTop, aWidth, aHeight: Integer; aData: PSmallIntArray);

Stores and compresses give tile data. aLeft and top MUST be a multiple of TileSize, aWidth and aHeight MUST be lower or equal to TileSize.

Public procedure ExtractRow(x, y, len: Integer; dest: PSmallIntArray);

Extract a single row from the HTF file. This is NOT the fastest way to access HTF data. All of the row must be contained in the world, otherwise result is undefined.

Public procedure TilesInRect(aLeft, aTop, aRight, aBottom: Integer; destList: TList);

Clears the list then add all tiles that overlap the rectangular area.

Protected procedure PackTile(aWidth, aHeight: Integer; src: PSmallIntArray);
Protected procedure UnPackTile(source: PShortIntArray);

Properties

Public property DefaultZ: SmallInt read FHeader.DefaultZ write FHeader.DefaultZ;
Public property SizeX: Integer read FHeader.SizeX;
Public property SizeY: Integer read FHeader.SizeY;
Protected property TileIndexOffset: Int64 read FHeader.TileIndexOffset write FHeader.TileIndexOffset;
Public property Tiles[index:Integer]: PHeightTileInfo read GetTiles;
Public property TileSize: Integer read FHeader.TileSize;

Maximum width and height for a tile. Actual tiles may not be square, can assume random layouts, and may overlap.


GLSysHelp v.2.1: GLS.HeightTileFileHDS: Class TGLHeightTileFileHDS

Class TGLHeightTileFileHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HeightTileFileHDS

Declaration

type TGLHeightTileFileHDS = class(TGLHeightDataSource)

Description

—————- TGLHeightTileFileHDS class ———————– An Height Data Source for the HTF format.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLHeightTileFileHDS

Overview

Fields

Private | FInfiniteWrap: Boolean;
Private | FInverted: Boolean;
Private | FHTFFileName: String;
Private | FHTF: TGLHeightTileFile;
Private | FMinElevation: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Height: Integer; override;
Public | function OpenHTF: TGLHeightTileFile;
Public | function Width: Integer; override;
Public | procedure StartPreparingData(HeightData: TGLHeightData); override;
Protected | procedure SetHTFFileName(const val: String);
Protected | procedure SetInfiniteWrap(val: Boolean);
Protected | procedure SetInverted(val: Boolean);
Protected | procedure SetMinElevation(val: Integer);

Properties

Published | property DefaultHeight;
Published | property HTFFileName: String read FHTFFileName write SetHTFFileName;
Published | property InfiniteWrap: Boolean read FInfiniteWrap write SetInfiniteWrap default True;
Published | property Inverted: Boolean read FInverted write SetInverted default True;
Published | property MaxPoolSize;
Published | property MinElevation: Integer read FMinElevation write SetMinElevation default -32768;

Description

Fields

Private FInfiniteWrap: Boolean;
Private FInverted: Boolean;
Private FHTFFileName: String;
Private FHTF: TGLHeightTileFile;
Private FMinElevation: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Height: Integer; override;
Public function OpenHTF: TGLHeightTileFile;
Public function Width: Integer; override;
Public procedure StartPreparingData(HeightData: TGLHeightData); override;
Protected procedure SetHTFFileName(const val: String);
Protected procedure SetInfiniteWrap(val: Boolean);
Protected procedure SetInverted(val: Boolean);
Protected procedure SetMinElevation(val: Integer);

Properties

Published property DefaultHeight;
Published property HTFFileName: String read FHTFFileName write SetHTFFileName;

FileName of the HTF file. Note that it is accessed via the services of GLS.ApplicationFileIO, so this may not necessarily be a regular file on a disk...

Published property InfiniteWrap: Boolean read FInfiniteWrap write SetInfiniteWrap default True;

If true the height field is wrapped indefinetely.

Published property Inverted: Boolean read FInverted write SetInverted default True;

If true the height data is inverted.(Top to bottom)

Published property MaxPoolSize;
Published property MinElevation: Integer read FMinElevation write SetMinElevation default -32768;

Minimum elevation of the tiles that are considered to exist. This property can typically be used to hide underwater tiles.


GLSysHelp v.2.1: GLS.HUDObjects

Unit GLS.HUDObjects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • Vcl.StdCtrls
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.Coordinates
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.Objects
  • GLS.BitmapFont
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.Material
  • GLS.Texture

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLHUDSprite |
Class TGLHUDText |
Class TGLAbsoluteHUDText |
Class TGLResolutionIndependantHUDText |


GLSysHelp v.2.1: GLS.HUDObjects: Class TGLHUDSprite

Class TGLHUDSprite

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HUDObjects

Declaration

type TGLHUDSprite = class(TGLSprite)

Description

A rectangular area, NOT perspective projected. (x, y) coordinates map directly to the viewport (in pixels) and refer the center of the area. The coordinate system is that of an equivalent TCanvas, ie. top-left point is the origin (0, 0). The z component is ignored and Z-Buffer is disabled when rendering. Using TGLHUDSprite in 2D only scenes : The most convenient way to use a TGLHUDSprite as a simple 2D sprite with blending capabilities (transparency or additive), is to set the texture mode to tmModulate, in FrontProperties, to use the Emission color to control coloring/intensity, and finally use the Diffuse color's alpha to control transparency (while setting the other RGB components to 0). You can also control aplha-blending by defining a <1 value in the sprite's AlphaChannel field. This provides you with hardware accelerated, alpha-blended blitting. Note : since TGLHUDSprite works in absolute coordinates, TGLProxyObject can't be used to duplicate an hud sprite.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLSprite
  • TGLHUDSprite

Overview

Fields

Private | FXTiles: Integer;
Private | FYTiles: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Private | function StoreHeight: Boolean;
Private | function StoreWidth: Boolean;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure SetXTiles(const val: Integer);
Protected | procedure SetYTiles(const val: Integer);

Properties

Published | property Height stored StoreHeight;
Published | property Width stored StoreWidth;
Published | property XTiles: Integer read FXTiles write SetXTiles default 1;
Published | property YTiles: Integer read FYTiles write SetYTiles default 1;

Description

Fields

Private FXTiles: Integer;
Private FYTiles: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Private function StoreHeight: Boolean;
Private function StoreWidth: Boolean;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure SetXTiles(const val: Integer);
Protected procedure SetYTiles(const val: Integer);

Properties

Published property Height stored StoreHeight;
Published property Width stored StoreWidth;

Redeclare them with new default values.

Published property XTiles: Integer read FXTiles write SetXTiles default 1;
Published property YTiles: Integer read FYTiles write SetYTiles default 1;


GLSysHelp v.2.1: GLS.HUDObjects: Class TGLHUDText

Class TGLHUDText

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HUDObjects

Declaration

type TGLHUDText = class(TGLImmaterialSceneObject)

Description

A 2D text displayed and positionned in 2D coordinates. The HUDText uses a character font defined and stored by a TGLBitmapFont component. The text can be scaled and rotated (2D), the layout and alignment can also be controled.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLHUDText

Overview

Fields

Private | FBitmapFont: TGLCustomBitmapFont;
Private | FText: UnicodeString;
Private | FRotation: Single;
Private | FAlignment: TAlignment;
Private | FLayout: TTextLayout;
Private | FModulateColor: TGLColor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure RenderTextAtPosition(const X, Y, Z: Single; var rci: TGLRenderContextInfo);
Protected | procedure SetAlignment(const val: TAlignment);
Protected | procedure SetBitmapFont(const val: TGLCustomBitmapFont);
Protected | procedure SetLayout(const val: TTextLayout);
Protected | procedure SetModulateColor(const val: TGLColor);
Protected | procedure SetRotation(const val: Single);
Protected | procedure SetText(const val: UnicodeString);

Properties

Published | property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
Published | property BitmapFont: TGLCustomBitmapFont read FBitmapFont write SetBitmapFont;
Published | property Layout: TTextLayout read FLayout write SetLayout default tlTop;
Published | property ModulateColor: TGLColor read FModulateColor write SetModulateColor;
Published | property Rotation: Single read FRotation write SetRotation;
Published | property Text: UnicodeString read FText write SetText;

Description

Fields

Private FBitmapFont: TGLCustomBitmapFont;
Private FText: UnicodeString;
Private FRotation: Single;
Private FAlignment: TAlignment;
Private FLayout: TTextLayout;
Private FModulateColor: TGLColor;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure RenderTextAtPosition(const X, Y, Z: Single; var rci: TGLRenderContextInfo);
Protected procedure SetAlignment(const val: TAlignment);
Protected procedure SetBitmapFont(const val: TGLCustomBitmapFont);
Protected procedure SetLayout(const val: TTextLayout);
Protected procedure SetModulateColor(const val: TGLColor);
Protected procedure SetRotation(const val: Single);
Protected procedure SetText(const val: UnicodeString);

Properties

Published property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;

Controls the text alignment (horizontal). Possible values : taLeftJustify, taRightJustify, taCenter

Published property BitmapFont: TGLCustomBitmapFont read FBitmapFont write SetBitmapFont;

Refers the bitmap font to use. The referred bitmap font component stores and allows access to individual character bitmaps.

Published property Layout: TTextLayout read FLayout write SetLayout default tlTop;

Controls the text layout (vertical). Possible values : tlTop, tlCenter, tlBottom

Published property ModulateColor: TGLColor read FModulateColor write SetModulateColor;

Color modulation, can be used for fade in/out too.

Published property Rotation: Single read FRotation write SetRotation;

Rotation angle in degrees (2d).

Published property Text: UnicodeString read FText write SetText;

Text to render. Be aware that only the characters available in the bitmap font will be rendered. CR LF sequences are allowed.


GLSysHelp v.2.1: GLS.HUDObjects: Class TGLAbsoluteHUDText

Class TGLAbsoluteHUDText

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HUDObjects

Declaration

type TGLAbsoluteHUDText = class(TGLHUDText)

Description

Position (X, Y and X) is in absolute coordinates. This component converts them to screen coordinates and renderes text there.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLHUDText
  • TGLAbsoluteHUDText

Overview

Methods

Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Description

Methods

Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;


GLSysHelp v.2.1: GLS.HUDObjects: Class TGLResolutionIndependantHUDText

Class TGLResolutionIndependantHUDText

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.HUDObjects

Declaration

type TGLResolutionIndependantHUDText = class(TGLHUDText)

Description

Position (X and Y) is expected in a [0..1] range (from Screen size) This component converts this position to the actual screen position and renders the text there. This way a HUD text always appears to be in the the same place, regardless of the currect screen resolution. Note: this still does not solve the font scaling problem.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLHUDText
  • TGLResolutionIndependantHUDText

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;


GLSysHelp v.2.1: GLS.ImageUtils

Unit GLS.ImageUtils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.SysUtils
  • System.Classes
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Strings
  • GLS.TextureFormat
  • GLS.VectorGeometry
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TIntermediateFormat |
Class EGLImageUtils |

Functions and Procedures

function ImageBoxFilter(Value: Single): Single;
function ImageTriangleFilter(Value: Single): Single;
function ImageHermiteFilter(Value: Single): Single;
function ImageBellFilter(Value: Single): Single;
function ImageSplineFilter(Value: Single): Single;
function ImageLanczos3Filter(Value: Single): Single;
function ImageMitchellFilter(Value: Single): Single;
procedure ImageAlphaFromIntensity(var AColor: TIntermediateFormat);
procedure ImageAlphaSuperBlackTransparent(var AColor: TIntermediateFormat);
procedure ImageAlphaLuminance(var AColor: TIntermediateFormat);
procedure ImageAlphaLuminanceSqrt(var AColor: TIntermediateFormat);
procedure ImageAlphaOpaque(var AColor: TIntermediateFormat);
procedure ImageAlphaTopLeftPointColorTransparent(var AColor: TIntermediateFormat);
procedure ImageAlphaInverseLuminance(var AColor: TIntermediateFormat);
procedure ImageAlphaInverseLuminanceSqrt(var AColor: TIntermediateFormat);
procedure ImageAlphaBottomRightPointColorTransparent(var AColor: TIntermediateFormat);
procedure ConvertImage(const ASrc: Pointer; const ADst: Pointer; ASrcColorFormat, ADstColorFormat: Cardinal; ASrcDataType, ADstDataType: Cardinal; AWidth, AHeight: Integer);
procedure RescaleImage(const ASrc: Pointer; const ADst: Pointer; AColorFormat: Cardinal; ADataType: Cardinal; AFilter: TImageFilterFunction; ASrcWidth, ASrcHeight, ADstWidth, ADstHeight: Integer);
procedure Build2DMipmap(const ASrc: Pointer; const ADst: TPointerArray; AColorFormat: Cardinal; ADataType: Cardinal; AFilter: TImageFilterFunction; ASrcWidth, ASrcHeight: Integer);
procedure AlphaGammaBrightCorrection(const ASrc: Pointer; AColorFormat: Cardinal; ADataType: Cardinal; ASrcWidth, ASrcHeight: Integer; anAlphaProc: TImageAlphaProc; ABrightness: Single; AGamma: Single);

Types

PIntermediateFormatArray = ˆTIntermediateFormatArray;
PRGBA32F = ˆTIntermediateFormat;
T48BitBlock = array [0 .. 3, 0 .. 3] of SmallInt;
TImageAlphaProc = procedure(var AColor: TIntermediateFormat);
TImageFilterFunction = function(Value: Single): Single;
TIntermediateFormatArray = array [0 .. MaxInt div (2 * SizeOf(TIntermediateFormat))] of TIntermediateFormat;
TPointerArray = array of Pointer;
TU48BitBlock = array [0 .. 3, 0 .. 3] of Byte;

Variables

vImageScaleFilterWidth: Integer = 5;

Description

Functions and Procedures

function ImageBoxFilter(Value: Single): Single;
function ImageTriangleFilter(Value: Single): Single;
function ImageHermiteFilter(Value: Single): Single;
function ImageBellFilter(Value: Single): Single;
function ImageSplineFilter(Value: Single): Single;
function ImageLanczos3Filter(Value: Single): Single;
function ImageMitchellFilter(Value: Single): Single;
procedure ImageAlphaFromIntensity(var AColor: TIntermediateFormat);
procedure ImageAlphaSuperBlackTransparent(var AColor: TIntermediateFormat);
procedure ImageAlphaLuminance(var AColor: TIntermediateFormat);
procedure ImageAlphaLuminanceSqrt(var AColor: TIntermediateFormat);
procedure ImageAlphaOpaque(var AColor: TIntermediateFormat);
procedure ImageAlphaTopLeftPointColorTransparent(var AColor: TIntermediateFormat);
procedure ImageAlphaInverseLuminance(var AColor: TIntermediateFormat);
procedure ImageAlphaInverseLuminanceSqrt(var AColor: TIntermediateFormat);
procedure ImageAlphaBottomRightPointColorTransparent(var AColor: TIntermediateFormat);
procedure ConvertImage(const ASrc: Pointer; const ADst: Pointer; ASrcColorFormat, ADstColorFormat: Cardinal; ASrcDataType, ADstDataType: Cardinal; AWidth, AHeight: Integer);
procedure RescaleImage(const ASrc: Pointer; const ADst: Pointer; AColorFormat: Cardinal; ADataType: Cardinal; AFilter: TImageFilterFunction; ASrcWidth, ASrcHeight, ADstWidth, ADstHeight: Integer);
procedure Build2DMipmap(const ASrc: Pointer; const ADst: TPointerArray; AColorFormat: Cardinal; ADataType: Cardinal; AFilter: TImageFilterFunction; ASrcWidth, ASrcHeight: Integer);
procedure AlphaGammaBrightCorrection(const ASrc: Pointer; AColorFormat: Cardinal; ADataType: Cardinal; ASrcWidth, ASrcHeight: Integer; anAlphaProc: TImageAlphaProc; ABrightness: Single; AGamma: Single);

Types

PIntermediateFormatArray = ˆTIntermediateFormatArray;
PRGBA32F = ˆTIntermediateFormat;
T48BitBlock = array [0 .. 3, 0 .. 3] of SmallInt;
TImageAlphaProc = procedure(var AColor: TIntermediateFormat);
TImageFilterFunction = function(Value: Single): Single;
TIntermediateFormatArray = array [0 .. MaxInt div (2 * SizeOf(TIntermediateFormat))] of TIntermediateFormat;
TPointerArray = array of Pointer;
TU48BitBlock = array [0 .. 3, 0 .. 3] of Byte;

Variables

vImageScaleFilterWidth: Integer = 5;


GLSysHelp v.2.1: GLS.ImageUtils: Record TIntermediateFormat

Record TIntermediateFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ImageUtils

Declaration

type TIntermediateFormat = record

Description

Relative sample radius for filtering

Overview

Fields

Public | R: Single;
Public | G: Single;
Public | B: Single;
Public | A: Single;

Description

Fields

Public R: Single;
Public G: Single;
Public B: Single;
Public A: Single;


GLSysHelp v.2.1: GLS.ImageUtils: Class EGLImageUtils

Class EGLImageUtils

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ImageUtils

Declaration

type EGLImageUtils = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLImageUtils


GLSysHelp v.2.1: GLS.Imposter

Unit GLS.Imposter

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Types
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Context
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.Graphics
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.Coordinates
  • GLS.BaseClasses
  • GLS.State
  • GLS.TextureFormat
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TImposter |
Class TGLImposterBuilder |
Class TGLStaticImposterBuilderCorona |
Record TCoronaTangentLookup |
Class TGLStaticImposterBuilderCoronas |
Class TStaticImposter |
Class TGLStaticImposterBuilder |
Class TGLDynamicImposterBuilder |
Class TGLImposter |

Types

TImposterLoadedEvent = procedure (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter) of object;
TImposterOption = (...);
TImposterOptions = set of TImposterOption;
TImposterReference = (...);
TLoadingImposterEvent = function (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter) : TGLBitmap32 of object;
TSIBLigthing = (...);

Constants

cDefaultImposterOptions = [impoBlended, impoAlphaTest];

Description

Types

TImposterLoadedEvent = procedure (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter) of object;

Used CPPB procedure instead of Delphi function TLoadingImposterEvent = procedure (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter; var result : TGLBitmap32) of object;

TImposterOption = (...);

Imposter rendering options. Following options are supported: impoBlended : the imposters are transparently blended during renders, this will smooth their edges but requires them to be rendered sorted from back to front impoAlphaTest : alpha test is used to eliminate transparent pixels, the alpha treshold is adjusted by the AlphaTreshold property impoNearestFiltering : use nearest texture filtering (the alternative is linear filtering) impoPerspectiveCorrection : activates a special imposter rendering projection suitable for distorting the sprites when seen from a level angle of view with a wide focal camera (think trees/grass when walking in a forest), if not active, the imposter sprites are camera-facing

Values
  • impoBlended
  • impoAlphaTest
  • impoNearestFiltering
  • impoPerspectiveCorrection
TImposterOptions = set of TImposterOption;
TImposterReference = (...);
Values
  • irCenter
  • irTop
  • irBottom
TLoadingImposterEvent = function (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter) : TGLBitmap32 of object;

Imposter loading events

TSIBLigthing = (...);
Values
  • siblNoLighting
  • siblStaticLighting
  • siblLocalLighting

Constants

cDefaultImposterOptions = [impoBlended, impoAlphaTest];


GLSysHelp v.2.1: GLS.Imposter: Class TImposter

Class TImposter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TImposter = class(TObject)

Description

Base class for imposters manipulation and handling. Rendering imposters is performed by three methods, BeginRender must be invoked first, then Render for each of the impostr This class assumes a single impostor per texture.

Note: Remeber to enable Destination Alpha on your viewer.

Hierarchy

  • TObject
  • TImposter

Overview

Fields

Private | FRequestCount: Integer;
Private | FBuilder: TGLImposterBuilder;
Private | FTexture: TGLTextureHandle;
Private | FImpostoredObject: TGLBaseSceneObject;
Private | FAspectRatio: Single;
Private | FModulated: Boolean;
Protected | FVx: TGLVector;
Protected | FVy: TGLVector;
Protected | FStaticOffset: TGLVector;
Protected | FQuad: array[0..3] of TGLVector;
Protected | FStaticScale: Single;

Methods

Public | constructor Create(aBuilder: TGLImposterBuilder); virtual;
Public | destructor Destroy; override;
Public | procedure BeginRender(var rci: TGLRenderContextInfo); virtual;
Public | procedure EndRender(var rci: TGLRenderContextInfo); virtual;
Public | procedure Render(var rci: TGLRenderContextInfo; const objPos, localCameraPos: TGLVector; size: Single); virtual;
Public | procedure RenderOnce(var rci: TGLRenderContextInfo; const objPos, localCameraPos: TGLVector; size: Single);
Protected | procedure PrepareTexture(var rci: TGLRenderContextInfo); virtual;
Protected | procedure RenderQuad(const texExtents, objPos: TGLVector; size: Single);

Properties

Public | property AspectRatio: Single read FAspectRatio write FAspectRatio;
Public | property Builder: TGLImposterBuilder read FBuilder;
Public | property ImpostoredObject: TGLBaseSceneObject read FImpostoredObject write FImpostoredObject;
Public | property Modulated: Boolean read FModulated write FModulated;
Public | property Texture: TGLTextureHandle read FTexture;

Description

Fields

Private FRequestCount: Integer;
Private FBuilder: TGLImposterBuilder;
Private FTexture: TGLTextureHandle;
Private FImpostoredObject: TGLBaseSceneObject;
Private FAspectRatio: Single;
Private FModulated: Boolean;
Protected FVx: TGLVector;
Protected FVy: TGLVector;
Protected FStaticOffset: TGLVector;
Protected FQuad: array[0..3] of TGLVector;
Protected FStaticScale: Single;

Methods

Public constructor Create(aBuilder: TGLImposterBuilder); virtual;
Public destructor Destroy; override;
Public procedure BeginRender(var rci: TGLRenderContextInfo); virtual;
Public procedure EndRender(var rci: TGLRenderContextInfo); virtual;
Public procedure Render(var rci: TGLRenderContextInfo; const objPos, localCameraPos: TGLVector; size: Single); virtual;
Public procedure RenderOnce(var rci: TGLRenderContextInfo; const objPos, localCameraPos: TGLVector; size: Single);
Protected procedure PrepareTexture(var rci: TGLRenderContextInfo); virtual;
Protected procedure RenderQuad(const texExtents, objPos: TGLVector; size: Single);

Properties

Public property AspectRatio: Single read FAspectRatio write FAspectRatio;
Public property Builder: TGLImposterBuilder read FBuilder;
Public property ImpostoredObject: TGLBaseSceneObject read FImpostoredObject write FImpostoredObject;
Public property Modulated: Boolean read FModulated write FModulated;
Public property Texture: TGLTextureHandle read FTexture;


GLSysHelp v.2.1: GLS.Imposter: Class TGLImposterBuilder

Class TGLImposterBuilder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TGLImposterBuilder = class(TGLUpdateAbleComponent)

Description

Abstract ImposterBuilder class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLImposterBuilder

Overview

Fields

Private | FBackColor: TGLColor;
Private | FBuildOffset: TGLCoordinates;
Private | FImposterRegister: TPersistentObjectList;
Private | FRenderPoint: TGLRenderPoint;
Private | FImposterOptions: TImposterOptions;
Private | FAlphaTreshold: Single;
Private | FImposterReference: TImposterReference;
Private | FOnLoadingImposter: TLoadingImposterEvent;
Private | FOnImposterLoaded: TImposterLoadedEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ImposterFor(impostoredObject: TGLBaseSceneObject): TImposter;
Protected | function CreateNewImposter: TImposter; virtual;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure RequestImposterFor(impostoredObject: TGLBaseSceneObject);
Public | procedure UnRequestImposterFor(impostoredObject: TGLBaseSceneObject);
Protected | procedure DoPrepareImposter(var rci: TGLRenderContextInfo; impostoredObject: TGLBaseSceneObject; destImposter: TImposter); virtual; abstract;
Protected | procedure DoUserSpecifiedImposter( var rci: TGLRenderContextInfo; destImposter: TImposter; bmp32: TGLBitmap32); virtual;
Protected | procedure InitializeImpostorTexture(const TextureSize: TPoint);
Protected | procedure PrepareImposters(Sender: TObject; var rci: TGLRenderContextInfo); virtual;
Protected | procedure RenderPointFreed(Sender: TObject);
Protected | procedure SetBackColor(AValue: TGLColor);
Protected | procedure SetBuildOffset(AValue: TGLCoordinates);
Protected | procedure SetImposterReference(AValue: TImposterReference);
Protected | procedure SetRenderPoint(AValue: TGLRenderPoint);
Protected | procedure UnregisterImposter(imposter: TImposter);

Properties

Published | property AlphaTreshold: Single read FAlphaTreshold write FAlphaTreshold;
Published | property BackColor: TGLColor read FBackColor write SetBackColor;
Published | property BuildOffset: TGLCoordinates read FBuildOffset write SetBuildOffset;
Published | property ImposterOptions: TImposterOptions read FImposterOptions write FImposterOptions default cDefaultImposterOptions;
Published | property ImposterReference: TImposterReference read FImposterReference write SetImposterReference default irCenter;
Protected | property ImposterRegister: TPersistentObjectList read FImposterRegister;
Published | property OnImposterLoaded: TImposterLoadedEvent read FOnImposterLoaded write FOnImposterLoaded;
Published | property OnLoadingImposter: TLoadingImposterEvent read FOnLoadingImposter write FOnLoadingImposter;
Published | property RenderPoint: TGLRenderPoint read FRenderPoint write SetRenderPoint;

Description

Fields

Private FBackColor: TGLColor;
Private FBuildOffset: TGLCoordinates;
Private FImposterRegister: TPersistentObjectList;
Private FRenderPoint: TGLRenderPoint;
Private FImposterOptions: TImposterOptions;
Private FAlphaTreshold: Single;
Private FImposterReference: TImposterReference;
Private FOnLoadingImposter: TLoadingImposterEvent;
Private FOnImposterLoaded: TImposterLoadedEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function ImposterFor(impostoredObject: TGLBaseSceneObject): TImposter;

Returns a valid imposter for the specified object. Imposter must have been requested first, and the builder given an opportunity to prepare it before it can be available.

Protected function CreateNewImposter: TImposter; virtual;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure RequestImposterFor(impostoredObject: TGLBaseSceneObject);

Request an imposter to be prepared for the specified object.

Public procedure UnRequestImposterFor(impostoredObject: TGLBaseSceneObject);

Tells the imposter for the specified object is no longer needed.

Protected procedure DoPrepareImposter(var rci: TGLRenderContextInfo; impostoredObject: TGLBaseSceneObject; destImposter: TImposter); virtual; abstract;
Protected procedure DoUserSpecifiedImposter( var rci: TGLRenderContextInfo; destImposter: TImposter; bmp32: TGLBitmap32); virtual;
Protected procedure InitializeImpostorTexture(const TextureSize: TPoint);
Protected procedure PrepareImposters(Sender: TObject; var rci: TGLRenderContextInfo); virtual;
Protected procedure RenderPointFreed(Sender: TObject);
Protected procedure SetBackColor(AValue: TGLColor);
Protected procedure SetBuildOffset(AValue: TGLCoordinates);
Protected procedure SetImposterReference(AValue: TImposterReference);
Protected procedure SetRenderPoint(AValue: TGLRenderPoint);
Protected procedure UnregisterImposter(imposter: TImposter);

Properties

Published property AlphaTreshold: Single read FAlphaTreshold write FAlphaTreshold;

Alpha testing teshold.

Published property BackColor: TGLColor read FBackColor write SetBackColor;

Background color for impostor rendering. Typically, you'll want to leave the alpha channel to zero, and pick as RGB as color that matches the impostor'ed objects edge colors most.

Published property BuildOffset: TGLCoordinates read FBuildOffset write SetBuildOffset;

Offset applied to the impostor'ed object during imposter construction. Can be used to manually tune the centering of objects.

Published property ImposterOptions: TImposterOptions read FImposterOptions write FImposterOptions default cDefaultImposterOptions;

Imposter rendering options.

Published property ImposterReference: TImposterReference read FImposterReference write SetImposterReference default irCenter;

Determines how the imposter are handled. This is the reference point for imposters, impostor'ed objects that are centered should use irCenter, those whose bottom is the origin should use irBottom, etc.

Protected property ImposterRegister: TPersistentObjectList read FImposterRegister;
Published property OnImposterLoaded: TImposterLoadedEvent read FOnImposterLoaded write FOnImposterLoaded;

Event fired after preparing/loading an imposter. This events gives an opportunity to save the imposter after it has been loaded or prepared.

Published property OnLoadingImposter: TLoadingImposterEvent read FOnLoadingImposter write FOnLoadingImposter;

Event fired before preparing/loading an imposter. If an already prepared version of the importer is available, place it in the TGLBitmap32 the event shall return (the bitmap will be freed by the imposter builder). If a bitmap is specified, it will be used in place of what automatic generation could have generated.

Published property RenderPoint: TGLRenderPoint read FRenderPoint write SetRenderPoint;

Specifies the render point at which the impostor texture(s) can be prepared. For best result, the render point should happen in viewer that has a destination alpha (otherwise, impostors will be opaque).


GLSysHelp v.2.1: GLS.Imposter: Class TGLStaticImposterBuilderCorona

Class TGLStaticImposterBuilderCorona

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TGLStaticImposterBuilderCorona = class(TCollectionItem)

Description

Describes a set of orientation in a corona fashion.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLStaticImposterBuilderCorona

Overview

Fields

Private | FSamples: Integer;
Private | FElevation: Single;
Private | FSampleBaseIndex: Integer;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetElevation(AValue: Single);
Protected | procedure SetSamples(AValue: Integer);

Properties

Published | property Elevation: Single read FElevation write SetElevation;
Published | property Samples: Integer read FSamples write SetSamples default 8;

Description

Fields

Private FSamples: Integer;
Private FElevation: Single;
Private FSampleBaseIndex: Integer;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetElevation(AValue: Single);
Protected procedure SetSamples(AValue: Integer);

Properties

Published property Elevation: Single read FElevation write SetElevation;
Published property Samples: Integer read FSamples write SetSamples default 8;


GLSysHelp v.2.1: GLS.Imposter: Record TCoronaTangentLookup

Record TCoronaTangentLookup

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TCoronaTangentLookup = record

Description

Overview

Fields

Public | minTan: Single;
Public | maxTan: Single;
Public | corona: TGLStaticImposterBuilderCorona;

Description

Fields

Public minTan: Single;
Public maxTan: Single;
Public corona: TGLStaticImposterBuilderCorona;


GLSysHelp v.2.1: GLS.Imposter: Class TGLStaticImposterBuilderCoronas

Class TGLStaticImposterBuilderCoronas

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TGLStaticImposterBuilderCoronas = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLStaticImposterBuilderCoronas

Overview

Fields

Private FCoronaTangentLookup: array of TCoronaTangentLookup;

Methods

Public | constructor Create(AOwner: TPersistent);
Public | function Add: TGLStaticImposterBuilderCorona; overload;
Public | function Add(const elevation: Single; samples: Integer): TGLStaticImposterBuilderCorona; overload;
Public | function SampleCount: Integer;
Protected | function CoronaForElevationTangent(aTangent: Single): TGLStaticImposterBuilderCorona;
Protected | function GetItems(AIndex: Integer): TGLStaticImposterBuilderCorona;
Public | procedure EndUpdate; override;
Public | procedure NotifyChange; virtual;
Protected | procedure PrepareCoronaTangentLookup;
Protected | procedure PrepareSampleBaseIndices;
Protected | procedure SetItems(AIndex: Integer; const AValue: TGLStaticImposterBuilderCorona);
Protected | procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[AIndex:Integer]: TGLStaticImposterBuilderCorona read GetItems write SetItems;

Description

Fields

Private FCoronaTangentLookup: array of TCoronaTangentLookup;

Methods

Public constructor Create(AOwner: TPersistent);
Public function Add: TGLStaticImposterBuilderCorona; overload;
Public function Add(const elevation: Single; samples: Integer): TGLStaticImposterBuilderCorona; overload;
Public function SampleCount: Integer;
Protected function CoronaForElevationTangent(aTangent: Single): TGLStaticImposterBuilderCorona;
Protected function GetItems(AIndex: Integer): TGLStaticImposterBuilderCorona;
Public procedure EndUpdate; override;
Public procedure NotifyChange; virtual;
Protected procedure PrepareCoronaTangentLookup;
Protected procedure PrepareSampleBaseIndices;
Protected procedure SetItems(AIndex: Integer; const AValue: TGLStaticImposterBuilderCorona);
Protected procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[AIndex:Integer]: TGLStaticImposterBuilderCorona read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Imposter: Class TStaticImposter

Class TStaticImposter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TStaticImposter = class(TImposter)

Description

Imposter class whose texture contains several views from different angles.

Hierarchy

  • TObject
  • TImposter
  • TStaticImposter

Overview

Methods

Public procedure Render(var rci: TGLRenderContextInfo; const objPos, localCameraPos: TGLVector; size: Single); override;

Description

Methods

Public procedure Render(var rci: TGLRenderContextInfo; const objPos, localCameraPos: TGLVector; size: Single); override;


GLSysHelp v.2.1: GLS.Imposter: Class TGLStaticImposterBuilder

Class TGLStaticImposterBuilder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TGLStaticImposterBuilder = class(TGLImposterBuilder)

Description

Builds imposters whose texture is a catalog of prerendered views.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLImposterBuilder
  • TGLStaticImposterBuilder

Overview

Fields

Private | FCoronas: TGLStaticImposterBuilderCoronas;
Private | FSampleSize: Integer;
Private | FTextureSize: TPoint;
Private | FSamplesPerAxis: TPoint;
Private | FInvSamplesPerAxis: TVector2f;
Private | FSamplingRatioBias: Single;
Private | FInvSamplingRatioBias: Single;
Private | FLighting: TSIBLigthing;
Private | FSamplesAlphaScale: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function TextureFillRatio: Single;
Protected | function ComputeOptimalTextureSize: TPoint;
Protected | function CreateNewImposter: TImposter; override;
Protected | function GetTextureSizeInfo: string;
Protected | function StoreSamplesAlphaScale: Boolean;
Protected | function StoreSamplingRatioBias: Boolean;
Public | procedure Render(var rci: TGLRenderContextInfo; impostoredObject: TGLBaseSceneObject; destImposter: TImposter);
Protected | procedure ComputeStaticParams(destImposter: TImposter);
Protected | procedure DoPrepareImposter(var rci: TGLRenderContextInfo; impostoredObject: TGLBaseSceneObject; destImposter: TImposter); override;
Protected | procedure DoUserSpecifiedImposter( var rci: TGLRenderContextInfo; destImposter: TImposter; bmp32: TGLBitmap32); override;
Protected | procedure SetCoronas(AValue: TGLStaticImposterBuilderCoronas);
Protected | procedure SetLighting(AValue: TSIBLigthing);
Protected | procedure SetSamplesAlphaScale(AValue: Single);
Protected | procedure SetSampleSize(AValue: Integer);
Protected | procedure SetSamplingRatioBias(AValue: Single);
Protected | procedure SetTextureSizeInfo(const texSize: string);

Properties

Published | property Coronas: TGLStaticImposterBuilderCoronas read FCoronas write SetCoronas;
Published | property Lighting: TSIBLigthing read FLighting write FLighting default siblStaticLighting;
Published | property SamplesAlphaScale: Single read FSamplesAlphaScale write SetSamplesAlphaScale stored StoreSamplesAlphaScale;
Published | property SampleSize: Integer read FSampleSize write SetSampleSize default 32;
Public | property SamplesPerAxis: TPoint read FSamplesPerAxis;
Published | property SamplingRatioBias: Single read FSamplingRatioBias write SetSamplingRatioBias stored StoreSamplingRatioBias;
Public | property TextureSize: TPoint read FTextureSize;
Published | property TextureSizeInfo: string read GetTextureSizeInfo write SetTextureSizeInfo stored False;

Description

Fields

Private FCoronas: TGLStaticImposterBuilderCoronas;
Private FSampleSize: Integer;
Private FTextureSize: TPoint;
Private FSamplesPerAxis: TPoint;
Private FInvSamplesPerAxis: TVector2f;
Private FSamplingRatioBias: Single;
Private FInvSamplingRatioBias: Single;
Private FLighting: TSIBLigthing;
Private FSamplesAlphaScale: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function TextureFillRatio: Single;

Ratio (0..1) of the texture that will be used by samples. If this value is below 1, you're wasting texture space and may as well increase the number of samples.

Protected function ComputeOptimalTextureSize: TPoint;

Computes the optimal texture size that would be able to hold all samples.

Protected function CreateNewImposter: TImposter; override;
Protected function GetTextureSizeInfo: string;
Protected function StoreSamplesAlphaScale: Boolean;
Protected function StoreSamplingRatioBias: Boolean;
Public procedure Render(var rci: TGLRenderContextInfo; impostoredObject: TGLBaseSceneObject; destImposter: TImposter);

Render imposter texture. Buffer and object must be compatible, RC must have been activated.

Protected procedure ComputeStaticParams(destImposter: TImposter);
Protected procedure DoPrepareImposter(var rci: TGLRenderContextInfo; impostoredObject: TGLBaseSceneObject; destImposter: TImposter); override;
Protected procedure DoUserSpecifiedImposter( var rci: TGLRenderContextInfo; destImposter: TImposter; bmp32: TGLBitmap32); override;
Protected procedure SetCoronas(AValue: TGLStaticImposterBuilderCoronas);
Protected procedure SetLighting(AValue: TSIBLigthing);
Protected procedure SetSamplesAlphaScale(AValue: Single);
Protected procedure SetSampleSize(AValue: Integer);
Protected procedure SetSamplingRatioBias(AValue: Single);
Protected procedure SetTextureSizeInfo(const texSize: string);

Properties

Published property Coronas: TGLStaticImposterBuilderCoronas read FCoronas write SetCoronas;

Description of the samples looking orientations.

Published property Lighting: TSIBLigthing read FLighting write FLighting default siblStaticLighting;

Lighting mode to apply during samples construction.

Published property SamplesAlphaScale: Single read FSamplesAlphaScale write SetSamplesAlphaScale stored StoreSamplesAlphaScale;

Scale factor apply to the sample alpha channel. Main use is to saturate the samples alpha channel, and make fully opaque what would have been partially transparent, while leaving fully transparent what was fully transparent.

Published property SampleSize: Integer read FSampleSize write SetSampleSize default 32;

Size of the imposter samples (square).

Public property SamplesPerAxis: TPoint read FSamplesPerAxis;
Published property SamplingRatioBias: Single read FSamplingRatioBias write SetSamplingRatioBias stored StoreSamplingRatioBias;

Size ratio applied to the impostor'ed objects during sampling. Values greater than one can be used to "fill" the samples more by scaling up the object. This is especially useful when the impostor'ed object doesn't fill its bounding sphere, and/or if the outer details are not relevant for impostoring.

Public property TextureSize: TPoint read FTextureSize;

Meaningful only after imposter texture has been prepared.

Published property TextureSizeInfo: string read GetTextureSizeInfo write SetTextureSizeInfo stored False;

Dummy property that returns the size of the imposter texture. This property is essentially here as a helper at design time, to give you the requirements your coronas and samplesize parameters imply.


GLSysHelp v.2.1: GLS.Imposter: Class TGLDynamicImposterBuilder

Class TGLDynamicImposterBuilder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TGLDynamicImposterBuilder = class(TGLImposterBuilder)

Description

No description available, ancestor TGLImposterBuilder description follows

Abstract ImposterBuilder class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLImposterBuilder
  • TGLDynamicImposterBuilder

Overview

Fields

Private | FMinTexSize: Integer;
Private | FMaxTexSize: Integer;
Private | FMinDistance: Single;
Private | FTolerance: Single;
Private | FUseMatrixError: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure SetMinDistance(const AValue: Single);

Properties

Published | property MaxTexSize: Integer read FMaxTexSize write FMaxTexSize;
Published | property MinDistance: Single read FMinDistance write SetMinDistance;
Published | property MinTexSize: Integer read FMinTexSize write FMinTexSize;
Published | property Tolerance: Single read FTolerance write FTolerance;
Published | property UseMatrixError: Boolean read FUseMatrixError write FUseMatrixError;

Description

Fields

Private FMinTexSize: Integer;
Private FMaxTexSize: Integer;
Private FMinDistance: Single;
Private FTolerance: Single;
Private FUseMatrixError: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure SetMinDistance(const AValue: Single);

Properties

Published property MaxTexSize: Integer read FMaxTexSize write FMaxTexSize;
Published property MinDistance: Single read FMinDistance write SetMinDistance;
Published property MinTexSize: Integer read FMinTexSize write FMinTexSize;

procedure DoRender(var rci : TGLRenderContextInfo; renderSelf, renderChildren : Boolean); override;

Published property Tolerance: Single read FTolerance write FTolerance;
Published property UseMatrixError: Boolean read FUseMatrixError write FUseMatrixError;


GLSysHelp v.2.1: GLS.Imposter: Class TGLImposter

Class TGLImposter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Imposter

Declaration

type TGLImposter = class(TGLImmaterialSceneObject)

Description

No description available, ancestor TGLImmaterialSceneObject description follows

Base class for objects that do not have a published "material". Note that the material is available in public properties, but isn't applied automatically before invoking BuildList. Subclassing should be reserved to structural objects and objects that have no material of their own.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLImposter

Overview

Fields

Private | FBuilder: TGLImposterBuilder;
Private | FImpostoredObject: TGLBaseSceneObject;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetBuilder(const AValue: TGLImposterBuilder);
Protected | procedure SetImpostoredObject(const AValue: TGLBaseSceneObject);

Properties

Published | property Builder: TGLImposterBuilder read FBuilder write SetBuilder;
Published | property ImpostoredObject: TGLBaseSceneObject read FImpostoredObject write SetImpostoredObject;

Description

Fields

Private FBuilder: TGLImposterBuilder;
Private FImpostoredObject: TGLBaseSceneObject;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetBuilder(const AValue: TGLImposterBuilder);
Protected procedure SetImpostoredObject(const AValue: TGLBaseSceneObject);

Properties

Published property Builder: TGLImposterBuilder read FBuilder write SetBuilder;
Published property ImpostoredObject: TGLBaseSceneObject read FImpostoredObject write SetImpostoredObject;


GLSysHelp v.2.1: GLS.Isolines

Unit GLS.Isolines

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Classes
  • System.Math
  • System.Generics.Collections
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.Objects
  • GLS.MultiPolygon
  • GLS.Coordinates
  • GLS.VectorTypesExt
  • GLS.Color
  • GLS.Spline
  • GLS.SpaceText
  • GLS.VectorTypes
  • GLS.VectorFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLIsoline |
Class TGLIsolines |

Functions and Procedures

procedure Initialize_Contouring(var DataGrid: TMatrixArr; NXpoints, NYpoints: integer; CurrentIsoline: Single);
procedure Release_Memory_Isoline;
function GetNextIsoline(var Isoline: TGLIsoline): Boolean;
procedure TriangleElevationSegments(const p1, p2, p3: TAffineVector; ElevationDelta: Single; Segments: TAffineVectorList);

Types

PGLIsoline = ˆTGLIsoline;
PVertex2DArr = ˆTVertex2DArr;
TByteMatrixArr = array of array of Byte;
TByteVectorArr = array of Byte;
TCastArray = array [0 .. 2, 0 .. 2, 0 .. 2] of Integer;
TGLIsolineState = (...);
TMatrixArr = array of array of Single;
TVectorArr = array of Single;
TVectorL4D = array [0 .. 4] of Single;
TVectorL4I = array [0 .. 4] of Integer;
TVertex2DArr = array [0 .. 32767] of TGLPoint2D;

Description

Functions and Procedures

procedure Initialize_Contouring(var DataGrid: TMatrixArr; NXpoints, NYpoints: integer; CurrentIsoline: Single);
procedure Release_Memory_Isoline;
function GetNextIsoline(var Isoline: TGLIsoline): Boolean;
procedure TriangleElevationSegments(const p1, p2, p3: TAffineVector; ElevationDelta: Single; Segments: TAffineVectorList);

Defines contouring segments inside a triangle using elevations

Types

PGLIsoline = ˆTGLIsoline;
PVertex2DArr = ˆTVertex2DArr;
TByteMatrixArr = array of array of Byte;
TByteVectorArr = array of Byte;
TCastArray = array [0 .. 2, 0 .. 2, 0 .. 2] of Integer;
TGLIsolineState = (...);
Values
  • ilsEmpty
  • ilsCalculating
  • ilsReady
TMatrixArr = array of array of Single;
TVectorArr = array of Single;
TVectorL4D = array [0 .. 4] of Single;
TVectorL4I = array [0 .. 4] of Integer;
TVertex2DArr = array [0 .. 32767] of TGLPoint2D;


GLSysHelp v.2.1: GLS.Isolines: Class TGLIsoline

Class TGLIsoline

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Isolines

Declaration

type TGLIsoline = class(TObject)

Description

Hierarchy

  • TObject
  • TGLIsoline

Overview

Fields

Public | NP: Integer;
Public | Line: PVertex2DArr;

Methods

Public | constructor Create(LineSize: integer); virtual;
Public | destructor Destroy; override;

Description

Fields

Public NP: Integer;
Public Line: PVertex2DArr;

Methods

Public constructor Create(LineSize: integer); virtual;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.Isolines: Class TGLIsolines

Class TGLIsolines

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Isolines

Declaration

type TGLIsolines = class(TGLLines)

Description

No description available, ancestor TGLLines description follows

Set of 3D line segments. You define a 3D Line by adding its nodes in the "Nodes" property. The line may be rendered as a set of segment or as a curve (nodes then act as spline control points). Alternatively, you can also use it to render a set of spacial nodes (points in space), just make the lines transparent and the nodes visible by picking the node aspect that suits you.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLLineBase
  • TGLNodedLines
  • TGLLines
  • TGLIsolines

Overview

Fields

Public | IsoVertex: TAffineVector;
Public | GLSpaceTextSF: array of TGLSpaceText;
Private | CoordRange: Integer;
Private | LineList: TList;
Private | IsolineState: TGLIsolineState;

Methods

Public | constructor Create(AOwner: TComponent); virtual;
Public | destructor Destroy; override;
Public | procedure Conrec(PlaneSFindex:Integer; PlaneSF: TGLFreeForm; Data: TMatrixArr; ilb, iub, jlb, jub: Integer; X: TVectorArr; Y: TVectorArr; NC: Integer; HgtL: TVectorArr; Z_Kfix: Single; res3Dmax, res3Dmin: Single);
Public | procedure FreeList;
Public | procedure MakeIsolines(var Depths: TMatrixArr; bmSize: Integer; StartDepth, EndDepth: Single; Interval: Integer);

Description

Fields

Public IsoVertex: TAffineVector;
Public GLSpaceTextSF: array of TGLSpaceText;
Private CoordRange: Integer;
Private LineList: TList;
Private IsolineState: TGLIsolineState;

Methods

Public constructor Create(AOwner: TComponent); virtual;
Public destructor Destroy; override;
Public procedure Conrec(PlaneSFindex:Integer; PlaneSF: TGLFreeForm; Data: TMatrixArr; ilb, iub, jlb, jub: Integer; X: TVectorArr; Y: TVectorArr; NC: Integer; HgtL: TVectorArr; Z_Kfix: Single; res3Dmax, res3Dmin: Single);

CONREC is a contouring routine for rectangular spaced data or regular 2D grids It takes each rectangle of adjacent data points and splits it into 4 triangles after choosing the height at the centre of the rectangle. For each of the triangles the line segment resulting from the intersection with each contour plane. A routine is then called with the starting and stopping coordinates of the line segment that make up a contour curve and then output these isolines. See details in http://paulbourke.net/papers/conrec/

The input parameters are as follows : PlaneSFindex - PlaneSF - Data - Scalar field in 2D grid ilb - lower bound in west - east direction iub - upper bound in west - east direction jlb - lower bound in north - south direction jub upper bound in north - south direction X - coord. vector for west - east Y - coord. vector for north - south NC - number of cut levels HgtL - values of cut levels Z_Kfix - res3Dmin -

Public procedure FreeList;
Public procedure MakeIsolines(var Depths: TMatrixArr; bmSize: Integer; StartDepth, EndDepth: Single; Interval: Integer);


GLSysHelp v.2.1: GLS.Isosurface

Unit GLS.Isosurface

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.Mesh
  • GLS.VectorFileObjects
  • GLS.VectorTypes
  • GLS.VectorTypesExt

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMarchingCube |
Class TIsoSurfaceExtractor |

Functions and Procedures

function SFSphere(X, Y, Z: Extended): TGLScalarValue;
function SFMinkowski(X, Y, Z: Extended): TGLScalarValue;
function SFKleinBottle(X, Y, Z: Extended): TGLScalarValue;
function SFChmutov1(X, Y, Z: Extended): TGLScalarValue;
function SFChmutov2(X, Y, Z: Extended): TGLScalarValue;
function SFToroidal(X, Y, Z: Extended): TGLScalarValue;
function SFDoubleTorus(X, Y, Z: Extended): TGLScalarValue;

Types

TIntegerArray = array of Integer;
TSingle3DArray = array of array of array of Single;
TVertexArray = array of TVector3f;

Constants

ALLOC_SIZE = 65536;
DemoScalarField: array [0 .. 6] of record ScalarField: TGLScalarField; IsoValue: TGLScalarValue end = ((ScalarField: SFSphere; IsoValue: 0.3), (ScalarField: SFMinkowski; IsoValue: 0.0), (ScalarField: SFKleinBottle; IsoValue: 0.0), (ScalarField: SFChmutov1; IsoValue: 3.0), (ScalarField: SFChmutov2; IsoValue: 3.0), (ScalarField: SFToroidal; IsoValue: 3.0), (ScalarField: SFDoubleTorus; IsoValue: 0.015));

Description

Functions and Procedures

function SFSphere(X, Y, Z: Extended): TGLScalarValue;

Sphere surface

function SFMinkowski(X, Y, Z: Extended): TGLScalarValue;

Minkowski space (http://mathworld.wolfram.com)

function SFKleinBottle(X, Y, Z: Extended): TGLScalarValue;

Klein Bottle (http://mathworld.wolfram.com)

function SFChmutov1(X, Y, Z: Extended): TGLScalarValue;

Chmutov-surface-1 (http://mathworld.wolfram.com)

function SFChmutov2(X, Y, Z: Extended): TGLScalarValue;

Chmutov-surface-2 (http://mathworld.wolfram.com)

function SFToroidal(X, Y, Z: Extended): TGLScalarValue;

Toroidal surface (phantasy!)

function SFDoubleTorus(X, Y, Z: Extended): TGLScalarValue;

Double torus Surface (phantasy!)

Types

TIntegerArray = array of Integer;
TSingle3DArray = array of array of array of Single;
TVertexArray = array of TVector3f;

Constants

ALLOC_SIZE = 65536;
DemoScalarField: array [0 .. 6] of record ScalarField: TGLScalarField; IsoValue: TGLScalarValue end = ((ScalarField: SFSphere; IsoValue: 0.3), (ScalarField: SFMinkowski; IsoValue: 0.0), (ScalarField: SFKleinBottle; IsoValue: 0.0), (ScalarField: SFChmutov1; IsoValue: 3.0), (ScalarField: SFChmutov2; IsoValue: 3.0), (ScalarField: SFToroidal; IsoValue: 3.0), (ScalarField: SFDoubleTorus; IsoValue: 0.015));


GLSysHelp v.2.1: GLS.Isosurface: Class TGLMarchingCube

Class TGLMarchingCube

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Isosurface

Declaration

type TGLMarchingCube = class(TObject)

Description

Hierarchy

  • TObject
  • TGLMarchingCube

Overview

Fields

Private | FIsoValue: TGLScalarValue;
Private | PVertsX: PIntegerArray;
Private | PVertsY: PIntegerArray;
Private | PVertsZ: PIntegerArray;
Private | _Nverts: Integer;
Private | _Ntrigs: Integer;
Private | _Sverts: Integer;
Private | _Strigs: Integer;
Private | PVertices: PGLVertArray;
Private | PTriangles: PGLTrianRecArray;
Private | _i: Longword;
Private | _j: Longword;
Private | _k: Longword;
Private | _Cube: array [0 .. 7] of TGLVoxel;
Private | _lut_entry: Byte;
Protected | FOriginalMC: Boolean;
Protected | FSizeX: Integer;
Protected | FSizeY: Integer;
Protected | FSizeZ: Integer;
Protected | FxMin: Single;
Protected | FxMax: Single;
Protected | FyMin: Single;
Protected | FyMax: Single;
Protected | FzMin: Single;
Protected | FzMax: Single;
Protected | FStepX: Single;
Protected | FStepY: Single;
Protected | FStepZ: Single;
Protected | VoxelData: PGLVoxelData;
Public | ScalarField: TGLScalarField;

Methods

Public | constructor Create(SizeX, SizeY, SizeZ: Integer; AIsoValue: TGLScalarValue = 0.0; xMin: Single = -0.5; xMax: Single = 0.5; yMin: Single = -0.5; yMax: Single = 0.5; zMin: Single = -0.5; zMax: Single = 0.5); overload; virtual;
Public | constructor Create; overload; virtual;
Public | destructor Destroy; override;
Public | function Internal(AValue: TGLScalarValue): Boolean; virtual;
Protected | function Add_c_vertex: Integer;
Protected | function Add_x_vertex: Integer;
Protected | function Add_y_vertex: Integer;
Protected | function Add_z_vertex: Integer;
Protected | function calc_u(v1, v2: Single): Extended; virtual;
Protected | function GetVoxelData(i, j, k: Integer): TGLVoxel;
Protected | function GetVoxelValue(i, j, k: Integer): TGLScalarValue;
Protected | function Get_x_grad(i, j, k: Integer): Single;
Protected | function Get_x_vert(i, j, k: Integer): Integer;
Protected | function Get_y_grad(i, j, k: Integer): Single;
Protected | function Get_y_vert(i, j, k: Integer): Integer;
Protected | function Get_z_grad(i, j, k: Integer): Single;
Protected | function Get_z_vert(i, j, k: Integer): Integer;
Protected | function Voxel(i, j, k: Integer): PGLVoxel;
Public | procedure CalcMeshObject(AMeshObject: TGLMeshObject; Alpha: Single = 1);
Public | procedure CalcVertices(Vertices: TGLVertexList; Alpha: Single = 1);
Public | procedure FillVoxelData(AIsoValue: TGLScalarValue; AScalarField: TGLScalarField = nil); overload; virtual;
Public | procedure FillVoxelData; overload; virtual;
Public | procedure FillVoxelData(AIsoValue: TGLScalarValue; AScalarField: TGLScalarFieldInt); overload; virtual;
Public | procedure ReDim(ASizeX, ASizeY, ASizeZ: Integer; xMin, xMax, yMin, yMax, zMin, zMax: Single); virtual;
Public | procedure Run; overload;
Public | procedure Run(IsoValue: TGLScalarValue); overload;
Protected | procedure Add_Triangle(trig: array of Integer; N: Byte; v12: Integer = -1);
Protected | procedure Compute_Intersection_Points;
Protected | procedure Process_cube;
Protected | procedure SetVoxelValue(i, j, k: Integer; HfValue: TGLScalarValue);
Protected | procedure Set_x_vert(a_val, i, j, k: Integer);
Protected | procedure Set_y_vert(a_val, i, j, k: Integer);
Protected | procedure Set_z_vert(a_val, i, j, k: Integer);
Private | procedure Clean_all(keepFacets: Boolean = False);
Private | procedure Clean_space;
Private | procedure Clean_temps;
Private | procedure Init_all;
Private | procedure Init_space;
Private | procedure Init_temps;
Private | procedure Test_vertex_addiction;

Properties

Public property IsoValue: TGLScalarValue read FIsoValue write FIsoValue;

Description

Fields

Private FIsoValue: TGLScalarValue;
Private PVertsX: PIntegerArray;

sliceSize:Longword;

Private PVertsY: PIntegerArray;
Private PVertsZ: PIntegerArray;
Private _Nverts: Integer;
Private _Ntrigs: Integer;
Private _Sverts: Integer;
Private _Strigs: Integer;
Private PVertices: PGLVertArray;
Private PTriangles: PGLTrianRecArray;
Private _i: Longword;
Private _j: Longword;
Private _k: Longword;
Private _Cube: array [0 .. 7] of TGLVoxel;
Private _lut_entry: Byte;
Protected FOriginalMC: Boolean;
Protected FSizeX: Integer;

now only original MC is implemented

Protected FSizeY: Integer;
Protected FSizeZ: Integer;
Protected FxMin: Single;
Protected FxMax: Single;
Protected FyMin: Single;
Protected FyMax: Single;
Protected FzMin: Single;
Protected FzMax: Single;
Protected FStepX: Single;
Protected FStepY: Single;
Protected FStepZ: Single;
Protected VoxelData: PGLVoxelData;
Public ScalarField: TGLScalarField;

Methods

Public constructor Create(SizeX, SizeY, SizeZ: Integer; AIsoValue: TGLScalarValue = 0.0; xMin: Single = -0.5; xMax: Single = 0.5; yMin: Single = -0.5; yMax: Single = 0.5; zMin: Single = -0.5; zMax: Single = 0.5); overload; virtual;
Public constructor Create; overload; virtual;
Public destructor Destroy; override;
Public function Internal(AValue: TGLScalarValue): Boolean; virtual;
Protected function Add_c_vertex: Integer;
Protected function Add_x_vertex: Integer;
Protected function Add_y_vertex: Integer;
Protected function Add_z_vertex: Integer;
Protected function calc_u(v1, v2: Single): Extended; virtual;
Protected function GetVoxelData(i, j, k: Integer): TGLVoxel;
Protected function GetVoxelValue(i, j, k: Integer): TGLScalarValue;
Protected function Get_x_grad(i, j, k: Integer): Single;
Protected function Get_x_vert(i, j, k: Integer): Integer;
Protected function Get_y_grad(i, j, k: Integer): Single;
Protected function Get_y_vert(i, j, k: Integer): Integer;
Protected function Get_z_grad(i, j, k: Integer): Single;
Protected function Get_z_vert(i, j, k: Integer): Integer;
Protected function Voxel(i, j, k: Integer): PGLVoxel;
Public procedure CalcMeshObject(AMeshObject: TGLMeshObject; Alpha: Single = 1);
Public procedure CalcVertices(Vertices: TGLVertexList; Alpha: Single = 1);
Public procedure FillVoxelData(AIsoValue: TGLScalarValue; AScalarField: TGLScalarField = nil); overload; virtual;
Public procedure FillVoxelData; overload; virtual;
Public procedure FillVoxelData(AIsoValue: TGLScalarValue; AScalarField: TGLScalarFieldInt); overload; virtual;
Public procedure ReDim(ASizeX, ASizeY, ASizeZ: Integer; xMin, xMax, yMin, yMax, zMin, zMax: Single); virtual;
Public procedure Run; overload;
Public procedure Run(IsoValue: TGLScalarValue); overload;
Protected procedure Add_Triangle(trig: array of Integer; N: Byte; v12: Integer = -1);
Protected procedure Compute_Intersection_Points;

function test_face(face:byte):Boolean; function test_interior(s:Byte):boolean

Protected procedure Process_cube;
Protected procedure SetVoxelValue(i, j, k: Integer; HfValue: TGLScalarValue);
Protected procedure Set_x_vert(a_val, i, j, k: Integer);
Protected procedure Set_y_vert(a_val, i, j, k: Integer);
Protected procedure Set_z_vert(a_val, i, j, k: Integer);
Private procedure Clean_all(keepFacets: Boolean = False);
Private procedure Clean_space;
Private procedure Clean_temps;
Private procedure Init_all;
Private procedure Init_space;
Private procedure Init_temps;

_case:Byte; _config:Byte; _subconfig:Byte;

Private procedure Test_vertex_addiction;

Properties

Public property IsoValue: TGLScalarValue read FIsoValue write FIsoValue;


GLSysHelp v.2.1: GLS.Isosurface: Class TIsoSurfaceExtractor

Class TIsoSurfaceExtractor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Isosurface

Declaration

type TIsoSurfaceExtractor = class(TObject)

Description

3D isosurface extractor class. This class allows to calculate and exctract isosurfaces from scalar field voxel models using a given isovalue

Hierarchy

  • TObject
  • TIsoSurfaceExtractor

Overview

Fields

Private | Data: TSingle3DArray;
Private | Dimensions: array ['x' .. 'z'] of Integer;

Methods

Public | constructor Create(); overload;
Public | constructor Create(Xdim, Ydim, Zdim: Integer; var AData: TSingle3DArray); overload;
Public | destructor Destroy(); override;
Private | function BuildIndex(var ADatavals: array of Single; Isovalue: Single): word;
Private | function Interpolate(const V0, V1: TAffineVector; var Val0, Val1, Isovalue: Single; isPolished: boolean): TVertex;
Public | procedure AssignData(Xdim, Ydim, Zdim: Integer; var AData: TSingle3DArray);
Public | procedure MarchingCubes(Isovalue: Single; out Vertices: TVertexArray; out Triangles: TIntegerArray; isPolished: boolean);
Public | procedure MarchingTetrahedra(Isovalue: Single; out Vertices: TVertexArray; out Triangles: TIntegerArray; isPolished: boolean);

Description

Fields

Private Data: TSingle3DArray;
Private Dimensions: array ['x' .. 'z'] of Integer;

Methods

Public constructor Create(); overload;
Public constructor Create(Xdim, Ydim, Zdim: Integer; var AData: TSingle3DArray); overload;
Public destructor Destroy(); override;
Private function BuildIndex(var ADatavals: array of Single; Isovalue: Single): word;

Build Index depending on whether the edges are outside or inside the surface

Private function Interpolate(const V0, V1: TAffineVector; var Val0, Val1, Isovalue: Single; isPolished: boolean): TVertex;
Public procedure AssignData(Xdim, Ydim, Zdim: Integer; var AData: TSingle3DArray);
Public procedure MarchingCubes(Isovalue: Single; out Vertices: TVertexArray; out Triangles: TIntegerArray; isPolished: boolean);

Launch Marching Cubes

Public procedure MarchingTetrahedra(Isovalue: Single; out Vertices: TVertexArray; out Triangles: TIntegerArray; isPolished: boolean);

Launch Marching Tetrahedra


GLSysHelp v.2.1: GLS.Joystick

Unit GLS.Joystick

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • Winapi.MMSystem
  • System.SysUtils
  • System.Classes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLJoystick |

Types

TJoyAxis = (...);
TJoyPos = (...);
TJoystickButton = (...);
TJoystickButtons = set of TJoystickButton;
TJoystickDesignMode = (...);
TJoystickEvent = procedure(Sender: TObject; JoyID: TJoystickID; Buttons: TJoystickButtons; XDeflection, YDeflection: Integer) of Object;
TJoystickID = (...);

Description

Types

TJoyAxis = (...);
Values
  • jaX
  • jaY
  • jaZ
  • jaR
  • jaU
  • jaV
TJoyPos = (...);
Values
  • jpMin
  • jpCenter
  • jpMax
TJoystickButton = (...);
Values
  • jbButton1
  • jbButton2
  • jbButton3
  • jbButton4
TJoystickButtons = set of TJoystickButton;
TJoystickDesignMode = (...);
Values
  • jdmInactive
  • jdmActive
TJoystickEvent = procedure(Sender: TObject; JoyID: TJoystickID; Buttons: TJoystickButtons; XDeflection, YDeflection: Integer) of Object;
TJoystickID = (...);
Values
  • jidNoJoystick
  • jidJoystick1
  • jidJoystick2


GLSysHelp v.2.1: GLS.Joystick: Class TGLJoystick

Class TGLJoystick

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Joystick

Declaration

type TGLJoystick = class(TComponent)

Description

A component interfacing the Joystick via the (regular) windows API.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLJoystick

Overview

Fields

Private | FWindowHandle: HWND;
Private | FNumButtons: Integer;
Private | FLastX: Integer;
Private | FLastY: Integer;
Private | FLastZ: Integer;
Private | FThreshold: Cardinal;
Private | FInterval: Cardinal;
Private | FCapture: Boolean;
Private | FNoCaptureErrors: Boolean;
Private | FJoystickID: TJoystickID;
Private | FMinMaxInfo: array [TJoyAxis, TJoyPos] of Integer;
Private | FXPosInfo: array [0 .. 4] of Integer;
Private | FYPosInfo: array [0 .. 4] of Integer;
Private | FOnJoystickButtonChange: TJoystickEvent;
Private | FOnJoystickMove: TJoystickEvent;
Private | FXPosition: Integer;
Private | FYPosition: Integer;
Private | FJoyButtons: TJoystickButtons;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function MakeJoyButtons(Param: UINT): TJoystickButtons;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure DoJoystickCapture(AHandle: HWND; AJoystick: TJoystickID);
Protected | procedure DoJoystickRelease(AJoystick: TJoystickID);
Protected | procedure DoXYMove(Buttons: Word; XPos, YPos: Integer);
Protected | procedure DoZMove(Buttons: Word; ZPos: Integer);
Protected | procedure Loaded; override;
Protected | procedure ReapplyCapture(AJoystick: TJoystickID);
Protected | procedure WndProc(var Msg: TMessage);
Private | procedure SetCapture(AValue: Boolean);
Private | procedure SetInterval(AValue: Cardinal);
Private | procedure SetJoystickID(AValue: TJoystickID);
Private | procedure SetThreshold(AValue: Cardinal);

Properties

Published | property Capture: Boolean read FCapture write SetCapture default False;
Published | property Interval: Cardinal read FInterval write SetInterval default 100;
Public | property JoyButtons: TJoystickButtons read FJoyButtons;
Published | property JoystickID: TJoystickID read FJoystickID write SetJoystickID default jidNoJoystick;
Published | property NoCaptureErrors: Boolean read FNoCaptureErrors write FNoCaptureErrors default True;
Published | property OnJoystickButtonChange: TJoystickEvent read FOnJoystickButtonChange write FOnJoystickButtonChange;
Published | property OnJoystickMove: TJoystickEvent read FOnJoystickMove write FOnJoystickMove;
Published | property Threshold: Cardinal read FThreshold write SetThreshold default 1000;
Public | property XPosition: Integer read FXPosition;
Public | property YPosition: Integer read FYPosition;

Description

Fields

Private FWindowHandle: HWND;
Private FNumButtons: Integer;
Private FLastX: Integer;
Private FLastY: Integer;
Private FLastZ: Integer;
Private FThreshold: Cardinal;
Private FInterval: Cardinal;
Private FCapture: Boolean;
Private FNoCaptureErrors: Boolean;
Private FJoystickID: TJoystickID;
Private FMinMaxInfo: array [TJoyAxis, TJoyPos] of Integer;
Private FXPosInfo: array [0 .. 4] of Integer;
Private FYPosInfo: array [0 .. 4] of Integer;
Private FOnJoystickButtonChange: TJoystickEvent;
Private FOnJoystickMove: TJoystickEvent;
Private FXPosition: Integer;
Private FYPosition: Integer;
Private FJoyButtons: TJoystickButtons;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function MakeJoyButtons(Param: UINT): TJoystickButtons;
Public procedure Assign(Source: TPersistent); override;
Protected procedure DoJoystickCapture(AHandle: HWND; AJoystick: TJoystickID);
Protected procedure DoJoystickRelease(AJoystick: TJoystickID);
Protected procedure DoXYMove(Buttons: Word; XPos, YPos: Integer);
Protected procedure DoZMove(Buttons: Word; ZPos: Integer);
Protected procedure Loaded; override;
Protected procedure ReapplyCapture(AJoystick: TJoystickID);
Protected procedure WndProc(var Msg: TMessage);
Private procedure SetCapture(AValue: Boolean);
Private procedure SetInterval(AValue: Cardinal);
Private procedure SetJoystickID(AValue: TJoystickID);
Private procedure SetThreshold(AValue: Cardinal);

Properties

Published property Capture: Boolean read FCapture write SetCapture default False;

When set to True, the component attempts to capture the joystick. If capture is successfull, retrieving joystick status is possible, if not, an error message is triggered.

Published property Interval: Cardinal read FInterval write SetInterval default 100;

Polling frequency (milliseconds)

Public property JoyButtons: TJoystickButtons read FJoyButtons;
Published property JoystickID: TJoystickID read FJoystickID write SetJoystickID default jidNoJoystick;
Published property NoCaptureErrors: Boolean read FNoCaptureErrors write FNoCaptureErrors default True;

If true joystick capture errors do not result in exceptions.

Published property OnJoystickButtonChange: TJoystickEvent read FOnJoystickButtonChange write FOnJoystickButtonChange;
Published property OnJoystickMove: TJoystickEvent read FOnJoystickMove write FOnJoystickMove;
Published property Threshold: Cardinal read FThreshold write SetThreshold default 1000;
Public property XPosition: Integer read FXPosition;
Public property YPosition: Integer read FYPosition;


GLSysHelp v.2.1: GLS.Keyboard

Unit GLS.Keyboard

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.SysUtils

Overview

Functions and Procedures

function IsKeyDown(c: Char): Boolean; overload;
function IsKeyDown(vk: TVirtualKeyCode): Boolean; overload;
function KeyPressed(minVkCode: TVirtualKeyCode = 0): TVirtualKeyCode;
function VirtualKeyCodeToKeyName(vk: TVirtualKeyCode): String;
function KeyNameToVirtualKeyCode(const keyName: String): TVirtualKeyCode;
function CharToVirtualKeyCode(c: Char): TVirtualKeyCode;
procedure KeyboardNotifyWheelMoved(wheelDelta: Integer);

Types

TVirtualKeyCode = Integer;

Constants

VK_MOUSEWHEELUP = VK_F23;
VK_MOUSEWHEELDOWN = VK_F24;

Variables

vLastWheelDelta: Integer;

Description

Functions and Procedures

function IsKeyDown(c: Char): Boolean; overload;

Check if the key corresponding to the given Char is down. The character is mapped to the <i>main keyboard</i> only, and not to the numeric keypad. The Shift/Ctrl/Alt state combinations that may be required to type the character are ignored (ie. 'a' is equivalent to 'A', and on my french keyboard, '5' = '(' = '[' since they all share the same physical key).

function IsKeyDown(vk: TVirtualKeyCode): Boolean; overload;

Check if the given virtual key is down. This function is just a wrapper for GetAsyncKeyState.

function KeyPressed(minVkCode: TVirtualKeyCode = 0): TVirtualKeyCode;

Returns the first pressed key whose virtual key code is >= to minVkCode. If no key is pressed, the return value is -1, this function does NOT wait for user input. If you don't care about multiple key presses, just don't use the parameter.

function VirtualKeyCodeToKeyName(vk: TVirtualKeyCode): String;

Converts a virtual key code to its name. The name is expressed using the locale windows options.

function KeyNameToVirtualKeyCode(const keyName: String): TVirtualKeyCode;

Converts a key name to its virtual key code. The comparison is **NOT** case-sensitive, if no match is found, returns -1. The name is expressed using the locale windows options, except for mouse buttons which are translated to 'LBUTTON', 'MBUTTON' and 'RBUTTON'.

function CharToVirtualKeyCode(c: Char): TVirtualKeyCode;

Returns the virtual keycode corresponding to the given char. The returned code is untranslated, f.i. 'a' and 'A' will give the same result. A return value of -1 means that the characted cannot be entered using the keyboard.

procedure KeyboardNotifyWheelMoved(wheelDelta: Integer);

Use this procedure to notify a wheel movement and have it resurfaced as key stroke. Honoured by IsKeyDown and KeyPressed

Types

TVirtualKeyCode = Integer;

Constants

VK_MOUSEWHEELUP = VK_F23;

pseudo wheel keys (we squat F23/F24), see KeyboardNotifyWheelMoved

VK_MOUSEWHEELDOWN = VK_F24;

Variables

vLastWheelDelta: Integer;


GLSysHelp v.2.1: GLS.Language

Unit GLS.Language

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.IniFiles
  • System.SysUtils
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLLanguageEntry |
Class TGLLanguage |
Class TGLLanguageExt |
Class TGLSLanguage |

Types

TGLLanguageEntryArray = array of TGLLanguageEntry;

Description

Types

TGLLanguageEntryArray = array of TGLLanguageEntry;


GLSysHelp v.2.1: GLS.Language: Record TGLLanguageEntry

Record TGLLanguageEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Language

Declaration

type TGLLanguageEntry = record

Description

Overview

Fields

Public | ID: String;
Public | Text: String;

Description

Fields

Public ID: String;
Public Text: String;

**< identifier


GLSysHelp v.2.1: GLS.Language: Class TGLLanguage

Class TGLLanguage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Language

Declaration

type TGLLanguage = class(TObject)

Description

Class TGLLanguage is used only for downloading and translation, as in the final product it's no need for the text processing

Hierarchy

  • TObject
  • TGLLanguage

Overview

Fields

Private | FCurrentLanguageFile: String;
Private | Entry: TGLLanguageEntryArray;

Methods

Public | function FindID(const ID: String): integer;
Public | function Translate(const ID: String): String;
Public | procedure LoadLanguageFromFile(const Language: String);

Properties

Public property CurrentLanguageFile: String read FCurrentLanguageFile;

Description

Fields

Private FCurrentLanguageFile: String;
Private Entry: TGLLanguageEntryArray;

Methods

Public function FindID(const ID: String): integer;

**< Entrys of Chosen Language

Public function Translate(const ID: String): String;
Public procedure LoadLanguageFromFile(const Language: String);

Properties

Public property CurrentLanguageFile: String read FCurrentLanguageFile;


GLSysHelp v.2.1: GLS.Language: Class TGLLanguageExt

Class TGLLanguageExt

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Language

Declaration

type TGLLanguageExt = class(TGLLanguage)

Description

Advanced class is designed for loading and processing, will be useful for language editors

Hierarchy

  • TObject
  • TGLLanguage
  • TGLLanguageExt

Overview

Methods

Private | function GetCount: integer;
Private | function GetEntry(Index: integer): TGLLanguageEntry;
Public | procedure AddConst(const ID: String; const Text: String);
Public | procedure AddConsts(aValues: TStrings);
Public | procedure ChangeConst(const ID: String; const Text: String);
Public | procedure SaveLanguageFromFile; overload;
Public | procedure SaveLanguageFromFile(const Language: String); overload;
Private | procedure SetEntry(Index: integer; const aValue: TGLLanguageEntry);

Properties

Public | property Count: integer read GetCount;
Public | property Items[Index:integer]: TGLLanguageEntry read GetEntry write SetEntry;

Description

Methods

Private function GetCount: integer;
Private function GetEntry(Index: integer): TGLLanguageEntry;
Public procedure AddConst(const ID: String; const Text: String);
Public procedure AddConsts(aValues: TStrings);
Public procedure ChangeConst(const ID: String; const Text: String);
Public procedure SaveLanguageFromFile; overload;
Public procedure SaveLanguageFromFile(const Language: String); overload;
Private procedure SetEntry(Index: integer; const aValue: TGLLanguageEntry);

Properties

Public property Count: integer read GetCount;
Public property Items[Index:integer]: TGLLanguageEntry read GetEntry write SetEntry;


GLSysHelp v.2.1: GLS.Language: Class TGLSLanguage

Class TGLSLanguage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Language

Declaration

type TGLSLanguage = class(TComponent)

Description

Abstract class for control Language

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSLanguage

Overview

Fields

Private | FLanguage: TGLLanguageExt;
Private | FLanguageList: TStrings;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Translate(const ID: String): String;
Public | procedure LoadLanguageFromFile(const Language: String);
Public | procedure SaveLanguageFromFile; overload;
Public | procedure SaveLanguageFromFile(const Language: String); overload;
Private | procedure SetLanguage(aValue: TGLLanguageExt);

Properties

Public property Language: TGLLanguageExt read FLanguage write SetLanguage;

Description

Fields

Private FLanguage: TGLLanguageExt;
Private FLanguageList: TStrings;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Translate(const ID: String): String;
Public procedure LoadLanguageFromFile(const Language: String);
Public procedure SaveLanguageFromFile; overload;
Public procedure SaveLanguageFromFile(const Language: String); overload;
Private procedure SetLanguage(aValue: TGLLanguageExt);

Properties

Public property Language: TGLLanguageExt read FLanguage write SetLanguage;


GLSysHelp v.2.1: GLS.LensFlare

Unit GLS.LensFlare

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.VectorGeometry
  • GLS.Objects
  • GLS.Context
  • GLS.Color
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.VectorTypes
  • GLS.Utils
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFlareGradient |
Class TGLLensFlare |

Types

TGLFlareElement = (...);
TGLFlareElements = set of TGLFlareElement;

Constants

cDefaultFlareElements = [feGlow, feRing, feStreaks, feRays, feSecondaries];

Description

Types

TGLFlareElement = (...);
Values
  • feGlow
  • feRing
  • feStreaks
  • feRays
  • feSecondaries
TGLFlareElements = set of TGLFlareElement;

Constants

cDefaultFlareElements = [feGlow, feRing, feStreaks, feRays, feSecondaries];


GLSysHelp v.2.1: GLS.LensFlare: Class TGLFlareGradient

Class TGLFlareGradient

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.LensFlare

Declaration

type TGLFlareGradient = class(TGLUpdateAbleObject)

Description

The actual gradients between two colors are, of course, calculated by OpenGL. The start and end colors of a gradient are stored to represent the color of lens flare elements.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLFlareGradient

Overview

Fields

Private | FFromColor: TGLColor;
Private | FToColor: TGLColor;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | constructor CreateInitialized(AOwner: TPersistent; const fromColor, toColor: TGLColorVector);
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetFromColor(const val: TGLColor);
Protected | procedure SetToColor(const val: TGLColor);

Properties

Published | property FromColor: TGLColor read FFromColor write SetFromColor;
Published | property ToColor: TGLColor read FToColor write SetToColor;

Description

Fields

Private FFromColor: TGLColor;
Private FToColor: TGLColor;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public constructor CreateInitialized(AOwner: TPersistent; const fromColor, toColor: TGLColorVector);
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetFromColor(const val: TGLColor);
Protected procedure SetToColor(const val: TGLColor);

Properties

Published property FromColor: TGLColor read FFromColor write SetFromColor;
Published property ToColor: TGLColor read FToColor write SetToColor;


GLSysHelp v.2.1: GLS.LensFlare: Class TGLLensFlare

Class TGLLensFlare

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.LensFlare

Declaration

type TGLLensFlare = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLLensFlare

Overview

Fields

Private | FSize: Integer;
Private | FDeltaTime: Single;
Private | FCurrSize: Single;
Private | FSeed: Integer;
Private | FSqueeze: Single;
Private | FNumStreaks: Integer;
Private | FStreakWidth: Single;
Private | FStreakAngle: Single;
Private | FNumSecs: Integer;
Private | FResolution: Integer;
Private | FAutoZTest: Boolean;
Private | FElements: TGLFlareElements;
Private | FSin20Res: array of Single;
Private | FCos20Res: array of Single;
Private | FSinRes: array of Single;
Private | FCosRes: array of Single;
Private | FTexRays: TGLTextureHandle;
Private | FFlareIsNotOccluded: Boolean;
Private | FOcclusionQuery: TGLOcclusionQueryHandle;
Private | FGlowGradient: TGLFlareGradient;
Private | FRingGradient: TGLFlareGradient;
Private | FStreaksGradient: TGLFlareGradient;
Private | FRaysGradient: TGLFlareGradient;
Private | FSecondariesGradient: TGLFlareGradient;
Private | FDynamic: Boolean;
Private | FPreRenderPoint: TGLRenderPoint;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreSqueeze: Boolean;
Protected | function StoreStreakWidth: Boolean;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure PreRender(activeBuffer: TGLSceneBuffer);
Protected | procedure PreRenderEvent(Sender: TObject; var rci: TGLRenderContextInfo);
Protected | procedure PreRenderPointFreed(Sender: TObject);
Protected | procedure RenderRays(StateCache: TGLStateCache; const size: Single);
Protected | procedure RenderRing;
Protected | procedure RenderSecondaries(const posVector: TAffineVector);
Protected | procedure RenderStreaks(StateCache: TGLStateCache);
Protected | procedure SetAutoZTest(aValue: Boolean);
Protected | procedure SetDynamic(aValue: Boolean);
Protected | procedure SetElements(aValue: TGLFlareElements);
Protected | procedure SetGlowGradient(const val: TGLFlareGradient);
Protected | procedure SetNumSecs(aValue: Integer);
Protected | procedure SetNumStreaks(aValue: Integer);
Protected | procedure SetPreRenderPoint(const val: TGLRenderPoint);
Protected | procedure SetRaysGradient(const val: TGLFlareGradient);
Protected | procedure SetResolution(aValue: Integer);
Protected | procedure SetRingGradient(const val: TGLFlareGradient);
Protected | procedure SetSecondariesGradient(const val: TGLFlareGradient);
Protected | procedure SetSeed(aValue: Integer);
Protected | procedure SetSize(aValue: Integer);
Protected | procedure SetSqueeze(aValue: Single);
Protected | procedure SetStreakAngle(aValue: Single);
Protected | procedure SetStreaksGradient(const val: TGLFlareGradient);
Protected | procedure SetStreakWidth(aValue: Single);
Protected | procedure SetupRenderingOptions(StateCache: TGLStateCache);

Properties

Published | property AutoZTest: Boolean read FAutoZTest write SetAutoZTest default True;
Published | property Behaviours;
Published | property Dynamic: Boolean read FDynamic write FDynamic default True;
Published | property Effects;
Published | property Elements: TGLFlareElements read FElements write SetElements default cDefaultFlareElements;
Public | property FlareInstantaneousSize: Single read FCurrSize write FCurrSize;
Published | property FlareIsNotOccluded: Boolean read FFlareIsNotOccluded write FFlareIsNotOccluded;
Published | property GlowGradient: TGLFlareGradient read FGlowGradient write SetGlowGradient;
Published | property NumSecs: Integer read FNumSecs write SetNumSecs default 8;
Published | property NumStreaks: Integer read FNumStreaks write SetNumStreaks default 4;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property Position;
Published | property PreRenderPoint: TGLRenderPoint read FPreRenderPoint write SetPreRenderPoint;
Published | property RaysGradient: TGLFlareGradient read FRaysGradient;
Published | property Resolution: Integer read FResolution write SetResolution default 64;
Published | property RingGradient: TGLFlareGradient read FRingGradient;
Published | property SecondariesGradient: TGLFlareGradient read FSecondariesGradient;
Published | property Seed: Integer read FSeed write SetSeed;
Published | property Size: Integer read FSize write SetSize default 50;
Published | property Squeeze: Single read FSqueeze write SetSqueeze stored StoreSqueeze;
Published | property StreakAngle: Single read FStreakAngle write SetStreakAngle;
Published | property StreaksGradient: TGLFlareGradient read FStreaksGradient;
Published | property StreakWidth: Single read FStreakWidth write SetStreakWidth stored StoreStreakWidth;
Published | property Visible;

Description

Fields

Private FSize: Integer;
Private FDeltaTime: Single;
Private FCurrSize: Single;
Private FSeed: Integer;
Private FSqueeze: Single;
Private FNumStreaks: Integer;
Private FStreakWidth: Single;
Private FStreakAngle: Single;
Private FNumSecs: Integer;
Private FResolution: Integer;
Private FAutoZTest: Boolean;
Private FElements: TGLFlareElements;
Private FSin20Res: array of Single;
Private FCos20Res: array of Single;
Private FSinRes: array of Single;
Private FCosRes: array of Single;
Private FTexRays: TGLTextureHandle;
Private FFlareIsNotOccluded: Boolean;
Private FOcclusionQuery: TGLOcclusionQueryHandle;
Private FGlowGradient: TGLFlareGradient;
Private FRingGradient: TGLFlareGradient;
Private FStreaksGradient: TGLFlareGradient;
Private FRaysGradient: TGLFlareGradient;
Private FSecondariesGradient: TGLFlareGradient;
Private FDynamic: Boolean;
Private FPreRenderPoint: TGLRenderPoint;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreSqueeze: Boolean;
Protected function StoreStreakWidth: Boolean;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure PreRender(activeBuffer: TGLSceneBuffer);

Prepares pre-rendered texture to speed up actual rendering. Will use the currently active context as scratch space, and will automatically do nothing if things have already been prepared, thus you can invoke it systematically in a Viewer.BeforeRender event f.i.

Protected procedure PreRenderEvent(Sender: TObject; var rci: TGLRenderContextInfo);
Protected procedure PreRenderPointFreed(Sender: TObject);
Protected procedure RenderRays(StateCache: TGLStateCache; const size: Single);
Protected procedure RenderRing;
Protected procedure RenderSecondaries(const posVector: TAffineVector);
Protected procedure RenderStreaks(StateCache: TGLStateCache);
Protected procedure SetAutoZTest(aValue: Boolean);
Protected procedure SetDynamic(aValue: Boolean);
Protected procedure SetElements(aValue: TGLFlareElements);
Protected procedure SetGlowGradient(const val: TGLFlareGradient);
Protected procedure SetNumSecs(aValue: Integer);
Protected procedure SetNumStreaks(aValue: Integer);
Protected procedure SetPreRenderPoint(const val: TGLRenderPoint);
Protected procedure SetRaysGradient(const val: TGLFlareGradient);
Protected procedure SetResolution(aValue: Integer);
Protected procedure SetRingGradient(const val: TGLFlareGradient);
Protected procedure SetSecondariesGradient(const val: TGLFlareGradient);
Protected procedure SetSeed(aValue: Integer);
Protected procedure SetSize(aValue: Integer);
Protected procedure SetSqueeze(aValue: Single);
Protected procedure SetStreakAngle(aValue: Single);
Protected procedure SetStreaksGradient(const val: TGLFlareGradient);
Protected procedure SetStreakWidth(aValue: Single);
Protected procedure SetupRenderingOptions(StateCache: TGLStateCache);

These are quite unusual in that they don't use an RCI, since PreRender is done before proper rendering starts, but we do know which RC is being used, so we can use this state cache

Properties

Published property AutoZTest: Boolean read FAutoZTest write SetAutoZTest default True;

Automatically computes FlareIsNotOccluded depending on ZBuffer test. Not that the automated test may use test result from the previous frame into the next (to avoid a rendering stall).

Published property Behaviours;
Published property Dynamic: Boolean read FDynamic write FDynamic default True;

Is the flare size adjusted dynamically? If true, the flare size will be grown and reduced over a few frames when it switches between occluded and non-occluded states. This requires animation to be active, but results in a smoother appearance. When false, flare will either be at full size or hidden. The flare is always considered non-dynamic at design-time.

Published property Effects;
Published property Elements: TGLFlareElements read FElements write SetElements default cDefaultFlareElements;

Which elements should be rendered?

Public property FlareInstantaneousSize: Single read FCurrSize write FCurrSize;

Access to the Flare's current size. Flares decay or grow back over several frames, depending on their occlusion status, and this property allows to track or manually alter this instantaneous size.

Published property FlareIsNotOccluded: Boolean read FFlareIsNotOccluded write FFlareIsNotOccluded;

Is the LensFlare not occluded?. If false the flare will fade away, if true, it will fade in and stay. This value is automatically updated if AutoZTest is set.

Published property GlowGradient: TGLFlareGradient read FGlowGradient write SetGlowGradient;
Published property NumSecs: Integer read FNumSecs write SetNumSecs default 8;

Number of secondary flares.

Published property NumStreaks: Integer read FNumStreaks write SetNumStreaks default 4;

Number of streaks.

Published property ObjectsSorting;
Published property OnProgress;
Published property Position;
Published property PreRenderPoint: TGLRenderPoint read FPreRenderPoint write SetPreRenderPoint;

PreRender point for pre-rendered flare textures. See PreRender method for more details.

Published property RaysGradient: TGLFlareGradient read FRaysGradient;
Published property Resolution: Integer read FResolution write SetResolution default 64;

Number of segments used when rendering circles.

Published property RingGradient: TGLFlareGradient read FRingGradient;
Published property SecondariesGradient: TGLFlareGradient read FSecondariesGradient;
Published property Seed: Integer read FSeed write SetSeed;

Random seed

Published property Size: Integer read FSize write SetSize default 50;

MaxRadius of the flare.

Published property Squeeze: Single read FSqueeze write SetSqueeze stored StoreSqueeze;

To create elliptic flares.

Published property StreakAngle: Single read FStreakAngle write SetStreakAngle;

Angle of the streaks (in degrees)

Published property StreaksGradient: TGLFlareGradient read FStreaksGradient;
Published property StreakWidth: Single read FStreakWidth write SetStreakWidth stored StoreStreakWidth;

Width of the streaks.

Published property Visible;


GLSysHelp v.2.1: GLS.LinePFX

Unit GLS.LinePFX

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.ParticleFX
  • GLS.Texture
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.Context
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLineParticle |
Class TGLLinePFXManager |


GLSysHelp v.2.1: GLS.LinePFX: Class TGLLineParticle

Class TGLLineParticle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.LinePFX

Declaration

type TGLLineParticle = class(TGLParticle)

Description

Linear particle.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLParticle
  • TGLLineParticle

Overview

Fields

Private | FDirection: TAffineVector;
Private | FLength: Single;

Methods

Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public | property Direction: TAffineVector read FDirection write FDirection;
Public | property Length: Single read FLength write FLength;

Description

Fields

Private FDirection: TAffineVector;
Private FLength: Single;

Methods

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Direction: TAffineVector read FDirection write FDirection;

Direction of the line.

Public property Length: Single read FLength write FLength;

Length of the line


GLSysHelp v.2.1: GLS.LinePFX: Class TGLLinePFXManager

Class TGLLinePFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.LinePFX

Declaration

type TGLLinePFXManager = class(TGLLifeColoredPFXManager)

Description

Polygonal particles FX manager. The particles of this manager are made of N-face regular polygon with a core and edge color. No texturing is available. If you render large particles and don't have T&L acceleration, consider using TGLPointLightPFXManager.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLLinePFXManager

Overview

Fields

Private | Fvx: TAffineVector;
Private | Fvy: TAffineVector;
Private | FNvx: TAffineVector;
Private | FNvy: TAffineVector;
Private | FDefaultLength: Single;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateParticle: TGLParticle; override;
Public | class function ParticlesClass: TGLParticleClass; override;
Protected | function StoreDefaultLength: Boolean;
Protected | function TexturingMode: Cardinal; override;
Protected | procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;

Properties

Published | property ColorInner;
Published | property ColorOuter;
Published | property DefaultLength: Single read FDefaultLength write FDefaultLength stored StoreDefaultLength;
Published | property LifeColors;
Published | property ParticleSize;

Description

Fields

Private Fvx: TAffineVector;
Private Fvy: TAffineVector;
Private FNvx: TAffineVector;

NOT persistent

Private FNvy: TAffineVector;

NOT persistent

Private FDefaultLength: Single;

NOT persistent

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateParticle: TGLParticle; override;
Public class function ParticlesClass: TGLParticleClass; override;
Protected function StoreDefaultLength: Boolean;
Protected function TexturingMode: Cardinal; override;
Protected procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;

Properties

Published property ColorInner;
Published property ColorOuter;
Published property DefaultLength: Single read FDefaultLength write FDefaultLength stored StoreDefaultLength;
Published property LifeColors;
Published property ParticleSize;


GLSysHelp v.2.1: GLS.Logger

Unit GLS.Logger

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • Winapi.ShellApi
  • System.StrUtils
  • System.Classes
  • System.SysUtils
  • System.UITypes
  • System.SyncObjs

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TLogBufferFlushThread |
Class TLogCheckSizeThread |
Class TLogSession |
Class TGLSLogger |

Functions and Procedures

function UserLog: TLogSession;
function ReadLine(var TextFile: Text): string;
function GLSLogger(): TLogSession;
procedure UseCustomGLSLogger(const ALogger: TLogSession);
function ConstArrayToString(const Elements: array of const): String;

Types

CLogSession = class of TLogSession;
TIDELogProc = procedure(const AMsg: string);
TLogBufferingMode = (...);
TLogLevel = (...);
TLogLevels = set of TLogLevel;
TLogMessageLimitAction = (...);
TLogTimeFormat = (...);

Constants

llMax: TLogLevels = [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];
llMedium: TLogLevels = [lkNotice, lkWarning, lkError, lkFatalError];
llMin: TLogLevels = [lkError, lkFatalError];

Variables

llMessageLimit: array [TLogLevel] of Integer = ( MaxInt, MaxInt, MaxInt, 500, 100, 10 );
lkPrefix: array [TLogLevel] of string = ( ' (D) ', ' (i) ', ' (M) ', ' (W) ', ' (Er) ', ' (!!) ' );
vIDELogProc: TIDELogProc;

Description

Functions and Procedures

function UserLog: TLogSession;

Return logger wich created by TGLSLogger component

function ReadLine(var TextFile: Text): string;
function GLSLogger(): TLogSession;

Inner logger. Converted to a function, because in case of a DLL and main app using this module, log is written to the same file on initialization and finalization, which is not what one might want. This also allows to create a GLSLogger with custom parameters for user's application, for example a different log path (Often the EXE application directory is read-only).

procedure UseCustomGLSLogger(const ALogger: TLogSession);
function ConstArrayToString(const Elements: array of const): String;

Types

CLogSession = class of TLogSession;

Class reference to log session class

TIDELogProc = procedure(const AMsg: string);
TLogBufferingMode = (...);

How log is buffered.

Values
  • lbmWriteEmidiatly
  • lbmWritePeriodically
  • lbmWriteInTheEnd
TLogLevel = (...);

Levels of importance of log messages

Values
  • lkDebug
  • lkInfo
  • lkNotice
  • lkWarning
  • lkError
  • lkFatalError
TLogLevels = set of TLogLevel;

Log level setting type

TLogMessageLimitAction = (...);

What to do when number of messages exceeds message limit.

Values
  • mlaContinue
  • mlaStopLogging
  • mlaHalt
TLogTimeFormat = (...);

Log date and time setting type

Values
  • lfNone: doesn't output any time information
  • lfDate: include date in the log
  • lfTime: include time in the log
  • lfTimeExact: include time in the log, including milliseconds
  • lfDateTime: include date and time in the log
  • lfElapsed: include time elapsed since startup in the log

Constants

llMax: TLogLevels = [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];
llMedium: TLogLevels = [lkNotice, lkWarning, lkError, lkFatalError];
llMin: TLogLevels = [lkError, lkFatalError];

Variables

llMessageLimit: array [TLogLevel] of Integer = ( MaxInt, MaxInt, MaxInt, 500, 100, 10 );
lkPrefix: array [TLogLevel] of string = ( ' (D) ', ' (i) ', ' (M) ', ' (W) ', ' (Er) ', ' (!!) ' );
vIDELogProc: TIDELogProc;


GLSysHelp v.2.1: GLS.Logger: Class TLogBufferFlushThread

Class TLogBufferFlushThread

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Logger

Declaration

type TLogBufferFlushThread = class(TThread)

Description

Thread that periodically flushes the buffer to disk.

Hierarchy

  • TObject
  • TThread
  • TLogBufferFlushThread

Overview

Fields

Private FParent: TLogSession;

Methods

Public | constructor Create(const AParent: TLogSession);
Protected | procedure Execute; override;

Description

Fields

Private FParent: TLogSession;

Methods

Public constructor Create(const AParent: TLogSession);
Protected procedure Execute; override;


GLSysHelp v.2.1: GLS.Logger: Class TLogCheckSizeThread

Class TLogCheckSizeThread

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Logger

Declaration

type TLogCheckSizeThread = class(TThread)

Description

Thread that checks file size and splits the file if nessesary.

Hierarchy

  • TObject
  • TThread
  • TLogCheckSizeThread

Overview

Fields

Private FParent: TLogSession;

Methods

Public | constructor Create(const AParent: TLogSession);
Protected | procedure Execute; override;

Description

Fields

Private FParent: TLogSession;

Methods

Public constructor Create(const AParent: TLogSession);
Protected procedure Execute; override;


GLSysHelp v.2.1: GLS.Logger: Class TLogSession

Class TLogSession

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Logger

Declaration

type TLogSession = class(TPersistent)

Description

Abstract Logger class

Hierarchy

  • TObject
  • TPersistent
  • TLogSession

Overview

Fields

Private | FBuffer: TStringList;
Private | FBuffered: Boolean;
Private | FBufferProcessingThread: TLogBufferFlushThread;
Private | FCheckLogSizeThread: TLogCheckSizeThread;
Private | FFlushBufferPeriod: Integer;
Private | FLogFile: Text;
Private | FDestroying: Boolean;
Private | FOriginalLogFileName: string;
Private | FCurrentLogFileName: string;
Private | FUsedLogFileNames: TStringList;
Private | FLogLevels: TLogLevels;
Private | FEnabled: Boolean;
Private | FBufferCriticalSection: TCriticalSection;
Private | FFileAccessCriticalSection: TCriticalSection;
Private | FModeTitles: array [TLogLevel] of string;
Private | FLogKindCount: array [TLogLevel] of Integer;
Private | FLogThreadId: Boolean;
Private | FMessageLimitAction: TLogMessageLimitAction;
Private | FTimeFormat: TLogTimeFormat;
Private | FStartedMs: Cardinal;
Private | FLogFileMaxSize: Integer;
Private | FCheckFileSizePeriod: Integer;
Private | FDisplayLogOnExitIfItContains: TLogLevels;
Private | FWriteInternalMessages: Boolean;
Private | FDisplayErrorDialogs: Boolean;

Methods

Public | constructor Init(const AFileName: string; const ATimeFormat: TLogTimeFormat; const ALevels: TLogLevels; const ALogThreadId: Boolean = True; const ABuffered: Boolean = False; const AMaxSize: Integer = 0; const ABackUpOldLogs: Boolean = False; const AClearOldLogs: Boolean = True; const AWriteInternalMessages: Boolean = True); virtual;
Private | constructor OnlyCreate;
Public | destructor Destroy; override;
Protected | function AttachLogFile(const AFileName: string; const AResetFile: Boolean = True): Boolean;
Protected | function DoResetLog: Boolean;
Protected | function DoWriteBufferToLog(): Boolean;
Protected | function DoWriteToLog(const AString: string): Boolean;
Public | procedure DisplayLog();
Public | procedure FlushBuffer();
Public | procedure Log(const Desc: string; const Level: TLogLevel = lkInfo);
Public | procedure LogAdv(const args: array of const; const ALevel: TLogLevel = lkError);
Public | procedure LogDebug(const Desc: string);
Public | procedure LogDebugFmt(const Desc: string; const args: array of const);
Public | procedure LogEmtryLine();
Public | procedure LogError(const Desc: string);
Public | procedure LogErrorFmt(const Desc: string; const args: array of const);
Public | procedure LogException(const E: Exception; const aFunctionName: string; const args: array of const; const ALevel: TLogLevel = lkError);
Public | procedure LogFatalError(const Desc: string);
Public | procedure LogFatalErrorFmt(const Desc: string; const args: array of const);
Public | procedure LogInfo(const Desc: string);
Public | procedure LogInfoFmt(const Desc: string; const args: array of const);
Public | procedure LogNotice(const Desc: string);
Public | procedure LogNoticeFmt(const Desc: string; const args: array of const);
Public | procedure LogWarning(const Desc: string);
Public | procedure LogWarningFmt(const Desc: string; const args: array of const);
Protected | procedure AppendLog(const AString: string; const ALevel: TLogLevel; const ALogTime: Boolean = True);
Protected | procedure BackUpOldLogs(const ACurrentLogFileName: string);
Protected | procedure ClearLogsInTheSameDir();
Protected | procedure CreateNewLogFileIfNeeded();
Protected | procedure PrintLogLevels();
Protected | procedure PrintLogStatistics();
Private | procedure ChangeBufferedState();
Private | procedure SetBuffered(const Value: Boolean);
Private | procedure SetEnabled(const Value: Boolean);
Private | procedure SetLogFileMaxSize(const Value: Integer);
Private | procedure SetMode(const NewMode: TLogLevels);

Properties

Public | property Buffered: Boolean read FBuffered write SetBuffered default False;
Public | property CheckFileSizePeriod: Integer read FCheckFileSizePeriod write FCheckFileSizePeriod default 4000;
Public | property DisplayErrorDialogs: Boolean read FDisplayErrorDialogs write FDisplayErrorDialogs default True;
Public | property DisplayLogOnExitIfItContains: TLogLevels read FDisplayLogOnExitIfItContains write FDisplayLogOnExitIfItContains default [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];
Public | property Enabled: Boolean read FEnabled write SetEnabled default True;
Public | property FlushBufferPeriod: Integer read FFlushBufferPeriod write FFlushBufferPeriod default 5000;
Public | property LogFileMaxSize: Integer read FLogFileMaxSize write SetLogFileMaxSize default 0;
Public | property LogLevels: TLogLevels read FLogLevels write SetMode default [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];
Public | property LogThreadId: Boolean read FLogThreadId write FLogThreadId default True;
Public | property MessageLimitAction: TLogMessageLimitAction read FMessageLimitAction write FMessageLimitAction default mlaHalt;
Public | property WriteInternalMessages: Boolean read FWriteInternalMessages write FWriteInternalMessages default True;

Description

Fields

Private FBuffer: TStringList;
Private FBuffered: Boolean;
Private FBufferProcessingThread: TLogBufferFlushThread;
Private FCheckLogSizeThread: TLogCheckSizeThread;
Private FFlushBufferPeriod: Integer;
Private FLogFile: Text;
Private FDestroying: Boolean;

TextFile.

Private FOriginalLogFileName: string;
Private FCurrentLogFileName: string;

Original name

Private FUsedLogFileNames: TStringList;

Current log file, if original exceeded certain size limit.

Private FLogLevels: TLogLevels;

List of all created log files.

Private FEnabled: Boolean;
Private FBufferCriticalSection: TCriticalSection;
Private FFileAccessCriticalSection: TCriticalSection;
Private FModeTitles: array [TLogLevel] of string;
Private FLogKindCount: array [TLogLevel] of Integer;
Private FLogThreadId: Boolean;
Private FMessageLimitAction: TLogMessageLimitAction;
Private FTimeFormat: TLogTimeFormat;

Determines which date or time to include in the log

Private FStartedMs: Cardinal;

Startup timestamp in milliseconds

Private FLogFileMaxSize: Integer;
Private FCheckFileSizePeriod: Integer;
Private FDisplayLogOnExitIfItContains: TLogLevels;
Private FWriteInternalMessages: Boolean;
Private FDisplayErrorDialogs: Boolean;

Methods

Public constructor Init(const AFileName: string; const ATimeFormat: TLogTimeFormat; const ALevels: TLogLevels; const ALogThreadId: Boolean = True; const ABuffered: Boolean = False; const AMaxSize: Integer = 0; const ABackUpOldLogs: Boolean = False; const AClearOldLogs: Boolean = True; const AWriteInternalMessages: Boolean = True); virtual;

Initializes a log session with the specified log file name, time and level settings

Private constructor OnlyCreate;
Public destructor Destroy; override;
Protected function AttachLogFile(const AFileName: string; const AResetFile: Boolean = True): Boolean;
Protected function DoResetLog: Boolean;

Resets log. Returns True if everything went ok.

Protected function DoWriteBufferToLog(): Boolean;

Writes FBuffer to log. Returns True if everything went ok.

Protected function DoWriteToLog(const AString: string): Boolean;

Writes string to log. Returns True if everything went ok.

Public procedure DisplayLog();

Mics procedures.

Public procedure FlushBuffer();
Public procedure Log(const Desc: string; const Level: TLogLevel = lkInfo);

General Logging procedures

Public procedure LogAdv(const args: array of const; const ALevel: TLogLevel = lkError);
Public procedure LogDebug(const Desc: string);

Logs a string Desc if Level matches current USE_LOGGING level (see LogLevels)

Public procedure LogDebugFmt(const Desc: string; const args: array of const);

Logs a formatted string assembled from a format string and an array of arguments.

Public procedure LogEmtryLine();
Public procedure LogError(const Desc: string);
Public procedure LogErrorFmt(const Desc: string; const args: array of const);
Public procedure LogException(const E: Exception; const aFunctionName: string; const args: array of const; const ALevel: TLogLevel = lkError);
Public procedure LogFatalError(const Desc: string);
Public procedure LogFatalErrorFmt(const Desc: string; const args: array of const);
Public procedure LogInfo(const Desc: string);
Public procedure LogInfoFmt(const Desc: string; const args: array of const);
Public procedure LogNotice(const Desc: string);
Public procedure LogNoticeFmt(const Desc: string; const args: array of const);
Public procedure LogWarning(const Desc: string);
Public procedure LogWarningFmt(const Desc: string; const args: array of const);
Protected procedure AppendLog(const AString: string; const ALevel: TLogLevel; const ALogTime: Boolean = True);

Appends a string to log. Thread-safe.

Protected procedure BackUpOldLogs(const ACurrentLogFileName: string);
Protected procedure ClearLogsInTheSameDir();
Protected procedure CreateNewLogFileIfNeeded();
Protected procedure PrintLogLevels();
Protected procedure PrintLogStatistics();
Private procedure ChangeBufferedState();
Private procedure SetBuffered(const Value: Boolean);
Private procedure SetEnabled(const Value: Boolean);
Private procedure SetLogFileMaxSize(const Value: Integer);
Private procedure SetMode(const NewMode: TLogLevels);

Properties

Public property Buffered: Boolean read FBuffered write SetBuffered default False;
Public property CheckFileSizePeriod: Integer read FCheckFileSizePeriod write FCheckFileSizePeriod default 4000;

In bytes, limited to 2Gb.

Public property DisplayErrorDialogs: Boolean read FDisplayErrorDialogs write FDisplayErrorDialogs default True;
Public property DisplayLogOnExitIfItContains: TLogLevels read FDisplayLogOnExitIfItContains write FDisplayLogOnExitIfItContains default [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];

To always display log, put all log types. To never display log, leave this empty.

Public property Enabled: Boolean read FEnabled write SetEnabled default True;
Public property FlushBufferPeriod: Integer read FFlushBufferPeriod write FFlushBufferPeriod default 5000;
Public property LogFileMaxSize: Integer read FLogFileMaxSize write SetLogFileMaxSize default 0;

If LogFileMaxSize is not 0, then: 1) At start, all logs with the same extention will be deleted. 2) All logs wil be periodically cheked for FileSize. New log file will be created when this size exceeds limit.

Public property LogLevels: TLogLevels read FLogLevels write SetMode default [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];

If log is buffered, calling this will flush the buffer. Set of levels which to include in the log

Public property LogThreadId: Boolean read FLogThreadId write FLogThreadId default True;

In ms.

Public property MessageLimitAction: TLogMessageLimitAction read FMessageLimitAction write FMessageLimitAction default mlaHalt;
Public property WriteInternalMessages: Boolean read FWriteInternalMessages write FWriteInternalMessages default True;


GLSysHelp v.2.1: GLS.Logger: Class TGLSLogger

Class TGLSLogger

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Logger

Declaration

type TGLSLogger = class(TComponent)

Description

Abstract class for control logging.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSLogger

Overview

Fields

Private | FReplaceAssertion: Boolean;
Private | FTimeFormat: TLogTimeFormat;
Private | FLogLevels: TLogLevels;
Private | FLog: TLogSession;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetLog: TLogSession;
Public | procedure DoPrimary;
Private | procedure SetReplaceAssertion(Value: Boolean);

Properties

Public | property Log: TLogSession read GetLog;
Published | property LogLevels: TLogLevels read FLogLevels write FLogLevels default [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];
Published | property ReplaceAssertion: Boolean read FReplaceAssertion write SetReplaceAssertion default False;
Published | property TimeFormat: TLogTimeFormat read FTimeFormat write FTimeFormat default lfElapsed;

Description

Fields

Private FReplaceAssertion: Boolean;
Private FTimeFormat: TLogTimeFormat;
Private FLogLevels: TLogLevels;
Private FLog: TLogSession;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetLog: TLogSession;
Public procedure DoPrimary;

Set component primary and then UserLog return it's log

Private procedure SetReplaceAssertion(Value: Boolean);

Properties

Public property Log: TLogSession read GetLog;
Published property LogLevels: TLogLevels read FLogLevels write FLogLevels default [lkDebug, lkInfo, lkNotice, lkWarning, lkError, lkFatalError];
Published property ReplaceAssertion: Boolean read FReplaceAssertion write SetReplaceAssertion default False;
Published property TimeFormat: TLogTimeFormat read FTimeFormat write FTimeFormat default lfElapsed;

Only design time sets. Define Log initial properties


GLSysHelp v.2.1: GLS.Manager

Unit GLS.Manager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.Types

Overview

Functions and Procedures

procedure RegisterManager(aManager: TComponent);
procedure DeRegisterManager(aManager: TComponent);
function FindManager(classType: TComponentClass; const managerName: String) : TComponent;

Description

Functions and Procedures

procedure RegisterManager(aManager: TComponent);
procedure DeRegisterManager(aManager: TComponent);
function FindManager(classType: TComponentClass; const managerName: String) : TComponent;


GLSysHelp v.2.1: GLS.Material

Unit GLS.Material

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.Context
  • GLS.Texture
  • GLS.Color
  • GLS.Coordinates
  • GLS.PersistentClasses
  • GLS.State
  • GLS.TextureFormat
  • GLS.XOpenGL
  • GLS.ApplicationFileIO
  • GLS.Graphics
  • GLS.Utils
  • GLS.Strings
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Interface IGLMaterialLibrarySupported |
Class TGLShader |
Class TGLFaceProperties |
Class TGLDepthProperties |
Class TGLBlendingParameters |
Class TGLMaterial |
Class TGLAbstractLibMaterial |
Class TGLLibMaterial |
Class TGLAbstractLibMaterials |
Class TGLLibMaterials |
Class TGLAbstractMaterialLibrary |
Class TGLMaterialLibrary |

Types

TGlAlphaFunc = TGLComparisonFunction;
TGLBlendingMode = (...);
TGLFaceCulling = (...);
TGLLibMaterialName = string;
TGLMaterialOption = (...);
TGLMaterialOptions = set of TGLMaterialOption;
TGLShaderClass = class of TGLShader;
TGLShaderFailedInitAction = (...);
TGLShaderStyle = (...);
TGLShininess = 0..128;

Description

Types

TGlAlphaFunc = TGLComparisonFunction;
TGLBlendingMode = (...);

Simplified blending options. bmOpaque : disable blending bmTransparency : uses standard alpha blending bmAdditive : activates additive blending (with saturation) bmAlphaTest50 : uses opaque blending, with alpha-testing at 50% (full transparency if alpha is below 0.5, full opacity otherwise) bmAlphaTest100 : uses opaque blending, with alpha-testing at 100% bmModulate : uses modulation blending bmCustom : uses TGLBlendingParameters options

Values
  • bmOpaque
  • bmTransparency
  • bmAdditive
  • bmAlphaTest50
  • bmAlphaTest100
  • bmModulate
  • bmCustom
TGLFaceCulling = (...);
Values
  • fcBufferDefault
  • fcCull
  • fcNoCull
TGLLibMaterialName = string;
TGLMaterialOption = (...);

Control special rendering options for a material. moIgnoreFog : fog is deactivated when the material is rendered

Values
  • moIgnoreFog
  • moNoLighting
TGLMaterialOptions = set of TGLMaterialOption;
TGLShaderClass = class of TGLShader;
TGLShaderFailedInitAction = (...);

Defines what to do if for some reason shader failed to initialize. fiaSilentdisable: just disable it fiaRaiseHandledException: raise an exception, and handle it right away (usefull, when debigging within Delphi) fiaRaiseStardardException: raises the exception with a string from this function GetStardardNotSupportedMessage fiaReRaiseException: Re-raises the exception fiaGenerateEvent: Handles the exception, but generates an event that user can respond to. For example, he can try to compile a substitude shader, or replace it by a material. Note: HandleFailedInitialization does *not* create this event, it is left to user shaders which may chose to override this procedure. Commented out, because not sure if this option should exist, let other generations of developers decide ;)

Values
  • fiaSilentDisable
  • fiaRaiseStandardException
  • fiaRaiseHandledException
  • fiaReRaiseException
TGLShaderStyle = (...);

Define GLShader style application relatively to a material. ssHighLevel: shader is applied before material application, and unapplied after material unapplication ssLowLevel: shader is applied after material application, and unapplied before material unapplication ssReplace: shader is applied in place of the material (and material is completely ignored)

Values
  • ssHighLevel
  • ssLowLevel
  • ssReplace
TGLShininess = 0..128;


GLSysHelp v.2.1: GLS.Material: Interface IGLMaterialLibrarySupported

Interface IGLMaterialLibrarySupported

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type IGLMaterialLibrarySupported = interface(IInterface)

Description

an interface for proper TGLLibMaterialNameProperty support

Attributes
GUID['{8E442AF9-D212-4A5E-8A88-92F798BABFD1}']

Hierarchy

  • IInterface
  • IGLMaterialLibrarySupported

Overview

Methods

Public function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Description

Methods

Public function GetMaterialLibrary: TGLAbstractMaterialLibrary;


GLSysHelp v.2.1: GLS.Material: Class TGLShader

Class TGLShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLShader = class(TGLUpdateAbleComponent)

Description

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader

Overview

Fields

Private | FEnabled: Boolean;
Private | FLibMatUsers: TList;
Private | FVirtualHandle: TGLVirtualHandle;
Private | FShaderStyle: TGLShaderStyle;
Private | FUpdateCount: Integer;
Private | FShaderActive: Boolean;
Private | FFailedInitAction: TGLShaderFailedInitAction;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ShaderSupported: Boolean; virtual;
Public | function UnApply(var rci: TGLRenderContextInfo): Boolean;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; virtual;
Protected | function GetShaderInitialized: Boolean;
Protected | function GetStardardNotSupportedMessage: string; virtual;
Public | procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BeginUpdate;
Public | procedure EndUpdate;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); virtual;
Protected | procedure DoFinalize; virtual;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); virtual;
Protected | procedure FinalizeShader;
Protected | procedure HandleFailedInitialization(const LastErrorMessage: string = ''); virtual;
Protected | procedure InitializeShader(var rci: TGLRenderContextInfo; Sender: TObject);
Protected | procedure OnVirtualHandleAllocate(sender: TGLVirtualHandle; var handle: Cardinal);
Protected | procedure OnVirtualHandleDestroy(sender: TGLVirtualHandle; var handle: Cardinal);
Protected | procedure RegisterUser(libMat: TGLLibMaterial);
Protected | procedure SetEnabled(val: Boolean);
Protected | procedure UnRegisterUser(libMat: TGLLibMaterial);

Properties

Published | property Enabled: Boolean read FEnabled write SetEnabled default True;
Public | property FailedInitAction: TGLShaderFailedInitAction read FFailedInitAction write FFailedInitAction default fiaRaiseStandardException;
Protected | property ShaderActive: Boolean read FShaderActive;
Protected | property ShaderInitialized: Boolean read GetShaderInitialized;
Public | property ShaderStyle: TGLShaderStyle read FShaderStyle write FShaderStyle default ssLowLevel;

Description

Fields

Private FEnabled: Boolean;
Private FLibMatUsers: TList;
Private FVirtualHandle: TGLVirtualHandle;
Private FShaderStyle: TGLShaderStyle;
Private FUpdateCount: Integer;
Private FShaderActive: Boolean;
Private FFailedInitAction: TGLShaderFailedInitAction;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function ShaderSupported: Boolean; virtual;

Defines if shader is supported by hardware/drivers. Default - always supported. Descendants are encouraged to override this function.

Public function UnApply(var rci: TGLRenderContextInfo): Boolean;

UnApply shader. When returning True, the caller is expected to perform a multipass rendering by re-rendering then invoking UnApply again, until a "False" is returned.

Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; virtual;

Request to un-apply the shader. Subclasses can assume the shader has been applied previously. Return True to request a multipass.

Protected function GetShaderInitialized: Boolean;
Protected function GetStardardNotSupportedMessage: string; virtual;

May be this should be a function inside HandleFailedInitialization...

Public procedure Apply(var rci: TGLRenderContextInfo; Sender: TObject);

Apply shader to OpenGL state machine.

Public procedure Assign(Source: TPersistent); override;
Public procedure BeginUpdate;
Public procedure EndUpdate;
Public procedure NotifyChange(Sender: TObject); override;

Subclasses should invoke this function when shader properties are altered. This procedure can also be used to reset/recompile the shader.

Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); virtual;

Request to apply the shader. Always followed by a DoUnApply when the shader is no longer needed.

Protected procedure DoFinalize; virtual;

Invoked once, before the destruction of context or release of shader. The call happens with the OpenGL context being active.

Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); virtual;

Invoked once, before the first call to DoApply. The call happens with the OpenGL context being active.

Protected procedure FinalizeShader;
Protected procedure HandleFailedInitialization(const LastErrorMessage: string = ''); virtual;

Used by the DoInitialize procedure of descendant classes to raise errors.

Protected procedure InitializeShader(var rci: TGLRenderContextInfo; Sender: TObject);
Protected procedure OnVirtualHandleAllocate(sender: TGLVirtualHandle; var handle: Cardinal);
Protected procedure OnVirtualHandleDestroy(sender: TGLVirtualHandle; var handle: Cardinal);
Protected procedure RegisterUser(libMat: TGLLibMaterial);
Protected procedure SetEnabled(val: Boolean);
Protected procedure UnRegisterUser(libMat: TGLLibMaterial);

Properties

Published property Enabled: Boolean read FEnabled write SetEnabled default True;

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.

Public property FailedInitAction: TGLShaderFailedInitAction read FFailedInitAction write FFailedInitAction default fiaRaiseStandardException;

Defines what to do if for some reason shader failed to initialize. Note, that in some cases it cannon be determined by just checking the required OpenGL extentions. You need to try to compile and link the shader - only at that stage you might catch an error

Protected property ShaderActive: Boolean read FShaderActive;
Protected property ShaderInitialized: Boolean read GetShaderInitialized;
Public property ShaderStyle: TGLShaderStyle read FShaderStyle write FShaderStyle default ssLowLevel;

Shader application style (default is ssLowLevel).


GLSysHelp v.2.1: GLS.Material: Class TGLFaceProperties

Class TGLFaceProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLFaceProperties = class(TGLUpdateAbleObject)

Description

Stores basic face lighting properties. The lighting is described with the standard ambient/diffuse/emission/specular properties that behave like those of most rendering tools. You also have control over shininess (governs specular lighting) and polygon mode (lines / fill).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLFaceProperties

Overview

Fields

Private | FAmbient: TGLColor;
Private | FDiffuse: TGLColor;
Private | FSpecular: TGLColor;
Private | FEmission: TGLColor;
Private | FShininess: TGLShininess;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | procedure Apply(var rci: TGLRenderContextInfo; aFace: TGLCullFaceMode); inline;
Public | procedure ApplyNoLighting(var rci: TGLRenderContextInfo; aFace: TGLCullFaceMode); inline;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetAmbient(AValue: TGLColor);
Protected | procedure SetDiffuse(AValue: TGLColor);
Protected | procedure SetEmission(AValue: TGLColor);
Protected | procedure SetShininess(AValue: TGLShininess);
Protected | procedure SetSpecular(AValue: TGLColor);

Properties

Published | property Ambient: TGLColor read FAmbient write SetAmbient;
Published | property Diffuse: TGLColor read FDiffuse write SetDiffuse;
Published | property Emission: TGLColor read FEmission write SetEmission;
Published | property Shininess: TGLShininess read FShininess write SetShininess default 0;
Published | property Specular: TGLColor read FSpecular write SetSpecular;

Description

Fields

Private FAmbient: TGLColor;
Private FDiffuse: TGLColor;
Private FSpecular: TGLColor;
Private FEmission: TGLColor;
Private FShininess: TGLShininess;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public procedure Apply(var rci: TGLRenderContextInfo; aFace: TGLCullFaceMode); inline;
Public procedure ApplyNoLighting(var rci: TGLRenderContextInfo; aFace: TGLCullFaceMode); inline;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetAmbient(AValue: TGLColor);
Protected procedure SetDiffuse(AValue: TGLColor);
Protected procedure SetEmission(AValue: TGLColor);
Protected procedure SetShininess(AValue: TGLShininess);
Protected procedure SetSpecular(AValue: TGLColor);

Properties

Published property Ambient: TGLColor read FAmbient write SetAmbient;
Published property Diffuse: TGLColor read FDiffuse write SetDiffuse;
Published property Emission: TGLColor read FEmission write SetEmission;
Published property Shininess: TGLShininess read FShininess write SetShininess default 0;
Published property Specular: TGLColor read FSpecular write SetSpecular;


GLSysHelp v.2.1: GLS.Material: Class TGLDepthProperties

Class TGLDepthProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLDepthProperties = class(TGLUpdateAbleObject)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDepthProperties

Overview

Fields

Private | FDepthTest: boolean;
Private | FDepthWrite: boolean;
Private | FZNear: Single;
Private | FZFar: Single;
Private | FCompareFunc: TGLDepthfunction;
Private | FDepthClamp: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Protected | function StoreZFar: Boolean;
Protected | function StoreZNear: Boolean;
Public | procedure Apply(var rci: TGLRenderContextInfo);
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetCompareFunc(Value: TGLDepthCompareFunc);
Protected | procedure SetDepthClamp(Value: boolean);
Protected | procedure SetDepthTest(Value: boolean);
Protected | procedure SetDepthWrite(Value: boolean);
Protected | procedure SetZFar(Value: Single);
Protected | procedure SetZNear(Value: Single);

Properties

Published | property DepthClamp: Boolean read FDepthClamp write SetDepthClamp default False;
Published | property DepthCompareFunction: TGLDepthFunction read FCompareFunc write SetCompareFunc default cfLequal;
Published | property DepthTest: boolean read FDepthTest write SetDepthTest default True;
Published | property DepthWrite: boolean read FDepthWrite write SetDepthWrite default True;
Published | property ZFar: Single read FZFar write SetZFar stored StoreZFar;
Published | property ZNear: Single read FZNear write SetZNear stored StoreZNear;

Description

Fields

Private FDepthTest: boolean;
Private FDepthWrite: boolean;
Private FZNear: Single;
Private FZFar: Single;
Private FCompareFunc: TGLDepthfunction;
Private FDepthClamp: Boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Protected function StoreZFar: Boolean;
Protected function StoreZNear: Boolean;
Public procedure Apply(var rci: TGLRenderContextInfo);
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetCompareFunc(Value: TGLDepthCompareFunc);
Protected procedure SetDepthClamp(Value: boolean);
Protected procedure SetDepthTest(Value: boolean);
Protected procedure SetDepthWrite(Value: boolean);
Protected procedure SetZFar(Value: Single);
Protected procedure SetZNear(Value: Single);

Properties

Published property DepthClamp: Boolean read FDepthClamp write SetDepthClamp default False;

Enable clipping depth to the near and far planes

Published property DepthCompareFunction: TGLDepthFunction read FCompareFunc write SetCompareFunc default cfLequal;

Specifies the function used to compare each incoming pixel depth value with the depth value present in the depth buffer.

Published property DepthTest: boolean read FDepthTest write SetDepthTest default True;

DepthTest enabling. When DepthTest is enabled, objects closer to the camera will hide farther ones (via use of Z-Buffering). When DepthTest is disabled, the latest objects drawn/rendered overlap all previous objects, whatever their distance to the camera. Even when DepthTest is enabled, objects may chose to ignore depth testing through the osIgnoreDepthBuffer of their ObjectStyle property.

Published property DepthWrite: boolean read FDepthWrite write SetDepthWrite default True;

If True, object will not write to Z-Buffer.

Published property ZFar: Single read FZFar write SetZFar stored StoreZFar;

Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.

Published property ZNear: Single read FZNear write SetZNear stored StoreZNear;

Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.


GLSysHelp v.2.1: GLS.Material: Class TGLBlendingParameters

Class TGLBlendingParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLBlendingParameters = class(TGLUpdateAbleObject)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLBlendingParameters

Overview

Fields

Private | FUseAlphaFunc: Boolean;
Private | FUseBlendFunc: Boolean;
Private | FSeparateBlendFunc: Boolean;
Private | FAlphaFuncType: TGlAlphaFunc;
Private | FAlphaFuncRef: Single;
Private | FBlendFuncSFactor: TGLBlendFunction;
Private | FBlendFuncDFactor: TGLBlendFunction;
Private | FAlphaBlendFuncSFactor: TGLBlendFunction;
Private | FAlphaBlendFuncDFactor: TGLBlendFunction;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Private | function StoreAlphaFuncRef: Boolean;
Public | procedure Apply(var rci: TGLRenderContextInfo); inline;
Private | procedure SetAlphaBlendFuncDFactor(const Value: TGLBlendFunction);
Private | procedure SetAlphaBlendFuncSFactor(const Value: TGLBlendFunction);
Private | procedure SetAlphaFuncRef(const Value: Single);
Private | procedure SetAlphaFuncType(const Value: TGlAlphaFunc);
Private | procedure SetBlendFuncDFactor(const Value: TGLBlendFunction);
Private | procedure SetBlendFuncSFactor(const Value: TGLBlendFunction);
Private | procedure SetSeparateBlendFunc(const Value: Boolean);
Private | procedure SetUseAlphaFunc(const Value: Boolean);
Private | procedure SetUseBlendFunc(const Value: Boolean);

Properties

Published | property AlphaBlendFuncDFactor: TGLBlendFunction read FAlphaBlendFuncDFactor write SetAlphaBlendFuncDFactor default bfOneMinusSrcAlpha;
Published | property AlphaBlendFuncSFactor: TGLBlendFunction read FAlphaBlendFuncSFactor write SetAlphaBlendFuncSFactor default bfSrcAlpha;
Published | property AlphaFuncRef: Single read FAlphaFuncRef write SetAlphaFuncRef stored StoreAlphaFuncRef;
Published | property AlphaFunctType: TGlAlphaFunc read FAlphaFuncType write SetAlphaFuncType default cfGreater;
Published | property BlendFuncDFactor: TGLBlendFunction read FBlendFuncDFactor write SetBlendFuncDFactor default bfOneMinusSrcAlpha;
Published | property BlendFuncSFactor: TGLBlendFunction read FBlendFuncSFactor write SetBlendFuncSFactor default bfSrcAlpha;
Published | property SeparateBlendFunc: Boolean read FSeparateBlendFunc write SetSeparateBlendFunc default False;
Published | property UseAlphaFunc: Boolean read FUseAlphaFunc write SetUseAlphaFunc default False;
Published | property UseBlendFunc: Boolean read FUseBlendFunc write SetUseBlendFunc default True;

Description

Fields

Private FUseAlphaFunc: Boolean;
Private FUseBlendFunc: Boolean;
Private FSeparateBlendFunc: Boolean;
Private FAlphaFuncType: TGlAlphaFunc;
Private FAlphaFuncRef: Single;
Private FBlendFuncSFactor: TGLBlendFunction;
Private FBlendFuncDFactor: TGLBlendFunction;
Private FAlphaBlendFuncSFactor: TGLBlendFunction;
Private FAlphaBlendFuncDFactor: TGLBlendFunction;

Methods

Public constructor Create(AOwner: TPersistent); override;
Private function StoreAlphaFuncRef: Boolean;
Public procedure Apply(var rci: TGLRenderContextInfo); inline;
Private procedure SetAlphaBlendFuncDFactor(const Value: TGLBlendFunction);
Private procedure SetAlphaBlendFuncSFactor(const Value: TGLBlendFunction);
Private procedure SetAlphaFuncRef(const Value: Single);
Private procedure SetAlphaFuncType(const Value: TGlAlphaFunc);
Private procedure SetBlendFuncDFactor(const Value: TGLBlendFunction);
Private procedure SetBlendFuncSFactor(const Value: TGLBlendFunction);
Private procedure SetSeparateBlendFunc(const Value: Boolean);
Private procedure SetUseAlphaFunc(const Value: Boolean);
Private procedure SetUseBlendFunc(const Value: Boolean);

Properties

Published property AlphaBlendFuncDFactor: TGLBlendFunction read FAlphaBlendFuncDFactor write SetAlphaBlendFuncDFactor default bfOneMinusSrcAlpha;
Published property AlphaBlendFuncSFactor: TGLBlendFunction read FAlphaBlendFuncSFactor write SetAlphaBlendFuncSFactor default bfSrcAlpha;
Published property AlphaFuncRef: Single read FAlphaFuncRef write SetAlphaFuncRef stored StoreAlphaFuncRef;
Published property AlphaFunctType: TGlAlphaFunc read FAlphaFuncType write SetAlphaFuncType default cfGreater;
Published property BlendFuncDFactor: TGLBlendFunction read FBlendFuncDFactor write SetBlendFuncDFactor default bfOneMinusSrcAlpha;
Published property BlendFuncSFactor: TGLBlendFunction read FBlendFuncSFactor write SetBlendFuncSFactor default bfSrcAlpha;
Published property SeparateBlendFunc: Boolean read FSeparateBlendFunc write SetSeparateBlendFunc default False;
Published property UseAlphaFunc: Boolean read FUseAlphaFunc write SetUseAlphaFunc default False;
Published property UseBlendFunc: Boolean read FUseBlendFunc write SetUseBlendFunc default True;


GLSysHelp v.2.1: GLS.Material: Class TGLMaterial

Class TGLMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLMaterial = class(TGLUpdateAbleObject, IGLMaterialLibrarySupported, IGLTextureNotifyAble)

Description

Describes a rendering material. A material is basically a set of face properties (front and back) that take care of standard material rendering parameters (diffuse, ambient, emission and specular) and texture mapping. An instance of this class is available for almost all objects in GLScene to allow quick definition of material properties. It can link to a TGLLibMaterial (taken for a material library). The TGLLibMaterial has more advanced properties (like texture transforms) and provides a standard way of sharing definitions and texture maps.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLMaterial

Overview

Fields

Private | FFrontProperties: TGLFaceProperties;
Private | FBackProperties: TGLFaceProperties;
Private | FDepthProperties: TGLDepthProperties;
Private | FBlendingMode: TGLBlendingMode;
Private | FBlendingParams: TGLBlendingParameters;
Private | FTexture: TGLTexture;
Private | FTextureEx: TGLTextureEx;
Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FLibMaterialName: TGLLibMaterialName;
Private | FMaterialOptions: TGLMaterialOptions;
Private | FFaceCulling: TGLFaceCulling;
Private | FPolygonMode: TGLPolygonMode;
Private | currentLibMaterial: TGLAbstractLibMaterial;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function Blended: Boolean; inline;
Public | function GetActualPrimaryMaterial: TGLMaterial;
Public | function GetActualPrimaryTexture: TGLTexture;
Public | function GetLibMaterial: TGLLibMaterial;
Public | function HasSecondaryTexture: Boolean;
Public | function MaterialIsLinkedToLib: Boolean; inline;
Public | function UnApply(var rci: TGLRenderContextInfo): Boolean; inline;
Protected | function GetBackProperties: TGLFaceProperties; inline;
Protected | function GetTexture: TGLTexture;
Protected | function GetTextureEx: TGLTextureEx;
Protected | function StoreMaterialProps: Boolean;
Protected | function StoreTextureEx: Boolean;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | procedure Apply(var rci: TGLRenderContextInfo);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DestroyHandles;
Public | procedure Loaded;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure NotifyTexMapChange(Sender: TObject);
Public | procedure PrepareBuildList; inline;
Public | procedure QuickAssignMaterial(const MaterialLibrary: TGLMaterialLibrary; const Material: TGLLibMaterial);
Protected | procedure NotifyLibMaterialDestruction;
Protected | procedure SetBackProperties(Values: TGLFaceProperties);
Protected | procedure SetBlendingMode(const val: TGLBlendingMode);
Protected | procedure SetBlendingParams(const Value: TGLBlendingParameters);
Protected | procedure SetDepthProperties(Values: TGLDepthProperties);
Protected | procedure SetFaceCulling(const val: TGLFaceCulling);
Protected | procedure SetFrontProperties(Values: TGLFaceProperties);
Protected | procedure SetLibMaterialName(const val: TGLLibMaterialName);
Protected | procedure SetMaterialLibrary(const val: TGLAbstractMaterialLibrary);
Protected | procedure SetMaterialOptions(const val: TGLMaterialOptions);
Protected | procedure SetPolygonMode(AValue: TGLPolygonMode);
Protected | procedure SetTexture(ATexture: TGLTexture);
Protected | procedure SetTextureEx(const value: TGLTextureEx);

Properties

Published | property BackProperties: TGLFaceProperties read GetBackProperties write SetBackProperties stored StoreMaterialProps;
Published | property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode stored StoreMaterialProps default bmOpaque;
Published | property BlendingParams: TGLBlendingParameters read FBlendingParams write SetBlendingParams;
Published | property DepthProperties: TGLDepthProperties read FDepthProperties write SetDepthProperties stored StoreMaterialProps;
Published | property FaceCulling: TGLFaceCulling read FFaceCulling write SetFaceCulling default fcBufferDefault;
Published | property FrontProperties: TGLFaceProperties read FFrontProperties write SetFrontProperties stored StoreMaterialProps;
Published | property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;
Published | property MaterialLibrary: TGLAbstractMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property MaterialOptions: TGLMaterialOptions read FMaterialOptions write SetMaterialOptions default [];
Published | property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode default pmFill;
Published | property Texture: TGLTexture read GetTexture write SetTexture stored StoreMaterialProps;
Published | property TextureEx: TGLTextureEx read GetTextureEx write SetTextureEx stored StoreTextureEx;

Description

Fields

Private FFrontProperties: TGLFaceProperties;
Private FBackProperties: TGLFaceProperties;
Private FDepthProperties: TGLDepthProperties;
Private FBlendingMode: TGLBlendingMode;
Private FBlendingParams: TGLBlendingParameters;
Private FTexture: TGLTexture;
Private FTextureEx: TGLTextureEx;
Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FLibMaterialName: TGLLibMaterialName;
Private FMaterialOptions: TGLMaterialOptions;
Private FFaceCulling: TGLFaceCulling;
Private FPolygonMode: TGLPolygonMode;
Private currentLibMaterial: TGLAbstractLibMaterial;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function Blended: Boolean; inline;

Returns True if the material is blended. Will return the libmaterial's blending if it is linked to a material library.

Public function GetActualPrimaryMaterial: TGLMaterial;

Gets the primary Material either from material library or the texture property

Public function GetActualPrimaryTexture: TGLTexture;

Gets the primary texture either from material library or the texture property

Public function GetLibMaterial: TGLLibMaterial;

Return the LibMaterial (see LibMaterialName)

Public function HasSecondaryTexture: Boolean;

True if the material has a secondary texture

Public function MaterialIsLinkedToLib: Boolean; inline;

True if the material comes from the library instead of the texture property

Public function UnApply(var rci: TGLRenderContextInfo): Boolean; inline;

Restore non-standard material states that were altered; A return value of True is a multipass request.

Protected function GetBackProperties: TGLFaceProperties; inline;
Protected function GetTexture: TGLTexture;
Protected function GetTextureEx: TGLTextureEx;
Protected function StoreMaterialProps: Boolean;

Back, Front, Texture and blending not stored if linked to a LibMaterial

Protected function StoreTextureEx: Boolean;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Public procedure Apply(var rci: TGLRenderContextInfo);
Public procedure Assign(Source: TPersistent); override;
Public procedure DestroyHandles;
Public procedure Loaded;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure NotifyTexMapChange(Sender: TObject);
Public procedure PrepareBuildList; inline;
Public procedure QuickAssignMaterial(const MaterialLibrary: TGLMaterialLibrary; const Material: TGLLibMaterial);
Protected procedure NotifyLibMaterialDestruction;
Protected procedure SetBackProperties(Values: TGLFaceProperties);
Protected procedure SetBlendingMode(const val: TGLBlendingMode);
Protected procedure SetBlendingParams(const Value: TGLBlendingParameters);
Protected procedure SetDepthProperties(Values: TGLDepthProperties);
Protected procedure SetFaceCulling(const val: TGLFaceCulling);
Protected procedure SetFrontProperties(Values: TGLFaceProperties);
Protected procedure SetLibMaterialName(const val: TGLLibMaterialName);
Protected procedure SetMaterialLibrary(const val: TGLAbstractMaterialLibrary);
Protected procedure SetMaterialOptions(const val: TGLMaterialOptions);
Protected procedure SetPolygonMode(AValue: TGLPolygonMode);
Protected procedure SetTexture(ATexture: TGLTexture);
Protected procedure SetTextureEx(const value: TGLTextureEx);

Properties

Published property BackProperties: TGLFaceProperties read GetBackProperties write SetBackProperties stored StoreMaterialProps;
Published property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode stored StoreMaterialProps default bmOpaque;
Published property BlendingParams: TGLBlendingParameters read FBlendingParams write SetBlendingParams;
Published property DepthProperties: TGLDepthProperties read FDepthProperties write SetDepthProperties stored StoreMaterialProps;
Published property FaceCulling: TGLFaceCulling read FFaceCulling write SetFaceCulling default fcBufferDefault;
Published property FrontProperties: TGLFaceProperties read FFrontProperties write SetFrontProperties stored StoreMaterialProps;
Published property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;
Published property MaterialLibrary: TGLAbstractMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property MaterialOptions: TGLMaterialOptions read FMaterialOptions write SetMaterialOptions default [];
Published property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode default pmFill;
Published property Texture: TGLTexture read GetTexture write SetTexture stored StoreMaterialProps;
Published property TextureEx: TGLTextureEx read GetTextureEx write SetTextureEx stored StoreTextureEx;


GLSysHelp v.2.1: GLS.Material: Class TGLAbstractLibMaterial

Class TGLAbstractLibMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLAbstractLibMaterial = class(TCollectionItem, IGLMaterialLibrarySupported, IGLNotifyAble)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLAbstractLibMaterial

Overview

Fields

Protected | FUserList: TList;
Protected | FName: TGLLibMaterialName;
Protected | FNameHashKey: Integer;
Protected | FTag: Integer;
Protected | FNotifying: Boolean;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Public | function Blended: Boolean; virtual;
Public | function IsUsed: boolean;
Public | function UnApply(var ARci: TGLRenderContextInfo): Boolean; virtual;
Protected | class function ComputeNameHashKey(const name: string): Integer;
Protected | function GetDisplayName: string; override;
Protected | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Protected | function _AddRef: Integer; stdcall;
Protected | function _Release: Integer; stdcall;
Public | procedure Apply(var ARci: TGLRenderContextInfo); virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange(Sender: TObject); virtual;
Public | procedure NotifyUsers;
Public | procedure RegisterUser(libMaterial: TGLLibMaterial); overload;
Public | procedure RegisterUser(comp: TGLUpdateAbleComponent); overload;
Public | procedure RegisterUser(obj: TGLUpdateAbleObject); overload;
Public | procedure UnregisterUser(obj: TGLUpdateAbleObject); overload;
Public | procedure UnregisterUser(comp: TGLUpdateAbleComponent); overload;
Public | procedure UnregisterUser(libMaterial: TGLLibMaterial); overload;
Protected | procedure Loaded; virtual;
Protected | procedure SetName(const val: TGLLibMaterialName);

Properties

Public | property MaterialLibrary: TGLAbstractMaterialLibrary read GetMaterialLibrary;
Published | property Name: TGLLibMaterialName read FName write SetName;
Public | property NameHashKey: Integer read FNameHashKey;
Published | property Tag: Integer read FTag write FTag;

Description

Fields

Protected FUserList: TList;
Protected FName: TGLLibMaterialName;
Protected FNameHashKey: Integer;
Protected FTag: Integer;
Protected FNotifying: Boolean;

Used for recursivity protection

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Public function Blended: Boolean; virtual;
Public function IsUsed: boolean;

Returns true if the texture has registed users

Public function UnApply(var ARci: TGLRenderContextInfo): Boolean; virtual;

Restore non-standard material states that were altered

Protected class function ComputeNameHashKey(const name: string): Integer;
Protected function GetDisplayName: string; override;
Protected function GetMaterialLibrary: TGLAbstractMaterialLibrary;

implementing IGLMaterialLibrarySupported

Protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

Implementing IInterface

Protected function _AddRef: Integer; stdcall;
Protected function _Release: Integer; stdcall;
Public procedure Apply(var ARci: TGLRenderContextInfo); virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange(Sender: TObject); virtual;
Public procedure NotifyUsers;
Public procedure RegisterUser(libMaterial: TGLLibMaterial); overload;
Public procedure RegisterUser(comp: TGLUpdateAbleComponent); overload;
Public procedure RegisterUser(obj: TGLUpdateAbleObject); overload;
Public procedure UnregisterUser(obj: TGLUpdateAbleObject); overload;
Public procedure UnregisterUser(comp: TGLUpdateAbleComponent); overload;
Public procedure UnregisterUser(libMaterial: TGLLibMaterial); overload;
Protected procedure Loaded; virtual;
Protected procedure SetName(const val: TGLLibMaterialName);

Properties

Public property MaterialLibrary: TGLAbstractMaterialLibrary read GetMaterialLibrary;
Published property Name: TGLLibMaterialName read FName write SetName;
Public property NameHashKey: Integer read FNameHashKey;
Published property Tag: Integer read FTag write FTag;


GLSysHelp v.2.1: GLS.Material: Class TGLLibMaterial

Class TGLLibMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLLibMaterial = class(TGLAbstractLibMaterial, IGLTextureNotifyAble)

Description

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).

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLAbstractLibMaterial
  • TGLLibMaterial

Overview

Fields

Private | FMaterial: TGLMaterial;
Private | FTextureOffset: TGLCoordinates;
Private | FTextureScale: TGLCoordinates;
Private | FTextureRotate: Single;
Private | FTextureMatrixIsIdentity: Boolean;
Private | FTextureOverride: Boolean;
Private | FTextureMatrix: TGLMatrix;
Private | FTexture2Name: TGLLibMaterialName;
Private | FShader: TGLShader;
Private | libMatTexture2: TGLLibMaterial;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Public | function Blended: Boolean; override;
Public | function UnApply(var ARci: TGLRenderContextInfo): Boolean; override;
Protected | function StoreTextureRotate: Boolean;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyTexMapChange(Sender: TObject);
Public | procedure NotifyUsersOfTexMapChange;
Public | procedure PrepareBuildList;
Protected | procedure CalculateTextureMatrix;
Protected | procedure DestroyHandles;
Protected | procedure DoOnTextureNeeded(Sender: TObject; var textureFileName: string);
Protected | procedure Loaded; override;
Protected | procedure OnNotifyChange(Sender: TObject);
Protected | procedure SetMaterial(const val: TGLMaterial);
Protected | procedure SetShader(const val: TGLShader);
Protected | procedure SetTexture2Name(const val: TGLLibMaterialName);
Protected | procedure SetTextureMatrix(const Value: TGLMatrix);
Protected | procedure SetTextureOffset(const val: TGLCoordinates);
Protected | procedure SetTextureRotate(Value: Single);
Protected | procedure SetTextureScale(const val: TGLCoordinates);

Properties

Published | property Material: TGLMaterial read FMaterial write SetMaterial;
Published | property Shader: TGLShader read FShader write SetShader;
Published | property Texture2Name: TGLLibMaterialName read FTexture2Name write SetTexture2Name;
Public | property TextureMatrix: TGLMatrix read FTextureMatrix write SetTextureMatrix;
Public | property TextureMatrixIsIdentity: boolean read FTextureMatrixIsIdentity;
Published | property TextureOffset: TGLCoordinates read FTextureOffset write SetTextureOffset;
Published | property TextureRotate: Single read FTextureRotate write SetTextureRotate stored StoreTextureRotate;
Published | property TextureScale: TGLCoordinates read FTextureScale write SetTextureScale;

Description

Fields

Private FMaterial: TGLMaterial;
Private FTextureOffset: TGLCoordinates;
Private FTextureScale: TGLCoordinates;
Private FTextureRotate: Single;
Private FTextureMatrixIsIdentity: Boolean;
Private FTextureOverride: Boolean;
Private FTextureMatrix: TGLMatrix;
Private FTexture2Name: TGLLibMaterialName;
Private FShader: TGLShader;
Private libMatTexture2: TGLLibMaterial;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Public function Blended: Boolean; override;
Public function UnApply(var ARci: TGLRenderContextInfo): Boolean; override;

Restore non-standard material states that were altered

Protected function StoreTextureRotate: Boolean;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyTexMapChange(Sender: TObject);
Public procedure NotifyUsersOfTexMapChange;
Public procedure PrepareBuildList;
Protected procedure CalculateTextureMatrix;
Protected procedure DestroyHandles;
Protected procedure DoOnTextureNeeded(Sender: TObject; var textureFileName: string);
Protected procedure Loaded; override;

internal cache

Protected procedure OnNotifyChange(Sender: TObject);
Protected procedure SetMaterial(const val: TGLMaterial);
Protected procedure SetShader(const val: TGLShader);
Protected procedure SetTexture2Name(const val: TGLLibMaterialName);
Protected procedure SetTextureMatrix(const Value: TGLMatrix);
Protected procedure SetTextureOffset(const val: TGLCoordinates);
Protected procedure SetTextureRotate(Value: Single);
Protected procedure SetTextureScale(const val: TGLCoordinates);

Properties

Published property Material: TGLMaterial read FMaterial write SetMaterial;
Published property Shader: TGLShader read FShader write SetShader;

Optionnal shader for the material.

Published property Texture2Name: TGLLibMaterialName read FTexture2Name write SetTexture2Name;

Reference to the second texture. The referred LibMaterial *must* be in the same material library. Second textures are supported only through ARB multitexturing (ignored if not supported).

Public property TextureMatrix: TGLMatrix read FTextureMatrix write SetTextureMatrix;
Public property TextureMatrixIsIdentity: boolean read FTextureMatrixIsIdentity;
Published property TextureOffset: TGLCoordinates read FTextureOffset write SetTextureOffset;

Texture offset in texture coordinates. The offset is applied after scaling

Published property TextureRotate: Single read FTextureRotate write SetTextureRotate stored StoreTextureRotate;
Published property TextureScale: TGLCoordinates read FTextureScale write SetTextureScale;

Texture coordinates scaling. Scaling is applied <i>before</i> applying the offset, and is applied to the texture coordinates, meaning that a scale factor of (2, 2, 2) will make your texture look twice smaller


GLSysHelp v.2.1: GLS.Material: Class TGLAbstractLibMaterials

Class TGLAbstractLibMaterials

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLAbstractLibMaterials = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLAbstractLibMaterials

Overview

Methods

Public | function MakeUniqueName(const nameRoot: TGLLibMaterialName): TGLLibMaterialName;
Protected | function GetMaterial(const AName: TGLLibMaterialName): TGLAbstractLibMaterial; inline;
Protected | procedure Loaded;

Description

Methods

Public function MakeUniqueName(const nameRoot: TGLLibMaterialName): TGLLibMaterialName;
Protected function GetMaterial(const AName: TGLLibMaterialName): TGLAbstractLibMaterial; inline;
Protected procedure Loaded;


GLSysHelp v.2.1: GLS.Material: Class TGLLibMaterials

Class TGLLibMaterials

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLLibMaterials = class(TGLAbstractLibMaterials)

Description

A collection of materials, mainly used in material libraries.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLAbstractLibMaterials
  • TGLLibMaterials

Overview

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLLibMaterial;
Public | function FindItemID(ID: Integer): TGLLibMaterial;
Public | function GetLibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;
Public | function GetMaterialIndex(const Material: TGLMaterial): Integer;
Public | function GetNameOfLibMaterial(const Material: TGLLibMaterial): TGLLibMaterialName;
Public | function GetNameOfTexture(const Texture: TGLTexture): TGLLibMaterialName;
Public | function GetTextureIndex(const Texture: TGLTexture): Integer;
Public | function IndexOf(const Item: TGLLibMaterial): Integer;
Public | function Owner: TPersistent;
Protected | function GetItems(index: Integer): TGLLibMaterial;
Public | procedure DeleteUnusedMaterials;
Public | procedure PrepareBuildList;
Protected | procedure DestroyHandles;
Protected | procedure SetItems(index: Integer; const val: TGLLibMaterial);

Properties

Public property Items[index:Integer]: TGLLibMaterial read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLLibMaterial;
Public function FindItemID(ID: Integer): TGLLibMaterial;
Public function GetLibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;
Public function GetMaterialIndex(const Material: TGLMaterial): Integer;

Returns index of this Material if it exists.

Public function GetNameOfLibMaterial(const Material: TGLLibMaterial): TGLLibMaterialName;

Returns name of this Material if it exists.

Public function GetNameOfTexture(const Texture: TGLTexture): TGLLibMaterialName;

Returns name of this Texture if it exists.

Public function GetTextureIndex(const Texture: TGLTexture): Integer;

Returns index of this Texture if it exists.

Public function IndexOf(const Item: TGLLibMaterial): Integer;
Public function Owner: TPersistent;
Protected function GetItems(index: Integer): TGLLibMaterial;
Public procedure DeleteUnusedMaterials;

Deletes all the unused materials in the collection. A material is considered unused if no other material or updateable object references it. WARNING: For this to work, objects that use the textuere, have to REGISTER to the texture.

Public procedure PrepareBuildList;
Protected procedure DestroyHandles;
Protected procedure SetItems(index: Integer; const val: TGLLibMaterial);

Properties

Public property Items[index:Integer]: TGLLibMaterial read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Material: Class TGLAbstractMaterialLibrary

Class TGLAbstractMaterialLibrary

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLAbstractMaterialLibrary = class(TGLCadenceAbleComponent)

Description

No description available, ancestor TGLCadenceAbleComponent description follows

A base class describing the "cadenceing" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLAbstractMaterialLibrary

Overview

Fields

Protected | FMaterials: TGLAbstractLibMaterials;
Protected | FLastAppliedMaterial: TGLAbstractLibMaterial;
Protected | FTexturePaths: string;
Protected | FTexturePathList: TStringList;

Methods

Public | function ApplyMaterial(const AName: string; var ARci: TGLRenderContextInfo): Boolean;
Public | function UnApplyMaterial(var ARci: TGLRenderContextInfo): Boolean;
Public | procedure SetNamesToTStrings(AStrings: TStrings);
Protected | procedure Loaded; override;
Protected | procedure SetTexturePaths(const val: string);

Properties

Protected property TexturePaths: string read FTexturePaths write SetTexturePaths;

Description

Fields

Protected FMaterials: TGLAbstractLibMaterials;
Protected FLastAppliedMaterial: TGLAbstractLibMaterial;
Protected FTexturePaths: string;
Protected FTexturePathList: TStringList;

Methods

Public function ApplyMaterial(const AName: string; var ARci: TGLRenderContextInfo): Boolean;

Applies the material of given name. Returns False if the material could not be found. ake sure this call is balanced with a corresponding UnApplyMaterial (or an assertion will be triggered in the destructor). If a material is already applied, and has not yet been unapplied, an assertion will be triggered.

Public function UnApplyMaterial(var ARci: TGLRenderContextInfo): Boolean;

Un-applies the last applied material. Use this function in conjunction with ApplyMaterial. If no material was applied, an assertion will be triggered.

Public procedure SetNamesToTStrings(AStrings: TStrings);
Protected procedure Loaded; override;
Protected procedure SetTexturePaths(const val: string);

Properties

Protected property TexturePaths: string read FTexturePaths write SetTexturePaths;


GLSysHelp v.2.1: GLS.Material: Class TGLMaterialLibrary

Class TGLMaterialLibrary

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Material

Declaration

type TGLMaterialLibrary = class(TGLAbstractMaterialLibrary)

Description

Stores a set of materials, to be used and shared by scene objects. Use a material libraries for storing commonly used materials, it provides an efficient way to share texture and material data among many objects, thus reducing memory needs and rendering time. Materials in a material library also feature advanced control properties like texture coordinates transforms.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLAbstractMaterialLibrary
  • TGLMaterialLibrary

Overview

Fields

Private | FDoNotClearMaterialsOnLoad: Boolean;
Private | FOnTextureNeeded: TGLTextureNeededEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AddTextureMaterial(const materialName: string; graphic: TGraphic): TGLLibMaterial; overload;
Public | function AddTextureMaterial(const materialName, fileName: string; persistent: Boolean = True): TGLLibMaterial; overload;
Public | function GetNameOfLibMaterial(const LibMat: TGLLibMaterial): TGLLibMaterialName;
Public | function GetNameOfTexture(const Texture: TGLTexture): TGLLibMaterialName;
Public | function LibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;
Public | function TextureByName(const LibMatName: TGLLibMaterialName): TGLTexture;
Protected | function GetMaterials: TGLLibMaterials;
Protected | function StoreMaterials: Boolean;
Public | procedure AddMaterialsFromFile(const fileName: string);
Public | procedure AddMaterialsFromStream(aStream: TStream);
Public | procedure DestroyHandles;
Public | procedure LoadFromFile(const fileName: string);
Public | procedure LoadFromStream(aStream: TStream); virtual;
Public | procedure ReadFromFiler(reader: TVirtualReader);
Public | procedure SaveToFile(const fileName: string);
Public | procedure SaveToStream(aStream: TStream); virtual;
Public | procedure WriteToFiler(writer: TVirtualWriter);
Protected | procedure SetMaterials(const val: TGLLibMaterials);

Properties

Published | property Materials: TGLLibMaterials read GetMaterials write SetMaterials stored StoreMaterials;
Published | property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write FOnTextureNeeded;
Published | property TexturePaths;

Description

Fields

Private FDoNotClearMaterialsOnLoad: Boolean;
Private FOnTextureNeeded: TGLTextureNeededEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AddTextureMaterial(const materialName: string; graphic: TGraphic): TGLLibMaterial; overload;

Add a "standard" texture material. TGLGraphic based variant.

Public function AddTextureMaterial(const materialName, fileName: string; persistent: Boolean = True): TGLLibMaterial; overload;

Add a "standard" texture material. "standard" means linear texturing mode with mipmaps and texture modulation mode with default-strength color components. If persistent is True, the image will be loaded persistently in memory (via a TGLPersistentImage), if false, it will be unloaded after upload to OpenGL (via TGLPicFileImage).

Public function GetNameOfLibMaterial(const LibMat: TGLLibMaterial): TGLLibMaterialName;

Returns name of Material if any exists.

Public function GetNameOfTexture(const Texture: TGLTexture): TGLLibMaterialName;

Returns name of texture if any exists.

Public function LibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterial;

Returns libMaterial of given name if any exists.

Public function TextureByName(const LibMatName: TGLLibMaterialName): TGLTexture;

Returns Texture of given material's name if any exists.

Protected function GetMaterials: TGLLibMaterials;
Protected function StoreMaterials: Boolean;
Public procedure AddMaterialsFromFile(const fileName: string);
Public procedure AddMaterialsFromStream(aStream: TStream);
Public procedure DestroyHandles;
Public procedure LoadFromFile(const fileName: string);
Public procedure LoadFromStream(aStream: TStream); virtual;
Public procedure ReadFromFiler(reader: TVirtualReader);
Public procedure SaveToFile(const fileName: string);

Save library content to a file. Recommended extension : .GLML Currently saves only texture, ambient, diffuse, emission and specular colors.

Public procedure SaveToStream(aStream: TStream); virtual;
Public procedure WriteToFiler(writer: TVirtualWriter);
Protected procedure SetMaterials(const val: TGLLibMaterials);

Properties

Published property Materials: TGLLibMaterials read GetMaterials write SetMaterials stored StoreMaterials;

The materials collection.

Published property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write FOnTextureNeeded;

This event is fired whenever a texture needs to be loaded from disk. The event is triggered before even attempting to load the texture, and before TexturePaths is used.

Published property TexturePaths;

Paths to lookup when attempting to load a texture. You can specify multiple paths when loading a texture, the separator being the semi-colon ';' character. Directories are looked up from first to last, the first file name match is used. The current directory is always implicit and checked last. Note that you can also use the OnTextureNeeded event to provide a filename.


GLSysHelp v.2.1: GLS.MaterialEx

Unit GLS.MaterialEx

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • System.Math
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.RenderContextInfo
  • GLS.PipelineTransformation
  • GLS.BaseClasses
  • GLS.Context
  • GLS.VectorTypes
  • GLS.Material
  • GLS.Texture
  • GLS.Color
  • GLS.Coordinates
  • GLS.VectorGeometry
  • GLS.Graphics
  • GLS.PersistentClasses
  • GLS.State
  • GLS.TextureFormat
  • GLS.XCollection
  • GLS.TextureCombiners
  • GLSL.ShaderParameter
  • GLS.ApplicationFileIO
  • GLS.Strings
  • GLS.ImageUtils
  • GLS.Utils
  • GLS.XOpenGL
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseMaterialCollectionItem |
Class TGLLibMaterialProperty |
Class TGLTextureSampler |
Class TGLAbstractTexture |
Class TGLTextureImageEx |
Class TGLFrameBufferAttachment |
Class TGLTextureSwizzling |
Class TGLTextureProperties |
Class TGLFixedFunctionProperties |
Class TGLTextureCombiner |
Class TGLASMVertexProgram |
Class TGLMultitexturingProperties |
Class TGLShaderEx |
Class TGLAbstractShaderUniform |
Class TGLShaderUniform |
Class TGLShaderUniformDSA |
Class TGLShaderUniformTexture |
Class TGLBaseShaderModel |
Class TGLShaderModel3 |
Class TGLShaderModel4 |
Class TGLShaderModel5 |
Class TGLLibMaterialEx |
Class TGLLibMaterialsEx |
Class TGLMatLibComponents |
Class TGLMaterialLibraryEx |

Functions and Procedures

procedure RegisterGLMaterialExNameChangeEvent(AEvent: TNotifyEvent);
procedure DeRegisterGLMaterialExNameChangeEvent(AEvent: TNotifyEvent);

Types

CGLAbstractShaderUniform = class of TGLAbstractShaderUniform;
CGLBaseMaterialCollectionItem = class of TGLBaseMaterialCollectionItem;
TGLMaterialComponentName = string;
TGLShaderType = (...);
TLightDir2TexEnvColor = (...);
TMipmapGenerationMode = (...);
TOnAsmProgSetting = procedure(Sender: TGLASMVertexProgram; var ARci: TGLRenderContextInfo) of object;
TOnUniformInitialize = procedure(Sender: TGLBaseShaderModel) of object;
TOnUniformSetting = procedure(Sender: TGLBaseShaderModel; var ARci: TGLRenderContextInfo) of object;

Description

Functions and Procedures

procedure RegisterGLMaterialExNameChangeEvent(AEvent: TNotifyEvent);
procedure DeRegisterGLMaterialExNameChangeEvent(AEvent: TNotifyEvent);

Types

CGLAbstractShaderUniform = class of TGLAbstractShaderUniform;
CGLBaseMaterialCollectionItem = class of TGLBaseMaterialCollectionItem;
TGLMaterialComponentName = string;
TGLShaderType = (...);
Values
  • shtVertex
  • shtControl
  • shtEvaluation
  • shtGeometry
  • shtFragment
TLightDir2TexEnvColor = (...);
Values
  • l2eNone
  • l2eEnvColor0
  • l2eEnvColor1
  • l2eEnvColor2
  • l2eEnvColor3
TMipmapGenerationMode = (...);
Values
  • mgmNoMip
  • mgmLeaveExisting
  • mgmOnFly
  • mgmBoxFilter
  • mgmTriangleFilter
  • mgmHermiteFilter
  • mgmBellFilter
  • mgmSplineFilter
  • mgmLanczos3Filter
  • mgmMitchellFilter
TOnAsmProgSetting = procedure(Sender: TGLASMVertexProgram; var ARci: TGLRenderContextInfo) of object;
TOnUniformInitialize = procedure(Sender: TGLBaseShaderModel) of object;
TOnUniformSetting = procedure(Sender: TGLBaseShaderModel; var ARci: TGLRenderContextInfo) of object;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLBaseMaterialCollectionItem

Class TGLBaseMaterialCollectionItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLBaseMaterialCollectionItem = class(TXCollectionItem, IGLMaterialLibrarySupported)

Description

No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem

Overview

Fields

Private | FNameHashKey: Integer;
Private | FUserList: TPersistentObjectList;
Private | FDefferedInit: Boolean;
Private | FNotifying: Boolean;
Private | FIsValid: Boolean;

Methods

Public | destructor Destroy; override;
Public | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | function GetUserCount: Integer;
Private | function GetMaterialLibraryEx: TGLMaterialLibraryEx;
Private | function GetUserList: TPersistentObjectList;
Public | procedure RegisterUser(AUser: TGLUpdateAbleObject);
Public | procedure UnregisterUser(AUser: TGLUpdateAbleObject);
Protected | procedure DoOnPrepare(Sender: TGLContext); virtual; abstract;
Protected | procedure NotifyChange(Sender: TObject); virtual;
Protected | procedure SetName(const AValue: TGLMaterialComponentName); override;

Properties

Published | property DefferedInit: Boolean read FDefferedInit write FDefferedInit default False;
Public | property IsValid: Boolean read FIsValid;
Public | property MaterialLibrary: TGLMaterialLibraryEx read GetMaterialLibraryEx;
Published | property Name: TGLMaterialComponentName read GetName write SetName;
Protected | property UserList: TPersistentObjectList read GetUserList;

Description

Fields

Private FNameHashKey: Integer;
Private FUserList: TPersistentObjectList;
Private FDefferedInit: Boolean;
Private FNotifying: Boolean;
Private FIsValid: Boolean;

Methods

Public destructor Destroy; override;
Public function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public function GetUserCount: Integer;
Private function GetMaterialLibraryEx: TGLMaterialLibraryEx;
Private function GetUserList: TPersistentObjectList;
Public procedure RegisterUser(AUser: TGLUpdateAbleObject);
Public procedure UnregisterUser(AUser: TGLUpdateAbleObject);
Protected procedure DoOnPrepare(Sender: TGLContext); virtual; abstract;
Protected procedure NotifyChange(Sender: TObject); virtual;
Protected procedure SetName(const AValue: TGLMaterialComponentName); override;

Properties

Published property DefferedInit: Boolean read FDefferedInit write FDefferedInit default False;

Run-time flag, indicate that resource should initialize in case of failure material's level.

Public property IsValid: Boolean read FIsValid;
Public property MaterialLibrary: TGLMaterialLibraryEx read GetMaterialLibraryEx;
Published property Name: TGLMaterialComponentName read GetName write SetName;
Protected property UserList: TPersistentObjectList read GetUserList;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLLibMaterialProperty

Class TGLLibMaterialProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLLibMaterialProperty = class(TGLUpdateAbleObject, IGLMaterialLibrarySupported)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty

Overview

Fields

Protected | FEnabled: Boolean;
Protected | FNextPassName: TGLLibMaterialName;

Methods

Public | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | function GetMaterial: TGLLibMaterialEx;
Protected | function GetMaterialLibraryEx: TGLMaterialLibraryEx;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure Loaded; virtual;
Protected | procedure SetEnabled(AValue: Boolean); virtual;
Protected | procedure SetNextPass(const AValue: TGLLibMaterialName);

Properties

Published | property Enabled: Boolean read FEnabled write SetEnabled;
Public | property MaterialLibrary: TGLMaterialLibraryEx read GetMaterialLibraryEx;
Protected | property NextPass: TGLLibMaterialName read FNextPassName write SetNextPass;

Description

Fields

Protected FEnabled: Boolean;
Protected FNextPassName: TGLLibMaterialName;

Methods

Public function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected function GetMaterial: TGLLibMaterialEx;
Protected function GetMaterialLibraryEx: TGLMaterialLibraryEx;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure Loaded; virtual;
Protected procedure SetEnabled(AValue: Boolean); virtual;
Protected procedure SetNextPass(const AValue: TGLLibMaterialName);

Properties

Published property Enabled: Boolean read FEnabled write SetEnabled;
Public property MaterialLibrary: TGLMaterialLibraryEx read GetMaterialLibraryEx;
Protected property NextPass: TGLLibMaterialName read FNextPassName write SetNextPass;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLTextureSampler

Class TGLTextureSampler

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLTextureSampler = class(TGLBaseMaterialCollectionItem)

Description

No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLTextureSampler

Overview

Fields

Private | FHandle: TGLSamplerHandle;
Private | FMinFilter: TGLMinFilter;
Private | FMagFilter: TGLMagFilter;
Private | FFilteringQuality: TGLTextureFilteringQuality;
Private | FLODBias: Integer;
Private | FLODBiasFract: Single;
Private | FWrap: array[0..2] of TGLSeparateTextureWrap;
Private | FBorderColor: TGLColor;
Private | FCompareMode: TGLTextureCompareMode;
Private | FCompareFunc: TGLDepthFunction;
Private | FDecodeSRGB: Boolean;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Private | function GetWrap(Index: Integer): TGLSeparateTextureWrap;
Public | procedure Apply(var ARci: TGLRenderContextInfo);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo);
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;
Private | procedure SetBorderColor(const AValue: TGLColor);
Private | procedure SetCompareFunc(AValue: TGLDepthFunction);
Private | procedure SetCompareMode(AValue: TGLTextureCompareMode);
Private | procedure SetDecodeSRGB(AValue: Boolean);
Private | procedure SetFilteringQuality(AValue: TGLTextureFilteringQuality);
Private | procedure SetLODBias(AValue: Integer);
Private | procedure SetMagFilter(AValue: TGLMagFilter);
Private | procedure SetMinFilter(AValue: TGLMinFilter);
Private | procedure SetWrap(Index: Integer; AValue: TGLSeparateTextureWrap);

Properties

Published | property BorderColor: TGLColor read FBorderColor write SetBorderColor;
Published | property CompareFunc: TGLDepthFunction read FCompareFunc write SetCompareFunc default cfLEqual;
Published | property CompareMode: TGLTextureCompareMode read FCompareMode write SetCompareMode default tcmNone;
Published | property FilteringQuality: TGLTextureFilteringQuality read FFilteringQuality write SetFilteringQuality default tfAnisotropic;
Public | property Handle: TGLSamplerHandle read FHandle;
Published | property LodBias: Integer read FLODBias write SetLODBias default 0;
Published | property MagFilter: TGLMagFilter read FMagFilter write SetMagFilter default maLinear;
Published | property MinFilter: TGLMinFilter read FMinFilter write SetMinFilter default miLinearMipMapLinear;
Published | property sRGB_Encode: Boolean read FDecodeSRGB write SetDecodeSRGB default True;
Published | property WrapX: TGLSeparateTextureWrap index 0 read GetWrap write SetWrap default twRepeat;
Published | property WrapY: TGLSeparateTextureWrap index 1 read GetWrap write SetWrap default twRepeat;
Published | property WrapZ: TGLSeparateTextureWrap index 2 read GetWrap write SetWrap default twRepeat;

Description

Fields

Private FHandle: TGLSamplerHandle;
Private FMinFilter: TGLMinFilter;
Private FMagFilter: TGLMagFilter;
Private FFilteringQuality: TGLTextureFilteringQuality;
Private FLODBias: Integer;
Private FLODBiasFract: Single;
Private FWrap: array[0..2] of TGLSeparateTextureWrap;
Private FBorderColor: TGLColor;
Private FCompareMode: TGLTextureCompareMode;
Private FCompareFunc: TGLDepthFunction;
Private FDecodeSRGB: Boolean;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Private function GetWrap(Index: Integer): TGLSeparateTextureWrap;
Public procedure Apply(var ARci: TGLRenderContextInfo);
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo);
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;
Private procedure SetBorderColor(const AValue: TGLColor);
Private procedure SetCompareFunc(AValue: TGLDepthFunction);
Private procedure SetCompareMode(AValue: TGLTextureCompareMode);
Private procedure SetDecodeSRGB(AValue: Boolean);
Private procedure SetFilteringQuality(AValue: TGLTextureFilteringQuality);
Private procedure SetLODBias(AValue: Integer);
Private procedure SetMagFilter(AValue: TGLMagFilter);
Private procedure SetMinFilter(AValue: TGLMinFilter);
Private procedure SetWrap(Index: Integer; AValue: TGLSeparateTextureWrap);

Properties

Published property BorderColor: TGLColor read FBorderColor write SetBorderColor;

Texture border color.

Published property CompareFunc: TGLDepthFunction read FCompareFunc write SetCompareFunc default cfLEqual;
Published property CompareMode: TGLTextureCompareMode read FCompareMode write SetCompareMode default tcmNone;

Compare mode and function for depth texture

Published property FilteringQuality: TGLTextureFilteringQuality read FFilteringQuality write SetFilteringQuality default tfAnisotropic;
Public property Handle: TGLSamplerHandle read FHandle;
Published property LodBias: Integer read FLODBias write SetLODBias default 0;

Texture LOD bias.

Published property MagFilter: TGLMagFilter read FMagFilter write SetMagFilter default maLinear;

Texture magnification filter.

Published property MinFilter: TGLMinFilter read FMinFilter write SetMinFilter default miLinearMipMapLinear;

Texture minification filter.

Published property sRGB_Encode: Boolean read FDecodeSRGB write SetDecodeSRGB default True;

Force retrieving the undecoded sRGB data from the texture and manipulate that directly.

Published property WrapX: TGLSeparateTextureWrap index 0 read GetWrap write SetWrap default twRepeat;

Address mode for the texture.

Published property WrapY: TGLSeparateTextureWrap index 1 read GetWrap write SetWrap default twRepeat;
Published property WrapZ: TGLSeparateTextureWrap index 2 read GetWrap write SetWrap default twRepeat;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLAbstractTexture

Class TGLAbstractTexture

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLAbstractTexture = class(TGLBaseMaterialCollectionItem)

Description

No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLAbstractTexture

Overview

Fields

Protected | FHandle: TGLTextureHandle;
Protected | FInternalFormat: TGLInternalFormat;
Protected | FWidth: Integer;
Protected | FHeight: Integer;
Protected | FDepth: Integer;
Protected | FSwizzles: TSwizzleVector;
Protected | FApplicableSampler: TGLTextureSampler;
Protected | FLastSampler: TGLTextureSampler;

Methods

Protected | function GetTextureTarget: TGLTextureTarget;
Protected | procedure Apply(var ARci: TGLRenderContextInfo); virtual; abstract;
Protected | procedure UnApply(var ARci: TGLRenderContextInfo); virtual; abstract;

Properties

Public | property Handle: TGLTextureHandle read FHandle;
Published | property Shape: TGLTextureTarget read GetTextureTarget;

Description

Fields

Protected FHandle: TGLTextureHandle;
Protected FInternalFormat: TGLInternalFormat;
Protected FWidth: Integer;
Protected FHeight: Integer;
Protected FDepth: Integer;
Protected FSwizzles: TSwizzleVector;
Protected FApplicableSampler: TGLTextureSampler;
Protected FLastSampler: TGLTextureSampler;

Methods

Protected function GetTextureTarget: TGLTextureTarget;
Protected procedure Apply(var ARci: TGLRenderContextInfo); virtual; abstract;
Protected procedure UnApply(var ARci: TGLRenderContextInfo); virtual; abstract;

Properties

Public property Handle: TGLTextureHandle read FHandle;
Published property Shape: TGLTextureTarget read GetTextureTarget;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLTextureImageEx

Class TGLTextureImageEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLTextureImageEx = class(TGLAbstractTexture)

Description

No description available, ancestor TGLAbstractTexture description follows
No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLAbstractTexture
  • TGLTextureImageEx

Overview

Fields

Private | FCompression: TGLTextureCompression;
Private | FImage: TGLBaseImage;
Private | FImageAlpha: TGLTextureImageAlpha;
Private | FImageBrightness: Single;
Private | FImageGamma: Single;
Private | FHeightToNormalScale: Single;
Private | FSourceFile: string;
Private | FApplyCounter: Integer;
Private | FInternallyStored: Boolean;
Private | FMipGenMode: TMipmapGenerationMode;
Private | FUseStreaming: Boolean;
Private | FBaseLevel: Integer;
Private | FMaxLevel: Integer;
Private | FLastTime: Double;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Private | function StoreBrightness: Boolean;
Private | function StoreGamma: Boolean;
Private | function StoreNormalMapScale: Boolean;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo); override;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;
Private | procedure CalcLODRange(out AFirstLOD, ALastLOD: Integer);
Private | procedure FullTransfer;
Private | procedure PrepareImage;
Private | procedure SetCompression(const AValue: TGLTextureCompression);
Private | procedure SetImageAlpha(const AValue: TGLTextureImageAlpha);
Private | procedure SetImageBrightness(const AValue: Single);
Private | procedure SetImageGamma(const AValue: Single);
Private | procedure SetInternalFormat(const AValue: TGLInternalFormat);
Private | procedure SetInternallyStored(const AValue: Boolean);
Private | procedure SetMipGenMode(const AValue: TMipmapGenerationMode);
Private | procedure SetNormalMapScale(const AValue: Single);
Private | procedure SetSourceFile(AValue: string);
Private | procedure SetUseStreaming(const AValue: Boolean);
Private | procedure StreamTransfer;

Properties

Published | property Compression: TGLTextureCompression read FCompression write SetCompression default tcDefault;
Published | property HeightToNormalScale: Single read FHeightToNormalScale write SetNormalMapScale stored StoreNormalMapScale;
Published | property ImageAlpha: TGLTextureImageAlpha read FImageAlpha write SetImageAlpha default tiaDefault;
Published | property ImageBrightness: Single read FImageBrightness write SetImageBrightness stored StoreBrightness;
Published | property ImageGamma: Single read FImageGamma write SetImageGamma stored StoreGamma;
Published | property InternalDepth: Integer read FDepth;
Published | property InternalFormat: TGLInternalFormat read FInternalFormat write SetInternalFormat default tfRGBA8;
Published | property InternalHeight: Integer read FHeight;
Published | property InternallyStored: Boolean read FInternallyStored write SetInternallyStored default False;
Published | property InternalWidth: Integer read FWidth;
Published | property MipGenMode: TMipmapGenerationMode read FMipGenMode write SetMipGenMode default mgmOnFly;
Published | property SourceFile: string read FSourceFile write SetSourceFile;
Published | property UseStreaming: Boolean read FUseStreaming write SetUseStreaming default False;

Description

Fields

Private FCompression: TGLTextureCompression;
Private FImage: TGLBaseImage;
Private FImageAlpha: TGLTextureImageAlpha;
Private FImageBrightness: Single;
Private FImageGamma: Single;
Private FHeightToNormalScale: Single;
Private FSourceFile: string;
Private FApplyCounter: Integer;
Private FInternallyStored: Boolean;
Private FMipGenMode: TMipmapGenerationMode;
Private FUseStreaming: Boolean;
Private FBaseLevel: Integer;
Private FMaxLevel: Integer;
Private FLastTime: Double;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Private function StoreBrightness: Boolean;
Private function StoreGamma: Boolean;
Private function StoreNormalMapScale: Boolean;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo); override;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;
Private procedure CalcLODRange(out AFirstLOD, ALastLOD: Integer);
Private procedure FullTransfer;
Private procedure PrepareImage;
Private procedure SetCompression(const AValue: TGLTextureCompression);
Private procedure SetImageAlpha(const AValue: TGLTextureImageAlpha);
Private procedure SetImageBrightness(const AValue: Single);
Private procedure SetImageGamma(const AValue: Single);
Private procedure SetInternalFormat(const AValue: TGLInternalFormat);
Private procedure SetInternallyStored(const AValue: Boolean);
Private procedure SetMipGenMode(const AValue: TMipmapGenerationMode);
Private procedure SetNormalMapScale(const AValue: Single);
Private procedure SetSourceFile(AValue: string);
Private procedure SetUseStreaming(const AValue: Boolean);
Private procedure StreamTransfer;

Properties

Published property Compression: TGLTextureCompression read FCompression write SetCompression default tcDefault;

Texture compression control. If True the compressed TextureFormat variant (the OpenGL ICD must support GL_ARB_texture_compression, or this option is ignored).

Published property HeightToNormalScale: Single read FHeightToNormalScale write SetNormalMapScale stored StoreNormalMapScale;

Normal Map scaling. Force normal map generation from height map and controls the intensity of the bumps.

Published property ImageAlpha: TGLTextureImageAlpha read FImageAlpha write SetImageAlpha default tiaDefault;

Automatic Image Alpha setting. Allows to control how and if the image's Alpha channel (transparency) is computed.

Published property ImageBrightness: Single read FImageBrightness write SetImageBrightness stored StoreBrightness;

Texture brightness correction. This correction is applied upon loading a TGLTextureImage, it's a simple saturating scaling applied to the RGB components of the 32 bits image, before it is passed to OpenGL, and before gamma correction (if any).

Published property ImageGamma: Single read FImageGamma write SetImageGamma stored StoreGamma;

Texture gamma correction. The gamma correction is applied upon loading a TGLTextureImage, applied to the RGB components of the 32 bits image, before it is passed to OpenGL, after brightness correction (if any).

Published property InternalDepth: Integer read FDepth;
Published property InternalFormat: TGLInternalFormat read FInternalFormat write SetInternalFormat default tfRGBA8;
Published property InternalHeight: Integer read FHeight;
Published property InternallyStored: Boolean read FInternallyStored write SetInternallyStored default False;

Force to store image levels in separate files in ready to transfer format

Published property InternalWidth: Integer read FWidth;

Factual texture properties

Published property MipGenMode: TMipmapGenerationMode read FMipGenMode write SetMipGenMode default mgmOnFly;

Mipmap generation mode.

Published property SourceFile: string read FSourceFile write SetSourceFile;

Source file path and name.

Published property UseStreaming: Boolean read FUseStreaming write SetUseStreaming default False;

Enable streaming loading.


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLFrameBufferAttachment

Class TGLFrameBufferAttachment

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLFrameBufferAttachment = class(TGLAbstractTexture)

Description

No description available, ancestor TGLAbstractTexture description follows
No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLAbstractTexture
  • TGLFrameBufferAttachment

Overview

Fields

Private | FRenderBufferHandle: TGLRenderbufferHandle;
Private | FLayered: Boolean;
Private | FCubeMap: Boolean;
Private | FSamples: Integer;
Private | FOnlyWrite: Boolean;
Private | FFixedSamplesLocation: Boolean;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo); override;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;
Private | procedure SetCubeMap(AValue: Boolean);
Private | procedure SetDepth(AValue: Integer);
Private | procedure SetFixedSamplesLocation(AValue: Boolean);
Private | procedure SetHeight(AValue: Integer);
Private | procedure SetInternalFormat(const AValue: TGLInternalFormat);
Private | procedure SetLayered(AValue: Boolean);
Private | procedure SetOnlyWrite(AValue: Boolean);
Private | procedure SetSamples(AValue: Integer);
Private | procedure SetWidth(AValue: Integer);

Properties

Published | property CubeMap: Boolean read FCubeMap write SetCubeMap default False;
Published | property FixedSamplesLocation: Boolean read FFixedSamplesLocation write SetFixedSamplesLocation default False;
Published | property InternalDepth: Integer read FDepth write SetDepth default 0;
Published | property InternalFormat: TGLInternalFormat read FInternalFormat write SetInternalFormat default tfRGBA8;
Published | property InternalHeight: Integer read FHeight write SetHeight default 256;
Published | property InternalWidth: Integer read FWidth write SetWidth default 256;
Published | property Layered: Boolean read FLayered write SetLayered default False;
Published | property OnlyWrite: Boolean read FOnlyWrite write SetOnlyWrite default False;
Published | property Samples: Integer read FSamples write SetSamples default -1;

Description

Fields

Private FRenderBufferHandle: TGLRenderbufferHandle;
Private FLayered: Boolean;
Private FCubeMap: Boolean;
Private FSamples: Integer;
Private FOnlyWrite: Boolean;
Private FFixedSamplesLocation: Boolean;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo); override;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;
Private procedure SetCubeMap(AValue: Boolean);
Private procedure SetDepth(AValue: Integer);
Private procedure SetFixedSamplesLocation(AValue: Boolean);
Private procedure SetHeight(AValue: Integer);
Private procedure SetInternalFormat(const AValue: TGLInternalFormat);
Private procedure SetLayered(AValue: Boolean);
Private procedure SetOnlyWrite(AValue: Boolean);
Private procedure SetSamples(AValue: Integer);
Private procedure SetWidth(AValue: Integer);

Properties

Published property CubeMap: Boolean read FCubeMap write SetCubeMap default False;

Force target be cube map.

Published property FixedSamplesLocation: Boolean read FFixedSamplesLocation write SetFixedSamplesLocation default False;

FixedSamplesLocation flag makes image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internalformat or size of the image.

Published property InternalDepth: Integer read FDepth write SetDepth default 0;
Published property InternalFormat: TGLInternalFormat read FInternalFormat write SetInternalFormat default tfRGBA8;
Published property InternalHeight: Integer read FHeight write SetHeight default 256;
Published property InternalWidth: Integer read FWidth write SetWidth default 256;
Published property Layered: Boolean read FLayered write SetLayered default False;

Force targe be texture array.

Published property OnlyWrite: Boolean read FOnlyWrite write SetOnlyWrite default False;

This flag makes use render buffer as target which makes it impossible to read it as texture, but improves efficiency.

Published property Samples: Integer read FSamples write SetSamples default -1;

Number of samples. Positive value makes texture be multisample.


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLTextureSwizzling

Class TGLTextureSwizzling

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLTextureSwizzling = class(TGLUpdateAbleObject)

Description

Swizzle the components of a texture fetches in shader or fixed-function pipeline.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureSwizzling

Overview

Fields

Private FSwizzles: TSwizzleVector;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Private | function GetSwizzle(AIndex: Integer): TGLTextureSwizzle;
Private | function StoreSwizzle(AIndex: Integer): Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(AReader: TReader);
Public | procedure WriteToFiler(AWriter: TWriter);
Private | procedure SetSwizzle(AIndex: Integer; AValue: TGLTextureSwizzle);

Properties

Published | property AlphaFrom: TGLTextureSwizzle index 3 read GetSwizzle write SetSwizzle stored StoreSwizzle;
Published | property BlueFrom: TGLTextureSwizzle index 2 read GetSwizzle write SetSwizzle stored StoreSwizzle;
Published | property GreenFrom: TGLTextureSwizzle index 1 read GetSwizzle write SetSwizzle stored StoreSwizzle;
Published | property RedFrom: TGLTextureSwizzle index 0 read GetSwizzle write SetSwizzle stored StoreSwizzle;

Description

Fields

Private FSwizzles: TSwizzleVector;

Methods

Public constructor Create(AOwner: TPersistent); override;
Private function GetSwizzle(AIndex: Integer): TGLTextureSwizzle;
Private function StoreSwizzle(AIndex: Integer): Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(AReader: TReader);
Public procedure WriteToFiler(AWriter: TWriter);
Private procedure SetSwizzle(AIndex: Integer; AValue: TGLTextureSwizzle);

Properties

Published property AlphaFrom: TGLTextureSwizzle index 3 read GetSwizzle write SetSwizzle stored StoreSwizzle;
Published property BlueFrom: TGLTextureSwizzle index 2 read GetSwizzle write SetSwizzle stored StoreSwizzle;
Published property GreenFrom: TGLTextureSwizzle index 1 read GetSwizzle write SetSwizzle stored StoreSwizzle;
Published property RedFrom: TGLTextureSwizzle index 0 read GetSwizzle write SetSwizzle stored StoreSwizzle;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLTextureProperties

Class TGLTextureProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLTextureProperties = class(TGLLibMaterialProperty)

Description

No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLTextureProperties

Overview

Fields

Private | FLibTextureName: TGLMaterialComponentName;
Private | FLibSamplerName: TGLMaterialComponentName;
Private | FLibTexture: TGLAbstractTexture;
Private | FLibSampler: TGLTextureSampler;
Private | FTextureOffset: TGLCoordinates;
Private | FTextureScale: TGLCoordinates;
Private | FTextureRotate: Single;
Private | FTextureMatrixIsIdentity: Boolean;
Private | FTextureOverride: Boolean;
Private | FTextureMatrix: TGLMatrix;
Private | FMappingMode: TGLTextureMappingMode;
Private | FEnvColor: TGLColor;
Private | FMapSCoordinates: TGLCoordinates4;
Private | FMapTCoordinates: TGLCoordinates4;
Private | FMapRCoordinates: TGLCoordinates4;
Private | FMapQCoordinates: TGLCoordinates4;
Private | FSwizzling: TGLTextureSwizzling;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function IsValid: Boolean;
Private | function GetLibSamplerName: TGLMaterialComponentName;
Private | function GetLibTextureName: TGLMaterialComponentName;
Private | function GetMappingQCoordinates: TGLCoordinates4;
Private | function GetMappingRCoordinates: TGLCoordinates4;
Private | function GetMappingSCoordinates: TGLCoordinates4;
Private | function GetMappingTCoordinates: TGLCoordinates4;
Private | function GetTextureOffset: TGLCoordinates;
Private | function GetTextureScale: TGLCoordinates;
Private | function StoreMappingQCoordinates: Boolean;
Private | function StoreMappingRCoordinates: Boolean;
Private | function StoreMappingSCoordinates: Boolean;
Private | function StoreMappingTCoordinates: Boolean;
Private | function StoreSwizzling: Boolean;
Private | function StoreTextureOffset: Boolean;
Private | function StoreTextureRotate: Boolean;
Private | function StoreTextureScale: Boolean;
Public | procedure Apply(var ARci: TGLRenderContextInfo);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Notification(Sender: TObject; Operation: TOperation); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo);
Protected | procedure Loaded; override;
Private | procedure ApplyMappingMode;
Private | procedure CalculateTextureMatrix;
Private | procedure SetEnvColor(const AValue: TGLColor);
Private | procedure SetLibSamplerName(const AValue: TGLMaterialComponentName);
Private | procedure SetLibTextureName(const AValue: TGLMaterialComponentName);
Private | procedure SetMappingMode(const AValue: TGLTextureMappingMode);
Private | procedure SetMappingQCoordinates(const AValue: TGLCoordinates4);
Private | procedure SetMappingRCoordinates(const AValue: TGLCoordinates4);
Private | procedure SetMappingSCoordinates(const AValue: TGLCoordinates4);
Private | procedure SetMappingTCoordinates(const AValue: TGLCoordinates4);
Private | procedure SetSwizzling(const AValue: TGLTextureSwizzling);
Private | procedure SetTextureMatrix(const AValue: TGLMatrix);
Private | procedure SetTextureOffset(const AValue: TGLCoordinates);
Private | procedure SetTextureRotate(AValue: Single);
Private | procedure SetTextureScale(const AValue: TGLCoordinates);
Private | procedure UnApplyMappingMode;

Properties

Published | property EnvColor: TGLColor read FEnvColor write SetEnvColor;
Published | property LibSamplerName: TGLMaterialComponentName read GetLibSamplerName write SetLibSamplerName;
Published | property LibTextureName: TGLMaterialComponentName read GetLibTextureName write SetLibTextureName;
Published | property MappingMode: TGLTextureMappingMode read FMappingMode write SetMappingMode default tmmUser;
Published | property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates write SetMappingQCoordinates stored StoreMappingQCoordinates;
Published | property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates write SetMappingRCoordinates stored StoreMappingRCoordinates;
Published | property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates write SetMappingSCoordinates stored StoreMappingSCoordinates;
Published | property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates write SetMappingTCoordinates stored StoreMappingTCoordinates;
Published | property Swizzling: TGLTextureSwizzling read FSwizzling write SetSwizzling stored StoreSwizzling;
Public | property TextureMatrix: TGLMatrix read FTextureMatrix write SetTextureMatrix;
Published | property TextureOffset: TGLCoordinates read GetTextureOffset write SetTextureOffset stored StoreTextureOffset;
Published | property TextureRotate: Single read FTextureRotate write SetTextureRotate stored StoreTextureRotate;
Published | property TextureScale: TGLCoordinates read GetTextureScale write SetTextureScale stored StoreTextureScale;

Description

Fields

Private FLibTextureName: TGLMaterialComponentName;
Private FLibSamplerName: TGLMaterialComponentName;
Private FLibTexture: TGLAbstractTexture;
Private FLibSampler: TGLTextureSampler;
Private FTextureOffset: TGLCoordinates;
Private FTextureScale: TGLCoordinates;
Private FTextureRotate: Single;
Private FTextureMatrixIsIdentity: Boolean;
Private FTextureOverride: Boolean;
Private FTextureMatrix: TGLMatrix;
Private FMappingMode: TGLTextureMappingMode;
Private FEnvColor: TGLColor;
Private FMapSCoordinates: TGLCoordinates4;
Private FMapTCoordinates: TGLCoordinates4;
Private FMapRCoordinates: TGLCoordinates4;
Private FMapQCoordinates: TGLCoordinates4;
Private FSwizzling: TGLTextureSwizzling;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function IsValid: Boolean;
Private function GetLibSamplerName: TGLMaterialComponentName;
Private function GetLibTextureName: TGLMaterialComponentName;
Private function GetMappingQCoordinates: TGLCoordinates4;
Private function GetMappingRCoordinates: TGLCoordinates4;
Private function GetMappingSCoordinates: TGLCoordinates4;
Private function GetMappingTCoordinates: TGLCoordinates4;
Private function GetTextureOffset: TGLCoordinates;
Private function GetTextureScale: TGLCoordinates;
Private function StoreMappingQCoordinates: Boolean;
Private function StoreMappingRCoordinates: Boolean;
Private function StoreMappingSCoordinates: Boolean;
Private function StoreMappingTCoordinates: Boolean;
Private function StoreSwizzling: Boolean;
Private function StoreTextureOffset: Boolean;
Private function StoreTextureRotate: Boolean;
Private function StoreTextureScale: Boolean;
Public procedure Apply(var ARci: TGLRenderContextInfo);
Public procedure Assign(Source: TPersistent); override;
Public procedure Notification(Sender: TObject; Operation: TOperation); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo);
Protected procedure Loaded; override;
Private procedure ApplyMappingMode;
Private procedure CalculateTextureMatrix;
Private procedure SetEnvColor(const AValue: TGLColor);
Private procedure SetLibSamplerName(const AValue: TGLMaterialComponentName);
Private procedure SetLibTextureName(const AValue: TGLMaterialComponentName);
Private procedure SetMappingMode(const AValue: TGLTextureMappingMode);
Private procedure SetMappingQCoordinates(const AValue: TGLCoordinates4);
Private procedure SetMappingRCoordinates(const AValue: TGLCoordinates4);
Private procedure SetMappingSCoordinates(const AValue: TGLCoordinates4);
Private procedure SetMappingTCoordinates(const AValue: TGLCoordinates4);
Private procedure SetSwizzling(const AValue: TGLTextureSwizzling);
Private procedure SetTextureMatrix(const AValue: TGLMatrix);
Private procedure SetTextureOffset(const AValue: TGLCoordinates);
Private procedure SetTextureRotate(AValue: Single);
Private procedure SetTextureScale(const AValue: TGLCoordinates);
Private procedure UnApplyMappingMode;

Properties

Published property EnvColor: TGLColor read FEnvColor write SetEnvColor;

Texture Environment color.

Published property LibSamplerName: TGLMaterialComponentName read GetLibSamplerName write SetLibSamplerName;
Published property LibTextureName: TGLMaterialComponentName read GetLibTextureName write SetLibTextureName;
Published property MappingMode: TGLTextureMappingMode read FMappingMode write SetMappingMode default tmmUser;

Texture coordinates mapping mode. This property controls automatic texture coordinates generation.

Published property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates write SetMappingQCoordinates stored StoreMappingQCoordinates;
Published property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates write SetMappingRCoordinates stored StoreMappingRCoordinates;
Published property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates write SetMappingSCoordinates stored StoreMappingSCoordinates;

Texture mapping coordinates mode for S, T, R and Q axis. This property stores the coordinates for automatic texture coordinates generation.

Published property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates write SetMappingTCoordinates stored StoreMappingTCoordinates;
Published property Swizzling: TGLTextureSwizzling read FSwizzling write SetSwizzling stored StoreSwizzling;

Texture color fetching parameters.

Public property TextureMatrix: TGLMatrix read FTextureMatrix write SetTextureMatrix;
Published property TextureOffset: TGLCoordinates read GetTextureOffset write SetTextureOffset stored StoreTextureOffset;
Published property TextureRotate: Single read FTextureRotate write SetTextureRotate stored StoreTextureRotate;

Texture coordinates rotating. Rotating is applied after applying offset and scale, and rotate ST direction around R axis.

Published property TextureScale: TGLCoordinates read GetTextureScale write SetTextureScale stored StoreTextureScale;

Texture coordinates scaling. Scaling is applied before applying the offset, and is applied to the texture coordinates, meaning that a scale factor of (2, 2, 2) will make your texture look twice smaller.


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLFixedFunctionProperties

Class TGLFixedFunctionProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLFixedFunctionProperties = class(TGLLibMaterialProperty)

Description

No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLFixedFunctionProperties

Overview

Fields

Private | FFrontProperties: TGLFaceProperties;
Private | FBackProperties: TGLFaceProperties;
Private | FDepthProperties: TGLDepthProperties;
Private | FBlendingMode: TGLBlendingMode;
Private | FBlendingParams: TGLBlendingParameters;
Private | FTexProp: TGLTextureProperties;
Private | FMaterialOptions: TGLMaterialOptions;
Private | FFaceCulling: TGLFaceCulling;
Private | FPolygonMode: TGLPolygonMode;
Private | FTextureMode: TGLTextureMode;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function Blended: Boolean;
Private | function GetBackProperties: TGLFaceProperties;
Public | procedure Apply(var ARci: TGLRenderContextInfo);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo);
Private | procedure SetBackProperties(AValues: TGLFaceProperties);
Private | procedure SetBlendingMode(const AValue: TGLBlendingMode);
Private | procedure SetBlendingParams(const AValue: TGLBlendingParameters);
Private | procedure SetDepthProperties(AValues: TGLDepthProperties);
Private | procedure SetFaceCulling(const AValue: TGLFaceCulling);
Private | procedure SetFrontProperties(AValues: TGLFaceProperties);
Private | procedure SetMaterialOptions(const AValue: TGLMaterialOptions);
Private | procedure SetPolygonMode(AValue: TGLPolygonMode);
Private | procedure SetTexProp(AValue: TGLTextureProperties);
Private | procedure SetTextureMode(AValue: TGLTextureMode);

Properties

Published | property BackProperties: TGLFaceProperties read GetBackProperties write SetBackProperties;
Published | property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode default bmOpaque;
Published | property BlendingParams: TGLBlendingParameters read FBlendingParams write SetBlendingParams;
Published | property DepthProperties: TGLDepthProperties read FDepthProperties write SetDepthProperties;
Published | property FaceCulling: TGLFaceCulling read FFaceCulling write SetFaceCulling default fcBufferDefault;
Published | property FrontProperties: TGLFaceProperties read FFrontProperties write SetFrontProperties;
Published | property MaterialOptions: TGLMaterialOptions read FMaterialOptions write SetMaterialOptions default [];
Published | property NextPass;
Published | property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode default pmFill;
Published | property Texture: TGLTextureProperties read FTexProp write SetTexProp;
Published | property TextureMode: TGLTextureMode read FTextureMode write SetTextureMode default tmDecal;

Description

Fields

Private FFrontProperties: TGLFaceProperties;
Private FBackProperties: TGLFaceProperties;
Private FDepthProperties: TGLDepthProperties;
Private FBlendingMode: TGLBlendingMode;
Private FBlendingParams: TGLBlendingParameters;
Private FTexProp: TGLTextureProperties;
Private FMaterialOptions: TGLMaterialOptions;
Private FFaceCulling: TGLFaceCulling;
Private FPolygonMode: TGLPolygonMode;
Private FTextureMode: TGLTextureMode;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function Blended: Boolean;

Returns True if the material is blended.

Private function GetBackProperties: TGLFaceProperties;
Public procedure Apply(var ARci: TGLRenderContextInfo);
Public procedure Assign(Source: TPersistent); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo);
Private procedure SetBackProperties(AValues: TGLFaceProperties);
Private procedure SetBlendingMode(const AValue: TGLBlendingMode);
Private procedure SetBlendingParams(const AValue: TGLBlendingParameters);
Private procedure SetDepthProperties(AValues: TGLDepthProperties);
Private procedure SetFaceCulling(const AValue: TGLFaceCulling);
Private procedure SetFrontProperties(AValues: TGLFaceProperties);
Private procedure SetMaterialOptions(const AValue: TGLMaterialOptions);
Private procedure SetPolygonMode(AValue: TGLPolygonMode);
Private procedure SetTexProp(AValue: TGLTextureProperties);
Private procedure SetTextureMode(AValue: TGLTextureMode);

Properties

Published property BackProperties: TGLFaceProperties read GetBackProperties write SetBackProperties;
Published property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode default bmOpaque;
Published property BlendingParams: TGLBlendingParameters read FBlendingParams write SetBlendingParams;
Published property DepthProperties: TGLDepthProperties read FDepthProperties write SetDepthProperties;
Published property FaceCulling: TGLFaceCulling read FFaceCulling write SetFaceCulling default fcBufferDefault;
Published property FrontProperties: TGLFaceProperties read FFrontProperties write SetFrontProperties;
Published property MaterialOptions: TGLMaterialOptions read FMaterialOptions write SetMaterialOptions default [];
Published property NextPass;

Next pass of FFP.

Published property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode default pmFill;
Published property Texture: TGLTextureProperties read FTexProp write SetTexProp;
Published property TextureMode: TGLTextureMode read FTextureMode write SetTextureMode default tmDecal;

Texture application mode.


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLTextureCombiner

Class TGLTextureCombiner

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLTextureCombiner = class(TGLBaseMaterialCollectionItem)

Description

No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLTextureCombiner

Overview

Fields

Private | FHandle: TGLVirtualHandle;
Private | FScript: TStringList;
Private | FCommandCache: TCombinerCache;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;
Private | procedure DoAllocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private | procedure DoDeallocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private | procedure SetScript(AValue: TStringList);

Properties

Published property Script: TStringList read FScript write SetScript;

Description

Fields

Private FHandle: TGLVirtualHandle;
Private FScript: TStringList;
Private FCommandCache: TCombinerCache;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;
Private procedure DoAllocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private procedure DoDeallocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private procedure SetScript(AValue: TStringList);

Properties

Published property Script: TStringList read FScript write SetScript;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLASMVertexProgram

Class TGLASMVertexProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLASMVertexProgram = class(TGLBaseMaterialCollectionItem)

Description

No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLASMVertexProgram

Overview

Fields

Private | FHandle: TGLARBVertexProgramHandle;
Private | FSource: TStringList;
Private | FSourceFile: string;
Private | FInfoLog: string;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Private | function GetHandle: TGLARBVertexProgramHandle;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;
Private | procedure SetSource(AValue: TStringList);
Private | procedure SetSourceFile(AValue: string);

Properties

Public | property Handle: TGLARBVertexProgramHandle read GetHandle;
Published | property InfoLog: string read FInfoLog;
Published | property Source: TStringList read FSource write SetSource;
Published | property SourceFile: string read FSourceFile write SetSourceFile;

Description

Fields

Private FHandle: TGLARBVertexProgramHandle;
Private FSource: TStringList;
Private FSourceFile: string;
Private FInfoLog: string;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Private function GetHandle: TGLARBVertexProgramHandle;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;
Private procedure SetSource(AValue: TStringList);
Private procedure SetSourceFile(AValue: string);

Properties

Public property Handle: TGLARBVertexProgramHandle read GetHandle;
Published property InfoLog: string read FInfoLog;
Published property Source: TStringList read FSource write SetSource;
Published property SourceFile: string read FSourceFile write SetSourceFile;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLMultitexturingProperties

Class TGLMultitexturingProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLMultitexturingProperties = class(TGLLibMaterialProperty)

Description

No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLMultitexturingProperties

Overview

Fields

Private | FLibCombiner: TGLTextureCombiner;
Private | FLibAsmProg: TGLASMVertexProgram;
Private | FLibCombinerName: TGLMaterialComponentName;
Private | FLibAsmProgName: TGLMaterialComponentName;
Private | FTexProps: array[0..3] of TGLTextureProperties;
Private | FTextureMode: TGLTextureMode;
Private | FLightDir: TLightDir2TexEnvColor;
Private | FLightSourceIndex: Integer;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function IsValid: Boolean;
Private | function GetLibAsmProgName: string;
Private | function GetLibCombinerName: string;
Private | function GetTexProps(AIndex: Integer): TGLTextureProperties;
Public | procedure Apply(var ARci: TGLRenderContextInfo);
Public | procedure Notification(Sender: TObject; Operation: TOperation); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo);
Protected | procedure Loaded; override;
Private | procedure SetLibAsmProgName(const AValue: string);
Private | procedure SetLibCombinerName(const AValue: string);
Private | procedure SetLightSourceIndex(AValue: Integer);
Private | procedure SetTexProps(AIndex: Integer; AValue: TGLTextureProperties);
Private | procedure SetTextureMode(AValue: TGLTextureMode);

Properties

Published | property LibAsmProgName: string read GetLibAsmProgName write SetLibAsmProgName;
Published | property LibCombinerName: string read GetLibCombinerName write SetLibCombinerName;
Published | property LightDirTo: TLightDir2TexEnvColor read FLightDir write FLightDir default l2eNone;
Published | property LightSourceIndex: Integer read FLightSourceIndex write SetLightSourceIndex default 0;
Published | property NextPass;
Published | property Texture0: TGLTextureProperties index 0 read GetTexProps write SetTexProps;
Published | property Texture1: TGLTextureProperties index 1 read GetTexProps write SetTexProps;
Published | property Texture2: TGLTextureProperties index 2 read GetTexProps write SetTexProps;
Published | property Texture3: TGLTextureProperties index 3 read GetTexProps write SetTexProps;
Published | property TextureMode: TGLTextureMode read FTextureMode write SetTextureMode default tmDecal;

Description

Fields

Private FLibCombiner: TGLTextureCombiner;
Private FLibAsmProg: TGLASMVertexProgram;
Private FLibCombinerName: TGLMaterialComponentName;
Private FLibAsmProgName: TGLMaterialComponentName;
Private FTexProps: array[0..3] of TGLTextureProperties;
Private FTextureMode: TGLTextureMode;
Private FLightDir: TLightDir2TexEnvColor;
Private FLightSourceIndex: Integer;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function IsValid: Boolean;
Private function GetLibAsmProgName: string;
Private function GetLibCombinerName: string;
Private function GetTexProps(AIndex: Integer): TGLTextureProperties;
Public procedure Apply(var ARci: TGLRenderContextInfo);
Public procedure Notification(Sender: TObject; Operation: TOperation); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo);
Protected procedure Loaded; override;
Private procedure SetLibAsmProgName(const AValue: string);
Private procedure SetLibCombinerName(const AValue: string);
Private procedure SetLightSourceIndex(AValue: Integer);
Private procedure SetTexProps(AIndex: Integer; AValue: TGLTextureProperties);
Private procedure SetTextureMode(AValue: TGLTextureMode);

Properties

Published property LibAsmProgName: string read GetLibAsmProgName write SetLibAsmProgName;
Published property LibCombinerName: string read GetLibCombinerName write SetLibCombinerName;
Published property LightDirTo: TLightDir2TexEnvColor read FLightDir write FLightDir default l2eNone;

Pass light source direction to enviroment color of choosen texture. Vector in model space.

Published property LightSourceIndex: Integer read FLightSourceIndex write SetLightSourceIndex default 0;

Specify index of light source for LightDirTo.

Published property NextPass;

Next pass of combiner.

Published property Texture0: TGLTextureProperties index 0 read GetTexProps write SetTexProps;
Published property Texture1: TGLTextureProperties index 1 read GetTexProps write SetTexProps;
Published property Texture2: TGLTextureProperties index 2 read GetTexProps write SetTexProps;
Published property Texture3: TGLTextureProperties index 3 read GetTexProps write SetTexProps;
Published property TextureMode: TGLTextureMode read FTextureMode write SetTextureMode default tmDecal;

Texture application mode.


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderEx

Class TGLShaderEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderEx = class(TGLBaseMaterialCollectionItem)

Description

No description available, ancestor TGLBaseMaterialCollectionItem description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseMaterialCollectionItem
  • TGLShaderEx

Overview

Fields

Private | FHandle: array[TGLShaderType] of TGLShaderHandle;
Private | FSource: TStringList;
Private | FSourceFile: string;
Private | FShaderType: TGLShaderType;
Private | FInfoLog: string;
Private | FGeometryInput: TGLgsInTypes;
Private | FGeometryOutput: TGLgsOutTypes;
Private | FGeometryVerticesOut: Integer;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Private | function GetHandle: TGLShaderHandle;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;
Private | procedure SetGeometryInput(AValue: TGLgsInTypes);
Private | procedure SetGeometryOutput(AValue: TGLgsOutTypes);
Private | procedure SetGeometryVerticesOut(AValue: Integer);
Private | procedure SetShaderType(AValue: TGLShaderType);
Private | procedure SetSource(AValue: TStringList);
Private | procedure SetSourceFile(AValue: string);

Properties

Published | property GeometryInput: TGLgsInTypes read FGeometryInput write SetGeometryInput default gsInPoints;
Published | property GeometryOutput: TGLgsOutTypes read FGeometryOutput write SetGeometryOutput default gsOutPoints;
Published | property GeometryVerticesOut: Integer read FGeometryVerticesOut write SetGeometryVerticesOut default 1;
Public | property Handle: TGLShaderHandle read GetHandle;
Published | property InfoLog: string read FInfoLog;
Published | property ShaderType: TGLShaderType read FShaderType write SetShaderType default shtVertex;
Published | property Source: TStringList read FSource write SetSource;
Published | property SourceFile: string read FSourceFile write SetSourceFile;

Description

Fields

Private FHandle: array[TGLShaderType] of TGLShaderHandle;
Private FSource: TStringList;
Private FSourceFile: string;
Private FShaderType: TGLShaderType;
Private FInfoLog: string;
Private FGeometryInput: TGLgsInTypes;
Private FGeometryOutput: TGLgsOutTypes;
Private FGeometryVerticesOut: Integer;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Private function GetHandle: TGLShaderHandle;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;
Private procedure SetGeometryInput(AValue: TGLgsInTypes);
Private procedure SetGeometryOutput(AValue: TGLgsOutTypes);
Private procedure SetGeometryVerticesOut(AValue: Integer);
Private procedure SetShaderType(AValue: TGLShaderType);
Private procedure SetSource(AValue: TStringList);
Private procedure SetSourceFile(AValue: string);

Properties

Published property GeometryInput: TGLgsInTypes read FGeometryInput write SetGeometryInput default gsInPoints;
Published property GeometryOutput: TGLgsOutTypes read FGeometryOutput write SetGeometryOutput default gsOutPoints;
Published property GeometryVerticesOut: Integer read FGeometryVerticesOut write SetGeometryVerticesOut default 1;
Public property Handle: TGLShaderHandle read GetHandle;
Published property InfoLog: string read FInfoLog;
Published property ShaderType: TGLShaderType read FShaderType write SetShaderType default shtVertex;
Published property Source: TStringList read FSource write SetSource;
Published property SourceFile: string read FSourceFile write SetSourceFile;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLAbstractShaderUniform

Class TGLAbstractShaderUniform

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLAbstractShaderUniform = class(TGLUpdateAbleObject, IShaderParameter)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLAbstractShaderUniform

Overview

Fields

Protected | FName: string;
Protected | FNameHashCode: Integer;
Protected | FType: TGLSLDataType;
Protected | FSamplerType: TGLSLSamplerType;

Methods

Protected | function GetAutoSetMethod: string; virtual;
Protected | function GetFloat: Single; virtual;
Protected | function GetGLSLSamplerType: TGLSLSamplerType;
Protected | function GetGLSLType: TGLSLDataType;
Protected | function GetInt: TGLint; virtual;
Protected | function GetIVec2: TVector2i; virtual;
Protected | function GetIVec3: TVector3i; virtual;
Protected | function GetIVec4: TVector4i; virtual;
Protected | function GetMat2: TMatrix2f; virtual;
Protected | function GetMat3: TMatrix3f; virtual;
Protected | function GetMat4: TMatrix4f; virtual;
Protected | function GetName: string;
Protected | function GetSamplerName: string; virtual;
Protected | function GetTextureName: string; virtual;
Protected | function GetTextureSwizzle: TSwizzleVector; virtual;
Protected | function GetUInt: Cardinal; virtual;
Protected | function GetUVec2: TVector2ui; virtual;
Protected | function GetUVec3: TVector3ui; virtual;
Protected | function GetUVec4: TVector4ui; virtual;
Protected | function GetVec2: TVector2f; virtual;
Protected | function GetVec3: TVector3f; virtual;
Protected | function GetVec4: TGLVector; virtual;
Protected | procedure Apply(var ARci: TGLRenderContextInfo); virtual;
Protected | procedure ReadFromFiler(AReader: TReader); virtual;
Protected | procedure SetAutoSetMethod(const AValue: string); virtual;
Protected | procedure SetFloat(const Value: TGLFloat); virtual;
Protected | procedure SetFloatArray(const Values: PGLFloat; Count: Integer); virtual;
Protected | procedure SetInt(const Value: Integer); virtual;
Protected | procedure SetIntArray(const Values: PGLInt; Count: Integer); virtual;
Protected | procedure SetIVec2(const Value: TVector2i); virtual;
Protected | procedure SetIVec3(const Value: TVector3i); virtual;
Protected | procedure SetIVec4(const Value: TVector4i); virtual;
Protected | procedure SetMat2(const Value: TMatrix2f); virtual;
Protected | procedure SetMat3(const Value: TMatrix3f); virtual;
Protected | procedure SetMat4(const Value: TMatrix4f); virtual;
Protected | procedure SetSamplerName(const AValue: string); virtual;
Protected | procedure SetTextureName(const AValue: string); virtual;
Protected | procedure SetTextureSwizzle(const AValue: TSwizzleVector); virtual;
Protected | procedure SetUInt(const Value: Cardinal); virtual;
Protected | procedure SetUIntArray(const Values: PGLUInt; Count: Integer); virtual;
Protected | procedure SetUVec2(const Value: TVector2ui); virtual;
Protected | procedure SetUVec3(const Value: TVector3ui); virtual;
Protected | procedure SetUVec4(const Value: TVector4ui); virtual;
Protected | procedure SetVec2(const Value: TVector2f); virtual;
Protected | procedure SetVec3(const Value: TVector3f); virtual;
Protected | procedure SetVec4(const Value: TVector4f); virtual;
Protected | procedure WriteToFiler(AWriter: TWriter); virtual;

Description

Fields

Protected FName: string;
Protected FNameHashCode: Integer;
Protected FType: TGLSLDataType;
Protected FSamplerType: TGLSLSamplerType;

Methods

Protected function GetAutoSetMethod: string; virtual;
Protected function GetFloat: Single; virtual;
Protected function GetGLSLSamplerType: TGLSLSamplerType;
Protected function GetGLSLType: TGLSLDataType;
Protected function GetInt: TGLint; virtual;
Protected function GetIVec2: TVector2i; virtual;
Protected function GetIVec3: TVector3i; virtual;
Protected function GetIVec4: TVector4i; virtual;
Protected function GetMat2: TMatrix2f; virtual;
Protected function GetMat3: TMatrix3f; virtual;
Protected function GetMat4: TMatrix4f; virtual;
Protected function GetName: string;
Protected function GetSamplerName: string; virtual;
Protected function GetTextureName: string; virtual;
Protected function GetTextureSwizzle: TSwizzleVector; virtual;
Protected function GetUInt: Cardinal; virtual;
Protected function GetUVec2: TVector2ui; virtual;
Protected function GetUVec3: TVector3ui; virtual;
Protected function GetUVec4: TVector4ui; virtual;
Protected function GetVec2: TVector2f; virtual;
Protected function GetVec3: TVector3f; virtual;
Protected function GetVec4: TGLVector; virtual;
Protected procedure Apply(var ARci: TGLRenderContextInfo); virtual;
Protected procedure ReadFromFiler(AReader: TReader); virtual;
Protected procedure SetAutoSetMethod(const AValue: string); virtual;
Protected procedure SetFloat(const Value: TGLFloat); virtual;
Protected procedure SetFloatArray(const Values: PGLFloat; Count: Integer); virtual;
Protected procedure SetInt(const Value: Integer); virtual;
Protected procedure SetIntArray(const Values: PGLInt; Count: Integer); virtual;
Protected procedure SetIVec2(const Value: TVector2i); virtual;
Protected procedure SetIVec3(const Value: TVector3i); virtual;
Protected procedure SetIVec4(const Value: TVector4i); virtual;
Protected procedure SetMat2(const Value: TMatrix2f); virtual;
Protected procedure SetMat3(const Value: TMatrix3f); virtual;
Protected procedure SetMat4(const Value: TMatrix4f); virtual;
Protected procedure SetSamplerName(const AValue: string); virtual;
Protected procedure SetTextureName(const AValue: string); virtual;
Protected procedure SetTextureSwizzle(const AValue: TSwizzleVector); virtual;
Protected procedure SetUInt(const Value: Cardinal); virtual;
Protected procedure SetUIntArray(const Values: PGLUInt; Count: Integer); virtual;
Protected procedure SetUVec2(const Value: TVector2ui); virtual;
Protected procedure SetUVec3(const Value: TVector3ui); virtual;
Protected procedure SetUVec4(const Value: TVector4ui); virtual;
Protected procedure SetVec2(const Value: TVector2f); virtual;
Protected procedure SetVec3(const Value: TVector3f); virtual;
Protected procedure SetVec4(const Value: TVector4f); virtual;
Protected procedure WriteToFiler(AWriter: TWriter); virtual;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderUniform

Class TGLShaderUniform

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderUniform = class(TGLAbstractShaderUniform, IShaderParameter)

Description

No description available, ancestor TGLAbstractShaderUniform description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLAbstractShaderUniform
  • TGLShaderUniform

Overview

Fields

Protected | FLocation: Integer;
Protected | FStoreProgram: Cardinal;
Protected | FAutoSet: TUniformAutoSetMethod;

Methods

Protected | function GetAutoSetMethod: string; override;
Protected | function GetFloat: Single; override;
Protected | function GetInt: TGLInt; override;
Protected | function GetIVec2: TVector2i; override;
Protected | function GetIVec3: TVector3i; override;
Protected | function GetIVec4: TVector4i; override;
Protected | function GetMat2: TMatrix2f; override;
Protected | function GetMat3: TMatrix3f; override;
Protected | function GetMat4: TMatrix4f; override;
Protected | function GetProgram: Cardinal; inline;
Protected | function GetUInt: Cardinal; override;
Protected | function GetUVec2: TVector2ui; override;
Protected | function GetUVec3: TVector3ui; override;
Protected | function GetUVec4: TVector4ui; override;
Protected | function GetVec2: TVector2f; override;
Protected | function GetVec3: TVector3f; override;
Protected | function GetVec4: TGLVector; override;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure SetFloatArray(const Values: PGLFloat; Count: Integer); override;
Public | procedure SetIntArray(const Values: PGLInt; Count: Integer); override;
Public | procedure SetUIntArray(const Values: PGLUInt; Count: Integer); override;
Protected | procedure PopProgram; inline;
Protected | procedure PushProgram; inline;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure SetAutoSetMethod(const AValue: string); override;
Protected | procedure SetFloat(const Value: TGLFloat); override;
Protected | procedure SetInt(const Value: Integer); override;
Protected | procedure SetIVec2(const Value: TVector2i); override;
Protected | procedure SetIVec3(const Value: TVector3i); override;
Protected | procedure SetIVec4(const Value: TVector4i); override;
Protected | procedure SetMat2(const Value: TMatrix2f); override;
Protected | procedure SetMat3(const Value: TMatrix3f); override;
Protected | procedure SetMat4(const Value: TMatrix4f); override;
Protected | procedure SetUInt(const Value: Cardinal); override;
Protected | procedure SetUVec2(const Value: TVector2ui); override;
Protected | procedure SetUVec3(const Value: TVector3ui); override;
Protected | procedure SetUVec4(const Value: TVector4ui); override;
Protected | procedure SetVec2(const Value: TVector2f); override;
Protected | procedure SetVec3(const Value: TVector3f); override;
Protected | procedure SetVec4(const Value: TVector4f); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;

Properties

Public | property GLSLType: TGLSLDataType read GetGLSLType;
Public | property Location: Integer read FLocation;
Public | property Name: string read GetName;

Description

Fields

Protected FLocation: Integer;
Protected FStoreProgram: Cardinal;
Protected FAutoSet: TUniformAutoSetMethod;

Methods

Protected function GetAutoSetMethod: string; override;
Protected function GetFloat: Single; override;
Protected function GetInt: TGLInt; override;
Protected function GetIVec2: TVector2i; override;
Protected function GetIVec3: TVector3i; override;
Protected function GetIVec4: TVector4i; override;
Protected function GetMat2: TMatrix2f; override;
Protected function GetMat3: TMatrix3f; override;
Protected function GetMat4: TMatrix4f; override;
Protected function GetProgram: Cardinal; inline;
Protected function GetUInt: Cardinal; override;
Protected function GetUVec2: TVector2ui; override;
Protected function GetUVec3: TVector3ui; override;
Protected function GetUVec4: TVector4ui; override;
Protected function GetVec2: TVector2f; override;
Protected function GetVec3: TVector3f; override;
Protected function GetVec4: TGLVector; override;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure SetFloatArray(const Values: PGLFloat; Count: Integer); override;
Public procedure SetIntArray(const Values: PGLInt; Count: Integer); override;
Public procedure SetUIntArray(const Values: PGLUInt; Count: Integer); override;
Protected procedure PopProgram; inline;
Protected procedure PushProgram; inline;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure SetAutoSetMethod(const AValue: string); override;
Protected procedure SetFloat(const Value: TGLFloat); override;
Protected procedure SetInt(const Value: Integer); override;
Protected procedure SetIVec2(const Value: TVector2i); override;
Protected procedure SetIVec3(const Value: TVector3i); override;
Protected procedure SetIVec4(const Value: TVector4i); override;
Protected procedure SetMat2(const Value: TMatrix2f); override;
Protected procedure SetMat3(const Value: TMatrix3f); override;
Protected procedure SetMat4(const Value: TMatrix4f); override;
Protected procedure SetUInt(const Value: Cardinal); override;
Protected procedure SetUVec2(const Value: TVector2ui); override;
Protected procedure SetUVec3(const Value: TVector3ui); override;
Protected procedure SetUVec4(const Value: TVector4ui); override;
Protected procedure SetVec2(const Value: TVector2f); override;
Protected procedure SetVec3(const Value: TVector3f); override;
Protected procedure SetVec4(const Value: TVector4f); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;

Properties

Public property GLSLType: TGLSLDataType read GetGLSLType;
Public property Location: Integer read FLocation;
Public property Name: string read GetName;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderUniformDSA

Class TGLShaderUniformDSA

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderUniformDSA = class(TGLShaderUniform)

Description

No description available, ancestor TGLShaderUniform description follows
No description available, ancestor TGLAbstractShaderUniform description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLAbstractShaderUniform
  • TGLShaderUniform
  • TGLShaderUniformDSA

Overview

Methods

Public | procedure SetFloatArray(const Values: PGLFloat; Count: Integer); override;
Public | procedure SetIntArray(const Values: PGLInt; Count: Integer); override;
Public | procedure SetUIntArray(const Values: PGLUInt; Count: Integer); override;
Protected | procedure SetFloat(const Value: TGLFloat); override;
Protected | procedure SetInt(const Value: Integer); override;
Protected | procedure SetIVec2(const Value: TVector2i); override;
Protected | procedure SetIVec3(const Value: TVector3i); override;
Protected | procedure SetIVec4(const Value: TVector4i); override;
Protected | procedure SetMat2(const Value: TMatrix2f); override;
Protected | procedure SetMat3(const Value: TMatrix3f); override;
Protected | procedure SetMat4(const Value: TMatrix4f); override;
Protected | procedure SetUInt(const Value: Cardinal); override;
Protected | procedure SetUVec2(const Value: TVector2ui); override;
Protected | procedure SetUVec3(const Value: TVector3ui); override;
Protected | procedure SetUVec4(const Value: TVector4ui); override;
Protected | procedure SetVec2(const Value: TVector2f); override;
Protected | procedure SetVec3(const Value: TVector3f); override;
Protected | procedure SetVec4(const Value: TVector4f); override;

Description

Methods

Public procedure SetFloatArray(const Values: PGLFloat; Count: Integer); override;
Public procedure SetIntArray(const Values: PGLInt; Count: Integer); override;
Public procedure SetUIntArray(const Values: PGLUInt; Count: Integer); override;
Protected procedure SetFloat(const Value: TGLFloat); override;
Protected procedure SetInt(const Value: Integer); override;
Protected procedure SetIVec2(const Value: TVector2i); override;
Protected procedure SetIVec3(const Value: TVector3i); override;
Protected procedure SetIVec4(const Value: TVector4i); override;
Protected procedure SetMat2(const Value: TMatrix2f); override;
Protected procedure SetMat3(const Value: TMatrix3f); override;
Protected procedure SetMat4(const Value: TMatrix4f); override;
Protected procedure SetUInt(const Value: Cardinal); override;
Protected procedure SetUVec2(const Value: TVector2ui); override;
Protected procedure SetUVec3(const Value: TVector3ui); override;
Protected procedure SetUVec4(const Value: TVector4ui); override;
Protected procedure SetVec2(const Value: TVector2f); override;
Protected procedure SetVec3(const Value: TVector3f); override;
Protected procedure SetVec4(const Value: TVector4f); override;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderUniformTexture

Class TGLShaderUniformTexture

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderUniformTexture = class(TGLShaderUniform)

Description

No description available, ancestor TGLShaderUniform description follows
No description available, ancestor TGLAbstractShaderUniform description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLAbstractShaderUniform
  • TGLShaderUniform
  • TGLShaderUniformTexture

Overview

Fields

Private | FLibTexture: TGLAbstractTexture;
Private | FLibSampler: TGLTextureSampler;
Private | FTarget: TGLTextureTarget;
Private | FSwizzling: TSwizzleVector;
Protected | FLibTexureName: TGLMaterialComponentName;
Protected | FLibSamplerName: TGLMaterialComponentName;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Protected | function GetSamplerName: string; override;
Protected | function GetTextureName: string; override;
Protected | function GetTextureSwizzle: TSwizzleVector; override;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Notification(Sender: TObject; Operation: TOperation); override;
Protected | procedure Loaded;
Protected | procedure ReadFromFiler(AReader: TReader); override;
Protected | procedure SetSamplerName(const AValue: string); override;
Protected | procedure SetTextureName(const AValue: string); override;
Protected | procedure SetTextureSwizzle(const AValue: TSwizzleVector); override;
Protected | procedure WriteToFiler(AWriter: TWriter); override;

Properties

Public | property GLSLSampler: TGLSLSamplerType read GetGLSLSamplerType;
Public | property LibSamplerName: TGLMaterialComponentName read GetSamplerName write SetSamplerName;
Public | property LibTextureName: TGLMaterialComponentName read GetTextureName write SetTextureName;
Public | property Swizzling: TSwizzleVector read GetTextureSwizzle write SetTextureSwizzle;

Description

Fields

Private FLibTexture: TGLAbstractTexture;
Private FLibSampler: TGLTextureSampler;
Private FTarget: TGLTextureTarget;
Private FSwizzling: TSwizzleVector;
Protected FLibTexureName: TGLMaterialComponentName;
Protected FLibSamplerName: TGLMaterialComponentName;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Protected function GetSamplerName: string; override;
Protected function GetTextureName: string; override;
Protected function GetTextureSwizzle: TSwizzleVector; override;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Notification(Sender: TObject; Operation: TOperation); override;
Protected procedure Loaded;
Protected procedure ReadFromFiler(AReader: TReader); override;
Protected procedure SetSamplerName(const AValue: string); override;
Protected procedure SetTextureName(const AValue: string); override;
Protected procedure SetTextureSwizzle(const AValue: TSwizzleVector); override;
Protected procedure WriteToFiler(AWriter: TWriter); override;

Properties

Public property GLSLSampler: TGLSLSamplerType read GetGLSLSamplerType;
Public property LibSamplerName: TGLMaterialComponentName read GetSamplerName write SetSamplerName;
Public property LibTextureName: TGLMaterialComponentName read GetTextureName write SetTextureName;
Public property Swizzling: TSwizzleVector read GetTextureSwizzle write SetTextureSwizzle;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLBaseShaderModel

Class TGLBaseShaderModel

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLBaseShaderModel = class(TGLLibMaterialProperty)

Description

No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLBaseShaderModel

Overview

Fields

Protected | FHandle: TGLProgramHandle;
Protected | FLibShaderName: array[TGLShaderType] of string;
Protected | FShaders: array[TGLShaderType] of TGLShaderEx;
Protected | FIsValid: Boolean;
Protected | FInfoLog: string;
Protected | FUniforms: TPersistentObjectList;
Protected | FAutoFill: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Protected | function GetLibShaderName(AType: TGLShaderType): string;
Protected | function GetUniform(const AName: string): IShaderParameter;
Protected | class function IsSupported: Boolean; virtual; abstract;
Public | procedure Apply(var ARci: TGLRenderContextInfo); virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoOnPrepare(Sender: TGLContext);
Public | procedure GetUniformNames(Proc: TGetStrProc);
Public | procedure Notification(Sender: TObject; Operation: TOperation); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo); virtual;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Loaded; override;
Protected | procedure ReadUniforms(AStream: TStream);
Protected | class procedure ReleaseUniforms(AList: TPersistentObjectList);
Protected | procedure SetLibShaderName(AType: TGLShaderType; const AValue: string);
Protected | procedure WriteUniforms(AStream: TStream);

Properties

Published | property AutoFillOfUniforms: Boolean read FAutoFill write FAutoFill stored False;
Public | property Handle: TGLProgramHandle read FHandle;
Published | property InfoLog: string read FInfoLog;
Public | property IsValid: Boolean read FIsValid;
Protected | property LibFragmentShaderName: TGLMaterialComponentName index shtFragment read GetLibShaderName write SetLibShaderName;
Protected | property LibGeometryShaderName: TGLMaterialComponentName index shtGeometry read GetLibShaderName write SetLibShaderName;
Protected | property LibTessControlShaderName: TGLMaterialComponentName index shtControl read GetLibShaderName write SetLibShaderName;
Protected | property LibTessEvalShaderName: TGLMaterialComponentName index shtEvaluation read GetLibShaderName write SetLibShaderName;
Protected | property LibVertexShaderName: TGLMaterialComponentName index shtVertex read GetLibShaderName write SetLibShaderName;
Published | property NextPass;
Public | property Uniforms[constAName:string]: IShaderParameter read GetUniform;

Description

Fields

Protected FHandle: TGLProgramHandle;
Protected FLibShaderName: array[TGLShaderType] of string;
Protected FShaders: array[TGLShaderType] of TGLShaderEx;
Protected FIsValid: Boolean;
Protected FInfoLog: string;
Protected FUniforms: TPersistentObjectList;
Protected FAutoFill: Boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Protected function GetLibShaderName(AType: TGLShaderType): string;
Protected function GetUniform(const AName: string): IShaderParameter;
Protected class function IsSupported: Boolean; virtual; abstract;
Public procedure Apply(var ARci: TGLRenderContextInfo); virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoOnPrepare(Sender: TGLContext);
Public procedure GetUniformNames(Proc: TGetStrProc);
Public procedure Notification(Sender: TObject; Operation: TOperation); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo); virtual;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Loaded; override;
Protected procedure ReadUniforms(AStream: TStream);
Protected class procedure ReleaseUniforms(AList: TPersistentObjectList);
Protected procedure SetLibShaderName(AType: TGLShaderType; const AValue: string);
Protected procedure WriteUniforms(AStream: TStream);

Properties

Published property AutoFillOfUniforms: Boolean read FAutoFill write FAutoFill stored False;

Turn on autofill of uniforms

Public property Handle: TGLProgramHandle read FHandle;
Published property InfoLog: string read FInfoLog;

Compilation info log for design time

Public property IsValid: Boolean read FIsValid;
Protected property LibFragmentShaderName: TGLMaterialComponentName index shtFragment read GetLibShaderName write SetLibShaderName;
Protected property LibGeometryShaderName: TGLMaterialComponentName index shtGeometry read GetLibShaderName write SetLibShaderName;
Protected property LibTessControlShaderName: TGLMaterialComponentName index shtControl read GetLibShaderName write SetLibShaderName;
Protected property LibTessEvalShaderName: TGLMaterialComponentName index shtEvaluation read GetLibShaderName write SetLibShaderName;
Protected property LibVertexShaderName: TGLMaterialComponentName index shtVertex read GetLibShaderName write SetLibShaderName;
Published property NextPass;
Public property Uniforms[constAName:string]: IShaderParameter read GetUniform;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderModel3

Class TGLShaderModel3

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderModel3 = class(TGLBaseShaderModel)

Description

No description available, ancestor TGLBaseShaderModel description follows
No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLBaseShaderModel
  • TGLShaderModel3

Overview

Methods

Public class function IsSupported: Boolean; override;

Properties

Published | property LibFragmentShaderName;
Published | property LibVertexShaderName;

Description

Methods

Public class function IsSupported: Boolean; override;

Properties

Published property LibFragmentShaderName;
Published property LibVertexShaderName;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderModel4

Class TGLShaderModel4

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderModel4 = class(TGLBaseShaderModel)

Description

No description available, ancestor TGLBaseShaderModel description follows
No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLBaseShaderModel
  • TGLShaderModel4

Overview

Methods

Public class function IsSupported: Boolean; override;

Properties

Published | property LibFragmentShaderName;
Published | property LibGeometryShaderName;
Published | property LibVertexShaderName;

Description

Methods

Public class function IsSupported: Boolean; override;

Properties

Published property LibFragmentShaderName;
Published property LibGeometryShaderName;
Published property LibVertexShaderName;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLShaderModel5

Class TGLShaderModel5

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLShaderModel5 = class(TGLBaseShaderModel)

Description

No description available, ancestor TGLBaseShaderModel description follows
No description available, ancestor TGLLibMaterialProperty description follows
No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLibMaterialProperty
  • TGLBaseShaderModel
  • TGLShaderModel5

Overview

Methods

Public | class function IsSupported: Boolean; override;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure UnApply(var ARci: TGLRenderContextInfo); override;

Properties

Published | property LibFragmentShaderName;
Published | property LibGeometryShaderName;
Published | property LibTessControlShaderName;
Published | property LibTessEvalShaderName;
Published | property LibVertexShaderName;

Description

Methods

Public class function IsSupported: Boolean; override;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure UnApply(var ARci: TGLRenderContextInfo); override;

Properties

Published property LibFragmentShaderName;
Published property LibGeometryShaderName;
Published property LibTessControlShaderName;
Published property LibTessEvalShaderName;
Published property LibVertexShaderName;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLLibMaterialEx

Class TGLLibMaterialEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLLibMaterialEx = class(TGLAbstractLibMaterial)

Description

No description available, ancestor TGLAbstractLibMaterial description follows

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLAbstractLibMaterial
  • TGLLibMaterialEx

Overview

Fields

Private | FHandle: TGLVirtualHandle;
Private | FApplicableLevel: TGLMaterialLevel;
Private | FSelectedLevel: TGLMaterialLevel;
Private | FFixedFunc: TGLFixedFunctionProperties;
Private | FMultitexturing: TGLMultitexturingProperties;
Private | FSM3: TGLShaderModel3;
Private | FSM4: TGLShaderModel4;
Private | FSM5: TGLShaderModel5;
Private | FOnAsmProgSetting: TOnAsmProgSetting;
Private | FOnSM3UniformInit: TOnUniformInitialize;
Private | FOnSM3UniformSetting: TOnUniformSetting;
Private | FOnSM4UniformInit: TOnUniformInitialize;
Private | FOnSM4UniformSetting: TOnUniformSetting;
Private | FOnSM5UniformInit: TOnUniformInitialize;
Private | FOnSM5UniformSetting: TOnUniformSetting;
Private | FNextPass: TGLLibMaterialEx;
Private | FStoreAmalgamating: Boolean;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Public | function Blended: Boolean; override;
Public | function UnApply(var ARci: TGLRenderContextInfo): Boolean; override;
Public | procedure Apply(var ARci: TGLRenderContextInfo); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure DoOnPrepare(Sender: TGLContext);
Protected | procedure Loaded; override;
Protected | procedure RemoveDefferedInit;
Private | procedure DoAllocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private | procedure DoDeallocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private | procedure SetFixedFunc(AValue: TGLFixedFunctionProperties);
Private | procedure SetLevel(AValue: TGLMaterialLevel);
Private | procedure SetMultitexturing(AValue: TGLMultitexturingProperties);
Private | procedure SetSM3(AValue: TGLShaderModel3);
Private | procedure SetSM4(AValue: TGLShaderModel4);
Private | procedure SetSM5(AValue: TGLShaderModel5);

Properties

Published | property ApplicableLevel: TGLMaterialLevel read FApplicableLevel write SetLevel default mlAuto;
Published | property FixedFunction: TGLFixedFunctionProperties read FFixedFunc write SetFixedFunc;
Published | property Multitexturing: TGLMultitexturingProperties read FMultitexturing write SetMultitexturing;
Published | property OnAsmProgSetting: TOnAsmProgSetting read FOnAsmProgSetting write FOnAsmProgSetting;
Published | property OnSM3UniformInitialize: TOnUniformInitialize read FOnSM3UniformInit write FOnSM3UniformInit;
Published | property OnSM3UniformSetting: TOnUniformSetting read FOnSM3UniformSetting write FOnSM3UniformSetting;
Published | property OnSM4UniformInitialize: TOnUniformInitialize read FOnSM4UniformInit write FOnSM4UniformInit;
Published | property OnSM4UniformSetting: TOnUniformSetting read FOnSM4UniformSetting write FOnSM4UniformSetting;
Published | property OnSM5UniformInitialize: TOnUniformInitialize read FOnSM5UniformInit write FOnSM5UniformInit;
Published | property OnSM5UniformSetting: TOnUniformSetting read FOnSM5UniformSetting write FOnSM5UniformSetting;
Published | property SelectedLevel: TGLMaterialLevel read FSelectedLevel;
Published | property ShaderModel3: TGLShaderModel3 read FSM3 write SetSM3;
Published | property ShaderModel4: TGLShaderModel4 read FSM4 write SetSM4;
Published | property ShaderModel5: TGLShaderModel5 read FSM5 write SetSM5;

Description

Fields

Private FHandle: TGLVirtualHandle;
Private FApplicableLevel: TGLMaterialLevel;
Private FSelectedLevel: TGLMaterialLevel;
Private FFixedFunc: TGLFixedFunctionProperties;
Private FMultitexturing: TGLMultitexturingProperties;
Private FSM3: TGLShaderModel3;
Private FSM4: TGLShaderModel4;
Private FSM5: TGLShaderModel5;
Private FOnAsmProgSetting: TOnAsmProgSetting;
Private FOnSM3UniformInit: TOnUniformInitialize;
Private FOnSM3UniformSetting: TOnUniformSetting;
Private FOnSM4UniformInit: TOnUniformInitialize;
Private FOnSM4UniformSetting: TOnUniformSetting;
Private FOnSM5UniformInit: TOnUniformInitialize;
Private FOnSM5UniformSetting: TOnUniformSetting;
Private FNextPass: TGLLibMaterialEx;
Private FStoreAmalgamating: Boolean;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Public function Blended: Boolean; override;
Public function UnApply(var ARci: TGLRenderContextInfo): Boolean; override;
Public procedure Apply(var ARci: TGLRenderContextInfo); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure DoOnPrepare(Sender: TGLContext);
Protected procedure Loaded; override;
Protected procedure RemoveDefferedInit;
Private procedure DoAllocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private procedure DoDeallocate(Sender: TGLVirtualHandle; var handle: Cardinal);
Private procedure SetFixedFunc(AValue: TGLFixedFunctionProperties);
Private procedure SetLevel(AValue: TGLMaterialLevel);
Private procedure SetMultitexturing(AValue: TGLMultitexturingProperties);
Private procedure SetSM3(AValue: TGLShaderModel3);
Private procedure SetSM4(AValue: TGLShaderModel4);
Private procedure SetSM5(AValue: TGLShaderModel5);

Properties

Published property ApplicableLevel: TGLMaterialLevel read FApplicableLevel write SetLevel default mlAuto;
Published property FixedFunction: TGLFixedFunctionProperties read FFixedFunc write SetFixedFunc;
Published property Multitexturing: TGLMultitexturingProperties read FMultitexturing write SetMultitexturing;
Published property OnAsmProgSetting: TOnAsmProgSetting read FOnAsmProgSetting write FOnAsmProgSetting;

Asm vertex program event

Published property OnSM3UniformInitialize: TOnUniformInitialize read FOnSM3UniformInit write FOnSM3UniformInit;

Shader model 3 event

Published property OnSM3UniformSetting: TOnUniformSetting read FOnSM3UniformSetting write FOnSM3UniformSetting;
Published property OnSM4UniformInitialize: TOnUniformInitialize read FOnSM4UniformInit write FOnSM4UniformInit;

Shader model 4 event

Published property OnSM4UniformSetting: TOnUniformSetting read FOnSM4UniformSetting write FOnSM4UniformSetting;
Published property OnSM5UniformInitialize: TOnUniformInitialize read FOnSM5UniformInit write FOnSM5UniformInit;

Shader model 5 event

Published property OnSM5UniformSetting: TOnUniformSetting read FOnSM5UniformSetting write FOnSM5UniformSetting;
Published property SelectedLevel: TGLMaterialLevel read FSelectedLevel;
Published property ShaderModel3: TGLShaderModel3 read FSM3 write SetSM3;
Published property ShaderModel4: TGLShaderModel4 read FSM4 write SetSM4;
Published property ShaderModel5: TGLShaderModel5 read FSM5 write SetSM5;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLLibMaterialsEx

Class TGLLibMaterialsEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLLibMaterialsEx = class(TGLAbstractLibMaterials)

Description

No description available, ancestor TGLAbstractLibMaterials description follows

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLAbstractLibMaterials
  • TGLLibMaterialsEx

Overview

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLLibMaterialEx;
Public | function FindItemID(ID: Integer): TGLLibMaterialEx;
Public | function GetLibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterialEx;
Public | function IndexOf(const Item: TGLLibMaterialEx): Integer;
Public | function MaterialLibrary: TGLMaterialLibraryEx;
Protected | function GetItems(AIndex: Integer): TGLLibMaterialEx;
Protected | procedure SetItems(AIndex: Integer; const AValue: TGLLibMaterialEx);

Properties

Public property Items[index:Integer]: TGLLibMaterialEx read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLLibMaterialEx;
Public function FindItemID(ID: Integer): TGLLibMaterialEx;
Public function GetLibMaterialByName(const AName: TGLLibMaterialName): TGLLibMaterialEx;
Public function IndexOf(const Item: TGLLibMaterialEx): Integer;
Public function MaterialLibrary: TGLMaterialLibraryEx;
Protected function GetItems(AIndex: Integer): TGLLibMaterialEx;
Protected procedure SetItems(AIndex: Integer; const AValue: TGLLibMaterialEx);

Properties

Public property Items[index:Integer]: TGLLibMaterialEx read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLMatLibComponents

Class TGLMatLibComponents

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLMatLibComponents = class(TXCollection)

Description

No description available, ancestor TXCollection description follows

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLMatLibComponents

Overview

Methods

Public | function GetAsmProgByName(const AName: TGLMaterialComponentName): TGLASMVertexProgram;
Public | function GetAttachmentByName(const AName: TGLMaterialComponentName): TGLFrameBufferAttachment;
Public | function GetCombinerByName(const AName: TGLMaterialComponentName): TGLTextureCombiner;
Public | function GetItemByName(const AName: TGLMaterialComponentName): TGLBaseMaterialCollectionItem;
Public | function GetNamePath: string; override;
Public | function GetSamplerByName(const AName: TGLMaterialComponentName): TGLTextureSampler;
Public | function GetShaderByName(const AName: TGLMaterialComponentName): TGLShaderEx;
Public | function GetTextureByName(const AName: TGLMaterialComponentName): TGLAbstractTexture;
Public | class function ItemsClass: TXCollectionItemClass; override;
Public | function MakeUniqueName(const AName: TGLMaterialComponentName): TGLMaterialComponentName;
Protected | function GetItems(index: Integer): TGLBaseMaterialCollectionItem;

Properties

Public property Items[index:Integer]: TGLBaseMaterialCollectionItem read GetItems;

Description

Methods

Public function GetAsmProgByName(const AName: TGLMaterialComponentName): TGLASMVertexProgram;
Public function GetAttachmentByName(const AName: TGLMaterialComponentName): TGLFrameBufferAttachment;
Public function GetCombinerByName(const AName: TGLMaterialComponentName): TGLTextureCombiner;
Public function GetItemByName(const AName: TGLMaterialComponentName): TGLBaseMaterialCollectionItem;
Public function GetNamePath: string; override;
Public function GetSamplerByName(const AName: TGLMaterialComponentName): TGLTextureSampler;
Public function GetShaderByName(const AName: TGLMaterialComponentName): TGLShaderEx;
Public function GetTextureByName(const AName: TGLMaterialComponentName): TGLAbstractTexture;
Public class function ItemsClass: TXCollectionItemClass; override;
Public function MakeUniqueName(const AName: TGLMaterialComponentName): TGLMaterialComponentName;
Protected function GetItems(index: Integer): TGLBaseMaterialCollectionItem;

Properties

Public property Items[index:Integer]: TGLBaseMaterialCollectionItem read GetItems;


GLSysHelp v.2.1: GLS.MaterialEx: Class TGLMaterialLibraryEx

Class TGLMaterialLibraryEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialEx

Declaration

type TGLMaterialLibraryEx = class(TGLAbstractMaterialLibrary)

Description

No description available, ancestor TGLAbstractMaterialLibrary description follows
No description available, ancestor TGLCadenceAbleComponent description follows

A base class describing the "cadenceing" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLAbstractMaterialLibrary
  • TGLMaterialLibraryEx

Overview

Fields

Private FComponents: TGLMatLibComponents;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AddAsmProg(const AName: TGLMaterialComponentName): TGLASMVertexProgram;
Public | function AddAttachment(const AName: TGLMaterialComponentName): TGLFrameBufferAttachment;
Public | function AddCombiner(const AName: TGLMaterialComponentName): TGLTextureCombiner;
Public | function AddSampler(const AName: TGLMaterialComponentName): TGLTextureSampler;
Public | function AddShader(const AName: TGLMaterialComponentName): TGLShaderEx;
Public | function AddTexture(const AName: TGLMaterialComponentName): TGLTextureImageEx;
Protected | function GetMaterials: TGLLibMaterialsEx;
Protected | function StoreMaterials: Boolean;
Public | procedure GetNames(Proc: TGetStrProc; AClass: CGLBaseMaterialCollectionItem); overload;
Public | procedure SetLevelForAll(const ALevel: TGLMaterialLevel);
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Loaded; override;
Protected | procedure ReadComponents(AStream: TStream);
Protected | procedure SetComponents(AValue: TGLMatLibComponents);
Protected | procedure SetMaterials(AValue: TGLLibMaterialsEx);
Protected | procedure WriteComponents(AStream: TStream);

Properties

Published | property Components: TGLMatLibComponents read FComponents write SetComponents;
Published | property Materials: TGLLibMaterialsEx read GetMaterials write SetMaterials stored StoreMaterials;
Published | property TexturePaths;

Description

Fields

Private FComponents: TGLMatLibComponents;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AddAsmProg(const AName: TGLMaterialComponentName): TGLASMVertexProgram;
Public function AddAttachment(const AName: TGLMaterialComponentName): TGLFrameBufferAttachment;
Public function AddCombiner(const AName: TGLMaterialComponentName): TGLTextureCombiner;
Public function AddSampler(const AName: TGLMaterialComponentName): TGLTextureSampler;
Public function AddShader(const AName: TGLMaterialComponentName): TGLShaderEx;
Public function AddTexture(const AName: TGLMaterialComponentName): TGLTextureImageEx;
Protected function GetMaterials: TGLLibMaterialsEx;
Protected function StoreMaterials: Boolean;
Public procedure GetNames(Proc: TGetStrProc; AClass: CGLBaseMaterialCollectionItem); overload;
Public procedure SetLevelForAll(const ALevel: TGLMaterialLevel);
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Loaded; override;
Protected procedure ReadComponents(AStream: TStream);
Protected procedure SetComponents(AValue: TGLMatLibComponents);
Protected procedure SetMaterials(AValue: TGLLibMaterialsEx);
Protected procedure WriteComponents(AStream: TStream);

Properties

Published property Components: TGLMatLibComponents read FComponents write SetComponents;
Published property Materials: TGLLibMaterialsEx read GetMaterials write SetMaterials stored StoreMaterials;

The materials collection.

Published property TexturePaths;


GLSysHelp v.2.1: GLS.MaterialMultiProxy

Unit GLS.MaterialMultiProxy

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.Material
  • GLS.Silhouette
  • GLS.Strings
  • GLS.PersistentClasses
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.Context
  • GLS.VectorTypes
  • GLS.PipelineTransformation

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMaterialMultiProxyMaster |
Class TGLMaterialMultiProxyMasters |
Class TGLMaterialMultiProxy |


GLSysHelp v.2.1: GLS.MaterialMultiProxy: Class TGLMaterialMultiProxyMaster

Class TGLMaterialMultiProxyMaster

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialMultiProxy

Declaration

type TGLMaterialMultiProxyMaster = class(TGLInterfacedCollectionItem, IGLMaterialLibrarySupported)

Description

MasterObject description for a MultiProxy object.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLInterfacedCollectionItem
  • TGLMaterialMultiProxyMaster

Overview

Fields

Private | FMasterObject: TGLBaseSceneObject;
Private | FMasterLibMaterial: TGLLibMaterial;
Private | FTempLibMaterialName: TGLLibMaterialName;
Private | FDistanceMin2: Single;
Private | FDistanceMax2: Single;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function OwnerObject: TGLMaterialMultiProxy;
Protected | function GetDisplayName: string; override;
Protected | function GetDistanceMax: Single;
Protected | function GetDistanceMin: Single;
Private | function GetMasterLibMaterialName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange;
Protected | procedure SetDistanceMax(const Val: Single);
Protected | procedure SetDistanceMin(const Val: Single);
Protected | procedure SetMasterObject(const Val: TGLBaseSceneObject);
Private | procedure SetMasterLibMaterialName(const Value: TGLLibMaterialName);

Properties

Published | property DistanceMax: Single read GetDistanceMax write SetDistanceMax;
Published | property DistanceMin: Single read GetDistanceMin write SetDistanceMin;
Public | property MasterLibMaterial: TGLLibMaterial read FMasterLibMaterial write FMasterLibMaterial stored False;
Published | property MasterLibMaterialName: TGLLibMaterialName read GetMasterLibMaterialName write SetMasterLibMaterialName;
Published | property MasterObject: TGLBaseSceneObject read FMasterObject write SetMasterObject;

Description

Fields

Private FMasterObject: TGLBaseSceneObject;
Private FMasterLibMaterial: TGLLibMaterial;
Private FTempLibMaterialName: TGLLibMaterialName;
Private FDistanceMin2: Single;
Private FDistanceMax2: Single;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function OwnerObject: TGLMaterialMultiProxy;
Protected function GetDisplayName: string; override;
Protected function GetDistanceMax: Single;
Protected function GetDistanceMin: Single;
Private function GetMasterLibMaterialName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange;
Protected procedure SetDistanceMax(const Val: Single);
Protected procedure SetDistanceMin(const Val: Single);
Protected procedure SetMasterObject(const Val: TGLBaseSceneObject);
Private procedure SetMasterLibMaterialName(const Value: TGLLibMaterialName);

Properties

Published property DistanceMax: Single read GetDistanceMax write SetDistanceMax;

Maximum visibility Distance (exclusive).

Published property DistanceMin: Single read GetDistanceMin write SetDistanceMin;

Minimum visibility Distance (inclusive).

Public property MasterLibMaterial: TGLLibMaterial read FMasterLibMaterial write FMasterLibMaterial stored False;

Specifies the Material, that current master object will use. Provides a faster way to access FMasterLibMaterial, compared to MasterLibMaterialName

Published property MasterLibMaterialName: TGLLibMaterialName read GetMasterLibMaterialName write SetMasterLibMaterialName;

Specifies the Material, that current master object will use.

Published property MasterObject: TGLBaseSceneObject read FMasterObject write SetMasterObject;

Specifies the Master object which will be proxy'ed.


GLSysHelp v.2.1: GLS.MaterialMultiProxy: Class TGLMaterialMultiProxyMasters

Class TGLMaterialMultiProxyMasters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialMultiProxy

Declaration

type TGLMaterialMultiProxyMasters = class(TOwnedCollection)

Description

Collection of TGLMaterialMultiProxyMaster.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLMaterialMultiProxyMasters

Overview

Methods

Public | constructor Create(AOwner: TPersistent);
Public | function Add: TGLMaterialMultiProxyMaster; overload;
Public | function Add(Master: TGLBaseSceneObject; DistanceMin, DistanceMax: Single): TGLMaterialMultiProxyMaster; overload;
Public | function Add(Master: TGLBaseSceneObject; MasterLibMaterial: TGLLibMaterial; DistanceMin, DistanceMax: Single): TGLMaterialMultiProxyMaster; overload;
Protected | function GetItems(index: Integer): TGLMaterialMultiProxyMaster;
Public | procedure EndUpdate; override;
Public | procedure NotifyChange;
Protected | procedure Notification(AComponent: TComponent); virtual;
Protected | procedure SetItems(index: Integer; const Val: TGLMaterialMultiProxyMaster);
Protected | procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[index:Integer]: TGLMaterialMultiProxyMaster read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TPersistent);
Public function Add: TGLMaterialMultiProxyMaster; overload;
Public function Add(Master: TGLBaseSceneObject; DistanceMin, DistanceMax: Single): TGLMaterialMultiProxyMaster; overload;
Public function Add(Master: TGLBaseSceneObject; MasterLibMaterial: TGLLibMaterial; DistanceMin, DistanceMax: Single): TGLMaterialMultiProxyMaster; overload;
Protected function GetItems(index: Integer): TGLMaterialMultiProxyMaster;
Public procedure EndUpdate; override;
Public procedure NotifyChange;
Protected procedure Notification(AComponent: TComponent); virtual;
Protected procedure SetItems(index: Integer; const Val: TGLMaterialMultiProxyMaster);
Protected procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[index:Integer]: TGLMaterialMultiProxyMaster read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MaterialMultiProxy: Class TGLMaterialMultiProxy

Class TGLMaterialMultiProxy

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialMultiProxy

Declaration

type TGLMaterialMultiProxy = class(TGLBaseSceneObject)

Description

Multiple Proxy object. This proxy has multiple Master objects, which are individually made visible depending on a Distance to the camera criterion. It can be used to implement discreet level of detail directly for static objects, or objects that go through cyclic animation. For dimensionsn raycasting and silhouette purposes, the first Master is used (item zero in the MasterObjects collection).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLMaterialMultiProxy

Overview

Fields

Private | FMasterObjects: TGLMaterialMultiProxyMasters;
Private | FRendering: Boolean;
Private | FMaterialLibrary: TGLMaterialLibrary;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Protected | function PrimaryMaster: TGLBaseSceneObject;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMasterObjects(const Val: TGLMaterialMultiProxyMasters);
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);

Properties

Published | property Behaviours;
Published | property Direction;
Published | property Effects;
Published | property MasterObjects: TGLMaterialMultiProxyMasters read FMasterObjects write SetMasterObjects;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property PitchAngle;
Published | property Position;
Published | property RollAngle;
Published | property Scale;
Published | property ShowAxes;
Published | property TurnAngle;
Published | property Up;
Published | property Visible;

Description

Fields

Private FMasterObjects: TGLMaterialMultiProxyMasters;
Private FRendering: Boolean;
Private FMaterialLibrary: TGLMaterialLibrary;

internal use (loop protection)

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Protected function PrimaryMaster: TGLBaseSceneObject;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMasterObjects(const Val: TGLMaterialMultiProxyMasters);
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);

Properties

Published property Behaviours;
Published property Direction;
Published property Effects;
Published property MasterObjects: TGLMaterialMultiProxyMasters read FMasterObjects write SetMasterObjects;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property ObjectsSorting;
Published property OnProgress;
Published property PitchAngle;
Published property Position;
Published property RollAngle;
Published property Scale;
Published property ShowAxes;
Published property TurnAngle;
Published property Up;
Published property Visible;


GLSysHelp v.2.1: GLS.MaterialScript

Unit GLS.MaterialScript

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Classes
  • VCL.StdCtrls
  • GLS.VectorTypes
  • GLS.Texture
  • GLS.TextureFormat
  • GLS.Graphics
  • GLS.Utils
  • GLS.Color
  • GLS.Coordinates
  • GLS.Material
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLShaderItem |
Class TGLShaderItems |
Class TGLMaterialLibraryItem |
Class TGLMaterialLibraryItems |
Class TGLMaterialScripter |


GLSysHelp v.2.1: GLS.MaterialScript: Class TGLShaderItem

Class TGLShaderItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialScript

Declaration

type TGLShaderItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLShaderItem

Overview

Fields

Private | FShader: TGLShader;
Private | FName: string;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Private | procedure SetName(const Value: string);
Private | procedure SetShader(const Value: TGLShader);

Properties

Published | property Name: string read FName write SetName;
Published | property Shader: TGLShader read FShader write SetShader;

Description

Fields

Private FShader: TGLShader;
Private FName: string;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Private procedure SetName(const Value: string);
Private procedure SetShader(const Value: TGLShader);

Properties

Published property Name: string read FName write SetName;
Published property Shader: TGLShader read FShader write SetShader;


GLSysHelp v.2.1: GLS.MaterialScript: Class TGLShaderItems

Class TGLShaderItems

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialScript

Declaration

type TGLShaderItems = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLShaderItems

Overview

Methods

Public | constructor Create(AOwner: TPersistent);
Private | function GetItems(Index: Integer): TGLShaderItem;
Private | procedure SetItems(Index: Integer; const Val: TGLShaderItem);

Properties

Public property Items[Index:Integer]: TGLShaderItem read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TPersistent);
Private function GetItems(Index: Integer): TGLShaderItem;
Private procedure SetItems(Index: Integer; const Val: TGLShaderItem);

Properties

Public property Items[Index:Integer]: TGLShaderItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MaterialScript: Class TGLMaterialLibraryItem

Class TGLMaterialLibraryItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialScript

Declaration

type TGLMaterialLibraryItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLMaterialLibraryItem

Overview

Fields

Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FName: string;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private | procedure SetName(const Value: string);

Properties

Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property Name: string read FName write SetName;

Description

Fields

Private FMaterialLibrary: TGLMaterialLibrary;
Private FName: string;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private procedure SetName(const Value: string);

Properties

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property Name: string read FName write SetName;


GLSysHelp v.2.1: GLS.MaterialScript: Class TGLMaterialLibraryItems

Class TGLMaterialLibraryItems

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialScript

Declaration

type TGLMaterialLibraryItems = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLMaterialLibraryItems

Overview

Methods

Public | constructor Create(AOwner: TPersistent);
Private | function GetItems(Index: Integer): TGLMaterialLibraryItem;
Private | procedure SetItems(Index: Integer; const Val: TGLMaterialLibraryItem);

Properties

Public property Items[Index:Integer]: TGLMaterialLibraryItem read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TPersistent);
Private function GetItems(Index: Integer): TGLMaterialLibraryItem;
Private procedure SetItems(Index: Integer; const Val: TGLMaterialLibraryItem);

Properties

Public property Items[Index:Integer]: TGLMaterialLibraryItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MaterialScript: Class TGLMaterialScripter

Class TGLMaterialScripter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MaterialScript

Declaration

type TGLMaterialScripter = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLMaterialScripter

Overview

Fields

Private | FShaderItems: TGLShaderItems;
Private | FMaterialLibraryItems: TGLMaterialLibraryItems;
Private | FAppend: Boolean;
Private | FOverwrite: Boolean;
Private | FScript: TStrings;
Private | FMemo: TMemo;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | Count: Longint;
Private | Infini: Longint;
Private | Done: Boolean;
Private | NewMat: TGLLibMaterial;
Private | TmpCoords: TGLCoordinates;
Private | TmpColor: TGLColor;
Private | TmpCoords4: TGLCoordinates4;
Private | TmpStr: string;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function CheckRepeatDone: Boolean;
Private | function ClassExists(arguement: string): Boolean;
Private | function DeleteSpaces(Value: string): string;
Private | function ExtractValue: string;
Private | function SubstrExists(substr: string): Boolean;
Private | function ValueExists(Value: string): Boolean;
Public | procedure CompileScript;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure CheckError;
Private | procedure ExtractColors;
Private | procedure ExtractCoords3;
Private | procedure ExtractCoords4;
Private | procedure SetAppend(const Value: Boolean);
Private | procedure SeTGLMaterialLibraryItems(const Value: TGLMaterialLibraryItems);
Private | procedure SeTGLShaderItems(const Value: TGLShaderItems);
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private | procedure SetMemo(const Value: TMemo);
Private | procedure SetOverwrite(const Value: Boolean);
Private | procedure SetScript(const Value: TStrings);
Private | procedure XBackAmbient;
Private | procedure XBackDiffuse;
Private | procedure XBackEmission;
Private | procedure XBackProperties;
Private | procedure XBackShininess;
Private | procedure XBackSpecular;
Private | procedure XBlankImage;
Private | procedure XBlendingMode;
Private | procedure XCompression;
Private | procedure XEnvColor;
Private | procedure XFacingCulling;
Private | procedure XFilteringQuality;
Private | procedure XFrontAmbient;
Private | procedure XFrontDiffuse;
Private | procedure XFrontEmission;
Private | procedure XFrontProperties;
Private | procedure XFrontShininess;
Private | procedure XFrontSpecular;
Private | procedure XImageAlpha;
Private | procedure XImageBrightness;
Private | procedure XImageClass;
Private | procedure XImageGamma;
Private | procedure XLibMaterialName;
Private | procedure XMagFilter;
Private | procedure XMappingMode;
Private | procedure XMappingSCoordinates;
Private | procedure XMappingTCoordinates;
Private | procedure XMaterial;
Private | procedure XMaterialLibrary;
Private | procedure XMaterialOptions;
Private | procedure XMinFilter;
Private | procedure XName;
Private | procedure XNormalMapScale;
Private | procedure XPersistantImage;
Private | procedure XPictureFileName;
Private | procedure XPictureNX;
Private | procedure XPictureNY;
Private | procedure XPictureNZ;
Private | procedure XPicturePX;
Private | procedure XPicturePY;
Private | procedure XPicturePZ;
Private | procedure XPolygonMode;
Private | procedure XShader;
Private | procedure XTexture;
Private | procedure XTexture2Name;
Private | procedure XTextureFormat;
Private | procedure XTextureMode;
Private | procedure XTextureOffset;
Private | procedure XTextureScale;
Private | procedure XTextureWrap;
Private | procedure ZMaterial;

Properties

Published | property AppendToMaterialLibrary: Boolean read FAppend write SetAppend;
Public | property DebugMemo: TMemo read FMemo write SetMemo;
Published | property MaterialLibraries: TGLMaterialLibraryItems read FMaterialLibraryItems write SeTGLMaterialLibraryItems;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property OverwriteToMaterialLibrary: Boolean read FOverwrite write SetOverwrite;
Published | property Script: TStrings read FScript write SetScript;
Published | property Shaders: TGLShaderItems read FShaderItems write SeTGLShaderItems;

Description

Fields

Private FShaderItems: TGLShaderItems;
Private FMaterialLibraryItems: TGLMaterialLibraryItems;
Private FAppend: Boolean;
Private FOverwrite: Boolean;
Private FScript: TStrings;
Private FMemo: TMemo;
Private FMaterialLibrary: TGLMaterialLibrary;
Private Count: Longint;
Private Infini: Longint;
Private Done: Boolean;
Private NewMat: TGLLibMaterial;
Private TmpCoords: TGLCoordinates;
Private TmpColor: TGLColor;
Private TmpCoords4: TGLCoordinates4;
Private TmpStr: string;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function CheckRepeatDone: Boolean;
Private function ClassExists(arguement: string): Boolean;
Private function DeleteSpaces(Value: string): string;
Private function ExtractValue: string;

extraction functions

Private function SubstrExists(substr: string): Boolean;
Private function ValueExists(Value: string): Boolean;
Public procedure CompileScript;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure CheckError;

error checking

Private procedure ExtractColors;
Private procedure ExtractCoords3;
Private procedure ExtractCoords4;
Private procedure SetAppend(const Value: Boolean);
Private procedure SeTGLMaterialLibraryItems(const Value: TGLMaterialLibraryItems);
Private procedure SeTGLShaderItems(const Value: TGLShaderItems);
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private procedure SetMemo(const Value: TMemo);
Private procedure SetOverwrite(const Value: Boolean);
Private procedure SetScript(const Value: TStrings);
Private procedure XBackAmbient;
Private procedure XBackDiffuse;
Private procedure XBackEmission;
Private procedure XBackProperties;
Private procedure XBackShininess;
Private procedure XBackSpecular;
Private procedure XBlankImage;
Private procedure XBlendingMode;
Private procedure XCompression;
Private procedure XEnvColor;
Private procedure XFacingCulling;
Private procedure XFilteringQuality;
Private procedure XFrontAmbient;
Private procedure XFrontDiffuse;
Private procedure XFrontEmission;
Private procedure XFrontProperties;
Private procedure XFrontShininess;
Private procedure XFrontSpecular;
Private procedure XImageAlpha;
Private procedure XImageBrightness;
Private procedure XImageClass;
Private procedure XImageGamma;
Private procedure XLibMaterialName;
Private procedure XMagFilter;
Private procedure XMappingMode;
Private procedure XMappingSCoordinates;
Private procedure XMappingTCoordinates;
Private procedure XMaterial;

internally called scripts for value extraction

Private procedure XMaterialLibrary;
Private procedure XMaterialOptions;
Private procedure XMinFilter;
Private procedure XName;
Private procedure XNormalMapScale;
Private procedure XPersistantImage;
Private procedure XPictureFileName;
Private procedure XPictureNX;
Private procedure XPictureNY;
Private procedure XPictureNZ;
Private procedure XPicturePX;
Private procedure XPicturePY;
Private procedure XPicturePZ;
Private procedure XPolygonMode;
Private procedure XShader;
Private procedure XTexture;
Private procedure XTexture2Name;
Private procedure XTextureFormat;
Private procedure XTextureMode;
Private procedure XTextureOffset;
Private procedure XTextureScale;
Private procedure XTextureWrap;
Private procedure ZMaterial;

these are our viable scripts

Properties

Published property AppendToMaterialLibrary: Boolean read FAppend write SetAppend;
Public property DebugMemo: TMemo read FMemo write SetMemo;
Published property MaterialLibraries: TGLMaterialLibraryItems read FMaterialLibraryItems write SeTGLMaterialLibraryItems;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property OverwriteToMaterialLibrary: Boolean read FOverwrite write SetOverwrite;
Published property Script: TStrings read FScript write SetScript;
Published property Shaders: TGLShaderItems read FShaderItems write SeTGLShaderItems;


GLSysHelp v.2.1: GLS.Memo

Unit GLS.Memo

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • WinApi.Messages
  • System.SysUtils
  • System.Classes
  • System.UITypes
  • VCL.Graphics
  • VCL.Controls
  • VCL.Forms
  • VCL.Dialogs
  • VCL.ClipBrd
  • VCL.StdCtrls
  • VCL.ExtCtrls

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TCellSize |
Record TCellPos |
Record TFullPos |
Class TLineProp |
Class TCharStyle |
Class TStyleList |
Class TGLAbstractMemoObject |
Class TGLSMemoAbstractScrollableObject |
Class TGLSMemoScrollBar |
Class TGLSMemoStrings |
Class TGLSMemoGutter |
Class TGLSMemoUndo |
Class TGLSMemoInsCharUndo |
Class TGLSMemoDelCharUndo |
Class TGLSMEmoDelLineUndo |
Class TGLSMemoSelUndo |
Class TGLSMemoDeleteBufUndo |
Class TGLSMemoPasteUndo |
Class TGLSMemoUndoList |
Class TGLSCustomMemo |
Class TGLSMemo |
Class TGLSMemoStringList |
Class TGLSSynHiMemo |

Functions and Procedures

procedure Border(Canvas: TCanvas; const rct: TRect; BorderType: TBorderType);

Types

TBorderType = (...);
TCommand = Integer;
TDelimiters = TSysCharSet;
TGetLineAttrsEvent = procedure(Sender: TObject; LineNo: integer; var Attrs: string) of object;
TGutterClickEvent = procedure(Sender: TObject; LineNo: integer) of object;
TGutterDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; LineNo: integer; rct: TRect) of object;
TsbState = (...);
TScrollMode = (...);
TTokenType = (...);
TUndoChangeEvent = procedure(Sender: TObject; CanUndo, CanRedo: Boolean) of object;

Description

Functions and Procedures

procedure Border(Canvas: TCanvas; const rct: TRect; BorderType: TBorderType);

Types

TBorderType = (...);
Values
  • btRaised
  • btLowered
  • btFlatRaised
  • btFlatLowered
TCommand = Integer;
TDelimiters = TSysCharSet;
TGetLineAttrsEvent = procedure(Sender: TObject; LineNo: integer; var Attrs: string) of object;
TGutterClickEvent = procedure(Sender: TObject; LineNo: integer) of object;

————————————————————–

TGutterDrawEvent = procedure(Sender: TObject; ACanvas: TCanvas; LineNo: integer; rct: TRect) of object;
TsbState = (...);
Values
  • sbsWait
  • sbsBack
  • sbsForward
  • sbsPageBack
  • sbsPageForward
  • sbsDragging
TScrollMode = (...);
Values
  • smAuto
  • smStrict
TTokenType = (...);
Values
  • ttWord
  • ttBracket
  • ttSpecial
  • ttDelimiter
  • ttSpace
  • ttEOL
  • ttInteger
  • ttFloat
  • ttComment
  • ttOther
  • ttWrongNumber
TUndoChangeEvent = procedure(Sender: TObject; CanUndo, CanRedo: Boolean) of object;


GLSysHelp v.2.1: GLS.Memo: Record TCellSize

Record TCellSize

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TCellSize = record

Description

Overview

Fields

Public | W: integer;
Public | H: integer;

Description

Fields

Public W: integer;
Public H: integer;


GLSysHelp v.2.1: GLS.Memo: Record TCellPos

Record TCellPos

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TCellPos = record

Description

Overview

Fields

Public | X: integer;
Public | Y: integer;

Description

Fields

Public X: integer;
Public Y: integer;


GLSysHelp v.2.1: GLS.Memo: Record TFullPos

Record TFullPos

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TFullPos = record

Description

Overview

Fields

Public | LineNo: integer;
Public | Pos: integer;

Description

Fields

Public LineNo: integer;
Public Pos: integer;


GLSysHelp v.2.1: GLS.Memo: Class TLineProp

Class TLineProp

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TLineProp = class(TObject)

Description

Hierarchy

  • TObject
  • TLineProp

Overview

Fields

Public | FObject: TObject;
Public | FStyleNo: integer;
Public | FInComment: Boolean;
Public | FInBrackets: integer;
Public | FValidAttrs: Boolean;
Public | FCharAttrs: string;

Description

Fields

Public FObject: TObject;
Public FStyleNo: integer;
Public FInComment: Boolean;
Public FInBrackets: integer;
Public FValidAttrs: Boolean;
Public FCharAttrs: string;


GLSysHelp v.2.1: GLS.Memo: Class TCharStyle

Class TCharStyle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TCharStyle = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCharStyle

Overview

Fields

Private | FTextColor: TColor;
Private | FBkColor: TColor;
Private | FStyle: TFontStyles;

Properties

Published | property BkColor: TColor read FBkColor write FBkColor;
Published | property Style: TFontStyles read FStyle write FStyle;
Published | property TextColor: TColor read FTextColor write FTextColor;

Description

Fields

Private FTextColor: TColor;
Private FBkColor: TColor;
Private FStyle: TFontStyles;

Properties

Published property BkColor: TColor read FBkColor write FBkColor;
Published property Style: TFontStyles read FStyle write FStyle;
Published property TextColor: TColor read FTextColor write FTextColor;


GLSysHelp v.2.1: GLS.Memo: Class TStyleList

Class TStyleList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TStyleList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TStyleList

Overview

Methods

Public | destructor Destroy; override;
Public | function Add(ATextColor, ABkCOlor: TColor; AStyle: TFontStyles): Integer;
Private | function GetBkColor(Index: Integer): TColor;
Private | function GetStyle(Index: Integer): TFontStyles;
Private | function GetTextColor(Index: Integer): TColor;
Public | procedure Change(Index: integer; ATextColor, ABkColor: TColor; AStyle: TFontStyles);
Public | procedure Clear; override;
Public | procedure Delete(Index: Integer);
Private | procedure CheckRange(Index: integer);
Private | procedure SetBkColor(Index: Integer; Value: TColor);
Private | procedure SetStyle(Index: Integer; Value: TFontStyles);
Private | procedure SetTextColor(Index: Integer; Value: TColor);

Properties

Protected | property BkColor[Index:Integer]: TColor read GetBkColor write SetBkColor;
Protected | property Style[Index:Integer]: TFontStyles read GetStyle write SetStyle;
Protected | property TextColor[Index:Integer]: TColor read GetTextColor write SetTextColor;

Description

Methods

Public destructor Destroy; override;
Public function Add(ATextColor, ABkCOlor: TColor; AStyle: TFontStyles): Integer;
Private function GetBkColor(Index: Integer): TColor;
Private function GetStyle(Index: Integer): TFontStyles;
Private function GetTextColor(Index: Integer): TColor;
Public procedure Change(Index: integer; ATextColor, ABkColor: TColor; AStyle: TFontStyles);
Public procedure Clear; override;
Public procedure Delete(Index: Integer);
Private procedure CheckRange(Index: integer);
Private procedure SetBkColor(Index: Integer; Value: TColor);
Private procedure SetStyle(Index: Integer; Value: TFontStyles);
Private procedure SetTextColor(Index: Integer; Value: TColor);

Properties

Protected property BkColor[Index:Integer]: TColor read GetBkColor write SetBkColor;
Protected property Style[Index:Integer]: TFontStyles read GetStyle write SetStyle;
Protected property TextColor[Index:Integer]: TColor read GetTextColor write SetTextColor;


GLSysHelp v.2.1: GLS.Memo: Class TGLAbstractMemoObject

Class TGLAbstractMemoObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLAbstractMemoObject = class(TObject)

Description

Hierarchy

  • TObject
  • TGLAbstractMemoObject

Overview

Methods

Public | function MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual; abstract;
Public | function MouseMove(Shift: TShiftState; X, Y: Integer): Boolean; virtual; abstract;
Public | function MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual; abstract;

Description

Methods

Public function MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual; abstract;
Public function MouseMove(Shift: TShiftState; X, Y: Integer): Boolean; virtual; abstract;
Public function MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual; abstract;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoAbstractScrollableObject

Class TGLSMemoAbstractScrollableObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoAbstractScrollableObject = class(TCustomControl)

Description

Hierarchy

  • TCustomControl
  • TGLSMemoAbstractScrollableObject

Overview

Methods

Protected | procedure DoScroll(Sender: TGLSMemoScrollBar; ByValue: integer); virtual; abstract;
Protected | procedure DoScrollPage(Sender: TGLSMemoScrollBar; ByValue: integer); virtual; abstract;

Description

Methods

Protected procedure DoScroll(Sender: TGLSMemoScrollBar; ByValue: integer); virtual; abstract;
Protected procedure DoScrollPage(Sender: TGLSMemoScrollBar; ByValue: integer); virtual; abstract;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoScrollBar

Class TGLSMemoScrollBar

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoScrollBar = class(TGLAbstractMemoObject)

Description

No description available, ancestor TGLAbstractMemoObject description follows

Hierarchy

  • TObject
  • TGLAbstractMemoObject
  • TGLSMemoScrollBar

Overview

Fields

Private | FKind: TScrollBarKind;
Private | FParent: TGLSMemoAbstractScrollableObject;
Private | FLeft: integer;
Private | FTop: integer;
Private | FWidth: integer;
Private | FHeight: integer;
Private | FTotal: integer;
Private | FMaxPosition: integer;
Private | FPosition: integer;
Private | FButtonLength: integer;
Private | FState: TsbState;
Private | FXOffset: integer;
Private | FYOffset: integer;

Methods

Public | constructor Create(AParent: TGLSMemoAbstractScrollableObject; AKind: TScrollBarKind);
Public | function MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public | function MouseMove(Shift: TShiftState; X, Y: Integer): Boolean; override;
Public | function MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public | function MoveThumbTo(X, Y: Integer): integer;
Private | function GetBackRect: TRect;
Private | function GetForwardRect: TRect;
Private | function GetMiddleRect: TRect;
Private | function GetPgBackRect: TRect;
Private | function GetPgForwardRect: TRect;
Private | function GetRect: TRect;
Private | function GetThumbRect: TRect;
Public | procedure PaintTo(ACanvas: TCanvas);
Private | procedure SetParams(Index: integer; Value: integer);
Private | procedure SetState(Value: TsbState);

Properties

Public | property BackRect: TRect read GetBackRect;
Public | property ForwardRect: TRect read GetForwardRect;
Public | property FullRect: TRect read GetRect;
Public | property Height: integer index 3 read FHeight write SetParams;
Public | property Kind: TScrollBarKind read FKind write FKind;
Public | property Left: integer index 0 read FLeft write SetParams;
Public | property MaxPosition: integer index 5 read FMaxPosition write SetParams;
Public | property MiddleRect: TRect read GetMiddleRect;
Public | property PageBackRect: TRect read GetPgBackRect;
Public | property PageForwardRect: TRect read GetPgForwardRect;
Public | property Parent: TGLSMemoAbstractScrollableObject read FParent;
Public | property Position: integer index 6 read FPosition write SetParams;
Public | property State: TsbState read FState write SetState;
Public | property ThumbRect: TRect read GetThumbRect;
Public | property Top: integer index 1 read FTop write SetParams;
Public | property Total: integer index 4 read FTotal write SetParams;
Public | property Width: integer index 2 read FWidth write SetParams;

Description

Fields

Private FKind: TScrollBarKind;
Private FParent: TGLSMemoAbstractScrollableObject;
Private FLeft: integer;
Private FTop: integer;
Private FWidth: integer;
Private FHeight: integer;
Private FTotal: integer;
Private FMaxPosition: integer;
Private FPosition: integer;
Private FButtonLength: integer;
Private FState: TsbState;
Private FXOffset: integer;
Private FYOffset: integer;

Methods

Public constructor Create(AParent: TGLSMemoAbstractScrollableObject; AKind: TScrollBarKind);
Public function MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public function MouseMove(Shift: TShiftState; X, Y: Integer): Boolean; override;
Public function MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public function MoveThumbTo(X, Y: Integer): integer;
Private function GetBackRect: TRect;
Private function GetForwardRect: TRect;
Private function GetMiddleRect: TRect;
Private function GetPgBackRect: TRect;
Private function GetPgForwardRect: TRect;
Private function GetRect: TRect;
Private function GetThumbRect: TRect;
Public procedure PaintTo(ACanvas: TCanvas);
Private procedure SetParams(Index: integer; Value: integer);
Private procedure SetState(Value: TsbState);

Properties

Public property BackRect: TRect read GetBackRect;
Public property ForwardRect: TRect read GetForwardRect;
Public property FullRect: TRect read GetRect;
Public property Height: integer index 3 read FHeight write SetParams;
Public property Kind: TScrollBarKind read FKind write FKind;
Public property Left: integer index 0 read FLeft write SetParams;
Public property MaxPosition: integer index 5 read FMaxPosition write SetParams;
Public property MiddleRect: TRect read GetMiddleRect;
Public property PageBackRect: TRect read GetPgBackRect;
Public property PageForwardRect: TRect read GetPgForwardRect;
Public property Parent: TGLSMemoAbstractScrollableObject read FParent;
Public property Position: integer index 6 read FPosition write SetParams;
Public property State: TsbState read FState write SetState;
Public property ThumbRect: TRect read GetThumbRect;
Public property Top: integer index 1 read FTop write SetParams;
Public property Total: integer index 4 read FTotal write SetParams;
Public property Width: integer index 2 read FWidth write SetParams;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoStrings

Class TGLSMemoStrings

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoStrings = class(TStringList)

Description

Hierarchy

  • TObject
  • TPersistent
  • TStrings
  • TStringList
  • TGLSMemoStrings

Overview

Fields

Private | FMemo: TGLSCustomMemo;
Private | FLockCount: integer;
Private | FDeleting: Boolean;

Methods

Public | destructor Destroy; override;
Public | function Add(const S: string): Integer; override;
Public | function AddObject(const S: string; AObject: TObject): Integer; override;
Public | function DoAdd(const S: string): Integer;
Protected | function CreateProp(Index: integer): TLineProp;
Protected | function GetObject(Index: Integer): TObject; override;
Private | function GetCharAttrs(Index: Integer): string;
Private | function GetInBrackets(Index: Integer): integer;
Private | function GetInComment(Index: Integer): Boolean;
Private | function GetLineProp(Index: integer): TLineProp;
Private | function GetLineStyle(Index: integer): integer;
Private | function GetValidAttrs(Index: Integer): Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Clear; override;
Public | procedure Delete(Index: Integer); override;
Public | procedure DoInsert(Index: Integer; const S: string);
Public | procedure Insert(Index: Integer; const S: string); override;
Public | procedure InsertObject(Index: Integer; const S: string; AObject: TObject); override;
Public | procedure LoadFromFile(const FileName: string); override;
Protected | procedure PutObject(Index: Integer; AObject: TObject); override;
Protected | procedure SetUpdateState(Updating: Boolean); override;
Private | procedure CheckRange(Index: integer);
Private | procedure SetCharAttrs(Index: Integer; const Value: string);
Private | procedure SetInBrackets(Index: Integer; Value: integer);
Private | procedure SetInComment(Index: Integer; Value: Boolean);
Private | procedure SetLineStyle(Index: integer; Value: integer);
Private | procedure SetValidAttrs(Index: Integer; Value: Boolean);

Properties

Protected | property CharAttrs[Index:integer]: string read GetCharAttrs write SetCharAttrs;
Protected | property InBrackets[Index:integer]: integer read GetInBrackets write SetInBrackets;
Protected | property InComment[Index:integer]: Boolean read GetInComment write SetInComment;
Protected | property LineProp[Index:integer]: TLineProp read GetLineProp;
Protected | property Style[Index:integer]: integer read GetLineStyle write SetLineStyle;
Protected | property ValidAttrs[Index:integer]: Boolean read GetValidAttrs write SetValidAttrs;

Description

Fields

Private FMemo: TGLSCustomMemo;
Private FLockCount: integer;
Private FDeleting: Boolean;

Methods

Public destructor Destroy; override;
Public function Add(const S: string): Integer; override;
Public function AddObject(const S: string; AObject: TObject): Integer; override;
Public function DoAdd(const S: string): Integer;
Protected function CreateProp(Index: integer): TLineProp;
Protected function GetObject(Index: Integer): TObject; override;
Private function GetCharAttrs(Index: Integer): string;
Private function GetInBrackets(Index: Integer): integer;
Private function GetInComment(Index: Integer): Boolean;
Private function GetLineProp(Index: integer): TLineProp;
Private function GetLineStyle(Index: integer): integer;
Private function GetValidAttrs(Index: Integer): Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure Clear; override;
Public procedure Delete(Index: Integer); override;
Public procedure DoInsert(Index: Integer; const S: string);
Public procedure Insert(Index: Integer; const S: string); override;
Public procedure InsertObject(Index: Integer; const S: string; AObject: TObject); override;
Public procedure LoadFromFile(const FileName: string); override;
Protected procedure PutObject(Index: Integer; AObject: TObject); override;
Protected procedure SetUpdateState(Updating: Boolean); override;
Private procedure CheckRange(Index: integer);
Private procedure SetCharAttrs(Index: Integer; const Value: string);
Private procedure SetInBrackets(Index: Integer; Value: integer);
Private procedure SetInComment(Index: Integer; Value: Boolean);
Private procedure SetLineStyle(Index: integer; Value: integer);
Private procedure SetValidAttrs(Index: Integer; Value: Boolean);

Properties

Protected property CharAttrs[Index:integer]: string read GetCharAttrs write SetCharAttrs;
Protected property InBrackets[Index:integer]: integer read GetInBrackets write SetInBrackets;
Protected property InComment[Index:integer]: Boolean read GetInComment write SetInComment;
Protected property LineProp[Index:integer]: TLineProp read GetLineProp;
Protected property Style[Index:integer]: integer read GetLineStyle write SetLineStyle;

PALOFF

Protected property ValidAttrs[Index:integer]: Boolean read GetValidAttrs write SetValidAttrs;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoGutter

Class TGLSMemoGutter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoGutter = class(TObject)

Description

Hierarchy

  • TObject
  • TGLSMemoGutter

Overview

Fields

Private | FMemo: TGLSCustomMemo;
Private | FLeft: integer;
Private | FTop: integer;
Private | FWidth: integer;
Private | FHeight: integer;
Private | FColor: TColor;

Methods

Private | function GetRect: TRect;
Protected | procedure Invalidate;
Protected | procedure PaintTo(ACanvas: TCanvas);
Private | procedure SetParams(Index: integer; Value: integer);

Properties

Public | property FullRect: TRect read GetRect;
Public | property Height: integer index 3 read FHeight write SetParams;
Public | property Left: integer index 0 read FLeft write SetParams;
Public | property Top: integer index 1 read FTop write SetParams;
Public | property Width: integer index 2 read FWidth write SetParams;

Description

Fields

Private FMemo: TGLSCustomMemo;
Private FLeft: integer;
Private FTop: integer;
Private FWidth: integer;
Private FHeight: integer;
Private FColor: TColor;

Methods

Private function GetRect: TRect;
Protected procedure Invalidate;
Protected procedure PaintTo(ACanvas: TCanvas);
Private procedure SetParams(Index: integer; Value: integer);

Properties

Public property FullRect: TRect read GetRect;
Public property Height: integer index 3 read FHeight write SetParams;
Public property Left: integer index 0 read FLeft write SetParams;
Public property Top: integer index 1 read FTop write SetParams;
Public property Width: integer index 2 read FWidth write SetParams;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoUndo

Class TGLSMemoUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoUndo = class(TObject)

Description

Hierarchy

  • TObject
  • TGLSMemoUndo

Overview

Fields

Private | FMemo: TGLSCustomMemo;
Private | FUndoCurX0: integer;
Private | FUndoCurY0: integer;
Private | FUndoCurX: integer;
Private | FUndoCurY: integer;
Private | FUndoText: string;

Methods

Public | constructor Create(ACurX0, ACurY0, ACurX, ACurY: integer; const AText: string);
Public | function Append(NewUndo: TGLSMemoUndo): Boolean; virtual;
Public | procedure PerformRedo; virtual; abstract;
Public | procedure PerformUndo; virtual; abstract;
Public | procedure Redo;
Public | procedure Undo;

Properties

Public | property UndoCurX: integer read FUndoCurX write FUndoCurX;
Public | property UndoCurX0: integer read FUndoCurX0 write FUndoCurX0;
Public | property UndoCurY: integer read FUndoCurY write FUndoCurY;
Public | property UndoCurY0: integer read FUndoCurY0 write FUndoCurY0;

Description

Fields

Private FMemo: TGLSCustomMemo;
Private FUndoCurX0: integer;
Private FUndoCurY0: integer;
Private FUndoCurX: integer;
Private FUndoCurY: integer;
Private FUndoText: string;

Methods

Public constructor Create(ACurX0, ACurY0, ACurX, ACurY: integer; const AText: string);
Public function Append(NewUndo: TGLSMemoUndo): Boolean; virtual;
Public procedure PerformRedo; virtual; abstract;
Public procedure PerformUndo; virtual; abstract;
Public procedure Redo;
Public procedure Undo;

Properties

Public property UndoCurX: integer read FUndoCurX write FUndoCurX;
Public property UndoCurX0: integer read FUndoCurX0 write FUndoCurX0;
Public property UndoCurY: integer read FUndoCurY write FUndoCurY;
Public property UndoCurY0: integer read FUndoCurY0 write FUndoCurY0;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoInsCharUndo

Class TGLSMemoInsCharUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoInsCharUndo = class(TGLSMemoUndo)

Description

No description available, ancestor TGLSMemoUndo description follows

Hierarchy

  • TObject
  • TGLSMemoUndo
  • TGLSMemoInsCharUndo

Overview

Methods

Public | function Append(NewUndo: TGLSMemoUndo): Boolean; override;
Public | procedure PerformRedo; override;
Public | procedure PerformUndo; override;

Description

Methods

Public function Append(NewUndo: TGLSMemoUndo): Boolean; override;
Public procedure PerformRedo; override;
Public procedure PerformUndo; override;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoDelCharUndo

Class TGLSMemoDelCharUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoDelCharUndo = class(TGLSMemoUndo)

Description

No description available, ancestor TGLSMemoUndo description follows

Hierarchy

  • TObject
  • TGLSMemoUndo
  • TGLSMemoDelCharUndo

Overview

Fields

Private FIsBackspace: Boolean;

Methods

Public | function Append(NewUndo: TGLSMemoUndo): Boolean; override;
Public | procedure PerformRedo; override;
Public | procedure PerformUndo; override;

Properties

Public property IsBackspace: Boolean read FIsBackspace write FIsBackspace;

Description

Fields

Private FIsBackspace: Boolean;

Methods

Public function Append(NewUndo: TGLSMemoUndo): Boolean; override;
Public procedure PerformRedo; override;
Public procedure PerformUndo; override;

Properties

Public property IsBackspace: Boolean read FIsBackspace write FIsBackspace;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMEmoDelLineUndo

Class TGLSMEmoDelLineUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMEmoDelLineUndo = class(TGLSMemoUndo)

Description

No description available, ancestor TGLSMemoUndo description follows

Hierarchy

  • TObject
  • TGLSMemoUndo
  • TGLSMEmoDelLineUndo

Overview

Fields

Private FIndex: integer;

Methods

Public | constructor Create(AIndex, ACurX0, ACurY0, ACurX, ACurY: integer; const AText: string);
Public | procedure PerformRedo; override;
Public | procedure PerformUndo; override;

Description

Fields

Private FIndex: integer;

Methods

Public constructor Create(AIndex, ACurX0, ACurY0, ACurX, ACurY: integer; const AText: string);
Public procedure PerformRedo; override;
Public procedure PerformUndo; override;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoSelUndo

Class TGLSMemoSelUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoSelUndo = class(TGLSMemoUndo)

Description

No description available, ancestor TGLSMemoUndo description follows

Hierarchy

  • TObject
  • TGLSMemoUndo
  • TGLSMemoSelUndo

Overview

Fields

Private | FUndoSelStartX: integer;
Private | FUndoSelStartY: integer;
Private | FUndoSelEndX: integer;
Private | FUndoSelEndY: integer;

Properties

Public | property UndoSelEndX: integer read FUndoSelEndX write FUndoSelEndX;
Public | property UndoSelEndY: integer read FUndoSelEndY write FUndoSelEndY;
Public | property UndoSelStartX: integer read FUndoSelStartX write FUndoSelStartX;
Public | property UndoSelStartY: integer read FUndoSelStartY write FUndoSelStartY;

Description

Fields

Private FUndoSelStartX: integer;
Private FUndoSelStartY: integer;
Private FUndoSelEndX: integer;
Private FUndoSelEndY: integer;

Properties

Public property UndoSelEndX: integer read FUndoSelEndX write FUndoSelEndX;
Public property UndoSelEndY: integer read FUndoSelEndY write FUndoSelEndY;
Public property UndoSelStartX: integer read FUndoSelStartX write FUndoSelStartX;
Public property UndoSelStartY: integer read FUndoSelStartY write FUndoSelStartY;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoDeleteBufUndo

Class TGLSMemoDeleteBufUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoDeleteBufUndo = class(TGLSMemoSelUndo)

Description

No description available, ancestor TGLSMemoSelUndo description follows
No description available, ancestor TGLSMemoUndo description follows

Hierarchy

  • TObject
  • TGLSMemoUndo
  • TGLSMemoSelUndo
  • TGLSMemoDeleteBufUndo

Overview

Methods

Public | procedure PerformRedo; override;
Public | procedure PerformUndo; override;

Description

Methods

Public procedure PerformRedo; override;
Public procedure PerformUndo; override;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoPasteUndo

Class TGLSMemoPasteUndo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoPasteUndo = class(TGLSMemoUndo)

Description

No description available, ancestor TGLSMemoUndo description follows

Hierarchy

  • TObject
  • TGLSMemoUndo
  • TGLSMemoPasteUndo

Overview

Methods

Public | procedure PerformRedo; override;
Public | procedure PerformUndo; override;

Description

Methods

Public procedure PerformRedo; override;
Public procedure PerformUndo; override;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoUndoList

Class TGLSMemoUndoList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoUndoList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLSMemoUndoList

Overview

Fields

Private | FPos: integer;
Private | FMemo: TGLSCustomMemo;
Private | FIsPerforming: Boolean;
Private | FLimit: integer;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function Add(Item: Pointer): Integer;
Protected | function Get(Index: Integer): TGLSMemoUndo;
Public | procedure Clear; override;
Public | procedure Delete(Index: Integer);
Public | procedure Redo;
Public | procedure Undo;
Protected | procedure SetLimit(Value: integer);

Properties

Public | property IsPerforming: Boolean read FIsPerforming write FIsPerforming;
Public | property Items[Index:Integer]: TGLSMemoUndo read Get;
Public | property Limit: integer read FLimit write SetLimit;
Public | property Memo: TGLSCustomMemo read FMemo write FMemo;
Public | property Pos: integer read FPos write FPos;

Description

Fields

Private FPos: integer;
Private FMemo: TGLSCustomMemo;
Private FIsPerforming: Boolean;
Private FLimit: integer;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function Add(Item: Pointer): Integer;
Protected function Get(Index: Integer): TGLSMemoUndo;
Public procedure Clear; override;
Public procedure Delete(Index: Integer);
Public procedure Redo;
Public procedure Undo;
Protected procedure SetLimit(Value: integer);

Properties

Public property IsPerforming: Boolean read FIsPerforming write FIsPerforming;
Public property Items[Index:Integer]: TGLSMemoUndo read Get;
Public property Limit: integer read FLimit write SetLimit;
Public property Memo: TGLSCustomMemo read FMemo write FMemo;
Public property Pos: integer read FPos write FPos;


GLSysHelp v.2.1: GLS.Memo: Class TGLSCustomMemo

Class TGLSCustomMemo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSCustomMemo = class(TGLSMemoAbstractScrollableObject)

Description

No description available, ancestor TGLSMemoAbstractScrollableObject description follows

Hierarchy

  • TCustomControl
  • TGLSMemoAbstractScrollableObject
  • TGLSCustomMemo

Overview

Fields

Private | FAutoIndent: Boolean;
Private | FMargin: integer;
Private | FHiddenCaret: Boolean;
Private | FCaretVisible: Boolean;
Private | FCellSize: TCellSize;
Private | FCurX: integer;
Private | FCurY: integer;
Private | FLeftCol: integer;
Private | FTopLine: integer;
Private | FTabSize: integer;
Private | FFont: TFont;
Private | FBkColor: TColor;
Private | FSelColor: TColor;
Private | FSelBkColor: TColor;
Private | FReadOnly: Boolean;
Private | FDelErase: Boolean;
Private | FLines: TStrings;
Private | FSelStartX: integer;
Private | FSelStartY: integer;
Private | FSelEndX: integer;
Private | FSelEndY: integer;
Private | FPrevSelX: integer;
Private | FPrevSelY: integer;
Private | FScrollBars: System.UITypes.TScrollStyle;
Private | FScrollBarWidth: integer;
Private | FGutter: TGLSMemoGutter;
Private | FGutterWidth: integer;
Private | sbVert: TGLSMemoScrollBar;
Private | sbHorz: TGLSMemoScrollBar;
Private | FStyles: TStyleList;
Private | FLineBitmap: TBitmap;
Private | FSelCharPos: TFullPos;
Private | FSelCharStyle: integer;
Private | FLeftButtonDown: Boolean;
Private | FScrollMode: TScrollMode;
Private | FUndoList: TGLSMemoUndoList;
Private | FFirstUndoList: TGLSMemoUndoList;
Private | FUndoLimit: integer;
Private | FLastMouseUpX: integer;
Private | FLastMouseUpY: integer;
Private | FAfterDoubleClick: Boolean;
Private | FOnMoveCursor: TNotifyEvent;
Private | FOnChange: TNotifyEvent;
Private | FOnAttrChange: TNotifyEvent;
Private | FOnStatusChange: TNotifyEvent;
Private | FOnSelectionChange: TNotifyEvent;
Private | FOnGutterDraw: TGutterDrawEvent;
Private | FOnGutterClick: TGutterClickEvent;
Private | FOnGetLineAttrs: TGetLineAttrsEvent;
Private | FOnUndoChange: TUndoChangeEvent;
Private | FHideCursor: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CanRedo: Boolean;
Public | function CanUndo: Boolean;
Public | function CellFromPos(X, Y: integer): TCellPos;
Public | function CellRect(ACol, ARow: integer): TRect;
Public | function CharFromPos(X, Y: integer): TFullPos;
Public | function CharStyleNo(LineNo, Pos: integer): integer;
Public | function ColRect(ACol: integer): TRect;
Public | function FindText(Text: string; Options: TFindOptions; Select: Boolean): Boolean;
Public | function LineRect(ARow: integer): TRect;
Public | function SelectLine(LineNo, StyleNo: Integer): integer;
Protected | function AddString(const S: string): integer;
Protected | function ColRangeRect(FromCol, ToCol: integer): TRect;
Protected | function EditorRect: TRect;
Protected | function IndentCurrLine: string;
Protected | function LineRangeRect(FromLine, ToLine: integer): TRect;
Private | function GetCharAttrs(Index: integer): string;
Private | function GetGutterColor: TColor;
Private | function GetInBrackets(Index: Integer): integer;
Private | function GetInComment(Index: integer): Boolean;
Private | function GetLineStyle(Index: integer): integer;
Private | function GetSelEnd: TPoint;
Private | function GetSelLength: integer;
Private | function GetSelStart: TPoint;
Private | function GetSelText: string;
Private | function GetValidAttrs(Index: integer): Boolean;
Private | function GetVisible(Index: integer): integer;
Private | function IsLineVisible(LineNo: integer): Boolean;
Private | function MaxLength: integer;
Public | procedure Clear;
Public | procedure ClearSelection;
Public | procedure CopyToClipBoard;
Public | procedure CutToClipBoard;
Public | procedure InsertTemplate(AText: string);
Public | procedure PasteFromClipBoard;
Public | procedure Redo;
Public | procedure SelectAll;
Public | procedure SelectChar(LineNo, Pos, StyleNo: Integer);
Public | procedure SelectLines(StartLine, EndLine: Integer);
Public | procedure SetCursor(ACurX, ACurY: Integer);
Public | procedure Undo;
Public | procedure UnSelectChar;
Protected | procedure AttrChanged(LineNo: integer); virtual;
Protected | procedure BackSpace;
Protected | procedure BackSpaceWord;
Protected | procedure Changed(FromLine, ToLine: integer); virtual;
Protected | procedure ClearUndoList;
Protected | procedure CreateParams(var Params: TCreateParams); override;
Protected | procedure DblClick; override;
Protected | procedure DeleteChar(OldX, OldY: integer);
Protected | procedure DeleteLine(Index, OldX, OldY, NewX, NewY: integer; FixUndo: Boolean);
Protected | procedure DeleteSelection(bRepaint: Boolean);
Protected | procedure DoScroll(Sender: TGLSMemoScrollBar; ByValue: integer); override;
Protected | procedure DoScrollPage(Sender: TGLSMemoScrollBar; ByValue: integer); override;
Protected | procedure DrawGutter;
Protected | procedure DrawMargin;
Protected | procedure DrawScrollBars;
Protected | procedure GoEnd(Shift: TShiftState);
Protected | procedure GoHome(Shift: TShiftState);
Protected | procedure InsertChar(C: Char);
Protected | procedure InsertString(Index: integer; S: string);
Protected | procedure InvalidateLineRange(FromLine, ToLine: integer);
Protected | procedure KeyDown(var Key: Word; Shift: TShiftState); override;
Protected | procedure KeyPress(var Key: Char); override;
Protected | procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
Protected | procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected | procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
Protected | procedure NewLine;
Protected | procedure Paint; override;
Protected | procedure SelectionChanged; virtual;
Protected | procedure StatusChanged; virtual;
Protected | procedure UndoChange;
Protected | procedure WndProc(var Message: TMessage); override;
Private | procedure DoCommand(cmd: TCommand; const AShift: TShiftState);
Private | procedure DrawLine(LineNo: integer);
Private | procedure ExpandSelection;
Private | procedure FreshLineBitmap;
Private | procedure MakeVisible;
Private | procedure MoveCursor(dX, dY: integer; Shift: TShiftState);
Private | procedure MovePage(dP: integer; Shift: TShiftState);
Private | procedure ResizeEditor;
Private | procedure ResizeGutter;
Private | procedure ResizeScrollBars;
Private | procedure SetCharAttrs(Index: integer; const Value: string);
Private | procedure SetColor(Index: integer; Value: TColor);
Private | procedure SetCurX(Value: integer);
Private | procedure SetCurY(Value: integer);
Private | procedure SetFont(Value: TFont);
Private | procedure SetGutterColor(Value: TColor);
Private | procedure SetGutterWidth(Value: integer);
Private | procedure SetHiddenCaret(Value: Boolean);
Private | procedure SetInBrackets(Index: Integer; Value: integer);
Private | procedure SetInComment(Index: integer; Value: Boolean);
Private | procedure SetLines(ALines: TStrings);
Private | procedure SetLineStyle(Index: integer; Value: integer);
Private | procedure SetScrollBars(Value: System.UITypes.TScrollStyle);
Private | procedure SetSelText(const AValue: string);
Private | procedure SetUndoLimit(Value: integer);
Private | procedure SetValidAttrs(Index: integer; Value: Boolean);
Private | procedure ShowCaret(State: Boolean);
Private | procedure WMEraseBkgnd(var Msg: TWmEraseBkgnd); message WM_ERASEBKGND;
Private | procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE;
Private | procedure WMKillFocus(var Msg: TWMSetFocus); message WM_KILLFOCUS;
Private | procedure WMMouseWheel(var Message: TMessage); message WM_MOUSEWHEEL;
Private | procedure WMSetCursor(var Msg: TWMSetCursor); message WM_SETCURSOR;
Private | procedure WMSetFocus(var Msg: TWMSetFocus); message WM_SETFOCUS;
Private | procedure WMSize(var Msg: TWMSize); message WM_SIZE;

Properties

Protected | property AutoIndent: Boolean read FAutoIndent write FAutoIndent;
Protected | property BkColor: TColor index 0 read FBkColor write SetColor;
Protected | property CharAttrs[Index:integer]: string read GetCharAttrs write SetCharAttrs;
Public | property CurX: integer read FCurX write SetCurX;
Public | property CurY: integer read FCurY write SetCurY;
Public | property DelErase: Boolean read FDelErase write FDelErase;
Protected | property Font: TFont read FFont write SetFont;
Protected | property GutterColor: TColor read GetGutterColor write SetGutterColor;
Protected | property GutterWidth: integer read FGutterWidth write SetGutterWidth;
Protected | property HiddenCaret: Boolean read FHiddenCaret write SetHiddenCaret;
Protected | property HideCursor: Boolean read FHideCursor write FHideCursor;
Protected | property InBrackets[Index:integer]: integer read GetInBrackets write SetInBrackets;
Protected | property InComment[Index:integer]: Boolean read GetInComment write SetInComment;
Protected | property LastVisibleLine: integer index 3 read GetVisible;
Protected | property LastVisiblePos: integer index 2 read GetVisible;
Protected | property Lines: TStrings read FLines write SetLines;
Public | property LineStyle[Index:integer]: integer read GetLineStyle write SetLineStyle;
Protected | property OnAttrChange: TNotifyEvent read FOnAttrChange write FOnAttrChange;
Protected | property OnChange: TNotifyEvent read FOnChange write FOnChange;
Protected | property OnGetLineAttrs: TGetLineAttrsEvent read FOnGetLineAttrs write FOnGetLineAttrs;
Protected | property OnGutterClick: TGutterClickEvent read FOnGutterClick write FOnGutterClick;
Protected | property OnGutterDraw: TGutterDrawEvent read FOnGutterDraw write FOnGutterDraw;
Protected | property OnMoveCursor: TNotifyEvent read FOnMoveCursor write FOnMoveCursor;
Protected | property OnSelectionChange: TNotifyEvent read FOnSelectionChange write FOnSelectionChange;
Protected | property OnStatusChange: TNotifyEvent read FOnStatusChange write FOnStatusChange;
Protected | property OnUndoChange: TUndoChangeEvent read FOnUndoChange write FOnUndoChange;
Protected | property ReadOnly: Boolean read FReadOnly write FReadOnly;
Protected | property ScrollBars: System.UITypes.TScrollStyle read FScrollBars write SetScrollBars default ssBoth;
Protected | property ScrollMode: TScrollMode read FScrollMode write FScrollMode default smAuto;
Protected | property SelBkColor: TColor index 2 read FSelBkColor write SetColor;
Protected | property SelColor: TColor index 1 read FSelColor write SetColor;
Public | property Selection: string read GetSelText write SetSelText;
Public | property SelEnd: TPoint read GetSelEnd;
Public | property SelLength: integer read GetSelLength;
Public | property SelStart: TPoint read GetSelStart;
Public | property Styles: TStyleList read FStyles;
Protected | property TabSize: integer read FTabSize write FTabSize;
Protected | property UndoLimit: integer read FUndoLimit write SetUndoLimit;
Public | property UndoList: TGLSMemoUndoList read FUndoList write FUndoList;
Protected | property ValidAttrs[Index:integer]: Boolean read GetValidAttrs write SetValidAttrs;
Protected | property VisibleLineCount: integer index 1 read GetVisible;
Protected | property VisiblePosCount: integer index 0 read GetVisible;

Description

Fields

Private FAutoIndent: Boolean;
Private FMargin: integer;
Private FHiddenCaret: Boolean;
Private FCaretVisible: Boolean;
Private FCellSize: TCellSize;
Private FCurX: integer;
Private FCurY: integer;
Private FLeftCol: integer;
Private FTopLine: integer;
Private FTabSize: integer;
Private FFont: TFont;
Private FBkColor: TColor;
Private FSelColor: TColor;
Private FSelBkColor: TColor;
Private FReadOnly: Boolean;
Private FDelErase: Boolean;
Private FLines: TStrings;
Private FSelStartX: integer;
Private FSelStartY: integer;
Private FSelEndX: integer;
Private FSelEndY: integer;
Private FPrevSelX: integer;
Private FPrevSelY: integer;
Private FScrollBars: System.UITypes.TScrollStyle;
Private FScrollBarWidth: integer;
Private FGutter: TGLSMemoGutter;
Private FGutterWidth: integer;
Private sbVert: TGLSMemoScrollBar;
Private sbHorz: TGLSMemoScrollBar;
Private FStyles: TStyleList;
Private FLineBitmap: TBitmap;
Private FSelCharPos: TFullPos;
Private FSelCharStyle: integer;
Private FLeftButtonDown: Boolean;
Private FScrollMode: TScrollMode;
Private FUndoList: TGLSMemoUndoList;
Private FFirstUndoList: TGLSMemoUndoList;
Private FUndoLimit: integer;
Private FLastMouseUpX: integer;
Private FLastMouseUpY: integer;
Private FAfterDoubleClick: Boolean;
Private FOnMoveCursor: TNotifyEvent;

events

Private FOnChange: TNotifyEvent;
Private FOnAttrChange: TNotifyEvent;
Private FOnStatusChange: TNotifyEvent;
Private FOnSelectionChange: TNotifyEvent;
Private FOnGutterDraw: TGutterDrawEvent;
Private FOnGutterClick: TGutterClickEvent;
Private FOnGetLineAttrs: TGetLineAttrsEvent;
Private FOnUndoChange: TUndoChangeEvent;
Private FHideCursor: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CanRedo: Boolean;
Public function CanUndo: Boolean;
Public function CellFromPos(X, Y: integer): TCellPos;
Public function CellRect(ACol, ARow: integer): TRect;
Public function CharFromPos(X, Y: integer): TFullPos;
Public function CharStyleNo(LineNo, Pos: integer): integer;
Public function ColRect(ACol: integer): TRect;
Public function FindText(Text: string; Options: TFindOptions; Select: Boolean): Boolean;
Public function LineRect(ARow: integer): TRect;
Public function SelectLine(LineNo, StyleNo: Integer): integer;
Protected function AddString(const S: string): integer;
Protected function ColRangeRect(FromCol, ToCol: integer): TRect;
Protected function EditorRect: TRect;
Protected function IndentCurrLine: string;
Protected function LineRangeRect(FromLine, ToLine: integer): TRect;
Private function GetCharAttrs(Index: integer): string;
Private function GetGutterColor: TColor;
Private function GetInBrackets(Index: Integer): integer;
Private function GetInComment(Index: integer): Boolean;
Private function GetLineStyle(Index: integer): integer;
Private function GetSelEnd: TPoint;
Private function GetSelLength: integer;
Private function GetSelStart: TPoint;
Private function GetSelText: string;
Private function GetValidAttrs(Index: integer): Boolean;
Private function GetVisible(Index: integer): integer;
Private function IsLineVisible(LineNo: integer): Boolean;
Private function MaxLength: integer;
Public procedure Clear;
Public procedure ClearSelection;
Public procedure CopyToClipBoard;
Public procedure CutToClipBoard;
Public procedure InsertTemplate(AText: string);
Public procedure PasteFromClipBoard;
Public procedure Redo;
Public procedure SelectAll;
Public procedure SelectChar(LineNo, Pos, StyleNo: Integer);
Public procedure SelectLines(StartLine, EndLine: Integer);
Public procedure SetCursor(ACurX, ACurY: Integer);
Public procedure Undo;
Public procedure UnSelectChar;
Protected procedure AttrChanged(LineNo: integer); virtual;
Protected procedure BackSpace;
Protected procedure BackSpaceWord;
Protected procedure Changed(FromLine, ToLine: integer); virtual;
Protected procedure ClearUndoList;
Protected procedure CreateParams(var Params: TCreateParams); override;
Protected procedure DblClick; override;
Protected procedure DeleteChar(OldX, OldY: integer);
Protected procedure DeleteLine(Index, OldX, OldY, NewX, NewY: integer; FixUndo: Boolean);
Protected procedure DeleteSelection(bRepaint: Boolean);
Protected procedure DoScroll(Sender: TGLSMemoScrollBar; ByValue: integer); override;
Protected procedure DoScrollPage(Sender: TGLSMemoScrollBar; ByValue: integer); override;
Protected procedure DrawGutter;
Protected procedure DrawMargin;
Protected procedure DrawScrollBars;
Protected procedure GoEnd(Shift: TShiftState);
Protected procedure GoHome(Shift: TShiftState);
Protected procedure InsertChar(C: Char);
Protected procedure InsertString(Index: integer; S: string);
Protected procedure InvalidateLineRange(FromLine, ToLine: integer);
Protected procedure KeyDown(var Key: Word; Shift: TShiftState); override;
Protected procedure KeyPress(var Key: Char); override;
Protected procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
Protected procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
Protected procedure NewLine;
Protected procedure Paint; override;
Protected procedure SelectionChanged; virtual;
Protected procedure StatusChanged; virtual;
Protected procedure UndoChange;
Protected procedure WndProc(var Message: TMessage); override;
Private procedure DoCommand(cmd: TCommand; const AShift: TShiftState);
Private procedure DrawLine(LineNo: integer);
Private procedure ExpandSelection;
Private procedure FreshLineBitmap;
Private procedure MakeVisible;
Private procedure MoveCursor(dX, dY: integer; Shift: TShiftState);
Private procedure MovePage(dP: integer; Shift: TShiftState);
Private procedure ResizeEditor;
Private procedure ResizeGutter;
Private procedure ResizeScrollBars;
Private procedure SetCharAttrs(Index: integer; const Value: string);
Private procedure SetColor(Index: integer; Value: TColor);
Private procedure SetCurX(Value: integer);
Private procedure SetCurY(Value: integer);
Private procedure SetFont(Value: TFont);
Private procedure SetGutterColor(Value: TColor);
Private procedure SetGutterWidth(Value: integer);
Private procedure SetHiddenCaret(Value: Boolean);
Private procedure SetInBrackets(Index: Integer; Value: integer);
Private procedure SetInComment(Index: integer; Value: Boolean);
Private procedure SetLines(ALines: TStrings);
Private procedure SetLineStyle(Index: integer; Value: integer);
Private procedure SetScrollBars(Value: System.UITypes.TScrollStyle);
Private procedure SetSelText(const AValue: string);
Private procedure SetUndoLimit(Value: integer);
Private procedure SetValidAttrs(Index: integer; Value: Boolean);
Private procedure ShowCaret(State: Boolean);
Private procedure WMEraseBkgnd(var Msg: TWmEraseBkgnd); message WM_ERASEBKGND;
Private procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE;
Private procedure WMKillFocus(var Msg: TWMSetFocus); message WM_KILLFOCUS;
Private procedure WMMouseWheel(var Message: TMessage); message WM_MOUSEWHEEL;
Private procedure WMSetCursor(var Msg: TWMSetCursor); message WM_SETCURSOR;
Private procedure WMSetFocus(var Msg: TWMSetFocus); message WM_SETFOCUS;
Private procedure WMSize(var Msg: TWMSize); message WM_SIZE;

Properties

Protected property AutoIndent: Boolean read FAutoIndent write FAutoIndent;
Protected property BkColor: TColor index 0 read FBkColor write SetColor;
Protected property CharAttrs[Index:integer]: string read GetCharAttrs write SetCharAttrs;
Public property CurX: integer read FCurX write SetCurX;
Public property CurY: integer read FCurY write SetCurY;
Public property DelErase: Boolean read FDelErase write FDelErase;
Protected property Font: TFont read FFont write SetFont;
Protected property GutterColor: TColor read GetGutterColor write SetGutterColor;
Protected property GutterWidth: integer read FGutterWidth write SetGutterWidth;
Protected property HiddenCaret: Boolean read FHiddenCaret write SetHiddenCaret;
Protected property HideCursor: Boolean read FHideCursor write FHideCursor;
Protected property InBrackets[Index:integer]: integer read GetInBrackets write SetInBrackets;
Protected property InComment[Index:integer]: Boolean read GetInComment write SetInComment;
Protected property LastVisibleLine: integer index 3 read GetVisible;
Protected property LastVisiblePos: integer index 2 read GetVisible;
Protected property Lines: TStrings read FLines write SetLines;
Public property LineStyle[Index:integer]: integer read GetLineStyle write SetLineStyle;
Protected property OnAttrChange: TNotifyEvent read FOnAttrChange write FOnAttrChange;
Protected property OnChange: TNotifyEvent read FOnChange write FOnChange;
Protected property OnGetLineAttrs: TGetLineAttrsEvent read FOnGetLineAttrs write FOnGetLineAttrs;
Protected property OnGutterClick: TGutterClickEvent read FOnGutterClick write FOnGutterClick;

events

Protected property OnGutterDraw: TGutterDrawEvent read FOnGutterDraw write FOnGutterDraw;
Protected property OnMoveCursor: TNotifyEvent read FOnMoveCursor write FOnMoveCursor;
Protected property OnSelectionChange: TNotifyEvent read FOnSelectionChange write FOnSelectionChange;
Protected property OnStatusChange: TNotifyEvent read FOnStatusChange write FOnStatusChange;
Protected property OnUndoChange: TUndoChangeEvent read FOnUndoChange write FOnUndoChange;
Protected property ReadOnly: Boolean read FReadOnly write FReadOnly;
Protected property ScrollBars: System.UITypes.TScrollStyle read FScrollBars write SetScrollBars default ssBoth;
Protected property ScrollMode: TScrollMode read FScrollMode write FScrollMode default smAuto;
Protected property SelBkColor: TColor index 2 read FSelBkColor write SetColor;
Protected property SelColor: TColor index 1 read FSelColor write SetColor;
Public property Selection: string read GetSelText write SetSelText;
Public property SelEnd: TPoint read GetSelEnd;
Public property SelLength: integer read GetSelLength;
Public property SelStart: TPoint read GetSelStart;
Public property Styles: TStyleList read FStyles;
Protected property TabSize: integer read FTabSize write FTabSize;
Protected property UndoLimit: integer read FUndoLimit write SetUndoLimit;
Public property UndoList: TGLSMemoUndoList read FUndoList write FUndoList;
Protected property ValidAttrs[Index:integer]: Boolean read GetValidAttrs write SetValidAttrs;
Protected property VisibleLineCount: integer index 1 read GetVisible;
Protected property VisiblePosCount: integer index 0 read GetVisible;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemo

Class TGLSMemo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemo = class(TGLSCustomMemo)

Description

No description available, ancestor TGLSCustomMemo description follows
No description available, ancestor TGLSMemoAbstractScrollableObject description follows

Hierarchy

  • TCustomControl
  • TGLSMemoAbstractScrollableObject
  • TGLSCustomMemo
  • TGLSMemo

Overview

Properties

Published | property Align;
Published | property AutoIndent;
Published | property BkColor;
Published | property DelErase;
Published | property Enabled;
Published | property Font;
Published | property GutterColor;
Published | property GutterWidth;
Published | property HiddenCaret;
Published | property Lines;
Published | property OnAttrChange;
Published | property OnChange;
Published | property OnClick;
Published | property OnDblClick;
Published | property OnDragDrop;
Published | property OnDragOver;
Published | property OnEndDrag;
Published | property OnEnter;
Published | property OnExit;
Published | property OnGetLineAttrs;
Published | property OnGutterClick;
Published | property OnGutterDraw;
Published | property OnKeyDown;
Published | property OnKeyPress;
Published | property OnKeyUp;
Published | property OnMouseDown;
Published | property OnMouseMove;
Published | property OnMouseUp;
Published | property OnMoveCursor;
Published | property OnSelectionChange;
Published | property OnStartDrag;
Published | property OnStatusChange;
Published | property OnUndoChange;
Published | property PopupMenu;
Published | property ReadOnly;
Published | property ScrollBars;
Published | property ScrollMode;
Published | property SelBkColor;
Published | property SelColor;
Published | property Selection;
Published | property ShowHint;
Published | property TabOrder;
Published | property TabSize;
Published | property TabStop;
Published | property UndoLimit;
Published | property Visible;

Description

Properties

Published property Align;

TCustomControl

Published property AutoIndent;

TGLSCustomMemo

Published property BkColor;
Published property DelErase;
Published property Enabled;
Published property Font;
Published property GutterColor;
Published property GutterWidth;
Published property HiddenCaret;
Published property Lines;
Published property OnAttrChange;
Published property OnChange;
Published property OnClick;

Inherited events

Published property OnDblClick;
Published property OnDragDrop;
Published property OnDragOver;
Published property OnEndDrag;
Published property OnEnter;
Published property OnExit;
Published property OnGetLineAttrs;
Published property OnGutterClick;
Published property OnGutterDraw;

Events

Published property OnKeyDown;
Published property OnKeyPress;
Published property OnKeyUp;
Published property OnMouseDown;
Published property OnMouseMove;
Published property OnMouseUp;
Published property OnMoveCursor;
Published property OnSelectionChange;
Published property OnStartDrag;
Published property OnStatusChange;
Published property OnUndoChange;
Published property PopupMenu;

TControl

Published property ReadOnly;
Published property ScrollBars;
Published property ScrollMode;
Published property SelBkColor;
Published property SelColor;
Published property Selection;
Published property ShowHint;
Published property TabOrder;
Published property TabSize;
Published property TabStop;
Published property UndoLimit;
Published property Visible;


GLSysHelp v.2.1: GLS.Memo: Class TGLSMemoStringList

Class TGLSMemoStringList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSMemoStringList = class(TStringList)

Description

Hierarchy

  • TObject
  • TPersistent
  • TStrings
  • TStringList
  • TGLSMemoStringList

Overview

Methods

Protected | procedure DefineProperties(Filer: TFiler); override;
Private | procedure ReadStrings(Reader: TReader);
Private | procedure WriteStrings(Writer: TWriter);

Description

Methods

Protected procedure DefineProperties(Filer: TFiler); override;
Private procedure ReadStrings(Reader: TReader);
Private procedure WriteStrings(Writer: TWriter);


GLSysHelp v.2.1: GLS.Memo: Class TGLSSynHiMemo

Class TGLSSynHiMemo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Memo

Declaration

type TGLSSynHiMemo = class(TGLSCustomMemo)

Description

————————————————————– SYNTAX MEMO - declaration ————————————————————–

Hierarchy

  • TCustomControl
  • TGLSMemoAbstractScrollableObject
  • TGLSCustomMemo
  • TGLSSynHiMemo

Overview

Fields

Private | FIsPainting: Boolean;
Private | FInComment: Boolean;
Private | FWordList: TGLSMemoStringList;
Private | FSpecialList: TGLSMemoStringList;
Private | FBracketList: TGLSMemoStringList;
Private | FDelimiters: TDelimiters;
Private | FInBrackets: integer;
Private | FLineComment: string;
Private | FMultiCommentLeft: string;
Private | FMultiCommentRight: string;
Private | FDelimiterStyle: TCharStyle;
Private | FCommentStyle: TCharStyle;
Private | FNumberStyle: TCharStyle;
Private | FDelimiterStyleNo: integer;
Private | FCommentStyleNo: integer;
Private | FNumberStyleNo: integer;
Private | FCaseSensitive: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetToken(const S: string; var From: integer; out TokenType: TTokenType; out StyleNo: integer): string;
Public | procedure AddBrackets(StyleNo: integer; const ArrS: array of string);
Public | procedure AddSpecial(StyleNo: integer; const ArrS: array of string);
Public | procedure AddWord(StyleNo: integer; const ArrS: array of string);
Protected | procedure Paint; override;
Private | procedure FindLineAttrs(Sender: TObject; LineNo: integer; var Attrs: string);
Private | procedure SetBracketList(Value: TGLSMemoStringList);
Private | procedure SetCaseSensitive(Value: Boolean);
Private | procedure SetSpecialList(Value: TGLSMemoStringList);
Private | procedure SetStyle(Index: integer; Value: TCharStyle);
Private | procedure SetWordList(Value: TGLSMemoStringList);

Properties

Published | property Align;
Published | property AutoIndent;
Published | property BkColor;
Published | property BracketList: TGLSMemoStringList read FBracketList write SetBracketList;
Published | property CaseSensitive: Boolean read FCaseSensitive write SetCaseSensitive;
Published | property CommentStyle: TCharStyle index 1 read FCommentStyle write SetStyle;
Published | property DelErase;
Public | property Delimiters: TDelimiters read FDelimiters write FDelimiters;
Published | property DelimiterStyle: TCharStyle index 0 read FDelimiterStyle write SetStyle;
Published | property Enabled;
Published | property Font;
Published | property GutterColor;
Published | property GutterWidth;
Published | property HiddenCaret;
Published | property LineComment: string read FLineComment write FLineComment;
Published | property Lines;
Published | property MultiCommentLeft: string read FMultiCommentLeft write FMultiCommentLeft;
Published | property MultiCommentRight: string read FMultiCommentRight write FMultiCommentRight;
Published | property NumberStyle: TCharStyle index 2 read FNumberStyle write SetStyle;
Published | property OnChange;
Published | property OnClick;
Published | property OnDblClick;
Published | property OnDragDrop;
Published | property OnDragOver;
Published | property OnEndDrag;
Published | property OnEnter;
Published | property OnExit;
Published | property OnGutterClick;
Published | property OnGutterDraw;
Published | property OnKeyDown;
Published | property OnKeyPress;
Published | property OnKeyUp;
Published | property OnMouseDown;
Published | property OnMouseMove;
Published | property OnMouseUp;
Published | property OnMoveCursor;
Published | property OnSelectionChange;
Published | property OnStartDrag;
Published | property OnStatusChange;
Published | property OnUndoChange;
Published | property PopupMenu;
Published | property ReadOnly;
Published | property ScrollBars;
Published | property ScrollMode;
Published | property SelBkColor;
Published | property SelColor;
Published | property ShowHint;
Published | property SpecialList: TGLSMemoStringList read FSpecialList write SetSpecialList;
Published | property TabOrder;
Published | property TabSize;
Published | property TabStop;
Published | property UndoLimit;
Published | property Visible;
Published | property WordList: TGLSMemoStringList read FWordList write SetWordList;

Description

Fields

Private FIsPainting: Boolean;
Private FInComment: Boolean;
Private FWordList: TGLSMemoStringList;
Private FSpecialList: TGLSMemoStringList;
Private FBracketList: TGLSMemoStringList;
Private FDelimiters: TDelimiters;
Private FInBrackets: integer;
Private FLineComment: string;
Private FMultiCommentLeft: string;
Private FMultiCommentRight: string;
Private FDelimiterStyle: TCharStyle;
Private FCommentStyle: TCharStyle;
Private FNumberStyle: TCharStyle;
Private FDelimiterStyleNo: integer;
Private FCommentStyleNo: integer;
Private FNumberStyleNo: integer;
Private FCaseSensitive: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetToken(const S: string; var From: integer; out TokenType: TTokenType; out StyleNo: integer): string;
Public procedure AddBrackets(StyleNo: integer; const ArrS: array of string);
Public procedure AddSpecial(StyleNo: integer; const ArrS: array of string);
Public procedure AddWord(StyleNo: integer; const ArrS: array of string);
Protected procedure Paint; override;
Private procedure FindLineAttrs(Sender: TObject; LineNo: integer; var Attrs: string);
Private procedure SetBracketList(Value: TGLSMemoStringList);
Private procedure SetCaseSensitive(Value: Boolean);
Private procedure SetSpecialList(Value: TGLSMemoStringList);
Private procedure SetStyle(Index: integer; Value: TCharStyle);
Private procedure SetWordList(Value: TGLSMemoStringList);

Properties

Published property Align;

TCustomControl

Published property AutoIndent;

TGLSCustomMemo

Published property BkColor;
Published property BracketList: TGLSMemoStringList read FBracketList write SetBracketList;
Published property CaseSensitive: Boolean read FCaseSensitive write SetCaseSensitive;
Published property CommentStyle: TCharStyle index 1 read FCommentStyle write SetStyle;
Published property DelErase;
Public property Delimiters: TDelimiters read FDelimiters write FDelimiters;
Published property DelimiterStyle: TCharStyle index 0 read FDelimiterStyle write SetStyle;
Published property Enabled;
Published property Font;
Published property GutterColor;
Published property GutterWidth;
Published property HiddenCaret;
Published property LineComment: string read FLineComment write FLineComment;

TGLSSyntaxMemo

Published property Lines;
Published property MultiCommentLeft: string read FMultiCommentLeft write FMultiCommentLeft;
Published property MultiCommentRight: string read FMultiCommentRight write FMultiCommentRight;
Published property NumberStyle: TCharStyle index 2 read FNumberStyle write SetStyle;
Published property OnChange;
Published property OnClick;

Inherited events

Published property OnDblClick;
Published property OnDragDrop;
Published property OnDragOver;
Published property OnEndDrag;
Published property OnEnter;
Published property OnExit;
Published property OnGutterClick;

Events

Published property OnGutterDraw;
Published property OnKeyDown;
Published property OnKeyPress;
Published property OnKeyUp;
Published property OnMouseDown;
Published property OnMouseMove;
Published property OnMouseUp;
Published property OnMoveCursor;
Published property OnSelectionChange;
Published property OnStartDrag;
Published property OnStatusChange;
Published property OnUndoChange;
Published property PopupMenu;

TControl

Published property ReadOnly;
Published property ScrollBars;
Published property ScrollMode;
Published property SelBkColor;
Published property SelColor;
Published property ShowHint;
Published property SpecialList: TGLSMemoStringList read FSpecialList write SetSpecialList;
Published property TabOrder;
Published property TabSize;
Published property TabStop;
Published property UndoLimit;
Published property Visible;
Published property WordList: TGLSMemoStringList read FWordList write SetWordList;


GLSysHelp v.2.1: GLS.Mesh

Unit GLS.Mesh

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Strings
  • GLS.XOpenGL
  • GLS.Context
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.State
  • GLS.Color
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLVertexData |
Class TGLVertexList |
Class TGLMesh |

Types

PGLVertexData = ˆTGLVertexData;
PGLVertexDataArray = ˆTGLVertexDataArray;
TGLMeshMode = (...);
TGLVertexDataArray = array[0..(MAXINT shr 6)] of TGLVertexData;
TGLVertexMode = (...);

Constants

cMeshModeToGLEnum: array[Low(TGLMeshMode)..High(TGLMeshMode) ] of Cardinal = (GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, GL_POLYGON);
cVertexModeToGLEnum: array[Low(TGLVertexMode)..High(TGLVertexMode) ] of Cardinal = (GL_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_C4F_N3F_V3F, GL_T2F_N3F_V3F, GL_T2F_V3F);

Description

Types

PGLVertexData = ˆTGLVertexData;
PGLVertexDataArray = ˆTGLVertexDataArray;
TGLMeshMode = (...);
Values
  • mmTriangleStrip
  • mmTriangleFan
  • mmTriangles
  • mmQuadStrip
  • mmQuads
  • mmPolygon
TGLVertexDataArray = array[0..(MAXINT shr 6)] of TGLVertexData;
TGLVertexMode = (...);
Values
  • vmV
  • vmVN
  • vmVNC
  • vmVNCT
  • vmVNT
  • vmVT

Constants

cMeshModeToGLEnum: array[Low(TGLMeshMode)..High(TGLMeshMode) ] of Cardinal = (GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, GL_POLYGON);
cVertexModeToGLEnum: array[Low(TGLVertexMode)..High(TGLVertexMode) ] of Cardinal = (GL_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_C4F_N3F_V3F, GL_T2F_N3F_V3F, GL_T2F_V3F);


GLSysHelp v.2.1: GLS.Mesh: Packed Record TGLVertexData

Packed Record TGLVertexData

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Mesh

Declaration

type TGLVertexData = packed record

Description

Overview

Fields

Public | textCoord: TTexPoint;
Public | color: TGLVector;
Public | normal: TAffineVector;
Public | coord: TVertex;

Description

Fields

Public textCoord: TTexPoint;
Public color: TGLVector;
Public normal: TAffineVector;
Public coord: TVertex;


GLSysHelp v.2.1: GLS.Mesh: Class TGLVertexList

Class TGLVertexList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Mesh

Declaration

type TGLVertexList = class(TGLUpdateAbleObject)

Description

Stores an interlaced vertex list for direct use in OpenGL. Locking (hardware passthrough) is supported, see "Locked" property for details.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLVertexList

Overview

Fields

Private | FValues: PGLVertexDataArray;
Private | FCount: Integer;
Private | FCapacity: Integer;
Private | FGrowth: Integer;
Private | FLockedOldValues: PGLVertexDataArray;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function CreateInterpolatedCoords(list2: TGLVertexList; lerpFactor: Single): TGLVertexList;
Public | function SumVertexCoords: TAffineVector;
Protected | function GetFirstColor: PGLFloat;
Protected | function GetFirstEntry: PGLFloat;
Protected | function GetFirstNormal: PGLFloat;
Protected | function GetFirstTexPoint: PGLFloat;
Protected | function GetFirstVertex: PGLFloat;
Protected | function GetLocked: Boolean;
Protected | function GetVertexColor(index: Integer): TVector4f;
Protected | function GetVertexCoord(index: Integer): TAffineVector;
Protected | function GetVertexNormal(index: Integer): TAffineVector;
Protected | function GetVertexTexCoord(index: Integer): TTexPoint;
Protected | function GetVertices(index: Integer): TGLVertexData;
Public | procedure AddVertex(const vertexData: TGLVertexData); overload;
Public | procedure AddVertex(const vertex: TVertex; const normal: TAffineVector; const color: TGLColorVector); overload;
Public | procedure AddVertex(const vertex: TVertex; const normal: TAffineVector); overload;
Public | procedure AddVertex(const aVertex: TVertex; const aNormal: TAffineVector; const aColor: TGLColorVector; const aTexPoint: TTexPoint); overload;
Public | procedure AddVertex3(const vd1, vd2, vd3: TGLVertexData); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Clear;
Public | procedure DefineOpenGLArrays;
Public | procedure DuplicateVertex(index: Integer);
Public | procedure EnterLockSection;
Public | procedure GetExtents(var min, max: TAffineVector);
Public | procedure LeaveLockSection;
Public | procedure NormalizeNormals;
Public | procedure Translate(const v: TAffineVector);
Protected | procedure Grow;
Protected | procedure SetCapacity(const val: Integer);
Protected | procedure SetGrowth(const val: Integer);
Protected | procedure SetLocked(val: Boolean);
Protected | procedure SetVertexColor(index: Integer; const val: TVector4f);
Protected | procedure SetVertexCoord(index: Integer; const val: TAffineVector);
Protected | procedure SetVertexNormal(index: Integer; const val: TAffineVector);
Protected | procedure SetVertexTexCoord(index: Integer; const val: TTexPoint);
Protected | procedure SetVertices(index: Integer; const val: TGLVertexData);

Properties

Public | property Capacity: Integer read FCapacity write SetCapacity;
Public | property Count: Integer read FCount;
Public | property FirstColor: PGLFloat read GetFirstColor;
Public | property FirstEntry: PGLFloat read GetFirstEntry;
Public | property FirstNormal: PGLFloat read GetFirstNormal;
Public | property FirstTexPoint: PGLFloat read GetFirstTexPoint;
Public | property FirstVertex: PGLFloat read GetFirstVertex;
Public | property Growth: Integer read FGrowth write SetGrowth;
Public | property Locked: Boolean read GetLocked write SetLocked;
Public | property VertexColor[index:Integer]: TVector4f read GetVertexColor write SetVertexColor;
Public | property VertexCoord[index:Integer]: TAffineVector read GetVertexCoord write SetVertexCoord;
Public | property VertexNormal[index:Integer]: TAffineVector read GetVertexNormal write SetVertexNormal;
Public | property VertexTexCoord[index:Integer]: TTexPoint read GetVertexTexCoord write SetVertexTexCoord;
Public | property Vertices[index:Integer]: TGLVertexData read GetVertices write SetVertices;

Description

Fields

Private FValues: PGLVertexDataArray;
Private FCount: Integer;
Private FCapacity: Integer;
Private FGrowth: Integer;
Private FLockedOldValues: PGLVertexDataArray;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function CreateInterpolatedCoords(list2: TGLVertexList; lerpFactor: Single): TGLVertexList;
Public function SumVertexCoords: TAffineVector;

Calculates the sum of all vertex coords

Protected function GetFirstColor: PGLFloat;
Protected function GetFirstEntry: PGLFloat;
Protected function GetFirstNormal: PGLFloat;
Protected function GetFirstTexPoint: PGLFloat;
Protected function GetFirstVertex: PGLFloat;
Protected function GetLocked: Boolean;
Protected function GetVertexColor(index: Integer): TVector4f;
Protected function GetVertexCoord(index: Integer): TAffineVector;
Protected function GetVertexNormal(index: Integer): TAffineVector;
Protected function GetVertexTexCoord(index: Integer): TTexPoint;
Protected function GetVertices(index: Integer): TGLVertexData;
Public procedure AddVertex(const vertexData: TGLVertexData); overload;

Adds a vertex to the list, fastest method.

Public procedure AddVertex(const vertex: TVertex; const normal: TAffineVector; const color: TGLColorVector); overload;

Adds a vertex to the list, no texturing version.

Public procedure AddVertex(const vertex: TVertex; const normal: TAffineVector); overload;

Adds a vertex to the list, no texturing, not color version.

Public procedure AddVertex(const aVertex: TVertex; const aNormal: TAffineVector; const aColor: TGLColorVector; const aTexPoint: TTexPoint); overload;

Adds a vertex to the list. Use the NullVector, NullHmgVector or NullTexPoint constants for params you don't want to set.

Public procedure AddVertex3(const vd1, vd2, vd3: TGLVertexData); overload;

Adds a vertex to the list, fastest method for adding a triangle.

Public procedure Assign(Source: TPersistent); override;
Public procedure Clear;
Public procedure DefineOpenGLArrays;
Public procedure DuplicateVertex(index: Integer);

Duplicates the vertex of given index and adds it at the end of the list.

Public procedure EnterLockSection;
Public procedure GetExtents(var min, max: TAffineVector);

Calculates the extents of the vertice coords.

Public procedure LeaveLockSection;
Public procedure NormalizeNormals;

Normalizes all normals.

Public procedure Translate(const v: TAffineVector);

Translate all coords by given vector

Protected procedure Grow;
Protected procedure SetCapacity(const val: Integer);
Protected procedure SetGrowth(const val: Integer);
Protected procedure SetLocked(val: Boolean);
Protected procedure SetVertexColor(index: Integer; const val: TVector4f);
Protected procedure SetVertexCoord(index: Integer; const val: TAffineVector);
Protected procedure SetVertexNormal(index: Integer; const val: TAffineVector);
Protected procedure SetVertexTexCoord(index: Integer; const val: TTexPoint);
Protected procedure SetVertices(index: Integer; const val: TGLVertexData);

Properties

Public property Capacity: Integer read FCapacity write SetCapacity;

Capacity of the list (nb of vertex). Use this to allocate memory quickly before calling AddVertex.

Public property Count: Integer read FCount;
Public property FirstColor: PGLFloat read GetFirstColor;
Public property FirstEntry: PGLFloat read GetFirstEntry;
Public property FirstNormal: PGLFloat read GetFirstNormal;
Public property FirstTexPoint: PGLFloat read GetFirstTexPoint;
Public property FirstVertex: PGLFloat read GetFirstVertex;
Public property Growth: Integer read FGrowth write SetGrowth;

Vertex capacity that will be added each time the list needs to grow. default value is 256 (chunks of approx 13 kb).

Public property Locked: Boolean read GetLocked write SetLocked;

Locking state of the vertex list. You can "Lock" a list to increase rendering performance on some OpenGL implementations (NVidia's). A Locked list size shouldn't be changed and calculations should be avoided. Performance can only be gained from a lock for osDirectDraw object, ie. meshes that are updated for each frame (the default build list mode is faster on static meshes). Be aware that the "Locked" state enforcement is not very strict to avoid performance hits, and GLScene may not always notify you that you're doing things you shouldn't on a locked list!

Public property VertexColor[index:Integer]: TVector4f read GetVertexColor write SetVertexColor;
Public property VertexCoord[index:Integer]: TAffineVector read GetVertexCoord write SetVertexCoord;
Public property VertexNormal[index:Integer]: TAffineVector read GetVertexNormal write SetVertexNormal;
Public property VertexTexCoord[index:Integer]: TTexPoint read GetVertexTexCoord write SetVertexTexCoord;
Public property Vertices[index:Integer]: TGLVertexData read GetVertices write SetVertices;


GLSysHelp v.2.1: GLS.Mesh: Class TGLMesh

Class TGLMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Mesh

Declaration

type TGLMesh = class(TGLSceneObject)

Description

Basic mesh object. Each mesh holds a set of vertices and a Mode value defines how they make up the mesh (triangles, strips...)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMesh

Overview

Fields

Private | FVertices: TGLVertexList;
Private | FMode: TGLMeshMode;
Private | FVertexMode: TGLVertexMode;
Private | FAxisAlignedDimensionsCache: TGLVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Area: Single;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function Length: Single;
Public | function Volume: Single;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure CalcNormals(Frontface: TGLFaceWinding);
Public | procedure StructureChanged; override;
Protected | procedure SetMode(AValue: TGLMeshMode);
Protected | procedure SetVertexMode(AValue: TGLVertexMode);
Protected | procedure SetVertices(AValue: TGLVertexList);
Protected | procedure VerticesChanged(Sender: TObject);

Properties

Published | property Mode: TGLMeshMode read FMode write SetMode;
Published | property VertexMode: TGLVertexMode read FVertexMode write SetVertexMode default vmVNCT;
Public | property Vertices: TGLVertexList read FVertices write SetVertices;

Description

Fields

Private FVertices: TGLVertexList;
Private FMode: TGLMeshMode;
Private FVertexMode: TGLVertexMode;
Private FAxisAlignedDimensionsCache: TGLVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Area: Single;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function Length: Single;
Public function Volume: Single;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure CalcNormals(Frontface: TGLFaceWinding);
Public procedure StructureChanged; override;
Protected procedure SetMode(AValue: TGLMeshMode);
Protected procedure SetVertexMode(AValue: TGLVertexMode);
Protected procedure SetVertices(AValue: TGLVertexList);
Protected procedure VerticesChanged(Sender: TObject);

Properties

Published property Mode: TGLMeshMode read FMode write SetMode;
Published property VertexMode: TGLVertexMode read FVertexMode write SetVertexMode default vmVNCT;
Public property Vertices: TGLVertexList read FVertices write SetVertices;


GLSysHelp v.2.1: GLS.MeshBSP

Unit GLS.MeshBSP

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.VectorFileObjects
  • GLS.Material
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TBSPCullingSphere |
Record TBSPRenderContextInfo |
Class TBSPClusterVisibility |
Class TBSPMeshObject |
Class TFGBSPNode |

Types

TBSPRenderSort = (...);

Description

Types

TBSPRenderSort = (...);
Values
  • rsNone
  • rsBackToFront
  • rsFrontToBack


GLSysHelp v.2.1: GLS.MeshBSP: Record TBSPCullingSphere

Record TBSPCullingSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshBSP

Declaration

type TBSPCullingSphere = record

Description

Overview

Fields

Public | position: TGLVector;
Public | radius: Single;

Description

Fields

Public position: TGLVector;
Public radius: Single;


GLSysHelp v.2.1: GLS.MeshBSP: Record TBSPRenderContextInfo

Record TBSPRenderContextInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshBSP

Declaration

type TBSPRenderContextInfo = record

Description

Overview

Fields

Public | cameraLocal: TGLVector;
Public | rci: PRenderContextInfo;
Public | faceGroups: TList;
Public | cullingSpheres: array of TBSPCullingSphere;

Description

Fields

Public cameraLocal: TGLVector;

Local coordinates of the camera (can be a vector or point)

Public rci: PRenderContextInfo;
Public faceGroups: TList;
Public cullingSpheres: array of TBSPCullingSphere;


GLSysHelp v.2.1: GLS.MeshBSP: Class TBSPClusterVisibility

Class TBSPClusterVisibility

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshBSP

Declaration

type TBSPClusterVisibility = class(TObject)

Description

Hierarchy

  • TObject
  • TBSPClusterVisibility

Overview

Fields

Private | FData: PByteArray;
Private | FSize: Integer;
Private | FBytesPerCluster: Integer;
Private | FCount: Integer;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Protected | function GetVisibility(Source, Destination: Integer): Boolean;
Public | procedure SetData(Source: PByte; NumClusters: Integer);
Protected | procedure SetCount(NumClusters: Integer);
Protected | procedure SetVisibility(Source, Destination: Integer; const Value: Boolean);

Properties

Public | property Count: Integer read FCount write SetCount;
Public | property Visibility[src,dst:Integer]: Boolean read GetVisibility write SetVisibility;

Description

Fields

Private FData: PByteArray;
Private FSize: Integer;
Private FBytesPerCluster: Integer;
Private FCount: Integer;

Methods

Public constructor Create;
Public destructor Destroy; override;
Protected function GetVisibility(Source, Destination: Integer): Boolean;
Public procedure SetData(Source: PByte; NumClusters: Integer);
Protected procedure SetCount(NumClusters: Integer);
Protected procedure SetVisibility(Source, Destination: Integer; const Value: Boolean);

Properties

Public property Count: Integer read FCount write SetCount;
Public property Visibility[src,dst:Integer]: Boolean read GetVisibility write SetVisibility;


GLSysHelp v.2.1: GLS.MeshBSP: Class TBSPMeshObject

Class TBSPMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshBSP

Declaration

type TBSPMeshObject = class(TGLMeshObject)

Description

A BSP mesh object. Stores the geometry information, BSP rendering options and offers some basic BSP utility methods. Geometry information is indexed in the facegroups, the 1st facegroup (of index 0) being the root node of the BSP tree.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TBSPMeshObject

Overview

Fields

Private | FRenderSort: TBSPRenderSort;
Private | FClusterVisibility: TBSPClusterVisibility;
Private | FUseClusterVisibility: Boolean;

Methods

Public | constructor CreateOwned(AOwner: TGLMeshObjectList);
Public | destructor Destroy; override;
Public | function AverageDepth: Single;
Public | function FindNodeByPoint(const aPoint: TGLVector): TFGBSPNode;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure CleanupUnusedNodes;

Properties

Public | property ClusterVisibility: TBSPClusterVisibility read FClusterVisibility;
Public | property RenderSort: TBSPRenderSort read FRenderSort write FRenderSort;
Public | property UseClusterVisibility: Boolean read FUseClusterVisibility write FUseClusterVisibility;

Description

Fields

Private FRenderSort: TBSPRenderSort;
Private FClusterVisibility: TBSPClusterVisibility;
Private FUseClusterVisibility: Boolean;

Methods

Public constructor CreateOwned(AOwner: TGLMeshObjectList);
Public destructor Destroy; override;
Public function AverageDepth: Single;

Returns the average BSP tree depth of end nodes. Sums up the depth each end node (starting at 1 for root node), divides by the number of end nodes. This is a simple estimator of tree balancing (structurally speaking, not polygon-wise).

Public function FindNodeByPoint(const aPoint: TGLVector): TFGBSPNode;

Traverses the tree to the given point and returns the node index.

Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure CleanupUnusedNodes;

Drops all unused nodes from the facegroups list. An unused node is a node that renders nothing and whose children render nothing. Indices are remapped in the process.

Properties

Public property ClusterVisibility: TBSPClusterVisibility read FClusterVisibility;

Cluster visibility. A property for defining node cluster-cluster visibility potential.

Public property RenderSort: TBSPRenderSort read FRenderSort write FRenderSort;

Rendering sort mode. This sort mode can currently *not* blend with the sort by materials flag, default mode is rsBackToFront. Note that in rsNone mode, the hierarchical nature of the tree is still honoured (positive subnode, self, then negative subnode).

Public property UseClusterVisibility: Boolean read FUseClusterVisibility write FUseClusterVisibility;

Use cluster visibility. Toggles the use of the visibility set for culling clusters of nodes when rendering.


GLSysHelp v.2.1: GLS.MeshBSP: Class TFGBSPNode

Class TFGBSPNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshBSP

Declaration

type TFGBSPNode = class(TFGVertexIndexList)

Description

A node in the BSP tree. The description does not explicitly differentiates nodes and leafs, nodes are referred by their index.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGVertexIndexList
  • TFGBSPNode

Overview

Fields

Private | FSplitPlane: THmgPlane;
Private | FPositiveSubNodeIndex: Integer;
Private | FNegativeSubNodeIndex: Integer;
Private | FCluster: Integer;

Methods

Public | constructor CreateOwned(AOwner: TGLFaceGroups); override;
Public | destructor Destroy; override;
Public | function FindSplitPlane(triangleSplitCost: Single = 1; triangleImbalanceCost: Single = 0.5): THmgPlane;
Protected | function AddLerp(iA, iB: Integer; fB, fA: Single): Integer;
Protected | function AddLerpIfDistinct(iA, iB, iMid: Integer): Integer;
Public | procedure CollectBackToFront(var bsprci: TBSPRenderContextInfo);
Public | procedure CollectFrontToBack(var bsprci: TBSPRenderContextInfo);
Public | procedure CollectNoSort(var bsprci: TBSPRenderContextInfo);
Public | procedure EvaluateSplitPlane(const splitPlane: THmgPlane; var nbTriangleSplit: Integer; var nbPositiveTriangles: Integer; var nbNegativeTriangles: Integer);
Public | procedure FixTJunctions(const tJunctionsCandidates: TIntegerList);
Public | procedure IsCulled(const bsprci: TBSPRenderContextInfo; var positive, negative: Boolean);
Public | procedure PerformSplit(const splitPlane: THmgPlane; const maxTrianglesPerLeaf: Integer = MaxInt);

Properties

Public | property Cluster: Integer read FCluster write FCluster;
Public | property NegativeSubNodeIndex: Integer read FNegativeSubNodeIndex write FNegativeSubNodeIndex;
Public | property PositiveSubNodeIndex: Integer read FPositiveSubNodeIndex write FPositiveSubNodeIndex;
Public | property splitPlane: THmgPlane read FSplitPlane write FSplitPlane;

Description

Fields

Private FSplitPlane: THmgPlane;
Private FPositiveSubNodeIndex: Integer;
Private FNegativeSubNodeIndex: Integer;
Private FCluster: Integer;

Methods

Public constructor CreateOwned(AOwner: TGLFaceGroups); override;
Public destructor Destroy; override;
Public function FindSplitPlane(triangleSplitCost: Single = 1; triangleImbalanceCost: Single = 0.5): THmgPlane;

Try to find a 'decent' split plane for the node. Use this function to build a BSP tree, on leafy nodes. The split plane is chosen among the polygon planes, the coefficient are used to determine what a 'good' split plane is by assigning a cost to splitted triangles (cut by the split plane) and tree imbalance.

Protected function AddLerp(iA, iB: Integer; fB, fA: Single): Integer;
Protected function AddLerpIfDistinct(iA, iB, iMid: Integer): Integer;
Public procedure CollectBackToFront(var bsprci: TBSPRenderContextInfo);
Public procedure CollectFrontToBack(var bsprci: TBSPRenderContextInfo);
Public procedure CollectNoSort(var bsprci: TBSPRenderContextInfo);
Public procedure EvaluateSplitPlane(const splitPlane: THmgPlane; var nbTriangleSplit: Integer; var nbPositiveTriangles: Integer; var nbNegativeTriangles: Integer);

Evaluates a split plane. Used by FindSplitPlane. For splitted triangles, the extra spawned triangles required are accounted for in the nbXxxTriangles values.

Public procedure FixTJunctions(const tJunctionsCandidates: TIntegerList);

Goes through all triangle edges, looking for tjunctions. The candidates are indices of points to lookup a tjunction vertices.

Public procedure IsCulled(const bsprci: TBSPRenderContextInfo; var positive, negative: Boolean);
Public procedure PerformSplit(const splitPlane: THmgPlane; const maxTrianglesPerLeaf: Integer = MaxInt);

Splits a leafy node along the specified plane. Will trigger an exception if the node already has subnodes. Currently also changes the mode from strips/fan to list.

Properties

Public property Cluster: Integer read FCluster write FCluster;

The index of the cluster that this node belongs to. Used for visibility determination.

Public property NegativeSubNodeIndex: Integer read FNegativeSubNodeIndex write FNegativeSubNodeIndex;

Index of the negative sub-node index in the list. Zero if empty.

Public property PositiveSubNodeIndex: Integer read FPositiveSubNodeIndex write FPositiveSubNodeIndex;

Index of the positive sub-node index in the list. Zero if empty.

Public property splitPlane: THmgPlane read FSplitPlane write FSplitPlane;

BSP node split plane. Divides space between positive and negative half-space, positive half-space being the one were the evaluation of an homogeneous vector against the plane is positive.


GLSysHelp v.2.1: GLS.MeshBuilder

Unit GLS.MeshBuilder

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Classes
  • GLS.Scene
  • GLS.VectorFileObjects
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.PersistentClasses
  • GLS.MeshUtils

Overview

Functions and Procedures

procedure BuildCube(Mesh : TGLMeshObject; const Position, Scale : TAffineVector);
procedure BuildCylinder(Mesh : TGLMeshObject; const Position, Scale : TAffineVector; Slices : Integer);
procedure BuildCylinder2(Mesh : TGLMeshObject; const Position, Scale : TAffineVector; TopRadius,BottomRadius,Height: single; Slices : Integer);
procedure OptimizeMesh(aList: TGLMeshObjectList; options: TGLMeshOptimizerOptions); overload;
procedure OptimizeMesh(aList: TGLMeshObjectList); overload;
procedure OptimizeMesh(aMeshObject: TGLMeshObject; options: TGLMeshOptimizerOptions); overload;
procedure OptimizeMesh(aMeshObject: TGLMeshObject); overload;
procedure FacesSmooth(aMeshObj: TGLMeshObject; aWeldDistance: Single = 0.0000001; aThreshold: Single = 35.0; InvertNormals: boolean = false);

Types

TGLMeshOptimizerOption = (...);
TGLMeshOptimizerOptions = set of TGLMeshOptimizerOption;

Variables

vDefaultMeshOptimizerOptions: TGLMeshOptimizerOptions = [mooStandardize, mooVertexCache, mooSortByMaterials, mooMergeObjects];

Description

Functions and Procedures

procedure BuildCube(Mesh : TGLMeshObject; const Position, Scale : TAffineVector);

—————- Mesh building routines ——————-

procedure BuildCylinder(Mesh : TGLMeshObject; const Position, Scale : TAffineVector; Slices : Integer);
procedure BuildCylinder2(Mesh : TGLMeshObject; const Position, Scale : TAffineVector; TopRadius,BottomRadius,Height: single; Slices : Integer);
procedure OptimizeMesh(aList: TGLMeshObjectList; options: TGLMeshOptimizerOptions); overload;

Optimize Mesh (list, default options)

procedure OptimizeMesh(aList: TGLMeshObjectList); overload;
procedure OptimizeMesh(aMeshObject: TGLMeshObject; options: TGLMeshOptimizerOptions); overload;

OptimizeMesh (object, with options)

procedure OptimizeMesh(aMeshObject: TGLMeshObject); overload;

OptimizeMesh (object, default options)

procedure FacesSmooth(aMeshObj: TGLMeshObject; aWeldDistance: Single = 0.0000001; aThreshold: Single = 35.0; InvertNormals: boolean = false);

Types

TGLMeshOptimizerOption = (...);

—————- Mesh optimization routines —————

Values
  • mooStandardize
  • mooVertexCache
  • mooSortByMaterials
  • mooMergeObjects
TGLMeshOptimizerOptions = set of TGLMeshOptimizerOption;

Variables

vDefaultMeshOptimizerOptions: TGLMeshOptimizerOptions = [mooStandardize, mooVertexCache, mooSortByMaterials, mooMergeObjects];


GLSysHelp v.2.1: GLS.MeshCSG

Unit GLS.MeshCSG

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Classes
  • System.Math
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.VectorGeometry
  • GLS.MeshBSP
  • GLS.VectorLists

Overview

Functions and Procedures

procedure CSG_Operation(obj1, obj2: TGLMeshObject; Operation: TCSGOperation; Res: TGLMeshObject; const MaterialName1, MaterialName2: string);

Types

TCSGOperation = (...);

Description

Functions and Procedures

procedure CSG_Operation(obj1, obj2: TGLMeshObject; Operation: TCSGOperation; Res: TGLMeshObject; const MaterialName1, MaterialName2: string);

Types

TCSGOperation = (...);
Values
  • CSG_Union
  • CSG_Subtraction
  • CSG_Intersection


GLSysHelp v.2.1: GLS.MeshLines

Unit GLS.MeshLines

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Objects
  • GLS.Texture
  • GLS.Coordinates
  • GLS.Context
  • GLS.Material
  • GLS.Color
  • GLS.State
  • GLS.Nodes
  • GLS.VectorGeometry
  • GLS.Spline
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TLineNode |
Class TLineNodes |
Class TLineItem |
Class TLineCollection |
Class TLightmapBounds |
Class TGLMeshLines |


GLSysHelp v.2.1: GLS.MeshLines: Class TLineNode

Class TLineNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshLines

Declaration

type TLineNode = class(TGLNode)

Description

Specialized Node for use in a TGLLines objects. Adds a Width property

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNode
  • TLineNode

Overview

Fields

Private FData: Pointer;

Methods

Public | constructor Create(Collection : TCollection); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;

Properties

Public property Data: Pointer read FData write FData;

Description

Fields

Private FData: Pointer;

Methods

Public constructor Create(Collection : TCollection); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;

Properties

Public property Data: Pointer read FData write FData;


GLSysHelp v.2.1: GLS.MeshLines: Class TLineNodes

Class TLineNodes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshLines

Declaration

type TLineNodes = class(TGLNodes)

Description

Specialized collection for Nodes in TGLMeshLines objects. Stores TLineNode items.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNodes
  • TLineNodes

Overview

Methods

Public | constructor Create(AOwner : TComponent); overload;
Public | destructor Destroy; override;
Public | function IndexOf(LineNode: TLineNode): Integer;
Public | procedure NotifyChange; override;

Description

Methods

Public constructor Create(AOwner : TComponent); overload;
Public destructor Destroy; override;
Public function IndexOf(LineNode: TLineNode): Integer;
Public procedure NotifyChange; override;


GLSysHelp v.2.1: GLS.MeshLines: Class TLineItem

Class TLineItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshLines

Declaration

type TLineItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TLineItem

Overview

Fields

Private | FName: String;
Private | FBreakAngle: Single;
Private | FDivision: Integer;
Private | FNodes: TLineNodes;
Private | FSplineMode: TGLLineSplineMode;
Private | FTextureLength: Single;
Private | FWidth: Single;
Private | FTextureCorrection: Boolean;
Private | FHide: Boolean;
Private | FData: Pointer;

Methods

Published | constructor Create(Collection: TCollection); override;
Published | destructor Destroy; override;
Protected | procedure DoChanged; virtual;
Private | procedure SetBreakAngle(const Value: Single);
Private | procedure SetDivision(const Value: Integer);
Private | procedure SetHide(const Value: Boolean);
Private | procedure SetNodes(const Value: TLineNodes);
Private | procedure SetSplineMode(const Value:TGLLineSplineMode);
Private | procedure SetTextureCorrection(const Value: Boolean);
Private | procedure SetTextureLength(const Value: Single);
Private | procedure SetWidth(const Value: Single);

Properties

Published | property BreakAngle: Single read FBreakAngle write SetBreakAngle;
Public | property Data: Pointer read FData write FData;
Published | property Division: Integer read FDivision write SetDivision;
Published | property Hide: Boolean read FHide write SetHide;
Published | property Name: String read FName write FName;
Published | property Nodes : TLineNodes read FNodes write SetNodes;
Published | property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode;
Published | property TextureCorrection: Boolean read FTextureCorrection write SetTextureCorrection;
Published | property TextureLength: Single read FTextureLength write SetTextureLength;
Published | property Width: Single read FWidth write SetWidth;

Description

Fields

Private FName: String;
Private FBreakAngle: Single;
Private FDivision: Integer;
Private FNodes: TLineNodes;
Private FSplineMode: TGLLineSplineMode;
Private FTextureLength: Single;
Private FWidth: Single;
Private FTextureCorrection: Boolean;
Private FHide: Boolean;
Private FData: Pointer;

Methods

Published constructor Create(Collection: TCollection); override;
Published destructor Destroy; override;
Protected procedure DoChanged; virtual;
Private procedure SetBreakAngle(const Value: Single);
Private procedure SetDivision(const Value: Integer);
Private procedure SetHide(const Value: Boolean);
Private procedure SetNodes(const Value: TLineNodes);
Private procedure SetSplineMode(const Value:TGLLineSplineMode);
Private procedure SetTextureCorrection(const Value: Boolean);
Private procedure SetTextureLength(const Value: Single);
Private procedure SetWidth(const Value: Single);

Properties

Published property BreakAngle: Single read FBreakAngle write SetBreakAngle;
Public property Data: Pointer read FData write FData;
Published property Division: Integer read FDivision write SetDivision;
Published property Hide: Boolean read FHide write SetHide;
Published property Name: String read FName write FName;
Published property Nodes : TLineNodes read FNodes write SetNodes;
Published property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode;
Published property TextureCorrection: Boolean read FTextureCorrection write SetTextureCorrection;
Published property TextureLength: Single read FTextureLength write SetTextureLength;
Published property Width: Single read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.MeshLines: Class TLineCollection

Class TLineCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshLines

Declaration

type TLineCollection = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TLineCollection

Overview

Methods

Public | function Add: TLineItem; overload;
Public | function Add(Name: String): TLineItem; overload;
Private | function GetItems(Index: Integer): TLineItem;
Private | procedure SetItems(Index: Integer; const Val: TLineItem);

Properties

Public property Items[Index:Integer]: TLineItem read GetItems write SetItems;

Description

Methods

Public function Add: TLineItem; overload;
Public function Add(Name: String): TLineItem; overload;
Private function GetItems(Index: Integer): TLineItem;
Private procedure SetItems(Index: Integer; const Val: TLineItem);

Properties

Public property Items[Index:Integer]: TLineItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MeshLines: Class TLightmapBounds

Class TLightmapBounds

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshLines

Declaration

type TLightmapBounds = class(TGLCustomCoordinates)

Description

No description available, ancestor TGLCustomCoordinates description follows

Stores any homogeneous vector. This class is basicly a container for a TGLVector, allowing proper use of property editors and editing in the IDE. Vector/Coordinates manipulation methods are only minimal. Handles dynamic default values to save resource file space.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLCustomCoordinates
  • TLightmapBounds

Overview

Methods

Private | function GetBottom: TGLFloat;
Private | function GetHeight: TGLFloat;
Private | function GetLeft: TGLFloat;
Private | function GetRight: TGLFloat;
Private | function GetTop: TGLFloat;
Private | function GetWidth: TGLFloat;
Private | procedure SetBottom(const value: TGLFloat);
Private | procedure SetLeft(const value: TGLFloat);
Private | procedure SetRight(const value: TGLFloat);
Private | procedure SetTop(const value: TGLFloat);

Properties

Published | property Bottom: TGLFloat read GetBottom write SetBottom stored False;
Published | property Height: TGLFloat read GetHeight;
Published | property Left: TGLFloat read GetLeft write SetLeft stored False;
Published | property Right: TGLFloat read GetRight write SetRight stored False;
Published | property Top: TGLFloat read GetTop write SetTop stored False;
Published | property Width: TGLFloat read GetWidth;

Description

Methods

Private function GetBottom: TGLFloat;
Private function GetHeight: TGLFloat;
Private function GetLeft: TGLFloat;
Private function GetRight: TGLFloat;
Private function GetTop: TGLFloat;
Private function GetWidth: TGLFloat;
Private procedure SetBottom(const value: TGLFloat);
Private procedure SetLeft(const value: TGLFloat);
Private procedure SetRight(const value: TGLFloat);
Private procedure SetTop(const value: TGLFloat);

Properties

Published property Bottom: TGLFloat read GetBottom write SetBottom stored False;
Published property Height: TGLFloat read GetHeight;
Published property Left: TGLFloat read GetLeft write SetLeft stored False;
Published property Right: TGLFloat read GetRight write SetRight stored False;
Published property Top: TGLFloat read GetTop write SetTop stored False;
Published property Width: TGLFloat read GetWidth;


GLSysHelp v.2.1: GLS.MeshLines: Class TGLMeshLines

Class TGLMeshLines

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MeshLines

Declaration

type TGLMeshLines = class(TGLFreeForm)

Description

No description available, ancestor TGLFreeForm description follows

Container objects for a vector file mesh. FreeForms allows loading and rendering vector files (like 3DStudio ".3DS" file) in GLScene. Meshes can be loaded with the LoadFromFile method. A FreeForm may contain more than one mesh, but they will all be handled as a single object in a scene.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLFreeForm
  • TGLMeshLines

Overview

Fields

Private | FLines: TLineCollection;
Private | FMesh: TGLMeshObject;
Private | FLightmapBounds: TLightmapBounds;
Private | FLightmapIndex: Integer;
Private | FLightmapMaterialName: String;
Private | FFaceGroup: TFGVertexIndexList;
Private | FIndex: Integer;
Private | FNoZWrite: boolean;
Private | FShowNodes: Boolean;
Private | FUpdating: Integer;
Private | FSelectedLineItem: TLineItem;
Private | FSelectedNode: TLineNode;
Private | FNode1: TLineNode;
Private | FNode2: TLineNode;

Methods

Published | constructor Create(AOwner: TComponent); override;
Published | destructor Destroy; override;
Public | function SelectLineItem(const X,Z: Single; Tolerance: single = 1): TLineItem; overload;
Public | function SelectLineItem(LineNode: TLineNode): TLineItem; overload;
Public | function SelectLineItem(LineItem: TLineItem): TLineItem; overload;
Private | function GetUpdating: Boolean;
Private | function PointNearLine(const LineItem: TLineItem; const X,Z: Single; Tolerance: single = 1): boolean;
Private | function PointNearSegment(const StartNode, EndNode: TLineNode; const X,Z: Single; LineWidth: single; Tolerance: single = 1): boolean;
Private | function SelectNode(LineItem: TLineItem; X,Z: Single):TLineNode;
Public | procedure BeginUpdate;
Public | procedure BuildList(var rci : TGLRenderContextInfo); override;
Public | procedure Clear;
Public | procedure DeselectLineItem;
Public | procedure DeselectLineNode;
Public | procedure DoRender(var rci : TGLRenderContextInfo; renderSelf, renderChildren : Boolean); override;
Public | procedure EndUpdate;
Public | procedure NotifyChange(Sender : TObject); override;
Protected | procedure Loaded; override;
Private | procedure AddIndex;
Private | procedure AddStitchMarker(idx: TIntegerList);
Private | procedure AddVertices(const Up, Inner, Outer: TAffineVector; S: Single; Correction: Single; UseDegenerate: Boolean; LineItem: TLineItem);
Private | procedure BuildGeometry;
Private | procedure BuildLineItem(LineItem: TLineItem);
Private | procedure DoChanged;
Private | procedure DrawCircle(Radius: Single);
Private | procedure DrawNode(var rci : TGLRenderContextInfo; Node: TLineNode; LineWidth: Single);
Private | procedure SetLightmapBounds(const value: TLightmapBounds);
Private | procedure SetLightmapIndex(const value: Integer);
Private | procedure SetLightmapMaterialName(const value: String);
Private | procedure SetNoZWrite(const Value: Boolean);
Private | procedure SetShowNodes(const Value: Boolean);
Private | procedure StitchStrips(idx: TIntegerList);

Properties

Published | property LightmapBounds: TLightmapBounds read FLightmapBounds write SetLightmapBounds;
Published | property LightmapIndex: Integer read FLightmapIndex write SetLightmapIndex;
Published | property LightmapMaterialName: String read FLightmapMaterialName write SetLightmapMaterialName;
Published | property Lines: TLineCollection read FLines;
Published | property Material;
Public | property Node1: TLineNode read FNode1;
Public | property Node2: TLineNode read FNode2;
Published | property NoZWrite: boolean read FNoZWrite write SetNoZWrite;
Public | property SelectedLineItem: TLineItem read FSelectedLineItem;
Public | property SelectedNode: TLineNode read FSelectedNode;
Published | property ShowNodes: Boolean read FSHowNodes write SetShowNodes;
Published | property Updating: Boolean Read GetUpdating;

Description

Fields

Private FLines: TLineCollection;
Private FMesh: TGLMeshObject;
Private FLightmapBounds: TLightmapBounds;
Private FLightmapIndex: Integer;
Private FLightmapMaterialName: String;
Private FFaceGroup: TFGVertexIndexList;
Private FIndex: Integer;
Private FNoZWrite: boolean;
Private FShowNodes: Boolean;
Private FUpdating: Integer;
Private FSelectedLineItem: TLineItem;
Private FSelectedNode: TLineNode;
Private FNode1: TLineNode;
Private FNode2: TLineNode;

Methods

Published constructor Create(AOwner: TComponent); override;
Published destructor Destroy; override;
Public function SelectLineItem(const X,Z: Single; Tolerance: single = 1): TLineItem; overload;
Public function SelectLineItem(LineNode: TLineNode): TLineItem; overload;
Public function SelectLineItem(LineItem: TLineItem): TLineItem; overload;
Private function GetUpdating: Boolean;
Private function PointNearLine(const LineItem: TLineItem; const X,Z: Single; Tolerance: single = 1): boolean;
Private function PointNearSegment(const StartNode, EndNode: TLineNode; const X,Z: Single; LineWidth: single; Tolerance: single = 1): boolean;
Private function SelectNode(LineItem: TLineItem; X,Z: Single):TLineNode;
Public procedure BeginUpdate;
Public procedure BuildList(var rci : TGLRenderContextInfo); override;
Public procedure Clear;
Public procedure DeselectLineItem;
Public procedure DeselectLineNode;
Public procedure DoRender(var rci : TGLRenderContextInfo; renderSelf, renderChildren : Boolean); override;
Public procedure EndUpdate;
Public procedure NotifyChange(Sender : TObject); override;
Protected procedure Loaded; override;
Private procedure AddIndex;
Private procedure AddStitchMarker(idx: TIntegerList);
Private procedure AddVertices(const Up, Inner, Outer: TAffineVector; S: Single; Correction: Single; UseDegenerate: Boolean; LineItem: TLineItem);
Private procedure BuildGeometry;
Private procedure BuildLineItem(LineItem: TLineItem);
Private procedure DoChanged;
Private procedure DrawCircle(Radius: Single);
Private procedure DrawNode(var rci : TGLRenderContextInfo; Node: TLineNode; LineWidth: Single);
Private procedure SetLightmapBounds(const value: TLightmapBounds);
Private procedure SetLightmapIndex(const value: Integer);
Private procedure SetLightmapMaterialName(const value: String);
Private procedure SetNoZWrite(const Value: Boolean);
Private procedure SetShowNodes(const Value: Boolean);
Private procedure StitchStrips(idx: TIntegerList);

Properties

Published property LightmapBounds: TLightmapBounds read FLightmapBounds write SetLightmapBounds;
Published property LightmapIndex: Integer read FLightmapIndex write SetLightmapIndex;
Published property LightmapMaterialName: String read FLightmapMaterialName write SetLightmapMaterialName;
Published property Lines: TLineCollection read FLines;
Published property Material;
Public property Node1: TLineNode read FNode1;
Public property Node2: TLineNode read FNode2;
Published property NoZWrite: boolean read FNoZWrite write SetNoZWrite;
Public property SelectedLineItem: TLineItem read FSelectedLineItem;
Public property SelectedNode: TLineNode read FSelectedNode;
Published property ShowNodes: Boolean read FSHowNodes write SetShowNodes;
Published property Updating: Boolean Read GetUpdating;


GLSysHelp v.2.1: GLS.MeshUtils

Unit GLS.MeshUtils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.PersistentClasses
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.VectorTypes

Overview

Functions and Procedures

procedure ConvertStripToList(const strip : TAffineVectorList; list : TAffineVectorList); overload;
procedure ConvertStripToList(const strip : TIntegerList; list : TIntegerList); overload;
procedure ConvertStripToList(const strip : TAffineVectorList; const indices : TIntegerList; list : TAffineVectorList); overload;
function ConvertStripToList( const AindicesList: PLongWordArray; Count: LongWord; RestartIndex: LongWord): TLongWordList; overload;
function ConvertFansToList( const AindicesList: PLongWordArray; Count: LongWord; RestartIndex: LongWord): TLongWordList;
procedure ConvertIndexedListToList(const data : TAffineVectorList; const indices : TIntegerList; list : TAffineVectorList);
function BuildVectorCountOptimizedIndices(const vertices : TAffineVectorList; const normals : TAffineVectorList = nil; const texCoords : TAffineVectorList = nil) : TIntegerList;
procedure RemapReferences(reference : TAffineVectorList; const indices : TIntegerList); overload;
procedure RemapReferences(reference : TIntegerList; const indices : TIntegerList); overload;
procedure RemapAndCleanupReferences(reference : TAffineVectorList; indices : TIntegerList);
function RemapIndicesToIndicesMap(remapIndices : TIntegerList) : TIntegerList;
procedure RemapTrianglesIndices(indices, indicesMap : TIntegerList);
procedure RemapIndices(indices, indicesMap : TIntegerList);
procedure UnifyTrianglesWinding(indices : TIntegerList);
procedure InvertTrianglesWinding(indices : TIntegerList);
function BuildNormals(reference : TAffineVectorList; indices : TIntegerList) : TAffineVectorList;
function BuildNonOrientedEdgesList(triangleIndices : TIntegerList; triangleEdges : TIntegerList = nil; edgesTriangles : TIntegerList = nil) : TIntegerList;
procedure WeldVertices(vertices : TAffineVectorList; indicesMap : TIntegerList; weldRadius : Single);
function StripifyMesh(indices : TIntegerList; maxVertexIndex : Integer; agglomerateLoneTriangles : Boolean = False) : TPersistentObjectList;
procedure IncreaseCoherency(indices : TIntegerList; cacheSize : Integer);
procedure SubdivideTriangles(smoothFactor : Single; vertices : TAffineVectorList; triangleIndices : TIntegerList; normals : TAffineVectorList = nil; onSubdivideEdge : TSubdivideEdgeEvent = nil);
function MakeTriangleAdjacencyList( const AindicesList: PLongWordArray; Count: LongWord; const AVerticesList: PAffineVectorArray): TLongWordList;

Types

TSubdivideEdgeEvent = procedure (const idxA, idxB, newIdx : Integer); register;

Variables

vImprovedFixingOpenTriangleEdge: Boolean = False;
vEdgeInfoReserveSize: LongWord = 64;

Description

Functions and Procedures

procedure ConvertStripToList(const strip : TAffineVectorList; list : TAffineVectorList); overload;

Converts a triangle strips into a triangle list. Vertices are added to list, based on the content of strip. Both non-indexed and indexed variants are available, the output is *always* non indexed.

procedure ConvertStripToList(const strip : TIntegerList; list : TIntegerList); overload;
procedure ConvertStripToList(const strip : TAffineVectorList; const indices : TIntegerList; list : TAffineVectorList); overload;
function ConvertStripToList( const AindicesList: PLongWordArray; Count: LongWord; RestartIndex: LongWord): TLongWordList; overload;
function ConvertFansToList( const AindicesList: PLongWordArray; Count: LongWord; RestartIndex: LongWord): TLongWordList;
procedure ConvertIndexedListToList(const data : TAffineVectorList; const indices : TIntegerList; list : TAffineVectorList);

Expands an indexed structure into a non-indexed structure.

function BuildVectorCountOptimizedIndices(const vertices : TAffineVectorList; const normals : TAffineVectorList = nil; const texCoords : TAffineVectorList = nil) : TIntegerList;

Builds a vector-count optimized indices list. The returned list (to be freed by caller) contains an "optimized" indices list in which duplicates coordinates in the original vertices list are used only once (the first available duplicate in the list is used). The vertices list is left untouched, to remap/cleanup, you may use the RemapAndCleanupReferences function.

procedure RemapReferences(reference : TAffineVectorList; const indices : TIntegerList); overload;

Alters a reference array and removes unused reference values. This functions scans the reference list and removes all values that aren't referred in the indices list, the indices list is *not* remapped.

procedure RemapReferences(reference : TIntegerList; const indices : TIntegerList); overload;
procedure RemapAndCleanupReferences(reference : TAffineVectorList; indices : TIntegerList);

Alters a reference/indice pair and removes unused reference values. This functions scans the reference list and removes all values that aren't referred in the indices list, and the indices list is remapped so as to remain coherent.

function RemapIndicesToIndicesMap(remapIndices : TIntegerList) : TIntegerList;

Creates an indices map from a remap list. The remap list is what BuildVectorCountOptimizedIndices, a list of indices to distinct/unique items, the indices map contains the indices of these items after a remap and cleanup of the set referred by remapIndices... Clear? In short it takes the output of BuildVectorCountOptimizedIndices and can change it to something suitable for RemapTrianglesIndices. Any simpler documentation of this function welcome ;)

procedure RemapTrianglesIndices(indices, indicesMap : TIntegerList);

Remaps a list of triangles vertex indices and remove degenerate triangles. The indicesMap provides newVertexIndex:=indicesMap[oldVertexIndex]

procedure RemapIndices(indices, indicesMap : TIntegerList);

Remaps a list of indices. The indicesMap provides newVertexIndex:=indicesMap[oldVertexIndex]

procedure UnifyTrianglesWinding(indices : TIntegerList);

Attempts to unify triangle winding. Depending on topology, this may or may not be successful (some topologies can't be unified, f.i. those that have duplicate triangles, those that have edges shared by more than two triangles, those that have unconnected submeshes etc.)

procedure InvertTrianglesWinding(indices : TIntegerList);

Inverts the triangles winding (vertex order).

function BuildNormals(reference : TAffineVectorList; indices : TIntegerList) : TAffineVectorList;

Builds normals for a triangles list. Builds one normal per reference vertex (may be NullVector is reference isn't used), which is the averaged for normals of all adjacent triangles. Returned list must be freed by caller.

function BuildNonOrientedEdgesList(triangleIndices : TIntegerList; triangleEdges : TIntegerList = nil; edgesTriangles : TIntegerList = nil) : TIntegerList;

Builds a list of non-oriented (non duplicated) edges list. Each edge is represented by the two integers of its vertices, sorted in ascending order. If not nil, triangleEdges is filled with the 3 indices of the 3 edges of the triangle, the edges ordering respecting the original triangle orientation.

procedure WeldVertices(vertices : TAffineVectorList; indicesMap : TIntegerList; weldRadius : Single);

Welds all vertices separated by a distance inferior to weldRadius. Any two vertices whose distance is inferior to weldRadius will be merged (ie. one of them will be removed, and the other replaced by the barycenter). The indicesMap is constructed to allow remapping of indices lists with the simple rule: newVertexIndex:=indicesMap[oldVertexIndex]. The logic is protected from chain welding, and only vertices that were initially closer than weldRadius will be welded in the same resulting vertex. This procedure can be used for mesh simplification, but preferably at design-time for it is not optimized for speed. This is more a "fixing" utility for meshes exported from high-polycount CAD tools (to remove duplicate vertices, quantification errors, etc.)

function StripifyMesh(indices : TIntegerList; maxVertexIndex : Integer; agglomerateLoneTriangles : Boolean = False) : TPersistentObjectList;

Attempts to create as few as possible triangle strips to cover the mesh. The indices parameters define a set of triangles as a set of indices to vertices in a vertex pool, free of duplicate vertices (or resulting stripification will be of lower quality). The function returns a list of TIntegerList, each of these lists hosting a triangle strip, returned objects must be freed by caller. If agglomerateLoneTriangles is True, the first of the lists actually contains the agglomerated list of the triangles that couldn't be stripified.

procedure IncreaseCoherency(indices : TIntegerList; cacheSize : Integer);

Increases indices coherency wrt vertex caches. The indices parameters is understood as vertex indices of a triangles set, the triangles are reordered to maximize coherency (vertex reuse) over the cacheSize latest indices. This allows higher rendering performance from hardware renderers that implement vertex cache (nVidia GeForce family f.i.), allowing reuse of T&amp;L performance (similar to stripification without the normals issues of strips). This procedure performs a coherency optimization via a greedy hill-climber algorithm (ie. not optimal but fast).

procedure SubdivideTriangles(smoothFactor : Single; vertices : TAffineVectorList; triangleIndices : TIntegerList; normals : TAffineVectorList = nil; onSubdivideEdge : TSubdivideEdgeEvent = nil);

Subdivides mesh triangles. Splits along edges, each triangle becomes four. The smoothFactor can be used to control subdivision smoothing, zero means no smoothing (tesselation only), while 1 means "sphere" subdivision (a low res sphere will be subdivided in a higher-res sphere), values outside of the [0..1] range are for, er, artistic purposes. The procedure is not intended for real-time use.

function MakeTriangleAdjacencyList( const AindicesList: PLongWordArray; Count: LongWord; const AVerticesList: PAffineVectorArray): TLongWordList;

Create list of indices of triangles with adjacency from triangle list

Types

TSubdivideEdgeEvent = procedure (const idxA, idxB, newIdx : Integer); register;

Variables

vImprovedFixingOpenTriangleEdge: Boolean = False;
vEdgeInfoReserveSize: LongWord = 64;


GLSysHelp v.2.1: GLS.Mirror

Unit GLS.Mirror

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Material
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.XCollection
  • GLS.Texture

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMirror |

Types

TGLMirrorOption = (...);
TGLMirrorOptions = set of TGLMirrorOption;
TMirrorShapes = (...);

Constants

cDefaultMirrorOptions = [moUseStencil];

Description

Types

TGLMirrorOption = (...);
Values
  • moUseStencil
  • moOpaque
  • moMirrorPlaneClip
  • moClearZBuffer
TGLMirrorOptions = set of TGLMirrorOption;
TMirrorShapes = (...);
Values
  • msRect
  • msDisk

Constants

cDefaultMirrorOptions = [moUseStencil];


GLSysHelp v.2.1: GLS.Mirror: Class TGLMirror

Class TGLMirror

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Mirror

Declaration

type TGLMirror = class(TGLSceneObject)

Description

A simple plane mirror. This mirror requires a stencil buffer for optimal rendering! The object is a mix between a plane and a proxy object, in that the plane defines the mirror's surface, while the proxy part is used to reference the objects that should be mirrored (it is legal to self-mirror, but no self-mirror visuals will be rendered). It is strongly recommended to read and understand the explanations in the materials/mirror demo before using this component.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMirror

Overview

Fields

Private | FRendering: Boolean;
Private | FMirrorObject: TGLBaseSceneObject;
Private | FWidth: Single;
Private | FHeight: Single;
Private | FMirrorOptions: TGLMirrorOptions;
Private | FOnBeginRenderingMirrors: TNotifyEvent;
Private | FOnEndRenderingMirrors: TNotifyEvent;
Private | FShape: TMirrorShapes;
Private | FRadius: Single;
Private | FSlices: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected | function GetRadius: Single;
Protected | function GetSlices: Integer;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure ClearZBufferArea(aBuffer: TGLSceneBuffer);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetHeight(AValue: Single);
Protected | procedure SetMirrorObject(const val: TGLBaseSceneObject);
Protected | procedure SetMirrorOptions(const val: TGLMirrorOptions);
Protected | procedure SetRadius(const aValue: Single);
Protected | procedure SetShape(aValue: TMirrorShapes);
Protected | procedure SetSlices(const aValue: Integer);
Protected | procedure SetWidth(AValue: Single);

Properties

Published | property Height: Single read FHeight write SetHeight;
Published | property MirrorObject: TGLBaseSceneObject read FMirrorObject write SetMirrorObject;
Published | property MirrorOptions: TGLMirrorOptions read FMirrorOptions write SetMirrorOptions default cDefaultMirrorOptions;
Published | property OnBeginRenderingMirrors: TNotifyEvent read FOnBeginRenderingMirrors write FOnBeginRenderingMirrors;
Published | property OnEndRenderingMirrors: TNotifyEvent read FOnEndRenderingMirrors write FOnEndRenderingMirrors;
Published | property Radius: Single read FRadius write SetRadius;
Published | property Shape: TMirrorShapes read FShape write SetShape default msRect;
Published | property Slices: Integer read FSlices write SetSlices default 16;
Published | property Width: Single read FWidth write SetWidth;

Description

Fields

Private FRendering: Boolean;
Private FMirrorObject: TGLBaseSceneObject;
Private FWidth: Single;
Private FHeight: Single;
Private FMirrorOptions: TGLMirrorOptions;
Private FOnBeginRenderingMirrors: TNotifyEvent;
Private FOnEndRenderingMirrors: TNotifyEvent;
Private FShape: TMirrorShapes;
Private FRadius: Single;

ORL

Private FSlices: Integer;

ORL

Methods

Public constructor Create(AOwner: TComponent); override;

ORL

Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected function GetRadius: Single;

ORL

Protected function GetSlices: Integer;

ORL

Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure ClearZBufferArea(aBuffer: TGLSceneBuffer);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;

ORL

Protected procedure SetHeight(AValue: Single);
Protected procedure SetMirrorObject(const val: TGLBaseSceneObject);
Protected procedure SetMirrorOptions(const val: TGLMirrorOptions);
Protected procedure SetRadius(const aValue: Single);
Protected procedure SetShape(aValue: TMirrorShapes);

ORL

Protected procedure SetSlices(const aValue: Integer);

ORL

Protected procedure SetWidth(AValue: Single);

Properties

Published property Height: Single read FHeight write SetHeight;
Published property MirrorObject: TGLBaseSceneObject read FMirrorObject write SetMirrorObject;

Selects the object to mirror. If nil, the whole scene is mirrored

Published property MirrorOptions: TGLMirrorOptions read FMirrorOptions write SetMirrorOptions default cDefaultMirrorOptions;

Controls rendering options. moUseStencil: mirror area is stenciled, prevents reflected objects to be visible on the sides of the mirror (stencil buffer must be active in the viewer) moOpaque: mirror is opaque (ie. painted with background color) moMirrorPlaneClip: a ClipPlane is defined to prevent reflections from popping out of the mirror (for objects behind or halfway through) moClearZBuffer: mirror area's ZBuffer is cleared so that background objects don't interfere with reflected objects (reflected objects must be rendered AFTER the mirror in the hierarchy). Works only along with stenciling.

Published property OnBeginRenderingMirrors: TNotifyEvent read FOnBeginRenderingMirrors write FOnBeginRenderingMirrors;

Fired before the object's mirror images are rendered.

Published property OnEndRenderingMirrors: TNotifyEvent read FOnEndRenderingMirrors write FOnEndRenderingMirrors;

Fired after the object's mirror images are rendered.

Published property Radius: Single read FRadius write SetRadius;
Published property Shape: TMirrorShapes read FShape write SetShape default msRect;

ORL

Published property Slices: Integer read FSlices write SetSlices default 16;

ORL

Published property Width: Single read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.ModuleLoader

Unit GLS.ModuleLoader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows

Overview

Functions and Procedures

function LoadModule(var Module: TModuleHandle; FileName: PChar): Boolean; stdcall;
function LoadModuleEx(var Module: TModuleHandle; FileName: PChar; Flags: Cardinal): Boolean; stdcall;
procedure UnloadModule(var Module: TModuleHandle); stdcall;
function GetModuleSymbol(Module: TModuleHandle; SymbolName: PChar): Pointer; stdcall;
function GetModuleSymbolEx(Module: TModuleHandle; SymbolName: PChar; var Accu: Boolean): Pointer; stdcall;
function ReadModuleData(Module: TModuleHandle; SymbolName: PChar; var Buffer; Size: Cardinal): Boolean; stdcall;
function WriteModuleData(Module: TModuleHandle; SymbolName: PChar; var Buffer; Size: Cardinal): Boolean; stdcall;

Types

TModuleHandle = HINST;

Constants

INVALID_MODULEHANDLE_VALUE = TModuleHandle(0);

Description

Functions and Procedures

function LoadModule(var Module: TModuleHandle; FileName: PChar): Boolean; stdcall;
function LoadModuleEx(var Module: TModuleHandle; FileName: PChar; Flags: Cardinal): Boolean; stdcall;
procedure UnloadModule(var Module: TModuleHandle); stdcall;
function GetModuleSymbol(Module: TModuleHandle; SymbolName: PChar): Pointer; stdcall;
function GetModuleSymbolEx(Module: TModuleHandle; SymbolName: PChar; var Accu: Boolean): Pointer; stdcall;
function ReadModuleData(Module: TModuleHandle; SymbolName: PChar; var Buffer; Size: Cardinal): Boolean; stdcall;
function WriteModuleData(Module: TModuleHandle; SymbolName: PChar; var Buffer; Size: Cardinal): Boolean; stdcall;

Types

TModuleHandle = HINST;

Handle to a loaded DLL

Constants

INVALID_MODULEHANDLE_VALUE = TModuleHandle(0);

Value designating an unassigned TModuleHandle od a failed loading


GLSysHelp v.2.1: GLS.Movement

Unit GLS.Movement

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.XCollection
  • GLS.Spline
  • GLS.Objects
  • GLS.Strings
  • GLS.BaseClasses
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPathNode |
Class TGLPathNodes |
Class TGLMovementPath |
Class TGLMovementPaths |
Class TGLMovement |

Functions and Procedures

function GetMovement(const behaviours: TGLBehaviours): TGLMovement; overload;
function GetMovement(const obj: TGLBaseSceneObject): TGLMovement; overload;
function GetOrCreateMovement(const behaviours: TGLBehaviours): TGLMovement; overload;
function GetOrCreateMovement(const obj: TGLBaseSceneObject): TGLMovement; overload;
procedure StartAllMovements(const Scene: TGLScene; const StartCamerasMove, StartObjectsMove: Boolean);
procedure StopAllMovements(const Scene: TGLScene; const StopCamerasMove, StopObjectsMove: Boolean);

Types

TGLMovementRotationMode = (...);
TPathTravelStartEvent = procedure (Sender: TObject; Path: TGLMovementPath) of object;
TPathTravelStopEvent = procedure (Sender: TObject; Path: TGLMovementPath; var Looped: boolean) of object;

Description

Functions and Procedures

function GetMovement(const behaviours: TGLBehaviours): TGLMovement; overload;
function GetMovement(const obj: TGLBaseSceneObject): TGLMovement; overload;
function GetOrCreateMovement(const behaviours: TGLBehaviours): TGLMovement; overload;
function GetOrCreateMovement(const obj: TGLBaseSceneObject): TGLMovement; overload;
procedure StartAllMovements(const Scene: TGLScene; const StartCamerasMove, StartObjectsMove: Boolean);
procedure StopAllMovements(const Scene: TGLScene; const StopCamerasMove, StopObjectsMove: Boolean);

Types

TGLMovementRotationMode = (...);
Values
  • rmTurnPitchRoll
  • rmUpDirection
TPathTravelStartEvent = procedure (Sender: TObject; Path: TGLMovementPath) of object;

Event for path related event

TPathTravelStopEvent = procedure (Sender: TObject; Path: TGLMovementPath; var Looped: boolean) of object;


GLSysHelp v.2.1: GLS.Movement: Class TGLPathNode

Class TGLPathNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Movement

Declaration

type TGLPathNode = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLPathNode

Overview

Fields

Private | FPosition: TGLVector;
Private | FScale: TGLVector;
Private | FRotation: TGLVector;
Private | FDirection: TGLVector;
Private | FUp: TGLVector;
Private | FSpeed: single;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function EqualNode(const aNode: TGLPathNode): boolean;
Public | function PositionAsAddress: PGLFloat;
Public | function RotationAsAddress: PGLFloat;
Public | function ScaleAsAddress: PGLFloat;
Protected | function GetDisplayName: string; override;
Private | function GetDirectionCoordinate(const Index: Integer): TGLFloat; inline;
Private | function GetPositionCoordinate(const Index: Integer): TGLFloat;
Private | function GetRotationCoordinate(const Index: Integer): TGLFloat; inline;
Private | function GetScaleCoordinate(const Index: Integer): TGLFloat; inline;
Private | function GetUpCoordinate(const Index: Integer): TGLFloat; inline;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure InitializeByObject(const Obj: TGLBaseSceneObject);
Protected | procedure ReadFromFiler(reader : TReader);
Protected | procedure WriteToFiler(writer : TWriter);
Private | procedure SetDirectionCoordinate(const Index: integer; const AValue: TGLFloat);
Private | procedure SetPositionAsVector(const Value: TGLVector);
Private | procedure SetPositionCoordinate(const Index: integer; const AValue: TGLFloat);
Private | procedure SetRotationAsVector(const Value: TGLVector);
Private | procedure SetRotationCoordinate(const Index: integer; const AValue: TGLFloat);
Private | procedure SetScaleAsVector(const Value: TGLVector);
Private | procedure SetScaleCoordinate(const Index: integer; const AValue: TGLFloat);
Private | procedure SetSpeed(const Value: single);
Private | procedure SetUpCoordinate(const Index: integer; const AValue: TGLFloat);

Properties

Public | property DirectionAsVector: TGLVector read FDirection write FDirection;
Published | property DirectionX: TGLFloat index 0 Read GetDirectionCoordinate Write SetDirectionCoordinate;
Published | property DirectionY: TGLFloat index 1 Read GetDirectionCoordinate Write SetDirectionCoordinate;
Published | property DirectionZ: TGLFloat index 2 Read GetDirectionCoordinate Write SetDirectionCoordinate;
Published | property PitchAngle: TGLFloat index 0 Read GetRotationCoordinate Write SetRotationCoordinate;
Public | property PositionAsVector: TGLVector Read FPosition Write SetPositionAsVector;
Published | property RollAngle: TGLFloat index 2 Read GetRotationCoordinate Write SetRotationCoordinate;
Public | property RotationAsVector: TGLVector Read FRotation Write SetRotationAsVector;
Public | property ScaleAsVector: TGLVector Read FScale Write SetScaleAsVector;
Published | property ScaleX: TGLFloat index 0 Read GetScaleCoordinate Write SetScaleCoordinate;
Published | property ScaleY: TGLFloat index 1 Read GetScaleCoordinate Write SetScaleCoordinate;
Published | property ScaleZ: TGLFloat index 2 Read GetScaleCoordinate Write SetScaleCoordinate;
Published | property Speed: single Read FSpeed Write SetSpeed;
Published | property TurnAngle: TGLFloat index 1 Read GetRotationCoordinate Write SetRotationCoordinate;
Public | property UpAsVector: TGLVector read FUp write FUp;
Published | property UpX: TGLFloat index 0 Read GetUpCoordinate Write SetUpCoordinate;
Published | property UpY: TGLFloat index 1 Read GetUpCoordinate Write SetUpCoordinate;
Published | property UpZ: TGLFloat index 2 Read GetUpCoordinate Write SetUpCoordinate;
Published | property X: TGLFloat index 0 Read GetPositionCoordinate Write SetPositionCoordinate;
Published | property Y: TGLFloat index 1 Read GetPositionCoordinate Write SetPositionCoordinate;
Published | property Z: TGLFloat index 2 Read GetPositionCoordinate Write SetPositionCoordinate;

Description

Fields

Private FPosition: TGLVector;
Private FScale: TGLVector;
Private FRotation: TGLVector;
Private FDirection: TGLVector;
Private FUp: TGLVector;
Private FSpeed: single;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function EqualNode(const aNode: TGLPathNode): boolean;

Warning: does not take speed into account.

Public function PositionAsAddress: PGLFloat;
Public function RotationAsAddress: PGLFloat;
Public function ScaleAsAddress: PGLFloat;
Protected function GetDisplayName: string; override;
Private function GetDirectionCoordinate(const Index: Integer): TGLFloat; inline;
Private function GetPositionCoordinate(const Index: Integer): TGLFloat;
Private function GetRotationCoordinate(const Index: Integer): TGLFloat; inline;
Private function GetScaleCoordinate(const Index: Integer): TGLFloat; inline;
Private function GetUpCoordinate(const Index: Integer): TGLFloat; inline;
Public procedure Assign(Source: TPersistent); override;
Public procedure InitializeByObject(const Obj: TGLBaseSceneObject);
Protected procedure ReadFromFiler(reader : TReader);
Protected procedure WriteToFiler(writer : TWriter);
Private procedure SetDirectionCoordinate(const Index: integer; const AValue: TGLFloat);
Private procedure SetPositionAsVector(const Value: TGLVector);
Private procedure SetPositionCoordinate(const Index: integer; const AValue: TGLFloat);
Private procedure SetRotationAsVector(const Value: TGLVector);
Private procedure SetRotationCoordinate(const Index: integer; const AValue: TGLFloat);
Private procedure SetScaleAsVector(const Value: TGLVector);
Private procedure SetScaleCoordinate(const Index: integer; const AValue: TGLFloat);
Private procedure SetSpeed(const Value: single);
Private procedure SetUpCoordinate(const Index: integer; const AValue: TGLFloat);

Properties

Public property DirectionAsVector: TGLVector read FDirection write FDirection;
Published property DirectionX: TGLFloat index 0 Read GetDirectionCoordinate Write SetDirectionCoordinate;
Published property DirectionY: TGLFloat index 1 Read GetDirectionCoordinate Write SetDirectionCoordinate;
Published property DirectionZ: TGLFloat index 2 Read GetDirectionCoordinate Write SetDirectionCoordinate;
Published property PitchAngle: TGLFloat index 0 Read GetRotationCoordinate Write SetRotationCoordinate;

Rotation.X means PitchAngle; Rotation.Y means TurnAngle; Rotation.Z means RollAngle;

Public property PositionAsVector: TGLVector Read FPosition Write SetPositionAsVector;
Published property RollAngle: TGLFloat index 2 Read GetRotationCoordinate Write SetRotationCoordinate;
Public property RotationAsVector: TGLVector Read FRotation Write SetRotationAsVector;

Rotation.X means PitchAngle, Rotation.Y means TurnAngle, Rotation.Z means RollAngle.

Public property ScaleAsVector: TGLVector Read FScale Write SetScaleAsVector;
Published property ScaleX: TGLFloat index 0 Read GetScaleCoordinate Write SetScaleCoordinate;
Published property ScaleY: TGLFloat index 1 Read GetScaleCoordinate Write SetScaleCoordinate;
Published property ScaleZ: TGLFloat index 2 Read GetScaleCoordinate Write SetScaleCoordinate;
Published property Speed: single Read FSpeed Write SetSpeed;
Published property TurnAngle: TGLFloat index 1 Read GetRotationCoordinate Write SetRotationCoordinate;
Public property UpAsVector: TGLVector read FUp write FUp;
Published property UpX: TGLFloat index 0 Read GetUpCoordinate Write SetUpCoordinate;
Published property UpY: TGLFloat index 1 Read GetUpCoordinate Write SetUpCoordinate;
Published property UpZ: TGLFloat index 2 Read GetUpCoordinate Write SetUpCoordinate;
Published property X: TGLFloat index 0 Read GetPositionCoordinate Write SetPositionCoordinate;
Published property Y: TGLFloat index 1 Read GetPositionCoordinate Write SetPositionCoordinate;
Published property Z: TGLFloat index 2 Read GetPositionCoordinate Write SetPositionCoordinate;


GLSysHelp v.2.1: GLS.Movement: Class TGLPathNodes

Class TGLPathNodes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Movement

Declaration

type TGLPathNodes = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLPathNodes

Overview

Methods

Public | constructor Create(aOwner: TGLMovementPath);
Public | function Add: TGLPathNode;
Public | function FindItemID(const ID: integer): TGLPathNode;
Public | function GetOwnerMovementPath: TGLMovementPath;
Protected | function GetItems(const index: integer): TGLPathNode;
Public | procedure NotifyChange; virtual;
Protected | procedure SetItems(const index: integer; const val: TGLPathNode);

Properties

Public property Items[constindex:integer]: TGLPathNode Read GetItems Write SetItems;

Description

Methods

Public constructor Create(aOwner: TGLMovementPath);
Public function Add: TGLPathNode;
Public function FindItemID(const ID: integer): TGLPathNode;
Public function GetOwnerMovementPath: TGLMovementPath;
Protected function GetItems(const index: integer): TGLPathNode;
Public procedure NotifyChange; virtual;
Protected procedure SetItems(const index: integer; const val: TGLPathNode);

Properties

Public property Items[constindex:integer]: TGLPathNode Read GetItems Write SetItems;


GLSysHelp v.2.1: GLS.Movement: Class TGLMovementPath

Class TGLMovementPath

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Movement

Declaration

type TGLMovementPath = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLMovementPath

Overview

Fields

Private | FPathLine: TGLLines;
Private | FShowPath: Boolean;
Private | FPathSplineMode: TGLLineSplineMode;
Private | FNodes: TGLPathNodes;
Private | FStartTimeApplied: Boolean;
Private | FStartTime: double;
Private | FInitialTime: Double;
Private | FEstimateTime: double;
Private | FCurrentNode: TGLPathNode;
Private | FInTravel: boolean;
Private | FLooped: boolean;
Private | FName: string;
Private | FRotationMode: TGLMovementRotationMode;
Private | MotionSplineControl: TCubicSpline;
Private | RotationSplineControl: TCubicSpline;
Private | ScaleSplineControl: TCubicSpline;
Private | DirectionSplineControl: TCubicSpline;
Private | UpSplineControl: TCubicSpline;
Private | FOnTravelStart: TNotifyEvent;
Private | FOnTravelStop: TNotifyEvent;
Private | FCurrentNodeIndex: integer;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function AddNode(const Node: TGLPathNode): TGLPathNode; overload;
Public | function AddNode: TGLPathNode; overload;
Public | function AddNodeFromObject(const Obj: TGLBaseSceneObject): TGLPathNode;
Public | function DeleteNode(const Index: integer): TGLPathNode; overload;
Public | function DeleteNode(const Node: TGLPathNode): TGLPathNode; overload;
Public | function GetMovement: TGLMovement;
Public | function InsertNode(const Index: integer): TGLPathNode; overload;
Public | function InsertNode(const Node: TGLPathNode; const Index: integer): TGLPathNode; overload;
Public | function InsertNodeFromObject(const Obj: TGLBaseSceneObject; const Index: integer): TGLPathNode;
Public | function NextNode: integer;
Public | function NodeDistance(const Node1, Node2: TGLPathNode): double;
Public | function PrevNode: integer;
Protected | function CanTravel: boolean;
Protected | function GetCollection: TGLMovementPaths;
Private | function GetNodeCount: integer;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure CalculateState(const CurrentTime: double);
Public | procedure ClearNodes;
Public | procedure TravelPath(const Start: boolean; const aStartTime: double); overload;
Public | procedure TravelPath(const Start: boolean); overload;
Public | procedure UpdatePathLine;
Protected | procedure ReadFromFiler(reader : TReader);
Protected | procedure WriteToFiler(writer : TWriter);
Private | procedure SetCurrentNodeIndex(const Value: integer);
Private | procedure SetPathSplineMode(const Value: TGLLineSplineMode);
Private | procedure SetShowPath(const Value: Boolean);
Private | procedure SetStartTime(const Value: double);

Properties

Public | property CurrentNode: TGLPathNode Read FCurrentNode;
Public | property CurrentNodeIndex: integer Read FCurrentNodeIndex Write SetCurrentNodeIndex;
Published | property EstimateTime: double Read FEstimateTime;
Public | property InTravel: boolean Read FInTravel;
Published | property Looped: boolean Read FLooped Write FLooped;
Published | property Name: string Read FName Write FName;
Public | property NodeCount: integer Read GetNodeCount;
Published | property Nodes: TGLPathNodes Read FNodes;
Public | property OnTravelStart: TNotifyEvent Read FOnTravelStart Write FOnTravelStart;
Public | property OnTravelStop: TNotifyEvent Read FOnTravelStop Write FOnTravelStop;
Published | property PathSplineMode: TGLLineSplineMode read FPathSplineMode write SetPathSplineMode default lsmLines;
Published | property RotationMode: TGLMovementRotationMode read FRotationMode write FRotationMode default rmTurnPitchRoll;
Published | property ShowPath: Boolean read FShowPath write SetShowPath;
Published | property StartTime: double Read FStartTime Write SetStartTime;

Description

Fields

Private FPathLine: TGLLines;
Private FShowPath: Boolean;
Private FPathSplineMode: TGLLineSplineMode;
Private FNodes: TGLPathNodes;
Private FStartTimeApplied: Boolean;

All the time saved in ms

Private FStartTime: double;
Private FInitialTime: Double;
Private FEstimateTime: double;
Private FCurrentNode: TGLPathNode;
Private FInTravel: boolean;
Private FLooped: boolean;
Private FName: string;
Private FRotationMode: TGLMovementRotationMode;
Private MotionSplineControl: TCubicSpline;
Private RotationSplineControl: TCubicSpline;
Private ScaleSplineControl: TCubicSpline;
Private DirectionSplineControl: TCubicSpline;
Private UpSplineControl: TCubicSpline;
Private FOnTravelStart: TNotifyEvent;
Private FOnTravelStop: TNotifyEvent;
Private FCurrentNodeIndex: integer;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function AddNode(const Node: TGLPathNode): TGLPathNode; overload;
Public function AddNode: TGLPathNode; overload;
Public function AddNodeFromObject(const Obj: TGLBaseSceneObject): TGLPathNode;
Public function DeleteNode(const Index: integer): TGLPathNode; overload;
Public function DeleteNode(const Node: TGLPathNode): TGLPathNode; overload;
Public function GetMovement: TGLMovement;
Public function InsertNode(const Index: integer): TGLPathNode; overload;
Public function InsertNode(const Node: TGLPathNode; const Index: integer): TGLPathNode; overload;
Public function InsertNodeFromObject(const Obj: TGLBaseSceneObject; const Index: integer): TGLPathNode;
Public function NextNode: integer;
Public function NodeDistance(const Node1, Node2: TGLPathNode): double;
Public function PrevNode: integer;
Protected function CanTravel: boolean;
Protected function GetCollection: TGLMovementPaths;
Private function GetNodeCount: integer;
Public procedure Assign(Source: TPersistent); override;
Public procedure CalculateState(const CurrentTime: double);
Public procedure ClearNodes;
Public procedure TravelPath(const Start: boolean; const aStartTime: double); overload;
Public procedure TravelPath(const Start: boolean); overload;
Public procedure UpdatePathLine;
Protected procedure ReadFromFiler(reader : TReader);
Protected procedure WriteToFiler(writer : TWriter);
Private procedure SetCurrentNodeIndex(const Value: integer);
Private procedure SetPathSplineMode(const Value: TGLLineSplineMode);
Private procedure SetShowPath(const Value: Boolean);
Private procedure SetStartTime(const Value: double);

Properties

Public property CurrentNode: TGLPathNode Read FCurrentNode;
Public property CurrentNodeIndex: integer Read FCurrentNodeIndex Write SetCurrentNodeIndex;
Published property EstimateTime: double Read FEstimateTime;
Public property InTravel: boolean Read FInTravel;
Published property Looped: boolean Read FLooped Write FLooped;
Published property Name: string Read FName Write FName;
Public property NodeCount: integer Read GetNodeCount;
Published property Nodes: TGLPathNodes Read FNodes;
Public property OnTravelStart: TNotifyEvent Read FOnTravelStart Write FOnTravelStart;
Public property OnTravelStop: TNotifyEvent Read FOnTravelStop Write FOnTravelStop;
Published property PathSplineMode: TGLLineSplineMode read FPathSplineMode write SetPathSplineMode default lsmLines;

This property is currently ignored.

Published property RotationMode: TGLMovementRotationMode read FRotationMode write FRotationMode default rmTurnPitchRoll;
Published property ShowPath: Boolean read FShowPath write SetShowPath;
Published property StartTime: double Read FStartTime Write SetStartTime;


GLSysHelp v.2.1: GLS.Movement: Class TGLMovementPaths

Class TGLMovementPaths

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Movement

Declaration

type TGLMovementPaths = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLMovementPaths

Overview

Methods

Public | constructor Create(aOwner: TGLMovement);
Public | function Add: TGLMovementPath;
Public | function FindItemID(const ID: integer): TGLMovementPath;
Protected | function GetItems(const index: integer): TGLMovementPath;
Protected | function GetMovement: TGLMovement;
Public | procedure NotifyChange; virtual;
Protected | procedure SetItems(const index: integer; const val: TGLMovementPath);

Properties

Public property Items[constindex:integer]: TGLMovementPath Read GetItems Write SetItems;

Description

Methods

Public constructor Create(aOwner: TGLMovement);
Public function Add: TGLMovementPath;
Public function FindItemID(const ID: integer): TGLMovementPath;
Protected function GetItems(const index: integer): TGLMovementPath;
Protected function GetMovement: TGLMovement;
Public procedure NotifyChange; virtual;
Protected procedure SetItems(const index: integer; const val: TGLMovementPath);

Properties

Public property Items[constindex:integer]: TGLMovementPath Read GetItems Write SetItems;


GLSysHelp v.2.1: GLS.Movement: Class TGLMovement

Class TGLMovement

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Movement

Declaration

type TGLMovement = class(TGLBehaviour)

Description

No description available, ancestor TGLBehaviour description follows

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLMovement

Overview

Fields

Private | FPaths: TGLMovementPaths;
Private | FAutoStartNextPath: boolean;
Private | FActivePathIndex: integer;
Private | FOnAllPathTravelledOver: TNotifyEvent;
Private | FOnPathTravelStart: TPathTravelStartEvent;
Private | FOnPathTravelStop: TPathTravelStopEvent;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function AddPath(aObject: TGLBaseSceneObject): TGLMovementPath; overload;
Public | function AddPath: TGLMovementPath; overload;
Public | function AddPath(Path: TGLMovementPath): TGLMovementPath; overload;
Public | function DeletePath: TGLMovementPath; overload;
Public | function DeletePath(Path: TGLMovementPath): TGLMovementPath; overload;
Public | function DeletePath(Index: integer): TGLMovementPath; overload;
Public | function FirstPath: integer;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function LastPath: integer;
Public | function NextPath: integer;
Public | function PrevPath: integer;
Public | class function UniqueItem: boolean; override;
Protected | function GetSceneObject: TGLBaseSceneObject;
Private | function GetActivePath: TGLMovementPath;
Private | function GetPathCount: integer;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ClearPaths;
Public | procedure DoProgress(const progressTime : TGLProgressTimes); override;
Public | procedure StartPathTravel;
Public | procedure StopPathTravel;
Protected | procedure PathTravelStart(Sender: TObject);
Protected | procedure PathTravelStop(Sender: TObject);
Protected | procedure ReadFromFiler(reader : TReader); override;
Protected | procedure WriteToFiler(writer : TWriter); override;
Private | procedure SetActivePath(Value: TGLMovementPath);
Private | procedure SetActivePathIndex(Value: integer);

Properties

Published | property ActivePath: TGLMovementPath Read GetActivePath Write SetActivePath;
Published | property ActivePathIndex: integer Read FActivePathIndex Write SetActivePathIndex;
Published | property AutoStartNextPath: boolean Read FAutoStartNextPath Write FAutoStartNextPath;
Public | property OnAllPathTravelledOver: TNotifyEvent Read FOnAllPathTravelledOver Write FOnAllPathTravelledOver;
Public | property OnPathTravelStart: TPathTravelStartEvent Read FOnPathTravelStart Write FOnPathTravelStart;
Public | property OnPathTravelStop: TPathTravelStopEvent Read FOnPathTravelStop Write FOnPathTravelStop;
Public | property PathCount: integer Read GetPathCount;
Published | property Paths: TGLMovementPaths Read FPaths;

Description

Fields

Private FPaths: TGLMovementPaths;
Private FAutoStartNextPath: boolean;
Private FActivePathIndex: integer;
Private FOnAllPathTravelledOver: TNotifyEvent;
Private FOnPathTravelStart: TPathTravelStartEvent;
Private FOnPathTravelStop: TPathTravelStopEvent;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function AddPath(aObject: TGLBaseSceneObject): TGLMovementPath; overload;

add an path with one node, and the node is based on aObject

Public function AddPath: TGLMovementPath; overload;

add an empty path;

Public function AddPath(Path: TGLMovementPath): TGLMovementPath; overload;

add one path to the new one

Public function DeletePath: TGLMovementPath; overload;
Public function DeletePath(Path: TGLMovementPath): TGLMovementPath; overload;

Result is current path

Public function DeletePath(Index: integer): TGLMovementPath; overload;
Public function FirstPath: integer;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function LastPath: integer;
Public function NextPath: integer;
Public function PrevPath: integer;
Public class function UniqueItem: boolean; override;
Protected function GetSceneObject: TGLBaseSceneObject;
Private function GetActivePath: TGLMovementPath;
Private function GetPathCount: integer;

function GetMovementPath(Index: integer): TGLMovementPath; procedure SetMovementPath(Index: integer; AValue: TGLMovementPath);

Public procedure Assign(Source: TPersistent); override;
Public procedure ClearPaths;
Public procedure DoProgress(const progressTime : TGLProgressTimes); override;
Public procedure StartPathTravel;
Public procedure StopPathTravel;
Protected procedure PathTravelStart(Sender: TObject);
Protected procedure PathTravelStop(Sender: TObject);
Protected procedure ReadFromFiler(reader : TReader); override;
Protected procedure WriteToFiler(writer : TWriter); override;
Private procedure SetActivePath(Value: TGLMovementPath);
Private procedure SetActivePathIndex(Value: integer);

Properties

Published property ActivePath: TGLMovementPath Read GetActivePath Write SetActivePath;
Published property ActivePathIndex: integer Read FActivePathIndex Write SetActivePathIndex;
Published property AutoStartNextPath: boolean Read FAutoStartNextPath Write FAutoStartNextPath;
Public property OnAllPathTravelledOver: TNotifyEvent Read FOnAllPathTravelledOver Write FOnAllPathTravelledOver;

why do these property can't be saved in IDE ?

Public property OnPathTravelStart: TPathTravelStartEvent Read FOnPathTravelStart Write FOnPathTravelStart;
Public property OnPathTravelStop: TPathTravelStopEvent Read FOnPathTravelStop Write FOnPathTravelStop;
Public property PathCount: integer Read GetPathCount;

property Paths[index: Integer]: TGLMovementPath read GetMovementPath write SetMovementPath;

Published property Paths: TGLMovementPaths Read FPaths;


GLSysHelp v.2.1: GLS.MultiPolygon

Unit GLS.MultiPolygon

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.Spline
  • GLS.XOpenGL
  • GLS.Context
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.PersistentClasses
  • GLS.Scene
  • GLS.Objects
  • GLS.GeomObjects
  • GLS.Nodes
  • GLS.BaseClasses
  • GLS.Coordinates
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLContourNodes |
Class TGLContour |
Class TGLContours |
Class TGLPolygonList |
Class TGLMultiPolygonBase |
Class TGLMultiPolygon |
Class TGLVectorPool |

Types

TGLContourClass = class of TGLContour;

Description

Types

TGLContourClass = class of TGLContour;


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLContourNodes

Class TGLContourNodes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLContourNodes = class(TGLNodes)

Description

No description available, ancestor TGLNodes description follows

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNodes
  • TGLContourNodes

Overview

Methods

Public procedure NotifyChange; override;

Description

Methods

Public procedure NotifyChange; override;


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLContour

Class TGLContour

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLContour = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLContour

Overview

Fields

Private | FNodes: TGLContourNodes;
Private | FDivision: Integer;
Private | FSplineMode: TGLLineSplineMode;
Private | FDescription: string;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure CreateNodes;
Protected | procedure NodesChanged(Sender: TObject);
Private | procedure SetDescription(const Value: string);
Private | procedure SetDivision(Value: Integer);
Private | procedure SetNodes(const Value: TGLContourNodes);
Private | procedure SetSplineMode(const Value: TGLLineSplineMode);

Properties

Published | property Description: string read FDescription write SetDescription;
Published | property Division: Integer read FDivision write SetDivision default 10;
Published | property Nodes: TGLContourNodes read FNodes write SetNodes;
Published | property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode default lsmLines;

Description

Fields

Private FNodes: TGLContourNodes;
Private FDivision: Integer;
Private FSplineMode: TGLLineSplineMode;
Private FDescription: string;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure CreateNodes;
Protected procedure NodesChanged(Sender: TObject);
Private procedure SetDescription(const Value: string);
Private procedure SetDivision(Value: Integer);
Private procedure SetNodes(const Value: TGLContourNodes);
Private procedure SetSplineMode(const Value: TGLLineSplineMode);

Properties

Published property Description: string read FDescription write SetDescription;
Published property Division: Integer read FDivision write SetDivision default 10;

Number of divisions for each segment in spline modes. Minimum 1 (disabled), ignored in lsmLines mode.

Published property Nodes: TGLContourNodes read FNodes write SetNodes;

The nodes list

Published property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode default lsmLines;

Default spline drawing mode. This mode is used only for the curve, not for the rotation path.


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLContours

Class TGLContours

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLContours = class(TGLNotifyCollection)

Description

No description available, ancestor TGLNotifyCollection description follows

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNotifyCollection
  • TGLContours

Overview

Methods

Public | constructor Create(AOwner: TComponent); overload;
Public | function Add: TGLContour; inline;
Public | function FindItemID(ID: Integer): TGLContour; inline;
Private | function GetItems(index: Integer): TGLContour;
Public | procedure GetExtents(var min, max: TAffineVector);
Private | procedure SetItems(index: Integer; const Value: TGLContour);

Properties

Public property Items[index:Integer]: TGLContour read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TComponent); overload;
Public function Add: TGLContour; inline;
Public function FindItemID(ID: Integer): TGLContour; inline;
Private function GetItems(index: Integer): TGLContour;
Public procedure GetExtents(var min, max: TAffineVector);
Private procedure SetItems(index: Integer; const Value: TGLContour);

Properties

Public property Items[index:Integer]: TGLContour read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLPolygonList

Class TGLPolygonList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLPolygonList = class(TPersistentObjectList)

Description

No description available, ancestor TPersistentObjectList description follows

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLPolygonList

Overview

Fields

Private FAktList: TAffineVectorList;

Methods

Private | function GetList(I: Integer): TAffineVectorList;
Public | procedure Add;

Properties

Public | property AktList: TAffineVectorList read FAktList;
Public | property List[I:Integer]: TAffineVectorList read GetList;

Description

Fields

Private FAktList: TAffineVectorList;

Methods

Private function GetList(I: Integer): TAffineVectorList;
Public procedure Add;

Properties

Public property AktList: TAffineVectorList read FAktList;
Public property List[I:Integer]: TAffineVectorList read GetList;


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLMultiPolygonBase

Class TGLMultiPolygonBase

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLMultiPolygonBase = class(TGLSceneObject)

Description

Multipolygon is defined with multiple contours. The contours have to be in the X-Y plane, otherwise they are projected to it (this is done automatically by the tesselator). The plane normal is pointing in +Z. All contours are automatically closed, so there is no need to specify the last node equal to the first one. Contours should be defined counterclockwise, the first contour (index = 0) is taken as is, all following are reversed. This means you can define the outer contour first and the holes and cutouts after that. If you give the following contours in clockwise order, the first contour is extended. TGLMultiPolygonBase will take the input contours and let the tesselator make an outline from it (this is done in RetreiveOutline). This outline is used for Rendering. Only when there are changes in the contours, the outline will be recalculated. The ouline in fact is a list of GLS.VectorLists.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMultiPolygonBase

Overview

Fields

Private | FContours: TGLContours;
Private | FOutline: TGLPolygonList;
Private | FContoursNormal: TAffineVector;
Private | FAxisAlignedDimensionsCache: TGLVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Private | function GetOutline: TGLPolygonList;
Private | function GetPath(i: Integer): TGLContourNodes;
Public | procedure AddNode(const i: Integer; const coords: TGLCoordinates); overload;
Public | procedure AddNode(const i: Integer; const value: TAffineVector); overload;
Public | procedure AddNode(const i: Integer; const value: TGLVector); overload;
Public | procedure AddNode(const i: Integer; const X, Y, Z: TGLfloat); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure StructureChanged; override;
Protected | procedure ContourChanged(Sender: TObject); virtual;
Protected | procedure RenderTesselatedPolygon(textured: Boolean; normal: PAffineVector; invertNormals: Boolean);
Protected | procedure RetrieveOutline(List: TGLPolygonList);
Private | procedure SetContours(const Value: TGLContours);
Private | procedure SetContoursNormal(const Value: TAffineVector);
Private | procedure SetPath(i: Integer; const value: TGLContourNodes);

Properties

Published | property Contours: TGLContours read FContours write SetContours;
Public | property ContoursNormal: TAffineVector read FContoursNormal write SetContoursNormal;
Public | property Outline: TGLPolygonList read GetOutline;
Public | property Path[i:Integer]: TGLContourNodes read GetPath write SetPath;

Description

Fields

Private FContours: TGLContours;
Private FOutline: TGLPolygonList;
Private FContoursNormal: TAffineVector;
Private FAxisAlignedDimensionsCache: TGLVector;

Methods

Public constructor Create(AOwner: TComponent); override;

property PNormal:PAffineVector read FPNormal;

Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Private function GetOutline: TGLPolygonList;
Private function GetPath(i: Integer): TGLContourNodes;
Public procedure AddNode(const i: Integer; const coords: TGLCoordinates); overload;
Public procedure AddNode(const i: Integer; const value: TAffineVector); overload;
Public procedure AddNode(const i: Integer; const value: TGLVector); overload;
Public procedure AddNode(const i: Integer; const X, Y, Z: TGLfloat); overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure StructureChanged; override;
Protected procedure ContourChanged(Sender: TObject); virtual;
Protected procedure RenderTesselatedPolygon(textured: Boolean; normal: PAffineVector; invertNormals: Boolean);
Protected procedure RetrieveOutline(List: TGLPolygonList);
Private procedure SetContours(const Value: TGLContours);
Private procedure SetContoursNormal(const Value: TAffineVector);
Private procedure SetPath(i: Integer; const value: TGLContourNodes);

Properties

Published property Contours: TGLContours read FContours write SetContours;
Public property ContoursNormal: TAffineVector read FContoursNormal write SetContoursNormal;
Public property Outline: TGLPolygonList read GetOutline;
Public property Path[i:Integer]: TGLContourNodes read GetPath write SetPath;


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLMultiPolygon

Class TGLMultiPolygon

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLMultiPolygon = class(TGLMultiPolygonBase)

Description

A polygon that can have holes and multiple contours. Use the Path property to access a contour or one of the AddNode methods to add a node to a contour (contours are allocated automatically).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMultiPolygonBase
  • TGLMultiPolygon

Overview

Fields

Private FParts: TGLPolygonParts;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetParts(const value: TGLPolygonParts);

Properties

Published property Parts: TGLPolygonParts read FParts write SetParts default [ppTop, ppBottom];

Description

Fields

Private FParts: TGLPolygonParts;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetParts(const value: TGLPolygonParts);

Properties

Published property Parts: TGLPolygonParts read FParts write SetParts default [ppTop, ppBottom];


GLSysHelp v.2.1: GLS.MultiPolygon: Class TGLVectorPool

Class TGLVectorPool

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiPolygon

Declaration

type TGLVectorPool = class(TList)

Description

Page oriented pointer array, with persistent pointer target memory. In TVectorList a pointer to a vector will not be valid any more after a call to SetCapacity, which might be done implicitely during Add. The TGLVectorPool keeps memory in its original position during its whole lifetime.

Hierarchy

  • TObject
  • TList
  • TGLVectorPool

Overview

Fields

Private | FEntrySize: Integer;
Private | FPageSize: Integer;
Private | FArrSize: Integer;
Private | FUsedEntries: Integer;
Private | FAktArray: GLS.VectorGeometry.PByteArray;

Methods

Public | constructor Create(APageSize, AEntrySize: Integer);
Public | destructor Destroy; override;
Public | procedure GetNewVector(var P: Pointer);
Private | procedure CreatePage;

Description

Fields

Private FEntrySize: Integer;
Private FPageSize: Integer;

size of each entry

Private FArrSize: Integer;

number of entries per page

Private FUsedEntries: Integer;

size of one page

Private FAktArray: GLS.VectorGeometry.PByteArray;

used entries in actual page

Methods

Public constructor Create(APageSize, AEntrySize: Integer);

creates new page

Public destructor Destroy; override;
Public procedure GetNewVector(var P: Pointer);

retrieve pointer to new entry. will create new page if needed

Private procedure CreatePage;

pointer to actual page


GLSysHelp v.2.1: GLS.MultiProxy

Unit GLS.MultiProxy

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.PersistentClasses
  • GLS.Context
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Silhouette
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMultiProxyMaster |
Class TGLMultiProxyMasters |
Class TGLMultiProxy |


GLSysHelp v.2.1: GLS.MultiProxy: Class TGLMultiProxyMaster

Class TGLMultiProxyMaster

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiProxy

Declaration

type TGLMultiProxyMaster = class(TCollectionItem)

Description

MasterObject description for a MultiProxy object.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLMultiProxyMaster

Overview

Fields

Private | FMasterObject: TGLBaseSceneObject;
Private | FDistanceMin: Single;
Private | FDistanceMin2: Single;
Private | FDistanceMax: Single;
Private | FDistanceMax2: Single;
Private | FVisible: Boolean;

Methods

Public | constructor Create(Collection : TCollection); override;
Public | destructor Destroy; override;
Public | function OwnerObject: TGLMultiProxy;
Protected | function GetDisplayName: String; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange;
Protected | procedure SetDistanceMax(const val : Single);
Protected | procedure SetDistanceMin(const val : Single);
Protected | procedure SetMasterObject(const val : TGLBaseSceneObject);
Protected | procedure SetVisible(const val : Boolean);

Properties

Published | property DistanceMax : Single read FDistanceMax write SetDistanceMax;
Published | property DistanceMin : Single read FDistanceMin write SetDistanceMin;
Published | property MasterObject : TGLBaseSceneObject read FMasterObject write SetMasterObject;
Published | property Visible : Boolean read FVisible write SetVisible default True;

Description

Fields

Private FMasterObject: TGLBaseSceneObject;
Private FDistanceMin: Single;
Private FDistanceMin2: Single;
Private FDistanceMax: Single;
Private FDistanceMax2: Single;
Private FVisible: Boolean;

Methods

Public constructor Create(Collection : TCollection); override;
Public destructor Destroy; override;
Public function OwnerObject: TGLMultiProxy;
Protected function GetDisplayName: String; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange;
Protected procedure SetDistanceMax(const val : Single);
Protected procedure SetDistanceMin(const val : Single);
Protected procedure SetMasterObject(const val : TGLBaseSceneObject);
Protected procedure SetVisible(const val : Boolean);

Properties

Published property DistanceMax : Single read FDistanceMax write SetDistanceMax;

Maximum visibility distance (exclusive).

Published property DistanceMin : Single read FDistanceMin write SetDistanceMin;

Minimum visibility distance (inclusive).

Published property MasterObject : TGLBaseSceneObject read FMasterObject write SetMasterObject;

Specifies the Master object which will be proxy'ed.

Published property Visible : Boolean read FVisible write SetVisible default True;

Determines if the master object can be visible (proxy'ed). Note: the master object's distance also has to be within DistanceMin and DistanceMax.


GLSysHelp v.2.1: GLS.MultiProxy: Class TGLMultiProxyMasters

Class TGLMultiProxyMasters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiProxy

Declaration

type TGLMultiProxyMasters = class(TOwnedCollection)

Description

Collection of TGLMultiProxyMaster.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLMultiProxyMasters

Overview

Methods

Public | constructor Create(AOwner : TPersistent);
Public | function Add: TGLMultiProxyMaster; overload;
Public | function Add(master : TGLBaseSceneObject; distanceMin, distanceMax : Single) : TGLMultiProxyMaster; overload;
Protected | function GetItems(index : Integer) : TGLMultiProxyMaster;
Public | procedure EndUpdate; override;
Public | procedure Notification(AComponent: TComponent);
Public | procedure NotifyChange;
Protected | procedure SetItems(index : Integer; const val : TGLMultiProxyMaster);
Protected | procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[index:Integer]: TGLMultiProxyMaster read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner : TPersistent);
Public function Add: TGLMultiProxyMaster; overload;
Public function Add(master : TGLBaseSceneObject; distanceMin, distanceMax : Single) : TGLMultiProxyMaster; overload;
Protected function GetItems(index : Integer) : TGLMultiProxyMaster;
Public procedure EndUpdate; override;
Public procedure Notification(AComponent: TComponent);
Public procedure NotifyChange;
Protected procedure SetItems(index : Integer; const val : TGLMultiProxyMaster);
Protected procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[index:Integer]: TGLMultiProxyMaster read GetItems write SetItems;


GLSysHelp v.2.1: GLS.MultiProxy: Class TGLMultiProxy

Class TGLMultiProxy

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiProxy

Declaration

type TGLMultiProxy = class(TGLSceneObject)

Description

Multiple Proxy object. This proxy has multiple master objects, which are individually made visible depending on a distance to the camera criterion. It can be used to implement discreet level of detail directly for static objects, or objects that go through cyclic animation. For dimensionsn raycasting and silhouette purposes, the first master is used (item zero in the MasterObjects collection).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMultiProxy

Overview

Fields

Private | FMasterObjects: TGLMultiProxyMasters;
Private | FRendering: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters) : TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector : TGLVector; intersectPoint : PGLVector = nil; intersectNormal : PGLVector = nil) : Boolean; override;
Protected | function PrimaryMaster: TGLBaseSceneObject;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var rci : TGLRenderContextInfo; renderSelf, renderChildren : Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMasterObjects(const val : TGLMultiProxyMasters);

Properties

Published | property Behaviours;
Published | property Direction;
Published | property MasterObjects : TGLMultiProxyMasters read FMasterObjects write SetMasterObjects;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property PitchAngle;
Published | property Position;
Published | property RollAngle;
Published | property Scale;
Published | property ShowAxes;
Published | property TurnAngle;
Published | property Up;
Published | property Visible;

Description

Fields

Private FMasterObjects: TGLMultiProxyMasters;
Private FRendering: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters) : TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector : TGLVector; intersectPoint : PGLVector = nil; intersectNormal : PGLVector = nil) : Boolean; override;
Protected function PrimaryMaster: TGLBaseSceneObject;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var rci : TGLRenderContextInfo; renderSelf, renderChildren : Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMasterObjects(const val : TGLMultiProxyMasters);

internal use (loop protection)

Properties

Published property Behaviours;
Published property Direction;
Published property MasterObjects : TGLMultiProxyMasters read FMasterObjects write SetMasterObjects;
Published property ObjectsSorting;
Published property OnProgress;
Published property PitchAngle;
Published property Position;
Published property RollAngle;
Published property Scale;
Published property ShowAxes;
Published property TurnAngle;
Published property Up;
Published property Visible;


GLSysHelp v.2.1: GLS.MultiSampleImage

Unit GLS.MultiSampleImage

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Texture
  • GLS.Graphics
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMultisampleImage |


GLSysHelp v.2.1: GLS.MultiSampleImage: Class TGLMultisampleImage

Class TGLMultisampleImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.MultiSampleImage

Declaration

type TGLMultisampleImage = class(TGLTextureImage)

Description

No description available, ancestor TGLTextureImage description follows

Base class for texture image data. Basicly, subclasses are to be considered as different ways of getting a HBitmap (interfacing the actual source). SubClasses should be registered using RegisterGLTextureImageClass to allow proper persistence and editability in the IDE experts.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLMultisampleImage

Overview

Fields

Private | FBitmap: TGLBitmap32;
Private | FSamplesCount: Integer;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FDepth: Integer;
Private | FFixedSamplesLocation: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function GetBitmap32: TGLBitmap32; override;
Public | class function IsSelfLoading: Boolean; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetTextureTarget: TGLTextureTarget; override;
Protected | function GetWidth: Integer; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure LoadTexture(AInternalFormat: TGLInternalFormat); override;
Public | procedure ReleaseBitmap32; override;
Public | procedure SaveToFile(const fileName: string); override;
Private | procedure SetDepth(val: Integer);
Private | procedure SetFixedSamplesLocation(val: Boolean);
Private | procedure SetHeight(val: Integer);
Private | procedure SetSamplesCount(val: Integer);
Private | procedure SetWidth(val: Integer);

Properties

Published | property Depth: Integer read GetDepth write SetDepth default 0;
Published | property FixedSamplesLocation: Boolean read FFixedSamplesLocation write SetFixedSamplesLocation;
Published | property Height: Integer read GetHeight write SetHeight default 256;
Public | property NativeTextureTarget;
Published | property SamplesCount: Integer read FSamplesCount write SetSamplesCount default 0;
Published | property Width: Integer read GetWidth write SetWidth default 256;

Description

Fields

Private FBitmap: TGLBitmap32;
Private FSamplesCount: Integer;
Private FWidth: Integer;
Private FHeight: Integer;
Private FDepth: Integer;
Private FFixedSamplesLocation: Boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function GetBitmap32: TGLBitmap32; override;
Public class function IsSelfLoading: Boolean; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetTextureTarget: TGLTextureTarget; override;
Protected function GetWidth: Integer; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadFromFile(const fileName: string); override;
Public procedure LoadTexture(AInternalFormat: TGLInternalFormat); override;
Public procedure ReleaseBitmap32; override;
Public procedure SaveToFile(const fileName: string); override;
Private procedure SetDepth(val: Integer);
Private procedure SetFixedSamplesLocation(val: Boolean);
Private procedure SetHeight(val: Integer);
Private procedure SetSamplesCount(val: Integer);
Private procedure SetWidth(val: Integer);

Properties

Published property Depth: Integer read GetDepth write SetDepth default 0;
Published property FixedSamplesLocation: Boolean read FFixedSamplesLocation write SetFixedSamplesLocation;
Published property Height: Integer read GetHeight write SetHeight default 256;

Width of the blank image (for memory allocation).

Public property NativeTextureTarget;
Published property SamplesCount: Integer read FSamplesCount write SetSamplesCount default 0;
Published property Width: Integer read GetWidth write SetWidth default 256;

Width of the blank image (for memory allocation).


GLSysHelp v.2.1: GLS.Navigator

Unit GLS.Navigator

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Types
  • System.Classes
  • System.SysUtils
  • System.Math
  • Vcl.Controls
  • Vcl.Graphics
  • Vcl.Forms
  • GLS.Scene
  • GLS.SceneViewer
  • GLS.Objects
  • GLS.GeomObjects
  • GLS.Context
  • GLS.BaseClasses
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Keyboard
  • GLS.HudObjects
  • GLS.Coordinates
  • GLS.Screen
  • GLS.Material
  • GLS.Texture
  • GLS.TextureFormat
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLNavigator |
Class TGLUserInterface |
Class TGLNaviCube |

Variables

sW2: integer;
sH2: integer;

Description

Variables

sW2: integer;
sH2: integer;


GLSysHelp v.2.1: GLS.Navigator: Class TGLNavigator

Class TGLNavigator

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Navigator

Declaration

type TGLNavigator = class(TComponent)

Description

TGLNavigator is the component for moving a TGLBaseSceneObject, and all Classes based on it, this includes all the objects from the Scene Editor. The four calls to get you started is TurnHorisontal : it turns left and right. TurnVertical : it turns up and down. MoveForward : moves back and forth. FlyForward : moves back and forth in the movingobject's direction The three properties to get you started is MovingObject : The Object that you are moving. UseVirtualUp : When UseVirtualUp is set you navigate Quake style. If it isn't more like Descent. AngleLock : Allows you to block the Vertical angles. Should only be used in conjunction with UseVirtualUp. MoveUpWhenMovingForward : Changes movement from Quake to Arcade Airplane...(no tilt and flying) InvertHorizontalSteeringWhenUpsideDown : When using virtual up, and vertically rotating beyond 90 degrees, will make steering seem inverted, so we "invert" back to normal

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNavigator

Overview

Fields

Private | FObject: TGLBaseSceneObject;
Private | FVirtualRight: TGLVector;
Private | FVirtualUp: TGLCoordinates;
Private | FUseVirtualUp: boolean;
Private | FAutoUpdateObject: boolean;
Private | FMaxAngle: single;
Private | FMinAngle: single;
Private | FCurrentVAngle: single;
Private | FCurrentHAngle: single;
Private | FAngleLock: boolean;
Private | FMoveUpWhenMovingForward: boolean;
Private | FInvertHorizontalSteeringWhenUpsideDown: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function CalcRight: TGLVector;
Public | procedure FlyForward(Distance: single);
Public | procedure LoadState(Stream: TStream);
Public | procedure MoveForward(Distance: single);
Public | procedure SaveState(Stream: TStream);
Public | procedure StrafeHorizontal(Distance: single);
Public | procedure StrafeVertical(Distance: single);
Public | procedure Straighten;
Public | procedure TurnHorizontal(Angle: single);
Public | procedure TurnVertical(Angle: single);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetObject(NewObject: TGLBaseSceneObject); virtual;
Protected | procedure SetUseVirtualUp(UseIt: boolean);
Protected | procedure SetVirtualUp(Up: TGLCoordinates);

Properties

Published | property AngleLock: boolean read FAngleLock write FAngleLock default False;
Published | property AutoUpdateObject: boolean read FAutoUpdateObject write FAutoUpdateObject default False;
Public | property CurrentHAngle: single read FCurrentHAngle;
Public | property CurrentVAngle: single read FCurrentVAngle;
Published | property InvertHorizontalSteeringWhenUpsideDown: boolean read FInvertHorizontalSteeringWhenUpsideDown write FInvertHorizontalSteeringWhenUpsideDown default False;
Published | property MaxAngle: single read FMaxAngle write FMaxAngle;
Published | property MinAngle: single read FMinAngle write FMinAngle;
Published | property MoveUpWhenMovingForward: boolean read FMoveUpWhenMovingForward write FMoveUpWhenMovingForward default False;
Published | property MovingObject: TGLBaseSceneObject read FObject write SetObject;
Published | property UseVirtualUp: boolean read FUseVirtualUp write SetUseVirtualUp default False;
Published | property VirtualUp: TGLCoordinates read FVirtualUp write SetVirtualUp;

Description

Fields

Private FObject: TGLBaseSceneObject;
Private FVirtualRight: TGLVector;
Private FVirtualUp: TGLCoordinates;
Private FUseVirtualUp: boolean;
Private FAutoUpdateObject: boolean;
Private FMaxAngle: single;
Private FMinAngle: single;
Private FCurrentVAngle: single;
Private FCurrentHAngle: single;
Private FAngleLock: boolean;
Private FMoveUpWhenMovingForward: boolean;
Private FInvertHorizontalSteeringWhenUpsideDown: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function CalcRight: TGLVector;
Public procedure FlyForward(Distance: single);
Public procedure LoadState(Stream: TStream);
Public procedure MoveForward(Distance: single);
Public procedure SaveState(Stream: TStream);
Public procedure StrafeHorizontal(Distance: single);
Public procedure StrafeVertical(Distance: single);
Public procedure Straighten;
Public procedure TurnHorizontal(Angle: single);
Public procedure TurnVertical(Angle: single);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetObject(NewObject: TGLBaseSceneObject); virtual;
Protected procedure SetUseVirtualUp(UseIt: boolean);
Protected procedure SetVirtualUp(Up: TGLCoordinates);

Properties

Published property AngleLock: boolean read FAngleLock write FAngleLock default False;
Published property AutoUpdateObject: boolean read FAutoUpdateObject write FAutoUpdateObject default False;
Public property CurrentHAngle: single read FCurrentHAngle;
Public property CurrentVAngle: single read FCurrentVAngle;
Published property InvertHorizontalSteeringWhenUpsideDown: boolean read FInvertHorizontalSteeringWhenUpsideDown write FInvertHorizontalSteeringWhenUpsideDown default False;
Published property MaxAngle: single read FMaxAngle write FMaxAngle;
Published property MinAngle: single read FMinAngle write FMinAngle;
Published property MoveUpWhenMovingForward: boolean read FMoveUpWhenMovingForward write FMoveUpWhenMovingForward default False;
Published property MovingObject: TGLBaseSceneObject read FObject write SetObject;
Published property UseVirtualUp: boolean read FUseVirtualUp write SetUseVirtualUp default False;
Published property VirtualUp: TGLCoordinates read FVirtualUp write SetVirtualUp;


GLSysHelp v.2.1: GLS.Navigator: Class TGLUserInterface

Class TGLUserInterface

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Navigator

Declaration

type TGLUserInterface = class(TComponent)

Description

TGLUserInterface is the component which reads the user input and transform it into action. The four calls to get you started is MouseLookActivate : set us up the bomb. MouseLookDeActivate : defuses it. Mouselook(deltaTime: double) : handles mouse look... Should be called in the Cadencer event. (Though it works every where!) MouseUpdate : Resets mouse position so that you don't notice that the mouse is limited to the screen should be called after Mouselook. The four properties to get you started are: InvertMouse : Inverts the mouse Y axis. MouseSpeed : Also known as mouse sensitivity. GLNavigator : The Navigator which receives the user movement. GLVertNavigator : The Navigator which if set receives the vertical user movement. Used mostly for cameras....

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLUserInterface

Overview

Fields

Private | FPrevPoint: TPoint;
Private | midScreenX: integer;
Private | midScreenY: integer;
Private | FMouseActive: boolean;
Private | FMouseSpeed: single;
Private | FGLNavigator: TGLNavigator;
Private | FGLVertNavigator: TGLNavigator;
Private | FInvertMouse: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function IsMouseLookOn: boolean;
Public | function MouseLook: boolean;
Public | procedure MouseLookActivate;
Public | procedure MouseLookActiveToggle;
Public | procedure MouseLookDeactivate;
Public | procedure MouseUpdate;
Public | procedure TurnHorizontal(Angle: Double);
Public | procedure TurnVertical(Angle: Double);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure MouseInitialize;
Private | procedure SetMouseLookActive(const val: boolean);
Private | procedure setNavigator(val: TGLNavigator);
Private | procedure setVertNavigator(val: TGLNavigator);

Properties

Published | property GLNavigator: TGLNavigator read FGLNavigator write setNavigator;
Published | property GLVertNavigator: TGLNavigator read FGLVertNavigator write setVertNavigator;
Published | property InvertMouse: boolean read FInvertMouse write FInvertMouse default False;
Public | property MouseLookActive: boolean read FMouseActive write SetMouseLookActive;
Published | property MouseSpeed: single read FMouseSpeed write FMouseSpeed;

Description

Fields

Private FPrevPoint: TPoint;
Private midScreenX: integer;
Private midScreenY: integer;
Private FMouseActive: boolean;
Private FMouseSpeed: single;
Private FGLNavigator: TGLNavigator;
Private FGLVertNavigator: TGLNavigator;
Private FInvertMouse: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function IsMouseLookOn: boolean;
Public function MouseLook: boolean;
Public procedure MouseLookActivate;
Public procedure MouseLookActiveToggle;
Public procedure MouseLookDeactivate;
Public procedure MouseUpdate;
Public procedure TurnHorizontal(Angle: Double);
Public procedure TurnVertical(Angle: Double);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure MouseInitialize;
Private procedure SetMouseLookActive(const val: boolean);
Private procedure setNavigator(val: TGLNavigator);
Private procedure setVertNavigator(val: TGLNavigator);

Properties

Published property GLNavigator: TGLNavigator read FGLNavigator write setNavigator;
Published property GLVertNavigator: TGLNavigator read FGLVertNavigator write setVertNavigator;
Published property InvertMouse: boolean read FInvertMouse write FInvertMouse default False;
Public property MouseLookActive: boolean read FMouseActive write SetMouseLookActive;
Published property MouseSpeed: single read FMouseSpeed write FMouseSpeed;


GLSysHelp v.2.1: GLS.Navigator: Class TGLNaviCube

Class TGLNaviCube

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Navigator

Declaration

type TGLNaviCube = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLNaviCube

Overview

Fields

Private | FDelta: single;
Private | FFps: single;
Private | FTimer: single;
Private | FInactiveTime: single;
Private | FCube: TGLDummyCube;
Private | FSel: integer;
Private | FSelPos: TGLVector;
Private | FCam: TGLCamera;
Private | FNaviCam: TGLCamera;
Private | FHud: TGLHUDSprite;
Private | FMem: TGLMemoryViewer;
Private | FViewer: TGLSceneViewer;
Private | FReady: boolean;
Private | FMouse: boolean;
Private | FMouseRotation: boolean;
Private | FMousePos: TPoint;
Private | FPosAnimationStart: TGLVector;
Private | FPosAnimationEnd: TGLVector;

Methods

Public | constructor CreateAsChild(aParentOwner: TGLBaseSceneObject); reintroduce;
Public | procedure DoProgress(const pt: TGLProgressTimes); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: boolean); override;

Properties

Public | property ActiveMouse: boolean read FMouse write FMouse;
Public | property Camera: TGLCamera read FCam write FCam;
Public | property FPS: single read FFps write FFps;
Public | property InactiveTime: single read FInactiveTime write FInactiveTime;
Public | property SceneViewer: TGLSceneViewer read FViewer write FViewer;

Description

Fields

Private FDelta: single;
Private FFps: single;
Private FTimer: single;
Private FInactiveTime: single;
Private FCube: TGLDummyCube;
Private FSel: integer;
Private FSelPos: TGLVector;
Private FCam: TGLCamera;
Private FNaviCam: TGLCamera;
Private FHud: TGLHUDSprite;
Private FMem: TGLMemoryViewer;
Private FViewer: TGLSceneViewer;
Private FReady: boolean;
Private FMouse: boolean;
Private FMouseRotation: boolean;
Private FMousePos: TPoint;
Private FPosAnimationStart: TGLVector;
Private FPosAnimationEnd: TGLVector;

Methods

Public constructor CreateAsChild(aParentOwner: TGLBaseSceneObject); reintroduce;
Public procedure DoProgress(const pt: TGLProgressTimes); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: boolean); override;

Properties

Public property ActiveMouse: boolean read FMouse write FMouse;
Public property Camera: TGLCamera read FCam write FCam;
Public property FPS: single read FFps write FFps;
Public property InactiveTime: single read FInactiveTime write FInactiveTime;
Public property SceneViewer: TGLSceneViewer read FViewer write FViewer;


GLSysHelp v.2.1: GLS.Nodes

Unit GLS.Nodes

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.BaseClasses
  • GLS.Spline
  • GLS.Coordinates

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLNode |
Class TGLNodes |

Types

TGLNodesClass = class of TGLNodes;

Description

Types

TGLNodesClass = class of TGLNodes;


GLSysHelp v.2.1: GLS.Nodes: Class TGLNode

Class TGLNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Nodes

Declaration

type TGLNode = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNode

Overview

Fields

Private | FCoords: TGLVector;
Private | FTagObject: TObject;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Public | function AsAddress: PGLFloat;
Protected | function GetDisplayName: string; override;
Protected | function StoreCoordinate(AIndex: Integer): Boolean;
Private | function GetAsAffineVector: TAffineVector;
Private | function GetCoordinate(const Index: Integer): TGLFloat;
Public | procedure Assign(Source: TPersistent); override;
Private | procedure SetAsAffineVector(const Value: TAffineVector);
Private | procedure SetAsVector(const Value: TGLVector);
Private | procedure SetCoordinate(AIndex: Integer; AValue: TGLFloat);

Properties

Public | property AsAffineVector: TAffineVector read GetAsAffineVector write SetAsAffineVector;
Public | property AsVector: TGLVector read FCoords write SetAsVector;
Public | property TagObject: TObject read FTagObject write FTagObject;
Public | property W: TGLFloat index 3 read GetCoordinate write SetCoordinate stored StoreCoordinate;
Published | property X: TGLFloat index 0 read GetCoordinate write SetCoordinate stored StoreCoordinate;
Published | property Y: TGLFloat index 1 read GetCoordinate write SetCoordinate stored StoreCoordinate;
Published | property Z: TGLFloat index 2 read GetCoordinate write SetCoordinate stored StoreCoordinate;

Description

Fields

Private FCoords: TGLVector;
Private FTagObject: TObject;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Public function AsAddress: PGLFloat;
Protected function GetDisplayName: string; override;
Protected function StoreCoordinate(AIndex: Integer): Boolean;
Private function GetAsAffineVector: TAffineVector;
Private function GetCoordinate(const Index: Integer): TGLFloat;
Public procedure Assign(Source: TPersistent); override;
Private procedure SetAsAffineVector(const Value: TAffineVector);
Private procedure SetAsVector(const Value: TGLVector);
Private procedure SetCoordinate(AIndex: Integer; AValue: TGLFloat);

Properties

Public property AsAffineVector: TAffineVector read GetAsAffineVector write SetAsAffineVector;

The coordinates viewed as an affine vector. Assigning a value to this property will trigger notification events, if you don't want so, use DirectVector instead. The W component is automatically adjustes depending on style.

Public property AsVector: TGLVector read FCoords write SetAsVector;

The coordinates viewed as a vector. Assigning a value to this property will trigger notification events, if you don't want so, use DirectVector instead.

Public property TagObject: TObject read FTagObject write FTagObject;
Public property W: TGLFloat index 3 read GetCoordinate write SetCoordinate stored StoreCoordinate;
Published property X: TGLFloat index 0 read GetCoordinate write SetCoordinate stored StoreCoordinate;
Published property Y: TGLFloat index 1 read GetCoordinate write SetCoordinate stored StoreCoordinate;
Published property Z: TGLFloat index 2 read GetCoordinate write SetCoordinate stored StoreCoordinate;


GLSysHelp v.2.1: GLS.Nodes: Class TGLNodes

Class TGLNodes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Nodes

Declaration

type TGLNodes = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNodes

Overview

Methods

Public | constructor Create(AOwner: TPersistent; AItemClass: TCollectionItemClass = nil);
Public | function Add: TGLNode;
Public | function Barycenter: TAffineVector;
Public | function CreateCopy(AOwner: TPersistent): TGLNodes;
Public | function CreateNewCubicSpline: TCubicSpline;
Public | function FindItemID(ID: Integer): TGLNode;
Public | function First: TGLNode;
Public | function Last: TGLNode;
Public | function Normal: TAffineVector;
Public | function Vector(I: Integer): TAffineVector;
Protected | function GetItems(Index: Integer): TGLNode;
Public | procedure AddNode(const Value: TGLVector); overload;
Public | procedure AddNode(const Value: TAffineVector); overload;
Public | procedure AddNode(const Coords: TGLCustomCoordinates); overload;
Public | procedure AddNode(const X, Y, Z: TGLfloat); overload;
Public | procedure AddXYArc(XRadius, YRadius: Single; StartAngle, StopAngle: Single; NbSegments: Integer; const Center: TAffineVector);
Public | procedure EndUpdate; override;
Public | procedure GetExtents(var Min, Max: TAffineVector);
Public | procedure NotifyChange; virtual;
Public | procedure RenderTesselatedPolygon(ATextured: Boolean; ANormal: PAffineVector = nil; ASplineDivisions: Integer = 1; AInvertNormals: Boolean = False);
Public | procedure RotateAroundX(Angle: Single);
Public | procedure RotateAroundY(Angle: Single);
Public | procedure RotateAroundZ(Angle: Single);
Public | procedure Scale(const Fv: TAffineVector); overload;
Public | procedure Scale(F: Single); overload;
Public | procedure Translate(const Tv: TAffineVector);
Protected | procedure SetItems(Index: Integer; const Val: TGLNode);
Protected | procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[index:Integer]: TGLNode read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TPersistent; AItemClass: TCollectionItemClass = nil);
Public function Add: TGLNode;
Public function Barycenter: TAffineVector;

Calculates and returns the barycenter of the nodes

Public function CreateCopy(AOwner: TPersistent): TGLNodes;
Public function CreateNewCubicSpline: TCubicSpline;
Public function FindItemID(ID: Integer): TGLNode;
Public function First: TGLNode;
Public function Last: TGLNode;
Public function Normal: TAffineVector;

Computes normal based on the 1st three nodes. Returns NullVector if there are less than 3 nodes.

Public function Vector(I: Integer): TAffineVector;

Returns normalized vector Nodes[i+1]-Nodes[i]

Protected function GetItems(Index: Integer): TGLNode;
Public procedure AddNode(const Value: TGLVector); overload;
Public procedure AddNode(const Value: TAffineVector); overload;
Public procedure AddNode(const Coords: TGLCustomCoordinates); overload;

AddNode (TGLCustomCoordinates)

Public procedure AddNode(const X, Y, Z: TGLfloat); overload;
Public procedure AddXYArc(XRadius, YRadius: Single; StartAngle, StopAngle: Single; NbSegments: Integer; const Center: TAffineVector);
Public procedure EndUpdate; override;
Public procedure GetExtents(var Min, Max: TAffineVector);

Calculates the extents of the nodes (min-max for all coordinates). The returned values are also the two corners of the axis-aligned bounding box.

Public procedure NotifyChange; virtual;
Public procedure RenderTesselatedPolygon(ATextured: Boolean; ANormal: PAffineVector = nil; ASplineDivisions: Integer = 1; AInvertNormals: Boolean = False);
Public procedure RotateAroundX(Angle: Single);

Rotate nodes around Y axis by the given angle (degrees)

Public procedure RotateAroundY(Angle: Single);

Rotate nodes around Y axis by the given angle (degrees)

Public procedure RotateAroundZ(Angle: Single);

Rotate nodes around Y axis by the given angle (degrees)

Public procedure Scale(const Fv: TAffineVector); overload;

Scale all node coordinates

Public procedure Scale(F: Single); overload;

Scale all node coordinates

Public procedure Translate(const Tv: TAffineVector);

Translate all nodes

Protected procedure SetItems(Index: Integer; const Val: TGLNode);
Protected procedure Update(Item: TCollectionItem); override;

Properties

Public property Items[index:Integer]: TGLNode read GetItems write SetItems;


GLSysHelp v.2.1: GLS.ObjectManager

Unit GLS.ObjectManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • VCL.Graphics
  • VCL.Controls
  • VCL.Menus
  • GLS.Scene
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLSceneObjectEntry |
Class TGLObjectManager |

Types

PSceneObjectEntry = ˆTGLSceneObjectEntry;

Description

Types

PSceneObjectEntry = ˆTGLSceneObjectEntry;


GLSysHelp v.2.1: GLS.ObjectManager: Record TGLSceneObjectEntry

Record TGLSceneObjectEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ObjectManager

Declaration

type TGLSceneObjectEntry = record

Description

holds a relation between an scene object class, its global identification, its location in the object stock and its icon reference

Overview

Fields

Public | ObjectClass: TGLSceneObjectClass;
Public | Name: string;
Public | Category: string;
Public | Index: Integer;
Public | ImageIndex: Integer;

Description

Fields

Public ObjectClass: TGLSceneObjectClass;
Public Name: string;
Public Category: string;

type name of the object

Public Index: Integer;

category of object

Public ImageIndex: Integer;

index into "FSceneObjectList"


GLSysHelp v.2.1: GLS.ObjectManager: Class TGLObjectManager

Class TGLObjectManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ObjectManager

Declaration

type TGLObjectManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLObjectManager

Overview

Fields

Private | FSceneObjectList: TList;
Private | FObjectIcons: TImageList;
Private | FOverlayIndex: Integer;
Private | FSceneRootIndex: Integer;
Private | FCameraRootIndex: Integer;
Private | FLightsourceRootIndex: Integer;
Private | FObjectRootIndex: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function GetCategory(ASceneObject: TGLSceneObjectClass): string;
Public | function GetClassFromIndex(Index: Integer): TGLSceneObjectClass;
Public | function GetImageIndex(ASceneObject: TGLSceneObjectClass): Integer;
Protected | function FindSceneObjectClass(AObjectClass: TGLSceneObjectClass; const ASceneObject: string = ''): PSceneObjectEntry;
Public | procedure CreateDefaultObjectIcons(ResourceModule: Cardinal);
Public | procedure GetRegisteredSceneObjects(ObjectList: TStringList);
Public | procedure PopulateMenuWithRegisteredSceneObjects(AMenuItem: TMenuItem; aClickEvent: TNotifyEvent);
Public | procedure RegisterSceneObject(ASceneObject: TGLSceneObjectClass; const aName, aCategory: string; aBitmap: TBitmap); overload;
Public | procedure RegisterSceneObject(ASceneObject: TGLSceneObjectClass; const aName, aCategory: string; ResourceModule: Cardinal; ResourceName: string = ''); overload;
Public | procedure RegisterSceneObject(ASceneObject: TGLSceneObjectClass; const aName, aCategory: string); overload;
Public | procedure UnRegisterSceneObject(ASceneObject: TGLSceneObjectClass);
Protected | procedure DestroySceneObjectList;

Properties

Public | property CameraRootIndex: Integer read FCameraRootIndex;
Public | property LightsourceRootIndex: Integer read FLightsourceRootIndex;
Public | property ObjectIcons: TImageList read FObjectIcons;
Public | property ObjectRootIndex: Integer read FObjectRootIndex;
Public | property SceneRootIndex: Integer read FSceneRootIndex;

Description

Fields

Private FSceneObjectList: TList;
Private FObjectIcons: TImageList;
Private FOverlayIndex: Integer;

a list of icons for scene objects

Private FSceneRootIndex: Integer;

indices into the object icon list

Private FCameraRootIndex: Integer;

indices into the object icon list

Private FLightsourceRootIndex: Integer;

indices into the object icon list

Private FObjectRootIndex: Integer;

indices into the object icon list

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function GetCategory(ASceneObject: TGLSceneObjectClass): string;
Public function GetClassFromIndex(Index: Integer): TGLSceneObjectClass;
Public function GetImageIndex(ASceneObject: TGLSceneObjectClass): Integer;
Protected function FindSceneObjectClass(AObjectClass: TGLSceneObjectClass; const ASceneObject: string = ''): PSceneObjectEntry;
Public procedure CreateDefaultObjectIcons(ResourceModule: Cardinal);
Public procedure GetRegisteredSceneObjects(ObjectList: TStringList);
Public procedure PopulateMenuWithRegisteredSceneObjects(AMenuItem: TMenuItem; aClickEvent: TNotifyEvent);
Public procedure RegisterSceneObject(ASceneObject: TGLSceneObjectClass; const aName, aCategory: string; aBitmap: TBitmap); overload;
Public procedure RegisterSceneObject(ASceneObject: TGLSceneObjectClass; const aName, aCategory: string; ResourceModule: Cardinal; ResourceName: string = ''); overload;
Public procedure RegisterSceneObject(ASceneObject: TGLSceneObjectClass; const aName, aCategory: string); overload;

Registers a stock object and adds it to the stock object list

Public procedure UnRegisterSceneObject(ASceneObject: TGLSceneObjectClass);

Unregisters a stock object and removes it from the stock object list

Protected procedure DestroySceneObjectList;

Properties

Public property CameraRootIndex: Integer read FCameraRootIndex;
Public property LightsourceRootIndex: Integer read FLightsourceRootIndex;
Public property ObjectIcons: TImageList read FObjectIcons;
Public property ObjectRootIndex: Integer read FObjectRootIndex;
Public property SceneRootIndex: Integer read FSceneRootIndex;


GLSysHelp v.2.1: GLS.Objects

Unit GLS.Objects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Types
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.Spline
  • GLS.Scene
  • GLS.PipelineTransformation
  • GLS.Context
  • GLS.Silhouette
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.PersistentClasses
  • GLS.BaseClasses
  • GLS.Nodes
  • GLS.Coordinates
  • GLS.XOpenGL
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLVertexRec |
Class TGLDummyCube |
Class TGLPlane |
Class TGLSprite |
Class TGLPointParameters |
Class TGLPoints |
Class TGLLinesNode |
Class TGLLinesNodes |
Class TGLLineBase |
Class TGLNodedLines |
Class TGLLines |
Class TGLCube |
Class TGLQuadricObject |
Class TGLSphere |
Class TGLPolygonBase |
Class TGLSuperellipsoid |

Functions and Procedures

procedure CubeWireframeBuildList(var rci: TGLRenderContextInfo; Size: TGLFloat; Stipple: Boolean; const Color: TGLColorVector);

Types

PGLVertexRec = ˆTGLVertexRec;
TGLAngleLimit180 = -90 .. 90;
TGLAngleLimit360 = 0 .. 360;
TGLCapType = (...);
TGLCubePart = (...);
TGLCubeParts = set of TGLCubePart;
TGLLineNodesAspect = (...);
TGLLinesOption = (...);
TGLLinesOptions = set of TGLLinesOption;
TGLLineSplineMode = (...);
TGLNormalSmoothing = (...);
TGLPlaneStyle = (...);
TGLPlaneStyles = set of TGLPlaneStyle;
TGLPointStyle = (...);
TGLVisibilityDeterminationEvent = function(Sender: TObject; var rci: TGLRenderContextInfo): Boolean of object;

Constants

cDefaultPointSize: Single = 1.0;
TangentAttributeName: PAnsiChar = 'Tangent';
BinormalAttributeName: PAnsiChar = 'Binormal';

Description

Functions and Procedures

procedure CubeWireframeBuildList(var rci: TGLRenderContextInfo; Size: TGLFloat; Stipple: Boolean; const Color: TGLColorVector);

Issues for a unit-size cube stippled wireframe

Types

PGLVertexRec = ˆTGLVertexRec;
TGLAngleLimit180 = -90 .. 90;
TGLAngleLimit360 = 0 .. 360;
TGLCapType = (...);
Values
  • ctNone
  • ctCenter
  • ctFlat
TGLCubePart = (...);
Values
  • cpTop
  • cpBottom
  • cpFront
  • cpBack
  • cpLeft
  • cpRight
TGLCubeParts = set of TGLCubePart;
TGLLineNodesAspect = (...);

Possible aspects for the nodes of a TLine.

Values
  • lnaInvisible
  • lnaAxes
  • lnaCube
TGLLinesOption = (...);
Values
  • loUseNodeColorForLines
  • loColorLogicXor
TGLLinesOptions = set of TGLLinesOption;
TGLLineSplineMode = (...);

Available spline modes for a TLine.

Values
  • lsmLines
  • lsmCubicSpline
  • lsmBezierSpline
  • lsmNURBSCurve
  • lsmSegments
  • lsmLoop
TGLNormalSmoothing = (...);

Determines how and if normals are smoothed. - nsFlat : facetted look - nsSmooth : smooth look - nsNone : unlighted rendering, usefull for decla texturing

Values
  • nsFlat
  • nsSmooth
  • nsNone
TGLPlaneStyle = (...);
Values
  • psSingleQuad
  • psTileTexture
TGLPlaneStyles = set of TGLPlaneStyle;
TGLPointStyle = (...);
Values
  • psSquare
  • psRound
  • psSmooth
  • psSmoothAdditive
  • psSquareAdditive
TGLVisibilityDeterminationEvent = function(Sender: TObject; var rci: TGLRenderContextInfo): Boolean of object;

Constants

cDefaultPointSize: Single = 1.0;
TangentAttributeName: PAnsiChar = 'Tangent';
BinormalAttributeName: PAnsiChar = 'Binormal';


GLSysHelp v.2.1: GLS.Objects: Record TGLVertexRec

Record TGLVertexRec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLVertexRec = record

Description

Overview

Fields

Public | Position: TVector3f;
Public | Normal: TVector3f;
Public | Binormal: TVector3f;
Public | Tangent: TVector3f;
Public | TexCoord: TVector2f;

Description

Fields

Public Position: TVector3f;
Public Normal: TVector3f;
Public Binormal: TVector3f;
Public Tangent: TVector3f;
Public TexCoord: TVector2f;


GLSysHelp v.2.1: GLS.Objects: Class TGLDummyCube

Class TGLDummyCube

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLDummyCube = class(TGLCameraInvariantObject)

Description

A simple cube, invisible at run-time. This is a usually non-visible object -except at design-time- used for building hierarchies or groups, when some kind of joint or movement mechanism needs be described, you can use DummyCubes. DummyCube's barycenter is its children's barycenter. The DummyCube can optionnally amalgamate all its children into a single display list (see Amalgamate property).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLCameraInvariantObject
  • TGLDummyCube

Overview

Fields

Private | FCubeSize: TGLFloat;
Private | FEdgeColor: TGLColor;
Private | FVisibleAtRunTime: Boolean;
Private | FAmalgamate: Boolean;
Private | FGroupList: TGLListHandle;
Private | FOnVisibilityDetermination: TGLVisibilityDeterminationEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function BarycenterAbsolutePosition: TGLVector; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure StructureChanged; override;
Protected | procedure SetAmalgamate(const val: Boolean); inline;
Protected | procedure SetCubeSize(const val: TGLFloat); inline;
Protected | procedure SetEdgeColor(const val: TGLColor); inline;
Protected | procedure SetVisibleAtRunTime(const val: Boolean); inline;

Properties

Published | property Amalgamate: Boolean read FAmalgamate write SetAmalgamate default False;
Published | property CamInvarianceMode default cimNone;
Published | property CubeSize: TGLFloat read FCubeSize write SetCubeSize;
Published | property EdgeColor: TGLColor read FEdgeColor write SetEdgeColor;
Published | property OnVisibilityDetermination: TGLVisibilityDeterminationEvent read FOnVisibilityDetermination write FOnVisibilityDetermination;
Published | property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime default False;

Description

Fields

Private FCubeSize: TGLFloat;
Private FEdgeColor: TGLColor;
Private FVisibleAtRunTime: Boolean;
Private FAmalgamate: Boolean;
Private FGroupList: TGLListHandle;
Private FOnVisibilityDetermination: TGLVisibilityDeterminationEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function BarycenterAbsolutePosition: TGLVector; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure StructureChanged; override;
Protected procedure SetAmalgamate(const val: Boolean); inline;
Protected procedure SetCubeSize(const val: TGLFloat); inline;
Protected procedure SetEdgeColor(const val: TGLColor); inline;
Protected procedure SetVisibleAtRunTime(const val: Boolean); inline;

Properties

Published property Amalgamate: Boolean read FAmalgamate write SetAmalgamate default False;

Amalgamate the dummy's children in a single OpenGL entity. This activates a special rendering mode, which will compile the rendering of all of the dummycube's children objects into a single display list. This may provide a significant speed up in some situations, however, this means that changes to the children will be ignored until you call StructureChanged on the dummy cube. Some objects, that have their own display list management, may not be compatible with this behaviour. This will also prevents sorting and culling to operate as usual. In short, this features is best used for static, non-transparent geometry, or when the point of view won't change over a large number of frames.

Published property CamInvarianceMode default cimNone;

Camera Invariance Options. These options allow to "deactivate" sensitivity to camera, f.i. by centering the object on the camera or ignoring camera orientation.

Published property CubeSize: TGLFloat read FCubeSize write SetCubeSize;
Published property EdgeColor: TGLColor read FEdgeColor write SetEdgeColor;
Published property OnVisibilityDetermination: TGLVisibilityDeterminationEvent read FOnVisibilityDetermination write FOnVisibilityDetermination;

Event for custom visibility determination. Event handler should return True if the dummycube and its children are to be considered visible for the current render.

Published property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime default False;

If true the dummycube's edges will be visible at runtime. The default behaviour of the dummycube is to be visible at design-time only, and invisible at runtime.


GLSysHelp v.2.1: GLS.Objects: Class TGLPlane

Class TGLPlane

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLPlane = class(TGLSceneObject)

Description

A simple plane object. Note that a plane is always made of a single quad (two triangles) and the tiling is only applied to texture coordinates.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPlane

Overview

Fields

Private | FXOffset: TGLFloat;
Private | FYOffset: TGLFloat;
Private | FXScope: TGLFloat;
Private | FYScope: TGLFloat;
Private | FWidth: TGLFloat;
Private | FHeight: TGLFloat;
Private | FXTiles: Cardinal;
Private | FYTiles: Cardinal;
Private | FStyle: TGLPlaneStyles;
Private | FMesh: array of array of TGLVertexRec;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public | function PointDistance(const aPoint: TGLVector): Single;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | function ScreenRect(aBuffer: TGLSceneBuffer): TRect;
Protected | function StoreXScope: Boolean;
Protected | function StoreYScope: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetHeight(const aValue: Single);
Protected | procedure SetStyle(const val: TGLPlaneStyles);
Protected | procedure SetWidth(const aValue: Single);
Protected | procedure SetXOffset(const Value: TGLFloat);
Protected | procedure SetXScope(const Value: TGLFloat);
Protected | procedure SetXTiles(const Value: Cardinal);
Protected | procedure SetYOffset(const Value: TGLFloat);
Protected | procedure SetYScope(const Value: TGLFloat);
Protected | procedure SetYTiles(const Value: Cardinal);

Properties

Published | property Height: TGLFloat read FHeight write SetHeight;
Published | property Style: TGLPlaneStyles read FStyle write SetStyle default [psSingleQuad, psTileTexture];
Published | property Width: TGLFloat read FWidth write SetWidth;
Published | property XOffset: TGLFloat read FXOffset write SetXOffset;
Published | property XScope: TGLFloat read FXScope write SetXScope stored StoreXScope;
Published | property XTiles: Cardinal read FXTiles write SetXTiles default 1;
Published | property YOffset: TGLFloat read FYOffset write SetYOffset;
Published | property YScope: TGLFloat read FYScope write SetYScope stored StoreYScope;
Published | property YTiles: Cardinal read FYTiles write SetYTiles default 1;

Description

Fields

Private FXOffset: TGLFloat;
Private FYOffset: TGLFloat;
Private FXScope: TGLFloat;
Private FYScope: TGLFloat;
Private FWidth: TGLFloat;
Private FHeight: TGLFloat;
Private FXTiles: Cardinal;
Private FYTiles: Cardinal;
Private FStyle: TGLPlaneStyles;
Private FMesh: array of array of TGLVertexRec;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public function PointDistance(const aPoint: TGLVector): Single;

Computes the signed distance to the point. Point coordinates are expected in absolute coordinates.

Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public function ScreenRect(aBuffer: TGLSceneBuffer): TRect;

Computes the screen coordinates of the smallest rectangle encompassing the plane. Returned extents are NOT limited to any physical screen extents.

Protected function StoreXScope: Boolean;
Protected function StoreYScope: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetHeight(const aValue: Single);
Protected procedure SetStyle(const val: TGLPlaneStyles);
Protected procedure SetWidth(const aValue: Single);
Protected procedure SetXOffset(const Value: TGLFloat);
Protected procedure SetXScope(const Value: TGLFloat);
Protected procedure SetXTiles(const Value: Cardinal);
Protected procedure SetYOffset(const Value: TGLFloat);
Protected procedure SetYScope(const Value: TGLFloat);
Protected procedure SetYTiles(const Value: Cardinal);

Properties

Published property Height: TGLFloat read FHeight write SetHeight;
Published property Style: TGLPlaneStyles read FStyle write SetStyle default [psSingleQuad, psTileTexture];
Published property Width: TGLFloat read FWidth write SetWidth;
Published property XOffset: TGLFloat read FXOffset write SetXOffset;
Published property XScope: TGLFloat read FXScope write SetXScope stored StoreXScope;
Published property XTiles: Cardinal read FXTiles write SetXTiles default 1;
Published property YOffset: TGLFloat read FYOffset write SetYOffset;
Published property YScope: TGLFloat read FYScope write SetYScope stored StoreYScope;
Published property YTiles: Cardinal read FYTiles write SetYTiles default 1;


GLSysHelp v.2.1: GLS.Objects: Class TGLSprite

Class TGLSprite

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLSprite = class(TGLSceneObject)

Description

A rectangular area, perspective projected, but always facing the camera. A TGLSprite is perspective projected and as such is scaled with distance, if you want a 2D sprite that does not get scaled, see TGLHUDSprite.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLSprite

Overview

Fields

Private | FWidth: TGLFloat;
Private | FHeight: TGLFloat;
Private | FRotation: TGLFloat;
Private | FAlphaChannel: Single;
Private | FMirrorU: Boolean;
Private | FMirrorV: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected | function StoreAlphaChannel: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure SetSize(const Width, Height: TGLFloat);
Public | procedure SetSquareSize(const Size: TGLFloat);
Protected | procedure SetAlphaChannel(const val: Single);
Protected | procedure SetHeight(const val: TGLFloat);
Protected | procedure SetMirrorU(const val: Boolean);
Protected | procedure SetMirrorV(const val: Boolean);
Protected | procedure SetRotation(const val: TGLFloat);
Protected | procedure SetWidth(const val: TGLFloat);

Properties

Published | property AlphaChannel: Single read FAlphaChannel write SetAlphaChannel stored StoreAlphaChannel;
Published | property Height: TGLFloat read FHeight write SetHeight;
Published | property MirrorU: Boolean read FMirrorU write SetMirrorU default False;
Published | property MirrorV: Boolean read FMirrorV write SetMirrorV default False;
Published | property Rotation: TGLFloat read FRotation write SetRotation;
Published | property Width: TGLFloat read FWidth write SetWidth;

Description

Fields

Private FWidth: TGLFloat;
Private FHeight: TGLFloat;
Private FRotation: TGLFloat;
Private FAlphaChannel: Single;
Private FMirrorU: Boolean;
Private FMirrorV: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected function StoreAlphaChannel: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure SetSize(const Width, Height: TGLFloat);
Public procedure SetSquareSize(const Size: TGLFloat);

Set width and height to "size"

Protected procedure SetAlphaChannel(const val: Single);
Protected procedure SetHeight(const val: TGLFloat);
Protected procedure SetMirrorU(const val: Boolean);
Protected procedure SetMirrorV(const val: Boolean);
Protected procedure SetRotation(const val: TGLFloat);
Protected procedure SetWidth(const val: TGLFloat);

Properties

Published property AlphaChannel: Single read FAlphaChannel write SetAlphaChannel stored StoreAlphaChannel;

If different from 1, this value will replace that of Diffuse.Alpha

Published property Height: TGLFloat read FHeight write SetHeight;

Sprite Height in 3D world units.

Published property MirrorU: Boolean read FMirrorU write SetMirrorU default False;

Reverses the texture coordinates in the U and V direction to mirror the texture.

Published property MirrorV: Boolean read FMirrorV write SetMirrorV default False;
Published property Rotation: TGLFloat read FRotation write SetRotation;

This the ON-SCREEN rotation of the sprite. Rotatation=0 is handled faster.

Published property Width: TGLFloat read FWidth write SetWidth;

Sprite Width in 3D world units.


GLSysHelp v.2.1: GLS.Objects: Class TGLPointParameters

Class TGLPointParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLPointParameters = class(TGLUpdateAbleObject)

Description

Point parameters as in ARB_point_parameters. Make sure to read the ARB_point_parameters spec if you want to understand what each parameter does.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLPointParameters

Overview

Fields

Private | FEnabled: Boolean;
Private | FMinSize: Single;
Private | FMaxSize: Single;
Private | FFadeTresholdSize: Single;
Private | FDistanceAttenuation: TGLCoordinates;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | procedure Apply;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure UnApply;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadData(Stream: TStream);
Protected | procedure SetDistanceAttenuation(const val: TGLCoordinates);
Protected | procedure SetEnabled(const val: Boolean);
Protected | procedure SetFadeTresholdSize(const val: Single);
Protected | procedure SetMaxSize(const val: Single);
Protected | procedure SetMinSize(const val: Single);
Protected | procedure WriteData(Stream: TStream);

Properties

Published | property DistanceAttenuation: TGLCoordinates read FDistanceAttenuation write SetDistanceAttenuation;
Published | property Enabled: Boolean read FEnabled write SetEnabled default False;
Published | property FadeTresholdSize: Single read FFadeTresholdSize write SetFadeTresholdSize stored False;
Published | property MaxSize: Single read FMaxSize write SetMaxSize stored False;
Published | property MinSize: Single read FMinSize write SetMinSize stored False;

Description

Fields

Private FEnabled: Boolean;
Private FMinSize: Single;
Private FMaxSize: Single;
Private FFadeTresholdSize: Single;
Private FDistanceAttenuation: TGLCoordinates;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public procedure Apply;
Public procedure Assign(Source: TPersistent); override;
Public procedure UnApply;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadData(Stream: TStream);
Protected procedure SetDistanceAttenuation(const val: TGLCoordinates);
Protected procedure SetEnabled(const val: Boolean);
Protected procedure SetFadeTresholdSize(const val: Single);
Protected procedure SetMaxSize(const val: Single);
Protected procedure SetMinSize(const val: Single);
Protected procedure WriteData(Stream: TStream);

Properties

Published property DistanceAttenuation: TGLCoordinates read FDistanceAttenuation write SetDistanceAttenuation;

Components XYZ are for constant, linear and quadratic attenuation.

Published property Enabled: Boolean read FEnabled write SetEnabled default False;
Published property FadeTresholdSize: Single read FFadeTresholdSize write SetFadeTresholdSize stored False;
Published property MaxSize: Single read FMaxSize write SetMaxSize stored False;
Published property MinSize: Single read FMinSize write SetMinSize stored False;


GLSysHelp v.2.1: GLS.Objects: Class TGLPoints

Class TGLPoints

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLPoints = class(TGLImmaterialSceneObject)

Description

Renders a set of non-transparent colored points. The points positions and their color are defined through the Positions and Colors properties

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLPoints

Overview

Fields

Private | FPositions: TAffineVectorList;
Private | FColors: TVectorList;
Private | FSize: Single;
Private | FStyle: TGLPointStyle;
Private | FPointParameters: TGLPointParameters;
Private | FStatic: Boolean;
Private | FNoZWrite: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreSize: Boolean; inline;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetColors(const val: TVectorList);
Protected | procedure SetNoZWrite(const val: Boolean);
Protected | procedure SetPointParameters(const val: TGLPointParameters);
Protected | procedure SetPositions(const val: TAffineVectorList); inline;
Protected | procedure SetSize(const val: Single);
Protected | procedure SetStatic(const val: Boolean);
Protected | procedure SetStyle(const val: TGLPointStyle);

Properties

Public | property Colors: TVectorList read FColors write SetColors;
Published | property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;
Published | property PointParameters: TGLPointParameters read FPointParameters write SetPointParameters;
Public | property Positions: TAffineVectorList read FPositions write SetPositions;
Published | property Size: Single read FSize write SetSize stored StoreSize;
Published | property Static: Boolean read FStatic write SetStatic;
Published | property Style: TGLPointStyle read FStyle write SetStyle default psSquare;

Description

Fields

Private FPositions: TAffineVectorList;
Private FColors: TVectorList;
Private FSize: Single;
Private FStyle: TGLPointStyle;
Private FPointParameters: TGLPointParameters;
Private FStatic: Boolean;
Private FNoZWrite: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreSize: Boolean; inline;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetColors(const val: TVectorList);
Protected procedure SetNoZWrite(const val: Boolean);
Protected procedure SetPointParameters(const val: TGLPointParameters);
Protected procedure SetPositions(const val: TAffineVectorList); inline;
Protected procedure SetSize(const val: Single);
Protected procedure SetStatic(const val: Boolean);
Protected procedure SetStyle(const val: TGLPointStyle);

Properties

Public property Colors: TVectorList read FColors write SetColors;

Defines the points colors: if empty, point color will be opaque white if contains a single color, all points will use that color if contains N colors, the first N points (at max) will be rendered using the corresponding colors

Published property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;

If true points do not write their Z to the depth buffer.

Published property PointParameters: TGLPointParameters read FPointParameters write SetPointParameters;

Point parameters as of ARB_point_parameters. Allows to vary the size and transparency of points depending on their distance to the observer.

Public property Positions: TAffineVectorList read FPositions write SetPositions;

Points positions. If empty, a single point is assumed at (0, 0, 0)

Published property Size: Single read FSize write SetSize stored StoreSize;

Point size, all points have a fixed size.

Published property Static: Boolean read FStatic write SetStatic;

Tells the component if point coordinates are static. If static, changes to the positions should be notified via an explicit StructureChanged call, or may not refresh. Static sets of points may render faster than dynamic ones.

Published property Style: TGLPointStyle read FStyle write SetStyle default psSquare;

Points style.


GLSysHelp v.2.1: GLS.Objects: Class TGLLinesNode

Class TGLLinesNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLLinesNode = class(TGLNode)

Description

Specialized Node for use in a TGLLines objects. Adds a Color property (TGLColor) }

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNode
  • TGLLinesNode

Overview

Fields

Private FColor: TGLColor;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function StoreColor: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure OnColorChange(Sender: TObject);
Protected | procedure SetColor(const val: TGLColor);

Properties

Published property Color: TGLColor read FColor write SetColor stored StoreColor;

Description

Fields

Private FColor: TGLColor;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function StoreColor: Boolean;
Public procedure Assign(Source: TPersistent); override;
Protected procedure OnColorChange(Sender: TObject);
Protected procedure SetColor(const val: TGLColor);

Properties

Published property Color: TGLColor read FColor write SetColor stored StoreColor;

The node color. Can also defined the line color (interpolated between nodes) if loUseNodeColorForLines is set (in TGLLines).


GLSysHelp v.2.1: GLS.Objects: Class TGLLinesNodes

Class TGLLinesNodes

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLLinesNodes = class(TGLNodes)

Description

Specialized collection for Nodes in a TGLLines objects. Stores TGLLinesNode items

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLNodes
  • TGLLinesNodes

Overview

Methods

Public | constructor Create(AOwner: TComponent); overload;
Public | procedure NotifyChange; override;

Description

Methods

Public constructor Create(AOwner: TComponent); overload;
Public procedure NotifyChange; override;


GLSysHelp v.2.1: GLS.Objects: Class TGLLineBase

Class TGLLineBase

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLLineBase = class(TGLImmaterialSceneObject)

Description

Base class for line objects. Introduces line style properties (width, color...)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLLineBase

Overview

Fields

Private | FLineColor: TGLColor;
Private | FLinePattern: TGLushort;
Private | FLineWidth: Single;
Private | FAntiAliased: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreLineWidth: Boolean; inline;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure SetAntiAliased(const val: Boolean);
Protected | procedure SetLineColor(const Value: TGLColor);
Protected | procedure SetLinePattern(const Value: TGLushort);
Protected | procedure SetLineWidth(const val: Single);
Protected | procedure SetupLineStyle(var rci: TGLRenderContextInfo);

Properties

Published | property AntiAliased: Boolean read FAntiAliased write SetAntiAliased default False;
Published | property LineColor: TGLColor read FLineColor write SetLineColor;
Published | property LinePattern: TGLushort read FLinePattern write SetLinePattern default $FFFF;
Published | property LineWidth: Single read FLineWidth write SetLineWidth stored StoreLineWidth;
Published | property Visible;

Description

Fields

Private FLineColor: TGLColor;
Private FLinePattern: TGLushort;
Private FLineWidth: Single;
Private FAntiAliased: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreLineWidth: Boolean; inline;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure SetAntiAliased(const val: Boolean);
Protected procedure SetLineColor(const Value: TGLColor);
Protected procedure SetLinePattern(const Value: TGLushort);
Protected procedure SetLineWidth(const val: Single);
Protected procedure SetupLineStyle(var rci: TGLRenderContextInfo);

Setup OpenGL states according to line style. You must call RestoreLineStyle after drawing your lines. You may use nested calls with SetupLineStyle/RestoreLineStyle

Properties

Published property AntiAliased: Boolean read FAntiAliased write SetAntiAliased default False;

Indicates if OpenGL should smooth line edges. Smoothed lines looks better but are poorly implemented in most OpenGL drivers and take *lots* of rendering time

Published property LineColor: TGLColor read FLineColor write SetLineColor;

Default color of the lines.

Published property LinePattern: TGLushort read FLinePattern write SetLinePattern default $FFFF;

Bitwise line pattern. For instance $FFFF (65535) is a white line (stipple disabled), $0000 is a black line, $CCCC is the stipple used in axes and dummycube, etc.

Published property LineWidth: Single read FLineWidth write SetLineWidth stored StoreLineWidth;

Default width of the lines.

Published property Visible;


GLSysHelp v.2.1: GLS.Objects: Class TGLNodedLines

Class TGLNodedLines

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLNodedLines = class(TGLLineBase)

Description

Class that defines lines via a series of nodes. Base class, does not render anything

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLLineBase
  • TGLNodedLines

Overview

Fields

Private | FNodes: TGLLinesNodes;
Private | FNodesAspect: TGLLineNodesAspect;
Private | FNodeColor: TGLColor;
Private | FNodeSize: Single;
Private | FOldNodeColor: TGLColorVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected | function StoreNodeSize: Boolean;
Public | procedure AddNode(const Value: TGLVector); overload;
Public | procedure AddNode(const coords: TGLCoordinates); overload;
Public | procedure AddNode(const X, Y, Z: TGLFloat); overload;
Public | procedure AddNode(const Value: TAffineVector); overload;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure DrawNode(var rci: TGLRenderContextInfo; X, Y, Z: Single; Color: TGLColor);
Protected | procedure OnNodeColorChanged(Sender: TObject);
Protected | procedure SetNodeColor(const Value: TGLColor);
Protected | procedure SetNodes(const aNodes: TGLLinesNodes);
Protected | procedure SetNodesAspect(const Value: TGLLineNodesAspect);
Protected | procedure SetNodeSize(const val: Single);

Properties

Published | property NodeColor: TGLColor read FNodeColor write SetNodeColor;
Published | property Nodes: TGLLinesNodes read FNodes write SetNodes;
Published | property NodesAspect: TGLLineNodesAspect read FNodesAspect write SetNodesAspect default lnaAxes;
Published | property NodeSize: Single read FNodeSize write SetNodeSize stored StoreNodeSize;

Description

Fields

Private FNodes: TGLLinesNodes;
Private FNodesAspect: TGLLineNodesAspect;
Private FNodeColor: TGLColor;
Private FNodeSize: Single;
Private FOldNodeColor: TGLColorVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected function StoreNodeSize: Boolean;
Public procedure AddNode(const Value: TGLVector); overload;
Public procedure AddNode(const coords: TGLCoordinates); overload;
Public procedure AddNode(const X, Y, Z: TGLFloat); overload;
Public procedure AddNode(const Value: TAffineVector); overload;
Public procedure Assign(Source: TPersistent); override;
Protected procedure DrawNode(var rci: TGLRenderContextInfo; X, Y, Z: Single; Color: TGLColor);
Protected procedure OnNodeColorChanged(Sender: TObject);
Protected procedure SetNodeColor(const Value: TGLColor);
Protected procedure SetNodes(const aNodes: TGLLinesNodes);
Protected procedure SetNodesAspect(const Value: TGLLineNodesAspect);
Protected procedure SetNodeSize(const val: Single);

Properties

Published property NodeColor: TGLColor read FNodeColor write SetNodeColor;

Default color for nodes. lnaInvisible and lnaAxes ignore this setting

Published property Nodes: TGLLinesNodes read FNodes write SetNodes;

The nodes list.

Published property NodesAspect: TGLLineNodesAspect read FNodesAspect write SetNodesAspect default lnaAxes;

Default aspect of line nodes. May help you materialize nodes, segments and control points.

Published property NodeSize: Single read FNodeSize write SetNodeSize stored StoreNodeSize;

Size for the various node aspects.


GLSysHelp v.2.1: GLS.Objects: Class TGLLines

Class TGLLines

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLLines = class(TGLNodedLines)

Description

Set of 3D line segments. You define a 3D Line by adding its nodes in the "Nodes" property. The line may be rendered as a set of segment or as a curve (nodes then act as spline control points). Alternatively, you can also use it to render a set of spacial nodes (points in space), just make the lines transparent and the nodes visible by picking the node aspect that suits you.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLLineBase
  • TGLNodedLines
  • TGLLines

Overview

Fields

Private | FDivision: Integer;
Private | FSplineMode: TGLLineSplineMode;
Private | FOptions: TGLLinesOptions;
Private | FNURBSOrder: Integer;
Private | FNURBSTolerance: Single;
Private | FNURBSKnots: TSingleList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetDivision(const Value: Integer);
Protected | procedure SetNURBSOrder(const val: Integer);
Protected | procedure SetNURBSTolerance(const val: Single);
Protected | procedure SetOptions(const val: TGLLinesOptions);
Protected | procedure SetSplineMode(const val: TGLLineSplineMode);

Properties

Published | property Division: Integer read FDivision write SetDivision default 10;
Public | property NURBSKnots: TSingleList read FNURBSKnots;
Public | property NURBSOrder: Integer read FNURBSOrder write SetNURBSOrder;
Public | property NURBSTolerance: Single read FNURBSTolerance write SetNURBSTolerance;
Published | property Options: TGLLinesOptions read FOptions write SetOptions;
Published | property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode default lsmLines;

Description

Fields

Private FDivision: Integer;
Private FSplineMode: TGLLineSplineMode;
Private FOptions: TGLLinesOptions;
Private FNURBSOrder: Integer;
Private FNURBSTolerance: Single;
Private FNURBSKnots: TSingleList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetDivision(const Value: Integer);
Protected procedure SetNURBSOrder(const val: Integer);
Protected procedure SetNURBSTolerance(const val: Single);
Protected procedure SetOptions(const val: TGLLinesOptions);
Protected procedure SetSplineMode(const val: TGLLineSplineMode);

Properties

Published property Division: Integer read FDivision write SetDivision default 10;

Number of divisions for each segment in spline modes. Minimum 1 (disabled), ignored in lsmLines mode.

Public property NURBSKnots: TSingleList read FNURBSKnots;
Public property NURBSOrder: Integer read FNURBSOrder write SetNURBSOrder;
Public property NURBSTolerance: Single read FNURBSTolerance write SetNURBSTolerance;
Published property Options: TGLLinesOptions read FOptions write SetOptions;

Rendering options for the line. loUseNodeColorForLines: if set lines will be drawn using node colors (and color interpolation between nodes), if not, LineColor will be used (single color). loColorLogicXor: enable logic operation for color of XOR type.

Published property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode default lsmLines;

Default spline drawing mode.


GLSysHelp v.2.1: GLS.Objects: Class TGLCube

Class TGLCube

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLCube = class(TGLSceneObject)

Description

A simple cube object. This cube use the same material for each of its faces, ie. all faces look the same. If you want a multi-material cube, use a mesh in conjunction with a TGLFreeForm and a material library. Ref: https://mathworld.wolfram.com/Cube.html

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLCube

Overview

Fields

Private | FCubeSize: TAffineVector;
Private | FParts: TGLCubeParts;
Private | FNormalDirection: TGLNormalDirection;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Private | function GetCubeWHD(const Index: Integer): TGLFloat; inline;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadData(Stream: TStream); inline;
Protected | procedure WriteData(Stream: TStream); inline;
Private | procedure SetCubeWHD(Index: Integer; aValue: TGLFloat); inline;
Private | procedure SetNormalDirection(aValue: TGLNormalDirection); inline;
Private | procedure SetParts(aValue: TGLCubeParts); inline;

Properties

Published | property CubeDepth: TGLFloat index 2 read GetCubeWHD write SetCubeWHD stored False;
Published | property CubeHeight: TGLFloat index 1 read GetCubeWHD write SetCubeWHD stored False;
Published | property CubeWidth: TGLFloat index 0 read GetCubeWHD write SetCubeWHD stored False;
Published | property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published | property Parts: TGLCubeParts read FParts write SetParts default [cpTop, cpBottom, cpFront, cpBack, cpLeft, cpRight];

Description

Fields

Private FCubeSize: TAffineVector;
Private FParts: TGLCubeParts;
Private FNormalDirection: TGLNormalDirection;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Private function GetCubeWHD(const Index: Integer): TGLFloat; inline;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadData(Stream: TStream); inline;
Protected procedure WriteData(Stream: TStream); inline;
Private procedure SetCubeWHD(Index: Integer; aValue: TGLFloat); inline;
Private procedure SetNormalDirection(aValue: TGLNormalDirection); inline;
Private procedure SetParts(aValue: TGLCubeParts); inline;

Properties

Published property CubeDepth: TGLFloat index 2 read GetCubeWHD write SetCubeWHD stored False;
Published property CubeHeight: TGLFloat index 1 read GetCubeWHD write SetCubeWHD stored False;
Published property CubeWidth: TGLFloat index 0 read GetCubeWHD write SetCubeWHD stored False;
Published property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published property Parts: TGLCubeParts read FParts write SetParts default [cpTop, cpBottom, cpFront, cpBack, cpLeft, cpRight];


GLSysHelp v.2.1: GLS.Objects: Class TGLQuadricObject

Class TGLQuadricObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLQuadricObject = class(TGLSceneObject)

Description

Base class for quadric objects. Introduces some basic Quadric interaction functions (the actual quadric math is part of the GLU library).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject

Overview

Fields

Private | FNormals: TGLNormalSmoothing;
Private | FNormalDirection: TGLNormalDirection;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetInvertedQuadricOrientation(quadric: PGLUquadricObj);
Protected | procedure SetNormalDirection(aValue: TGLNormalDirection);
Protected | procedure SetNormalQuadricOrientation(quadric: PGLUquadricObj);
Protected | procedure SetNormals(aValue: TGLNormalSmoothing);
Protected | procedure SetupQuadricParams(quadric: PGLUquadricObj);

Properties

Published | property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published | property Normals: TGLNormalSmoothing read FNormals write SetNormals default nsSmooth;

Description

Fields

Private FNormals: TGLNormalSmoothing;
Private FNormalDirection: TGLNormalDirection;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetInvertedQuadricOrientation(quadric: PGLUquadricObj);
Protected procedure SetNormalDirection(aValue: TGLNormalDirection);
Protected procedure SetNormalQuadricOrientation(quadric: PGLUquadricObj);
Protected procedure SetNormals(aValue: TGLNormalSmoothing);
Protected procedure SetupQuadricParams(quadric: PGLUquadricObj);

Properties

Published property NormalDirection: TGLNormalDirection read FNormalDirection write SetNormalDirection default ndOutside;
Published property Normals: TGLNormalSmoothing read FNormals write SetNormals default nsSmooth;


GLSysHelp v.2.1: GLS.Objects: Class TGLSphere

Class TGLSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLSphere = class(TGLQuadricObject)

Description

A sphere object. The sphere can have to and bottom caps, as well as being just a slice of sphere. Ref: https://mathworld.wolfram.com/Sphere.html Ref: https://mathworld.wolfram.com/GeodesicDome.html

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLSphere

Overview

Fields

Private | FRadius: TGLFloat;
Private | FSlices: TGLInt;
Private | FStacks: TGLInt;
Private | FTop: TGLAngleLimit180;
Private | FBottom: TGLAngleLimit180;
Private | FStart: TGLAngleLimit360;
Private | FStop: TGLAngleLimit360;
Private | FTopCap: TGLCapType;
Private | FBottomCap: TGLCapType;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Private | procedure SetBottom(aValue: TGLAngleLimit180);
Private | procedure SetBottomCap(aValue: TGLCapType);
Private | procedure SetRadius(const aValue: TGLFloat);
Private | procedure SetSlices(aValue: TGLInt);
Private | procedure SetStacks(aValue: TGLInt);
Private | procedure SetStart(aValue: TGLAngleLimit360);
Private | procedure SetStop(aValue: TGLAngleLimit360);
Private | procedure SetTop(aValue: TGLAngleLimit180);
Private | procedure SetTopCap(aValue: TGLCapType);

Properties

Published | property Bottom: TGLAngleLimit180 read FBottom write SetBottom default -90;
Published | property BottomCap: TGLCapType read FBottomCap write SetBottomCap default ctNone;
Published | property Radius: TGLFloat read FRadius write SetRadius;
Published | property Slices: TGLInt read FSlices write SetSlices default 16;
Published | property Stacks: TGLInt read FStacks write SetStacks default 16;
Published | property Start: TGLAngleLimit360 read FStart write SetStart default 0;
Published | property Stop: TGLAngleLimit360 read FStop write SetStop default 360;
Published | property Top: TGLAngleLimit180 read FTop write SetTop default 90;
Published | property TopCap: TGLCapType read FTopCap write SetTopCap default ctNone;

Description

Fields

Private FRadius: TGLFloat;
Private FSlices: TGLInt;
Private FStacks: TGLInt;
Private FTop: TGLAngleLimit180;
Private FBottom: TGLAngleLimit180;
Private FStart: TGLAngleLimit360;
Private FStop: TGLAngleLimit360;
Private FTopCap: TGLCapType;
Private FBottomCap: TGLCapType;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Private procedure SetBottom(aValue: TGLAngleLimit180);
Private procedure SetBottomCap(aValue: TGLCapType);
Private procedure SetRadius(const aValue: TGLFloat);
Private procedure SetSlices(aValue: TGLInt);
Private procedure SetStacks(aValue: TGLInt);
Private procedure SetStart(aValue: TGLAngleLimit360);
Private procedure SetStop(aValue: TGLAngleLimit360);
Private procedure SetTop(aValue: TGLAngleLimit180);
Private procedure SetTopCap(aValue: TGLCapType);

Properties

Published property Bottom: TGLAngleLimit180 read FBottom write SetBottom default -90;
Published property BottomCap: TGLCapType read FBottomCap write SetBottomCap default ctNone;
Published property Radius: TGLFloat read FRadius write SetRadius;
Published property Slices: TGLInt read FSlices write SetSlices default 16;
Published property Stacks: TGLInt read FStacks write SetStacks default 16;
Published property Start: TGLAngleLimit360 read FStart write SetStart default 0;
Published property Stop: TGLAngleLimit360 read FStop write SetStop default 360;
Published property Top: TGLAngleLimit180 read FTop write SetTop default 90;
Published property TopCap: TGLCapType read FTopCap write SetTopCap default ctNone;


GLSysHelp v.2.1: GLS.Objects: Class TGLPolygonBase

Class TGLPolygonBase

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLPolygonBase = class(TGLSceneObject)

Description

Base class for objects based on a polygon

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPolygonBase

Overview

Fields

Private | FDivision: Integer;
Private | FSplineMode: TGLLineSplineMode;
Protected | FNodes: TGLNodes;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure AddNode(const X, Y, Z: TGLFloat); overload;
Public | procedure AddNode(const coords: TGLCoordinates); overload;
Public | procedure AddNode(const Value: TAffineVector); overload;
Public | procedure AddNode(const Value: TGLVector); overload;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure CreateNodes; dynamic;
Protected | procedure SetDivision(const Value: Integer);
Protected | procedure SetNodes(const aNodes: TGLNodes);
Protected | procedure SetSplineMode(const val: TGLLineSplineMode);

Properties

Published | property Division: Integer read FDivision write SetDivision default 10;
Published | property Nodes: TGLNodes read FNodes write SetNodes;
Published | property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode default lsmLines;

Description

Fields

Private FDivision: Integer;
Private FSplineMode: TGLLineSplineMode;
Protected FNodes: TGLNodes;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure AddNode(const X, Y, Z: TGLFloat); overload;
Public procedure AddNode(const coords: TGLCoordinates); overload;
Public procedure AddNode(const Value: TAffineVector); overload;
Public procedure AddNode(const Value: TGLVector); overload;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure CreateNodes; dynamic;
Protected procedure SetDivision(const Value: Integer);
Protected procedure SetNodes(const aNodes: TGLNodes);
Protected procedure SetSplineMode(const val: TGLLineSplineMode);

Properties

Published property Division: Integer read FDivision write SetDivision default 10;

Number of divisions for each segment in spline modes. Minimum 1 (disabled), ignored in lsmLines mode.

Published property Nodes: TGLNodes read FNodes write SetNodes;

The nodes list.

Published property SplineMode: TGLLineSplineMode read FSplineMode write SetSplineMode default lsmLines;

Default spline drawing mode. This mode is used only for the curve, not for the rotation path.


GLSysHelp v.2.1: GLS.Objects: Class TGLSuperellipsoid

Class TGLSuperellipsoid

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Objects

Declaration

type TGLSuperellipsoid = class(TGLQuadricObject)

Description

A Superellipsoid object. The Superellipsoid can have top and bottom caps, as well as being just a slice of Superellipsoid. Ref: https://mathworld.wolfram.com/Superellipse.html

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLQuadricObject
  • TGLSuperellipsoid

Overview

Fields

Private | FRadius: TGLFloat;
Private | FVCurve: TGLFloat;
Private | FHCurve: TGLFloat;
Private | FSlices: TGLInt;
Private | FStacks: TGLInt;
Private | FTop: TGLAngleLimit180;
Private | FBottom: TGLAngleLimit180;
Private | FStart: TGLAngleLimit360;
Private | FStop: TGLAngleLimit360;
Private | FTopCap: TGLCapType;
Private | FBottomCap: TGLCapType;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Private | procedure SetBottom(aValue: TGLAngleLimit180);
Private | procedure SetBottomCap(aValue: TGLCapType);
Private | procedure SetHCurve(const aValue: TGLFloat);
Private | procedure SetRadius(const aValue: TGLFloat);
Private | procedure SetSlices(aValue: TGLInt);
Private | procedure SetStacks(aValue: TGLInt);
Private | procedure SetStart(aValue: TGLAngleLimit360);
Private | procedure SetStop(aValue: TGLAngleLimit360);
Private | procedure SetTop(aValue: TGLAngleLimit180);
Private | procedure SetTopCap(aValue: TGLCapType);
Private | procedure SetVCurve(const aValue: TGLFloat);

Properties

Published | property Bottom: TGLAngleLimit180 read FBottom write SetBottom default -90;
Published | property BottomCap: TGLCapType read FBottomCap write SetBottomCap default ctNone;
Published | property HCurve: TGLFloat read FHCurve write SetHCurve;
Published | property Radius: TGLFloat read FRadius write SetRadius;
Published | property Slices: TGLInt read FSlices write SetSlices default 16;
Published | property Stacks: TGLInt read FStacks write SetStacks default 16;
Published | property Start: TGLAngleLimit360 read FStart write SetStart default 0;
Published | property Stop: TGLAngleLimit360 read FStop write SetStop default 360;
Published | property Top: TGLAngleLimit180 read FTop write SetTop default 90;
Published | property TopCap: TGLCapType read FTopCap write SetTopCap default ctNone;
Published | property VCurve: TGLFloat read FVCurve write SetVCurve;

Description

Fields

Private FRadius: TGLFloat;
Private FVCurve: TGLFloat;
Private FHCurve: TGLFloat;
Private FSlices: TGLInt;
Private FStacks: TGLInt;
Private FTop: TGLAngleLimit180;
Private FBottom: TGLAngleLimit180;
Private FStart: TGLAngleLimit360;
Private FStop: TGLAngleLimit360;
Private FTopCap: TGLCapType;
Private FBottomCap: TGLCapType;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters : TGLSilhouetteParameters): TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil) : Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Private procedure SetBottom(aValue: TGLAngleLimit180);
Private procedure SetBottomCap(aValue: TGLCapType);
Private procedure SetHCurve(const aValue: TGLFloat);
Private procedure SetRadius(const aValue: TGLFloat);
Private procedure SetSlices(aValue: TGLInt);
Private procedure SetStacks(aValue: TGLInt);
Private procedure SetStart(aValue: TGLAngleLimit360);
Private procedure SetStop(aValue: TGLAngleLimit360);
Private procedure SetTop(aValue: TGLAngleLimit180);
Private procedure SetTopCap(aValue: TGLCapType);
Private procedure SetVCurve(const aValue: TGLFloat);

Properties

Published property Bottom: TGLAngleLimit180 read FBottom write SetBottom default -90;
Published property BottomCap: TGLCapType read FBottomCap write SetBottomCap default ctNone;
Published property HCurve: TGLFloat read FHCurve write SetHCurve;
Published property Radius: TGLFloat read FRadius write SetRadius;
Published property Slices: TGLInt read FSlices write SetSlices default 16;
Published property Stacks: TGLInt read FStacks write SetStacks default 16;
Published property Start: TGLAngleLimit360 read FStart write SetStart default 0;
Published property Stop: TGLAngleLimit360 read FStop write SetStop default 360;
Published property Top: TGLAngleLimit180 read FTop write SetTop default 90;
Published property TopCap: TGLCapType read FTopCap write SetTopCap default ctNone;
Published property VCurve: TGLFloat read FVCurve write SetVCurve;


GLSysHelp v.2.1: GLS.Octree

Unit GLS.Octree

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Math
  • System.Classes
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.GeometryBB
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TOctreeTriangleInfo |
Record TOctreeNode |
Class TGLOctree |

Types

POctreeNode = ˆTOctreeNode;
POctreeTriangleInfo = ˆTOctreeTriangleInfo;
TProcAffineAffineAffine = procedure(V1, V2, V3: TAffineFLTVector) of object;
TProcInt = procedure(I: Integer) of object;

Description

Types

POctreeNode = ˆTOctreeNode;
POctreeTriangleInfo = ˆTOctreeTriangleInfo;

Stores information about an intersected triangle

TProcAffineAffineAffine = procedure(V1, V2, V3: TAffineFLTVector) of object;
TProcInt = procedure(I: Integer) of object;


GLSysHelp v.2.1: GLS.Octree: Record TOctreeTriangleInfo

Record TOctreeTriangleInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Octree

Declaration

type TOctreeTriangleInfo = record

Description

Overview

Fields

Public | Index: Integer;
Public | Vertex: array [0 .. 2] of TAffineVector;

Description

Fields

Public Index: Integer;
Public Vertex: array [0 .. 2] of TAffineVector;


GLSysHelp v.2.1: GLS.Octree: Record TOctreeNode

Record TOctreeNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Octree

Declaration

type TOctreeNode = record

Description

Overview

Fields

Public | MinExtent: TAffineFLTVector;
Public | MaxExtent: TAffineFLTVector;
Public | ListHandle: TGLListHandle;
Public | WillDraw: Boolean;
Public | TriArray: array of Integer;
Public | ChildArray: array [0 .. 7] of POctreeNode;

Description

Fields

Public MinExtent: TAffineFLTVector;
Public MaxExtent: TAffineFLTVector;
Public ListHandle: TGLListHandle;

TextureHandle:TGLTextureHandle;

Public WillDraw: Boolean;
Public TriArray: array of Integer;

temporary change Duplicates possible?

Public ChildArray: array [0 .. 7] of POctreeNode;

array of triangle references


GLSysHelp v.2.1: GLS.Octree: Class TGLOctree

Class TGLOctree

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Octree

Declaration

type TGLOctree = class(TObject)

Description

Manages an Octree containing references to triangles.

Hierarchy

  • TObject
  • TGLOctree

Overview

Fields

Public | WorldMinExtent: TAffineFLTVector;
Public | WorldMaxExtent: TAffineFLTVector;
Public | RootNode: POctreeNode;
Public | MaxOlevel: Integer;
Public | NodeCount: Integer;
Public | TriCountMesh: Integer;
Public | TriCountOctree: Integer;
Public | MeshCount: Integer;
Public | ResultArray: array of POctreeNode;
Public | TriangleFiler: TAffineVectorList;

Methods

Public | destructor Destroy; override;
Public | function AABBIntersect(const AABB: TAABB; const M1to2, M2to1: TGLMatrix; Triangles: TAffineVectorList = nil): Boolean;
Public | function GetTrianglesFromNodesIntersectingAABB(const ObjAABB: TAABB) : TAffineVectorList;
Public | function GetTrianglesFromNodesIntersectingCube(const ObjAABB: TAABB; const ObjToSelf, SelfToObj: TGLMatrix): TAffineVectorList;
Public | function RayCastIntersect(const RayStart, RayVector: TGLVector; IntersectPoint: PGLVector = nil; IntersectNormal: PGLVector = nil; TriangleInfo: POctreeTriangleInfo = nil): Boolean;
Public | function SphereSweepIntersect(const RayStart, RayVector: TGLVector; const Velocity, Radius: Single; IntersectPoint: PGLVector = nil; IntersectNormal: PGLVector = nil): Boolean;
Public | function TriangleIntersect(const V1, V2, V3: TAffineVector): Boolean;
Protected | function GetExtent(const Flags: array of Byte; ParentNode: POctreeNode) : TAffineFLTVector;
Protected | function GetMidPoint(Min, Max: Single): Single;
Protected | function PointInNode(const Min, Max, APoint: TAffineFLTVector): Boolean;
Protected | function SphereInNode(const MinExtent, MaxExtent: TAffineVector; const C: TGLVector; Radius: Single): Boolean;
Protected | function TriIntersectNode(const MinExtent, MaxExtent, V1, V2, V3: TAffineFLTVector): BOOLEAN;
Public | procedure DisposeTree;
Public | procedure InitializeTree(const AWorldMinExtent, AWorldMaxExtent : TAffineVector; const ATriangles: TAffineVectorList; const ATreeDepth: Integer);
Public | procedure WalkSphereToLeaf(Onode: POctreeNode; const P: TGLVector; Radius: Single);
Protected | procedure ConvertR4(ONode: POctreeNode; const Scale: TAffineFLTVector);
Protected | procedure CreateTree(Depth: Integer);
Protected | procedure CutMesh;
Protected | procedure Refine(ParentNode: POctreeNode; Level: Integer);
Protected | procedure WalkPointToLeaf(ONode: POctreeNode; const P: TAffineVector);
Protected | procedure WalkPointToLeafx(ONode: POctreeNode; const P: TAffineVector);
Protected | procedure WalkRayToLeaf(Onode: POctreeNode; const P, V: TGLVector);
Protected | procedure WalkRayToLeafx(Onode: POctreeNode; const P, V: TGLVector);
Protected | procedure WalkSphereToLeafx(Onode: POctreeNode; const P: TGLVector; Radius: Single);
Protected | procedure WalkTriToLeaf(Onode: POctreeNode; const V1, V2, V3: TAffineVector);
Protected | procedure WalkTriToLeafx(Onode: POctreeNode; const V1, V2, V3: TAffineFLTVector);

Description

Fields

Public WorldMinExtent: TAffineFLTVector;
Public WorldMaxExtent: TAffineFLTVector;
Public RootNode: POctreeNode;
Public MaxOlevel: Integer;

always points to root node

Public NodeCount: Integer;

max depth level of TOctreeNode

Public TriCountMesh: Integer;

number of nodes (ex: 8 for level 1, 72 for level 2 etc).

Public TriCountOctree: Integer;

total number of triangles in the mesh

Public MeshCount: Integer;

total number of triangles cut into the octree

Public ResultArray: array of POctreeNode;

number of meshes currently cut into the Octree

Public TriangleFiler: TAffineVectorList;

holds the result nodes of various calls

Methods

Public destructor Destroy; override;
Public function AABBIntersect(const AABB: TAABB; const M1to2, M2to1: TGLMatrix; Triangles: TAffineVectorList = nil): Boolean;

Checks if an AABB intersects a face on the octree

Public function GetTrianglesFromNodesIntersectingAABB(const ObjAABB: TAABB) : TAffineVectorList;

Returns all triangles in the AABB.

Public function GetTrianglesFromNodesIntersectingCube(const ObjAABB: TAABB; const ObjToSelf, SelfToObj: TGLMatrix): TAffineVectorList;

Returns all triangles in an arbitrarily placed cube

Public function RayCastIntersect(const RayStart, RayVector: TGLVector; IntersectPoint: PGLVector = nil; IntersectNormal: PGLVector = nil; TriangleInfo: POctreeTriangleInfo = nil): Boolean;
Public function SphereSweepIntersect(const RayStart, RayVector: TGLVector; const Velocity, Radius: Single; IntersectPoint: PGLVector = nil; IntersectNormal: PGLVector = nil): Boolean;
Public function TriangleIntersect(const V1, V2, V3: TAffineVector): Boolean;
Protected function GetExtent(const Flags: array of Byte; ParentNode: POctreeNode) : TAffineFLTVector;
Protected function GetMidPoint(Min, Max: Single): Single;

Find the exact centre of an AABB

Protected function PointInNode(const Min, Max, APoint: TAffineFLTVector): Boolean;

Check if a point lies within the AABB specified by min and max entents

Protected function SphereInNode(const MinExtent, MaxExtent: TAffineVector; const C: TGLVector; Radius: Single): Boolean;

Check if a sphere (at point C with radius) lies within the AABB specified by min and max entents

Protected function TriIntersectNode(const MinExtent, MaxExtent, V1, V2, V3: TAffineFLTVector): BOOLEAN;

Check if a triangle (vertices v1, v2, v3) lies within the AABB specified by min and max entents

Public procedure DisposeTree;
Public procedure InitializeTree(const AWorldMinExtent, AWorldMaxExtent : TAffineVector; const ATriangles: TAffineVectorList; const ATreeDepth: Integer);

Initializes the tree from the triangle list. All triangles must be contained in the world extent to be properly taken into account.

Public procedure WalkSphereToLeaf(Onode: POctreeNode; const P: TGLVector; Radius: Single);
Protected procedure ConvertR4(ONode: POctreeNode; const Scale: TAffineFLTVector);

Example of how to process each node in the tree

Protected procedure CreateTree(Depth: Integer);
Protected procedure CutMesh;
Protected procedure Refine(ParentNode: POctreeNode; Level: Integer);

Recursive routine to build nodes from parent to max depth level.

Protected procedure WalkPointToLeaf(ONode: POctreeNode; const P: TAffineVector);

Main "walking" routines. Walks the item through the Octree down to a leaf node.

Protected procedure WalkPointToLeafx(ONode: POctreeNode; const P: TAffineVector);
Protected procedure WalkRayToLeaf(Onode: POctreeNode; const P, V: TGLVector);
Protected procedure WalkRayToLeafx(Onode: POctreeNode; const P, V: TGLVector);
Protected procedure WalkSphereToLeafx(Onode: POctreeNode; const P: TGLVector; Radius: Single);
Protected procedure WalkTriToLeaf(Onode: POctreeNode; const V1, V2, V3: TAffineVector);
Protected procedure WalkTriToLeafx(Onode: POctreeNode; const V1, V2, V3: TAffineFLTVector);


GLSysHelp v.2.1: GLS.OpenGLAdapter

Unit GLS.OpenGLAdapter

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • Winapi.Windows
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Strings
  • GLS.Logger
  • GLS.VectorGeometry
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EOpenGLError |
Class TGLExtensionsAndEntryPoints |

Functions and Procedures

function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: cardinal): BOOL; stdcall; external opengl32;
function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
function wglCreateLayerContext(p1: HDC; p2: integer): HGLRC; stdcall; external opengl32;
function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
function wglGetCurrentContext: HGLRC; stdcall; external opengl32;
function wglGetCurrentDC: HDC; stdcall; external opengl32;
function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;
function wglRealizeLayerPalette(p1: HDC; p2: integer; p3: BOOL): BOOL; stdcall; external opengl32;
function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;
function wglSwapLayerBuffers(p1: HDC; p2: cardinal): BOOL; stdcall; external opengl32;
function gluErrorString(errCode: Cardinal): PAnsiChar; stdcall; external glu32;
function gluGetString(Name: Cardinal): PAnsiChar; stdcall; external glu32;
procedure gluOrtho2D(left, right, bottom, top: TGLdouble); stdcall; external glu32;
procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble); stdcall; external glu32;
procedure gluPickMatrix(X, y, Width, Height: TGLdouble; const Viewport: TVector4i); stdcall; external glu32;
procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); stdcall; external glu32;
function gluProject(objx, objy, objz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const Viewport: TVector4i; winx, winy, winz: PGLdouble): TGLint; stdcall; external glu32;
function gluUnProject(winx, winy, winz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const Viewport: TVector4i; objx, objy, objz: PGLdouble): TGLint; stdcall; external glu32;
function gluScaleImage(format: Cardinal; widthin, heightin: TGLint; typein: Cardinal; datain: Pointer; widthout, heightout: TGLint; typeout: Cardinal; dataout: Pointer): TGLint; stdcall; external glu32;
function gluBuild1DMipmaps(target: Cardinal; Components, Width: TGLint; format, atype: Cardinal; Data: Pointer): TGLint; stdcall; external glu32;
function gluBuild2DMipmaps(target: Cardinal; Components, Width, Height: TGLint; format, atype: Cardinal; Data: Pointer): TGLint; stdcall; external glu32;
function gluNewQuadric: PGLUquadric; stdcall; external glu32;
procedure gluDeleteQuadric(state: PGLUquadric); stdcall; external glu32;
procedure gluQuadricNormals(quadObject: PGLUquadric; normals: Cardinal); stdcall; external glu32;
procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean); stdcall; external glu32;
procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: Cardinal); stdcall; external glu32;
procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: Cardinal); stdcall; external glu32;
procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, Height: TGLdouble; slices, stacks: TGLint); stdcall; external glu32;
procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); stdcall; external glu32;
procedure gluPartialDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint; startAngle, sweepAngle: TGLdouble); stdcall; external glu32;
procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); stdcall; external glu32;
procedure gluQuadricCallback(quadObject: PGLUquadric; which: Cardinal; fn: TGLUQuadricErrorProc); stdcall; external glu32;
function gluNewTess: PGLUtesselator; stdcall; external glu32;
procedure gluDeleteTess(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); stdcall; external glu32;
procedure gluTessBeginContour(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d; Data: Pointer); stdcall; external glu32;
procedure gluTessEndContour(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessEndPolygon(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessProperty(tess: PGLUtesselator; which: Cardinal; Value: TGLdouble); stdcall; external glu32;
procedure gluTessNormal(tess: PGLUtesselator; X, y, z: TGLdouble); stdcall; external glu32;
procedure gluTessCallback(tess: PGLUtesselator; which: Cardinal; fn: Pointer); stdcall; external glu32;
procedure gluGetTessProperty(tess: PGLUtesselator; which: Cardinal; Value: PGLdouble); stdcall; external glu32;
function gluNewNurbsRenderer: PGLUnurbs; stdcall; external glu32;
procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluBeginSurface(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluBeginCurve(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluEndCurve(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluEndSurface(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluBeginTrim(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluEndTrim(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluPwlCurve(nobj: PGLUnurbs; Count: TGLint; points: PGLfloat; stride: TGLint; atype: Cardinal); stdcall; external glu32;
procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: Cardinal); stdcall; external glu32;
procedure gluNurbsSurface(nobj: PGLUnurbs; sknot_count: TGLint; sknot: PGLfloat; tknot_count: TGLint; tknot: PGLfloat; s_stride, t_stride: TGLint; ctlarray: PGLfloat; sorder, torder: TGLint; atype: Cardinal); stdcall; external glu32;
procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f; const projMatrix: TMatrix4f; const Viewport: TVector4i); stdcall; external glu32;
procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; Value: TGLfloat); stdcall; external glu32;
procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; Value: PGLfloat); stdcall; external glu32;
procedure gluNurbsCallback(nobj: PGLUnurbs; which: Cardinal; fn: TGLUNurbsErrorProc); stdcall; external glu32;
procedure gluBeginPolygon(tess: PGLUtesselator); stdcall; external glu32;
procedure gluNextContour(tess: PGLUtesselator; atype: Cardinal); stdcall; external glu32;
procedure gluEndPolygon(tess: PGLUtesselator); stdcall; external glu32;
function GetProcAddressGLLib(ProcName: PAnsiChar): Pointer;
function GetProcAddressGLS(ProcName: PAnsiChar): Pointer;
procedure CloseOpenGL;
function InitOpenGL: boolean;
function InitOpenGLFromLibrary(const GLName, GLUName: string): boolean;
function IsOpenGLInitialized: boolean;
procedure UnloadOpenGL;
function LoadOpenGL: boolean;
function LoadOpenGLFromLibrary(GLName, GLUName: string): boolean;
function IsOpenGLLoaded: boolean;
function IsMesaGL: boolean;
procedure TrimAndSplitVersionString(buffer: string; var max, min: integer);
function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion, actualMinorVersion: integer): boolean;

Constants

opengl32 = 'OpenGL32.dll';
glu32 = 'GLU32.dll';

Description

Functions and Procedures

function wglCopyContext(p1: HGLRC; p2: HGLRC; p3: cardinal): BOOL; stdcall; external opengl32;

TGLExtensionsAndEntryPoints —————————— Windows OpenGL (WGL) support functions {$IFDEF SUPPORT_WGL} function wglGetProcAddress(ProcName: PAnsiChar): Pointer; stdcall; external opengl32;

function wglCreateContext(DC: HDC): HGLRC; stdcall; external opengl32;
function wglCreateLayerContext(p1: HDC; p2: integer): HGLRC; stdcall; external opengl32;
function wglDeleteContext(p1: HGLRC): BOOL; stdcall; external opengl32;
function wglGetCurrentContext: HGLRC; stdcall; external opengl32;

function wglDescribeLayerPlane(p1: HDC; p2, p3: integer; p4: cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;

function wglGetCurrentDC: HDC; stdcall; external opengl32;
function wglMakeCurrent(DC: HDC; p2: HGLRC): BOOL; stdcall; external opengl32;

function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;

function wglRealizeLayerPalette(p1: HDC; p2: integer; p3: BOOL): BOOL; stdcall; external opengl32;
function wglShareLists(p1, p2: HGLRC): BOOL; stdcall; external opengl32;

function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;

function wglSwapLayerBuffers(p1: HDC; p2: cardinal): BOOL; stdcall; external opengl32;
function gluErrorString(errCode: Cardinal): PAnsiChar; stdcall; external glu32;

function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32; function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32; function wglUseFontOutlinesA(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32; function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32; function wglUseFontOutlinesW(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32; function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 Name 'wglUseFontBitmapsA'; function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 Name 'wglUseFontOutlinesA';

function gluGetString(Name: Cardinal): PAnsiChar; stdcall; external glu32;
procedure gluOrtho2D(left, right, bottom, top: TGLdouble); stdcall; external glu32;
procedure gluPerspective(fovy, aspect, zNear, zFar: TGLdouble); stdcall; external glu32;
procedure gluPickMatrix(X, y, Width, Height: TGLdouble; const Viewport: TVector4i); stdcall; external glu32;
procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble); stdcall; external glu32;
function gluProject(objx, objy, objz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const Viewport: TVector4i; winx, winy, winz: PGLdouble): TGLint; stdcall; external glu32;
function gluUnProject(winx, winy, winz: TGLdouble; const modelMatrix: TMatrix4d; const projMatrix: TMatrix4d; const Viewport: TVector4i; objx, objy, objz: PGLdouble): TGLint; stdcall; external glu32;
function gluScaleImage(format: Cardinal; widthin, heightin: TGLint; typein: Cardinal; datain: Pointer; widthout, heightout: TGLint; typeout: Cardinal; dataout: Pointer): TGLint; stdcall; external glu32;
function gluBuild1DMipmaps(target: Cardinal; Components, Width: TGLint; format, atype: Cardinal; Data: Pointer): TGLint; stdcall; external glu32;
function gluBuild2DMipmaps(target: Cardinal; Components, Width, Height: TGLint; format, atype: Cardinal; Data: Pointer): TGLint; stdcall; external glu32;
function gluNewQuadric: PGLUquadric; stdcall; external glu32;
procedure gluDeleteQuadric(state: PGLUquadric); stdcall; external glu32;
procedure gluQuadricNormals(quadObject: PGLUquadric; normals: Cardinal); stdcall; external glu32;
procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: TGLboolean); stdcall; external glu32;
procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: Cardinal); stdcall; external glu32;
procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: Cardinal); stdcall; external glu32;
procedure gluCylinder(quadObject: PGLUquadric; baseRadius, topRadius, Height: TGLdouble; slices, stacks: TGLint); stdcall; external glu32;
procedure gluDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint); stdcall; external glu32;
procedure gluPartialDisk(quadObject: PGLUquadric; innerRadius, outerRadius: TGLdouble; slices, loops: TGLint; startAngle, sweepAngle: TGLdouble); stdcall; external glu32;
procedure gluSphere(quadObject: PGLUquadric; radius: TGLdouble; slices, stacks: TGLint); stdcall; external glu32;
procedure gluQuadricCallback(quadObject: PGLUquadric; which: Cardinal; fn: TGLUQuadricErrorProc); stdcall; external glu32;
function gluNewTess: PGLUtesselator; stdcall; external glu32;
procedure gluDeleteTess(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); stdcall; external glu32;
procedure gluTessBeginContour(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessVertex(tess: PGLUtesselator; const coords: TVector3d; Data: Pointer); stdcall; external glu32;
procedure gluTessEndContour(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessEndPolygon(tess: PGLUtesselator); stdcall; external glu32;
procedure gluTessProperty(tess: PGLUtesselator; which: Cardinal; Value: TGLdouble); stdcall; external glu32;
procedure gluTessNormal(tess: PGLUtesselator; X, y, z: TGLdouble); stdcall; external glu32;
procedure gluTessCallback(tess: PGLUtesselator; which: Cardinal; fn: Pointer); stdcall; external glu32;
procedure gluGetTessProperty(tess: PGLUtesselator; which: Cardinal; Value: PGLdouble); stdcall; external glu32;
function gluNewNurbsRenderer: PGLUnurbs; stdcall; external glu32;
procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluBeginSurface(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluBeginCurve(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluEndCurve(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluEndSurface(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluBeginTrim(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluEndTrim(nobj: PGLUnurbs); stdcall; external glu32;
procedure gluPwlCurve(nobj: PGLUnurbs; Count: TGLint; points: PGLfloat; stride: TGLint; atype: Cardinal); stdcall; external glu32;
procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: TGLint; knot: PGLfloat; stride: TGLint; ctlarray: PGLfloat; order: TGLint; atype: Cardinal); stdcall; external glu32;
procedure gluNurbsSurface(nobj: PGLUnurbs; sknot_count: TGLint; sknot: PGLfloat; tknot_count: TGLint; tknot: PGLfloat; s_stride, t_stride: TGLint; ctlarray: PGLfloat; sorder, torder: TGLint; atype: Cardinal); stdcall; external glu32;
procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; const modelMatrix: TMatrix4f; const projMatrix: TMatrix4f; const Viewport: TVector4i); stdcall; external glu32;
procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; Value: TGLfloat); stdcall; external glu32;
procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: Cardinal; Value: PGLfloat); stdcall; external glu32;
procedure gluNurbsCallback(nobj: PGLUnurbs; which: Cardinal; fn: TGLUNurbsErrorProc); stdcall; external glu32;
procedure gluBeginPolygon(tess: PGLUtesselator); stdcall; external glu32;
procedure gluNextContour(tess: PGLUtesselator; atype: Cardinal); stdcall; external glu32;
procedure gluEndPolygon(tess: PGLUtesselator); stdcall; external glu32;
function GetProcAddressGLLib(ProcName: PAnsiChar): Pointer;
function GetProcAddressGLS(ProcName: PAnsiChar): Pointer;
procedure CloseOpenGL;
function InitOpenGL: boolean;
function InitOpenGLFromLibrary(const GLName, GLUName: string): boolean;
function IsOpenGLInitialized: boolean;
procedure UnloadOpenGL;

compatibility routines

function LoadOpenGL: boolean;
function LoadOpenGLFromLibrary(GLName, GLUName: string): boolean;
function IsOpenGLLoaded: boolean;
function IsMesaGL: boolean;
procedure TrimAndSplitVersionString(buffer: string; var max, min: integer);
function IsVersionMet(MajorVersion, MinorVersion, actualMajorVersion, actualMinorVersion: integer): boolean;

Constants

opengl32 = 'OpenGL32.dll';
glu32 = 'GLU32.dll';


GLSysHelp v.2.1: GLS.OpenGLAdapter: Class EOpenGLError

Class EOpenGLError

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLAdapter

Declaration

type EOpenGLError = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EOpenGLError


GLSysHelp v.2.1: GLS.OpenGLAdapter: Class TGLExtensionsAndEntryPoints

Class TGLExtensionsAndEntryPoints

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLAdapter

Declaration

type TGLExtensionsAndEntryPoints = class(TObject)

Description

Hierarchy

  • TObject
  • TGLExtensionsAndEntryPoints

Overview

Fields

Private | FBuffer: string;
Private | FInitialized: boolean;
Private | FDebug: boolean;
Private | FDebugIds: Cardinal;
Public | VERSION_1_0: boolean;
Public | VERSION_1_1: boolean;
Public | VERSION_1_2: boolean;
Public | VERSION_1_3: boolean;
Public | VERSION_1_4: boolean;
Public | VERSION_1_5: boolean;
Public | VERSION_2_0: boolean;
Public | VERSION_2_1: boolean;
Public | VERSION_3_0: boolean;
Public | VERSION_3_1: boolean;
Public | VERSION_3_2: boolean;
Public | VERSION_3_3: boolean;
Public | VERSION_4_0: boolean;
Public | VERSION_4_1: boolean;
Public | VERSION_4_2: boolean;
Public | ARB_blend_func_extended: boolean;
Public | ARB_color_buffer_float: boolean;
Public | ARB_compatibility: boolean;
Public | ARB_copy_buffer: boolean;
Public | ARB_depth_buffer_float: boolean;
Public | ARB_depth_clamp: boolean;
Public | ARB_depth_texture: boolean;
Public | ARB_draw_buffers: boolean;
Public | ARB_draw_buffers_blend: boolean;
Public | ARB_draw_elements_base_vertex: boolean;
Public | ARB_draw_indirect: boolean;
Public | ARB_draw_instanced: boolean;
Public | ARB_explicit_attrib_location: boolean;
Public | ARB_fragment_coord_conventions: boolean;
Public | ARB_fragment_program: boolean;
Public | ARB_fragment_program_shadow: boolean;
Public | ARB_fragment_shader: boolean;
Public | ARB_framebuffer_object: boolean;
Public | ARB_framebuffer_sRGB: boolean;
Public | ARB_geometry_shader4: boolean;
Public | ARB_gpu_shader_fp64: boolean;
Public | ARB_gpu_shader5: boolean;
Public | ARB_half_float_pixel: boolean;
Public | ARB_half_float_vertex: boolean;
Public | ARB_imaging: boolean;
Public | ARB_instanced_arrays: boolean;
Public | ARB_map_buffer_range: boolean;
Public | ARB_matrix_palette: boolean;
Public | ARB_multisample: boolean;
Public | ARB_multitexture: boolean;
Public | ARB_occlusion_query: boolean;
Public | ARB_occlusion_query2: boolean;
Public | ARB_pixel_buffer_object: boolean;
Public | ARB_point_parameters: boolean;
Public | ARB_point_sprite: boolean;
Public | ARB_provoking_vertex: boolean;
Public | ARB_sample_shading: boolean;
Public | ARB_sampler_objects: boolean;
Public | ARB_seamless_cube_map: boolean;
Public | ARB_shader_bit_encoding: boolean;
Public | ARB_shader_subroutine: boolean;
Public | ARB_shader_texture_lod: boolean;
Public | ARB_shading_language_100: boolean;
Public | ARB_shadow: boolean;
Public | ARB_shadow_ambient: boolean;
Public | ARB_shader_objects: boolean;
Public | ARB_sync: boolean;
Public | ARB_tessellation_shader: boolean;
Public | ARB_texture_border_clamp: boolean;
Public | ARB_texture_buffer_object: boolean;
Public | ARB_texture_buffer_object_rgb32: boolean;
Public | ARB_texture_compression: boolean;
Public | ARB_texture_compression_rgtc: boolean;
Public | ARB_texture_cube_map: boolean;
Public | ARB_texture_cube_map_array: boolean;
Public | ARB_texture_env_add: boolean;
Public | ARB_texture_env_combine: boolean;
Public | ARB_texture_env_crossbar: boolean;
Public | ARB_texture_env_dot3: boolean;
Public | ARB_texture_float: boolean;
Public | ARB_texture_gather: boolean;
Public | ARB_texture_mirrored_repeat: boolean;
Public | ARB_texture_multisample: boolean;
Public | ARB_texture_non_power_of_two: boolean;
Public | ARB_texture_query_lod: boolean;
Public | ARB_texture_rectangle: boolean;
Public | ARB_texture_rg: boolean;
Public | ARB_texture_rgb10_a2ui: boolean;
Public | ARB_texture_swizzle: boolean;
Public | ARB_timer_query: boolean;
Public | ARB_transform_feedback2: boolean;
Public | ARB_transform_feedback3: boolean;
Public | ARB_transpose_matrix: boolean;
Public | ARB_uniform_buffer_object: boolean;
Public | ARB_vertex_array_bgra: boolean;
Public | ARB_vertex_array_object: boolean;
Public | ARB_vertex_blend: boolean;
Public | ARB_vertex_buffer_object: boolean;
Public | ARB_vertex_program: boolean;
Public | ARB_vertex_shader: boolean;
Public | ARB_vertex_type_2_10_10_10_rev: boolean;
Public | ARB_window_pos: boolean;
Public | ARB_texture_compression_bptc: boolean;
Public | ARB_get_program_binary: boolean;
Public | ARB_separate_shader_objects: boolean;
Public | ARB_shader_stencil_export: boolean;
Public | KHR_debug: boolean;
Public | ARB_clear_buffer_object: boolean;
Public | ARB_compute_shader: boolean;
Public | ARB_copy_image: boolean;
Public | ARB_debug_group: boolean;
Public | ARB_debug_label: boolean;
Public | ARB_debug_output2: boolean;
Public | ARB_ES3_compatibility: boolean;
Public | ARB_explicit_uniform_location: boolean;
Public | ARB_fragment_layer_viewport: boolean;
Public | ARB_framebuffer_no_attachments: boolean;
Public | ARB_internalformat_query2: boolean;
Public | ARB_invalidate_subdata: boolean;
Public | ARB_multi_draw_indirect: boolean;
Public | ARB_program_interface_query: boolean;
Public | ARB_shader_image_size: boolean;
Public | ARB_shader_storage_buffer_object: boolean;
Public | ARB_stencil_texturing: boolean;
Public | ARB_texture_buffer_range: boolean;
Public | ARB_texture_query_levels: boolean;
Public | ARB_texture_storage_multisample: boolean;
Public | ARB_texture_view: boolean;
Public | ARB_vertex_attrib_binding: boolean;
Public | ARB_robustness_isolation: boolean;
Public | ARB_cl_event: boolean;
Public | _3DFX_multisample: boolean;
Public | _3DFX_tbuffer: boolean;
Public | _3DFX_texture_compression_FXT1: boolean;
Public | ATI_draw_buffers: boolean;
Public | ATI_texture_compression_3dc: boolean;
Public | ATI_texture_float: boolean;
Public | ATI_texture_mirror_once: boolean;
Public | S3_s3tc: boolean;
Public | EXT_abgr: boolean;
Public | EXT_bgra: boolean;
Public | EXT_bindable_uniform: boolean;
Public | EXT_blend_color: boolean;
Public | EXT_blend_equation_separate: boolean;
Public | EXT_blend_func_separate: boolean;
Public | EXT_blend_logic_op: boolean;
Public | EXT_blend_minmax: boolean;
Public | EXT_blend_subtract: boolean;
Public | EXT_Cg_shader: boolean;
Public | EXT_clip_volume_hint: boolean;
Public | EXT_compiled_vertex_array: boolean;
Public | EXT_copy_texture: boolean;
Public | EXT_depth_bounds_test: boolean;
Public | EXT_draw_buffers2: boolean;
Public | EXT_draw_instanced: boolean;
Public | EXT_draw_range_elements: boolean;
Public | EXT_fog_coord: boolean;
Public | EXT_framebuffer_blit: boolean;
Public | EXT_framebuffer_multisample: boolean;
Public | EXT_framebuffer_object: boolean;
Public | EXT_framebuffer_sRGB: boolean;
Public | EXT_geometry_shader4: boolean;
Public | EXT_gpu_program_parameters: boolean;
Public | EXT_gpu_shader4: boolean;
Public | EXT_multi_draw_arrays: boolean;
Public | EXT_multisample: boolean;
Public | EXT_packed_depth_stencil: boolean;
Public | EXT_packed_float: boolean;
Public | EXT_packed_pixels: boolean;
Public | EXT_paletted_texture: boolean;
Public | EXT_pixel_buffer_object: boolean;
Public | EXT_polygon_offset: boolean;
Public | EXT_rescale_normal: boolean;
Public | EXT_secondary_color: boolean;
Public | EXT_separate_specular_color: boolean;
Public | EXT_shadow_funcs: boolean;
Public | EXT_shared_texture_palette: boolean;
Public | EXT_stencil_clear_tag: boolean;
Public | EXT_stencil_two_side: boolean;
Public | EXT_stencil_wrap: boolean;
Public | EXT_texture3D: boolean;
Public | EXT_texture_array: boolean;
Public | EXT_texture_buffer_object: boolean;
Public | EXT_texture_compression_latc: boolean;
Public | EXT_texture_compression_rgtc: boolean;
Public | EXT_texture_compression_s3tc: boolean;
Public | EXT_texture_cube_map: boolean;
Public | EXT_texture_edge_clamp: boolean;
Public | EXT_texture_env_add: boolean;
Public | EXT_texture_env_combine: boolean;
Public | EXT_texture_env_dot3: boolean;
Public | EXT_texture_filter_anisotropic: boolean;
Public | EXT_texture_integer: boolean;
Public | EXT_texture_lod: boolean;
Public | EXT_texture_lod_bias: boolean;
Public | EXT_texture_mirror_clamp: boolean;
Public | EXT_texture_object: boolean;
Public | EXT_texture_rectangle: boolean;
Public | EXT_texture_sRGB: boolean;
Public | EXT_texture_shared_exponent: boolean;
Public | EXT_timer_query: boolean;
Public | EXT_transform_feedback: boolean;
Public | EXT_vertex_array: boolean;
Public | EXT_texture_sRGB_decode: boolean;
Public | EXT_direct_state_access: boolean;
Public | EXT_texture_swizzle: boolean;
Public | HP_occlusion_test: boolean;
Public | IBM_rasterpos_clip: boolean;
Public | KTX_buffer_region: boolean;
Public | MESA_resize_buffers: boolean;
Public | NV_blend_square: boolean;
Public | NV_conditional_render: boolean;
Public | NV_copy_image: boolean;
Public | NV_depth_buffer_float: boolean;
Public | NV_fence: boolean;
Public | NV_float_buffer: boolean;
Public | NV_fog_distance: boolean;
Public | NV_geometry_program4: boolean;
Public | NV_light_max_exponent: boolean;
Public | NV_multisample_filter_hint: boolean;
Public | NV_occlusion_query: boolean;
Public | NV_point_sprite: boolean;
Public | NV_primitive_restart: boolean;
Public | NV_register_combiners: boolean;
Public | NV_shader_buffer_load: boolean;
Public | NV_texgen_reflection: boolean;
Public | NV_texture_compression_vtc: boolean;
Public | NV_texture_env_combine4: boolean;
Public | NV_texture_rectangle: boolean;
Public | NV_texture_shader: boolean;
Public | NV_texture_shader2: boolean;
Public | NV_texture_shader3: boolean;
Public | NV_transform_feedback: boolean;
Public | NV_vertex_array_range: boolean;
Public | NV_vertex_array_range2: boolean;
Public | NV_vertex_buffer_unified_memory: boolean;
Public | NV_vertex_program: boolean;
Public | SGI_color_matrix: boolean;
Public | SGIS_generate_mipmap: boolean;
Public | SGIS_multisample: boolean;
Public | SGIS_texture_border_clamp: boolean;
Public | SGIS_texture_color_mask: boolean;
Public | SGIS_texture_edge_clamp: boolean;
Public | SGIS_texture_lod: boolean;
Public | SGIX_depth_texture: boolean;
Public | SGIX_shadow: boolean;
Public | SGIX_shadow_ambient: boolean;
Public | AMD_vertex_shader_tessellator: boolean;
Public | WIN_swap_hint: boolean;
Public | ATI_meminfo: boolean;
Public | NVX_gpu_memory_info: boolean;
Public | NV_vdpau_interop: boolean;
Public | NV_path_rendering: boolean;
Public | GREMEDY_frame_terminator: boolean;
Public | GREMEDY_string_marker: boolean;
Public | AMDX_debug_output: boolean;
Public | ARB_debug_output: boolean;
Public | BindTexture: procedure(target: Cardinal; texture: Cardinal); stdcall;
Public | BlendFunc: procedure(sfactor: Cardinal; dfactor: Cardinal); stdcall;
Public | Clear: procedure(mask: TGLbitfield); stdcall;
Public | ClearColor: procedure(red, green, blue, alpha: Single); stdcall;
Public | ClearDepth: procedure(depth: TGLclampd); stdcall;
Public | ClearStencil: procedure(s: TGLint); stdcall;
Public | ColorMask: procedure(red, green, blue, alpha: TGLboolean); stdcall;
Public | CopyTexImage1D: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; X, y: TGLint; Width: TGLsizei; border: TGLint); stdcall;
Public | CopyTexImage2D: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; X, y: TGLint; Width, Height: TGLsizei; border: TGLint); stdcall;
Public | CopyTexSubImage1D: procedure(target: Cardinal; level, xoffset, X, y: TGLint; Width: TGLsizei); stdcall;
Public | CopyTexSubImage2D: procedure(target: Cardinal; level, xoffset, yoffset, X, y: TGLint; Width, Height: TGLsizei); stdcall;
Public | CullFace: procedure(mode: Cardinal); stdcall;
Public | DeleteTextures: procedure(n: TGLsizei; textures: PGLuint); stdcall;
Public | DepthFunc: procedure(func: Cardinal); stdcall;
Public | DepthMask: procedure(flag: TGLboolean); stdcall;
Public | DepthRange: procedure(zNear, zFar: TGLclampd); stdcall;
Public | Disable: procedure(cap: Cardinal); stdcall;
Public | DrawArrays: procedure(mode: Cardinal; First: TGLint; Count: TGLsizei); stdcall;
Public | DrawBuffer: procedure(mode: Cardinal); stdcall;
Public | DrawElements: procedure(mode: Cardinal; Count: TGLsizei; atype: Cardinal; indices: Pointer); stdcall;
Public | Enable: procedure(cap: Cardinal); stdcall;
Public | Finish: procedure(); stdcall;
Public | Flush: procedure(); stdcall;
Public | FrontFace: procedure(mode: Cardinal); stdcall;
Public | GenTextures: procedure(n: TGLsizei; textures: PGLuint); stdcall;
Public | GetBooleanv: procedure(pname: Cardinal; params: PGLboolean); stdcall;
Public | GetDoublev: procedure(pname: Cardinal; params: PGLdouble); stdcall;
Public | GetError: function: Cardinal; stdcall;
Public | GetFloatv: procedure(pname: Cardinal; params: PGLfloat); stdcall;
Public | GetIntegerv: procedure(pname: Cardinal; params: PGLint); stdcall;
Public | GetPointerv: procedure(pname: Cardinal; var params); stdcall;
Public | GetString: function(Name: Cardinal): PAnsiChar; stdcall;
Public | GetTexImage: procedure(target: Cardinal; level: TGLint; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | GetTexLevelParameterfv: procedure(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
Public | GetTexLevelParameteriv: procedure(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); stdcall;
Public | GetTexParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public | GetTexParameteriv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public | Hint: procedure(target, mode: Cardinal); stdcall;
Public | IsEnabled: function(cap: Cardinal): TGLboolean; stdcall;
Public | IsTexture: function(texture: Cardinal): TGLboolean; stdcall;
Public | LineWidth: procedure(Width: TGLfloat); stdcall;
Public | LogicOp: procedure(opcode: Cardinal); stdcall;
Public | PixelStoref: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public | PixelStorei: procedure(pname: Cardinal; param: TGLint); stdcall;
Public | PointSize: procedure(size: TGLfloat); stdcall;
Public | PolygonMode: procedure(face, mode: Cardinal); stdcall;
Public | PolygonOffset: procedure(factor, units: TGLfloat); stdcall;
Public | ReadBuffer: procedure(mode: Cardinal); stdcall;
Public | ReadPixels: procedure(X, y: TGLint; Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | Scissor: procedure(X, y: TGLint; Width, Height: TGLsizei); stdcall;
Public | StencilFunc: procedure(func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
Public | StencilMask: procedure(mask: Cardinal); stdcall;
Public | StencilOp: procedure(fail, zfail, zpass: Cardinal); stdcall;
Public | TexImage1D: procedure(target: Cardinal; level, internalFormat: TGLint; Width: TGLsizei; border: TGLint; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | TexImage2D: procedure(target: Cardinal; level, internalFormat: TGLint; Width, Height: TGLsizei; border: TGLint; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | TexParameterf: procedure(target, pname: Cardinal; param: TGLfloat); stdcall;
Public | TexParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public | TexParameteri: procedure(target, pname: Cardinal; param: TGLint); stdcall;
Public | TexParameteriv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public | TexSubImage1D: procedure(target: Cardinal; level, xoffset: TGLint; Width: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | TexSubImage2D: procedure(target: Cardinal; level, xoffset, yoffset: TGLint; Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | Viewport: procedure(X, y: TGLint; Width, Height: TGLsizei); stdcall;
Public | Accum: procedure(op: Cardinal; Value: TGLfloat); stdcall;
Public | AlphaFunc: procedure(func: Cardinal; ref: Single); stdcall;
Public | AreTexturesResident: function(n: TGLsizei; textures: PGLuint; residences: PGLboolean): TGLboolean; stdcall;
Public | ArrayElement: procedure(i: TGLint); stdcall;
Public | Begin_: procedure(mode: Cardinal); stdcall;
Public | Bitmap: procedure(Width: TGLsizei; Height: TGLsizei; xorig, yorig: TGLfloat; xmove: TGLfloat; ymove: TGLfloat; Bitmap: Pointer); stdcall;
Public | CallList: procedure(list: Cardinal); stdcall;
Public | CallLists: procedure(n: TGLsizei; atype: Cardinal; lists: Pointer); stdcall;
Public | ClearAccum: procedure(red, green, blue, alpha: TGLfloat); stdcall;
Public | ClearIndex: procedure(c: TGLfloat); stdcall;
Public | ClipPlane: procedure(plane: Cardinal; equation: PGLdouble); stdcall;
Public | Color3b: procedure(red, green, blue: TGLbyte); stdcall;
Public | Color3bv: procedure(v: PGLbyte); stdcall;
Public | Color3d: procedure(red, green, blue: TGLdouble); stdcall;
Public | Color3dv: procedure(v: PGLdouble); stdcall;
Public | Color3f: procedure(red, green, blue: TGLfloat); stdcall;
Public | Color3fv: procedure(v: PGLfloat); stdcall;
Public | Color3i: procedure(red, green, blue: TGLint); stdcall;
Public | Color3iv: procedure(v: PGLint); stdcall;
Public | Color3s: procedure(red, green, blue: TGLshort); stdcall;
Public | Color3sv: procedure(v: PGLshort); stdcall;
Public | Color3ub: procedure(red, green, blue: TGLubyte); stdcall;
Public | Color3ubv: procedure(v: PGLubyte); stdcall;
Public | Color3ui: procedure(red, green, blue: Cardinal); stdcall;
Public | Color3uiv: procedure(v: PGLuint); stdcall;
Public | Color3us: procedure(red, green, blue: TGLushort); stdcall;
Public | Color3usv: procedure(v: PGLushort); stdcall;
Public | Color4b: procedure(red, green, blue, alpha: TGLbyte); stdcall;
Public | Color4bv: procedure(v: PGLbyte); stdcall;
Public | Color4d: procedure(red, green, blue, alpha: TGLdouble); stdcall;
Public | Color4dv: procedure(v: PGLdouble); stdcall;
Public | Color4f: procedure(red, green, blue, alpha: TGLfloat); stdcall;
Public | Color4fv: procedure(v: PGLfloat); stdcall;
Public | Color4i: procedure(red, green, blue, alpha: TGLint); stdcall;
Public | Color4iv: procedure(v: PGLint); stdcall;
Public | Color4s: procedure(red, green, blue, alpha: TGLshort); stdcall;
Public | Color4sv: procedure(v: TGLshort); stdcall;
Public | Color4ub: procedure(red, green, blue, alpha: TGLubyte); stdcall;
Public | Color4ubv: procedure(v: PGLubyte); stdcall;
Public | Color4ui: procedure(red, green, blue, alpha: Cardinal); stdcall;
Public | Color4uiv: procedure(v: PGLuint); stdcall;
Public | Color4us: procedure(red, green, blue, alpha: TGLushort); stdcall;
Public | Color4usv: procedure(v: PGLushort); stdcall;
Public | ColorMaterial: procedure(face: Cardinal; mode: Cardinal); stdcall;
Public | ColorPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public | CopyPixels: procedure(X, y: TGLint; Width, Height: TGLsizei; atype: Cardinal); stdcall;
Public | DeleteLists: procedure(list: Cardinal; range: TGLsizei); stdcall;
Public | DisableClientState: procedure(aarray: Cardinal); stdcall;
Public | DrawPixels: procedure(Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public | EdgeFlag: procedure(flag: TGLboolean); stdcall;
Public | EdgeFlagPointer: procedure(stride: TGLsizei; Data: Pointer); stdcall;
Public | EdgeFlagv: procedure(flag: PGLboolean); stdcall;
Public | EnableClientState: procedure(aarray: Cardinal); stdcall;
Public | End_: procedure(); stdcall;
Public | EndList: procedure(); stdcall;
Public | EvalCoord1d: procedure(u: TGLdouble); stdcall;
Public | EvalCoord1dv: procedure(u: PGLdouble); stdcall;
Public | EvalCoord1f: procedure(u: TGLfloat); stdcall;
Public | EvalCoord1fv: procedure(u: PGLfloat); stdcall;
Public | EvalCoord2d: procedure(u: TGLdouble; v: TGLdouble); stdcall;
Public | EvalCoord2dv: procedure(u: PGLdouble); stdcall;
Public | EvalCoord2f: procedure(u, v: TGLfloat); stdcall;
Public | EvalCoord2fv: procedure(u: PGLfloat); stdcall;
Public | EvalMesh1: procedure(mode: Cardinal; i1, i2: TGLint); stdcall;
Public | EvalMesh2: procedure(mode: Cardinal; i1, i2, j1, j2: TGLint); stdcall;
Public | EvalPoint1: procedure(i: TGLint); stdcall;
Public | EvalPoint2: procedure(i, j: TGLint); stdcall;
Public | FeedbackBuffer: procedure(size: TGLsizei; atype: Cardinal; buffer: PGLfloat); stdcall;
Public | Fogf: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public | Fogfv: procedure(pname: Cardinal; params: PGLfloat); stdcall;
Public | Fogi: procedure(pname: Cardinal; param: TGLint); stdcall;
Public | Fogiv: procedure(pname: Cardinal; params: PGLint); stdcall;
Public | Frustum: procedure(left, right, bottom, top, zNear, zFar: TGLdouble); stdcall;
Public | GenLists: function(range: TGLsizei): Cardinal; stdcall;
Public | GetClipPlane: procedure(plane: Cardinal; equation: PGLdouble); stdcall;
Public | GetLightfv: procedure(light, pname: Cardinal; params: PGLfloat); stdcall;
Public | GetLightiv: procedure(light, pname: Cardinal; params: PGLint); stdcall;
Public | GetMapdv: procedure(target, query: Cardinal; v: PGLdouble); stdcall;
Public | GetMapfv: procedure(target, query: Cardinal; v: PGLfloat); stdcall;
Public | GetMapiv: procedure(target, query: Cardinal; v: PGLint); stdcall;
Public | GetMaterialfv: procedure(face, pname: Cardinal; params: PGLfloat); stdcall;
Public | GetMaterialiv: procedure(face, pname: Cardinal; params: PGLint); stdcall;
Public | GetPixelMapfv: procedure(map: Cardinal; values: PGLfloat); stdcall;
Public | GetPixelMapuiv: procedure(map: Cardinal; values: PGLuint); stdcall;
Public | GetPixelMapusv: procedure(map: Cardinal; values: PGLushort); stdcall;
Public | GetPolygonStipple: procedure(mask: PGLubyte); stdcall;
Public | GetTexEnvfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public | GetTexEnviv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public | GetTexGendv: procedure(coord, pname: Cardinal; params: PGLdouble); stdcall;
Public | GetTexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat); stdcall;
Public | GetTexGeniv: procedure(coord, pname: Cardinal; params: PGLint); stdcall;
Public | IndexMask: procedure(mask: Cardinal); stdcall;
Public | IndexPointer: procedure(atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public | Indexd: procedure(c: TGLdouble); stdcall;
Public | Indexdv: procedure(c: PGLdouble); stdcall;
Public | Indexf: procedure(c: TGLfloat); stdcall;
Public | Indexfv: procedure(c: PGLfloat); stdcall;
Public | Indexi: procedure(c: TGLint); stdcall;
Public | Indexiv: procedure(c: PGLint); stdcall;
Public | Indexs: procedure(c: TGLshort); stdcall;
Public | Indexsv: procedure(c: PGLshort); stdcall;
Public | Indexub: procedure(c: TGLubyte); stdcall;
Public | Indexubv: procedure(c: PGLubyte); stdcall;
Public | InitNames: procedure(); stdcall;
Public | InterleavedArrays: procedure(format: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public | IsList: function(list: Cardinal): TGLboolean; stdcall;
Public | LightModelf: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public | LightModelfv: procedure(pname: Cardinal; params: PGLfloat); stdcall;
Public | LightModeli: procedure(pname: Cardinal; param: TGLint); stdcall;
Public | LightModeliv: procedure(pname: Cardinal; params: PGLint); stdcall;
Public | Lightf: procedure(light, pname: Cardinal; param: TGLfloat); stdcall;
Public | Lightfv: procedure(light, pname: Cardinal; params: PGLfloat); stdcall;
Public | Lighti: procedure(light, pname: Cardinal; param: TGLint); stdcall;
Public | Lightiv: procedure(light, pname: Cardinal; params: PGLint); stdcall;
Public | LineStipple: procedure(factor: TGLint; pattern: TGLushort); stdcall;
Public | ListBase: procedure(base: Cardinal); stdcall;
Public | LoadIdentity: procedure(); stdcall;
Public | LoadMatrixd: procedure(m: PGLdouble); stdcall;
Public | LoadMatrixf: procedure(m: PGLfloat); stdcall;
Public | LoadName: procedure(Name: Cardinal); stdcall;
Public | Map1d: procedure(target: Cardinal; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); stdcall;
Public | Map1f: procedure(target: Cardinal; u1, u2: TGLfloat; stride, order: TGLint; points: PGLfloat); stdcall;
Public | Map2d: procedure(target: Cardinal; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride, vorder: TGLint; points: PGLdouble); stdcall;
Public | Map2f: procedure(target: Cardinal; u1, u2: TGLfloat; ustride, uorder: TGLint; v1, v2: TGLfloat; vstride, vorder: TGLint; points: PGLfloat); stdcall;
Public | MapGrid1d: procedure(un: TGLint; u1, u2: TGLdouble); stdcall;
Public | MapGrid1f: procedure(un: TGLint; u1, u2: TGLfloat); stdcall;
Public | MapGrid2d: procedure(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); stdcall;
Public | MapGrid2f: procedure(un: TGLint; u1, u2: TGLfloat; vn: TGLint; v1, v2: TGLfloat); stdcall;
Public | Materialf: procedure(face, pname: Cardinal; param: TGLfloat); stdcall;
Public | Materialfv: procedure(face, pname: Cardinal; params: PGLfloat); stdcall;
Public | Materiali: procedure(face, pname: Cardinal; param: TGLint); stdcall;
Public | Materialiv: procedure(face, pname: Cardinal; params: PGLint); stdcall;
Public | MatrixMode: procedure(mode: Cardinal); stdcall;
Public | MultMatrixd: procedure(m: PGLdouble); stdcall;
Public | MultMatrixf: procedure(m: PGLfloat); stdcall;
Public | NewList: procedure(list: Cardinal; mode: Cardinal); stdcall;
Public | Normal3b: procedure(nx, ny, nz: TGLbyte); stdcall;
Public | Normal3bv: procedure(v: PGLbyte); stdcall;
Public | Normal3d: procedure(nx, ny, nz: TGLdouble); stdcall;
Public | Normal3dv: procedure(v: PGLdouble); stdcall;
Public | Normal3f: procedure(nx, ny, nz: TGLfloat); stdcall;
Public | Normal3fv: procedure(v: PGLfloat); stdcall;
Public | Normal3i: procedure(nx, ny, nz: TGLint); stdcall;
Public | Normal3iv: procedure(v: PGLint); stdcall;
Public | Normal3s: procedure(nx, ny, nz: TGLshort); stdcall;
Public | Normal3sv: procedure(v: PGLshort); stdcall;
Public | NormalPointer: procedure(atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public | Ortho: procedure(left, right, bottom, top, zNear, zFar: TGLdouble); stdcall;
Public | PassThrough: procedure(token: TGLfloat); stdcall;
Public | PixelMapfv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLfloat); stdcall;
Public | PixelMapuiv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLuint); stdcall;
Public | PixelMapusv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLushort); stdcall;
Public | PixelTransferf: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public | PixelTransferi: procedure(pname: Cardinal; param: TGLint); stdcall;
Public | PixelZoom: procedure(xfactor, yfactor: TGLfloat); stdcall;
Public | PolygonStipple: procedure(mask: PGLubyte); stdcall;
Public | PopAttrib: procedure(); stdcall;
Public | PopClientAttrib: procedure(); stdcall;
Public | PopMatrix: procedure(); stdcall;
Public | PopName: procedure(); stdcall;
Public | PrioritizeTextures: procedure(n: TGLsizei; textures: PGLuint; priorities: PSingle); stdcall;
Public | PushAttrib: procedure(mask: TGLbitfield); stdcall;
Public | PushClientAttrib: procedure(mask: TGLbitfield); stdcall;
Public | PushMatrix: procedure(); stdcall;
Public | PushName: procedure(Name: Cardinal); stdcall;
Public | RasterPos2d: procedure(X, y: TGLdouble); stdcall;
Public | RasterPos2dv: procedure(v: PGLdouble); stdcall;
Public | RasterPos2f: procedure(X, y: TGLfloat); stdcall;
Public | RasterPos2fv: procedure(v: PGLfloat); stdcall;
Public | RasterPos2i: procedure(X, y: TGLint); stdcall;
Public | RasterPos2iv: procedure(v: PGLint); stdcall;
Public | RasterPos2s: procedure(X, y: PGLshort); stdcall;
Public | RasterPos2sv: procedure(v: PGLshort); stdcall;
Public | RasterPos3d: procedure(X, y, z: TGLdouble); stdcall;
Public | RasterPos3dv: procedure(v: PGLdouble); stdcall;
Public | RasterPos3f: procedure(X, y, z: TGLfloat); stdcall;
Public | RasterPos3fv: procedure(v: PGLfloat); stdcall;
Public | RasterPos3i: procedure(X, y, z: TGLint); stdcall;
Public | RasterPos3iv: procedure(v: PGLint); stdcall;
Public | RasterPos3s: procedure(X, y, z: TGLshort); stdcall;
Public | RasterPos3sv: procedure(v: PGLshort); stdcall;
Public | RasterPos4d: procedure(X, y, z, w: TGLdouble); stdcall;
Public | RasterPos4dv: procedure(v: PGLdouble); stdcall;
Public | RasterPos4f: procedure(X, y, z, w: TGLfloat); stdcall;
Public | RasterPos4fv: procedure(v: PGLfloat); stdcall;
Public | RasterPos4i: procedure(X, y, z, w: TGLint); stdcall;
Public | RasterPos4iv: procedure(v: PGLint); stdcall;
Public | RasterPos4s: procedure(X, y, z, w: TGLshort); stdcall;
Public | RasterPos4sv: procedure(v: PGLshort); stdcall;
Public | Rectd: procedure(x1, y1, x2, y2: TGLdouble); stdcall;
Public | Rectdv: procedure(v1, v2: PGLdouble); stdcall;
Public | Rectf: procedure(x1, y1, x2, y2: TGLfloat); stdcall;
Public | Rectfv: procedure(v1, v2: PGLfloat); stdcall;
Public | Recti: procedure(x1, y1, x2, y2: TGLint); stdcall;
Public | Rectiv: procedure(v1, v2: PGLint); stdcall;
Public | Rects: procedure(x1, y1, x2, y2: TGLshort); stdcall;
Public | Rectsv: procedure(v1, v2: PGLshort); stdcall;
Public | RenderMode: function(mode: Cardinal): TGLint; stdcall;
Public | Rotated: procedure(ane, X, y, z: TGLdouble); stdcall;
Public | Rotatef: procedure(ane, X, y, z: TGLfloat); stdcall;
Public | Scaled: procedure(X, y, z: TGLdouble); stdcall;
Public | Scalef: procedure(X, y, z: TGLfloat); stdcall;
Public | SelectBuffer: procedure(size: TGLsizei; buffer: PGLuint); stdcall;
Public | ShadeModel: procedure(mode: Cardinal); stdcall;
Public | TexCoord1d: procedure(s: TGLdouble); stdcall;
Public | TexCoord1dv: procedure(v: PGLdouble); stdcall;
Public | TexCoord1f: procedure(s: TGLfloat); stdcall;
Public | TexCoord1fv: procedure(v: PGLfloat); stdcall;
Public | TexCoord1i: procedure(s: TGLint); stdcall;
Public | TexCoord1iv: procedure(v: PGLint); stdcall;
Public | TexCoord1s: procedure(s: TGLshort); stdcall;
Public | TexCoord1sv: procedure(v: PGLshort); stdcall;
Public | TexCoord2d: procedure(s, t: TGLdouble); stdcall;
Public | TexCoord2dv: procedure(v: PGLdouble); stdcall;
Public | TexCoord2f: procedure(s, t: TGLfloat); stdcall;
Public | TexCoord2fv: procedure(v: PGLfloat); stdcall;
Public | TexCoord2i: procedure(s, t: TGLint); stdcall;
Public | TexCoord2iv: procedure(v: PGLint); stdcall;
Public | TexCoord2s: procedure(s, t: TGLshort); stdcall;
Public | TexCoord2sv: procedure(v: PGLshort); stdcall;
Public | TexCoord3d: procedure(s, t, r: TGLdouble); stdcall;
Public | TexCoord3dv: procedure(v: PGLdouble); stdcall;
Public | TexCoord3f: procedure(s, t, r: TGLfloat); stdcall;
Public | TexCoord3fv: procedure(v: PGLfloat); stdcall;
Public | TexCoord3i: procedure(s, t, r: TGLint); stdcall;
Public | TexCoord3iv: procedure(v: PGLint); stdcall;
Public | TexCoord3s: procedure(s, t, r: TGLshort); stdcall;
Public | TexCoord3sv: procedure(v: PGLshort); stdcall;
Public | TexCoord4d: procedure(s, t, r, q: TGLdouble); stdcall;
Public | TexCoord4dv: procedure(v: PGLdouble); stdcall;
Public | TexCoord4f: procedure(s, t, r, q: TGLfloat); stdcall;
Public | TexCoord4fv: procedure(v: PGLfloat); stdcall;
Public | TexCoord4i: procedure(s, t, r, q: TGLint); stdcall;
Public | TexCoord4iv: procedure(v: PGLint); stdcall;
Public | TexCoord4s: procedure(s, t, r, q: TGLshort); stdcall;
Public | TexCoord4sv: procedure(v: PGLshort); stdcall;
Public | TexCoordPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public | TexEnvf: procedure(target, pname: Cardinal; param: TGLfloat); stdcall;
Public | TexEnvfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public | TexEnvi: procedure(target, pname: Cardinal; param: TGLint); stdcall;
Public | TexEnviv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public | TexGend: procedure(coord, pname: Cardinal; param: TGLdouble); stdcall;
Public | TexGendv: procedure(coord, pname: Cardinal; params: PGLdouble); stdcall;
Public | TexGenf: procedure(coord, pname: Cardinal; param: TGLfloat); stdcall;
Public | TexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat); stdcall;
Public | TexGeni: procedure(coord, pname: Cardinal; param: TGLint); stdcall;
Public | TexGeniv: procedure(coord, pname: Cardinal; params: PGLint); stdcall;
Public | Translated: procedure(X, y, z: TGLdouble); stdcall;
Public | Translatef: procedure(X, y, z: TGLfloat); stdcall;
Public | Vertex2d: procedure(X, y: TGLdouble); stdcall;
Public | Vertex2dv: procedure(v: PGLdouble); stdcall;
Public | Vertex2f: procedure(X, y: TGLfloat); stdcall;
Public | Vertex2fv: procedure(v: PGLfloat); stdcall;
Public | Vertex2i: procedure(X, y: TGLint); stdcall;
Public | Vertex2iv: procedure(v: PGLint); stdcall;
Public | Vertex2s: procedure(X, y: TGLshort); stdcall;
Public | Vertex2sv: procedure(v: PGLshort); stdcall;
Public | Vertex3d: procedure(X, y, z: TGLdouble); stdcall;
Public | Vertex3dv: procedure(v: PGLdouble); stdcall;
Public | Vertex3f: procedure(X, y, z: TGLfloat); stdcall;
Public | Vertex3fv: procedure(v: PGLfloat); stdcall;
Public | Vertex3i: procedure(X, y, z: TGLint); stdcall;
Public | Vertex3iv: procedure(v: PGLint); stdcall;
Public | Vertex3s: procedure(X, y, z: TGLshort); stdcall;
Public | Vertex3sv: procedure(v: PGLshort); stdcall;
Public | Vertex4d: procedure(X, y, z, w: TGLdouble); stdcall;
Public | Vertex4dv: procedure(v: PGLdouble); stdcall;
Public | Vertex4f: procedure(X, y, z, w: TGLfloat); stdcall;
Public | Vertex4fv: procedure(v: PGLfloat); stdcall;
Public | Vertex4i: procedure(X, y, z, w: TGLint); stdcall;
Public | Vertex4iv: procedure(v: PGLint); stdcall;
Public | Vertex4s: procedure(X, y, z, w: TGLshort); stdcall;
Public | Vertex4sv: procedure(v: PGLshort); stdcall;
Public | VertexPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public | BlendColor: PFNGLBLENDCOLORPROC;
Public | BlendEquation: PFNGLBLENDEQUATIONPROC;
Public | DrawRangeElements: PFNGLDRAWRANGEELEMENTSPROC;
Public | TexImage3D: PFNGLTEXIMAGE3DPROC;
Public | TexSubImage3D: PFNGLTEXSUBIMAGE3DPROC;
Public | CopyTexSubImage3D: PFNGLCOPYTEXSUBIMAGE3DPROC;
Public | BlendFuncSeparate: PFNGLBLENDFUNCSEPARATEPROC;
Public | MultiDrawArrays: PFNGLMULTIDRAWARRAYSPROC;
Public | MultiDrawElements: PFNGLMULTIDRAWELEMENTSPROC;
Public | PointParameterf: PFNGLPOINTPARAMETERFPROC;
Public | PointParameterfv: PFNGLPOINTPARAMETERFVPROC;
Public | PointParameteri: PFNGLPOINTPARAMETERIPROC;
Public | PointParameteriv: PFNGLPOINTPARAMETERIVPROC;
Public | BlendEquationSeparate: PFNGLBLENDEQUATIONSEPARATEPROC;
Public | DrawBuffers: PFNGLDRAWBUFFERSPROC;
Public | StencilOpSeparate: PFNGLSTENCILOPSEPARATEPROC;
Public | StencilFuncSeparate: PFNGLSTENCILFUNCSEPARATEPROC;
Public | StencilMaskSeparate: PFNGLSTENCILMASKSEPARATEPROC;
Public | LockArrays: PFNGLLOCKARRAYSEXTPROC;
Public | UnlockArrays: PFNGLUNLOCKARRAYSEXTPROC;
Public | BindBuffer: PFNGLBINDBUFFERPROC;
Public | DeleteBuffers: PFNGLDELETEBUFFERSPROC;
Public | GenBuffers: PFNGLGENBUFFERSPROC;
Public | IsBuffer: PFNGLISBUFFERPROC;
Public | BufferData: PFNGLBUFFERDATAPROC;
Public | BufferSubData: PFNGLBUFFERSUBDATAPROC;
Public | GetBufferSubData: PFNGLGETBUFFERSUBDATAPROC;
Public | MapBuffer: PFNGLMAPBUFFERPROC;
Public | UnmapBuffer: PFNGLUNMAPBUFFERPROC;
Public | GetBufferParameteriv: PFNGLGETBUFFERPARAMETERIVPROC;
Public | GetBufferPointerv: PFNGLGETBUFFERPOINTERVPROC;
Public | MapBufferRange: PFNGLMAPBUFFERRANGEPROC;
Public | FlushMappedBufferRange: PFNGLFLUSHMAPPEDBUFFERRANGEPROC;
Public | BindBufferRange: PFNGLBINDBUFFERRANGEPROC;
Public | BindBufferOffset: PFNGLBINDBUFFEROFFSETEXTPROC;
Public | BindBufferBase: PFNGLBINDBUFFERBASEPROC;
Public | TransformFeedbackAttribs: PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC;
Public | TransformFeedbackVaryingsNV: PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC;
Public | TransformFeedbackVaryings: PFNGLTRANSFORMFEEDBACKVARYINGSPROC;
Public | GetTransformFeedbackVarying: PFNGLGETTRANSFORMFEEDBACKVARYINGPROC;
Public | BeginTransformFeedback: PFNGLBEGINTRANSFORMFEEDBACKPROC;
Public | EndTransformFeedback: PFNGLENDTRANSFORMFEEDBACKPROC;
Public | TexBuffer: PFNGLTEXBUFFERPROC;
Public | ClearBufferiv: PFNGLCLEARBUFFERIVPROC;
Public | ClearBufferuiv: PFNGLCLEARBUFFERUIVPROC;
Public | ClearBufferfv: PFNGLCLEARBUFFERFVPROC;
Public | ClearBufferfi: PFNGLCLEARBUFFERFIPROC;
Public | GetStringi: PFNGLGETSTRINGIPROC;
Public | BindVertexArray: PFNGLBINDVERTEXARRAYPROC;
Public | DeleteVertexArrays: PFNGLDELETEVERTEXARRAYSPROC;
Public | GenVertexArrays: PFNGLGENVERTEXARRAYSPROC;
Public | IsVertexArray: PFNGLISVERTEXARRAYPROC;
Public | FlushVertexArrayRangeNV: PFNGLFLUSHVERTEXARRAYRANGENVPROC;
Public | VertexArrayRangeNV: PFNGLVERTEXARRAYRANGENVPROC;
Public | GetUniformIndices: PFNGLGETUNIFORMINDICESPROC;
Public | GetActiveUniformsiv: PFNGLGETACTIVEUNIFORMSIVPROC;
Public | GetActiveUniformName: PFNGLGETACTIVEUNIFORMNAMEPROC;
Public | GetUniformBlockIndex: PFNGLGETUNIFORMBLOCKINDEXPROC;
Public | GetActiveUniformBlockiv: PFNGLGETACTIVEUNIFORMBLOCKIVPROC;
Public | GetActiveUniformBlockName: PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC;
Public | UniformBlockBinding: PFNGLUNIFORMBLOCKBINDINGPROC;
Public | CopyBufferSubData: PFNGLCOPYBUFFERSUBDATAPROC;
Public | UniformBuffer: PFNGLUNIFORMBUFFEREXTPROC;
Public | GetUniformBufferSize: PFNGLGETUNIFORMBUFFERSIZEEXTPROC;
Public | GetUniformOffset: PFNGLGETUNIFORMOFFSETEXTPROC;
Public | PrimitiveRestartIndex: PFNGLPRIMITIVERESTARTINDEXPROC;
Public | DrawElementsBaseVertex: PFNGLDRAWELEMENTSBASEVERTEXPROC;
Public | DrawRangeElementsBaseVertex: PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC;
Public | DrawElementsInstancedBaseVertex: PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC;
Public | MultiDrawElementsBaseVertex: PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC;
Public | DrawArraysInstanced: PFNGLDRAWARRAYSINSTANCEDPROC;
Public | DrawElementsInstanced: PFNGLDRAWELEMENTSINSTANCEDPROC;
Public | VertexAttrib1d: PFNGLVERTEXATTRIB1DPROC;
Public | VertexAttrib1dv: PFNGLVERTEXATTRIB1DVPROC;
Public | VertexAttrib1f: PFNGLVERTEXATTRIB1FPROC;
Public | VertexAttrib1fv: PFNGLVERTEXATTRIB1FVPROC;
Public | VertexAttrib1s: PFNGLVERTEXATTRIB1SPROC;
Public | VertexAttrib1sv: PFNGLVERTEXATTRIB1SVPROC;
Public | VertexAttrib2d: PFNGLVERTEXATTRIB2DPROC;
Public | VertexAttrib2dv: PFNGLVERTEXATTRIB2DVPROC;
Public | VertexAttrib2f: PFNGLVERTEXATTRIB2FPROC;
Public | VertexAttrib2fv: PFNGLVERTEXATTRIB2FVPROC;
Public | VertexAttrib2s: PFNGLVERTEXATTRIB2SPROC;
Public | VertexAttrib2sv: PFNGLVERTEXATTRIB2SVPROC;
Public | VertexAttrib3d: PFNGLVERTEXATTRIB3DPROC;
Public | VertexAttrib3dv: PFNGLVERTEXATTRIB3DVPROC;
Public | VertexAttrib3f: PFNGLVERTEXATTRIB3FPROC;
Public | VertexAttrib3fv: PFNGLVERTEXATTRIB3FVPROC;
Public | VertexAttrib3s: PFNGLVERTEXATTRIB3SPROC;
Public | VertexAttrib3sv: PFNGLVERTEXATTRIB3SVPROC;
Public | VertexAttrib4Nbv: PFNGLVERTEXATTRIB4NBVPROC;
Public | VertexAttrib4Niv: PFNGLVERTEXATTRIB4NIVPROC;
Public | VertexAttrib4Nsv: PFNGLVERTEXATTRIB4NSVPROC;
Public | VertexAttrib4Nub: PFNGLVERTEXATTRIB4NUBPROC;
Public | VertexAttrib4Nubv: PFNGLVERTEXATTRIB4NUBVPROC;
Public | VertexAttrib4Nuiv: PFNGLVERTEXATTRIB4NUIVPROC;
Public | VertexAttrib4Nusv: PFNGLVERTEXATTRIB4NUSVPROC;
Public | VertexAttrib4bv: PFNGLVERTEXATTRIB4BVPROC;
Public | VertexAttrib4d: PFNGLVERTEXATTRIB4DPROC;
Public | VertexAttrib4dv: PFNGLVERTEXATTRIB4DVPROC;
Public | VertexAttrib4f: PFNGLVERTEXATTRIB4FPROC;
Public | VertexAttrib4fv: PFNGLVERTEXATTRIB4FVPROC;
Public | VertexAttrib4iv: PFNGLVERTEXATTRIB4IVPROC;
Public | VertexAttrib4s: PFNGLVERTEXATTRIB4SPROC;
Public | VertexAttrib4sv: PFNGLVERTEXATTRIB4SVPROC;
Public | VertexAttrib4ubv: PFNGLVERTEXATTRIB4UBVPROC;
Public | VertexAttrib4uiv: PFNGLVERTEXATTRIB4UIVPROC;
Public | VertexAttrib4usv: PFNGLVERTEXATTRIB4USVPROC;
Public | VertexAttribPointer: PFNGLVERTEXATTRIBPOINTERPROC;
Public | VertexAttribI1i: PFNGLVERTEXATTRIBI1IPROC;
Public | VertexAttribI2i: PFNGLVERTEXATTRIBI2IPROC;
Public | VertexAttribI3i: PFNGLVERTEXATTRIBI3IPROC;
Public | VertexAttribI4i: PFNGLVERTEXATTRIBI4IPROC;
Public | VertexAttribI1ui: PFNGLVERTEXATTRIBI1UIPROC;
Public | VertexAttribI2ui: PFNGLVERTEXATTRIBI2UIPROC;
Public | VertexAttribI3ui: PFNGLVERTEXATTRIBI3UIPROC;
Public | VertexAttribI4ui: PFNGLVERTEXATTRIBI4UIPROC;
Public | VertexAttribI1iv: PFNGLVERTEXATTRIBI1IVPROC;
Public | VertexAttribI2iv: PFNGLVERTEXATTRIBI2IVPROC;
Public | VertexAttribI3iv: PFNGLVERTEXATTRIBI3IVPROC;
Public | VertexAttribI4iv: PFNGLVERTEXATTRIBI4IVPROC;
Public | VertexAttribI1uiv: PFNGLVERTEXATTRIBI1UIVPROC;
Public | VertexAttribI2uiv: PFNGLVERTEXATTRIBI2UIVPROC;
Public | VertexAttribI3uiv: PFNGLVERTEXATTRIBI3UIVPROC;
Public | VertexAttribI4uiv: PFNGLVERTEXATTRIBI4UIVPROC;
Public | VertexAttribI4bv: PFNGLVERTEXATTRIBI4BVPROC;
Public | VertexAttribI4sv: PFNGLVERTEXATTRIBI4SVPROC;
Public | VertexAttribI4ubv: PFNGLVERTEXATTRIBI4UBVPROC;
Public | VertexAttribI4usv: PFNGLVERTEXATTRIBI4USVPROC;
Public | VertexAttribIPointer: PFNGLVERTEXATTRIBIPOINTERPROC;
Public | GetVertexAttribIiv: PFNGLGETVERTEXATTRIBIIVPROC;
Public | GetVertexAttribIuiv: PFNGLGETVERTEXATTRIBIUIVPROC;
Public | Uniform1ui: PFNGLUNIFORM1UIPROC;
Public | Uniform2ui: PFNGLUNIFORM2UIPROC;
Public | Uniform3ui: PFNGLUNIFORM3UIPROC;
Public | Uniform4ui: PFNGLUNIFORM4UIPROC;
Public | Uniform1uiv: PFNGLUNIFORM1UIVPROC;
Public | Uniform2uiv: PFNGLUNIFORM2UIVPROC;
Public | Uniform3uiv: PFNGLUNIFORM3UIVPROC;
Public | Uniform4uiv: PFNGLUNIFORM4UIVPROC;
Public | GetUniformuiv: PFNGLGETUNIFORMUIVPROC;
Public | BindFragDataLocation: PFNGLBINDFRAGDATALOCATIONPROC;
Public | GetFragDataLocation: PFNGLGETFRAGDATALOCATIONPROC;
Public | ClampColor: PFNGLCLAMPCOLORPROC;
Public | ColorMaski: PFNGLCOLORMASKIPROC;
Public | GetBooleani_v: PFNGLGETBOOLEANI_VPROC;
Public | GetIntegeri_v: PFNGLGETINTEGERI_VPROC;
Public | Enablei: PFNGLENABLEIPROC;
Public | Disablei: PFNGLDISABLEIPROC;
Public | IsEnabledi: PFNGLISENABLEDIPROC;
Public | EnableVertexAttribArray: PFNGLENABLEVERTEXATTRIBARRAYPROC;
Public | DisableVertexAttribArray: PFNGLDISABLEVERTEXATTRIBARRAYPROC;
Public | VertexAttribDivisor: PFNGLVERTEXATTRIBDIVISORPROC;
Public | ClearColorIi: PFNGLCLEARCOLORIIEXTPROC;
Public | ClearColorIui: PFNGLCLEARCOLORIUIEXTPROC;
Public | TexParameterIiv: PFNGLTEXPARAMETERIIVPROC;
Public | TexParameterIuiv: PFNGLTEXPARAMETERIUIVPROC;
Public | GetTexParameterIiv: PFNGLGETTEXPARAMETERIIVPROC;
Public | GetTexParameterIuiv: PFNGLGETTEXPARAMETERIUIVPROC;
Public | PatchParameteri: PFNGLPATCHPARAMETERIPROC;
Public | PatchParameterfv: PFNGLPATCHPARAMETERFVPROC;
Public | BufferAddressRangeNV: PFNGLBUFFERADDRESSRANGENVPROC;
Public | VertexFormatNV: PFNGLVERTEXFORMATNVPROC;
Public | NormalFormatNV: PFNGLNORMALFORMATNVPROC;
Public | ColorFormatNV: PFNGLCOLORFORMATNVPROC;
Public | IndexFormatNV: PFNGLINDEXFORMATNVPROC;
Public | TexCoordFormatNV: PFNGLTEXCOORDFORMATNVPROC;
Public | EdgeFlagFormatNV: PFNGLEDGEFLAGFORMATNVPROC;
Public | SecondaryColorFormatNV: PFNGLSECONDARYCOLORFORMATNVPROC;
Public | FogCoordFormatNV: PFNGLFOGCOORDFORMATNVPROC;
Public | VertexAttribFormatNV: PFNGLVERTEXATTRIBFORMATNVPROC;
Public | VertexAttribIFormatNV: PFNGLVERTEXATTRIBIFORMATNVPROC;
Public | GetIntegerui64i_vNV: PFNGLGETINTEGERUI64I_VNVPROC;
Public | GetBufferParameterui64vNV: PGNGLGETBUFFERPARAMETERUI64VNV;
Public | MakeBufferResidentNV: PFNGLMAKEBUFFERRESIDENTNVPROC;
Public | MakeBufferNonResidentNV: PFNGLMAKEBUFFERNONRESIDENTNVPROC;
Public | IsBufferResidentNV: PFNGLISBUFFERRESIDENTNVPROC;
Public | MakeNamedBufferResidentNV: PFNGLMAKENAMEDBUFFERRESIDENTNVPROC;
Public | MakeNamedBufferNonResidentNV: PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC;
Public | IsNamedBufferResidentNV: PFNGLISNAMEDBUFFERRESIDENTNVPROC;
Public | GetNamedBufferParameterui64vNV: PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC;
Public | GetIntegerui64vNV: PFNGLGETINTEGERUI64VNVPROC;
Public | Uniformui64NV: PFNGLUNIFORMUI64NVPROC;
Public | Uniformui64vNV: PFNGLUNIFORMUI64VNVPROC;
Public | GetUniformui64vNV: PFNGLGETUNIFORMUI64VNVPROC;
Public | ProgramUniformui64NV: PFNGLPROGRAMUNIFORMUI64NVPROC;
Public | ProgramUniformui64vNV: PFNGLPROGRAMUNIFORMUI64VNVPROC;
Public | ClearBufferData: PFNGLClearBufferData;
Public | ClearBufferSubData: PFNGLClearBufferSubData;
Public | ClearNamedBufferData: PFNGLClearNamedBufferData;
Public | ClearNamedBufferSubData: PFNGLClearNamedBufferSubData;
Public | InvalidateTexSubImage: PFNGLInvalidateTexSubImage;
Public | InvalidateTexImage: PFNGLInvalidateTexImage;
Public | InvalidateBufferSubData: PFNGLInvalidateBufferSubData;
Public | InvalidateBufferData: PFNGLInvalidateBufferData;
Public | InvalidateFramebuffer: PFNGLInvalidateFramebuffer;
Public | InvalidateSubFramebuffer: PFNGLInvalidateSubFramebuffer;
Public | MultiDrawArraysIndirect: PFNGLMultiDrawArraysIndirect;
Public | MultiDrawElementsIndirect: PFNGLMultiDrawElementsIndirect;
Public | BindVertexBuffer: PFNGLBindVertexBuffer;
Public | VertexAttribFormat: PFNGLVertexAttribFormat;
Public | VertexAttribIFormat: PFNGLVertexAttribIFormat;
Public | VertexAttribLFormat: PFNGLVertexAttribLFormat;
Public | VertexAttribBinding: PFNGLVertexAttribBinding;
Public | VertexBindingDivisor: PFNGLVertexBindingDivisor;
Public | VertexArrayBindVertexBuffer: PFNGLVertexArrayBindVertexBuffer;
Public | VertexArrayVertexAttribFormat: PFNGLVertexArrayVertexAttribFormat;
Public | VertexArrayVertexAttribIFormat: PFNGLVertexArrayVertexAttribIFormat;
Public | VertexArrayVertexAttribLFormat: PFNGLVertexArrayVertexAttribLFormat;
Public | VertexArrayVertexAttribBinding: PFNGLVertexArrayVertexAttribBinding;
Public | VertexArrayVertexBindingDivisor: PFNGLVertexArrayVertexBindingDivisor;
Public | DeleteObject: PFNGLDELETEOBJECTARBPROC;
Public | GetHandle: PFNGLGETHANDLEARBPROC;
Public | DetachShader: PFNGLDETACHSHADERPROC;
Public | CreateShader: PFNGLCREATESHADERPROC;
Public | DeleteShader: PFNGLDELETESHADERPROC;
Public | ShaderSource: PFNGLSHADERSOURCEPROC;
Public | CompileShader: PFNGLCOMPILESHADERPROC;
Public | CreateProgram: PFNGLCREATEPROGRAMPROC;
Public | DeleteProgram: PFNGLDELETEPROGRAMPROC;
Public | AttachShader: PFNGLATTACHSHADERPROC;
Public | LinkProgram: PFNGLLINKPROGRAMPROC;
Public | UseProgram: PFNGLUSEPROGRAMPROC;
Public | ValidateProgram: PFNGLVALIDATEPROGRAMPROC;
Public | Uniform1f: PFNGLUNIFORM1FPROC;
Public | Uniform2f: PFNGLUNIFORM2FPROC;
Public | Uniform3f: PFNGLUNIFORM3FPROC;
Public | Uniform4f: PFNGLUNIFORM4FPROC;
Public | Uniform1i: PFNGLUNIFORM1IPROC;
Public | Uniform2i: PFNGLUNIFORM2IPROC;
Public | Uniform3i: PFNGLUNIFORM3IPROC;
Public | Uniform4i: PFNGLUNIFORM4IPROC;
Public | Uniform1fv: PFNGLUNIFORM1FVPROC;
Public | Uniform2fv: PFNGLUNIFORM2FVPROC;
Public | Uniform3fv: PFNGLUNIFORM3FVPROC;
Public | Uniform4fv: PFNGLUNIFORM4FVPROC;
Public | Uniform1iv: PFNGLUNIFORM1IVPROC;
Public | Uniform2iv: PFNGLUNIFORM2IVPROC;
Public | Uniform3iv: PFNGLUNIFORM3IVPROC;
Public | Uniform4iv: PFNGLUNIFORM4IVPROC;
Public | UniformMatrix2fv: PFNGLUNIFORMMATRIX2FVPROC;
Public | UniformMatrix3fv: PFNGLUNIFORMMATRIX3FVPROC;
Public | UniformMatrix4fv: PFNGLUNIFORMMATRIX4FVPROC;
Public | GetObjectParameterfv: PFNGLGETOBJECTPARAMETERFVARBPROC;
Public | GetObjectParameteriv: PFNGLGETOBJECTPARAMETERIVARBPROC;
Public | GetInfoLog: PFNGLGETINFOLOGARBPROC;
Public | GetAttachedObjects: PFNGLGETATTACHEDOBJECTSARBPROC;
Public | GetActiveAttrib: PFNGLGETACTIVEATTRIBPROC;
Public | GetActiveUniform: PFNGLGETACTIVEUNIFORMPROC;
Public | GetAttachedShaders: PFNGLGETATTACHEDSHADERSPROC;
Public | GetAttribLocation: PFNGLGETATTRIBLOCATIONPROC;
Public | GetProgramiv: PFNGLGETPROGRAMIVPROC;
Public | GetProgramInfoLog: PFNGLGETPROGRAMINFOLOGPROC;
Public | GetShaderiv: PFNGLGETSHADERIVPROC;
Public | GetShaderInfoLog: PFNGLGETSHADERINFOLOGPROC;
Public | GetShaderSource: PFNGLGETSHADERSOURCEPROC;
Public | GetUniformLocation: PFNGLGETUNIFORMLOCATIONPROC;
Public | GetUniformfv: PFNGLGETUNIFORMFVPROC;
Public | GetUniformiv: PFNGLGETUNIFORMIVPROC;
Public | GetVertexAttribdv: PFNGLGETVERTEXATTRIBDVPROC;
Public | GetVertexAttribfv: PFNGLGETVERTEXATTRIBFVPROC;
Public | GetVertexAttribiv: PFNGLGETVERTEXATTRIBIVPROC;
Public | GetVertexAttribPointerv: PFNGLGETVERTEXATTRIBPOINTERVPROC;
Public | IsProgram: PFNGLISPROGRAMPROC;
Public | IsShader: PFNGLISSHADERPROC;
Public | BindAttribLocation: PFNGLBINDATTRIBLOCATIONPROC;
Public | BindFragDataLocationIndexed: PFNGLBINDFRAGDATALOCATIONINDEXEDPROC;
Public | GetFragDataIndex: PFNGLGETFRAGDATAINDEXPROC;
Public | GetVaryingLocation: PFNGLGETVARYINGLOCATIONNVPROC;
Public | GetActiveVarying: PFNGLGETACTIVEVARYINGNVPROC;
Public | ActiveVarying: PFNGLACTIVEVARYINGNVPROC;
Public | GetProgramBinary: PFNGLGETPROGRAMBINARYPROC;
Public | ProgramBinary: PFNGLPROGRAMBINARYPROC;
Public | UseProgramStages: PFNGLUSEPROGRAMSTAGESPROC;
Public | ActiveShaderProgram: PFNGLACTIVESHADERPROGRAMPROC;
Public | CreateShaderProgramv: PFNGLCREATESHADERPROGRAMVPROC;
Public | BindProgramPipeline: PFNGLBINDPROGRAMPIPELINEPROC;
Public | DeleteProgramPipelines: PFNGLDELETEPROGRAMPIPELINESPROC;
Public | GenProgramPipelines: PFNGLGENPROGRAMPIPELINESPROC;
Public | IsProgramPipeline: PFNGLISPROGRAMPIPELINEPROC;
Public | GetProgramPipelineiv: PFNGLGETPROGRAMPIPELINEIVPROC;
Public | ProgramUniform1i: PFNGLPROGRAMUNIFORM1IPROC;
Public | ProgramUniform1iv: PFNGLPROGRAMUNIFORM1IVPROC;
Public | ProgramUniform1f: PFNGLPROGRAMUNIFORM1FPROC;
Public | ProgramUniform1fv: PFNGLPROGRAMUNIFORM1FVPROC;
Public | ProgramUniform1d: PFNGLPROGRAMUNIFORM1DPROC;
Public | ProgramUniform1dv: PFNGLPROGRAMUNIFORM1DVPROC;
Public | ProgramUniform1ui: PFNGLPROGRAMUNIFORM1UIPROC;
Public | ProgramUniform1uiv: PFNGLPROGRAMUNIFORM1UIVPROC;
Public | ProgramUniform2i: PFNGLPROGRAMUNIFORM2IPROC;
Public | ProgramUniform2iv: PFNGLPROGRAMUNIFORM2IVPROC;
Public | ProgramUniform2f: PFNGLPROGRAMUNIFORM2FPROC;
Public | ProgramUniform2fv: PFNGLPROGRAMUNIFORM2FVPROC;
Public | ProgramUniform2d: PFNGLPROGRAMUNIFORM2DPROC;
Public | ProgramUniform2dv: PFNGLPROGRAMUNIFORM2DVPROC;
Public | ProgramUniform2ui: PFNGLPROGRAMUNIFORM2UIPROC;
Public | ProgramUniform2uiv: PFNGLPROGRAMUNIFORM2UIVPROC;
Public | ProgramUniform3i: PFNGLPROGRAMUNIFORM3IPROC;
Public | ProgramUniform3iv: PFNGLPROGRAMUNIFORM3IVPROC;
Public | ProgramUniform3f: PFNGLPROGRAMUNIFORM3FPROC;
Public | ProgramUniform3fv: PFNGLPROGRAMUNIFORM3FVPROC;
Public | ProgramUniform3d: PFNGLPROGRAMUNIFORM3DPROC;
Public | ProgramUniform3dv: PFNGLPROGRAMUNIFORM3DVPROC;
Public | ProgramUniform3ui: PFNGLPROGRAMUNIFORM3UIPROC;
Public | ProgramUniform3uiv: PFNGLPROGRAMUNIFORM3UIVPROC;
Public | ProgramUniform4i: PFNGLPROGRAMUNIFORM4IPROC;
Public | ProgramUniform4iv: PFNGLPROGRAMUNIFORM4IVPROC;
Public | ProgramUniform4f: PFNGLPROGRAMUNIFORM4FPROC;
Public | ProgramUniform4fv: PFNGLPROGRAMUNIFORM4FVPROC;
Public | ProgramUniform4d: PFNGLPROGRAMUNIFORM4DPROC;
Public | ProgramUniform4dv: PFNGLPROGRAMUNIFORM4DVPROC;
Public | ProgramUniform4ui: PFNGLPROGRAMUNIFORM4UIPROC;
Public | ProgramUniform4uiv: PFNGLPROGRAMUNIFORM4UIVPROC;
Public | ProgramUniformMatrix2fv: PFNGLPROGRAMUNIFORMMATRIX2FVPROC;
Public | ProgramUniformMatrix3fv: PFNGLPROGRAMUNIFORMMATRIX3FVPROC;
Public | ProgramUniformMatrix4fv: PFNGLPROGRAMUNIFORMMATRIX4FVPROC;
Public | ProgramUniformMatrix2dv: PFNGLPROGRAMUNIFORMMATRIX2DVPROC;
Public | ProgramUniformMatrix3dv: PFNGLPROGRAMUNIFORMMATRIX3DVPROC;
Public | ProgramUniformMatrix4dv: PFNGLPROGRAMUNIFORMMATRIX4DVPROC;
Public | ProgramUniformMatrix2x3fv: PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC;
Public | ProgramUniformMatrix3x2fv: PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC;
Public | ProgramUniformMatrix2x4fv: PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC;
Public | ProgramUniformMatrix4x2fv: PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC;
Public | ProgramUniformMatrix3x4fv: PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC;
Public | ProgramUniformMatrix4x3fv: PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC;
Public | ProgramUniformMatrix2x3dv: PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC;
Public | ProgramUniformMatrix3x2dv: PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC;
Public | ProgramUniformMatrix2x4dv: PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC;
Public | ProgramUniformMatrix4x2dv: PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC;
Public | ProgramUniformMatrix3x4dv: PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC;
Public | ProgramUniformMatrix4x3dv: PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC;
Public | ValidateProgramPipeline: PFNGLVALIDATEPROGRAMPIPELINEPROC;
Public | GetProgramPipelineInfoLog: PFNGLGETPROGRAMPIPELINEINFOLOGPROC;
Public | DispatchCompute: PFNGLDispatchCompute;
Public | DispatchComputeIndirect: PFNGLDispatchComputeIndirect;
Public | ShaderStorageBlockBinding: PFNGLShaderStorageBlockBinding;
Public | IsRenderbuffer: PFNGLISRENDERBUFFERPROC;
Public | BindRenderbuffer: PFNGLBINDRENDERBUFFERPROC;
Public | DeleteRenderbuffers: PFNGLDELETERENDERBUFFERSPROC;
Public | GenRenderbuffers: PFNGLGENRENDERBUFFERSPROC;
Public | RenderbufferStorage: PFNGLRENDERBUFFERSTORAGEPROC;
Public | RenderbufferStorageMultisample: PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC;
Public | GetRenderbufferParameteriv: PFNGLGETRENDERBUFFERPARAMETERIVPROC;
Public | IsFramebuffer: PFNGLISFRAMEBUFFERPROC;
Public | BindFramebuffer: PFNGLBINDFRAMEBUFFERPROC;
Public | DeleteFramebuffers: PFNGLDELETEFRAMEBUFFERSPROC;
Public | GenFramebuffers: PFNGLGENFRAMEBUFFERSPROC;
Public | CheckFramebufferStatus: PFNGLCHECKFRAMEBUFFERSTATUSPROC;
Public | FramebufferTexture: PFNGLFRAMEBUFFERTEXTUREPROC;
Public | FramebufferTexture1D: PFNGLFRAMEBUFFERTEXTURE1DPROC;
Public | FramebufferTexture2D: PFNGLFRAMEBUFFERTEXTURE2DPROC;
Public | FramebufferTexture3D: PFNGLFRAMEBUFFERTEXTURE3DPROC;
Public | FramebufferTextureLayer: PFNGLFRAMEBUFFERTEXTURELAYERPROC;
Public | FramebufferTextureFace: PFNGLFRAMEBUFFERTEXTUREFACEARBPROC;
Public | FramebufferRenderbuffer: PFNGLFRAMEBUFFERRENDERBUFFERPROC;
Public | GetFramebufferAttachmentParameteriv: PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC;
Public | BlitFramebuffer: PFNGLBLITFRAMEBUFFERPROC;
Public | GenerateMipmap: PFNGLGENERATEMIPMAPPROC;
Public | FramebufferParameteri: PFNGLFramebufferParameteri;
Public | NamedFramebufferParameteri: PFNGLNamedFramebufferParameteri;
Public | GetNamedFramebufferParameteriv: PFNGLGetNamedFramebufferParameteriv;
Public | GenQueries: PFNGLGENQUERIESPROC;
Public | DeleteQueries: PFNGLDELETEQUERIESPROC;
Public | IsQuery: PFNGLISQUERYPROC;
Public | BeginQuery: PFNGLBEGINQUERYPROC;
Public | EndQuery: PFNGLENDQUERYPROC;
Public | GetQueryiv: PFNGLGETQUERYIVPROC;
Public | GetQueryObjectiv: PFNGLGETQUERYOBJECTIVPROC;
Public | GetQueryObjectuiv: PFNGLGETQUERYOBJECTUIVPROC;
Public | QueryCounter: PFNGLQUERYCOUNTERPROC;
Public | GetQueryObjecti64v: PFNGLGETQUERYOBJECTI64VPROC;
Public | GetQueryObjectui64v: PFNGLGETQUERYOBJECTUI64VPROC;
Public | GetInternalformati64v: PFNGLGetInternalformati64v;
Public | GetProgramInterfaceiv: PFNGLGetProgramInterfaceiv;
Public | GetProgramResourceIndex: PFNGLGetProgramResourceIndex;
Public | GetProgramResourceName: PFNGLGetProgramResourceName;
Public | GetProgramResourceiv: PFNGLGetProgramResourceiv;
Public | GetProgramResourceLocation: PFNGLGetProgramResourceLocation;
Public | GetProgramResourceLocationIndex: PFNGLGetProgramResourceLocationIndex;
Public | ActiveTexture: PFNGLACTIVETEXTUREPROC;
Public | SampleCoverage: PFNGLSAMPLECOVERAGEPROC;
Public | CompressedTexImage3D: PFNGLCOMPRESSEDTEXIMAGE3DPROC;
Public | CompressedTexImage2D: PFNGLCOMPRESSEDTEXIMAGE2DPROC;
Public | CompressedTexImage1D: PFNGLCOMPRESSEDTEXIMAGE1DPROC;
Public | CompressedTexSubImage3D: PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC;
Public | CompressedTexSubImage2D: PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC;
Public | CompressedTexSubImage1D: PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC;
Public | GetCompressedTexImage: PFNGLGETCOMPRESSEDTEXIMAGEPROC;
Public | ClientActiveTexture: PFNGLCLIENTACTIVETEXTUREPROC;
Public | MultiTexCoord1d: PFNGLMULTITEXCOORD1DPROC;
Public | MultiTexCoord1dV: PFNGLMULTITEXCOORD1DVPROC;
Public | MultiTexCoord1f: PFNGLMULTITEXCOORD1FPROC;
Public | MultiTexCoord1fv: PFNGLMULTITEXCOORD1FVPROC;
Public | MultiTexCoord1i: PFNGLMULTITEXCOORD1IPROC;
Public | MultiTexCoord1iv: PFNGLMULTITEXCOORD1IVPROC;
Public | MultiTexCoord1s: PFNGLMULTITEXCOORD1SPROC;
Public | MultiTexCoord1sv: PFNGLMULTITEXCOORD1SVPROC;
Public | MultiTexCoord2d: PFNGLMULTITEXCOORD2DPROC;
Public | MultiTexCoord2dv: PFNGLMULTITEXCOORD2DVPROC;
Public | MultiTexCoord2f: PFNGLMULTITEXCOORD2FPROC;
Public | MultiTexCoord2fv: PFNGLMULTITEXCOORD2FVPROC;
Public | MultiTexCoord2i: PFNGLMULTITEXCOORD2IPROC;
Public | MultiTexCoord2iv: PFNGLMULTITEXCOORD2IVPROC;
Public | MultiTexCoord2s: PFNGLMULTITEXCOORD2SPROC;
Public | MultiTexCoord2sv: PFNGLMULTITEXCOORD2SVPROC;
Public | MultiTexCoord3d: PFNGLMULTITEXCOORD3DPROC;
Public | MultiTexCoord3dv: PFNGLMULTITEXCOORD3DVPROC;
Public | MultiTexCoord3f: PFNGLMULTITEXCOORD3FPROC;
Public | MultiTexCoord3fv: PFNGLMULTITEXCOORD3FVPROC;
Public | MultiTexCoord3i: PFNGLMULTITEXCOORD3IPROC;
Public | MultiTexCoord3iv: PFNGLMULTITEXCOORD3IVPROC;
Public | MultiTexCoord3s: PFNGLMULTITEXCOORD3SPROC;
Public | MultiTexCoord3sv: PFNGLMULTITEXCOORD3SVPROC;
Public | MultiTexCoord4d: PFNGLMULTITEXCOORD4DPROC;
Public | MultiTexCoord4dv: PFNGLMULTITEXCOORD4DVPROC;
Public | MultiTexCoord4f: PFNGLMULTITEXCOORD4FPROC;
Public | MultiTexCoord4fv: PFNGLMULTITEXCOORD4FVPROC;
Public | MultiTexCoord4i: PFNGLMULTITEXCOORD4IPROC;
Public | MultiTexCoord4iv: PFNGLMULTITEXCOORD4IVPROC;
Public | MultiTexCoord4s: PFNGLMULTITEXCOORD4SPROC;
Public | MultiTexCoord4sv: PFNGLMULTITEXCOORD4SVPROC;
Public | GetInteger64i_v: PFNGLGETINTEGER64I_VPROC;
Public | GetBufferParameteri64v: PFNGLGETBUFFERPARAMETERI64VPROC;
Public | ProgramParameteri: PFNGLPROGRAMPARAMETERIPROC;
Public | ProgramString: PFNGLPROGRAMSTRINGARBPROC;
Public | BindProgram: PFNGLBINDPROGRAMARBPROC;
Public | DeletePrograms: PFNGLDELETEPROGRAMSARBPROC;
Public | GenPrograms: PFNGLGENPROGRAMSARBPROC;
Public | ProgramEnvParameter4d: PFNGLPROGRAMENVPARAMETER4DARBPROC;
Public | ProgramEnvParameter4dv: PFNGLPROGRAMENVPARAMETER4DVARBPROC;
Public | ProgramEnvParameter4f: PFNGLPROGRAMENVPARAMETER4FARBPROC;
Public | ProgramEnvParameter4fv: PFNGLPROGRAMENVPARAMETER4FVARBPROC;
Public | ProgramLocalParameter4d: PFNGLPROGRAMLOCALPARAMETER4DARBPROC;
Public | ProgramLocalParameter4dv: PFNGLPROGRAMLOCALPARAMETER4DVARBPROC;
Public | ProgramLocalParameter4f: PFNGLPROGRAMLOCALPARAMETER4FARBPROC;
Public | ProgramLocalParameter4fv: PFNGLPROGRAMLOCALPARAMETER4FVARBPROC;
Public | GetProgramEnvParameterdv: PFNGLGETPROGRAMENVPARAMETERDVARBPROC;
Public | GetProgramEnvParameterfv: PFNGLGETPROGRAMENVPARAMETERFVARBPROC;
Public | GetProgramLocalParameterdv: PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC;
Public | GetProgramLocalParameterfv: PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC;
Public | TexImage2DMultisample: PFNGLTEXIMAGE2DMULTISAMPLEPROC;
Public | TexImage3DMultisample: PFNGLTEXIMAGE3DMULTISAMPLEPROC;
Public | GetMultisamplefv: PFNGLGETMULTISAMPLEFVPROC;
Public | SampleMaski: PFNGLSAMPLEMASKIPROC;
Public | ProvokingVertex: PFNGLPROVOKINGVERTEXPROC;
Public | FenceSync: PFNGLFENCESYNCPROC;
Public | IsSync: PFNGLISSYNCPROC;
Public | DeleteSync: PFNGLDELETESYNCPROC;
Public | ClientWaitSync: PFNGLCLIENTWAITSYNCPROC;
Public | WaitSync: PFNGLWAITSYNCPROC;
Public | GetInteger64v: PFNGLGETINTEGER64VPROC;
Public | GetSynciv: PFNGLGETSYNCIVPROC;
Public | BlendEquationi: PFNGLBLENDEQUATIONIPROC;
Public | BlendEquationSeparatei: PFNGLBLENDEQUATIONSEPARATEIPROC;
Public | BlendFunci: PFNGLBLENDFUNCIPROC;
Public | BlendFuncSeparatei: PFNGLBLENDFUNCSEPARATEIPROC;
Public | MinSampleShading: PFNGLMINSAMPLESHADINGPROC;
Public | GenSamplers: PFNGLGENSAMPLERSPROC;
Public | DeleteSamplers: PFNGLDELETESAMPLERSPROC;
Public | IsSampler: PFNGLISSAMPLERPROC;
Public | BindSampler: PFNGLBINDSAMPLERPROC;
Public | SamplerParameteri: PFNGLSAMPLERPARAMETERIPROC;
Public | SamplerParameteriv: PFNGLSAMPLERPARAMETERIVPROC;
Public | SamplerParameterf: PFNGLSAMPLERPARAMETERFPROC;
Public | SamplerParameterfv: PFNGLSAMPLERPARAMETERFVPROC;
Public | SamplerParameterIiv: PFNGLSAMPLERPARAMETERIIVPROC;
Public | SamplerParameterIuiv: PFNGLSAMPLERPARAMETERIUIVPROC;
Public | GetSamplerParameteriv: PFNGLGETSAMPLERPARAMETERIVPROC;
Public | GetSamplerParameterIiv: PFNGLGETSAMPLERPARAMETERIIVPROC;
Public | GetSamplerParameterfv: PFNGLGETSAMPLERPARAMETERFVPROC;
Public | GetSamplerParameterIfv: PFNGLGETSAMPLERPARAMETERIFVPROC;
Public | CopyImageSubData: PFNGLCopyImageSubData;
Public | TexBufferRange: PFNGLTexBufferRange;
Public | TextureBufferRange: PFNGLTextureBufferRange;
Public | TexStorage2DMultisample: PFNGLTexStorage2DMultisample;
Public | TexStorage3DMultisample: PFNGLTexStorage3DMultisample;
Public | TextureStorage2DMultisample: PFNGLTextureStorage2DMultisample;
Public | TextureStorage3DMultisample: PFNGLTextureStorage3DMultisample;
Public | BufferStorage: PFNGLBufferStorage;
Public | ClearTexImage: PFNGLClearTexImage;
Public | ClearTexSubImage: PFNGLClearTexSubImage;
Public | BindBuffersBase: PFNGLBindBuffersBase;
Public | BindBuffersRange: PFNGLBindBuffersRange;
Public | BindTextures: PFNGLBindTextures;
Public | BindSamplers: PFNGLBindSamplers;
Public | BindImageTextures: PFNGLBindImageTextures;
Public | BindVertexBuffers: PFNGLBindVertexBuffers;
Public | TextureView: PFNGLTextureView;
Public | ClientAttribDefault: PFNGLCLIENTATTRIBDEFAULTEXTPROC;
Public | PushClientAttribDefault: PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC;
Public | MatrixLoadf: PFNGLMATRIXLOADFEXTPROC;
Public | MatrixLoadd: PFNGLMATRIXLOADDEXTPROC;
Public | MatrixMultf: PFNGLMATRIXMULTFEXTPROC;
Public | MatrixMultd: PFNGLMATRIXMULTDEXTPROC;
Public | MatrixLoadIdentity: PFNGLMATRIXLOADIDENTITYEXTPROC;
Public | MatrixRotatef: PFNGLMATRIXROTATEFEXTPROC;
Public | MatrixRotated: PFNGLMATRIXROTATEDEXTPROC;
Public | MatrixScalef: PFNGLMATRIXSCALEFEXTPROC;
Public | MatrixScaled: PFNGLMATRIXSCALEDEXTPROC;
Public | MatrixTranslatef: PFNGLMATRIXTRANSLATEFEXTPROC;
Public | MatrixTranslated: PFNGLMATRIXTRANSLATEDEXTPROC;
Public | MatrixFrustum: PFNGLMATRIXFRUSTUMEXTPROC;
Public | MatrixOrtho: PFNGLMATRIXORTHOEXTPROC;
Public | MatrixPop: PFNGLMATRIXPOPEXTPROC;
Public | MatrixPush: PFNGLMATRIXPUSHEXTPROC;
Public | MatrixLoadTransposef: PFNGLMATRIXLOADTRANSPOSEFEXTPROC;
Public | MatrixLoadTransposed: PFNGLMATRIXLOADTRANSPOSEDEXTPROC;
Public | MatrixMultTransposef: PFNGLMATRIXMULTTRANSPOSEFEXTPROC;
Public | MatrixMultTransposed: PFNGLMATRIXMULTTRANSPOSEDEXTPROC;
Public | TextureParameterfv: PFNGLTEXTUREPARAMETERFVEXTPROC;
Public | TextureParameteri: PFNGLTEXTUREPARAMETERIEXTPROC;
Public | TextureParameteriv: PFNGLTEXTUREPARAMETERIVEXTPROC;
Public | TextureImage1D: PFNGLTEXTUREIMAGE1DEXTPROC;
Public | TextureImage2D: PFNGLTEXTUREIMAGE2DEXTPROC;
Public | TextureSubImage1D: PFNGLTEXTURESUBIMAGE1DEXTPROC;
Public | TextureSubImage2D: PFNGLTEXTURESUBIMAGE2DEXTPROC;
Public | CopyTextureImage1D: PFNGLCOPYTEXTUREIMAGE1DEXTPROC;
Public | CopyTextureImage2D: PFNGLCOPYTEXTUREIMAGE2DEXTPROC;
Public | CopyTextureSubImage1D: PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC;
Public | CopyTextureSubImage2D: PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC;
Public | GetTextureImage: PFNGLGETTEXTUREIMAGEEXTPROC;
Public | GetTextureParameterfv: PFNGLGETTEXTUREPARAMETERFVEXTPROC;
Public | GetTextureParameteriv: PFNGLGETTEXTUREPARAMETERIVEXTPROC;
Public | GetTextureLevelParameterfv: PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC;
Public | GetTextureLevelParameteriv: PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC;
Public | TextureImage3D: PFNGLTEXTUREIMAGE3DEXTPROC;
Public | TextureSubImage3D: PFNGLTEXTURESUBIMAGE3DEXTPROC;
Public | CopyTextureSubImage3D: PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC;
Public | MultiTexParameterf: PFNGLMULTITEXPARAMETERFEXTPROC;
Public | MultiTexParameterfv: PFNGLMULTITEXPARAMETERFVEXTPROC;
Public | MultiTexParameteri: PFNGLMULTITEXPARAMETERIEXTPROC;
Public | MultiTexParameteriv: PFNGLMULTITEXPARAMETERIVEXTPROC;
Public | MultiTexImage1D: PFNGLMULTITEXIMAGE1DEXTPROC;
Public | MultiTexImage2D: PFNGLMULTITEXIMAGE2DEXTPROC;
Public | MultiTexSubImage1D: PFNGLMULTITEXSUBIMAGE1DEXTPROC;
Public | MultiTexSubImage2D: PFNGLMULTITEXSUBIMAGE2DEXTPROC;
Public | CopyMultiTexImage1D: PFNGLCOPYMULTITEXIMAGE1DEXTPROC;
Public | CopyMultiTexImage2D: PFNGLCOPYMULTITEXIMAGE2DEXTPROC;
Public | CopyMultiTexSubImage1D: PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC;
Public | CopyMultiTexSubImage2D: PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC;
Public | GetMultiTexImage: PFNGLGETMULTITEXIMAGEEXTPROC;
Public | GetMultiTexParameterfv: PFNGLGETMULTITEXPARAMETERFVEXTPROC;
Public | GetMultiTexParameteriv: PFNGLGETMULTITEXPARAMETERIVEXTPROC;
Public | GetMultiTexLevelParameterfv: PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC;
Public | GetMultiTexLevelParameteriv: PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC;
Public | MultiTexImage3D: PFNGLMULTITEXIMAGE3DEXTPROC;
Public | MultiTexSubImage3D: PFNGLMULTITEXSUBIMAGE3DEXTPROC;
Public | CopyMultiTexSubImage3D: PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC;
Public | BindMultiTexture: PFNGLBINDMULTITEXTUREEXTPROC;
Public | EnableClientStateIndexed: PFNGLENABLECLIENTSTATEINDEXEDEXTPROC;
Public | DisableClientStateIndexed: PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC;
Public | MultiTexCoordPointer: PFNGLMULTITEXCOORDPOINTEREXTPROC;
Public | MultiTexEnvf: PFNGLMULTITEXENVFEXTPROC;
Public | MultiTexEnvfv: PFNGLMULTITEXENVFVEXTPROC;
Public | MultiTexEnvi: PFNGLMULTITEXENVIEXTPROC;
Public | MultiTexEnviv: PFNGLMULTITEXENVIVEXTPROC;
Public | MultiTexGend: PFNGLMULTITEXGENDEXTPROC;
Public | MultiTexGendv: PFNGLMULTITEXGENDVEXTPROC;
Public | MultiTexGenf: PFNGLMULTITEXGENFEXTPROC;
Public | MultiTexGenfv: PFNGLMULTITEXGENFVEXTPROC;
Public | MultiTexGeni: PFNGLMULTITEXGENIEXTPROC;
Public | MultiTexGeniv: PFNGLMULTITEXGENIVEXTPROC;
Public | GetMultiTexEnvfv: PFNGLGETMULTITEXENVFVEXTPROC;
Public | GetMultiTexEnviv: PFNGLGETMULTITEXENVIVEXTPROC;
Public | GetMultiTexGendv: PFNGLGETMULTITEXGENDVEXTPROC;
Public | GetMultiTexGenfv: PFNGLGETMULTITEXGENFVEXTPROC;
Public | GetMultiTexGeniv: PFNGLGETMULTITEXGENIVEXTPROC;
Public | GetFloatIndexedv: PFNGLGETFLOATINDEXEDVEXTPROC;
Public | GetDoubleIndexedv: PFNGLGETDOUBLEINDEXEDVEXTPROC;
Public | GetPointerIndexedv: PFNGLGETPOINTERINDEXEDVEXTPROC;
Public | CompressedTextureImage3D: PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC;
Public | CompressedTextureImage2D: PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC;
Public | CompressedTextureImage1D: PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC;
Public | CompressedTextureSubImage3D: PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC;
Public | CompressedTextureSubImage2D: PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC;
Public | CompressedTextureSubImage1D: PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC;
Public | GetCompressedTextureImage: PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC;
Public | CompressedMultiTexImage3D: PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC;
Public | CompressedMultiTexImage2D: PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC;
Public | CompressedMultiTexImage1D: PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC;
Public | CompressedMultiTexSubImage3D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC;
Public | CompressedMultiTexSubImage2D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC;
Public | CompressedMultiTexSubImage1D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC;
Public | GetCompressedMultiTexImage: PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC;
Public | NamedProgramString: PFNGLNAMEDPROGRAMSTRINGEXTPROC;
Public | NamedProgramLocalParameter4d: PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC;
Public | NamedProgramLocalParameter4dv: PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC;
Public | NamedProgramLocalParameter4f: PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC;
Public | NamedProgramLocalParameter4fv: PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC;
Public | GetNamedProgramLocalParameterdv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC;
Public | GetNamedProgramLocalParameterfv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC;
Public | GetNamedProgramiv: PFNGLGETNAMEDPROGRAMIVEXTPROC;
Public | GetNamedProgramString: PFNGLGETNAMEDPROGRAMSTRINGEXTPROC;
Public | NamedProgramLocalParameters4fv: PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC;
Public | NamedProgramLocalParameterI4i: PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC;
Public | NamedProgramLocalParameterI4iv: PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC;
Public | NamedProgramLocalParametersI4iv: PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC;
Public | NamedProgramLocalParameterI4ui: PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC;
Public | NamedProgramLocalParameterI4uiv: PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC;
Public | NamedProgramLocalParametersI4uiv: PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC;
Public | GetNamedProgramLocalParameterIiv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC;
Public | GetNamedProgramLocalParameterIuiv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC;
Public | TextureParameterIiv: PFNGLTEXTUREPARAMETERIIVEXTPROC;
Public | TextureParameterIuiv: PFNGLTEXTUREPARAMETERIUIVEXTPROC;
Public | GetTextureParameterIiv: PFNGLGETTEXTUREPARAMETERIIVEXTPROC;
Public | GetTextureParameterIuiv: PFNGLGETTEXTUREPARAMETERIUIVEXTPROC;
Public | MultiTexParameterIiv: PFNGLMULTITEXPARAMETERIIVEXTPROC;
Public | MultiTexParameterIuiv: PFNGLMULTITEXPARAMETERIUIVEXTPROC;
Public | GetMultiTexParameterIiv: PFNGLGETMULTITEXPARAMETERIIVEXTPROC;
Public | GetMultiTexParameterIuiv: PFNGLGETMULTITEXPARAMETERIUIVEXTPROC;
Public | NamedBufferData: PFNGLNAMEDBUFFERDATAEXTPROC;
Public | NamedBufferSubData: PFNGLNAMEDBUFFERSUBDATAEXTPROC;
Public | MapNamedBuffer: PFNGLMAPNAMEDBUFFEREXTPROC;
Public | UnmapNamedBuffer: PFNGLUNMAPNAMEDBUFFEREXTPROC;
Public | MapNamedBufferRange: PFNGLMAPNAMEDBUFFERRANGEEXTPROC;
Public | FlushMappedNamedBufferRange: PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC;
Public | NamedCopyBufferSubData: PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC;
Public | GetNamedBufferParameteriv: PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC;
Public | GetNamedBufferPointerv: PFNGLGETNAMEDBUFFERPOINTERVEXTPROC;
Public | GetNamedBufferSubData: PFNGLGETNAMEDBUFFERSUBDATAEXTPROC;
Public | TextureBuffer: PFNGLTEXTUREBUFFEREXTPROC;
Public | MultiTexBuffer: PFNGLMULTITEXBUFFEREXTPROC;
Public | NamedRenderbufferStorage: PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC;
Public | GetNamedRenderbufferParameteriv: PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC;
Public | CheckNamedFramebufferStatus: PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC;
Public | NamedFramebufferTexture1D: PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC;
Public | NamedFramebufferTexture2D: PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC;
Public | NamedFramebufferTexture3D: PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC;
Public | NamedFramebufferRenderbuffer: PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC;
Public | GetNamedFramebufferAttachmentParameteriv: PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC;
Public | GenerateTextureMipmap: PFNGLGENERATETEXTUREMIPMAPEXTPROC;
Public | GenerateMultiTexMipmap: PFNGLGENERATEMULTITEXMIPMAPEXTPROC;
Public | FramebufferDrawBuffer: PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC;
Public | FramebufferDrawBuffers: PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC;
Public | FramebufferReadBuffer: PFNGLFRAMEBUFFERREADBUFFEREXTPROC;
Public | GetFramebufferParameteriv: PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC;
Public | NamedRenderbufferStorageMultisample: PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC;
Public | NamedRenderbufferStorageMultisampleCoverage: PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC;
Public | NamedFramebufferTexture: PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC;
Public | NamedFramebufferTextureLayer: PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC;
Public | NamedFramebufferTextureFace: PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC;
Public | TextureRenderbuffer: PFNGLTEXTURERENDERBUFFEREXTPROC;
Public | MultiTexRenderbuffer: PFNGLMULTITEXRENDERBUFFEREXTPROC;
Public | FrameTerminatorGREMEDY: PFNGLFRAMETERMINATORGREMEDYPROC;
Public | StringMarkerGREMEDY: PFNGLSTRINGMARKERGREMEDYPROC;
Public | DebugMessageEnableAMDX: procedure(category: Cardinal; severity: Cardinal; Count: TGLsizei; var ids: Cardinal; Enabled: boolean);
Public | PushDebugGroup: PFNGLPushDebugGroup;
Public | PopDebugGroup: PFNGLPopDebugGroup;
Public | ObjectLabel: PFNGLObjectLabel;
Public | GetObjectLabel: PFNGLGetObjectLabel;
Public | ObjectPtrLabel: PFNGLObjectPtrLabel;
Public | GetObjectPtrLabel: PFNGLGetObjectPtrLabel;
Public | DebugMessageCallbackAMDX: procedure(callback: TDebugProcAMD; userParam: Pointer); stdcall;
Public | DebugMessageControl: procedure(type_: Cardinal; Source: Cardinal; severity: Cardinal; Count: TGLsizei; var ids: Cardinal; Enabled: boolean); stdcall;
Public | DebugMessageInsert: procedure(Source: Cardinal; severity: Cardinal; id: Cardinal; length: TGLsizei; const buf: PAnsiChar); stdcall;
Public | DebugMessageCallback: procedure(callback: TDebugProc; userParam: Pointer); stdcall;
Public | GetDebugMessageLog: function(Count: Cardinal; bufSize: TGLsizei; var severity: Cardinal; var severities: Cardinal; var ids: Cardinal; var lengths: TGLsizei; messageLog: PAnsiChar): Cardinal; stdcall;
Public | CreateSyncFromCLevent: PFNGLCreateSyncFromCLevent;
Public | VDPAUInitNV: procedure(const vdpDevice: Pointer; const getProcAddress: Pointer); stdcall;
Public | VDPAUFiniNV: procedure(); stdcall;
Public | VDPAURegisterVideoSurfaceNV: function(const vdpSurface: Pointer; target: Cardinal; numTextureNames: TGLsizei; const textureNames: PGLuint) : TGLvdpauSurfaceNV; stdcall;
Public | VDPAURegisterOutputSurfaceNV: function(const vdpSurface: Pointer; target: Cardinal; numTextureNames: TGLsizei; const textureNames: PGLuint) : TGLvdpauSurfaceNV; stdcall;
Public | VDPAUIsSurfaceNV: procedure(surface: TGLvdpauSurfaceNV); stdcall;
Public | VDPAUUnregisterSurfaceNV: procedure(surface: TGLvdpauSurfaceNV); stdcall;
Public | VDPAUGetSurfaceivNV: procedure(surface: TGLvdpauSurfaceNV; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint); stdcall;
Public | VDPAUSurfaceAccessNV: procedure(surface: TGLvdpauSurfaceNV; access: Cardinal); stdcall;
Public | VDPAUMapSurfacesNV: procedure(numSurfaces: TGLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
Public | VDPAUUnmapSurfacesNV: procedure(numSurface: TGLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
Public | GenPathsNV: PFNGLGENPATHSNVPROC;
Public | DeletePathsNV: PFNGLDELETEPATHSNVPROC;
Public | IsPathNV: PFNGLISPATHNVPROC;
Public | PathCommandsNV: PFNGLPATHCOMMANDSNVPROC;
Public | PathCoordsNV: PFNGLPATHCOORDSNVPROC;
Public | PathSubCommandsNV: PFNGLPATHSUBCOMMANDSNVPROC;
Public | PathSubCoordsNV: PFNGLPATHSUBCOORDSNVPROC;
Public | PathStringNV: PFNGLPATHSTRINGNVPROC;
Public | PathGlyphsNV: PFNGLPATHGLYPHSNVPROC;
Public | PathGlyphRangeNV: PFNGLPATHGLYPHRANGENVPROC;
Public | WeightPathsNV: PFNGLWEIGHTPATHSNVPROC;
Public | CopyPathNV: PFNGLCOPYPATHNVPROC;
Public | InterpolatePathsNV: PFNGLINTERPOLATEPATHSNVPROC;
Public | PathParameterivNV: PFNGLPATHPARAMETERIVNVPROC;
Public | PathParameteriNV: PFNGLPATHPARAMETERINVPROC;
Public | PathParameterfvNV: PFNGLPATHPARAMETERFVNVPROC;
Public | PathParameterfNV: PFNGLPATHPARAMETERFNVPROC;
Public | PathDashArrayNV: PFNGLPATHDASHARRAYNVPROC;
Public | PathStencilFuncNV: PFNGLPATHSTENCILFUNCNVPROC;
Public | StencilFillPathNV: PFNGLSTENCILFILLPATHNVPROC;
Public | StencilStrokePathNV: PFNGLSTENCILSTROKEPATHNVPROC;
Public | StencilFillPathInstancedNV: PFNGLSTENCILFILLPATHINSTANCEDNVPROC;
Public | StencilStrokePathInstancedNV: PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC;
Public | PathColorGenNV: PFNGLPATHCOLORGENNVPROC;
Public | PathTexGenNV: PFNGLPATHTEXGENNVPROC;
Public | PathFogGenNV: PFNGLPATHFOGGENNVPROC;
Public | CoverFillPathNV: PFNGLCOVERFILLPATHNVPROC;
Public | CoverStrokePathNV: PFNGLCOVERSTROKEPATHNVPROC;
Public | CoverFillPathInstancedNV: PFNGLCOVERFILLPATHINSTANCEDNVPROC;
Public | CoverStrokePathInstancedNV: PFNGLCOVERSTROKEPATHINSTANCEDNVPROC;
Public | GetPathParameterivNV: PFNGLGETPATHPARAMETERIVNVPROC;
Public | GetPathParameterfvNV: PFNGLGETPATHPARAMETERFVNVPROC;
Public | GetPathCommandsNV: PFNGLGETPATHCOMMANDSNVPROC;
Public | GetPathCoordsNV: PFNGLGETPATHCOORDSNVPROC;
Public | GetPathDashArrayNV: PFNGLGETPATHDASHARRAYNVPROC;
Public | GetPathMetricsNV: PFNGLGETPATHMETRICSNVPROC;
Public | GetPathMetricRangeNV: PFNGLGETPATHMETRICRANGENVPROC;
Public | GetPathSpacingNV: PFNGLGETPATHSPACINGNVPROC;
Public | GetPathColorGenivNV: PFNGLGETPATHCOLORGENIVNVPROC;
Public | GetPathColorGenfvNV: PFNGLGETPATHCOLORGENFVNVPROC;
Public | GetPathTexGenivNV: PFNGLGETPATHTEXGENIVNVPROC;
Public | GetPathTexGenfvNV: PFNGLGETPATHTEXGENFVNVPROC;
Public | IsPointInFillPathNV: PFNGLISPOINTINFILLPATHNVPROC;
Public | IsPointInStrokePathNV: PFNGLISPOINTINSTROKEPATHNVPROC;
Public | GetPathLengthNV: PFNGLGETPATHLENGTHNVPROC;
Public | PointAlongPathNV: PFNGLPOINTALONGPATHNVPROC;
Public | PathStencilDepthOffsetNV: PFNGLPATHSTENCILDEPTHOFFSETNVPROC;
Public | PathCoverDepthFuncNV: PFNGLPATHCOVERDEPTHFUNCNVPROC;
Public | W_ARB_buffer_region: boolean;
Public | W_ARB_create_context: boolean;
Public | W_ARB_create_context_profile: boolean;
Public | W_ARB_extensions_string: boolean;
Public | W_ARB_framebuffer_sRGB: boolean;
Public | W_ARB_make_current_read: boolean;
Public | W_ARB_multisample: boolean;
Public | W_ARB_pbuffer: boolean;
Public | W_ARB_pixel_format: boolean;
Public | W_ARB_pixel_format_float: boolean;
Public | W_ARB_render_texture: boolean;
Public | W_ATI_pixel_format_float: boolean;
Public | W_EXT_framebuffer_sRGB: boolean;
Public | W_EXT_pixel_format_packed_float: boolean;
Public | W_EXT_swap_control: boolean;
Public | W_NV_gpu_affinity: boolean;
Public | W_EXT_create_context_es2_profile: boolean;
Public | W_NV_DX_interop: boolean;
Public | W_NV_DX_interop2: boolean;
Public | WCreateBufferRegionARB: PFNWGLCREATEBUFFERREGIONARBPROC;
Public | WDeleteBufferRegionARB: PFNWGLDELETEBUFFERREGIONARBPROC;
Public | WSaveBufferRegionARB: PFNWGLSAVEBUFFERREGIONARBPROC;
Public | WRestoreBufferRegionARB: PFNWGLRESTOREBUFFERREGIONARBPROC;
Public | WGetExtensionsStringARB: PFNWGLGETEXTENSIONSSTRINGARBPROC;
Public | WGetPixelFormatAttribivARB: PFNWGLGETPIXELFORMATATTRIBIVARBPROC;
Public | WGetPixelFormatAttribfvARB: PFNWGLGETPIXELFORMATATTRIBFVARBPROC;
Public | WChoosePixelFormatARB: PFNWGLCHOOSEPIXELFORMATARBPROC;
Public | WMakeContextCurrentARB: PFNWGLMAKECONTEXTCURRENTARBPROC;
Public | WGetCurrentReadDCARB: PFNWGLGETCURRENTREADDCARBPROC;
Public | WCreatePbufferARB: PFNWGLCREATEPBUFFERARBPROC;
Public | WGetPbufferDCARB: PFNWGLGETPBUFFERDCARBPROC;
Public | WReleasePbufferDCARB: PFNWGLRELEASEPBUFFERDCARBPROC;
Public | WDestroyPbufferARB: PFNWGLDESTROYPBUFFERARBPROC;
Public | WQueryPbufferARB: PFNWGLQUERYPBUFFERARBPROC;
Public | WBindTexImageARB: PFNWGLBINDTEXIMAGEARBPROC;
Public | WReleaseTexImageARB: PFNWGLRELEASETEXIMAGEARBPROC;
Public | WSetPbufferAttribARB: PFNWGLSETPBUFFERATTRIBARBPROC;
Public | WCreateContextAttribsARB: PFNWGLCREATECONTEXTATTRIBSARBPROC;
Public | WEnumGpusNV: PFNWGLENUMGPUSNVPROC;
Public | WEnumGpuDevicesNV: PFNWGLENUMGPUDEVICESNVPROC;
Public | WCreateAffinityDCNV: PFNWGLCREATEAFFINITYDCNVPROC;
Public | WEnumGpusFromAffinityDCNV: PFNWGLENUMGPUSFROMAFFINITYDCNVPROC;
Public | WDeleteDCNV: PFNWGLDELETEDCNVPROC;
Public | WDXSetResourceShareHandleNV: PFNWGLDXSETRESOURCESHAREHANDLEPROC;
Public | WDXOpenDeviceNV: PFNWGLDXOPENDEVICEPROC;
Public | WDXCloseDeviceNV: PFNWGLDXCLOSEDEVICEPROC;
Public | WDXRegisterObjectNV: PFNWGLDXREGISTEROBJECTPROC;
Public | WDXUnregisterObjectNV: PFNWGLDXUNREGISTEROBJECTPROC;
Public | WDXObjectAccessNV: PFNWGLDXOBJECTACCESSPROC;
Public | WDXLockObjectsNV: PFNWGLDXLOCKOBJECTSPROC;
Public | WDXUnlockObjectsNV: PFNWGLDXUNLOCKOBJECTSNVPROC;
Public | WSwapIntervalEXT: PFNWGLSWAPINTERVALEXTPROC;
Public | WGetSwapIntervalEXT: PFNWGLGETSWAPINTERVALEXTPROC;
Public | WAllocateMemoryNV: PFNWGLALLOCATEMEMORYNVPROC;
Public | WFreeMemoryNV: PFNWGLFREEMEMORYNVPROC;
Public | UNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer); stdcall;
Public | UNewNurbsTessellatorEXT: function: PGLUnurbs; stdcall;
Public | UDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs); stdcall;

Methods

Public | constructor Create;
Private | function CheckExtension(const Extension: string): boolean;
Private | function GetAddress(const ProcName: string): Pointer;
Private | function GetAddressAlt(const ProcName1, ProcName2: string): Pointer;
Private | function GetAddressNoSuffixes(const ProcName: string): Pointer;
Private | function GetCapAddress: Pointer;
Public | procedure CheckError;
Public | procedure ClearError;
Public | procedure Close;
Public | procedure Initialize(ATemporary: boolean = False);
Private | procedure ReadWGLExtensions;
Private | procedure ReadWGLImplementationProperties;

Properties

Public | property DebugMode: boolean read FDebug write FDebug;
Public | property IsInitialized: boolean read FInitialized;

Description

Fields

Private FBuffer: string;
Private FInitialized: boolean;
Private FDebug: boolean;
Private FDebugIds: Cardinal;
Public VERSION_1_0: boolean;
Public VERSION_1_1: boolean;
Public VERSION_1_2: boolean;
Public VERSION_1_3: boolean;
Public VERSION_1_4: boolean;
Public VERSION_1_5: boolean;
Public VERSION_2_0: boolean;
Public VERSION_2_1: boolean;
Public VERSION_3_0: boolean;
Public VERSION_3_1: boolean;
Public VERSION_3_2: boolean;
Public VERSION_3_3: boolean;
Public VERSION_4_0: boolean;
Public VERSION_4_1: boolean;
Public VERSION_4_2: boolean;
Public ARB_blend_func_extended: boolean;
Public ARB_color_buffer_float: boolean;
Public ARB_compatibility: boolean;
Public ARB_copy_buffer: boolean;
Public ARB_depth_buffer_float: boolean;
Public ARB_depth_clamp: boolean;
Public ARB_depth_texture: boolean;
Public ARB_draw_buffers: boolean;
Public ARB_draw_buffers_blend: boolean;
Public ARB_draw_elements_base_vertex: boolean;
Public ARB_draw_indirect: boolean;
Public ARB_draw_instanced: boolean;
Public ARB_explicit_attrib_location: boolean;
Public ARB_fragment_coord_conventions: boolean;
Public ARB_fragment_program: boolean;
Public ARB_fragment_program_shadow: boolean;
Public ARB_fragment_shader: boolean;
Public ARB_framebuffer_object: boolean;
Public ARB_framebuffer_sRGB: boolean;
Public ARB_geometry_shader4: boolean;
Public ARB_gpu_shader_fp64: boolean;
Public ARB_gpu_shader5: boolean;
Public ARB_half_float_pixel: boolean;
Public ARB_half_float_vertex: boolean;
Public ARB_imaging: boolean;
Public ARB_instanced_arrays: boolean;
Public ARB_map_buffer_range: boolean;
Public ARB_matrix_palette: boolean;
Public ARB_multisample: boolean;
Public ARB_multitexture: boolean;
Public ARB_occlusion_query: boolean;
Public ARB_occlusion_query2: boolean;
Public ARB_pixel_buffer_object: boolean;
Public ARB_point_parameters: boolean;
Public ARB_point_sprite: boolean;
Public ARB_provoking_vertex: boolean;
Public ARB_sample_shading: boolean;
Public ARB_sampler_objects: boolean;
Public ARB_seamless_cube_map: boolean;
Public ARB_shader_bit_encoding: boolean;
Public ARB_shader_subroutine: boolean;
Public ARB_shader_texture_lod: boolean;
Public ARB_shading_language_100: boolean;
Public ARB_shadow: boolean;
Public ARB_shadow_ambient: boolean;
Public ARB_shader_objects: boolean;
Public ARB_sync: boolean;
Public ARB_tessellation_shader: boolean;
Public ARB_texture_border_clamp: boolean;
Public ARB_texture_buffer_object: boolean;
Public ARB_texture_buffer_object_rgb32: boolean;
Public ARB_texture_compression: boolean;
Public ARB_texture_compression_rgtc: boolean;
Public ARB_texture_cube_map: boolean;
Public ARB_texture_cube_map_array: boolean;
Public ARB_texture_env_add: boolean;
Public ARB_texture_env_combine: boolean;
Public ARB_texture_env_crossbar: boolean;
Public ARB_texture_env_dot3: boolean;
Public ARB_texture_float: boolean;
Public ARB_texture_gather: boolean;
Public ARB_texture_mirrored_repeat: boolean;
Public ARB_texture_multisample: boolean;
Public ARB_texture_non_power_of_two: boolean;
Public ARB_texture_query_lod: boolean;
Public ARB_texture_rectangle: boolean;
Public ARB_texture_rg: boolean;
Public ARB_texture_rgb10_a2ui: boolean;
Public ARB_texture_swizzle: boolean;
Public ARB_timer_query: boolean;
Public ARB_transform_feedback2: boolean;
Public ARB_transform_feedback3: boolean;
Public ARB_transpose_matrix: boolean;
Public ARB_uniform_buffer_object: boolean;
Public ARB_vertex_array_bgra: boolean;
Public ARB_vertex_array_object: boolean;
Public ARB_vertex_blend: boolean;
Public ARB_vertex_buffer_object: boolean;
Public ARB_vertex_program: boolean;
Public ARB_vertex_shader: boolean;
Public ARB_vertex_type_2_10_10_10_rev: boolean;
Public ARB_window_pos: boolean;
Public ARB_texture_compression_bptc: boolean;
Public ARB_get_program_binary: boolean;
Public ARB_separate_shader_objects: boolean;
Public ARB_shader_stencil_export: boolean;
Public KHR_debug: boolean;
Public ARB_clear_buffer_object: boolean;
Public ARB_compute_shader: boolean;
Public ARB_copy_image: boolean;
Public ARB_debug_group: boolean;
Public ARB_debug_label: boolean;
Public ARB_debug_output2: boolean;
Public ARB_ES3_compatibility: boolean;
Public ARB_explicit_uniform_location: boolean;
Public ARB_fragment_layer_viewport: boolean;
Public ARB_framebuffer_no_attachments: boolean;
Public ARB_internalformat_query2: boolean;
Public ARB_invalidate_subdata: boolean;
Public ARB_multi_draw_indirect: boolean;
Public ARB_program_interface_query: boolean;
Public ARB_shader_image_size: boolean;
Public ARB_shader_storage_buffer_object: boolean;
Public ARB_stencil_texturing: boolean;
Public ARB_texture_buffer_range: boolean;
Public ARB_texture_query_levels: boolean;
Public ARB_texture_storage_multisample: boolean;
Public ARB_texture_view: boolean;
Public ARB_vertex_attrib_binding: boolean;
Public ARB_robustness_isolation: boolean;
Public ARB_cl_event: boolean;
Public _3DFX_multisample: boolean;
Public _3DFX_tbuffer: boolean;
Public _3DFX_texture_compression_FXT1: boolean;
Public ATI_draw_buffers: boolean;
Public ATI_texture_compression_3dc: boolean;
Public ATI_texture_float: boolean;
Public ATI_texture_mirror_once: boolean;
Public S3_s3tc: boolean;
Public EXT_abgr: boolean;
Public EXT_bgra: boolean;
Public EXT_bindable_uniform: boolean;
Public EXT_blend_color: boolean;
Public EXT_blend_equation_separate: boolean;
Public EXT_blend_func_separate: boolean;
Public EXT_blend_logic_op: boolean;
Public EXT_blend_minmax: boolean;
Public EXT_blend_subtract: boolean;
Public EXT_Cg_shader: boolean;
Public EXT_clip_volume_hint: boolean;
Public EXT_compiled_vertex_array: boolean;
Public EXT_copy_texture: boolean;
Public EXT_depth_bounds_test: boolean;
Public EXT_draw_buffers2: boolean;
Public EXT_draw_instanced: boolean;
Public EXT_draw_range_elements: boolean;
Public EXT_fog_coord: boolean;
Public EXT_framebuffer_blit: boolean;
Public EXT_framebuffer_multisample: boolean;
Public EXT_framebuffer_object: boolean;
Public EXT_framebuffer_sRGB: boolean;
Public EXT_geometry_shader4: boolean;
Public EXT_gpu_program_parameters: boolean;
Public EXT_gpu_shader4: boolean;
Public EXT_multi_draw_arrays: boolean;
Public EXT_multisample: boolean;
Public EXT_packed_depth_stencil: boolean;
Public EXT_packed_float: boolean;
Public EXT_packed_pixels: boolean;
Public EXT_paletted_texture: boolean;
Public EXT_pixel_buffer_object: boolean;
Public EXT_polygon_offset: boolean;
Public EXT_rescale_normal: boolean;
Public EXT_secondary_color: boolean;
Public EXT_separate_specular_color: boolean;
Public EXT_shadow_funcs: boolean;
Public EXT_shared_texture_palette: boolean;
Public EXT_stencil_clear_tag: boolean;
Public EXT_stencil_two_side: boolean;
Public EXT_stencil_wrap: boolean;
Public EXT_texture3D: boolean;
Public EXT_texture_array: boolean;
Public EXT_texture_buffer_object: boolean;
Public EXT_texture_compression_latc: boolean;
Public EXT_texture_compression_rgtc: boolean;
Public EXT_texture_compression_s3tc: boolean;
Public EXT_texture_cube_map: boolean;
Public EXT_texture_edge_clamp: boolean;
Public EXT_texture_env_add: boolean;
Public EXT_texture_env_combine: boolean;
Public EXT_texture_env_dot3: boolean;
Public EXT_texture_filter_anisotropic: boolean;
Public EXT_texture_integer: boolean;
Public EXT_texture_lod: boolean;
Public EXT_texture_lod_bias: boolean;
Public EXT_texture_mirror_clamp: boolean;
Public EXT_texture_object: boolean;
Public EXT_texture_rectangle: boolean;
Public EXT_texture_sRGB: boolean;
Public EXT_texture_shared_exponent: boolean;
Public EXT_timer_query: boolean;
Public EXT_transform_feedback: boolean;
Public EXT_vertex_array: boolean;
Public EXT_texture_sRGB_decode: boolean;
Public EXT_direct_state_access: boolean;
Public EXT_texture_swizzle: boolean;
Public HP_occlusion_test: boolean;
Public IBM_rasterpos_clip: boolean;
Public KTX_buffer_region: boolean;
Public MESA_resize_buffers: boolean;
Public NV_blend_square: boolean;
Public NV_conditional_render: boolean;
Public NV_copy_image: boolean;
Public NV_depth_buffer_float: boolean;
Public NV_fence: boolean;
Public NV_float_buffer: boolean;
Public NV_fog_distance: boolean;
Public NV_geometry_program4: boolean;
Public NV_light_max_exponent: boolean;
Public NV_multisample_filter_hint: boolean;
Public NV_occlusion_query: boolean;
Public NV_point_sprite: boolean;
Public NV_primitive_restart: boolean;
Public NV_register_combiners: boolean;
Public NV_shader_buffer_load: boolean;
Public NV_texgen_reflection: boolean;
Public NV_texture_compression_vtc: boolean;
Public NV_texture_env_combine4: boolean;
Public NV_texture_rectangle: boolean;
Public NV_texture_shader: boolean;
Public NV_texture_shader2: boolean;
Public NV_texture_shader3: boolean;
Public NV_transform_feedback: boolean;
Public NV_vertex_array_range: boolean;
Public NV_vertex_array_range2: boolean;
Public NV_vertex_buffer_unified_memory: boolean;
Public NV_vertex_program: boolean;
Public SGI_color_matrix: boolean;
Public SGIS_generate_mipmap: boolean;
Public SGIS_multisample: boolean;
Public SGIS_texture_border_clamp: boolean;
Public SGIS_texture_color_mask: boolean;
Public SGIS_texture_edge_clamp: boolean;
Public SGIS_texture_lod: boolean;
Public SGIX_depth_texture: boolean;
Public SGIX_shadow: boolean;
Public SGIX_shadow_ambient: boolean;
Public AMD_vertex_shader_tessellator: boolean;
Public WIN_swap_hint: boolean;
Public ATI_meminfo: boolean;
Public NVX_gpu_memory_info: boolean;
Public NV_vdpau_interop: boolean;
Public NV_path_rendering: boolean;
Public GREMEDY_frame_terminator: boolean;
Public GREMEDY_string_marker: boolean;
Public AMDX_debug_output: boolean;
Public ARB_debug_output: boolean;
Public BindTexture: procedure(target: Cardinal; texture: Cardinal); stdcall;

OpenGL 1.1 core functions and procedures

Public BlendFunc: procedure(sfactor: Cardinal; dfactor: Cardinal); stdcall;
Public Clear: procedure(mask: TGLbitfield); stdcall;
Public ClearColor: procedure(red, green, blue, alpha: Single); stdcall;
Public ClearDepth: procedure(depth: TGLclampd); stdcall;
Public ClearStencil: procedure(s: TGLint); stdcall;
Public ColorMask: procedure(red, green, blue, alpha: TGLboolean); stdcall;
Public CopyTexImage1D: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; X, y: TGLint; Width: TGLsizei; border: TGLint); stdcall;
Public CopyTexImage2D: procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; X, y: TGLint; Width, Height: TGLsizei; border: TGLint); stdcall;
Public CopyTexSubImage1D: procedure(target: Cardinal; level, xoffset, X, y: TGLint; Width: TGLsizei); stdcall;
Public CopyTexSubImage2D: procedure(target: Cardinal; level, xoffset, yoffset, X, y: TGLint; Width, Height: TGLsizei); stdcall;
Public CullFace: procedure(mode: Cardinal); stdcall;
Public DeleteTextures: procedure(n: TGLsizei; textures: PGLuint); stdcall;
Public DepthFunc: procedure(func: Cardinal); stdcall;
Public DepthMask: procedure(flag: TGLboolean); stdcall;
Public DepthRange: procedure(zNear, zFar: TGLclampd); stdcall;
Public Disable: procedure(cap: Cardinal); stdcall;
Public DrawArrays: procedure(mode: Cardinal; First: TGLint; Count: TGLsizei); stdcall;
Public DrawBuffer: procedure(mode: Cardinal); stdcall;
Public DrawElements: procedure(mode: Cardinal; Count: TGLsizei; atype: Cardinal; indices: Pointer); stdcall;
Public Enable: procedure(cap: Cardinal); stdcall;
Public Finish: procedure(); stdcall;
Public Flush: procedure(); stdcall;
Public FrontFace: procedure(mode: Cardinal); stdcall;
Public GenTextures: procedure(n: TGLsizei; textures: PGLuint); stdcall;
Public GetBooleanv: procedure(pname: Cardinal; params: PGLboolean); stdcall;
Public GetDoublev: procedure(pname: Cardinal; params: PGLdouble); stdcall;
Public GetError: function: Cardinal; stdcall;
Public GetFloatv: procedure(pname: Cardinal; params: PGLfloat); stdcall;
Public GetIntegerv: procedure(pname: Cardinal; params: PGLint); stdcall;
Public GetPointerv: procedure(pname: Cardinal; var params); stdcall;
Public GetString: function(Name: Cardinal): PAnsiChar; stdcall;
Public GetTexImage: procedure(target: Cardinal; level: TGLint; format, atype: Cardinal; pixels: Pointer); stdcall;
Public GetTexLevelParameterfv: procedure(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
Public GetTexLevelParameteriv: procedure(target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); stdcall;
Public GetTexParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public GetTexParameteriv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public Hint: procedure(target, mode: Cardinal); stdcall;
Public IsEnabled: function(cap: Cardinal): TGLboolean; stdcall;
Public IsTexture: function(texture: Cardinal): TGLboolean; stdcall;
Public LineWidth: procedure(Width: TGLfloat); stdcall;
Public LogicOp: procedure(opcode: Cardinal); stdcall;
Public PixelStoref: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public PixelStorei: procedure(pname: Cardinal; param: TGLint); stdcall;
Public PointSize: procedure(size: TGLfloat); stdcall;
Public PolygonMode: procedure(face, mode: Cardinal); stdcall;
Public PolygonOffset: procedure(factor, units: TGLfloat); stdcall;
Public ReadBuffer: procedure(mode: Cardinal); stdcall;
Public ReadPixels: procedure(X, y: TGLint; Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public Scissor: procedure(X, y: TGLint; Width, Height: TGLsizei); stdcall;
Public StencilFunc: procedure(func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
Public StencilMask: procedure(mask: Cardinal); stdcall;
Public StencilOp: procedure(fail, zfail, zpass: Cardinal); stdcall;
Public TexImage1D: procedure(target: Cardinal; level, internalFormat: TGLint; Width: TGLsizei; border: TGLint; format, atype: Cardinal; pixels: Pointer); stdcall;
Public TexImage2D: procedure(target: Cardinal; level, internalFormat: TGLint; Width, Height: TGLsizei; border: TGLint; format, atype: Cardinal; pixels: Pointer); stdcall;
Public TexParameterf: procedure(target, pname: Cardinal; param: TGLfloat); stdcall;
Public TexParameterfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public TexParameteri: procedure(target, pname: Cardinal; param: TGLint); stdcall;
Public TexParameteriv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public TexSubImage1D: procedure(target: Cardinal; level, xoffset: TGLint; Width: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public TexSubImage2D: procedure(target: Cardinal; level, xoffset, yoffset: TGLint; Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public Viewport: procedure(X, y: TGLint; Width, Height: TGLsizei); stdcall;
Public Accum: procedure(op: Cardinal; Value: TGLfloat); stdcall;

—————————— OpenGL 1.1 deprecated

Public AlphaFunc: procedure(func: Cardinal; ref: Single); stdcall;
Public AreTexturesResident: function(n: TGLsizei; textures: PGLuint; residences: PGLboolean): TGLboolean; stdcall;
Public ArrayElement: procedure(i: TGLint); stdcall;
Public Begin_: procedure(mode: Cardinal); stdcall;
Public Bitmap: procedure(Width: TGLsizei; Height: TGLsizei; xorig, yorig: TGLfloat; xmove: TGLfloat; ymove: TGLfloat; Bitmap: Pointer); stdcall;
Public CallList: procedure(list: Cardinal); stdcall;
Public CallLists: procedure(n: TGLsizei; atype: Cardinal; lists: Pointer); stdcall;
Public ClearAccum: procedure(red, green, blue, alpha: TGLfloat); stdcall;
Public ClearIndex: procedure(c: TGLfloat); stdcall;
Public ClipPlane: procedure(plane: Cardinal; equation: PGLdouble); stdcall;
Public Color3b: procedure(red, green, blue: TGLbyte); stdcall;
Public Color3bv: procedure(v: PGLbyte); stdcall;
Public Color3d: procedure(red, green, blue: TGLdouble); stdcall;
Public Color3dv: procedure(v: PGLdouble); stdcall;
Public Color3f: procedure(red, green, blue: TGLfloat); stdcall;
Public Color3fv: procedure(v: PGLfloat); stdcall;
Public Color3i: procedure(red, green, blue: TGLint); stdcall;
Public Color3iv: procedure(v: PGLint); stdcall;
Public Color3s: procedure(red, green, blue: TGLshort); stdcall;
Public Color3sv: procedure(v: PGLshort); stdcall;
Public Color3ub: procedure(red, green, blue: TGLubyte); stdcall;
Public Color3ubv: procedure(v: PGLubyte); stdcall;
Public Color3ui: procedure(red, green, blue: Cardinal); stdcall;
Public Color3uiv: procedure(v: PGLuint); stdcall;
Public Color3us: procedure(red, green, blue: TGLushort); stdcall;
Public Color3usv: procedure(v: PGLushort); stdcall;
Public Color4b: procedure(red, green, blue, alpha: TGLbyte); stdcall;
Public Color4bv: procedure(v: PGLbyte); stdcall;
Public Color4d: procedure(red, green, blue, alpha: TGLdouble); stdcall;
Public Color4dv: procedure(v: PGLdouble); stdcall;
Public Color4f: procedure(red, green, blue, alpha: TGLfloat); stdcall;
Public Color4fv: procedure(v: PGLfloat); stdcall;
Public Color4i: procedure(red, green, blue, alpha: TGLint); stdcall;
Public Color4iv: procedure(v: PGLint); stdcall;
Public Color4s: procedure(red, green, blue, alpha: TGLshort); stdcall;
Public Color4sv: procedure(v: TGLshort); stdcall;
Public Color4ub: procedure(red, green, blue, alpha: TGLubyte); stdcall;
Public Color4ubv: procedure(v: PGLubyte); stdcall;
Public Color4ui: procedure(red, green, blue, alpha: Cardinal); stdcall;
Public Color4uiv: procedure(v: PGLuint); stdcall;
Public Color4us: procedure(red, green, blue, alpha: TGLushort); stdcall;
Public Color4usv: procedure(v: PGLushort); stdcall;
Public ColorMaterial: procedure(face: Cardinal; mode: Cardinal); stdcall;
Public ColorPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public CopyPixels: procedure(X, y: TGLint; Width, Height: TGLsizei; atype: Cardinal); stdcall;
Public DeleteLists: procedure(list: Cardinal; range: TGLsizei); stdcall;
Public DisableClientState: procedure(aarray: Cardinal); stdcall;
Public DrawPixels: procedure(Width, Height: TGLsizei; format, atype: Cardinal; pixels: Pointer); stdcall;
Public EdgeFlag: procedure(flag: TGLboolean); stdcall;
Public EdgeFlagPointer: procedure(stride: TGLsizei; Data: Pointer); stdcall;
Public EdgeFlagv: procedure(flag: PGLboolean); stdcall;
Public EnableClientState: procedure(aarray: Cardinal); stdcall;
Public End_: procedure(); stdcall;
Public EndList: procedure(); stdcall;
Public EvalCoord1d: procedure(u: TGLdouble); stdcall;
Public EvalCoord1dv: procedure(u: PGLdouble); stdcall;
Public EvalCoord1f: procedure(u: TGLfloat); stdcall;
Public EvalCoord1fv: procedure(u: PGLfloat); stdcall;
Public EvalCoord2d: procedure(u: TGLdouble; v: TGLdouble); stdcall;
Public EvalCoord2dv: procedure(u: PGLdouble); stdcall;
Public EvalCoord2f: procedure(u, v: TGLfloat); stdcall;
Public EvalCoord2fv: procedure(u: PGLfloat); stdcall;
Public EvalMesh1: procedure(mode: Cardinal; i1, i2: TGLint); stdcall;
Public EvalMesh2: procedure(mode: Cardinal; i1, i2, j1, j2: TGLint); stdcall;
Public EvalPoint1: procedure(i: TGLint); stdcall;
Public EvalPoint2: procedure(i, j: TGLint); stdcall;
Public FeedbackBuffer: procedure(size: TGLsizei; atype: Cardinal; buffer: PGLfloat); stdcall;
Public Fogf: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public Fogfv: procedure(pname: Cardinal; params: PGLfloat); stdcall;
Public Fogi: procedure(pname: Cardinal; param: TGLint); stdcall;
Public Fogiv: procedure(pname: Cardinal; params: PGLint); stdcall;
Public Frustum: procedure(left, right, bottom, top, zNear, zFar: TGLdouble); stdcall;
Public GenLists: function(range: TGLsizei): Cardinal; stdcall;
Public GetClipPlane: procedure(plane: Cardinal; equation: PGLdouble); stdcall;
Public GetLightfv: procedure(light, pname: Cardinal; params: PGLfloat); stdcall;
Public GetLightiv: procedure(light, pname: Cardinal; params: PGLint); stdcall;
Public GetMapdv: procedure(target, query: Cardinal; v: PGLdouble); stdcall;
Public GetMapfv: procedure(target, query: Cardinal; v: PGLfloat); stdcall;
Public GetMapiv: procedure(target, query: Cardinal; v: PGLint); stdcall;
Public GetMaterialfv: procedure(face, pname: Cardinal; params: PGLfloat); stdcall;
Public GetMaterialiv: procedure(face, pname: Cardinal; params: PGLint); stdcall;
Public GetPixelMapfv: procedure(map: Cardinal; values: PGLfloat); stdcall;
Public GetPixelMapuiv: procedure(map: Cardinal; values: PGLuint); stdcall;
Public GetPixelMapusv: procedure(map: Cardinal; values: PGLushort); stdcall;
Public GetPolygonStipple: procedure(mask: PGLubyte); stdcall;
Public GetTexEnvfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public GetTexEnviv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public GetTexGendv: procedure(coord, pname: Cardinal; params: PGLdouble); stdcall;
Public GetTexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat); stdcall;
Public GetTexGeniv: procedure(coord, pname: Cardinal; params: PGLint); stdcall;
Public IndexMask: procedure(mask: Cardinal); stdcall;
Public IndexPointer: procedure(atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public Indexd: procedure(c: TGLdouble); stdcall;
Public Indexdv: procedure(c: PGLdouble); stdcall;
Public Indexf: procedure(c: TGLfloat); stdcall;
Public Indexfv: procedure(c: PGLfloat); stdcall;
Public Indexi: procedure(c: TGLint); stdcall;
Public Indexiv: procedure(c: PGLint); stdcall;
Public Indexs: procedure(c: TGLshort); stdcall;
Public Indexsv: procedure(c: PGLshort); stdcall;
Public Indexub: procedure(c: TGLubyte); stdcall;
Public Indexubv: procedure(c: PGLubyte); stdcall;
Public InitNames: procedure(); stdcall;
Public InterleavedArrays: procedure(format: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public IsList: function(list: Cardinal): TGLboolean; stdcall;
Public LightModelf: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public LightModelfv: procedure(pname: Cardinal; params: PGLfloat); stdcall;
Public LightModeli: procedure(pname: Cardinal; param: TGLint); stdcall;
Public LightModeliv: procedure(pname: Cardinal; params: PGLint); stdcall;
Public Lightf: procedure(light, pname: Cardinal; param: TGLfloat); stdcall;
Public Lightfv: procedure(light, pname: Cardinal; params: PGLfloat); stdcall;
Public Lighti: procedure(light, pname: Cardinal; param: TGLint); stdcall;
Public Lightiv: procedure(light, pname: Cardinal; params: PGLint); stdcall;
Public LineStipple: procedure(factor: TGLint; pattern: TGLushort); stdcall;
Public ListBase: procedure(base: Cardinal); stdcall;
Public LoadIdentity: procedure(); stdcall;
Public LoadMatrixd: procedure(m: PGLdouble); stdcall;
Public LoadMatrixf: procedure(m: PGLfloat); stdcall;
Public LoadName: procedure(Name: Cardinal); stdcall;
Public Map1d: procedure(target: Cardinal; u1, u2: TGLdouble; stride, order: TGLint; points: PGLdouble); stdcall;
Public Map1f: procedure(target: Cardinal; u1, u2: TGLfloat; stride, order: TGLint; points: PGLfloat); stdcall;
Public Map2d: procedure(target: Cardinal; u1, u2: TGLdouble; ustride, uorder: TGLint; v1, v2: TGLdouble; vstride, vorder: TGLint; points: PGLdouble); stdcall;
Public Map2f: procedure(target: Cardinal; u1, u2: TGLfloat; ustride, uorder: TGLint; v1, v2: TGLfloat; vstride, vorder: TGLint; points: PGLfloat); stdcall;
Public MapGrid1d: procedure(un: TGLint; u1, u2: TGLdouble); stdcall;
Public MapGrid1f: procedure(un: TGLint; u1, u2: TGLfloat); stdcall;
Public MapGrid2d: procedure(un: TGLint; u1, u2: TGLdouble; vn: TGLint; v1, v2: TGLdouble); stdcall;
Public MapGrid2f: procedure(un: TGLint; u1, u2: TGLfloat; vn: TGLint; v1, v2: TGLfloat); stdcall;
Public Materialf: procedure(face, pname: Cardinal; param: TGLfloat); stdcall;
Public Materialfv: procedure(face, pname: Cardinal; params: PGLfloat); stdcall;
Public Materiali: procedure(face, pname: Cardinal; param: TGLint); stdcall;
Public Materialiv: procedure(face, pname: Cardinal; params: PGLint); stdcall;
Public MatrixMode: procedure(mode: Cardinal); stdcall;
Public MultMatrixd: procedure(m: PGLdouble); stdcall;
Public MultMatrixf: procedure(m: PGLfloat); stdcall;
Public NewList: procedure(list: Cardinal; mode: Cardinal); stdcall;
Public Normal3b: procedure(nx, ny, nz: TGLbyte); stdcall;
Public Normal3bv: procedure(v: PGLbyte); stdcall;
Public Normal3d: procedure(nx, ny, nz: TGLdouble); stdcall;
Public Normal3dv: procedure(v: PGLdouble); stdcall;
Public Normal3f: procedure(nx, ny, nz: TGLfloat); stdcall;
Public Normal3fv: procedure(v: PGLfloat); stdcall;
Public Normal3i: procedure(nx, ny, nz: TGLint); stdcall;
Public Normal3iv: procedure(v: PGLint); stdcall;
Public Normal3s: procedure(nx, ny, nz: TGLshort); stdcall;
Public Normal3sv: procedure(v: PGLshort); stdcall;
Public NormalPointer: procedure(atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public Ortho: procedure(left, right, bottom, top, zNear, zFar: TGLdouble); stdcall;
Public PassThrough: procedure(token: TGLfloat); stdcall;
Public PixelMapfv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLfloat); stdcall;
Public PixelMapuiv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLuint); stdcall;
Public PixelMapusv: procedure(map: Cardinal; mapsize: TGLsizei; values: PGLushort); stdcall;
Public PixelTransferf: procedure(pname: Cardinal; param: TGLfloat); stdcall;
Public PixelTransferi: procedure(pname: Cardinal; param: TGLint); stdcall;
Public PixelZoom: procedure(xfactor, yfactor: TGLfloat); stdcall;
Public PolygonStipple: procedure(mask: PGLubyte); stdcall;
Public PopAttrib: procedure(); stdcall;
Public PopClientAttrib: procedure(); stdcall;
Public PopMatrix: procedure(); stdcall;
Public PopName: procedure(); stdcall;
Public PrioritizeTextures: procedure(n: TGLsizei; textures: PGLuint; priorities: PSingle); stdcall;
Public PushAttrib: procedure(mask: TGLbitfield); stdcall;
Public PushClientAttrib: procedure(mask: TGLbitfield); stdcall;
Public PushMatrix: procedure(); stdcall;
Public PushName: procedure(Name: Cardinal); stdcall;
Public RasterPos2d: procedure(X, y: TGLdouble); stdcall;
Public RasterPos2dv: procedure(v: PGLdouble); stdcall;
Public RasterPos2f: procedure(X, y: TGLfloat); stdcall;
Public RasterPos2fv: procedure(v: PGLfloat); stdcall;
Public RasterPos2i: procedure(X, y: TGLint); stdcall;
Public RasterPos2iv: procedure(v: PGLint); stdcall;
Public RasterPos2s: procedure(X, y: PGLshort); stdcall;
Public RasterPos2sv: procedure(v: PGLshort); stdcall;
Public RasterPos3d: procedure(X, y, z: TGLdouble); stdcall;
Public RasterPos3dv: procedure(v: PGLdouble); stdcall;
Public RasterPos3f: procedure(X, y, z: TGLfloat); stdcall;
Public RasterPos3fv: procedure(v: PGLfloat); stdcall;
Public RasterPos3i: procedure(X, y, z: TGLint); stdcall;
Public RasterPos3iv: procedure(v: PGLint); stdcall;
Public RasterPos3s: procedure(X, y, z: TGLshort); stdcall;
Public RasterPos3sv: procedure(v: PGLshort); stdcall;
Public RasterPos4d: procedure(X, y, z, w: TGLdouble); stdcall;
Public RasterPos4dv: procedure(v: PGLdouble); stdcall;
Public RasterPos4f: procedure(X, y, z, w: TGLfloat); stdcall;
Public RasterPos4fv: procedure(v: PGLfloat); stdcall;
Public RasterPos4i: procedure(X, y, z, w: TGLint); stdcall;
Public RasterPos4iv: procedure(v: PGLint); stdcall;
Public RasterPos4s: procedure(X, y, z, w: TGLshort); stdcall;
Public RasterPos4sv: procedure(v: PGLshort); stdcall;
Public Rectd: procedure(x1, y1, x2, y2: TGLdouble); stdcall;
Public Rectdv: procedure(v1, v2: PGLdouble); stdcall;
Public Rectf: procedure(x1, y1, x2, y2: TGLfloat); stdcall;
Public Rectfv: procedure(v1, v2: PGLfloat); stdcall;
Public Recti: procedure(x1, y1, x2, y2: TGLint); stdcall;
Public Rectiv: procedure(v1, v2: PGLint); stdcall;
Public Rects: procedure(x1, y1, x2, y2: TGLshort); stdcall;
Public Rectsv: procedure(v1, v2: PGLshort); stdcall;
Public RenderMode: function(mode: Cardinal): TGLint; stdcall;
Public Rotated: procedure(ane, X, y, z: TGLdouble); stdcall;
Public Rotatef: procedure(ane, X, y, z: TGLfloat); stdcall;
Public Scaled: procedure(X, y, z: TGLdouble); stdcall;
Public Scalef: procedure(X, y, z: TGLfloat); stdcall;
Public SelectBuffer: procedure(size: TGLsizei; buffer: PGLuint); stdcall;
Public ShadeModel: procedure(mode: Cardinal); stdcall;
Public TexCoord1d: procedure(s: TGLdouble); stdcall;
Public TexCoord1dv: procedure(v: PGLdouble); stdcall;
Public TexCoord1f: procedure(s: TGLfloat); stdcall;
Public TexCoord1fv: procedure(v: PGLfloat); stdcall;
Public TexCoord1i: procedure(s: TGLint); stdcall;
Public TexCoord1iv: procedure(v: PGLint); stdcall;
Public TexCoord1s: procedure(s: TGLshort); stdcall;
Public TexCoord1sv: procedure(v: PGLshort); stdcall;
Public TexCoord2d: procedure(s, t: TGLdouble); stdcall;
Public TexCoord2dv: procedure(v: PGLdouble); stdcall;
Public TexCoord2f: procedure(s, t: TGLfloat); stdcall;
Public TexCoord2fv: procedure(v: PGLfloat); stdcall;
Public TexCoord2i: procedure(s, t: TGLint); stdcall;
Public TexCoord2iv: procedure(v: PGLint); stdcall;
Public TexCoord2s: procedure(s, t: TGLshort); stdcall;
Public TexCoord2sv: procedure(v: PGLshort); stdcall;
Public TexCoord3d: procedure(s, t, r: TGLdouble); stdcall;
Public TexCoord3dv: procedure(v: PGLdouble); stdcall;
Public TexCoord3f: procedure(s, t, r: TGLfloat); stdcall;
Public TexCoord3fv: procedure(v: PGLfloat); stdcall;
Public TexCoord3i: procedure(s, t, r: TGLint); stdcall;
Public TexCoord3iv: procedure(v: PGLint); stdcall;
Public TexCoord3s: procedure(s, t, r: TGLshort); stdcall;
Public TexCoord3sv: procedure(v: PGLshort); stdcall;
Public TexCoord4d: procedure(s, t, r, q: TGLdouble); stdcall;
Public TexCoord4dv: procedure(v: PGLdouble); stdcall;
Public TexCoord4f: procedure(s, t, r, q: TGLfloat); stdcall;
Public TexCoord4fv: procedure(v: PGLfloat); stdcall;
Public TexCoord4i: procedure(s, t, r, q: TGLint); stdcall;
Public TexCoord4iv: procedure(v: PGLint); stdcall;
Public TexCoord4s: procedure(s, t, r, q: TGLshort); stdcall;
Public TexCoord4sv: procedure(v: PGLshort); stdcall;
Public TexCoordPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public TexEnvf: procedure(target, pname: Cardinal; param: TGLfloat); stdcall;
Public TexEnvfv: procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
Public TexEnvi: procedure(target, pname: Cardinal; param: TGLint); stdcall;
Public TexEnviv: procedure(target, pname: Cardinal; params: PGLint); stdcall;
Public TexGend: procedure(coord, pname: Cardinal; param: TGLdouble); stdcall;
Public TexGendv: procedure(coord, pname: Cardinal; params: PGLdouble); stdcall;
Public TexGenf: procedure(coord, pname: Cardinal; param: TGLfloat); stdcall;
Public TexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat); stdcall;
Public TexGeni: procedure(coord, pname: Cardinal; param: TGLint); stdcall;
Public TexGeniv: procedure(coord, pname: Cardinal; params: PGLint); stdcall;
Public Translated: procedure(X, y, z: TGLdouble); stdcall;
Public Translatef: procedure(X, y, z: TGLfloat); stdcall;
Public Vertex2d: procedure(X, y: TGLdouble); stdcall;
Public Vertex2dv: procedure(v: PGLdouble); stdcall;
Public Vertex2f: procedure(X, y: TGLfloat); stdcall;
Public Vertex2fv: procedure(v: PGLfloat); stdcall;
Public Vertex2i: procedure(X, y: TGLint); stdcall;
Public Vertex2iv: procedure(v: PGLint); stdcall;
Public Vertex2s: procedure(X, y: TGLshort); stdcall;
Public Vertex2sv: procedure(v: PGLshort); stdcall;
Public Vertex3d: procedure(X, y, z: TGLdouble); stdcall;
Public Vertex3dv: procedure(v: PGLdouble); stdcall;
Public Vertex3f: procedure(X, y, z: TGLfloat); stdcall;
Public Vertex3fv: procedure(v: PGLfloat); stdcall;
Public Vertex3i: procedure(X, y, z: TGLint); stdcall;
Public Vertex3iv: procedure(v: PGLint); stdcall;
Public Vertex3s: procedure(X, y, z: TGLshort); stdcall;
Public Vertex3sv: procedure(v: PGLshort); stdcall;
Public Vertex4d: procedure(X, y, z, w: TGLdouble); stdcall;
Public Vertex4dv: procedure(v: PGLdouble); stdcall;
Public Vertex4f: procedure(X, y, z, w: TGLfloat); stdcall;
Public Vertex4fv: procedure(v: PGLfloat); stdcall;
Public Vertex4i: procedure(X, y, z, w: TGLint); stdcall;
Public Vertex4iv: procedure(v: PGLint); stdcall;
Public Vertex4s: procedure(X, y, z, w: TGLshort); stdcall;
Public Vertex4sv: procedure(v: PGLshort); stdcall;
Public VertexPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; Data: Pointer); stdcall;
Public BlendColor: PFNGLBLENDCOLORPROC;

***************************************************************** ——— New core function/procedure definitions in OpenGL 1.2'} *****************************************************************

Public BlendEquation: PFNGLBLENDEQUATIONPROC;
Public DrawRangeElements: PFNGLDRAWRANGEELEMENTSPROC;
Public TexImage3D: PFNGLTEXIMAGE3DPROC;
Public TexSubImage3D: PFNGLTEXSUBIMAGE3DPROC;
Public CopyTexSubImage3D: PFNGLCOPYTEXSUBIMAGE3DPROC;
Public BlendFuncSeparate: PFNGLBLENDFUNCSEPARATEPROC;

——– New core function/procedure definitions in OpenGL 1.4'}

Public MultiDrawArrays: PFNGLMULTIDRAWARRAYSPROC;
Public MultiDrawElements: PFNGLMULTIDRAWELEMENTSPROC;
Public PointParameterf: PFNGLPOINTPARAMETERFPROC;
Public PointParameterfv: PFNGLPOINTPARAMETERFVPROC;
Public PointParameteri: PFNGLPOINTPARAMETERIPROC;
Public PointParameteriv: PFNGLPOINTPARAMETERIVPROC;
Public BlendEquationSeparate: PFNGLBLENDEQUATIONSEPARATEPROC;

————- New core function/procedure definitions in OpenGL 2.0'}

Public DrawBuffers: PFNGLDRAWBUFFERSPROC;
Public StencilOpSeparate: PFNGLSTENCILOPSEPARATEPROC;
Public StencilFuncSeparate: PFNGLSTENCILFUNCSEPARATEPROC;
Public StencilMaskSeparate: PFNGLSTENCILMASKSEPARATEPROC;
Public LockArrays: PFNGLLOCKARRAYSEXTPROC;

—————- Buffer objects

Public UnlockArrays: PFNGLUNLOCKARRAYSEXTPROC;

EXT only

Public BindBuffer: PFNGLBINDBUFFERPROC;

EXT only

Public DeleteBuffers: PFNGLDELETEBUFFERSPROC;
Public GenBuffers: PFNGLGENBUFFERSPROC;
Public IsBuffer: PFNGLISBUFFERPROC;
Public BufferData: PFNGLBUFFERDATAPROC;
Public BufferSubData: PFNGLBUFFERSUBDATAPROC;
Public GetBufferSubData: PFNGLGETBUFFERSUBDATAPROC;
Public MapBuffer: PFNGLMAPBUFFERPROC;
Public UnmapBuffer: PFNGLUNMAPBUFFERPROC;
Public GetBufferParameteriv: PFNGLGETBUFFERPARAMETERIVPROC;
Public GetBufferPointerv: PFNGLGETBUFFERPOINTERVPROC;
Public MapBufferRange: PFNGLMAPBUFFERRANGEPROC;
Public FlushMappedBufferRange: PFNGLFLUSHMAPPEDBUFFERRANGEPROC;
Public BindBufferRange: PFNGLBINDBUFFERRANGEPROC;
Public BindBufferOffset: PFNGLBINDBUFFEROFFSETEXTPROC;
Public BindBufferBase: PFNGLBINDBUFFERBASEPROC;

EXT + NV only

Public TransformFeedbackAttribs: PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC;
Public TransformFeedbackVaryingsNV: PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC;

NV only

Public TransformFeedbackVaryings: PFNGLTRANSFORMFEEDBACKVARYINGSPROC;

NV only

Public GetTransformFeedbackVarying: PFNGLGETTRANSFORMFEEDBACKVARYINGPROC;
Public BeginTransformFeedback: PFNGLBEGINTRANSFORMFEEDBACKPROC;
Public EndTransformFeedback: PFNGLENDTRANSFORMFEEDBACKPROC;
Public TexBuffer: PFNGLTEXBUFFERPROC;
Public ClearBufferiv: PFNGLCLEARBUFFERIVPROC;
Public ClearBufferuiv: PFNGLCLEARBUFFERUIVPROC;
Public ClearBufferfv: PFNGLCLEARBUFFERFVPROC;
Public ClearBufferfi: PFNGLCLEARBUFFERFIPROC;
Public GetStringi: PFNGLGETSTRINGIPROC;
Public BindVertexArray: PFNGLBINDVERTEXARRAYPROC;
Public DeleteVertexArrays: PFNGLDELETEVERTEXARRAYSPROC;
Public GenVertexArrays: PFNGLGENVERTEXARRAYSPROC;
Public IsVertexArray: PFNGLISVERTEXARRAYPROC;
Public FlushVertexArrayRangeNV: PFNGLFLUSHVERTEXARRAYRANGENVPROC;
Public VertexArrayRangeNV: PFNGLVERTEXARRAYRANGENVPROC;
Public GetUniformIndices: PFNGLGETUNIFORMINDICESPROC;
Public GetActiveUniformsiv: PFNGLGETACTIVEUNIFORMSIVPROC;
Public GetActiveUniformName: PFNGLGETACTIVEUNIFORMNAMEPROC;
Public GetUniformBlockIndex: PFNGLGETUNIFORMBLOCKINDEXPROC;
Public GetActiveUniformBlockiv: PFNGLGETACTIVEUNIFORMBLOCKIVPROC;
Public GetActiveUniformBlockName: PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC;
Public UniformBlockBinding: PFNGLUNIFORMBLOCKBINDINGPROC;
Public CopyBufferSubData: PFNGLCOPYBUFFERSUBDATAPROC;
Public UniformBuffer: PFNGLUNIFORMBUFFEREXTPROC;
Public GetUniformBufferSize: PFNGLGETUNIFORMBUFFERSIZEEXTPROC;
Public GetUniformOffset: PFNGLGETUNIFORMOFFSETEXTPROC;

EXT only

Public PrimitiveRestartIndex: PFNGLPRIMITIVERESTARTINDEXPROC;

EXT only

Public DrawElementsBaseVertex: PFNGLDRAWELEMENTSBASEVERTEXPROC;
Public DrawRangeElementsBaseVertex: PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC;
Public DrawElementsInstancedBaseVertex: PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC;
Public MultiDrawElementsBaseVertex: PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC;
Public DrawArraysInstanced: PFNGLDRAWARRAYSINSTANCEDPROC;
Public DrawElementsInstanced: PFNGLDRAWELEMENTSINSTANCEDPROC;
Public VertexAttrib1d: PFNGLVERTEXATTRIB1DPROC;
Public VertexAttrib1dv: PFNGLVERTEXATTRIB1DVPROC;
Public VertexAttrib1f: PFNGLVERTEXATTRIB1FPROC;
Public VertexAttrib1fv: PFNGLVERTEXATTRIB1FVPROC;
Public VertexAttrib1s: PFNGLVERTEXATTRIB1SPROC;
Public VertexAttrib1sv: PFNGLVERTEXATTRIB1SVPROC;
Public VertexAttrib2d: PFNGLVERTEXATTRIB2DPROC;
Public VertexAttrib2dv: PFNGLVERTEXATTRIB2DVPROC;
Public VertexAttrib2f: PFNGLVERTEXATTRIB2FPROC;
Public VertexAttrib2fv: PFNGLVERTEXATTRIB2FVPROC;
Public VertexAttrib2s: PFNGLVERTEXATTRIB2SPROC;
Public VertexAttrib2sv: PFNGLVERTEXATTRIB2SVPROC;
Public VertexAttrib3d: PFNGLVERTEXATTRIB3DPROC;
Public VertexAttrib3dv: PFNGLVERTEXATTRIB3DVPROC;
Public VertexAttrib3f: PFNGLVERTEXATTRIB3FPROC;
Public VertexAttrib3fv: PFNGLVERTEXATTRIB3FVPROC;
Public VertexAttrib3s: PFNGLVERTEXATTRIB3SPROC;
Public VertexAttrib3sv: PFNGLVERTEXATTRIB3SVPROC;
Public VertexAttrib4Nbv: PFNGLVERTEXATTRIB4NBVPROC;
Public VertexAttrib4Niv: PFNGLVERTEXATTRIB4NIVPROC;
Public VertexAttrib4Nsv: PFNGLVERTEXATTRIB4NSVPROC;
Public VertexAttrib4Nub: PFNGLVERTEXATTRIB4NUBPROC;
Public VertexAttrib4Nubv: PFNGLVERTEXATTRIB4NUBVPROC;
Public VertexAttrib4Nuiv: PFNGLVERTEXATTRIB4NUIVPROC;
Public VertexAttrib4Nusv: PFNGLVERTEXATTRIB4NUSVPROC;
Public VertexAttrib4bv: PFNGLVERTEXATTRIB4BVPROC;
Public VertexAttrib4d: PFNGLVERTEXATTRIB4DPROC;
Public VertexAttrib4dv: PFNGLVERTEXATTRIB4DVPROC;
Public VertexAttrib4f: PFNGLVERTEXATTRIB4FPROC;
Public VertexAttrib4fv: PFNGLVERTEXATTRIB4FVPROC;
Public VertexAttrib4iv: PFNGLVERTEXATTRIB4IVPROC;
Public VertexAttrib4s: PFNGLVERTEXATTRIB4SPROC;
Public VertexAttrib4sv: PFNGLVERTEXATTRIB4SVPROC;
Public VertexAttrib4ubv: PFNGLVERTEXATTRIB4UBVPROC;
Public VertexAttrib4uiv: PFNGLVERTEXATTRIB4UIVPROC;
Public VertexAttrib4usv: PFNGLVERTEXATTRIB4USVPROC;
Public VertexAttribPointer: PFNGLVERTEXATTRIBPOINTERPROC;
Public VertexAttribI1i: PFNGLVERTEXATTRIBI1IPROC;
Public VertexAttribI2i: PFNGLVERTEXATTRIBI2IPROC;
Public VertexAttribI3i: PFNGLVERTEXATTRIBI3IPROC;
Public VertexAttribI4i: PFNGLVERTEXATTRIBI4IPROC;
Public VertexAttribI1ui: PFNGLVERTEXATTRIBI1UIPROC;
Public VertexAttribI2ui: PFNGLVERTEXATTRIBI2UIPROC;
Public VertexAttribI3ui: PFNGLVERTEXATTRIBI3UIPROC;
Public VertexAttribI4ui: PFNGLVERTEXATTRIBI4UIPROC;
Public VertexAttribI1iv: PFNGLVERTEXATTRIBI1IVPROC;
Public VertexAttribI2iv: PFNGLVERTEXATTRIBI2IVPROC;
Public VertexAttribI3iv: PFNGLVERTEXATTRIBI3IVPROC;
Public VertexAttribI4iv: PFNGLVERTEXATTRIBI4IVPROC;
Public VertexAttribI1uiv: PFNGLVERTEXATTRIBI1UIVPROC;
Public VertexAttribI2uiv: PFNGLVERTEXATTRIBI2UIVPROC;
Public VertexAttribI3uiv: PFNGLVERTEXATTRIBI3UIVPROC;
Public VertexAttribI4uiv: PFNGLVERTEXATTRIBI4UIVPROC;
Public VertexAttribI4bv: PFNGLVERTEXATTRIBI4BVPROC;
Public VertexAttribI4sv: PFNGLVERTEXATTRIBI4SVPROC;
Public VertexAttribI4ubv: PFNGLVERTEXATTRIBI4UBVPROC;
Public VertexAttribI4usv: PFNGLVERTEXATTRIBI4USVPROC;
Public VertexAttribIPointer: PFNGLVERTEXATTRIBIPOINTERPROC;
Public GetVertexAttribIiv: PFNGLGETVERTEXATTRIBIIVPROC;
Public GetVertexAttribIuiv: PFNGLGETVERTEXATTRIBIUIVPROC;
Public Uniform1ui: PFNGLUNIFORM1UIPROC;
Public Uniform2ui: PFNGLUNIFORM2UIPROC;
Public Uniform3ui: PFNGLUNIFORM3UIPROC;
Public Uniform4ui: PFNGLUNIFORM4UIPROC;
Public Uniform1uiv: PFNGLUNIFORM1UIVPROC;
Public Uniform2uiv: PFNGLUNIFORM2UIVPROC;
Public Uniform3uiv: PFNGLUNIFORM3UIVPROC;
Public Uniform4uiv: PFNGLUNIFORM4UIVPROC;
Public GetUniformuiv: PFNGLGETUNIFORMUIVPROC;
Public BindFragDataLocation: PFNGLBINDFRAGDATALOCATIONPROC;
Public GetFragDataLocation: PFNGLGETFRAGDATALOCATIONPROC;
Public ClampColor: PFNGLCLAMPCOLORPROC;
Public ColorMaski: PFNGLCOLORMASKIPROC;
Public GetBooleani_v: PFNGLGETBOOLEANI_VPROC;
Public GetIntegeri_v: PFNGLGETINTEGERI_VPROC;
Public Enablei: PFNGLENABLEIPROC;
Public Disablei: PFNGLDISABLEIPROC;
Public IsEnabledi: PFNGLISENABLEDIPROC;
Public EnableVertexAttribArray: PFNGLENABLEVERTEXATTRIBARRAYPROC;
Public DisableVertexAttribArray: PFNGLDISABLEVERTEXATTRIBARRAYPROC;
Public VertexAttribDivisor: PFNGLVERTEXATTRIBDIVISORPROC;
Public ClearColorIi: PFNGLCLEARCOLORIIEXTPROC;
Public ClearColorIui: PFNGLCLEARCOLORIUIEXTPROC;

EXT only

Public TexParameterIiv: PFNGLTEXPARAMETERIIVPROC;

EXT only

Public TexParameterIuiv: PFNGLTEXPARAMETERIUIVPROC;
Public GetTexParameterIiv: PFNGLGETTEXPARAMETERIIVPROC;
Public GetTexParameterIuiv: PFNGLGETTEXPARAMETERIUIVPROC;
Public PatchParameteri: PFNGLPATCHPARAMETERIPROC;
Public PatchParameterfv: PFNGLPATCHPARAMETERFVPROC;
Public BufferAddressRangeNV: PFNGLBUFFERADDRESSRANGENVPROC;
Public VertexFormatNV: PFNGLVERTEXFORMATNVPROC;
Public NormalFormatNV: PFNGLNORMALFORMATNVPROC;
Public ColorFormatNV: PFNGLCOLORFORMATNVPROC;
Public IndexFormatNV: PFNGLINDEXFORMATNVPROC;
Public TexCoordFormatNV: PFNGLTEXCOORDFORMATNVPROC;
Public EdgeFlagFormatNV: PFNGLEDGEFLAGFORMATNVPROC;
Public SecondaryColorFormatNV: PFNGLSECONDARYCOLORFORMATNVPROC;
Public FogCoordFormatNV: PFNGLFOGCOORDFORMATNVPROC;
Public VertexAttribFormatNV: PFNGLVERTEXATTRIBFORMATNVPROC;
Public VertexAttribIFormatNV: PFNGLVERTEXATTRIBIFORMATNVPROC;
Public GetIntegerui64i_vNV: PFNGLGETINTEGERUI64I_VNVPROC;
Public GetBufferParameterui64vNV: PGNGLGETBUFFERPARAMETERUI64VNV;
Public MakeBufferResidentNV: PFNGLMAKEBUFFERRESIDENTNVPROC;
Public MakeBufferNonResidentNV: PFNGLMAKEBUFFERNONRESIDENTNVPROC;
Public IsBufferResidentNV: PFNGLISBUFFERRESIDENTNVPROC;
Public MakeNamedBufferResidentNV: PFNGLMAKENAMEDBUFFERRESIDENTNVPROC;
Public MakeNamedBufferNonResidentNV: PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC;
Public IsNamedBufferResidentNV: PFNGLISNAMEDBUFFERRESIDENTNVPROC;
Public GetNamedBufferParameterui64vNV: PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC;
Public GetIntegerui64vNV: PFNGLGETINTEGERUI64VNVPROC;
Public Uniformui64NV: PFNGLUNIFORMUI64NVPROC;
Public Uniformui64vNV: PFNGLUNIFORMUI64VNVPROC;
Public GetUniformui64vNV: PFNGLGETUNIFORMUI64VNVPROC;
Public ProgramUniformui64NV: PFNGLPROGRAMUNIFORMUI64NVPROC;
Public ProgramUniformui64vNV: PFNGLPROGRAMUNIFORMUI64VNVPROC;
Public ClearBufferData: PFNGLClearBufferData;
Public ClearBufferSubData: PFNGLClearBufferSubData;
Public ClearNamedBufferData: PFNGLClearNamedBufferData;
Public ClearNamedBufferSubData: PFNGLClearNamedBufferSubData;
Public InvalidateTexSubImage: PFNGLInvalidateTexSubImage;
Public InvalidateTexImage: PFNGLInvalidateTexImage;
Public InvalidateBufferSubData: PFNGLInvalidateBufferSubData;
Public InvalidateBufferData: PFNGLInvalidateBufferData;
Public InvalidateFramebuffer: PFNGLInvalidateFramebuffer;
Public InvalidateSubFramebuffer: PFNGLInvalidateSubFramebuffer;
Public MultiDrawArraysIndirect: PFNGLMultiDrawArraysIndirect;
Public MultiDrawElementsIndirect: PFNGLMultiDrawElementsIndirect;
Public BindVertexBuffer: PFNGLBindVertexBuffer;
Public VertexAttribFormat: PFNGLVertexAttribFormat;
Public VertexAttribIFormat: PFNGLVertexAttribIFormat;
Public VertexAttribLFormat: PFNGLVertexAttribLFormat;
Public VertexAttribBinding: PFNGLVertexAttribBinding;
Public VertexBindingDivisor: PFNGLVertexBindingDivisor;
Public VertexArrayBindVertexBuffer: PFNGLVertexArrayBindVertexBuffer;
Public VertexArrayVertexAttribFormat: PFNGLVertexArrayVertexAttribFormat;
Public VertexArrayVertexAttribIFormat: PFNGLVertexArrayVertexAttribIFormat;
Public VertexArrayVertexAttribLFormat: PFNGLVertexArrayVertexAttribLFormat;
Public VertexArrayVertexAttribBinding: PFNGLVertexArrayVertexAttribBinding;
Public VertexArrayVertexBindingDivisor: PFNGLVertexArrayVertexBindingDivisor;
Public DeleteObject: PFNGLDELETEOBJECTARBPROC;

—————————— Shader object

Public GetHandle: PFNGLGETHANDLEARBPROC;

ARB only

Public DetachShader: PFNGLDETACHSHADERPROC;

ARB only

Public CreateShader: PFNGLCREATESHADERPROC;
Public DeleteShader: PFNGLDELETESHADERPROC;
Public ShaderSource: PFNGLSHADERSOURCEPROC;
Public CompileShader: PFNGLCOMPILESHADERPROC;
Public CreateProgram: PFNGLCREATEPROGRAMPROC;
Public DeleteProgram: PFNGLDELETEPROGRAMPROC;
Public AttachShader: PFNGLATTACHSHADERPROC;
Public LinkProgram: PFNGLLINKPROGRAMPROC;
Public UseProgram: PFNGLUSEPROGRAMPROC;
Public ValidateProgram: PFNGLVALIDATEPROGRAMPROC;
Public Uniform1f: PFNGLUNIFORM1FPROC;
Public Uniform2f: PFNGLUNIFORM2FPROC;
Public Uniform3f: PFNGLUNIFORM3FPROC;
Public Uniform4f: PFNGLUNIFORM4FPROC;
Public Uniform1i: PFNGLUNIFORM1IPROC;
Public Uniform2i: PFNGLUNIFORM2IPROC;
Public Uniform3i: PFNGLUNIFORM3IPROC;
Public Uniform4i: PFNGLUNIFORM4IPROC;
Public Uniform1fv: PFNGLUNIFORM1FVPROC;
Public Uniform2fv: PFNGLUNIFORM2FVPROC;
Public Uniform3fv: PFNGLUNIFORM3FVPROC;
Public Uniform4fv: PFNGLUNIFORM4FVPROC;
Public Uniform1iv: PFNGLUNIFORM1IVPROC;
Public Uniform2iv: PFNGLUNIFORM2IVPROC;
Public Uniform3iv: PFNGLUNIFORM3IVPROC;
Public Uniform4iv: PFNGLUNIFORM4IVPROC;
Public UniformMatrix2fv: PFNGLUNIFORMMATRIX2FVPROC;
Public UniformMatrix3fv: PFNGLUNIFORMMATRIX3FVPROC;
Public UniformMatrix4fv: PFNGLUNIFORMMATRIX4FVPROC;
Public GetObjectParameterfv: PFNGLGETOBJECTPARAMETERFVARBPROC;
Public GetObjectParameteriv: PFNGLGETOBJECTPARAMETERIVARBPROC;

ARB only

Public GetInfoLog: PFNGLGETINFOLOGARBPROC;

ARB only

Public GetAttachedObjects: PFNGLGETATTACHEDOBJECTSARBPROC;

ARB only

Public GetActiveAttrib: PFNGLGETACTIVEATTRIBPROC;

ARB only

Public GetActiveUniform: PFNGLGETACTIVEUNIFORMPROC;
Public GetAttachedShaders: PFNGLGETATTACHEDSHADERSPROC;
Public GetAttribLocation: PFNGLGETATTRIBLOCATIONPROC;
Public GetProgramiv: PFNGLGETPROGRAMIVPROC;
Public GetProgramInfoLog: PFNGLGETPROGRAMINFOLOGPROC;
Public GetShaderiv: PFNGLGETSHADERIVPROC;
Public GetShaderInfoLog: PFNGLGETSHADERINFOLOGPROC;
Public GetShaderSource: PFNGLGETSHADERSOURCEPROC;
Public GetUniformLocation: PFNGLGETUNIFORMLOCATIONPROC;
Public GetUniformfv: PFNGLGETUNIFORMFVPROC;
Public GetUniformiv: PFNGLGETUNIFORMIVPROC;
Public GetVertexAttribdv: PFNGLGETVERTEXATTRIBDVPROC;
Public GetVertexAttribfv: PFNGLGETVERTEXATTRIBFVPROC;
Public GetVertexAttribiv: PFNGLGETVERTEXATTRIBIVPROC;
Public GetVertexAttribPointerv: PFNGLGETVERTEXATTRIBPOINTERVPROC;
Public IsProgram: PFNGLISPROGRAMPROC;
Public IsShader: PFNGLISSHADERPROC;
Public BindAttribLocation: PFNGLBINDATTRIBLOCATIONPROC;
Public BindFragDataLocationIndexed: PFNGLBINDFRAGDATALOCATIONINDEXEDPROC;
Public GetFragDataIndex: PFNGLGETFRAGDATAINDEXPROC;
Public GetVaryingLocation: PFNGLGETVARYINGLOCATIONNVPROC;
Public GetActiveVarying: PFNGLGETACTIVEVARYINGNVPROC;

NV only

Public ActiveVarying: PFNGLACTIVEVARYINGNVPROC;

NV only

Public GetProgramBinary: PFNGLGETPROGRAMBINARYPROC;

NV only

Public ProgramBinary: PFNGLPROGRAMBINARYPROC;
Public UseProgramStages: PFNGLUSEPROGRAMSTAGESPROC;
Public ActiveShaderProgram: PFNGLACTIVESHADERPROGRAMPROC;
Public CreateShaderProgramv: PFNGLCREATESHADERPROGRAMVPROC;
Public BindProgramPipeline: PFNGLBINDPROGRAMPIPELINEPROC;
Public DeleteProgramPipelines: PFNGLDELETEPROGRAMPIPELINESPROC;
Public GenProgramPipelines: PFNGLGENPROGRAMPIPELINESPROC;
Public IsProgramPipeline: PFNGLISPROGRAMPIPELINEPROC;
Public GetProgramPipelineiv: PFNGLGETPROGRAMPIPELINEIVPROC;
Public ProgramUniform1i: PFNGLPROGRAMUNIFORM1IPROC;
Public ProgramUniform1iv: PFNGLPROGRAMUNIFORM1IVPROC;
Public ProgramUniform1f: PFNGLPROGRAMUNIFORM1FPROC;
Public ProgramUniform1fv: PFNGLPROGRAMUNIFORM1FVPROC;
Public ProgramUniform1d: PFNGLPROGRAMUNIFORM1DPROC;
Public ProgramUniform1dv: PFNGLPROGRAMUNIFORM1DVPROC;
Public ProgramUniform1ui: PFNGLPROGRAMUNIFORM1UIPROC;
Public ProgramUniform1uiv: PFNGLPROGRAMUNIFORM1UIVPROC;
Public ProgramUniform2i: PFNGLPROGRAMUNIFORM2IPROC;
Public ProgramUniform2iv: PFNGLPROGRAMUNIFORM2IVPROC;
Public ProgramUniform2f: PFNGLPROGRAMUNIFORM2FPROC;
Public ProgramUniform2fv: PFNGLPROGRAMUNIFORM2FVPROC;
Public ProgramUniform2d: PFNGLPROGRAMUNIFORM2DPROC;
Public ProgramUniform2dv: PFNGLPROGRAMUNIFORM2DVPROC;
Public ProgramUniform2ui: PFNGLPROGRAMUNIFORM2UIPROC;
Public ProgramUniform2uiv: PFNGLPROGRAMUNIFORM2UIVPROC;
Public ProgramUniform3i: PFNGLPROGRAMUNIFORM3IPROC;
Public ProgramUniform3iv: PFNGLPROGRAMUNIFORM3IVPROC;
Public ProgramUniform3f: PFNGLPROGRAMUNIFORM3FPROC;
Public ProgramUniform3fv: PFNGLPROGRAMUNIFORM3FVPROC;
Public ProgramUniform3d: PFNGLPROGRAMUNIFORM3DPROC;
Public ProgramUniform3dv: PFNGLPROGRAMUNIFORM3DVPROC;
Public ProgramUniform3ui: PFNGLPROGRAMUNIFORM3UIPROC;
Public ProgramUniform3uiv: PFNGLPROGRAMUNIFORM3UIVPROC;
Public ProgramUniform4i: PFNGLPROGRAMUNIFORM4IPROC;
Public ProgramUniform4iv: PFNGLPROGRAMUNIFORM4IVPROC;
Public ProgramUniform4f: PFNGLPROGRAMUNIFORM4FPROC;
Public ProgramUniform4fv: PFNGLPROGRAMUNIFORM4FVPROC;
Public ProgramUniform4d: PFNGLPROGRAMUNIFORM4DPROC;
Public ProgramUniform4dv: PFNGLPROGRAMUNIFORM4DVPROC;
Public ProgramUniform4ui: PFNGLPROGRAMUNIFORM4UIPROC;
Public ProgramUniform4uiv: PFNGLPROGRAMUNIFORM4UIVPROC;
Public ProgramUniformMatrix2fv: PFNGLPROGRAMUNIFORMMATRIX2FVPROC;
Public ProgramUniformMatrix3fv: PFNGLPROGRAMUNIFORMMATRIX3FVPROC;
Public ProgramUniformMatrix4fv: PFNGLPROGRAMUNIFORMMATRIX4FVPROC;
Public ProgramUniformMatrix2dv: PFNGLPROGRAMUNIFORMMATRIX2DVPROC;
Public ProgramUniformMatrix3dv: PFNGLPROGRAMUNIFORMMATRIX3DVPROC;
Public ProgramUniformMatrix4dv: PFNGLPROGRAMUNIFORMMATRIX4DVPROC;
Public ProgramUniformMatrix2x3fv: PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC;
Public ProgramUniformMatrix3x2fv: PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC;
Public ProgramUniformMatrix2x4fv: PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC;
Public ProgramUniformMatrix4x2fv: PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC;
Public ProgramUniformMatrix3x4fv: PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC;
Public ProgramUniformMatrix4x3fv: PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC;
Public ProgramUniformMatrix2x3dv: PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC;
Public ProgramUniformMatrix3x2dv: PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC;
Public ProgramUniformMatrix2x4dv: PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC;
Public ProgramUniformMatrix4x2dv: PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC;
Public ProgramUniformMatrix3x4dv: PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC;
Public ProgramUniformMatrix4x3dv: PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC;
Public ValidateProgramPipeline: PFNGLVALIDATEPROGRAMPIPELINEPROC;
Public GetProgramPipelineInfoLog: PFNGLGETPROGRAMPIPELINEINFOLOGPROC;
Public DispatchCompute: PFNGLDispatchCompute;
Public DispatchComputeIndirect: PFNGLDispatchComputeIndirect;
Public ShaderStorageBlockBinding: PFNGLShaderStorageBlockBinding;
Public IsRenderbuffer: PFNGLISRENDERBUFFERPROC;

————- Framebuffer object

Public BindRenderbuffer: PFNGLBINDRENDERBUFFERPROC;
Public DeleteRenderbuffers: PFNGLDELETERENDERBUFFERSPROC;
Public GenRenderbuffers: PFNGLGENRENDERBUFFERSPROC;
Public RenderbufferStorage: PFNGLRENDERBUFFERSTORAGEPROC;
Public RenderbufferStorageMultisample: PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC;
Public GetRenderbufferParameteriv: PFNGLGETRENDERBUFFERPARAMETERIVPROC;
Public IsFramebuffer: PFNGLISFRAMEBUFFERPROC;
Public BindFramebuffer: PFNGLBINDFRAMEBUFFERPROC;
Public DeleteFramebuffers: PFNGLDELETEFRAMEBUFFERSPROC;
Public GenFramebuffers: PFNGLGENFRAMEBUFFERSPROC;
Public CheckFramebufferStatus: PFNGLCHECKFRAMEBUFFERSTATUSPROC;
Public FramebufferTexture: PFNGLFRAMEBUFFERTEXTUREPROC;
Public FramebufferTexture1D: PFNGLFRAMEBUFFERTEXTURE1DPROC;
Public FramebufferTexture2D: PFNGLFRAMEBUFFERTEXTURE2DPROC;
Public FramebufferTexture3D: PFNGLFRAMEBUFFERTEXTURE3DPROC;
Public FramebufferTextureLayer: PFNGLFRAMEBUFFERTEXTURELAYERPROC;
Public FramebufferTextureFace: PFNGLFRAMEBUFFERTEXTUREFACEARBPROC;
Public FramebufferRenderbuffer: PFNGLFRAMEBUFFERRENDERBUFFERPROC;

ARB only

Public GetFramebufferAttachmentParameteriv: PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC;
Public BlitFramebuffer: PFNGLBLITFRAMEBUFFERPROC;
Public GenerateMipmap: PFNGLGENERATEMIPMAPPROC;
Public FramebufferParameteri: PFNGLFramebufferParameteri;
Public NamedFramebufferParameteri: PFNGLNamedFramebufferParameteri;
Public GetNamedFramebufferParameteriv: PFNGLGetNamedFramebufferParameteriv;
Public GenQueries: PFNGLGENQUERIESPROC;

—————————— Queries object

Public DeleteQueries: PFNGLDELETEQUERIESPROC;
Public IsQuery: PFNGLISQUERYPROC;
Public BeginQuery: PFNGLBEGINQUERYPROC;
Public EndQuery: PFNGLENDQUERYPROC;
Public GetQueryiv: PFNGLGETQUERYIVPROC;
Public GetQueryObjectiv: PFNGLGETQUERYOBJECTIVPROC;
Public GetQueryObjectuiv: PFNGLGETQUERYOBJECTUIVPROC;
Public QueryCounter: PFNGLQUERYCOUNTERPROC;
Public GetQueryObjecti64v: PFNGLGETQUERYOBJECTI64VPROC;
Public GetQueryObjectui64v: PFNGLGETQUERYOBJECTUI64VPROC;
Public GetInternalformati64v: PFNGLGetInternalformati64v;
Public GetProgramInterfaceiv: PFNGLGetProgramInterfaceiv;
Public GetProgramResourceIndex: PFNGLGetProgramResourceIndex;
Public GetProgramResourceName: PFNGLGetProgramResourceName;
Public GetProgramResourceiv: PFNGLGetProgramResourceiv;
Public GetProgramResourceLocation: PFNGLGetProgramResourceLocation;
Public GetProgramResourceLocationIndex: PFNGLGetProgramResourceLocationIndex;
Public ActiveTexture: PFNGLACTIVETEXTUREPROC;

—————————— Texture & Sampler object promoted to core v1.3 from GL_ARB_multitexture (#1)

Public SampleCoverage: PFNGLSAMPLECOVERAGEPROC;
Public CompressedTexImage3D: PFNGLCOMPRESSEDTEXIMAGE3DPROC;

promoted to core v1.3 from GL_ARB_texture_compression (#12)

Public CompressedTexImage2D: PFNGLCOMPRESSEDTEXIMAGE2DPROC;
Public CompressedTexImage1D: PFNGLCOMPRESSEDTEXIMAGE1DPROC;
Public CompressedTexSubImage3D: PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC;
Public CompressedTexSubImage2D: PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC;
Public CompressedTexSubImage1D: PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC;
Public GetCompressedTexImage: PFNGLGETCOMPRESSEDTEXIMAGEPROC;
Public ClientActiveTexture: PFNGLCLIENTACTIVETEXTUREPROC;
Public MultiTexCoord1d: PFNGLMULTITEXCOORD1DPROC;
Public MultiTexCoord1dV: PFNGLMULTITEXCOORD1DVPROC;
Public MultiTexCoord1f: PFNGLMULTITEXCOORD1FPROC;
Public MultiTexCoord1fv: PFNGLMULTITEXCOORD1FVPROC;
Public MultiTexCoord1i: PFNGLMULTITEXCOORD1IPROC;
Public MultiTexCoord1iv: PFNGLMULTITEXCOORD1IVPROC;
Public MultiTexCoord1s: PFNGLMULTITEXCOORD1SPROC;
Public MultiTexCoord1sv: PFNGLMULTITEXCOORD1SVPROC;
Public MultiTexCoord2d: PFNGLMULTITEXCOORD2DPROC;
Public MultiTexCoord2dv: PFNGLMULTITEXCOORD2DVPROC;
Public MultiTexCoord2f: PFNGLMULTITEXCOORD2FPROC;
Public MultiTexCoord2fv: PFNGLMULTITEXCOORD2FVPROC;
Public MultiTexCoord2i: PFNGLMULTITEXCOORD2IPROC;
Public MultiTexCoord2iv: PFNGLMULTITEXCOORD2IVPROC;
Public MultiTexCoord2s: PFNGLMULTITEXCOORD2SPROC;
Public MultiTexCoord2sv: PFNGLMULTITEXCOORD2SVPROC;
Public MultiTexCoord3d: PFNGLMULTITEXCOORD3DPROC;
Public MultiTexCoord3dv: PFNGLMULTITEXCOORD3DVPROC;
Public MultiTexCoord3f: PFNGLMULTITEXCOORD3FPROC;
Public MultiTexCoord3fv: PFNGLMULTITEXCOORD3FVPROC;
Public MultiTexCoord3i: PFNGLMULTITEXCOORD3IPROC;
Public MultiTexCoord3iv: PFNGLMULTITEXCOORD3IVPROC;
Public MultiTexCoord3s: PFNGLMULTITEXCOORD3SPROC;
Public MultiTexCoord3sv: PFNGLMULTITEXCOORD3SVPROC;
Public MultiTexCoord4d: PFNGLMULTITEXCOORD4DPROC;
Public MultiTexCoord4dv: PFNGLMULTITEXCOORD4DVPROC;
Public MultiTexCoord4f: PFNGLMULTITEXCOORD4FPROC;
Public MultiTexCoord4fv: PFNGLMULTITEXCOORD4FVPROC;
Public MultiTexCoord4i: PFNGLMULTITEXCOORD4IPROC;
Public MultiTexCoord4iv: PFNGLMULTITEXCOORD4IVPROC;
Public MultiTexCoord4s: PFNGLMULTITEXCOORD4SPROC;
Public MultiTexCoord4sv: PFNGLMULTITEXCOORD4SVPROC;
Public GetInteger64i_v: PFNGLGETINTEGER64I_VPROC;
Public GetBufferParameteri64v: PFNGLGETBUFFERPARAMETERI64VPROC;
Public ProgramParameteri: PFNGLPROGRAMPARAMETERIPROC;
Public ProgramString: PFNGLPROGRAMSTRINGARBPROC;
Public BindProgram: PFNGLBINDPROGRAMARBPROC;

ARB only

Public DeletePrograms: PFNGLDELETEPROGRAMSARBPROC;

ARB + NV only

Public GenPrograms: PFNGLGENPROGRAMSARBPROC;

ARB + NV only

Public ProgramEnvParameter4d: PFNGLPROGRAMENVPARAMETER4DARBPROC;

ARB + NV only

Public ProgramEnvParameter4dv: PFNGLPROGRAMENVPARAMETER4DVARBPROC;

ARB only

Public ProgramEnvParameter4f: PFNGLPROGRAMENVPARAMETER4FARBPROC;

ARB only

Public ProgramEnvParameter4fv: PFNGLPROGRAMENVPARAMETER4FVARBPROC;

ARB only

Public ProgramLocalParameter4d: PFNGLPROGRAMLOCALPARAMETER4DARBPROC;

ARB only

Public ProgramLocalParameter4dv: PFNGLPROGRAMLOCALPARAMETER4DVARBPROC;

ARB only

Public ProgramLocalParameter4f: PFNGLPROGRAMLOCALPARAMETER4FARBPROC;

ARB only

Public ProgramLocalParameter4fv: PFNGLPROGRAMLOCALPARAMETER4FVARBPROC;

ARB only

Public GetProgramEnvParameterdv: PFNGLGETPROGRAMENVPARAMETERDVARBPROC;

ARB only

Public GetProgramEnvParameterfv: PFNGLGETPROGRAMENVPARAMETERFVARBPROC;

ARB only

Public GetProgramLocalParameterdv: PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC;

ARB only

Public GetProgramLocalParameterfv: PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC;

ARB only

Public TexImage2DMultisample: PFNGLTEXIMAGE2DMULTISAMPLEPROC;

ARB only

Public TexImage3DMultisample: PFNGLTEXIMAGE3DMULTISAMPLEPROC;
Public GetMultisamplefv: PFNGLGETMULTISAMPLEFVPROC;
Public SampleMaski: PFNGLSAMPLEMASKIPROC;
Public ProvokingVertex: PFNGLPROVOKINGVERTEXPROC;
Public FenceSync: PFNGLFENCESYNCPROC;
Public IsSync: PFNGLISSYNCPROC;
Public DeleteSync: PFNGLDELETESYNCPROC;
Public ClientWaitSync: PFNGLCLIENTWAITSYNCPROC;
Public WaitSync: PFNGLWAITSYNCPROC;
Public GetInteger64v: PFNGLGETINTEGER64VPROC;
Public GetSynciv: PFNGLGETSYNCIVPROC;
Public BlendEquationi: PFNGLBLENDEQUATIONIPROC;
Public BlendEquationSeparatei: PFNGLBLENDEQUATIONSEPARATEIPROC;
Public BlendFunci: PFNGLBLENDFUNCIPROC;
Public BlendFuncSeparatei: PFNGLBLENDFUNCSEPARATEIPROC;
Public MinSampleShading: PFNGLMINSAMPLESHADINGPROC;
Public GenSamplers: PFNGLGENSAMPLERSPROC;
Public DeleteSamplers: PFNGLDELETESAMPLERSPROC;
Public IsSampler: PFNGLISSAMPLERPROC;
Public BindSampler: PFNGLBINDSAMPLERPROC;
Public SamplerParameteri: PFNGLSAMPLERPARAMETERIPROC;
Public SamplerParameteriv: PFNGLSAMPLERPARAMETERIVPROC;
Public SamplerParameterf: PFNGLSAMPLERPARAMETERFPROC;
Public SamplerParameterfv: PFNGLSAMPLERPARAMETERFVPROC;
Public SamplerParameterIiv: PFNGLSAMPLERPARAMETERIIVPROC;
Public SamplerParameterIuiv: PFNGLSAMPLERPARAMETERIUIVPROC;
Public GetSamplerParameteriv: PFNGLGETSAMPLERPARAMETERIVPROC;
Public GetSamplerParameterIiv: PFNGLGETSAMPLERPARAMETERIIVPROC;
Public GetSamplerParameterfv: PFNGLGETSAMPLERPARAMETERFVPROC;
Public GetSamplerParameterIfv: PFNGLGETSAMPLERPARAMETERIFVPROC;
Public CopyImageSubData: PFNGLCopyImageSubData;
Public TexBufferRange: PFNGLTexBufferRange;
Public TextureBufferRange: PFNGLTextureBufferRange;
Public TexStorage2DMultisample: PFNGLTexStorage2DMultisample;
Public TexStorage3DMultisample: PFNGLTexStorage3DMultisample;
Public TextureStorage2DMultisample: PFNGLTextureStorage2DMultisample;
Public TextureStorage3DMultisample: PFNGLTextureStorage3DMultisample;
Public BufferStorage: PFNGLBufferStorage;
Public ClearTexImage: PFNGLClearTexImage;
Public ClearTexSubImage: PFNGLClearTexSubImage;
Public BindBuffersBase: PFNGLBindBuffersBase;
Public BindBuffersRange: PFNGLBindBuffersRange;
Public BindTextures: PFNGLBindTextures;
Public BindSamplers: PFNGLBindSamplers;
Public BindImageTextures: PFNGLBindImageTextures;
Public BindVertexBuffers: PFNGLBindVertexBuffers;
Public TextureView: PFNGLTextureView;
Public ClientAttribDefault: PFNGLCLIENTATTRIBDEFAULTEXTPROC;

—————————— Direct access

Public PushClientAttribDefault: PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC;
Public MatrixLoadf: PFNGLMATRIXLOADFEXTPROC;
Public MatrixLoadd: PFNGLMATRIXLOADDEXTPROC;
Public MatrixMultf: PFNGLMATRIXMULTFEXTPROC;
Public MatrixMultd: PFNGLMATRIXMULTDEXTPROC;
Public MatrixLoadIdentity: PFNGLMATRIXLOADIDENTITYEXTPROC;
Public MatrixRotatef: PFNGLMATRIXROTATEFEXTPROC;
Public MatrixRotated: PFNGLMATRIXROTATEDEXTPROC;
Public MatrixScalef: PFNGLMATRIXSCALEFEXTPROC;
Public MatrixScaled: PFNGLMATRIXSCALEDEXTPROC;
Public MatrixTranslatef: PFNGLMATRIXTRANSLATEFEXTPROC;
Public MatrixTranslated: PFNGLMATRIXTRANSLATEDEXTPROC;
Public MatrixFrustum: PFNGLMATRIXFRUSTUMEXTPROC;
Public MatrixOrtho: PFNGLMATRIXORTHOEXTPROC;
Public MatrixPop: PFNGLMATRIXPOPEXTPROC;
Public MatrixPush: PFNGLMATRIXPUSHEXTPROC;
Public MatrixLoadTransposef: PFNGLMATRIXLOADTRANSPOSEFEXTPROC;
Public MatrixLoadTransposed: PFNGLMATRIXLOADTRANSPOSEDEXTPROC;
Public MatrixMultTransposef: PFNGLMATRIXMULTTRANSPOSEFEXTPROC;
Public MatrixMultTransposed: PFNGLMATRIXMULTTRANSPOSEDEXTPROC;
Public TextureParameterfv: PFNGLTEXTUREPARAMETERFVEXTPROC;
Public TextureParameteri: PFNGLTEXTUREPARAMETERIEXTPROC;
Public TextureParameteriv: PFNGLTEXTUREPARAMETERIVEXTPROC;
Public TextureImage1D: PFNGLTEXTUREIMAGE1DEXTPROC;
Public TextureImage2D: PFNGLTEXTUREIMAGE2DEXTPROC;
Public TextureSubImage1D: PFNGLTEXTURESUBIMAGE1DEXTPROC;
Public TextureSubImage2D: PFNGLTEXTURESUBIMAGE2DEXTPROC;
Public CopyTextureImage1D: PFNGLCOPYTEXTUREIMAGE1DEXTPROC;
Public CopyTextureImage2D: PFNGLCOPYTEXTUREIMAGE2DEXTPROC;
Public CopyTextureSubImage1D: PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC;
Public CopyTextureSubImage2D: PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC;
Public GetTextureImage: PFNGLGETTEXTUREIMAGEEXTPROC;
Public GetTextureParameterfv: PFNGLGETTEXTUREPARAMETERFVEXTPROC;
Public GetTextureParameteriv: PFNGLGETTEXTUREPARAMETERIVEXTPROC;
Public GetTextureLevelParameterfv: PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC;
Public GetTextureLevelParameteriv: PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC;
Public TextureImage3D: PFNGLTEXTUREIMAGE3DEXTPROC;
Public TextureSubImage3D: PFNGLTEXTURESUBIMAGE3DEXTPROC;
Public CopyTextureSubImage3D: PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC;
Public MultiTexParameterf: PFNGLMULTITEXPARAMETERFEXTPROC;
Public MultiTexParameterfv: PFNGLMULTITEXPARAMETERFVEXTPROC;
Public MultiTexParameteri: PFNGLMULTITEXPARAMETERIEXTPROC;
Public MultiTexParameteriv: PFNGLMULTITEXPARAMETERIVEXTPROC;
Public MultiTexImage1D: PFNGLMULTITEXIMAGE1DEXTPROC;
Public MultiTexImage2D: PFNGLMULTITEXIMAGE2DEXTPROC;
Public MultiTexSubImage1D: PFNGLMULTITEXSUBIMAGE1DEXTPROC;
Public MultiTexSubImage2D: PFNGLMULTITEXSUBIMAGE2DEXTPROC;
Public CopyMultiTexImage1D: PFNGLCOPYMULTITEXIMAGE1DEXTPROC;
Public CopyMultiTexImage2D: PFNGLCOPYMULTITEXIMAGE2DEXTPROC;
Public CopyMultiTexSubImage1D: PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC;
Public CopyMultiTexSubImage2D: PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC;
Public GetMultiTexImage: PFNGLGETMULTITEXIMAGEEXTPROC;
Public GetMultiTexParameterfv: PFNGLGETMULTITEXPARAMETERFVEXTPROC;
Public GetMultiTexParameteriv: PFNGLGETMULTITEXPARAMETERIVEXTPROC;
Public GetMultiTexLevelParameterfv: PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC;
Public GetMultiTexLevelParameteriv: PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC;
Public MultiTexImage3D: PFNGLMULTITEXIMAGE3DEXTPROC;
Public MultiTexSubImage3D: PFNGLMULTITEXSUBIMAGE3DEXTPROC;
Public CopyMultiTexSubImage3D: PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC;
Public BindMultiTexture: PFNGLBINDMULTITEXTUREEXTPROC;
Public EnableClientStateIndexed: PFNGLENABLECLIENTSTATEINDEXEDEXTPROC;
Public DisableClientStateIndexed: PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC;
Public MultiTexCoordPointer: PFNGLMULTITEXCOORDPOINTEREXTPROC;
Public MultiTexEnvf: PFNGLMULTITEXENVFEXTPROC;
Public MultiTexEnvfv: PFNGLMULTITEXENVFVEXTPROC;
Public MultiTexEnvi: PFNGLMULTITEXENVIEXTPROC;
Public MultiTexEnviv: PFNGLMULTITEXENVIVEXTPROC;
Public MultiTexGend: PFNGLMULTITEXGENDEXTPROC;
Public MultiTexGendv: PFNGLMULTITEXGENDVEXTPROC;
Public MultiTexGenf: PFNGLMULTITEXGENFEXTPROC;
Public MultiTexGenfv: PFNGLMULTITEXGENFVEXTPROC;
Public MultiTexGeni: PFNGLMULTITEXGENIEXTPROC;
Public MultiTexGeniv: PFNGLMULTITEXGENIVEXTPROC;
Public GetMultiTexEnvfv: PFNGLGETMULTITEXENVFVEXTPROC;
Public GetMultiTexEnviv: PFNGLGETMULTITEXENVIVEXTPROC;
Public GetMultiTexGendv: PFNGLGETMULTITEXGENDVEXTPROC;
Public GetMultiTexGenfv: PFNGLGETMULTITEXGENFVEXTPROC;
Public GetMultiTexGeniv: PFNGLGETMULTITEXGENIVEXTPROC;
Public GetFloatIndexedv: PFNGLGETFLOATINDEXEDVEXTPROC;
Public GetDoubleIndexedv: PFNGLGETDOUBLEINDEXEDVEXTPROC;
Public GetPointerIndexedv: PFNGLGETPOINTERINDEXEDVEXTPROC;
Public CompressedTextureImage3D: PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC;
Public CompressedTextureImage2D: PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC;
Public CompressedTextureImage1D: PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC;
Public CompressedTextureSubImage3D: PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC;
Public CompressedTextureSubImage2D: PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC;
Public CompressedTextureSubImage1D: PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC;
Public GetCompressedTextureImage: PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC;
Public CompressedMultiTexImage3D: PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC;
Public CompressedMultiTexImage2D: PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC;
Public CompressedMultiTexImage1D: PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC;
Public CompressedMultiTexSubImage3D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC;
Public CompressedMultiTexSubImage2D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC;
Public CompressedMultiTexSubImage1D: PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC;
Public GetCompressedMultiTexImage: PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC;
Public NamedProgramString: PFNGLNAMEDPROGRAMSTRINGEXTPROC;
Public NamedProgramLocalParameter4d: PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC;
Public NamedProgramLocalParameter4dv: PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC;
Public NamedProgramLocalParameter4f: PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC;
Public NamedProgramLocalParameter4fv: PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC;
Public GetNamedProgramLocalParameterdv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC;
Public GetNamedProgramLocalParameterfv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC;
Public GetNamedProgramiv: PFNGLGETNAMEDPROGRAMIVEXTPROC;
Public GetNamedProgramString: PFNGLGETNAMEDPROGRAMSTRINGEXTPROC;
Public NamedProgramLocalParameters4fv: PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC;
Public NamedProgramLocalParameterI4i: PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC;
Public NamedProgramLocalParameterI4iv: PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC;
Public NamedProgramLocalParametersI4iv: PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC;
Public NamedProgramLocalParameterI4ui: PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC;
Public NamedProgramLocalParameterI4uiv: PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC;
Public NamedProgramLocalParametersI4uiv: PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC;
Public GetNamedProgramLocalParameterIiv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC;
Public GetNamedProgramLocalParameterIuiv: PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC;
Public TextureParameterIiv: PFNGLTEXTUREPARAMETERIIVEXTPROC;
Public TextureParameterIuiv: PFNGLTEXTUREPARAMETERIUIVEXTPROC;
Public GetTextureParameterIiv: PFNGLGETTEXTUREPARAMETERIIVEXTPROC;
Public GetTextureParameterIuiv: PFNGLGETTEXTUREPARAMETERIUIVEXTPROC;
Public MultiTexParameterIiv: PFNGLMULTITEXPARAMETERIIVEXTPROC;
Public MultiTexParameterIuiv: PFNGLMULTITEXPARAMETERIUIVEXTPROC;
Public GetMultiTexParameterIiv: PFNGLGETMULTITEXPARAMETERIIVEXTPROC;
Public GetMultiTexParameterIuiv: PFNGLGETMULTITEXPARAMETERIUIVEXTPROC;
Public NamedBufferData: PFNGLNAMEDBUFFERDATAEXTPROC;
Public NamedBufferSubData: PFNGLNAMEDBUFFERSUBDATAEXTPROC;
Public MapNamedBuffer: PFNGLMAPNAMEDBUFFEREXTPROC;
Public UnmapNamedBuffer: PFNGLUNMAPNAMEDBUFFEREXTPROC;
Public MapNamedBufferRange: PFNGLMAPNAMEDBUFFERRANGEEXTPROC;
Public FlushMappedNamedBufferRange: PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC;
Public NamedCopyBufferSubData: PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC;
Public GetNamedBufferParameteriv: PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC;
Public GetNamedBufferPointerv: PFNGLGETNAMEDBUFFERPOINTERVEXTPROC;
Public GetNamedBufferSubData: PFNGLGETNAMEDBUFFERSUBDATAEXTPROC;
Public TextureBuffer: PFNGLTEXTUREBUFFEREXTPROC;
Public MultiTexBuffer: PFNGLMULTITEXBUFFEREXTPROC;
Public NamedRenderbufferStorage: PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC;
Public GetNamedRenderbufferParameteriv: PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC;
Public CheckNamedFramebufferStatus: PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC;
Public NamedFramebufferTexture1D: PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC;
Public NamedFramebufferTexture2D: PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC;
Public NamedFramebufferTexture3D: PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC;
Public NamedFramebufferRenderbuffer: PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC;
Public GetNamedFramebufferAttachmentParameteriv: PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC;
Public GenerateTextureMipmap: PFNGLGENERATETEXTUREMIPMAPEXTPROC;
Public GenerateMultiTexMipmap: PFNGLGENERATEMULTITEXMIPMAPEXTPROC;
Public FramebufferDrawBuffer: PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC;
Public FramebufferDrawBuffers: PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC;
Public FramebufferReadBuffer: PFNGLFRAMEBUFFERREADBUFFEREXTPROC;
Public GetFramebufferParameteriv: PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC;
Public NamedRenderbufferStorageMultisample: PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC;
Public NamedRenderbufferStorageMultisampleCoverage: PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC;
Public NamedFramebufferTexture: PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC;
Public NamedFramebufferTextureLayer: PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC;
Public NamedFramebufferTextureFace: PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC;
Public TextureRenderbuffer: PFNGLTEXTURERENDERBUFFEREXTPROC;
Public MultiTexRenderbuffer: PFNGLMULTITEXRENDERBUFFEREXTPROC;
Public FrameTerminatorGREMEDY: PFNGLFRAMETERMINATORGREMEDYPROC;

—————————— Debugging Special Gremedy debugger extension

Public StringMarkerGREMEDY: PFNGLSTRINGMARKERGREMEDYPROC;
Public DebugMessageEnableAMDX: procedure(category: Cardinal; severity: Cardinal; Count: TGLsizei; var ids: Cardinal; Enabled: boolean);
Public PushDebugGroup: PFNGLPushDebugGroup;
Public PopDebugGroup: PFNGLPopDebugGroup;
Public ObjectLabel: PFNGLObjectLabel;
Public GetObjectLabel: PFNGLGetObjectLabel;
Public ObjectPtrLabel: PFNGLObjectPtrLabel;
Public GetObjectPtrLabel: PFNGLGetObjectPtrLabel;
Public DebugMessageCallbackAMDX: procedure(callback: TDebugProcAMD; userParam: Pointer); stdcall;
Public DebugMessageControl: procedure(type_: Cardinal; Source: Cardinal; severity: Cardinal; Count: TGLsizei; var ids: Cardinal; Enabled: boolean); stdcall;
Public DebugMessageInsert: procedure(Source: Cardinal; severity: Cardinal; id: Cardinal; length: TGLsizei; const buf: PAnsiChar); stdcall;
Public DebugMessageCallback: procedure(callback: TDebugProc; userParam: Pointer); stdcall;
Public GetDebugMessageLog: function(Count: Cardinal; bufSize: TGLsizei; var severity: Cardinal; var severities: Cardinal; var ids: Cardinal; var lengths: TGLsizei; messageLog: PAnsiChar): Cardinal; stdcall;
Public CreateSyncFromCLevent: PFNGLCreateSyncFromCLevent;

—————————— Interrop

Public VDPAUInitNV: procedure(const vdpDevice: Pointer; const getProcAddress: Pointer); stdcall;
Public VDPAUFiniNV: procedure(); stdcall;
Public VDPAURegisterVideoSurfaceNV: function(const vdpSurface: Pointer; target: Cardinal; numTextureNames: TGLsizei; const textureNames: PGLuint) : TGLvdpauSurfaceNV; stdcall;
Public VDPAURegisterOutputSurfaceNV: function(const vdpSurface: Pointer; target: Cardinal; numTextureNames: TGLsizei; const textureNames: PGLuint) : TGLvdpauSurfaceNV; stdcall;
Public VDPAUIsSurfaceNV: procedure(surface: TGLvdpauSurfaceNV); stdcall;
Public VDPAUUnregisterSurfaceNV: procedure(surface: TGLvdpauSurfaceNV); stdcall;
Public VDPAUGetSurfaceivNV: procedure(surface: TGLvdpauSurfaceNV; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint); stdcall;
Public VDPAUSurfaceAccessNV: procedure(surface: TGLvdpauSurfaceNV; access: Cardinal); stdcall;
Public VDPAUMapSurfacesNV: procedure(numSurfaces: TGLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
Public VDPAUUnmapSurfacesNV: procedure(numSurface: TGLsizei; const surfaces: PGLvdpauSurfaceNV); stdcall;
Public GenPathsNV: PFNGLGENPATHSNVPROC;

—————————— Path rendering

Public DeletePathsNV: PFNGLDELETEPATHSNVPROC;
Public IsPathNV: PFNGLISPATHNVPROC;
Public PathCommandsNV: PFNGLPATHCOMMANDSNVPROC;
Public PathCoordsNV: PFNGLPATHCOORDSNVPROC;
Public PathSubCommandsNV: PFNGLPATHSUBCOMMANDSNVPROC;
Public PathSubCoordsNV: PFNGLPATHSUBCOORDSNVPROC;
Public PathStringNV: PFNGLPATHSTRINGNVPROC;
Public PathGlyphsNV: PFNGLPATHGLYPHSNVPROC;
Public PathGlyphRangeNV: PFNGLPATHGLYPHRANGENVPROC;
Public WeightPathsNV: PFNGLWEIGHTPATHSNVPROC;
Public CopyPathNV: PFNGLCOPYPATHNVPROC;
Public InterpolatePathsNV: PFNGLINTERPOLATEPATHSNVPROC;
Public PathParameterivNV: PFNGLPATHPARAMETERIVNVPROC;
Public PathParameteriNV: PFNGLPATHPARAMETERINVPROC;
Public PathParameterfvNV: PFNGLPATHPARAMETERFVNVPROC;
Public PathParameterfNV: PFNGLPATHPARAMETERFNVPROC;
Public PathDashArrayNV: PFNGLPATHDASHARRAYNVPROC;
Public PathStencilFuncNV: PFNGLPATHSTENCILFUNCNVPROC;
Public StencilFillPathNV: PFNGLSTENCILFILLPATHNVPROC;
Public StencilStrokePathNV: PFNGLSTENCILSTROKEPATHNVPROC;
Public StencilFillPathInstancedNV: PFNGLSTENCILFILLPATHINSTANCEDNVPROC;
Public StencilStrokePathInstancedNV: PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC;
Public PathColorGenNV: PFNGLPATHCOLORGENNVPROC;
Public PathTexGenNV: PFNGLPATHTEXGENNVPROC;
Public PathFogGenNV: PFNGLPATHFOGGENNVPROC;
Public CoverFillPathNV: PFNGLCOVERFILLPATHNVPROC;
Public CoverStrokePathNV: PFNGLCOVERSTROKEPATHNVPROC;
Public CoverFillPathInstancedNV: PFNGLCOVERFILLPATHINSTANCEDNVPROC;
Public CoverStrokePathInstancedNV: PFNGLCOVERSTROKEPATHINSTANCEDNVPROC;
Public GetPathParameterivNV: PFNGLGETPATHPARAMETERIVNVPROC;
Public GetPathParameterfvNV: PFNGLGETPATHPARAMETERFVNVPROC;
Public GetPathCommandsNV: PFNGLGETPATHCOMMANDSNVPROC;
Public GetPathCoordsNV: PFNGLGETPATHCOORDSNVPROC;
Public GetPathDashArrayNV: PFNGLGETPATHDASHARRAYNVPROC;
Public GetPathMetricsNV: PFNGLGETPATHMETRICSNVPROC;
Public GetPathMetricRangeNV: PFNGLGETPATHMETRICRANGENVPROC;
Public GetPathSpacingNV: PFNGLGETPATHSPACINGNVPROC;
Public GetPathColorGenivNV: PFNGLGETPATHCOLORGENIVNVPROC;
Public GetPathColorGenfvNV: PFNGLGETPATHCOLORGENFVNVPROC;
Public GetPathTexGenivNV: PFNGLGETPATHTEXGENIVNVPROC;
Public GetPathTexGenfvNV: PFNGLGETPATHTEXGENFVNVPROC;
Public IsPointInFillPathNV: PFNGLISPOINTINFILLPATHNVPROC;
Public IsPointInStrokePathNV: PFNGLISPOINTINSTROKEPATHNVPROC;
Public GetPathLengthNV: PFNGLGETPATHLENGTHNVPROC;
Public PointAlongPathNV: PFNGLPOINTALONGPATHNVPROC;
Public PathStencilDepthOffsetNV: PFNGLPATHSTENCILDEPTHOFFSETNVPROC;
Public PathCoverDepthFuncNV: PFNGLPATHCOVERDEPTHFUNCNVPROC;
Public W_ARB_buffer_region: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_create_context: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_create_context_profile: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_extensions_string: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_framebuffer_sRGB: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_make_current_read: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_multisample: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_pbuffer: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_pixel_format: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_pixel_format_float: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ARB_render_texture: boolean;

########################################################### function and procedure definitions for ARB approved WGL extensions ########################################################### ARB approved WGL extension checks

Public W_ATI_pixel_format_float: boolean;

Vendor/EXT WGL extension checks

Public W_EXT_framebuffer_sRGB: boolean;

Vendor/EXT WGL extension checks

Public W_EXT_pixel_format_packed_float: boolean;

Vendor/EXT WGL extension checks

Public W_EXT_swap_control: boolean;

Vendor/EXT WGL extension checks

Public W_NV_gpu_affinity: boolean;

Vendor/EXT WGL extension checks

Public W_EXT_create_context_es2_profile: boolean;

Vendor/EXT WGL extension checks

Public W_NV_DX_interop: boolean;

Vendor/EXT WGL extension checks

Public W_NV_DX_interop2: boolean;

Vendor/EXT WGL extension checks

Public WCreateBufferRegionARB: PFNWGLCREATEBUFFERREGIONARBPROC;

WGL_buffer_region (ARB #4)

Public WDeleteBufferRegionARB: PFNWGLDELETEBUFFERREGIONARBPROC;
Public WSaveBufferRegionARB: PFNWGLSAVEBUFFERREGIONARBPROC;
Public WRestoreBufferRegionARB: PFNWGLRESTOREBUFFERREGIONARBPROC;
Public WGetExtensionsStringARB: PFNWGLGETEXTENSIONSSTRINGARBPROC;

WGL_ARB_extensions_string (ARB #8)

Public WGetPixelFormatAttribivARB: PFNWGLGETPIXELFORMATATTRIBIVARBPROC;

WGL_ARB_pixel_format (ARB #9)

Public WGetPixelFormatAttribfvARB: PFNWGLGETPIXELFORMATATTRIBFVARBPROC;
Public WChoosePixelFormatARB: PFNWGLCHOOSEPIXELFORMATARBPROC;
Public WMakeContextCurrentARB: PFNWGLMAKECONTEXTCURRENTARBPROC;

WGL_make_current_read (ARB #10)

Public WGetCurrentReadDCARB: PFNWGLGETCURRENTREADDCARBPROC;
Public WCreatePbufferARB: PFNWGLCREATEPBUFFERARBPROC;

WGL_ARB_pbuffer (ARB #11)

Public WGetPbufferDCARB: PFNWGLGETPBUFFERDCARBPROC;
Public WReleasePbufferDCARB: PFNWGLRELEASEPBUFFERDCARBPROC;
Public WDestroyPbufferARB: PFNWGLDESTROYPBUFFERARBPROC;
Public WQueryPbufferARB: PFNWGLQUERYPBUFFERARBPROC;
Public WBindTexImageARB: PFNWGLBINDTEXIMAGEARBPROC;

WGL_ARB_render_texture (ARB #20)

Public WReleaseTexImageARB: PFNWGLRELEASETEXIMAGEARBPROC;
Public WSetPbufferAttribARB: PFNWGLSETPBUFFERATTRIBARBPROC;
Public WCreateContextAttribsARB: PFNWGLCREATECONTEXTATTRIBSARBPROC;

WGL_ARB_create_context (ARB #55)

Public WEnumGpusNV: PFNWGLENUMGPUSNVPROC;

WGL_NV_gpu_affinity

Public WEnumGpuDevicesNV: PFNWGLENUMGPUDEVICESNVPROC;
Public WCreateAffinityDCNV: PFNWGLCREATEAFFINITYDCNVPROC;
Public WEnumGpusFromAffinityDCNV: PFNWGLENUMGPUSFROMAFFINITYDCNVPROC;
Public WDeleteDCNV: PFNWGLDELETEDCNVPROC;
Public WDXSetResourceShareHandleNV: PFNWGLDXSETRESOURCESHAREHANDLEPROC;

WGL_NV_DX_interop (EXT #407)

Public WDXOpenDeviceNV: PFNWGLDXOPENDEVICEPROC;
Public WDXCloseDeviceNV: PFNWGLDXCLOSEDEVICEPROC;
Public WDXRegisterObjectNV: PFNWGLDXREGISTEROBJECTPROC;
Public WDXUnregisterObjectNV: PFNWGLDXUNREGISTEROBJECTPROC;
Public WDXObjectAccessNV: PFNWGLDXOBJECTACCESSPROC;
Public WDXLockObjectsNV: PFNWGLDXLOCKOBJECTSPROC;
Public WDXUnlockObjectsNV: PFNWGLDXUNLOCKOBJECTSNVPROC;
Public WSwapIntervalEXT: PFNWGLSWAPINTERVALEXTPROC;

########################################################### function and procedure definitions for Vendor/EXT WGL extensions ########################################################### WGL_EXT_swap_control (EXT #172)

Public WGetSwapIntervalEXT: PFNWGLGETSWAPINTERVALEXTPROC;
Public WAllocateMemoryNV: PFNWGLALLOCATEMEMORYNVPROC;

GL_NV_vertex_array_range (EXT #190)

Public WFreeMemoryNV: PFNWGLFREEMEMORYNVPROC;
Public UNurbsCallbackDataEXT: procedure(nurb: PGLUnurbs; userData: Pointer); stdcall;

——- GLX function/procedure definitions for ARB approved extensions'} —————————— EGL function/procedure —————————— locate functions/procedures for OpenGL Utility (GLU) extensions'} {$ENDIF} ########################################################### locate functions and procedures for GLU extensions ###########################################################

Public UNewNurbsTessellatorEXT: function: PGLUnurbs; stdcall;
Public UDeleteNurbsTessellatorEXT: procedure(nurb: PGLUnurbs); stdcall;

Methods

Public constructor Create;
Private function CheckExtension(const Extension: string): boolean;
Private function GetAddress(const ProcName: string): Pointer;
Private function GetAddressAlt(const ProcName1, ProcName2: string): Pointer;
Private function GetAddressNoSuffixes(const ProcName: string): Pointer;
Private function GetCapAddress: Pointer;
Public procedure CheckError;
Public procedure ClearError;
Public procedure Close;
Public procedure Initialize(ATemporary: boolean = False);
Private procedure ReadWGLExtensions;
Private procedure ReadWGLImplementationProperties;

Properties

Public property DebugMode: boolean read FDebug write FDebug;
Public property IsInitialized: boolean read FInitialized;


GLSysHelp v.2.1: GLS.OpenGLTokens

Unit GLS.OpenGLTokens

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGLext
  • Winapi.Windows
  • System.SysUtils
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGPUDEVICE |
Record TGLUNurbs |
Record TGLUQuadric |
Record TGLUTesselator |

Types

HGPUNV = THandle;
HVIDEOINPUTDEVICENV = THandle;
PFNGLACTIVESHADERPROGRAMPROC = procedure(pipeline: Cardinal; _program: Cardinal); stdcall;
PFNGLACTIVESTENCILFACEEXTPROC = procedure(face: Cardinal); stdcall;
PFNGLACTIVETEXTUREARBPROC = procedure(target: Cardinal); stdcall;
PFNGLACTIVETEXTUREPROC = procedure(texture: Cardinal); stdcall;
PFNGLACTIVEVARYINGNVPROC = procedure(_program: Cardinal; name: PAnsiChar); stdcall;
PFNGLADDSWAPHINTRECTWINPROC = procedure(x, y: TGLint; width, height: TGLsizei); stdcall;
PFNGLAREPROGRAMSRESIDENTNVPROC = procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); stdcall;
PFNGLARETEXTURESRESIDENTEXTPROC = function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; stdcall;
PFNGLARRAYELEMENTARRAYEXTPROC = procedure(mode: Cardinal; count: TGLsizei; pi: Pointer); stdcall;
PFNGLATTACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; obj: TGLhandleARB); stdcall;
PFNGLATTACHSHADERPROC = procedure(_program: Cardinal; shader: Cardinal); stdcall;
PFNGLBEGINCONDITIONALRENDERNVPROC = procedure(id: Cardinal; mode: Cardinal); stdcall;
PFNGLBEGINCONDITIONALRENDERPROC = procedure(id: Cardinal; mode: Cardinal); stdcall;
PFNGLBEGINOCCLUSIONQUERYNVPROC = procedure(id: Cardinal); stdcall;
PFNGLBEGINQUERYARBPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBEGINQUERYINDEXEDPROC = procedure(target: Cardinal; index: Cardinal; id: Cardinal); stdcall;
PFNGLBEGINQUERYPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBEGINSCENEEXTPROC = procedure; stdcall;
PFNGLBEGINTRANSFORMFEEDBACKEXTPROC = procedure(primitiveMode: Cardinal); stdcall;
PFNGLBEGINTRANSFORMFEEDBACKNVPROC = procedure(primitiveMode: Cardinal); stdcall;
PFNGLBEGINTRANSFORMFEEDBACKPROC = procedure(primitiveMode: Cardinal); stdcall;
PFNGLBINDATTRIBLOCATIONARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; const name: PAnsiChar); stdcall;
PFNGLBINDATTRIBLOCATIONPROC = procedure(_program: Cardinal; index: Cardinal; const name: PAnsiChar); stdcall;
PFNGLBINDBUFFERARBPROC = procedure(target: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFERBASEEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFERBASENVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFERBASEPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFEROFFSETEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset:TGLintptr); stdcall;
PFNGLBINDBUFFEROFFSETNVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset: TGLintptr); stdcall;
PFNGLBINDBUFFERPROC = procedure(target: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFERRANGEEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset:TGLintptr; size: TGLsizeiptr); stdcall;
PFNGLBINDBUFFERRANGENVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr); stdcall;
PFNGLBINDBUFFERRANGEPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset:TGLintptr; size: TGLsizeiptr); stdcall;
PFNGLBindBuffersBase = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLUint); stdcall;
PFNGLBindBuffersRange = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLuint; const offsets : TGLintptr; const sizes : TGLsizeiptr); stdcall;
PFNGLBINDFRAGDATALOCATIONEXTPROC = procedure(_program: Cardinal; colorNumber: Cardinal; name: PAnsiChar); stdcall;
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC = procedure (_program: Cardinal; colorNumber: Cardinal; index: Cardinal; const name: PAnsiChar); stdcall;
PFNGLBINDFRAGDATALOCATIONPROC = procedure(_program: Cardinal; colorNumber: Cardinal; name: PAnsiChar); stdcall;
PFNGLBINDFRAMEBUFFEREXTPROC = procedure(target: Cardinal; framebuffer: Cardinal); stdcall;
PFNGLBINDFRAMEBUFFERPROC = procedure(target: Cardinal; framebuffer: Cardinal); stdcall;
PFNGLBindImageTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); stdcall;
PFNGLBINDMULTITEXTUREEXTPROC = procedure(texunit: Cardinal; target: Cardinal; texture: Cardinal); stdcall;
PFNGLBINDPROGRAMARBPROC = procedure(target: Cardinal; _program: Cardinal); stdcall;
PFNGLBINDPROGRAMNVPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBINDPROGRAMPIPELINEPROC = procedure(pipeline: Cardinal); stdcall;
PFNGLBINDRENDERBUFFEREXTPROC = procedure(target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLBINDRENDERBUFFERPROC = procedure(target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLBINDSAMPLERPROC = procedure(_unit: Cardinal; sampler: Cardinal); stdcall;
PFNGLBindSamplers = procedure(first : Cardinal; count : TGLsizei; const samplers : PGLuint); stdcall;
PFNGLBINDTEXTUREEXTPROC = procedure(target: Cardinal; texture: Cardinal); stdcall;
PFNGLBindTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); stdcall;
PFNGLBINDTRANSFORMFEEDBACKPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBINDVERTEXARRAYPROC = procedure(_array: Cardinal); stdcall;
PFNGLBindVertexBuffer = procedure(bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); stdcall;
PFNGLBindVertexBuffers = procedure(first : Cardinal; count : TGLsizei; const buffers : Cardinal; const offsets : TGLintptr; const strides : PGLsizei); stdcall;
PFNGLBLENDCOLOREXTPROC = procedure(red, green, blue: Single; alpha: Single); stdcall;
PFNGLBLENDCOLORPROC = procedure(red, green, blue, alpha: Single); stdcall;
PFNGLBLENDEQUATIONEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLBLENDEQUATIONIARBPROC = procedure(buf: Cardinal; mode: Cardinal); stdcall;
PFNGLBLENDEQUATIONIPROC = procedure(buf: Cardinal; mode: Cardinal); stdcall;
PFNGLBLENDEQUATIONPROC = procedure(mode: Cardinal); stdcall;
PFNGLBLENDEQUATIONSEPARATEEXTPROC = procedure(modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
PFNGLBLENDEQUATIONSEPARATEIARBPROC = procedure(buf: Cardinal; modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
PFNGLBLENDEQUATIONSEPARATEIPROC = procedure(buf: Cardinal; modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
PFNGLBLENDEQUATIONSEPARATEPROC = procedure(modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
PFNGLBLENDFUNCIARBPROC = procedure(buf: Cardinal; src: Cardinal; dst: Cardinal); stdcall;
PFNGLBLENDFUNCIPROC = procedure(buf: Cardinal; src: Cardinal; dst: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEEXTPROC = procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEIARBPROC = procedure(buf: Cardinal; srcRGB: Cardinal; dstRGB: Cardinal; srcAlpha: Cardinal; dstAlpha: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEIPROC = procedure(buf: Cardinal; srcRGB: Cardinal; dstRGB: Cardinal; srcAlpha: Cardinal; dstAlpha: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEPROC = procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); stdcall;
PFNGLBLITFRAMEBUFFEREXTPROC = procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: Cardinal); stdcall;
PFNGLBLITFRAMEBUFFERPROC = procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: Cardinal); stdcall;
PFNGLBUFFERADDRESSRANGENVPROC = procedure(pname: Cardinal; index: Cardinal; address: TGLuint64EXT; length: TGLsizeiptr); stdcall;
PFNGLBUFFERDATAARBPROC = procedure(target: Cardinal; size: TGLsizei; const data: Pointer; usage: Cardinal); stdcall;
PFNGLBUFFERDATAPROC = procedure(target: Cardinal; size: TGLsizei; const data: Pointer; usage: Cardinal); stdcall;
PFNGLBufferStorage = procedure(target : Cardinal; size : TGLsizeiptr; const data : pointer; flags : TGLbitfield); stdcall;
PFNGLBUFFERSUBDATAARBPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; const data: Pointer); stdcall;
PFNGLBUFFERSUBDATAPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; const data: Pointer); stdcall;
PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC = function(target: Cardinal): Cardinal; stdcall;
PFNGLCHECKFRAMEBUFFERSTATUSPROC = function(target: Cardinal): Cardinal; stdcall;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC = function(framebuffer: Cardinal; target: Cardinal): Cardinal; stdcall;
PFNGLCLAMPCOLORARBPROC = procedure (target: Cardinal; clamp: Cardinal); stdcall;
PFNGLCLAMPCOLORPROC = procedure (target: Cardinal; clamp: Cardinal); stdcall;
PFNGLClearBufferData = procedure(target : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
PFNGLCLEARBUFFERFIPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; depth: TGLfloat; stencil: TGLint); stdcall;
PFNGLCLEARBUFFERFVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLfloat); stdcall;
PFNGLCLEARBUFFERIVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLint); stdcall;
PFNGLClearBufferSubData = procedure(target : Cardinal; internalformat : Cardinal; offset : TGLintptr; size : TGLsizeiptr; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
PFNGLCLEARBUFFERUIVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLuint); stdcall;
PFNGLCLEARCOLORIIEXTPROC = procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint); stdcall;
PFNGLCLEARCOLORIUIEXTPROC = procedure(r: Cardinal; g: Cardinal; b: Cardinal; a: Cardinal); stdcall;
PFNGLCLEARDEPTHFPROC = procedure(depth: TGLclampd); stdcall;
PFNGLClearNamedBufferData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
PFNGLClearNamedBufferSubData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; offset : TGLsizeiptr; size : TGLsizeiptr; const data : Pointer); stdcall;
PFNGLClearTexImage = procedure(texture : Cardinal; level : TGLint; format : Cardinal; _type : Cardinal; const data : Pointer); stdcall;
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); stdcall;
PFNGLCLIENTACTIVETEXTUREARBPROC = procedure(target: Cardinal); stdcall;
PFNGLCLIENTACTIVETEXTUREPROC = procedure(texture: Cardinal); stdcall;
PFNGLCLIENTATTRIBDEFAULTEXTPROC = procedure(mask: TGLbitfield); stdcall;
PFNGLCLIENTWAITSYNCPROC = function(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64): Cardinal; stdcall;
PFNGLCOLORFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLCOLORMASKINDEXEDEXTPROC = procedure(buf: Cardinal; r: TGLboolean; g: TGLboolean; b: TGLboolean; a: TGLboolean); stdcall;
PFNGLCOLORMASKIPROC = procedure(index: Cardinal; r: TGLboolean; g: TGLboolean; b: TGLboolean; a: TGLboolean); stdcall;
PFNGLCOLORP3UIPROC = procedure(_type: Cardinal; color: Cardinal); stdcall;
PFNGLCOLORP3UIVPROC = procedure(_type: Cardinal; const color: PGLuint); stdcall;
PFNGLCOLORP4UIPROC = procedure(_type: Cardinal; color: Cardinal); stdcall;
PFNGLCOLORP4UIVPROC = procedure(_type: Cardinal; const color: PGLuint); stdcall;
PFNGLCOLORSUBTABLEEXTPROC = procedure(target: Cardinal; start, count: TGLsizei; format, atype: Cardinal; data: Pointer); stdcall;
PFNGLCOLORSUBTABLEPROC = procedure(target: Cardinal; start, count: TGLsizei; format, Atype: Cardinal; data: Pointer); stdcall;
PFNGLCOLORTABLEEXTPROC = procedure(target, internalFormat: Cardinal; width: TGLsizei; format, atype: Cardinal; data: Pointer); stdcall;
PFNGLCOLORTABLEPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLCOLORTABLEPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLCOLORTABLEPROC = procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal; table: Pointer); stdcall;
PFNGLCOMBINERINPUTNVPROC = procedure(stage, portion, variable, input, mapping, componentUsage: Cardinal); stdcall;
PFNGLCOMBINEROUTPUTNVPROC = procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: Cardinal; abDotProduct, cdDotProduct, muxSum: TGLboolean); stdcall;
PFNGLCOMBINERPARAMETERFNVPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
PFNGLCOMBINERPARAMETERFVNVPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
PFNGLCOMBINERPARAMETERINVPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
PFNGLCOMBINERPARAMETERIVNVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
PFNGLCOMPILESHADERARBPROC = procedure(shaderObj: TGLhandleARB); stdcall;
PFNGLCOMPILESHADERPROC = procedure(shader: Cardinal); stdcall;
PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXIMAGE1DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE1DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE2DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE2DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE3DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCONVOLUTIONFILTER1DPROC = procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal; image: Pointer); stdcall;
PFNGLCONVOLUTIONFILTER2DPROC = procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; image: Pointer); stdcall;
PFNGLCONVOLUTIONPARAMETERFPROC = procedure(target, pname: Cardinal; param: TGLfloat); stdcall;
PFNGLCONVOLUTIONPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLCONVOLUTIONPARAMETERIPROC = procedure(target, pname: Cardinal; param: TGLint); stdcall;
PFNGLCONVOLUTIONPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLCOPYBUFFERSUBDATAPROC = procedure(readTarget: Cardinal; writeTarget: Cardinal; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr); stdcall;
PFNGLCOPYCOLORSUBTABLEPROC = procedure(target: Cardinal; start: TGLsizei; x, y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYCOLORTABLEPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYCONVOLUTIONFILTER1DPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYCONVOLUTIONFILTER2DPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width, height: TGLsizei); stdcall;
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); stdcall;
PFNGLCOPYIMAGESUBDATANVPROC = 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; width: TGLsizei; height: TGLsizei; depth: TGLsizei); stdcall;
PFNGLCOPYMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOPYPATHNVPROC = procedure (resultPath: Cardinal; srcPath: Cardinal); stdcall;
PFNGLCOPYTEXIMAGE1DEXTPROC = procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXIMAGE2DEXTPROC = procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXSUBIMAGE1DEXTPROC = procedure(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYTEXSUBIMAGE2DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
PFNGLCOPYTEXSUBIMAGE3DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
PFNGLCOPYTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
PFNGLCOPYTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOVERFILLPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; coverMode: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLCOVERFILLPATHNVPROC = procedure (path: Cardinal; coverMode: Cardinal); stdcall;
PFNGLCOVERSTROKEPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; coverMode: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLCOVERSTROKEPATHNVPROC = procedure (path: Cardinal; coverMode: Cardinal); stdcall;
PFNGLCREATEPROGRAMOBJECTARBPROC = function(): TGLhandleARB; stdcall;
PFNGLCREATEPROGRAMPROC = function(): Cardinal; stdcall;
PFNGLCREATESHADEROBJECTARBPROC = function(shaderType: Cardinal): TGLhandleARB; stdcall;
PFNGLCREATESHADERPROC = function(_type: Cardinal): Cardinal; stdcall;
PFNGLCREATESHADERPROGRAMVPROC = function(_type: Cardinal; count: TGLsizei; const strings: PGLPCharArray): Cardinal; stdcall;
PFNGLCreateSyncFromCLevent = function(context: p_cl_context; event: p_cl_event; flags: TGLbitfield): TGLsync; stdcall;
PFNGLCURRENTPALETTEMATRIXARBPROC = procedure(index: TGLint); stdcall;
PFNGLDEBUGMESSAGECALLBACKARBPROC = procedure(callback: TGLDEBUGPROCARB; userParam: Pointer); stdcall;
PFNGLDEBUGMESSAGECONTROLARBPROC = procedure(source: Cardinal; _type: Cardinal; severity: Cardinal; count: TGLsizei; ids: PGLuint; enabled: TGLboolean); stdcall;
PFNGLDEBUGMESSAGEINSERTARBPROC = procedure(source: Cardinal; _type: Cardinal; id: Cardinal; severity: Cardinal; length: TGLsizei; buf: PAnsiChar); stdcall;
PFNGLDELETEBUFFERSARBPROC = procedure(n: TGLsizei; const buffers: PGLuint); stdcall;
PFNGLDELETEBUFFERSPROC = procedure(n: TGLsizei; const buffers: PGLuint); stdcall;
PFNGLDELETEFENCESNVPROC = procedure(n: TGLsizei; fences: PGLuint); stdcall;
PFNGLDELETEFRAMEBUFFERSEXTPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLDELETEFRAMEBUFFERSPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLDELETEOBJECTARBPROC = procedure(obj: TGLhandleARB); stdcall;
PFNGLDELETEOCCLUSIONQUERIESNVPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETEPATHSNVPROC = procedure(path: Cardinal; range: TGLsizei); stdcall;
PFNGLDELETEPROGRAMPIPELINESPROC = procedure(n: TGLsizei; pipelines: PGLuint); stdcall;
PFNGLDELETEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLDELETEPROGRAMSARBPROC = procedure(n: TGLsizei; const programs: PGLuint); stdcall;
PFNGLDELETEPROGRAMSNVPROC = procedure(n: TGLSizei; programs: PGLuint); stdcall;
PFNGLDELETEQUERIESARBPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETEQUERIESPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETERENDERBUFFERSEXTPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
PFNGLDELETERENDERBUFFERSPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
PFNGLDELETESAMPLERSPROC = procedure(count: TGLsizei; const samplers: PGLuint); stdcall;
PFNGLDELETESHADERPROC = procedure(shader: Cardinal); stdcall;
PFNGLDELETESYNCPROC = procedure(sync: TGLsync); stdcall;
PFNGLDELETETEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint); stdcall;
PFNGLDELETETRANSFORMFEEDBACKSPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETEVERTEXARRAYSPROC = procedure(n: TGLsizei; arrays: PGLuint); stdcall;
PFNGLDEPTHBOUNDSEXTPROC = procedure(zmin: TGLclampd; zmax: TGLclampd); stdcall;
PFNGLDEPTHRANGEARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; v: PGLclampd); stdcall;
PFNGLDEPTHRANGEFPROC = procedure(n: Single; f: Single); stdcall;
PFNGLDEPTHRANGEINDEXEDPROC = procedure(index: Cardinal; n: TGLclampd; f: TGLclampd); stdcall;
PFNGLDETACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; attachedObj: TGLhandleARB); stdcall;
PFNGLDETACHSHADERPROC = procedure(_program: Cardinal; shader: Cardinal); stdcall;
PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC = procedure(array_: Cardinal; index_: Cardinal); stdcall;
PFNGLDISABLEINDEXEDEXTPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLDISABLEIPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLDISABLEVERTEXATTRIBARRAYARBPROC = procedure(index: Cardinal); stdcall;
PFNGLDISABLEVERTEXATTRIBARRAYPROC = procedure(index: Cardinal); stdcall;
PFNGLDispatchCompute = procedure(num_groups_x : Cardinal; num_groups_y : Cardinal; num_groups_z : Cardinal); stdcall;
PFNGLDispatchComputeIndirect = procedure(indirect : TGLintptr); stdcall;
PFNGLDRAWARRAYSINDIRECTPROC = procedure(mode: Cardinal; const indirect: PGLvoid); stdcall;
PFNGLDRAWARRAYSINSTANCEDARBPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei); stdcall;
PFNGLDRAWARRAYSINSTANCEDEXTPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei); stdcall;
PFNGLDRAWARRAYSINSTANCEDPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei); stdcall;
PFNGLDRAWBUFFERSARBPROC = procedure (n: TGLsizei; const bufs: PCardinal); stdcall;
PFNGLDRAWBUFFERSATIPROC = procedure(n: TGLsizei; const bufs: PCardinal); stdcall;
PFNGLDRAWBUFFERSPROC = procedure(n: TGLsizei; const bufs: PCardinal); stdcall;
PFNGLDRAWELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint); stdcall;
PFNGLDRAWELEMENTSINDIRECTPROC = procedure(mode: Cardinal; _type: Cardinal; const indirect: PGLvoid); stdcall;
PFNGLDRAWELEMENTSINSTANCEDARBPROC = procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei); stdcall;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei; basevertex: TGLint); stdcall;
PFNGLDRAWELEMENTSINSTANCEDEXTPROC = procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei); stdcall;
PFNGLDRAWELEMENTSINSTANCEDPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei); stdcall;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; start: Cardinal; _end: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint); stdcall;
PFNGLDRAWRANGEELEMENTSEXTPROC = procedure(mode: Cardinal; start, Aend: Cardinal; Count: TGLsizei; Atype: Cardinal; indices: Pointer); stdcall;
PFNGLDRAWRANGEELEMENTSPROC = procedure(mode: Cardinal; Astart, Aend: Cardinal; count: TGLsizei; Atype: Cardinal; indices: Pointer); stdcall;
PFNGLDRAWTRANSFORMFEEDBACKPROC = procedure(mode: Cardinal; id: Cardinal); stdcall;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC = procedure(mode: Cardinal; id: Cardinal; stream: Cardinal); stdcall;
PFNGLEDGEFLAGFORMATNVPROC = procedure(stride: TGLsizei); stdcall;
PFNGLENABLECLIENTSTATEINDEXEDEXTPROC = procedure(array_: Cardinal; index_: Cardinal); stdcall;
PFNGLENABLEINDEXEDEXTPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLENABLEIPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLENABLEVERTEXATTRIBARRAYARBPROC = procedure(index: Cardinal); stdcall;
PFNGLENABLEVERTEXATTRIBARRAYPROC = procedure(index: Cardinal); stdcall;
PFNGLENDCONDITIONALRENDERNVPROC = procedure(); stdcall;
PFNGLENDCONDITIONALRENDERPROC = procedure(); stdcall;
PFNGLENDOCCLUSIONQUERYNVPROC = procedure; stdcall;
PFNGLENDQUERYARBPROC = procedure(target: Cardinal); stdcall;
PFNGLENDQUERYINDEXEDPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLENDQUERYPROC = procedure(target: Cardinal); stdcall;
PFNGLENDSCENEEXTPROC = procedure; stdcall;
PFNGLENDTRANSFORMFEEDBACKEXTPROC = procedure(); stdcall;
PFNGLENDTRANSFORMFEEDBACKNVPROC = procedure(); stdcall;
PFNGLENDTRANSFORMFEEDBACKPROC = procedure(); stdcall;
PFNGLEXECUTEPROGRAMNVPROC = procedure(target: Cardinal; id: Cardinal; params: PGLfloat); stdcall;
PFNGLFENCESYNCPROC = function(condition: Cardinal; flags: TGLbitfield): TGLsync; stdcall;
PFNGLFINALCOMBINERINPUTNVPROC = procedure(variable, input, mapping, componentUsage: Cardinal); stdcall;
PFNGLFINISHFENCENVPROC = procedure(fence: Cardinal); stdcall;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC = procedure( target: Cardinal; offset: TGLint; length: TGLsizei ); stdcall;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr); stdcall;
PFNGLFLUSHVERTEXARRAYRANGENVPROC = procedure; stdcall;
PFNGLFOGCOORDDEXTPROC = procedure(coord: TGLdouble); stdcall;
PFNGLFOGCOORDDPROC = procedure(coord: TGLdouble); stdcall;
PFNGLFOGCOORDDVEXTPROC = procedure(coord: PGLdouble); stdcall;
PFNGLFOGCOORDDVPROC = procedure(coord: PGLdouble); stdcall;
PFNGLFOGCOORDFEXTPROC = procedure(coord: TGLfloat); stdcall;
PFNGLFOGCOORDFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei); stdcall;
PFNGLFOGCOORDFPROC = procedure(coord: TGLfloat); stdcall;
PFNGLFOGCOORDFVEXTPROC = procedure(coord: PGLfloat); stdcall;
PFNGLFOGCOORDFVPROC = procedure(coord: PGLfloat); stdcall;
PFNGLFOGCOORDPOINTEREXTPROC = procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); stdcall;
PFNGLFOGCOORDPOINTERPROC = procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); stdcall;
PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC = procedure(framebuffer: Cardinal; mode: Cardinal); stdcall;
PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC = procedure(framebuffer: Cardinal; n: TGLsizei; const bufs: PCardinal); stdcall;
PFNGLFramebufferParameteri = procedure(target : Cardinal; pname : Cardinal; param : TGLint); stdcall;
PFNGLFRAMEBUFFERREADBUFFEREXTPROC = procedure(framebuffer: Cardinal; mode: Cardinal); stdcall;
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC = procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLFRAMEBUFFERRENDERBUFFERPROC = procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLFRAMEBUFFERTEXTURE1DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE1DPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE2DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE2DPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE3DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; zoffset: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE3DPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREEXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; face:Cardinal); stdcall;
PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; face:Cardinal); stdcall;
PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; layer:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; layer:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURELAYERPROC = procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREPROC = procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMETERMINATORGREMEDYPROC = procedure(); stdcall;
PFNGLGENBUFFERSARBPROC = procedure(n: TGLsizei; buffers: PGLuint); stdcall;
PFNGLGENBUFFERSPROC = procedure(n: TGLsizei; buffers: PGLuint); stdcall;
PFNGLGENERATEMIPMAPEXTPROC = procedure(target: Cardinal); stdcall;
PFNGLGENERATEMIPMAPPROC = procedure(target: Cardinal); stdcall;
PFNGLGENERATEMULTITEXMIPMAPEXTPROC = procedure(texunit: Cardinal; target: Cardinal); stdcall;
PFNGLGENERATETEXTUREMIPMAPEXTPROC = procedure(texture: Cardinal; target: Cardinal); stdcall;
PFNGLGENFENCESNVPROC = procedure(n: TGLsizei; fences: PGLuint); stdcall;
PFNGLGENFRAMEBUFFERSEXTPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLGENFRAMEBUFFERSPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLGENOCCLUSIONQUERIESNVPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
PFNGLGENPATHSNVPROC = function (range: TGLsizei): Cardinal; stdcall;
PFNGLGENPROGRAMPIPELINESPROC = procedure(n: TGLsizei; pipelines: PGLuint); stdcall;
PFNGLGENPROGRAMSARBPROC = procedure(n: TGLsizei; programs: PGLuint); stdcall;
PFNGLGENPROGRAMSNVPROC = procedure(n: TGLSizei; programs: PGLuint); stdcall;
PFNGLGENQUERIESARBPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
PFNGLGENQUERIESPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
PFNGLGENRENDERBUFFERSEXTPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
PFNGLGENRENDERBUFFERSPROC = procedure(n: TGLSizei; renderbuffers: PGLuint); stdcall;
PFNGLGENSAMPLERSPROC = procedure(count: TGLsizei; samplers: PGLuint); stdcall;
PFNGLGENTEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint); stdcall;
PFNGLGENTRANSFORMFEEDBACKSPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
PFNGLGENVERTEXARRAYSPROC = procedure(n: TGLsizei; arrays: PGLuint); stdcall;
PFNGLGETACTIVEATTRIBARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVEATTRIBPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVESUBROUTINENAMEPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; bufsize: TGLsizei; length: PGLsizei; name: PAnsiChar); stdcall;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; pname: Cardinal; values: PGLint); stdcall;
PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; bufsize: TGLsizei; length: PGLsizei; name: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; bufSize: TGLsizei; length: PGLsizei; uniformBlockName: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMNAMEPROC = procedure(_program: Cardinal; uniformIndex: Cardinal; bufSize: TGLsizei; length: PGLsizei; uniformName: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMSIVPROC = procedure(_program: Cardinal; uniformCount: TGLsizei; uniformIndices: PGLuint; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETACTIVEVARYINGNVPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: Cardinal; name: PAnsiChar); stdcall;
PFNGLGETATTACHEDOBJECTSARBPROC = procedure(containerObj: TGLhandleARB; maxCount: TGLsizei; count: PGLsizei; obj: PGLhandleARB); stdcall;
PFNGLGETATTACHEDSHADERSPROC = procedure(_program: Cardinal; maxCount: TGLsizei; count: PGLSizei; obj: PGLuint); stdcall;
PFNGLGETATTRIBLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETATTRIBLOCATIONPROC = function(_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETBOOLEANINDEXEDVEXTPROC = procedure(value: Cardinal; index: Cardinal; data: PGLboolean); stdcall;
PFNGLGETBOOLEANI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLboolean); stdcall;
PFNGLGETBUFFERPARAMETERI64VPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint64); stdcall;
PFNGLGETBUFFERPARAMETERIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETBUFFERPARAMETERIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETBUFFERPARAMETERUI64VNVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint64EXT ); stdcall;
PFNGLGETBUFFERPOINTERVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: Pointer); stdcall;
PFNGLGETBUFFERPOINTERVPROC = procedure(target: Cardinal; pname: Cardinal; params: Pointer); stdcall;
PFNGLGETBUFFERSUBDATAARBPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; data: Pointer); stdcall;
PFNGLGETBUFFERSUBDATAPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; data: Pointer); stdcall;
PFNGLGETCOLORTABLEEXTPROC = procedure(target, format, atype: Cardinal; data: Pointer); stdcall;
PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOLORTABLEPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOLORTABLEPARAMETERIVEXTPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOLORTABLEPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOLORTABLEPROC = procedure(target, format, Atype: Cardinal; table: Pointer); stdcall;
PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC = procedure(stage, portion, variable, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC = procedure(stage, portion, variable, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC = procedure(stage, portion, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC = procedure(stage, portion, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC = procedure(texunit: Cardinal; target: Cardinal; lod: TGLint; img: PGLvoid); stdcall;
PFNGLGETCOMPRESSEDTEXIMAGEARBPROC = procedure(target: Cardinal; level: TGLint; img: pointer); stdcall;
PFNGLGETCOMPRESSEDTEXIMAGEPROC = procedure(target: Cardinal; level: TGLint; img: pointer); stdcall;
PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC = procedure(texture: Cardinal; target: Cardinal; lod: TGLint; img: PGLvoid); stdcall;
PFNGLGETCONVOLUTIONFILTERPROC = procedure(target, internalformat, Atype: Cardinal; image: Pointer); stdcall;
PFNGLGETCONVOLUTIONPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCONVOLUTIONPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETDEBUGMESSAGELOGARBPROC = function(count: Cardinal; bufsize: TGLsizei; sources: PCardinal; types: PCardinal; ids: PGLuint; severities: PCardinal; lengths: PGLsizei; messageLog: PAnsiChar): Cardinal; stdcall;
PFNGLGETDOUBLEINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLdouble); stdcall;
PFNGLGETDOUBLEI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLdouble); stdcall;
PFNGLGETFENCEIVNVPROC = procedure(fence: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC = procedure(variable, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC = procedure(variable, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETFLOATINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLfloat); stdcall;
PFNGLGETFLOATI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLfloat); stdcall;
PFNGLGETFRAGDATAINDEXPROC = function (_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETFRAGDATALOCATIONEXTPROC = function(_program: Cardinal; name: PAnsiChar): TGLint; stdcall;
PFNGLGETFRAGDATALOCATIONPROC = function(_program: Cardinal; name: PAnsiChar): TGLint; stdcall;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetFramebufferParameteriv = procedure(target : Cardinal; pname : Cardinal; params : PGLint); stdcall;
PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC = procedure(framebuffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETGRAPHICSRESETSTATUSARBPROC = function(): Cardinal; stdcall;
PFNGLGETHANDLEARBPROC = function(pname: Cardinal): TGLhandleARB; stdcall;
PFNGLGETHISTOGRAMPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETHISTOGRAMPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETHISTOGRAMPROC = procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); stdcall;
PFNGLGETINFOLOGARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGETINTEGER64I_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLint64); stdcall;
PFNGLGETINTEGER64VPROC = procedure(pname: Cardinal; params: PGLint64); stdcall;
PFNGLGETINTEGERINDEXEDVEXTPROC = procedure(value: Cardinal; index: Cardinal; data: PGLint); stdcall;
PFNGLGETINTEGERI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLint); stdcall;
PFNGLGETINTEGERUI64I_VNVPROC = procedure(value: Cardinal; index: Cardinal; result: PGLuint64EXT); stdcall;
PFNGLGETINTEGERUI64VNVPROC = procedure(value: Cardinal; result: PGLuint64EXT); stdcall;
PFNGLGetInternalformati64v = procedure(target : Cardinal; internalformat : Cardinal; pname : Cardinal; bufSize : TGLsizei; params : PGLint64); stdcall;
PFNGLGETMINMAXPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMINMAXPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMINMAXPROC = procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); stdcall;
PFNGLGETMULTISAMPLEFVPROC = procedure(pname: Cardinal; index: Cardinal; val: PGLfloat); stdcall;
PFNGLGETMULTITEXENVFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXENVIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXGENDVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETMULTITEXGENFVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXGENIVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXIMAGEEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; format: Cardinal; type_: Cardinal; pixels: PGLvoid); stdcall;
PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETMULTITEXPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLuint64EXT); stdcall;
PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLvoid); stdcall;
PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; data: PGLvoid); stdcall;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetNamedFramebufferParameteriv = procedure(framebuffer : Cardinal; pname : Cardinal; param : TGLint); stdcall;
PFNGLGETNAMEDPROGRAMIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLdouble); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLfloat); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLuint); stdcall;
PFNGLGETNAMEDPROGRAMSTRINGEXTPROC = procedure(program_: Cardinal; target: Cardinal; pname: Cardinal; string_: PGLvoid); stdcall;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC = procedure(renderbuffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNCOLORTABLEARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; table: Pointer); stdcall;
PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC = procedure(target: Cardinal; lod: TGLint; bufSize: TGLsizei; img: Pointer); stdcall;
PFNGLGETNCONVOLUTIONFILTERARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; image: Pointer); stdcall;
PFNGLGETNHISTOGRAMARBPROC = procedure(target: Cardinal; reset: TGLboolean; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; values: Pointer); stdcall;
PFNGLGETNMAPDVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLdouble); stdcall;
PFNGLGETNMAPFVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLfloat); stdcall;
PFNGLGETNMAPIVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLint); stdcall;
PFNGLGETNMINMAXARBPROC = procedure(target: Cardinal; reset: TGLboolean; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; values: Pointer); stdcall;
PFNGLGETNPIXELMAPFVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLfloat); stdcall;
PFNGLGETNPIXELMAPUIVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLuint); stdcall;
PFNGLGETNPIXELMAPUSVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLushort); stdcall;
PFNGLGETNPOLYGONSTIPPLEARBPROC = procedure(bufSize: TGLsizei; pattern: PGLubyte); stdcall;
PFNGLGETNSEPARABLEFILTERARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; rowBufSize: TGLsizei; row: Pointer; columnBufSize: TGLsizei; column: Pointer; span: Pointer); stdcall;
PFNGLGETNTEXIMAGEARBPROC = procedure(target: Cardinal; level: TGLint; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; img: Pointer); stdcall;
PFNGLGETNUNIFORMDVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLdouble); stdcall;
PFNGLGETNUNIFORMFVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLfloat); stdcall;
PFNGLGETNUNIFORMIVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLint); stdcall;
PFNGLGETNUNIFORMUIVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLuint); stdcall;
PFNGLGetObjectLabel = procedure(identifier : Cardinal; name : Cardinal; bufsize : TGLsizei; length : PGLsizei; label_ : PAnsiChar); stdcall;
PFNGLGETOBJECTPARAMETERFVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETOBJECTPARAMETERIVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetObjectPtrLabel = procedure(const ptr : Pointer; bufSize : TGLsizei; length : PGLsizei; label_ : PAnsiChar); stdcall;
PFNGLGETOCCLUSIONQUERYIVNVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETOCCLUSIONQUERYUIVNVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETPATHCOLORGENFVNVPROC = procedure (color: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLGETPATHCOLORGENIVNVPROC = procedure (color: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLGETPATHCOMMANDSNVPROC = procedure (path: Cardinal; commands: PGLubyte); stdcall;
PFNGLGETPATHCOORDSNVPROC = procedure (path: Cardinal; coords: PGLfloat); stdcall;
PFNGLGETPATHDASHARRAYNVPROC = procedure (path: Cardinal; dashArray: PGLfloat); stdcall;
PFNGLGETPATHLENGTHNVPROC = function (path: Cardinal; startSegment: TGLsizei; numSegments: TGLsizei): TGLfloat; stdcall;
PFNGLGETPATHMETRICRANGENVPROC = procedure (metricQueryMask: TGLbitfield; firstPathName: Cardinal; numPaths: TGLsizei; stride: TGLsizei; metrics: PGLfloat); stdcall;
PFNGLGETPATHMETRICSNVPROC = procedure (metricQueryMask: TGLbitfield; numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; stride: TGLsizei; metrics: PGLfloat); stdcall;
PFNGLGETPATHPARAMETERFVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLGETPATHPARAMETERIVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLGETPATHSPACINGNVPROC = procedure (pathListMode: Cardinal; numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; advanceScale: TGLfloat; kerningScale: TGLfloat; transformType: Cardinal; returnedSpacing: PGLfloat); stdcall;
PFNGLGETPATHTEXGENFVNVPROC = procedure (texCoordSet: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLGETPATHTEXGENIVNVPROC = procedure (texCoordSet: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLGETPOINTERINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLvoid); stdcall;
PFNGLGETPROGRAMBINARYPROC = procedure(_program: Cardinal; bufSize: TGLsizei; length: PGLsizei; binaryFormat: PCardinal; binary: Pointer); stdcall;
PFNGLGETPROGRAMENVPARAMETERDVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLdouble); stdcall;
PFNGLGETPROGRAMENVPARAMETERFVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLfloat); stdcall;
PFNGLGETPROGRAMINFOLOGPROC = procedure(_program: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGetProgramInterfaceiv = procedure(program_ : Cardinal;programInterface : Cardinal; pname : Cardinal; params : PGLint); stdcall;
PFNGLGETPROGRAMIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETPROGRAMIVNVPROC = procedure (id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETPROGRAMIVPROC = procedure(_program: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLdouble); stdcall;
PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLfloat); stdcall;
PFNGLGETPROGRAMPARAMETERDVNVPROC = procedure (target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETPROGRAMPARAMETERFVNVPROC = procedure (target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETPROGRAMPIPELINEINFOLOGPROC = procedure(pipeline: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGETPROGRAMPIPELINEIVPROC = procedure(pipeline: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetProgramResourceIndex = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : Cardinal; stdcall;
PFNGLGetProgramResourceiv = procedure(program_ : Cardinal;programInterface : Cardinal; index : Cardinal; propCount : TGLsizei; const props : PCardinal; bufSize : TGLsizei; length : PGLsizei; params : PGLint); stdcall;
PFNGLGetProgramResourceLocation = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : TGLint; stdcall;
PFNGLGetProgramResourceLocationIndex = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : TGLint; stdcall;
PFNGLGetProgramResourceName = procedure(program_ : Cardinal;programInterface : Cardinal; index : Cardinal; bufSize : TGLsizei; length : PGLsizei; name : PAnsiChar); stdcall;
PFNGLGETPROGRAMSTAGEIVPROC = procedure(_program: Cardinal; shadertype: Cardinal; pname: Cardinal; values: PGLint); stdcall;
PFNGLGETPROGRAMSTRINGARBPROC = procedure(target: Cardinal; pname: Cardinal; _string: pointer); stdcall;
PFNGLGETPROGRAMSTRINGNVPROC = procedure (id: Cardinal; pname: Cardinal; programIdx: PGLubyte); stdcall;
PFNGLGETQUERYINDEXEDIVPROC = procedure(target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYOBJECTI64VEXTPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint64EXT); stdcall;
PFNGLGETQUERYOBJECTI64VPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint64); stdcall;
PFNGLGETQUERYOBJECTIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYOBJECTIVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYOBJECTUI64VEXTPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint64EXT); stdcall;
PFNGLGETQUERYOBJECTUI64VPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint64); stdcall;
PFNGLGETQUERYOBJECTUIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETQUERYOBJECTUIVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETRENDERBUFFERPARAMETERIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSAMPLERPARAMETERFVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETSAMPLERPARAMETERIFVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETSAMPLERPARAMETERIIVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSAMPLERPARAMETERIVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSEPARABLEFILTERPROC = procedure(target, format, Atype: Cardinal; row, column, span: Pointer); stdcall;
PFNGLGETSHADERINFOLOGPROC = procedure(shader: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGETSHADERIVPROC = procedure(shader: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSHADERPRECISIONFORMATPROC = procedure(shadertype: Cardinal; precisiontype: Cardinal; range: PGLint; precision: PGLint); stdcall;
PFNGLGETSHADERSOURCEARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; source: PAnsiChar); stdcall;
PFNGLGETSHADERSOURCEPROC = procedure(shader:Cardinal; bufSize: TGLsizei; length: PGLsizei; source: PAnsiChar); stdcall;
PFNGLGETSTRINGIPROC = function(name: Cardinal; index: Cardinal): PAnsiChar; stdcall;
PFNGLGETSUBROUTINEINDEXPROC = function(_program: Cardinal; shadertype: Cardinal; const name: PAnsiChar): Cardinal; stdcall;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC = function(_program: Cardinal; shadertype: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETSYNCIVPROC = procedure(sync: TGLsync; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint); stdcall;
PFNGLGETTEXPARAMETERIIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTEXPARAMETERIIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTEXPARAMETERIUIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETTEXPARAMETERIUIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETTEXTUREIMAGEEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; format: Cardinal; type_: Cardinal; pixels: PGLvoid); stdcall;
PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: TGLint); stdcall;
PFNGLGETTEXTUREPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETTEXTUREPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTEXTUREPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETTEXTUREPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTRACKMATRIXIVNVPROC = procedure (target: Cardinal; address: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC = procedure(_program: Cardinal; index: Cardinal; location: PGLint); stdcall;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETUNIFORMBLOCKINDEXPROC = function(_program: Cardinal; uniformBlockName: PAnsiChar): Cardinal; stdcall;
PFNGLGETUNIFORMBUFFERSIZEEXTPROC = function(_program: Cardinal; location: TGLint): TGLint; stdcall;
PFNGLGETUNIFORMDVPROC = procedure(_program: Cardinal; location: TGLint; params : PGLdouble); stdcall;
PFNGLGETUNIFORMFVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLfloat); stdcall;
PFNGLGETUNIFORMFVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLfloat); stdcall;
PFNGLGETUNIFORMINDICESPROC = procedure(_program: Cardinal; uniformCount: TGLsizei; uniformNames: PGLPCharArray; uniformIndices: PGLuint); stdcall;
PFNGLGETUNIFORMIVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLint); stdcall;
PFNGLGETUNIFORMIVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLint); stdcall;
PFNGLGETUNIFORMLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETUNIFORMLOCATIONPROC = function(_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETUNIFORMOFFSETEXTPROC = function(_program: Cardinal; location: TGLint): PGLint; stdcall;
PFNGLGETUNIFORMSUBROUTINEUIVPROC = procedure(shadertype: Cardinal; location: TGLint; params: PGLuint); stdcall;
PFNGLGETUNIFORMUI64VNVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint64EXT); stdcall;
PFNGLGETUNIFORMUIVEXTPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint); stdcall;
PFNGLGETUNIFORMUIVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint); stdcall;
PFNGLGETVARYINGLOCATIONNVPROC = function(_program: Cardinal; name: PAnsiChar): TGLint; stdcall;
PFNGLGETVERTEXATTRIBDVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBDVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBDVPROC = procedure(index:Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBFVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETVERTEXATTRIBFVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETVERTEXATTRIBFVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETVERTEXATTRIBIIVEXTPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIUIVEXTPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETVERTEXATTRIBIUIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETVERTEXATTRIBIVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBLDVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBPOINTERVARBPROC = procedure(index: Cardinal; pname: Cardinal; _pointer: pointer); stdcall;
PFNGLGETVERTEXATTRIBPOINTERVNVPROC = procedure (index: Cardinal; pname: Cardinal; pointer: PGLPointer); stdcall;
PFNGLGETVERTEXATTRIBPOINTERVPROC = procedure(index: Cardinal; pname: Cardinal; _pointer:pointer); stdcall;
PFNGLHISTOGRAMPROC = procedure(target: Cardinal; width: TGLsizei; internalformat: Cardinal; sink: TGLboolean); stdcall;
PFNGLINDEXFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei); stdcall;
PFNGLINDEXFUNCEXTPROC = procedure(func: Cardinal; ref: TGLfloat); stdcall;
PFNGLINDEXMATERIALEXTPROC = procedure(face: Cardinal; mode: Cardinal); stdcall;
PFNGLINTERPOLATEPATHSNVPROC = procedure (resultPath: Cardinal; pathA: Cardinal; pathB: Cardinal; weight: TGLfloat); stdcall;
PFNGLInvalidateBufferData = procedure(buffer : Cardinal); stdcall;
PFNGLInvalidateBufferSubData = procedure(buffer : Cardinal; offset : TGLintptr; length : TGLsizeiptr); stdcall;
PFNGLInvalidateFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal); stdcall;
PFNGLInvalidateSubFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal; x : TGLint; y : TGLint; width : TGLsizei; height : TGLsizei); stdcall;
PFNGLInvalidateTexImage = procedure(texture : Cardinal; level : TGLint); stdcall;
PFNGLInvalidateTexSubImage = procedure(texture : Cardinal; level : TGLint; xoffset : TGLint; yoffset : TGLint; zoffset : TGLint; width : TGLsizei; height : TGLsizei; depth : TGLsizei); stdcall;
PFNGLISBUFFERARBPROC = function(buffer: Cardinal): TGLboolean; stdcall;
PFNGLISBUFFERPROC = function(buffer: Cardinal): TGLboolean; stdcall;
PFNGLISBUFFERRESIDENTNVPROC = function(target: Cardinal): TGLboolean; stdcall;
PFNGLISENABLEDINDEXEDEXTPROC = function(target: Cardinal; index: Cardinal): TGLboolean; stdcall;
PFNGLISENABLEDIPROC = function(target: Cardinal; index: Cardinal): TGLboolean; stdcall;
PFNGLISFENCENVPROC = function(fence: Cardinal): TGLboolean; stdcall;
PFNGLISFRAMEBUFFEREXTPROC = function(framebuffer: Cardinal): TGLboolean; stdcall;
PFNGLISFRAMEBUFFERPROC = function(framebuffer: Cardinal): TGLboolean; stdcall;
PFNGLISNAMEDBUFFERRESIDENTNVPROC = function (buffer: Cardinal): TGLboolean; stdcall;
PFNGLISOCCLUSIONQUERYNVPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISPATHNVPROC = function(path: Cardinal): TGLboolean; stdcall;
PFNGLISPOINTINFILLPATHNVPROC = function (path: Cardinal; mask: Cardinal; x: TGLfloat; y: TGLfloat): TGLboolean; stdcall;
PFNGLISPOINTINSTROKEPATHNVPROC = function (path: Cardinal; x: TGLfloat; y: TGLfloat): TGLboolean; stdcall;
PFNGLISPROGRAMARBPROC = function(_program: Cardinal): TGLboolean; stdcall;
PFNGLISPROGRAMNVPROC = function (id: Cardinal): TGLboolean; stdcall;
PFNGLISPROGRAMPIPELINEPROC = function(pipeline: Cardinal): TGLboolean; stdcall;
PFNGLISPROGRAMPROC = function(_program: Cardinal):TGLboolean; stdcall;
PFNGLISQUERYARBPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISQUERYPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISRENDERBUFFEREXTPROC = function(renderbuffer: Cardinal): TGLboolean; stdcall;
PFNGLISRENDERBUFFERPROC = function(renderbuffer: Cardinal): TGLBoolean; stdcall;
PFNGLISSAMPLERPROC = function(sampler: Cardinal): TGLboolean; stdcall;
PFNGLISSHADERPROC = function(shader: Cardinal): TGLboolean; stdcall;
PFNGLISSYNCPROC = function(sync: TGLsync): TGLboolean; stdcall;
PFNGLISTEXTUREEXTPROC = function(texture: Cardinal): TGLboolean; stdcall;
PFNGLISTRANSFORMFEEDBACKPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISVERTEXARRAYPROC = function(_array: Cardinal): TGLboolean; stdcall;
PFNGLLINKPROGRAMARBPROC = procedure(programObj: TGLhandleARB); stdcall;
PFNGLLINKPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLLOADPROGRAMNVPROC = procedure (target: Cardinal; id: Cardinal; len: TGLSizei; programIdx: PGLubyte); stdcall;
PFNGLLOADTRANSPOSEMATRIXDARBPROC = procedure(m: PGLdouble); stdcall;
PFNGLLOADTRANSPOSEMATRIXDPROC = procedure(m: PGLdouble); stdcall;
PFNGLLOADTRANSPOSEMATRIXFARBPROC = procedure(m: PGLfloat); stdcall;
PFNGLLOADTRANSPOSEMATRIXFPROC = procedure(m: PGLfloat); stdcall;
PFNGLLOCKARRAYSEXTPROC = procedure(first: TGLint; count: TGLsizei); stdcall;
PFNGLMAKEBUFFERNONRESIDENTNVPROC = procedure(target: Cardinal); stdcall;
PFNGLMAKEBUFFERRESIDENTNVPROC = procedure(target: Cardinal; access: Cardinal); stdcall;
PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC = procedure(buffer: Cardinal); stdcall;
PFNGLMAKENAMEDBUFFERRESIDENTNVPROC = procedure(buffer: Cardinal; access: Cardinal); stdcall;
PFNGLMAPBUFFERARBPROC = function(target: Cardinal; access: Cardinal): Pointer; stdcall;
PFNGLMAPBUFFERPROC = function(target: Cardinal; access: Cardinal): Pointer; stdcall;
PFNGLMAPBUFFERRANGEPROC = function(target: Cardinal; offset: TGLint; length: TGLsizei; access: TGLbitfield ): Pointer; stdcall;
PFNGLMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal; access: Cardinal): PGLvoid; stdcall;
PFNGLMAPNAMEDBUFFERRANGEEXTPROC = function(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr; access: TGLbitfield): PGLvoid; stdcall;
PFNGLMATRIXFRUSTUMEXTPROC = procedure(mode: Cardinal; left: TGLdouble; right: TGLdouble; bottom: TGLdouble; top: TGLdouble; zNear: TGLdouble; zFar: TGLdouble); stdcall;
PFNGLMATRIXINDEXPOINTERARBPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer:pointer); stdcall;
PFNGLMATRIXINDEXUBVARBPROC = procedure(size: TGLint; indices: PGLubyte); stdcall;
PFNGLMATRIXINDEXUIVARBPROC = procedure(size: TGLint; indices: PGLuint); stdcall;
PFNGLMATRIXINDEXUSVARBPROC = procedure(size: TGLint; indices: PGLushort); stdcall;
PFNGLMATRIXLOADDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXLOADFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXLOADIDENTITYEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLMATRIXLOADTRANSPOSEDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXLOADTRANSPOSEFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXMULTDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXMULTFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXMULTTRANSPOSEDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXMULTTRANSPOSEFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXORTHOEXTPROC = procedure(mode: Cardinal; left: TGLdouble; right: TGLdouble; bottom: TGLdouble; top: TGLdouble; zNear: TGLdouble; zFar: TGLdouble); stdcall;
PFNGLMATRIXPOPEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLMATRIXPUSHEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLMATRIXROTATEDEXTPROC = procedure(mode: Cardinal; angle: TGLdouble; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLMATRIXROTATEFEXTPROC = procedure(mode: Cardinal; angle: TGLfloat; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLMATRIXSCALEDEXTPROC = procedure(mode: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLMATRIXSCALEFEXTPROC = procedure(mode: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLMATRIXTRANSLATEDEXTPROC = procedure(mode: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLMATRIXTRANSLATEFEXTPROC = procedure(mode: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLMINMAXPROC = procedure(target, internalformat: Cardinal; sink: TGLboolean); stdcall;
PFNGLMINSAMPLESHADINGARBPROC = procedure(value: Single); stdcall;
PFNGLMINSAMPLESHADINGPROC = procedure(value: Single); stdcall;
PFNGLMULTIDRAWARRAYSEXTPROC = procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); stdcall;
PFNGLMultiDrawArraysIndirect = procedure(mode : Cardinal; const indirect : Pointer; drawcount : TGLsizei; stride : TGLsizei); stdcall;
PFNGLMULTIDRAWARRAYSPROC = procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); stdcall;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; count: PGLsizei; _type: Cardinal; var indices; primcount: TGLsizei; basevertex: PGLint); stdcall;
PFNGLMULTIDRAWELEMENTSEXTPROC = procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); stdcall;
PFNGLMultiDrawElementsIndirect = procedure(mode : Cardinal; type_ : Cardinal; const indirect : Pointer; drawcount : TGLsizei; stride : TGLsizei); stdcall;
PFNGLMULTIDRAWELEMENTSPROC = procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); stdcall;
PFNGLMULTITEXBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; interformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLMULTITEXCOORD1DARBPROC = procedure(target: Cardinal; s: TGLdouble); stdcall;
PFNGLMULTITEXCOORD1DPROC = procedure(target: Cardinal; s: TGLdouble); stdcall;
PFNGLMULTITEXCOORD1DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD1DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD1FARBPROC = procedure(target: Cardinal; s: TGLfloat); stdcall;
PFNGLMULTITEXCOORD1FPROC = procedure(target: Cardinal; s: TGLfloat); stdcall;
PFNGLMULTITEXCOORD1FVARBPROC = procedure(target: Cardinal; v: TGLfloat); stdcall;
PFNGLMULTITEXCOORD1FVPROC = procedure(target: Cardinal; v: TGLfloat); stdcall;
PFNGLMULTITEXCOORD1IARBPROC = procedure(target: Cardinal; s: TGLint); stdcall;
PFNGLMULTITEXCOORD1IPROC = procedure(target: Cardinal; s: TGLint); stdcall;
PFNGLMULTITEXCOORD1IVARBPROC = procedure(target: Cardinal; v: PGLInt); stdcall;
PFNGLMULTITEXCOORD1IVPROC = procedure(target: Cardinal; v: PGLInt); stdcall;
PFNGLMULTITEXCOORD1SARBPROC = procedure(target: Cardinal; s: TGLshort); stdcall;
PFNGLMULTITEXCOORD1SPROC = procedure(target: Cardinal; s: TGLshort); stdcall;
PFNGLMULTITEXCOORD1SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD1SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD2DARBPROC = procedure(target: Cardinal; s, t: TGLdouble); stdcall;
PFNGLMULTITEXCOORD2DPROC = procedure(target: Cardinal; s, t: TGLdouble); stdcall;
PFNGLMULTITEXCOORD2DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD2DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD2FARBPROC = procedure(target: Cardinal; s, t: TGLfloat); stdcall;
PFNGLMULTITEXCOORD2FPROC = procedure(target: Cardinal; s, t: TGLfloat); stdcall;
PFNGLMULTITEXCOORD2FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD2FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD2IARBPROC = procedure(target: Cardinal; s, t: TGLint); stdcall;
PFNGLMULTITEXCOORD2IPROC = procedure(target: Cardinal; s, t: TGLint); stdcall;
PFNGLMULTITEXCOORD2IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD2IVPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD2SARBPROC = procedure(target: Cardinal; s, t: TGLshort); stdcall;
PFNGLMULTITEXCOORD2SPROC = procedure(target: Cardinal; s, t: TGLshort); stdcall;
PFNGLMULTITEXCOORD2SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD2SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD3DARBPROC = procedure(target: Cardinal; s, t, r: TGLdouble); stdcall;
PFNGLMULTITEXCOORD3DPROC = procedure(target: Cardinal; s, t, r: TGLdouble); stdcall;
PFNGLMULTITEXCOORD3DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD3DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD3FARBPROC = procedure(target: Cardinal; s, t, r: TGLfloat); stdcall;
PFNGLMULTITEXCOORD3FPROC = procedure(target: Cardinal; s, t, r: TGLfloat); stdcall;
PFNGLMULTITEXCOORD3FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD3FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD3IARBPROC = procedure(target: Cardinal; s, t, r: TGLint); stdcall;
PFNGLMULTITEXCOORD3IPROC = procedure(target: Cardinal; s, t, r: TGLint); stdcall;
PFNGLMULTITEXCOORD3IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD3IVPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD3SARBPROC = procedure(target: Cardinal; s, t, r: TGLshort); stdcall;
PFNGLMULTITEXCOORD3SPROC = procedure(target: Cardinal; s, t, r: TGLshort); stdcall;
PFNGLMULTITEXCOORD3SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD3SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD4DARBPROC = procedure(target: Cardinal; s, t, r, q: TGLdouble); stdcall;
PFNGLMULTITEXCOORD4DPROC = procedure(target: Cardinal; s, t, r, q: TGLdouble); stdcall;
PFNGLMULTITEXCOORD4DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD4DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD4FARBPROC = procedure(target: Cardinal; s, t, r, q: TGLfloat); stdcall;
PFNGLMULTITEXCOORD4FPROC = procedure(target: Cardinal; s, t, r, q: TGLfloat); stdcall;
PFNGLMULTITEXCOORD4FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD4FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD4IARBPROC = procedure(target: Cardinal; s, t, r, q: TGLint); stdcall;
PFNGLMULTITEXCOORD4IPROC = procedure(target: Cardinal; s, t, r, q: TGLint); stdcall;
PFNGLMULTITEXCOORD4IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD4IVPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD4SARBPROC = procedure(target: Cardinal; s, t, r, q: TGLshort); stdcall;
PFNGLMULTITEXCOORD4SPROC = procedure(target: Cardinal; s, t, r, q: TGLshort); stdcall;
PFNGLMULTITEXCOORD4SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD4SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORDP1UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP1UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDP2UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP2UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDP3UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP3UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDP4UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP4UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDPOINTEREXTPROC = procedure(texunit: Cardinal; size: TGLint; type_: Cardinal; stride: TGLsizei; const pointer: PGLvoid); stdcall;
PFNGLMULTITEXENVFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLMULTITEXENVFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLMULTITEXENVIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLMULTITEXENVIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXGENDEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLdouble); stdcall;
PFNGLMULTITEXGENDVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLdouble); stdcall;
PFNGLMULTITEXGENFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLMULTITEXGENFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLMULTITEXGENIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLMULTITEXGENIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXPARAMETERFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLMULTITEXPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLMULTITEXPARAMETERIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
PFNGLMULTITEXPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXRENDERBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; type_: Cardinal; const pixels:PGLvoid); stdcall;
PFNGLMULTTRANSPOSEMATRIXDARBPROC = procedure(m: PGLdouble); stdcall;
PFNGLMULTTRANSPOSEMATRIXDPROC = procedure(m: PGLdouble); stdcall;
PFNGLMULTTRANSPOSEMATRIXFARBPROC = procedure(m: PGLfloat); stdcall;
PFNGLMULTTRANSPOSEMATRIXFPROC = procedure(m: PGLfloat); stdcall;
PFNGLNAMEDBUFFERDATAEXTPROC = procedure(buffer: Cardinal; size: TGLsizei; const data: PGLvoid; usage: Cardinal); stdcall;
PFNGLNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; const data: PGLvoid); stdcall;
PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = procedure(readBuffer: Cardinal; writeBuffer: Cardinal; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr); stdcall;
PFNGLNamedFramebufferParameteri = procedure(framebuffer : Cardinal; pname : Cardinal; param : TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; zoffset: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; face: Cardinal); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLdouble); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLfloat); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLuint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLfloat); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLuint); stdcall;
PFNGLNAMEDPROGRAMSTRINGEXTPROC = procedure(program_: Cardinal; target: Cardinal; format: Cardinal; len: TGLsizei; const string_: PGLvoid); stdcall;
PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = procedure(renderbuffer: Cardinal; interformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC = procedure(renderbuffer: Cardinal; coverageSamples: TGLsizei; colorSamples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = procedure(renderbuffer: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLNORMALFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei); stdcall;
PFNGLNORMALP3UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLNORMALP3UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLObjectLabel = procedure(identifier : Cardinal; name : Cardinal; length : TGLsizei; const label_ : PAnsiChar); stdcall;
PFNGLObjectPtrLabel = procedure(const ptr : Pointer; length : TGLsizei; const label_ : PAnsiChar); stdcall;
PFNGLPATCHPARAMETERFVPROC = procedure(pname: Cardinal; const values: PGLfloat); stdcall;
PFNGLPATCHPARAMETERIPROC = procedure(pname: Cardinal; value: TGLint); stdcall;
PFNGLPATHCOLORGENNVPROC = procedure (color: Cardinal; genMode: Cardinal; colorFormat: Cardinal; coeffs: PGLfloat); stdcall;
PFNGLPATHCOMMANDSNVPROC = procedure(path: Cardinal; numCommands: TGLsizei; commands: PGLubyte; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHCOORDSNVPROC = procedure(path: Cardinal; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHCOVERDEPTHFUNCNVPROC = procedure (func: Cardinal); stdcall;
PFNGLPATHDASHARRAYNVPROC = procedure (path: Cardinal; dashCount: TGLsizei; dashArray: PGLfloat); stdcall;
PFNGLPATHFOGGENNVPROC = procedure (genMode: Cardinal); stdcall;
PFNGLPATHGLYPHRANGENVPROC = procedure(firstPathName: Cardinal; fontTarget: Cardinal; fontName: PAnsiChar; fontStyle: TGLbitfield; firstGlyph: Cardinal; numGlyphs: TGLsizei; handleMissingGlyphs: Cardinal; pathParameterTemplate: Cardinal; emScale: TGLfloat); stdcall;
PFNGLPATHGLYPHSNVPROC = procedure(firstPathName: Cardinal; fontTarget: Cardinal; fontName: PGLvoid; fontStyle: TGLbitfield; numGlyphs: TGLsizei; _type: Cardinal; charcodes: PGLvoid; handleMissingGlyphs: Cardinal; pathParameterTemplate: Cardinal; emScale: TGLfloat); stdcall;
PFNGLPATHPARAMETERFNVPROC = procedure (path: Cardinal; pname: Cardinal; value: TGLfloat); stdcall;
PFNGLPATHPARAMETERFVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLPATHPARAMETERINVPROC = procedure (path: Cardinal; pname: Cardinal; value: TGLint); stdcall;
PFNGLPATHPARAMETERIVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLPATHSTENCILDEPTHOFFSETNVPROC = procedure (factor: TGLfloat; units: TGLfloat); stdcall;
PFNGLPATHSTENCILFUNCNVPROC = procedure (func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
PFNGLPATHSTRINGNVPROC = procedure(path: Cardinal; format: Cardinal; length: TGLsizei; pathString: PGLvoid); stdcall;
PFNGLPATHSUBCOMMANDSNVPROC = procedure(path: Cardinal; commandStart: TGLsizei; commandsToDelete: TGLsizei; numCommands: TGLsizei; commands: PGLubyte; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHSUBCOORDSNVPROC = procedure(path: Cardinal; coordStart: TGLsizei; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHTEXGENNVPROC = procedure (texCoordSet: Cardinal; genMode: Cardinal; components: TGLint; coeffs: PGLfloat); stdcall;
PFNGLPAUSETRANSFORMFEEDBACKPROC = procedure(); stdcall;
PFNGLPOINTALONGPATHNVPROC = function (path: Cardinal; startSegment: TGLsizei; numSegments: TGLsizei; distance: TGLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): TGLboolean; stdcall;
PFNGLPOINTPARAMETERFARBPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
PFNGLPOINTPARAMETERFPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
PFNGLPOINTPARAMETERFVARBPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
PFNGLPOINTPARAMETERFVPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
PFNGLPOINTPARAMETERINVPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
PFNGLPOINTPARAMETERIPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
PFNGLPOINTPARAMETERIVNVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
PFNGLPOINTPARAMETERIVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
PFNGLPOLYGONOFFSETEXTPROC = procedure(factor, bias: TGLfloat); stdcall;
PFNGLPopDebugGroup = procedure; stdcall;
PFNGLPRIMITIVERESTARTINDEXNVPROC = procedure(index: Cardinal); stdcall;
PFNGLPRIMITIVERESTARTINDEXPROC = procedure(index: Cardinal); stdcall;
PFNGLPRIMITIVERESTARTNVPROC = procedure(); stdcall;
PFNGLPRIORITIZETEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint; priorities: PSingle); stdcall;
PFNGLPROGRAMBINARYPROC = procedure(_program: Cardinal; binaryFormat: Cardinal; binary: Pointer; length: TGLsizei); stdcall;
PFNGLPROGRAMENVPARAMETER4DARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLPROGRAMENVPARAMETER4DVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLdouble); stdcall;
PFNGLPROGRAMENVPARAMETER4FARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLPROGRAMENVPARAMETER4FVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLfloat); stdcall;
PFNGLPROGRAMENVPARAMETERS4FVEXTPROC = procedure(target:Cardinal; index:Cardinal; count:TGLsizei; const params:PGLfloat); stdcall;
PFNGLPROGRAMLOCALPARAMETER4DARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLPROGRAMLOCALPARAMETER4DVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLdouble); stdcall;
PFNGLPROGRAMLOCALPARAMETER4FARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLPROGRAMLOCALPARAMETER4FVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLfloat); stdcall;
PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC = procedure(target:Cardinal; index:Cardinal; count:TGLsizei; const params:PGLFloat); stdcall;
PFNGLPROGRAMPARAMETER4DNVPROC = procedure (target: Cardinal; index: Cardinal; x, y, z, w: TGLdouble); stdcall;
PFNGLPROGRAMPARAMETER4DVNVPROC = procedure (target: Cardinal; index: Cardinal; v: PGLdouble ); stdcall;
PFNGLPROGRAMPARAMETER4FNVPROC = procedure (target: Cardinal; index: Cardinal; x, y, z, w: TGLfloat); stdcall;
PFNGLPROGRAMPARAMETER4FVNVPROC = procedure (target: Cardinal; index: Cardinal; v: PGLfloat); stdcall;
PFNGLPROGRAMPARAMETERIARBPROC = procedure ( _program:Cardinal; pname:Cardinal; value: TGLint); stdcall;
PFNGLPROGRAMPARAMETERIEXTPROC = procedure ( _program:Cardinal; pname:Cardinal; value: TGLint); stdcall;
PFNGLPROGRAMPARAMETERIPROC = procedure(_program: Cardinal; pname: Cardinal; value: TGLint); stdcall;
PFNGLPROGRAMPARAMETERS4DVNVPROC = procedure (target: Cardinal; index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLPROGRAMPARAMETERS4FVNVPROC = procedure (target: Cardinal; index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLPROGRAMSTRINGARBPROC = procedure(target: Cardinal; format: Cardinal; len: TGLsizei; const _string: pointer); stdcall;
PFNGLPROGRAMUNIFORM1DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM1FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM1IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint); stdcall;
PFNGLPROGRAMUNIFORM1IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM1UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM1UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORM2DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM2IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint); stdcall;
PFNGLPROGRAMUNIFORM2IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM2UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM2UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORM3DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble; v2: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM3IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
PFNGLPROGRAMUNIFORM3IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM3UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal; v2: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM3UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORM4DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble; v2: TGLdouble; v3: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM4IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
PFNGLPROGRAMUNIFORM4IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM4UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM4UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMUI64NVPROC = procedure(_program: Cardinal; location: TGLint; value: TGLuint64EXT); stdcall;
PFNGLPROGRAMUNIFORMUI64VNVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLuint64EXT); stdcall;
PFNGLPROGRAMVERTEXLIMITNVPROC = procedure (target: Cardinal; limit: TGLint); stdcall;
PFNGLPROVOKINGVERTEXPROC = procedure(mode: Cardinal); stdcall;
PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC = procedure(mask: TGLbitfield); stdcall;
PFNGLPushDebugGroup = procedure(source : Cardinal; id : Cardinal; length : TGLsizei; const message_ : PAnsiChar); stdcall;
PFNGLQUERYCOUNTERPROC = procedure(id: Cardinal; target: Cardinal); stdcall;
PFNGLREADNPIXELSARBPROC = procedure(x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; data: Pointer); stdcall;
PFNGLRELEASESHADERCOMPILERPROC = procedure(); stdcall;
PFNGLRENDERBUFFERSTORAGEEXTPROC = procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLRENDERBUFFERSTORAGEPROC = procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLREQUESTRESIDENTPROGRAMSNVPROC = procedure (n: TGLSizei; programs: PGLuint); stdcall;
PFNGLRESETHISTOGRAMPROC = procedure(target: Cardinal); stdcall;
PFNGLRESETMINMAXPROC = procedure(target: Cardinal); stdcall;
PFNGLRESIZEBUFFERSMESAPROC = procedure; stdcall;
PFNGLRESUMETRANSFORMFEEDBACKPROC = procedure(); stdcall;
PFNGLSAMPLECOVERAGEARBPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
PFNGLSAMPLECOVERAGEPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
PFNGLSAMPLEMASKEXTPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
PFNGLSAMPLEMASKIPROC = procedure(index: Cardinal; mask: TGLbitfield); stdcall;
PFNGLSAMPLEMASKSGISPROC = procedure(Value: Single; invert: TGLboolean); stdcall;
PFNGLSAMPLEPASSARBPROC = procedure(pass: Cardinal); stdcall;
PFNGLSAMPLEPATTERNEXTPROC = procedure(pattern: Cardinal); stdcall;
PFNGLSAMPLEPATTERNSGISPROC = procedure(pattern: Cardinal); stdcall;
PFNGLSAMPLERPARAMETERFPROC = procedure(sampler: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLSAMPLERPARAMETERFVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLSAMPLERPARAMETERIIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLSAMPLERPARAMETERIPROC = procedure(sampler: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLSAMPLERPARAMETERIUIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
PFNGLSAMPLERPARAMETERIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLSCISSORARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; v: PGLint); stdcall;
PFNGLSCISSORINDEXEDPROC = procedure(index: Cardinal; left: TGLint; bottom: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLSCISSORINDEXEDVPROC = procedure(index: Cardinal; v: PGLint); stdcall;
PFNGLSECONDARYCOLOR3BEXTPROC = procedure(red, green, blue: TGLbyte); stdcall;
PFNGLSECONDARYCOLOR3BPROC = procedure(red, green, blue: TGLbyte); stdcall;
PFNGLSECONDARYCOLOR3BVEXTPROC = procedure(v: PGLbyte); stdcall;
PFNGLSECONDARYCOLOR3BVPROC = procedure(v: PGLbyte); stdcall;
PFNGLSECONDARYCOLOR3DEXTPROC = procedure(red, green, blue: TGLdouble); stdcall;
PFNGLSECONDARYCOLOR3DPROC = procedure(red, green, blue: TGLdouble); stdcall;
PFNGLSECONDARYCOLOR3DVEXTPROC = procedure(v: PGLdouble); stdcall;
PFNGLSECONDARYCOLOR3DVPROC = procedure(v: PGLdouble); stdcall;
PFNGLSECONDARYCOLOR3FEXTPROC = procedure(red, green, blue: TGLfloat); stdcall;
PFNGLSECONDARYCOLOR3FPROC = procedure(red, green, blue: TGLfloat); stdcall;
PFNGLSECONDARYCOLOR3FVEXTPROC = procedure(v: PGLfloat); stdcall;
PFNGLSECONDARYCOLOR3FVPROC = procedure(v: PGLfloat); stdcall;
PFNGLSECONDARYCOLOR3IEXTPROC = procedure(red, green, blue: TGLint); stdcall;
PFNGLSECONDARYCOLOR3IPROC = procedure(red, green, blue: TGLint); stdcall;
PFNGLSECONDARYCOLOR3IVEXTPROC = procedure(v: PGLint); stdcall;
PFNGLSECONDARYCOLOR3IVPROC = procedure(v: PGLint); stdcall;
PFNGLSECONDARYCOLOR3SEXTPROC = procedure(red, green, blue: TGLshort); stdcall;
PFNGLSECONDARYCOLOR3SPROC = procedure(red, green, blue: TGLshort); stdcall;
PFNGLSECONDARYCOLOR3SVEXTPROC = procedure(v: PGLshort); stdcall;
PFNGLSECONDARYCOLOR3SVPROC = procedure(v: PGLshort); stdcall;
PFNGLSECONDARYCOLOR3UBEXTPROC = procedure(red, green, blue: TGLubyte); stdcall;
PFNGLSECONDARYCOLOR3UBPROC = procedure(red, green, blue: TGLubyte); stdcall;
PFNGLSECONDARYCOLOR3UBVEXTPROC = procedure(v: PGLubyte); stdcall;
PFNGLSECONDARYCOLOR3UBVPROC = procedure(v: PGLubyte); stdcall;
PFNGLSECONDARYCOLOR3UIEXTPROC = procedure(red, green, blue: Cardinal); stdcall;
PFNGLSECONDARYCOLOR3UIPROC = procedure(red, green, blue: Cardinal); stdcall;
PFNGLSECONDARYCOLOR3UIVEXTPROC = procedure(v: PGLuint); stdcall;
PFNGLSECONDARYCOLOR3UIVPROC = procedure(v: PGLuint); stdcall;
PFNGLSECONDARYCOLOR3USEXTPROC = procedure(red, green, blue: TGLushort); stdcall;
PFNGLSECONDARYCOLOR3USPROC = procedure(red, green, blue: TGLushort); stdcall;
PFNGLSECONDARYCOLOR3USVEXTPROC = procedure(v: PGLushort); stdcall;
PFNGLSECONDARYCOLOR3USVPROC = procedure(v: PGLushort); stdcall;
PFNGLSECONDARYCOLORFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLSECONDARYCOLORP3UIPROC = procedure(_type: Cardinal; color: Cardinal); stdcall;
PFNGLSECONDARYCOLORP3UIVPROC = procedure(_type: Cardinal; const color: PGLuint); stdcall;
PFNGLSECONDARYCOLORPOINTEREXTPROC = procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); stdcall;
PFNGLSECONDARYCOLORPOINTERPROC = procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); stdcall;
PFNGLSEPARABLEFILTER2DPROC = procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; row, column: Pointer); stdcall;
PFNGLSETFENCENVPROC = procedure(fence: Cardinal; condition: Cardinal); stdcall;
PFNGLSHADERBINARYPROC = procedure(count: TGLsizei; shaders: PGLuint; binaryformat: Cardinal; binary: Pointer; length: TGLsizei); stdcall;
PFNGLSHADERSOURCEARBPROC = procedure(shaderObj: TGLhandleARB; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); stdcall;
PFNGLSHADERSOURCEPROC = procedure(shader: Cardinal; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); stdcall;
PFNGLShaderStorageBlockBinding = procedure(program_ : Cardinal; storageBlockIndex : Cardinal; storageBlockBinding : Cardinal); stdcall;
PFNGLSTENCILCLEARTAGEXTPROC = procedure(stencilTagBits: TGLsizei; stencilClearTag: Cardinal); stdcall;
PFNGLSTENCILFILLPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; fillMode: Cardinal; mask: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLSTENCILFILLPATHNVPROC = procedure (path: Cardinal; fillMode: Cardinal; mask: Cardinal); stdcall;
PFNGLSTENCILFUNCSEPARATEPROC = procedure(face, func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
PFNGLSTENCILMASKSEPARATEPROC = procedure(face: Cardinal; mask: Cardinal); stdcall;
PFNGLSTENCILOPSEPARATEPROC = procedure(face, sfail, dpfail, dppass: Cardinal); stdcall;
PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; reference: TGLint; mask: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLSTENCILSTROKEPATHNVPROC = procedure(path: Cardinal; reference: TGLint; mask: Cardinal); stdcall;
PFNGLSTRINGMARKERGREMEDYPROC = procedure(len: TGLsizei; str: PAnsiChar); stdcall;
PFNGLTBUFFERMASK3DFXPROC = procedure(mask: Cardinal); stdcall;
PFNGLTESSELLATIONFACTORAMDPROC = procedure(factor: TGLfloat); stdcall;
PFNGLTESSELLATIONMODEAMDPROC = procedure(mode: Cardinal); stdcall;
PFNGLTESTFENCENVPROC = function(fence: Cardinal): TGLboolean; stdcall;
PFNGLTEXBUFFERARBPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLTEXBUFFEREXTPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLTEXBUFFERPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLTexBufferRange = procedure(target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset: TGLintptr; size : TGLsizeiptr); stdcall;
PFNGLTEXCOORDFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLTEXCOORDP1UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP1UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXCOORDP2UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP2UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXCOORDP3UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP3UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXCOORDP4UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP4UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXIMAGE2DMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint; width: TGLsizei; height: TGLsizei; fixedsamplelocations: TGLboolean); stdcall;
PFNGLTEXIMAGE3DEXTPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei; border: TGLint; Format, AType: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXIMAGE3DMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; fixedsamplelocations: TGLboolean); stdcall;
PFNGLTEXIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei; border: TGLint; format: Cardinal; Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXPARAMETERIIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLTEXPARAMETERIIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLTEXPARAMETERIUIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLTEXPARAMETERIUIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLTexStorage2DMultisample = procedure(target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTexStorage3DMultisample = procedure(target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTEXSUBIMAGE1DEXTPROC = procedure(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXSUBIMAGE2DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXSUBIMAGE3DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format: Cardinal; Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXTUREBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLTextureBufferRange = procedure(texture : Cardinal; target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset : TGLintptr; size : TGLsizeiptr); stdcall;
PFNGLTEXTURECOLORMASKSGISPROC = procedure(red, green, blue, alpha: TGLboolean); stdcall;
PFNGLTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTUREIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTUREPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLTEXTUREPARAMETERIEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLTEXTUREPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLTEXTUREPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
PFNGLTEXTUREPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLTEXTURERENDERBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLTextureStorage2DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTextureStorage3DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTextureView = procedure(texture : Cardinal; target : Cardinal; origtexture : Cardinal; internalformat : Cardinal; minlevel : Cardinal; numlevels : Cardinal; minlayer : Cardinal; numlayers : Cardinal); stdcall;
PFNGLTRACKMATRIXNVPROC = procedure (target: Cardinal; address: Cardinal; matrix: Cardinal; transform: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC = procedure(count: TGLsizei; attribs: PGLint; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC = procedure(_program: Cardinal; count: TGLsizei; const varyings: PGLPCharArray; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC = procedure(_program: Cardinal; count: TGLsizei; locations: PGLint; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC = procedure(_program: Cardinal; count: TGLsizei; const varyings: PGLPCharArray; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMPATHNVPROC = procedure ( resultPath: Cardinal; srcPath: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLUDELETENURBSTESSELLATOREXTPROC = procedure(nurb: PGLUnurbs); stdcall;
PFNGLUNEWNURBSTESSELLATOREXTPROC = function: PGLUnurbs; stdcall;
PFNGLUNIFORM1DPROC = procedure(location: TGLint; x: TGLdouble); stdcall;
PFNGLUNIFORM1DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM1FARBPROC = procedure(location: TGLint; v0: TGLfloat); stdcall;
PFNGLUNIFORM1FPROC = procedure(location: TGLint; v0: TGLfloat); stdcall;
PFNGLUNIFORM1FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM1FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM1IARBPROC = procedure(location: TGLint; v0: TGLint); stdcall;
PFNGLUNIFORM1IPROC = procedure(location: TGLint; v0: TGLint); stdcall;
PFNGLUNIFORM1IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM1IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM1UIEXTPROC = procedure(location: TGLInt; v0: Cardinal); stdcall;
PFNGLUNIFORM1UIPROC = procedure(location: TGLInt; v0: Cardinal); stdcall;
PFNGLUNIFORM1UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM1UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM2DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLUNIFORM2DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM2FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
PFNGLUNIFORM2FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
PFNGLUNIFORM2FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM2FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM2IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint); stdcall;
PFNGLUNIFORM2IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint); stdcall;
PFNGLUNIFORM2IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM2IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM2UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal); stdcall;
PFNGLUNIFORM2UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal); stdcall;
PFNGLUNIFORM2UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM2UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM3DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLUNIFORM3DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM3FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
PFNGLUNIFORM3FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
PFNGLUNIFORM3FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM3FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM3IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
PFNGLUNIFORM3IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
PFNGLUNIFORM3IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM3IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM3UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal); stdcall;
PFNGLUNIFORM3UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal); stdcall;
PFNGLUNIFORM3UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM3UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM4DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLUNIFORM4DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM4FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
PFNGLUNIFORM4FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
PFNGLUNIFORM4FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM4FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM4IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
PFNGLUNIFORM4IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
PFNGLUNIFORM4IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM4IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM4UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal); stdcall;
PFNGLUNIFORM4UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal); stdcall;
PFNGLUNIFORM4UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM4UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORMBLOCKBINDINGPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; uniformBlockBinding: Cardinal); stdcall;
PFNGLUNIFORMBUFFEREXTPROC = procedure(_program: Cardinal; location: TGLint; buffer: Cardinal); stdcall;
PFNGLUNIFORMMATRIX2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX2FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX2X3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX2X3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX2X4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX2X4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX3FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3X2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX3X2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3X4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX3X4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX4FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4X2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX4X2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4X3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX4X3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMSUBROUTINESUIVPROC = procedure(shadertype: Cardinal; count: TGLsizei; const indices: PGLuint); stdcall;
PFNGLUNIFORMUI64NVPROC = procedure(location: TGLint; value: TGLuint64EXT); stdcall;
PFNGLUNIFORMUI64VNVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLuint64EXT); stdcall;
PFNGLUNLOCKARRAYSEXTPROC = procedure; stdcall;
PFNGLUNMAPBUFFERARBPROC = function(target: Cardinal): TGLboolean; stdcall;
PFNGLUNMAPBUFFERPROC = function(target: Cardinal): TGLboolean; stdcall;
PFNGLUNMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal): TGLboolean; stdcall;
PFNGLUNURBSCALLBACKDATAEXTPROC = procedure(nurb: PGLUnurbs; userData: Pointer); stdcall;
PFNGLUSEPROGRAMOBJECTARBPROC = procedure(programObj: TGLhandleARB); stdcall;
PFNGLUSEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLUSEPROGRAMSTAGESPROC = procedure(pipeline: Cardinal; stages: TGLbitfield; _program: Cardinal); stdcall;
PFNGLVALIDATEPROGRAMARBPROC = procedure(programObj: TGLhandleARB); stdcall;
PFNGLVALIDATEPROGRAMPIPELINEPROC = procedure(pipeline: Cardinal); stdcall;
PFNGLVALIDATEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLVertexArrayBindVertexBuffer = procedure(vaobj : Cardinal; bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); stdcall;
PFNGLVERTEXARRAYRANGENVPROC = procedure(Size: TGLsizei; p: pointer); stdcall;
PFNGLVertexArrayVertexAttribBinding = procedure(vaobj : Cardinal; attribindex : Cardinal; bindingindex : Cardinal); stdcall;
PFNGLVertexArrayVertexAttribFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); stdcall;
PFNGLVertexArrayVertexAttribIFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVertexArrayVertexAttribLFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC = procedure (vaobj: Cardinal; buffer: Cardinal; index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; offset: TGLintptr); stdcall;
PFNGLVertexArrayVertexBindingDivisor = procedure(vaobj : Cardinal; bindingindex : Cardinal; divisor : Cardinal); stdcall;
PFNGLVERTEXATTRIB1DARBPROC = procedure(index: Cardinal; x: TGLdouble); stdcall;
PFNGLVERTEXATTRIB1DNVPROC = procedure (index: Cardinal; x: TGLdouble); stdcall;
PFNGLVERTEXATTRIB1DPROC = procedure(index:Cardinal; x: TGLdouble); stdcall;
PFNGLVERTEXATTRIB1DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB1DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB1DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB1FARBPROC = procedure(index: Cardinal; x: TGLfloat); stdcall;
PFNGLVERTEXATTRIB1FNVPROC = procedure (index: Cardinal; x: TGLfloat); stdcall;
PFNGLVERTEXATTRIB1FPROC = procedure(index:Cardinal; x: TGLfloat); stdcall;
PFNGLVERTEXATTRIB1FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB1FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB1FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB1SARBPROC = procedure(index: Cardinal; x: TGLshort); stdcall;
PFNGLVERTEXATTRIB1SNVPROC = procedure (index: Cardinal; x: TGLshort); stdcall;
PFNGLVERTEXATTRIB1SPROC = procedure(index:Cardinal; x: TGLshort); stdcall;
PFNGLVERTEXATTRIB1SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB1SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB1SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB2DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLVERTEXATTRIB2DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLVERTEXATTRIB2DPROC = procedure(index:Cardinal; x,y: TGLdouble); stdcall;
PFNGLVERTEXATTRIB2DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB2DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB2DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB2FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat); stdcall;
PFNGLVERTEXATTRIB2FNVPROC = procedure (index: Cardinal; x: TGLfloat; y: TGLfloat); stdcall;
PFNGLVERTEXATTRIB2FPROC = procedure(index:Cardinal; x,y: TGLfloat); stdcall;
PFNGLVERTEXATTRIB2FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB2FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB2FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB2SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort); stdcall;
PFNGLVERTEXATTRIB2SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort); stdcall;
PFNGLVERTEXATTRIB2SPROC = procedure(index:Cardinal; x,y: TGLshort); stdcall;
PFNGLVERTEXATTRIB2SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB2SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB2SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB3DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLVERTEXATTRIB3DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLVERTEXATTRIB3DPROC = procedure(index:Cardinal; x,y,z: TGLdouble); stdcall;
PFNGLVERTEXATTRIB3DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB3DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB3DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB3FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLVERTEXATTRIB3FNVPROC = procedure (index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLVERTEXATTRIB3FPROC = procedure(index:Cardinal; x,y,z: TGLfloat); stdcall;
PFNGLVERTEXATTRIB3FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB3FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB3FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB3SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort); stdcall;
PFNGLVERTEXATTRIB3SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort); stdcall;
PFNGLVERTEXATTRIB3SPROC = procedure(index:Cardinal; x,y,z: TGLshort); stdcall;
PFNGLVERTEXATTRIB3SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB3SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB3SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4BVARBPROC = procedure(index: Cardinal; const v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4BVPROC = procedure(index:Cardinal; v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLVERTEXATTRIB4DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLVERTEXATTRIB4DPROC = procedure(index:Cardinal; x,y,z,w: TGLdouble); stdcall;
PFNGLVERTEXATTRIB4DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB4DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB4DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB4FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLVERTEXATTRIB4FNVPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLVERTEXATTRIB4FPROC = procedure(index:Cardinal; x,y,z,w: TGLfloat); stdcall;
PFNGLVERTEXATTRIB4FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB4FVNVPROC = procedure(index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB4FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB4IVARBPROC = procedure(index: Cardinal; const v: PGLint); stdcall;
PFNGLVERTEXATTRIB4IVPROC = procedure(index:Cardinal; v: PGLint); stdcall;
PFNGLVERTEXATTRIB4NBVARBPROC = procedure(index: Cardinal; const v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4NBVPROC = procedure(index:Cardinal; v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4NIVARBPROC = procedure(index: Cardinal; const v: PGLint); stdcall;
PFNGLVERTEXATTRIB4NIVPROC = procedure(index:Cardinal; v: PGLint); stdcall;
PFNGLVERTEXATTRIB4NSVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4NSVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4NUBARBPROC = procedure(index: Cardinal; x: TGLubyte; y: TGLubyte; z: TGLubyte; w: TGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUBPROC = procedure(index:Cardinal; x,y,z,w: TGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUBVARBPROC = procedure(index: Cardinal; const v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUBVPROC = procedure(index:Cardinal; v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUIVARBPROC = procedure(index: Cardinal; const v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4NUIVPROC = procedure(index:Cardinal; v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4NUSVARBPROC = procedure(index: Cardinal; const v: PGLushort); stdcall;
PFNGLVERTEXATTRIB4NUSVPROC = procedure(index:Cardinal; v: PGLushort); stdcall;
PFNGLVERTEXATTRIB4SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort; w: TGLshort); stdcall;
PFNGLVERTEXATTRIB4SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); stdcall;
PFNGLVERTEXATTRIB4SPROC = procedure(index:Cardinal; x,y,z,w: TGLshort); stdcall;
PFNGLVERTEXATTRIB4SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4UBVARBPROC = procedure(index: Cardinal; const v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4UBVNVPROC = procedure (index: Cardinal; v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4UBVPROC = procedure(index:Cardinal; v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4UIVARBPROC = procedure(index: Cardinal; const v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4UIVPROC = procedure(index:Cardinal; v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4USVARBPROC = procedure(index: Cardinal; const v: PGLushort); stdcall;
PFNGLVERTEXATTRIB4USVPROC = procedure(index:Cardinal; v: PGLushort); stdcall;
PFNGLVertexAttribBinding = procedure(attribindex : Cardinal; bindingindex : Cardinal); stdcall;
PFNGLVERTEXATTRIBDIVISORARBPROC = procedure(index: Cardinal; divisor: Cardinal); stdcall;
PFNGLVERTEXATTRIBDIVISORPROC = procedure(index: Cardinal; divisor: Cardinal); stdcall;
PFNGLVertexAttribFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXATTRIBFORMATNVPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei); stdcall;
PFNGLVERTEXATTRIBI1IEXTPROC = procedure(index: Cardinal; x: TGLint); stdcall;
PFNGLVERTEXATTRIBI1IPROC = procedure(index: Cardinal; x: TGLint); stdcall;
PFNGLVERTEXATTRIBI1IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI1IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI1UIEXTPROC = procedure(index: Cardinal; x: Cardinal); stdcall;
PFNGLVERTEXATTRIBI1UIPROC = procedure(index: Cardinal; x: Cardinal); stdcall;
PFNGLVERTEXATTRIBI1UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI1UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI2IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint); stdcall;
PFNGLVERTEXATTRIBI2IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint); stdcall;
PFNGLVERTEXATTRIBI2IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI2IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI2UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal); stdcall;
PFNGLVERTEXATTRIBI2UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal); stdcall;
PFNGLVERTEXATTRIBI2UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI2UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI3IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint); stdcall;
PFNGLVERTEXATTRIBI3IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint); stdcall;
PFNGLVERTEXATTRIBI3IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI3IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI3UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal); stdcall;
PFNGLVERTEXATTRIBI3UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal); stdcall;
PFNGLVERTEXATTRIBI3UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI3UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI4BVEXTPROC = procedure(index: Cardinal; v:PGLbyte); stdcall;
PFNGLVERTEXATTRIBI4BVPROC = procedure(index: Cardinal; v:PGLbyte); stdcall;
PFNGLVERTEXATTRIBI4IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
PFNGLVERTEXATTRIBI4IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
PFNGLVERTEXATTRIBI4IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI4IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI4SVEXTPROC = procedure(index: Cardinal; v:PGLshort); stdcall;
PFNGLVERTEXATTRIBI4SVPROC = procedure(index: Cardinal; v:PGLshort); stdcall;
PFNGLVERTEXATTRIBI4UBVEXTPROC = procedure(index: Cardinal; v: PGLUbyte); stdcall;
PFNGLVERTEXATTRIBI4UBVPROC = procedure(index: Cardinal; v: PGLUbyte); stdcall;
PFNGLVERTEXATTRIBI4UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
PFNGLVERTEXATTRIBI4UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
PFNGLVERTEXATTRIBI4UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI4UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI4USVEXTPROC = procedure(index: Cardinal; v: PGLushort); stdcall;
PFNGLVERTEXATTRIBI4USVPROC = procedure(index: Cardinal; v: PGLushort); stdcall;
PFNGLVertexAttribIFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXATTRIBIFORMATNVPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLVERTEXATTRIBIPOINTEREXTPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer: pointer); stdcall;
PFNGLVERTEXATTRIBIPOINTERPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer: pointer); stdcall;
PFNGLVERTEXATTRIBL1DPROC = procedure(index: Cardinal; x: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL1DVPROC = procedure(index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBL2DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL2DVPROC = procedure(index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBL3DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL3DVPROC = procedure(index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBL4DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL4DVPROC = procedure(index: Cardinal; v :PGLdouble); stdcall;
PFNGLVertexAttribLFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXATTRIBLPOINTERPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; ptr: Pointer); stdcall;
PFNGLVERTEXATTRIBP1UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP1UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBP2UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP2UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBP3UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP3UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBP4UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP4UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBPOINTERARBPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei; const _pointer: pointer); stdcall;
PFNGLVERTEXATTRIBPOINTERNVPROC = procedure (index: Cardinal; fsize: TGLint; vertextype: Cardinal; stride: TGLSizei; pointer: Pointer); stdcall;
PFNGLVERTEXATTRIBPOINTERPROC = procedure(index:Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride:TGLsizei; _pointer:pointer); stdcall;
PFNGLVERTEXATTRIBS1DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS1FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS1SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS2DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS2FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS2SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS3DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS3FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS3SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS4DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS4FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS4SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS4UBVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLubyte); stdcall;
PFNGLVertexBindingDivisor = procedure(bindingindex : Cardinal; divisor : Cardinal); stdcall;
PFNGLVERTEXBLENDARBPROC = procedure(count: TGLint); stdcall;
PFNGLVERTEXFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLVERTEXP2UIPROC = procedure(_type: Cardinal; value: Cardinal); stdcall;
PFNGLVERTEXP2UIVPROC = procedure(_type: Cardinal; const value: PGLuint ); stdcall;
PFNGLVERTEXP3UIPROC = procedure(_type: Cardinal; value: Cardinal); stdcall;
PFNGLVERTEXP3UIVPROC = procedure(_type: Cardinal; const value: PGLuint); stdcall;
PFNGLVERTEXP4UIPROC = procedure(_type: Cardinal; value: Cardinal); stdcall;
PFNGLVERTEXP4UIVPROC = procedure(_type: Cardinal; const value: PGLuint); stdcall;
PFNGLVIEWPORTARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; v: PGLfloat); stdcall;
PFNGLVIEWPORTINDEXEDFPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; w: TGLfloat; h: TGLfloat); stdcall;
PFNGLVIEWPORTINDEXEDFVPROC = procedure(index: Cardinal; v: PGLfloat); stdcall;
PFNGLWAITSYNCPROC = procedure(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64); stdcall;
PFNGLWEIGHTBVARBPROC = procedure(size: TGLint; weights: PGLbyte); stdcall;
PFNGLWEIGHTDVARBPROC = procedure(size: TGLint; weights: PGLdouble); stdcall;
PFNGLWEIGHTFVARBPROC = procedure(size: TGLint; weights: PGLfloat); stdcall;
PFNGLWEIGHTIVARBPROC = procedure(size: TGLint; weights: PGLint); stdcall;
PFNGLWEIGHTPATHSNVPROC = procedure (resultPath: Cardinal; numPaths: TGLsizei; paths: PGLuint; weights: PGLfloat); stdcall;
PFNGLWEIGHTPOINTERARBPROC = procedure(size: TGLint; _type: Cardinal; stride:TGLsizei; _pointer:pointer); stdcall;
PFNGLWEIGHTSVARBPROC = procedure(size: TGLint; weights: PGLshort); stdcall;
PFNGLWEIGHTUBVARBPROC = procedure(size: TGLint; weights: PGLubyte); stdcall;
PFNGLWEIGHTUIVARBPROC = procedure(size: TGLint; weights: PGLuint); stdcall;
PFNGLWEIGHTUSVARBPROC = procedure(size: TGLint; weights: PGLushort); stdcall;
PFNGLWINDOWPOS2DARBPROC = procedure(x,y : TGLdouble); stdcall;
PFNGLWINDOWPOS2DPROC = procedure(x,y : TGLdouble); stdcall;
PFNGLWINDOWPOS2DVARBPROC = procedure(v : PGLdouble); stdcall;
PFNGLWINDOWPOS2DVPROC = procedure(v : PGLdouble); stdcall;
PFNGLWINDOWPOS2FARBPROC = procedure(x,y : TGLfloat); stdcall;
PFNGLWINDOWPOS2FPROC = procedure(x,y : TGLfloat); stdcall;
PFNGLWINDOWPOS2FVARBPROC = procedure(v : PGLfloat); stdcall;
PFNGLWINDOWPOS2FVPROC = procedure(v : PGLfloat); stdcall;
PFNGLWINDOWPOS2IARBPROC = procedure(x,y : TGLint); stdcall;
PFNGLWINDOWPOS2IPROC = procedure(x,y : TGLint); stdcall;
PFNGLWINDOWPOS2IVARBPROC = procedure(v : PGLint); stdcall;
PFNGLWINDOWPOS2IVPROC = procedure(v : PGLint); stdcall;
PFNGLWINDOWPOS2SARBPROC = procedure(x,y : TGLshort); stdcall;
PFNGLWINDOWPOS2SPROC = procedure(x,y : TGLshort); stdcall;
PFNGLWINDOWPOS2SVARBPROC = procedure(v : PGLshort); stdcall;
PFNGLWINDOWPOS2SVPROC = procedure(v : PGLshort); stdcall;
PFNGLWINDOWPOS3DARBPROC = procedure(x,y,z : TGLdouble); stdcall;
PFNGLWINDOWPOS3DPROC = procedure(x,y,z : TGLdouble); stdcall;
PFNGLWINDOWPOS3DVARBPROC = procedure(v : PGLdouble); stdcall;
PFNGLWINDOWPOS3DVPROC = procedure(v : PGLdouble); stdcall;
PFNGLWINDOWPOS3FARBPROC = procedure(x,y,z : TGLfloat); stdcall;
PFNGLWINDOWPOS3FPROC = procedure(x,y,z : TGLfloat); stdcall;
PFNGLWINDOWPOS3FVARBPROC = procedure(v : PGLfloat); stdcall;
PFNGLWINDOWPOS3FVPROC = procedure(v : PGLfloat); stdcall;
PFNGLWINDOWPOS3IARBPROC = procedure(x,y,z : TGLint); stdcall;
PFNGLWINDOWPOS3IPROC = procedure(x,y,z : TGLint); stdcall;
PFNGLWINDOWPOS3IVARBPROC = procedure(v : PGLint); stdcall;
PFNGLWINDOWPOS3IVPROC = procedure(v : PGLint); stdcall;
PFNGLWINDOWPOS3SARBPROC = procedure(x,y,z : TGLshort); stdcall;
PFNGLWINDOWPOS3SPROC = procedure(x,y,z : TGLshort); stdcall;
PFNGLWINDOWPOS3SVARBPROC = procedure(v : PGLshort); stdcall;
PFNGLWINDOWPOS3SVPROC = procedure(v : PGLshort); stdcall;
PFNWGLALLOCATEMEMORYNVPROC = function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; stdcall;
PFNWGLBINDTEXIMAGEARBPROC = function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
PFNWGLCHOOSEPIXELFORMATARBPROC = function(DC: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLFloat; nMaxFormats: Cardinal; piFormats: PGLint; nNumFormats: PCardinal) : BOOL; stdcall;
PFNWGLCREATEAFFINITYDCNVPROC = function(hGpuList: PHGPUNV): HDC; stdcall;
PFNWGLCREATEBUFFERREGIONARBPROC = function(DC: HDC; iLayerPlane: Integer; uType: Cardinal) : Integer; stdcall;
PFNWGLCREATECONTEXTATTRIBSARBPROC = function(DC: HDC; hShareContext: HGLRC; attribList: PGLint):HGLRC; stdcall;
PFNWGLCREATEPBUFFERARBPROC = function(DC: HDC; iPixelFormat: TGLint; iWidth, iHeight : TGLint; const piAttribList: PGLint) : HPBUFFERARB; stdcall;
PFNWGLDELETEBUFFERREGIONARBPROC = procedure(hRegion: Integer); stdcall;
PFNWGLDELETEDCNVPROC = function(hdc: HDC): Boolean; stdcall;
PFNWGLDESTROYPBUFFERARBPROC = function(hPbuffer: HPBUFFERARB): BOOL; stdcall;
PFNWGLDXCLOSEDEVICEPROC = function(hDevice: THandle): BOOL; stdcall;
PFNWGLDXLOCKOBJECTSPROC = function(hDevice: THandle; count: TGLint; hObjects: PHandle): BOOL; stdcall;
PFNWGLDXOBJECTACCESSPROC = function(hObject: THandle; access: Cardinal): BOOL; stdcall;
PFNWGLDXOPENDEVICEPROC = function(dxDevice: Pointer): THandle; stdcall;
PFNWGLDXREGISTEROBJECTPROC = function(hDevice: THandle; dxObject: Pointer; name: Cardinal; atype: Cardinal; access: Cardinal): THandle; stdcall;
PFNWGLDXSETRESOURCESHAREHANDLEPROC = function (dxObject: Pointer; shareHandle: THandle): BOOL; stdcall;
PFNWGLDXUNLOCKOBJECTSNVPROC = function (hDevice: THandle; count: TGLint; hObjects: PHandle): BOOL; stdcall;
PFNWGLDXUNREGISTEROBJECTPROC = function(hDevice: THandle; hObject: THandle): BOOL; stdcall;
PFNWGLENUMGPUDEVICESNVPROC = function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPUDevice): Boolean; stdcall;
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC = function(hAffinityDC: HDC; iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean; stdcall;
PFNWGLENUMGPUSNVPROC = function(iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean; stdcall;
PFNWGLFREEMEMORYNVPROC = procedure(ptr: Pointer); stdcall;
PFNWGLGETCURRENTREADDCARBPROC = function(): HDC; stdcall;
PFNWGLGETEXTENSIONSSTRINGARBPROC = function(DC: HDC): PAnsiChar; stdcall;
PFNWGLGETPBUFFERDCARBPROC = function(hPbuffer: HPBUFFERARB) : HDC; stdcall;
PFNWGLGETPIXELFORMATATTRIBFVARBPROC = function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal; const piAttributes: PGLint; piValues: PGLFloat) : BOOL; stdcall;
PFNWGLGETPIXELFORMATATTRIBIVARBPROC = function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal; const piAttributes: PGLint; piValues : PGLint) : BOOL; stdcall;
PFNWGLGETSWAPINTERVALEXTPROC = function : Integer; stdcall;
PFNWGLMAKECONTEXTCURRENTARBPROC = function(hDrawDC: HDC; hReadDC: HDC; _hglrc: HGLRC): BOOL; stdcall;
PFNWGLQUERYPBUFFERARBPROC = function(hPbuffer: HPBUFFERARB; iAttribute : Integer; piValue: PGLint) : BOOL; stdcall;
PFNWGLRELEASEPBUFFERDCARBPROC = function(hPbuffer: HPBUFFERARB; DC: HDC) : Integer; stdcall;
PFNWGLRELEASETEXIMAGEARBPROC = function(hpBuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
PFNWGLRESTOREBUFFERREGIONARBPROC = function(hRegion: Integer; x, y, width, height: Integer; xSrc, ySrc: Integer): BOOL; stdcall;
PFNWGLSAVEBUFFERREGIONARBPROC = function(hRegion: Integer; x, y, width, height: Integer): BOOL; stdcall;
PFNWGLSETPBUFFERATTRIBARBPROC = function(hpBuffer: HPBUFFERARB; const piAttribList: PGLint): BOOL; stdcall;
PFNWGLSWAPINTERVALEXTPROC = function(interval : Integer) : BOOL; stdcall;
PGLfloat = System.PSingle;
PGLUNurbs = ˆTGLUNurbs;
PGLUNurbsObj = PGLUNurbs;
PGLUQuadric = ˆTGLUQuadric;
PGLUQuadricObj = PGLUQuadric;
PGLUTesselator= ˆTGLUTesselator;
PGLUTesselatorObj = PGLUTesselator;
PGLUTriangulatorObj = PGLUTesselator;
PGLvdpauSurfaceNV = ˆTGLvdpauSurfaceNV;
PGNGLGETBUFFERPARAMETERUI64VNV = procedure(value: Cardinal; index: Cardinal; result: PGLuint64EXT); stdcall;
PGPUDEVICE = ˆTGPUDEVICE;
PHGPUNV = ˆHGPUNV;
PHVIDEOINPUTDEVICENV = ˆHVIDEOINPUTDEVICENV;
TDebugProc = procedure( source: Cardinal; type_: Cardinal; id: Cardinal; severity: Cardinal; length: TGLsizei; const message: PAnsiChar; userParam: Pointer); stdcall;
TDebugProcAMD = procedure( id: Cardinal; category: Cardinal; severity: Cardinal; length: TGLsizei; message: PAnsiChar; userParam: Pointer); stdcall;
TGLDEBUGPROCARB = TDebugProc;
TGLUNurbsErrorProc = procedure(ErrorCode: Cardinal); stdcall;
TGLUNurbsObj = TGLUNurbs;
TGLUQuadricErrorProc = procedure(errorCode: Cardinal); stdcall;
TGLUQuadricObj = TGLUQuadric;
TGLUTessBeginDataProc = procedure(AType: Cardinal; UserData: Pointer); stdcall;
TGLUTessBeginProc = procedure(AType: Cardinal); stdcall;
TGLUTessCombineDataProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer; UserData: Pointer); stdcall;
TGLUTessCombineProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer); stdcall;
TGLUTessEdgeFlagDataProc = procedure(Flag: TGLboolean; UserData: Pointer); stdcall;
TGLUTessEdgeFlagProc = procedure(Flag: TGLboolean); stdcall;
TGLUTesselatorObj = TGLUTesselator;
TGLUTessEndDataProc = procedure(UserData: Pointer); stdcall;
TGLUTessEndProc = procedure; stdcall;
TGLUTessErrorDataProc = procedure(ErrNo: Cardinal; UserData: Pointer); stdcall;
TGLUTessErrorProc = procedure(ErrNo: Cardinal); stdcall;
TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); stdcall;
TGLUTessVertexProc = procedure(VertexData: Pointer); stdcall;
TGLUTriangulatorObj = TGLUTesselator;
TGLvdpauSurfaceNV = TGLintptr;

Constants

WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;
WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
WGL_SAMPLE_BUFFERS_ARB = $2041;
WGL_SAMPLES_ARB = $2042;
WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
WGL_DRAW_TO_WINDOW_ARB = $2001;
WGL_DRAW_TO_BITMAP_ARB = $2002;
WGL_ACCELERATION_ARB = $2003;
WGL_NEED_PALETTE_ARB = $2004;
WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
WGL_SWAP_METHOD_ARB = $2007;
WGL_NUMBER_OVERLAYS_ARB = $2008;
WGL_NUMBER_UNDERLAYS_ARB = $2009;
WGL_TRANSPARENT_ARB = $200A;
WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
WGL_SHARE_DEPTH_ARB = $200C;
WGL_SHARE_STENCIL_ARB = $200D;
WGL_SHARE_ACCUM_ARB = $200E;
WGL_SUPPORT_GDI_ARB = $200F;
WGL_SUPPORT_OPENGL_ARB = $2010;
WGL_DOUBLE_BUFFER_ARB = $2011;
WGL_STEREO_ARB = $2012;
WGL_PIXEL_TYPE_ARB = $2013;
WGL_COLOR_BITS_ARB = $2014;
WGL_RED_BITS_ARB = $2015;
WGL_RED_SHIFT_ARB = $2016;
WGL_GREEN_BITS_ARB = $2017;
WGL_GREEN_SHIFT_ARB = $2018;
WGL_BLUE_BITS_ARB = $2019;
WGL_BLUE_SHIFT_ARB = $201A;
WGL_ALPHA_BITS_ARB = $201B;
WGL_ALPHA_SHIFT_ARB = $201C;
WGL_ACCUM_BITS_ARB = $201D;
WGL_ACCUM_RED_BITS_ARB = $201E;
WGL_ACCUM_GREEN_BITS_ARB = $201F;
WGL_ACCUM_BLUE_BITS_ARB = $2020;
WGL_ACCUM_ALPHA_BITS_ARB = $2021;
WGL_DEPTH_BITS_ARB = $2022;
WGL_STENCIL_BITS_ARB = $2023;
WGL_AUX_BUFFERS_ARB = $2024;
WGL_NO_ACCELERATION_ARB = $2025;
WGL_GENERIC_ACCELERATION_ARB = $2026;
WGL_FULL_ACCELERATION_ARB = $2027;
WGL_SWAP_EXCHANGE_ARB = $2028;
WGL_SWAP_COPY_ARB = $2029;
WGL_SWAP_UNDEFINED_ARB = $202A;
WGL_TYPE_RGBA_ARB = $202B;
WGL_TYPE_COLORINDEX_ARB = $202C;
WGL_DRAW_TO_PBUFFER_ARB = $202D;
WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
WGL_PBUFFER_LARGEST_ARB = $2033;
WGL_PBUFFER_WIDTH_ARB = $2034;
WGL_PBUFFER_HEIGHT_ARB = $2035;
WGL_PBUFFER_LOST_ARB = $2036;
WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
WGL_TEXTURE_FORMAT_ARB = $2072;
WGL_TEXTURE_TARGET_ARB = $2073;
WGL_MIPMAP_TEXTURE_ARB = $2074;
WGL_TEXTURE_RGB_ARB = $2075;
WGL_TEXTURE_RGBA_ARB = $2076;
WGL_NO_TEXTURE_ARB = $2077;
WGL_TEXTURE_CUBE_MAP_ARB = $2078;
WGL_TEXTURE_1D_ARB = $2079;
WGL_TEXTURE_2D_ARB = $207A;
WGL_MIPMAP_LEVEL_ARB = $207B;
WGL_CUBE_MAP_FACE_ARB = $207C;
WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
WGL_FRONT_LEFT_ARB = $2083;
WGL_FRONT_RIGHT_ARB = $2084;
WGL_BACK_LEFT_ARB = $2085;
WGL_BACK_RIGHT_ARB = $2086;
WGL_AUX0_ARB = $2087;
WGL_AUX1_ARB = $2088;
WGL_AUX2_ARB = $2089;
WGL_AUX3_ARB = $208A;
WGL_AUX4_ARB = $208B;
WGL_AUX5_ARB = $208C;
WGL_AUX6_ARB = $208D;
WGL_AUX7_ARB = $208E;
WGL_AUX8_ARB = $208F;
WGL_AUX9_ARB = $2090;
WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;
WGL_COLOR_SAMPLES_NV = $20B9;
WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;
WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
WGL_CONTEXT_FLAGS_ARB = $2094;
WGL_CONTEXT_DEBUG_BIT_ARB = $0001;
WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $0002;
ERROR_INVALID_VERSION_ARB = $2095;
WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $0004;
WGL_CONTEXT_PROFILE_MASK_ARB = $9126;
WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
ERROR_INVALID_PROFILE_ARB = $2096;
WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
WGL_FLOAT_COMPONENTS_NV = $20B0;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
WGL_TEXTURE_FLOAT_R_NV = $20B5;
WGL_TEXTURE_FLOAT_RG_NV = $20B6;
WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = $8837;
WGL_ACCESS_READ_ONLY_NV = $0000;
WGL_ACCESS_READ_WRITE_NV = $0001;
WGL_ACCESS_WRITE_DISCARD_NV = $0002;
GLU_TESS_BEGIN = 100100;
GLU_TESS_VERTEX = 100101;
GLU_TESS_END = 100102;
GLU_TESS_ERROR = 100103;
GLU_TESS_EDGE_FLAG = 100104;
GLU_TESS_COMBINE = 100105;
GLU_TESS_BEGIN_DATA = 100106;
GLU_TESS_VERTEX_DATA = 100107;
GLU_TESS_END_DATA = 100108;
GLU_TESS_ERROR_DATA = 100109;
GLU_TESS_EDGE_FLAG_DATA = 100110;
GLU_TESS_COMBINE_DATA = 100111;
GLU_TESS_ERROR1 = 100151;
GLU_TESS_ERROR2 = 100152;
GLU_TESS_ERROR3 = 100153;
GLU_TESS_ERROR4 = 100154;
GLU_TESS_ERROR5 = 100155;
GLU_TESS_ERROR6 = 100156;
GLU_TESS_ERROR7 = 100157;
GLU_TESS_ERROR8 = 100158;
GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
GLU_AUTO_LOAD_MATRIX = 100200;
GLU_CULLING = 100201;
GLU_SAMPLING_TOLERANCE = 100203;
GLU_DISPLAY_MODE = 100204;
GLU_PARAMETRIC_TOLERANCE = 100202;
GLU_SAMPLING_METHOD = 100205;
GLU_U_STEP = 100206;
GLU_V_STEP = 100207;
GLU_PATH_LENGTH = 100215;
GLU_PARAMETRIC_ERROR = 100216;
GLU_DOMAIN_DISTANCE = 100217;
GLU_MAP1_TRIM_2 = 100210;
GLU_MAP1_TRIM_3 = 100211;
GLU_OUTLINE_POLYGON = 100240;
GLU_OUTLINE_PATCH = 100241;
GLU_NURBS_ERROR1 = 100251;
GLU_NURBS_ERROR2 = 100252;
GLU_NURBS_ERROR3 = 100253;
GLU_NURBS_ERROR4 = 100254;
GLU_NURBS_ERROR5 = 100255;
GLU_NURBS_ERROR6 = 100256;
GLU_NURBS_ERROR7 = 100257;
GLU_NURBS_ERROR8 = 100258;
GLU_NURBS_ERROR9 = 100259;
GLU_NURBS_ERROR10 = 100260;
GLU_NURBS_ERROR11 = 100261;
GLU_NURBS_ERROR12 = 100262;
GLU_NURBS_ERROR13 = 100263;
GLU_NURBS_ERROR14 = 100264;
GLU_NURBS_ERROR15 = 100265;
GLU_NURBS_ERROR16 = 100266;
GLU_NURBS_ERROR17 = 100267;
GLU_NURBS_ERROR18 = 100268;
GLU_NURBS_ERROR19 = 100269;
GLU_NURBS_ERROR20 = 100270;
GLU_NURBS_ERROR21 = 100271;
GLU_NURBS_ERROR22 = 100272;
GLU_NURBS_ERROR23 = 100273;
GLU_NURBS_ERROR24 = 100274;
GLU_NURBS_ERROR25 = 100275;
GLU_NURBS_ERROR26 = 100276;
GLU_NURBS_ERROR27 = 100277;
GLU_NURBS_ERROR28 = 100278;
GLU_NURBS_ERROR29 = 100279;
GLU_NURBS_ERROR30 = 100280;
GLU_NURBS_ERROR31 = 100281;
GLU_NURBS_ERROR32 = 100282;
GLU_NURBS_ERROR33 = 100283;
GLU_NURBS_ERROR34 = 100284;
GLU_NURBS_ERROR35 = 100285;
GLU_NURBS_ERROR36 = 100286;
GLU_NURBS_ERROR37 = 100287;
GLU_CW = 100120;
GLU_CCW = 100121;
GLU_INTERIOR = 100122;
GLU_EXTERIOR = 100123;
GLU_UNKNOWN = 100124;
GLU_BEGIN = GLU_TESS_BEGIN;
GLU_VERTEX = GLU_TESS_VERTEX;
GLU_END = GLU_TESS_END;
GLU_ERROR = GLU_TESS_ERROR;
GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;

Description

Types

HGPUNV = THandle;
HVIDEOINPUTDEVICENV = THandle;
PFNGLACTIVESHADERPROGRAMPROC = procedure(pipeline: Cardinal; _program: Cardinal); stdcall;
PFNGLACTIVESTENCILFACEEXTPROC = procedure(face: Cardinal); stdcall;

GL_EXT_stencil_two_side (EXT #268)

PFNGLACTIVETEXTUREARBPROC = procedure(target: Cardinal); stdcall;

GL_ARB_multitexture (ARB #1)

PFNGLACTIVETEXTUREPROC = procedure(texture: Cardinal); stdcall;

deprecated; core 1.3 promoted to core v1.3 from GL_ARB_multitexture (#1)

PFNGLACTIVEVARYINGNVPROC = procedure(_program: Cardinal; name: PAnsiChar); stdcall;
PFNGLADDSWAPHINTRECTWINPROC = procedure(x, y: TGLint; width, height: TGLsizei); stdcall;

GL_WIN_swap_hint (extension # not found)

PFNGLAREPROGRAMSRESIDENTNVPROC = procedure(n: TGLSizei; programs: PGLuint; residences: PGLboolean); stdcall;

GL_NV_vertex_program (EXT #233)

PFNGLARETEXTURESRESIDENTEXTPROC = function(n: TGLsizei; textures: PGLuint; residences: PGLBoolean): TGLboolean; stdcall;
PFNGLARRAYELEMENTARRAYEXTPROC = procedure(mode: Cardinal; count: TGLsizei; pi: Pointer); stdcall;

EXT/Vendor extensions Unknown Vendor/EXT functions

PFNGLATTACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; obj: TGLhandleARB); stdcall;
PFNGLATTACHSHADERPROC = procedure(_program: Cardinal; shader: Cardinal); stdcall;

promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)

PFNGLBEGINCONDITIONALRENDERNVPROC = procedure(id: Cardinal; mode: Cardinal); stdcall;

GL_NV_conditional_render (EXT #346)

PFNGLBEGINCONDITIONALRENDERPROC = procedure(id: Cardinal; mode: Cardinal); stdcall;

promoted to core v3.0 from GL_NV_conditional_render

PFNGLBEGINOCCLUSIONQUERYNVPROC = procedure(id: Cardinal); stdcall;
PFNGLBEGINQUERYARBPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBEGINQUERYINDEXEDPROC = procedure(target: Cardinal; index: Cardinal; id: Cardinal); stdcall;
PFNGLBEGINQUERYPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBEGINSCENEEXTPROC = procedure; stdcall;

GL_EXT_scene_marker (EXT #120)

PFNGLBEGINTRANSFORMFEEDBACKEXTPROC = procedure(primitiveMode: Cardinal); stdcall;
PFNGLBEGINTRANSFORMFEEDBACKNVPROC = procedure(primitiveMode: Cardinal); stdcall;
PFNGLBEGINTRANSFORMFEEDBACKPROC = procedure(primitiveMode: Cardinal); stdcall;
PFNGLBINDATTRIBLOCATIONARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; const name: PAnsiChar); stdcall;

GL_ARB_vertex_shader (ARB #31)

PFNGLBINDATTRIBLOCATIONPROC = procedure(_program: Cardinal; index: Cardinal; const name: PAnsiChar); stdcall;
PFNGLBINDBUFFERARBPROC = procedure(target: Cardinal; buffer: Cardinal); stdcall;

GL_ARB_vertex_buffer_object (ARB #28)

PFNGLBINDBUFFERBASEEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFERBASENVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFERBASEPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal); stdcall;
PFNGLBINDBUFFEROFFSETEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset:TGLintptr); stdcall;
PFNGLBINDBUFFEROFFSETNVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset: TGLintptr); stdcall;
PFNGLBINDBUFFERPROC = procedure(target: Cardinal; buffer: Cardinal); stdcall;

promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)

PFNGLBINDBUFFERRANGEEXTPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset:TGLintptr; size: TGLsizeiptr); stdcall;

GL_EXT_transform_feedback (EXT #352)

PFNGLBINDBUFFERRANGENVPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr); stdcall;

GL_NV_transform_feedback (EXT #341)

PFNGLBINDBUFFERRANGEPROC = procedure(target: Cardinal; index: Cardinal; buffer: Cardinal; offset:TGLintptr; size: TGLsizeiptr); stdcall;

promoted to core v3.0 from GL_EXT_transform_feedback

PFNGLBindBuffersBase = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLUint); stdcall;
PFNGLBindBuffersRange = procedure(target : Cardinal; first : Cardinal; count : TGLsizei; const buffers : PGLuint; const offsets : TGLintptr; const sizes : TGLsizeiptr); stdcall;
PFNGLBINDFRAGDATALOCATIONEXTPROC = procedure(_program: Cardinal; colorNumber: Cardinal; name: PAnsiChar); stdcall;
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC = procedure (_program: Cardinal; colorNumber: Cardinal; index: Cardinal; const name: PAnsiChar); stdcall;

GL_ARB_blend_func_extended (ARB #78)

PFNGLBINDFRAGDATALOCATIONPROC = procedure(_program: Cardinal; colorNumber: Cardinal; name: PAnsiChar); stdcall;
PFNGLBINDFRAMEBUFFEREXTPROC = procedure(target: Cardinal; framebuffer: Cardinal); stdcall;
PFNGLBINDFRAMEBUFFERPROC = procedure(target: Cardinal; framebuffer: Cardinal); stdcall;
PFNGLBindImageTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); stdcall;
PFNGLBINDMULTITEXTUREEXTPROC = procedure(texunit: Cardinal; target: Cardinal; texture: Cardinal); stdcall;
PFNGLBINDPROGRAMARBPROC = procedure(target: Cardinal; _program: Cardinal); stdcall;
PFNGLBINDPROGRAMNVPROC = procedure(target: Cardinal; id: Cardinal); stdcall;
PFNGLBINDPROGRAMPIPELINEPROC = procedure(pipeline: Cardinal); stdcall;
PFNGLBINDRENDERBUFFEREXTPROC = procedure(target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLBINDRENDERBUFFERPROC = procedure(target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLBINDSAMPLERPROC = procedure(_unit: Cardinal; sampler: Cardinal); stdcall;
PFNGLBindSamplers = procedure(first : Cardinal; count : TGLsizei; const samplers : PGLuint); stdcall;
PFNGLBINDTEXTUREEXTPROC = procedure(target: Cardinal; texture: Cardinal); stdcall;
PFNGLBindTextures = procedure(first : Cardinal; count : TGLsizei; const textures : PGLuint); stdcall;
PFNGLBINDTRANSFORMFEEDBACKPROC = procedure(target: Cardinal; id: Cardinal); stdcall;

GL_ARB_transform_feedback2 (ARB #93)

PFNGLBINDVERTEXARRAYPROC = procedure(_array: Cardinal); stdcall;

GL_ARB_vertex_array_object (ARB #54)

PFNGLBindVertexBuffer = procedure(bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); stdcall;

GL_ARB_vertex_attrib_binding (ARB #125)

PFNGLBindVertexBuffers = procedure(first : Cardinal; count : TGLsizei; const buffers : Cardinal; const offsets : TGLintptr; const strides : PGLsizei); stdcall;
PFNGLBLENDCOLOREXTPROC = procedure(red, green, blue: Single; alpha: Single); stdcall;

GL_EXT_blend_color (EXT #2)

PFNGLBLENDCOLORPROC = procedure(red, green, blue, alpha: Single); stdcall;

====================================================================== core 1.2 promoted to core v1.2 from GL_EXT_blend_color (#2)

PFNGLBLENDEQUATIONEXTPROC = procedure(mode: Cardinal); stdcall;

GL_EXT_blend_minmax (EXT #37)

PFNGLBLENDEQUATIONIARBPROC = procedure(buf: Cardinal; mode: Cardinal); stdcall;

GL_ARB_draw_buffers_blend (ARB #69)

PFNGLBLENDEQUATIONIPROC = procedure(buf: Cardinal; mode: Cardinal); stdcall;

Core 4.0 promoted to core v4.0 from GL_ARB_draw_buffers_blend (ARB #69)

PFNGLBLENDEQUATIONPROC = procedure(mode: Cardinal); stdcall;

promoted to core v1.2 from GL_EXT_blend_minmax (#37)

PFNGLBLENDEQUATIONSEPARATEEXTPROC = procedure(modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;

GL_EXT_blend_equation_separate (EXT #299)

PFNGLBLENDEQUATIONSEPARATEIARBPROC = procedure(buf: Cardinal; modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
PFNGLBLENDEQUATIONSEPARATEIPROC = procedure(buf: Cardinal; modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;
PFNGLBLENDEQUATIONSEPARATEPROC = procedure(modeRGB: Cardinal; modeAlpha: Cardinal); stdcall;

core 2.0 promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)

PFNGLBLENDFUNCIARBPROC = procedure(buf: Cardinal; src: Cardinal; dst: Cardinal); stdcall;
PFNGLBLENDFUNCIPROC = procedure(buf: Cardinal; src: Cardinal; dst: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEEXTPROC = procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); stdcall;

GL_EXT_blend_func_separate (EXT #173)

PFNGLBLENDFUNCSEPARATEIARBPROC = procedure(buf: Cardinal; srcRGB: Cardinal; dstRGB: Cardinal; srcAlpha: Cardinal; dstAlpha: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEIPROC = procedure(buf: Cardinal; srcRGB: Cardinal; dstRGB: Cardinal; srcAlpha: Cardinal; dstAlpha: Cardinal); stdcall;
PFNGLBLENDFUNCSEPARATEPROC = procedure(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha: Cardinal); stdcall;

deprecated; core 1.4 promoted to core v1.4 from GL_EXT_blend_func_separate (#173)

PFNGLBLITFRAMEBUFFEREXTPROC = procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: Cardinal); stdcall;

GL_EXT_framebuffer_blit (EXT #316)

PFNGLBLITFRAMEBUFFERPROC = procedure(srcX0: TGLint; srcY0: TGLint; srcX1: TGLint; srcY1: TGLint; dstX0: TGLint; dstY0: TGLint; dstX1: TGLint; dstY1: TGLint; mask: TGLbitfield; filter: Cardinal); stdcall;
PFNGLBUFFERADDRESSRANGENVPROC = procedure(pname: Cardinal; index: Cardinal; address: TGLuint64EXT; length: TGLsizeiptr); stdcall;

GL_NV_vertex_buffer_unified_memory (EXT #380)

PFNGLBUFFERDATAARBPROC = procedure(target: Cardinal; size: TGLsizei; const data: Pointer; usage: Cardinal); stdcall;
PFNGLBUFFERDATAPROC = procedure(target: Cardinal; size: TGLsizei; const data: Pointer; usage: Cardinal); stdcall;
PFNGLBufferStorage = procedure(target : Cardinal; size : TGLsizeiptr; const data : pointer; flags : TGLbitfield); stdcall;
PFNGLBUFFERSUBDATAARBPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; const data: Pointer); stdcall;
PFNGLBUFFERSUBDATAPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; const data: Pointer); stdcall;
PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC = function(target: Cardinal): Cardinal; stdcall;
PFNGLCHECKFRAMEBUFFERSTATUSPROC = function(target: Cardinal): Cardinal; stdcall;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC = function(framebuffer: Cardinal; target: Cardinal): Cardinal; stdcall;
PFNGLCLAMPCOLORARBPROC = procedure (target: Cardinal; clamp: Cardinal); stdcall;

GL_ARB_color_buffer_float (ARB #39)

PFNGLCLAMPCOLORPROC = procedure (target: Cardinal; clamp: Cardinal); stdcall;

promoted to core v3.0 from GL_ARB_color_buffer_float

PFNGLClearBufferData = procedure(target : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;

GL_ARB_clear_buffer_object (ARB #121)

PFNGLCLEARBUFFERFIPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; depth: TGLfloat; stencil: TGLint); stdcall;
PFNGLCLEARBUFFERFVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLfloat); stdcall;
PFNGLCLEARBUFFERIVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLint); stdcall;

New commands in OpenGL 3.0

PFNGLClearBufferSubData = procedure(target : Cardinal; internalformat : Cardinal; offset : TGLintptr; size : TGLsizeiptr; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
PFNGLCLEARBUFFERUIVPROC = procedure(buffer: Cardinal; drawbuffer: TGLint; value: PGLuint); stdcall;
PFNGLCLEARCOLORIIEXTPROC = procedure(r: TGLint; g: TGLint; b: TGLint; a: TGLint); stdcall;

GL_EXT_texture_integer (EXT #343)

PFNGLCLEARCOLORIUIEXTPROC = procedure(r: Cardinal; g: Cardinal; b: Cardinal; a: Cardinal); stdcall;
PFNGLCLEARDEPTHFPROC = procedure(depth: TGLclampd); stdcall;
PFNGLClearNamedBufferData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; const data : Pointer); stdcall;
PFNGLClearNamedBufferSubData = procedure(buffer : Cardinal; internalformat : Cardinal; format : Cardinal; type_ : Cardinal; offset : TGLsizeiptr; size : TGLsizeiptr; const data : Pointer); stdcall;
PFNGLClearTexImage = procedure(texture : Cardinal; level : TGLint; format : Cardinal; _type : Cardinal; const data : Pointer); stdcall;
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); stdcall;
PFNGLCLIENTACTIVETEXTUREARBPROC = procedure(target: Cardinal); stdcall;
PFNGLCLIENTACTIVETEXTUREPROC = procedure(texture: Cardinal); stdcall;

core 1.3 deprecated promoted to core v1.3 from GL_ARB_multitexture (#1)

PFNGLCLIENTATTRIBDEFAULTEXTPROC = procedure(mask: TGLbitfield); stdcall;

GL_EXT_direct_state_access

PFNGLCLIENTWAITSYNCPROC = function(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64): Cardinal; stdcall;
PFNGLCOLORFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLCOLORMASKINDEXEDEXTPROC = procedure(buf: Cardinal; r: TGLboolean; g: TGLboolean; b: TGLboolean; a: TGLboolean); stdcall;

GL_EXT_draw_buffers2 (EXT #340)

PFNGLCOLORMASKIPROC = procedure(index: Cardinal; r: TGLboolean; g: TGLboolean; b: TGLboolean; a: TGLboolean); stdcall;

promoted to core v3.0 from GL_EXT_draw_buffers2

PFNGLCOLORP3UIPROC = procedure(_type: Cardinal; color: Cardinal); stdcall;
PFNGLCOLORP3UIVPROC = procedure(_type: Cardinal; const color: PGLuint); stdcall;
PFNGLCOLORP4UIPROC = procedure(_type: Cardinal; color: Cardinal); stdcall;
PFNGLCOLORP4UIVPROC = procedure(_type: Cardinal; const color: PGLuint); stdcall;
PFNGLCOLORSUBTABLEEXTPROC = procedure(target: Cardinal; start, count: TGLsizei; format, atype: Cardinal; data: Pointer); stdcall;
PFNGLCOLORSUBTABLEPROC = procedure(target: Cardinal; start, count: TGLsizei; format, Atype: Cardinal; data: Pointer); stdcall;

deprecated; promoted to core v1.2 from GL_EXT_color_subtable (#74)

PFNGLCOLORTABLEEXTPROC = procedure(target, internalFormat: Cardinal; width: TGLsizei; format, atype: Cardinal; data: Pointer); stdcall;

GL_EXT_paletted_texture (EXT #78)

PFNGLCOLORTABLEPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;

deprecated;

PFNGLCOLORTABLEPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;

deprecated;

PFNGLCOLORTABLEPROC = procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal; table: Pointer); stdcall;

core 1.2 deprecated promoted to core v1.2 from GL_SGI_color_table (#14)

PFNGLCOMBINERINPUTNVPROC = procedure(stage, portion, variable, input, mapping, componentUsage: Cardinal); stdcall;
PFNGLCOMBINEROUTPUTNVPROC = procedure(stage, portion, abOutput, cdOutput, sumOutput, scale, bias: Cardinal; abDotProduct, cdDotProduct, muxSum: TGLboolean); stdcall;
PFNGLCOMBINERPARAMETERFNVPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;
PFNGLCOMBINERPARAMETERFVNVPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;

GL_NV_register_combiners (EXT #191)

PFNGLCOMBINERPARAMETERINVPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
PFNGLCOMBINERPARAMETERIVNVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
PFNGLCOMPILESHADERARBPROC = procedure(shaderObj: TGLhandleARB); stdcall;
PFNGLCOMPILESHADERPROC = procedure(shader: Cardinal); stdcall;
PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXIMAGE1DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE1DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE2DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE2DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXIMAGE3DARBPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;

GL_ARB_texture_compression (ARB #12)

PFNGLCOMPRESSEDTEXIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; Width, Height, depth: TGLsizei; border: TGLint; imageSize: TGLsizei; data: pointer); stdcall;

promoted to core v1.3 from GL_ARB_texture_compression (#12)

PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = procedure(target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset: TGLint; width, height: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; Format: Cardinal; imageSize: TGLsizei; data: pointer); stdcall;
PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; imageSize: TGLsizei; const bits: PGLvoid); stdcall;
PFNGLCONVOLUTIONFILTER1DPROC = procedure(target, internalformat: Cardinal; width: TGLsizei; format, Atype: Cardinal; image: Pointer); stdcall;

deprecated; promoted to core v1.2 from GL_EXT_convolution (#12)

PFNGLCONVOLUTIONFILTER2DPROC = procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; image: Pointer); stdcall;

deprecated;

PFNGLCONVOLUTIONPARAMETERFPROC = procedure(target, pname: Cardinal; param: TGLfloat); stdcall;

deprecated;

PFNGLCONVOLUTIONPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;

deprecated;

PFNGLCONVOLUTIONPARAMETERIPROC = procedure(target, pname: Cardinal; param: TGLint); stdcall;

deprecated;

PFNGLCONVOLUTIONPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;

deprecated;

PFNGLCOPYBUFFERSUBDATAPROC = procedure(readTarget: Cardinal; writeTarget: Cardinal; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr); stdcall;

GL_ARB_copy_buffer (ARB #59)

PFNGLCOPYCOLORSUBTABLEPROC = procedure(target: Cardinal; start: TGLsizei; x, y: TGLint; width: TGLsizei); stdcall;

deprecated;

PFNGLCOPYCOLORTABLEPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); stdcall;

deprecated;

PFNGLCOPYCONVOLUTIONFILTER1DPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width: TGLsizei); stdcall;

deprecated;

PFNGLCOPYCONVOLUTIONFILTER2DPROC = procedure(target, internalformat: Cardinal; x, y: TGLint; width, height: TGLsizei); stdcall;

deprecated;

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); stdcall;

GL_ARB_copy_image (ARB #123)

PFNGLCOPYIMAGESUBDATANVPROC = 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; width: TGLsizei; height: TGLsizei; depth: TGLsizei); stdcall;

GL_NV_copy_image (EXT #376)

PFNGLCOPYMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOPYPATHNVPROC = procedure (resultPath: Cardinal; srcPath: Cardinal); stdcall;
PFNGLCOPYTEXIMAGE1DEXTPROC = procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width: TGLsizei; border: TGLint); stdcall;

GL_EXT_copy_texture (EXT #10)

PFNGLCOPYTEXIMAGE2DEXTPROC = procedure(target: Cardinal; level: TGLint; internalFormat: Cardinal; x, y: TGLint; width, height: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXSUBIMAGE1DEXTPROC = procedure(target: Cardinal; level, xoffset, x, y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYTEXSUBIMAGE2DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
PFNGLCOPYTEXSUBIMAGE3DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); stdcall;
PFNGLCOPYTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset, x, y: TGLint; width, height: TGLsizei); stdcall;

promoted to core v1.2 from GL_EXT_copy_texture

PFNGLCOPYTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint); stdcall;
PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei); stdcall;
PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLCOVERFILLPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; coverMode: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLCOVERFILLPATHNVPROC = procedure (path: Cardinal; coverMode: Cardinal); stdcall;
PFNGLCOVERSTROKEPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; coverMode: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLCOVERSTROKEPATHNVPROC = procedure (path: Cardinal; coverMode: Cardinal); stdcall;
PFNGLCREATEPROGRAMOBJECTARBPROC = function(): TGLhandleARB; stdcall;
PFNGLCREATEPROGRAMPROC = function(): Cardinal; stdcall;
PFNGLCREATESHADEROBJECTARBPROC = function(shaderType: Cardinal): TGLhandleARB; stdcall;
PFNGLCREATESHADERPROC = function(_type: Cardinal): Cardinal; stdcall;
PFNGLCREATESHADERPROGRAMVPROC = function(_type: Cardinal; count: TGLsizei; const strings: PGLPCharArray): Cardinal; stdcall;
PFNGLCreateSyncFromCLevent = function(context: p_cl_context; event: p_cl_event; flags: TGLbitfield): TGLsync; stdcall;

GL_ARB_robustness_isolation (ARB #126) (no entry points) GL_ARB_cl_event (ARB #103)

PFNGLCURRENTPALETTEMATRIXARBPROC = procedure(index: TGLint); stdcall;

GL_ARB_matrix_palette (ARB #16) {deprecated?}

PFNGLDEBUGMESSAGECALLBACKARBPROC = procedure(callback: TGLDEBUGPROCARB; userParam: Pointer); stdcall;
PFNGLDEBUGMESSAGECONTROLARBPROC = procedure(source: Cardinal; _type: Cardinal; severity: Cardinal; count: TGLsizei; ids: PGLuint; enabled: TGLboolean); stdcall;

GL_ARB_debug_output (ARB #104)

PFNGLDEBUGMESSAGEINSERTARBPROC = procedure(source: Cardinal; _type: Cardinal; id: Cardinal; severity: Cardinal; length: TGLsizei; buf: PAnsiChar); stdcall;
PFNGLDELETEBUFFERSARBPROC = procedure(n: TGLsizei; const buffers: PGLuint); stdcall;
PFNGLDELETEBUFFERSPROC = procedure(n: TGLsizei; const buffers: PGLuint); stdcall;
PFNGLDELETEFENCESNVPROC = procedure(n: TGLsizei; fences: PGLuint); stdcall;
PFNGLDELETEFRAMEBUFFERSEXTPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLDELETEFRAMEBUFFERSPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLDELETEOBJECTARBPROC = procedure(obj: TGLhandleARB); stdcall;

GL_ARB_shader_objects (ARB #30)

PFNGLDELETEOCCLUSIONQUERIESNVPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETEPATHSNVPROC = procedure(path: Cardinal; range: TGLsizei); stdcall;
PFNGLDELETEPROGRAMPIPELINESPROC = procedure(n: TGLsizei; pipelines: PGLuint); stdcall;
PFNGLDELETEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLDELETEPROGRAMSARBPROC = procedure(n: TGLsizei; const programs: PGLuint); stdcall;
PFNGLDELETEPROGRAMSNVPROC = procedure(n: TGLSizei; programs: PGLuint); stdcall;
PFNGLDELETEQUERIESARBPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETEQUERIESPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETERENDERBUFFERSEXTPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
PFNGLDELETERENDERBUFFERSPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
PFNGLDELETESAMPLERSPROC = procedure(count: TGLsizei; const samplers: PGLuint); stdcall;
PFNGLDELETESHADERPROC = procedure(shader: Cardinal); stdcall;
PFNGLDELETESYNCPROC = procedure(sync: TGLsync); stdcall;
PFNGLDELETETEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint); stdcall;
PFNGLDELETETRANSFORMFEEDBACKSPROC = procedure(n: TGLsizei; const ids: PGLuint); stdcall;
PFNGLDELETEVERTEXARRAYSPROC = procedure(n: TGLsizei; arrays: PGLuint); stdcall;
PFNGLDEPTHBOUNDSEXTPROC = procedure(zmin: TGLclampd; zmax: TGLclampd); stdcall;

GL_EXT_depth_bounds_test (EXT #297)

PFNGLDEPTHRANGEARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; v: PGLclampd); stdcall;
PFNGLDEPTHRANGEFPROC = procedure(n: Single; f: Single); stdcall;
PFNGLDEPTHRANGEINDEXEDPROC = procedure(index: Cardinal; n: TGLclampd; f: TGLclampd); stdcall;
PFNGLDETACHOBJECTARBPROC = procedure(containerObj: TGLhandleARB; attachedObj: TGLhandleARB); stdcall;
PFNGLDETACHSHADERPROC = procedure(_program: Cardinal; shader: Cardinal); stdcall;
PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC = procedure(array_: Cardinal; index_: Cardinal); stdcall;
PFNGLDISABLEINDEXEDEXTPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLDISABLEIPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLDISABLEVERTEXATTRIBARRAYARBPROC = procedure(index: Cardinal); stdcall;
PFNGLDISABLEVERTEXATTRIBARRAYPROC = procedure(index: Cardinal); stdcall;
PFNGLDispatchCompute = procedure(num_groups_x : Cardinal; num_groups_y : Cardinal; num_groups_z : Cardinal); stdcall;

GL_ARB_compute_shader (ARB #122)

PFNGLDispatchComputeIndirect = procedure(indirect : TGLintptr); stdcall;
PFNGLDRAWARRAYSINDIRECTPROC = procedure(mode: Cardinal; const indirect: PGLvoid); stdcall;

GL_ARB_draw_indirect (ARB #87)

PFNGLDRAWARRAYSINSTANCEDARBPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei); stdcall;

GL_ARB_draw_instanced (ARB #44)

PFNGLDRAWARRAYSINSTANCEDEXTPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei); stdcall;

GL_EXT_draw_instanced (EXT #327)

PFNGLDRAWARRAYSINSTANCEDPROC = procedure(mode: Cardinal; first: TGLint; count: TGLsizei; primcount: TGLsizei); stdcall;

Core 3.1 New commands in OpenGL 3.1

PFNGLDRAWBUFFERSARBPROC = procedure (n: TGLsizei; const bufs: PCardinal); stdcall;

GL_ARB_DrawBuffers (ARB #37)

PFNGLDRAWBUFFERSATIPROC = procedure(n: TGLsizei; const bufs: PCardinal); stdcall;

GL_ATI_draw_buffers (EXT #277)

PFNGLDRAWBUFFERSPROC = procedure(n: TGLsizei; const bufs: PCardinal); stdcall;

promoted to core v2.0 from GL_ARB_draw_buffers (#37)

PFNGLDRAWELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint); stdcall;

GL_ARB_draw_elements_base_vertex (ARB #62)

PFNGLDRAWELEMENTSINDIRECTPROC = procedure(mode: Cardinal; _type: Cardinal; const indirect: PGLvoid); stdcall;
PFNGLDRAWELEMENTSINSTANCEDARBPROC = procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei); stdcall;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei; basevertex: TGLint); stdcall;
PFNGLDRAWELEMENTSINSTANCEDEXTPROC = procedure(mode: Cardinal; count: TGLSizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei); stdcall;
PFNGLDRAWELEMENTSINSTANCEDPROC = procedure(mode: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; primcount: TGLsizei); stdcall;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; start: Cardinal; _end: Cardinal; count: TGLsizei; _type: Cardinal; indices: PGLvoid; basevertex: TGLint); stdcall;
PFNGLDRAWRANGEELEMENTSEXTPROC = procedure(mode: Cardinal; start, Aend: Cardinal; Count: TGLsizei; Atype: Cardinal; indices: Pointer); stdcall;

GL_EXT_draw_range_elements (EXT #112)

PFNGLDRAWRANGEELEMENTSPROC = procedure(mode: Cardinal; Astart, Aend: Cardinal; count: TGLsizei; Atype: Cardinal; indices: Pointer); stdcall;

promoted to core v1.2 from GL_EXT_draw_range_elements (#112)

PFNGLDRAWTRANSFORMFEEDBACKPROC = procedure(mode: Cardinal; id: Cardinal); stdcall;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC = procedure(mode: Cardinal; id: Cardinal; stream: Cardinal); stdcall;

GL_ARB_transform_feedback3 (ARB #94)

PFNGLEDGEFLAGFORMATNVPROC = procedure(stride: TGLsizei); stdcall;
PFNGLENABLECLIENTSTATEINDEXEDEXTPROC = procedure(array_: Cardinal; index_: Cardinal); stdcall;
PFNGLENABLEINDEXEDEXTPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLENABLEIPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLENABLEVERTEXATTRIBARRAYARBPROC = procedure(index: Cardinal); stdcall;
PFNGLENABLEVERTEXATTRIBARRAYPROC = procedure(index: Cardinal); stdcall;
PFNGLENDCONDITIONALRENDERNVPROC = procedure(); stdcall;
PFNGLENDCONDITIONALRENDERPROC = procedure(); stdcall;
PFNGLENDOCCLUSIONQUERYNVPROC = procedure; stdcall;
PFNGLENDQUERYARBPROC = procedure(target: Cardinal); stdcall;
PFNGLENDQUERYINDEXEDPROC = procedure(target: Cardinal; index: Cardinal); stdcall;
PFNGLENDQUERYPROC = procedure(target: Cardinal); stdcall;
PFNGLENDSCENEEXTPROC = procedure; stdcall;
PFNGLENDTRANSFORMFEEDBACKEXTPROC = procedure(); stdcall;
PFNGLENDTRANSFORMFEEDBACKNVPROC = procedure(); stdcall;
PFNGLENDTRANSFORMFEEDBACKPROC = procedure(); stdcall;
PFNGLEXECUTEPROGRAMNVPROC = procedure(target: Cardinal; id: Cardinal; params: PGLfloat); stdcall;
PFNGLFENCESYNCPROC = function(condition: Cardinal; flags: TGLbitfield): TGLsync; stdcall;

GL_ARB_sync (ARB #66)

PFNGLFINALCOMBINERINPUTNVPROC = procedure(variable, input, mapping, componentUsage: Cardinal); stdcall;
PFNGLFINISHFENCENVPROC = procedure(fence: Cardinal); stdcall;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC = procedure( target: Cardinal; offset: TGLint; length: TGLsizei ); stdcall;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr); stdcall;
PFNGLFLUSHVERTEXARRAYRANGENVPROC = procedure; stdcall;

GL_NV_vertex_array_range (EXT #190)

PFNGLFOGCOORDDEXTPROC = procedure(coord: TGLdouble); stdcall;
PFNGLFOGCOORDDPROC = procedure(coord: TGLdouble); stdcall;

deprecated;

PFNGLFOGCOORDDVEXTPROC = procedure(coord: PGLdouble); stdcall;
PFNGLFOGCOORDDVPROC = procedure(coord: PGLdouble); stdcall;

deprecated;

PFNGLFOGCOORDFEXTPROC = procedure(coord: TGLfloat); stdcall;

GL_EXT_fog_coord (EXT #149)

PFNGLFOGCOORDFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei); stdcall;
PFNGLFOGCOORDFPROC = procedure(coord: TGLfloat); stdcall;

core 1.4 deprecated promoted to core v1.4 from GL_EXT_fog_coord (#149)

PFNGLFOGCOORDFVEXTPROC = procedure(coord: PGLfloat); stdcall;
PFNGLFOGCOORDFVPROC = procedure(coord: PGLfloat); stdcall;

deprecated;

PFNGLFOGCOORDPOINTEREXTPROC = procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); stdcall;
PFNGLFOGCOORDPOINTERPROC = procedure(AType: Cardinal; stride: TGLsizei; p: Pointer); stdcall;

deprecated;

PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC = procedure(framebuffer: Cardinal; mode: Cardinal); stdcall;
PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC = procedure(framebuffer: Cardinal; n: TGLsizei; const bufs: PCardinal); stdcall;
PFNGLFramebufferParameteri = procedure(target : Cardinal; pname : Cardinal; param : TGLint); stdcall;

GL_ARB_debug_group ARB_debug_group reuses entry points from KHR_debug GL_ARB_debug_label ARB_debug_label reuses entry points from KHR_debug GL_ARB_debug_output2 GL_ARB_ES3_compatibility GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments (ARB #130)

PFNGLFRAMEBUFFERREADBUFFEREXTPROC = procedure(framebuffer: Cardinal; mode: Cardinal); stdcall;
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC = procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLFRAMEBUFFERRENDERBUFFERPROC = procedure(target: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLFRAMEBUFFERTEXTURE1DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE1DPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE2DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE2DPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE3DEXTPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; zoffset: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURE3DPROC = procedure(target: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREEXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; face:Cardinal); stdcall;
PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; face:Cardinal); stdcall;
PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; layer:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC = procedure ( target:Cardinal; attachment:Cardinal; texture:Cardinal; level:TGLint; layer:TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTURELAYERPROC = procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
PFNGLFRAMEBUFFERTEXTUREPROC = procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLFRAMETERMINATORGREMEDYPROC = procedure(); stdcall;

GL_GREMEDY_frame_terminator (EXT #345)

PFNGLGENBUFFERSARBPROC = procedure(n: TGLsizei; buffers: PGLuint); stdcall;
PFNGLGENBUFFERSPROC = procedure(n: TGLsizei; buffers: PGLuint); stdcall;
PFNGLGENERATEMIPMAPEXTPROC = procedure(target: Cardinal); stdcall;
PFNGLGENERATEMIPMAPPROC = procedure(target: Cardinal); stdcall;
PFNGLGENERATEMULTITEXMIPMAPEXTPROC = procedure(texunit: Cardinal; target: Cardinal); stdcall;
PFNGLGENERATETEXTUREMIPMAPEXTPROC = procedure(texture: Cardinal; target: Cardinal); stdcall;
PFNGLGENFENCESNVPROC = procedure(n: TGLsizei; fences: PGLuint); stdcall;

GL_NV_fence (EXT #222)

PFNGLGENFRAMEBUFFERSEXTPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLGENFRAMEBUFFERSPROC = procedure(n: TGLsizei; framebuffers: PGLuint); stdcall;
PFNGLGENOCCLUSIONQUERIESNVPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;

GL_NV_occlusion_query (EXT #261)

PFNGLGENPATHSNVPROC = function (range: TGLsizei): Cardinal; stdcall;

GL_NV_path_rendering

PFNGLGENPROGRAMPIPELINESPROC = procedure(n: TGLsizei; pipelines: PGLuint); stdcall;
PFNGLGENPROGRAMSARBPROC = procedure(n: TGLsizei; programs: PGLuint); stdcall;
PFNGLGENPROGRAMSNVPROC = procedure(n: TGLSizei; programs: PGLuint); stdcall;
PFNGLGENQUERIESARBPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;

GL_ARB_occlusion_query (ARB #29)

PFNGLGENQUERIESPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;

deprecated; core 1.5 promoted to core v1.5 from GL_ARB_occlusion_query (#29)

PFNGLGENRENDERBUFFERSEXTPROC = procedure(n: TGLsizei; renderbuffers: PGLuint); stdcall;
PFNGLGENRENDERBUFFERSPROC = procedure(n: TGLSizei; renderbuffers: PGLuint); stdcall;
PFNGLGENSAMPLERSPROC = procedure(count: TGLsizei; samplers: PGLuint); stdcall;

GL_ARB_sampler_objects (ARB #81)

PFNGLGENTEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint); stdcall;

GL_EXT_texture_object (EXT #20)

PFNGLGENTRANSFORMFEEDBACKSPROC = procedure(n: TGLsizei; ids: PGLuint); stdcall;
PFNGLGENVERTEXARRAYSPROC = procedure(n: TGLsizei; arrays: PGLuint); stdcall;
PFNGLGETACTIVEATTRIBARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVEATTRIBPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVESUBROUTINENAMEPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; bufsize: TGLsizei; length: PGLsizei; name: PAnsiChar); stdcall;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; pname: Cardinal; values: PGLint); stdcall;
PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC = procedure(_program: Cardinal; shadertype: Cardinal; index: Cardinal; bufsize: TGLsizei; length: PGLsizei; name: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMARBPROC = procedure(programObj: TGLhandleARB; index: Cardinal; maxLength: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; bufSize: TGLsizei; length: PGLsizei; uniformBlockName: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMNAMEPROC = procedure(_program: Cardinal; uniformIndex: Cardinal; bufSize: TGLsizei; length: PGLsizei; uniformName: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLint; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETACTIVEUNIFORMSIVPROC = procedure(_program: Cardinal; uniformCount: TGLsizei; uniformIndices: PGLuint; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETACTIVEVARYINGNVPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: Cardinal; name: PAnsiChar); stdcall;
PFNGLGETATTACHEDOBJECTSARBPROC = procedure(containerObj: TGLhandleARB; maxCount: TGLsizei; count: PGLsizei; obj: PGLhandleARB); stdcall;
PFNGLGETATTACHEDSHADERSPROC = procedure(_program: Cardinal; maxCount: TGLsizei; count: PGLSizei; obj: PGLuint); stdcall;
PFNGLGETATTRIBLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETATTRIBLOCATIONPROC = function(_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETBOOLEANINDEXEDVEXTPROC = procedure(value: Cardinal; index: Cardinal; data: PGLboolean); stdcall;
PFNGLGETBOOLEANI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLboolean); stdcall;
PFNGLGETBUFFERPARAMETERI64VPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint64); stdcall;
PFNGLGETBUFFERPARAMETERIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETBUFFERPARAMETERIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETBUFFERPARAMETERUI64VNVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint64EXT ); stdcall;
PFNGLGETBUFFERPOINTERVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: Pointer); stdcall;
PFNGLGETBUFFERPOINTERVPROC = procedure(target: Cardinal; pname: Cardinal; params: Pointer); stdcall;
PFNGLGETBUFFERSUBDATAARBPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; data: Pointer); stdcall;
PFNGLGETBUFFERSUBDATAPROC = procedure(target: Cardinal; offset: Cardinal; size: TGLsizei; data: Pointer); stdcall;
PFNGLGETCOLORTABLEEXTPROC = procedure(target, format, atype: Cardinal; data: Pointer); stdcall;
PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOLORTABLEPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;

deprecated;

PFNGLGETCOLORTABLEPARAMETERIVEXTPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOLORTABLEPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;

deprecated;

PFNGLGETCOLORTABLEPROC = procedure(target, format, Atype: Cardinal; table: Pointer); stdcall;

deprecated;

PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC = procedure(stage, portion, variable, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC = procedure(stage, portion, variable, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC = procedure(stage, portion, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC = procedure(stage, portion, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC = procedure(texunit: Cardinal; target: Cardinal; lod: TGLint; img: PGLvoid); stdcall;
PFNGLGETCOMPRESSEDTEXIMAGEARBPROC = procedure(target: Cardinal; level: TGLint; img: pointer); stdcall;
PFNGLGETCOMPRESSEDTEXIMAGEPROC = procedure(target: Cardinal; level: TGLint; img: pointer); stdcall;
PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC = procedure(texture: Cardinal; target: Cardinal; lod: TGLint; img: PGLvoid); stdcall;
PFNGLGETCONVOLUTIONFILTERPROC = procedure(target, internalformat, Atype: Cardinal; image: Pointer); stdcall;

deprecated;

PFNGLGETCONVOLUTIONPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;

deprecated;

PFNGLGETCONVOLUTIONPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;

deprecated;

PFNGLGETDEBUGMESSAGELOGARBPROC = function(count: Cardinal; bufsize: TGLsizei; sources: PCardinal; types: PCardinal; ids: PGLuint; severities: PCardinal; lengths: PGLsizei; messageLog: PAnsiChar): Cardinal; stdcall;
PFNGLGETDOUBLEINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLdouble); stdcall;
PFNGLGETDOUBLEI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLdouble); stdcall;
PFNGLGETFENCEIVNVPROC = procedure(fence: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC = procedure(variable, pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC = procedure(variable, pname: Cardinal; params: PGLint); stdcall;
PFNGLGETFLOATINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLfloat); stdcall;
PFNGLGETFLOATI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLfloat); stdcall;
PFNGLGETFRAGDATAINDEXPROC = function (_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETFRAGDATALOCATIONEXTPROC = function(_program: Cardinal; name: PAnsiChar): TGLint; stdcall;
PFNGLGETFRAGDATALOCATIONPROC = function(_program: Cardinal; name: PAnsiChar): TGLint; stdcall;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = procedure(target: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetFramebufferParameteriv = procedure(target : Cardinal; pname : Cardinal; params : PGLint); stdcall;
PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC = procedure(framebuffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETGRAPHICSRESETSTATUSARBPROC = function(): Cardinal; stdcall;

GL_ARB_robustness (ARB #105)

PFNGLGETHANDLEARBPROC = function(pname: Cardinal): TGLhandleARB; stdcall;
PFNGLGETHISTOGRAMPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;

deprecated;

PFNGLGETHISTOGRAMPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;

deprecated;

PFNGLGETHISTOGRAMPROC = procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); stdcall;

deprecated; promoted to core v1.2 from GL_EXT_histogram (#11)

PFNGLGETINFOLOGARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGETINTEGER64I_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLint64); stdcall;

Core 3.2

PFNGLGETINTEGER64VPROC = procedure(pname: Cardinal; params: PGLint64); stdcall;
PFNGLGETINTEGERINDEXEDVEXTPROC = procedure(value: Cardinal; index: Cardinal; data: PGLint); stdcall;
PFNGLGETINTEGERI_VPROC = procedure(target: Cardinal; index: Cardinal; data: PGLint); stdcall;
PFNGLGETINTEGERUI64I_VNVPROC = procedure(value: Cardinal; index: Cardinal; result: PGLuint64EXT); stdcall;
PFNGLGETINTEGERUI64VNVPROC = procedure(value: Cardinal; result: PGLuint64EXT); stdcall;
PFNGLGetInternalformati64v = procedure(target : Cardinal; internalformat : Cardinal; pname : Cardinal; bufSize : TGLsizei; params : PGLint64); stdcall;

GL_ARB_internalformat_query2 (ARB #131)

PFNGLGETMINMAXPARAMETERFVPROC = procedure(target, pname: Cardinal; params: PGLfloat); stdcall;

deprecated;

PFNGLGETMINMAXPARAMETERIVPROC = procedure(target, pname: Cardinal; params: PGLint); stdcall;

deprecated;

PFNGLGETMINMAXPROC = procedure(target: Cardinal; reset: TGLboolean; format, Atype: Cardinal; values: Pointer); stdcall;

deprecated;

PFNGLGETMULTISAMPLEFVPROC = procedure(pname: Cardinal; index: Cardinal; val: PGLfloat); stdcall;
PFNGLGETMULTITEXENVFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXENVIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXGENDVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETMULTITEXGENFVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXGENIVEXTPROC = procedure(texunit: Cardinal; coord: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXIMAGEEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; format: Cardinal; type_: Cardinal; pixels: PGLvoid); stdcall;
PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETMULTITEXPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLuint64EXT); stdcall;
PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = procedure(buffer: Cardinal; pname: Cardinal; params: PGLvoid); stdcall;
PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; data: PGLvoid); stdcall;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetNamedFramebufferParameteriv = procedure(framebuffer : Cardinal; pname : Cardinal; param : TGLint); stdcall;
PFNGLGETNAMEDPROGRAMIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLdouble); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLfloat); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLint); stdcall;
PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; params: PGLuint); stdcall;
PFNGLGETNAMEDPROGRAMSTRINGEXTPROC = procedure(program_: Cardinal; target: Cardinal; pname: Cardinal; string_: PGLvoid); stdcall;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC = procedure(renderbuffer: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETNCOLORTABLEARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; table: Pointer); stdcall;
PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC = procedure(target: Cardinal; lod: TGLint; bufSize: TGLsizei; img: Pointer); stdcall;
PFNGLGETNCONVOLUTIONFILTERARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; image: Pointer); stdcall;
PFNGLGETNHISTOGRAMARBPROC = procedure(target: Cardinal; reset: TGLboolean; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; values: Pointer); stdcall;
PFNGLGETNMAPDVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLdouble); stdcall;
PFNGLGETNMAPFVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLfloat); stdcall;
PFNGLGETNMAPIVARBPROC = procedure(target: Cardinal; query: Cardinal; bufSize: TGLsizei; v: PGLint); stdcall;
PFNGLGETNMINMAXARBPROC = procedure(target: Cardinal; reset: TGLboolean; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; values: Pointer); stdcall;
PFNGLGETNPIXELMAPFVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLfloat); stdcall;
PFNGLGETNPIXELMAPUIVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLuint); stdcall;
PFNGLGETNPIXELMAPUSVARBPROC = procedure(map: Cardinal; bufSize: TGLsizei; values: PGLushort); stdcall;
PFNGLGETNPOLYGONSTIPPLEARBPROC = procedure(bufSize: TGLsizei; pattern: PGLubyte); stdcall;
PFNGLGETNSEPARABLEFILTERARBPROC = procedure(target: Cardinal; format: Cardinal; _type: Cardinal; rowBufSize: TGLsizei; row: Pointer; columnBufSize: TGLsizei; column: Pointer; span: Pointer); stdcall;
PFNGLGETNTEXIMAGEARBPROC = procedure(target: Cardinal; level: TGLint; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; img: Pointer); stdcall;
PFNGLGETNUNIFORMDVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLdouble); stdcall;
PFNGLGETNUNIFORMFVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLfloat); stdcall;
PFNGLGETNUNIFORMIVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLint); stdcall;
PFNGLGETNUNIFORMUIVARBPROC = procedure(_program: Cardinal; location: TGLint; bufSize: TGLsizei; params: PGLuint); stdcall;
PFNGLGetObjectLabel = procedure(identifier : Cardinal; name : Cardinal; bufsize : TGLsizei; length : PGLsizei; label_ : PAnsiChar); stdcall;
PFNGLGETOBJECTPARAMETERFVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETOBJECTPARAMETERIVARBPROC = procedure(obj: TGLhandleARB; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetObjectPtrLabel = procedure(const ptr : Pointer; bufSize : TGLsizei; length : PGLsizei; label_ : PAnsiChar); stdcall;
PFNGLGETOCCLUSIONQUERYIVNVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETOCCLUSIONQUERYUIVNVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETPATHCOLORGENFVNVPROC = procedure (color: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLGETPATHCOLORGENIVNVPROC = procedure (color: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLGETPATHCOMMANDSNVPROC = procedure (path: Cardinal; commands: PGLubyte); stdcall;
PFNGLGETPATHCOORDSNVPROC = procedure (path: Cardinal; coords: PGLfloat); stdcall;
PFNGLGETPATHDASHARRAYNVPROC = procedure (path: Cardinal; dashArray: PGLfloat); stdcall;
PFNGLGETPATHLENGTHNVPROC = function (path: Cardinal; startSegment: TGLsizei; numSegments: TGLsizei): TGLfloat; stdcall;
PFNGLGETPATHMETRICRANGENVPROC = procedure (metricQueryMask: TGLbitfield; firstPathName: Cardinal; numPaths: TGLsizei; stride: TGLsizei; metrics: PGLfloat); stdcall;
PFNGLGETPATHMETRICSNVPROC = procedure (metricQueryMask: TGLbitfield; numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; stride: TGLsizei; metrics: PGLfloat); stdcall;
PFNGLGETPATHPARAMETERFVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLGETPATHPARAMETERIVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLGETPATHSPACINGNVPROC = procedure (pathListMode: Cardinal; numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; advanceScale: TGLfloat; kerningScale: TGLfloat; transformType: Cardinal; returnedSpacing: PGLfloat); stdcall;
PFNGLGETPATHTEXGENFVNVPROC = procedure (texCoordSet: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLGETPATHTEXGENIVNVPROC = procedure (texCoordSet: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLGETPOINTERINDEXEDVEXTPROC = procedure(target: Cardinal; index_: Cardinal; data: PGLvoid); stdcall;
PFNGLGETPROGRAMBINARYPROC = procedure(_program: Cardinal; bufSize: TGLsizei; length: PGLsizei; binaryFormat: PCardinal; binary: Pointer); stdcall;

GL_ARB_get_program_binary (ARB #96)

PFNGLGETPROGRAMENVPARAMETERDVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLdouble); stdcall;
PFNGLGETPROGRAMENVPARAMETERFVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLfloat); stdcall;
PFNGLGETPROGRAMINFOLOGPROC = procedure(_program: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGetProgramInterfaceiv = procedure(program_ : Cardinal;programInterface : Cardinal; pname : Cardinal; params : PGLint); stdcall;

GL_ARB_program_interface_query (ARB #134)

PFNGLGETPROGRAMIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETPROGRAMIVNVPROC = procedure (id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETPROGRAMIVPROC = procedure(_program: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLdouble); stdcall;
PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC = procedure(target: Cardinal; index: Cardinal; params: PGLfloat); stdcall;
PFNGLGETPROGRAMPARAMETERDVNVPROC = procedure (target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETPROGRAMPARAMETERFVNVPROC = procedure (target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETPROGRAMPIPELINEINFOLOGPROC = procedure(pipeline: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGETPROGRAMPIPELINEIVPROC = procedure(pipeline: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGetProgramResourceIndex = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : Cardinal; stdcall;
PFNGLGetProgramResourceiv = procedure(program_ : Cardinal;programInterface : Cardinal; index : Cardinal; propCount : TGLsizei; const props : PCardinal; bufSize : TGLsizei; length : PGLsizei; params : PGLint); stdcall;
PFNGLGetProgramResourceLocation = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : TGLint; stdcall;
PFNGLGetProgramResourceLocationIndex = function(program_ : Cardinal;programInterface : Cardinal; const name : PAnsiChar) : TGLint; stdcall;
PFNGLGetProgramResourceName = procedure(program_ : Cardinal;programInterface : Cardinal; index : Cardinal; bufSize : TGLsizei; length : PGLsizei; name : PAnsiChar); stdcall;
PFNGLGETPROGRAMSTAGEIVPROC = procedure(_program: Cardinal; shadertype: Cardinal; pname: Cardinal; values: PGLint); stdcall;
PFNGLGETPROGRAMSTRINGARBPROC = procedure(target: Cardinal; pname: Cardinal; _string: pointer); stdcall;
PFNGLGETPROGRAMSTRINGNVPROC = procedure (id: Cardinal; pname: Cardinal; programIdx: PGLubyte); stdcall;
PFNGLGETQUERYINDEXEDIVPROC = procedure(target: Cardinal; index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYIVARBPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYOBJECTI64VEXTPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint64EXT); stdcall;

GL_EXT_timer_query (EXT #319)

PFNGLGETQUERYOBJECTI64VPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint64); stdcall;
PFNGLGETQUERYOBJECTIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYOBJECTIVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETQUERYOBJECTUI64VEXTPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint64EXT); stdcall;
PFNGLGETQUERYOBJECTUI64VPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint64); stdcall;
PFNGLGETQUERYOBJECTUIVARBPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETQUERYOBJECTUIVPROC = procedure(id: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETRENDERBUFFERPARAMETERIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSAMPLERPARAMETERFVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETSAMPLERPARAMETERIFVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETSAMPLERPARAMETERIIVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSAMPLERPARAMETERIVPROC = procedure(sampler: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSEPARABLEFILTERPROC = procedure(target, format, Atype: Cardinal; row, column, span: Pointer); stdcall;

deprecated;

PFNGLGETSHADERINFOLOGPROC = procedure(shader: Cardinal; bufSize: TGLsizei; length: PGLsizei; infoLog: PAnsiChar); stdcall;
PFNGLGETSHADERIVPROC = procedure(shader: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETSHADERPRECISIONFORMATPROC = procedure(shadertype: Cardinal; precisiontype: Cardinal; range: PGLint; precision: PGLint); stdcall;
PFNGLGETSHADERSOURCEARBPROC = procedure(obj: TGLhandleARB; maxLength: TGLsizei; length: PGLsizei; source: PAnsiChar); stdcall;
PFNGLGETSHADERSOURCEPROC = procedure(shader:Cardinal; bufSize: TGLsizei; length: PGLsizei; source: PAnsiChar); stdcall;
PFNGLGETSTRINGIPROC = function(name: Cardinal; index: Cardinal): PAnsiChar; stdcall;
PFNGLGETSUBROUTINEINDEXPROC = function(_program: Cardinal; shadertype: Cardinal; const name: PAnsiChar): Cardinal; stdcall;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC = function(_program: Cardinal; shadertype: Cardinal; const name: PAnsiChar): TGLint; stdcall;

GL_ARB_shader_subroutine (ARB #90)

PFNGLGETSYNCIVPROC = procedure(sync: TGLsync; pname: Cardinal; bufSize: TGLsizei; length: PGLsizei; values: PGLint); stdcall;
PFNGLGETTEXPARAMETERIIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTEXPARAMETERIIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTEXPARAMETERIUIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETTEXPARAMETERIUIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETTEXTUREIMAGEEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; format: Cardinal; type_: Cardinal; pixels: PGLvoid); stdcall;
PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; pname: Cardinal; params: TGLint); stdcall;
PFNGLGETTEXTUREPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETTEXTUREPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTEXTUREPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETTEXTUREPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTRACKMATRIXIVNVPROC = procedure (target: Cardinal; address: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC = procedure(_program: Cardinal; index: Cardinal; location: PGLint); stdcall;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = procedure(_program: Cardinal; index: Cardinal; bufSize: TGLsizei; length: PGLsizei; size: PGLsizei; _type: PCardinal; name: PAnsiChar); stdcall;
PFNGLGETUNIFORMBLOCKINDEXPROC = function(_program: Cardinal; uniformBlockName: PAnsiChar): Cardinal; stdcall;
PFNGLGETUNIFORMBUFFERSIZEEXTPROC = function(_program: Cardinal; location: TGLint): TGLint; stdcall;
PFNGLGETUNIFORMDVPROC = procedure(_program: Cardinal; location: TGLint; params : PGLdouble); stdcall;
PFNGLGETUNIFORMFVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLfloat); stdcall;
PFNGLGETUNIFORMFVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLfloat); stdcall;
PFNGLGETUNIFORMINDICESPROC = procedure(_program: Cardinal; uniformCount: TGLsizei; uniformNames: PGLPCharArray; uniformIndices: PGLuint); stdcall;

GL_ARB_uniform_buffer_object (ARB #57)

PFNGLGETUNIFORMIVARBPROC = procedure(programObj: TGLhandleARB; location: TGLint; params: PGLint); stdcall;
PFNGLGETUNIFORMIVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLint); stdcall;
PFNGLGETUNIFORMLOCATIONARBPROC = function(programObj: TGLhandleARB; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETUNIFORMLOCATIONPROC = function(_program: Cardinal; const name: PAnsiChar): TGLint; stdcall;
PFNGLGETUNIFORMOFFSETEXTPROC = function(_program: Cardinal; location: TGLint): PGLint; stdcall;
PFNGLGETUNIFORMSUBROUTINEUIVPROC = procedure(shadertype: Cardinal; location: TGLint; params: PGLuint); stdcall;
PFNGLGETUNIFORMUI64VNVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint64EXT); stdcall;
PFNGLGETUNIFORMUIVEXTPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint); stdcall;
PFNGLGETUNIFORMUIVPROC = procedure(_program: Cardinal; location: TGLint; params: PGLuint); stdcall;
PFNGLGETVARYINGLOCATIONNVPROC = function(_program: Cardinal; name: PAnsiChar): TGLint; stdcall;
PFNGLGETVERTEXATTRIBDVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBDVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBDVPROC = procedure(index:Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBFVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETVERTEXATTRIBFVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETVERTEXATTRIBFVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLfloat); stdcall;
PFNGLGETVERTEXATTRIBIIVEXTPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIUIVEXTPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETVERTEXATTRIBIUIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLGETVERTEXATTRIBIVARBPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIVNVPROC = procedure (index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBIVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLGETVERTEXATTRIBLDVPROC = procedure(index: Cardinal; pname: Cardinal; params: PGLdouble); stdcall;
PFNGLGETVERTEXATTRIBPOINTERVARBPROC = procedure(index: Cardinal; pname: Cardinal; _pointer: pointer); stdcall;
PFNGLGETVERTEXATTRIBPOINTERVNVPROC = procedure (index: Cardinal; pname: Cardinal; pointer: PGLPointer); stdcall;
PFNGLGETVERTEXATTRIBPOINTERVPROC = procedure(index: Cardinal; pname: Cardinal; _pointer:pointer); stdcall;
PFNGLHISTOGRAMPROC = procedure(target: Cardinal; width: TGLsizei; internalformat: Cardinal; sink: TGLboolean); stdcall;

deprecated;

PFNGLINDEXFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei); stdcall;
PFNGLINDEXFUNCEXTPROC = procedure(func: Cardinal; ref: TGLfloat); stdcall;

GL_EXT_index_func (EXT #95)

PFNGLINDEXMATERIALEXTPROC = procedure(face: Cardinal; mode: Cardinal); stdcall;

glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall; glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall; GL_EXT_index_material (EXT #94)

PFNGLINTERPOLATEPATHSNVPROC = procedure (resultPath: Cardinal; pathA: Cardinal; pathB: Cardinal; weight: TGLfloat); stdcall;
PFNGLInvalidateBufferData = procedure(buffer : Cardinal); stdcall;
PFNGLInvalidateBufferSubData = procedure(buffer : Cardinal; offset : TGLintptr; length : TGLsizeiptr); stdcall;
PFNGLInvalidateFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal); stdcall;
PFNGLInvalidateSubFramebuffer = procedure(target : Cardinal; numAttachments : TGLsizei; const attachments : PCardinal; x : TGLint; y : TGLint; width : TGLsizei; height : TGLsizei); stdcall;
PFNGLInvalidateTexImage = procedure(texture : Cardinal; level : TGLint); stdcall;
PFNGLInvalidateTexSubImage = procedure(texture : Cardinal; level : TGLint; xoffset : TGLint; yoffset : TGLint; zoffset : TGLint; width : TGLsizei; height : TGLsizei; depth : TGLsizei); stdcall;

GL_ARB_invalidate_subdata (ARB #132)

PFNGLISBUFFERARBPROC = function(buffer: Cardinal): TGLboolean; stdcall;
PFNGLISBUFFERPROC = function(buffer: Cardinal): TGLboolean; stdcall;
PFNGLISBUFFERRESIDENTNVPROC = function(target: Cardinal): TGLboolean; stdcall;
PFNGLISENABLEDINDEXEDEXTPROC = function(target: Cardinal; index: Cardinal): TGLboolean; stdcall;
PFNGLISENABLEDIPROC = function(target: Cardinal; index: Cardinal): TGLboolean; stdcall;
PFNGLISFENCENVPROC = function(fence: Cardinal): TGLboolean; stdcall;
PFNGLISFRAMEBUFFEREXTPROC = function(framebuffer: Cardinal): TGLboolean; stdcall;
PFNGLISFRAMEBUFFERPROC = function(framebuffer: Cardinal): TGLboolean; stdcall;
PFNGLISNAMEDBUFFERRESIDENTNVPROC = function (buffer: Cardinal): TGLboolean; stdcall;
PFNGLISOCCLUSIONQUERYNVPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISPATHNVPROC = function(path: Cardinal): TGLboolean; stdcall;
PFNGLISPOINTINFILLPATHNVPROC = function (path: Cardinal; mask: Cardinal; x: TGLfloat; y: TGLfloat): TGLboolean; stdcall;
PFNGLISPOINTINSTROKEPATHNVPROC = function (path: Cardinal; x: TGLfloat; y: TGLfloat): TGLboolean; stdcall;
PFNGLISPROGRAMARBPROC = function(_program: Cardinal): TGLboolean; stdcall;
PFNGLISPROGRAMNVPROC = function (id: Cardinal): TGLboolean; stdcall;
PFNGLISPROGRAMPIPELINEPROC = function(pipeline: Cardinal): TGLboolean; stdcall;
PFNGLISPROGRAMPROC = function(_program: Cardinal):TGLboolean; stdcall;
PFNGLISQUERYARBPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISQUERYPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISRENDERBUFFEREXTPROC = function(renderbuffer: Cardinal): TGLboolean; stdcall;

GL_EXT_framebuffer_object (EXT #310)

PFNGLISRENDERBUFFERPROC = function(renderbuffer: Cardinal): TGLBoolean; stdcall;

GL_ARB_framebuffer_object (ARB #45)

PFNGLISSAMPLERPROC = function(sampler: Cardinal): TGLboolean; stdcall;
PFNGLISSHADERPROC = function(shader: Cardinal): TGLboolean; stdcall;
PFNGLISSYNCPROC = function(sync: TGLsync): TGLboolean; stdcall;
PFNGLISTEXTUREEXTPROC = function(texture: Cardinal): TGLboolean; stdcall;
PFNGLISTRANSFORMFEEDBACKPROC = function(id: Cardinal): TGLboolean; stdcall;
PFNGLISVERTEXARRAYPROC = function(_array: Cardinal): TGLboolean; stdcall;
PFNGLLINKPROGRAMARBPROC = procedure(programObj: TGLhandleARB); stdcall;
PFNGLLINKPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLLOADPROGRAMNVPROC = procedure (target: Cardinal; id: Cardinal; len: TGLSizei; programIdx: PGLubyte); stdcall;
PFNGLLOADTRANSPOSEMATRIXDARBPROC = procedure(m: PGLdouble); stdcall;
PFNGLLOADTRANSPOSEMATRIXDPROC = procedure(m: PGLdouble); stdcall;

deprecated;

PFNGLLOADTRANSPOSEMATRIXFARBPROC = procedure(m: PGLfloat); stdcall;

GL_ARB_transpose_matrix (ARB #3)

PFNGLLOADTRANSPOSEMATRIXFPROC = procedure(m: PGLfloat); stdcall;

deprecated; promoted to core v1.3 from GL_ARB_transpose_matrix

PFNGLLOCKARRAYSEXTPROC = procedure(first: TGLint; count: TGLsizei); stdcall;

GL_EXT_compiled_vertex_array (EXT #97)

PFNGLMAKEBUFFERNONRESIDENTNVPROC = procedure(target: Cardinal); stdcall;
PFNGLMAKEBUFFERRESIDENTNVPROC = procedure(target: Cardinal; access: Cardinal); stdcall;

GL_NV_shader_buffer_load (EXT #379)

PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC = procedure(buffer: Cardinal); stdcall;
PFNGLMAKENAMEDBUFFERRESIDENTNVPROC = procedure(buffer: Cardinal; access: Cardinal); stdcall;
PFNGLMAPBUFFERARBPROC = function(target: Cardinal; access: Cardinal): Pointer; stdcall;
PFNGLMAPBUFFERPROC = function(target: Cardinal; access: Cardinal): Pointer; stdcall;
PFNGLMAPBUFFERRANGEPROC = function(target: Cardinal; offset: TGLint; length: TGLsizei; access: TGLbitfield ): Pointer; stdcall;

GL_ARB_map_buffer_range (ARB #50)

PFNGLMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal; access: Cardinal): PGLvoid; stdcall;
PFNGLMAPNAMEDBUFFERRANGEEXTPROC = function(buffer: Cardinal; offset: TGLintptr; length: TGLsizeiptr; access: TGLbitfield): PGLvoid; stdcall;
PFNGLMATRIXFRUSTUMEXTPROC = procedure(mode: Cardinal; left: TGLdouble; right: TGLdouble; bottom: TGLdouble; top: TGLdouble; zNear: TGLdouble; zFar: TGLdouble); stdcall;
PFNGLMATRIXINDEXPOINTERARBPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer:pointer); stdcall;
PFNGLMATRIXINDEXUBVARBPROC = procedure(size: TGLint; indices: PGLubyte); stdcall;
PFNGLMATRIXINDEXUIVARBPROC = procedure(size: TGLint; indices: PGLuint); stdcall;
PFNGLMATRIXINDEXUSVARBPROC = procedure(size: TGLint; indices: PGLushort); stdcall;
PFNGLMATRIXLOADDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXLOADFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXLOADIDENTITYEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLMATRIXLOADTRANSPOSEDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXLOADTRANSPOSEFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXMULTDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXMULTFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXMULTTRANSPOSEDEXTPROC = procedure(mode: Cardinal; const m: PGLdouble); stdcall;
PFNGLMATRIXMULTTRANSPOSEFEXTPROC = procedure(mode: Cardinal; const m: PGLfloat); stdcall;
PFNGLMATRIXORTHOEXTPROC = procedure(mode: Cardinal; left: TGLdouble; right: TGLdouble; bottom: TGLdouble; top: TGLdouble; zNear: TGLdouble; zFar: TGLdouble); stdcall;
PFNGLMATRIXPOPEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLMATRIXPUSHEXTPROC = procedure(mode: Cardinal); stdcall;
PFNGLMATRIXROTATEDEXTPROC = procedure(mode: Cardinal; angle: TGLdouble; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLMATRIXROTATEFEXTPROC = procedure(mode: Cardinal; angle: TGLfloat; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLMATRIXSCALEDEXTPROC = procedure(mode: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLMATRIXSCALEFEXTPROC = procedure(mode: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLMATRIXTRANSLATEDEXTPROC = procedure(mode: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLMATRIXTRANSLATEFEXTPROC = procedure(mode: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLMINMAXPROC = procedure(target, internalformat: Cardinal; sink: TGLboolean); stdcall;

deprecated;

PFNGLMINSAMPLESHADINGARBPROC = procedure(value: Single); stdcall;

GL_ARB_sample_shading (ARB #70)

PFNGLMINSAMPLESHADINGPROC = procedure(value: Single); stdcall;

promoted to core v4.0 from GL_ARB_sample_shading (ARB #70)

PFNGLMULTIDRAWARRAYSEXTPROC = procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); stdcall;

GL_EXT_multi_draw_arrays (EXT #148)

PFNGLMultiDrawArraysIndirect = procedure(mode : Cardinal; const indirect : Pointer; drawcount : TGLsizei; stride : TGLsizei); stdcall;

GL_ARB_multi_draw_indirect (ARB #133)

PFNGLMULTIDRAWARRAYSPROC = procedure(mode: Cardinal; First: PGLint; Count: PGLsizei; primcount: TGLsizei); stdcall;

promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)

PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC = procedure(mode: Cardinal; count: PGLsizei; _type: Cardinal; var indices; primcount: TGLsizei; basevertex: PGLint); stdcall;
PFNGLMULTIDRAWELEMENTSEXTPROC = procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); stdcall;
PFNGLMultiDrawElementsIndirect = procedure(mode : Cardinal; type_ : Cardinal; const indirect : Pointer; drawcount : TGLsizei; stride : TGLsizei); stdcall;
PFNGLMULTIDRAWELEMENTSPROC = procedure(mode: Cardinal; Count: PGLsizei; AType: Cardinal; var indices; primcount: TGLsizei); stdcall;
PFNGLMULTITEXBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; interformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLMULTITEXCOORD1DARBPROC = procedure(target: Cardinal; s: TGLdouble); stdcall;
PFNGLMULTITEXCOORD1DPROC = procedure(target: Cardinal; s: TGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD1DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD1DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD1FARBPROC = procedure(target: Cardinal; s: TGLfloat); stdcall;
PFNGLMULTITEXCOORD1FPROC = procedure(target: Cardinal; s: TGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD1FVARBPROC = procedure(target: Cardinal; v: TGLfloat); stdcall;
PFNGLMULTITEXCOORD1FVPROC = procedure(target: Cardinal; v: TGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD1IARBPROC = procedure(target: Cardinal; s: TGLint); stdcall;
PFNGLMULTITEXCOORD1IPROC = procedure(target: Cardinal; s: TGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD1IVARBPROC = procedure(target: Cardinal; v: PGLInt); stdcall;
PFNGLMULTITEXCOORD1IVPROC = procedure(target: Cardinal; v: PGLInt); stdcall;

deprecated;

PFNGLMULTITEXCOORD1SARBPROC = procedure(target: Cardinal; s: TGLshort); stdcall;
PFNGLMULTITEXCOORD1SPROC = procedure(target: Cardinal; s: TGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD1SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD1SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD2DARBPROC = procedure(target: Cardinal; s, t: TGLdouble); stdcall;
PFNGLMULTITEXCOORD2DPROC = procedure(target: Cardinal; s, t: TGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD2DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD2DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD2FARBPROC = procedure(target: Cardinal; s, t: TGLfloat); stdcall;
PFNGLMULTITEXCOORD2FPROC = procedure(target: Cardinal; s, t: TGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD2FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD2FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD2IARBPROC = procedure(target: Cardinal; s, t: TGLint); stdcall;
PFNGLMULTITEXCOORD2IPROC = procedure(target: Cardinal; s, t: TGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD2IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD2IVPROC = procedure(target: Cardinal; v: PGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD2SARBPROC = procedure(target: Cardinal; s, t: TGLshort); stdcall;
PFNGLMULTITEXCOORD2SPROC = procedure(target: Cardinal; s, t: TGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD2SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD2SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD3DARBPROC = procedure(target: Cardinal; s, t, r: TGLdouble); stdcall;
PFNGLMULTITEXCOORD3DPROC = procedure(target: Cardinal; s, t, r: TGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD3DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD3DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD3FARBPROC = procedure(target: Cardinal; s, t, r: TGLfloat); stdcall;
PFNGLMULTITEXCOORD3FPROC = procedure(target: Cardinal; s, t, r: TGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD3FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD3FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD3IARBPROC = procedure(target: Cardinal; s, t, r: TGLint); stdcall;
PFNGLMULTITEXCOORD3IPROC = procedure(target: Cardinal; s, t, r: TGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD3IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD3IVPROC = procedure(target: Cardinal; v: PGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD3SARBPROC = procedure(target: Cardinal; s, t, r: TGLshort); stdcall;
PFNGLMULTITEXCOORD3SPROC = procedure(target: Cardinal; s, t, r: TGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD3SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD3SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD4DARBPROC = procedure(target: Cardinal; s, t, r, q: TGLdouble); stdcall;
PFNGLMULTITEXCOORD4DPROC = procedure(target: Cardinal; s, t, r, q: TGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD4DVARBPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;
PFNGLMULTITEXCOORD4DVPROC = procedure(target: Cardinal; v: PGLdouble); stdcall;

deprecated;

PFNGLMULTITEXCOORD4FARBPROC = procedure(target: Cardinal; s, t, r, q: TGLfloat); stdcall;
PFNGLMULTITEXCOORD4FPROC = procedure(target: Cardinal; s, t, r, q: TGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD4FVARBPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;
PFNGLMULTITEXCOORD4FVPROC = procedure(target: Cardinal; v: PGLfloat); stdcall;

deprecated;

PFNGLMULTITEXCOORD4IARBPROC = procedure(target: Cardinal; s, t, r, q: TGLint); stdcall;
PFNGLMULTITEXCOORD4IPROC = procedure(target: Cardinal; s, t, r, q: TGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD4IVARBPROC = procedure(target: Cardinal; v: PGLint); stdcall;
PFNGLMULTITEXCOORD4IVPROC = procedure(target: Cardinal; v: PGLint); stdcall;

deprecated;

PFNGLMULTITEXCOORD4SARBPROC = procedure(target: Cardinal; s, t, r, q: TGLshort); stdcall;
PFNGLMULTITEXCOORD4SPROC = procedure(target: Cardinal; s, t, r, q: TGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORD4SVARBPROC = procedure(target: Cardinal; v: PGLshort); stdcall;
PFNGLMULTITEXCOORD4SVPROC = procedure(target: Cardinal; v: PGLshort); stdcall;

deprecated;

PFNGLMULTITEXCOORDP1UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP1UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDP2UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP2UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDP3UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP3UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDP4UIPROC = procedure(texture: Cardinal; _type: Cardinal; coords: Cardinal); stdcall;
PFNGLMULTITEXCOORDP4UIVPROC = procedure(texture: Cardinal; _type: Cardinal; const coords: PGLuint); stdcall;
PFNGLMULTITEXCOORDPOINTEREXTPROC = procedure(texunit: Cardinal; size: TGLint; type_: Cardinal; stride: TGLsizei; const pointer: PGLvoid); stdcall;
PFNGLMULTITEXENVFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLMULTITEXENVFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLMULTITEXENVIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLMULTITEXENVIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXGENDEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLdouble); stdcall;
PFNGLMULTITEXGENDVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLdouble); stdcall;
PFNGLMULTITEXGENFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLMULTITEXGENFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLMULTITEXGENIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLMULTITEXGENIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXPARAMETERFEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLMULTITEXPARAMETERFVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLMULTITEXPARAMETERIEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLMULTITEXPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
PFNGLMULTITEXPARAMETERIVEXTPROC = procedure(texunit: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLMULTITEXRENDERBUFFEREXTPROC = procedure(texunit: Cardinal; target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLMULTITEXSUBIMAGE1DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXSUBIMAGE2DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLMULTITEXSUBIMAGE3DEXTPROC = procedure(texunit: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; type_: Cardinal; const pixels:PGLvoid); stdcall;
PFNGLMULTTRANSPOSEMATRIXDARBPROC = procedure(m: PGLdouble); stdcall;
PFNGLMULTTRANSPOSEMATRIXDPROC = procedure(m: PGLdouble); stdcall;

deprecated;

PFNGLMULTTRANSPOSEMATRIXFARBPROC = procedure(m: PGLfloat); stdcall;
PFNGLMULTTRANSPOSEMATRIXFPROC = procedure(m: PGLfloat); stdcall;

deprecated;

PFNGLNAMEDBUFFERDATAEXTPROC = procedure(buffer: Cardinal; size: TGLsizei; const data: PGLvoid; usage: Cardinal); stdcall;
PFNGLNAMEDBUFFERSUBDATAEXTPROC = procedure(buffer: Cardinal; offset: TGLintptr; size: TGLsizeiptr; const data: PGLvoid); stdcall;
PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = procedure(readBuffer: Cardinal; writeBuffer: Cardinal; readOffset: TGLintptr; writeOffset: TGLintptr; size: TGLsizeiptr); stdcall;
PFNGLNamedFramebufferParameteri = procedure(framebuffer : Cardinal; pname : Cardinal; param : TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; renderbuffertarget: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; textarget: Cardinal; texture: Cardinal; level: TGLint; zoffset: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; face: Cardinal); stdcall;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC = procedure(framebuffer: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLdouble); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLfloat); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; const params: PGLuint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLfloat); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLint); stdcall;
PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC = procedure(program_: Cardinal; target: Cardinal; index_: Cardinal; count: TGLsizei; const params: PGLuint); stdcall;
PFNGLNAMEDPROGRAMSTRINGEXTPROC = procedure(program_: Cardinal; target: Cardinal; format: Cardinal; len: TGLsizei; const string_: PGLvoid); stdcall;
PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = procedure(renderbuffer: Cardinal; interformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC = procedure(renderbuffer: Cardinal; coverageSamples: TGLsizei; colorSamples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = procedure(renderbuffer: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLNORMALFORMATNVPROC = procedure(_type: Cardinal; stride: TGLsizei); stdcall;
PFNGLNORMALP3UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLNORMALP3UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLObjectLabel = procedure(identifier : Cardinal; name : Cardinal; length : TGLsizei; const label_ : PAnsiChar); stdcall;
PFNGLObjectPtrLabel = procedure(const ptr : Pointer; length : TGLsizei; const label_ : PAnsiChar); stdcall;
PFNGLPATCHPARAMETERFVPROC = procedure(pname: Cardinal; const values: PGLfloat); stdcall;
PFNGLPATCHPARAMETERIPROC = procedure(pname: Cardinal; value: TGLint); stdcall;

GL_ARB_tessellation_shader (ARB #91)

PFNGLPATHCOLORGENNVPROC = procedure (color: Cardinal; genMode: Cardinal; colorFormat: Cardinal; coeffs: PGLfloat); stdcall;
PFNGLPATHCOMMANDSNVPROC = procedure(path: Cardinal; numCommands: TGLsizei; commands: PGLubyte; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHCOORDSNVPROC = procedure(path: Cardinal; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHCOVERDEPTHFUNCNVPROC = procedure (func: Cardinal); stdcall;
PFNGLPATHDASHARRAYNVPROC = procedure (path: Cardinal; dashCount: TGLsizei; dashArray: PGLfloat); stdcall;
PFNGLPATHFOGGENNVPROC = procedure (genMode: Cardinal); stdcall;
PFNGLPATHGLYPHRANGENVPROC = procedure(firstPathName: Cardinal; fontTarget: Cardinal; fontName: PAnsiChar; fontStyle: TGLbitfield; firstGlyph: Cardinal; numGlyphs: TGLsizei; handleMissingGlyphs: Cardinal; pathParameterTemplate: Cardinal; emScale: TGLfloat); stdcall;
PFNGLPATHGLYPHSNVPROC = procedure(firstPathName: Cardinal; fontTarget: Cardinal; fontName: PGLvoid; fontStyle: TGLbitfield; numGlyphs: TGLsizei; _type: Cardinal; charcodes: PGLvoid; handleMissingGlyphs: Cardinal; pathParameterTemplate: Cardinal; emScale: TGLfloat); stdcall;
PFNGLPATHPARAMETERFNVPROC = procedure (path: Cardinal; pname: Cardinal; value: TGLfloat); stdcall;
PFNGLPATHPARAMETERFVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLfloat); stdcall;
PFNGLPATHPARAMETERINVPROC = procedure (path: Cardinal; pname: Cardinal; value: TGLint); stdcall;
PFNGLPATHPARAMETERIVNVPROC = procedure (path: Cardinal; pname: Cardinal; value: PGLint); stdcall;
PFNGLPATHSTENCILDEPTHOFFSETNVPROC = procedure (factor: TGLfloat; units: TGLfloat); stdcall;
PFNGLPATHSTENCILFUNCNVPROC = procedure (func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
PFNGLPATHSTRINGNVPROC = procedure(path: Cardinal; format: Cardinal; length: TGLsizei; pathString: PGLvoid); stdcall;
PFNGLPATHSUBCOMMANDSNVPROC = procedure(path: Cardinal; commandStart: TGLsizei; commandsToDelete: TGLsizei; numCommands: TGLsizei; commands: PGLubyte; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHSUBCOORDSNVPROC = procedure(path: Cardinal; coordStart: TGLsizei; numCoords: TGLsizei; coordType: Cardinal; coords: PGLvoid); stdcall;
PFNGLPATHTEXGENNVPROC = procedure (texCoordSet: Cardinal; genMode: Cardinal; components: TGLint; coeffs: PGLfloat); stdcall;
PFNGLPAUSETRANSFORMFEEDBACKPROC = procedure(); stdcall;
PFNGLPOINTALONGPATHNVPROC = function (path: Cardinal; startSegment: TGLsizei; numSegments: TGLsizei; distance: TGLfloat; x: PGLfloat; y: PGLfloat; tangentX: PGLfloat; tangentY: PGLfloat): TGLboolean; stdcall;
PFNGLPOINTPARAMETERFARBPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;

GL_ARB_point_parameter (ARB #14)

PFNGLPOINTPARAMETERFPROC = procedure(pname: Cardinal; param: TGLfloat); stdcall;

promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)

PFNGLPOINTPARAMETERFVARBPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
PFNGLPOINTPARAMETERFVPROC = procedure(pname: Cardinal; params: PGLfloat); stdcall;
PFNGLPOINTPARAMETERINVPROC = procedure(pname: Cardinal; param: TGLint); stdcall;

GL_NV_point_sprite (EXT #262)

PFNGLPOINTPARAMETERIPROC = procedure(pname: Cardinal; param: TGLint); stdcall;
PFNGLPOINTPARAMETERIVNVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
PFNGLPOINTPARAMETERIVPROC = procedure(pname: Cardinal; params: PGLint); stdcall;
PFNGLPOLYGONOFFSETEXTPROC = procedure(factor, bias: TGLfloat); stdcall;

GL_EXT_polygon_offset (EXT #3)

PFNGLPopDebugGroup = procedure; stdcall;
PFNGLPRIMITIVERESTARTINDEXNVPROC = procedure(index: Cardinal); stdcall;
PFNGLPRIMITIVERESTARTINDEXPROC = procedure(index: Cardinal); stdcall;
PFNGLPRIMITIVERESTARTNVPROC = procedure(); stdcall;

GL_NV_primitive_restart (EXT #285)

PFNGLPRIORITIZETEXTURESEXTPROC = procedure(n: TGLsizei; textures: PGLuint; priorities: PSingle); stdcall;
PFNGLPROGRAMBINARYPROC = procedure(_program: Cardinal; binaryFormat: Cardinal; binary: Pointer; length: TGLsizei); stdcall;
PFNGLPROGRAMENVPARAMETER4DARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLPROGRAMENVPARAMETER4DVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLdouble); stdcall;
PFNGLPROGRAMENVPARAMETER4FARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLPROGRAMENVPARAMETER4FVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLfloat); stdcall;
PFNGLPROGRAMENVPARAMETERS4FVEXTPROC = procedure(target:Cardinal; index:Cardinal; count:TGLsizei; const params:PGLfloat); stdcall;

GL_EXT_gpu_program_parameters (EXT #320)

PFNGLPROGRAMLOCALPARAMETER4DARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLPROGRAMLOCALPARAMETER4DVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLdouble); stdcall;
PFNGLPROGRAMLOCALPARAMETER4FARBPROC = procedure(target: Cardinal; index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLPROGRAMLOCALPARAMETER4FVARBPROC = procedure(target: Cardinal; index: Cardinal; const params: PGLfloat); stdcall;
PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC = procedure(target:Cardinal; index:Cardinal; count:TGLsizei; const params:PGLFloat); stdcall;
PFNGLPROGRAMPARAMETER4DNVPROC = procedure (target: Cardinal; index: Cardinal; x, y, z, w: TGLdouble); stdcall;
PFNGLPROGRAMPARAMETER4DVNVPROC = procedure (target: Cardinal; index: Cardinal; v: PGLdouble ); stdcall;
PFNGLPROGRAMPARAMETER4FNVPROC = procedure (target: Cardinal; index: Cardinal; x, y, z, w: TGLfloat); stdcall;
PFNGLPROGRAMPARAMETER4FVNVPROC = procedure (target: Cardinal; index: Cardinal; v: PGLfloat); stdcall;
PFNGLPROGRAMPARAMETERIARBPROC = procedure ( _program:Cardinal; pname:Cardinal; value: TGLint); stdcall;

GL_ARB_geometry_shader4 (ARB #47)

PFNGLPROGRAMPARAMETERIEXTPROC = procedure ( _program:Cardinal; pname:Cardinal; value: TGLint); stdcall;

GL_EXT_geometry_shader4 (EXT #324)

PFNGLPROGRAMPARAMETERIPROC = procedure(_program: Cardinal; pname: Cardinal; value: TGLint); stdcall;
PFNGLPROGRAMPARAMETERS4DVNVPROC = procedure (target: Cardinal; index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLPROGRAMPARAMETERS4FVNVPROC = procedure (target: Cardinal; index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLPROGRAMSTRINGARBPROC = procedure(target: Cardinal; format: Cardinal; len: TGLsizei; const _string: pointer); stdcall;
PFNGLPROGRAMUNIFORM1DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM1FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM1FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM1IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint); stdcall;
PFNGLPROGRAMUNIFORM1IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM1UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM1UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORM2DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM2FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM2IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint); stdcall;
PFNGLPROGRAMUNIFORM2IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM2UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM2UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORM3DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble; v2: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM3FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM3IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
PFNGLPROGRAMUNIFORM3IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM3UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal; v2: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM3UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORM4DEXTPROC = procedure(_program: Cardinal; location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4DPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLdouble; v1: TGLdouble; v2: TGLdouble; v3: TGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORM4FPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
PFNGLPROGRAMUNIFORM4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORM4IPROC = procedure(_program: Cardinal; location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
PFNGLPROGRAMUNIFORM4IVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLPROGRAMUNIFORM4UIPROC = procedure(_program: Cardinal; location: TGLint; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal); stdcall;
PFNGLPROGRAMUNIFORM4UIVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; value: PGLuint); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLdouble); stdcall;
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLPROGRAMUNIFORMUI64NVPROC = procedure(_program: Cardinal; location: TGLint; value: TGLuint64EXT); stdcall;
PFNGLPROGRAMUNIFORMUI64VNVPROC = procedure(_program: Cardinal; location: TGLint; count: TGLsizei; const value: PGLuint64EXT); stdcall;
PFNGLPROGRAMVERTEXLIMITNVPROC = procedure (target: Cardinal; limit: TGLint); stdcall;

GL_NV_geometry_program4 (EXT #323)

PFNGLPROVOKINGVERTEXPROC = procedure(mode: Cardinal); stdcall;

GL_ARB_provoking_vertex (ARB #64)

PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC = procedure(mask: TGLbitfield); stdcall;
PFNGLPushDebugGroup = procedure(source : Cardinal; id : Cardinal; length : TGLsizei; const message_ : PAnsiChar); stdcall;

GL_ARB_shader_stencil_export (ARB #106) (no entry points) GL_KHR_debug (ARB #119)

PFNGLQUERYCOUNTERPROC = procedure(id: Cardinal; target: Cardinal); stdcall;

GL_ARB_timer_query (ARB #85)

PFNGLREADNPIXELSARBPROC = procedure(x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; _type: Cardinal; bufSize: TGLsizei; data: Pointer); stdcall;
PFNGLRELEASESHADERCOMPILERPROC = procedure(); stdcall;

GL_ARB_ES2_compatibility (ARB #95)

PFNGLRENDERBUFFERSTORAGEEXTPROC = procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;

GL_EXT_framebuffer_multisample (EXT #317)

PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLRENDERBUFFERSTORAGEPROC = procedure(target: Cardinal; internalformat: Cardinal; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLREQUESTRESIDENTPROGRAMSNVPROC = procedure (n: TGLSizei; programs: PGLuint); stdcall;
PFNGLRESETHISTOGRAMPROC = procedure(target: Cardinal); stdcall;

deprecated;

PFNGLRESETMINMAXPROC = procedure(target: Cardinal); stdcall;

deprecated;

PFNGLRESIZEBUFFERSMESAPROC = procedure; stdcall;

GL_MESA_resize_buffers (EXT #196)

PFNGLRESUMETRANSFORMFEEDBACKPROC = procedure(); stdcall;
PFNGLSAMPLECOVERAGEARBPROC = procedure(Value: Single; invert: TGLboolean); stdcall;

GL_ARB_multisample (ARB #5)

PFNGLSAMPLECOVERAGEPROC = procedure(Value: Single; invert: TGLboolean); stdcall;

promoted to core v1.3 from GL_ARB_multisample (#5)

PFNGLSAMPLEMASKEXTPROC = procedure(Value: Single; invert: TGLboolean); stdcall;

GL_EXT_multisample (EXT #209)

PFNGLSAMPLEMASKIPROC = procedure(index: Cardinal; mask: TGLbitfield); stdcall;
PFNGLSAMPLEMASKSGISPROC = procedure(Value: Single; invert: TGLboolean); stdcall;

GL_SGIS_multisample (EXT #25)

PFNGLSAMPLEPASSARBPROC = procedure(pass: Cardinal); stdcall;

ARB Extensions unknown ARB extension

PFNGLSAMPLEPATTERNEXTPROC = procedure(pattern: Cardinal); stdcall;
PFNGLSAMPLEPATTERNSGISPROC = procedure(pattern: Cardinal); stdcall;
PFNGLSAMPLERPARAMETERFPROC = procedure(sampler: Cardinal; pname: Cardinal; param: TGLfloat); stdcall;
PFNGLSAMPLERPARAMETERFVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLSAMPLERPARAMETERIIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLSAMPLERPARAMETERIPROC = procedure(sampler: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLSAMPLERPARAMETERIUIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
PFNGLSAMPLERPARAMETERIVPROC = procedure(sampler: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLSCISSORARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; v: PGLint); stdcall;
PFNGLSCISSORINDEXEDPROC = procedure(index: Cardinal; left: TGLint; bottom: TGLint; width: TGLsizei; height: TGLsizei); stdcall;
PFNGLSCISSORINDEXEDVPROC = procedure(index: Cardinal; v: PGLint); stdcall;
PFNGLSECONDARYCOLOR3BEXTPROC = procedure(red, green, blue: TGLbyte); stdcall;

GL_EXT_secondary_color (EXT #145)

PFNGLSECONDARYCOLOR3BPROC = procedure(red, green, blue: TGLbyte); stdcall;

deprecated; promoted to core v1.4 from GL_EXT_secondary_color (#145)

PFNGLSECONDARYCOLOR3BVEXTPROC = procedure(v: PGLbyte); stdcall;
PFNGLSECONDARYCOLOR3BVPROC = procedure(v: PGLbyte); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3DEXTPROC = procedure(red, green, blue: TGLdouble); stdcall;
PFNGLSECONDARYCOLOR3DPROC = procedure(red, green, blue: TGLdouble); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3DVEXTPROC = procedure(v: PGLdouble); stdcall;
PFNGLSECONDARYCOLOR3DVPROC = procedure(v: PGLdouble); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3FEXTPROC = procedure(red, green, blue: TGLfloat); stdcall;
PFNGLSECONDARYCOLOR3FPROC = procedure(red, green, blue: TGLfloat); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3FVEXTPROC = procedure(v: PGLfloat); stdcall;
PFNGLSECONDARYCOLOR3FVPROC = procedure(v: PGLfloat); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3IEXTPROC = procedure(red, green, blue: TGLint); stdcall;
PFNGLSECONDARYCOLOR3IPROC = procedure(red, green, blue: TGLint); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3IVEXTPROC = procedure(v: PGLint); stdcall;
PFNGLSECONDARYCOLOR3IVPROC = procedure(v: PGLint); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3SEXTPROC = procedure(red, green, blue: TGLshort); stdcall;
PFNGLSECONDARYCOLOR3SPROC = procedure(red, green, blue: TGLshort); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3SVEXTPROC = procedure(v: PGLshort); stdcall;
PFNGLSECONDARYCOLOR3SVPROC = procedure(v: PGLshort); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3UBEXTPROC = procedure(red, green, blue: TGLubyte); stdcall;
PFNGLSECONDARYCOLOR3UBPROC = procedure(red, green, blue: TGLubyte); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3UBVEXTPROC = procedure(v: PGLubyte); stdcall;
PFNGLSECONDARYCOLOR3UBVPROC = procedure(v: PGLubyte); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3UIEXTPROC = procedure(red, green, blue: Cardinal); stdcall;
PFNGLSECONDARYCOLOR3UIPROC = procedure(red, green, blue: Cardinal); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3UIVEXTPROC = procedure(v: PGLuint); stdcall;
PFNGLSECONDARYCOLOR3UIVPROC = procedure(v: PGLuint); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3USEXTPROC = procedure(red, green, blue: TGLushort); stdcall;
PFNGLSECONDARYCOLOR3USPROC = procedure(red, green, blue: TGLushort); stdcall;

deprecated;

PFNGLSECONDARYCOLOR3USVEXTPROC = procedure(v: PGLushort); stdcall;
PFNGLSECONDARYCOLOR3USVPROC = procedure(v: PGLushort); stdcall;

deprecated;

PFNGLSECONDARYCOLORFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLSECONDARYCOLORP3UIPROC = procedure(_type: Cardinal; color: Cardinal); stdcall;
PFNGLSECONDARYCOLORP3UIVPROC = procedure(_type: Cardinal; const color: PGLuint); stdcall;
PFNGLSECONDARYCOLORPOINTEREXTPROC = procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); stdcall;
PFNGLSECONDARYCOLORPOINTERPROC = procedure(Size: TGLint; Atype: Cardinal; stride: TGLsizei; p: pointer); stdcall;

deprecated;

PFNGLSEPARABLEFILTER2DPROC = procedure(target, internalformat: Cardinal; width, height: TGLsizei; format, Atype: Cardinal; row, column: Pointer); stdcall;

deprecated;

PFNGLSETFENCENVPROC = procedure(fence: Cardinal; condition: Cardinal); stdcall;
PFNGLSHADERBINARYPROC = procedure(count: TGLsizei; shaders: PGLuint; binaryformat: Cardinal; binary: Pointer; length: TGLsizei); stdcall;
PFNGLSHADERSOURCEARBPROC = procedure(shaderObj: TGLhandleARB; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); stdcall;
PFNGLSHADERSOURCEPROC = procedure(shader: Cardinal; count: TGLsizei; const _string: PGLPCharArray; const length: PGLint); stdcall;
PFNGLShaderStorageBlockBinding = procedure(program_ : Cardinal; storageBlockIndex : Cardinal; storageBlockBinding : Cardinal); stdcall;

GL_ARB_robust_buffer_access_behavior (ARB #135) (no entry points) GL_ARB_shader_image_size (ARB #136) (no entry points) GL_ARB_shader_storage_buffer_object (ARB #137)

PFNGLSTENCILCLEARTAGEXTPROC = procedure(stencilTagBits: TGLsizei; stencilClearTag: Cardinal); stdcall;

GL_EXT_stencil_clear_tag (EXT #314)

PFNGLSTENCILFILLPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; fillMode: Cardinal; mask: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLSTENCILFILLPATHNVPROC = procedure (path: Cardinal; fillMode: Cardinal; mask: Cardinal); stdcall;
PFNGLSTENCILFUNCSEPARATEPROC = procedure(face, func: Cardinal; ref: TGLint; mask: Cardinal); stdcall;
PFNGLSTENCILMASKSEPARATEPROC = procedure(face: Cardinal; mask: Cardinal); stdcall;
PFNGLSTENCILOPSEPARATEPROC = procedure(face, sfail, dpfail, dppass: Cardinal); stdcall;

promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)

PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC = procedure (numPaths: TGLsizei; pathNameType: Cardinal; paths: PGLvoid; pathBase: Cardinal; reference: TGLint; mask: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLSTENCILSTROKEPATHNVPROC = procedure(path: Cardinal; reference: TGLint; mask: Cardinal); stdcall;
PFNGLSTRINGMARKERGREMEDYPROC = procedure(len: TGLsizei; str: PAnsiChar); stdcall;

GL_GREMEDY_string_marker (EXT #311)

PFNGLTBUFFERMASK3DFXPROC = procedure(mask: Cardinal); stdcall;

GL_3DFX_tbuffer (EXT #208)

PFNGLTESSELLATIONFACTORAMDPROC = procedure(factor: TGLfloat); stdcall;

GL_AMD_vertex_shader_tessellator (EXT #363)

PFNGLTESSELLATIONMODEAMDPROC = procedure(mode: Cardinal); stdcall;
PFNGLTESTFENCENVPROC = function(fence: Cardinal): TGLboolean; stdcall;
PFNGLTEXBUFFERARBPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;

GL_ARB_texture_buffer_object (ARB #51)

PFNGLTEXBUFFEREXTPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;

GL_EXT_packed_float (EXT #328) WGL_EXT_pixel_format_packed_float GLX_EXT_fbconfig_packed_float GL_EXT_texture_array (EXT #329) glFramebufferTextureLayerEXT: procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); GL_EXT_texture_buffer_object (EXT #330)

PFNGLTEXBUFFERPROC = procedure(target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLTexBufferRange = procedure(target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset: TGLintptr; size : TGLsizeiptr); stdcall;

GL_ARB_stencil_texturing (ARB #138) (no entry points) GL_ARB_texture_buffer_range (ARB #139)

PFNGLTEXCOORDFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLTEXCOORDP1UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP1UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXCOORDP2UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP2UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXCOORDP3UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP3UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXCOORDP4UIPROC = procedure(_type: Cardinal; coords: Cardinal); stdcall;
PFNGLTEXCOORDP4UIVPROC = procedure(_type: Cardinal; const coords: PGLuint); stdcall;
PFNGLTEXIMAGE2DMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint; width: TGLsizei; height: TGLsizei; fixedsamplelocations: TGLboolean); stdcall;

GL_ARB_texture_multisample (ARB #67)

PFNGLTEXIMAGE3DEXTPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei; border: TGLint; Format, AType: Cardinal; pixels: Pointer); stdcall;

GL_EXT_texture3D (EXT #6)

PFNGLTEXIMAGE3DMULTISAMPLEPROC = procedure(target: Cardinal; samples: TGLsizei; internalformat: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; fixedsamplelocations: TGLboolean); stdcall;
PFNGLTEXIMAGE3DPROC = procedure(target: Cardinal; level: TGLint; internalformat: Cardinal; width, height, depth: TGLsizei; border: TGLint; format: Cardinal; Atype: Cardinal; pixels: Pointer); stdcall;

promoted to core v1.2 from GL_EXT_texture3D (#6)

PFNGLTEXPARAMETERIIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;
PFNGLTEXPARAMETERIIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLint); stdcall;

promoted to core v3.0 from GL_EXT_texture_integer

PFNGLTEXPARAMETERIUIVEXTPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLTEXPARAMETERIUIVPROC = procedure(target: Cardinal; pname: Cardinal; params: PGLuint); stdcall;
PFNGLTexStorage2DMultisample = procedure(target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;

GL_ARB_texture_query_levels (ARB #140) (no entry points) GL_ARB_texture_storage_multisample (ARB #141)

PFNGLTexStorage3DMultisample = procedure(target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTEXSUBIMAGE1DEXTPROC = procedure(target: Cardinal; level, xoffset: TGLint; width: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;

GL_EXT_subtexture (EXT #9)

PFNGLTEXSUBIMAGE2DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset: TGLint; width, height: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXSUBIMAGE3DEXTPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format, Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXSUBIMAGE3DPROC = procedure(target: Cardinal; level, xoffset, yoffset, zoffset: TGLint; width, height, depth: TGLsizei; format: Cardinal; Atype: Cardinal; pixels: Pointer); stdcall;
PFNGLTEXTUREBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; internalformat: Cardinal; buffer: Cardinal); stdcall;
PFNGLTextureBufferRange = procedure(texture : Cardinal; target : Cardinal; internalformat : Cardinal; buffer : Cardinal; offset : TGLintptr; size : TGLsizeiptr); stdcall;
PFNGLTEXTURECOLORMASKSGISPROC = procedure(red, green, blue, alpha: TGLboolean); stdcall;

GL_SGIS_texture_color_mask (EXT #214)

PFNGLTEXTUREIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTUREIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTUREIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; internalformat: Cardinal; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTUREPARAMETERFVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLfloat); stdcall;
PFNGLTEXTUREPARAMETERIEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; param: TGLint); stdcall;
PFNGLTEXTUREPARAMETERIIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLTEXTUREPARAMETERIUIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLuint); stdcall;
PFNGLTEXTUREPARAMETERIVEXTPROC = procedure(texture: Cardinal; target: Cardinal; pname: Cardinal; const params: PGLint); stdcall;
PFNGLTEXTURERENDERBUFFEREXTPROC = procedure(texture: Cardinal; target: Cardinal; renderbuffer: Cardinal); stdcall;
PFNGLTextureStorage2DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTextureStorage3DMultisample = procedure(texture : Cardinal; target : Cardinal; samples : TGLsizei; internalformat : Cardinal; width : TGLsizei; height : TGLsizei; depth : TGLsizei; fixedsamplelocations : TGLboolean); stdcall;
PFNGLTEXTURESUBIMAGE1DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; width: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTURESUBIMAGE2DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; width: TGLsizei; height: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTEXTURESUBIMAGE3DEXTPROC = procedure(texture: Cardinal; target: Cardinal; level: TGLint; xoffset: TGLint; yoffset: TGLint; zoffset: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; format: Cardinal; type_: Cardinal; const pixels: PGLvoid); stdcall;
PFNGLTextureView = procedure(texture : Cardinal; target : Cardinal; origtexture : Cardinal; internalformat : Cardinal; minlevel : Cardinal; numlevels : Cardinal; minlayer : Cardinal; numlayers : Cardinal); stdcall;

GL_ARB_texture_view (ARB #124)

PFNGLTRACKMATRIXNVPROC = procedure (target: Cardinal; address: Cardinal; matrix: Cardinal; transform: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC = procedure(count: TGLsizei; attribs: PGLint; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC = procedure(_program: Cardinal; count: TGLsizei; const varyings: PGLPCharArray; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC = procedure(_program: Cardinal; count: TGLsizei; locations: PGLint; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC = procedure(_program: Cardinal; count: TGLsizei; const varyings: PGLPCharArray; bufferMode: Cardinal); stdcall;
PFNGLTRANSFORMPATHNVPROC = procedure ( resultPath: Cardinal; srcPath: Cardinal; transformType: Cardinal; transformValues: PGLfloat); stdcall;
PFNGLUDELETENURBSTESSELLATOREXTPROC = procedure(nurb: PGLUnurbs); stdcall;
PFNGLUNEWNURBSTESSELLATOREXTPROC = function: PGLUnurbs; stdcall;
PFNGLUNIFORM1DPROC = procedure(location: TGLint; x: TGLdouble); stdcall;

GL_ARB_gpu_shader_fp64 (ARB #89)

PFNGLUNIFORM1DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM1FARBPROC = procedure(location: TGLint; v0: TGLfloat); stdcall;
PFNGLUNIFORM1FPROC = procedure(location: TGLint; v0: TGLfloat); stdcall;
PFNGLUNIFORM1FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM1FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM1IARBPROC = procedure(location: TGLint; v0: TGLint); stdcall;
PFNGLUNIFORM1IPROC = procedure(location: TGLint; v0: TGLint); stdcall;
PFNGLUNIFORM1IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM1IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM1UIEXTPROC = procedure(location: TGLInt; v0: Cardinal); stdcall;
PFNGLUNIFORM1UIPROC = procedure(location: TGLInt; v0: Cardinal); stdcall;
PFNGLUNIFORM1UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM1UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM2DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLUNIFORM2DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM2FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
PFNGLUNIFORM2FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat); stdcall;
PFNGLUNIFORM2FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM2FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM2IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint); stdcall;
PFNGLUNIFORM2IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint); stdcall;
PFNGLUNIFORM2IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM2IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM2UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal); stdcall;
PFNGLUNIFORM2UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal); stdcall;
PFNGLUNIFORM2UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM2UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM3DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLUNIFORM3DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM3FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
PFNGLUNIFORM3FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat); stdcall;
PFNGLUNIFORM3FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM3FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM3IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
PFNGLUNIFORM3IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint); stdcall;
PFNGLUNIFORM3IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM3IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM3UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal); stdcall;
PFNGLUNIFORM3UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal); stdcall;
PFNGLUNIFORM3UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM3UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM4DPROC = procedure(location: TGLint; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLUNIFORM4DVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLdouble); stdcall;
PFNGLUNIFORM4FARBPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
PFNGLUNIFORM4FPROC = procedure(location: TGLint; v0: TGLfloat; v1: TGLfloat; v2: TGLfloat; v3: TGLfloat); stdcall;
PFNGLUNIFORM4FVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM4FVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLfloat); stdcall;
PFNGLUNIFORM4IARBPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
PFNGLUNIFORM4IPROC = procedure(location: TGLint; v0: TGLint; v1: TGLint; v2: TGLint; v3: TGLint); stdcall;
PFNGLUNIFORM4IVARBPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM4IVPROC = procedure(location: TGLint; count: TGLsizei; value: PGLint); stdcall;
PFNGLUNIFORM4UIEXTPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal); stdcall;
PFNGLUNIFORM4UIPROC = procedure(location: TGLInt; v0: Cardinal; v1: Cardinal; v2: Cardinal; v3: Cardinal); stdcall;
PFNGLUNIFORM4UIVEXTPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORM4UIVPROC = procedure(location: TGLInt; count: TGLsizei; value: PGLuint); stdcall;
PFNGLUNIFORMBLOCKBINDINGPROC = procedure(_program: Cardinal; uniformBlockIndex: Cardinal; uniformBlockBinding: Cardinal); stdcall;
PFNGLUNIFORMBUFFEREXTPROC = procedure(_program: Cardinal; location: TGLint; buffer: Cardinal); stdcall;

GL_EXT_bindable_uniform (EXT #342)

PFNGLUNIFORMMATRIX2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX2FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX2X3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX2X3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;

core 2.1 new commands in OpenGL 2.1

PFNGLUNIFORMMATRIX2X4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX2X4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX3FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3X2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX3X2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX3X4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX3X4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX4FVARBPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4X2DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX4X2FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMMATRIX4X3DVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLboolean; const value: PGLdouble); stdcall;
PFNGLUNIFORMMATRIX4X3FVPROC = procedure(location: TGLint; count: TGLsizei; transpose: TGLBoolean; value: PGLfloat); stdcall;
PFNGLUNIFORMSUBROUTINESUIVPROC = procedure(shadertype: Cardinal; count: TGLsizei; const indices: PGLuint); stdcall;
PFNGLUNIFORMUI64NVPROC = procedure(location: TGLint; value: TGLuint64EXT); stdcall;
PFNGLUNIFORMUI64VNVPROC = procedure(location: TGLint; count: TGLsizei; const value: PGLuint64EXT); stdcall;
PFNGLUNLOCKARRAYSEXTPROC = procedure; stdcall;
PFNGLUNMAPBUFFERARBPROC = function(target: Cardinal): TGLboolean; stdcall;
PFNGLUNMAPBUFFERPROC = function(target: Cardinal): TGLboolean; stdcall;
PFNGLUNMAPNAMEDBUFFEREXTPROC = function(buffer: Cardinal): TGLboolean; stdcall;
PFNGLUNURBSCALLBACKDATAEXTPROC = procedure(nurb: PGLUnurbs; userData: Pointer); stdcall;

GLU extensions (might not be same naming as c versions?)

PFNGLUSEPROGRAMOBJECTARBPROC = procedure(programObj: TGLhandleARB); stdcall;
PFNGLUSEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLUSEPROGRAMSTAGESPROC = procedure(pipeline: Cardinal; stages: TGLbitfield; _program: Cardinal); stdcall;

GL_ARB_separate_shader_objects (ARB #97)

PFNGLVALIDATEPROGRAMARBPROC = procedure(programObj: TGLhandleARB); stdcall;
PFNGLVALIDATEPROGRAMPIPELINEPROC = procedure(pipeline: Cardinal); stdcall;
PFNGLVALIDATEPROGRAMPROC = procedure(_program: Cardinal); stdcall;
PFNGLVertexArrayBindVertexBuffer = procedure(vaobj : Cardinal; bindingindex : Cardinal; buffer : Cardinal; offset : TGLintptr; stride : TGLsizei); stdcall;
PFNGLVERTEXARRAYRANGENVPROC = procedure(Size: TGLsizei; p: pointer); stdcall;
PFNGLVertexArrayVertexAttribBinding = procedure(vaobj : Cardinal; attribindex : Cardinal; bindingindex : Cardinal); stdcall;
PFNGLVertexArrayVertexAttribFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); stdcall;
PFNGLVertexArrayVertexAttribIFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVertexArrayVertexAttribLFormat = procedure(vaobj : Cardinal; attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC = procedure (vaobj: Cardinal; buffer: Cardinal; index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; offset: TGLintptr); stdcall;

VertexArrayVertexAttribLOffsetEXT only valid if EXT_direct_state_access is available

PFNGLVertexArrayVertexBindingDivisor = procedure(vaobj : Cardinal; bindingindex : Cardinal; divisor : Cardinal); stdcall;
PFNGLVERTEXATTRIB1DARBPROC = procedure(index: Cardinal; x: TGLdouble); stdcall;

GL_ARB_vertex_program (ARB #26)

PFNGLVERTEXATTRIB1DNVPROC = procedure (index: Cardinal; x: TGLdouble); stdcall;
PFNGLVERTEXATTRIB1DPROC = procedure(index:Cardinal; x: TGLdouble); stdcall;
PFNGLVERTEXATTRIB1DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB1DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB1DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB1FARBPROC = procedure(index: Cardinal; x: TGLfloat); stdcall;
PFNGLVERTEXATTRIB1FNVPROC = procedure (index: Cardinal; x: TGLfloat); stdcall;
PFNGLVERTEXATTRIB1FPROC = procedure(index:Cardinal; x: TGLfloat); stdcall;
PFNGLVERTEXATTRIB1FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB1FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB1FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB1SARBPROC = procedure(index: Cardinal; x: TGLshort); stdcall;
PFNGLVERTEXATTRIB1SNVPROC = procedure (index: Cardinal; x: TGLshort); stdcall;
PFNGLVERTEXATTRIB1SPROC = procedure(index:Cardinal; x: TGLshort); stdcall;
PFNGLVERTEXATTRIB1SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB1SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB1SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB2DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLVERTEXATTRIB2DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLVERTEXATTRIB2DPROC = procedure(index:Cardinal; x,y: TGLdouble); stdcall;
PFNGLVERTEXATTRIB2DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB2DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB2DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB2FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat); stdcall;
PFNGLVERTEXATTRIB2FNVPROC = procedure (index: Cardinal; x: TGLfloat; y: TGLfloat); stdcall;
PFNGLVERTEXATTRIB2FPROC = procedure(index:Cardinal; x,y: TGLfloat); stdcall;
PFNGLVERTEXATTRIB2FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB2FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB2FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB2SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort); stdcall;
PFNGLVERTEXATTRIB2SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort); stdcall;
PFNGLVERTEXATTRIB2SPROC = procedure(index:Cardinal; x,y: TGLshort); stdcall;
PFNGLVERTEXATTRIB2SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB2SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB2SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB3DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLVERTEXATTRIB3DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLVERTEXATTRIB3DPROC = procedure(index:Cardinal; x,y,z: TGLdouble); stdcall;
PFNGLVERTEXATTRIB3DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB3DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB3DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB3FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLVERTEXATTRIB3FNVPROC = procedure (index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat); stdcall;
PFNGLVERTEXATTRIB3FPROC = procedure(index:Cardinal; x,y,z: TGLfloat); stdcall;
PFNGLVERTEXATTRIB3FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB3FVNVPROC = procedure (index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB3FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB3SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort); stdcall;
PFNGLVERTEXATTRIB3SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort); stdcall;
PFNGLVERTEXATTRIB3SPROC = procedure(index:Cardinal; x,y,z: TGLshort); stdcall;
PFNGLVERTEXATTRIB3SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB3SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB3SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4BVARBPROC = procedure(index: Cardinal; const v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4BVPROC = procedure(index:Cardinal; v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4DARBPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLVERTEXATTRIB4DNVPROC = procedure (index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLVERTEXATTRIB4DPROC = procedure(index:Cardinal; x,y,z,w: TGLdouble); stdcall;
PFNGLVERTEXATTRIB4DVARBPROC = procedure(index: Cardinal; const v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB4DVNVPROC = procedure (index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB4DVPROC = procedure(index:Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIB4FARBPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLVERTEXATTRIB4FNVPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; z: TGLfloat; w: TGLfloat); stdcall;
PFNGLVERTEXATTRIB4FPROC = procedure(index:Cardinal; x,y,z,w: TGLfloat); stdcall;
PFNGLVERTEXATTRIB4FVARBPROC = procedure(index: Cardinal; const v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB4FVNVPROC = procedure(index: Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB4FVPROC = procedure(index:Cardinal; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIB4IVARBPROC = procedure(index: Cardinal; const v: PGLint); stdcall;
PFNGLVERTEXATTRIB4IVPROC = procedure(index:Cardinal; v: PGLint); stdcall;
PFNGLVERTEXATTRIB4NBVARBPROC = procedure(index: Cardinal; const v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4NBVPROC = procedure(index:Cardinal; v: PGLbyte); stdcall;
PFNGLVERTEXATTRIB4NIVARBPROC = procedure(index: Cardinal; const v: PGLint); stdcall;
PFNGLVERTEXATTRIB4NIVPROC = procedure(index:Cardinal; v: PGLint); stdcall;
PFNGLVERTEXATTRIB4NSVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4NSVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4NUBARBPROC = procedure(index: Cardinal; x: TGLubyte; y: TGLubyte; z: TGLubyte; w: TGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUBPROC = procedure(index:Cardinal; x,y,z,w: TGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUBVARBPROC = procedure(index: Cardinal; const v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUBVPROC = procedure(index:Cardinal; v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4NUIVARBPROC = procedure(index: Cardinal; const v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4NUIVPROC = procedure(index:Cardinal; v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4NUSVARBPROC = procedure(index: Cardinal; const v: PGLushort); stdcall;
PFNGLVERTEXATTRIB4NUSVPROC = procedure(index:Cardinal; v: PGLushort); stdcall;
PFNGLVERTEXATTRIB4SARBPROC = procedure(index: Cardinal; x: TGLshort; y: TGLshort; z: TGLshort; w: TGLshort); stdcall;
PFNGLVERTEXATTRIB4SNVPROC = procedure (index: Cardinal; x: TGLshort; y: TGLshort; z: TGLdouble; w: TGLshort); stdcall;
PFNGLVERTEXATTRIB4SPROC = procedure(index:Cardinal; x,y,z,w: TGLshort); stdcall;
PFNGLVERTEXATTRIB4SVARBPROC = procedure(index: Cardinal; const v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4SVNVPROC = procedure (index: Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4SVPROC = procedure(index:Cardinal; v: PGLshort); stdcall;
PFNGLVERTEXATTRIB4UBVARBPROC = procedure(index: Cardinal; const v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4UBVNVPROC = procedure (index: Cardinal; v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4UBVPROC = procedure(index:Cardinal; v: PGLubyte); stdcall;
PFNGLVERTEXATTRIB4UIVARBPROC = procedure(index: Cardinal; const v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4UIVPROC = procedure(index:Cardinal; v: PGLuint); stdcall;
PFNGLVERTEXATTRIB4USVARBPROC = procedure(index: Cardinal; const v: PGLushort); stdcall;
PFNGLVERTEXATTRIB4USVPROC = procedure(index:Cardinal; v: PGLushort); stdcall;
PFNGLVertexAttribBinding = procedure(attribindex : Cardinal; bindingindex : Cardinal); stdcall;
PFNGLVERTEXATTRIBDIVISORARBPROC = procedure(index: Cardinal; divisor: Cardinal); stdcall;

GL_ARB_instanced_arrays (ARB #49)

PFNGLVERTEXATTRIBDIVISORPROC = procedure(index: Cardinal; divisor: Cardinal); stdcall;

Core 3.3

PFNGLVertexAttribFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; normalized : TGLboolean; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXATTRIBFORMATNVPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei); stdcall;
PFNGLVERTEXATTRIBI1IEXTPROC = procedure(index: Cardinal; x: TGLint); stdcall;

GL_EXT_gpu_shader4 (EXT #326)

PFNGLVERTEXATTRIBI1IPROC = procedure(index: Cardinal; x: TGLint); stdcall;

Core 3.0 promoted to core v3.0 from GL_EXT_gpu_shader4

PFNGLVERTEXATTRIBI1IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI1IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI1UIEXTPROC = procedure(index: Cardinal; x: Cardinal); stdcall;
PFNGLVERTEXATTRIBI1UIPROC = procedure(index: Cardinal; x: Cardinal); stdcall;
PFNGLVERTEXATTRIBI1UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI1UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI2IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint); stdcall;
PFNGLVERTEXATTRIBI2IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint); stdcall;
PFNGLVERTEXATTRIBI2IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI2IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI2UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal); stdcall;
PFNGLVERTEXATTRIBI2UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal); stdcall;
PFNGLVERTEXATTRIBI2UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI2UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI3IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint); stdcall;
PFNGLVERTEXATTRIBI3IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint); stdcall;
PFNGLVERTEXATTRIBI3IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI3IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI3UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal); stdcall;
PFNGLVERTEXATTRIBI3UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal); stdcall;
PFNGLVERTEXATTRIBI3UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI3UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI4BVEXTPROC = procedure(index: Cardinal; v:PGLbyte); stdcall;
PFNGLVERTEXATTRIBI4BVPROC = procedure(index: Cardinal; v:PGLbyte); stdcall;
PFNGLVERTEXATTRIBI4IEXTPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
PFNGLVERTEXATTRIBI4IPROC = procedure(index: Cardinal; x: TGLint; y: TGLint; z: TGLint; w: TGLint); stdcall;
PFNGLVERTEXATTRIBI4IVEXTPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI4IVPROC = procedure(index: Cardinal; v:PGLint); stdcall;
PFNGLVERTEXATTRIBI4SVEXTPROC = procedure(index: Cardinal; v:PGLshort); stdcall;
PFNGLVERTEXATTRIBI4SVPROC = procedure(index: Cardinal; v:PGLshort); stdcall;
PFNGLVERTEXATTRIBI4UBVEXTPROC = procedure(index: Cardinal; v: PGLUbyte); stdcall;
PFNGLVERTEXATTRIBI4UBVPROC = procedure(index: Cardinal; v: PGLUbyte); stdcall;
PFNGLVERTEXATTRIBI4UIEXTPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
PFNGLVERTEXATTRIBI4UIPROC = procedure(index: Cardinal; x: Cardinal; y: Cardinal; z: Cardinal; w: Cardinal); stdcall;
PFNGLVERTEXATTRIBI4UIVEXTPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI4UIVPROC = procedure(index: Cardinal; v:PGLuint); stdcall;
PFNGLVERTEXATTRIBI4USVEXTPROC = procedure(index: Cardinal; v: PGLushort); stdcall;
PFNGLVERTEXATTRIBI4USVPROC = procedure(index: Cardinal; v: PGLushort); stdcall;
PFNGLVertexAttribIFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXATTRIBIFORMATNVPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLVERTEXATTRIBIPOINTEREXTPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer: pointer); stdcall;
PFNGLVERTEXATTRIBIPOINTERPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; _pointer: pointer); stdcall;
PFNGLVERTEXATTRIBL1DPROC = procedure(index: Cardinal; x: TGLdouble); stdcall;

GL_ARB_shader_precision (ARB #98) (no entry points) GL_ARB_vertex_attrib_64bit (ARB #99)

PFNGLVERTEXATTRIBL1DVPROC = procedure(index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBL2DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL2DVPROC = procedure(index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBL3DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL3DVPROC = procedure(index: Cardinal; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBL4DPROC = procedure(index: Cardinal; x: TGLdouble; y: TGLdouble; z: TGLdouble; w: TGLdouble); stdcall;
PFNGLVERTEXATTRIBL4DVPROC = procedure(index: Cardinal; v :PGLdouble); stdcall;
PFNGLVertexAttribLFormat = procedure(attribindex : Cardinal; size : TGLint; type_ : Cardinal; relativeoffset : Cardinal); stdcall;
PFNGLVERTEXATTRIBLPOINTERPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; stride: TGLsizei; ptr: Pointer); stdcall;
PFNGLVERTEXATTRIBP1UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP1UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBP2UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP2UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBP3UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP3UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBP4UIPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; value: Cardinal); stdcall;
PFNGLVERTEXATTRIBP4UIVPROC = procedure(index: Cardinal; _type: Cardinal; normalized: TGLboolean; const value: PGLuint); stdcall;
PFNGLVERTEXATTRIBPOINTERARBPROC = procedure(index: Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride: TGLsizei; const _pointer: pointer); stdcall;
PFNGLVERTEXATTRIBPOINTERNVPROC = procedure (index: Cardinal; fsize: TGLint; vertextype: Cardinal; stride: TGLSizei; pointer: Pointer); stdcall;
PFNGLVERTEXATTRIBPOINTERPROC = procedure(index:Cardinal; size: TGLint; _type: Cardinal; normalized: TGLboolean; stride:TGLsizei; _pointer:pointer); stdcall;
PFNGLVERTEXATTRIBS1DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS1FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS1SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS2DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS2FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS2SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS3DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS3FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS3SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS4DVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLdouble); stdcall;
PFNGLVERTEXATTRIBS4FVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLfloat); stdcall;
PFNGLVERTEXATTRIBS4SVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLshort); stdcall;
PFNGLVERTEXATTRIBS4UBVNVPROC = procedure (index: Cardinal; count: TGLSizei; v: PGLubyte); stdcall;
PFNGLVertexBindingDivisor = procedure(bindingindex : Cardinal; divisor : Cardinal); stdcall;
PFNGLVERTEXBLENDARBPROC = procedure(count: TGLint); stdcall;
PFNGLVERTEXFORMATNVPROC = procedure(size: TGLint; _type: Cardinal; stride: TGLsizei); stdcall;
PFNGLVERTEXP2UIPROC = procedure(_type: Cardinal; value: Cardinal); stdcall;

GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)

PFNGLVERTEXP2UIVPROC = procedure(_type: Cardinal; const value: PGLuint ); stdcall;
PFNGLVERTEXP3UIPROC = procedure(_type: Cardinal; value: Cardinal); stdcall;
PFNGLVERTEXP3UIVPROC = procedure(_type: Cardinal; const value: PGLuint); stdcall;
PFNGLVERTEXP4UIPROC = procedure(_type: Cardinal; value: Cardinal); stdcall;
PFNGLVERTEXP4UIVPROC = procedure(_type: Cardinal; const value: PGLuint); stdcall;
PFNGLVIEWPORTARRAYVPROC = procedure(first: Cardinal; count: TGLsizei; v: PGLfloat); stdcall;

GL_ARB_viewport_array (ARB #100)

PFNGLVIEWPORTINDEXEDFPROC = procedure(index: Cardinal; x: TGLfloat; y: TGLfloat; w: TGLfloat; h: TGLfloat); stdcall;
PFNGLVIEWPORTINDEXEDFVPROC = procedure(index: Cardinal; v: PGLfloat); stdcall;
PFNGLWAITSYNCPROC = procedure(sync: TGLsync; flags: TGLbitfield; timeout: TGLuint64); stdcall;
PFNGLWEIGHTBVARBPROC = procedure(size: TGLint; weights: PGLbyte); stdcall;

GL_ARB_vertex_blend (ARB #15) {deprecated?}

PFNGLWEIGHTDVARBPROC = procedure(size: TGLint; weights: PGLdouble); stdcall;
PFNGLWEIGHTFVARBPROC = procedure(size: TGLint; weights: PGLfloat); stdcall;
PFNGLWEIGHTIVARBPROC = procedure(size: TGLint; weights: PGLint); stdcall;
PFNGLWEIGHTPATHSNVPROC = procedure (resultPath: Cardinal; numPaths: TGLsizei; paths: PGLuint; weights: PGLfloat); stdcall;
PFNGLWEIGHTPOINTERARBPROC = procedure(size: TGLint; _type: Cardinal; stride:TGLsizei; _pointer:pointer); stdcall;
PFNGLWEIGHTSVARBPROC = procedure(size: TGLint; weights: PGLshort); stdcall;
PFNGLWEIGHTUBVARBPROC = procedure(size: TGLint; weights: PGLubyte); stdcall;
PFNGLWEIGHTUIVARBPROC = procedure(size: TGLint; weights: PGLuint); stdcall;
PFNGLWEIGHTUSVARBPROC = procedure(size: TGLint; weights: PGLushort); stdcall;
PFNGLWINDOWPOS2DARBPROC = procedure(x,y : TGLdouble); stdcall;

GL_ARB_window_pos (ARB #25)

PFNGLWINDOWPOS2DPROC = procedure(x,y : TGLdouble); stdcall;

deprecated; promoted to core v1.4 from GL_ARB_window_pos (#25)

PFNGLWINDOWPOS2DVARBPROC = procedure(v : PGLdouble); stdcall;
PFNGLWINDOWPOS2DVPROC = procedure(v : PGLdouble); stdcall;

deprecated;

PFNGLWINDOWPOS2FARBPROC = procedure(x,y : TGLfloat); stdcall;
PFNGLWINDOWPOS2FPROC = procedure(x,y : TGLfloat); stdcall;

deprecated;

PFNGLWINDOWPOS2FVARBPROC = procedure(v : PGLfloat); stdcall;
PFNGLWINDOWPOS2FVPROC = procedure(v : PGLfloat); stdcall;

deprecated;

PFNGLWINDOWPOS2IARBPROC = procedure(x,y : TGLint); stdcall;
PFNGLWINDOWPOS2IPROC = procedure(x,y : TGLint); stdcall;

deprecated;

PFNGLWINDOWPOS2IVARBPROC = procedure(v : PGLint); stdcall;
PFNGLWINDOWPOS2IVPROC = procedure(v : PGLint); stdcall;

deprecated;

PFNGLWINDOWPOS2SARBPROC = procedure(x,y : TGLshort); stdcall;
PFNGLWINDOWPOS2SPROC = procedure(x,y : TGLshort); stdcall;

deprecated;

PFNGLWINDOWPOS2SVARBPROC = procedure(v : PGLshort); stdcall;
PFNGLWINDOWPOS2SVPROC = procedure(v : PGLshort); stdcall;

deprecated;

PFNGLWINDOWPOS3DARBPROC = procedure(x,y,z : TGLdouble); stdcall;
PFNGLWINDOWPOS3DPROC = procedure(x,y,z : TGLdouble); stdcall;

deprecated;

PFNGLWINDOWPOS3DVARBPROC = procedure(v : PGLdouble); stdcall;
PFNGLWINDOWPOS3DVPROC = procedure(v : PGLdouble); stdcall;

deprecated;

PFNGLWINDOWPOS3FARBPROC = procedure(x,y,z : TGLfloat); stdcall;
PFNGLWINDOWPOS3FPROC = procedure(x,y,z : TGLfloat); stdcall;

deprecated;

PFNGLWINDOWPOS3FVARBPROC = procedure(v : PGLfloat); stdcall;
PFNGLWINDOWPOS3FVPROC = procedure(v : PGLfloat); stdcall;

deprecated;

PFNGLWINDOWPOS3IARBPROC = procedure(x,y,z : TGLint); stdcall;
PFNGLWINDOWPOS3IPROC = procedure(x,y,z : TGLint); stdcall;

deprecated;

PFNGLWINDOWPOS3IVARBPROC = procedure(v : PGLint); stdcall;
PFNGLWINDOWPOS3IVPROC = procedure(v : PGLint); stdcall;

deprecated;

PFNGLWINDOWPOS3SARBPROC = procedure(x,y,z : TGLshort); stdcall;
PFNGLWINDOWPOS3SPROC = procedure(x,y,z : TGLshort); stdcall;

deprecated;

PFNGLWINDOWPOS3SVARBPROC = procedure(v : PGLshort); stdcall;
PFNGLWINDOWPOS3SVPROC = procedure(v : PGLshort); stdcall;

deprecated;

PFNWGLALLOCATEMEMORYNVPROC = function(size: TGLsizei; readFrequency, writeFrequency, priority: Single): Pointer; stdcall;
PFNWGLBINDTEXIMAGEARBPROC = function(hPbuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;

WGL_ARB_render_texture (ARB #20)

PFNWGLCHOOSEPIXELFORMATARBPROC = function(DC: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLFloat; nMaxFormats: Cardinal; piFormats: PGLint; nNumFormats: PCardinal) : BOOL; stdcall;
PFNWGLCREATEAFFINITYDCNVPROC = function(hGpuList: PHGPUNV): HDC; stdcall;
PFNWGLCREATEBUFFERREGIONARBPROC = function(DC: HDC; iLayerPlane: Integer; uType: Cardinal) : Integer; stdcall;

WGL WGL - ARB WGL_buffer_region (ARB #4)

PFNWGLCREATECONTEXTATTRIBSARBPROC = function(DC: HDC; hShareContext: HGLRC; attribList: PGLint):HGLRC; stdcall;

WGL_ARB_create_context (ARB #55)

PFNWGLCREATEPBUFFERARBPROC = function(DC: HDC; iPixelFormat: TGLint; iWidth, iHeight : TGLint; const piAttribList: PGLint) : HPBUFFERARB; stdcall;

WGL_ARB_pbuffer (ARB #11)

PFNWGLDELETEBUFFERREGIONARBPROC = procedure(hRegion: Integer); stdcall;
PFNWGLDELETEDCNVPROC = function(hdc: HDC): Boolean; stdcall;
PFNWGLDESTROYPBUFFERARBPROC = function(hPbuffer: HPBUFFERARB): BOOL; stdcall;
PFNWGLDXCLOSEDEVICEPROC = function(hDevice: THandle): BOOL; stdcall;
PFNWGLDXLOCKOBJECTSPROC = function(hDevice: THandle; count: TGLint; hObjects: PHandle): BOOL; stdcall;
PFNWGLDXOBJECTACCESSPROC = function(hObject: THandle; access: Cardinal): BOOL; stdcall;
PFNWGLDXOPENDEVICEPROC = function(dxDevice: Pointer): THandle; stdcall;
PFNWGLDXREGISTEROBJECTPROC = function(hDevice: THandle; dxObject: Pointer; name: Cardinal; atype: Cardinal; access: Cardinal): THandle; stdcall;
PFNWGLDXSETRESOURCESHAREHANDLEPROC = function (dxObject: Pointer; shareHandle: THandle): BOOL; stdcall;

WGL_NV_DX_interop (EXT #407)

PFNWGLDXUNLOCKOBJECTSNVPROC = function (hDevice: THandle; count: TGLint; hObjects: PHandle): BOOL; stdcall;
PFNWGLDXUNREGISTEROBJECTPROC = function(hDevice: THandle; hObject: THandle): BOOL; stdcall;
PFNWGLENUMGPUDEVICESNVPROC = function(hGpu: HGPUNV; iDeviceIndex: Cardinal; lpGpuDevice: PGPUDevice): Boolean; stdcall;
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC = function(hAffinityDC: HDC; iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean; stdcall;
PFNWGLENUMGPUSNVPROC = function(iGpuIndex: Cardinal; var hGpu: HGPUNV): Boolean; stdcall;

WGL_NV_gpu_affinity (EXT #355)

PFNWGLFREEMEMORYNVPROC = procedure(ptr: Pointer); stdcall;
PFNWGLGETCURRENTREADDCARBPROC = function(): HDC; stdcall;
PFNWGLGETEXTENSIONSSTRINGARBPROC = function(DC: HDC): PAnsiChar; stdcall;

WGL_ARB_extensions_string (ARB #8)

PFNWGLGETPBUFFERDCARBPROC = function(hPbuffer: HPBUFFERARB) : HDC; stdcall;
PFNWGLGETPIXELFORMATATTRIBFVARBPROC = function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal; const piAttributes: PGLint; piValues: PGLFloat) : BOOL; stdcall;
PFNWGLGETPIXELFORMATATTRIBIVARBPROC = function(DC: HDC; iPixelFormat, iLayerPlane: Integer; nAttributes: Cardinal; const piAttributes: PGLint; piValues : PGLint) : BOOL; stdcall;

WGL_ARB_pixel_format (ARB #9)

PFNWGLGETSWAPINTERVALEXTPROC = function : Integer; stdcall;
PFNWGLMAKECONTEXTCURRENTARBPROC = function(hDrawDC: HDC; hReadDC: HDC; _hglrc: HGLRC): BOOL; stdcall;

WGL_make_current_read (ARB #10)

PFNWGLQUERYPBUFFERARBPROC = function(hPbuffer: HPBUFFERARB; iAttribute : Integer; piValue: PGLint) : BOOL; stdcall;
PFNWGLRELEASEPBUFFERDCARBPROC = function(hPbuffer: HPBUFFERARB; DC: HDC) : Integer; stdcall;
PFNWGLRELEASETEXIMAGEARBPROC = function(hpBuffer: HPBUFFERARB; iBuffer: Integer): BOOL; stdcall;
PFNWGLRESTOREBUFFERREGIONARBPROC = function(hRegion: Integer; x, y, width, height: Integer; xSrc, ySrc: Integer): BOOL; stdcall;
PFNWGLSAVEBUFFERREGIONARBPROC = function(hRegion: Integer; x, y, width, height: Integer): BOOL; stdcall;
PFNWGLSETPBUFFERATTRIBARBPROC = function(hpBuffer: HPBUFFERARB; const piAttribList: PGLint): BOOL; stdcall;
PFNWGLSWAPINTERVALEXTPROC = function(interval : Integer) : BOOL; stdcall;

WGL - EXT WGL_EXT_swap_control (EXT #172)

PGLfloat = System.PSingle;
PGLUNurbs = ˆTGLUNurbs;
PGLUNurbsObj = PGLUNurbs;
PGLUQuadric = ˆTGLUQuadric;
PGLUQuadricObj = PGLUQuadric;
PGLUTesselator= ˆTGLUTesselator;
PGLUTesselatorObj = PGLUTesselator;
PGLUTriangulatorObj = PGLUTesselator;
PGLvdpauSurfaceNV = ˆTGLvdpauSurfaceNV;
PGNGLGETBUFFERPARAMETERUI64VNV = procedure(value: Cardinal; index: Cardinal; result: PGLuint64EXT); stdcall;
PGPUDEVICE = ˆTGPUDEVICE;
PHGPUNV = ˆHGPUNV;

It's should be here!

PHVIDEOINPUTDEVICENV = ˆHVIDEOINPUTDEVICENV;
TDebugProc = procedure( source: Cardinal; type_: Cardinal; id: Cardinal; severity: Cardinal; length: TGLsizei; const message: PAnsiChar; userParam: Pointer); stdcall;
TDebugProcAMD = procedure( id: Cardinal; category: Cardinal; severity: Cardinal; length: TGLsizei; message: PAnsiChar; userParam: Pointer); stdcall;
TGLDEBUGPROCARB = TDebugProc;
TGLUNurbsErrorProc = procedure(ErrorCode: Cardinal); stdcall;
TGLUNurbsObj = TGLUNurbs;

backwards compatibility

TGLUQuadricErrorProc = procedure(errorCode: Cardinal); stdcall;

Callback function prototypes

TGLUQuadricObj = TGLUQuadric;
TGLUTessBeginDataProc = procedure(AType: Cardinal; UserData: Pointer); stdcall;
TGLUTessBeginProc = procedure(AType: Cardinal); stdcall;
TGLUTessCombineDataProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer; UserData: Pointer); stdcall;
TGLUTessCombineProc = procedure(const Coords: TVector3d; const VertexData: TVector4p; const Weight: TVector4f; OutData: PGLPointer); stdcall;
TGLUTessEdgeFlagDataProc = procedure(Flag: TGLboolean; UserData: Pointer); stdcall;
TGLUTessEdgeFlagProc = procedure(Flag: TGLboolean); stdcall;
TGLUTesselatorObj = TGLUTesselator;
TGLUTessEndDataProc = procedure(UserData: Pointer); stdcall;
TGLUTessEndProc = procedure; stdcall;
TGLUTessErrorDataProc = procedure(ErrNo: Cardinal; UserData: Pointer); stdcall;
TGLUTessErrorProc = procedure(ErrNo: Cardinal); stdcall;
TGLUTessVertexDataProc = procedure(VertexData: Pointer; UserData: Pointer); stdcall;
TGLUTessVertexProc = procedure(VertexData: Pointer); stdcall;
TGLUTriangulatorObj = TGLUTesselator;
TGLvdpauSurfaceNV = TGLintptr;

Constants

WGL_FRONT_COLOR_BUFFER_BIT_ARB = $00000001;

—————— OpenGL v1.1 generic constants ——————– ARB Extension #4 - WGL_ARB_buffer_region

WGL_BACK_COLOR_BUFFER_BIT_ARB = $00000002;
WGL_DEPTH_BUFFER_BIT_ARB = $00000004;
WGL_STENCIL_BUFFER_BIT_ARB = $00000008;
WGL_SAMPLE_BUFFERS_ARB = $2041;
WGL_SAMPLES_ARB = $2042;
WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;

ARB Extension #9 - WGL_ARB_pixel_format (no new tokens)

WGL_DRAW_TO_WINDOW_ARB = $2001;
WGL_DRAW_TO_BITMAP_ARB = $2002;
WGL_ACCELERATION_ARB = $2003;
WGL_NEED_PALETTE_ARB = $2004;
WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
WGL_SWAP_METHOD_ARB = $2007;
WGL_NUMBER_OVERLAYS_ARB = $2008;
WGL_NUMBER_UNDERLAYS_ARB = $2009;
WGL_TRANSPARENT_ARB = $200A;
WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
WGL_SHARE_DEPTH_ARB = $200C;
WGL_SHARE_STENCIL_ARB = $200D;
WGL_SHARE_ACCUM_ARB = $200E;
WGL_SUPPORT_GDI_ARB = $200F;
WGL_SUPPORT_OPENGL_ARB = $2010;
WGL_DOUBLE_BUFFER_ARB = $2011;
WGL_STEREO_ARB = $2012;
WGL_PIXEL_TYPE_ARB = $2013;
WGL_COLOR_BITS_ARB = $2014;
WGL_RED_BITS_ARB = $2015;
WGL_RED_SHIFT_ARB = $2016;
WGL_GREEN_BITS_ARB = $2017;
WGL_GREEN_SHIFT_ARB = $2018;
WGL_BLUE_BITS_ARB = $2019;
WGL_BLUE_SHIFT_ARB = $201A;
WGL_ALPHA_BITS_ARB = $201B;
WGL_ALPHA_SHIFT_ARB = $201C;
WGL_ACCUM_BITS_ARB = $201D;
WGL_ACCUM_RED_BITS_ARB = $201E;
WGL_ACCUM_GREEN_BITS_ARB = $201F;
WGL_ACCUM_BLUE_BITS_ARB = $2020;
WGL_ACCUM_ALPHA_BITS_ARB = $2021;
WGL_DEPTH_BITS_ARB = $2022;
WGL_STENCIL_BITS_ARB = $2023;
WGL_AUX_BUFFERS_ARB = $2024;
WGL_NO_ACCELERATION_ARB = $2025;
WGL_GENERIC_ACCELERATION_ARB = $2026;
WGL_FULL_ACCELERATION_ARB = $2027;
WGL_SWAP_EXCHANGE_ARB = $2028;
WGL_SWAP_COPY_ARB = $2029;
WGL_SWAP_UNDEFINED_ARB = $202A;
WGL_TYPE_RGBA_ARB = $202B;
WGL_TYPE_COLORINDEX_ARB = $202C;
WGL_DRAW_TO_PBUFFER_ARB = $202D;

ARB Extension #11 - WGL_ARB_pbuffer

WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
WGL_PBUFFER_LARGEST_ARB = $2033;
WGL_PBUFFER_WIDTH_ARB = $2034;
WGL_PBUFFER_HEIGHT_ARB = $2035;
WGL_PBUFFER_LOST_ARB = $2036;
WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;

ARB Extension #20 - WGL_ARB_render_texture

WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
WGL_TEXTURE_FORMAT_ARB = $2072;
WGL_TEXTURE_TARGET_ARB = $2073;
WGL_MIPMAP_TEXTURE_ARB = $2074;
WGL_TEXTURE_RGB_ARB = $2075;
WGL_TEXTURE_RGBA_ARB = $2076;
WGL_NO_TEXTURE_ARB = $2077;
WGL_TEXTURE_CUBE_MAP_ARB = $2078;
WGL_TEXTURE_1D_ARB = $2079;
WGL_TEXTURE_2D_ARB = $207A;
WGL_MIPMAP_LEVEL_ARB = $207B;
WGL_CUBE_MAP_FACE_ARB = $207C;
WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
WGL_FRONT_LEFT_ARB = $2083;
WGL_FRONT_RIGHT_ARB = $2084;
WGL_BACK_LEFT_ARB = $2085;
WGL_BACK_RIGHT_ARB = $2086;
WGL_AUX0_ARB = $2087;
WGL_AUX1_ARB = $2088;
WGL_AUX2_ARB = $2089;
WGL_AUX3_ARB = $208A;
WGL_AUX4_ARB = $208B;
WGL_AUX5_ARB = $208C;
WGL_AUX6_ARB = $208D;
WGL_AUX7_ARB = $208E;
WGL_AUX8_ARB = $208F;
WGL_AUX9_ARB = $2090;
WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB = $20A9;

ARB Extension #46 - GL_ARB_framebuffer_sRGB

WGL_COLOR_SAMPLES_NV = $20B9;

unknown extension, where does it come from?

WGL_CONTEXT_MAJOR_VERSION_ARB = $2091;

ARB Extension #55 - WGL_ARB_create_context see also WGL_ARB_create_context_profile (ARB #74)

WGL_CONTEXT_MINOR_VERSION_ARB = $2092;
WGL_CONTEXT_LAYER_PLANE_ARB = $2093;
WGL_CONTEXT_FLAGS_ARB = $2094;
WGL_CONTEXT_DEBUG_BIT_ARB = $0001;
WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = $0002;
ERROR_INVALID_VERSION_ARB = $2095;
WGL_CONTEXT_ES2_PROFILE_BIT_EXT = $0004;

EXT #400 WGL_EXT_create_context_es2_profile

WGL_CONTEXT_PROFILE_MASK_ARB = $9126;

ARB Extension #74 - WGL_ARB_create_context_profile see also WGL_ARB_create_context (ARB #55)

WGL_CONTEXT_CORE_PROFILE_BIT_ARB = $00000001;
WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = $00000002;
ERROR_INVALID_PROFILE_ARB = $2096;
WGL_TYPE_RGBA_FLOAT_ATI = $21A0;

WGL_ATI_pixel_format_float (#278)

WGL_FLOAT_COMPONENTS_NV = $20B0;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
WGL_TEXTURE_FLOAT_R_NV = $20B5;
WGL_TEXTURE_FLOAT_RG_NV = $20B6;
WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT = $20A8;
GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;

Vendor/EXT extensions constants, in extension number order

GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = $8837;

GL_ATI_texture_compression_3dc

WGL_ACCESS_READ_ONLY_NV = $0000;

WGL_NV_DX_interop (EXT #407)

WGL_ACCESS_READ_WRITE_NV = $0001;
WGL_ACCESS_WRITE_DISCARD_NV = $0002;
GLU_TESS_BEGIN = 100100;

********** GLU generic constants ********** TessCallback

GLU_TESS_VERTEX = 100101;

TGLUTessBeginProc

GLU_TESS_END = 100102;

TGLUTessVertexProc

GLU_TESS_ERROR = 100103;

TGLUTessEndProc

GLU_TESS_EDGE_FLAG = 100104;

TGLUTessErrorProc

GLU_TESS_COMBINE = 100105;

TGLUTessEdgeFlagProc

GLU_TESS_BEGIN_DATA = 100106;

TGLUTessCombineProc

GLU_TESS_VERTEX_DATA = 100107;

TGLUTessBeginDataProc

GLU_TESS_END_DATA = 100108;

TGLUTessVertexDataProc

GLU_TESS_ERROR_DATA = 100109;

TGLUTessEndDataProc

GLU_TESS_EDGE_FLAG_DATA = 100110;

TGLUTessErrorDataProc

GLU_TESS_COMBINE_DATA = 100111;

TGLUTessEdgeFlagDataProc

GLU_TESS_ERROR1 = 100151;

TGLUTessCombineDataProc TessError

GLU_TESS_ERROR2 = 100152;
GLU_TESS_ERROR3 = 100153;
GLU_TESS_ERROR4 = 100154;
GLU_TESS_ERROR5 = 100155;
GLU_TESS_ERROR6 = 100156;
GLU_TESS_ERROR7 = 100157;
GLU_TESS_ERROR8 = 100158;
GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
GLU_AUTO_LOAD_MATRIX = 100200;

NURBS constants NurbsProperty

GLU_CULLING = 100201;
GLU_SAMPLING_TOLERANCE = 100203;
GLU_DISPLAY_MODE = 100204;
GLU_PARAMETRIC_TOLERANCE = 100202;
GLU_SAMPLING_METHOD = 100205;
GLU_U_STEP = 100206;
GLU_V_STEP = 100207;
GLU_PATH_LENGTH = 100215;

NurbsSampling

GLU_PARAMETRIC_ERROR = 100216;
GLU_DOMAIN_DISTANCE = 100217;
GLU_MAP1_TRIM_2 = 100210;

NurbsTrim

GLU_MAP1_TRIM_3 = 100211;
GLU_OUTLINE_POLYGON = 100240;

NurbsDisplay

GLU_OUTLINE_PATCH = 100241;
GLU_NURBS_ERROR1 = 100251;

NurbsErrors

GLU_NURBS_ERROR2 = 100252;
GLU_NURBS_ERROR3 = 100253;
GLU_NURBS_ERROR4 = 100254;
GLU_NURBS_ERROR5 = 100255;
GLU_NURBS_ERROR6 = 100256;
GLU_NURBS_ERROR7 = 100257;
GLU_NURBS_ERROR8 = 100258;
GLU_NURBS_ERROR9 = 100259;
GLU_NURBS_ERROR10 = 100260;
GLU_NURBS_ERROR11 = 100261;
GLU_NURBS_ERROR12 = 100262;
GLU_NURBS_ERROR13 = 100263;
GLU_NURBS_ERROR14 = 100264;
GLU_NURBS_ERROR15 = 100265;
GLU_NURBS_ERROR16 = 100266;
GLU_NURBS_ERROR17 = 100267;
GLU_NURBS_ERROR18 = 100268;
GLU_NURBS_ERROR19 = 100269;
GLU_NURBS_ERROR20 = 100270;
GLU_NURBS_ERROR21 = 100271;
GLU_NURBS_ERROR22 = 100272;
GLU_NURBS_ERROR23 = 100273;
GLU_NURBS_ERROR24 = 100274;
GLU_NURBS_ERROR25 = 100275;
GLU_NURBS_ERROR26 = 100276;
GLU_NURBS_ERROR27 = 100277;
GLU_NURBS_ERROR28 = 100278;
GLU_NURBS_ERROR29 = 100279;
GLU_NURBS_ERROR30 = 100280;
GLU_NURBS_ERROR31 = 100281;
GLU_NURBS_ERROR32 = 100282;
GLU_NURBS_ERROR33 = 100283;
GLU_NURBS_ERROR34 = 100284;
GLU_NURBS_ERROR35 = 100285;
GLU_NURBS_ERROR36 = 100286;
GLU_NURBS_ERROR37 = 100287;
GLU_CW = 100120;

Contours types – obsolete!

GLU_CCW = 100121;
GLU_INTERIOR = 100122;
GLU_EXTERIOR = 100123;
GLU_UNKNOWN = 100124;
GLU_BEGIN = GLU_TESS_BEGIN;

Names without "TESS_" prefix

GLU_VERTEX = GLU_TESS_VERTEX;
GLU_END = GLU_TESS_END;
GLU_ERROR = GLU_TESS_ERROR;
GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;


GLSysHelp v.2.1: GLS.OpenGLTokens: Record TGPUDEVICE

Record TGPUDEVICE

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLTokens

Declaration

type TGPUDEVICE = record

Description

Overview

Fields

Public | cb: Cardinal;
Public | DeviceName: array[0..31] of AnsiChar;
Public | DeviceString: array[0..127] of AnsiChar;
Public | Flags: Cardinal;
Public | rcVirtualScreen: TRect;

Description

Fields

Public cb: Cardinal;
Public DeviceName: array[0..31] of AnsiChar;
Public DeviceString: array[0..127] of AnsiChar;
Public Flags: Cardinal;
Public rcVirtualScreen: TRect;


GLSysHelp v.2.1: GLS.OpenGLTokens: Record TGLUNurbs

Record TGLUNurbs

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLTokens

Declaration

type TGLUNurbs = record

Description

——————- OpenGL Utility (GLU) types —————- GLU types


GLSysHelp v.2.1: GLS.OpenGLTokens: Record TGLUQuadric

Record TGLUQuadric

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLTokens

Declaration

type TGLUQuadric = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: GLS.OpenGLTokens: Record TGLUTesselator

Record TGLUTesselator

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLTokens

Declaration

type TGLUTesselator = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: GLS.OpenGLVCL

Unit GLS.OpenGLVCL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • Winapi.Windows
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.Context
  • Vcl.Forms

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLOpenGL |
Class TGLShader |
Class TGLShaderV |
Class TGLShaderG |
Class TGLShaderF |
Class TGLProgram |
Class TGLBuffer |
Class TGLBufferV |
Class TGLBufferI |
Class TGLBufferU |
Class TGLArray |

Variables

GLOpenGL: TGLOpenGL;

Description

Variables

GLOpenGL: TGLOpenGL;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLOpenGL

Class TGLOpenGL

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLOpenGL = class(TObject)

Description

Hierarchy

  • TObject
  • TGLOpenGL

Overview

Fields

Private | _Form: TCustomForm;
Private | _WND: HWND;
Private | _DC: HDC;
Protected | _PFD: TPixelFormatDescriptor;
Protected | _PFI: Integer;
Protected | _RC: HGLRC;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | class function DefaultPFD: TPixelFormatDescriptor;
Public | procedure ApplyPixelFormat(const DC_: HDC);
Public | procedure BeginGL;
Public | procedure EndGL;
Public | procedure InitOpenGL;
Protected | procedure CreateDC;
Protected | procedure CreateRC;
Protected | procedure CreateWindow;
Protected | procedure DestroyDC;
Protected | procedure DestroyRC;
Protected | procedure DestroyWindow;
Protected | procedure SetPFD(const PFD_: TPixelFormatDescriptor);
Protected | procedure SetPFI(const PFI_: Integer);
Protected | procedure ValidatePFD(const PFD_: TPixelFormatDescriptor);
Protected | procedure ValidatePFI(const PFI_: Integer);

Properties

Public | property PFD: TPixelFormatDescriptor read _PFD write SetPFD;
Public | property PFI: Integer read _PFI write SetPFI;
Public | property RC: HGLRC read _RC;

Description

Fields

Private _Form: TCustomForm;
Private _WND: HWND;
Private _DC: HDC;
Protected _PFD: TPixelFormatDescriptor;
Protected _PFI: Integer;
Protected _RC: HGLRC;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public class function DefaultPFD: TPixelFormatDescriptor;
Public procedure ApplyPixelFormat(const DC_: HDC);
Public procedure BeginGL;
Public procedure EndGL;
Public procedure InitOpenGL;
Protected procedure CreateDC;
Protected procedure CreateRC;
Protected procedure CreateWindow;
Protected procedure DestroyDC;
Protected procedure DestroyRC;
Protected procedure DestroyWindow;
Protected procedure SetPFD(const PFD_: TPixelFormatDescriptor);
Protected procedure SetPFI(const PFI_: Integer);
Protected procedure ValidatePFD(const PFD_: TPixelFormatDescriptor);
Protected procedure ValidatePFI(const PFI_: Integer);

Properties

Public property PFD: TPixelFormatDescriptor read _PFD write SetPFD;
Public property PFI: Integer read _PFI write SetPFI;
Public property RC: HGLRC read _RC;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLShader

Class TGLShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLShader = class(TObject)

Description

Hierarchy

  • TObject
  • TGLShader

Overview

Fields

Protected _ID: TGLuint;

Methods

Public | constructor Create(const Kind_: TGLuint);
Public | destructor Destroy; override;
Public | procedure SetSource(const Source_: String);

Properties

Public property ID: TGLuint read _ID;

Description

Fields

Protected _ID: TGLuint;

Methods

Public constructor Create(const Kind_: TGLuint);
Public destructor Destroy; override;
Public procedure SetSource(const Source_: String);

Properties

Public property ID: TGLuint read _ID;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLShaderV

Class TGLShaderV

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLShaderV = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Hierarchy

  • TObject
  • TGLShader
  • TGLShaderV

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLShaderG

Class TGLShaderG

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLShaderG = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Hierarchy

  • TObject
  • TGLShader
  • TGLShaderG

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLShaderF

Class TGLShaderF

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLShaderF = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Hierarchy

  • TObject
  • TGLShader
  • TGLShaderF

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLProgram

Class TGLProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLProgram = class(TObject)

Description

Hierarchy

  • TObject
  • TGLProgram

Overview

Fields

Protected _ID: TGLuint;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | procedure Attach(const Shader_: TGLShader);
Public | procedure Detach(const Shader_: TGLShader);
Public | procedure Link;
Public | procedure Use;

Description

Fields

Protected _ID: TGLuint;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure Attach(const Shader_: TGLShader);
Public procedure Detach(const Shader_: TGLShader);
Public procedure Link;
Public procedure Use;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLBuffer

Class TGLBuffer

Description
Hierarchy
Nested Types
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLBuffer<_TYPE_:record> = class(TObject)

Description

Hierarchy

  • TObject
  • TGLBuffer

Overview

Nested Types

Public _PValue_ = ˆ_TYPE_;

Fields

Protected | _ID: TGLuint;
Protected | _Kind: TGLuint;
Protected | _Count: Integer;
Protected | _Head: _PValue_;

Methods

Public | constructor Create(const Kind_: TGLuint);
Public | destructor Destroy; override;
Public | procedure Bind;
Public | procedure Map;
Public | procedure Unbind;
Public | procedure Unmap;
Protected | procedure SetCount(const Count_: Integer);

Properties

Public | property Count: Integer read _Count write SetCount;
Public | property ID: TGLuint read _ID;

Description

Nested Types

Public _PValue_ = ˆ_TYPE_;

Fields

Protected _ID: TGLuint;
Protected _Kind: TGLuint;
Protected _Count: Integer;
Protected _Head: _PValue_;

Methods

Public constructor Create(const Kind_: TGLuint);
Public destructor Destroy; override;
Public procedure Bind;
Public procedure Map;
Public procedure Unbind;
Public procedure Unmap;
Protected procedure SetCount(const Count_: Integer);

Properties

Public property Count: Integer read _Count write SetCount;
Public property ID: TGLuint read _ID;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLBufferV

Class TGLBufferV

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLBufferV<_TYPE_:record> = class(TGLBuffer<_TYPE_>)

Description

No description available, ancestor TGLBuffer description follows

Hierarchy

  • TObject
  • TGLBuffer
  • TGLBufferV

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLBufferI

Class TGLBufferI

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLBufferI<_TYPE_:record> = class(TGLBuffer<_TYPE_>)

Description

No description available, ancestor TGLBuffer description follows

Hierarchy

  • TObject
  • TGLBuffer
  • TGLBufferI

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLBufferU

Class TGLBufferU

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLBufferU<_TYPE_:record> = class(TGLBuffer<_TYPE_>)

Description

No description available, ancestor TGLBuffer description follows

Hierarchy

  • TObject
  • TGLBuffer
  • TGLBufferU

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.OpenGLVCL: Class TGLArray

Class TGLArray

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.OpenGLVCL

Declaration

type TGLArray = class(TObject)

Description

Hierarchy

  • TObject
  • TGLArray

Overview

Fields

Protected _ID: TGLuint;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | procedure BeginBind;
Public | procedure EndBind;

Properties

Public property ID: TGLuint read _ID;

Description

Fields

Protected _ID: TGLuint;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure BeginBind;
Public procedure EndBind;

Properties

Public property ID: TGLuint read _ID;


GLSysHelp v.2.1: GLS.ParametricSurfaces

Unit GLS.ParametricSurfaces

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.CurvesAndSurfaces
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.PersistentClasses
  • GLS.Texture
  • GLS.State
  • GLS.Context
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TMOParametricSurface |
Class TFGBezierSurface |

Types

TParametricSurfaceBasis = (...);
TParametricSurfaceRenderer = (...);

Description

Types

TParametricSurfaceBasis = (...);

psbBezier indicates building the surface with Bernstein basis functions, no knot or order properties are used. psbBSpline indicates building the surface using BSpline basis functions, these require orders and knot vectors to define the control point influences on the surface.

Values
  • psbBezier
  • psbBSpline
TParametricSurfaceRenderer = (...);

psrGLScene tells the surface to render using GLScene code to build the mesh, whereas, psrOpenGL uses glEvalMesh2 or gluNurbsRenderer calls to render the surface.

Values
  • psrGLScene
  • psrOpenGL


GLSysHelp v.2.1: GLS.ParametricSurfaces: Class TMOParametricSurface

Class TMOParametricSurface

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParametricSurfaces

Declaration

type TMOParametricSurface = class(TGLMeshObject)

Description

No description available, ancestor TGLMeshObject description follows

Base mesh class. Introduces base methods and properties for mesh objects. Subclasses are named "TGLMOxxx".

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TMOParametricSurface

Overview

Fields

Private | FControlPoints: TAffineVectorList;
Private | FWeightedControlPoints: TAffineVectorList;
Private | FKnotsU: TSingleList;
Private | FKnotsV: TSingleList;
Private | FWeights: TSingleList;
Private | FOrderU: Integer;
Private | FOrderV: Integer;
Private | FCountU: Integer;
Private | FCountV: Integer;
Private | FResolution: Integer;
Private | FAutoKnots: Boolean;
Private | FContinuity: TBSplineContinuity;
Private | FRenderer: TParametricSurfaceRenderer;
Private | FBasis: TParametricSurfaceBasis;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure Clear; override;
Public | procedure GenerateMesh;
Public | procedure Prepare; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Private | procedure SetBasis(Value: TParametricSurfaceBasis);
Private | procedure SetControlPoints(Value: TAffineVectorList);
Private | procedure SetKnotsU(Value: TSingleList);
Private | procedure SetKnotsV(Value: TSingleList);
Private | procedure SetRenderer(Value: TParametricSurfaceRenderer);
Private | procedure SetWeights(Value: TSingleList);

Properties

Public | property AutoKnots: Boolean read FAutoKnots write FAutoKnots;
Public | property Basis: TParametricSurfaceBasis read FBasis write SetBasis;
Public | property Continuity: TBSplineContinuity read FContinuity write FContinuity;
Public | property ControlPoints: TAffineVectorList read FControlPoints write SetControlPoints;
Public | property CountU: Integer read FCountU write FCountU;
Public | property CountV: Integer read FCountV write FCountV;
Public | property KnotsU: TSingleList read FKnotsU write SetKnotsU;
Public | property KnotsV: TSingleList read FKnotsV write SetKnotsV;
Public | property OrderU: Integer read FOrderU write FOrderU;
Public | property OrderV: Integer read FOrderV write FOrderV;
Public | property Renderer: TParametricSurfaceRenderer read FRenderer write SetRenderer;
Public | property Resolution: Integer read FResolution write FResolution;
Public | property Weights: TSingleList read FWeights write SetWeights;

Description

Fields

Private FControlPoints: TAffineVectorList;
Private FWeightedControlPoints: TAffineVectorList;
Private FKnotsU: TSingleList;
Private FKnotsV: TSingleList;
Private FWeights: TSingleList;
Private FOrderU: Integer;
Private FOrderV: Integer;
Private FCountU: Integer;
Private FCountV: Integer;
Private FResolution: Integer;
Private FAutoKnots: Boolean;
Private FContinuity: TBSplineContinuity;
Private FRenderer: TParametricSurfaceRenderer;
Private FBasis: TParametricSurfaceBasis;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure Clear; override;
Public procedure GenerateMesh;

Generates a mesh approximation of the surface defined by the properties below. This is used to construct the mesh when using Renderer = psrGLScene. If you want to render using OpenGL calls but would like to obtain the mesh data also use this call to generate the mesh data. Fills in Vertices, Normals, etc.

Public procedure Prepare; override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Private procedure SetBasis(Value: TParametricSurfaceBasis);
Private procedure SetControlPoints(Value: TAffineVectorList);
Private procedure SetKnotsU(Value: TSingleList);
Private procedure SetKnotsV(Value: TSingleList);
Private procedure SetRenderer(Value: TParametricSurfaceRenderer);
Private procedure SetWeights(Value: TSingleList);

Properties

Public property AutoKnots: Boolean read FAutoKnots write FAutoKnots;

Automatically generate the knot vectors based on the Continuity. Only applies to BSpline surfaces.

Public property Basis: TParametricSurfaceBasis read FBasis write SetBasis;

Basis determines the style of curve, psbBezier or psbBSpline

Public property Continuity: TBSplineContinuity read FContinuity write FContinuity;
Public property ControlPoints: TAffineVectorList read FControlPoints write SetControlPoints;

Control points define the parametric surface.

Public property CountU: Integer read FCountU write FCountU;

CountU and CountV describe the number of control points in the U and V direciton. Basically a control point width and height in (u,v) space.

Public property CountV: Integer read FCountV write FCountV;
Public property KnotsU: TSingleList read FKnotsU write SetKnotsU;

KnotsU and KnotsV are the knot vectors in the U and V direction. Knots define the continuity of curves and how control points influence the parametric values to build the surface.

Public property KnotsV: TSingleList read FKnotsV write SetKnotsV;
Public property OrderU: Integer read FOrderU write FOrderU;

OrderU and OrderV defines the curve order in the U and V direction

Public property OrderV: Integer read FOrderV write FOrderV;
Public property Renderer: TParametricSurfaceRenderer read FRenderer write SetRenderer;

Determines whether to use OpenGL calls (psrOpenGL) or the GLScene mesh objects (psrGLScene) to render the surface.

Public property Resolution: Integer read FResolution write FResolution;

Defines how fine the resultant mesh will be. Higher values create finer meshes. Resolution = 50 would produce a 50x50 mesh. The GLU Nurbs rendering uses resolution as the U_STEP and V_STEP using the sampling method GLU_DOMAIN_DISTANCE, so the resolution works a little differently there.

Public property Weights: TSingleList read FWeights write SetWeights;

Weights define how much a control point effects the surface.


GLSysHelp v.2.1: GLS.ParametricSurfaces: Class TFGBezierSurface

Class TFGBezierSurface

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParametricSurfaces

Declaration

type TFGBezierSurface = class(TGLFaceGroup)

Description

A 3d bezier surface implemented through facegroups. The ControlPointIndices is an index to control points stored in the MeshObject.Vertices affine vector list. Similarly the TexCoordIndices point to the owner MeshObject.TexCoords, one for each control point. CountU and CountV define the width and height of the surface. Resolution sets the detail level of the mesh evaluation. MinU, MaxU, MinV and MaxV define the region of the surface to be rendered, this is especially useful for blending with neighbouring patches.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGBezierSurface

Overview

Fields

Private | FCountU: Integer;
Private | FCountV: Integer;
Private | FControlPointIndices: TIntegerList;
Private | FTexCoordIndices: TIntegerList;
Private | FResolution: Integer;
Private | FMinU: Single;
Private | FMaxU: Single;
Private | FMinV: Single;
Private | FMaxV: Single;
Private | FTempControlPoints: TAffineVectorList;
Private | FTempTexCoords: TAffineVectorList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure Prepare; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetControlPointIndices(const Value: TIntegerList);
Protected | procedure SetTexCoordIndices(const Value: TIntegerList);

Properties

Public | property ControlPointIndices: TIntegerList read FControlPointIndices write SetControlPointIndices;
Public | property CountU: Integer read FCountU write FCountU;
Public | property CountV: Integer read FCountV write FCountV;
Public | property MaxU: Single read FMaxU write FMaxU;
Public | property MaxV: Single read FMaxV write FMaxV;
Public | property MinU: Single read FMinU write FMinU;
Public | property MinV: Single read FMinV write FMinV;
Public | property Resolution: Integer read FResolution write FResolution;
Public | property TexCoordIndices: TIntegerList read FTexCoordIndices write SetTexCoordIndices;

Description

Fields

Private FCountU: Integer;
Private FCountV: Integer;
Private FControlPointIndices: TIntegerList;
Private FTexCoordIndices: TIntegerList;
Private FResolution: Integer;
Private FMinU: Single;
Private FMaxU: Single;
Private FMinV: Single;
Private FMaxV: Single;
Private FTempControlPoints: TAffineVectorList;
Private FTempTexCoords: TAffineVectorList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure Prepare; override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetControlPointIndices(const Value: TIntegerList);
Protected procedure SetTexCoordIndices(const Value: TIntegerList);

Properties

Public property ControlPointIndices: TIntegerList read FControlPointIndices write SetControlPointIndices;
Public property CountU: Integer read FCountU write FCountU;
Public property CountV: Integer read FCountV write FCountV;
Public property MaxU: Single read FMaxU write FMaxU;
Public property MaxV: Single read FMaxV write FMaxV;
Public property MinU: Single read FMinU write FMinU;
Public property MinV: Single read FMinV write FMinV;
Public property Resolution: Integer read FResolution write FResolution;
Public property TexCoordIndices: TIntegerList read FTexCoordIndices write SetTexCoordIndices;


GLSysHelp v.2.1: GLS.ParticleFX

Unit GLS.ParticleFX

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Types
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Utils
  • GLS.PipelineTransformation
  • GLS.State
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.XCollection
  • GLS.Material
  • GLS.Cadencer
  • GLS.VectorLists
  • GLS.Graphics
  • GLS.Context
  • GLS.Color
  • GLS.BaseClasses
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.Manager
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLParticle |
Class TGLParticleList |
Class TGLParticleFXManager |
Class TGLParticleFXEffect |
Packed Record TParticleReference |
Record TPFXRegion |
Class TGLParticleFXRenderer |
Class TGLSourcePFXEffect |
Class TGLDynamicPFXManager |
Class TPFXLifeColor |
Class TPFXLifeColors |
Class TGLLifeColoredPFXManager |
Class TGLCustomPFXManager |
Class TGLPolygonPFXManager |
Class TGLBaseSpritePFXManager |
Class TGLCustomSpritePFXManager |
Class TGLPointLightPFXManager |

Functions and Procedures

function GetOrCreateSourcePFX(obj: TGLBaseSceneObject; const name: string = ''): TGLSourcePFXEffect;

Types

PFXPointerList = ˆTFXPointerList;
PGLParticleArray = ˆTGLParticleArray;
PParticleReference = ˆTParticleReference;
PParticleReferenceArray = ˆTParticleReferenceArray;
PPFXRegion = ˆTPFXRegion;
TFXPointerList = array[0..MaxInt shr 8-1] of Pointer;
TGLParticleArray = array[0..MaxInt shr 4] of TGLParticle;
TGLParticleClass = class of TGLParticle;
TGLSourcePFXDispersionMode = (...);
TGLSourcePFXPositionMode = (...);
TGLSourcePFXVelocityMode = (...);
TParticleReferenceArray = packed array[0..MaxInt shr 8-1] of TParticleReference;
TPFXCreateParticleEvent = procedure(Sender: TObject; aParticle: TGLParticle) of object;
TPFXDirectRenderEvent = procedure(Sender: TObject; aParticle: TGLParticle; var rci: TGLRenderContextInfo) of object;
TPFXGetParticleCountEvent = function(Sender: TObject): Integer of object;
TPFXParticleProgress = procedure(Sender: TObject; const progressTime: TGLProgressTimes; aParticle: TGLParticle; var killParticle: Boolean) of object;
TPFXPrepareTextureImageEvent = procedure(Sender: TObject; destBmp32: TGLBitmap32; var texFormat: Integer) of object;
TPFXProgressEvent = procedure(Sender: TObject; const progressTime: TGLProgressTimes; var defaultProgress: Boolean) of object;
TPFXSortAccuracy = (...);
TSpriteColorMode = (...);
TSpritesPerTexture = (...);

Constants

cPFXNbRegions = 128;
cPFXGranularity = 128;

Description

Functions and Procedures

function GetOrCreateSourcePFX(obj: TGLBaseSceneObject; const name: string = ''): TGLSourcePFXEffect;

Returns or creates the TGLBInertia within the given object's behaviours.

Types

PFXPointerList = ˆTFXPointerList;
PGLParticleArray = ˆTGLParticleArray;
PParticleReference = ˆTParticleReference;
PParticleReferenceArray = ˆTParticleReferenceArray;
PPFXRegion = ˆTPFXRegion;
TFXPointerList = array[0..MaxInt shr 8-1] of Pointer;
TGLParticleArray = array[0..MaxInt shr 4] of TGLParticle;
TGLParticleClass = class of TGLParticle;
TGLSourcePFXDispersionMode = (...);
Values
  • sdmFast
  • sdmIsotropic
  • sdmGaussian
TGLSourcePFXPositionMode = (...);
Values
  • spmAbsoluteOffset
  • spmRelative
TGLSourcePFXVelocityMode = (...);
Values
  • svmAbsolute
  • svmRelative
TParticleReferenceArray = packed array[0..MaxInt shr 8-1] of TParticleReference;
TPFXCreateParticleEvent = procedure(Sender: TObject; aParticle: TGLParticle) of object;
TPFXDirectRenderEvent = procedure(Sender: TObject; aParticle: TGLParticle; var rci: TGLRenderContextInfo) of object;
TPFXGetParticleCountEvent = function(Sender: TObject): Integer of object;
TPFXParticleProgress = procedure(Sender: TObject; const progressTime: TGLProgressTimes; aParticle: TGLParticle; var killParticle: Boolean) of object;
TPFXPrepareTextureImageEvent = procedure(Sender: TObject; destBmp32: TGLBitmap32; var texFormat: Integer) of object;
TPFXProgressEvent = procedure(Sender: TObject; const progressTime: TGLProgressTimes; var defaultProgress: Boolean) of object;
TPFXSortAccuracy = (...);
Values
  • saLow
  • saOneTenth
  • saOneThird
  • saOneHalf
  • saHigh
TSpriteColorMode = (...);

Sprite color modes. scmFade: vertex coloring is used to fade inner-outer scmInner: vertex coloring uses inner color only scmOuter: vertex coloring uses outer color only scmNone: vertex coloring is NOT used (colors are ignored)

Values
  • scmFade
  • scmInner
  • scmOuter
  • scmNone
TSpritesPerTexture = (...);

Sprites per sprite texture for the SpritePFX.

Values
  • sptOne
  • sptFour

Constants

cPFXNbRegions = 128;
cPFXGranularity = 128;

number of distance regions


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLParticle

Class TGLParticle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLParticle = class(TPersistentObject)

Description

Base class for particles. The class implements properties for position, velocity and time, whatever you need in excess of that will have to be placed in subclasses (this class should remain as compact as possible).

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLParticle

Overview

Fields

Private | FID: Integer;
Private | FTag: Integer;
Private | FManager: TGLParticleFXManager;
Private | FPosition: TAffineVector;
Private | FVelocity: TAffineVector;
Private | FRotation: Single;
Private | FCreationTime: Double;
Private | FEffectScale: Single;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Private | function GetPosition(const Index: Integer): Single;
Private | function GetVelocity(const Index: Integer): Single;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Private | procedure WritePosition(const Index: Integer; const aValue: Single);
Private | procedure WriteVelocity(const Index: Integer; const aValue: Single);

Properties

Public | property CreationTime: Double read FCreationTime write FCreationTime;
Public | property ID: Integer read FID;
Public | property Manager: TGLParticleFXManager read FManager write FManager;
Public | property Position: TAffineVector read FPosition write FPosition;
Public | property PosX : Single index 0 read GetPosition write WritePosition;
Public | property PosY : Single index 1 read GetPosition write WritePosition;
Public | property PosZ : Single index 2 read GetPosition write WritePosition;
Public | property Tag: Integer read FTag write FTag;
Public | property Velocity: TAffineVector read FVelocity write FVelocity;
Public | property VelX : Single index 0 read GetVelocity write WriteVelocity;
Public | property VelY : Single index 1 read GetVelocity write WriteVelocity;
Public | property VelZ : Single index 2 read GetVelocity write WriteVelocity;

Description

Fields

Private FID: Integer;
Private FTag: Integer;
Private FManager: TGLParticleFXManager;
Private FPosition: TAffineVector;

NOT persistent

Private FVelocity: TAffineVector;
Private FRotation: Single;
Private FCreationTime: Double;
Private FEffectScale: Single;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Private function GetPosition(const Index: Integer): Single;
Private function GetVelocity(const Index: Integer): Single;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Private procedure WritePosition(const Index: Integer; const aValue: Single);
Private procedure WriteVelocity(const Index: Integer; const aValue: Single);

Properties

Public property CreationTime: Double read FCreationTime write FCreationTime;

Time at which particle was created

Public property ID: Integer read FID;

Particle's ID, given at birth. ID is a value unique per manager.

Public property Manager: TGLParticleFXManager read FManager write FManager;
Public property Position: TAffineVector read FPosition write FPosition;

Particle's absolute position. Note that this property is read-accessed directly at rendering time in the innards of the depth-sorting code.

Public property PosX : Single index 0 read GetPosition write WritePosition;
Public property PosY : Single index 1 read GetPosition write WritePosition;
Public property PosZ : Single index 2 read GetPosition write WritePosition;
Public property Tag: Integer read FTag write FTag;
Public property Velocity: TAffineVector read FVelocity write FVelocity;

Particle's velocity. This velocity is indicative and is NOT automatically applied to the position during progression events by this class (subclasses may implement that).

Public property VelX : Single index 0 read GetVelocity write WriteVelocity;
Public property VelY : Single index 1 read GetVelocity write WriteVelocity;
Public property VelZ : Single index 2 read GetVelocity write WriteVelocity;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLParticleList

Class TGLParticleList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLParticleList = class(TPersistentObject)

Description

List of particles. This list is managed with particles and performance in mind, make sure to check methods doc.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLParticleList

Overview

Fields

Private | FOwner: TGLParticleFXManager;
Private | FItemList: TPersistentObjectList;
Private | FDirectList: PGLParticleArray;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function AddItem(aItem: TGLParticle): Integer;
Public | function IndexOfItem(aItem: TGLParticle): Integer;
Public | function ItemCount: Integer;
Protected | function GetItems(index: Integer): TGLParticle;
Public | procedure Pack;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure RemoveAndFreeItem(aItem: TGLParticle);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure AfterItemCreated(Sender: TObject);
Protected | procedure SetItems(index: Integer; val: TGLParticle);

Properties

Public | property Items[index:Integer]: TGLParticle read GetItems write SetItems;
Public | property List: PGLParticleArray read FDirectList;
Public | property Owner: TGLParticleFXManager read FOwner write FOwner;

Description

Fields

Private FOwner: TGLParticleFXManager;
Private FItemList: TPersistentObjectList;

NOT persistent

Private FDirectList: PGLParticleArray;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function AddItem(aItem: TGLParticle): Integer;

Adds a particle to the list. Particle owneship is defined blindly, if the particle was previously in another list, it won't be automatically removed from that list.

Public function IndexOfItem(aItem: TGLParticle): Integer;
Public function ItemCount: Integer;
Protected function GetItems(index: Integer): TGLParticle;

NOT persistent

Public procedure Pack;

Packs the list by removing all "nil" items. Note: this functions is orders of magnitude faster than the TList version.

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure RemoveAndFreeItem(aItem: TGLParticle);

Removes and frees a particular item for the list. If the item is not part of the list, nothing is done. If found in the list, the item's "slot" is set to nil and item is freed (after setting its ownership to nil). The nils can be removed with a call to Pack.

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure AfterItemCreated(Sender: TObject);
Protected procedure SetItems(index: Integer; val: TGLParticle);

Properties

Public property Items[index:Integer]: TGLParticle read GetItems write SetItems;
Public property List: PGLParticleArray read FDirectList;
Public property Owner: TGLParticleFXManager read FOwner write FOwner;

Refers owner manager


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLParticleFXManager

Class TGLParticleFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLParticleFXManager = class(TGLCadencedComponent)

Description

Base class for particle FX managers. Managers take care of life and death of particles for a particular particles FX system. You can have multiple scene-wide particle FX managers in a scene, handled by the same ParticleFxRenderer. Before subclassing, make sure you understood how the Initialize/Finalize Rendering, Begin/End Particles and RenderParticles methods (and also understood that rendering of manager's particles may be interwoven).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager

Overview

Fields

Private | FBlendingMode: TGLBlendingMode;
Private | FRenderer: TGLParticleFXRenderer;
Private | FParticles: TGLParticleList;
Private | FNextID: Integer;
Private | FOnCreateParticle: TPFXCreateParticleEvent;
Private | FAutoFreeWhenEmpty: Boolean;
Private | FUsers: TList;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateParticle: TGLParticle; virtual;
Public | function ParticleCount: Integer; virtual;
Public | class function ParticlesClass: TGLParticleClass; virtual;
Protected | function TexturingMode: Cardinal; virtual; abstract;
Public | procedure CreateParticles(nbParticles: Integer);
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure ApplyBlendingMode(var rci: TGLRenderContextInfo);
Protected | procedure BeginParticles(var rci: TGLRenderContextInfo); virtual; abstract;
Protected | procedure EndParticles(var rci: TGLRenderContextInfo); virtual; abstract;
Protected | procedure FinalizeRendering(var rci: TGLRenderContextInfo); virtual; abstract;
Protected | procedure InitializeRendering(var rci: TGLRenderContextInfo); virtual; abstract;
Protected | procedure registerUser(obj: TGLParticleFXEffect);
Protected | procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); virtual; abstract;
Protected | procedure SetParticles(const aParticles: TGLParticleList);
Protected | procedure SetRenderer(const val: TGLParticleFXRenderer);
Protected | procedure UnapplyBlendingMode(var rci: TGLRenderContextInfo);
Protected | procedure unregisterUser(obj: TGLParticleFXEffect);

Properties

Public | property AutoFreeWhenEmpty: Boolean read FAutoFreeWhenEmpty write FAutoFreeWhenEmpty;
Protected | property BlendingMode: TGLBlendingMode read FBlendingMode write FBlendingMode;
Published | property Cadencer;
Protected | property NextID: Integer read FNextID write FNextID;
Published | property OnCreateParticle: TPFXCreateParticleEvent read FOnCreateParticle write FOnCreateParticle;
Public | property Particles: TGLParticleList read FParticles write SetParticles;
Published | property Renderer: TGLParticleFXRenderer read FRenderer write SetRenderer;

Description

Fields

Private FBlendingMode: TGLBlendingMode;
Private FRenderer: TGLParticleFXRenderer;
Private FParticles: TGLParticleList;
Private FNextID: Integer;
Private FOnCreateParticle: TPFXCreateParticleEvent;
Private FAutoFreeWhenEmpty: Boolean;
Private FUsers: TList;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateParticle: TGLParticle; virtual;

Creates a new particle controled by the manager.

Public function ParticleCount: Integer; virtual;

Return the number of particles. Note that subclasses may decide to return a particle count inferior to Particles.ItemCount, and the value returned by this method will be the one honoured at render time.

Public class function ParticlesClass: TGLParticleClass; virtual;

Class of particles created by this manager. }

Protected function TexturingMode: Cardinal; virtual; abstract;

Texturing mode for the particles. Subclasses should return GL_TEXTURE_1D, 2D or 3D depending on their needs, and zero if they don't use texturing. This method is used to reduce the number of texturing activations/deactivations.

Public procedure CreateParticles(nbParticles: Integer);

Create several particles at once.

Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure ApplyBlendingMode(var rci: TGLRenderContextInfo);

Apply BlendingMode relatively to the renderer's blending mode.

Protected procedure BeginParticles(var rci: TGLRenderContextInfo); virtual; abstract;

Triggered just before rendering a set of particles. The current OpenGL state should be assumed to be the "base" one as was found during InitializeRendering. Manager-specific states should be established here. Multiple BeginParticles can occur during a render (but all will be between InitializeRendering and Finalizerendering, and at least one particle will be rendered before EndParticles is invoked).

Protected procedure EndParticles(var rci: TGLRenderContextInfo); virtual; abstract;

Triggered after a set of particles as been rendered. If OpenGL state were altered directly (ie. not through the states caches of GLMisc), it should be restored back to the "base" state.

Protected procedure FinalizeRendering(var rci: TGLRenderContextInfo); virtual; abstract;

Invoked when rendering of particles for this manager is done.

Protected procedure InitializeRendering(var rci: TGLRenderContextInfo); virtual; abstract;

Invoked when the particles of the manager will be rendered. This method is fired with the "base" OpenGL states and matrices that will be used throughout the whole rendering, per-frame initialization should take place here. OpenGL states/matrices should not be altered in any way here.

Protected procedure registerUser(obj: TGLParticleFXEffect);
Protected procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); virtual; abstract;

Request to render a particular particle. Due to the nature of the rendering, no particular order should be assumed. If possible, no OpenGL state changes should be made in this method, but should be placed in Begin/EndParticles.

Protected procedure SetParticles(const aParticles: TGLParticleList);
Protected procedure SetRenderer(const val: TGLParticleFXRenderer);

list of objects that use this manager

Protected procedure UnapplyBlendingMode(var rci: TGLRenderContextInfo);

Unapply BlendingMode relatively by restoring the renderer's blending mode.

Protected procedure unregisterUser(obj: TGLParticleFXEffect);

Properties

Public property AutoFreeWhenEmpty: Boolean read FAutoFreeWhenEmpty write FAutoFreeWhenEmpty;

If True the manager will free itself when its particle count reaches zero. Check happens in the progression event, use with caution and only if you know what you're doing!

Protected property BlendingMode: TGLBlendingMode read FBlendingMode write FBlendingMode;

Blending mode for the particles. Protected and unused in the base class

Published property Cadencer;
Protected property NextID: Integer read FNextID write FNextID;

ID for the next created particle.

Published property OnCreateParticle: TPFXCreateParticleEvent read FOnCreateParticle write FOnCreateParticle;

Event triggered after standard particle creation and initialization.

Public property Particles: TGLParticleList read FParticles write SetParticles;

A TGLParticleList property.

Published property Renderer: TGLParticleFXRenderer read FRenderer write SetRenderer;

References the renderer. The renderer takes care of ordering the particles of the manager (and other managers linked to it) and rendering them all depth-sorted.


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLParticleFXEffect

Class TGLParticleFXEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLParticleFXEffect = class(TGLObjectPostEffect)

Description

Base class for linking scene objects to a particle FX manager.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPostEffect
  • TGLParticleFXEffect

Overview

Fields

Private | FManager: TGLParticleFXManager;
Private | FManagerName: string;
Private | FEffectScale: single;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Protected | procedure Loaded; override;
Protected | procedure managerNotification(aManager: TGLParticleFXManager; Operation: TOperation);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetManager(val: TGLParticleFXManager);
Protected | procedure WriteToFiler(writer: TWriter); override;
Private | procedure SetEffectScale(const Value: single);

Properties

Published | property EffectScale: single read FEffectScale write SetEffectScale;
Published | property Manager: TGLParticleFXManager read FManager write SetManager;

Description

Fields

Private FManager: TGLParticleFXManager;
Private FManagerName: string;
Private FEffectScale: single;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Protected procedure Loaded; override;
Protected procedure managerNotification(aManager: TGLParticleFXManager; Operation: TOperation);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetManager(val: TGLParticleFXManager);

NOT persistent, temporarily used for persistence

Protected procedure WriteToFiler(writer: TWriter); override;
Private procedure SetEffectScale(const Value: single);

Properties

Published property EffectScale: single read FEffectScale write SetEffectScale;
Published property Manager: TGLParticleFXManager read FManager write SetManager;

Reference to the Particle FX manager


GLSysHelp v.2.1: GLS.ParticleFX: Packed Record TParticleReference

Packed Record TParticleReference

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TParticleReference = packed record

Description

PFX region rendering structures

Overview

Fields

Public | particle: TGLParticle;
Public | distance: Integer;

Description

Fields

Public particle: TGLParticle;
Public distance: Integer;


GLSysHelp v.2.1: GLS.ParticleFX: Record TPFXRegion

Record TPFXRegion

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TPFXRegion = record

Description

Overview

Fields

Public | count: Integer;
Public | capacity: Integer;
Public | particleRef: PParticleReferenceArray;
Public | particleOrder: PFXPointerList;

Description

Fields

Public count: Integer;
Public capacity: Integer;
Public particleRef: PParticleReferenceArray;
Public particleOrder: PFXPointerList;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLParticleFXRenderer

Class TGLParticleFXRenderer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLParticleFXRenderer = class(TGLBaseSceneObject)

Description

Rendering interface for scene-wide particle FX. A renderer can take care of rendering any number of particle systems, its main task being to depth-sort the particles so that they are blended appropriately. This object will usually be placed at the end of the scene hierarchy, just before the HUD overlays, its position, rotation etc. is of no importance and has no effect on the rendering of the particles.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLParticleFXRenderer

Overview

Fields

Private | FManagerList: TList;
Private | FLastSortTime: Double;
Private | FLastParticleCount: Integer;
Private | FZWrite: Boolean;
Private | FZTest: Boolean;
Private | FZCull: Boolean;
Private | FZSortAccuracy: TPFXSortAccuracy;
Private | FZMaxDistance: Single;
Private | FBlendingMode: TGLBlendingMode;
Private | FRegions: array[0..cPFXNbRegions - 1] of TPFXRegion;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreZMaxDistance: Boolean;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure RegisterManager(aManager: TGLParticleFXManager);
Protected | procedure UnRegisterAll;
Protected | procedure UnRegisterManager(aManager: TGLParticleFXManager);

Properties

Published | property BlendingMode: TGLBlendingMode read FBlendingMode write FBlendingMode default bmAdditive;
Public | property LastParticleCount: Integer read FLastParticleCount;
Public | property LastSortTime: Double read FLastSortTime;
Published | property Visible;
Published | property ZCull: Boolean read FZCull write FZCull default True;
Published | property ZMaxDistance: Single read FZMaxDistance write FZMaxDistance stored StoreZMaxDistance;
Published | property ZSortAccuracy: TPFXSortAccuracy read FZSortAccuracy write FZSortAccuracy default saHigh;
Published | property ZTest: Boolean read FZTest write FZTest default True;
Published | property ZWrite: Boolean read FZWrite write FZWrite default False;

Description

Fields

Private FManagerList: TList;
Private FLastSortTime: Double;
Private FLastParticleCount: Integer;
Private FZWrite: Boolean;
Private FZTest: Boolean;
Private FZCull: Boolean;
Private FZSortAccuracy: TPFXSortAccuracy;
Private FZMaxDistance: Single;
Private FBlendingMode: TGLBlendingMode;
Private FRegions: array[0..cPFXNbRegions - 1] of TPFXRegion;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreZMaxDistance: Boolean;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;

Quick Explanation of what is below: The purpose is to depth-sort a large number (thousandths) of particles and render them back to front. The rendering part is not particularly complex, it just invokes the various PFX managers involved and request particle renderings. The sort uses a first-pass region partition (the depth range is split into regions, and particles are assigned directly to the region they belong to), then each region is sorted with a QuickSort. The QuickSort itself is the regular classic variant, but the comparison is made on singles as if they were integers, this is allowed by the IEEE format in a very efficient manner if all values are superior to 1, which is ensured by the distance calculation and a fixed offset of 1

Protected procedure RegisterManager(aManager: TGLParticleFXManager);

Register a manager

Protected procedure UnRegisterAll;
Protected procedure UnRegisterManager(aManager: TGLParticleFXManager);

UnRegister a manager

Properties

Published property BlendingMode: TGLBlendingMode read FBlendingMode write FBlendingMode default bmAdditive;

Default blending mode for particles. "Additive" blending is the usual mode (increases brightness and saturates), "transparency" may be used for smoke or systems that opacify view, "opaque" is more rarely used. Note: specific PFX managers may override/ignore this setting.

Public property LastParticleCount: Integer read FLastParticleCount;

Amount of particles during the last render.

Public property LastSortTime: Double read FLastSortTime;

Time (in msec) spent sorting the particles for last render.

Published property Visible;
Published property ZCull: Boolean read FZCull write FZCull default True;

If true the renderer will cull particles that are behind the camera.

Published property ZMaxDistance: Single read FZMaxDistance write FZMaxDistance stored StoreZMaxDistance;

Maximum distance for rendering PFX particles. If zero, camera's DepthOfView is used.

Published property ZSortAccuracy: TPFXSortAccuracy read FZSortAccuracy write FZSortAccuracy default saHigh;

If true particles will be accurately sorted back to front. When false, only a rough ordering is used, which can result in visual glitches but may be faster.

Published property ZTest: Boolean read FZTest write FZTest default True;

Specifies if particles should write to test ZBuffer.

Published property ZWrite: Boolean read FZWrite write FZWrite default False;

Specifies if particles should write to ZBuffer. If the PFXRenderer is the last object to be rendered in the scene, it is not necessary to write to the ZBuffer since the particles are depth-sorted. Writing to the ZBuffer has a performance penalty.


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLSourcePFXEffect

Class TGLSourcePFXEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLSourcePFXEffect = class(TGLParticleFXEffect)

Description

Simple Particles Source.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPostEffect
  • TGLParticleFXEffect
  • TGLSourcePFXEffect

Overview

Fields

Private | FInitialVelocity: TGLCoordinates;
Private | FInitialPosition: TGLCoordinates;
Private | FPositionDispersionRange: TGLCoordinates;
Private | FVelocityDispersion: Single;
Private | FPositionDispersion: Single;
Private | FParticleInterval: Single;
Private | FVelocityMode: TGLSourcePFXVelocityMode;
Private | FPositionMode: TGLSourcePFXPositionMode;
Private | FDispersionMode: TGLSourcePFXDispersionMode;
Private | FEnabled: Boolean;
Private | FDisabledIfOwnerInvisible: Boolean;
Private | FTimeRemainder: Double;
Private | FRotationDispersion: Single;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Protected | function ParticleAbsoluteInitialPos: TAffineVector;
Public | procedure Burst(time: Double; nb: Integer);
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure RingExplosion(time: Double; minInitialSpeed, maxInitialSpeed: Single; nbParticles: Integer);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetInitialPosition(const val: TGLCoordinates);
Protected | procedure SetInitialVelocity(const val: TGLCoordinates);
Protected | procedure SetParticleInterval(const val: Single);
Protected | procedure SetPositionDispersionRange(const val: TGLCoordinates);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property DisabledIfOwnerInvisible: boolean read FDisabledIfOwnerInvisible write FDisabledIfOwnerInvisible;
Published | property DispersionMode: TGLSourcePFXDispersionMode read FDispersionMode write FDispersionMode default sdmFast;
Published | property Enabled: boolean read FEnabled write FEnabled;
Published | property InitialPosition: TGLCoordinates read FInitialPosition write SetInitialPosition;
Published | property InitialVelocity: TGLCoordinates read FInitialVelocity write SetInitialVelocity;
Published | property ParticleInterval: Single read FParticleInterval write SetParticleInterval;
Published | property PositionDispersion: Single read FPositionDispersion write FPositionDispersion;
Published | property PositionDispersionRange: TGLCoordinates read FPositionDispersionRange write SetPositionDispersionRange;
Published | property PositionMode: TGLSourcePFXPositionMode read FPositionMode write FPositionMode default spmAbsoluteOffset;
Published | property RotationDispersion: Single read FRotationDispersion write FRotationDispersion;
Published | property VelocityDispersion: Single read FVelocityDispersion write FVelocityDispersion;
Published | property VelocityMode: TGLSourcePFXVelocityMode read FVelocityMode write FVelocityMode default svmAbsolute;

Description

Fields

Private FInitialVelocity: TGLCoordinates;
Private FInitialPosition: TGLCoordinates;
Private FPositionDispersionRange: TGLCoordinates;
Private FVelocityDispersion: Single;
Private FPositionDispersion: Single;
Private FParticleInterval: Single;
Private FVelocityMode: TGLSourcePFXVelocityMode;
Private FPositionMode: TGLSourcePFXPositionMode;
Private FDispersionMode: TGLSourcePFXDispersionMode;
Private FEnabled: Boolean;
Private FDisabledIfOwnerInvisible: Boolean;
Private FTimeRemainder: Double;
Private FRotationDispersion: Single;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Protected function ParticleAbsoluteInitialPos: TAffineVector;
Public procedure Burst(time: Double; nb: Integer);

Instantaneously creates nb particles

Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure RingExplosion(time: Double; minInitialSpeed, maxInitialSpeed: Single; nbParticles: Integer);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetInitialPosition(const val: TGLCoordinates);
Protected procedure SetInitialVelocity(const val: TGLCoordinates);
Protected procedure SetParticleInterval(const val: Single);
Protected procedure SetPositionDispersionRange(const val: TGLCoordinates);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property DisabledIfOwnerInvisible: boolean read FDisabledIfOwnerInvisible write FDisabledIfOwnerInvisible;
Published property DispersionMode: TGLSourcePFXDispersionMode read FDispersionMode write FDispersionMode default sdmFast;
Published property Enabled: boolean read FEnabled write FEnabled;
Published property InitialPosition: TGLCoordinates read FInitialPosition write SetInitialPosition;
Published property InitialVelocity: TGLCoordinates read FInitialVelocity write SetInitialVelocity;
Published property ParticleInterval: Single read FParticleInterval write SetParticleInterval;
Published property PositionDispersion: Single read FPositionDispersion write FPositionDispersion;
Published property PositionDispersionRange: TGLCoordinates read FPositionDispersionRange write SetPositionDispersionRange;
Published property PositionMode: TGLSourcePFXPositionMode read FPositionMode write FPositionMode default spmAbsoluteOffset;
Published property RotationDispersion: Single read FRotationDispersion write FRotationDispersion;
Published property VelocityDispersion: Single read FVelocityDispersion write FVelocityDispersion;
Published property VelocityMode: TGLSourcePFXVelocityMode read FVelocityMode write FVelocityMode default svmAbsolute;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLDynamicPFXManager

Class TGLDynamicPFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLDynamicPFXManager = class(TGLParticleFXManager)

Description

An abstract PFX manager for simple dynamic particles. Adds properties and progress implementation for handling moving particles (simple velocity and const acceleration integration).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager

Overview

Fields

Private | FAcceleration: TGLCoordinates;
Private | FFriction: Single;
Private | FCurrentTime: Double;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function MaxParticleAge: Single; virtual; abstract;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected | procedure SetAcceleration(const val: TGLCoordinates);

Properties

Published | property Acceleration: TGLCoordinates read FAcceleration write SetAcceleration;
Protected | property CurrentTime: Double read FCurrentTime;
Published | property Friction: Single read FFriction write FFriction;

Description

Fields

Private FAcceleration: TGLCoordinates;
Private FFriction: Single;
Private FCurrentTime: Double;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected function MaxParticleAge: Single; virtual; abstract;

Returns the maximum age for a particle. Particles older than that will be killed by DoProgress.

Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected procedure SetAcceleration(const val: TGLCoordinates);

FRotationCenter: TAffineVector;

Properties

Published property Acceleration: TGLCoordinates read FAcceleration write SetAcceleration;

Oriented acceleration applied to the particles.

Protected property CurrentTime: Double read FCurrentTime;
Published property Friction: Single read FFriction write FFriction;

Friction applied to the particles. Friction is applied as a speed scaling factor over 1 second, ie. a friction of 0.5 will half speed over 1 second, a friction of 3 will triple speed over 1 second, and a friction of 1 (default value) will have no effect.


GLSysHelp v.2.1: GLS.ParticleFX: Class TPFXLifeColor

Class TPFXLifeColor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TPFXLifeColor = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TPFXLifeColor

Overview

Fields

Private | FColorInner: TGLColor;
Private | FColorOuter: TGLColor;
Private | FLifeTime: Single;
Private | FInvLifeTime: Single;
Private | FIntervalRatio: Single;
Private | FSizeScale: Single;
Private | FDoScale: Boolean;
Private | FDoRotate: boolean;
Private | FRotateAngle: Single;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetColorInner(const val: TGLColor);
Protected | procedure SetColorOuter(const val: TGLColor);
Protected | procedure SetLifeTime(const val: Single);
Protected | procedure SetRotateAngle(const Value: Single);
Protected | procedure SetSizeScale(const val: Single);

Properties

Published | property ColorInner: TGLColor read FColorInner write SetColorInner;
Published | property ColorOuter: TGLColor read FColorOuter write SetColorOuter;
Public | property InvIntervalRatio: Single read FIntervalRatio;
Public | property InvLifeTime: Single read FInvLifeTime;
Published | property LifeTime: Single read FLifeTime write SetLifeTime;
Published | property RotateAngle: Single read FRotateAngle write SetRotateAngle;
Published | property SizeScale: Single read FSizeScale write SetSizeScale;

Description

Fields

Private FColorInner: TGLColor;
Private FColorOuter: TGLColor;
Private FLifeTime: Single;
Private FInvLifeTime: Single;
Private FIntervalRatio: Single;
Private FSizeScale: Single;
Private FDoScale: Boolean;
Private FDoRotate: boolean;
Private FRotateAngle: Single;

Methods

Public constructor Create(Collection: TCollection); override;

indirectly persistent

Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetColorInner(const val: TGLColor);
Protected procedure SetColorOuter(const val: TGLColor);
Protected procedure SetLifeTime(const val: Single);
Protected procedure SetRotateAngle(const Value: Single);
Protected procedure SetSizeScale(const val: Single);

Properties

Published property ColorInner: TGLColor read FColorInner write SetColorInner;
Published property ColorOuter: TGLColor read FColorOuter write SetColorOuter;
Public property InvIntervalRatio: Single read FIntervalRatio;

Stores 1/(LifeTime[Next]-LifeTime[Self])

Public property InvLifeTime: Single read FInvLifeTime;

Stores 1/LifeTime

Published property LifeTime: Single read FLifeTime write SetLifeTime;
Published property RotateAngle: Single read FRotateAngle write SetRotateAngle;
Published property SizeScale: Single read FSizeScale write SetSizeScale;


GLSysHelp v.2.1: GLS.ParticleFX: Class TPFXLifeColors

Class TPFXLifeColors

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TPFXLifeColors = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TPFXLifeColors

Overview

Methods

Public | constructor Create(AOwner: TPersistent);
Public | function Add: TPFXLifeColor;
Public | function FindItemID(ID: Integer): TPFXLifeColor;
Public | function MaxLifeTime: Double;
Public | function RotationsDefined: Boolean;
Public | function ScalingDefined: Boolean;
Protected | function GetItems(index: Integer): TPFXLifeColor;
Public | procedure PrepareIntervalRatios;
Protected | procedure SetItems(index: Integer; const val: TPFXLifeColor);

Properties

Public property Items[index:Integer]: TPFXLifeColor read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TPersistent);
Public function Add: TPFXLifeColor;
Public function FindItemID(ID: Integer): TPFXLifeColor;
Public function MaxLifeTime: Double;
Public function RotationsDefined: Boolean;
Public function ScalingDefined: Boolean;
Protected function GetItems(index: Integer): TPFXLifeColor;
Public procedure PrepareIntervalRatios;
Protected procedure SetItems(index: Integer; const val: TPFXLifeColor);

Properties

Public property Items[index:Integer]: TPFXLifeColor read GetItems write SetItems;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLLifeColoredPFXManager

Class TGLLifeColoredPFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLLifeColoredPFXManager = class(TGLDynamicPFXManager)

Description

Base PFX manager for particles with life colors. Particles have a core and edge color, for subclassing.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager

Overview

Fields

Private | FLifeColors: TPFXLifeColors;
Private | FLifeColorsLookup: TList;
Private | FLifeRotations: Boolean;
Private | FLifeScaling: Boolean;
Private | FColorInner: TGLColor;
Private | FColorOuter: TGLColor;
Private | FParticleSize: Single;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function ComputeRotateAngle(var lifeTime, rotateAngle: Single): Boolean;
Protected | function ComputeSizeScale(var lifeTime: Single; var sizeScale: Single): Boolean;
Protected | function MaxParticleAge: Single; override;
Protected | procedure ComputeColors(var lifeTime: Single; var inner, outer: TGLColorVector);
Protected | procedure ComputeInnerColor(var lifeTime: Single; var inner: TGLColorVector);
Protected | procedure ComputeOuterColor(var lifeTime: Single; var outer: TGLColorVector);
Protected | procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure RotateVertexBuf(buf: TAffineVectorList; lifeTime: Single; const axis: TAffineVector; offsetAngle: Single);
Protected | procedure SetColorInner(const val: TGLColor);
Protected | procedure SetColorOuter(const val: TGLColor);
Protected | procedure SetLifeColors(const val: TPFXLifeColors);

Properties

Published | property BlendingMode default bmAdditive;
Public | property ColorInner: TGLColor read FColorInner write SetColorInner;
Public | property ColorOuter: TGLColor read FColorOuter write SetColorOuter;
Public | property LifeColors: TPFXLifeColors read FLifeColors write SetLifeColors;
Public | property ParticleSize: Single read FParticleSize write FParticleSize;

Description

Fields

Private FLifeColors: TPFXLifeColors;
Private FLifeColorsLookup: TList;
Private FLifeRotations: Boolean;
Private FLifeScaling: Boolean;
Private FColorInner: TGLColor;
Private FColorOuter: TGLColor;
Private FParticleSize: Single;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected function ComputeRotateAngle(var lifeTime, rotateAngle: Single): Boolean;
Protected function ComputeSizeScale(var lifeTime: Single; var sizeScale: Single): Boolean;
Protected function MaxParticleAge: Single; override;
Protected procedure ComputeColors(var lifeTime: Single; var inner, outer: TGLColorVector);
Protected procedure ComputeInnerColor(var lifeTime: Single; var inner: TGLColorVector);
Protected procedure ComputeOuterColor(var lifeTime: Single; var outer: TGLColorVector);
Protected procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure RotateVertexBuf(buf: TAffineVectorList; lifeTime: Single; const axis: TAffineVector; offsetAngle: Single);
Protected procedure SetColorInner(const val: TGLColor);
Protected procedure SetColorOuter(const val: TGLColor);
Protected procedure SetLifeColors(const val: TPFXLifeColors);

Properties

Published property BlendingMode default bmAdditive;
Public property ColorInner: TGLColor read FColorInner write SetColorInner;
Public property ColorOuter: TGLColor read FColorOuter write SetColorOuter;
Public property LifeColors: TPFXLifeColors read FLifeColors write SetLifeColors;
Public property ParticleSize: Single read FParticleSize write FParticleSize;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLCustomPFXManager

Class TGLCustomPFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLCustomPFXManager = class(TGLLifeColoredPFXManager)

Description

A particles FX manager offering events for customization/experimentation. This manager essentially surfaces the PFX methods as events, and is best suited when you have specific particles that don't fall into any existing category, or when you want to experiment with particles and later plan to wrap things up in a full-blown manager. If the events aren't handled, nothing will be rendered.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLCustomPFXManager

Overview

Fields

Private | FOnInitializeRendering: TGLDirectRenderEvent;
Private | FOnBeginParticles: TGLDirectRenderEvent;
Private | FOnRenderParticle: TPFXDirectRenderEvent;
Private | FOnEndParticles: TGLDirectRenderEvent;
Private | FOnFinalizeRendering: TGLDirectRenderEvent;
Private | FOnProgress: TPFXProgressEvent;
Private | FOnParticleProgress: TPFXParticleProgress;
Private | FOnGetParticleCountEvent: TPFXGetParticleCountEvent;

Methods

Public | function ParticleCount: Integer; override;
Protected | function TexturingMode: Cardinal; override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected | procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;

Properties

Published | property ColorInner;
Published | property ColorOuter;
Published | property LifeColors;
Published | property OnBeginParticles: TGLDirectRenderEvent read FOnBeginParticles write FOnBeginParticles;
Published | property OnEndParticles: TGLDirectRenderEvent read FOnEndParticles write FOnEndParticles;
Published | property OnFinalizeRendering: TGLDirectRenderEvent read FOnFinalizeRendering write FOnFinalizeRendering;
Published | property OnGetParticleCountEvent: TPFXGetParticleCountEvent read FOnGetParticleCountEvent write FOnGetParticleCountEvent;
Published | property OnInitializeRendering: TGLDirectRenderEvent read FOnInitializeRendering write FOnInitializeRendering;
Published | property OnParticleProgress: TPFXParticleProgress read FOnParticleProgress write FOnParticleProgress;
Published | property OnProgress: TPFXProgressEvent read FOnProgress write FOnProgress;
Published | property OnRenderParticle: TPFXDirectRenderEvent read FOnRenderParticle write FOnRenderParticle;
Published | property ParticleSize;

Description

Fields

Private FOnInitializeRendering: TGLDirectRenderEvent;
Private FOnBeginParticles: TGLDirectRenderEvent;
Private FOnRenderParticle: TPFXDirectRenderEvent;
Private FOnEndParticles: TGLDirectRenderEvent;
Private FOnFinalizeRendering: TGLDirectRenderEvent;
Private FOnProgress: TPFXProgressEvent;
Private FOnParticleProgress: TPFXParticleProgress;
Private FOnGetParticleCountEvent: TPFXGetParticleCountEvent;

Methods

Public function ParticleCount: Integer; override;
Protected function TexturingMode: Cardinal; override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;

Properties

Published property ColorInner;
Published property ColorOuter;
Published property LifeColors;
Published property OnBeginParticles: TGLDirectRenderEvent read FOnBeginParticles write FOnBeginParticles;
Published property OnEndParticles: TGLDirectRenderEvent read FOnEndParticles write FOnEndParticles;
Published property OnFinalizeRendering: TGLDirectRenderEvent read FOnFinalizeRendering write FOnFinalizeRendering;
Published property OnGetParticleCountEvent: TPFXGetParticleCountEvent read FOnGetParticleCountEvent write FOnGetParticleCountEvent;
Published property OnInitializeRendering: TGLDirectRenderEvent read FOnInitializeRendering write FOnInitializeRendering;
Published property OnParticleProgress: TPFXParticleProgress read FOnParticleProgress write FOnParticleProgress;
Published property OnProgress: TPFXProgressEvent read FOnProgress write FOnProgress;
Published property OnRenderParticle: TPFXDirectRenderEvent read FOnRenderParticle write FOnRenderParticle;
Published property ParticleSize;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLPolygonPFXManager

Class TGLPolygonPFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLPolygonPFXManager = class(TGLLifeColoredPFXManager)

Description

Polygonal particles FX manager. The particles of this manager are made of N-face regular polygon with a core and edge color. No texturing is available. If you render large particles and don't have T&L acceleration, consider using TGLPointLightPFXManager.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLPolygonPFXManager

Overview

Fields

Private | FNbSides: Integer;
Private | Fvx: TAffineVector;
Private | Fvy: TAffineVector;
Private | FVertices: TAffineVectorList;
Private | FVertBuf: TAffineVectorList;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function TexturingMode: Cardinal; override;
Protected | procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;
Protected | procedure SetNbSides(const val: Integer);

Properties

Published | property ColorInner;
Published | property ColorOuter;
Published | property LifeColors;
Published | property NbSides: Integer read FNbSides write SetNbSides default 6;
Published | property ParticleSize;

Description

Fields

Private FNbSides: Integer;
Private Fvx: TAffineVector;
Private Fvy: TAffineVector;
Private FVertices: TAffineVectorList;

NOT persistent

Private FVertBuf: TAffineVectorList;

NOT persistent

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected function TexturingMode: Cardinal; override;
Protected procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;
Protected procedure SetNbSides(const val: Integer);

NOT persistent

Properties

Published property ColorInner;
Published property ColorOuter;
Published property LifeColors;
Published property NbSides: Integer read FNbSides write SetNbSides default 6;
Published property ParticleSize;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLBaseSpritePFXManager

Class TGLBaseSpritePFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLBaseSpritePFXManager = class(TGLLifeColoredPFXManager)

Description

Base class for sprite-based particles FX managers. The particles are made of optionally centered single-textured quads.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLBaseSpritePFXManager

Overview

Fields

Private | FTexHandle: TGLTextureHandle;
Private | Fvx: TAffineVector;
Private | Fvy: TAffineVector;
Private | Fvz: TAffineVector;
Private | FVertices: TAffineVectorList;
Private | FVertBuf: TAffineVectorList;
Private | FAspectRatio: Single;
Private | FRotation: Single;
Private | FShareSprites: TGLBaseSpritePFXManager;
Private | FSpritesPerTexture: TSpritesPerTexture;
Private | FColorMode: TSpriteColorMode;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreAspectRatio: Boolean;
Protected | function TexturingMode: Cardinal; override;
Protected | procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure BindTexture(var rci: TGLRenderContextInfo);
Protected | procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected | procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected | procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); virtual; abstract;
Protected | procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;
Protected | procedure SetAspectRatio(const val: Single);
Protected | procedure SetColorMode(const val: TSpriteColorMode);
Protected | procedure SetRotation(const val: Single);
Protected | procedure SetShareSprites(const val: TGLBaseSpritePFXManager);
Protected | procedure SetSpritesPerTexture(const val: TSpritesPerTexture); virtual;

Properties

Published | property AspectRatio: Single read FAspectRatio write SetAspectRatio stored StoreAspectRatio;
Public | property ColorMode: TSpriteColorMode read FColorMode write SetColorMode;
Published | property Rotation: Single read FRotation write SetRotation;
Published | property ShareSprites: TGLBaseSpritePFXManager read FShareSprites write FShareSprites;
Protected | property SpritesPerTexture: TSpritesPerTexture read FSpritesPerTexture write SetSpritesPerTexture;

Description

Fields

Private FTexHandle: TGLTextureHandle;
Private Fvx: TAffineVector;
Private Fvy: TAffineVector;
Private Fvz: TAffineVector;
Private FVertices: TAffineVectorList;

NOT persistent

Private FVertBuf: TAffineVectorList;

NOT persistent

Private FAspectRatio: Single;

NOT persistent

Private FRotation: Single;
Private FShareSprites: TGLBaseSpritePFXManager;
Private FSpritesPerTexture: TSpritesPerTexture;
Private FColorMode: TSpriteColorMode;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreAspectRatio: Boolean;
Protected function TexturingMode: Cardinal; override;
Protected procedure BeginParticles(var rci: TGLRenderContextInfo); override;
Protected procedure BindTexture(var rci: TGLRenderContextInfo);
Protected procedure EndParticles(var rci: TGLRenderContextInfo); override;
Protected procedure FinalizeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure InitializeRendering(var rci: TGLRenderContextInfo); override;
Protected procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); virtual; abstract;

Subclasses should draw their stuff in this bmp32.

Protected procedure RenderParticle(var rci: TGLRenderContextInfo; aParticle: TGLParticle); override;
Protected procedure SetAspectRatio(const val: Single);
Protected procedure SetColorMode(const val: TSpriteColorMode);
Protected procedure SetRotation(const val: Single);
Protected procedure SetShareSprites(const val: TGLBaseSpritePFXManager);
Protected procedure SetSpritesPerTexture(const val: TSpritesPerTexture); virtual;

Properties

Published property AspectRatio: Single read FAspectRatio write SetAspectRatio stored StoreAspectRatio;

Ratio between width and height. An AspectRatio of 1 (default) will result in square sprite particles, values higher than one will result in horizontally stretched sprites, values below one will stretch vertically (assuming no rotation is applied).

Public property ColorMode: TSpriteColorMode read FColorMode write SetColorMode;
Published property Rotation: Single read FRotation write SetRotation;

Particle sprites rotation (in degrees). All particles of the PFX manager share this rotation.

Published property ShareSprites: TGLBaseSpritePFXManager read FShareSprites write FShareSprites;

If specified the manager will reuse the other manager's sprites. Sharing sprites between PFX managers can help at the rendering stage if particles of the managers are mixed by helping reduce the number of texture switches. Note that only the texture is shared, not the colors, sizes or other dynamic parameters.

Protected property SpritesPerTexture: TSpritesPerTexture read FSpritesPerTexture write SetSpritesPerTexture;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLCustomSpritePFXManager

Class TGLCustomSpritePFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLCustomSpritePFXManager = class(TGLBaseSpritePFXManager)

Description

A sprite-based particles FX managers using user-specified code to prepare the texture

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLBaseSpritePFXManager
  • TGLCustomSpritePFXManager

Overview

Fields

Private FOnPrepareTextureImage: TPFXPrepareTextureImageEvent;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); override;

Properties

Published | property ColorInner;
Published | property ColorMode default scmInner;
Published | property ColorOuter;
Published | property LifeColors;
Published | property OnPrepareTextureImage: TPFXPrepareTextureImageEvent read FOnPrepareTextureImage write FOnPrepareTextureImage;
Published | property ParticleSize;
Published | property SpritesPerTexture default sptOne;

Description

Fields

Private FOnPrepareTextureImage: TPFXPrepareTextureImageEvent;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); override;

Properties

Published property ColorInner;
Published property ColorMode default scmInner;
Published property ColorOuter;
Published property LifeColors;
Published property OnPrepareTextureImage: TPFXPrepareTextureImageEvent read FOnPrepareTextureImage write FOnPrepareTextureImage;

Place your texture rendering code in this event.

Published property ParticleSize;
Published property SpritesPerTexture default sptOne;


GLSysHelp v.2.1: GLS.ParticleFX: Class TGLPointLightPFXManager

Class TGLPointLightPFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ParticleFX

Declaration

type TGLPointLightPFXManager = class(TGLBaseSpritePFXManager)

Description

A sprite-based particles FX managers using point light maps. The texture map is a round, distance-based transparency map (center "opaque"), you can adjust the quality (size) of the underlying texture map with the TexMapSize property. This PFX manager renders particles similar to what you can get with TGLPolygonPFXManager but stresses fillrate more than T&L rate (and will usually be slower than the PolygonPFX when nbSides is low or T&L acceleration available). Consider this implementation as a sample for your own PFX managers that may use particles with more complex textures.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLBaseSpritePFXManager
  • TGLPointLightPFXManager

Overview

Fields

Private FTexMapSize: Integer;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); override;
Protected | procedure SetTexMapSize(const val: Integer);

Properties

Published | property ColorInner;
Published | property ColorMode default scmInner;
Published | property ColorOuter;
Published | property LifeColors;
Published | property ParticleSize;
Published | property TexMapSize: Integer read FTexMapSize write SetTexMapSize default 5;

Description

Fields

Private FTexMapSize: Integer;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); override;
Protected procedure SetTexMapSize(const val: Integer);

Properties

Published property ColorInner;
Published property ColorMode default scmInner;
Published property ColorOuter;
Published property LifeColors;
Published property ParticleSize;
Published property TexMapSize: Integer read FTexMapSize write SetTexMapSize default 5;

Underlying texture map size, as a power of two. Min value is 3 (size=8), max value is 9 (size=512).


GLSysHelp v.2.1: GLS.Particles

Unit GLS.Particles

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.Scene
  • GLS.XCollection
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.Color
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLParticles |

Types

TGLParticleEvent = procedure(Sender: TObject; particle: TGLBaseSceneObject) of object;

Description

Types

TGLParticleEvent = procedure(Sender: TObject; particle: TGLBaseSceneObject) of object;


GLSysHelp v.2.1: GLS.Particles: Class TGLParticles

Class TGLParticles

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Particles

Declaration

type TGLParticles = class(TGLImmaterialSceneObject)

Description

Manager object of a particle system. Particles in a TGLParticles system are described as normal scene objects, however their children are to be : "particle template" : the first object (index=0), this one will be duplicated to create new particles, it does not receive progression events and is visible at design-time only. "live particle" : the other objects (index>0), this ones are rendered and receive progression events. TGLParticles may also maintain an internal, non-persistent ("freezed") set of objects : the allocated objects pool. Why ? Creating and freeing objects takes cpu-cycles, especially for the TComponent class, and GLScene objects are TComponent. To reduce this load (and at the expense of memory space), the particle systems can move "dead" particles to a pool instead of freeing them, and will pick in the pool instead of creating new objects when new particles are requested. To take advantage of this behaviour, you should set the ParticlePoolSize property to a non-null value and use the KillParticle function instead of "Free" to kill a particle. All direct access to a TGLParticles children should be avoided. For high-performance particle systems of basic particles, you should look into GLParticleFX instead, TGLParticles being rather focused on complex particles.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLParticles

Overview

Fields

Private | FCubeSize: TGLFloat;
Private | FEdgeColor: TGLColor;
Private | FVisibleAtRunTime: Boolean;
Private | particlePool: TList;
Private | FParticlePoolSize: Integer;
Private | FOnCreateParticle: TGLParticleEvent;
Private | FOnActivateParticle: TGLParticleEvent;
Private | FOnKillParticle: TGLParticleEvent;
Private | FOnDestroyParticle: TGLParticleEvent;
Private | FOnBeforeRenderParticles: TGLDirectRenderEvent;
Private | FOnAfterRenderParticles: TGLDirectRenderEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateParticle: TGLBaseSceneObject;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure KillParticle(aParticle: TGLBaseSceneObject);
Public | procedure KillParticles;
Protected | procedure ClearParticlePool;
Protected | procedure SetCubeSize(const val: TGLFloat);
Protected | procedure SetEdgeColor(const val: TGLColor);
Protected | procedure SetParticlePoolSize(val: Integer);
Protected | procedure SetVisibleAtRunTime(const val: Boolean);

Properties

Published | property CubeSize: TGLFloat read FCubeSize write SetCubeSize;
Published | property EdgeColor: TGLColor read FEdgeColor write SetEdgeColor;
Published | property OnActivateParticle: TGLParticleEvent read FOnActivateParticle write FOnActivateParticle;
Published | property OnAfterRenderParticles: TGLDirectRenderEvent read FOnAfterRenderParticles write FOnAfterRenderParticles;
Published | property OnBeforeRenderParticles: TGLDirectRenderEvent read FOnBeforeRenderParticles write FOnBeforeRenderParticles;
Published | property OnCreateParticle: TGLParticleEvent read FOnCreateParticle write FOnCreateParticle;
Published | property OnDestroyParticle: TGLParticleEvent read FOnDestroyParticle write FOnDestroyParticle;
Published | property OnKillParticle: TGLParticleEvent read FOnKillParticle write FOnKillParticle;
Published | property ParticlePoolSize: Integer read FParticlePoolSize write SetParticlePoolSize default 0;
Published | property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime default False;

Description

Fields

Private FCubeSize: TGLFloat;
Private FEdgeColor: TGLColor;
Private FVisibleAtRunTime: Boolean;
Private particlePool: TList;
Private FParticlePoolSize: Integer;
Private FOnCreateParticle: TGLParticleEvent;
Private FOnActivateParticle: TGLParticleEvent;
Private FOnKillParticle: TGLParticleEvent;
Private FOnDestroyParticle: TGLParticleEvent;
Private FOnBeforeRenderParticles: TGLDirectRenderEvent;
Private FOnAfterRenderParticles: TGLDirectRenderEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateParticle: TGLBaseSceneObject;

Request creation of a new particle. Particle will be either created or retrieved from the particlePool.

Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure KillParticle(aParticle: TGLBaseSceneObject);

Kill given particle. If particlePool is not full, particle will be sent to the pool, if not, it will be freed.

Public procedure KillParticles;

Kill all particles.

Protected procedure ClearParticlePool;
Protected procedure SetCubeSize(const val: TGLFloat);
Protected procedure SetEdgeColor(const val: TGLColor);
Protected procedure SetParticlePoolSize(val: Integer);
Protected procedure SetVisibleAtRunTime(const val: Boolean);

Properties

Published property CubeSize: TGLFloat read FCubeSize write SetCubeSize;
Published property EdgeColor: TGLColor read FEdgeColor write SetEdgeColor;
Published property OnActivateParticle: TGLParticleEvent read FOnActivateParticle write FOnActivateParticle;

Fired when a particle will get in the "live" list. The particle has just been "Assigned" with the template, may happen after a creation or a pick from the particle pool.

Published property OnAfterRenderParticles: TGLDirectRenderEvent read FOnAfterRenderParticles write FOnAfterRenderParticles;

Fired after rendering the last of the particles.

Published property OnBeforeRenderParticles: TGLDirectRenderEvent read FOnBeforeRenderParticles write FOnBeforeRenderParticles;

Fired before rendering the first of the particles.

Published property OnCreateParticle: TGLParticleEvent read FOnCreateParticle write FOnCreateParticle;

Fired a particle has been created as a template duplicate. When the event is triggered, the particle has yet been added to the scene.

Published property OnDestroyParticle: TGLParticleEvent read FOnDestroyParticle write FOnDestroyParticle;

Triggered just before destroying a particle. The particle can be in the pool (ie. not parented)

Published property OnKillParticle: TGLParticleEvent read FOnKillParticle write FOnKillParticle;

Triggered when a particle is killed. When the event is fired, the particle is still parented, after this event, the particle will either go to the pool or be destroyed if the pool is full.

Published property ParticlePoolSize: Integer read FParticlePoolSize write SetParticlePoolSize default 0;

Size of the particle pool (for storing killed particles). Default size is zero, meaning the particlePool is disabled.

Published property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime default False;


GLSysHelp v.2.1: GLS.Perlin

Unit GLS.Perlin

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • Vcl.Graphics
  • GLS.VectorGeometry
  • GLS.HeightData

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBasePerlinOctav |
Class TGLBasePerlin |
Class TGL1DPerlin |
Class TGL2DPerlinOctav |
Class TGL2DPerlin |
Class TGLPerlinHDS |
Class TGLPerlinHDSThread |

Functions and Procedures

function Linear_Interpolate(const a, b, x: Double): Double;
function Cubic_Interpolate(v0, v1, v2, v3, x: Double): Double;
function Cosine_Interpolate(const a, b, x: Double): Double;
function Perlin_Random1(x: Integer): Double;
function Perlin_Random2(Const x, Y: Integer): Double;
procedure Perlin_Random1DStrip(x, Width, Step: Integer; Amp: Double; Res: T1DPerlinArray);
procedure Cubic_Interpolate_Strip(B1, B2, B3, B4, Res: T1DPerlinArray; Width: Integer);
procedure Smooth_Interpolate_Strip(B1, B2, B3, Res: T1DPerlinArray; Width: Integer);
function ExponateCrap(root, exponant: Integer): Integer;

Types

T1DPerlinArray = array of Double;
T2DPerlinArray = array of T1DPerlinArray;
TGLPerlinInterpolation = (...);
TGLPerlinOctav = class of TGLBasePerlinOctav;

Description

Functions and Procedures

function Linear_Interpolate(const a, b, x: Double): Double;

Useless for final output! Usefull for after interpolation, as its FAST!

function Cubic_Interpolate(v0, v1, v2, v3, x: Double): Double;

does a cubic interpolation

function Cosine_Interpolate(const a, b, x: Double): Double;

does a cosine interpolation

function Perlin_Random1(x: Integer): Double;

just a random controlled by X

function Perlin_Random2(Const x, Y: Integer): Double;

just a random controlled by X,Y

procedure Perlin_Random1DStrip(x, Width, Step: Integer; Amp: Double; Res: T1DPerlinArray);

generates a random strip

procedure Cubic_Interpolate_Strip(B1, B2, B3, B4, Res: T1DPerlinArray; Width: Integer);

cubic interpolate 4 strips into one...

procedure Smooth_Interpolate_Strip(B1, B2, B3, Res: T1DPerlinArray; Width: Integer);

smooth interpolate 3 strips into one...

function ExponateCrap(root, exponant: Integer): Integer;

The function returning some integer based on the rootˆexponant concept, result is crap and is only for "random" usage... eg perlin.

Types

T1DPerlinArray = array of Double;
T2DPerlinArray = array of T1DPerlinArray;
TGLPerlinInterpolation = (...);
Values
  • pi_none
  • pi_simple
  • pi_linear
  • pi_Smoothed
  • pi_Cosine
  • pi_cubic
TGLPerlinOctav = class of TGLBasePerlinOctav;


GLSysHelp v.2.1: GLS.Perlin: Class TGLBasePerlinOctav

Class TGLBasePerlinOctav

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGLBasePerlinOctav = class(TObject)

Description

Hierarchy

  • TObject
  • TGLBasePerlinOctav

Overview

Fields

Private | FAmplitude: Double;
Private | FScale: Double;
Private | FInterpolation: TGLPerlinInterpolation;
Private | FSmoothing: TGLPerlinInterpolation;

Methods

Public Procedure Generate; virtual; abstract;

Properties

Public | property Amplitude: Double read FAmplitude write FAmplitude;
Public | property Interpolation: TGLPerlinInterpolation read FInterpolation write FInterpolation;
Public | property Scale: Double read FScale write FScale;
Public | property Smoothing: TGLPerlinInterpolation read FSmoothing write FSmoothing;

Description

Fields

Private FAmplitude: Double;
Private FScale: Double;
Private FInterpolation: TGLPerlinInterpolation;
Private FSmoothing: TGLPerlinInterpolation;

Methods

Public Procedure Generate; virtual; abstract;

Properties

Public property Amplitude: Double read FAmplitude write FAmplitude;
Public property Interpolation: TGLPerlinInterpolation read FInterpolation write FInterpolation;
Public property Scale: Double read FScale write FScale;
Public property Smoothing: TGLPerlinInterpolation read FSmoothing write FSmoothing;


GLSysHelp v.2.1: GLS.Perlin: Class TGLBasePerlin

Class TGLBasePerlin

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGLBasePerlin = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLBasePerlin

Overview

Fields

Private | FPersistence: Double;
Private | FNumber_Of_Octaves: Integer;
Private | FOctaves: TList;
Private | FOctavClass: TGLPerlinOctav;
Private | FInterpolation: TGLPerlinInterpolation;
Private | FSmoothing: TGLPerlinInterpolation;

Methods

Public | Constructor Create(AOwner: TComponent); override;
Protected | function GetOctave(index: Integer): TGLBasePerlinOctav;
Protected | function PerlinNoise_1D(x: Double): Double;
Protected | function PerlinNoise_2D(x, y: Double): Double;
Public | Procedure Generate; virtual; abstract;
Protected | Procedure SetPersistence(val: Double);
Protected | Procedure Set_Number_Of_Octaves(val: Integer);

Properties

Published | property Interpolation: TGLPerlinInterpolation read FInterpolation write FInterpolation;
Published | property Number_Of_Octaves: Integer read FNumber_Of_Octaves write Set_Number_Of_Octaves;
Public | property Octaves[index:Integer]: TGLBasePerlinOctav read GetOctave;
Published | property Persistence: Double read FPersistence write SetPersistence;
Published | property Smoothing: TGLPerlinInterpolation read FSmoothing write FSmoothing;

Description

Fields

Private FPersistence: Double;
Private FNumber_Of_Octaves: Integer;
Private FOctaves: TList;
Private FOctavClass: TGLPerlinOctav;
Private FInterpolation: TGLPerlinInterpolation;
Private FSmoothing: TGLPerlinInterpolation;

Methods

Public Constructor Create(AOwner: TComponent); override;
Protected function GetOctave(index: Integer): TGLBasePerlinOctav;
Protected function PerlinNoise_1D(x: Double): Double;
Protected function PerlinNoise_2D(x, y: Double): Double;
Public Procedure Generate; virtual; abstract;
Protected Procedure SetPersistence(val: Double);
Protected Procedure Set_Number_Of_Octaves(val: Integer);

Properties

Published property Interpolation: TGLPerlinInterpolation read FInterpolation write FInterpolation;
Published property Number_Of_Octaves: Integer read FNumber_Of_Octaves write Set_Number_Of_Octaves;
Public property Octaves[index:Integer]: TGLBasePerlinOctav read GetOctave;
Published property Persistence: Double read FPersistence write SetPersistence;
Published property Smoothing: TGLPerlinInterpolation read FSmoothing write FSmoothing;


GLSysHelp v.2.1: GLS.Perlin: Class TGL1DPerlin

Class TGL1DPerlin

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGL1DPerlin = class(TGLBasePerlin)

Description

No description available, ancestor TGLBasePerlin description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLBasePerlin
  • TGL1DPerlin

Overview

Methods

Public Function GetPerlinValue_1D(x: Double): Double;

Description

Methods

Public Function GetPerlinValue_1D(x: Double): Double;


GLSysHelp v.2.1: GLS.Perlin: Class TGL2DPerlinOctav

Class TGL2DPerlinOctav

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGL2DPerlinOctav = class(TGLBasePerlinOctav)

Description

No description available, ancestor TGLBasePerlinOctav description follows

Hierarchy

  • TObject
  • TGLBasePerlinOctav
  • TGL2DPerlinOctav

Overview

Fields

Public | Data: T2DPerlinArray;
Public | Width: Integer;
Public | Height: Integer;
Public | XStart: Integer;
Public | YStart: Integer;
Public | XStep: Integer;
Public | YStep: Integer;
Public | YRate: Integer;

Methods

Public | Function GetCosine(x, y: Double): Double;
Public | Function GetCubic(x, y: Double): Double;
Public | Function GetData(x, y: Integer): Double;
Public | Function GetDataSmoothed(x, y: Integer): Double;
Public | Function GetPerling(x, y: Double): Double;
Public | Procedure Generate; override;
Public | Procedure Generate_CubicInterpolate;
Public | Procedure Generate_NonInterpolated;
Public | Procedure Generate_SmoothInterpolate;

Description

Fields

Public Data: T2DPerlinArray;
Public Width: Integer;
Public Height: Integer;
Public XStart: Integer;
Public YStart: Integer;
Public XStep: Integer;
Public YStep: Integer;
Public YRate: Integer;

Methods

Public Function GetCosine(x, y: Double): Double;
Public Function GetCubic(x, y: Double): Double;
Public Function GetData(x, y: Integer): Double;
Public Function GetDataSmoothed(x, y: Integer): Double;
Public Function GetPerling(x, y: Double): Double;
Public Procedure Generate; override;
Public Procedure Generate_CubicInterpolate;
Public Procedure Generate_NonInterpolated;
Public Procedure Generate_SmoothInterpolate;


GLSysHelp v.2.1: GLS.Perlin: Class TGL2DPerlin

Class TGL2DPerlin

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGL2DPerlin = class(TGLBasePerlin)

Description

No description available, ancestor TGLBasePerlin description follows

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLBasePerlin
  • TGL2DPerlin

Overview

Fields

Public | Width: Integer;
Public | Height: Integer;
Public | XStart: Integer;
Public | YStart: Integer;
Public | XStep: Integer;
Public | YStep: Integer;
Public | MaxValue: Double;
Public | MinValue: Double;

Methods

Public | Constructor Create(AOwner: TComponent); override;
Public | Function GetPerlinValue_2D(x, y: Double): Double;
Public | Procedure Generate; override;
Public | Procedure MakeBitmap(Param: TBitmap);
Public | Procedure SetHeightData(heightData: TGLHeightData);

Description

Fields

Public Width: Integer;
Public Height: Integer;
Public XStart: Integer;
Public YStart: Integer;
Public XStep: Integer;
Public YStep: Integer;
Public MaxValue: Double;
Public MinValue: Double;

Methods

Public Constructor Create(AOwner: TComponent); override;
Public Function GetPerlinValue_2D(x, y: Double): Double;
Public Procedure Generate; override;
Public Procedure MakeBitmap(Param: TBitmap);
Public Procedure SetHeightData(heightData: TGLHeightData);


GLSysHelp v.2.1: GLS.Perlin: Class TGLPerlinHDS

Class TGLPerlinHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGLPerlinHDS = class(TGLHeightDataSource)

Description

No description available, ancestor TGLHeightDataSource description follows

Base class for height datasources. This class is abstract and presents the standard interfaces for height data retrieval (TGLHeightData objects). The class offers the following features (that a subclass may decide to implement or not, what follow is the complete feature set, check subclass doc to see what is actually supported): Pooling / Cacheing (return a TGLHeightData with its "Release" method) Pre-loading : specify a list of TGLHeightData you want to preload Multi-threaded preload/queueing : specified list can be loaded in a background task.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLPerlinHDS

Overview

Fields

Private | FInterpolation: TGLPerlinInterpolation;
Private | FSmoothing: TGLPerlinInterpolation;
Private | FPersistence: Double;
Private | FNumber_Of_Octaves: Integer;
Private | FLines: TStrings;
Private | FLinesChanged: Boolean;
Private | FXStart: Integer;
Private | FYStart: Integer;
Public | MaxValue: Double;
Public | MinValue: Double;
Public | Stall: Boolean;

Methods

Public | Constructor Create(AOwner: TComponent); override;
Public | procedure StartPreparingData(heightData: TGLHeightData); override;
Public | procedure WaitFor;

Properties

Published | property Interpolation: TGLPerlinInterpolation read FInterpolation write FInterpolation;
Public | property Lines: TStrings read FLines;
Public | property LinesChanged: Boolean read FLinesChanged write FLinesChanged;
Published | property MaxPoolSize;
Published | property Number_Of_Octaves: Integer read FNumber_Of_Octaves write FNumber_Of_Octaves;
Published | property Persistence: Double read FPersistence write FPersistence;
Published | property Smoothing: TGLPerlinInterpolation read FSmoothing write FSmoothing;
Published | property XStart: Integer read FXStart write FXStart;
Published | property YStart: Integer read FYStart write FYStart;

Description

Fields

Private FInterpolation: TGLPerlinInterpolation;
Private FSmoothing: TGLPerlinInterpolation;
Private FPersistence: Double;
Private FNumber_Of_Octaves: Integer;
Private FLines: TStrings;
Private FLinesChanged: Boolean;
Private FXStart: Integer;
Private FYStart: Integer;
Public MaxValue: Double;
Public MinValue: Double;
Public Stall: Boolean;

Methods

Public Constructor Create(AOwner: TComponent); override;
Public procedure StartPreparingData(heightData: TGLHeightData); override;
Public procedure WaitFor;

Properties

Published property Interpolation: TGLPerlinInterpolation read FInterpolation write FInterpolation;
Public property Lines: TStrings read FLines;
Public property LinesChanged: Boolean read FLinesChanged write FLinesChanged;
Published property MaxPoolSize;
Published property Number_Of_Octaves: Integer read FNumber_Of_Octaves write FNumber_Of_Octaves;
Published property Persistence: Double read FPersistence write FPersistence;
Published property Smoothing: TGLPerlinInterpolation read FSmoothing write FSmoothing;
Published property XStart: Integer read FXStart write FXStart;
Published property YStart: Integer read FYStart write FYStart;


GLSysHelp v.2.1: GLS.Perlin: Class TGLPerlinHDSThread

Class TGLPerlinHDSThread

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Perlin

Declaration

type TGLPerlinHDSThread = class(TGLHeightDataThread)

Description

No description available, ancestor TGLHeightDataThread description follows

A thread specialized for processing TGLHeightData in background. Requirements: must have FreeOnTerminate set to true, must check and honour Terminated swiftly

Hierarchy

  • TObject
  • TThread
  • TGLHeightDataThread
  • TGLPerlinHDSThread

Overview

Fields

Public | Perlin: TGL2DPerlin;
Public | PerlinSource: TGLPerlinHDS;

Methods

Public | Procedure Execute; override;
Public | Procedure OpdateOutSide;

Description

Fields

Public Perlin: TGL2DPerlin;
Public PerlinSource: TGLPerlinHDS;

Methods

Public Procedure Execute; override;
Public Procedure OpdateOutSide;


GLSysHelp v.2.1: GLS.PerlinPFX

Unit GLS.PerlinPFX

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.Math
  • GLS.OpenGLTokens
  • GLS.ParticleFX
  • GLS.Graphics
  • GLS.VectorTypes
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPerlinPFXManager |
Class TGLPerlin3DNoise |

Constants

cPERLIN_TABLE_SIZE = 256;

Description

Constants

cPERLIN_TABLE_SIZE = 256;


GLSysHelp v.2.1: GLS.PerlinPFX: Class TGLPerlinPFXManager

Class TGLPerlinPFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PerlinPFX

Declaration

type TGLPerlinPFXManager = class(TGLBaseSpritePFXManager)

Description

A sprite-based particles FX manager using perlin-based sprites. This PFX manager is more suited for smoke or fire effects, and with proper tweaking of the texture and perlin parameters, may help render a convincing effect with less particles. The sprite generate by this manager is the composition of a distance-based intensity and a perlin noise.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomCadencedComponent
  • TGLCadencedComponent
  • TGLParticleFXManager
  • TGLDynamicPFXManager
  • TGLLifeColoredPFXManager
  • TGLBaseSpritePFXManager
  • TGLPerlinPFXManager

Overview

Fields

Private | FTexMapSize: Integer;
Private | FNoiseSeed: Integer;
Private | FNoiseScale: Integer;
Private | FNoiseAmplitude: Integer;
Private | FSmoothness: Single;
Private | FBrightness: Single;
Private | FGamma: Single;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); override;
Protected | procedure SetBrightness(const val: Single);
Protected | procedure SetGamma(const val: Single);
Protected | procedure SetNoiseAmplitude(const val: Integer);
Protected | procedure SetNoiseScale(const val: Integer);
Protected | procedure SetNoiseSeed(const val: Integer);
Protected | procedure SetSmoothness(const val: Single);
Protected | procedure SetTexMapSize(const val: Integer);

Properties

Published | property Brightness: Single read FBrightness write SetBrightness;
Published | property ColorInner;
Published | property ColorMode default scmInner;
Published | property ColorOuter;
Published | property Gamma: Single read FGamma write SetGamma;
Published | property LifeColors;
Published | property NoiseAmplitude: Integer read FNoiseAmplitude write SetNoiseAmplitude default 50;
Published | property NoiseScale: Integer read FNoiseScale write SetNoiseScale default 100;
Published | property NoiseSeed: Integer read FNoiseSeed write SetNoiseSeed default 0;
Published | property ParticleSize;
Published | property Smoothness: Single read FSmoothness write SetSmoothness;
Published | property SpritesPerTexture default sptFour;
Published | property TexMapSize: Integer read FTexMapSize write SetTexMapSize default 6;

Description

Fields

Private FTexMapSize: Integer;
Private FNoiseSeed: Integer;
Private FNoiseScale: Integer;
Private FNoiseAmplitude: Integer;
Private FSmoothness: Single;
Private FBrightness: Single;
Private FGamma: Single;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure PrepareImage(bmp32: TGLBitmap32; var texFormat: Integer); override;
Protected procedure SetBrightness(const val: Single);
Protected procedure SetGamma(const val: Single);
Protected procedure SetNoiseAmplitude(const val: Integer);
Protected procedure SetNoiseScale(const val: Integer);
Protected procedure SetNoiseSeed(const val: Integer);
Protected procedure SetSmoothness(const val: Single);
Protected procedure SetTexMapSize(const val: Integer);

Properties

Published property Brightness: Single read FBrightness write SetBrightness;

Brightness factor applied to the perlin texture intensity. Brightness acts as a scaling, non-saturating factor. Examples: Brightness = 1 : intensities in the [0; 1] range Brightness = 2 : intensities in the [0.5; 1] range Brightness = 0.5 : intensities in the [0; 0.5] range Brightness is applied to the final texture (and thus affects the distance based intensity).

Published property ColorInner;
Published property ColorMode default scmInner;
Published property ColorOuter;
Published property Gamma: Single read FGamma write SetGamma;
Published property LifeColors;
Published property NoiseAmplitude: Integer read FNoiseAmplitude write SetNoiseAmplitude default 50;

Amplitude applied to the perlin noise (intensity). This value represent the percentage of the sprite luminance affected by the perlin texture.

Published property NoiseScale: Integer read FNoiseScale write SetNoiseScale default 100;

Scale applied to the perlin noise (stretching).

Published property NoiseSeed: Integer read FNoiseSeed write SetNoiseSeed default 0;

Random seed to use for the perlin noise.

Published property ParticleSize;
Published property Smoothness: Single read FSmoothness write SetSmoothness;

Smoothness of the distance-based intensity. This value is the exponent applied to the intensity in the texture, basically with a value of 1 (default) the intensity decreases linearly, with higher values, it will remain 'constant' in the center then fade-off more abruptly, and with values below 1, there will be a sharp spike in the center.

Published property SpritesPerTexture default sptFour;
Published property TexMapSize: Integer read FTexMapSize write SetTexMapSize default 6;

Underlying texture map size, as a power of two. Min value is 3 (size=8), max value is 9 (size=512).


GLSysHelp v.2.1: GLS.PerlinPFX: Class TGLPerlin3DNoise

Class TGLPerlin3DNoise

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PerlinPFX

Declaration

type TGLPerlin3DNoise = class(TObject)

Description

Generates Perlin Noise in the [-1; 1] range. 2D noise requests are taken in the Z=0 slice

Hierarchy

  • TObject
  • TGLPerlin3DNoise

Overview

Fields

Protected | FPermutations: packed [0 .. cPERLIN_TABLE_SIZE - 1] of Integer;
Protected | FGradients: packed [0 .. cPERLIN_TABLE_SIZE * 3 - 1] of Single;

Methods

Public | constructor Create(randomSeed: Integer);
Public | function Noise(const x, y: Single): Single; overload;
Public | function Noise(const v: TAffineVector): Single; overload;
Public | function Noise(const x, y, z: Single): Single; overload;
Public | function Noise(const v: TGLVector): Single; overload;
Protected | function Lattice(ix, iy, iz: Integer; fx, fy, fz: Single): Single; overload;
Protected | function Lattice(ix, iy: Integer; fx, fy: Single): Single; overload;
Public | procedure Initialize(randomSeed: Integer);

Description

Fields

Protected FPermutations: packed [0 .. cPERLIN_TABLE_SIZE - 1] of Integer;
Protected FGradients: packed [0 .. cPERLIN_TABLE_SIZE * 3 - 1] of Single;

Methods

Public constructor Create(randomSeed: Integer);
Public function Noise(const x, y: Single): Single; overload;
Public function Noise(const v: TAffineVector): Single; overload;
Public function Noise(const x, y, z: Single): Single; overload;
Public function Noise(const v: TGLVector): Single; overload;
Protected function Lattice(ix, iy, iz: Integer; fx, fy, fz: Single): Single; overload;
Protected function Lattice(ix, iy: Integer; fx, fy: Single): Single; overload;
Public procedure Initialize(randomSeed: Integer);


GLSysHelp v.2.1: GLS.PersistentClasses

Unit GLS.PersistentClasses

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TVirtualReader |
Class TVirtualWriter |
Interface IPersistentObject |
Class TPersistentObject |
Class TPersistentObjectList |
Class TGLBinaryReader |
Class TGLBinaryWriter |
Class TGLTextReader |
Class TGLTextWriter |
Class TGLOwnedPersistent |
Class TGLInterfacedPersistent |
Class TGLInterfacedCollectionItem |
Class EInvalidFileSignature |
Class EFilerException |

Functions and Procedures

procedure RaiseFilerException(aClass: TClass; archiveVersion: Integer);
function UTF8ToWideString(const s: AnsiString): WideString;

Types

PObject = ˆTObject;
PPointerObjectList = ˆTPointerObjectList;
TObjectListSortCompare = function(item1, item2: TObject): Integer;
TPersistentObjectClass = class of TPersistentObject;
TPointerObjectList = array[0..MaxInt div (2*SizeOf(Pointer))] of TObject;
TVirtualReaderClass = class of TVirtualReader;
TVirtualWriterClass = class of TVirtualWriter;

Description

Functions and Procedures

procedure RaiseFilerException(aClass: TClass; archiveVersion: Integer);
function UTF8ToWideString(const s: AnsiString): WideString;

Types

PObject = ˆTObject;
PPointerObjectList = ˆTPointerObjectList;
TObjectListSortCompare = function(item1, item2: TObject): Integer;
TPersistentObjectClass = class of TPersistentObject;
TPointerObjectList = array[0..MaxInt div (2*SizeOf(Pointer))] of TObject;
TVirtualReaderClass = class of TVirtualReader;
TVirtualWriterClass = class of TVirtualWriter;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TVirtualReader

Class TVirtualReader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TVirtualReader = class(TObject)

Description

Virtual layer similar to VCL's TReader (but reusable)

Hierarchy

  • TObject
  • TVirtualReader

Overview

Fields

Private FStream: TStream;

Methods

Public | constructor Create(Stream: TStream); virtual;
Public | function EndOfList: Boolean; virtual; abstract;
Public | function NextValue: TValueType; virtual; abstract;
Public | function ReadBoolean: Boolean; virtual; abstract;
Public | function ReadFloat: Extended; virtual; abstract;
Public | function ReadInteger: Integer; virtual; abstract;
Public | function ReadString: string; virtual; abstract;
Public | procedure Read(var Buf; Count: Longint); virtual; abstract;
Public | procedure ReadListBegin; virtual; abstract;
Public | procedure ReadListEnd; virtual; abstract;
Public | procedure ReadTStrings(aStrings: TStrings);
Public | procedure ReadTypeError;

Properties

Public property Stream: TStream read FStream;

Description

Fields

Private FStream: TStream;

Methods

Public constructor Create(Stream: TStream); virtual;
Public function EndOfList: Boolean; virtual; abstract;
Public function NextValue: TValueType; virtual; abstract;
Public function ReadBoolean: Boolean; virtual; abstract;
Public function ReadFloat: Extended; virtual; abstract;
Public function ReadInteger: Integer; virtual; abstract;
Public function ReadString: string; virtual; abstract;
Public procedure Read(var Buf; Count: Longint); virtual; abstract;
Public procedure ReadListBegin; virtual; abstract;
Public procedure ReadListEnd; virtual; abstract;
Public procedure ReadTStrings(aStrings: TStrings);
Public procedure ReadTypeError;

Properties

Public property Stream: TStream read FStream;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TVirtualWriter

Class TVirtualWriter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TVirtualWriter = class(TObject)

Description

Virtual layer similar to VCL's TWriter (but reusable)

Hierarchy

  • TObject
  • TVirtualWriter

Overview

Fields

Private FStream: TStream;

Methods

Public | constructor Create(Stream: TStream); virtual;
Public | procedure Write(const Buf; Count: Longint); virtual; abstract;
Public | procedure WriteBoolean(aBoolean: Boolean); virtual; abstract;
Public | procedure WriteFloat(const aFloat: Extended); virtual; abstract;
Public | procedure WriteInteger(anInteger: Integer); virtual; abstract;
Public | procedure WriteListBegin; virtual; abstract;
Public | procedure WriteListEnd; virtual; abstract;
Public | procedure WriteString(const aString: string); virtual; abstract;
Public | procedure WriteTStrings(const aStrings: TStrings; storeObjects: Boolean = True);

Properties

Public property Stream: TStream read FStream;

Description

Fields

Private FStream: TStream;

Methods

Public constructor Create(Stream: TStream); virtual;
Public procedure Write(const Buf; Count: Longint); virtual; abstract;
Public procedure WriteBoolean(aBoolean: Boolean); virtual; abstract;
Public procedure WriteFloat(const aFloat: Extended); virtual; abstract;
Public procedure WriteInteger(anInteger: Integer); virtual; abstract;
Public procedure WriteListBegin; virtual; abstract;
Public procedure WriteListEnd; virtual; abstract;
Public procedure WriteString(const aString: string); virtual; abstract;
Public procedure WriteTStrings(const aStrings: TStrings; storeObjects: Boolean = True);

Properties

Public property Stream: TStream read FStream;


GLSysHelp v.2.1: GLS.PersistentClasses: Interface IPersistentObject

Interface IPersistentObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type IPersistentObject = interface(IInterface)

Description

Interface for persistent objects. This interface does not really allow polymorphic persistence, but is rather intended as a way to unify persistence calls for iterators

Attributes
GUID['{A9A0198A-F11B-4325-A92C-2F24DB41652B}']

Hierarchy

  • IInterface
  • IPersistentObject

Overview

Methods

Public | procedure ReadFromFiler(reader: TVirtualReader);
Public | procedure WriteToFiler(writer: TVirtualWriter);

Description

Methods

Public procedure ReadFromFiler(reader: TVirtualReader);
Public procedure WriteToFiler(writer: TVirtualWriter);


GLSysHelp v.2.1: GLS.PersistentClasses: Class TPersistentObject

Class TPersistentObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TPersistentObject = class(TPersistent, IPersistentObject)

Description

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject

Overview

Methods

Public | constructor Create; virtual;
Public | constructor CreateFromFiler(reader: TVirtualReader);
Public | destructor Destroy; override;
Public | function CreateClone: TPersistentObject; dynamic;
Public | class function FileSignature: string; virtual;
Public | class function FileVirtualReader: TVirtualReaderClass; virtual;
Public | class function FileVirtualWriter: TVirtualWriterClass; virtual;
Public | function SaveToString(writerClass: TVirtualWriterClass = nil): string; dynamic;
Protected | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Protected | function _AddRef: Integer; stdcall;
Protected | function _Release: Integer; stdcall;
Public | procedure Assign(source: TPersistent); override;
Public | procedure LoadFromFile(const fileName: string; readerClass: TVirtualReaderClass = nil); dynamic;
Public | procedure LoadFromStream(stream: TStream; readerClass: TVirtualReaderClass = nil); dynamic;
Public | procedure LoadFromString(const data: string; readerClass: TVirtualReaderClass = nil); dynamic;
Public | procedure ReadFromFiler(reader: TVirtualReader); dynamic;
Public | procedure SaveToFile(const fileName: string; writerClass: TVirtualWriterClass = nil); dynamic;
Public | procedure SaveToStream(stream: TStream; writerClass: TVirtualWriterClass = nil); dynamic;
Public | procedure WriteToFiler(writer: TVirtualWriter); dynamic;
Protected | procedure RaiseFilerException(const archiveVersion: Integer);

Description

Methods

Public constructor Create; virtual;
Public constructor CreateFromFiler(reader: TVirtualReader);
Public destructor Destroy; override;
Public function CreateClone: TPersistentObject; dynamic;
Public class function FileSignature: string; virtual;
Public class function FileVirtualReader: TVirtualReaderClass; virtual;
Public class function FileVirtualWriter: TVirtualWriterClass; virtual;
Public function SaveToString(writerClass: TVirtualWriterClass = nil): string; dynamic;
Protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Protected function _AddRef: Integer; stdcall;
Protected function _Release: Integer; stdcall;
Public procedure Assign(source: TPersistent); override;
Public procedure LoadFromFile(const fileName: string; readerClass: TVirtualReaderClass = nil); dynamic;
Public procedure LoadFromStream(stream: TStream; readerClass: TVirtualReaderClass = nil); dynamic;
Public procedure LoadFromString(const data: string; readerClass: TVirtualReaderClass = nil); dynamic;
Public procedure ReadFromFiler(reader: TVirtualReader); dynamic;
Public procedure SaveToFile(const fileName: string; writerClass: TVirtualWriterClass = nil); dynamic;
Public procedure SaveToStream(stream: TStream; writerClass: TVirtualWriterClass = nil); dynamic;
Public procedure WriteToFiler(writer: TVirtualWriter); dynamic;
Protected procedure RaiseFilerException(const archiveVersion: Integer);


GLSysHelp v.2.1: GLS.PersistentClasses: Class TPersistentObjectList

Class TPersistentObjectList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TPersistentObjectList = class(TPersistentObject)

Description

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList

Overview

Fields

Private | FList: PPointerObjectList;
Private | FCount: Integer;
Private | FCapacity: Integer;
Private | FGrowthDelta: Integer;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function Add(const item: TObject): Integer; inline;
Public | function AddObjects(const objectList: TPersistentObjectList): Integer;
Public | function Expand: TPersistentObjectList;
Public | function IndexOf(Item: TObject): Integer;
Public | function Pop: TObject;
Public | function Remove(Item: TObject): Integer;
Public | function RemoveAndFree(item: TObject): Integer;
Protected | function Get(Index: Integer): TObject; inline;
Protected | function GetFirst: TObject; inline;
Protected | function GetLast: TObject;
Public | procedure AddNils(nbVals: Cardinal);
Public | procedure Clean; virtual;
Public | procedure CleanFree;
Public | procedure Clear; virtual;
Public | procedure Delete(index: Integer);
Public | procedure DeleteAndFree(index: Integer);
Public | procedure DeleteAndFreeItems(index: Integer; nbVals: Cardinal);
Public | procedure DeleteItems(index: Integer; nbVals: Cardinal);
Public | procedure Exchange(Index1, Index2: Integer);
Public | procedure Insert(Index: Integer; Item: TObject);
Public | procedure InsertNils(index: Integer; nbVals: Cardinal);
Public | procedure Move(CurIndex, NewIndex: Integer);
Public | procedure Pack;
Public | procedure PopAndFree;
Public | procedure Push(item: TObject);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure ReadFromFilerWithEvent(reader: TVirtualReader; afterSenderObjectCreated: TNotifyEvent);
Public | procedure RemoveObjects(const objectList: TPersistentObjectList);
Public | procedure RequiredCapacity(aCapacity: Integer);
Public | procedure Sort(compareFunc: TObjectListSortCompare);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure AfterObjectCreatedByReader(Sender: TObject); virtual;
Protected | procedure DoClean;
Protected | procedure Error; virtual;
Protected | procedure Put(Index: Integer; Item: TObject);
Protected | procedure SetCapacity(newCapacity: Integer); inline;
Protected | procedure SetCount(NewCount: Integer); inline;
Protected | procedure SetFirst(item: TObject);
Protected | procedure SetLast(item: TObject);

Properties

Public | property Capacity: Integer read FCapacity write SetCapacity;
Public | property Count: Integer read FCount write SetCount;
Public | property First: TObject read GetFirst write SetFirst;
Public | property GrowthDelta: integer read FGrowthDelta write FGrowthDelta;
Public | property Items[Index:Integer]: TObject read Get write Put;
Public | property Last: TObject read GetLast write SetLast;
Public | property List: PPointerObjectList read FList;

Description

Fields

Private FList: PPointerObjectList;
Private FCount: Integer;
Private FCapacity: Integer;
Private FGrowthDelta: Integer;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function Add(const item: TObject): Integer; inline;
Public function AddObjects(const objectList: TPersistentObjectList): Integer;
Public function Expand: TPersistentObjectList;
Public function IndexOf(Item: TObject): Integer;
Public function Pop: TObject;
Public function Remove(Item: TObject): Integer;
Public function RemoveAndFree(item: TObject): Integer;
Protected function Get(Index: Integer): TObject; inline;
Protected function GetFirst: TObject; inline;
Protected function GetLast: TObject;
Public procedure AddNils(nbVals: Cardinal);
Public procedure Clean; virtual;

Empty the list and free the objects.

Public procedure CleanFree;

Empty the list, free the objects and Free self.

Public procedure Clear; virtual;

Empty the list without freeing the objects.

Public procedure Delete(index: Integer);
Public procedure DeleteAndFree(index: Integer);
Public procedure DeleteAndFreeItems(index: Integer; nbVals: Cardinal);
Public procedure DeleteItems(index: Integer; nbVals: Cardinal);
Public procedure Exchange(Index1, Index2: Integer);
Public procedure Insert(Index: Integer; Item: TObject);
Public procedure InsertNils(index: Integer; nbVals: Cardinal);
Public procedure Move(CurIndex, NewIndex: Integer);
Public procedure Pack;

Removes all "nil" from the list. Note: Capacity is unchanged, no memory us freed, the list is just made shorter. This functions is orders of magnitude faster than its TList eponymous.

Public procedure PopAndFree;
Public procedure Push(item: TObject);
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure ReadFromFilerWithEvent(reader: TVirtualReader; afterSenderObjectCreated: TNotifyEvent);
Public procedure RemoveObjects(const objectList: TPersistentObjectList);
Public procedure RequiredCapacity(aCapacity: Integer);

Makes sure capacity is at least aCapacity.

Public procedure Sort(compareFunc: TObjectListSortCompare);
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure AfterObjectCreatedByReader(Sender: TObject); virtual;

Default event for ReadFromFiler

Protected procedure DoClean;
Protected procedure Error; virtual;
Protected procedure Put(Index: Integer; Item: TObject);
Protected procedure SetCapacity(newCapacity: Integer); inline;
Protected procedure SetCount(NewCount: Integer); inline;
Protected procedure SetFirst(item: TObject);
Protected procedure SetLast(item: TObject);

Properties

Public property Capacity: Integer read FCapacity write SetCapacity;
Public property Count: Integer read FCount write SetCount;
Public property First: TObject read GetFirst write SetFirst;
Public property GrowthDelta: integer read FGrowthDelta write FGrowthDelta;
Public property Items[Index:Integer]: TObject read Get write Put;
Public property Last: TObject read GetLast write SetLast;
Public property List: PPointerObjectList read FList;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLBinaryReader

Class TGLBinaryReader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLBinaryReader = class(TVirtualReader)

Description

Wraps a TReader-compatible reader.

Hierarchy

  • TObject
  • TVirtualReader
  • TGLBinaryReader

Overview

Methods

Public | function EndOfList: Boolean; override;
Public | function NextValue: TValueType; override;
Public | function ReadBoolean: Boolean; override;
Public | function ReadFloat: Extended; override;
Public | function ReadInteger: Integer; override;
Public | function ReadString: string; override;
Protected | function ReadValue: TValueType;
Protected | function ReadWideString(vType: TValueType): WideString;
Public | procedure Read(var Buf; Count: Longint); override;
Public | procedure ReadListBegin; override;
Public | procedure ReadListEnd; override;

Description

Methods

Public function EndOfList: Boolean; override;
Public function NextValue: TValueType; override;
Public function ReadBoolean: Boolean; override;
Public function ReadFloat: Extended; override;
Public function ReadInteger: Integer; override;
Public function ReadString: string; override;
Protected function ReadValue: TValueType;
Protected function ReadWideString(vType: TValueType): WideString;
Public procedure Read(var Buf; Count: Longint); override;
Public procedure ReadListBegin; override;
Public procedure ReadListEnd; override;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLBinaryWriter

Class TGLBinaryWriter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLBinaryWriter = class(TVirtualWriter)

Description

Wraps a TWriter-compatible writer.

Hierarchy

  • TObject
  • TVirtualWriter
  • TGLBinaryWriter

Overview

Methods

Public | procedure Write(const Buf; Count: Longint); override;
Public | procedure WriteBoolean(aBoolean: Boolean); override;
Public | procedure WriteFloat(const aFloat: Extended); override;
Public | procedure WriteInteger(anInteger: Integer); override;
Public | procedure WriteListBegin; override;
Public | procedure WriteListEnd; override;
Public | procedure WriteString(const aString: string); override;
Protected | procedure WriteAnsiString(const aString: AnsiString); virtual;
Protected | procedure WriteWideString(const aString: WideString); virtual;

Description

Methods

Public procedure Write(const Buf; Count: Longint); override;
Public procedure WriteBoolean(aBoolean: Boolean); override;
Public procedure WriteFloat(const aFloat: Extended); override;
Public procedure WriteInteger(anInteger: Integer); override;
Public procedure WriteListBegin; override;
Public procedure WriteListEnd; override;
Public procedure WriteString(const aString: string); override;
Protected procedure WriteAnsiString(const aString: AnsiString); virtual;
Protected procedure WriteWideString(const aString: WideString); virtual;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLTextReader

Class TGLTextReader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLTextReader = class(TVirtualReader)

Description

Reads object persistence in Text format.

Hierarchy

  • TObject
  • TVirtualReader
  • TGLTextReader

Overview

Fields

Private | FValueType: string;
Private | FData: string;

Methods

Public | function EndOfList: Boolean; override;
Public | function NextValue: TValueType; override;
Public | function ReadBoolean: Boolean; override;
Public | function ReadFloat: Extended; override;
Public | function ReadInteger: Integer; override;
Public | function ReadString: string; override;
Public | procedure Read(var Buf; Count: Longint); override;
Public | procedure ReadListBegin; override;
Public | procedure ReadListEnd; override;
Protected | procedure ReadLine(const requestedType: string = '');

Description

Fields

Private FValueType: string;
Private FData: string;

Methods

Public function EndOfList: Boolean; override;
Public function NextValue: TValueType; override;
Public function ReadBoolean: Boolean; override;
Public function ReadFloat: Extended; override;
Public function ReadInteger: Integer; override;
Public function ReadString: string; override;
Public procedure Read(var Buf; Count: Longint); override;
Public procedure ReadListBegin; override;
Public procedure ReadListEnd; override;
Protected procedure ReadLine(const requestedType: string = '');


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLTextWriter

Class TGLTextWriter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLTextWriter = class(TVirtualWriter)

Description

Writes object persistence in Text format.

Hierarchy

  • TObject
  • TVirtualWriter
  • TGLTextWriter

Overview

Fields

Private FIndentLevel: Integer;

Methods

Public | constructor Create(aStream: TStream); override;
Public | destructor Destroy; override;
Public | procedure Write(const Buf; Count: Longint); override;
Public | procedure WriteBoolean(aBoolean: Boolean); override;
Public | procedure WriteFloat(const aFloat: Extended); override;
Public | procedure WriteInteger(anInteger: Integer); override;
Public | procedure WriteListBegin; override;
Public | procedure WriteListEnd; override;
Public | procedure WriteString(const aString: string); override;
Protected | procedure WriteLine(const valueType, data: string);

Description

Fields

Private FIndentLevel: Integer;

Methods

Public constructor Create(aStream: TStream); override;
Public destructor Destroy; override;
Public procedure Write(const Buf; Count: Longint); override;
Public procedure WriteBoolean(aBoolean: Boolean); override;
Public procedure WriteFloat(const aFloat: Extended); override;
Public procedure WriteInteger(anInteger: Integer); override;
Public procedure WriteListBegin; override;
Public procedure WriteListEnd; override;
Public procedure WriteString(const aString: string); override;
Protected procedure WriteLine(const valueType, data: string);


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLOwnedPersistent

Class TGLOwnedPersistent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLOwnedPersistent = class(TPersistent)

Description

TPersistent which has knowledge of its owner.

Hierarchy

  • TObject
  • TPersistent
  • TGLOwnedPersistent

Overview

Fields

Private FOwner: TPersistent;

Methods

Public | constructor Create(AOwner: TPersistent); virtual;
Protected | function GetOwner: TPersistent; override;

Description

Fields

Private FOwner: TPersistent;

Methods

Public constructor Create(AOwner: TPersistent); virtual;
Protected function GetOwner: TPersistent; override;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLInterfacedPersistent

Class TGLInterfacedPersistent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLInterfacedPersistent = class(TPersistent, IInterface)

Description

TPersistent that inplements IInterface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent

Overview

Methods

Protected | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Protected | function _AddRef: Integer; stdcall;
Protected | function _Release: Integer; stdcall;

Description

Methods

Protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

Implementing IInterface.

Protected function _AddRef: Integer; stdcall;
Protected function _Release: Integer; stdcall;


GLSysHelp v.2.1: GLS.PersistentClasses: Class TGLInterfacedCollectionItem

Class TGLInterfacedCollectionItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type TGLInterfacedCollectionItem = class(TCollectionItem, IInterface)

Description

TCollectionItem thet inplements IInterface.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLInterfacedCollectionItem

Overview

Methods

Protected | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Protected | function _AddRef: Integer; stdcall;
Protected | function _Release: Integer; stdcall;

Description

Methods

Protected function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

Implementing IInterface.

Protected function _AddRef: Integer; stdcall;
Protected function _Release: Integer; stdcall;


GLSysHelp v.2.1: GLS.PersistentClasses: Class EInvalidFileSignature

Class EInvalidFileSignature

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type EInvalidFileSignature = class(Exception)

Description

Triggered when file signature does not match.

Hierarchy

  • TObject
  • Exception
  • EInvalidFileSignature


GLSysHelp v.2.1: GLS.PersistentClasses: Class EFilerException

Class EFilerException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PersistentClasses

Declaration

type EFilerException = class(Exception)

Description

Usually triggered when a filing error is detected.

Hierarchy

  • TObject
  • Exception
  • EFilerException


GLSysHelp v.2.1: GLS.PipelineTransformation

Unit GLS.PipelineTransformation

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TTransformationRec |
Class TGLTransformation |

Types

PTransformationRec = ˆTTransformationRec;
TGLPipelineTransformationState = (...);
TGLPipelineTransformationStates = set of TGLPipelineTransformationState;
TOnMatricesPush = procedure() of object;

Constants

MAX_MATRIX_STACK_DEPTH = 128;
cAllStatesChanged = [trsModelViewChanged, trsInvModelViewChanged, trsInvModelChanged, trsViewProjChanged, trsNormalModelChanged, trsFrustum];

Description

Types

PTransformationRec = ˆTTransformationRec;
TGLPipelineTransformationState = (...);
Values
  • trsModelViewChanged
  • trsInvModelViewChanged
  • trsInvModelChanged
  • trsNormalModelChanged
  • trsViewProjChanged
  • trsFrustum
TGLPipelineTransformationStates = set of TGLPipelineTransformationState;
TOnMatricesPush = procedure() of object;

Constants

MAX_MATRIX_STACK_DEPTH = 128;
cAllStatesChanged = [trsModelViewChanged, trsInvModelViewChanged, trsInvModelChanged, trsViewProjChanged, trsNormalModelChanged, trsFrustum];


GLSysHelp v.2.1: GLS.PipelineTransformation: Record TTransformationRec

Record TTransformationRec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PipelineTransformation

Declaration

type TTransformationRec = record

Description

Overview

Fields

Public | FStates: TGLPipelineTransformationStates;
Public | FModelMatrix: TGLMatrix;
Public | FViewMatrix: TGLMatrix;
Public | FProjectionMatrix: TGLMatrix;
Public | FInvModelMatrix: TGLMatrix;
Public | FNormalModelMatrix: TAffineMatrix;
Public | FModelViewMatrix: TGLMatrix;
Public | FInvModelViewMatrix: TGLMatrix;
Public | FViewProjectionMatrix: TGLMatrix;
Public | FFrustum: TFrustum;

Description

Fields

Public FStates: TGLPipelineTransformationStates;
Public FModelMatrix: TGLMatrix;
Public FViewMatrix: TGLMatrix;
Public FProjectionMatrix: TGLMatrix;
Public FInvModelMatrix: TGLMatrix;
Public FNormalModelMatrix: TAffineMatrix;
Public FModelViewMatrix: TGLMatrix;
Public FInvModelViewMatrix: TGLMatrix;
Public FViewProjectionMatrix: TGLMatrix;
Public FFrustum: TFrustum;


GLSysHelp v.2.1: GLS.PipelineTransformation: Class TGLTransformation

Class TGLTransformation

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PipelineTransformation

Declaration

type TGLTransformation = class(TObject)

Description

Hierarchy

  • TObject
  • TGLTransformation

Overview

Fields

Private | FStackPos: Integer;
Private | FStack: array of TTransformationRec;
Private | FLoadMatricesEnabled: Boolean;
Private | FOnPush: TOnMatricesPush;

Methods

Public | constructor Create;
Public | function StackTop: TTransformationRec; inline;
Private | function GetFrustum: TFrustum; inline;
Private | function GetInvModelMatrix: PGLMatrix; inline;
Private | function GetInvModelViewMatrix: PGLMatrix; inline;
Private | function GetModelMatrix: PGLMatrix; inline;
Private | function GetModelViewMatrix: PGLMatrix; inline;
Private | function GetNormalModelMatrix: PAffineMatrix; inline;
Private | function GetProjectionMatrix: PGLMatrix; inline;
Private | function GetViewMatrix: PGLMatrix; inline;
Private | function GetViewProjectionMatrix: PGLMatrix; inline;
Public | procedure IdentityAll; inline;
Public | procedure Pop;
Public | procedure Push(); overload; inline;
Public | procedure Push(AValue: PTransformationRec); overload;
Public | procedure ReplaceFromStack;
Public | procedure SetModelMatrix(const AMatrix: TGLMatrix); inline;
Public | procedure SetProjectionMatrix(const AMatrix: TGLMatrix); inline;
Public | procedure SetViewMatrix(const AMatrix: TGLMatrix); inline;
Protected | procedure DoMatricesLoaded; inline;
Protected | procedure LoadModelViewMatrix; inline;
Protected | procedure LoadProjectionMatrix; inline;

Properties

Public | property Frustum: TFrustum read GetFrustum;
Public | property InvModelMatrix: PGLMatrix read GetInvModelMatrix;
Public | property InvModelViewMatrix: PGLMatrix read GetInvModelViewMatrix;
Public | property LoadMatricesEnabled: Boolean read FLoadMatricesEnabled write FLoadMatricesEnabled;
Public | property ModelMatrix: PGLMatrix read GetModelMatrix;
Public | property ModelViewMatrix: PGLMatrix read GetModelViewMatrix;
Public | property NormalModelMatrix: PAffineMatrix read GetNormalModelMatrix;
Protected | property OnPush: TOnMatricesPush read FOnPush write FOnPush;
Public | property ProjectionMatrix: PGLMatrix read GetProjectionMatrix;
Public | property ViewMatrix: PGLMatrix read GetViewMatrix;
Public | property ViewProjectionMatrix: PGLMatrix read GetViewProjectionMatrix;

Description

Fields

Private FStackPos: Integer;
Private FStack: array of TTransformationRec;
Private FLoadMatricesEnabled: Boolean;
Private FOnPush: TOnMatricesPush;

Methods

Public constructor Create;
Public function StackTop: TTransformationRec; inline;
Private function GetFrustum: TFrustum; inline;
Private function GetInvModelMatrix: PGLMatrix; inline;
Private function GetInvModelViewMatrix: PGLMatrix; inline;
Private function GetModelMatrix: PGLMatrix; inline;
Private function GetModelViewMatrix: PGLMatrix; inline;
Private function GetNormalModelMatrix: PAffineMatrix; inline;
Private function GetProjectionMatrix: PGLMatrix; inline;
Private function GetViewMatrix: PGLMatrix; inline;
Private function GetViewProjectionMatrix: PGLMatrix; inline;
Public procedure IdentityAll; inline;
Public procedure Pop;
Public procedure Push(); overload; inline;
Public procedure Push(AValue: PTransformationRec); overload;
Public procedure ReplaceFromStack;
Public procedure SetModelMatrix(const AMatrix: TGLMatrix); inline;
Public procedure SetProjectionMatrix(const AMatrix: TGLMatrix); inline;
Public procedure SetViewMatrix(const AMatrix: TGLMatrix); inline;
Protected procedure DoMatricesLoaded; inline;
Protected procedure LoadModelViewMatrix; inline;
Protected procedure LoadProjectionMatrix; inline;

Properties

Public property Frustum: TFrustum read GetFrustum;
Public property InvModelMatrix: PGLMatrix read GetInvModelMatrix;
Public property InvModelViewMatrix: PGLMatrix read GetInvModelViewMatrix;
Public property LoadMatricesEnabled: Boolean read FLoadMatricesEnabled write FLoadMatricesEnabled;
Public property ModelMatrix: PGLMatrix read GetModelMatrix;
Public property ModelViewMatrix: PGLMatrix read GetModelViewMatrix;
Public property NormalModelMatrix: PAffineMatrix read GetNormalModelMatrix;
Protected property OnPush: TOnMatricesPush read FOnPush write FOnPush;
Public property ProjectionMatrix: PGLMatrix read GetProjectionMatrix;
Public property ViewMatrix: PGLMatrix read GetViewMatrix;
Public property ViewProjectionMatrix: PGLMatrix read GetViewProjectionMatrix;


GLSysHelp v.2.1: GLS.PlugInManager

Unit GLS.PlugInManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLPlugInEntry |
Class TGLResourceManager |
Class TGLPlugInList |
Record TResManagerEntry |
Class TGLPlugInManager |

Types

PPlugInEntry = ˆTGLPlugInEntry;
PResManagerEntry = ˆTResManagerEntry;
TEnumCallBack = procedure(Name: PAnsiChar); stdcall;
TEnumResourceNames = procedure(Service: TPIServiceType; Callback: TEnumCallBack); stdcall;
TGetDescription = function: PAnsiChar; stdcall;
TGetServices = function: TPIServices; stdcall;
TGetVendor = function: PAnsiChar; stdcall;
TGetVersion = function: PAnsiChar; stdcall;
TPIServices = set of TPIServiceType;
TPIServiceType = (...);

Description

Types

PPlugInEntry = ˆTGLPlugInEntry;
PResManagerEntry = ˆTResManagerEntry;
TEnumCallBack = procedure(Name: PAnsiChar); stdcall;
TEnumResourceNames = procedure(Service: TPIServiceType; Callback: TEnumCallBack); stdcall;
TGetDescription = function: PAnsiChar; stdcall;
TGetServices = function: TPIServices; stdcall;
TGetVendor = function: PAnsiChar; stdcall;
TGetVersion = function: PAnsiChar; stdcall;
TPIServices = set of TPIServiceType;
TPIServiceType = (...);
Values
  • stRaw
  • stObject
  • stBitmap
  • stTexture
  • stImport
  • stExport


GLSysHelp v.2.1: GLS.PlugInManager: Record TGLPlugInEntry

Record TGLPlugInEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PlugInManager

Declaration

type TGLPlugInEntry = record

Description

Overview

Fields

Public | Path: TFileName;
Public | Handle: HINST;
Public | FileSize: Integer;
Public | FileDate: TDateTime;
Public | EnumResourcenames: TEnumResourceNames;
Public | GetServices: TGetServices;
Public | GetVendor: TGetVendor;
Public | GetDescription: TGetDescription;
Public | GetVersion: TGetVersion;

Description

Fields

Public Path: TFileName;
Public Handle: HINST;
Public FileSize: Integer;
Public FileDate: TDateTime;
Public EnumResourcenames: TEnumResourceNames;
Public GetServices: TGetServices;
Public GetVendor: TGetVendor;
Public GetDescription: TGetDescription;
Public GetVersion: TGetVersion;


GLSysHelp v.2.1: GLS.PlugInManager: Class TGLResourceManager

Class TGLResourceManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PlugInManager

Declaration

type TGLResourceManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLResourceManager

Overview

Methods

Public procedure Notify(Sender: TGLPlugInManager; Operation: TOperation; Service: TPIServiceType; PlugIn: Integer); virtual; abstract;

Description

Methods

Public procedure Notify(Sender: TGLPlugInManager; Operation: TOperation; Service: TPIServiceType; PlugIn: Integer); virtual; abstract;


GLSysHelp v.2.1: GLS.PlugInManager: Class TGLPlugInList

Class TGLPlugInList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PlugInManager

Declaration

type TGLPlugInList = class(TStringList)

Description

Hierarchy

  • TObject
  • TPersistent
  • TStrings
  • TStringList
  • TGLPlugInList

Overview

Fields

Private FOwner: TGLPlugInManager;

Methods

Public | constructor Create(AOwner: TGLPlugInManager); virtual;
Private | function GetPlugInEntry(Index: Integer): PPlugInEntry;
Public | procedure ClearList;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadPlugIns(Reader: TReader);
Protected | procedure WritePlugIns(Writer: TWriter);
Private | procedure SetPlugInEntry(Index: Integer; AEntry: PPlugInEntry);

Properties

Public | property Objects[Index:Integer]: PPlugInEntry read GetPlugInEntry write SetPlugInEntry;
Public | property Owner: TGLPlugInManager read FOwner;

Description

Fields

Private FOwner: TGLPlugInManager;

Methods

Public constructor Create(AOwner: TGLPlugInManager); virtual;
Private function GetPlugInEntry(Index: Integer): PPlugInEntry;
Public procedure ClearList;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadPlugIns(Reader: TReader);
Protected procedure WritePlugIns(Writer: TWriter);
Private procedure SetPlugInEntry(Index: Integer; AEntry: PPlugInEntry);

Properties

Public property Objects[Index:Integer]: PPlugInEntry read GetPlugInEntry write SetPlugInEntry;
Public property Owner: TGLPlugInManager read FOwner;


GLSysHelp v.2.1: GLS.PlugInManager: Record TResManagerEntry

Record TResManagerEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PlugInManager

Declaration

type TResManagerEntry = record

Description

Overview

Fields

Public | Manager: TGLResourceManager;
Public | Services: TPIServices;

Description

Fields

Public Manager: TGLResourceManager;
Public Services: TPIServices;


GLSysHelp v.2.1: GLS.PlugInManager: Class TGLPlugInManager

Class TGLPlugInManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PlugInManager

Declaration

type TGLPlugInManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLPlugInManager

Overview

Fields

Private | FLibraryList: TGLPlugInList;
Private | FResManagerList: TList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AddPlugIn(Path: TFileName): Integer;
Protected | function FindResManager(AManager: TGLResourceManager): PResManagerEntry;
Protected | function GetIndexFromFilename(FileName: String): Integer;
Protected | function GetPlugInFromFilename(FileName: String): PPlugInEntry;
Public | procedure EditPlugInList;
Public | procedure RegisterResourceManager(AManager: TGLResourceManager; Services: TPIServices);
Public | procedure RemovePlugIn(Index: Integer);
Public | procedure UnRegisterRessourceManager(AManager: TGLResourceManager; Services: TPIServices);
Protected | procedure DoNotify(Operation: TOperation; Service: TPIServiceType; PlugIn: Integer);

Properties

Published property PlugIns: TGLPlugInList read FLibraryList write FLibraryList;

Description

Fields

Private FLibraryList: TGLPlugInList;
Private FResManagerList: TList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AddPlugIn(Path: TFileName): Integer;
Protected function FindResManager(AManager: TGLResourceManager): PResManagerEntry;
Protected function GetIndexFromFilename(FileName: String): Integer;
Protected function GetPlugInFromFilename(FileName: String): PPlugInEntry;
Public procedure EditPlugInList;
Public procedure RegisterResourceManager(AManager: TGLResourceManager; Services: TPIServices);
Public procedure RemovePlugIn(Index: Integer);
Public procedure UnRegisterRessourceManager(AManager: TGLResourceManager; Services: TPIServices);
Protected procedure DoNotify(Operation: TOperation; Service: TPIServiceType; PlugIn: Integer);

Properties

Published property PlugIns: TGLPlugInList read FLibraryList write FLibraryList;


GLSysHelp v.2.1: GLS.PolygonTesselation

Unit GLS.PolygonTesselation

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.SysUtils
  • GLS.OpenGLAdapter
  • GLS.OpenGLTokens
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • GLS.VectorGeometry

Overview

Functions and Procedures

procedure DoTesselate(Vertexes: TAffineVectorList; Mesh: TGLBaseMesh; normal: PAffineVector = nil; invertNormals: Boolean = False);

Description

Functions and Procedures

procedure DoTesselate(Vertexes: TAffineVectorList; Mesh: TGLBaseMesh; normal: PAffineVector = nil; invertNormals: Boolean = False);

Tesselates the polygon outlined by the Vertexes. And adds them to the first facegroup of the Mesh.


GLSysHelp v.2.1: GLS.Polynomials

Unit GLS.Polynomials

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.VectorGeometry

Overview

Functions and Procedures

function EvalPolynom(const poly: TDoubleArray; const x: Double): Double;
function DerivatedPolynom(const poly: TDoubleArray): TDoubleArray;
function FindRoot(const poly: TDoubleArray; min, max, epsilon: Double): Double;
function MinPositiveCoef(const coefs: TDoubleArray; var aMin: Double): Boolean;
function cbrt(const x: Double): Double;
function SolveQuadric(const c: PDoubleArray): TDoubleArray;
function SolveCubic(const c: PDoubleArray): TDoubleArray;
function SolveQuartic(const c: PDoubleArray): TDoubleArray;

Types

TDoubleArray = array of Double;

Description

Functions and Procedures

function EvalPolynom(const poly: TDoubleArray; const x: Double): Double;

Computes polynom's value for given x

function DerivatedPolynom(const poly: TDoubleArray): TDoubleArray;

Calculates the polynom's derivative

function FindRoot(const poly: TDoubleArray; min, max, epsilon: Double): Double;

Finds a root between min and max with a precision of epsilon. The evaluation of min/max must be of opposit sign

function MinPositiveCoef(const coefs: TDoubleArray; var aMin: Double): Boolean;

Finds the minimum positive coef in the array in aMin. Returns true if such an item was found.

function cbrt(const x: Double): Double;

Calculates the cube root of its parameter.

function SolveQuadric(const c: PDoubleArray): TDoubleArray;

Computes the real roots of a real polynomial of the 2nd degree. The polynomial is of the form: A(0) + A(1)*Z + A(2)*Z**2

function SolveCubic(const c: PDoubleArray): TDoubleArray;

Computes the real roots of a real polynomial of the 3rd degree. The polynomial is of the form: A(0) + A(1)*Z + A(2)*Z**2 + A(3)*Z**3

function SolveQuartic(const c: PDoubleArray): TDoubleArray;

Computes the real roots of a real polynomial of the 4th degree. The polynomial is of the form: A(0) + A(1)*Z + ... + A(4)*Z**4

Types

TDoubleArray = array of Double;


GLSysHelp v.2.1: GLS.Portal

Unit GLS.Portal

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • GLS.Scene
  • GLS.Material
  • GLS.VectorGeometry
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPortalMeshObjectList |
Class TGLSectorMeshObject |
Class TFGPolygon |
Class TFGPortalPolygon |
Class TGLPortal |


GLSysHelp v.2.1: GLS.Portal: Class TGLPortalMeshObjectList

Class TGLPortalMeshObjectList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Portal

Declaration

type TGLPortalMeshObjectList = class(TGLMeshObjectList)

Description

A mesh object list that handles portal rendering. The items are treated as being sectors.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLMeshObjectList
  • TGLPortalMeshObjectList

Overview

Methods

Public | constructor CreateOwned(AOwner: TGLBaseMesh);
Public | destructor Destroy; override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;

Description

Methods

Public constructor CreateOwned(AOwner: TGLBaseMesh);
Public destructor Destroy; override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;


GLSysHelp v.2.1: GLS.Portal: Class TGLSectorMeshObject

Class TGLSectorMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Portal

Declaration

type TGLSectorMeshObject = class(TGLMorphableMeshObject)

Description

A portal renderer sector.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLSectorMeshObject

Overview

Fields

Private FRenderDone: Boolean;

Methods

Public | constructor CreateOwned(AOwner: TGLMeshObjectList);
Public | destructor Destroy; override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure Prepare; override;

Properties

Public property RenderDone: Boolean read FRenderDone write FRenderDone;

Description

Fields

Private FRenderDone: Boolean;

Methods

Public constructor CreateOwned(AOwner: TGLMeshObjectList);
Public destructor Destroy; override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure Prepare; override;

Properties

Public property RenderDone: Boolean read FRenderDone write FRenderDone;


GLSysHelp v.2.1: GLS.Portal: Class TFGPolygon

Class TFGPolygon

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Portal

Declaration

type TFGPolygon = class(TFGVertexNormalTexIndexList)

Description

A portal polygon. This is the base class for portal polygons, the TFGPortalPolygon class implements the portal.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGVertexIndexList
  • TFGVertexNormalTexIndexList
  • TFGPolygon

Overview

Methods

Public | constructor CreateOwned(AOwner: TGLFaceGroups); override;
Public | destructor Destroy; override;
Public | procedure Prepare; override;

Description

Methods

Public constructor CreateOwned(AOwner: TGLFaceGroups); override;
Public destructor Destroy; override;
Public procedure Prepare; override;


GLSysHelp v.2.1: GLS.Portal: Class TFGPortalPolygon

Class TFGPortalPolygon

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Portal

Declaration

type TFGPortalPolygon = class(TFGPolygon)

Description

A portal polygon. This is the base class for portal polygons, the TFGPortalPolygon class implements the portal.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGVertexIndexList
  • TFGVertexNormalTexIndexList
  • TFGPolygon
  • TFGPortalPolygon

Overview

Fields

Private | FDestinationSectorIndex: Integer;
Private | FCenter: TAffineVector;
Private | FNormal: TAffineVector;
Private | FRadius: Single;

Methods

Public | constructor CreateOwned(AOwner: TGLFaceGroups); override;
Public | destructor Destroy; override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure Prepare; override;

Properties

Public property DestinationSectorIndex: Integer read FDestinationSectorIndex write FDestinationSectorIndex;

Description

Fields

Private FDestinationSectorIndex: Integer;
Private FCenter: TAffineVector;
Private FNormal: TAffineVector;
Private FRadius: Single;

Methods

Public constructor CreateOwned(AOwner: TGLFaceGroups); override;
Public destructor Destroy; override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure Prepare; override;

Properties

Public property DestinationSectorIndex: Integer read FDestinationSectorIndex write FDestinationSectorIndex;


GLSysHelp v.2.1: GLS.Portal: Class TGLPortal

Class TGLPortal

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Portal

Declaration

type TGLPortal = class(TGLBaseMesh)

Description

Portal Renderer class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLPortal

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;

Properties

Published property MaterialLibrary;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;

Properties

Published property MaterialLibrary;


GLSysHelp v.2.1: GLS.ProcTextures

Unit GLS.ProcTextures

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.Texture
  • GLS.Graphics
  • GLS.TextureFormat
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLProcTextureNoise |

Constants

GRADIENT_TABLE_SIZE = 256;
DAMP_SHIFT = 20;

Description

Constants

GRADIENT_TABLE_SIZE = 256;
DAMP_SHIFT = 20;


GLSysHelp v.2.1: GLS.ProcTextures: Class TGLProcTextureNoise

Class TGLProcTextureNoise

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProcTextures

Declaration

type TGLProcTextureNoise = class(TGLTextureImage)

Description

No description available, ancestor TGLTextureImage description follows

Base class for texture image data. Basicly, subclasses are to be considered as different ways of getting a HBitmap (interfacing the actual source). SubClasses should be registered using RegisterGLTextureImageClass to allow proper persistence and editability in the IDE experts.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLProcTextureNoise

Overview

Fields

Private | FNoiseMap: TGLBitmap32;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FMinCut: Byte;
Private | FNoiseSharpness: Single;
Private | FNoiseAnimate: Single;
Private | FSeamless: Boolean;
Private | FNoiseRandSeed: Longint;
Protected | FGradients: array[0..GRADIENT_TABLE_SIZE * 3 - 1] of Single;
Protected | PERM: array[0..GRADIENT_TABLE_SIZE - 1] of Byte;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function GetBitmap32: TGLBitmap32; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetTextureTarget: TGLTextureTarget; override;
Protected | function GetWidth: Integer; override;
Protected | function Noise(x, y: Single): Single;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure NoiseAnimate(speed: Single);
Public | procedure ReleaseBitmap32; override;
Public | procedure SaveToFile(const fileName: string); override;
Public | procedure SetPermFromData(const inPERM: array of Byte);
Public | procedure SetPermToDefault;
Protected | procedure SetHeight(const val: Integer);
Protected | procedure SetMinCut(const val: Byte);
Protected | procedure SetNoiseRandSeed(const val: Longint);
Protected | procedure SetNoiseSharpness(const val: Single);
Protected | procedure SetSeamless(const val: Boolean);
Protected | procedure SetWidth(const val: Integer);
Protected | procedure UpdateNoise;

Properties

Published | property Depth: Integer read GetDepth;
Published | property Height: Integer read GetHeight write SetHeight default 128;
Published | property MinCut: Byte read FMinCut write SetMinCut;
Published | property NoiseRandSeed: Longint read FNoiseRandSeed write SetNoiseRandSeed;
Published | property NoiseSharpness: Single read FNoiseSharpness write SetNoiseSharpness;
Published | property Seamless: Boolean read FSeamless write SetSeamless;
Published | property Width: Integer read GetWidth write SetWidth default 128;

Description

Fields

Private FNoiseMap: TGLBitmap32;
Private FWidth: Integer;
Private FHeight: Integer;
Private FMinCut: Byte;
Private FNoiseSharpness: Single;
Private FNoiseAnimate: Single;
Private FSeamless: Boolean;
Private FNoiseRandSeed: Longint;
Protected FGradients: array[0..GRADIENT_TABLE_SIZE * 3 - 1] of Single;
Protected PERM: array[0..GRADIENT_TABLE_SIZE - 1] of Byte;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function GetBitmap32: TGLBitmap32; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetTextureTarget: TGLTextureTarget; override;
Protected function GetWidth: Integer; override;
Protected function Noise(x, y: Single): Single;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadFromFile(const fileName: string); override;
Public procedure NoiseAnimate(speed: Single);
Public procedure ReleaseBitmap32; override;
Public procedure SaveToFile(const fileName: string); override;
Public procedure SetPermFromData(const inPERM: array of Byte);
Public procedure SetPermToDefault;
Protected procedure SetHeight(const val: Integer);
Protected procedure SetMinCut(const val: Byte);
Protected procedure SetNoiseRandSeed(const val: Longint);
Protected procedure SetNoiseSharpness(const val: Single);
Protected procedure SetSeamless(const val: Boolean);
Protected procedure SetWidth(const val: Integer);
Protected procedure UpdateNoise;

Properties

Published property Depth: Integer read GetDepth;
Published property Height: Integer read GetHeight write SetHeight default 128;
Published property MinCut: Byte read FMinCut write SetMinCut;
Published property NoiseRandSeed: Longint read FNoiseRandSeed write SetNoiseRandSeed;
Published property NoiseSharpness: Single read FNoiseSharpness write SetNoiseSharpness;
Published property Seamless: Boolean read FSeamless write SetSeamless;
Published property Width: Integer read GetWidth write SetWidth default 128;


GLSysHelp v.2.1: GLS.ProjectedTextures

Unit GLS.ProjectedTextures

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.Texture
  • GLS.VectorGeometry
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTextureEmitter |
Class TGLTextureEmitterItem |
Class TGLTextureEmitters |
Class TGLProjectedTextures |

Types

TGLProjectedTexturesStyle = (...);

Description

Types

TGLProjectedTexturesStyle = (...);

Possible styles of texture projection. Possible values: ptsOriginal: Original projection method (first pass, is default scene render, second pass is texture projection). ptsInverse: Inverse projection method (first pass is texture projection, sencond pass is regular scene render). This method is useful if you want to simulate lighting only through projected textures (the textures of the scene are "masked" into the white areas of the projection textures).

Values
  • ptsOriginal
  • ptsInverse


GLSysHelp v.2.1: GLS.ProjectedTextures: Class TGLTextureEmitter

Class TGLTextureEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProjectedTextures

Declaration

type TGLTextureEmitter = class(TGLSceneObject)

Description

A projected texture emmiter. It's material property will be used as the projected texture. Can be places anywhere in the scene.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLTextureEmitter

Overview

Fields

Private | FFOVy: single;
Private | FAspect: single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | procedure SetupTexMatrix(var ARci: TGLRenderContextInfo);

Properties

Published | property Aspect: single read FAspect write FAspect;
Published | property FOVy: single read FFOVy write FFOVy;

Description

Fields

Private FFOVy: single;
Private FAspect: single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected procedure SetupTexMatrix(var ARci: TGLRenderContextInfo);

Sets up the base texture matrix for this emitter Should be called whenever a change on its properties is made.

Properties

Published property Aspect: single read FAspect write FAspect;

x/y ratio. For no distortion, this should be set to texture.width/texture.height.

Published property FOVy: single read FFOVy write FFOVy;

Indicates the field-of-view of the projection frustum.


GLSysHelp v.2.1: GLS.ProjectedTextures: Class TGLTextureEmitterItem

Class TGLTextureEmitterItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProjectedTextures

Declaration

type TGLTextureEmitterItem = class(TCollectionItem)

Description

Specifies an item on the TGLTextureEmitters collection.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLTextureEmitterItem

Overview

Fields

Private FEmitter: TGLTextureEmitter;

Methods

Public | constructor Create(ACollection: TCollection); override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure RemoveNotification(aComponent: TComponent);
Protected | procedure SetEmitter(const val: TGLTextureEmitter);

Properties

Published property Emitter: TGLTextureEmitter read FEmitter write SetEmitter;

Description

Fields

Private FEmitter: TGLTextureEmitter;

Methods

Public constructor Create(ACollection: TCollection); override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure RemoveNotification(aComponent: TComponent);
Protected procedure SetEmitter(const val: TGLTextureEmitter);

Properties

Published property Emitter: TGLTextureEmitter read FEmitter write SetEmitter;


GLSysHelp v.2.1: GLS.ProjectedTextures: Class TGLTextureEmitters

Class TGLTextureEmitters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProjectedTextures

Declaration

type TGLTextureEmitters = class(TCollection)

Description

Collection of TGLTextureEmitter.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLTextureEmitters

Overview

Fields

Private FOwner: TGLProjectedTextures;

Methods

Protected | function GetItems(index: Integer): TGLTextureEmitterItem;
Protected | function GetOwner: TPersistent; override;
Public | procedure AddEmitter(texEmitter: TGLTextureEmitter);
Protected | procedure RemoveNotification(aComponent: TComponent);

Properties

Public property Items[index:Integer]: TGLTextureEmitterItem read GetItems;

Description

Fields

Private FOwner: TGLProjectedTextures;

Methods

Protected function GetItems(index: Integer): TGLTextureEmitterItem;
Protected function GetOwner: TPersistent; override;
Public procedure AddEmitter(texEmitter: TGLTextureEmitter);
Protected procedure RemoveNotification(aComponent: TComponent);

Properties

Public property Items[index:Integer]: TGLTextureEmitterItem read GetItems;


GLSysHelp v.2.1: GLS.ProjectedTextures: Class TGLProjectedTextures

Class TGLProjectedTextures

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProjectedTextures

Declaration

type TGLProjectedTextures = class(TGLImmaterialSceneObject)

Description

Projected Textures Manager. Specifies active texture Emitters (whose texture will be projected) and receivers (children of this object).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLProjectedTextures

Overview

Fields

Private | FEmitters: TGLTextureEmitters;
Private | FStyle: TGLProjectedTexturesStyle;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;

Properties

Published | property Emitters: TGLTextureEmitters read FEmitters write FEmitters;
Published | property Style: TGLProjectedTexturesStyle read FStyle write FStyle;

Description

Fields

Private FEmitters: TGLTextureEmitters;
Private FStyle: TGLProjectedTexturesStyle;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;

Properties

Published property Emitters: TGLTextureEmitters read FEmitters write FEmitters;

List of texture emitters.

Published property Style: TGLProjectedTexturesStyle read FStyle write FStyle;

Indicates the style of the projected textures.


GLSysHelp v.2.1: GLS.ProxyObjects

Unit GLS.ProxyObjects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.XCollection
  • GLS.PipelineTransformation
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.VectorFileObjects
  • GLS.Strings
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.Material
  • GLS.Context
  • GLS.PersistentClasses
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLProxyException |
Class TGLColorProxy |
Class TGLMaterialProxy |
Class TGLFreeFormProxy |
Class TBoneMatrixObj |
Class TGLActorProxy |

Types

TGLActorProxyAnimationMode = (...);

Description

Types

TGLActorProxyAnimationMode = (...);

pamLoop mode was too difficalt to implement, so it was discarded ...for now. pamPlayOnce only works if Actor.AnimationMode <> aamNone.

Values
  • pamInherited
  • pamNone
  • pamPlayOnce


GLSysHelp v.2.1: GLS.ProxyObjects: Class EGLProxyException

Class EGLProxyException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProxyObjects

Declaration

type EGLProxyException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLProxyException


GLSysHelp v.2.1: GLS.ProxyObjects: Class TGLColorProxy

Class TGLColorProxy

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProxyObjects

Declaration

type TGLColorProxy = class(TGLProxyObject)

Description

A proxy object with its own color. This proxy object can have a unique color. Note that multi-material objects (Freeforms linked to a material library f.i.) won't honour the color.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLProxyObject
  • TGLColorProxy

Overview

Fields

Private FFrontColor: TGLFaceProperties;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetMasterMaterialObject: TGLCustomSceneObject;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Private | procedure SetFrontColor(AValue: TGLFaceProperties);
Private | procedure SetMasterMaterialObject(const Value: TGLCustomSceneObject);

Properties

Published | property FrontColor: TGLFaceProperties read FFrontColor write SetFrontColor;
Published | property MasterObject: TGLCustomSceneObject read GetMasterMaterialObject write SetMasterMaterialObject;

Description

Fields

Private FFrontColor: TGLFaceProperties;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetMasterMaterialObject: TGLCustomSceneObject;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Private procedure SetFrontColor(AValue: TGLFaceProperties);
Private procedure SetMasterMaterialObject(const Value: TGLCustomSceneObject);

Properties

Published property FrontColor: TGLFaceProperties read FFrontColor write SetFrontColor;
Published property MasterObject: TGLCustomSceneObject read GetMasterMaterialObject write SetMasterMaterialObject;

Redeclare as TGLCustomSceneObject.


GLSysHelp v.2.1: GLS.ProxyObjects: Class TGLMaterialProxy

Class TGLMaterialProxy

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProxyObjects

Declaration

type TGLMaterialProxy = class(TGLProxyObject, IGLMaterialLibrarySupported)

Description

A proxy object with its own material. This proxy object can take a mesh from one master and a materia from a material library.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLProxyObject
  • TGLMaterialProxy

Overview

Fields

Private | FTempLibMaterialName: string;
Private | FMasterLibMaterial: TGLLibMaterial;
Private | FMaterialLibrary: TGLMaterialLibrary;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetMasterLibMaterialName: TGLLibMaterialName;
Private | function GetMasterMaterialObject: TGLCustomSceneObject;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetMasterLibMaterialName(const Value: TGLLibMaterialName);
Private | procedure SetMasterMaterialObject(const Value: TGLCustomSceneObject);
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);

Properties

Public | property MasterLibMaterial: TGLLibMaterial read FMasterLibMaterial write FMasterLibMaterial stored False;
Published | property MasterLibMaterialName: TGLLibMaterialName read GetMasterLibMaterialName write SetMasterLibMaterialName;
Published | property MasterObject: TGLCustomSceneObject read GetMasterMaterialObject write SetMasterMaterialObject;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Description

Fields

Private FTempLibMaterialName: string;
Private FMasterLibMaterial: TGLLibMaterial;
Private FMaterialLibrary: TGLMaterialLibrary;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetMasterLibMaterialName: TGLLibMaterialName;
Private function GetMasterMaterialObject: TGLCustomSceneObject;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetMasterLibMaterialName(const Value: TGLLibMaterialName);
Private procedure SetMasterMaterialObject(const Value: TGLCustomSceneObject);
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);

Properties

Public property MasterLibMaterial: TGLLibMaterial read FMasterLibMaterial write FMasterLibMaterial stored False;

Specifies the Material, that current master object will use. Provides a faster way to access FMasterLibMaterial, compared to MasterLibMaterialName

Published property MasterLibMaterialName: TGLLibMaterialName read GetMasterLibMaterialName write SetMasterLibMaterialName;

Specifies the Material, that current master object will use.

Published property MasterObject: TGLCustomSceneObject read GetMasterMaterialObject write SetMasterMaterialObject;

Redeclare as TGLCustomSceneObject.

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;


GLSysHelp v.2.1: GLS.ProxyObjects: Class TGLFreeFormProxy

Class TGLFreeFormProxy

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProxyObjects

Declaration

type TGLFreeFormProxy = class(TGLProxyObject)

Description

A proxy object specialized for FreeForms.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLProxyObject
  • TGLFreeFormProxy

Overview

Methods

Public | function OctreeRayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;
Public | function OctreeSphereSweepIntersect(const rayStart, rayVector: TGLVector; const velocity, radius, modelscale: Single; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;
Private | function GetMasterFreeFormObject: TGLFreeForm;
Private | procedure SetMasterFreeFormObject(const Value: TGLFreeForm);

Properties

Published property MasterObject: TGLFreeForm read GetMasterFreeFormObject write SetMasterFreeFormObject;

Description

Methods

Public function OctreeRayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;

If the MasterObject is a FreeForm, you can raycast against the Octree, which is alot faster. You must build the octree before using.

Public function OctreeSphereSweepIntersect(const rayStart, rayVector: TGLVector; const velocity, radius, modelscale: Single; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;

WARNING: This function is not yet 100% reliable with scale+rotation.

Private function GetMasterFreeFormObject: TGLFreeForm;
Private procedure SetMasterFreeFormObject(const Value: TGLFreeForm);

Properties

Published property MasterObject: TGLFreeForm read GetMasterFreeFormObject write SetMasterFreeFormObject;

Redeclare as TGLFreeForm.


GLSysHelp v.2.1: GLS.ProxyObjects: Class TBoneMatrixObj

Class TBoneMatrixObj

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProxyObjects

Declaration

type TBoneMatrixObj = class(TObject)

Description

An object containing the bone matrix for TGLActorProxy.

Hierarchy

  • TObject
  • TBoneMatrixObj

Overview

Fields

Public | Matrix: TGLMatrix;
Public | BoneName: string;
Public | BoneIndex: integer;

Description

Fields

Public Matrix: TGLMatrix;
Public BoneName: string;
Public BoneIndex: integer;


GLSysHelp v.2.1: GLS.ProxyObjects: Class TGLActorProxy

Class TGLActorProxy

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ProxyObjects

Declaration

type TGLActorProxy = class(TGLProxyObject, IGLMaterialLibrarySupported)

Description

A proxy object specialized for Actors.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLProxyObject
  • TGLActorProxy

Overview

Fields

Private | FCurrentFrame: Integer;
Private | FStartFrame: Integer;
Private | FEndFrame: Integer;
Private | FLastFrame: Integer;
Private | FCurrentFrameDelta: Single;
Private | FCurrentTime: TGLProgressTimes;
Private | FAnimation: TGLActorAnimationName;
Private | FTempLibMaterialName: string;
Private | FMasterLibMaterial: TGLLibMaterial;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FBonesMatrices: TStringList;
Private | FStoreBonesMatrix: boolean;
Private | FStoredBoneNames: TStrings;
Private | FOnBeforeRender: TGLProgressEvent;
Private | FAnimationMode: TGLActorProxyAnimationMode;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function BoneMatrix(BoneName: string): TGLMatrix; overload;
Public | function BoneMatrix(BoneIndex: integer): TGLMatrix; overload;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public | function RayCastIntersectEx(RefActor: TGLActor; const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; overload;
Private | function GetLibMaterialName: TGLLibMaterialName;
Private | function GetMasterActorObject: TGLActor;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | procedure BoneMatricesClear;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure DoStoreBonesMatrices;
Private | procedure SetAnimation(const Value: TGLActorAnimationName);
Private | procedure SetLibMaterialName(const Value: TGLLibMaterialName);
Private | procedure SetMasterActorObject(const Value: TGLActor);
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private | procedure SetOnBeforeRender(const Value: TGLProgressEvent);
Private | procedure SetStoreBonesMatrix(const Value: boolean);
Private | procedure SetStoredBoneNames(const Value: TStrings);

Properties

Published | property Animation: TGLActorAnimationName read FAnimation write SetAnimation;
Published | property AnimationMode: TGLActorProxyAnimationMode read FAnimationMode write FAnimationMode default pamInherited;
Public | property CurrentFrame: Integer read FCurrentFrame;
Public | property CurrentFrameDelta: Single read FCurrentFrameDelta;
Public | property CurrentTime: TGLProgressTimes read FCurrentTime;
Public | property EndFrame: Integer read FEndFrame;
Published | property LibMaterialName: TGLLibMaterialName read GetLibMaterialName write SetLibMaterialName;
Published | property MasterObject: TGLActor read GetMasterActorObject write SetMasterActorObject;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property OnBeforeRender: TGLProgressEvent read FOnBeforeRender write SetOnBeforeRender;
Published | property ProxyOptions default [pooEffects, pooObjects];
Public | property StartFrame: Integer read FStartFrame;
Published | property StoreBonesMatrix: boolean read FStoreBonesMatrix write SetStoreBonesMatrix;
Published | property StoredBoneNames: TStrings read FStoredBoneNames write SetStoredBoneNames;

Description

Fields

Private FCurrentFrame: Integer;
Private FStartFrame: Integer;
Private FEndFrame: Integer;
Private FLastFrame: Integer;
Private FCurrentFrameDelta: Single;
Private FCurrentTime: TGLProgressTimes;
Private FAnimation: TGLActorAnimationName;
Private FTempLibMaterialName: string;
Private FMasterLibMaterial: TGLLibMaterial;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FBonesMatrices: TStringList;
Private FStoreBonesMatrix: boolean;
Private FStoredBoneNames: TStrings;
Private FOnBeforeRender: TGLProgressEvent;
Private FAnimationMode: TGLActorProxyAnimationMode;

Methods

Public constructor Create(AOwner: TComponent); override;

stores matrices of bones of the current frame rendered

Public destructor Destroy; override;
Public function BoneMatrix(BoneName: string): TGLMatrix; overload;
Public function BoneMatrix(BoneIndex: integer): TGLMatrix; overload;

Gets the Bones Matrix in the current animation frame. (since the masterobject is shared between all proxies, each proxy will have it's bones matrices)

Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;

A standard version of the RayCastIntersect function.

Public function RayCastIntersectEx(RefActor: TGLActor; const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; overload;

Raycasts on self, but actually on the "RefActor" Actor. Note that the "RefActor" parameter does not necessarily have to be the same Actor refernced by the MasterObject property: This allows to pass a low-low-low-poly Actor to raycast in the "RefActor" parameter, while using a high-poly Actor in the "MasterObject" property, of course we assume that the two Masterobject Actors have same animations.

Private function GetLibMaterialName: TGLLibMaterialName;
Private function GetMasterActorObject: TGLActor;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Public procedure BoneMatricesClear;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure DoStoreBonesMatrices;
Private procedure SetAnimation(const Value: TGLActorAnimationName);
Private procedure SetLibMaterialName(const Value: TGLLibMaterialName);
Private procedure SetMasterActorObject(const Value: TGLActor);
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private procedure SetOnBeforeRender(const Value: TGLProgressEvent);
Private procedure SetStoreBonesMatrix(const Value: boolean);
Private procedure SetStoredBoneNames(const Value: TStrings);

Properties

Published property Animation: TGLActorAnimationName read FAnimation write SetAnimation;
Published property AnimationMode: TGLActorProxyAnimationMode read FAnimationMode write FAnimationMode default pamInherited;
Public property CurrentFrame: Integer read FCurrentFrame;
Public property CurrentFrameDelta: Single read FCurrentFrameDelta;
Public property CurrentTime: TGLProgressTimes read FCurrentTime;
Public property EndFrame: Integer read FEndFrame;
Published property LibMaterialName: TGLLibMaterialName read GetLibMaterialName write SetLibMaterialName;

Specifies the Material, that current proxy will use.

Published property MasterObject: TGLActor read GetMasterActorObject write SetMasterActorObject;

Redeclare as TGLActor.

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Specifies the MaterialLibrary, that current proxy will use.

Published property OnBeforeRender: TGLProgressEvent read FOnBeforeRender write SetOnBeforeRender;

Event allowing to apply extra transformations (f.ex: bone rotations) to the referenced Actor on order to have the proxy render these changes.

Published property ProxyOptions default [pooEffects, pooObjects];

Redeclare without pooTransformation (Don't know why it causes the object to be oriented incorrecly.)

Public property StartFrame: Integer read FStartFrame;
Published property StoreBonesMatrix: boolean read FStoreBonesMatrix write SetStoreBonesMatrix;

Specifies if it will store the Bones Matrices, accessible via the BoneMatrix function (since the masterobject is shared between all proxies, each proxy will have it's bones matrices)

Published property StoredBoneNames: TStrings read FStoredBoneNames write SetStoredBoneNames;

Specifies the names of the bones we want the matrices to be stored. If empty, all bones will be stored (since the masterobject is shared between all proxies, each proxy will have it's bones matrices)


GLSysHelp v.2.1: GLS.PythonScript

Unit GLS.PythonScript

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.XCollection
  • GLS.ScriptBase
  • GLS.Manager
  • PythonEngine

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPythonEngine |
Class TGLScriptPython |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: GLS.PythonScript: Class TGLPythonEngine

Class TGLPythonEngine

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PythonScript

Declaration

type TGLPythonEngine = class(TPythonEngine)

Description

This class only adds manager registration logic to the TPythonEngine class to enable the XCollection items (ie. TGLScriptPython) retain it's assigned compiler from design to run -time.

Hierarchy

  • TPythonEngine
  • TGLPythonEngine

Overview

Methods

Public | constructor Create(AOnwer: TComponent); override;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create(AOnwer: TComponent); override;
Public destructor Destroy; override;


GLSysHelp v.2.1: GLS.PythonScript: Class TGLScriptPython

Class TGLScriptPython

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.PythonScript

Declaration

type TGLScriptPython = class(TGLScriptBase)

Description

Implements Python scripting functionality through the abstracted GLS.ScriptBase

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLScriptBase
  • TGLScriptPython

Overview

Fields

Private | FEngine: TGLPythonEngine;
Private | FEngineName: String;
Private | FCompiled: Boolean;
Private | FStarted: Boolean;

Methods

Public | destructor Destroy; override;
Public | function Call(aName: String; aParams: array of Variant): Variant; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function GetState: TGLScriptState; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Compile; override;
Public | procedure Execute; override;
Public | procedure Invalidate; override;
Public | procedure Start; override;
Public | procedure Stop; override;
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetEngine(const Value: TGLPythonEngine);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Engine: TGLPythonEngine read FEngine write SetEngine;

Description

Fields

Private FEngine: TGLPythonEngine;
Private FEngineName: String;
Private FCompiled: Boolean;
Private FStarted: Boolean;

Methods

Public destructor Destroy; override;
Public function Call(aName: String; aParams: array of Variant): Variant; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function GetState: TGLScriptState; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Compile; override;
Public procedure Execute; override;
Public procedure Invalidate; override;
Public procedure Start; override;
Public procedure Stop; override;
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetEngine(const Value: TGLPythonEngine);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Engine: TGLPythonEngine read FEngine write SetEngine;


GLSysHelp v.2.1: GLS.Ragdoll

Unit GLS.Ragdoll

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorFileObjects
  • GLS.VectorLists
  • GLS.Objects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLRagdolJoint |
Class TGLRagdolBoneList |
Class TGLRagdolBone |
Class TGLRagdoll |


GLSysHelp v.2.1: GLS.Ragdoll: Class TGLRagdolJoint

Class TGLRagdolJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Ragdoll

Declaration

type TGLRagdolJoint = class(TObject)

Description

Hierarchy

  • TObject
  • TGLRagdolJoint


GLSysHelp v.2.1: GLS.Ragdoll: Class TGLRagdolBoneList

Class TGLRagdolBoneList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Ragdoll

Declaration

type TGLRagdolBoneList = class(TPersistentObjectList)

Description

No description available, ancestor TPersistentObjectList description follows

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLRagdolBoneList

Overview

Fields

Private FRagdoll: TGLRagdoll;

Methods

Public | constructor Create(Ragdoll: TGLRagdoll); reintroduce;
Public | destructor Destroy; override;
Protected | function GetRagdollBone(Index: Integer): TGLRagdolBone;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public | property Items[Index:Integer]: TGLRagdolBone read GetRagdollBone;
Public | property Ragdoll: TGLRagdoll read FRagdoll;

Description

Fields

Private FRagdoll: TGLRagdoll;

Methods

Public constructor Create(Ragdoll: TGLRagdoll); reintroduce;
Public destructor Destroy; override;
Protected function GetRagdollBone(Index: Integer): TGLRagdolBone;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Items[Index:Integer]: TGLRagdolBone read GetRagdollBone;
Public property Ragdoll: TGLRagdoll read FRagdoll;


GLSysHelp v.2.1: GLS.Ragdoll: Class TGLRagdolBone

Class TGLRagdolBone

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Ragdoll

Declaration

type TGLRagdolBone = class(TGLRagdolBoneList)

Description

No description available, ancestor TGLRagdolBoneList description follows
No description available, ancestor TPersistentObjectList description follows

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLRagdolBoneList
  • TGLRagdolBone

Overview

Fields

Private | FOwner: TGLRagdolBoneList;
Private | FName: String;
Private | FBoneID: Integer;
Private | FBoundMax: TAffineVector;
Private | FBoundMin: TAffineVector;
Private | FBoundBoneDelta: TAffineVector;
Private | FOrigin: TAffineVector;
Private | FSize: TAffineVector;
Private | FBoneMatrix: TGLMatrix;
Private | FJoint: TGLRagdolJoint;
Private | FOriginalMatrix: TGLMatrix;
Private | FReferenceMatrix: TGLMatrix;
Private | FAnchor: TAffineVector;

Methods

Public | constructor Create(Ragdoll: TGLRagdoll);
Public | constructor CreateOwned(aOwner: TGLRagdolBoneList);
Public | destructor Destroy; override;
Protected | function GetRagdollBone(Index: Integer): TGLRagdolBone;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure Align; virtual; abstract;
Protected | procedure Start; virtual; abstract;
Protected | procedure Stop; virtual; abstract;
Protected | procedure Update; virtual; abstract;
Private | procedure AlignChild;
Private | procedure AlignToSkeleton;
Private | procedure CreateBoundingBox;
Private | procedure CreateBoundsChild;
Private | procedure SetAnchor(const Anchor: TAffineVector);
Private | procedure StartChild;
Private | procedure StopChild;
Private | procedure UpdateChild;

Properties

Public | property Anchor: TAffineVector read FAnchor;
Public | property BoneID: Integer read FBoneID write FBoneID;
Public | property BoneMatrix: TGLMatrix read FBoneMatrix;
Public | property Items[Index:Integer]: TGLRagdolBone read GetRagdollBone;
Public | property Joint: TGLRagdolJoint read FJoint write FJoint;
Public | property Name: String read FName write FName;
Public | property Origin: TAffineVector read FOrigin;
Public | property Owner: TGLRagdolBoneList read FOwner;
Public | property ReferenceMatrix: TGLMatrix read FReferenceMatrix;
Public | property Size: TAffineVector read FSize;

Description

Fields

Private FOwner: TGLRagdolBoneList;
Private FName: String;
Private FBoneID: Integer;
Private FBoundMax: TAffineVector;

Refering to TGLActor Bone

Private FBoundMin: TAffineVector;
Private FBoundBoneDelta: TAffineVector;
Private FOrigin: TAffineVector;

Stores the diference from the bone.GlobalMatrix to the center of the bone's bounding box

Private FSize: TAffineVector;
Private FBoneMatrix: TGLMatrix;
Private FJoint: TGLRagdolJoint;
Private FOriginalMatrix: TGLMatrix;
Private FReferenceMatrix: TGLMatrix;

Stores the Bone.GlobalMatrix before the ragdoll start

Private FAnchor: TAffineVector;

Stores the first bone matrix to be used as reference

Methods

Public constructor Create(Ragdoll: TGLRagdoll);
Public constructor CreateOwned(aOwner: TGLRagdolBoneList);
Public destructor Destroy; override;
Protected function GetRagdollBone(Index: Integer): TGLRagdolBone;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure Align; virtual; abstract;
Protected procedure Start; virtual; abstract;
Protected procedure Stop; virtual; abstract;
Protected procedure Update; virtual; abstract;
Private procedure AlignChild;
Private procedure AlignToSkeleton;
Private procedure CreateBoundingBox;

The position of the joint

Private procedure CreateBoundsChild;
Private procedure SetAnchor(const Anchor: TAffineVector);
Private procedure StartChild;
Private procedure StopChild;
Private procedure UpdateChild;

Properties

Public property Anchor: TAffineVector read FAnchor;
Public property BoneID: Integer read FBoneID write FBoneID;
Public property BoneMatrix: TGLMatrix read FBoneMatrix;
Public property Items[Index:Integer]: TGLRagdolBone read GetRagdollBone;
Public property Joint: TGLRagdolJoint read FJoint write FJoint;
Public property Name: String read FName write FName;
Public property Origin: TAffineVector read FOrigin;
Public property Owner: TGLRagdolBoneList read FOwner;
Public property ReferenceMatrix: TGLMatrix read FReferenceMatrix;
Public property Size: TAffineVector read FSize;


GLSysHelp v.2.1: GLS.Ragdoll: Class TGLRagdoll

Class TGLRagdoll

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Ragdoll

Declaration

type TGLRagdoll = class(TPersistentObject)

Description

No description available, ancestor TPersistentObject description follows

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLRagdoll

Overview

Fields

Private | FOwner: TGLBaseMesh;
Private | FRootBone: TGLRagdolBone;
Private | FEnabled: Boolean;
Private | FBuilt: Boolean;

Methods

Public | constructor Create(aOwner: TGLBaseMesh); reintroduce;
Public | destructor Destroy; override;
Public | procedure BuildRagdoll;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure SetRootBone(RootBone: TGLRagdolBone);
Public | procedure Start;
Public | procedure Stop;
Public | procedure Update;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public | property Enabled: Boolean read FEnabled;
Public | property Owner: TGLBaseMesh read FOwner;
Public | property RootBone: TGLRagdolBone read FRootBone;

Description

Fields

Private FOwner: TGLBaseMesh;
Private FRootBone: TGLRagdolBone;
Private FEnabled: Boolean;
Private FBuilt: Boolean;

Methods

Public constructor Create(aOwner: TGLBaseMesh); reintroduce;
Public destructor Destroy; override;
Public procedure BuildRagdoll;

Create the bounding box and setup the ragdoll do be started later

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure SetRootBone(RootBone: TGLRagdolBone);

Must be set before build the ragdoll

Public procedure Start;
Public procedure Stop;
Public procedure Update;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Enabled: Boolean read FEnabled;
Public property Owner: TGLBaseMesh read FOwner;
Public property RootBone: TGLRagdolBone read FRootBone;


GLSysHelp v.2.1: GLS.RandomHDS

Unit GLS.RandomHDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.Windows
  • System.Classes
  • System.Math
  • System.SysUtils
  • System.UITypes
  • System.Contnrs
  • Vcl.Graphics
  • Vcl.Imaging.jpeg
  • Vcl.Forms
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.HeightData
  • GLS.TerrainRenderer
  • GLS.Texture
  • GLS.Color
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.Material
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TSeaErosion |
Record TRainErosion |
Record TLifeErosion |
Record TFractionErosion |
Record TLandTileInfo |
Record TSteps |
Class TGLBaseRandomHDS |
Class TGLCustomRandomHDS |
Class TGLFractalHDS |
Record TRelativeCoordinate |
Class TGLTiledRndLandscape |
Class TGLFractalArchipelago |

Functions and Procedures

function LoadJPGtexture(const JpgName: string): tBitmap;
function NoisyColor(const Color: tColor; const Noise: single = 0.05): TGLColorVector;
function TextureGreen(const x, y: integer): TGLColorVector;
function TextureBlue(const x, y: integer): TGLColorVector;
function TextureSand(const x, y: integer): TGLColorVector;
function TextureBrownSoil(const x, y: integer): TGLColorVector;
function TextureDarkGreen(const x, y: integer): TGLColorVector;
function TextureDarkGray(const x, y: integer): TGLColorVector;
function TextureWhite(const x, y: integer): TGLColorVector;
procedure FractalMiddlePointHDS(const aDepth, aSeed, aAmplitude: integer; const aRoughness: single; aCyclic: boolean; var z: TMapOfSingle; var MinZ, MaxZ: single);
procedure InitializeRandomGenerator(const Seed: integer);
procedure PrimerNull(var z: TMapOfSingle);
procedure PrimerIsland(LowZ, HighZ: single; var z: TMapOfSingle);

Types

TGLLandTile = TGLCustomRandomHDS;
TIntegerClamp = procedure(var x, y: integer) of object;
TIsDefaultTile = function(X, Z: integer): boolean of object;
TMapOfSingle = array of array of single;
TMapOfVector = array of array of TGLVector;
TOnCreateLandTile = procedure(x, z, Seed: integer; var aLandscape: TGLLandTile) of object;
TOnDrawTexture = function(const Sender: TGLBaseRandomHDS; x, y: integer; z: double; Normal: TGLVector): TGLColorVector of object;
TSingleClamp = procedure(var x, y: single) of object;

Constants

VerticalScalingFactor = 128;

Description

Functions and Procedures

function LoadJPGtexture(const JpgName: string): tBitmap;

Texture functions

function NoisyColor(const Color: tColor; const Noise: single = 0.05): TGLColorVector;
function TextureGreen(const x, y: integer): TGLColorVector;
function TextureBlue(const x, y: integer): TGLColorVector;
function TextureSand(const x, y: integer): TGLColorVector;
function TextureBrownSoil(const x, y: integer): TGLColorVector;
function TextureDarkGreen(const x, y: integer): TGLColorVector;
function TextureDarkGray(const x, y: integer): TGLColorVector;
function TextureWhite(const x, y: integer): TGLColorVector;
procedure FractalMiddlePointHDS(const aDepth, aSeed, aAmplitude: integer; const aRoughness: single; aCyclic: boolean; var z: TMapOfSingle; var MinZ, MaxZ: single);

Random HDS functions

procedure InitializeRandomGenerator(const Seed: integer);
procedure PrimerNull(var z: TMapOfSingle);

Landscape primers

procedure PrimerIsland(LowZ, HighZ: single; var z: TMapOfSingle);

Types

TGLLandTile = TGLCustomRandomHDS;

TMapOfLandscapes :array of array of TGLBaseRandomHDS;

TIntegerClamp = procedure(var x, y: integer) of object;
TIsDefaultTile = function(X, Z: integer): boolean of object;
TMapOfSingle = array of array of single;
TMapOfVector = array of array of TGLVector;
TOnCreateLandTile = procedure(x, z, Seed: integer; var aLandscape: TGLLandTile) of object;
TOnDrawTexture = function(const Sender: TGLBaseRandomHDS; x, y: integer; z: double; Normal: TGLVector): TGLColorVector of object;

Function type to use for topography-based texture

TSingleClamp = procedure(var x, y: single) of object;

Constants

VerticalScalingFactor = 128;


GLSysHelp v.2.1: GLS.RandomHDS: Record TSeaErosion

Record TSeaErosion

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TSeaErosion = record

Description

Overview

Fields

Public | Enabled: boolean;
Public | BeachHeight: single;

Description

Fields

Public Enabled: boolean;
Public BeachHeight: single;


GLSysHelp v.2.1: GLS.RandomHDS: Record TRainErosion

Record TRainErosion

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TRainErosion = record

Description

Overview

Fields

Public | Enabled: boolean;
Public | ErosionRate: single;
Public | DepositRate: single;

Description

Fields

Public Enabled: boolean;
Public ErosionRate: single;
Public DepositRate: single;


GLSysHelp v.2.1: GLS.RandomHDS: Record TLifeErosion

Record TLifeErosion

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TLifeErosion = record

Description

Overview

Fields

Public | Enabled: boolean;
Public | Robustness: single;

Description

Fields

Public Enabled: boolean;
Public Robustness: single;


GLSysHelp v.2.1: GLS.RandomHDS: Record TFractionErosion

Record TFractionErosion

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TFractionErosion = record

Description

Overview

Fields

Public | Enabled: boolean;
Public | Slope: single;

Description

Fields

Public Enabled: boolean;
Public Slope: single;


GLSysHelp v.2.1: GLS.RandomHDS: Record TLandTileInfo

Record TLandTileInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TLandTileInfo = record

Description

Overview

Fields

Public | x: integer;
Public | z: integer;
Public | State: TGLHeightDataState;

Description

Fields

Public x: integer;
Public z: integer;
Public State: TGLHeightDataState;

Coordinates of the landtile. Used to generate the seed


GLSysHelp v.2.1: GLS.RandomHDS: Record TSteps

Record TSteps

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TSteps = record

Description

Overview

Fields

Public | Enabled: boolean;
Public | Count: integer;

Description

Fields

Public Enabled: boolean;
Public Count: integer;


GLSysHelp v.2.1: GLS.RandomHDS: Class TGLBaseRandomHDS

Class TGLBaseRandomHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TGLBaseRandomHDS = class(TGLHeightDataSource)

Description

This class introduces all the basic properties of random landscape. No method implemented though. It is used as a descendant for - TGLCustomRandomLandscape: one tile landscape (cyclic or not) - TGLTiledRndLandscape: "infinite" landscapes (grids of TGLCustomRandomLandscape)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLBaseRandomHDS

Overview

Fields

Private | FSteps: TSteps;
Private | FLandCover: boolean;
Protected | FSeed: integer;
Protected | FSize: integer;
Protected | FMaterialName: string;
Protected | FLighting: boolean;
Protected | FLightDirection: TGLVector;
Protected | FTerrainRenderer: TGLTerrainRenderer;
Protected | FLightColor: TGLColorVector;
Protected | FShadows: boolean;
Protected | FSea: boolean;
Protected | FSeaLevel: single;
Protected | FAmbientLight: single;
Protected | FTaskProgress: integer;
Protected | FTextureScale: integer;
Protected | FErosionByFraction: TFractionErosion;
Protected | FLightSmoothing: boolean;
Protected | FCyclic: boolean;
Protected | FSeaTransparency: single;
Protected | FPrimerLandscape: boolean;
Protected | FLandTileInfo: TLandTileInfo;
Protected | FOnDrawTexture: TOnDrawTexture;
Public | FErosionByRain: TRainErosion;
Public | FErosionBySea: TSeaErosion;
Public | FErosionByLife: TLifeErosion;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetErosionByRain: TRainErosion;
Protected | function GetLandTileInfo: TLandTileInfo;
Protected | function GetSeaLevel: single;
Protected | function GetSeaTransparency: single;
Protected | function OnDrawTextureDefault(const Sender: TGLBaseRandomHDS; x, y: integer; z: double; Normal: TGLVector): TGLColorVector;
Protected | procedure SetAmbientLight(const Value: single);
Protected | procedure SetCyclic(const Value: boolean); virtual; abstract;
Protected | procedure SetErosionByFraction(const Value: TFractionErosion);
Protected | procedure SetErosionByLife(const Value: TLifeErosion);
Protected | procedure SetErosionByRain(const Value: TRainErosion);
Protected | procedure SetErosionBySea(const Value: TSeaErosion);
Protected | procedure SetLandTileInfo(const Value: TLandTileInfo);
Protected | procedure SetLightColor(const Value: TGLColorVector);
Protected | procedure SetLightDirection(const Value: TGLVector);
Protected | procedure SetLighting(const Value: boolean);
Protected | procedure SetLightSmoothing(const Value: boolean);
Protected | procedure SetMaterialName(const Value: string);
Protected | procedure SetPrimerLandscape(const Value: boolean);
Protected | procedure SetSea(const Value: boolean);
Protected | procedure SetSeaLevel(const Value: single);
Protected | procedure SetSeaTransparency(const Value: single);
Protected | procedure SetSeed(const Value: integer);
Protected | procedure SetShadows(const Value: boolean);
Protected | procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); virtual; abstract;
Protected | procedure SetTextureScale(const Value: integer);
Private | procedure SetLandCover(const Value: boolean);
Private | procedure SetOnDrawTexture(const Value: TOnDrawTexture);
Private | procedure SetSteps(const Value: TSteps);

Properties

Published | property AmbientLight: single read FAmbientLight write SetAmbientLight;
Published | property Cyclic: boolean read FCyclic write SetCyclic;
Published | property ErosionByFraction: TFractionErosion read FErosionByFraction write SetErosionByFraction;
Published | property ErosionByLife: TLifeErosion read FErosionByLife write SetErosionByLife;
Published | property ErosionByRain: TRainErosion read FErosionByRain write SetErosionByRain;
Published | property ErosionBySea: TSeaErosion read FErosionBySea write SetErosionBySea;
Published | property LandCover: boolean read FLandCover write SetLandCover;
Public | property LightColor: TGLColorVector read FLightColor write SetLightColor;
Public | property LightDirection: TGLVector read FLightDirection write SetLightDirection;
Published | property Lighting: boolean read FLighting write SetLighting;
Published | property LightSmoothing: boolean read FLightSmoothing write SetLightSmoothing;
Published | property MaterialName: string read FMaterialName write SetMaterialName;
Public | property OnDrawTexture: TOnDrawTexture read FOnDrawTexture write SetOnDrawTexture;
Published | property PrimerLandscape: boolean read FPrimerLandscape write SetPrimerLandscape;
Published | property Sea: boolean read FSea write SetSea;
Published | property SeaLevel: single read GetSeaLevel write SetSeaLevel;
Published | property SeaTransparency: single read GetSeaTransparency write SetSeaTransparency;
Published | property Seed: integer read FSeed write SetSeed;
Published | property Shadows: boolean read FShadows write SetShadows;
Published | property Steps: TSteps read FSteps write SetSteps;
Published | property TerrainRenderer: TGLTerrainRenderer read FTerrainRenderer write SetTerrainRenderer;
Published | property TextureScale: integer read FTextureScale write SetTextureScale;

Description

Fields

Private FSteps: TSteps;
Private FLandCover: boolean;
Protected FSeed: integer;
Protected FSize: integer;
Protected FMaterialName: string;
Protected FLighting: boolean;
Protected FLightDirection: TGLVector;
Protected FTerrainRenderer: TGLTerrainRenderer;
Protected FLightColor: TGLColorVector;
Protected FShadows: boolean;
Protected FSea: boolean;
Protected FSeaLevel: single;
Protected FAmbientLight: single;
Protected FTaskProgress: integer;
Protected FTextureScale: integer;
Protected FErosionByFraction: TFractionErosion;
Protected FLightSmoothing: boolean;
Protected FCyclic: boolean;
Protected FSeaTransparency: single;
Protected FPrimerLandscape: boolean;
Protected FLandTileInfo: TLandTileInfo;
Protected FOnDrawTexture: TOnDrawTexture;
Public FErosionByRain: TRainErosion;
Public FErosionBySea: TSeaErosion;
Public FErosionByLife: TLifeErosion;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetErosionByRain: TRainErosion;
Protected function GetLandTileInfo: TLandTileInfo;
Protected function GetSeaLevel: single;
Protected function GetSeaTransparency: single;
Protected function OnDrawTextureDefault(const Sender: TGLBaseRandomHDS; x, y: integer; z: double; Normal: TGLVector): TGLColorVector;
Protected procedure SetAmbientLight(const Value: single);
Protected procedure SetCyclic(const Value: boolean); virtual; abstract;
Protected procedure SetErosionByFraction(const Value: TFractionErosion);
Protected procedure SetErosionByLife(const Value: TLifeErosion);
Protected procedure SetErosionByRain(const Value: TRainErosion);
Protected procedure SetErosionBySea(const Value: TSeaErosion);
Protected procedure SetLandTileInfo(const Value: TLandTileInfo);
Protected procedure SetLightColor(const Value: TGLColorVector);
Protected procedure SetLightDirection(const Value: TGLVector);
Protected procedure SetLighting(const Value: boolean);
Protected procedure SetLightSmoothing(const Value: boolean);
Protected procedure SetMaterialName(const Value: string);
Protected procedure SetPrimerLandscape(const Value: boolean);
Protected procedure SetSea(const Value: boolean);
Protected procedure SetSeaLevel(const Value: single);
Protected procedure SetSeaTransparency(const Value: single);
Protected procedure SetSeed(const Value: integer);
Protected procedure SetShadows(const Value: boolean);
Protected procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); virtual; abstract;
Protected procedure SetTextureScale(const Value: integer);
Private procedure SetLandCover(const Value: boolean);
Private procedure SetOnDrawTexture(const Value: TOnDrawTexture);
Private procedure SetSteps(const Value: TSteps);

Properties

Published property AmbientLight: single read FAmbientLight write SetAmbientLight;
Published property Cyclic: boolean read FCyclic write SetCyclic;

If true, the landscape can be tiled to itself seamlessly. If false, the landscape is an isolated square.

Published property ErosionByFraction: TFractionErosion read FErosionByFraction write SetErosionByFraction;

Erosion parameters. See associated record types

Published property ErosionByLife: TLifeErosion read FErosionByLife write SetErosionByLife;
Published property ErosionByRain: TRainErosion read FErosionByRain write SetErosionByRain;
Published property ErosionBySea: TSeaErosion read FErosionBySea write SetErosionBySea;
Published property LandCover: boolean read FLandCover write SetLandCover;
Public property LightColor: TGLColorVector read FLightColor write SetLightColor;

Usually white, but you can generate e.g.sunset ambiance by setting it to red

Public property LightDirection: TGLVector read FLightDirection write SetLightDirection;

Light is parallel (sun light)

Published property Lighting: boolean read FLighting write SetLighting;

Enable or disable all lighting effects

Published property LightSmoothing: boolean read FLightSmoothing write SetLightSmoothing;

True by default. You can gain a little speed by disabling it.

Published property MaterialName: string read FMaterialName write SetMaterialName;

Not used

Public property OnDrawTexture: TOnDrawTexture read FOnDrawTexture write SetOnDrawTexture;

This function must be supplied by the user. Here he/she can define which colour to use depending on coordinates, elevation and normal. This provides a great flexibility. If no function is supplied (OnDrawTexture=nil), a default texture function is used (very basic, just blue and green).

Published property PrimerLandscape: boolean read FPrimerLandscape write SetPrimerLandscape;

If true, the height-field will not be emptied and generation will take the existing heights to shape the new landscape

Published property Sea: boolean read FSea write SetSea;

Enable the sea surface truncation

Published property SeaLevel: single read GetSeaLevel write SetSeaLevel;

Sea level

Published property SeaTransparency: single read GetSeaTransparency write SetSeaTransparency;

Depth at which the sea bottom becomes invisible. See DoSea for more information

Published property Seed: integer read FSeed write SetSeed;

Seed used by the random generator. Each seed generate a different reproductible landscape.

Published property Shadows: boolean read FShadows write SetShadows;

Enable shadow casting. May take some time for large Depth.

Published property Steps: TSteps read FSteps write SetSteps;
Published property TerrainRenderer: TGLTerrainRenderer read FTerrainRenderer write SetTerrainRenderer;

TerrainRenderer used to render the HDS.

Published property TextureScale: integer read FTextureScale write SetTextureScale;

Defines how many texture pixels are drawn per height-field cell. The larger this number the better the quality of the resulting image, but it takes a more time to compute. Good results are got between 1 and 5.


GLSysHelp v.2.1: GLS.RandomHDS: Class TGLCustomRandomHDS

Class TGLCustomRandomHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TGLCustomRandomHDS = class(TGLBaseRandomHDS)

Description

Base structure for all random landscape objects. It can't be used directly since its BuildHeightField procedure is abstract. Use one of its descendants instead.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLBaseRandomHDS
  • TGLCustomRandomHDS

Overview

Fields

Private | FSlave: boolean;
Private | FMaxHeight: single;
Private | FMinHeight: single;
Private | FRangeHeight: single;
Private | FTask: string;
Private | FSingleConstrain: TSingleClamp;
Private | FIntegerConstrain: TIntegerClamp;
Private | FKeepNormals: boolean;
Public | FHeight: TMapOfSingle;
Public | FLightMap: TMapOfSingle;
Public | FNormal: TMapOfVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function BoundaryX: integer;
Public | function BoundaryZ: integer;
Public | function Interpolate(x, y: single): single;
Public | function Normal(const Position: TGLVector): TGLVector;
Public | function PointInMap(const x, y: single): boolean; overload;
Public | function PointInMap(const x, y: integer): boolean; overload;
Public | function Scale: TGLCoordinates;
Public | function StandardisedHeight(const x, y: integer): single;
Public | function XMoveBoundary: single;
Public | function ZMoveBoundary: single;
Private | function GetHeight(x, y: integer): single;
Public | procedure BuildHeightField; overload; virtual; abstract;
Public | procedure BuildLandscape;
Public | procedure BuildLightMap(const aLightDirection: TGLVector); overload;
Public | procedure BuildLightMap; overload;
Public | procedure BuildNormals;
Public | procedure BuildTexture;
Public | procedure ClearHeightField;
Public | procedure ClearLightMap;
Public | procedure ConstrainCoordinates(var x, y: integer); overload;
Public | procedure ConstrainCoordinates(var x, y: single); overload;
Public | procedure DoCyclicBoundaries;
Public | procedure DoErosionByFraction;
Public | procedure DoErosionByLife;
Public | procedure DoErosionByRain;
Public | procedure DoErosionBySea;
Public | procedure DoSea;
Public | procedure DoSteps;
Public | procedure StartPreparingData(heightData: TGLHeightData); override;
Protected | procedure BoundaryClamp(var x, y: integer); overload;
Protected | procedure BoundaryClamp(var x, y: single); overload;
Protected | procedure CyclicClamp(var x, y: integer); overload;
Protected | procedure CyclicClamp(var x, y: single); overload;
Protected | procedure GetTerrainBounds(var l, t, r, b: single);
Protected | procedure SetCyclic(const Value: boolean); override;
Protected | procedure SetSize(const aSize: integer);
Protected | procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); override;
Private | procedure SetHeight(x, y: integer; const Value: single);
Private | procedure SetKeepNormals(const Value: boolean);

Properties

Published | property Cyclic: boolean read FCyclic write SetCyclic;
Public | property Heights[x,y:integer]: single read GetHeight write SetHeight;
Public | property KeepNormals: boolean read FKeepNormals write SetKeepNormals;
Public | property LandTileInfo: TLandTileInfo read GetLandTileInfo write SetLandTileInfo;
Public | property MaxHeight: single read FMaxHeight;
Public | property MinHeight: single read FMinHeight;
Public | property RangeHeight: single read FRangeHeight;
Public | property Size: integer read FSize;
Public | property Task: string read FTask;
Public | property TaskProgress: integer read FTaskProgress;

Description

Fields

Private FSlave: boolean;
Private FMaxHeight: single;
Private FMinHeight: single;
Private FRangeHeight: single;
Private FTask: string;
Private FSingleConstrain: TSingleClamp;
Private FIntegerConstrain: TIntegerClamp;
Private FKeepNormals: boolean;
Public FHeight: TMapOfSingle;
Public FLightMap: TMapOfSingle;
Public FNormal: TMapOfVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function BoundaryX: integer;

Upper bounds of the tile

Public function BoundaryZ: integer;
Public function Interpolate(x, y: single): single;

A specific implementation of THeightDataSource.InterpolatedHeight

Public function Normal(const Position: TGLVector): TGLVector;

Vector normal to the terrain at the position

Public function PointInMap(const x, y: single): boolean; overload;

Range checking

Public function PointInMap(const x, y: integer): boolean; overload;
Public function Scale: TGLCoordinates;

Scale of the Terrain Renderer. They are set so as giving a identical vertical/horitontal ratio with any size. Therefore, Scale.X=Scale.Y=1 and only Scale.Z varies. If you want to increase the landscape scale, the best way would be to place the Terrain Renderer in a DummyCube and rescale it.

Public function StandardisedHeight(const x, y: integer): single;

A height rescaled between 0 and 1000 for

Public function XMoveBoundary: single;

Use these boundaries with non-cyclic landscapes to constrain camera movements.

Public function ZMoveBoundary: single;
Private function GetHeight(x, y: integer): single;
Public procedure BuildHeightField; overload; virtual; abstract;

Generate the heightfield array, based on the topographical properties

Public procedure BuildLandscape;

Provide an automated way to build a landscape. However, a greater control can be achieved by calling the various procedures manually (they are public methods) as one gets a sligthly different result depending on the sequence of erosion and sea steps.

Public procedure BuildLightMap(const aLightDirection: TGLVector); overload;
Public procedure BuildLightMap; overload;

- Compute the light effects - Compute the casted shadows - Perform a basic smoothing if TextureScale>1

Public procedure BuildNormals;

Normals are needed for lighting and slope-based textures

Public procedure BuildTexture;

For every pixel of the texture, computes slope and interpolated height and sends these information to a user-supplied function (OnDrawTexture), whose result is a TGLColorVector. If no OnDrawTexture is supplied, a basic default texture will be used.

Public procedure ClearHeightField;

Fill the heightfield with "Empty" values (-999)

Public procedure ClearLightMap;

Fill the light map with 1

Public procedure ConstrainCoordinates(var x, y: integer); overload;
Public procedure ConstrainCoordinates(var x, y: single); overload;

Constrain x,y to be in the boundaries of the height field array. This is done in two way depending on the kind of landscape: Cyclic landscapes: mod Non-cyclic landscape: clamp

Public procedure DoCyclicBoundaries;

Enforces an identical height on the opposing edges of the landscape

Public procedure DoErosionByFraction;

Not yet implemented

Public procedure DoErosionByLife;

Just a smoothing. Should be done last as it improves the look of other erosion effects. Too much biological erosion can ruin erase their results though. Some tweaking may be needed

Public procedure DoErosionByRain;

Create sharp valleys and canyons. If DepositRate>0, it will also fill the low pools, producing flat "lakes" and "ponds"

Public procedure DoErosionBySea;

Create a beach and a cliff around the islands

Public procedure DoSea;

Cut all elevations lower than sea level. If Transparency>0, the sea surface will not be flat, but a slight elevation change (unperceptible in 3D view) allow to fake transparency in the OnDrawTexture.

Public procedure DoSteps;

Discretise the heigthfield in a chosen number of steps

Public procedure StartPreparingData(heightData: TGLHeightData); override;

tTerrainRender event handler

Protected procedure BoundaryClamp(var x, y: integer); overload;
Protected procedure BoundaryClamp(var x, y: single); overload;
Protected procedure CyclicClamp(var x, y: integer); overload;
Protected procedure CyclicClamp(var x, y: single); overload;
Protected procedure GetTerrainBounds(var l, t, r, b: single);

TGLTerrainRenderer event handler

Protected procedure SetCyclic(const Value: boolean); override;
Protected procedure SetSize(const aSize: integer);

This procedure MUST be called by the descendent of TGLBaseRandomHDS

Protected procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); override;
Private procedure SetHeight(x, y: integer; const Value: single);
Private procedure SetKeepNormals(const Value: boolean);

Properties

Published property Cyclic: boolean read FCyclic write SetCyclic;
Public property Heights[x,y:integer]: single read GetHeight write SetHeight;

x and y are range-checked and constrained into the array. This slows down computation. If you don't need to range-check (this is mainly useful in cyclic landscapes when you need a seamless joint), call fHeigth instead (this is a protected field, therefore only accessible from TGLFractalHDS descendents.

Public property KeepNormals: boolean read FKeepNormals write SetKeepNormals;

Keep the array of normals for future use

Public property LandTileInfo: TLandTileInfo read GetLandTileInfo write SetLandTileInfo;

Property used by TGLTiledRndLandscape to know where the landtile is located and other parameters. See tLandTileInfo

Public property MaxHeight: single read FMaxHeight;

Store the minimum and maximum elevations

Public property MinHeight: single read FMinHeight;
Public property RangeHeight: single read FRangeHeight;

Max height - min height

Public property Size: integer read FSize;

Size of the square height array. With the middle-point algorithm, it is always Size = 2ˆN+1. In a cyclic landscape, the last row and columns are identical to the first.

Public property Task: string read FTask;

When long computations are running, this property contains the operation beeing processed.

Public property TaskProgress: integer read FTaskProgress;

A value between 0 and 100 indicating the percentage of completion


GLSysHelp v.2.1: GLS.RandomHDS: Class TGLFractalHDS

Class TGLFractalHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TGLFractalHDS = class(TGLCustomRandomHDS)

Description

Random landscape based on the middle-point displacement algorithm

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLBaseRandomHDS
  • TGLCustomRandomHDS
  • TGLFractalHDS

Overview

Fields

Private | FAmplitude: integer;
Private | FDepth: integer;
Private | FRoughness: single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure BuildHeightField; overload; override;
Public | procedure BuildHeightField(const aDepth, aSeed, aAmplitude: integer); overload;
Private | procedure SetAmplitude(const Value: integer);
Private | procedure SetDepth(const Value: integer);
Private | procedure SetRoughness(const Value: single);

Properties

Published | property Amplitude: integer read fAmplitude write SetAmplitude;
Published | property Depth: integer read fDepth write SetDepth;
Published | property Roughness: single read fRoughness write SetRoughness;

Description

Fields

Private FAmplitude: integer;
Private FDepth: integer;
Private FRoughness: single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure BuildHeightField; overload; override;
Public procedure BuildHeightField(const aDepth, aSeed, aAmplitude: integer); overload;
Private procedure SetAmplitude(const Value: integer);
Private procedure SetDepth(const Value: integer);
Private procedure SetRoughness(const Value: single);

Properties

Published property Amplitude: integer read fAmplitude write SetAmplitude;

Proportional to the difference between highest and lowest altitude.

Published property Depth: integer read fDepth write SetDepth;

Number of levels in the fractal process. Depth defines the size of the landscape: Size = 2ˆDepth+1 . Good results are got with Depth>=6. Above 10 the landscape takes a lot of time to be generated.

Published property Roughness: single read fRoughness write SetRoughness;

The lower this parameter, the smoother the landscape. Takes value between 0 and 1


GLSysHelp v.2.1: GLS.RandomHDS: Record TRelativeCoordinate

Record TRelativeCoordinate

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TRelativeCoordinate = record

Description

Overview

Fields

Public | DX: integer
Public | DZ: integer

Description

Fields

Public DX: integer
Public DZ: integer


GLSysHelp v.2.1: GLS.RandomHDS: Class TGLTiledRndLandscape

Class TGLTiledRndLandscape

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TGLTiledRndLandscape = class(TGLBaseRandomHDS)

Description

No description available, ancestor TGLBaseRandomHDS description follows

This class introduces all the basic properties of random landscape. No method implemented though. It is used as a descendant for - TGLCustomRandomLandscape: one tile landscape (cyclic or not) - TGLTiledRndLandscape: "infinite" landscapes (grids of TGLCustomRandomLandscape)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLBaseRandomHDS
  • TGLTiledRndLandscape

Overview

Fields

Private | FLandTileComputing: boolean;
Private | FExtentX: integer;
Private | FExtentZ: integer;
Private | FExtentXhalf: integer;
Private | FExtentZhalf: integer;
Private | fLandTileSize: integer;
Private | FSingleConstrain: TSingleClamp;
Private | FIntegerConstrain: TIntegerClamp;
Private | FTerrainRenderer: TGLTerrainRenderer;
Private | FCamera: TGLCamera;
Private | fOnCreateLandTile: TOnCreateLandTile;
Private | fOnCreateDefaultTile: TStartPreparingDataEvent;
Private | FIsDefaultTile: TIsDefaultTile;
Private | FSeed: integer;
Private | fBaseSeed: integer;
Private | fComputedLandTile: TGLLandTile;
Private | FLandTileCapacity: integer;
Private | FGenerationRadius: integer;
Private | FLandTileDensity: single;
Protected | FGenRadius: array of TRelativeCoordinate;
Protected | FOldCamX: integer;
Protected | FOldCamZ: integer;
Protected | FMapUpdating: boolean;
Protected | FLandTiles: tComponentList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function LandtileCount: integer;
Public | function TileDistance(const x1, z1, x2, z2: integer): single;
Public | function TileDistanceSquared(const x1, z1, x2, z2: integer): integer;
Public | function XMoveBoundary: single;
Public | function ZMoveBoundary: single;
Protected | function fSortLandscapes(Item1, Item2: Pointer): integer;
Protected | function LandTileSeed(x, z: integer): integer;
Private | function fDefaultIsDefaultTile(x, z: integer): boolean;
Private | function GetTask: string;
Private | function GetTaskProgress: integer;
Public | procedure ApplyLighting(var aLandTile: TGLLandTile);
Public | procedure ApplyTexture(var aLandTile: TGLLandTile);
Public | procedure ApplyTopography(var aLandTile: TGLLandTile);
Public | procedure CameraPosition(var TileX, TileZ: integer);
Public | procedure CleanUp;
Public | procedure ConstrainCoordinates(var x, z: integer); overload;
Public | procedure ConstrainCoordinates(var x, z: single); overload;
Public | procedure FindLandTile(const x, z: single; var TileX, TileZ: integer);
Public | procedure Initialize(const aX, aZ: single); virtual;
Public | procedure StartPreparingData(heightData: TGLHeightData); override;
Public | procedure Update;
Protected | procedure BoundaryClamp(var x, z: integer); overload;
Protected | procedure BoundaryClamp(var x, z: single); overload;
Protected | procedure ComputeLandTile(const aX, aZ: integer; var NewLandTile: TGLLandTile); virtual;
Protected | procedure CyclicClamp(var x, z: integer); overload;
Protected | procedure CyclicClamp(var x, z: single); overload;
Protected | procedure GetTerrainBounds(var l, t, r, b: single);
Protected | procedure SetCyclic(const Value: boolean); override;
Protected | procedure SetSize(const aSize: integer);
Protected | procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); override;
Private | procedure fDefaultOnCreateDefaultTile(heightData: TGLHeightData);
Private | procedure SetCamera(const Value: TGLCamera);
Private | procedure SetExtentX(const Value: integer);
Private | procedure SetExtentZ(const Value: integer);
Private | procedure SetGenerationRadius(const Value: integer);
Private | procedure SetIsDefaultTile(const Value: TIsDefaultTile);
Private | procedure SetLandTileCapacity(const Value: integer);
Private | procedure SetLandTileDensity(const Value: single);
Private | procedure SetOnCreateDefaultTile(const Value: TStartPreparingDataEvent);
Private | procedure SetOnCreateLandTile(const Value: TOnCreateLandTile);
Private | procedure SetSeed(const Value: integer);

Properties

Published | property Camera: TGLCamera read FCamera write SetCamera;
Published | property Cyclic: boolean read FCyclic write SetCyclic;
Published | property ExtentX: integer read FExtentX write SetExtentX;
Published | property ExtentZ: integer read FExtentZ write SetExtentZ;
Published | property GenerationRadius: integer read FGenerationRadius write SetGenerationRadius;
Public | property IsDefaultTile: TIsDefaultTile read FIsDefaultTile write SetIsDefaultTile;
Published | property LandTileCapacity: integer read FLandTileCapacity write SetLandTileCapacity;
Published | property LandTileDensity: single read FLandTileDensity write SetLandTileDensity;
Public | property LandTileSize: integer read fLandTileSize;
Public | property MapUpdating: boolean read fMapUpdating;
Protected | property OnCreateDefaultTile: TStartPreparingDataEvent read fOnCreateDefaultTile write SetOnCreateDefaultTile;
Public | property OnCreateLandTile: TOnCreateLandTile read fOnCreateLandTile write SetOnCreateLandTile;
Published | property Seed: integer read FSeed write SetSeed;
Public | property Task: string read GetTask;
Public | property TaskProgress: integer read GetTaskProgress;
Published | property TerrainRenderer: TGLTerrainRenderer read FTerrainRenderer write SetTerrainRenderer;

Description

Fields

Private FLandTileComputing: boolean;
Private FExtentX: integer;

Is a landtile being computed?

Private FExtentZ: integer;
Private FExtentXhalf: integer;
Private FExtentZhalf: integer;
Private fLandTileSize: integer;
Private FSingleConstrain: TSingleClamp;
Private FIntegerConstrain: TIntegerClamp;
Private FTerrainRenderer: TGLTerrainRenderer;
Private FCamera: TGLCamera;
Private fOnCreateLandTile: TOnCreateLandTile;
Private fOnCreateDefaultTile: TStartPreparingDataEvent;
Private FIsDefaultTile: TIsDefaultTile;
Private FSeed: integer;
Private fBaseSeed: integer;
Private fComputedLandTile: TGLLandTile;
Private FLandTileCapacity: integer;
Private FGenerationRadius: integer;
Private FLandTileDensity: single;
Protected FGenRadius: array of TRelativeCoordinate;
Protected FOldCamX: integer;
Protected FOldCamZ: integer;
Protected FMapUpdating: boolean;
Protected FLandTiles: tComponentList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function LandtileCount: integer;

Number of landtile in memory

Public function TileDistance(const x1, z1, x2, z2: integer): single;

Distance between two landtiles

Public function TileDistanceSquared(const x1, z1, x2, z2: integer): integer;

Square of distance between two landtiles. Use this function to compare two distances.

Public function XMoveBoundary: single;

Use these boundaries with non-cyclic landscapes to constrain camera movements.

Public function ZMoveBoundary: single;
Protected function fSortLandscapes(Item1, Item2: Pointer): integer;
Protected function LandTileSeed(x, z: integer): integer;
Private function fDefaultIsDefaultTile(x, z: integer): boolean;
Private function GetTask: string;
Private function GetTaskProgress: integer;
Public procedure ApplyLighting(var aLandTile: TGLLandTile);
Public procedure ApplyTexture(var aLandTile: TGLLandTile);
Public procedure ApplyTopography(var aLandTile: TGLLandTile);
Public procedure CameraPosition(var TileX, TileZ: integer);
Public procedure CleanUp;
Public procedure ConstrainCoordinates(var x, z: integer); overload;
Public procedure ConstrainCoordinates(var x, z: single); overload;

Constrain x,y to be in the boundaries of the height field array. This is done in two way depending on the kind of landscape: Cyclic landscapes: mod Non-cyclic landscape: clamp

Public procedure FindLandTile(const x, z: single; var TileX, TileZ: integer);

Compute the landtile containing (x,z)

Public procedure Initialize(const aX, aZ: single); virtual;

Build the first landtile and position the camera. Must be called first.

Public procedure StartPreparingData(heightData: TGLHeightData); override;
Public procedure Update;

This procedure check which landtiles must be generated or destroyed as a function of camera position. This is let to the descendent classes.

Protected procedure BoundaryClamp(var x, z: integer); overload;
Protected procedure BoundaryClamp(var x, z: single); overload;
Protected procedure ComputeLandTile(const aX, aZ: integer; var NewLandTile: TGLLandTile); virtual;
Protected procedure CyclicClamp(var x, z: integer); overload;
Protected procedure CyclicClamp(var x, z: single); overload;
Protected procedure GetTerrainBounds(var l, t, r, b: single);

tTerrainRenderer event handler

Protected procedure SetCyclic(const Value: boolean); override;
Protected procedure SetSize(const aSize: integer);

This procedure MUST be called by the descendent of TGLRandomArchipelago

Protected procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); override;

tTerrainRender event handler

Private procedure fDefaultOnCreateDefaultTile(heightData: TGLHeightData);
Private procedure SetCamera(const Value: TGLCamera);
Private procedure SetExtentX(const Value: integer);
Private procedure SetExtentZ(const Value: integer);
Private procedure SetGenerationRadius(const Value: integer);
Private procedure SetIsDefaultTile(const Value: TIsDefaultTile);
Private procedure SetLandTileCapacity(const Value: integer);
Private procedure SetLandTileDensity(const Value: single);
Private procedure SetOnCreateDefaultTile(const Value: TStartPreparingDataEvent);
Private procedure SetOnCreateLandTile(const Value: TOnCreateLandTile);
Private procedure SetSeed(const Value: integer);

Properties

Published property Camera: TGLCamera read FCamera write SetCamera;
Published property Cyclic: boolean read FCyclic write SetCyclic;
Published property ExtentX: integer read FExtentX write SetExtentX;

Dimensions of the "infinite" landscape. Can be set very high. These parameters have neither memory nor speed consequence. They are mainly used to compute a unique seed for each landtile

Published property ExtentZ: integer read FExtentZ write SetExtentZ;
Published property GenerationRadius: integer read FGenerationRadius write SetGenerationRadius;

Distance at which a new landtile begin to be built. Increasing this value allows for a higher camera speed but it will also increase the memory requirements.

Public property IsDefaultTile: TIsDefaultTile read FIsDefaultTile write SetIsDefaultTile;

User-supplied function determining if this landtile will be built by the OnCreateDefaultTile or if a landscape will be generated.

Published property LandTileCapacity: integer read FLandTileCapacity write SetLandTileCapacity;

Number of landtile to keep in memory. Should not be modified.

Published property LandTileDensity: single read FLandTileDensity write SetLandTileDensity;

Probability that a given landtile is non-default

Public property LandTileSize: integer read fLandTileSize;

Size of a landtile. Must be a power of two

Public property MapUpdating: boolean read fMapUpdating;
Protected property OnCreateDefaultTile: TStartPreparingDataEvent read fOnCreateDefaultTile write SetOnCreateDefaultTile;
Public property OnCreateLandTile: TOnCreateLandTile read fOnCreateLandTile write SetOnCreateLandTile;

User-specified event handler containing the particular code for tile generation

Published property Seed: integer read FSeed write SetSeed;

Base seed for the entire archipelago

Public property Task: string read GetTask;

When long computations are running, this property contains the operation beeing processed.

Public property TaskProgress: integer read GetTaskProgress;

A value between 0 and 100 indicating the percentage of completion

Published property TerrainRenderer: TGLTerrainRenderer read FTerrainRenderer write SetTerrainRenderer;

Terrain renderer linked to the HDS. Must be set just after creation.


GLSysHelp v.2.1: GLS.RandomHDS: Class TGLFractalArchipelago

Class TGLFractalArchipelago

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RandomHDS

Declaration

type TGLFractalArchipelago = class(TGLTiledRndLandscape)

Description

No description available, ancestor TGLTiledRndLandscape description follows
No description available, ancestor TGLBaseRandomHDS description follows

This class introduces all the basic properties of random landscape. No method implemented though. It is used as a descendant for - TGLCustomRandomLandscape: one tile landscape (cyclic or not) - TGLTiledRndLandscape: "infinite" landscapes (grids of TGLCustomRandomLandscape)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLBaseRandomHDS
  • TGLTiledRndLandscape
  • TGLFractalArchipelago

Overview

Fields

Private | FDepth: integer;
Private | FRoughnessMax: single;
Private | FRoughnessMin: single;
Private | FAmplitudeMin: integer;
Private | FAmplitudeMax: integer;
Private | FSeaDynamic: boolean;
Private | FSeaMaterialName: string;
Private | FWaveAmplitude: single;
Private | FWaveSpeed: single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Private | function GetIslandDensity: single;
Public | procedure ComputeLandTile(const aX, aZ: integer; var NewLandTile: TGLLandTile); override;
Protected | procedure fOnCreateDefaultTile(heightData: TGLHeightData);
Protected | procedure fOnCreateLandTile(aX, aZ, aSeed: integer; var aLandscape: TGLLandTile);
Protected | procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); override;
Private | procedure FPostRenderSeaDynamic(var rci: TGLRenderContextInfo; var HeightDatas: TList);
Private | procedure FPostRenderSeaStatic(var rci: TGLRenderContextInfo; var HeightDatas: TList);
Private | procedure SetAmplitudeMax(const Value: integer);
Private | procedure SetAmplitudeMin(const Value: integer);
Private | procedure SetDepth(const Value: integer);
Private | procedure SetIslandDensity(const Value: single);
Private | procedure SetRoughnessMax(const Value: single);
Private | procedure SetRoughnessMin(const Value: single);
Private | procedure SetSeaDynamic(const Value: boolean);
Private | procedure SetSeaMaterialName(const Value: string);
Private | procedure SetWaveAmplitude(const Value: single);
Private | procedure SetWaveSpeed(const Value: single);

Properties

Published | property AmplitudeMax: integer read FAmplitudeMax write SetAmplitudeMax;
Published | property AmplitudeMin: integer read FAmplitudeMin write SetAmplitudeMin;
Published | property Depth: integer read fDepth write SetDepth;
Published | property IslandDensity: single read GetIslandDensity write SetIslandDensity;
Published | property RoughnessMax: single read FRoughnessMax write SetRoughnessMax;
Published | property RoughnessMin: single read FRoughnessMin write SetRoughnessMin;
Published | property SeaDynamic: boolean read FSeaDynamic write SetSeaDynamic;
Published | property SeaMaterialName: string read FSeaMaterialName write SetSeaMaterialName;
Published | property WaveAmplitude: single read FWaveAmplitude write SetWaveAmplitude;
Published | property WaveSpeed: single read FWaveSpeed write SetWaveSpeed;

Description

Fields

Private FDepth: integer;
Private FRoughnessMax: single;
Private FRoughnessMin: single;
Private FAmplitudeMin: integer;
Private FAmplitudeMax: integer;
Private FSeaDynamic: boolean;
Private FSeaMaterialName: string;
Private FWaveAmplitude: single;
Private FWaveSpeed: single;

Methods

Public constructor Create(AOwner: TComponent); override;
Private function GetIslandDensity: single;
Public procedure ComputeLandTile(const aX, aZ: integer; var NewLandTile: TGLLandTile); override;
Protected procedure fOnCreateDefaultTile(heightData: TGLHeightData);
Protected procedure fOnCreateLandTile(aX, aZ, aSeed: integer; var aLandscape: TGLLandTile);
Protected procedure SetTerrainRenderer(const Value: TGLTerrainRenderer); override;
Private procedure FPostRenderSeaDynamic(var rci: TGLRenderContextInfo; var HeightDatas: TList);

Sea with waves. Borrowed from GLS Archipelago advanced demo

Private procedure FPostRenderSeaStatic(var rci: TGLRenderContextInfo; var HeightDatas: TList);

PostRender event handler drawing a static water plane between islands Code borrowed from Eric's Archipelago GLScene advanced demo

Private procedure SetAmplitudeMax(const Value: integer);
Private procedure SetAmplitudeMin(const Value: integer);
Private procedure SetDepth(const Value: integer);
Private procedure SetIslandDensity(const Value: single);
Private procedure SetRoughnessMax(const Value: single);
Private procedure SetRoughnessMin(const Value: single);
Private procedure SetSeaDynamic(const Value: boolean);
Private procedure SetSeaMaterialName(const Value: string);
Private procedure SetWaveAmplitude(const Value: single);
Private procedure SetWaveSpeed(const Value: single);

Properties

Published property AmplitudeMax: integer read FAmplitudeMax write SetAmplitudeMax;

Ranges for the amplitude parameter in the fractal algorithm

Published property AmplitudeMin: integer read FAmplitudeMin write SetAmplitudeMin;
Published property Depth: integer read fDepth write SetDepth;

Depth of the fractal algorithm

Published property IslandDensity: single read GetIslandDensity write SetIslandDensity;

A wrapper for LandtileDensity. This is the probabilty for a landtile to contain an island.

Published property RoughnessMax: single read FRoughnessMax write SetRoughnessMax;

Ranges for the roughness parameter in the fractal algorithm

Published property RoughnessMin: single read FRoughnessMin write SetRoughnessMin;
Published property SeaDynamic: boolean read FSeaDynamic write SetSeaDynamic;

If true, the sea will show dynamic waves. Slow.

Published property SeaMaterialName: string read FSeaMaterialName write SetSeaMaterialName;

Reference to a material in the TerrainRenderer's material library. This material will be used to drape the water plane.

Published property WaveAmplitude: single read FWaveAmplitude write SetWaveAmplitude;

Size of the waves

Published property WaveSpeed: single read FWaveSpeed write SetWaveSpeed;


GLSysHelp v.2.1: GLS.RenderContextInfo

Unit GLS.RenderContextInfo

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.State
  • GLS.PipelineTransformation
  • GLS.Color

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLSize |
Record TRenderContextClippingInfo |
Record TGLRenderContextInfo |

Types

PRenderContextInfo = ˆTGLRenderContextInfo;
TDrawState = (...);
TGLObjectsSorting = (...);
TGLVisibilityCulling = (...);

Description

Types

PRenderContextInfo = ˆTGLRenderContextInfo;
TDrawState = (...);
Values
  • dsRendering
  • dsPicking
  • dsPrinting
TGLObjectsSorting = (...);

Determines if objects are sorted, and how. Sorting is done level by level (and not for all entities), values are : osInherited : use inherited sorting mode, defaults to osRenderFarthestFirst osNone : do not sort objects. osRenderFarthestFirst : render objects whose Position is the farthest from the camera first. osRenderBlendedLast : opaque objects are not sorted and rendered first, blended ones are rendered afterwards and depth sorted. osRenderNearestFirst : render objects whose Position is the nearest to the camera first.

Values
  • osInherited
  • osNone
  • osRenderFarthestFirst
  • osRenderBlendedLast
  • osRenderNearestFirst
TGLVisibilityCulling = (...);

Determines the visibility culling mode. Culling is done level by level, allowed values are: vcInherited : use inherited culling value, if selected for the root level, defaults to vcNone vcNone : no visibility culling is performed vcObjectBased : culling is done on a per-object basis, each object may or may not be culled base on its own AxisAlignedDimensions, culling has no impact on the visibility of its children vcHierarchical : culling is performed hierarchically, using hierarchical bounding boxes, if a parent is culled, all of its children, whatever their culling options are invisible. Depending on the structure of your scene the most efficient culling method will be either vcObjectBased or vcHierarchical. Also note that if you use many objects with "static" geometry and have a T&amp;L graphics board, it may be faster not to cull at all (ie. leave this to the hardware).

Values
  • vcInherited
  • vcNone
  • vcObjectBased
  • vcHierarchical


GLSysHelp v.2.1: GLS.RenderContextInfo: Record TGLSize

Record TGLSize

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RenderContextInfo

Declaration

type TGLSize = record

Description

Overview

Fields

Public | cx: Longint;
Public | cy: Longint;

Description

Fields

Public cx: Longint;
Public cy: Longint;


GLSysHelp v.2.1: GLS.RenderContextInfo: Record TRenderContextClippingInfo

Record TRenderContextClippingInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RenderContextInfo

Declaration

type TRenderContextClippingInfo = record

Description

Overview

Fields

Public | Origin: TGLVector;
Public | ClippingDirection: TGLVector;
Public | ViewPortRadius: Single;
Public | NearClippingDistance: Single;
Public | FarClippingDistance: Single;
Public | Frustum: TFrustum;

Description

Fields

Public Origin: TGLVector;
Public ClippingDirection: TGLVector;
Public ViewPortRadius: Single;
Public NearClippingDistance: Single;

viewport bounding radius per distance unit

Public FarClippingDistance: Single;
Public Frustum: TFrustum;


GLSysHelp v.2.1: GLS.RenderContextInfo: Record TGLRenderContextInfo

Record TGLRenderContextInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.RenderContextInfo

Declaration

type TGLRenderContextInfo = record

Description

Stores contextual info useful during rendering methods.

Overview

Fields

Public | Scene: TObject;
Public | Buffer: TObject;
Public | CameraPosition: TGLVector;
Public | CameraDirection: TGLVector;
Public | CameraUp: TGLVector;
Public | ViewPortSize: TGLSize;
Public | RenderDPI: Integer;
Public | MaterialLibrary: TObject;
Public | LightMapLibrary: TObject;
Public | FogDisabledCounter: Integer;
Public | DrawState: TDrawState;
Public | ObjectsSorting: TGLObjectsSorting;
Public | VisibilityCulling: TGLVisibilityCulling;
Public | GLStates: TGLStateCache;
Public | PipelineTransformation: TGLTransformation;
Public | Rcci: TRenderContextClippingInfo;
Public | SceneAmbientColor: TGLColorVector;
Public | BufferFaceCull: Boolean;
Public | BufferLighting: Boolean;
Public | BufferFog: Boolean;
Public | BufferDepthTest: Boolean;
Public | ProxySubObject: Boolean;
Public | IgnoreMaterials: Boolean;
Public | IgnoreBlendingRequests: Boolean;
Public | IgnoreDepthRequests: Boolean;
Public | Amalgamating: Boolean;
Public | Lights: TPersistentObjectList;
Public | AfterRenderEffects: TPersistentObjectList;
Public | CurrentMaterialLevel: TGLMaterialLevel;
Public | PrimitiveMask: TGLMeshPrimitives;
Public | OrderCounter: Integer;

Description

Fields

Public Scene: TObject;
Public Buffer: TObject;

usually TGLScene

Public CameraPosition: TGLVector;

usually TGLSceneBuffer

Public CameraDirection: TGLVector;
Public CameraUp: TGLVector;
Public ViewPortSize: TGLSize;
Public RenderDPI: Integer;
Public MaterialLibrary: TObject;
Public LightMapLibrary: TObject;

usually TGLMaterialLibrary;

Public FogDisabledCounter: Integer;

usually TGLMaterialLibrary;

Public DrawState: TDrawState;
Public ObjectsSorting: TGLObjectsSorting;
Public VisibilityCulling: TGLVisibilityCulling;
Public GLStates: TGLStateCache;
Public PipelineTransformation: TGLTransformation;
Public Rcci: TRenderContextClippingInfo;
Public SceneAmbientColor: TGLColorVector;
Public BufferFaceCull: Boolean;
Public BufferLighting: Boolean;
Public BufferFog: Boolean;
Public BufferDepthTest: Boolean;
Public ProxySubObject: Boolean;
Public IgnoreMaterials: Boolean;
Public IgnoreBlendingRequests: Boolean;
Public IgnoreDepthRequests: Boolean;
Public Amalgamating: Boolean;
Public Lights: TPersistentObjectList;
Public AfterRenderEffects: TPersistentObjectList;
Public CurrentMaterialLevel: TGLMaterialLevel;
Public PrimitiveMask: TGLMeshPrimitives;
Public OrderCounter: Integer;


GLSysHelp v.2.1: GLS.RGBE

Unit GLS.RGBE

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.VectorTypes
  • GLS.VectorGeometry

Overview

Functions and Procedures

procedure Float2rgbe(var RGBE: TVector4b; const Red, Green, Blue: Single);
procedure Rgbe2float(var Red, Green, Blue: Single; const RGBE: TVector4b);
procedure LoadRLEpixels(Stream: TStream; Dst: PSingle; Scanline_width, Num_scanlines: Integer);
procedure LoadRGBEpixels(Stream: TStream; Dst: PSingle; Numpixels: Integer);

Description

Functions and Procedures

procedure Float2rgbe(var RGBE: TVector4b; const Red, Green, Blue: Single);
procedure Rgbe2float(var Red, Green, Blue: Single; const RGBE: TVector4b);
procedure LoadRLEpixels(Stream: TStream; Dst: PSingle; Scanline_width, Num_scanlines: Integer);
procedure LoadRGBEpixels(Stream: TStream; Dst: PSingle; Numpixels: Integer);


GLSysHelp v.2.1: GLS.ROAMPatch

Unit GLS.ROAMPatch

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.XOpenGL
  • GLS.VectorGeometry
  • GLS.HeightData
  • GLS.VectorLists
  • GLS.Context
  • GLS.VectorTypes
  • GLS.Isolines
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLROAMException |
Packed Record TROAMTriangleNode |
Packed Record TROAMRenderPoint |
Class TGLROAMPatch |

Functions and Procedures

procedure SetROAMTrianglesCapacity(nb: Integer);
function GetROAMTrianglesCapacity: Integer;
procedure DrawContours(Vertices: TAffineVectorList; VertexIndices: TIntegerList; ContourInterval: Integer; ContourWidth: Integer; DecVal: Integer);

Types

PROAMTriangleNode = ˆTROAMTriangleNode;

Description

Functions and Procedures

procedure SetROAMTrianglesCapacity(nb: Integer);

Specifies the maximum number of ROAM triangles that may be allocated.

function GetROAMTrianglesCapacity: Integer;
procedure DrawContours(Vertices: TAffineVectorList; VertexIndices: TIntegerList; ContourInterval: Integer; ContourWidth: Integer; DecVal: Integer);

Draw contours on rendering terrain patches

Types

PROAMTriangleNode = ˆTROAMTriangleNode;


GLSysHelp v.2.1: GLS.ROAMPatch: Class EGLROAMException

Class EGLROAMException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ROAMPatch

Declaration

type EGLROAMException = class(Exception)

Description

Exception use by splitter for SafeTesselation

Hierarchy

  • TObject
  • Exception
  • EGLROAMException


GLSysHelp v.2.1: GLS.ROAMPatch: Packed Record TROAMTriangleNode

Packed Record TROAMTriangleNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ROAMPatch

Declaration

type TROAMTriangleNode = packed record

Description

Overview

Fields

Public | Base: PROAMTriangleNode;
Public | Left: PROAMTriangleNode;
Public | Right: PROAMTriangleNode;
Public | LeftChild: PROAMTriangleNode;
Public | RightChild: PROAMTriangleNode;

Description

Fields

Public Base: PROAMTriangleNode;
Public Left: PROAMTriangleNode;
Public Right: PROAMTriangleNode;
Public LeftChild: PROAMTriangleNode;
Public RightChild: PROAMTriangleNode;


GLSysHelp v.2.1: GLS.ROAMPatch: Packed Record TROAMRenderPoint

Packed Record TROAMRenderPoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ROAMPatch

Declaration

type TROAMRenderPoint = packed record

Description

Overview

Fields

Public | X: Integer;
Public | Y: Integer;
Public | Idx: Integer;

Description

Fields

Public X: Integer;
Public Y: Integer;
Public Idx: Integer;


GLSysHelp v.2.1: GLS.ROAMPatch: Class TGLROAMPatch

Class TGLROAMPatch

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ROAMPatch

Declaration

type TGLROAMPatch = class(TObject)

Description

Hierarchy

  • TObject
  • TGLROAMPatch

Overview

Fields

Private | FID: Integer;
Private | FHeightData: TGLHeightData;
Private | FHeightRaster: PSmallIntRaster;
Private | FTLNode: PROAMTriangleNode;
Private | FBRNode: PROAMTriangleNode;
Private | FTLVariance: array of cardinal;
Private | FBRVariance: array of cardinal;
Private | FPatchSize: Integer;
Private | FTriangleCount: Integer;
Private | FListHandle: TGLListHandle;
Private | FTag: Integer;
Private | FObserverPosition: TAffineVector;
Private | FNorth: TGLROAMPatch;
Private | FSouth: TGLROAMPatch;
Private | FWest: TGLROAMPatch;
Private | FEast: TGLROAMPatch;
Private | FHighRes: Boolean;
Private | FMaxDepth: Integer;
Private | FVertexScale: TAffineVector;
Private | FVertexOffset: TAffineVector;
Private | FTextureScale: TAffineVector;
Private | FTextureOffset: TAffineVector;
Private | FMaxTLVarianceDepth: Integer;
Private | FMaxBRVarianceDepth: Integer;
Private | FOcclusionQuery: TGLOcclusionQueryHandle;
Private | FOcclusionSkip: Integer;
Private | FOcclusionCounter: Integer;
Private | FLastOcclusionTestPassed: Boolean;
Private | FContourInterval: Integer;
Private | FContourWidth: Integer;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function SafeTesselate: Boolean;
Public | function Tesselate: Boolean;
Public | procedure ComputeVariance(Variance: Integer);
Public | procedure ConnectToTheNorth(NorthPatch: TGLROAMPatch);
Public | procedure ConnectToTheWest(WestPatch: TGLROAMPatch);
Public | class procedure FlushAccum(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList);
Public | procedure RenderAccum(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList; AutoFlushVertexCount: Integer);
Public | procedure RenderHighRes(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList; ForceROAM: Boolean);
Public | procedure ResetTessellation;
Protected | procedure RenderAsStrips(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList);
Protected | procedure RenderROAM(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList);
Protected | procedure SetHeightData(Val: TGLHeightData);
Protected | procedure SetOcclusionSkip(Val: Integer);

Properties

Public | property ContourInterval: Integer read FContourInterval write FContourInterval default 0;
Public | property ContourWidth: Integer read FContourWidth write FContourWidth default 1;
Public | property HeightData: TGLHeightData read FHeightData write SetHeightData;
Public | property HighRes: Boolean read FHighRes write FHighRes;
Public | property ID: Integer read FID;
Public | property LastOcclusionTestPassed: Boolean read FLastOcclusionTestPassed;
Public | property ObserverPosition: TAffineVector read FObserverPosition write FObserverPosition;
Public | property OcclusionCounter: Integer read FOcclusionCounter write FOcclusionCounter;
Public | property OcclusionSkip: Integer read FOcclusionSkip write SetOcclusionSkip;
Public | property Tag: Integer read FTag write FTag;
Public | property TextureOffset: TAffineVector read FTextureOffset write FTextureOffset;
Public | property TextureScale: TAffineVector read FTextureScale write FTextureScale;
Public | property TriangleCount: Integer read FTriangleCount;
Public | property VertexOffset: TAffineVector read FVertexOffset write FVertexOffset;
Public | property VertexScale: TAffineVector read FVertexScale write FVertexScale;

Description

Fields

Private FID: Integer;
Private FHeightData: TGLHeightData;
Private FHeightRaster: PSmallIntRaster;

Referred, not owned

Private FTLNode: PROAMTriangleNode;
Private FBRNode: PROAMTriangleNode;
Private FTLVariance: array of cardinal;
Private FBRVariance: array of cardinal;
Private FPatchSize: Integer;
Private FTriangleCount: Integer;
Private FListHandle: TGLListHandle;
Private FTag: Integer;
Private FObserverPosition: TAffineVector;
Private FNorth: TGLROAMPatch;
Private FSouth: TGLROAMPatch;
Private FWest: TGLROAMPatch;
Private FEast: TGLROAMPatch;
Private FHighRes: Boolean;

neighbours

Private FMaxDepth: Integer;
Private FVertexScale: TAffineVector;
Private FVertexOffset: TAffineVector;
Private FTextureScale: TAffineVector;
Private FTextureOffset: TAffineVector;
Private FMaxTLVarianceDepth: Integer;
Private FMaxBRVarianceDepth: Integer;
Private FOcclusionQuery: TGLOcclusionQueryHandle;
Private FOcclusionSkip: Integer;
Private FOcclusionCounter: Integer;
Private FLastOcclusionTestPassed: Boolean;
Private FContourInterval: Integer;
Private FContourWidth: Integer;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function SafeTesselate: Boolean;

AV free version of Tesselate. When IncreaseTrianglesCapacity is called, all PROAMTriangleNode values in higher function became invalid due to the memory shifting. Recursivity is the main problem, that's why SafeTesselate is calling Tesselate in a try..except .

Public function Tesselate: Boolean;

Returns false if MaxCLODTriangles limit is reached

Public procedure ComputeVariance(Variance: Integer);
Public procedure ConnectToTheNorth(NorthPatch: TGLROAMPatch);
Public procedure ConnectToTheWest(WestPatch: TGLROAMPatch);
Public class procedure FlushAccum(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList);

Render all vertices accumulated in the arrays and set their count back to zero.

Public procedure RenderAccum(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList; AutoFlushVertexCount: Integer);

Render the patch by accumulating triangles. The lists are assumed to have enough capacity to allow AddNC calls (additions without capacity check). Once at least autoFlushVertexCount vertices have been accumulated, perform a FlushAccum

Public procedure RenderHighRes(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList; ForceROAM: Boolean);

Render the patch in high-resolution. The lists are assumed to have enough capacity to allow AddNC calls (additions without capacity check). High-resolution renders use display lists, and are assumed to be made together.

Public procedure ResetTessellation;
Protected procedure RenderAsStrips(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList);
Protected procedure RenderROAM(Vertices: TAffineVectorList; VertexIndices: TIntegerList; TexCoords: TTexPointList);
Protected procedure SetHeightData(Val: TGLHeightData);
Protected procedure SetOcclusionSkip(Val: Integer);

Properties

Public property ContourInterval: Integer read FContourInterval write FContourInterval default 0;

Distance between contours - zero (default) for no contours

Public property ContourWidth: Integer read FContourWidth write FContourWidth default 1;

Width of contours

Public property HeightData: TGLHeightData read FHeightData write SetHeightData;
Public property HighRes: Boolean read FHighRes write FHighRes;
Public property ID: Integer read FID;
Public property LastOcclusionTestPassed: Boolean read FLastOcclusionTestPassed;

Result for the last occlusion test. Note that this value is updated upon rendering the tile in non-high-res mode only.

Public property ObserverPosition: TAffineVector read FObserverPosition write FObserverPosition;
Public property OcclusionCounter: Integer read FOcclusionCounter write FOcclusionCounter;

Number of frames remaining to next occlusion test.

Public property OcclusionSkip: Integer read FOcclusionSkip write SetOcclusionSkip;

Number of frames to skip after an occlusion test returned zero pixels.

Public property Tag: Integer read FTag write FTag;
Public property TextureOffset: TAffineVector read FTextureOffset write FTextureOffset;
Public property TextureScale: TAffineVector read FTextureScale write FTextureScale;
Public property TriangleCount: Integer read FTriangleCount;
Public property VertexOffset: TAffineVector read FVertexOffset write FVertexOffset;
Public property VertexScale: TAffineVector read FVertexScale write FVertexScale;


GLSysHelp v.2.1: GLS.Scene

Unit GLS.Scene

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.UITypes
  • System.Math
  • Vcl.Graphics
  • Vcl.Controls
  • GLS.OpenGLTokens
  • GLS.XOpenGL
  • GLS.XCollection
  • GLS.Strings
  • GLS.Context
  • GLS.VectorGeometry
  • GLS.Silhouette
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.State
  • GLS.Graphics
  • GLS.GeometryBB
  • GLS.VectorLists
  • GLS.Texture
  • GLS.Color
  • GLS.BaseClasses
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.Material
  • GLS.TextureFormat
  • GLS.Selection
  • GLS.VectorTypes
  • GLS.ApplicationFileIO
  • GLS.Utils
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Interface IGLInitializable |
Class TGLInitializableObjectList |
Class TGLBaseSceneObject |
Class TGLBaseBehaviour |
Class TGLBehaviour |
Class TGLBehaviours |
Class TGLEffect |
Class TGLObjectPreEffect |
Class TGLObjectPostEffect |
Class TGLObjectAfterEffect |
Class TGLEffects |
Class TGLCustomSceneObject |
Class TGLSceneRootObject |
Class TGLImmaterialSceneObject |
Class TGLCameraInvariantObject |
Class TGLSceneObject |
Class TGLDirectOpenGL |
Class TGLRenderPoint |
Class TGLProxyObject |
Class TGLLightSource |
Class TGLCamera |
Class TGLScene |
Class TGLFogEnvironment |
Class TGLSceneBuffer |
Class TGLNonVisualViewer |
Class TGLMemoryViewer |

Functions and Procedures

procedure RegisterGLBaseSceneObjectNameChangeEvent(notifyEvent: TNotifyEvent);
procedure DeRegisterGLBaseSceneObjectNameChangeEvent(notifyEvent: TNotifyEvent);
procedure RegisterGLBehaviourNameChangeEvent(notifyEvent: TNotifyEvent);
procedure DeRegisterGLBehaviourNameChangeEvent(notifyEvent: TNotifyEvent);
procedure AxesBuildList(var rci: TGLRenderContextInfo; pattern: Word; AxisLen: Single);
procedure RegisterInfoForm(infoForm: TInvokeInfoForm);
procedure InvokeInfoForm(aSceneBuffer: TGLSceneBuffer; Modal: boolean);
function GetCurrentRenderingObject: TGLBaseSceneObject;

Types

TFogDistance = (...);
TFogMode = (...);
TGLBehaviourClass = class of TGLBehaviour;
TGLCameraInvarianceMode = (...);
TGLCameraKeepFOVMode = (...);
TGLCameraStyle = (...);
TGLColorDepth = (...);
TGLContextOption = (...);
TGLContextOptions = set of TGLContextOption;
TGLDepthPrecision = (...);
TGLDirectRenderEvent = procedure(Sender: TObject; var rci: TGLRenderContextInfo) of object;
TGLEffectClass = class of TGLEffect;
TGLLightStyle = (...);
TGLLimitType = (...);
TGLNormalDirection = (...);
TGLObjectBBChange = (...);
TGLObjectBBChanges = set of TGLObjectBBChange;
TGLObjectChange = (...);
TGLObjectChanges = set of TGLObjectChange;
TGLObjectStyle = (...);
TGLObjectStyles = set of TGLObjectStyle;
TGLProxyObjectClass = class of TGLProxyObject;
TGLProxyObjectOption = (...);
TGLProxyObjectOptions = set of TGLProxyObjectOption;
TGLSceneObjectClass = class of TGLBaseSceneObject;
TGLSceneOperation = (...);
TGLSceneViewerMode = (...);
TGLShadeModel = (...);
TInvokeInfoForm = procedure(aSceneBuffer: TGLSceneBuffer; Modal: boolean);
TOnCustomPerspective = procedure(const viewport: TRectangle; width, height: Integer; DPI: Integer; var viewPortRadius: Single) of object;

Constants

cDefaultProxyOptions = [pooEffects, pooObjects, pooTransformation];
GLSCENE_REVISION = '$Revision: 2021$';
GLSCENE_VERSION = 'v2.1 %s';

Variables

vCounterFrequency: Int64;
vCurrentRenderingObject: TGLBaseSceneObject;

Description

Functions and Procedures

procedure RegisterGLBaseSceneObjectNameChangeEvent(notifyEvent: TNotifyEvent);

Register an event handler triggered by any TGLBaseSceneObject Name change. *INCOMPLETE*, currently allows for only 1 (one) event, and is used by GLSceneEdit in the IDE.

procedure DeRegisterGLBaseSceneObjectNameChangeEvent(notifyEvent: TNotifyEvent);

Deregister an event handler triggered by any TGLBaseSceneObject Name change. See RegisterGLBaseSceneObjectNameChangeEvent.

procedure RegisterGLBehaviourNameChangeEvent(notifyEvent: TNotifyEvent);

Register an event handler triggered by any TGLBehaviour Name change. *INCOMPLETE*, currently allows for only 1 (one) event, and is used by FBehavioursEditor in the IDE.

procedure DeRegisterGLBehaviourNameChangeEvent(notifyEvent: TNotifyEvent);

Deregister an event handler triggered by any TGLBaseSceneObject Name change. See RegisterGLBaseSceneObjectNameChangeEvent.

procedure AxesBuildList(var rci: TGLRenderContextInfo; pattern: Word; AxisLen: Single);

Issues OpenGL calls for drawing X, Y, Z axes in a standard style.

procedure RegisterInfoForm(infoForm: TInvokeInfoForm);

Registers the procedure call used to invoke the info form.

procedure InvokeInfoForm(aSceneBuffer: TGLSceneBuffer; Modal: boolean);
function GetCurrentRenderingObject: TGLBaseSceneObject;

Types

TFogDistance = (...);

Fog distance calculation mode. fdDefault: let OpenGL use its default formula fdEyeRadial: uses radial "true" distance (best quality) fdEyePlane: uses the distance to the projection plane (same as Z-Buffer, faster) Requires support of GL_NV_fog_distance extension, otherwise, it is ignored.

Values
  • fdDefault
  • fdEyeRadial
  • fdEyePlane
TFogMode = (...);
Values
  • fmLinear
  • fmExp
  • fmExp2
TGLBehaviourClass = class of TGLBehaviour;
TGLCameraInvarianceMode = (...);
Values
  • cimNone
  • cimPosition
  • cimOrientation
TGLCameraKeepFOVMode = (...);
Values
  • ckmHorizontalFOV
  • ckmVerticalFOV
TGLCameraStyle = (...);
Values
  • csPerspective
  • csOrthogonal
  • csOrtho2D
  • csCustom
  • csInfinitePerspective
  • csPerspectiveKeepFOV
TGLColorDepth = (...);
Values
  • cdDefault
  • cd8bits
  • cd16bits
  • cd24bits
  • cdFloat64bits
  • cdFloat128bits
TGLContextOption = (...);

Options for the rendering context. roSoftwareMode: force software rendering. roDoubleBuffer: enables double-buffering. roRenderToWindows: ignored (legacy). roTwoSideLighting: enables two-side lighting model. roStereo: enables stereo support in the driver (dunno if it works, I don't have a stereo device to test...) roDestinationAlpha: request an Alpha channel for the rendered output roNoColorBuffer: don't request a color buffer (color depth setting ignored) roNoColorBufferClear: do not clear the color buffer automatically, if the whole viewer is fully repainted each frame, this can improve framerate roNoSwapBuffers: don't perform RenderingContext.SwapBuffers after rendering roNoDepthBufferClear: do not clear the depth buffer automatically. Useful for early-z culling. roForwardContext: force OpenGL forward context

Values
  • roSoftwareMode
  • roDoubleBuffer
  • roStencilBuffer
  • roRenderToWindow
  • roTwoSideLighting
  • roStereo
  • roDestinationAlpha
  • roNoColorBuffer
  • roNoColorBufferClear
  • roNoSwapBuffers
  • roNoDepthBufferClear
  • roDebugContext
  • roForwardContext
  • roOpenGL_ES2_Context
TGLContextOptions = set of TGLContextOption;
TGLDepthPrecision = (...);
Values
  • dpDefault
  • dp16bits
  • dp24bits
  • dp32bits
TGLDirectRenderEvent = procedure(Sender: TObject; var rci: TGLRenderContextInfo) of object;

Event for user-specific rendering in a TGLDirectOpenGL object.

TGLEffectClass = class of TGLEffect;
TGLLightStyle = (...);

Defines the various styles for lightsources. lsSpot : a spot light, oriented and with a cutoff zone (note that if cutoff is 180, the spot is rendered as an omni source) lsOmni : an omnidirectionnal source, punctual and sending light in all directions uniformously lsParallel : a parallel light, oriented as the light source is (this type of light can help speed up rendering)

Values
  • lsSpot
  • lsOmni
  • lsParallel
  • lsParallelSpot
TGLLimitType = (...);

IDs for limit determination

Values
  • limClipPlanes
  • limEvalOrder
  • limLights
  • limListNesting
  • limModelViewStack
  • limNameStack
  • limPixelMapTable
  • limProjectionStack
  • limTextureSize
  • limTextureStack
  • limViewportDims
  • limAccumAlphaBits
  • limAccumBlueBits
  • limAccumGreenBits
  • limAccumRedBits
  • limAlphaBits
  • limAuxBuffers
  • limBlueBits
  • limGreenBits
  • limRedBits
  • limIndexBits
  • limStereo
  • limDoubleBuffer
  • limSubpixelBits
  • limDepthBits
  • limStencilBits
  • limNbTextureUnits
TGLNormalDirection = (...);
Values
  • ndInside
  • ndOutside
TGLObjectBBChange = (...);
Values
  • oBBcChild
  • oBBcStructure
TGLObjectBBChanges = set of TGLObjectBBChange;
TGLObjectChange = (...);

Used to describe the changes in an object, which have to be reflected in the scene

Values
  • ocTransformation
  • ocAbsoluteMatrix
  • ocInvAbsoluteMatrix
  • ocStructure
TGLObjectChanges = set of TGLObjectChange;
TGLObjectStyle = (...);

Possible styles/options for a GLScene object. Allowed styles are: osDirectDraw : object shall not make use of compiled call lists, but issue direct calls each time a render should be performed. osIgnoreDepthBuffer : object is rendered with depth test disabled, this is true for its children too. osNoVisibilityCulling : whatever the VisibilityCulling setting, it will be ignored and the object rendered

Values
  • osDirectDraw
  • osIgnoreDepthBuffer
  • osNoVisibilityCulling
TGLObjectStyles = set of TGLObjectStyle;
TGLProxyObjectClass = class of TGLProxyObject;
TGLProxyObjectOption = (...);

Defines which features are taken from the master object.

Values
  • pooEffects
  • pooObjects
  • pooTransformation
TGLProxyObjectOptions = set of TGLProxyObjectOption;
TGLSceneObjectClass = class of TGLBaseSceneObject;
TGLSceneOperation = (...);

Flags for design notification

Values
  • soAdd
  • soRemove
  • soMove
  • soRename
  • soSelect
  • soBeginUpdate
  • soEndUpdate
TGLSceneViewerMode = (...);
Values
  • svmDisabled
  • svmDefault
  • svmNavigation
  • svmGizmo
TGLShadeModel = (...);
Values
  • smDefault
  • smSmooth
  • smFlat
TInvokeInfoForm = procedure(aSceneBuffer: TGLSceneBuffer; Modal: boolean);
TOnCustomPerspective = procedure(const viewport: TRectangle; width, height: Integer; DPI: Integer; var viewPortRadius: Single) of object;

Constants

cDefaultProxyOptions = [pooEffects, pooObjects, pooTransformation];
GLSCENE_REVISION = '$Revision: 2021$';
GLSCENE_VERSION = 'v2.1 %s';

Variables

vCounterFrequency: Int64;
vCurrentRenderingObject: TGLBaseSceneObject;


GLSysHelp v.2.1: GLS.Scene: Interface IGLInitializable

Interface IGLInitializable

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type IGLInitializable = interface(IInterface)

Description

Interface to objects that need initialization

Attributes
GUID['{EA40AE8E-79B3-42F5-ADF1-7A901B665E12}']

Hierarchy

  • IInterface
  • IGLInitializable

Overview

Methods

Public procedure InitializeObject(ASender: TObject; const ARci: TGLRenderContextInfo);

Description

Methods

Public procedure InitializeObject(ASender: TObject; const ARci: TGLRenderContextInfo);


GLSysHelp v.2.1: GLS.Scene: Class TGLInitializableObjectList

Class TGLInitializableObjectList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLInitializableObjectList = class(TList)

Description

Just a list of objects that support IGLInitializable.

Hierarchy

  • TObject
  • TList
  • TGLInitializableObjectList

Overview

Methods

Public | function Add(const Item: IGLInitializable): Integer;
Private | function GetItems(const Index: Integer): IGLInitializable;
Private | procedure PutItems(const Index: Integer; const Value: IGLInitializable);

Properties

Public property Items[constIndex:Integer]: IGLInitializable read GetItems write PutItems;

Description

Methods

Public function Add(const Item: IGLInitializable): Integer;
Private function GetItems(const Index: Integer): IGLInitializable;
Private procedure PutItems(const Index: Integer; const Value: IGLInitializable);

Properties

Public property Items[constIndex:Integer]: IGLInitializable read GetItems write PutItems;


GLSysHelp v.2.1: GLS.Scene: Class TGLBaseSceneObject

Class TGLBaseSceneObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLBaseSceneObject = class(TGLCoordinatesUpdateAbleComponent)

Description

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject

Overview

Fields

Private | FAbsoluteMatrix: TGLMatrix;
Private | FInvAbsoluteMatrix: TGLMatrix;
Private | FLocalMatrix: TGLMatrix;
Private | FObjectStyle: TGLObjectStyles;
Private | FListHandle: TGLListHandle;
Private | FPosition: TGLCoordinates;
Private | FDirection: TGLCoordinates;
Private | FUp: TGLCoordinates;
Private | FScaling: TGLCoordinates;
Private | FChanges: TGLObjectChanges;
Private | FParent: TGLBaseSceneObject;
Private | FScene: TGLScene;
Private | FBBChanges: TGLObjectBBChanges;
Private | FBoundingBoxPersonalUnscaled: THmgBoundingBox;
Private | FBoundingBoxOfChildren: THmgBoundingBox;
Private | FBoundingBoxIncludingChildren: THmgBoundingBox;
Private | FChildren: TPersistentObjectList;
Private | FVisible: Boolean;
Private | FUpdateCount: Integer;
Private | FShowAxes: Boolean;
Private | FRotation: TGLCoordinates;
Private | FIsCalculating: Boolean;
Private | FObjectsSorting: TGLObjectsSorting;
Private | FVisibilityCulling: TGLVisibilityCulling;
Private | FOnProgress: TGLProgressEvent;
Private | FOnAddedToParent: TNotifyEvent;
Private | FBehaviours: TGLBehaviours;
Private | FEffects: TGLEffects;
Private | FPickable: Boolean;
Private | FOnPicked: TNotifyEvent;
Private | FTagObject: TObject;
Private | FTagFloat: Single;
Private | objList: TPersistentObjectList;
Private | distList: TSingleList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | constructor CreateAsChild(aParentOwner: TGLBaseSceneObject);
Public | destructor Destroy; override;
Public | function AbsoluteLeft: TGLVector;
Public | function AbsoluteMatrixAsAddress: PGLMatrix;
Public | function AbsolutePositionAsAddress: PGLVector;
Public | function AbsoluteRight: TGLVector;
Public | function AbsoluteToLocal(const v: TAffineVector): TAffineVector; overload;
Public | function AbsoluteToLocal(const v: TGLVector): TGLVector; overload;
Public | function AbsoluteXVector: TGLVector;
Public | function AbsoluteYVector: TGLVector;
Public | function AbsoluteZVector: TGLVector;
Public | function AddNewBehaviour(aBehaviour: TGLBehaviourClass): TGLBehaviour;
Public | function AddNewChild(aChild: TGLSceneObjectClass): TGLBaseSceneObject; virtual;
Public | function AddNewChildFirst(aChild: TGLSceneObjectClass): TGLBaseSceneObject; virtual;
Public | function AddNewEffect(aEffect: TGLEffectClass): TGLEffect;
Public | function AffineLeftVector: TAffineVector; inline;
Public | function AffineRight: TAffineVector; inline;
Public | function AxisAlignedBoundingBox(const AIncludeChilden: Boolean = True): TAABB;
Public | function AxisAlignedBoundingBoxAbsolute(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): TAABB;
Public | function AxisAlignedBoundingBoxAbsoluteEx: TAABB;
Public | function AxisAlignedBoundingBoxEx: TAABB;
Public | function AxisAlignedBoundingBoxUnscaled(const AIncludeChilden: Boolean = True): TAABB;
Public | function AxisAlignedDimensions: TGLVector; virtual;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; virtual;
Public | function BarycenterAbsolutePosition: TGLVector; virtual;
Public | function BarycenterSqrDistanceTo(const pt: TGLVector): Single;
Public | function BoundingBox(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): THmgBoundingBox;
Public | function BoundingBoxAbsolute(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): THmgBoundingBox;
Public | function BoundingBoxIncludingChildrenEx: THmgBoundingBox;
Public | function BoundingBoxOfChildrenEx: THmgBoundingBox;
Public | function BoundingBoxPersonalUnscaledEx: THmgBoundingBox;
Public | function BoundingBoxUnscaled(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): THmgBoundingBox;
Public | function BoundingSphereRadius: Single; inline;
Public | function BoundingSphereRadiusUnscaled: Single; inline;
Public | function DistanceTo(anObject: TGLBaseSceneObject): Single; overload;
Public | function DistanceTo(const pt: TAffineVector): Single; overload;
Public | function DistanceTo(const pt: TGLVector): Single; overload;
Public | function FindChild(const aName: string; ownChildrenOnly: Boolean): TGLBaseSceneObject;
Public | function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; virtual;
Public | function GetHandle(var rci: TGLRenderContextInfo): Cardinal;
Public | function GetOrCreateBehaviour(aBehaviour: TGLBehaviourClass): TGLBehaviour;
Public | function GetOrCreateEffect(aEffect: TGLEffectClass): TGLEffect;
Public | function GetParentComponent: TComponent; override;
Public | function HasParent: Boolean; override; final;
Public | function HasSubChildren: Boolean;
Public | function IndexOfChild(aChild: TGLBaseSceneObject): Integer;
Public | function InvAbsoluteMatrix: TGLMatrix; inline;
Public | function InvAbsoluteMatrixAsAddress: PGLMatrix;
Public | function IsUpdating: Boolean; inline;
Public | function LeftVector: TGLVector; inline;
Public | function ListHandleAllocated: Boolean; inline;
Public | function LocalToAbsolute(const v: TGLVector): TGLVector; overload;
Public | function LocalToAbsolute(const v: TAffineVector): TAffineVector; overload;
Public | function PointInObject(const point: TGLVector): Boolean; virtual;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; virtual;
Public | function Right: TGLVector; inline;
Public | function SqrDistanceTo(anObject: TGLBaseSceneObject): Single; overload;
Public | function SqrDistanceTo(const pt: TAffineVector): Single; overload;
Public | function SqrDistanceTo(const pt: TGLVector): Single; overload;
Protected | function Blended: Boolean; virtual;
Protected | function GetAbsoluteAffineDirection: TAffineVector;
Protected | function GetAbsoluteAffinePosition: TAffineVector;
Protected | function GetAbsoluteAffineUp: TAffineVector;
Protected | function GetAbsoluteDirection: TGLVector;
Protected | function GetAbsolutePosition: TGLVector; inline;
Protected | function GetAbsoluteUp: TGLVector;
Protected | function GetPickable: Boolean; virtual;
Protected | function GetVisible: Boolean; virtual;
Private | function Get(Index: Integer): TGLBaseSceneObject; inline;
Private | function GetAbsoluteAffineScale: TAffineVector;
Private | function GetAbsoluteMatrix: TGLMatrix; inline;
Private | function GetAbsoluteScale: TGLVector;
Private | function GetBehaviours: TGLBehaviours;
Private | function GetCount: Integer; inline;
Private | function GetDirectAbsoluteMatrix: PGLMatrix;
Private | function GetEffects: TGLEffects;
Private | function GetIndex: Integer; inline;
Private | function GetLocalMatrix: PGLMatrix; inline;
Private | function GetMatrix: PGLMatrix; inline;
Private | function GetPitchAngle: Single; inline;
Private | function GetRollAngle: Single; inline;
Private | function GetTurnAngle: Single; inline;
Public | procedure AddChild(aChild: TGLBaseSceneObject); virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BeginUpdate; inline;
Public | procedure BuildList(var rci: TGLRenderContextInfo); virtual;
Public | procedure ClearStructureChanged; inline;
Public | procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public | procedure DeleteChildren; virtual;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); virtual;
Public | procedure EndUpdate; inline;
Public | procedure ExchangeChildren(anIndex1, anIndex2: Integer);
Public | procedure ExchangeChildrenSafe(anIndex1, anIndex2: Integer);
Public | procedure ForceLocalMatrix(const aMatrix: TGLMatrix); inline;
Public | procedure Insert(aIndex: Integer; aChild: TGLBaseSceneObject); virtual;
Public | procedure Lift(ADistance: Single);
Public | procedure Move(ADistance: Single);
Public | procedure MoveChildDown(anIndex: Integer);
Public | procedure MoveChildFirst(anIndex: Integer);
Public | procedure MoveChildLast(anIndex: Integer);
Public | procedure MoveChildUp(anIndex: Integer);
Public | procedure MoveDown;
Public | procedure MoveFirst;
Public | procedure MoveLast;
Public | procedure MoveObjectAllAround(anObject: TGLBaseSceneObject; pitchDelta, turnDelta: Single);
Public | procedure MoveObjectAround(anObject: TGLBaseSceneObject; pitchDelta, turnDelta: Single);
Public | procedure MoveTo(newParent: TGLBaseSceneObject); virtual;
Public | procedure MoveUp;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure Pitch(angle: Single);
Public | procedure PointTo(const AAbsolutePosition, AUpVector: TGLVector); overload;
Public | procedure PointTo(const ATargetObject: TGLBaseSceneObject; const AUpVector: TGLVector); overload;
Public | procedure Remove(aChild: TGLBaseSceneObject; keepChildren: Boolean); virtual;
Public | procedure Render(var ARci: TGLRenderContextInfo);
Public | procedure RenderChildren(firstChildIndex, lastChildIndex: Integer; var rci: TGLRenderContextInfo);
Public | procedure ResetAndPitchTurnRoll(const degX, degY, degZ: Single);
Public | procedure ResetRotations;
Public | procedure Roll(angle: Single);
Public | procedure RotateAbsolute(const axis: TAffineVector; angle: Single); overload;
Public | procedure RotateAbsolute(const rx, ry, rz: Single); overload;
Public | procedure SetMatrix(const aValue: TGLMatrix); inline;
Public | procedure Slide(ADistance: Single);
Public | procedure StructureChanged; virtual;
Public | procedure TransformationChanged; inline;
Public | procedure Translate(tx, ty, tz: Single);
Public | procedure Turn(angle: Single);
Protected | procedure CalculateBoundingBoxPersonalUnscaled(var ANewBoundingBox: THmgBoundingBox); virtual;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure DeleteChildCameras;
Protected | procedure DestroyHandle; virtual;
Protected | procedure DestroyHandles;
Protected | procedure DoOnAddedToParent; virtual;
Protected | procedure DrawAxes(var rci: TGLRenderContextInfo; pattern: Word);
Protected | procedure GetChildren(AProc: TGetChildProc; Root: TComponent); override;
Protected | procedure Loaded; override;
Protected | procedure ReadBehaviours(stream: TStream);
Protected | procedure ReadEffects(stream: TStream);
Protected | procedure ReadRotations(stream: TStream);
Protected | procedure RebuildMatrix;
Protected | procedure RecTransformationChanged; inline;
Protected | procedure SetAbsoluteAffineDirection(const v: TAffineVector);
Protected | procedure SetAbsoluteAffinePosition(const Value: TAffineVector);
Protected | procedure SetAbsoluteAffineUp(const v: TAffineVector);
Protected | procedure SetAbsoluteDirection(const v: TGLVector);
Protected | procedure SetAbsolutePosition(const v: TGLVector);
Protected | procedure SetAbsoluteUp(const v: TGLVector);
Protected | procedure SetName(const NewName: TComponentName); override;
Protected | procedure SetParentComponent(Value: TComponent); override;
Protected | procedure SetPickable(aValue: Boolean); virtual;
Protected | procedure SetScene(const Value: TGLScene); virtual;
Protected | procedure SetVisible(aValue: Boolean); virtual;
Protected | procedure WriteBehaviours(stream: TStream);
Protected | procedure WriteEffects(stream: TStream);
Protected | procedure WriteRotations(stream: TStream);
Private | procedure SetAbsoluteAffineScale(const Value: TAffineVector);
Private | procedure SetAbsoluteMatrix(const Value: TGLMatrix);
Private | procedure SetAbsoluteScale(const Value: TGLVector);
Private | procedure SetBBChanges(const Value: TGLObjectBBChanges);
Private | procedure SetBehaviours(const val: TGLBehaviours);
Private | procedure SetDirection(AVector: TGLCoordinates);
Private | procedure SetEffects(const val: TGLEffects);
Private | procedure SetIndex(aValue: Integer);
Private | procedure SetObjectsSorting(const val: TGLObjectsSorting);
Private | procedure SetParent(const val: TGLBaseSceneObject); inline;
Private | procedure SetPitchAngle(AValue: Single);
Private | procedure SetPosition(APosition: TGLCoordinates);
Private | procedure SetRollAngle(AValue: Single);
Private | procedure SetRotation(aRotation: TGLCoordinates);
Private | procedure SetScaling(AValue: TGLCoordinates);
Private | procedure SetShowAxes(AValue: Boolean);
Private | procedure SetTurnAngle(AValue: Single);
Private | procedure SetUp(AVector: TGLCoordinates);
Private | procedure SetVisibilityCulling(const val: TGLVisibilityCulling);

Properties

Public | property AbsoluteAffineDirection: TAffineVector read GetAbsoluteAffineDirection write SetAbsoluteAffineDirection;
Public | property AbsoluteAffinePosition: TAffineVector read GetAbsoluteAffinePosition write SetAbsoluteAffinePosition;
Public | property AbsoluteAffineScale: TAffineVector read GetAbsoluteAffineScale write SetAbsoluteAffineScale;
Public | property AbsoluteAffineUp: TAffineVector read GetAbsoluteAffineUp write SetAbsoluteAffineUp;
Public | property AbsoluteDirection: TGLVector read GetAbsoluteDirection write SetAbsoluteDirection;
Public | property AbsoluteMatrix: TGLMatrix read GetAbsoluteMatrix write SetAbsoluteMatrix;
Public | property AbsolutePosition: TGLVector read GetAbsolutePosition write SetAbsolutePosition;
Public | property AbsoluteScale: TGLVector read GetAbsoluteScale write SetAbsoluteScale;
Public | property AbsoluteUp: TGLVector read GetAbsoluteUp write SetAbsoluteUp;
Public | property BBChanges: TGLObjectBBChanges read fBBChanges write SetBBChanges;
Public | property Behaviours: TGLBehaviours read GetBehaviours write SetBehaviours stored False;
Public | property Changes: TGLObjectChanges read FChanges;
Public | property Children[Index:Integer]: TGLBaseSceneObject read Get;
Public | property Count: Integer read GetCount;
Public | property DirectAbsoluteMatrix: PGLMatrix read GetDirectAbsoluteMatrix;
Public | property Direction: TGLCoordinates read FDirection write SetDirection;
Public | property Effects: TGLEffects read GetEffects write SetEffects stored False;
Public | property Index: Integer read GetIndex write SetIndex;
Public | property LocalMatrix: PGLMatrix read GetLocalMatrix;
Public | property Matrix: PGLMatrix read GetMatrix;
Public | property ObjectsSorting: TGLObjectsSorting read FObjectsSorting write SetObjectsSorting default osInherited;
Public | property ObjectStyle: TGLObjectStyles read FObjectStyle write FObjectStyle;
Public | property OnAddedToParent: TNotifyEvent read FOnAddedToParent write FOnAddedToParent;
Public | property OnPicked: TNotifyEvent read FOnPicked write FOnPicked;
Public | property OnProgress: TGLProgressEvent read FOnProgress write FOnProgress;
Public | property Parent: TGLBaseSceneObject read FParent write SetParent;
Public | property Pickable: Boolean read FPickable write SetPickable default True;
Public | property PitchAngle: Single read GetPitchAngle write SetPitchAngle;
Public | property Position: TGLCoordinates read FPosition write SetPosition;
Public | property RollAngle: Single read GetRollAngle write SetRollAngle;
Public | property Rotation: TGLCoordinates read FRotation write SetRotation;
Public | property Scale: TGLCoordinates read FScaling write SetScaling;
Public | property Scene: TGLScene read FScene;
Public | property ShowAxes: Boolean read FShowAxes write SetShowAxes default False;
Published | property TagFloat: Single read FTagFloat write FTagFloat;
Public | property TagObject: TObject read FTagObject write FTagObject;
Public | property TurnAngle: Single read GetTurnAngle write SetTurnAngle;
Public | property Up: TGLCoordinates read FUp write SetUp;
Public | property VisibilityCulling: TGLVisibilityCulling read FVisibilityCulling write SetVisibilityCulling default vcInherited;
Public | property Visible: Boolean read FVisible write SetVisible default True;

Description

Fields

Private FAbsoluteMatrix: TGLMatrix;
Private FInvAbsoluteMatrix: TGLMatrix;
Private FLocalMatrix: TGLMatrix;
Private FObjectStyle: TGLObjectStyles;
Private FListHandle: TGLListHandle;
Private FPosition: TGLCoordinates;

created on 1st use

Private FDirection: TGLCoordinates;
Private FUp: TGLCoordinates;
Private FScaling: TGLCoordinates;
Private FChanges: TGLObjectChanges;
Private FParent: TGLBaseSceneObject;
Private FScene: TGLScene;
Private FBBChanges: TGLObjectBBChanges;
Private FBoundingBoxPersonalUnscaled: THmgBoundingBox;
Private FBoundingBoxOfChildren: THmgBoundingBox;
Private FBoundingBoxIncludingChildren: THmgBoundingBox;
Private FChildren: TPersistentObjectList;
Private FVisible: Boolean;

created on 1st use

Private FUpdateCount: Integer;
Private FShowAxes: Boolean;
Private FRotation: TGLCoordinates;
Private FIsCalculating: Boolean;

current rotation angles

Private FObjectsSorting: TGLObjectsSorting;
Private FVisibilityCulling: TGLVisibilityCulling;
Private FOnProgress: TGLProgressEvent;
Private FOnAddedToParent: TNotifyEvent;
Private FBehaviours: TGLBehaviours;
Private FEffects: TGLEffects;
Private FPickable: Boolean;
Private FOnPicked: TNotifyEvent;
Private FTagObject: TObject;
Private FTagFloat: Single;
Private objList: TPersistentObjectList;
Private distList: TSingleList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public constructor CreateAsChild(aParentOwner: TGLBaseSceneObject);
Public destructor Destroy; override;
Public function AbsoluteLeft: TGLVector;

Calculate the left vector in absolute coordinates.

Public function AbsoluteMatrixAsAddress: PGLMatrix;

See AbsoluteMatrix.

Public function AbsolutePositionAsAddress: PGLVector;
Public function AbsoluteRight: TGLVector;

Calculate the right vector in absolute coordinates.

Public function AbsoluteToLocal(const v: TAffineVector): TAffineVector; overload;

Converts a vector from absolute coordinates to local coordinates.

Public function AbsoluteToLocal(const v: TGLVector): TGLVector; overload;

Converts a vector/point from absolute coordinates to local coordinates.

Public function AbsoluteXVector: TGLVector;

Returns the Absolute X Vector expressed in local coordinates.

Public function AbsoluteYVector: TGLVector;

Returns the Absolute Y Vector expressed in local coordinates.

Public function AbsoluteZVector: TGLVector;

Returns the Absolute Z Vector expressed in local coordinates.

Public function AddNewBehaviour(aBehaviour: TGLBehaviourClass): TGLBehaviour;
Public function AddNewChild(aChild: TGLSceneObjectClass): TGLBaseSceneObject; virtual;

Creates a new scene object and add it to this object as new child

Public function AddNewChildFirst(aChild: TGLSceneObjectClass): TGLBaseSceneObject; virtual;

Creates a new scene object and add it to this object as first child

Public function AddNewEffect(aEffect: TGLEffectClass): TGLEffect;
Public function AffineLeftVector: TAffineVector; inline;

Returns the Left vector (based on Up and Direction)

Public function AffineRight: TAffineVector; inline;

Returns the Right vector (based on Up and Direction)

Public function AxisAlignedBoundingBox(const AIncludeChilden: Boolean = True): TAABB;

Calculates and return the AABB for the object. The AABB is currently calculated from the BB. There is no caching scheme for them.

Public function AxisAlignedBoundingBoxAbsolute(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): TAABB;
Public function AxisAlignedBoundingBoxAbsoluteEx: TAABB;
Public function AxisAlignedBoundingBoxEx: TAABB;

Advanced AABB functions that use a caching scheme. Also they include children and use BaryCenter.

Public function AxisAlignedBoundingBoxUnscaled(const AIncludeChilden: Boolean = True): TAABB;
Public function AxisAlignedDimensions: TGLVector; virtual;

Shall returns the object's axis aligned extensions. The dimensions are measured from object center and are expressed with scale accounted for, in the object's coordinates (not in absolute ones). Default value is half the object's Scale.

Public function AxisAlignedDimensionsUnscaled: TGLVector; virtual;
Public function BarycenterAbsolutePosition: TGLVector; virtual;

Calculates the object's barycenter in absolute coordinates. Default behaviour is to consider Barycenter=AbsolutePosition (whatever the number of children). SubClasses where AbsolutePosition is not the barycenter should override this method as it is used for distance calculation, during rendering for instance, and may lead to visual inconsistencies.

Public function BarycenterSqrDistanceTo(const pt: TGLVector): Single;

Calculates the object's barycenter distance to a point.

Public function BoundingBox(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): THmgBoundingBox;

Calculates and return the Bounding Box for the object. The BB is calculated each time this method is invoked, based on the AxisAlignedDimensions of the object and that of its children. There is no caching scheme for them.

Public function BoundingBoxAbsolute(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): THmgBoundingBox;
Public function BoundingBoxIncludingChildrenEx: THmgBoundingBox;
Public function BoundingBoxOfChildrenEx: THmgBoundingBox;
Public function BoundingBoxPersonalUnscaledEx: THmgBoundingBox;

Advanced BB functions that use a caching scheme. Also they include children and use BaryCenter.

Public function BoundingBoxUnscaled(const AIncludeChilden: Boolean = True; const AUseBaryCenter: Boolean = False): THmgBoundingBox;
Public function BoundingSphereRadius: Single; inline;

Max distance of corners of the BoundingBox.

Public function BoundingSphereRadiusUnscaled: Single; inline;
Public function DistanceTo(anObject: TGLBaseSceneObject): Single; overload;

Computes the object's distance to a point/object. Only objects AbsolutePositions are considered.

Public function DistanceTo(const pt: TAffineVector): Single; overload;
Public function DistanceTo(const pt: TGLVector): Single; overload;
Public function FindChild(const aName: string; ownChildrenOnly: Boolean): TGLBaseSceneObject;
Public function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; virtual;

Request to generate silhouette outlines. Default implementation assumes the objects is a sphere of AxisAlignedDimensionUnscaled size. Subclasses may choose to return nil instead, which will be understood as an empty silhouette.

Public function GetHandle(var rci: TGLRenderContextInfo): Cardinal;

Returns the handle to the object's build list. Use with caution! Some objects don't support buildlists!

Public function GetOrCreateBehaviour(aBehaviour: TGLBehaviourClass): TGLBehaviour;
Public function GetOrCreateEffect(aEffect: TGLEffectClass): TGLEffect;
Public function GetParentComponent: TComponent; override;
Public function HasParent: Boolean; override; final;
Public function HasSubChildren: Boolean;
Public function IndexOfChild(aChild: TGLBaseSceneObject): Integer;
Public function InvAbsoluteMatrix: TGLMatrix; inline;

Calculates the object's absolute inverse matrix. Multiplying an absolute coordinate with this matrix gives a local coordinate. The current implem uses transposition(AbsoluteMatrix), which is true unless you're using some scaling...

Public function InvAbsoluteMatrixAsAddress: PGLMatrix;

See InvAbsoluteMatrix.

Public function IsUpdating: Boolean; inline;
Public function LeftVector: TGLVector; inline;

Returns the Left vector (based on Up and Direction)

Public function ListHandleAllocated: Boolean; inline;
Public function LocalToAbsolute(const v: TGLVector): TGLVector; overload;

Converts a vector/point from local coordinates to absolute coordinates.

Public function LocalToAbsolute(const v: TAffineVector): TAffineVector; overload;

Converts a vector from local coordinates to absolute coordinates.

Public function PointInObject(const point: TGLVector): Boolean; virtual;

Indicates if a point is within an object. Given coordinate is an absolute coordinate. Linear or surfacic objects shall always return False. Default value is based on AxisAlignedDimension and a cube bounding.

Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; virtual;

Request to determine an intersection with a casted ray. Given coordinates & vector are in absolute coordinates, rayVector must be normalized. rayStart may be a point inside the object, allowing retrieval of the multiple intersects of the ray. When intersectXXX parameters are nil (default) implementation should take advantage of this to optimize calculus, if not, and an intersect is found, non nil parameters should be defined. The intersectNormal needs NOT be normalized by the implementations. Default value is based on bounding sphere.

Public function Right: TGLVector; inline;

Returns the Right vector (based on Up and Direction)

Public function SqrDistanceTo(anObject: TGLBaseSceneObject): Single; overload;

Calculates the object's square distance to a point/object. pt is assumed to be in absolute coordinates, AbsolutePosition is considered as being the object position.

Public function SqrDistanceTo(const pt: TAffineVector): Single; overload;
Public function SqrDistanceTo(const pt: TGLVector): Single; overload;
Protected function Blended: Boolean; virtual;

Should the object be considered as blended for sorting purposes?

Protected function GetAbsoluteAffineDirection: TAffineVector;
Protected function GetAbsoluteAffinePosition: TAffineVector;
Protected function GetAbsoluteAffineUp: TAffineVector;
Protected function GetAbsoluteDirection: TGLVector;
Protected function GetAbsolutePosition: TGLVector; inline;
Protected function GetAbsoluteUp: TGLVector;
Protected function GetPickable: Boolean; virtual;
Protected function GetVisible: Boolean; virtual;
Private function Get(Index: Integer): TGLBaseSceneObject; inline;

If somebody could look at DefineProperties, ReadBehaviours, ReadEffects and verify code is safe to use then it could be uncommented

Private function GetAbsoluteAffineScale: TAffineVector;
Private function GetAbsoluteMatrix: TGLMatrix; inline;
Private function GetAbsoluteScale: TGLVector;
Private function GetBehaviours: TGLBehaviours;
Private function GetCount: Integer; inline;
Private function GetDirectAbsoluteMatrix: PGLMatrix;
Private function GetEffects: TGLEffects;
Private function GetIndex: Integer; inline;
Private function GetLocalMatrix: PGLMatrix; inline;
Private function GetMatrix: PGLMatrix; inline;
Private function GetPitchAngle: Single; inline;
Private function GetRollAngle: Single; inline;
Private function GetTurnAngle: Single; inline;
Public procedure AddChild(aChild: TGLBaseSceneObject); virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure BeginUpdate; inline;
Public procedure BuildList(var rci: TGLRenderContextInfo); virtual;

Make object-specific geometry description here. Subclasses should MAINTAIN OpenGL states (restore the states if they were altered).

Public procedure ClearStructureChanged; inline;
Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;

Recalculate an orthonormal system

Public procedure DeleteChildren; virtual;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); virtual;
Public procedure EndUpdate; inline;
Public procedure ExchangeChildren(anIndex1, anIndex2: Integer);

The "regular" version of this procedure does not perform any checks and calls FChildren.Exchange directly. User should/can perform range checks manualy.

Public procedure ExchangeChildrenSafe(anIndex1, anIndex2: Integer);

The "safe" version of this procedure checks if indexes are inside the list. If not, no exception if raised.

Public procedure ForceLocalMatrix(const aMatrix: TGLMatrix); inline;

Forces the local matrix to the specified value. AbsoluteMatrix, InverseMatrix, etc. will honour that change, but may become invalid if the specified matrix isn't orthonormal (can be used for specific rendering or projection effects). The local matrix will be reset by the next TransformationChanged, position or attitude change.

Public procedure Insert(aIndex: Integer; aChild: TGLBaseSceneObject); virtual;
Public procedure Lift(ADistance: Single);

Moves the object along the Up vector (move up/down)

Public procedure Move(ADistance: Single);

Moves the object along the direction vector

Public procedure MoveChildDown(anIndex: Integer);
Public procedure MoveChildFirst(anIndex: Integer);
Public procedure MoveChildLast(anIndex: Integer);
Public procedure MoveChildUp(anIndex: Integer);

These procedures are safe.

Public procedure MoveDown;
Public procedure MoveFirst;
Public procedure MoveLast;
Public procedure MoveObjectAllAround(anObject: TGLBaseSceneObject; pitchDelta, turnDelta: Single);
Public procedure MoveObjectAround(anObject: TGLBaseSceneObject; pitchDelta, turnDelta: Single);
Public procedure MoveTo(newParent: TGLBaseSceneObject); virtual;
Public procedure MoveUp;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure Pitch(angle: Single);
Public procedure PointTo(const AAbsolutePosition, AUpVector: TGLVector); overload;

Orients the object toward a target absolute position

Public procedure PointTo(const ATargetObject: TGLBaseSceneObject; const AUpVector: TGLVector); overload;

Orients the object toward a target object

Public procedure Remove(aChild: TGLBaseSceneObject; keepChildren: Boolean); virtual;

Takes a scene object out of the child list, but doesn't destroy it. If 'KeepChildren' is true its children will be kept as new children in this scene object.

Public procedure Render(var ARci: TGLRenderContextInfo);
Public procedure RenderChildren(firstChildIndex, lastChildIndex: Integer; var rci: TGLRenderContextInfo);
Public procedure ResetAndPitchTurnRoll(const degX, degY, degZ: Single);

Reset rotations and applies them back in the specified order.

Public procedure ResetRotations;

Sets all rotations to zero and restores default Direction/Up. Using this function then applying roll/pitch/turn in the order that suits you, you can give an "absolute" meaning to rotation angles (they are still applied locally though). Scale and Position are not affected.

Public procedure Roll(angle: Single);
Public procedure RotateAbsolute(const axis: TAffineVector; angle: Single); overload;

Applies rotations around the absolute given vector (angle in degrees).

Public procedure RotateAbsolute(const rx, ry, rz: Single); overload;

Applies rotations around absolute X, Y and Z axis.

Public procedure SetMatrix(const aValue: TGLMatrix); inline;

The local transformation (relative to parent). If you're *sure* the local matrix is up-to-date, you may use LocalMatrix for quicker access.

Public procedure Slide(ADistance: Single);

Moves camera along the right vector (move left and right)

Public procedure StructureChanged; virtual;
Public procedure TransformationChanged; inline;
Public procedure Translate(tx, ty, tz: Single);

Translates the object

Public procedure Turn(angle: Single);
Protected procedure CalculateBoundingBoxPersonalUnscaled(var ANewBoundingBox: THmgBoundingBox); virtual;

Used to re-calculate BoundingBoxes every time we need it. GetLocalUnscaleBB() must return the local BB, not the axis-aligned one. By default it is calculated from AxisAlignedBoundingBoxUnscaled and BarycenterAbsolutePosition, but for most objects there is a more efficient method, that's why it is virtual.

Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure DeleteChildCameras;
Protected procedure DestroyHandle; virtual;
Protected procedure DestroyHandles;
Protected procedure DoOnAddedToParent; virtual;
Protected procedure DrawAxes(var rci: TGLRenderContextInfo; pattern: Word);
Protected procedure GetChildren(AProc: TGetChildProc; Root: TComponent); override;
Protected procedure Loaded; override;
Protected procedure ReadBehaviours(stream: TStream);
Protected procedure ReadEffects(stream: TStream);
Protected procedure ReadRotations(stream: TStream);
Protected procedure RebuildMatrix;
Protected procedure RecTransformationChanged; inline;
Protected procedure SetAbsoluteAffineDirection(const v: TAffineVector);
Protected procedure SetAbsoluteAffinePosition(const Value: TAffineVector);
Protected procedure SetAbsoluteAffineUp(const v: TAffineVector);
Protected procedure SetAbsoluteDirection(const v: TGLVector);
Protected procedure SetAbsolutePosition(const v: TGLVector);
Protected procedure SetAbsoluteUp(const v: TGLVector);
Protected procedure SetName(const NewName: TComponentName); override;
Protected procedure SetParentComponent(Value: TComponent); override;
Protected procedure SetPickable(aValue: Boolean); virtual;
Protected procedure SetScene(const Value: TGLScene); virtual;
Protected procedure SetVisible(aValue: Boolean); virtual;
Protected procedure WriteBehaviours(stream: TStream);
Protected procedure WriteEffects(stream: TStream);
Protected procedure WriteRotations(stream: TStream);
Private procedure SetAbsoluteAffineScale(const Value: TAffineVector);
Private procedure SetAbsoluteMatrix(const Value: TGLMatrix);
Private procedure SetAbsoluteScale(const Value: TGLVector);
Private procedure SetBBChanges(const Value: TGLObjectBBChanges);
Private procedure SetBehaviours(const val: TGLBehaviours);
Private procedure SetDirection(AVector: TGLCoordinates);
Private procedure SetEffects(const val: TGLEffects);
Private procedure SetIndex(aValue: Integer);
Private procedure SetObjectsSorting(const val: TGLObjectsSorting);
Private procedure SetParent(const val: TGLBaseSceneObject); inline;
Private procedure SetPitchAngle(AValue: Single);
Private procedure SetPosition(APosition: TGLCoordinates);
Private procedure SetRollAngle(AValue: Single);
Private procedure SetRotation(aRotation: TGLCoordinates);
Private procedure SetScaling(AValue: TGLCoordinates);
Private procedure SetShowAxes(AValue: Boolean);
Private procedure SetTurnAngle(AValue: Single);
Private procedure SetUp(AVector: TGLCoordinates);
Private procedure SetVisibilityCulling(const val: TGLVisibilityCulling);

Properties

Public property AbsoluteAffineDirection: TAffineVector read GetAbsoluteAffineDirection write SetAbsoluteAffineDirection;
Public property AbsoluteAffinePosition: TAffineVector read GetAbsoluteAffinePosition write SetAbsoluteAffinePosition;
Public property AbsoluteAffineScale: TAffineVector read GetAbsoluteAffineScale write SetAbsoluteAffineScale;
Public property AbsoluteAffineUp: TAffineVector read GetAbsoluteAffineUp write SetAbsoluteAffineUp;
Public property AbsoluteDirection: TGLVector read GetAbsoluteDirection write SetAbsoluteDirection;

Direction vector in absolute coordinates.

Public property AbsoluteMatrix: TGLMatrix read GetAbsoluteMatrix write SetAbsoluteMatrix;

The object's absolute matrix by composing all local matrices. Multiplying a local coordinate with this matrix gives an absolute coordinate.

Public property AbsolutePosition: TGLVector read GetAbsolutePosition write SetAbsolutePosition;

Computes and allows to set the object's absolute coordinates.

Public property AbsoluteScale: TGLVector read GetAbsoluteScale write SetAbsoluteScale;

Scale vector in absolute coordinates. Warning: SetAbsoluteScale() does not work correctly at the moment.

Public property AbsoluteUp: TGLVector read GetAbsoluteUp write SetAbsoluteUp;

Up vector in absolute coordinates.

Public property BBChanges: TGLObjectBBChanges read fBBChanges write SetBBChanges;
Public property Behaviours: TGLBehaviours read GetBehaviours write SetBehaviours stored False;
Public property Changes: TGLObjectChanges read FChanges;
Public property Children[Index:Integer]: TGLBaseSceneObject read Get;
Public property Count: Integer read GetCount;
Public property DirectAbsoluteMatrix: PGLMatrix read GetDirectAbsoluteMatrix;

Holds the absolute transformation matrix. If you're not *sure* the absolute matrix is up-to-date, use the AbsoluteMatrix property, this one may be nil...

Public property Direction: TGLCoordinates read FDirection write SetDirection;
Public property Effects: TGLEffects read GetEffects write SetEffects stored False;
Public property Index: Integer read GetIndex write SetIndex;
Public property LocalMatrix: PGLMatrix read GetLocalMatrix;

Holds the local transformation (relative to parent). If you're not *sure* the local matrix is up-to-date, use Matrix property.

Public property Matrix: PGLMatrix read GetMatrix;
Public property ObjectsSorting: TGLObjectsSorting read FObjectsSorting write SetObjectsSorting default osInherited;
Public property ObjectStyle: TGLObjectStyles read FObjectStyle write FObjectStyle;

Controls and adjusts internal optimizations based on object's style. Advanced user only.

Public property OnAddedToParent: TNotifyEvent read FOnAddedToParent write FOnAddedToParent;
Public property OnPicked: TNotifyEvent read FOnPicked write FOnPicked;
Public property OnProgress: TGLProgressEvent read FOnProgress write FOnProgress;
Public property Parent: TGLBaseSceneObject read FParent write SetParent;
Public property Pickable: Boolean read FPickable write SetPickable default True;
Public property PitchAngle: Single read GetPitchAngle write SetPitchAngle;
Public property Position: TGLCoordinates read FPosition write SetPosition;
Public property RollAngle: Single read GetRollAngle write SetRollAngle;
Public property Rotation: TGLCoordinates read FRotation write SetRotation;
Public property Scale: TGLCoordinates read FScaling write SetScaling;
Public property Scene: TGLScene read FScene;
Public property ShowAxes: Boolean read FShowAxes write SetShowAxes default False;
Published property TagFloat: Single read FTagFloat write FTagFloat;
Public property TagObject: TObject read FTagObject write FTagObject;
Public property TurnAngle: Single read GetTurnAngle write SetTurnAngle;
Public property Up: TGLCoordinates read FUp write SetUp;
Public property VisibilityCulling: TGLVisibilityCulling read FVisibilityCulling write SetVisibilityCulling default vcInherited;
Public property Visible: Boolean read FVisible write SetVisible default True;


GLSysHelp v.2.1: GLS.Scene: Class TGLBaseBehaviour

Class TGLBaseBehaviour

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLBaseBehaviour = class(TXCollectionItem)

Description

Base class for implementing behaviours in TGLScene. Behaviours are regrouped in a collection attached to a TGLBaseSceneObject, and are part of the "Progress" chain of events. Behaviours allows clean application of time-based alterations to objects (movements, shape or texture changes...). Since behaviours are implemented as classes, there are basicly two kinds of strategies for subclasses : stand-alone : the subclass does it all, and holds all necessary data (covers animation, inertia etc.) proxy : the subclass is an interface to and external, shared operator (like gravity, force-field effects etc.)

Some behaviours may be cooperative (like force-fields affects inertia) or unique (e.g. only one inertia behaviour per object). NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour

Overview

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Protected | function OwnerBaseSceneObject: TGLBaseSceneObject;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); virtual;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetName(const val: string); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Description

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Protected function OwnerBaseSceneObject: TGLBaseSceneObject;

Returns the TGLBaseSceneObject on which the behaviour should be applied. Does NOT check for nil owners.

Public procedure DoProgress(const progressTime: TGLProgressTimes); virtual;
Protected procedure ReadFromFiler(reader: TReader); override;

Override this function to read subclass data.

Protected procedure SetName(const val: string); override;
Protected procedure WriteToFiler(writer: TWriter); override;

Override this function to write subclass data.


GLSysHelp v.2.1: GLS.Scene: Class TGLBehaviour

Class TGLBehaviour

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLBehaviour = class(TGLBaseBehaviour)

Description

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour


GLSysHelp v.2.1: GLS.Scene: Class TGLBehaviours

Class TGLBehaviours

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLBehaviours = class(TXCollection)

Description

Holds a list of TGLBehaviour objects. This object expects itself to be owned by a TGLBaseSceneObject. As a TXCollection (and contrary to a TCollection), this list can contain objects of varying class, the only constraint being that they should all be TGLBehaviour subclasses.

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLBehaviours

Overview

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public | function GetNamePath: string; override;
Public | class function ItemsClass: TXCollectionItemClass; override;
Protected | function GetBehaviour(index: Integer): TGLBehaviour;
Public | procedure DoProgress(const progressTimes: TGLProgressTimes); inline;

Properties

Public property Behaviour[index:Integer]: TGLBehaviour read GetBehaviour;

Description

Methods

Public constructor Create(aOwner: TPersistent); override;
Public function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public function GetNamePath: string; override;
Public class function ItemsClass: TXCollectionItemClass; override;
Protected function GetBehaviour(index: Integer): TGLBehaviour;
Public procedure DoProgress(const progressTimes: TGLProgressTimes); inline;

Properties

Public property Behaviour[index:Integer]: TGLBehaviour read GetBehaviour;


GLSysHelp v.2.1: GLS.Scene: Class TGLEffect

Class TGLEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLEffect = class(TGLBaseBehaviour)

Description

A rendering effect that can be applied to SceneObjects. ObjectEffect is a subclass of behaviour that gets a chance to Render an object-related special effect. TGLEffect should not be used as base class for custom effects, instead you should use the following base classes : TGLObjectPreEffect is rendered before owner object render TGLObjectPostEffect is rendered after the owner object render TGLObjectAfterEffect is rendered at the end of the scene rendering NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect

Overview

Methods

Public | procedure Render(var rci: TGLRenderContextInfo); virtual;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Description

Methods

Public procedure Render(var rci: TGLRenderContextInfo); virtual;
Protected procedure ReadFromFiler(reader: TReader); override;

Override this function to read subclass data.

Protected procedure WriteToFiler(writer: TWriter); override;

Override this function to write subclass data.


GLSysHelp v.2.1: GLS.Scene: Class TGLObjectPreEffect

Class TGLObjectPreEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLObjectPreEffect = class(TGLEffect)

Description

An object effect that gets rendered before owner object's render. The current OpenGL matrices and material are that of the owner object.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPreEffect


GLSysHelp v.2.1: GLS.Scene: Class TGLObjectPostEffect

Class TGLObjectPostEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLObjectPostEffect = class(TGLEffect)

Description

An object effect that gets rendered after owner object's render. The current OpenGL matrices and material are that of the owner object.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPostEffect


GLSysHelp v.2.1: GLS.Scene: Class TGLObjectAfterEffect

Class TGLObjectAfterEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLObjectAfterEffect = class(TGLEffect)

Description

An object effect that gets rendered at scene's end. No particular OpenGL matrices or material should be assumed.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectAfterEffect


GLSysHelp v.2.1: GLS.Scene: Class TGLEffects

Class TGLEffects

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLEffects = class(TXCollection)

Description

Holds a list of object effects. This object expects itself to be owned by a TGLBaseSceneObject.

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLEffects

Overview

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public | function GetNamePath: string; override;
Public | class function ItemsClass: TXCollectionItemClass; override;
Protected | function GetEffect(index: Integer): TGLEffect;
Public | procedure DoProgress(const progressTime: TGLProgressTimes);
Public | procedure RenderPostEffects(var rci: TGLRenderContextInfo); inline;
Public | procedure RenderPreEffects(var rci: TGLRenderContextInfo); inline;

Properties

Public property ObjectEffect[index:Integer]: TGLEffect read GetEffect;

Description

Methods

Public constructor Create(aOwner: TPersistent); override;
Public function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public function GetNamePath: string; override;
Public class function ItemsClass: TXCollectionItemClass; override;
Protected function GetEffect(index: Integer): TGLEffect;
Public procedure DoProgress(const progressTime: TGLProgressTimes);
Public procedure RenderPostEffects(var rci: TGLRenderContextInfo); inline;

Also take care of registering after effects with the GLSceneViewer.

Public procedure RenderPreEffects(var rci: TGLRenderContextInfo); inline;

Properties

Public property ObjectEffect[index:Integer]: TGLEffect read GetEffect;


GLSysHelp v.2.1: GLS.Scene: Class TGLCustomSceneObject

Class TGLCustomSceneObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLCustomSceneObject = class(TGLBaseSceneObject)

Description

Extended base scene object class with a material property. The material allows defining a color and texture for the object, see TGLMaterial

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject

Overview

Fields

Private | FMaterial: TGLMaterial;
Private | FHint: string;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function Blended: Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure DestroyHandle; override;
Protected | procedure Loaded; override;
Protected | procedure SetGLMaterial(AValue: TGLMaterial); inline;

Properties

Public | property Hint: string read FHint write FHint;
Public | property Material: TGLMaterial read FMaterial write SetGLMaterial;

Description

Fields

Private FMaterial: TGLMaterial;
Private FHint: string;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function Blended: Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure DestroyHandle; override;
Protected procedure Loaded; override;
Protected procedure SetGLMaterial(AValue: TGLMaterial); inline;

Properties

Public property Hint: string read FHint write FHint;
Public property Material: TGLMaterial read FMaterial write SetGLMaterial;


GLSysHelp v.2.1: GLS.Scene: Class TGLSceneRootObject

Class TGLSceneRootObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLSceneRootObject = class(TGLBaseSceneObject)

Description

This class shall be used only as a hierarchy root. It exists only as a container and shall never be rotated/scaled etc. as the class type is used in parenting optimizations. Shall never implement or add any functionality, the "Create" override only take cares of disabling the build list.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLSceneRootObject

Overview

Methods

Public constructor Create(AOwner: TComponent); override;

Description

Methods

Public constructor Create(AOwner: TComponent); override;


GLSysHelp v.2.1: GLS.Scene: Class TGLImmaterialSceneObject

Class TGLImmaterialSceneObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLImmaterialSceneObject = class(TGLCustomSceneObject)

Description

Base class for objects that do not have a published "material". Note that the material is available in public properties, but isn't applied automatically before invoking BuildList. Subclassing should be reserved to structural objects and objects that have no material of their own.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject

Overview

Methods

Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;

Properties

Published | property Behaviours;
Published | property Direction;
Published | property Effects;
Published | property Hint;
Published | property ObjectsSorting;
Published | property OnPicked;
Published | property OnProgress;
Published | property Pickable;
Published | property PitchAngle;
Published | property Position;
Published | property RollAngle;
Published | property Scale;
Published | property ShowAxes;
Published | property TurnAngle;
Published | property Up;
Published | property VisibilityCulling;
Published | property Visible;

Description

Methods

Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;

Properties

Published property Behaviours;
Published property Direction;
Published property Effects;
Published property Hint;
Published property ObjectsSorting;
Published property OnPicked;
Published property OnProgress;
Published property Pickable;
Published property PitchAngle;
Published property Position;
Published property RollAngle;
Published property Scale;
Published property ShowAxes;
Published property TurnAngle;
Published property Up;
Published property VisibilityCulling;
Published property Visible;


GLSysHelp v.2.1: GLS.Scene: Class TGLCameraInvariantObject

Class TGLCameraInvariantObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLCameraInvariantObject = class(TGLImmaterialSceneObject)

Description

Base class for camera invariant objects. Camera invariant objects bypass camera settings, such as camera position (object is always centered on camera) or camera orientation (object always has same orientation as camera).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLCameraInvariantObject

Overview

Fields

Private FCamInvarianceMode: TGLCameraInvarianceMode;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure SetCamInvarianceMode(const val: TGLCameraInvarianceMode);

Properties

Protected property CamInvarianceMode: TGLCameraInvarianceMode read FCamInvarianceMode write SetCamInvarianceMode;

Description

Fields

Private FCamInvarianceMode: TGLCameraInvarianceMode;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure SetCamInvarianceMode(const val: TGLCameraInvarianceMode);

Properties

Protected property CamInvarianceMode: TGLCameraInvarianceMode read FCamInvarianceMode write SetCamInvarianceMode;


GLSysHelp v.2.1: GLS.Scene: Class TGLSceneObject

Class TGLSceneObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLSceneObject = class(TGLCustomSceneObject)

Description

Base class for standard scene objects. Publishes the Material property.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject

Overview

Properties

Published | property Behaviours;
Published | property Direction;
Published | property Effects;
Published | property Hint;
Published | property Material;
Published | property ObjectsSorting;
Published | property OnPicked;
Published | property OnProgress;
Published | property Pickable;
Published | property PitchAngle;
Published | property Position;
Published | property RollAngle;
Published | property Scale;
Published | property ShowAxes;
Published | property TurnAngle;
Published | property Up;
Published | property VisibilityCulling;
Published | property Visible;

Description

Properties

Published property Behaviours;
Published property Direction;
Published property Effects;
Published property Hint;
Published property Material;
Published property ObjectsSorting;
Published property OnPicked;
Published property OnProgress;
Published property Pickable;
Published property PitchAngle;
Published property Position;
Published property RollAngle;
Published property Scale;
Published property ShowAxes;
Published property TurnAngle;
Published property Up;
Published property VisibilityCulling;
Published property Visible;


GLSysHelp v.2.1: GLS.Scene: Class TGLDirectOpenGL

Class TGLDirectOpenGL

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLDirectOpenGL = class(TGLImmaterialSceneObject)

Description

Provides a way to issue direct OpenGL calls during the rendering. You can use this object to do your specific rendering task in its OnRender event. The OpenGL calls shall restore the OpenGL states they found when entering, or exclusively use the GLMisc utility functions to alter the states.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLDirectOpenGL

Overview

Fields

Private | FUseBuildList: Boolean;
Private | FOnRender: TGLDirectRenderEvent;
Private | FBlend: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected | function Blended: Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetBlend(const val: Boolean);
Protected | procedure SetUseBuildList(const val: Boolean);

Properties

Published | property Blend: Boolean read FBlend write SetBlend;
Published | property OnRender: TGLDirectRenderEvent read FOnRender write FOnRender;
Published | property UseBuildList: Boolean read FUseBuildList write SetUseBuildList;

Description

Fields

Private FUseBuildList: Boolean;
Private FOnRender: TGLDirectRenderEvent;
Private FBlend: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Protected function Blended: Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetBlend(const val: Boolean);
Protected procedure SetUseBuildList(const val: Boolean);

Properties

Published property Blend: Boolean read FBlend write SetBlend;

Defines if the object uses blending. This property will allow direct opengl objects to be flagged as blended for object sorting purposes.

Published property OnRender: TGLDirectRenderEvent read FOnRender write FOnRender;

Place your specific OpenGL code here. The OpenGL calls shall restore the OpenGL states they found when entering, or exclusively use the GLMisc utility functions to alter the states.

Published property UseBuildList: Boolean read FUseBuildList write SetUseBuildList;

Specifies if a build list be made. If True, GLScene will generate a build list (OpenGL-side cache), ie. OnRender will only be invoked once for the first render, or after a StructureChanged call. This is suitable for "static" geometry and will usually speed up rendering of things that don't change. If false, OnRender will be invoked for each render. This is suitable for dynamic geometry (things that change often or constantly).


GLSysHelp v.2.1: GLS.Scene: Class TGLRenderPoint

Class TGLRenderPoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLRenderPoint = class(TGLImmaterialSceneObject)

Description

Scene object that allows other objects to issue rendering at some point. This object is used to specify a render point for which other components have (rendering) tasks to perform. It doesn't render anything itself and is invisible, but other components can register and be notified when the point is reached in the rendering phase. Callbacks must be explicitly unregistered.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLRenderPoint

Overview

Fields

Private | FCallBacks: array of TGLDirectRenderEvent;
Private | FFreeCallBacks: array of TNotifyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure Clear;
Public | procedure RegisterCallBack(renderEvent: TGLDirectRenderEvent; renderPointFreed: TNotifyEvent);
Public | procedure UnRegisterCallBack(renderEvent: TGLDirectRenderEvent);

Description

Fields

Private FCallBacks: array of TGLDirectRenderEvent;
Private FFreeCallBacks: array of TNotifyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure Clear;
Public procedure RegisterCallBack(renderEvent: TGLDirectRenderEvent; renderPointFreed: TNotifyEvent);
Public procedure UnRegisterCallBack(renderEvent: TGLDirectRenderEvent);


GLSysHelp v.2.1: GLS.Scene: Class TGLProxyObject

Class TGLProxyObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLProxyObject = class(TGLBaseSceneObject)

Description

A full proxy object. This object literally uses another object's Render method to do its own rendering, however, it has a coordinate system and a life of its own. Use it for duplicates of an object.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLProxyObject

Overview

Fields

Private | FMasterObject: TGLBaseSceneObject;
Private | FProxyOptions: TGLProxyObjectOptions;
Protected | FRendering: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensions: TGLVector; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function BarycenterAbsolutePosition: TGLVector; override;
Public | function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMasterObject(const val: TGLBaseSceneObject); virtual;
Protected | procedure SetProxyOptions(const val: TGLProxyObjectOptions);

Properties

Published | property Behaviours;
Published | property Direction;
Published | property MasterObject: TGLBaseSceneObject read FMasterObject write SetMasterObject;
Published | property ObjectsSorting;
Published | property OnPicked;
Published | property OnProgress;
Published | property Pickable;
Published | property PitchAngle;
Published | property Position;
Published | property ProxyOptions: TGLProxyObjectOptions read FProxyOptions write SetProxyOptions default cDefaultProxyOptions;
Published | property RollAngle;
Published | property Scale;
Published | property ShowAxes;
Published | property TurnAngle;
Published | property Up;
Published | property Visible;

Description

Fields

Private FMasterObject: TGLBaseSceneObject;
Private FProxyOptions: TGLProxyObjectOptions;
Protected FRendering: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensions: TGLVector; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function BarycenterAbsolutePosition: TGLVector; override;
Public function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMasterObject(const val: TGLBaseSceneObject); virtual;
Protected procedure SetProxyOptions(const val: TGLProxyObjectOptions);

Properties

Published property Behaviours;
Published property Direction;
Published property MasterObject: TGLBaseSceneObject read FMasterObject write SetMasterObject;

Specifies the Master object which will be proxy'ed.

Published property ObjectsSorting;
Published property OnPicked;
Published property OnProgress;
Published property Pickable;
Published property PitchAngle;
Published property Position;
Published property ProxyOptions: TGLProxyObjectOptions read FProxyOptions write SetProxyOptions default cDefaultProxyOptions;

Specifies how and what is proxy'ed.

Published property RollAngle;
Published property Scale;
Published property ShowAxes;
Published property TurnAngle;
Published property Up;
Published property Visible;


GLSysHelp v.2.1: GLS.Scene: Class TGLLightSource

Class TGLLightSource

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLLightSource = class(TGLBaseSceneObject)

Description

Standard light source. The standard GLScene light source covers spotlights, omnidirectionnal and parallel sources (see TLightStyle). Lights are colored, have distance attenuation parameters and are turned on/off through their Shining property. Lightsources are managed in a specific object by the TGLScene for rendering purposes. The maximum number of light source in a scene is limited by the OpenGL implementation (8 lights are supported under most ICDs), though the more light you use, the slower rendering may get. If you want to render many more light/lightsource, you may have to resort to other techniques like lightmapping.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLLightSource

Overview

Fields

Private | FLightID: Cardinal;
Private | FSpotDirection: TGLCoordinates;
Private | FSpotExponent: Single;
Private | FSpotCutOff: Single;
Private | FConstAttenuation: Single;
Private | FLinearAttenuation: Single;
Private | FQuadraticAttenuation: Single;
Private | FShining: Boolean;
Private | FAmbient: TGLColor;
Private | FDiffuse: TGLColor;
Private | FSpecular: TGLColor;
Private | FLightStyle: TGLLightStyle;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Attenuated: Boolean;
Public | function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public | procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure SetAmbient(AValue: TGLColor);
Protected | procedure SetConstAttenuation(AValue: Single);
Protected | procedure SetDiffuse(AValue: TGLColor);
Protected | procedure SetLightStyle(const val: TGLLightStyle);
Protected | procedure SetLinearAttenuation(AValue: Single);
Protected | procedure SetQuadraticAttenuation(AValue: Single);
Protected | procedure SetShining(AValue: Boolean);
Protected | procedure SetSpecular(AValue: TGLColor);
Protected | procedure SetSpotCutOff(const val: Single);
Protected | procedure SetSpotDirection(AVector: TGLCoordinates);
Protected | procedure SetSpotExponent(AValue: Single);

Properties

Published | property Ambient: TGLColor read FAmbient write SetAmbient;
Published | property ConstAttenuation: Single read FConstAttenuation write SetConstAttenuation;
Published | property Diffuse: TGLColor read FDiffuse write SetDiffuse;
Public | property LightID: Cardinal read FLightID;
Published | property LightStyle: TGLLightStyle read FLightStyle write SetLightStyle default lsSpot;
Published | property LinearAttenuation: Single read FLinearAttenuation write SetLinearAttenuation;
Published | property OnProgress;
Published | property Position;
Published | property QuadraticAttenuation: Single read FQuadraticAttenuation write SetQuadraticAttenuation;
Published | property Shining: Boolean read FShining write SetShining default True;
Published | property Specular: TGLColor read FSpecular write SetSpecular;
Published | property SpotCutOff: Single read FSpotCutOff write SetSpotCutOff;
Published | property SpotDirection: TGLCoordinates read FSpotDirection write SetSpotDirection;
Published | property SpotExponent: Single read FSpotExponent write SetSpotExponent;

Description

Fields

Private FLightID: Cardinal;
Private FSpotDirection: TGLCoordinates;
Private FSpotExponent: Single;
Private FSpotCutOff: Single;
Private FConstAttenuation: Single;
Private FLinearAttenuation: Single;
Private FQuadraticAttenuation: Single;
Private FShining: Boolean;
Private FAmbient: TGLColor;
Private FDiffuse: TGLColor;
Private FSpecular: TGLColor;
Private FLightStyle: TGLLightStyle;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Attenuated: Boolean;
Public function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;

light sources have different handle types than normal scene objects

Public procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure SetAmbient(AValue: TGLColor);
Protected procedure SetConstAttenuation(AValue: Single);
Protected procedure SetDiffuse(AValue: TGLColor);
Protected procedure SetLightStyle(const val: TGLLightStyle);
Protected procedure SetLinearAttenuation(AValue: Single);
Protected procedure SetQuadraticAttenuation(AValue: Single);
Protected procedure SetShining(AValue: Boolean);
Protected procedure SetSpecular(AValue: TGLColor);
Protected procedure SetSpotCutOff(const val: Single);
Protected procedure SetSpotDirection(AVector: TGLCoordinates);
Protected procedure SetSpotExponent(AValue: Single);

Properties

Published property Ambient: TGLColor read FAmbient write SetAmbient;
Published property ConstAttenuation: Single read FConstAttenuation write SetConstAttenuation;
Published property Diffuse: TGLColor read FDiffuse write SetDiffuse;
Public property LightID: Cardinal read FLightID;
Published property LightStyle: TGLLightStyle read FLightStyle write SetLightStyle default lsSpot;
Published property LinearAttenuation: Single read FLinearAttenuation write SetLinearAttenuation;
Published property OnProgress;
Published property Position;
Published property QuadraticAttenuation: Single read FQuadraticAttenuation write SetQuadraticAttenuation;
Published property Shining: Boolean read FShining write SetShining default True;
Published property Specular: TGLColor read FSpecular write SetSpecular;
Published property SpotCutOff: Single read FSpotCutOff write SetSpotCutOff;
Published property SpotDirection: TGLCoordinates read FSpotDirection write SetSpotDirection;
Published property SpotExponent: Single read FSpotExponent write SetSpotExponent;


GLSysHelp v.2.1: GLS.Scene: Class TGLCamera

Class TGLCamera

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLCamera = class(TGLBaseSceneObject)

Description

Camera object. This object is commonly referred by TGLSceneViewer and defines a position, direction, focal length, depth of view... all the properties needed for defining a point of view and optical characteristics.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCamera

Overview

Fields

Private | FFocalLength: Single;
Private | FDepthOfView: Single;
Private | FNearPlane: Single;
Private | FNearPlaneBias: Single;
Private | FViewPortRadius: Single;
Private | FTargetObject: TGLBaseSceneObject;
Private | FLastDirection: TGLVector;
Private | FCameraStyle: TGLCameraStyle;
Private | FKeepFOVMode: TGLCameraKeepFOVMode;
Private | FSceneScale: Single;
Private | FDeferredApply: TNotifyEvent;
Private | FOnCustomPerspective: TOnCustomPerspective;
Private | FDesign: Boolean;
Private | FFOVY: Double;
Private | FFOVX: Double;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AbsoluteEyeSpaceVector(forwardDistance, rightDistance, upDistance: Single): TGLVector;
Public | function AbsoluteRightVectorToTarget: TGLVector;
Public | function AbsoluteUpVectorToTarget: TGLVector;
Public | function AbsoluteVectorToTarget: TGLVector;
Public | function DistanceToTarget: Single;
Public | function GetFieldOfView(const AViewportDimension: single): single;
Public | function PointInFront(const point: TGLVector): boolean; overload;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public | function ScreenDeltaToVector(deltaX, deltaY: Integer; ratio: Single; const planeNormal: TGLVector): TGLVector;
Public | function ScreenDeltaToVectorXY(deltaX, deltaY: Integer; ratio: Single): TGLVector;
Public | function ScreenDeltaToVectorXZ(deltaX, deltaY: Integer; ratio: Single): TGLVector;
Public | function ScreenDeltaToVectorYZ(deltaX, deltaY: Integer; ratio: Single): TGLVector;
Protected | function StoreNearPlaneBias: Boolean;
Protected | function StoreSceneScale: Boolean;
Public | procedure AdjustDistanceToTarget(distanceRatio: Single);
Public | procedure Apply;
Public | procedure ApplyPerspective(const AViewport: TRectangle; AWidth, AHeight: Integer; ADPI: Integer);
Public | procedure Assign(Source: TPersistent); override;
Public | procedure AutoLeveling(Factor: Single);
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure MoveAllAroundTarget(pitchDelta, turnDelta :Single);
Public | procedure MoveAroundTarget(pitchDelta, turnDelta: Single);
Public | procedure MoveInEyeSpace(forwardDistance, rightDistance, upDistance: Single);
Public | procedure MoveTargetInEyeSpace(forwardDistance, rightDistance, upDistance: Single);
Public | procedure Reset(aSceneBuffer: TGLSceneBuffer);
Public | procedure RotateObject(obj: TGLBaseSceneObject; pitchDelta, turnDelta: Single; rollDelta: Single = 0);
Public | procedure RotateTarget(pitchDelta, turnDelta: Single; rollDelta: Single = 0);
Public | procedure SetFieldOfView(const AFieldOfView, AViewportDimension: single);
Public | procedure ZoomAll(aSceneBuffer: TGLSceneBuffer);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetCameraStyle(const val: TGLCameraStyle);
Protected | procedure SetDepthOfView(AValue: Single);
Protected | procedure SetFocalLength(AValue: Single);
Protected | procedure SetKeepFOVMode(const val: TGLCameraKeepFOVMode);
Protected | procedure SetNearPlaneBias(value: Single);
Protected | procedure SetSceneScale(value: Single);
Protected | procedure SetTargetObject(const val: TGLBaseSceneObject);

Properties

Published | property CameraStyle: TGLCameraStyle read FCameraStyle write SetCameraStyle default csPerspective;
Published | property DepthOfView: Single read FDepthOfView write SetDepthOfView;
Published | property Direction;
Published | property FocalLength: Single read FFocalLength write SetFocalLength;
Published | property KeepFOVMode: TGLCameraKeepFOVMode read FKeepFOVMode write SetKeepFOVMode default ckmHorizontalFOV;
Public | property NearPlane: Single read FNearPlane;
Published | property NearPlaneBias: Single read FNearPlaneBias write SetNearPlaneBias stored StoreNearPlaneBias;
Published | property OnCustomPerspective: TOnCustomPerspective read FOnCustomPerspective write FOnCustomPerspective;
Published | property OnProgress;
Published | property Position;
Published | property SceneScale: Single read FSceneScale write SetSceneScale stored StoreSceneScale;
Published | property TargetObject: TGLBaseSceneObject read FTargetObject write SetTargetObject;
Published | property Up;

Description

Fields

Private FFocalLength: Single;
Private FDepthOfView: Single;
Private FNearPlane: Single;
Private FNearPlaneBias: Single;

nearest distance to the camera

Private FViewPortRadius: Single;

scaling bias applied to near plane

Private FTargetObject: TGLBaseSceneObject;

viewport bounding radius per distance unit

Private FLastDirection: TGLVector;
Private FCameraStyle: TGLCameraStyle;

Not persistent

Private FKeepFOVMode: TGLCameraKeepFOVMode;
Private FSceneScale: Single;
Private FDeferredApply: TNotifyEvent;
Private FOnCustomPerspective: TOnCustomPerspective;
Private FDesign: Boolean;
Private FFOVY: Double;
Private FFOVX: Double;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function AbsoluteEyeSpaceVector(forwardDistance, rightDistance, upDistance: Single): TGLVector;

Computes the absolute vector corresponding to the eye-space translations.

Public function AbsoluteRightVectorToTarget: TGLVector;

Computes the absolute normalized right vector to the camera target. If no target is defined, AbsoluteRight is returned.

Public function AbsoluteUpVectorToTarget: TGLVector;

Computes the absolute normalized up vector to the camera target. If no target is defined, AbsoluteUpt is returned.

Public function AbsoluteVectorToTarget: TGLVector;

Computes the absolute normalized vector to the camera target. If no target is defined, AbsoluteDirection is returned.

Public function DistanceToTarget: Single;

Returns the distance from camera to target. If TargetObject is nil, returns 1.

Public function GetFieldOfView(const AViewportDimension: single): single;

Calculates the field of view in degrees, given a viewport dimension (width or height). F.i. you may wish to use the minimum of the two.

Public function PointInFront(const point: TGLVector): boolean; overload;

Returns true if a point is in front of the camera.

Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public function ScreenDeltaToVector(deltaX, deltaY: Integer; ratio: Single; const planeNormal: TGLVector): TGLVector;

Calculate an absolute translation vector from a screen vector. Ratio is applied to both screen delta, planeNormal should be the translation plane's normal.

Public function ScreenDeltaToVectorXY(deltaX, deltaY: Integer; ratio: Single): TGLVector;

Same as ScreenDeltaToVector but optimized for XY plane.

Public function ScreenDeltaToVectorXZ(deltaX, deltaY: Integer; ratio: Single): TGLVector;

Same as ScreenDeltaToVector but optimized for XZ plane.

Public function ScreenDeltaToVectorYZ(deltaX, deltaY: Integer; ratio: Single): TGLVector;

Same as ScreenDeltaToVector but optimized for YZ plane.

Protected function StoreNearPlaneBias: Boolean;
Protected function StoreSceneScale: Boolean;
Public procedure AdjustDistanceToTarget(distanceRatio: Single);

Adjusts distance from camera to target by applying a ratio. If TargetObject is nil, nothing happens. This method helps in quickly implementing camera controls. Only the camera's position is changed.

Public procedure Apply;

Apply camera transformation

Public procedure ApplyPerspective(const AViewport: TRectangle; AWidth, AHeight: Integer; ADPI: Integer);
Public procedure Assign(Source: TPersistent); override;
Public procedure AutoLeveling(Factor: Single);
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure MoveAllAroundTarget(pitchDelta, turnDelta :Single);

Change camera's position to make it move all around its target. If TargetObject is nil, nothing happens. This method helps in quickly implementing camera controls. Camera's Up and Direction properties are changed. Angle deltas are in degrees.

Public procedure MoveAroundTarget(pitchDelta, turnDelta: Single);

Change camera's position to make it move around its target. If TargetObject is nil, nothing happens. This method helps in quickly implementing camera controls. Camera's Up and Direction properties are unchanged. Angle deltas are in degrees, camera parent's coordinates should be identity. Tip : make the camera a child of a "target" dummycube and make it a target the dummycube. Now, to pan across the scene, just move the dummycube, to change viewing angle, use this method.

Public procedure MoveInEyeSpace(forwardDistance, rightDistance, upDistance: Single);

Moves the camera in eye space coordinates.

Public procedure MoveTargetInEyeSpace(forwardDistance, rightDistance, upDistance: Single);

Moves the target in eye space coordinates.

Public procedure Reset(aSceneBuffer: TGLSceneBuffer);
Public procedure RotateObject(obj: TGLBaseSceneObject; pitchDelta, turnDelta: Single; rollDelta: Single = 0);
Public procedure RotateTarget(pitchDelta, turnDelta: Single; rollDelta: Single = 0);
Public procedure SetFieldOfView(const AFieldOfView, AViewportDimension: single);

Sets the FocalLength in degrees, given a field of view and a viewport dimension (width or height).

Public procedure ZoomAll(aSceneBuffer: TGLSceneBuffer);

Position the camera so that the whole scene can be seen

Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetCameraStyle(const val: TGLCameraStyle);
Protected procedure SetDepthOfView(AValue: Single);
Protected procedure SetFocalLength(AValue: Single);
Protected procedure SetKeepFOVMode(const val: TGLCameraKeepFOVMode);
Protected procedure SetNearPlaneBias(value: Single);
Protected procedure SetSceneScale(value: Single);
Protected procedure SetTargetObject(const val: TGLBaseSceneObject);

Properties

Published property CameraStyle: TGLCameraStyle read FCameraStyle write SetCameraStyle default csPerspective;

Adjust the camera style. Three styles are available : csPerspective, the default value for perspective projection csOrthogonal, for orthogonal (or isometric) projection. csOrtho2D, setups orthogonal 2D projection in which 1 unit (in x or y) represents 1 pixel. csInfinitePerspective, for perspective view without depth limit. csKeepCamAnglePerspective, for perspective view with keeping aspect on view resize. csCustom, setup is deferred to the OnCustomPerspective event.

Published property DepthOfView: Single read FDepthOfView write SetDepthOfView;

Depth of field/view. Adjusts the maximum distance, beyond which objects will be clipped (ie. not visisble). You must adjust this value if you are experiencing disappearing objects (increase the value) of Z-Buffer crawling (decrease the value). Z-Buffer crawling happens when depth of view is too large and the Z-Buffer precision cannot account for all that depth accurately : objects farther overlap closer objects and vice-versa. Note that this value is ignored in cSOrtho2D mode.

Published property Direction;
Published property FocalLength: Single read FFocalLength write SetFocalLength;

Focal Length of the camera. Adjusting this value allows for lens zooming effects (use SceneScale for linear zooming). This property affects near/far planes clipping.

Published property KeepFOVMode: TGLCameraKeepFOVMode read FKeepFOVMode write SetKeepFOVMode default ckmHorizontalFOV;

Keep camera angle mode. When CameraStyle is csKeepCamAnglePerspective, select which camera angle you want to keep. kaHeight, for Keep Height oriented camera angle kaWidth, for Keep Width oriented camera angle

Public property NearPlane: Single read FNearPlane;

Nearest clipping plane for the frustum. This value depends on the FocalLength and DepthOfView fields and is calculated to minimize Z-Buffer crawling as suggested by the OpenGL documentation.

Published property NearPlaneBias: Single read FNearPlaneBias write SetNearPlaneBias stored StoreNearPlaneBias;

Scaling bias applied to near-plane calculation. Values inferior to one will move the nearplane nearer, and also reduce medium/long range Z-Buffer precision, values superior to one will move the nearplane farther, and also improve medium/long range Z-Buffer precision.

Published property OnCustomPerspective: TOnCustomPerspective read FOnCustomPerspective write FOnCustomPerspective;

Custom perspective event. This event allows you to specify your custom perpective, either with a glFrustrum, a glOrtho or whatever method suits you. You must compute viewPortRadius for culling to work. This event is only called if CameraStyle is csCustom.

Published property OnProgress;
Published property Position;
Published property SceneScale: Single read FSceneScale write SetSceneScale stored StoreSceneScale;

Scene scaling for camera point. This is a linear 2D scaling of the camera's output, allows for linear zooming (use FocalLength for lens zooming).

Published property TargetObject: TGLBaseSceneObject read FTargetObject write SetTargetObject;

If set, camera will point to this object. When camera is pointing an object, the Direction vector is ignored and the Up vector is used as an absolute vector to the up.

Published property Up;


GLSysHelp v.2.1: GLS.Scene: Class TGLScene

Class TGLScene

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLScene = class(TGLUpdateAbleComponent)

Description

Scene component class. The scene contains the scene description (lights, geometry...), which is basicly a hierarchical scene graph made of TGLBaseSceneObject. It will usually contain one or more TGLCamera object, which can be referred by a Viewer component for rendering purposes. The scene's objects can be accessed directly from code (as regular components), but those are edited with a specific editor (double-click on the TGLScene component at design-time to invoke it). To add objects at runtime, use the AddNewChild method of TGLBaseSceneObject.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLScene

Overview

Fields

Private | FUpdateCount: Integer;
Private | FObjects: TGLSceneRootObject;
Private | FBaseContext: TGLContext;
Private | FLights: TPersistentObjectList;
Private | FBuffers: TPersistentObjectList;
Private | FCurrentGLCamera: TGLCamera;
Private | FCurrentBuffer: TGLSceneBuffer;
Private | FObjectsSorting: TGLObjectsSorting;
Private | FVisibilityCulling: TGLVisibilityCulling;
Private | FOnBeforeProgress: TGLProgressEvent;
Private | FOnProgress: TGLProgressEvent;
Private | FCurrentDeltaTime: Double;
Private | FInitializableObjects: TGLInitializableObjectList;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function FindSceneObject(const AName: string): TGLBaseSceneObject;
Public | function IsUpdating: Boolean;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): TGLBaseSceneObject;
Public | procedure AddBuffer(aBuffer: TGLSceneBuffer);
Public | procedure BeginUpdate;
Public | procedure EndUpdate;
Public | procedure LoadFromFile(const fileName: string);
Public | procedure LoadFromStream(aStream: TStream);
Public | procedure LoadFromTextFile(const fileName: string);
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure Progress(const deltaTime, newTime: Double);
Public | procedure RemoveBuffer(aBuffer: TGLSceneBuffer);
Public | procedure SaveToFile(const fileName: string);
Public | procedure SaveToStream(aStream: TStream);
Public | procedure SaveToTextFile(const fileName: string);
Public | procedure SetupLights(maxLights: Integer);
Public | procedure ShutdownAllLights;
Protected | procedure AddLight(aLight: TGLLightSource);
Protected | procedure AddLights(anObj: TGLBaseSceneObject);
Protected | procedure GetChildren(AProc: TGetChildProc; Root: TComponent); override;
Protected | procedure ReadState(Reader: TReader); override;
Protected | procedure RemoveLight(aLight: TGLLightSource);
Protected | procedure RemoveLights(anObj: TGLBaseSceneObject);
Protected | procedure SetChildOrder(AChild: TComponent; Order: Integer); override;
Protected | procedure SetObjectsSorting(const val: TGLObjectsSorting);
Protected | procedure SetVisibilityCulling(const val: TGLVisibilityCulling);

Properties

Public | property CurrentBuffer: TGLSceneBuffer read FCurrentBuffer;
Public | property CurrentDeltaTime: Double read FCurrentDeltaTime;
Public | property CurrentGLCamera: TGLCamera read FCurrentGLCamera;
Public | property InitializableObjects: TGLInitializableObjectList read FInitializableObjects;
Public | property Lights: TPersistentObjectList read FLights;
Public | property Objects: TGLSceneRootObject read FObjects;
Published | property ObjectsSorting: TGLObjectsSorting read FObjectsSorting write SetObjectsSorting default osRenderBlendedLast;
Published | property OnBeforeProgress: TGLProgressEvent read FOnBeforeProgress write FOnBeforeProgress;
Published | property OnProgress: TGLProgressEvent read FOnProgress write FOnProgress;
Published | property VisibilityCulling: TGLVisibilityCulling read FVisibilityCulling write SetVisibilityCulling default vcNone;

Description

Fields

Private FUpdateCount: Integer;
Private FObjects: TGLSceneRootObject;
Private FBaseContext: TGLContext;
Private FLights: TPersistentObjectList;

reference, not owned!

Private FBuffers: TPersistentObjectList;

reference, not owned!

Private FCurrentGLCamera: TGLCamera;
Private FCurrentBuffer: TGLSceneBuffer;
Private FObjectsSorting: TGLObjectsSorting;
Private FVisibilityCulling: TGLVisibilityCulling;
Private FOnBeforeProgress: TGLProgressEvent;
Private FOnProgress: TGLProgressEvent;
Private FCurrentDeltaTime: Double;
Private FInitializableObjects: TGLInitializableObjectList;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function FindSceneObject(const AName: string): TGLBaseSceneObject;
Public function IsUpdating: Boolean;
Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): TGLBaseSceneObject;

Calculates, finds and returns the first object intercepted by the ray. Returns nil if no intersection was found. This function will be accurate only for objects that overrided their RayCastIntersect method with accurate code, otherwise, bounding sphere intersections will be returned.

Public procedure AddBuffer(aBuffer: TGLSceneBuffer);
Public procedure BeginUpdate;
Public procedure EndUpdate;
Public procedure LoadFromFile(const fileName: string);

Load the scene from a file. Existing objects/lights/cameras are freed, then the file is loaded. Delphi's IDE is not handling this behaviour properly yet, ie. if you load a scene in the IDE, objects will be properly loaded, but no declare will be placed in the code.

Public procedure LoadFromStream(aStream: TStream);
Public procedure LoadFromTextFile(const fileName: string);

Load the scene from a text files. See LoadFromFile for details.

Public procedure NotifyChange(Sender: TObject); override;
Public procedure Progress(const deltaTime, newTime: Double);
Public procedure RemoveBuffer(aBuffer: TGLSceneBuffer);
Public procedure SaveToFile(const fileName: string);

Saves the scene to a file (recommended extension : .GLSM)

Public procedure SaveToStream(aStream: TStream);
Public procedure SaveToTextFile(const fileName: string);

Saves the scene to a text file

Public procedure SetupLights(maxLights: Integer);
Public procedure ShutdownAllLights;
Protected procedure AddLight(aLight: TGLLightSource);
Protected procedure AddLights(anObj: TGLBaseSceneObject);

Adds all lights in the subtree (anObj included)

Protected procedure GetChildren(AProc: TGetChildProc; Root: TComponent); override;
Protected procedure ReadState(Reader: TReader); override;
Protected procedure RemoveLight(aLight: TGLLightSource);
Protected procedure RemoveLights(anObj: TGLBaseSceneObject);

Removes all lights in the subtree (anObj included)

Protected procedure SetChildOrder(AChild: TComponent; Order: Integer); override;
Protected procedure SetObjectsSorting(const val: TGLObjectsSorting);
Protected procedure SetVisibilityCulling(const val: TGLVisibilityCulling);

Properties

Public property CurrentBuffer: TGLSceneBuffer read FCurrentBuffer;
Public property CurrentDeltaTime: Double read FCurrentDeltaTime;
Public property CurrentGLCamera: TGLCamera read FCurrentGLCamera;
Public property InitializableObjects: TGLInitializableObjectList read FInitializableObjects;

List of objects that request to be initialized when rendering context is active. They are removed automaticly from this list once initialized.

Public property Lights: TPersistentObjectList read FLights;
Public property Objects: TGLSceneRootObject read FObjects;
Published property ObjectsSorting: TGLObjectsSorting read FObjectsSorting write SetObjectsSorting default osRenderBlendedLast;

Defines default ObjectSorting option for scene objects.

Published property OnBeforeProgress: TGLProgressEvent read FOnBeforeProgress write FOnBeforeProgress;
Published property OnProgress: TGLProgressEvent read FOnProgress write FOnProgress;
Published property VisibilityCulling: TGLVisibilityCulling read FVisibilityCulling write SetVisibilityCulling default vcNone;

Defines default VisibilityCulling option for scene objects.


GLSysHelp v.2.1: GLS.Scene: Class TGLFogEnvironment

Class TGLFogEnvironment

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLFogEnvironment = class(TGLUpdateAbleObject)

Description

Parameters for fog environment in a scene. The fog descibed by this object is a distance-based fog, ie. the "intensity" of the fog is given by a formula depending solely on the distance, this intensity is used for blending to a fixed color.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLFogEnvironment

Overview

Fields

Private | FSceneBuffer: TGLSceneBuffer;
Private | FFogColor: TGLColor;
Private | FFogStart: Single;
Private | FFogEnd: Single;
Private | FFogMode: TFogMode;
Private | FFogDistance: TFogDistance;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function IsAtDefaultValues: Boolean;
Public | procedure ApplyFog;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure SetFogColor(Value: TGLColor);
Protected | procedure SetFogDistance(const val: TFogDistance);
Protected | procedure SetFogEnd(Value: Single);
Protected | procedure SetFogMode(Value: TFogMode);
Protected | procedure SetFogStart(Value: Single);

Properties

Published | property FogColor: TGLColor read FFogColor write SetFogColor;
Published | property FogDistance: TFogDistance read FFogDistance write SetFogDistance default fdDefault;
Published | property FogEnd: Single read FFogEnd write SetFogEnd;
Published | property FogMode: TFogMode read FFogMode write SetFogMode default fmLinear;
Published | property FogStart: Single read FFogStart write SetFogStart;

Description

Fields

Private FSceneBuffer: TGLSceneBuffer;
Private FFogColor: TGLColor;
Private FFogStart: Single;

alpha value means the fog density

Private FFogEnd: Single;

alpha value means the fog density

Private FFogMode: TFogMode;
Private FFogDistance: TFogDistance;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function IsAtDefaultValues: Boolean;
Public procedure ApplyFog;
Public procedure Assign(Source: TPersistent); override;
Protected procedure SetFogColor(Value: TGLColor);
Protected procedure SetFogDistance(const val: TFogDistance);
Protected procedure SetFogEnd(Value: Single);
Protected procedure SetFogMode(Value: TFogMode);
Protected procedure SetFogStart(Value: Single);

Properties

Published property FogColor: TGLColor read FFogColor write SetFogColor;

Color of the fog when it is at 100% intensity.

Published property FogDistance: TFogDistance read FFogDistance write SetFogDistance default fdDefault;

Adjusts the formula used for calculating fog distances. This option is honoured if and only if the OpenGL ICD supports the GL_NV_fog_distance extension, otherwise, it is ignored. fdDefault: let OpenGL use its default formula fdEyeRadial: uses radial "true" distance (best quality) fdEyePlane: uses the distance to the projection plane (same as Z-Buffer, faster)

Published property FogEnd: Single read FFogEnd write SetFogEnd;

Maximum distance for fog, what is farther is at 100% fog intensity.

Published property FogMode: TFogMode read FFogMode write SetFogMode default fmLinear;

The formula used for converting distance to fog intensity.

Published property FogStart: Single read FFogStart write SetFogStart;

Minimum distance for fog, what is closer is not affected.


GLSysHelp v.2.1: GLS.Scene: Class TGLSceneBuffer

Class TGLSceneBuffer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLSceneBuffer = class(TGLUpdateAbleObject)

Description

Encapsulates a frame/rendering buffer.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLSceneBuffer

Overview

Fields

Private | FRendering: Boolean;
Private | FRenderingContext: TGLContext;
Private | FAfterRenderEffects: TPersistentObjectList;
Private | FViewMatrixStack: array of TGLMatrix;
Private | FProjectionMatrixStack: array of TGLMatrix;
Private | FBaseProjectionMatrix: TGLMatrix;
Private | FCameraAbsolutePosition: TGLVector;
Private | FViewPort: TRectangle;
Private | FSelector: TGLBaseSelectTechnique;
Private | FFaceCulling: Boolean;
Private | FFogEnable: Boolean;
Private | FLighting: Boolean;
Private | FDepthTest: Boolean;
Private | FBackgroundColor: TColor;
Private | FBackgroundAlpha: Single;
Private | FAmbientColor: TGLColor;
Private | FAntiAliasing: TGLAntiAliasing;
Private | FDepthPrecision: TGLDepthPrecision;
Private | FColorDepth: TGLColorDepth;
Private | FContextOptions: TGLContextOptions;
Private | FShadeModel: TGLShadeModel;
Private | FRenderDPI: Integer;
Private | FFogEnvironment: TGLFogEnvironment;
Private | FAccumBufferBits: Integer;
Private | FLayer: TGLContextLayer;
Private | FCamera: TGLCamera;
Private | FFreezeBuffer: Pointer;
Private | FFreezed: Boolean;
Private | FFreezedViewPort: TRectangle;
Private | FFrameCount: Longint;
Private | FFramesPerSecond: Single;
Private | FFirstPerfCounter: Int64;
Private | FLastFrameTime: Single;
Private | FOnChange: TNotifyEvent;
Private | FOnStructuralChange: TNotifyEvent;
Private | FOnPrepareGLContext: TNotifyEvent;
Private | FBeforeRender: TNotifyEvent;
Private | FViewerBeforeRender: TNotifyEvent;
Private | FPostRender: TNotifyEvent;
Private | FAfterRender: TNotifyEvent;
Private | FInitiateRendering: TGLDirectRenderEvent;
Private | FWrapUpRendering: TGLDirectRenderEvent;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function Acceleration: TGLContextAcceleration; inline;
Public | function CreateSnapShot: TGLImage;
Public | function CreateSnapShotBitmap: TBitmap;
Public | function GetPickedObject(x, y: Integer): TGLBaseSceneObject;
Public | function GetPickedObjects(const rect: TRect; objectCountGuess: Integer = 64): TGLPickList;
Public | function GetPixelColor(x, y: Integer): TColor;
Public | function GetPixelDepth(x, y: Integer): Single;
Public | function Height: Integer;
Public | function ModelMatrix: TGLMatrix; deprecated;
Public | function OrthoScreenToWorld(screenX, screenY: Integer): TAffineVector; overload;
Public | function PixelDepthToDistance(aDepth: Single): Single;
Public | function PixelRayToWorld(x, y: Integer): TAffineVector;
Public | function PixelToDistance(x, y: integer): Single;
Public | function ProjectionMatrix: TGLMatrix; deprecated;
Public | function RCInstantiated: Boolean;
Public | function ScreenToVector(const aPoint: TAffineVector): TAffineVector; overload;
Public | function ScreenToVector(const aPoint: TGLVector): TGLVector; overload;
Public | function ScreenToVector(const x, y: Integer): TGLVector; overload;
Public | function ScreenToWorld(const aPoint: TGLVector): TGLVector; overload;
Public | function ScreenToWorld(const aPoint: TAffineVector): TAffineVector; overload;
Public | function ScreenToWorld(screenX, screenY: Integer): TAffineVector; overload;
Public | function ScreenVectorIntersectWithPlane( const aScreenPoint: TGLVector; const planePoint, planeNormal: TGLVector; var intersectPoint: TGLVector): Boolean;
Public | function ScreenVectorIntersectWithPlaneXY( const aScreenPoint: TGLVector; const z: Single; var intersectPoint: TGLVector): Boolean;
Public | function ScreenVectorIntersectWithPlaneXZ( const aScreenPoint: TGLVector; const y: Single; var intersectPoint: TGLVector): Boolean;
Public | function ScreenVectorIntersectWithPlaneYZ( const aScreenPoint: TGLVector; const x: Single; var intersectPoint: TGLVector): Boolean;
Public | function VectorToScreen(const VectToCam: TAffineVector): TAffineVector;
Public | function ViewMatrix: TGLMatrix; deprecated;
Public | function Width: Integer;
Public | function WorldToScreen(const aPoint: TAffineVector): TAffineVector; overload;
Public | function WorldToScreen(const aPoint: TGLVector): TGLVector; overload;
Protected | function GetLimit(Which: TGLLimitType): Integer;
Protected | function StoreFog: Boolean;
Public | procedure ClearBuffers; inline;
Public | procedure CopyToTexture(aTexture: TGLTexture); overload;
Public | procedure CopyToTexture(aTexture: TGLTexture; xSrc, ySrc, AWidth, AHeight: Integer; xDest, yDest: Integer; glCubeFace: Cardinal = 0); overload;
Public | procedure CreateRC(AWindowHandle: HWND; memoryContext: Boolean; BufferCount: integer = 1); overload;
Public | procedure DestroyRC;
Public | procedure Freeze;
Public | procedure Melt;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure NotifyMouseMove(Shift: TShiftState; X, Y: Integer);
Public | procedure PickObjects(const rect: TRect; pickList: TGLPickList; objectCountGuess: Integer);
Public | procedure PopProjectionMatrix; deprecated;
Public | procedure PopViewMatrix; deprecated;
Public | procedure PushProjectionMatrix(const newMatrix: TGLMatrix); deprecated;
Public | procedure PushViewMatrix(const newMatrix: TGLMatrix); deprecated;
Public | procedure Render; overload; inline;
Public | procedure Render(baseObject: TGLBaseSceneObject); overload;
Public | procedure RenderScene(aScene: TGLScene; const viewPortSizeX, viewPortSizeY: Integer; drawState: TDrawState; baseObject: TGLBaseSceneObject);
Public | procedure RenderToBitmap(ABitmap: TBitmap; DPI: Integer = 0);
Public | procedure RenderToFile(const AFile: string; DPI: Integer = 0); overload;
Public | procedure RenderToFile(const AFile: string; bmpWidth, bmpHeight: Integer); overload;
Public | procedure ResetPerformanceMonitor;
Public | procedure Resize(newLeft, newTop, newWidth, newHeight: Integer);
Public | procedure SaveAsFloatToFile(const aFilename: string);
Public | procedure SetViewPort(X, Y, W, H: Integer);
Public | procedure ShowInfo(Modal: boolean = false);
Public | procedure WorldToScreen(points: PGLVector; nbPoints: Integer); overload;
Protected | procedure DoBaseRender(const aViewPort: TRectangle; resolution: Integer; drawState: TDrawState; baseObject: TGLBaseSceneObject);
Protected | procedure DoChange;
Protected | procedure DoStructuralChange;
Protected | procedure PrepareGLContext;
Protected | procedure PrepareRenderingMatrices(const aViewPort: TRectangle; resolution: Integer; pickingRect: PRect = nil); inline;
Protected | procedure SetAccumBufferBits(const val: Integer);
Protected | procedure SetAmbientColor(AColor: TGLColor);
Protected | procedure SetAntiAliasing(const val: TGLAntiAliasing);
Protected | procedure SetBackgroundAlpha(alpha: Single);
Protected | procedure SetBackgroundColor(AColor: TColor);
Protected | procedure SetCamera(ACamera: TGLCamera);
Protected | procedure SetColorDepth(const val: TGLColorDepth);
Protected | procedure SetContextOptions(Options: TGLContextOptions);
Protected | procedure SetDepthPrecision(const val: TGLDepthPrecision);
Protected | procedure SetDepthTest(AValue: Boolean);
Protected | procedure SetFaceCulling(AValue: Boolean);
Protected | procedure SetFogEnable(AValue: Boolean);
Protected | procedure SetGLFogEnvironment(AValue: TGLFogEnvironment);
Protected | procedure SetLighting(AValue: Boolean);
Protected | procedure SetShadeModel(const val: TGLShadeModel);
Protected | procedure SetupRCOptions(context: TGLContext);
Protected | procedure SetupRenderingContext(context: TGLContext);
Private | procedure SetLayer(const Value: TGLContextLayer);

Properties

Published | property AccumBufferBits: Integer read FAccumBufferBits write SetAccumBufferBits default 0;
Published | property AfterRender: TNotifyEvent read FAfterRender write FAfterRender stored False;
Published | property AmbientColor: TGLColor read FAmbientColor write SetAmbientColor;
Published | property AntiAliasing: TGLAntiAliasing read FAntiAliasing write SetAntiAliasing default aaDefault;
Public | property BackgroundAlpha: Single read FBackgroundAlpha write SetBackgroundAlpha;
Published | property BackgroundColor: TColor read FBackgroundColor write SetBackgroundColor default clBtnFace;
Public | property BaseProjectionMatrix: TGLMatrix read FBaseProjectionMatrix;
Published | property BeforeRender: TNotifyEvent read FBeforeRender write FBeforeRender stored False;
Public | property Camera: TGLCamera read FCamera write SetCamera;
Published | property ColorDepth: TGLColorDepth read FColorDepth write SetColorDepth default cdDefault;
Published | property ContextOptions: TGLContextOptions read FContextOptions write SetContextOptions default [roDoubleBuffer, roRenderToWindow, roDebugContext];
Published | property DepthPrecision: TGLDepthPrecision read FDepthPrecision write SetDepthPrecision default dpDefault;
Published | property DepthTest: Boolean read FDepthTest write SetDepthTest default True;
Published | property FaceCulling: Boolean read FFaceCulling write SetFaceCulling default True;
Published | property FogEnable: Boolean read FFogEnable write SetFogEnable default False;
Published | property FogEnvironment: TGLFogEnvironment read FFogEnvironment write SetGLFogEnvironment stored StoreFog;
Public | property FramesPerSecond: Single read FFramesPerSecond;
Public | property Freezed: Boolean read FFreezed;
Published | property InitiateRendering: TGLDirectRenderEvent read FInitiateRendering write FInitiateRendering stored False;
Public | property LastFrameTime: Single read FLastFrameTime;
Public | property Layer: TGLContextLayer read FLayer write SetLayer default clMainPlane;
Published | property Lighting: Boolean read FLighting write SetLighting default True;
Public | property LimitOf[Which:TGLLimitType]: Integer read GetLimit;
Published | property OnChange: TNotifyEvent read FOnChange write FOnChange stored False;
Protected | property OnPrepareGLContext: TNotifyEvent read FOnPrepareGLContext write FOnPrepareGLContext;
Published | property OnStructuralChange: TNotifyEvent read FOnStructuralChange write FOnStructuralChange stored False;
Published | property PostRender: TNotifyEvent read FPostRender write FPostRender stored False;
Protected | property RenderDPI: Integer read FRenderDPI;
Public | property Rendering: Boolean read FRendering;
Public | property RenderingContext: TGLContext read FRenderingContext;
Published | property ShadeModel: TGLShadeModel read FShadeModel write SetShadeModel default smDefault;
Public | property ViewerBeforeRender: TNotifyEvent read FViewerBeforeRender write FViewerBeforeRender stored False;
Public | property ViewPort: TRectangle read FViewPort;
Published | property WrapUpRendering: TGLDirectRenderEvent read FWrapUpRendering write FWrapUpRendering stored False;

Description

Fields

Private FRendering: Boolean;

Internal state

Private FRenderingContext: TGLContext;
Private FAfterRenderEffects: TPersistentObjectList;
Private FViewMatrixStack: array of TGLMatrix;
Private FProjectionMatrixStack: array of TGLMatrix;
Private FBaseProjectionMatrix: TGLMatrix;
Private FCameraAbsolutePosition: TGLVector;
Private FViewPort: TRectangle;
Private FSelector: TGLBaseSelectTechnique;
Private FFaceCulling: Boolean;

Options & User Properties

Private FFogEnable: Boolean;

Options & User Properties

Private FLighting: Boolean;

Options & User Properties

Private FDepthTest: Boolean;
Private FBackgroundColor: TColor;
Private FBackgroundAlpha: Single;
Private FAmbientColor: TGLColor;
Private FAntiAliasing: TGLAntiAliasing;
Private FDepthPrecision: TGLDepthPrecision;
Private FColorDepth: TGLColorDepth;
Private FContextOptions: TGLContextOptions;
Private FShadeModel: TGLShadeModel;
Private FRenderDPI: Integer;
Private FFogEnvironment: TGLFogEnvironment;
Private FAccumBufferBits: Integer;
Private FLayer: TGLContextLayer;
Private FCamera: TGLCamera;

Cameras

Private FFreezeBuffer: Pointer;

Freezing

Private FFreezed: Boolean;
Private FFreezedViewPort: TRectangle;
Private FFrameCount: Longint;

Monitoring

Private FFramesPerSecond: Single;
Private FFirstPerfCounter: Int64;
Private FLastFrameTime: Single;
Private FOnChange: TNotifyEvent;

Events

Private FOnStructuralChange: TNotifyEvent;
Private FOnPrepareGLContext: TNotifyEvent;
Private FBeforeRender: TNotifyEvent;
Private FViewerBeforeRender: TNotifyEvent;
Private FPostRender: TNotifyEvent;
Private FAfterRender: TNotifyEvent;
Private FInitiateRendering: TGLDirectRenderEvent;
Private FWrapUpRendering: TGLDirectRenderEvent;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function Acceleration: TGLContextAcceleration; inline;

Indicates hardware acceleration support

Public function CreateSnapShot: TGLImage;

Creates a TGLBitmap32 that is a snapshot of current OpenGL content. When possible, use this function instead of RenderToBitmap, it won't request a redraw and will be significantly faster. The returned TGLBitmap32 should be freed by calling code.

Public function CreateSnapShotBitmap: TBitmap;

Creates a bitmap that is a snapshot of current OpenGL content.

Public function GetPickedObject(x, y: Integer): TGLBaseSceneObject;

Returns the nearest object at x, y coordinates or nil if there is none

Public function GetPickedObjects(const rect: TRect; objectCountGuess: Integer = 64): TGLPickList;

Returns a PickList with objects in Rect area. Returned list should be freed by caller. Objects are sorted by depth (nearest objects first).

Public function GetPixelColor(x, y: Integer): TColor;

Returns the color of the pixel at x, y in the frame buffer

Public function GetPixelDepth(x, y: Integer): Single;

Returns the raw depth (Z buffer) of the pixel at x, y in the frame buffer. This value does not map to the actual eye-object distance, but to a depth buffer value in the [0; 1] range.

Public function Height: Integer;
Public function ModelMatrix: TGLMatrix; deprecated;

Warning: this symbol is deprecated.

Public function OrthoScreenToWorld(screenX, screenY: Integer): TAffineVector; overload;

Converts a screen pixel coordinate into 3D coordinates for orthogonal projection. This function accepts standard canvas coordinates, with (0,0) being the top left corner, and returns, when the camera is in orthogonal mode, the corresponding 3D world point that is in the camera's plane.

Public function PixelDepthToDistance(aDepth: Single): Single;

Converts a raw depth (Z buffer value) to frustrum distance. This calculation is only accurate for the pixel at the centre of the viewer, because it does not take into account that the corners of the frustrum are further from the eye than its centre.

Public function PixelRayToWorld(x, y: Integer): TAffineVector;

Calculates a 3D coordinate from screen position and ZBuffer. This function returns a world absolute coordinate from a 2D point in the viewer, the depth being extracted from the ZBuffer data (DepthTesting and ZBuffer must be enabled for this function to work). Note that ZBuffer precision is not linear and can be quite low on some boards (either from compression or resolution approximations).

Public function PixelToDistance(x, y: integer): Single;

Converts a raw depth (Z buffer value) to world distance. It also compensates for the fact that the corners of the frustrum are further from the eye, than its centre.

Public function ProjectionMatrix: TGLMatrix; deprecated;

Warning: this symbol is deprecated.

Returns the projection matrix in use or used for the last rendering.

Public function RCInstantiated: Boolean;
Public function ScreenToVector(const aPoint: TAffineVector): TAffineVector; overload;

Calculates the 3D vector corresponding to a 2D screen coordinate. The vector originates from the camera's absolute position and is expressed in absolute coordinates. Note that screen coord (0,0) is the lower left corner.

Public function ScreenToVector(const aPoint: TGLVector): TGLVector; overload;
Public function ScreenToVector(const x, y: Integer): TGLVector; overload;
Public function ScreenToWorld(const aPoint: TGLVector): TGLVector; overload;
Public function ScreenToWorld(const aPoint: TAffineVector): TAffineVector; overload;

Converts a screen coordinate into world (3D) coordinates. This methods wraps a call to gluUnProject. Note that screen coord (0,0) is the lower left corner.

Public function ScreenToWorld(screenX, screenY: Integer): TAffineVector; overload;

Converts a screen pixel coordinate into 3D world coordinates. This function accepts standard canvas coordinates, with (0,0) being the top left corner.

Public function ScreenVectorIntersectWithPlane( const aScreenPoint: TGLVector; const planePoint, planeNormal: TGLVector; var intersectPoint: TGLVector): Boolean;

Calculates intersection between a plane and screen vector. If an intersection is found, returns True and places result in intersectPoint.

Public function ScreenVectorIntersectWithPlaneXY( const aScreenPoint: TGLVector; const z: Single; var intersectPoint: TGLVector): Boolean;

Calculates intersection between plane XY and screen vector. If an intersection is found, returns True and places result in intersectPoint.

Public function ScreenVectorIntersectWithPlaneXZ( const aScreenPoint: TGLVector; const y: Single; var intersectPoint: TGLVector): Boolean;

Calculates intersection between plane XZ and screen vector. If an intersection is found, returns True and places result in intersectPoint.

Public function ScreenVectorIntersectWithPlaneYZ( const aScreenPoint: TGLVector; const x: Single; var intersectPoint: TGLVector): Boolean;

Calculates intersection between plane YZ and screen vector. If an intersection is found, returns True and places result in intersectPoint.

Public function VectorToScreen(const VectToCam: TAffineVector): TAffineVector;

Calculates the 2D screen coordinate of a vector from the camera's absolute position and is expressed in absolute coordinates. Note that screen coord (0,0) is the lower left corner.

Public function ViewMatrix: TGLMatrix; deprecated;

Warning: this symbol is deprecated.

Returns the view matrix in use or used for the last rendering.

Public function Width: Integer;
Public function WorldToScreen(const aPoint: TAffineVector): TAffineVector; overload;

Converts an absolute world coordinate into screen coordinate. This methods wraps a call to gluProject. Note that screen coord (0,0) is the lower left corner.

Public function WorldToScreen(const aPoint: TGLVector): TGLVector; overload;
Protected function GetLimit(Which: TGLLimitType): Integer;
Protected function StoreFog: Boolean;
Public procedure ClearBuffers; inline;
Public procedure CopyToTexture(aTexture: TGLTexture); overload;
Public procedure CopyToTexture(aTexture: TGLTexture; xSrc, ySrc, AWidth, AHeight: Integer; xDest, yDest: Integer; glCubeFace: Cardinal = 0); overload;
Public procedure CreateRC(AWindowHandle: HWND; memoryContext: Boolean; BufferCount: integer = 1); overload;
Public procedure DestroyRC;
Public procedure Freeze;

Freezes rendering leaving the last rendered scene on the buffer. This is usefull in windowed applications for temporarily stoping rendering (when moving the window, for example).

Public procedure Melt;

Restarts rendering after it was freezed.

Public procedure NotifyChange(Sender: TObject); override;
Public procedure NotifyMouseMove(Shift: TShiftState; X, Y: Integer);

Design time notification

Public procedure PickObjects(const rect: TRect; pickList: TGLPickList; objectCountGuess: Integer);

Fills the PickList with objects in Rect area

Public procedure PopProjectionMatrix; deprecated;

Warning: this symbol is deprecated.

Public procedure PopViewMatrix; deprecated;

Warning: this symbol is deprecated.

Restore a View matrix previously pushed.

Public procedure PushProjectionMatrix(const newMatrix: TGLMatrix); deprecated;

Warning: this symbol is deprecated.

Public procedure PushViewMatrix(const newMatrix: TGLMatrix); deprecated;

Warning: this symbol is deprecated.

Back up current View matrix and replace it with newMatrix. This method has no effect on the OpenGL matrix, only on the Buffer's matrix, and is intended for special effects rendering.

Public procedure Render; overload; inline;
Public procedure Render(baseObject: TGLBaseSceneObject); overload;

Renders the scene on the viewer. You do not need to call this method, unless you explicitly want a render at a specific time. If you just want the control to get refreshed, use Invalidate instead.

Public procedure RenderScene(aScene: TGLScene; const viewPortSizeX, viewPortSizeY: Integer; drawState: TDrawState; baseObject: TGLBaseSceneObject);
Public procedure RenderToBitmap(ABitmap: TBitmap; DPI: Integer = 0);

Render the scene to a bitmap at given DPI. DPI = "dots per inch". The "magic" DPI of the screen is 96 under Windows.

Public procedure RenderToFile(const AFile: string; DPI: Integer = 0); overload;

Render the scene to a bitmap at given DPI and saves it to a file. DPI = "dots per inch". The "magic" DPI of the screen is 96 under Windows.

Public procedure RenderToFile(const AFile: string; bmpWidth, bmpHeight: Integer); overload;

Renders to bitmap of given size, then saves it to a file. DPI is adjusted to make the bitmap similar to the viewer.

Public procedure ResetPerformanceMonitor;

Resets the perfomance monitor and begin a new statistics set. See FramesPerSecond.

Public procedure Resize(newLeft, newTop, newWidth, newHeight: Integer);
Public procedure SaveAsFloatToFile(const aFilename: string);

Save as raw float data to a file

Public procedure SetViewPort(X, Y, W, H: Integer);
Public procedure ShowInfo(Modal: boolean = false);

Displays a window with info on current OpenGL ICD and context.

Public procedure WorldToScreen(points: PGLVector; nbPoints: Integer); overload;

Converts a set of point absolute world coordinates into screen coordinates.

Protected procedure DoBaseRender(const aViewPort: TRectangle; resolution: Integer; drawState: TDrawState; baseObject: TGLBaseSceneObject);
Protected procedure DoChange;
Protected procedure DoStructuralChange;
Protected procedure PrepareGLContext;
Protected procedure PrepareRenderingMatrices(const aViewPort: TRectangle; resolution: Integer; pickingRect: PRect = nil); inline;
Protected procedure SetAccumBufferBits(const val: Integer);
Protected procedure SetAmbientColor(AColor: TGLColor);
Protected procedure SetAntiAliasing(const val: TGLAntiAliasing);
Protected procedure SetBackgroundAlpha(alpha: Single);
Protected procedure SetBackgroundColor(AColor: TColor);
Protected procedure SetCamera(ACamera: TGLCamera);
Protected procedure SetColorDepth(const val: TGLColorDepth);
Protected procedure SetContextOptions(Options: TGLContextOptions);
Protected procedure SetDepthPrecision(const val: TGLDepthPrecision);
Protected procedure SetDepthTest(AValue: Boolean);
Protected procedure SetFaceCulling(AValue: Boolean);
Protected procedure SetFogEnable(AValue: Boolean);
Protected procedure SetGLFogEnvironment(AValue: TGLFogEnvironment);
Protected procedure SetLighting(AValue: Boolean);
Protected procedure SetShadeModel(const val: TGLShadeModel);
Protected procedure SetupRCOptions(context: TGLContext);
Protected procedure SetupRenderingContext(context: TGLContext);
Private procedure SetLayer(const Value: TGLContextLayer);

Properties

Published property AccumBufferBits: Integer read FAccumBufferBits write SetAccumBufferBits default 0;

Number of precision bits for the accumulation buffer.

Published property AfterRender: TNotifyEvent read FAfterRender write FAfterRender stored False;

Called after rendering. You cannot issue OpenGL calls in this event, if you want to do your own OpenGL stuff, use the PostRender event.

Published property AmbientColor: TGLColor read FAmbientColor write SetAmbientColor;

Scene ambient color vector. This ambient color is defined independantly from all lightsources, which can have their own ambient components.

Published property AntiAliasing: TGLAntiAliasing read FAntiAliasing write SetAntiAliasing default aaDefault;

AntiAliasing option. Ignored if not hardware supported, currently based on ARB_multisample.

Public property BackgroundAlpha: Single read FBackgroundAlpha write SetBackgroundAlpha;

Adjusts background alpha channel.

Published property BackgroundColor: TColor read FBackgroundColor write SetBackgroundColor default clBtnFace;

Color used for filling the background prior to any rendering.

Public property BaseProjectionMatrix: TGLMatrix read FBaseProjectionMatrix;

Returns the base projection matrix in use or used for the last rendering. The "base" projection is (as of now) either identity or the pick matrix, ie. it is the matrix on which the perspective or orthogonal matrix gets applied.

Published property BeforeRender: TNotifyEvent read FBeforeRender write FBeforeRender stored False;

Triggered before the scene's objects get rendered. You may use this event to execute your own OpenGL rendering (usually background stuff).

Public property Camera: TGLCamera read FCamera write SetCamera;

The camera from which the scene is rendered. A camera is an object you can add and define in a TGLScene component.

Published property ColorDepth: TGLColorDepth read FColorDepth write SetColorDepth default cdDefault;

Color buffer depth. Default depth buffer is highest available (below and including 24 bits)

Published property ContextOptions: TGLContextOptions read FContextOptions write SetContextOptions default [roDoubleBuffer, roRenderToWindow, roDebugContext];

Context options allows to setup specifics of the rendering context. Not all contexts support all options.

Published property DepthPrecision: TGLDepthPrecision read FDepthPrecision write SetDepthPrecision default dpDefault;

Depth buffer precision. Default is highest available (below and including 24 bits)

Published property DepthTest: Boolean read FDepthTest write SetDepthTest default True;

DepthTest enabling. When DepthTest is enabled, objects closer to the camera will hide farther ones (via use of Z-Buffering). When DepthTest is disabled, the latest objects drawn/rendered overlap all previous objects, whatever their distance to the camera. Even when DepthTest is enabled, objects may chose to ignore depth testing through the osIgnoreDepthBuffer of their ObjectStyle property.

Published property FaceCulling: Boolean read FFaceCulling write SetFaceCulling default True;

Enable or disable face culling in the renderer. Face culling is used in hidden faces removal algorithms : each face is given a normal or 'outside' direction. When face culling is enabled, only faces whose normal points towards the observer are rendered.

Published property FogEnable: Boolean read FFogEnable write SetFogEnable default False;

Toggle to enable or disable the fog settings.

Published property FogEnvironment: TGLFogEnvironment read FFogEnvironment write SetGLFogEnvironment stored StoreFog;

Fog environment options. See TGLFogEnvironment.

Public property FramesPerSecond: Single read FFramesPerSecond;

Current FramesPerSecond rendering speed. You must keep the renderer busy to get accurate figures from this property. This is an average value, to reset the counter, call ResetPerfomanceMonitor.

Public property Freezed: Boolean read FFreezed;

Indicates if the Viewer is "frozen".

Published property InitiateRendering: TGLDirectRenderEvent read FInitiateRendering write FInitiateRendering stored False;

Triggered after BeforeRender, before rendering objects. This one is fired after the rci has been initialized and can be used to alter it or perform early renderings that require an rci, the Sender is the buffer.

Public property LastFrameTime: Single read FLastFrameTime;

Time (in second) spent to issue rendering order for the last frame. Be aware that since execution by the hardware isn't synchronous, this value may not be an accurate measurement of the time it took to render the last frame, it's a measurement of only the time it took to issue rendering orders.

Public property Layer: TGLContextLayer read FLayer write SetLayer default clMainPlane;

Specifies the layer plane that the rendering context is bound to.

Published property Lighting: Boolean read FLighting write SetLighting default True;

Toggle to enable or disable lighting calculations. When lighting is enabled, objects will be lit according to lightsources, when lighting is disabled, objects are rendered in their own colors, without any shading. Lighting does NOT generate shadows.

Public property LimitOf[Which:TGLLimitType]: Integer read GetLimit;

Retrieve one of the OpenGL limits for the current viewer. Limits include max texture size, OpenGL stack depth, etc.

Published property OnChange: TNotifyEvent read FOnChange write FOnChange stored False;

Indicates a change in the scene or buffer options. A simple re-render is enough to take into account the changes.

Protected property OnPrepareGLContext: TNotifyEvent read FOnPrepareGLContext write FOnPrepareGLContext;
Published property OnStructuralChange: TNotifyEvent read FOnStructuralChange write FOnStructuralChange stored False;

Indicates a structural change in the scene or buffer options. A reconstruction of the RC is necessary to take into account the changes (this may lead to a driver switch or lengthy operations).

Published property PostRender: TNotifyEvent read FPostRender write FPostRender stored False;

Triggered just after all the scene's objects have been rendered. The OpenGL context is still active in this event, and you may use it to execute your own OpenGL rendering (usually for HUD, 2D overlays or after effects).

Protected property RenderDPI: Integer read FRenderDPI;

DPI for current/last render

Public property Rendering: Boolean read FRendering;

Currently Rendering?

Public property RenderingContext: TGLContext read FRenderingContext;

Current rendering context. The context is a wrapper around platform-specific contexts (see TGLContext) and takes care of context activation and handle management.

Published property ShadeModel: TGLShadeModel read FShadeModel write SetShadeModel default smDefault;

Shade model. Default is "Smooth".

Public property ViewerBeforeRender: TNotifyEvent read FViewerBeforeRender write FViewerBeforeRender stored False;

Event reserved for viewer-specific uses.

Public property ViewPort: TRectangle read FViewPort;

ViewPort for current/last render

Published property WrapUpRendering: TGLDirectRenderEvent read FWrapUpRendering write FWrapUpRendering stored False;

Triggered after rendering all scene objects, before PostRender. This is the last point after which the rci becomes unavailable, the Sender is the buffer.


GLSysHelp v.2.1: GLS.Scene: Class TGLNonVisualViewer

Class TGLNonVisualViewer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLNonVisualViewer = class(TComponent)

Description

Base class for non-visual viewer. Non-visual viewer may actually render visuals, but they are non-visual (ie. non interactive) at design time. Such viewers include memory or full-screen viewers.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNonVisualViewer

Overview

Fields

Private | FBuffer: TGLSceneBuffer;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FCubeMapRotIdx: Integer;
Private | FCubeMapZNear: Single;
Private | FCubeMapZFar: Single;
Private | FCubeMapTranslation: TAffineVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetAfterRender: TNotifyEvent;
Protected | function GetBeforeRender: TNotifyEvent;
Protected | function GetCamera: TGLCamera;
Protected | function GetPostRender: TNotifyEvent;
Public | procedure CopyToTexture(aTexture: TGLTexture); overload; virtual;
Public | procedure CopyToTexture(aTexture: TGLTexture; xSrc, ySrc, width, height: Integer; xDest, yDest: Integer); overload;
Public | procedure CopyToTextureMRT(aTexture: TGLTexture; xSrc, ySrc, width, height: Integer; xDest, yDest: Integer; BufferIndex: integer); overload;
Public | procedure CopyToTextureMRT(aTexture: TGLTexture; BufferIndex: integer); overload; virtual;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure Render(baseObject: TGLBaseSceneObject = nil); virtual; abstract;
Public | procedure RenderCubeMapTextures(cubeMapTexture: TGLTexture; zNear: Single = 0; zFar: Single = 0);
Protected | procedure DoBufferChange(Sender: TObject); virtual;
Protected | procedure DoBufferStructuralChange(Sender: TObject); virtual;
Protected | procedure DoOnPrepareGLContext(Sender: TObject);
Protected | procedure PrepareGLContext; virtual;
Protected | procedure SetAfterRender(const val: TNotifyEvent);
Protected | procedure SetBeforeRender(const val: TNotifyEvent);
Protected | procedure SetBuffer(const val: TGLSceneBuffer);
Protected | procedure SetCamera(const val: TGLCamera);
Protected | procedure SetHeight(const val: Integer);
Protected | procedure SetPostRender(const val: TNotifyEvent);
Protected | procedure SetupCubeMapCamera(Sender: TObject);
Protected | procedure SetWidth(const val: Integer);

Properties

Published | property AfterRender: TNotifyEvent read GetAfterRender write SetAfterRender;
Published | property BeforeRender: TNotifyEvent read GetBeforeRender write SetBeforeRender;
Published | property Buffer: TGLSceneBuffer read FBuffer write SetBuffer;
Published | property Camera: TGLCamera read GetCamera write SetCamera;
Published | property Height: Integer read FHeight write SetHeight default 256;
Published | property PostRender: TNotifyEvent read GetPostRender write SetPostRender;
Published | property Width: Integer read FWidth write SetWidth default 256;

Description

Fields

Private FBuffer: TGLSceneBuffer;
Private FWidth: Integer;
Private FHeight: Integer;
Private FCubeMapRotIdx: Integer;
Private FCubeMapZNear: Single;
Private FCubeMapZFar: Single;
Private FCubeMapTranslation: TAffineVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetAfterRender: TNotifyEvent;
Protected function GetBeforeRender: TNotifyEvent;
Protected function GetCamera: TGLCamera;
Protected function GetPostRender: TNotifyEvent;
Public procedure CopyToTexture(aTexture: TGLTexture); overload; virtual;
Public procedure CopyToTexture(aTexture: TGLTexture; xSrc, ySrc, width, height: Integer; xDest, yDest: Integer); overload;
Public procedure CopyToTextureMRT(aTexture: TGLTexture; xSrc, ySrc, width, height: Integer; xDest, yDest: Integer; BufferIndex: integer); overload;
Public procedure CopyToTextureMRT(aTexture: TGLTexture; BufferIndex: integer); overload; virtual;

CopyToTexture for Multiple-Render-Target

Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure Render(baseObject: TGLBaseSceneObject = nil); virtual; abstract;
Public procedure RenderCubeMapTextures(cubeMapTexture: TGLTexture; zNear: Single = 0; zFar: Single = 0);

Renders the 6 texture maps from a scene. The viewer is used to render the 6 images, one for each face of the cube, from the absolute position of the camera. This does NOT alter the content of the Pictures in the image, and will only change or define the content of textures as registered by OpenGL.

Protected procedure DoBufferChange(Sender: TObject); virtual;
Protected procedure DoBufferStructuralChange(Sender: TObject); virtual;
Protected procedure DoOnPrepareGLContext(Sender: TObject);
Protected procedure PrepareGLContext; virtual;
Protected procedure SetAfterRender(const val: TNotifyEvent);
Protected procedure SetBeforeRender(const val: TNotifyEvent);

FCreateTexture : Boolean;

Protected procedure SetBuffer(const val: TGLSceneBuffer);
Protected procedure SetCamera(const val: TGLCamera);
Protected procedure SetHeight(const val: Integer);
Protected procedure SetPostRender(const val: TNotifyEvent);
Protected procedure SetupCubeMapCamera(Sender: TObject);
Protected procedure SetWidth(const val: Integer);

Properties

Published property AfterRender: TNotifyEvent read GetAfterRender write SetAfterRender;

Called after rendering. You cannot issue OpenGL calls in this event, if you want to do your own OpenGL stuff, use the PostRender event.

Published property BeforeRender: TNotifyEvent read GetBeforeRender write SetBeforeRender;

Triggered before the scene's objects get rendered. You may use this event to execute your own OpenGL rendering.

Published property Buffer: TGLSceneBuffer read FBuffer write SetBuffer;

Access to buffer properties.

Published property Camera: TGLCamera read GetCamera write SetCamera;

Camera from which the scene is rendered.

Published property Height: Integer read FHeight write SetHeight default 256;
Published property PostRender: TNotifyEvent read GetPostRender write SetPostRender;

Triggered just after all the scene's objects have been rendered. The OpenGL context is still active in this event, and you may use it to execute your own OpenGL rendering.

Published property Width: Integer read FWidth write SetWidth default 256;


GLSysHelp v.2.1: GLS.Scene: Class TGLMemoryViewer

Class TGLMemoryViewer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Scene

Declaration

type TGLMemoryViewer = class(TGLNonVisualViewer)

Description

Component to render a scene to memory only. This component curently requires that the OpenGL ICD supports the WGL_ARB_pbuffer extension (indirectly).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNonVisualViewer
  • TGLMemoryViewer

Overview

Fields

Private FBufferCount: integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure InstantiateRenderingContext;
Public | procedure Render(baseObject: TGLBaseSceneObject = nil); override;
Private | procedure SetBufferCount(const Value: integer);

Properties

Published property BufferCount: integer read FBufferCount write SetBufferCount default 1;

Description

Fields

Private FBufferCount: integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure InstantiateRenderingContext;
Public procedure Render(baseObject: TGLBaseSceneObject = nil); override;
Private procedure SetBufferCount(const Value: integer);

Properties

Published property BufferCount: integer read FBufferCount write SetBufferCount default 1;

Set BufferCount > 1 for multiple render targets. Users should check if the corresponding extension (GL_ATI_draw_buffers) is supported. Current hardware limit is BufferCount = 4.


GLSysHelp v.2.1: GLS.SceneForm

Unit GLS.SceneForm

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.Classes
  • VCL.Controls
  • VCL.Forms
  • GLS.Scene
  • GLS.Context
  • GLS.Screen
  • GLS.SceneViewer

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFullScreenVideoMode |
Class TGLSceneForm |

Types

TGLFullScreenResolution = (...);

Constants

lcl_major = 0;
lcl_minor = 0;
lcl_release = 0;

Description

Types

TGLFullScreenResolution = (...);

Defines how GLSceneForm will handle fullscreen request fcWindowMaximize: Use current resolution (just maximize form and hide OS bars) fcNearestResolution: Change to nearest valid resolution from current window size fcManualResolution: Use FFullScreenVideoMode settings

Values
  • fcUseCurrent
  • fcNearestResolution
  • fcManualResolution

Constants

lcl_major = 0;
lcl_minor = 0;
lcl_release = 0;


GLSysHelp v.2.1: GLS.SceneForm: Class TGLFullScreenVideoMode

Class TGLFullScreenVideoMode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneForm

Declaration

type TGLFullScreenVideoMode = class(TPersistent)

Description

Screen mode settings

Hierarchy

  • TObject
  • TPersistent
  • TGLFullScreenVideoMode

Overview

Fields

Private | FOwner: TGLSceneForm;
Private | FEnabled: Boolean;
Private | FAltTabSupportEnable: Boolean;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FColorDepth: Integer;
Private | FFrequency: Integer;
Private | FResolutionMode: TGLFullScreenResolution;

Methods

Public | constructor Create(AOwner: TGLSceneForm);
Private | procedure SetAltTabSupportEnable(aValue: Boolean);
Private | procedure SetEnabled(aValue: Boolean);

Properties

Published | property AltTabSupportEnable: Boolean read FAltTabSupportEnable write SetAltTabSupportEnable default False;
Published | property ColorDepth: Integer read FColorDepth write FColorDepth;
Published | property Enabled: Boolean read FEnabled write SetEnabled default False;
Published | property Frequency: Integer read FFrequency write FFrequency;
Published | property Height: Integer read FHeight write FHeight;
Published | property ResolutionMode: TGLFullScreenResolution read FResolutionMode write FResolutionMode default fcUseCurrent;
Published | property Width: Integer read FWidth write FWidth;

Description

Fields

Private FOwner: TGLSceneForm;
Private FEnabled: Boolean;
Private FAltTabSupportEnable: Boolean;
Private FWidth: Integer;
Private FHeight: Integer;
Private FColorDepth: Integer;
Private FFrequency: Integer;
Private FResolutionMode: TGLFullScreenResolution;

Methods

Public constructor Create(AOwner: TGLSceneForm);
Private procedure SetAltTabSupportEnable(aValue: Boolean);
Private procedure SetEnabled(aValue: Boolean);

Properties

Published property AltTabSupportEnable: Boolean read FAltTabSupportEnable write SetAltTabSupportEnable default False;
Published property ColorDepth: Integer read FColorDepth write FColorDepth;
Published property Enabled: Boolean read FEnabled write SetEnabled default False;
Published property Frequency: Integer read FFrequency write FFrequency;
Published property Height: Integer read FHeight write FHeight;
Published property ResolutionMode: TGLFullScreenResolution read FResolutionMode write FResolutionMode default fcUseCurrent;
Published property Width: Integer read FWidth write FWidth;


GLSysHelp v.2.1: GLS.SceneForm: Class TGLSceneForm

Class TGLSceneForm

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneForm

Declaration

type TGLSceneForm = class(TForm)

Description

Hierarchy

  • TForm
  • TGLSceneForm

Overview

Fields

Private | FBuffer: TGLSceneBuffer;
Private | FVSync: TGLVSyncMode;
Private | FOwnDC: HDC;
Private | FFullScreenVideoMode: TGLFullScreenVideoMode;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetAfterRender: TNotifyEvent;
Private | function GetBeforeRender: TNotifyEvent;
Private | function GetCamera: TGLCamera;
Private | function GetFieldOfView: single;
Private | function GetIsRenderingContextAvailable: Boolean;
Private | function GetPostRender: TNotifyEvent;
Public | procedure DestroyWnd; override;
Protected | procedure CreateWnd; override;
Protected | procedure DoBeforeRender(Sender: TObject); virtual;
Protected | procedure DoBufferChange(Sender: TObject); virtual;
Protected | procedure DoBufferStructuralChange(Sender: TObject); virtual;
Protected | procedure Loaded; override;
Protected | procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure LastFocus(var Mess: TMessage); message WM_ACTIVATE;
Private | procedure SetAfterRender(const val: TNotifyEvent);
Private | procedure SetBeforeRender(const val: TNotifyEvent);
Private | procedure SetBuffer(const val: TGLSceneBuffer);
Private | procedure SetCamera(const val: TGLCamera);
Private | procedure SetFieldOfView(const Value: single);
Private | procedure SetFullScreenVideoMode(AValue: TGLFullScreenVideoMode);
Private | procedure SetPostRender(const val: TNotifyEvent);
Private | procedure ShutdownFS;
Private | procedure StartupFS;
Private | procedure WMDestroy(var Message: TWMDestroy); message WM_DESTROY;
Private | procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
Private | procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
Private | procedure WMSize(var Message: TWMSize); message WM_SIZE;

Properties

Published | property AfterRender: TNotifyEvent read GetAfterRender write SetAfterRender;
Published | property BeforeRender: TNotifyEvent read GetBeforeRender write SetBeforeRender;
Published | property Buffer: TGLSceneBuffer read FBuffer write SetBuffer;
Published | property Camera: TGLCamera read GetCamera write SetCamera;
Published | property FieldOfView: single read GetFieldOfView write SetFieldOfView;
Published | property FullScreenVideoMode: TGLFullScreenVideoMode read FFullScreenVideoMode write SetFullScreenVideoMode;
Public | property IsRenderingContextAvailable: Boolean read GetIsRenderingContextAvailable;
Published | property PostRender: TNotifyEvent read GetPostRender write SetPostRender;
Public | property RenderDC: HDC read FOwnDC;
Published | property VSync: TGLVSyncMode read FVSync write FVSync default vsmNoSync;

Description

Fields

Private FBuffer: TGLSceneBuffer;
Private FVSync: TGLVSyncMode;
Private FOwnDC: HDC;
Private FFullScreenVideoMode: TGLFullScreenVideoMode;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetAfterRender: TNotifyEvent;
Private function GetBeforeRender: TNotifyEvent;
Private function GetCamera: TGLCamera;
Private function GetFieldOfView: single;
Private function GetIsRenderingContextAvailable: Boolean;
Private function GetPostRender: TNotifyEvent;
Public procedure DestroyWnd; override;
Protected procedure CreateWnd; override;
Protected procedure DoBeforeRender(Sender: TObject); virtual;
Protected procedure DoBufferChange(Sender: TObject); virtual;
Protected procedure DoBufferStructuralChange(Sender: TObject); virtual;
Protected procedure Loaded; override;
Protected procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure LastFocus(var Mess: TMessage); message WM_ACTIVATE;
Private procedure SetAfterRender(const val: TNotifyEvent);
Private procedure SetBeforeRender(const val: TNotifyEvent);
Private procedure SetBuffer(const val: TGLSceneBuffer);
Private procedure SetCamera(const val: TGLCamera);
Private procedure SetFieldOfView(const Value: single);
Private procedure SetFullScreenVideoMode(AValue: TGLFullScreenVideoMode);
Private procedure SetPostRender(const val: TNotifyEvent);
Private procedure ShutdownFS;
Private procedure StartupFS;
Private procedure WMDestroy(var Message: TWMDestroy); message WM_DESTROY;
Private procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
Private procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
Private procedure WMSize(var Message: TWMSize); message WM_SIZE;

Properties

Published property AfterRender: TNotifyEvent read GetAfterRender write SetAfterRender;

Called after rendering. You cannot issue OpenGL calls in this event, if you want to do your own OpenGL stuff, use the PostRender event.

Published property BeforeRender: TNotifyEvent read GetBeforeRender write SetBeforeRender;

Triggered before the scene's objects get rendered. You may use this event to execute your own OpenGL rendering.

Published property Buffer: TGLSceneBuffer read FBuffer write SetBuffer;

Access to buffer properties.

Published property Camera: TGLCamera read GetCamera write SetCamera;

Camera from which the scene is rendered.

Published property FieldOfView: single read GetFieldOfView write SetFieldOfView;

Returns or sets the field of view for the viewer, in degrees. This value depends on the camera and the width and height of the scene. The value isn't persisted, if the width/height or camera.focallength is changed, FieldOfView is changed also.

Published property FullScreenVideoMode: TGLFullScreenVideoMode read FFullScreenVideoMode write SetFullScreenVideoMode;
Public property IsRenderingContextAvailable: Boolean read GetIsRenderingContextAvailable;
Published property PostRender: TNotifyEvent read GetPostRender write SetPostRender;

Triggered just after all the scene's objects have been rendered. The OpenGL context is still active in this event, and you may use it to execute your own OpenGL rendering.

Public property RenderDC: HDC read FOwnDC;
Published property VSync: TGLVSyncMode read FVSync write FVSync default vsmNoSync;

Specifies if the refresh should be synchronized with the VSync signal. If the underlying OpenGL ICD does not support the WGL_EXT_swap_control extension, this property is ignored.


GLSysHelp v.2.1: GLS.SceneRegister

Unit GLS.SceneRegister

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • System.Classes
  • System.SysUtils
  • System.TypInfo
  • VCL.Forms
  • VCL.Dialogs
  • VCL.Controls
  • VCL.StdCtrls
  • VCL.Graphics
  • ToolsAPI
  • DesignIntf
  • DesignEditors
  • VCLEditors
  • GLS.Context
  • GLS.Scene
  • GLS.Color
  • GLS.ObjectManager
  • GLS.PluginManager
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLibMaterialNameProperty |
Class TGLSceneViewerEditor |
Class TGLSceneEditor |
Class TGLResolutionProperty |
Class TGLTextureProperty |
Class TGLTextureImageProperty |
Class TGLImageClassProperty |
Class TGLColorProperty |
Class TGLSoundFileProperty |
Class TGLSoundNameProperty |
Class TGLCoordinatesProperty |
Class TGLMaterialProperty |
Class TGLGUILayoutEditor |
Class TGLReuseableDefaultEditor |
Class TGLMaterialLibraryEditor |
Class TGLAnimationNameProperty |
Class TGLSoundLibrarySelectionEditor |
Class TGLBaseSceneObjectSelectionEditor |
Class TGLSArchiveManagerEditor |
Class TGLMaterialComponentNameProperty |
Class TGLLibTextureNameProperty |
Class TGLLibSamplerNameProperty |
Class TGLLibCombinerNameProperty |
Class TGLLibShaderNameProperty |
Class TGLLibAttachmentNameProperty |
Class TGLLibAsmProgNameProperty |
Class TPictureFileProperty |
Class TShaderFileProperty |
Class TAsmProgFileProperty |
Class TUniformAutoSetProperty |
Class TGLShaderEditorProperty |

Functions and Procedures

procedure Register;
function ObjectManager: TGLObjectManager;

Description

Functions and Procedures

procedure Register;

Register Components

function ObjectManager: TGLObjectManager;

Auto-create for object manager


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibMaterialNameProperty

Class TGLLibMaterialNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibMaterialNameProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TGLLibMaterialNameProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLSceneViewerEditor

Class TGLSceneViewerEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLSceneViewerEditor = class(TComponentEditor)

Description

Hierarchy

  • TComponentEditor
  • TGLSceneViewerEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure ExecuteVerb(Index: Integer); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure ExecuteVerb(Index: Integer); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLSceneEditor

Class TGLSceneEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLSceneEditor = class(TComponentEditor)

Description

Hierarchy

  • TComponentEditor
  • TGLSceneEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure Edit; override;
Public | procedure ExecuteVerb(Index: Integer); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure Edit; override;
Public procedure ExecuteVerb(Index: Integer); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLResolutionProperty

Class TGLResolutionProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLResolutionProperty = class(TPropertyEditor)

Description

Hierarchy

  • TPropertyEditor
  • TGLResolutionProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | function GetValue: string; override;
Public | procedure GetValues(Proc: TGetStrProc); override;
Public | procedure SetValue(const Value: string); override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public function GetValue: string; override;
Public procedure GetValues(Proc: TGetStrProc); override;
Public procedure SetValue(const Value: string); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLTextureProperty

Class TGLTextureProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLTextureProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLTextureProperty

Overview

Methods

Public function GetAttributes: TPropertyAttributes; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLTextureImageProperty

Class TGLTextureImageProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLTextureImageProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLTextureImageProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLImageClassProperty

Class TGLImageClassProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLImageClassProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLImageClassProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | function GetValue: string; override;
Public | procedure GetValues(Proc: TGetStrProc); override;
Public | procedure SetValue(const Value: string); override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public function GetValue: string; override;
Public procedure GetValues(Proc: TGetStrProc); override;
Public procedure SetValue(const Value: string); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLColorProperty

Class TGLColorProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLColorProperty = class(TClassProperty, ICustomPropertyDrawing, ICustomPropertyListDrawing)

Description

Hierarchy

  • TClassProperty
  • TGLColorProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | function GetValue: string; override;
Protected | function ColorToBorderColor(aColor: TGLColorVector; selected: Boolean): TColor;
Public | procedure Edit; override;
Public | procedure GetValues(Proc: TGetStrProc); override;
Public | procedure ListDrawValue(const Value: string; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
Public | procedure ListMeasureHeight(const Value: string; ACanvas: TCanvas; var AHeight: Integer);
Public | procedure ListMeasureWidth(const Value: string; ACanvas: TCanvas; var AWidth: Integer);
Public | procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
Public | procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
Public | procedure SetValue(const Value: string); override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public function GetValue: string; override;
Protected function ColorToBorderColor(aColor: TGLColorVector; selected: Boolean): TColor;
Public procedure Edit; override;
Public procedure GetValues(Proc: TGetStrProc); override;
Public procedure ListDrawValue(const Value: string; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
Public procedure ListMeasureHeight(const Value: string; ACanvas: TCanvas; var AHeight: Integer);

ICustomPropertyListDrawing stuff

Public procedure ListMeasureWidth(const Value: string; ACanvas: TCanvas; var AWidth: Integer);
Public procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);

CustomPropertyDrawing

Public procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
Public procedure SetValue(const Value: string); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLSoundFileProperty

Class TGLSoundFileProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLSoundFileProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLSoundFileProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | function GetValue: string; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public function GetValue: string; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLSoundNameProperty

Class TGLSoundNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLSoundNameProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TGLSoundNameProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLCoordinatesProperty

Class TGLCoordinatesProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLCoordinatesProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLCoordinatesProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLMaterialProperty

Class TGLMaterialProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLMaterialProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLMaterialProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLGUILayoutEditor

Class TGLGUILayoutEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLGUILayoutEditor = class(TComponentEditor)

Description

Hierarchy

  • TComponentEditor
  • TGLGUILayoutEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure Edit; override;
Public | procedure ExecuteVerb(Index: Integer); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure Edit; override;
Public procedure ExecuteVerb(Index: Integer); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLReuseableDefaultEditor

Class TGLReuseableDefaultEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLReuseableDefaultEditor = class(TComponentEditor, IDefaultEditor)

Description

Editor copied from DsgnIntf. Could have been avoided, if only that guy at Borland didn't chose to publish only half of the stuff (and that's not the only class with that problem, most of the subitems handling code in TGLSceneBaseObject is here for the same reason...), the "protected" wasn't meant just to lure programmers into code they can't reuse... Arrr! and he did that again in D6! Grrr...

Hierarchy

  • TComponentEditor
  • TGLReuseableDefaultEditor

Overview

Fields

Protected | FFirst: IProperty;
Protected | FBest: IProperty;
Protected | FContinue: Boolean;

Methods

Public | procedure Edit; override;
Protected | procedure CheckEdit(const Prop: IProperty);
Protected | procedure EditProperty(const Prop: IProperty; var Continue: Boolean); virtual;

Description

Fields

Protected FFirst: IProperty;
Protected FBest: IProperty;
Protected FContinue: Boolean;

Methods

Public procedure Edit; override;
Protected procedure CheckEdit(const Prop: IProperty);
Protected procedure EditProperty(const Prop: IProperty; var Continue: Boolean); virtual;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLMaterialLibraryEditor

Class TGLMaterialLibraryEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLMaterialLibraryEditor = class(TGLReuseableDefaultEditor, IDefaultEditor)

Description

Editor for material library.

Hierarchy

  • TComponentEditor
  • TGLReuseableDefaultEditor
  • TGLMaterialLibraryEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure ExecuteVerb(Index: Integer); override;
Protected | procedure EditProperty(const Prop: IProperty; var Continue: Boolean); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure ExecuteVerb(Index: Integer); override;
Protected procedure EditProperty(const Prop: IProperty; var Continue: Boolean); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLAnimationNameProperty

Class TGLAnimationNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLAnimationNameProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TGLAnimationNameProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLSoundLibrarySelectionEditor

Class TGLSoundLibrarySelectionEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLSoundLibrarySelectionEditor = class(TSelectionEditor)

Description

Selection editor for TGLSoundLibrary Allows units to be added to the uses clause automatically when sound files are loaded into a TGLSoundLibrary at design-time.

Hierarchy

  • TSelectionEditor
  • TGLSoundLibrarySelectionEditor

Overview

Methods

Public procedure RequiresUnits(Proc: TGetStrProc); override;

Description

Methods

Public procedure RequiresUnits(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLBaseSceneObjectSelectionEditor

Class TGLBaseSceneObjectSelectionEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLBaseSceneObjectSelectionEditor = class(TSelectionEditor)

Description

Selection editor for TGLBaseSceneObject. Allows units to be added to the uses clause automatically when behaviours/effects are added to a TGLBaseSceneObject at design-time.

Hierarchy

  • TSelectionEditor
  • TGLBaseSceneObjectSelectionEditor

Overview

Methods

Public procedure RequiresUnits(Proc: TGetStrProc); override;

Description

Methods

Public procedure RequiresUnits(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLSArchiveManagerEditor

Class TGLSArchiveManagerEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLSArchiveManagerEditor = class(TGLReuseableDefaultEditor, IDefaultEditor)

Description

Editor for Archive Manager

Hierarchy

  • TComponentEditor
  • TGLReuseableDefaultEditor
  • TGLSArchiveManagerEditor

Overview

Methods

Public | function GetVerb(Index: Integer): string; override;
Public | function GetVerbCount: Integer; override;
Public | procedure ExecuteVerb(Index: Integer); override;
Protected | procedure EditProperty(const Prop: IProperty; var Continue: Boolean); override;

Description

Methods

Public function GetVerb(Index: Integer): string; override;
Public function GetVerbCount: Integer; override;
Public procedure ExecuteVerb(Index: Integer); override;
Protected procedure EditProperty(const Prop: IProperty; var Continue: Boolean); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLMaterialComponentNameProperty

Class TGLMaterialComponentNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLMaterialComponentNameProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibTextureNameProperty

Class TGLLibTextureNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibTextureNameProperty = class(TGLMaterialComponentNameProperty)

Description

No description available, ancestor TGLMaterialComponentNameProperty description follows

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty
  • TGLLibTextureNameProperty

Overview

Methods

Public procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibSamplerNameProperty

Class TGLLibSamplerNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibSamplerNameProperty = class(TGLMaterialComponentNameProperty)

Description

No description available, ancestor TGLMaterialComponentNameProperty description follows

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty
  • TGLLibSamplerNameProperty

Overview

Methods

Public procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibCombinerNameProperty

Class TGLLibCombinerNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibCombinerNameProperty = class(TGLMaterialComponentNameProperty)

Description

No description available, ancestor TGLMaterialComponentNameProperty description follows

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty
  • TGLLibCombinerNameProperty

Overview

Methods

Public procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibShaderNameProperty

Class TGLLibShaderNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibShaderNameProperty = class(TGLMaterialComponentNameProperty)

Description

No description available, ancestor TGLMaterialComponentNameProperty description follows

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty
  • TGLLibShaderNameProperty

Overview

Methods

Public procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibAttachmentNameProperty

Class TGLLibAttachmentNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibAttachmentNameProperty = class(TGLMaterialComponentNameProperty)

Description

No description available, ancestor TGLMaterialComponentNameProperty description follows

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty
  • TGLLibAttachmentNameProperty

Overview

Methods

Public procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLLibAsmProgNameProperty

Class TGLLibAsmProgNameProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLLibAsmProgNameProperty = class(TGLMaterialComponentNameProperty)

Description

No description available, ancestor TGLMaterialComponentNameProperty description follows

Hierarchy

  • TStringProperty
  • TGLMaterialComponentNameProperty
  • TGLLibAsmProgNameProperty

Overview

Methods

Public procedure GetValues(Proc: TGetStrProc); override;

Description

Methods

Public procedure GetValues(Proc: TGetStrProc); override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TPictureFileProperty

Class TPictureFileProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TPictureFileProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TPictureFileProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TShaderFileProperty

Class TShaderFileProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TShaderFileProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TShaderFileProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TAsmProgFileProperty

Class TAsmProgFileProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TAsmProgFileProperty = class(TStringProperty)

Description

Hierarchy

  • TStringProperty
  • TAsmProgFileProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.SceneRegister: Class TUniformAutoSetProperty

Class TUniformAutoSetProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TUniformAutoSetProperty = class(TPropertyEditor)

Description

Hierarchy

  • TPropertyEditor
  • TUniformAutoSetProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;
Private | procedure PassUniform(const S: string);

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;
Private procedure PassUniform(const S: string);


GLSysHelp v.2.1: GLS.SceneRegister: Class TGLShaderEditorProperty

Class TGLShaderEditorProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneRegister

Declaration

type TGLShaderEditorProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TGLShaderEditorProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Protected | function GetStrings: TStrings;
Public | procedure Edit; override;
Protected | procedure OnShaderCheck(Sender: TObject);
Protected | procedure SetStrings(const Value: TStrings);

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Protected function GetStrings: TStrings;
Public procedure Edit; override;
Protected procedure OnShaderCheck(Sender: TObject);
Protected procedure SetStrings(const Value: TStrings);


GLSysHelp v.2.1: GLS.SceneViewer

Unit GLS.SceneViewer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • WinApi.Windows
  • WinApi.Messages
  • System.Classes
  • System.SysUtils
  • System.Types
  • VCL.Graphics
  • VCL.Forms
  • VCL.Controls
  • GLS.Scene
  • GLS.WindowsContext
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSceneViewer |

Functions and Procedures

procedure SetupVSync(const AVSyncMode : TGLVSyncMode);

Types

TTouchEvent = procedure(X, Y, TouchWidth, TouchHeight : integer; TouchID : Cardinal; TouchCount : integer; FromPen : boolean) of object;

Description

Functions and Procedures

procedure SetupVSync(const AVSyncMode : TGLVSyncMode);

Types

TTouchEvent = procedure(X, Y, TouchWidth, TouchHeight : integer; TouchID : Cardinal; TouchCount : integer; FromPen : boolean) of object;


GLSysHelp v.2.1: GLS.SceneViewer: Class TGLSceneViewer

Class TGLSceneViewer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SceneViewer

Declaration

type TGLSceneViewer = class(TWinControl)

Description

Component where the GLScene objects get rendered. This component delimits the area where OpenGL renders the scene, it represents the 3D scene viewed from a camera (specified in the camera property). This component can also render to a file or to a bitmap. It is primarily a windowed component, but it can handle full-screen operations : simply make this component fit the whole screen (use a borderless form). This viewer also allows to define rendering options such a fog, face culling, depth testing, etc. and can take care of framerate calculation.

Hierarchy

  • TWinControl
  • TGLSceneViewer

Overview

Fields

Private | FBuffer: TGLSceneBuffer;
Private | FVSync: TGLVSyncMode;
Private | FOwnDC: HDC;
Private | FOnMouseEnter: TNotifyEvent;
Private | FOnMouseLeave: TNotifyEvent;
Private | FMouseInControl: Boolean;
Private | FLastScreenPos: TPoint;
Private | FPenAsTouch: boolean;
Private | FOnTouchMove: TTouchEvent;
Private | FOnTouchUp: TTouchEvent;
Private | FOnTouchDown: TTouchEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateSnapShotBitmap: TBitmap;
Public | function FramesPerSecond: Single;
Public | function FramesPerSecondText(decimals: Integer = 1): string;
Public | function LastFrameTime: Single;
Protected | function GetAfterRender: TNotifyEvent;
Protected | function GetBeforeRender: TNotifyEvent;
Protected | function GetCamera: TGLCamera;
Protected | function GetPostRender: TNotifyEvent;
Private | function GetFieldOfView: single;
Private | function GetIsRenderingContextAvailable: Boolean;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure RecreateWnd;
Public | procedure RegisterTouch;
Public | procedure ResetPerformanceMonitor;
Public | procedure UnregisterTouch;
Protected | procedure CreateParams(var Params: TCreateParams); override;
Protected | procedure CreateWnd; override;
Protected | procedure DestroyWnd; override;
Protected | procedure DoBeforeRender(Sender: TObject); virtual;
Protected | procedure DoBufferChange(Sender: TObject);
Protected | procedure DoBufferStructuralChange(Sender: TObject); virtual;
Protected | procedure Loaded; override;
Protected | procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected | procedure SetAfterRender(const val: TNotifyEvent);
Protected | procedure SetBeforeRender(const val: TNotifyEvent);
Protected | procedure SetBuffer(const val: TGLSceneBuffer);
Protected | procedure SetCamera(const val: TGLCamera);
Protected | procedure SetPostRender(const val: TNotifyEvent);
Private | procedure CMMouseEnter(var msg: TMessage); message CM_MOUSEENTER;
Private | procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
Private | procedure SetFieldOfView(const Value: single);
Private | procedure WMDestroy(var Message: TWMDestroy); message WM_DESTROY;
Private | procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
Private | procedure WMGetDglCode(var Message: TMessage); message WM_GETDLGCODE;
Private | procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
Private | procedure WMSize(var Message: TWMSize); message WM_SIZE;
Private | procedure WMTouch(var Message: TMessage); message WM_TOUCH;

Properties

Published | property AfterRender: TNotifyEvent read GetAfterRender write SetAfterRender;
Published | property Align;
Published | property Anchors;
Published | property BeforeRender: TNotifyEvent read GetBeforeRender write SetBeforeRender;
Published | property Buffer: TGLSceneBuffer read FBuffer write SetBuffer;
Published | property Camera: TGLCamera read GetCamera write SetCamera;
Published | property DragCursor;
Published | property DragMode;
Published | property Enabled;
Published | property FieldOfView: single read GetFieldOfView write SetFieldOfView;
Published | property HelpContext;
Published | property Hint;
Public | property IsRenderingContextAvailable: Boolean read GetIsRenderingContextAvailable;
Public | property MouseInControl: Boolean read FMouseInControl;
Published | property OnClick;
Published | property OnContextPopup;
Published | property OnDblClick;
Published | property OnDragDrop;
Published | property OnDragOver;
Published | property OnEndDrag;
Published | property OnEnter;
Published | property OnExit;
Published | property OnGesture;
Published | property OnKeyDown;
Published | property OnKeyUp;
Published | property OnMouseDown;
Published | property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
Published | property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
Published | property OnMouseMove;
Published | property OnMouseUp;
Published | property OnMouseWheel;
Published | property OnMouseWheelDown;
Published | property OnMouseWheelUp;
Published | property OnStartDrag;
Published | property OnTouchDown: TTouchEvent read FOnTouchDown write FOnTouchDown;
Published | property OnTouchMove: TTouchEvent read FOnTouchMove write FOnTouchMove;
Published | property OnTouchUp: TTouchEvent read FOnTouchUp write FOnTouchUp;
Published | property PenAsTouch: boolean read FPenAsTouch write FPenAsTouch;
Published | property PopupMenu;
Published | property PostRender: TNotifyEvent read GetPostRender write SetPostRender;
Public | property RenderDC: HDC read FOwnDC;
Published | property TabOrder;
Published | property TabStop;
Published | property Touch;
Published | property Visible;
Published | property VSync: TGLVSyncMode read FVSync write FVSync default vsmNoSync;

Description

Fields

Private FBuffer: TGLSceneBuffer;
Private FVSync: TGLVSyncMode;
Private FOwnDC: HDC;
Private FOnMouseEnter: TNotifyEvent;
Private FOnMouseLeave: TNotifyEvent;
Private FMouseInControl: Boolean;
Private FLastScreenPos: TPoint;
Private FPenAsTouch: boolean;
Private FOnTouchMove: TTouchEvent;
Private FOnTouchUp: TTouchEvent;
Private FOnTouchDown: TTouchEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateSnapShotBitmap: TBitmap;
Public function FramesPerSecond: Single;
Public function FramesPerSecondText(decimals: Integer = 1): string;
Public function LastFrameTime: Single;
Protected function GetAfterRender: TNotifyEvent;
Protected function GetBeforeRender: TNotifyEvent;
Protected function GetCamera: TGLCamera;
Protected function GetPostRender: TNotifyEvent;
Private function GetFieldOfView: single;
Private function GetIsRenderingContextAvailable: Boolean;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure RecreateWnd;

Makes TWinControl's RecreateWnd public. This procedure allows to work around limitations in some OpenGL drivers (like MS Software OpenGL) that are not able to share lists between RCs that already have display lists.

Public procedure RegisterTouch;
Public procedure ResetPerformanceMonitor;
Public procedure UnregisterTouch;
Protected procedure CreateParams(var Params: TCreateParams); override;
Protected procedure CreateWnd; override;
Protected procedure DestroyWnd; override;
Protected procedure DoBeforeRender(Sender: TObject); virtual;
Protected procedure DoBufferChange(Sender: TObject);
Protected procedure DoBufferStructuralChange(Sender: TObject); virtual;
Protected procedure Loaded; override;
Protected procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected procedure SetAfterRender(const val: TNotifyEvent);
Protected procedure SetBeforeRender(const val: TNotifyEvent);
Protected procedure SetBuffer(const val: TGLSceneBuffer);
Protected procedure SetCamera(const val: TGLCamera);
Protected procedure SetPostRender(const val: TNotifyEvent);
Private procedure CMMouseEnter(var msg: TMessage); message CM_MOUSEENTER;
Private procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
Private procedure SetFieldOfView(const Value: single);
Private procedure WMDestroy(var Message: TWMDestroy); message WM_DESTROY;
Private procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
Private procedure WMGetDglCode(var Message: TMessage); message WM_GETDLGCODE;
Private procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
Private procedure WMSize(var Message: TWMSize); message WM_SIZE;
Private procedure WMTouch(var Message: TMessage); message WM_TOUCH;

Properties

Published property AfterRender: TNotifyEvent read GetAfterRender write SetAfterRender;

Called after rendering. You cannot issue OpenGL calls in this event, if you want to do your own OpenGL stuff, use the PostRender event.

Published property Align;
Published property Anchors;
Published property BeforeRender: TNotifyEvent read GetBeforeRender write SetBeforeRender;

Triggered before the scene's objects get rendered. You may use this event to execute your own OpenGL rendering.

Published property Buffer: TGLSceneBuffer read FBuffer write SetBuffer;

Access to buffer properties.

Published property Camera: TGLCamera read GetCamera write SetCamera;

Camera from which the scene is rendered.

Published property DragCursor;
Published property DragMode;
Published property Enabled;
Published property FieldOfView: single read GetFieldOfView write SetFieldOfView;

Returns or sets the field of view for the viewer, in degrees. This value depends on the camera and the width and height of the scene. The value isn't persisted, if the width/height or camera.focallength is changed, FieldOfView is changed also.

Published property HelpContext;
Published property Hint;
Public property IsRenderingContextAvailable: Boolean read GetIsRenderingContextAvailable;
Public property MouseInControl: Boolean read FMouseInControl;
Published property OnClick;
Published property OnContextPopup;
Published property OnDblClick;
Published property OnDragDrop;
Published property OnDragOver;
Published property OnEndDrag;
Published property OnEnter;
Published property OnExit;
Published property OnGesture;
Published property OnKeyDown;
Published property OnKeyUp;
Published property OnMouseDown;
Published property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
Published property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
Published property OnMouseMove;
Published property OnMouseUp;
Published property OnMouseWheel;
Published property OnMouseWheelDown;
Published property OnMouseWheelUp;
Published property OnStartDrag;
Published property OnTouchDown: TTouchEvent read FOnTouchDown write FOnTouchDown;
Published property OnTouchMove: TTouchEvent read FOnTouchMove write FOnTouchMove;
Published property OnTouchUp: TTouchEvent read FOnTouchUp write FOnTouchUp;
Published property PenAsTouch: boolean read FPenAsTouch write FPenAsTouch;

Since Windows 10 Fall Creators Update in 2017, pen also triggers touch input. You can set PenAsTouch = false to filter out such input.

Published property PopupMenu;
Published property PostRender: TNotifyEvent read GetPostRender write SetPostRender;

Triggered just after all the scene's objects have been rendered. The OpenGL context is still active in this event, and you may use it to execute your own OpenGL rendering.

Public property RenderDC: HDC read FOwnDC;
Published property TabOrder;
Published property TabStop;
Published property Touch;
Published property Visible;
Published property VSync: TGLVSyncMode read FVSync write FVSync default vsmNoSync;

Specifies if the refresh should be synchronized with the VSync signal. If the underlying OpenGL ICD does not support the WGL_EXT_swap_control extension, this property is ignored.


GLSysHelp v.2.1: GLS.Screen

Unit GLS.Screen

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • VCL.Forms
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLDisplayOptions |
Packed Record TVideoMode |

Functions and Procedures

function GetIndexFromResolution(XRes, YRes, BPP: Integer): TResolution;
procedure ReadVideoModes;
function SetFullscreenMode(modeIndex: TResolution; displayFrequency: Integer = 0): Boolean;
procedure ReadScreenImage(Dest: HDC; DestLeft, DestTop: Integer; const SrcRect: TRectangle);
procedure RestoreDefaultMode;
procedure GLShowCursor(AShow: Boolean);
procedure GLSetCursorPos(AScreenX, AScreenY: Integer);
procedure GLGetCursorPos(var point: TPoint);
function GLGetScreenWidth: Integer;
function GLGetScreenHeight: Integer;

Types

PVideoMode = ˆTVideoMode;
TResolution = 0 .. MaxVideoModes;
TWindowAttribute = (...);
TWindowAttributes = set of TWindowAttribute;
TWindowFitting = (...);

Constants

MaxVideoModes = 200;
lcl_release = 0;

Variables

vNumberVideoModes: Integer = 0;
vCurrentVideoMode: Integer = 0;
vVideoModes: array of TVideoMode;

Description

Functions and Procedures

function GetIndexFromResolution(XRes, YRes, BPP: Integer): TResolution;
procedure ReadVideoModes;
function SetFullscreenMode(modeIndex: TResolution; displayFrequency: Integer = 0): Boolean;

Changes to the video mode given by 'Index'

procedure ReadScreenImage(Dest: HDC; DestLeft, DestTop: Integer; const SrcRect: TRectangle);
procedure RestoreDefaultMode;
procedure GLShowCursor(AShow: Boolean);
procedure GLSetCursorPos(AScreenX, AScreenY: Integer);
procedure GLGetCursorPos(var point: TPoint);
function GLGetScreenWidth: Integer;
function GLGetScreenHeight: Integer;

Types

PVideoMode = ˆTVideoMode;
TResolution = 0 .. MaxVideoModes;
TWindowAttribute = (...);

window attributes

Values
  • woDesktop
  • woStayOnTop
  • woTransparent
TWindowAttributes = set of TWindowAttribute;
TWindowFitting = (...);

window-to-screen fitting

Values
  • wfDefault
  • wfFitWindowToScreen
  • wfFitScreenToWindow

Constants

MaxVideoModes = 200;
lcl_release = 0;

Variables

vNumberVideoModes: Integer = 0;
vCurrentVideoMode: Integer = 0;
vVideoModes: array of TVideoMode;


GLSysHelp v.2.1: GLS.Screen: Class TGLDisplayOptions

Class TGLDisplayOptions

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Screen

Declaration

type TGLDisplayOptions = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLDisplayOptions

Overview

Fields

Private | FFullScreen: Boolean;
Private | FScreenResolution: TResolution;
Private | FWindowAttributes: TWindowAttributes;
Private | FWindowFitting: TWindowFitting;

Methods

Public procedure Assign(Source: TPersistent); override;

Properties

Published | property FullScreen: Boolean read FFullScreen write FFullScreen default False;
Published | property ScreenResolution: TResolution read FScreenResolution write FScreenResolution default 0;
Published | property WindowAttributes: TWindowAttributes read FWindowAttributes write FWindowAttributes default [];
Published | property WindowFitting: TWindowFitting read FWindowFitting write FWindowFitting default wfDefault;

Description

Fields

Private FFullScreen: Boolean;
Private FScreenResolution: TResolution;
Private FWindowAttributes: TWindowAttributes;
Private FWindowFitting: TWindowFitting;

Methods

Public procedure Assign(Source: TPersistent); override;

Properties

Published property FullScreen: Boolean read FFullScreen write FFullScreen default False;
Published property ScreenResolution: TResolution read FScreenResolution write FScreenResolution default 0;
Published property WindowAttributes: TWindowAttributes read FWindowAttributes write FWindowAttributes default [];
Published property WindowFitting: TWindowFitting read FWindowFitting write FWindowFitting default wfDefault;


GLSysHelp v.2.1: GLS.Screen: Packed Record TVideoMode

Packed Record TVideoMode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Screen

Declaration

type TVideoMode = packed record

Description

Overview

Fields

Public | Width: Word;
Public | Height: Word;
Public | ColorDepth: Byte;
Public | MaxFrequency: Byte;
Public | Description: String;

Description

Fields

Public Width: Word;
Public Height: Word;
Public ColorDepth: Byte;
Public MaxFrequency: Byte;
Public Description: String;


GLSysHelp v.2.1: GLS.ScreenSaver

Unit GLS.ScreenSaver

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.Messages
  • System.Classes
  • System.SysUtils
  • System.Win.Registry
  • VCL.Dialogs
  • VCL.Controls
  • VCL.Forms
  • VCL.Extctrls

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLScreenSaver |

Functions and Procedures

procedure SetScreenSaverPassword;

Types

TScreenSaverOption = (...);
TScreenSaverOptions = set of TScreenSaverOption;
TScreenSaverPreviewEvent = procedure(Sender: TObject; previewHwnd: HWND) of object;

Constants

cDefaultScreenSaverOptions = [ssoAutoAdjustFormProperties, ssoAutoHookKeyboardEvents, ssoEnhancedMouseMoveDetection];

Description

Functions and Procedures

procedure SetScreenSaverPassword;

Invokes the standard Windows dialog to set the password. May be invoked from your Properties/Configuration dialog.

Types

TScreenSaverOption = (...);

Options d'automatisation du screen-saver. ssoAutoAdjustFormProperties : all relevant properties of main form will be auto-adjusted (form style, border style, form size and for preview, ParentWindow). ssoAutoHookKeyboardEvents : hooks to main form's OnKeyPress and closes screen saver when a key is pressed (form's KeyPreview is also set to True) ssoAutoHookMouseEvents : hooks to main form's OnMouseMove and closes screen saver when mouse is moved (you mays have to handle other mouse move events manually if you have placed components on the form) ssoEnhancedMouseMoveDetection : gets the mouse position every half-second and closes the saver if position changed (uses GetCursorPos and a TTimer)

Values
  • ssoAutoAdjustFormProperties
  • ssoAutoHookKeyboardEvents
  • ssoAutoHookMouseEvents
  • ssoEnhancedMouseMoveDetection
TScreenSaverOptions = set of TScreenSaverOption;
TScreenSaverPreviewEvent = procedure(Sender: TObject; previewHwnd: HWND) of object;

This event is fired when screen saver should start in preview mode. The passed hwnd is that of the small preview window in Windows Display Properties (or any other screen-saver previewing utility, so don't assume width/height is constant/universal or whatever).

Constants

cDefaultScreenSaverOptions = [ssoAutoAdjustFormProperties, ssoAutoHookKeyboardEvents, ssoEnhancedMouseMoveDetection];


GLSysHelp v.2.1: GLS.ScreenSaver: Class TGLScreenSaver

Class TGLScreenSaver

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ScreenSaver

Declaration

type TGLScreenSaver = class(TComponent)

Description

Drop this component on your main form to make it a screensaver. You'll also need to change the extension from ".exe" to ".scr" (in the project options / application tab). How this component works : At design-time, the only event you may want to hook is OnPropertiesRequested (to diplay your screen-saver's config dialog, if you don't have one, at least fill in the AboutString property and it will be used in a ShowMessage) At run-time, once its props are loaded, this component will parse the command line and trigger relevant events Basicly, you only need to care about drawing in your main form's client area (in a resolution/size independant way if possible) There is no real difference between execution and preview modes, except for the events fired... and the size of the form :).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLScreenSaver

Overview

Fields

Private | mouseEventsToIgnore: Integer;
Private | FHonourWindowsPassword: Boolean;
Private | FOptions: TScreenSaverOptions;
Private | FOnPropertiesRequested: TNotifyEvent;
Private | FOnExecute: TNotifyEvent;
Private | FOnPreview: TScreenSaverPreviewEvent;
Private | FOnCloseQuery: TCloseQueryEvent;
Private | FAboutString: String;
Private | FInPreviewMode: Boolean;
Private | mouseTimer: TTimer;
Private | lastMousePosition: TPoint;
Private | FMutex: THandle;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CloseSaver: Boolean;
Public | procedure SetPassword;
Protected | procedure ConfigureSaver;
Protected | procedure ExecuteSaver;
Protected | procedure FormKeyPress(Sender: TObject; var Key: Char);
Protected | procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Protected | procedure Loaded; override;
Protected | procedure OnMouseTimer(Sender: TObject);
Protected | procedure PreviewSaver;

Properties

Published | property AboutString: String read FAboutString write FAboutString;
Published | property HonourWindowsPassword: Boolean read FHonourWindowsPassword write FHonourWindowsPassword default True;
Public | property InPreviewMode: Boolean read FInPreviewMode;
Published | property OnCloseQuery: TCloseQueryEvent read FOnCloseQuery write FOnCloseQuery;
Published | property OnExecute: TNotifyEvent read FOnExecute write FOnExecute;
Published | property OnPreview: TScreenSaverPreviewEvent read FOnPreview write FOnPreview;
Published | property OnPropertiesRequested: TNotifyEvent read FOnPropertiesRequested write FOnPropertiesRequested;
Published | property Options: TScreenSaverOptions read FOptions write FOptions default cDefaultScreenSaverOptions;

Description

Fields

Private mouseEventsToIgnore: Integer;
Private FHonourWindowsPassword: Boolean;
Private FOptions: TScreenSaverOptions;
Private FOnPropertiesRequested: TNotifyEvent;
Private FOnExecute: TNotifyEvent;
Private FOnPreview: TScreenSaverPreviewEvent;
Private FOnCloseQuery: TCloseQueryEvent;
Private FAboutString: String;
Private FInPreviewMode: Boolean;
Private mouseTimer: TTimer;
Private lastMousePosition: TPoint;

alocated only if necessary

Private FMutex: THandle;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CloseSaver: Boolean;

Properly handles request to close the main window. Returns True if the Close request wasn't canceled (by event or password fail) and will actually happen. Use this if you implemented specific screen-saver exiting in your main form. It first triggers the OnCloseQuery, where the close request can be canceled, if this passed, the password is checked if there is any, then sends a WM_CLOSE to the saver windows.

Public procedure SetPassword;

Invokes the standard Windows dialog to set the password. May be invoked from your Properties/Configuration dialog.

Protected procedure ConfigureSaver;
Protected procedure ExecuteSaver;
Protected procedure FormKeyPress(Sender: TObject; var Key: Char);
Protected procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Protected procedure Loaded; override;
Protected procedure OnMouseTimer(Sender: TObject);
Protected procedure PreviewSaver;

Properties

Published property AboutString: String read FAboutString write FAboutString;

This string is displayed if OnPropertiesRequested is not used. You may use it as a quick "AboutBox".

Published property HonourWindowsPassword: Boolean read FHonourWindowsPassword write FHonourWindowsPassword default True;

If True, windows screen-saver password is checked before closing. You may be wanting to set this prop to false if you're using your own password scheme or do not want any password to be set.

Public property InPreviewMode: Boolean read FInPreviewMode;

True if the screen-save is in preview mode. Valid only when the TScreenSaver has completed loading.

Published property OnCloseQuery: TCloseQueryEvent read FOnCloseQuery write FOnCloseQuery;

Fired when screen-saver execution should close. It is invoked before querying for password (if there is a password).

Published property OnExecute: TNotifyEvent read FOnExecute write FOnExecute;

Fired when the saver should start executing, after form props are adjusted.

Published property OnPreview: TScreenSaverPreviewEvent read FOnPreview write FOnPreview;

Fired when preview is requested, after form props are adjusted.

Published property OnPropertiesRequested: TNotifyEvent read FOnPropertiesRequested write FOnPropertiesRequested;

Display the properties dialog when this event is triggered. This event may be called before Delphi's form auto-creation is complete, and should not rely on auto-created dialogs/forms but create what needs be.

Published property Options: TScreenSaverOptions read FOptions write FOptions default cDefaultScreenSaverOptions;


GLSysHelp v.2.1: GLS.ScriptBase

Unit GLS.ScriptBase

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.XCollection

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLScriptBase |
Class TGLScripts |
Class TGLScriptLibrary |

Types

TGLScriptState = (...);

Description

Types

TGLScriptState = (...);
Values
  • ssUncompiled
  • ssCompileErrors: The script has yet to be compiled.
  • ssCompiled: Errors occurred while compiling.
  • ssRunningErrors: The script has been compiled and ready to be executed/started.
  • ssRunning: Errors occured while the script was running.


GLSysHelp v.2.1: GLS.ScriptBase: Class TGLScriptBase

Class TGLScriptBase

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ScriptBase

Declaration

type TGLScriptBase = class(TXCollectionItem)

Description

The base script class that defines the abstract functions and properties. Don't use this class directly, use the script classes descended from this base class.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLScriptBase

Overview

Fields

Private | FText: TStringList;
Private | FDescription: String;
Private | FErrors: TStringList;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function Call(aName: String; aParams: array of Variant): Variant; virtual; abstract;
Protected | function GetState: TGLScriptState; virtual; abstract;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Compile; virtual; abstract;
Public | procedure Execute; virtual; abstract;
Public | procedure Invalidate; virtual; abstract;
Public | procedure Start; virtual; abstract;
Public | procedure Stop; virtual; abstract;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetText(const Value: TStringList);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Description: String read FDescription write FDescription;
Public | property Errors: TStringList read FErrors;
Public | property State: TGLScriptState read GetState;
Published | property Text: TStringList read FText write SetText;

Description

Fields

Private FText: TStringList;
Private FDescription: String;
Private FErrors: TStringList;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function Call(aName: String; aParams: array of Variant): Variant; virtual; abstract;
Protected function GetState: TGLScriptState; virtual; abstract;
Public procedure Assign(Source: TPersistent); override;
Public procedure Compile; virtual; abstract;
Public procedure Execute; virtual; abstract;
Public procedure Invalidate; virtual; abstract;
Public procedure Start; virtual; abstract;
Public procedure Stop; virtual; abstract;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); virtual;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetText(const Value: TStringList);
Protected procedure WriteToFiler(writer: TWriter); override;

not persistent

Properties

Published property Description: String read FDescription write FDescription;
Public property Errors: TStringList read FErrors;
Public property State: TGLScriptState read GetState;
Published property Text: TStringList read FText write SetText;


GLSysHelp v.2.1: GLS.ScriptBase: Class TGLScripts

Class TGLScripts

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ScriptBase

Declaration

type TGLScripts = class(TXCollection)

Description

XCollection descendant for storing and handling scripts.

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLScripts

Overview

Methods

Public | function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public | class function ItemsClass: TXCollectionItemClass; override;
Protected | function GetItems(index: Integer): TGLScriptBase;
Public | procedure Assign(Source: TPersistent); override;

Properties

Public property Items[index:Integer]: TGLScriptBase read GetItems;

Description

Methods

Public function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public class function ItemsClass: TXCollectionItemClass; override;
Protected function GetItems(index: Integer): TGLScriptBase;
Public procedure Assign(Source: TPersistent); override;

Properties

Public property Items[index:Integer]: TGLScriptBase read GetItems;


GLSysHelp v.2.1: GLS.ScriptBase: Class TGLScriptLibrary

Class TGLScriptLibrary

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ScriptBase

Declaration

type TGLScriptLibrary = class(TComponent)

Description

Encapsulation of the scripts XCollection to help with script handling at design-time. Links the scripts to Delphi's persistence model.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLScriptLibrary

Overview

Fields

Private FScripts: TGLScripts;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadScriptsData(Stream: TStream);
Protected | procedure WriteScriptsData(Stream: TStream);

Properties

Published property Scripts: TGLScripts read FScripts;

Description

Fields

Private FScripts: TGLScripts;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadScriptsData(Stream: TStream);
Protected procedure WriteScriptsData(Stream: TStream);

Properties

Published property Scripts: TGLScripts read FScripts;


GLSysHelp v.2.1: GLS.SDLContext

Unit GLS.SDLContext

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.XOpenGL
  • GLS.Context
  • GLS.Scene
  • SDL2.Import
  • GLS.SDLWindow

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TSDLViewer |
Class TSDLContext |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: GLS.SDLContext: Class TSDLViewer

Class TSDLViewer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SDLContext

Declaration

type TSDLViewer = class(TGLNonVisualViewer)

Description

A viewer using SDL. Beware: only one at a time, no other viewers allowed! Will also close the application when the window is closed!

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNonVisualViewer
  • TSDLViewer

Overview

Fields

Private | FCaption: string;
Private | FOnSDLEvent: TSDLEvent;
Private | FOnEventPollDone: TNotifyEvent;
Private | FOnResize: TNotifyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Active: Boolean;
Public | procedure Render(baseObject: TGLBaseSceneObject = nil); override;
Protected | procedure DoBufferStructuralChange(Sender: TObject); override;
Protected | procedure DoOnClose(sender: TObject);
Protected | procedure DoOnEventPollDone(sender: TObject);
Protected | procedure DoOnOpen(sender: TObject);
Protected | procedure DoOnResize(sender: TObject);
Protected | procedure DoOnSDLEvent(sender: TObject; const event: TSDL_Event);
Protected | procedure PrepareGLContext; override;
Protected | procedure SetCaption(const val: string);

Properties

Published | property Caption: string read FCaption write SetCaption;
Published | property OnEventPollDone: TNotifyEvent read FOnEventPollDone write FOnEventPollDone;
Published | property OnResize: TNotifyEvent read FOnResize write FOnResize;
Published | property OnSDLEvent: TSDLEvent read FOnSDLEvent write FOnSDLEvent;

Description

Fields

Private FCaption: string;
Private FOnSDLEvent: TSDLEvent;
Private FOnEventPollDone: TNotifyEvent;
Private FOnResize: TNotifyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Active: Boolean;
Public procedure Render(baseObject: TGLBaseSceneObject = nil); override;
Protected procedure DoBufferStructuralChange(Sender: TObject); override;
Protected procedure DoOnClose(sender: TObject);
Protected procedure DoOnEventPollDone(sender: TObject);
Protected procedure DoOnOpen(sender: TObject);
Protected procedure DoOnResize(sender: TObject);
Protected procedure DoOnSDLEvent(sender: TObject; const event: TSDL_Event);
Protected procedure PrepareGLContext; override;
Protected procedure SetCaption(const val: string);

Properties

Published property Caption: string read FCaption write SetCaption;
Published property OnEventPollDone: TNotifyEvent read FOnEventPollDone write FOnEventPollDone;

Fired whenever an event polling completes with no events left to poll.

Published property OnResize: TNotifyEvent read FOnResize write FOnResize;
Published property OnSDLEvent: TSDLEvent read FOnSDLEvent write FOnSDLEvent;

Fired whenever an SDL Event is polled. SDL_QUITEV and SDL_VIDEORESIZE are not passed to this event handler, they are passed via OnClose and OnResize respectively.


GLSysHelp v.2.1: GLS.SDLContext: Class TSDLContext

Class TSDLContext

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SDLContext

Declaration

type TSDLContext = class(TGLScreenControlingContext)

Description

A context driver for OpenGL via SDL (libsdl.org). Due to limitations of SDL: you may have only one SDL window opened at any time (you cannot have memory viewers) closing the SDL window will terminate the application

Hierarchy

  • TObject
  • TGLContext
  • TGLScreenControlingContext
  • TSDLContext

Overview

Fields

Private | FSDLWin: TSDLWindow;
Private | FSimulatedValidity: Boolean;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function IsValid: Boolean; override;
Public | function RenderOutputDevice: Pointer; override;
Protected | function DoShareLists(aContext: TGLContext): Boolean; override;
Public | procedure SwapBuffers; override;
Protected | procedure DoActivate; override;
Protected | procedure DoCreateContext(outputDevice: HDC); override;
Protected | procedure DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: integer); override;
Protected | procedure DoDeactivate; override;
Protected | procedure DoDestroyContext; override;

Properties

Public property SDLWindow: TSDLWindow read FSDLWin;

Description

Fields

Private FSDLWin: TSDLWindow;
Private FSimulatedValidity: Boolean;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function IsValid: Boolean; override;
Public function RenderOutputDevice: Pointer; override;
Protected function DoShareLists(aContext: TGLContext): Boolean; override;
Public procedure SwapBuffers; override;
Protected procedure DoActivate; override;
Protected procedure DoCreateContext(outputDevice: HDC); override;

Hack around SDL's post-notified destruction of context

Protected procedure DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: integer); override;
Protected procedure DoDeactivate; override;
Protected procedure DoDestroyContext; override;

Properties

Public property SDLWindow: TSDLWindow read FSDLWin;


GLSysHelp v.2.1: GLS.SDLWindow

Unit GLS.SDLWindow

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.SyncObjs
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.VectorTypes
  • GLS.State
  • GLS.Context
  • GLS.VectorGeometry
  • SDL2.Import

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TSDLWindow |
Class ESDLError |

Functions and Procedures

function _putenv(const variable: PAnsiChar): Integer; cdecl;
function SDL_putenv(const variable: PAnsiChar): Integer;
function getenv(const name: PAnsiChar): PAnsiChar; cdecl;
function SDL_getenv(const name: PAnsiChar): PAnsiChar;
procedure Register;

Types

TSDLEvent = procedure(sender: TObject; const event: TSDL_Event) of object;
TSDLWindowOption = (...);
TSDLWindowOptions = set of TSDLWindowOption;
TSDLWindowPixelDepth = (...);

Constants

cDefaultSDLWindowOptions = [voDoubleBuffer, voHardwareAccel, voOpenGL, voResizable];

Description

Functions and Procedures

function _putenv(const variable: PAnsiChar): Integer; cdecl;

—————————————————————————– Get Environment Routines ——————————————————————————

function SDL_putenv(const variable: PAnsiChar): Integer;

function SDL_putenv(const variable: PAnsiChar): integer; cdecl; external LibName;

function getenv(const name: PAnsiChar): PAnsiChar; cdecl;

function putenv(const variable: PAnsiChar): integer;

function SDL_getenv(const name: PAnsiChar): PAnsiChar;

function SDL_getenv(const name: PAnsiChar): PAnsiChar; cdecl; external LibName;

procedure Register;

function getenv(const name: PAnsiChar): PAnsiChar;

Types

TSDLEvent = procedure(sender: TObject; const event: TSDL_Event) of object;
TSDLWindowOption = (...);

Specifies optional settings for the SDL window. Those options are a simplified subset of the SDL options: voDoubleBuffer: create a double-buffered window voOpenGL: requires OpenGL capability for the window voResizable: window should be resizable voFullScreen: requires a full screen "window" (screen resolution may be changed) voStencilBuffer: requires a stencil buffer (8bits, use along voOpenGL)

Values
  • voDoubleBuffer
  • voHardwareAccel
  • voOpenGL
  • voResizable
  • voFullScreen
  • voStencilBuffer
TSDLWindowOptions = set of TSDLWindowOption;
TSDLWindowPixelDepth = (...);

Pixel Depth options. vpd16bits: 16bpp graphics (565) (and 16 bits depth buffer for OpenGL) vpd24bits: 24bpp graphics (565) (and 24 bits depth buffer for OpenGL)

Values
  • vpd16bits
  • vpd24bits

Constants

cDefaultSDLWindowOptions = [voDoubleBuffer, voHardwareAccel, voOpenGL, voResizable];


GLSysHelp v.2.1: GLS.SDLWindow: Class TSDLWindow

Class TSDLWindow

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SDLWindow

Declaration

type TSDLWindow = class(TComponent)

Description

A basic SDL-based window (non-visual component). Only a limited subset of SDL's features are available, and this window is heavily oriented toward using it for OpenGL rendering. Be aware SDL is currently limited to a single window at any time... so you may have multiple components, but only one can be used

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TSDLWindow

Overview

Fields

Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FPixelDepth: TSDLWindowPixelDepth;
Private | FOptions: TSDLWindowOptions;
Private | FActive: Boolean;
Private | FOnOpen: TNotifyEvent;
Private | FOnClose: TNotifyEvent;
Private | FOnResize: TNotifyEvent;
Private | FOnSDLEvent: TSDLEvent;
Private | FOnEventPollDone: TNotifyEvent;
Private | FCaption: String;
Private | FThreadSleepLength: Integer;
Private | FThreadPriority: TThreadPriority;
Private | FThreadedEventPolling: Boolean;
Private | FThread: TThread;
Private | FSDLSurface: PSDL_Surface;
Private | FWindowHandle: Longword;
Private | FSDLWindow: PSDL_Window;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function BuildSDLVideoFlags: Cardinal;
Public | procedure Close;
Public | procedure Open;
Public | procedure PollEvents;
Public | procedure SwapBuffers;
Public | procedure UpdateWindow;
Protected | procedure CreateOrRecreateSDLSurface;
Protected | procedure ResizeGLWindow;
Protected | procedure SetActive(const val: Boolean);
Protected | procedure SetCaption(const val: String);
Protected | procedure SetHeight(const val: Integer);
Protected | procedure SetOptions(const val: TSDLWindowOptions);
Protected | procedure SetPixelDepth(const val: TSDLWindowPixelDepth);
Protected | procedure SetSDLGLAttributes;
Protected | procedure SetThreadedEventPolling(const val: Boolean);
Protected | procedure SetThreadPriority(const val: TThreadPriority);
Protected | procedure SetThreadSleepLength(const val: Integer);
Protected | procedure SetupSDLEnvironmentValues;
Protected | procedure SetWidth(const val: Integer);
Protected | procedure StartThread;
Protected | procedure StopThread;

Properties

Public | property Active: Boolean read FActive write SetActive;
Published | property Caption: String read FCaption write SetCaption;
Published | property Height: Integer read FHeight write SetHeight default 480;
Published | property OnClose: TNotifyEvent read FOnClose write FOnClose;
Published | property OnEventPollDone: TNotifyEvent read FOnEventPollDone write FOnEventPollDone;
Published | property OnOpen: TNotifyEvent read FOnOpen write FOnOpen;
Published | property OnResize: TNotifyEvent read FOnResize write FOnResize;
Published | property OnSDLEvent: TSDLEvent read FOnSDLEvent write FOnSDLEvent;
Published | property Options: TSDLWindowOptions read FOptions write SetOptions default cDefaultSDLWindowOptions;
Published | property PixelDepth: TSDLWindowPixelDepth read FPixelDepth write SetPixelDepth default vpd24bits;
Public | property SDLSurface: PSDL_Surface read FSDLSurface;
Public | property SDLWindow: PSDL_Window read FSDLWindow;
Published | property ThreadedEventPolling: Boolean read FThreadedEventPolling write SetThreadedEventPolling default True;
Published | property ThreadPriority: TThreadPriority read FThreadPriority write SetThreadPriority default tpLower;
Published | property ThreadSleepLength: Integer read FThreadSleepLength write SetThreadSleepLength default 1;
Published | property Width: Integer read FWidth write SetWidth default 640;
Public | property WindowHandle: Cardinal read FWindowHandle write FWindowHandle;

Description

Fields

Private FWidth: Integer;
Private FHeight: Integer;
Private FPixelDepth: TSDLWindowPixelDepth;
Private FOptions: TSDLWindowOptions;
Private FActive: Boolean;
Private FOnOpen: TNotifyEvent;
Private FOnClose: TNotifyEvent;
Private FOnResize: TNotifyEvent;
Private FOnSDLEvent: TSDLEvent;
Private FOnEventPollDone: TNotifyEvent;
Private FCaption: String;
Private FThreadSleepLength: Integer;
Private FThreadPriority: TThreadPriority;
Private FThreadedEventPolling: Boolean;
Private FThread: TThread;
Private FSDLSurface: PSDL_Surface;
Private FWindowHandle: Longword;
Private FSDLWindow: PSDL_Window;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function BuildSDLVideoFlags: Cardinal;
Public procedure Close;

Closes an already opened SDL Window. NOTE: will also kill the app due to an SDL limitation...

Public procedure Open;

Initializes and Opens an SDL window

Public procedure PollEvents;

Polls SDL events. SDL events can be either polled "manually", through a call to this method, or automatically via ThreadEventPolling

Public procedure SwapBuffers;

Swap front and back buffer

Public procedure UpdateWindow;

Applies changes (size, pixeldepth...) to the opened window

Protected procedure CreateOrRecreateSDLSurface;
Protected procedure ResizeGLWindow;
Protected procedure SetActive(const val: Boolean);
Protected procedure SetCaption(const val: String);
Protected procedure SetHeight(const val: Integer);
Protected procedure SetOptions(const val: TSDLWindowOptions);
Protected procedure SetPixelDepth(const val: TSDLWindowPixelDepth);
Protected procedure SetSDLGLAttributes;
Protected procedure SetThreadedEventPolling(const val: Boolean);
Protected procedure SetThreadPriority(const val: TThreadPriority);
Protected procedure SetThreadSleepLength(const val: Integer);
Protected procedure SetupSDLEnvironmentValues;
Protected procedure SetWidth(const val: Integer);
Protected procedure StartThread;
Protected procedure StopThread;

Properties

Public property Active: Boolean read FActive write SetActive;

Is the SDL window active (opened)? Adjusting this value as the same effect as invoking Open/Close

Published property Caption: String read FCaption write SetCaption;

Caption of the SDL window

Published property Height: Integer read FHeight write SetHeight default 480;

Height of the SDL window. To apply changes to an active window, call UpdateWindow

Published property OnClose: TNotifyEvent read FOnClose write FOnClose;

Fired whenever closing the window. The SDL surface is still defined and usable when the event happens

Published property OnEventPollDone: TNotifyEvent read FOnEventPollDone write FOnEventPollDone;

Fired whenever an event polling completes with no events left to poll

Published property OnOpen: TNotifyEvent read FOnOpen write FOnOpen;

Fired whenever Open succeeds. The SDL surface is defined and usable when the event happens

Published property OnResize: TNotifyEvent read FOnResize write FOnResize;

Fired whenever the window is resized. Note: glViewPort call is handled automatically for OpenGL windows

Published property OnSDLEvent: TSDLEvent read FOnSDLEvent write FOnSDLEvent;

Fired whenever an SDL Event is polled. SDL_QUITEV and SDL_VIDEORESIZE are not passed to this event handler, they are passed via OnClose and OnResize respectively

Published property Options: TSDLWindowOptions read FOptions write SetOptions default cDefaultSDLWindowOptions;

Options for the SDL window. To apply changes to an active window, call UpdateWindow

Published property PixelDepth: TSDLWindowPixelDepth read FPixelDepth write SetPixelDepth default vpd24bits;

PixelDepth of the SDL window. To apply changes to an active window, call UpdateWindow

Public property SDLSurface: PSDL_Surface read FSDLSurface;

Presents the SDL surface of the window. If Active is False, this value is undefined

Public property SDLWindow: PSDL_Window read FSDLWindow;

Presents the SDL window. If Active is False, this value is undefined

Published property ThreadedEventPolling: Boolean read FThreadedEventPolling write SetThreadedEventPolling default True;

Controls automatic threaded event polling

Published property ThreadPriority: TThreadPriority read FThreadPriority write SetThreadPriority default tpLower;

Priority of the event polling thread

Published property ThreadSleepLength: Integer read FThreadSleepLength write SetThreadSleepLength default 1;

Sleep length between pollings in the polling thread

Published property Width: Integer read FWidth write SetWidth default 640;

Width of the SDL window. To apply changes to an active window, call UpdateWindow

Public property WindowHandle: Cardinal read FWindowHandle write FWindowHandle;

Experimental: ask SDL to reuse and existing WindowHandle


GLSysHelp v.2.1: GLS.SDLWindow: Class ESDLError

Class ESDLError

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SDLWindow

Declaration

type ESDLError = class(Exception)

Description

Generic SDL or SDLWindow exception

Hierarchy

  • TObject
  • Exception
  • ESDLError


GLSysHelp v.2.1: GLS.Selection

Unit GLS.Selection

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.SysUtils
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.BaseClasses
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TPickRecord |
Class TGLPickList |
Class TGLBaseSelectTechnique |
Class TGLSelectRenderModeTechnique |

Functions and Procedures

function GetBestSelectorClass: TGLBaseSelectTechniqueClass; inline;

Types

TGLBaseSelectTechniqueClass = class of TGLBaseSelectTechnique;
TPickSortType = (...);
TPickSubObjects = array of LongInt;

Constants

MAX_OBJECT_STACK_DEPTH = 512;

Description

Functions and Procedures

function GetBestSelectorClass: TGLBaseSelectTechniqueClass; inline;

Types

TGLBaseSelectTechniqueClass = class of TGLBaseSelectTechnique;
TPickSortType = (...);
Values
  • psDefault
  • psName
  • psMinDepth
  • psMaxDepth
TPickSubObjects = array of LongInt;

Constants

MAX_OBJECT_STACK_DEPTH = 512;


GLSysHelp v.2.1: GLS.Selection: Class TPickRecord

Class TPickRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Selection

Declaration

type TPickRecord = class(TObject)

Description

Hierarchy

  • TObject
  • TPickRecord

Overview

Fields

Public | AObject: TGLUpdateAbleComponent;
Public | SubObjects: TPickSubObjects;
Public | ZMin: Single;
Public | ZMax: Single;

Description

Fields

Public AObject: TGLUpdateAbleComponent;
Public SubObjects: TPickSubObjects;
Public ZMin: Single;
Public ZMax: Single;


GLSysHelp v.2.1: GLS.Selection: Class TGLPickList

Class TGLPickList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Selection

Declaration

type TGLPickList = class(TPersistentObjectList)

Description

List class for object picking. This list is used to store the results of a PickObjects call.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLPickList

Overview

Methods

Public | constructor Create(aSortType: TPickSortType); reintroduce;
Public | function FindObject(AObject: TObject): Integer;
Private | function GetFar(aValue: Integer): Single;
Private | function GetHit(aValue: Integer): TObject;
Private | function GetNear(aValue: Integer): Single;
Private | function GetSubObjects(aValue: Integer): TPickSubObjects;
Public | procedure AddHit(obj: TObject; const subObj: TPickSubObjects; zMin, zMax: Single);
Public | procedure Clear; override;

Properties

Public | property FarDistance[Index:Integer]: Single read GetFar;
Public | property Hit[Index:Integer]: TObject read GetHit;
Public | property NearDistance[Index:Integer]: Single read GetNear;
Public | property SubObjects[Index:Integer]: TPickSubObjects read GetSubObjects;

Description

Methods

Public constructor Create(aSortType: TPickSortType); reintroduce;
Public function FindObject(AObject: TObject): Integer;
Private function GetFar(aValue: Integer): Single;
Private function GetHit(aValue: Integer): TObject;
Private function GetNear(aValue: Integer): Single;
Private function GetSubObjects(aValue: Integer): TPickSubObjects;
Public procedure AddHit(obj: TObject; const subObj: TPickSubObjects; zMin, zMax: Single);
Public procedure Clear; override;

Properties

Public property FarDistance[Index:Integer]: Single read GetFar;
Public property Hit[Index:Integer]: TObject read GetHit;
Public property NearDistance[Index:Integer]: Single read GetNear;
Public property SubObjects[Index:Integer]: TPickSubObjects read GetSubObjects;


GLSysHelp v.2.1: GLS.Selection: Class TGLBaseSelectTechnique

Class TGLBaseSelectTechnique

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Selection

Declaration

type TGLBaseSelectTechnique = class(TObject)

Description

Hierarchy

  • TObject
  • TGLBaseSelectTechnique

Overview

Fields

Protected | FObjectStack: array of TObject;
Protected | FNameStack: array[0..255] of Cardinal;
Protected | FCurrentName: Integer;
Protected | FStackPosition: Integer;
Protected | FObjectCountGuess: Integer;
Protected | FHits: Integer;

Methods

Public | class function IsSupported: Boolean; virtual; abstract;
Public | function Stop: Boolean; virtual; abstract;
Protected | function GetHits: Integer; virtual; abstract;
Protected | function GetItems(Value: Integer): TObject; virtual; abstract;
Protected | function GetObject: TObject; virtual; abstract;
Public | procedure FillPickingList(var AList: TGLPickList); virtual; abstract;
Public | procedure LoadObject(AName: TObject); virtual; abstract;
Public | procedure PopObject(); virtual; abstract;
Public | procedure PushObject(AName: TObject); virtual; abstract;
Public | procedure Start; virtual; abstract;
Protected | procedure SetHits(Value: Integer); virtual; abstract;
Protected | procedure SetObject(Value: TObject); virtual; abstract;
Protected | procedure SetObjectCountGuess(Value: Integer); virtual; abstract;

Properties

Public | property CurrentObject: TObject read GetObject write SetObject;
Public | property Hits: Integer read GetHits write SetHits;
Public | property ObjectCountGuess: Integer read FObjectCountGuess write SetObjectCountGuess;

Description

Fields

Protected FObjectStack: array of TObject;
Protected FNameStack: array[0..255] of Cardinal;
Protected FCurrentName: Integer;
Protected FStackPosition: Integer;
Protected FObjectCountGuess: Integer;
Protected FHits: Integer;

Methods

Public class function IsSupported: Boolean; virtual; abstract;
Public function Stop: Boolean; virtual; abstract;
Protected function GetHits: Integer; virtual; abstract;
Protected function GetItems(Value: Integer): TObject; virtual; abstract;
Protected function GetObject: TObject; virtual; abstract;
Public procedure FillPickingList(var AList: TGLPickList); virtual; abstract;
Public procedure LoadObject(AName: TObject); virtual; abstract;
Public procedure PopObject(); virtual; abstract;
Public procedure PushObject(AName: TObject); virtual; abstract;
Public procedure Start; virtual; abstract;
Protected procedure SetHits(Value: Integer); virtual; abstract;
Protected procedure SetObject(Value: TObject); virtual; abstract;
Protected procedure SetObjectCountGuess(Value: Integer); virtual; abstract;

Properties

Public property CurrentObject: TObject read GetObject write SetObject;
Public property Hits: Integer read GetHits write SetHits;
Public property ObjectCountGuess: Integer read FObjectCountGuess write SetObjectCountGuess;


GLSysHelp v.2.1: GLS.Selection: Class TGLSelectRenderModeTechnique

Class TGLSelectRenderModeTechnique

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Selection

Declaration

type TGLSelectRenderModeTechnique = class(TGLBaseSelectTechnique)

Description

No description available, ancestor TGLBaseSelectTechnique description follows

Hierarchy

  • TObject
  • TGLBaseSelectTechnique
  • TGLSelectRenderModeTechnique

Overview

Fields

Private FBuffer: array of Cardinal;

Methods

Public | class function IsSupported: Boolean; override;
Public | function Stop: Boolean; override;
Protected | function GetHits: Integer; override;
Protected | function GetObject: TObject; override;
Public | procedure FillPickingList(var AList: TGLPickList); override;
Public | procedure Start; override;
Protected | procedure SetHits(Value: Integer); override;
Protected | procedure SetObject(Value: TObject); override;
Protected | procedure SetObjectCountGuess(Value: Integer); override;

Properties

Public | property CurrentObject;
Public | property Hits;
Public | property ObjectCountGuess;

Description

Fields

Private FBuffer: array of Cardinal;

Methods

Public class function IsSupported: Boolean; override;
Public function Stop: Boolean; override;
Protected function GetHits: Integer; override;
Protected function GetObject: TObject; override;
Public procedure FillPickingList(var AList: TGLPickList); override;
Public procedure Start; override;
Protected procedure SetHits(Value: Integer); override;
Protected procedure SetObject(Value: TObject); override;
Protected procedure SetObjectCountGuess(Value: Integer); override;

Properties

Public property CurrentObject;
Public property Hits;
Public property ObjectCountGuess;


GLSysHelp v.2.1: GLS.ShadowHDS

Unit GLS.ShadowHDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.VectorLists
  • GLS.HeightData
  • GLS.Graphics
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.VectorTypes
  • GLS.Coordinates
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLShadowHDS |

Types

TNewTilePreparedEvent = procedure(Sender: TGLShadowHDS; heightData: TGLHeightData; ShadowMapMaterial: TGLLibMaterial) of object;
TThreadBmp32 = procedure(Sender: TGLShadowHDS; heightData: TGLHeightData; bmp32: TGLBitmap32) of object;

Description

Types

TNewTilePreparedEvent = procedure(Sender: TGLShadowHDS; heightData: TGLHeightData; ShadowMapMaterial: TGLLibMaterial) of object;
TThreadBmp32 = procedure(Sender: TGLShadowHDS; heightData: TGLHeightData; bmp32: TGLBitmap32) of object;


GLSysHelp v.2.1: GLS.ShadowHDS: Class TGLShadowHDS

Class TGLShadowHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowHDS

Declaration

type TGLShadowHDS = class(TGLHeightDataSourceFilter)

Description

An Height Data Source that generates terrain shadow maps automatically. The HDS must be connected to another HDS, which will provide the elevation data, and to a MaterialLibrary where shadowmaps will be placed.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLHeightDataSourceFilter
  • TGLShadowHDS

Overview

Fields

Private | FTileSize: integer;
Private | FShadowmapLibrary: TGLMaterialLibrary;
Private | FLightVector: TGLCoordinates;
Private | FScale: TGLCoordinates;
Private | FScaleVec: TVector3f;
Private | FOnNewTilePrepared: TNewTilePreparedEvent;
Private | FOnThreadBmp32: TThreadBmp32;
Private | FMaxTextures: integer;
Private | Step: TVector3f;
Private | FScanDistance: integer;
Private | FSoftRange: cardinal;
Private | FDiffuse: single;
Private | FAmbient: single;
Private | OwnerHDS: TGLHeightDataSource;
Public | SkipGenerate: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function RayCastShadowHeight(HD: TGLHeightData; localX, localY: single): single; overload;
Public | function Shade(heightData: TGLHeightData; x, y: integer; ShadowHeight, TerrainHeight: single): byte;
Protected | function CalcScale: TAffineVector;
Protected | function CalcStep: TAffineVector;
Protected | function FindUnusedMaterial: TGLLibMaterial;
Protected | function WrapDist(Lx, Ly: single): integer;
Public | procedure AfterPreparingData(heightData: TGLHeightData); override;
Public | procedure BeforePreparingData(heightData: TGLHeightData); override;
Public | procedure GenerateShadowMap(heightData: TGLHeightData; ShadowMap: TGLBitmap32; scale: single);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure PreparingData(heightData: TGLHeightData); override;
Public | procedure RayCastLine(heightData: TGLHeightData; Lx, Ly: single; ShadowMap: TGLBitmap32);
Public | procedure TrimTextureCache(MaxTextureCount: integer = 0);
Protected | procedure LocalToWorld(Lx, Ly: single; HD: TGLHeightData; var Wx: single; var Wy: single);
Protected | procedure SetAmbient(AValue: single);
Protected | procedure SetDiffuse(AValue: single);
Protected | procedure SetLightVector(AValue: TGLCoordinates);
Protected | procedure SetScale(AValue: TGLCoordinates);
Protected | procedure SetShadowmapLibrary(const val: TGLMaterialLibrary);
Protected | procedure SetSoftRange(AValue: cardinal);
Protected | procedure Trim(MaxTextureCount: integer);
Protected | procedure WorldToLocal(Wx, Wy: single; var HD: TGLHeightData; var Lx: single; var Ly: single);

Properties

Published | property Ambient: single read FAmbient write SetAmbient;
Published | property Diffuse: single read FDiffuse write SetDiffuse;
Published | property LightVector: TGLCoordinates read FLightVector write SetLightVector;
Published | property MaxTextures: integer read FMaxTextures write FMaxTextures;
Published | property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
Published | property OnSourceDataFetched;
Published | property OnThreadBmp32: TThreadBmp32 read FOnThreadBmp32 write FOnThreadBmp32;
Published | property scale: TGLCoordinates read FScale write FScale;
Published | property ScanDistance: integer read FScanDistance write FScanDistance;
Published | property ShadowmapLibrary: TGLMaterialLibrary read FShadowmapLibrary write SetShadowmapLibrary;
Published | property SoftRange: cardinal read FSoftRange write SetSoftRange;

Description

Fields

Private FTileSize: integer;
Private FShadowmapLibrary: TGLMaterialLibrary;
Private FLightVector: TGLCoordinates;
Private FScale: TGLCoordinates;
Private FScaleVec: TVector3f;
Private FOnNewTilePrepared: TNewTilePreparedEvent;
Private FOnThreadBmp32: TThreadBmp32;
Private FMaxTextures: integer;

FSubSampling : Integer;

Private Step: TVector3f;
Private FScanDistance: integer;
Private FSoftRange: cardinal;
Private FDiffuse: single;
Private FAmbient: single;
Private OwnerHDS: TGLHeightDataSource;
Public SkipGenerate: boolean;

When true, only a blank ShadowMap is generated (FAST), but OnThreadBmp32 is still called in a subthread.

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function RayCastShadowHeight(HD: TGLHeightData; localX, localY: single): single; overload;

This traces a ray from a point on the terrain surface, back to the Lightsource, while testing for any intersections with the terrain. It returns the height of the shadow. There is no shadow if the shadow height is equal to terrain height. This is slow, but only needs to be done for pixels along the tile edge, facing the light.

Public function Shade(heightData: TGLHeightData; x, y: integer; ShadowHeight, TerrainHeight: single): byte;

Calculate the pixel brightness, using Direct Diffuse light and Ambient light. DirectLight = 1 if in direct sunlight (no shadows) 0 if in shadow. (Use "SoftRange" for soft shadow edges i.e. 1>Directlight>0 ) AmbientLight = Relative to Angle between surface Normal and sky (Directly up) ie. Vertical walls are darker because they see less sky. DiffuseLight = Relative to Angle between surface Normal, and Sun vector.

Protected function CalcScale: TAffineVector;
Protected function CalcStep: TAffineVector;
Protected function FindUnusedMaterial: TGLLibMaterial;

Useful for recycling unused textures, instead of freeing and creating a new one.

Protected function WrapDist(Lx, Ly: single): integer;

Get the number of steps, before the current tile's edge is reached, in the direction of the step vector;

Public procedure AfterPreparingData(heightData: TGLHeightData); override;
Public procedure BeforePreparingData(heightData: TGLHeightData); override;

Prepare a blank texture for this tile's lightmap, from the main thread

Public procedure GenerateShadowMap(heightData: TGLHeightData; ShadowMap: TGLBitmap32; scale: single);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure PreparingData(heightData: TGLHeightData); override;

Calculate the lightmap from the HD thread, using the attached blank texture

Public procedure RayCastLine(heightData: TGLHeightData; Lx, Ly: single; ShadowMap: TGLBitmap32);
Public procedure TrimTextureCache(MaxTextureCount: integer = 0);

This will repeatedly delete the oldest unused texture from the TGLMaterialLibrary, until the texture count drops to MaxTextureCount. DONT use this if you used TGLHeightData.MaterialName to link your terrain textures. Either use with TGLHeightData.LibMaterial, or manually delete unused LightMap textures.

Protected procedure LocalToWorld(Lx, Ly: single; HD: TGLHeightData; var Wx: single; var Wy: single);

Converts local tile coordinates to world coordinages. Even if the coordinates are off the tile.

Protected procedure SetAmbient(AValue: single);
Protected procedure SetDiffuse(AValue: single);
Protected procedure SetLightVector(AValue: TGLCoordinates);
Protected procedure SetScale(AValue: TGLCoordinates);
Protected procedure SetShadowmapLibrary(const val: TGLMaterialLibrary);

The owner of the tile

Protected procedure SetSoftRange(AValue: cardinal);
Protected procedure Trim(MaxTextureCount: integer);

procedure SetSubSampling(const val : Integer);

Protected procedure WorldToLocal(Wx, Wy: single; var HD: TGLHeightData; var Lx: single; var Ly: single);

Takes World coordinates and returns the correct tile, and converted local coordinates

Properties

Published property Ambient: single read FAmbient write SetAmbient;
Published property Diffuse: single read FDiffuse write SetDiffuse;

Shadow height above sufrace for max diffuse light

Published property LightVector: TGLCoordinates read FLightVector write SetLightVector;
Published property MaxTextures: integer read FMaxTextures write FMaxTextures;
Published property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;

WARNING: This runs in a subthread

Published property OnSourceDataFetched;
Published property OnThreadBmp32: TThreadBmp32 read FOnThreadBmp32 write FOnThreadBmp32;
Published property scale: TGLCoordinates read FScale write FScale;
Published property ScanDistance: integer read FScanDistance write FScanDistance;
Published property ShadowmapLibrary: TGLMaterialLibrary read FShadowmapLibrary write SetShadowmapLibrary;
Published property SoftRange: cardinal read FSoftRange write SetSoftRange;


GLSysHelp v.2.1: GLS.ShadowPlane

Unit GLS.ShadowPlane

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.Types
  • GLS.OpenGLTokens
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.VectorTypes
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Objects
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.TextureFormat
  • GLS.Context
  • GLS.Material
  • GLS.Texture
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLShadowPlane |

Types

TShadowPlaneOption = (...);
TShadowPlaneOptions = set of TShadowPlaneOption;

Constants

cDefaultShadowPlaneOptions = [spoUseStencil, spoScissor];

Description

Types

TShadowPlaneOption = (...);
Values
  • spoUseStencil
  • spoScissor
  • spoTransparent
  • spoIgnoreZ
TShadowPlaneOptions = set of TShadowPlaneOption;

Constants

cDefaultShadowPlaneOptions = [spoUseStencil, spoScissor];


GLSysHelp v.2.1: GLS.ShadowPlane: Class TGLShadowPlane

Class TGLShadowPlane

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowPlane

Declaration

type TGLShadowPlane = class(TGLPlane)

Description

A simple shadow plane. This mirror requires a stencil buffer for optimal rendering! The object is a mix between a plane and a proxy object, in that the plane defines where the shadows are cast, while the proxy part is used to reference the objects that should be shadowing (it is legal to self-shadow, but no self-shadow visuals will be rendered). If stenciling isn't used, the shadow will 'paint' the ShadowColor instead of blending it transparently. You can have lower quality shadow geometry: add a dummycube, set it to invisible (so it won't be rendered in the "regular" pass), and under it place another visible dummycube under which you have all your low quality objects, use it as shadowing object. Apply the same movements to the low-quality objects that you apply to the visible, high-quality ones

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLPlane
  • TGLShadowPlane

Overview

Fields

Private | FRendering: Boolean;
Private | FShadowingObject: TGLBaseSceneObject;
Private | FShadowedLight: TGLLightSource;
Private | FShadowColor: TGLColor;
Private | FShadowOptions: TShadowPlaneOptions;
Private | FOnBeginRenderingShadows: TNotifyEvent;
Private | FOnEndRenderingShadows: TNotifyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetShadowColor(const val: TGLColor);
Protected | procedure SetShadowedLight(const val: TGLLightSource);
Protected | procedure SetShadowingObject(const val: TGLBaseSceneObject);
Protected | procedure SetShadowOptions(const val: TShadowPlaneOptions);

Properties

Published | property OnBeginRenderingShadows: TNotifyEvent read FOnBeginRenderingShadows write FOnBeginRenderingShadows;
Published | property OnEndRenderingShadows: TNotifyEvent read FOnEndRenderingShadows write FOnEndRenderingShadows;
Published | property ShadowColor: TGLColor read FShadowColor write SetShadowColor;
Published | property ShadowedLight: TGLLightSource read FShadowedLight write SetShadowedLight;
Published | property ShadowingObject: TGLBaseSceneObject read FShadowingObject write SetShadowingObject;
Published | property ShadowOptions: TShadowPlaneOptions read FShadowOptions write SetShadowOptions default cDefaultShadowPlaneOptions;

Description

Fields

Private FRendering: Boolean;
Private FShadowingObject: TGLBaseSceneObject;
Private FShadowedLight: TGLLightSource;
Private FShadowColor: TGLColor;
Private FShadowOptions: TShadowPlaneOptions;
Private FOnBeginRenderingShadows: TNotifyEvent;
Private FOnEndRenderingShadows: TNotifyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetShadowColor(const val: TGLColor);
Protected procedure SetShadowedLight(const val: TGLLightSource);
Protected procedure SetShadowingObject(const val: TGLBaseSceneObject);
Protected procedure SetShadowOptions(const val: TShadowPlaneOptions);

Properties

Published property OnBeginRenderingShadows: TNotifyEvent read FOnBeginRenderingShadows write FOnBeginRenderingShadows;

Fired before the shadows are rendered

Published property OnEndRenderingShadows: TNotifyEvent read FOnEndRenderingShadows write FOnEndRenderingShadows;

Fired after the shadows are rendered

Published property ShadowColor: TGLColor read FShadowColor write SetShadowColor;

The shadow's color. This color is transparently blended to make shadowed area darker

Published property ShadowedLight: TGLLightSource read FShadowedLight write SetShadowedLight;

The light which casts shadows. It must be enabled otherwise shadows won't be cast

Published property ShadowingObject: TGLBaseSceneObject read FShadowingObject write SetShadowingObject;

Selects the object to mirror.If nil, the whole scene is mirrored.

Published property ShadowOptions: TShadowPlaneOptions read FShadowOptions write SetShadowOptions default cDefaultShadowPlaneOptions;

Controls rendering options: spoUseStencil: plane area is stenciled, prevents shadowing objects to be visible on the sides of the mirror (stencil buffer must be active in the viewer too). It also allows shadows to be partial (blended). spoScissor: plane area is 'scissored', this should improve rendering speed by limiting rendering operations and fill rate, may have adverse effects on old hardware in rare cases spoTransparent: does not render the plane's material, may help improve performance if you're fillrate limited, are using the stencil, and your hardware has optimized stencil-only writes


GLSysHelp v.2.1: GLS.ShadowVolume

Unit GLS.ShadowVolume

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Silhouette
  • GLS.PersistentClasses
  • GLS.Coordinates
  • GLS.PipelineTransformation
  • GLS.GeometryBB
  • GLS.Color
  • GLS.Selection
  • GLS.RenderContextInfo
  • GLS.VectorLists
  • GLS.State
  • GLS.VectorTypes
  • GLS.Logger

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLShadowVolumeCaster |
Class TGLShadowVolumeOccluder |
Class TGLShadowVolumeLight |
Class TGLShadowVolumeCasters |
Class TGLShadowVolume |

Types

TGLShadowCastingMode = (...);
TGLShadowVolumeCapping = (...);
TGLShadowVolumeMode = (...);
TGLShadowVolumeOption = (...);
TGLShadowVolumeOptions = set of TGLShadowVolumeOption;

Description

Types

TGLShadowCastingMode = (...);

Determines when a caster should actually produce a shadow; scmAlways : Caster always produces a shadow, ignoring visibility scmVisible : Caster casts shadow if the object has visible=true scmRecursivelyVisible : Caster casts shadow if ancestors up the hierarchy all have visible=true scmParentVisible : Caster produces shadow if parent has visible=true scmParentRecursivelyVisible : Caster casts shadow if ancestors up the hierarchy all have visible=true, starting from the parent (ignoring own visible setting)

Values
  • scmAlways
  • scmVisible
  • scmRecursivelyVisible
  • scmParentVisible
  • scmParentRecursivelyVisible
TGLShadowVolumeCapping = (...);

Determines when a shadow volume should generate a cap at the beginning and end of the volume. This is ONLY necessary when there's a chance that the camera could end up inside the shadow _or_ between the light source and the camera. If those two situations can't occur then not using capping is the best option. Note that if you use the capping, you must either set the depth of view of your camera to something very large (f.i. 1e9), or you could use the infinite mode (csInfinitePerspective) of your camera.

svcDefault : Default behaviour svcAlways : Always generates caps svcNever : Never generates caps

Values
  • svcDefault
  • svcAlways
  • svcNever
TGLShadowVolumeMode = (...);

Shadow rendering modes. svmAccurate : will render the scene with ambient lighting only, then for each light will make a diffuse+specular pass svmDarkening : renders the scene with lighting on as usual, then darkens shadowed areas (i.e. inaccurate lighting, but will "shadow" objects that don't honour to diffuse or specular lighting) svmOff : no shadowing will take place

Values
  • svmAccurate
  • svmDarkening
  • svmOff
TGLShadowVolumeOption = (...);

Shadow volume rendering options/optimizations. svoShowVolumes : make the shadow volumes visible svoDesignVisible : the shadow are visible at design-time svoCacheSilhouettes : cache shadow volume silhouettes, beneficial when some objects are static relatively to their light(s) svoScissorClips : use scissor clipping per light, beneficial when lights are attenuated and don't illuminate the whole scene svoWorldScissorClip : use scissor clipping for the world, beneficial when shadow receivers don't cover the whole viewer surface

Values
  • svoShowVolumes
  • svoCacheSilhouettes
  • svoScissorClips
  • svoWorldScissorClip
  • svoDesignVisible
TGLShadowVolumeOptions = set of TGLShadowVolumeOption;


GLSysHelp v.2.1: GLS.ShadowVolume: Class TGLShadowVolumeCaster

Class TGLShadowVolumeCaster

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowVolume

Declaration

type TGLShadowVolumeCaster = class(TCollectionItem)

Description

Specifies an individual shadow caster. Can be a light or an opaque object.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLShadowVolumeCaster

Overview

Fields

Private | FCaster: TGLBaseSceneObject;
Private | FEffectiveRadius: Single;
Private | FCapping: TGLShadowVolumeCapping;
Private | FCastingMode: TGLShadowCastingMode;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Protected | function GetGLShadowVolume: TGLShadowVolume;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure RemoveNotification(aComponent: TComponent);
Protected | procedure SetCaster(const val: TGLBaseSceneObject);

Properties

Published | property Capping: TGLShadowVolumeCapping read FCapping write FCapping default svcDefault;
Public | property Caster: TGLBaseSceneObject read FCaster write SetCaster;
Published | property CastingMode: TGLShadowCastingMode read FCastingMode write FCastingMode default scmRecursivelyVisible;
Published | property EffectiveRadius: Single read FEffectiveRadius write FEffectiveRadius;
Public | property GLShadowVolume: TGLShadowVolume read GetGLShadowVolume;

Description

Fields

Private FCaster: TGLBaseSceneObject;
Private FEffectiveRadius: Single;
Private FCapping: TGLShadowVolumeCapping;
Private FCastingMode: TGLShadowCastingMode;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Protected function GetGLShadowVolume: TGLShadowVolume;
Public procedure Assign(Source: TPersistent); override;
Protected procedure RemoveNotification(aComponent: TComponent);
Protected procedure SetCaster(const val: TGLBaseSceneObject);

Properties

Published property Capping: TGLShadowVolumeCapping read FCapping write FCapping default svcDefault;

Specifies if the shadow volume should be capped. Capping helps solve shadowing artefacts, at the cost of performance.

Public property Caster: TGLBaseSceneObject read FCaster write SetCaster;

Shadow casting object. Can be an opaque object or a lightsource.

Published property CastingMode: TGLShadowCastingMode read FCastingMode write FCastingMode default scmRecursivelyVisible;

Determines when an object should cast a shadow or not. Typically, objects should only cast shadows when recursively visible. But if you're using dummy shadow casters which are less complex than their parent objects, you should use scmParentRecursivelyVisible.

Published property EffectiveRadius: Single read FEffectiveRadius write FEffectiveRadius;

Radius beyond which the caster can be ignored. Zero (default value) means the caster can never be ignored.

Public property GLShadowVolume: TGLShadowVolume read GetGLShadowVolume;


GLSysHelp v.2.1: GLS.ShadowVolume: Class TGLShadowVolumeOccluder

Class TGLShadowVolumeOccluder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowVolume

Declaration

type TGLShadowVolumeOccluder = class(TGLShadowVolumeCaster)

Description

Specifies an individual shadow casting occluder.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLShadowVolumeCaster
  • TGLShadowVolumeOccluder

Overview

Properties

Published property Caster;

Description

Properties

Published property Caster;


GLSysHelp v.2.1: GLS.ShadowVolume: Class TGLShadowVolumeLight

Class TGLShadowVolumeLight

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowVolume

Declaration

type TGLShadowVolumeLight = class(TGLShadowVolumeCaster)

Description

Specifies an individual shadow casting light.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLShadowVolumeCaster
  • TGLShadowVolumeLight

Overview

Fields

Private FSilhouettes: TPersistentObjectList;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetCachedSilhouette(AIndex: Integer): TGLSilhouette; inline;
Protected | function GetLightSource: TGLLightSource;
Protected | function SetupScissorRect(worldAABB: PAABB; var rci: TGLRenderContextInfo): Boolean;
Public | procedure FlushSilhouetteCache;
Protected | procedure SetLightSource(const ls: TGLLightSource);
Protected | procedure StoreCachedSilhouette(AIndex: Integer; ASil: TGLSilhouette);

Properties

Published property LightSource: TGLLightSource read GetLightSource write SetLightSource;

Description

Fields

Private FSilhouettes: TPersistentObjectList;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Protected function GetCachedSilhouette(AIndex: Integer): TGLSilhouette; inline;
Protected function GetLightSource: TGLLightSource;
Protected function SetupScissorRect(worldAABB: PAABB; var rci: TGLRenderContextInfo): Boolean;

Compute and setup scissor clipping rect for the light. Returns true if a scissor rect was setup

Public procedure FlushSilhouetteCache;
Protected procedure SetLightSource(const ls: TGLLightSource);
Protected procedure StoreCachedSilhouette(AIndex: Integer; ASil: TGLSilhouette);

Properties

Published property LightSource: TGLLightSource read GetLightSource write SetLightSource;

Shadow casting lightsource.


GLSysHelp v.2.1: GLS.ShadowVolume: Class TGLShadowVolumeCasters

Class TGLShadowVolumeCasters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowVolume

Declaration

type TGLShadowVolumeCasters = class(TOwnedCollection)

Description

Collection of TGLShadowVolumeCaster.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLShadowVolumeCasters

Overview

Methods

Public | function AddCaster(obj: TGLBaseSceneObject; effectiveRadius: Single = 0; CastingMode: TGLShadowCastingMode = scmRecursivelyVisible): TGLShadowVolumeCaster;
Public | function IndexOfCaster(obj: TGLBaseSceneObject): Integer;
Protected | function GetItems(index: Integer): TGLShadowVolumeCaster;
Public | procedure RemoveCaster(obj: TGLBaseSceneObject);
Protected | procedure RemoveNotification(aComponent: TComponent);

Properties

Public property Items[index:Integer]: TGLShadowVolumeCaster read GetItems;

Description

Methods

Public function AddCaster(obj: TGLBaseSceneObject; effectiveRadius: Single = 0; CastingMode: TGLShadowCastingMode = scmRecursivelyVisible): TGLShadowVolumeCaster;
Public function IndexOfCaster(obj: TGLBaseSceneObject): Integer;
Protected function GetItems(index: Integer): TGLShadowVolumeCaster;
Public procedure RemoveCaster(obj: TGLBaseSceneObject);
Protected procedure RemoveNotification(aComponent: TComponent);

Properties

Public property Items[index:Integer]: TGLShadowVolumeCaster read GetItems;


GLSysHelp v.2.1: GLS.ShadowVolume: Class TGLShadowVolume

Class TGLShadowVolume

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ShadowVolume

Declaration

type TGLShadowVolume = class(TGLImmaterialSceneObject)

Description

Simple shadow volumes. Shadow receiving objects are the ShadowVolume's children, shadow casters (opaque objects or lights) must be explicitly specified in the Casters collection. Shadow volumes require that the buffer allows stencil buffers, GLSceneViewer.Buffer.ContextOptions contain roStencinBuffer. Without stencil buffers, shadow volumes will not work properly. Another issue to look out for is the fact that shadow volume capping requires that the camera depth of view is either very high (fi 1e9) or that the camera style is csInfinitePerspective.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLShadowVolume

Overview

Fields

Private | FActive: Boolean;
Private | FRendering: Boolean;
Private | FLights: TGLShadowVolumeCasters;
Private | FOccluders: TGLShadowVolumeCasters;
Private | FCapping: TGLShadowVolumeCapping;
Private | FOptions: TGLShadowVolumeOptions;
Private | FMode: TGLShadowVolumeMode;
Private | FDarkeningColor: TGLColor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure FlushSilhouetteCache;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetActive(const val: Boolean);
Protected | procedure SetDarkeningColor(const val: TGLColor);
Protected | procedure SetLights(const val: TGLShadowVolumeCasters);
Protected | procedure SetMode(const val: TGLShadowVolumeMode);
Protected | procedure SetOccluders(const val: TGLShadowVolumeCasters);
Protected | procedure SetOptions(const val: TGLShadowVolumeOptions);

Properties

Published | property Active: Boolean read FActive write SetActive default True;
Published | property Capping: TGLShadowVolumeCapping read FCapping write FCapping default svcAlways;
Published | property DarkeningColor: TGLColor read FDarkeningColor write SetDarkeningColor;
Published | property Lights: TGLShadowVolumeCasters read FLights write SetLights;
Published | property Mode: TGLShadowVolumeMode read FMode write SetMode default svmAccurate;
Published | property Occluders: TGLShadowVolumeCasters read FOccluders write SetOccluders;
Published | property Options: TGLShadowVolumeOptions read FOptions write SetOptions default [svoCacheSilhouettes, svoScissorClips];

Description

Fields

Private FActive: Boolean;
Private FRendering: Boolean;
Private FLights: TGLShadowVolumeCasters;
Private FOccluders: TGLShadowVolumeCasters;
Private FCapping: TGLShadowVolumeCapping;
Private FOptions: TGLShadowVolumeOptions;
Private FMode: TGLShadowVolumeMode;
Private FDarkeningColor: TGLColor;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure FlushSilhouetteCache;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetActive(const val: Boolean);
Protected procedure SetDarkeningColor(const val: TGLColor);
Protected procedure SetLights(const val: TGLShadowVolumeCasters);
Protected procedure SetMode(const val: TGLShadowVolumeMode);
Protected procedure SetOccluders(const val: TGLShadowVolumeCasters);
Protected procedure SetOptions(const val: TGLShadowVolumeOptions);

Properties

Published property Active: Boolean read FActive write SetActive default True;

Determines if shadow volume rendering is active. When set to false, children will be rendered without any shadowing or multipass lighting.

Published property Capping: TGLShadowVolumeCapping read FCapping write FCapping default svcAlways;

Specifies if the shadow volume should be capped. Capping helps solve shadowing artefacts, at the cost of performance.

Published property DarkeningColor: TGLColor read FDarkeningColor write SetDarkeningColor;

Darkening color used in svmDarkening mode.

Published property Lights: TGLShadowVolumeCasters read FLights write SetLights;

Lights that cast shadow volumes.

Published property Mode: TGLShadowVolumeMode read FMode write SetMode default svmAccurate;

Shadow rendering mode.

Published property Occluders: TGLShadowVolumeCasters read FOccluders write SetOccluders;

Occluders that cast shadow volumes.

Published property Options: TGLShadowVolumeOptions read FOptions write SetOptions default [svoCacheSilhouettes, svoScissorClips];

Shadow volume rendering options.


GLSysHelp v.2.1: GLS.Silhouette

Unit GLS.Silhouette

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLSilhouetteParameters |
Class TGLSilhouette |
Class TGLBaseConnectivity |
Class TGLConnectivity |

Types

TGLSilhouetteStyle = (...);

Description

Types

TGLSilhouetteStyle = (...);
Values
  • ssOmni
  • ssParallel


GLSysHelp v.2.1: GLS.Silhouette: Packed Record TGLSilhouetteParameters

Packed Record TGLSilhouetteParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Silhouette

Declaration

type TGLSilhouetteParameters = packed record

Description

Silouhette generation parameters. SeenFrom and LightDirection are expected in local coordinates.

Overview

Fields

Public | SeenFrom: TAffineVector;
Public | LightDirection: TAffineVector;
Public | Style: TGLSilhouetteStyle;
Public | CappingRequired: Boolean;

Description

Fields

Public SeenFrom: TAffineVector;
Public LightDirection: TAffineVector;
Public Style: TGLSilhouetteStyle;
Public CappingRequired: Boolean;


GLSysHelp v.2.1: GLS.Silhouette: Class TGLSilhouette

Class TGLSilhouette

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Silhouette

Declaration

type TGLSilhouette = class(TObject)

Description

Base class storing a volume silhouette. Made of a set of indexed vertices defining an outline, and another set of indexed vertices defining a capping volume. Coordinates system is the object's unscaled local coordinates system. This is the base class, you can use the TGLSilhouette subclass if you need some helper methods for generating the indexed sets.

Hierarchy

  • TObject
  • TGLSilhouette

Overview

Fields

Private | FVertices: TVectorList;
Private | FIndices: TIntegerList;
Private | FCapIndices: TIntegerList;
Private | FParameters: TGLSilhouetteParameters;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | procedure AddCapToSilhouette(const v0, v1, v2: TAffineVector; tightButSlow: Boolean); inline;
Public | procedure AddEdgeToSilhouette(const v0, v1: TAffineVector; tightButSlow: Boolean); inline;
Public | procedure AddIndexedCapToSilhouette(const Vi0, Vi1, vi2: integer); inline;
Public | procedure AddIndexedEdgeToSilhouette(const Vi0, Vi1: integer); inline;
Public | procedure Clear; inline;
Public | procedure ExtrudeVerticesToInfinity(const origin: TAffineVector);
Public | procedure Flush; virtual;
Protected | procedure SetCapIndices(const value: TIntegerList);
Protected | procedure SetIndices(const value: TIntegerList);
Protected | procedure SetVertices(const value: TVectorList);

Properties

Public | property CapIndices: TIntegerList read FCapIndices write SetCapIndices;
Public | property Indices: TIntegerList read FIndices write SetIndices;
Public | property Parameters: TGLSilhouetteParameters read FParameters write FParameters;
Public | property Vertices: TVectorList read FVertices write SetVertices;

Description

Fields

Private FVertices: TVectorList;
Private FIndices: TIntegerList;
Private FCapIndices: TIntegerList;
Private FParameters: TGLSilhouetteParameters;

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Public procedure AddCapToSilhouette(const v0, v1, v2: TAffineVector; tightButSlow: Boolean); inline;

Adds a capping triangle to the silhouette. If TightButSlow is true, no vertices will be doubled in the silhouette list. This should only be used when creating re-usable silhouettes, because it's much slower.

Public procedure AddEdgeToSilhouette(const v0, v1: TAffineVector; tightButSlow: Boolean); inline;

Adds an edge (two vertices) to the silhouette. If TightButSlow is true, no vertices will be doubled in the silhouette list. This should only be used when creating re-usable silhouettes, because it's much slower.

Public procedure AddIndexedCapToSilhouette(const Vi0, Vi1, vi2: integer); inline;
Public procedure AddIndexedEdgeToSilhouette(const Vi0, Vi1: integer); inline;
Public procedure Clear; inline;
Public procedure ExtrudeVerticesToInfinity(const origin: TAffineVector);
Public procedure Flush; virtual;
Protected procedure SetCapIndices(const value: TIntegerList);
Protected procedure SetIndices(const value: TIntegerList);
Protected procedure SetVertices(const value: TVectorList);

Properties

Public property CapIndices: TIntegerList read FCapIndices write SetCapIndices;
Public property Indices: TIntegerList read FIndices write SetIndices;
Public property Parameters: TGLSilhouetteParameters read FParameters write FParameters;
Public property Vertices: TVectorList read FVertices write SetVertices;


GLSysHelp v.2.1: GLS.Silhouette: Class TGLBaseConnectivity

Class TGLBaseConnectivity

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Silhouette

Declaration

type TGLBaseConnectivity = class(TObject)

Description

Hierarchy

  • TObject
  • TGLBaseConnectivity

Overview

Fields

Protected FPrecomputeFaceNormal: Boolean;

Methods

Public | constructor Create(APrecomputeFaceNormal: Boolean); virtual;
Protected | function GetEdgeCount: integer; virtual;
Protected | function GetFaceCount: integer; virtual;
Public | procedure CreateSilhouette(const ASilhouetteParameters: TGLSilhouetteParameters; var ASilhouette: TGLSilhouette; AddToSilhouette: Boolean); virtual;

Properties

Public | property EdgeCount: integer read GetEdgeCount;
Public | property FaceCount: integer read GetFaceCount;
Public | property PrecomputeFaceNormal: Boolean read FPrecomputeFaceNormal;

Description

Fields

Protected FPrecomputeFaceNormal: Boolean;

Methods

Public constructor Create(APrecomputeFaceNormal: Boolean); virtual;
Protected function GetEdgeCount: integer; virtual;
Protected function GetFaceCount: integer; virtual;
Public procedure CreateSilhouette(const ASilhouetteParameters: TGLSilhouetteParameters; var ASilhouette: TGLSilhouette; AddToSilhouette: Boolean); virtual;

Properties

Public property EdgeCount: integer read GetEdgeCount;
Public property FaceCount: integer read GetFaceCount;
Public property PrecomputeFaceNormal: Boolean read FPrecomputeFaceNormal;


GLSysHelp v.2.1: GLS.Silhouette: Class TGLConnectivity

Class TGLConnectivity

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Silhouette

Declaration

type TGLConnectivity = class(TGLBaseConnectivity)

Description

No description available, ancestor TGLBaseConnectivity description follows

Hierarchy

  • TObject
  • TGLBaseConnectivity
  • TGLConnectivity

Overview

Fields

Protected | FEdgeVertices: TIntegerList;
Protected | FEdgeFaces: TIntegerList;
Protected | FFaceVisible: TByteList;
Protected | FFaceVertexIndex: TIntegerList;
Protected | FFaceNormal: TAffineVectorList;
Protected | FVertexMemory: TIntegerList;
Protected | FVertices: TAffineVectorList;

Methods

Public | constructor Create(APrecomputeFaceNormal: Boolean); override;
Public | destructor Destroy; override;
Public | function AddFace(const vertex0, vertex1, vertex2: TAffineVector): integer; inline;
Public | function AddIndexedEdge(vertexIndex0, vertexIndex1: integer; FaceID: integer): integer;
Public | function AddIndexedFace(Vi0, Vi1, vi2: integer): integer;
Public | function AddQuad(const vertex0, vertex1, vertex2, vertex3: TAffineVector): integer; inline;
Protected | function GetEdgeCount: integer;
Protected | function GetFaceCount: integer;
Protected | function ReuseOrFindVertexID(const SeenFrom: TAffineVector; ASilhouette: TGLSilhouette; index: integer): integer;
Public | procedure Clear; virtual;
Public | procedure CreateSilhouette(const silhouetteParameters: TGLSilhouetteParameters; var ASilhouette: TGLSilhouette; AddToSilhouette: Boolean);

Properties

Public | property EdgeCount: integer read GetEdgeCount;
Public | property FaceCount: integer read GetFaceCount;

Description

Fields

Protected FEdgeVertices: TIntegerList;

All storage of faces and adges are cut up into tiny pieces for a reason, it'd be nicer with Structs or classes, but it's actually faster this way. The reason it's faster is because of less cache overwrites when we only access a tiny bit of a triangle (for instance), not all data.

Protected FEdgeFaces: TIntegerList;
Protected FFaceVisible: TByteList;
Protected FFaceVertexIndex: TIntegerList;
Protected FFaceNormal: TAffineVectorList;
Protected FVertexMemory: TIntegerList;
Protected FVertices: TAffineVectorList;

Methods

Public constructor Create(APrecomputeFaceNormal: Boolean); override;
Public destructor Destroy; override;
Public function AddFace(const vertex0, vertex1, vertex2: TAffineVector): integer; inline;
Public function AddIndexedEdge(vertexIndex0, vertexIndex1: integer; FaceID: integer): integer;
Public function AddIndexedFace(Vi0, Vi1, vi2: integer): integer;
Public function AddQuad(const vertex0, vertex1, vertex2, vertex3: TAffineVector): integer; inline;
Protected function GetEdgeCount: integer;
Protected function GetFaceCount: integer;
Protected function ReuseOrFindVertexID(const SeenFrom: TAffineVector; ASilhouette: TGLSilhouette; index: integer): integer;
Public procedure Clear; virtual;

Clears out all connectivity information.

Public procedure CreateSilhouette(const silhouetteParameters: TGLSilhouetteParameters; var ASilhouette: TGLSilhouette; AddToSilhouette: Boolean);

Properties

Public property EdgeCount: integer read GetEdgeCount;
Public property FaceCount: integer read GetFaceCount;


GLSysHelp v.2.1: GLS.SimpleNavigation

Unit GLS.SimpleNavigation

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.Classes
  • System.SysUtils
  • System.TypInfo
  • System.Math
  • VCL.Forms
  • VCL.Controls
  • VCL.ExtCtrls
  • GLS.SceneForm
  • GLS.VectorGeometry
  • GLS.Scene
  • GLS.SceneViewer
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSimpleNavigationKeyCombination |
Class TGLSimpleNavigationKeyCombinations |
Class TGLSimpleNavigation |

Types

TGLSimpleNavigationAction = (...);
TGLSimpleNavigationCustomActionEvent = procedure(Sender: TGLSimpleNavigationKeyCombination; Shift: TShiftState; X, Y: Integer) of object;
TGLSimpleNavigationOption = (...);
TGLSimpleNavigationOptions = set of TGLSimpleNavigationOption;

Description

Types

TGLSimpleNavigationAction = (...);
Values
  • snaNone
  • snaMoveAroundTarget
  • snaZoom
  • snaRotateTarget
  • snaCustom
TGLSimpleNavigationCustomActionEvent = procedure(Sender: TGLSimpleNavigationKeyCombination; Shift: TShiftState; X, Y: Integer) of object;
TGLSimpleNavigationOption = (...);
Values
  • snoInvertMoveAroundX
  • snoInvertMoveAroundY
  • snoInvertZoom: MoveAroundTarget.
  • snoInvertMouseWheel
  • snoInvertRotateX: Zoom.
  • snoInvertRotateY
  • snoMouseWheelHandled: RotateTarget.
  • snoShowFPS: MouseWheel.
TGLSimpleNavigationOptions = set of TGLSimpleNavigationOption;

Show FPS


GLSysHelp v.2.1: GLS.SimpleNavigation: Class TGLSimpleNavigationKeyCombination

Class TGLSimpleNavigationKeyCombination

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SimpleNavigation

Declaration

type TGLSimpleNavigationKeyCombination = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLSimpleNavigationKeyCombination

Overview

Fields

Private | FExitOnMatch: Boolean;
Private | FAction: TGLSimpleNavigationAction;
Private | FOnCustomAction: TGLSimpleNavigationCustomActionEvent;
Private | FShiftState: TShiftState;

Methods

Public | constructor Create(Collection: TCollection); override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure DoOnCustomAction(Shift: TShiftState; X, Y: Integer); virtual;

Properties

Published | property Action: TGLSimpleNavigationAction read FAction write FAction default snaNone;
Published | property ExitOnMatch: Boolean read FExitOnMatch write FExitOnMatch default True;
Published | property OnCustomAction: TGLSimpleNavigationCustomActionEvent read FOnCustomAction write FOnCustomAction;
Published | property ShiftState: TShiftState read FShiftState write FShiftState default [];

Description

Fields

Private FExitOnMatch: Boolean;
Private FAction: TGLSimpleNavigationAction;
Private FOnCustomAction: TGLSimpleNavigationCustomActionEvent;
Private FShiftState: TShiftState;

Methods

Public constructor Create(Collection: TCollection); override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure DoOnCustomAction(Shift: TShiftState; X, Y: Integer); virtual;

Properties

Published property Action: TGLSimpleNavigationAction read FAction write FAction default snaNone;
Published property ExitOnMatch: Boolean read FExitOnMatch write FExitOnMatch default True;
Published property OnCustomAction: TGLSimpleNavigationCustomActionEvent read FOnCustomAction write FOnCustomAction;
Published property ShiftState: TShiftState read FShiftState write FShiftState default [];


GLSysHelp v.2.1: GLS.SimpleNavigation: Class TGLSimpleNavigationKeyCombinations

Class TGLSimpleNavigationKeyCombinations

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SimpleNavigation

Declaration

type TGLSimpleNavigationKeyCombinations = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLSimpleNavigationKeyCombinations

Overview

Methods

Public | function Add: TGLSimpleNavigationKeyCombination; overload;
Public | function Add(const AShiftState: TShiftState; const AAction: TGLSimpleNavigationAction; const AExitOnMatch: Boolean = True): TGLSimpleNavigationKeyCombination; overload;
Private | function GetItems(Index: Integer): TGLSimpleNavigationKeyCombination;
Private | procedure SetItems(Index: Integer; const Value: TGLSimpleNavigationKeyCombination);

Properties

Public property Items[Index:Integer]: TGLSimpleNavigationKeyCombination read GetItems write SetItems;

Description

Methods

Public function Add: TGLSimpleNavigationKeyCombination; overload;
Public function Add(const AShiftState: TShiftState; const AAction: TGLSimpleNavigationAction; const AExitOnMatch: Boolean = True): TGLSimpleNavigationKeyCombination; overload;
Private function GetItems(Index: Integer): TGLSimpleNavigationKeyCombination;
Private procedure SetItems(Index: Integer; const Value: TGLSimpleNavigationKeyCombination);

Properties

Public property Items[Index:Integer]: TGLSimpleNavigationKeyCombination read GetItems write SetItems;


GLSysHelp v.2.1: GLS.SimpleNavigation: Class TGLSimpleNavigation

Class TGLSimpleNavigation

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SimpleNavigation

Declaration

type TGLSimpleNavigation = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSimpleNavigation

Overview

Fields

Private | FTimer: TTimer;
Private | FForm: TCustomForm;
Private | FGLSceneViewer: TGLSceneViewer;
Private | FOldX: Integer;
Private | FOldY: Integer;
Private | FFormCaption: string;
Private | FMoveAroundTargetSpeed: Single;
Private | FZoomSpeed: Single;
Private | FOptions: TGLSimpleNavigationOptions;
Private | FKeyCombinations: TGLSimpleNavigationKeyCombinations;
Private | FRotateTargetSpeed: Single;
Private | FOnMouseMove: TMouseMoveEvent;
Private | FSceneForm: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function StoreFormCaption: Boolean;
Private | function StoreMoveAroundTargetSpeed: Boolean;
Private | function StoreRotateTargetSpeed: Boolean;
Private | function StoreZoomSpeed: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetForm(const Value: TCustomForm);
Private | procedure SetGLSceneViewer(const Value: TGLSceneViewer);
Private | procedure SetKeyCombinations(const Value: TGLSimpleNavigationKeyCombinations);
Private | procedure SetOptions(const Value: TGLSimpleNavigationOptions);
Private | procedure ShowFPS(Sender: TObject);
Private | procedure ViewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Private | procedure ViewerMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);

Properties

Published | property Form: TCustomForm read FForm write SetForm;
Published | property FormCaption: string read FFormCaption write FFormCaption stored StoreFormCaption;
Published | property GLSceneViewer: TGLSceneViewer read FGLSceneViewer write SetGLSceneViewer;
Published | property KeyCombinations: TGLSimpleNavigationKeyCombinations read FKeyCombinations write SetKeyCombinations;
Published | property MoveAroundTargetSpeed: Single read FMoveAroundTargetSpeed write FMoveAroundTargetSpeed stored StoreMoveAroundTargetSpeed;
Published | property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
Published | property Options: TGLSimpleNavigationOptions read FOptions write SetOptions default [snoMouseWheelHandled, snoShowFPS];
Published | property RotateTargetSpeed: Single read FRotateTargetSpeed write FRotateTargetSpeed stored StoreRotateTargetSpeed;
Published | property ZoomSpeed: Single read FZoomSpeed write FZoomSpeed stored StoreZoomSpeed;

Description

Fields

Private FTimer: TTimer;
Private FForm: TCustomForm;
Private FGLSceneViewer: TGLSceneViewer;
Private FOldX: Integer;
Private FOldY: Integer;
Private FFormCaption: string;
Private FMoveAroundTargetSpeed: Single;
Private FZoomSpeed: Single;
Private FOptions: TGLSimpleNavigationOptions;
Private FKeyCombinations: TGLSimpleNavigationKeyCombinations;
Private FRotateTargetSpeed: Single;
Private FOnMouseMove: TMouseMoveEvent;
Private FSceneForm: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function StoreFormCaption: Boolean;
Private function StoreMoveAroundTargetSpeed: Boolean;
Private function StoreRotateTargetSpeed: Boolean;
Private function StoreZoomSpeed: Boolean;
Public procedure Assign(Source: TPersistent); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetForm(const Value: TCustomForm);
Private procedure SetGLSceneViewer(const Value: TGLSceneViewer);
Private procedure SetKeyCombinations(const Value: TGLSimpleNavigationKeyCombinations);
Private procedure SetOptions(const Value: TGLSimpleNavigationOptions);
Private procedure ShowFPS(Sender: TObject);
Private procedure ViewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Private procedure ViewerMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);

Properties

Published property Form: TCustomForm read FForm write SetForm;
Published property FormCaption: string read FFormCaption write FFormCaption stored StoreFormCaption;
Published property GLSceneViewer: TGLSceneViewer read FGLSceneViewer write SetGLSceneViewer;
Published property KeyCombinations: TGLSimpleNavigationKeyCombinations read FKeyCombinations write SetKeyCombinations;
Published property MoveAroundTargetSpeed: Single read FMoveAroundTargetSpeed write FMoveAroundTargetSpeed stored StoreMoveAroundTargetSpeed;
Published property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
Published property Options: TGLSimpleNavigationOptions read FOptions write SetOptions default [snoMouseWheelHandled, snoShowFPS];
Published property RotateTargetSpeed: Single read FRotateTargetSpeed write FRotateTargetSpeed stored StoreRotateTargetSpeed;
Published property ZoomSpeed: Single read FZoomSpeed write FZoomSpeed stored StoreZoomSpeed;


GLSysHelp v.2.1: GLS.SkyDome

Unit GLS.SkyDome

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.UITypes
  • System.Math
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Graphics
  • GLS.VectorTypes
  • GLS.Color
  • GLS.Material
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLStarRecord |
Class TGLSkyBox |
Class TGLSkyDomeBand |
Class TGLSkyDomeBands |
Class TGLSkyDomeStar |
Class TGLSkyDomeStars |
Class TGLSkyDome |
Class TGLEarthSkyDome |

Functions and Procedures

function StarRecordPositionZUp(const starRecord: TGLStarRecord): TAffineVector;
function StarRecordPositionYUp(const starRecord: TGLStarRecord): TAffineVector;
function StarRecordColor(const starRecord: TGLStarRecord; bias: Single): TGLVector;

Types

PGLStarRecord = ˆTGLStarRecord;
TEarthSkydomeOption = (...);
TEarthSkydomeOptions = set of TEarthSkydomeOption;
TGLSkyBoxStyle = (...);
TGLSkyDomeOption = (...);
TGLSkyDomeOptions = set of TGLSkyDomeOption;

Description

Functions and Procedures

function StarRecordPositionZUp(const starRecord: TGLStarRecord): TAffineVector;

Computes position on the unit sphere of a star record (Z=up)

function StarRecordPositionYUp(const starRecord: TGLStarRecord): TAffineVector;

Computes position on the unit sphere of a star record (Y=up)

function StarRecordColor(const starRecord: TGLStarRecord; bias: Single): TGLVector;

Computes star color from BV index (RGB) and magnitude (alpha)

Types

PGLStarRecord = ˆTGLStarRecord;
TEarthSkydomeOption = (...);
Values
  • esoFadeStarsWithSun
  • esoRotateOnTwelveHours
  • esoDepthTest
TEarthSkydomeOptions = set of TEarthSkydomeOption;
TGLSkyBoxStyle = (...);

————————- SkyBox class ————————-

Values
  • sbsFull
  • sbsTopHalf
  • sbsBottomHalf
  • sbTopTwoThirds
  • sbsTopHalfClamped
TGLSkyDomeOption = (...);
Values
  • sdoTwinkle
TGLSkyDomeOptions = set of TGLSkyDomeOption;


GLSysHelp v.2.1: GLS.SkyDome: Packed Record TGLStarRecord

Packed Record TGLStarRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLStarRecord = packed record

Description

Overview

Fields

Public | RA: Word;
Public | DEC: SmallInt;
Public | BVColorIndex: Byte;
Public | VMagnitude: Byte;

Description

Fields

Public RA: Word;
Public DEC: SmallInt;

x100 builtin factor, degrees

Public BVColorIndex: Byte;

x100 builtin factor, degrees

Public VMagnitude: Byte;

x100 builtin factor


GLSysHelp v.2.1: GLS.SkyDome: Class TGLSkyBox

Class TGLSkyBox

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLSkyBox = class(TGLCameraInvariantObject, IGLMaterialLibrarySupported)

Description

No description available, ancestor TGLCameraInvariantObject description follows

Base class for camera invariant objects. Camera invariant objects bypass camera settings, such as camera position (object is always centered on camera) or camera orientation (object always has same orientation as camera).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLCameraInvariantObject
  • TGLSkyBox

Overview

Fields

Private | FMatNameTop: string;
Private | FMatNameRight: string;
Private | FMatNameFront: string;
Private | FMatNameLeft: string;
Private | FMatNameBack: string;
Private | FMatNameBottom: string;
Private | FMatNameClouds: string;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FCloudsPlaneOffset: Single;
Private | FCloudsPlaneSize: Single;
Private | FStyle: TGLSkyBoxStyle;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Public | procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetCloudsPlaneOffset(const Value: single);
Protected | procedure SetCloudsPlaneSize(const Value: single);
Protected | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Protected | procedure SetMatNameBack(const Value: string);
Protected | procedure SetMatNameBottom(const Value: string);
Protected | procedure SetMatNameClouds(const Value: string);
Protected | procedure SetMatNameFront(const Value: string);
Protected | procedure SetMatNameLeft(const Value: string);
Protected | procedure SetMatNameRight(const Value: string);
Protected | procedure SetMatNameTop(const Value: string);
Protected | procedure SetStyle(const value: TGLSkyBoxStyle);

Properties

Published | property CloudsPlaneOffset: Single read FCloudsPlaneOffset write SetCloudsPlaneOffset;
Published | property CloudsPlaneSize: Single read FCloudsPlaneSize write SetCloudsPlaneSize;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property MatNameBack: TGLLibMaterialName read FMatNameBack write SetMatNameBack;
Published | property MatNameBottom: TGLLibMaterialName read FMatNameBottom write SetMatNameBottom;
Published | property MatNameClouds: TGLLibMaterialName read FMatNameClouds write SetMatNameClouds;
Published | property MatNameFront: TGLLibMaterialName read FMatNameFront write SetMatNameFront;
Published | property MatNameLeft: TGLLibMaterialName read FMatNameLeft write SetMatNameLeft;
Published | property MatNameRight: TGLLibMaterialName read FMatNameRight write SetMatNameRight;
Published | property MatNameTop: TGLLibMaterialName read FMatNameTop write SetMatNameTop;
Published | property Style: TGLSkyBoxStyle read FStyle write FStyle default sbsFull;

Description

Fields

Private FMatNameTop: string;
Private FMatNameRight: string;
Private FMatNameFront: string;
Private FMatNameLeft: string;
Private FMatNameBack: string;
Private FMatNameBottom: string;
Private FMatNameClouds: string;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FCloudsPlaneOffset: Single;
Private FCloudsPlaneSize: Single;
Private FStyle: TGLSkyBoxStyle;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

implementing IGLMaterialLibrarySupported

Public procedure BuildList(var ARci: TGLRenderContextInfo); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetCloudsPlaneOffset(const Value: single);
Protected procedure SetCloudsPlaneSize(const Value: single);
Protected procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Protected procedure SetMatNameBack(const Value: string);
Protected procedure SetMatNameBottom(const Value: string);
Protected procedure SetMatNameClouds(const Value: string);
Protected procedure SetMatNameFront(const Value: string);
Protected procedure SetMatNameLeft(const Value: string);
Protected procedure SetMatNameRight(const Value: string);
Protected procedure SetMatNameTop(const Value: string);
Protected procedure SetStyle(const value: TGLSkyBoxStyle);

Properties

Published property CloudsPlaneOffset: Single read FCloudsPlaneOffset write SetCloudsPlaneOffset;
Published property CloudsPlaneSize: Single read FCloudsPlaneSize write SetCloudsPlaneSize;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property MatNameBack: TGLLibMaterialName read FMatNameBack write SetMatNameBack;
Published property MatNameBottom: TGLLibMaterialName read FMatNameBottom write SetMatNameBottom;
Published property MatNameClouds: TGLLibMaterialName read FMatNameClouds write SetMatNameClouds;
Published property MatNameFront: TGLLibMaterialName read FMatNameFront write SetMatNameFront;
Published property MatNameLeft: TGLLibMaterialName read FMatNameLeft write SetMatNameLeft;
Published property MatNameRight: TGLLibMaterialName read FMatNameRight write SetMatNameRight;
Published property MatNameTop: TGLLibMaterialName read FMatNameTop write SetMatNameTop;
Published property Style: TGLSkyBoxStyle read FStyle write FStyle default sbsFull;


GLSysHelp v.2.1: GLS.SkyDome: Class TGLSkyDomeBand

Class TGLSkyDomeBand

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLSkyDomeBand = class(TCollectionItem)

Description

——————— SkyDome classes —————————–

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLSkyDomeBand

Overview

Fields

Private | FStartAngle: Single;
Private | FStopAngle: Single;
Private | FStartColor: TGLColor;
Private | FStopColor: TGLColor;
Private | FSlices: Integer;
Private | FStacks: Integer;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo);
Protected | procedure OnColorChange(sender: TObject);
Protected | procedure SetSlices(const val: Integer);
Protected | procedure SetStacks(const val: Integer);
Protected | procedure SetStartAngle(const val: Single);
Protected | procedure SetStartColor(const val: TGLColor);
Protected | procedure SetStopAngle(const val: Single);
Protected | procedure SetStopColor(const val: TGLColor);

Properties

Published | property Slices: Integer read FSlices write SetSlices default 12;
Published | property Stacks: Integer read FStacks write SetStacks default 1;
Published | property StartAngle: Single read FStartAngle write SetStartAngle;
Published | property StartColor: TGLColor read FStartColor write SetStartColor;
Published | property StopAngle: Single read FStopAngle write SetStopAngle;
Published | property StopColor: TGLColor read FStopColor write SetStopColor;

Description

Fields

Private FStartAngle: Single;
Private FStopAngle: Single;
Private FStartColor: TGLColor;
Private FStopColor: TGLColor;
Private FSlices: Integer;
Private FStacks: Integer;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo);
Protected procedure OnColorChange(sender: TObject);
Protected procedure SetSlices(const val: Integer);
Protected procedure SetStacks(const val: Integer);
Protected procedure SetStartAngle(const val: Single);
Protected procedure SetStartColor(const val: TGLColor);
Protected procedure SetStopAngle(const val: Single);
Protected procedure SetStopColor(const val: TGLColor);

Properties

Published property Slices: Integer read FSlices write SetSlices default 12;
Published property Stacks: Integer read FStacks write SetStacks default 1;
Published property StartAngle: Single read FStartAngle write SetStartAngle;
Published property StartColor: TGLColor read FStartColor write SetStartColor;
Published property StopAngle: Single read FStopAngle write SetStopAngle;
Published property StopColor: TGLColor read FStopColor write SetStopColor;


GLSysHelp v.2.1: GLS.SkyDome: Class TGLSkyDomeBands

Class TGLSkyDomeBands

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLSkyDomeBands = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLSkyDomeBands

Overview

Fields

Protected owner: TComponent;

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLSkyDomeBand;
Public | function FindItemID(ID: Integer): TGLSkyDomeBand;
Protected | function GetItems(index: Integer): TGLSkyDomeBand;
Protected | function GetOwner: TPersistent; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo);
Public | procedure NotifyChange;
Protected | procedure SetItems(index: Integer; const val: TGLSkyDomeBand);

Properties

Public property Items[index:Integer]: TGLSkyDomeBand read GetItems write SetItems;

Description

Fields

Protected owner: TComponent;

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLSkyDomeBand;
Public function FindItemID(ID: Integer): TGLSkyDomeBand;
Protected function GetItems(index: Integer): TGLSkyDomeBand;
Protected function GetOwner: TPersistent; override;
Public procedure BuildList(var rci: TGLRenderContextInfo);
Public procedure NotifyChange;
Protected procedure SetItems(index: Integer; const val: TGLSkyDomeBand);

Properties

Public property Items[index:Integer]: TGLSkyDomeBand read GetItems write SetItems;


GLSysHelp v.2.1: GLS.SkyDome: Class TGLSkyDomeStar

Class TGLSkyDomeStar

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLSkyDomeStar = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLSkyDomeStar

Overview

Fields

Private | FRA: Single;
Private | FDec: Single;
Private | FMagnitude: Single;
Private | FColor: TColor;
Private | FCacheCoord: TAffineVector;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;

Properties

Published | property Color: TColor read FColor write FColor;
Published | property Dec: Single read FDec write FDec;
Published | property Magnitude: Single read FMagnitude write FMagnitude;
Published | property RA: Single read FRA write FRA;

Description

Fields

Private FRA: Single;
Private FDec: Single;
Private FMagnitude: Single;
Private FColor: TColor;
Private FCacheCoord: TAffineVector;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;

cached cartesian coordinates

Public procedure Assign(Source: TPersistent); override;

Properties

Published property Color: TColor read FColor write FColor;

Color of the star.

Published property Dec: Single read FDec write FDec;

Declination, in degrees.

Published property Magnitude: Single read FMagnitude write FMagnitude;

Absolute magnitude.

Published property RA: Single read FRA write FRA;

Right Ascension, in degrees.


GLSysHelp v.2.1: GLS.SkyDome: Class TGLSkyDomeStars

Class TGLSkyDomeStars

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLSkyDomeStars = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLSkyDomeStars

Overview

Fields

Protected owner: TComponent;

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLSkyDomeStar;
Public | function FindItemID(ID: Integer): TGLSkyDomeStar;
Protected | function GetItems(index: Integer): TGLSkyDomeStar;
Protected | function GetOwner: TPersistent; override;
Public | procedure AddRandomStars(const nb: Integer; const color: TColor; const limitToTopDome: Boolean = False); overload;
Public | procedure AddRandomStars(const nb: Integer; const ColorMin, ColorMax:TVector3b; const Magnitude_min, Magnitude_max: Single;const limitToTopDome: Boolean = False); overload;
Public | procedure BuildList(var rci: TGLRenderContextInfo; twinkle: Boolean);
Public | procedure LoadStarsFile(const starsFileName: string);
Protected | procedure PrecomputeCartesianCoordinates;
Protected | procedure SetItems(index: Integer; const val: TGLSkyDomeStar);

Properties

Public property Items[index:Integer]: TGLSkyDomeStar read GetItems write SetItems;

Description

Fields

Protected owner: TComponent;

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLSkyDomeStar;
Public function FindItemID(ID: Integer): TGLSkyDomeStar;
Protected function GetItems(index: Integer): TGLSkyDomeStar;
Protected function GetOwner: TPersistent; override;
Public procedure AddRandomStars(const nb: Integer; const color: TColor; const limitToTopDome: Boolean = False); overload;

Adds nb random stars of the given color. Stars are homogenously scattered on the complete sphere, not only the band defined or visible dome.

Public procedure AddRandomStars(const nb: Integer; const ColorMin, ColorMax:TVector3b; const Magnitude_min, Magnitude_max: Single;const limitToTopDome: Boolean = False); overload;
Public procedure BuildList(var rci: TGLRenderContextInfo; twinkle: Boolean);
Public procedure LoadStarsFile(const starsFileName: string);

Load a 'stars' file, which is made of TGLStarRecord. Not that '.stars' files should already be sorted by magnitude and color.

Protected procedure PrecomputeCartesianCoordinates;
Protected procedure SetItems(index: Integer; const val: TGLSkyDomeStar);

Properties

Public property Items[index:Integer]: TGLSkyDomeStar read GetItems write SetItems;


GLSysHelp v.2.1: GLS.SkyDome: Class TGLSkyDome

Class TGLSkyDome

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLSkyDome = class(TGLCameraInvariantObject)

Description

Renders a sky dome always centered on the camera. If you use this object make sure it is rendered *first*, as it ignores depth buffering and overwrites everything. All children of a skydome are rendered in the skydome's coordinate system. The skydome is described by "bands", each "band" is an horizontal cut of a sphere, and you can have as many bands as you wish

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLCameraInvariantObject
  • TGLSkyDome

Overview

Fields

Private | FOptions: TGLSkyDomeOptions;
Private | FBands: TGLSkyDomeBands;
Private | FStars: TGLSkyDomeStars;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure SetBands(const val: TGLSkyDomeBands);
Protected | procedure SetOptions(const val: TGLSkyDomeOptions);
Protected | procedure SetStars(const val: TGLSkyDomeStars);

Properties

Published | property Bands: TGLSkyDomeBands read FBands write SetBands;
Published | property Options: TGLSkyDomeOptions read FOptions write SetOptions default [];
Published | property Stars: TGLSkyDomeStars read FStars write SetStars;

Description

Fields

Private FOptions: TGLSkyDomeOptions;
Private FBands: TGLSkyDomeBands;
Private FStars: TGLSkyDomeStars;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure SetBands(const val: TGLSkyDomeBands);
Protected procedure SetOptions(const val: TGLSkyDomeOptions);
Protected procedure SetStars(const val: TGLSkyDomeStars);

Properties

Published property Bands: TGLSkyDomeBands read FBands write SetBands;
Published property Options: TGLSkyDomeOptions read FOptions write SetOptions default [];
Published property Stars: TGLSkyDomeStars read FStars write SetStars;


GLSysHelp v.2.1: GLS.SkyDome: Class TGLEarthSkyDome

Class TGLEarthSkyDome

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SkyDome

Declaration

type TGLEarthSkyDome = class(TGLSkyDome)

Description

Render a skydome like what can be seen on earth. Color is based on sun position and turbidity, to "mimic" atmospheric Rayleigh and Mie scatterings. The colors can be adjusted to render weird/exoplanet atmospheres too. The default slices/stacks values make for an average quality rendering, for a very clean rendering, use 64/64 (more is overkill in most cases). The complexity is quite high though, making a T&L 3D board a necessity for using TGLEarthSkyDome.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLCameraInvariantObject
  • TGLSkyDome
  • TGLEarthSkyDome

Overview

Fields

Private | FSunElevation: Single;
Private | FTurbidity: Single;
Private | FCurSunColor: TGLColorVector;
Private | FCurSkyColor: TGLColorVector;
Private | FCurHazeColor: TGLColorVector;
Private | FCurHazeTurbid: Single;
Private | FCurSunSkyTurbid: Single;
Private | FSunZenithColor: TGLColor;
Private | FSunDawnColor: TGLColor;
Private | FHazeColor: TGLColor;
Private | FSkyColor: TGLColor;
Private | FNightColor: TGLColor;
Private | FDeepColor: TGLColor;
Private | FSlices: Integer;
Private | FStacks: Integer;
Private | FExtendedOptions: TEarthSkydomeOptions;
Private | FMorning: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function CalculateColor(const theta, cosGamma: Single): TGLColorVector;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure SetSunAtTime(HH, MM: Single);
Protected | procedure Loaded; override;
Protected | procedure OnColorChanged(Sender: TObject);
Protected | procedure PreCalculate;
Protected | procedure RenderDome;
Protected | procedure SetDeepColor(const val: TGLColor);
Protected | procedure SetHazeColor(const val: TGLColor);
Protected | procedure SetNightColor(const val: TGLColor);
Protected | procedure SetSkyColor(const val: TGLColor);
Protected | procedure SetSlices(const val: Integer);
Protected | procedure SetStacks(const val: Integer);
Protected | procedure SetSunDawnColor(const val: TGLColor);
Protected | procedure SetSunElevation(const val: Single);
Protected | procedure SetSunZenithColor(const val: TGLColor);
Protected | procedure SetTurbidity(const val: Single);

Properties

Published | property DeepColor: TGLColor read FDeepColor write SetDeepColor;
Published | property ExtendedOptions: TEarthSkydomeOptions read FExtendedOptions write FExtendedOptions;
Published | property HazeColor: TGLColor read FHazeColor write SetHazeColor;
Published | property NightColor: TGLColor read FNightColor write SetNightColor;
Published | property SkyColor: TGLColor read FSkyColor write SetSkyColor;
Published | property Slices: Integer read FSlices write SetSlices default 24;
Published | property Stacks: Integer read FStacks write SetStacks default 48;
Published | property SunDawnColor: TGLColor read FSunDawnColor write SetSunDawnColor;
Published | property SunElevation: Single read FSunElevation write SetSunElevation;
Published | property SunZenithColor: TGLColor read FSunZenithColor write SetSunZenithColor;
Published | property Turbidity: Single read FTurbidity write SetTurbidity;

Description

Fields

Private FSunElevation: Single;
Private FTurbidity: Single;
Private FCurSunColor: TGLColorVector;
Private FCurSkyColor: TGLColorVector;
Private FCurHazeColor: TGLColorVector;
Private FCurHazeTurbid: Single;
Private FCurSunSkyTurbid: Single;
Private FSunZenithColor: TGLColor;
Private FSunDawnColor: TGLColor;
Private FHazeColor: TGLColor;
Private FSkyColor: TGLColor;
Private FNightColor: TGLColor;
Private FDeepColor: TGLColor;
Private FSlices: Integer;
Private FStacks: Integer;
Private FExtendedOptions: TEarthSkydomeOptions;
Private FMorning: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function CalculateColor(const theta, cosGamma: Single): TGLColorVector;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure SetSunAtTime(HH, MM: Single);
Protected procedure Loaded; override;
Protected procedure OnColorChanged(Sender: TObject);
Protected procedure PreCalculate;
Protected procedure RenderDome;
Protected procedure SetDeepColor(const val: TGLColor);
Protected procedure SetHazeColor(const val: TGLColor);
Protected procedure SetNightColor(const val: TGLColor);
Protected procedure SetSkyColor(const val: TGLColor);
Protected procedure SetSlices(const val: Integer);
Protected procedure SetStacks(const val: Integer);
Protected procedure SetSunDawnColor(const val: TGLColor);
Protected procedure SetSunElevation(const val: Single);
Protected procedure SetSunZenithColor(const val: TGLColor);
Protected procedure SetTurbidity(const val: Single);

Properties

Published property DeepColor: TGLColor read FDeepColor write SetDeepColor;
Published property ExtendedOptions: TEarthSkydomeOptions read FExtendedOptions write FExtendedOptions;
Published property HazeColor: TGLColor read FHazeColor write SetHazeColor;
Published property NightColor: TGLColor read FNightColor write SetNightColor;
Published property SkyColor: TGLColor read FSkyColor write SetSkyColor;
Published property Slices: Integer read FSlices write SetSlices default 24;
Published property Stacks: Integer read FStacks write SetStacks default 48;
Published property SunDawnColor: TGLColor read FSunDawnColor write SetSunDawnColor;
Published property SunElevation: Single read FSunElevation write SetSunElevation;

Elevation of the sun, measured in degrees

Published property SunZenithColor: TGLColor read FSunZenithColor write SetSunZenithColor;
Published property Turbidity: Single read FTurbidity write SetTurbidity;

Expresses the purity of air. Value range is from 1 (pure athmosphere) to 120 (very nebulous)


GLSysHelp v.2.1: GLS.SmoothNavigator

Unit GLS.SmoothNavigator

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.Classes
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.Navigator
  • GLS.VectorGeometry
  • GLS.Coordinates
  • GLS.Screen
  • GLS.XCollection

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLNavigatorAbstractParameters |
Class TGLNavigatorSmoothChangeItem |
Class TGLNavigatorSmoothChangeSingle |
Class TGLNavigatorSmoothChangeVector |
Class TGLNavigatorSmoothChangeItems |
Class TGLNavigatorAdjustDistanceParameters |
Class TGLNavigatorAdjustDistanceParametersEx |
Class TGLNavigatorInertiaParameters |
Class TGLNavigatorGeneralParameters |
Class TGLNavigatorMoveAroundParameters |
Class TGLSmoothNavigator |
Class TGLSmoothUserInterface |

Types

TGLNavigatorSmoothChangeItemClass = class of TGLNavigatorSmoothChangeItem;
TGLNavigatorSmoothChangeSingleGetEvent = function(const ASender: TGLNavigatorSmoothChangeSingle): Single of object;
TGLNavigatorSmoothChangeSingleSetEvent = procedure(const ASender: TGLNavigatorSmoothChangeSingle; const AValue: Single) of object;
TGLNavigatorSmoothChangeVectorGetEvent = function(const ASender: TGLNavigatorSmoothChangeVector): TGLVector of object;
TGLNavigatorSmoothChangeVectorSetEvent = procedure(const ASender: TGLNavigatorSmoothChangeVector; const AValue: TGLVector) of object;

Description

Types

TGLNavigatorSmoothChangeItemClass = class of TGLNavigatorSmoothChangeItem;
TGLNavigatorSmoothChangeSingleGetEvent = function(const ASender: TGLNavigatorSmoothChangeSingle): Single of object;
TGLNavigatorSmoothChangeSingleSetEvent = procedure(const ASender: TGLNavigatorSmoothChangeSingle; const AValue: Single) of object;
TGLNavigatorSmoothChangeVectorGetEvent = function(const ASender: TGLNavigatorSmoothChangeVector): TGLVector of object;
TGLNavigatorSmoothChangeVectorSetEvent = procedure(const ASender: TGLNavigatorSmoothChangeVector; const AValue: TGLVector) of object;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorAbstractParameters

Class TGLNavigatorAbstractParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorAbstractParameters = class(TPersistent)

Description

Includes a basic set of parameters that control the smoothness of movement.

Hierarchy

  • TObject
  • TPersistent
  • TGLNavigatorAbstractParameters

Overview

Fields

Private | FOwner: TPersistent;
Private | FInertia: Single;
Private | FSpeed: Single;
Private | FCutoff: Single;

Methods

Public | constructor Create(AOwner: TPersistent); virtual;
Protected | function GetOwner: TPersistent; override;
Protected | function StoreInertia: Boolean; virtual;
Protected | function StoreSpeed: Boolean; virtual;
Private | function StoreCutoff: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ScaleParameters(const Value: Single); virtual;

Properties

Published | property Cutoff: Single read FCutoff write FCutoff stored StoreCutoff;
Published | property Inertia: Single read FInertia write FInertia stored StoreInertia;
Published | property Speed: Single read FSpeed write FSpeed stored StoreSpeed;

Description

Fields

Private FOwner: TPersistent;
Private FInertia: Single;
Private FSpeed: Single;
Private FCutoff: Single;

Methods

Public constructor Create(AOwner: TPersistent); virtual;
Protected function GetOwner: TPersistent; override;
Protected function StoreInertia: Boolean; virtual;
Protected function StoreSpeed: Boolean; virtual;
Private function StoreCutoff: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure ScaleParameters(const Value: Single); virtual;

Properties

Published property Cutoff: Single read FCutoff write FCutoff stored StoreCutoff;
Published property Inertia: Single read FInertia write FInertia stored StoreInertia;
Published property Speed: Single read FSpeed write FSpeed stored StoreSpeed;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorSmoothChangeItem

Class TGLNavigatorSmoothChangeItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorSmoothChangeItem = class(TXCollectionItem)

Description

Includes a basic set of parameters that control the smoothness of movement.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLNavigatorSmoothChangeItem

Overview

Fields

Private | FInertia: Single;
Private | FSpeed: Single;
Private | FEnabled: Boolean;
Private | FSpeedLimit: Single;
Private | FCutoff: Double;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | function Proceed(ADeltaTime: Double): Boolean; virtual; abstract;
Protected | function GetNavigator: TGLSmoothNavigator;
Private | function StoreCutoff: Boolean;
Private | function StoreInertia: Boolean;
Private | function StoreSpeed: Boolean;
Private | function StoreSpeedLimit: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ResetTargetValue(); virtual; abstract;
Public | procedure ScaleParameters(const Value: Single); virtual;

Properties

Published | property Cutoff: Double read FCutoff write FCutoff stored StoreCutoff;
Published | property Enabled: Boolean read FEnabled write FEnabled default True;
Published | property Inertia: Single read FInertia write FInertia stored StoreInertia;
Published | property Speed: Single read FSpeed write FSpeed stored StoreSpeed;
Published | property SpeedLimit: Single read FSpeedLimit write FSpeedLimit stored StoreSpeedLimit;

Description

Fields

Private FInertia: Single;
Private FSpeed: Single;
Private FEnabled: Boolean;
Private FSpeedLimit: Single;
Private FCutoff: Double;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public function Proceed(ADeltaTime: Double): Boolean; virtual; abstract;

Returns False if there was no change.

Protected function GetNavigator: TGLSmoothNavigator;
Private function StoreCutoff: Boolean;
Private function StoreInertia: Boolean;
Private function StoreSpeed: Boolean;
Private function StoreSpeedLimit: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure ResetTargetValue(); virtual; abstract;
Public procedure ScaleParameters(const Value: Single); virtual;

Properties

Published property Cutoff: Double read FCutoff write FCutoff stored StoreCutoff;
Published property Enabled: Boolean read FEnabled write FEnabled default True;
Published property Inertia: Single read FInertia write FInertia stored StoreInertia;
Published property Speed: Single read FSpeed write FSpeed stored StoreSpeed;
Published property SpeedLimit: Single read FSpeedLimit write FSpeedLimit stored StoreSpeedLimit;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorSmoothChangeSingle

Class TGLNavigatorSmoothChangeSingle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorSmoothChangeSingle = class(TGLNavigatorSmoothChangeItem)

Description

Smoothly change any Single value, so it will become TargetValue in the end.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLNavigatorSmoothChangeItem
  • TGLNavigatorSmoothChangeSingle

Overview

Fields

Private | FTargetValue: Single;
Private | FOnGetCurrentValue: TGLNavigatorSmoothChangeSingleGetEvent;
Private | FOnSetCurrentValue: TGLNavigatorSmoothChangeSingleSetEvent;

Methods

Public | class function FriendlyName: string; override;
Public | function Proceed(ADeltaTime: Double): Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ResetTargetValue(); override;

Properties

Published | property OnGetCurrentValue: TGLNavigatorSmoothChangeSingleGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
Published | property OnSetCurrentValue: TGLNavigatorSmoothChangeSingleSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
Published | property TargetValue: Single read FTargetValue write FTargetValue;

Description

Fields

Private FTargetValue: Single;
Private FOnGetCurrentValue: TGLNavigatorSmoothChangeSingleGetEvent;
Private FOnSetCurrentValue: TGLNavigatorSmoothChangeSingleSetEvent;

Methods

Public class function FriendlyName: string; override;
Public function Proceed(ADeltaTime: Double): Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ResetTargetValue(); override;

Properties

Published property OnGetCurrentValue: TGLNavigatorSmoothChangeSingleGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
Published property OnSetCurrentValue: TGLNavigatorSmoothChangeSingleSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
Published property TargetValue: Single read FTargetValue write FTargetValue;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorSmoothChangeVector

Class TGLNavigatorSmoothChangeVector

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorSmoothChangeVector = class(TGLNavigatorSmoothChangeItem)

Description

Smoothly change any Vector4f value, so it will become TargetValue in the end.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLNavigatorSmoothChangeItem
  • TGLNavigatorSmoothChangeVector

Overview

Fields

Private | FTargetValue: TGLCoordinates;
Private | FOnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent;
Private | FOnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Public | function Proceed(ADeltaTime: Double): Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ResetTargetValue(); override;
Private | procedure SetTargetValue(const Value: TGLCoordinates);

Properties

Published | property OnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
Published | property OnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
Published | property TargetValue: TGLCoordinates read FTargetValue write SetTargetValue;

Description

Fields

Private FTargetValue: TGLCoordinates;
Private FOnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent;
Private FOnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Public function Proceed(ADeltaTime: Double): Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ResetTargetValue(); override;
Private procedure SetTargetValue(const Value: TGLCoordinates);

Properties

Published property OnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
Published property OnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
Published property TargetValue: TGLCoordinates read FTargetValue write SetTargetValue;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorSmoothChangeItems

Class TGLNavigatorSmoothChangeItems

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorSmoothChangeItems = class(TXCollection)

Description

XCollection of TGLNavigatorSmoothChangeItem.

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLNavigatorSmoothChangeItems

Overview

Methods

Public | function Add(AClass : TGLNavigatorSmoothChangeItemClass): TGLNavigatorSmoothChangeItem;
Public | function CanAdd(AClass: TXCollectionItemClass): Boolean; override;
Public | class function ItemsClass: TXCollectionItemClass; override;
Private | function GetItems(const Index : Integer): TGLNavigatorSmoothChangeItem;
Protected | procedure DoProceed(ADeltaTime: Double);
Private | procedure SetItems(const Index : Integer; const Value: TGLNavigatorSmoothChangeItem);

Properties

Public property Items[constIndex:Integer]: TGLNavigatorSmoothChangeItem read GetItems write SetItems;

Description

Methods

Public function Add(AClass : TGLNavigatorSmoothChangeItemClass): TGLNavigatorSmoothChangeItem;
Public function CanAdd(AClass: TXCollectionItemClass): Boolean; override;
Public class function ItemsClass: TXCollectionItemClass; override;
Private function GetItems(const Index : Integer): TGLNavigatorSmoothChangeItem;
Protected procedure DoProceed(ADeltaTime: Double);
Private procedure SetItems(const Index : Integer; const Value: TGLNavigatorSmoothChangeItem);

Properties

Public property Items[constIndex:Integer]: TGLNavigatorSmoothChangeItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorAdjustDistanceParameters

Class TGLNavigatorAdjustDistanceParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorAdjustDistanceParameters = class(TGLNavigatorAbstractParameters)

Description

The wrapper for all parameters that affect how the AdjustDisanceTo[...] methods work

Hierarchy

  • TObject
  • TPersistent
  • TGLNavigatorAbstractParameters
  • TGLNavigatorAdjustDistanceParameters

Overview

Fields

Private | FOldDistanceRatio: Single;
Private | FImpulseSpeed: Single;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Private | function StoreImpulseSpeed: Boolean;
Public | procedure AddImpulse(const Impulse: Single); virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ScaleParameters(const Value: Single); override;

Properties

Published property ImpulseSpeed: Single read FImpulseSpeed write FImpulseSpeed stored StoreImpulseSpeed;

Description

Fields

Private FOldDistanceRatio: Single;
Private FImpulseSpeed: Single;

Methods

Public constructor Create(AOwner: TPersistent); override;
Private function StoreImpulseSpeed: Boolean;
Public procedure AddImpulse(const Impulse: Single); virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure ScaleParameters(const Value: Single); override;

Properties

Published property ImpulseSpeed: Single read FImpulseSpeed write FImpulseSpeed stored StoreImpulseSpeed;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorAdjustDistanceParametersEx

Class TGLNavigatorAdjustDistanceParametersEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorAdjustDistanceParametersEx = class(TGLNavigatorAbstractParameters)

Description

The wrapper for all parameters that affect how the AdjustDisanceTo[...]Ex methods work You need to set the TargetObject and desired distance to it, then call AdjustDisanceTo[...]Ex() in your Cadencer.OnProgress code.

Hierarchy

  • TObject
  • TPersistent
  • TGLNavigatorAbstractParameters
  • TGLNavigatorAdjustDistanceParametersEx

Overview

Fields

Private | FSpeedLimit: Single;
Private | FTargetDistance: Single;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Protected | function StoreInertia: Boolean; override;
Protected | function StoreSpeed: Boolean; override;
Private | function StoreSpeedLimit: Boolean;
Private | function StoreTargetDistance: Boolean;
Public | procedure Assign(Source: TPersistent); override;

Properties

Published | property SpeedLimit: Single read FSpeedLimit write FSpeedLimit stored StoreSpeedLimit;
Published | property TargetDistance: Single read FTargetDistance write FTargetDistance stored StoreTargetDistance;

Description

Fields

Private FSpeedLimit: Single;
Private FTargetDistance: Single;

Methods

Public constructor Create(AOwner: TPersistent); override;
Protected function StoreInertia: Boolean; override;
Protected function StoreSpeed: Boolean; override;
Private function StoreSpeedLimit: Boolean;
Private function StoreTargetDistance: Boolean;
Public procedure Assign(Source: TPersistent); override;

Properties

Published property SpeedLimit: Single read FSpeedLimit write FSpeedLimit stored StoreSpeedLimit;
Published property TargetDistance: Single read FTargetDistance write FTargetDistance stored StoreTargetDistance;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorInertiaParameters

Class TGLNavigatorInertiaParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorInertiaParameters = class(TPersistent)

Description

The wrapper for all parameters that affect the smoothness of movement

Hierarchy

  • TObject
  • TPersistent
  • TGLNavigatorInertiaParameters

Overview

Fields

Private | FOwner: TPersistent;
Private | OldTurnHorizontalAngle: Single;
Private | OldTurnVerticalAngle: Single;
Private | OldMoveForwardDistance: Single;
Private | OldStrafeHorizontalDistance: Single;
Private | OldStrafeVerticalDistance: Single;
Private | FTurnInertia: Single;
Private | FTurnSpeed: Single;
Private | FTurnMaxAngle: Single;
Private | FMovementAcceleration: Single;
Private | FMovementInertia: Single;
Private | FMovementSpeed: Single;

Methods

Public | constructor Create(AOwner: TPersistent); virtual;
Protected | function GetOwner: TPersistent; override;
Private | function StoreMovementAcceleration: Boolean;
Private | function StoreMovementInertia: Boolean;
Private | function StoreMovementSpeed: Boolean;
Private | function StoreTurnInertia: Boolean;
Private | function StoreTurnMaxAngle: Boolean;
Private | function StoreTurnSpeed: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ScaleParameters(const Value: Single); virtual;

Properties

Published | property MovementAcceleration: Single read FMovementAcceleration write FMovementAcceleration stored StoreMovementAcceleration;
Published | property MovementInertia: Single read FMovementInertia write FMovementInertia stored StoreMovementInertia;
Published | property MovementSpeed: Single read FMovementSpeed write FMovementSpeed stored StoreMovementSpeed;
Published | property TurnInertia: Single read FTurnInertia write FTurnInertia stored StoreTurnInertia;
Published | property TurnMaxAngle: Single read FTurnMaxAngle write FTurnMaxAngle stored StoreTurnMaxAngle;
Published | property TurnSpeed: Single read FTurnSpeed write FTurnSpeed stored StoreTurnSpeed;

Description

Fields

Private FOwner: TPersistent;
Private OldTurnHorizontalAngle: Single;
Private OldTurnVerticalAngle: Single;
Private OldMoveForwardDistance: Single;
Private OldStrafeHorizontalDistance: Single;
Private OldStrafeVerticalDistance: Single;
Private FTurnInertia: Single;
Private FTurnSpeed: Single;
Private FTurnMaxAngle: Single;
Private FMovementAcceleration: Single;
Private FMovementInertia: Single;
Private FMovementSpeed: Single;

Methods

Public constructor Create(AOwner: TPersistent); virtual;
Protected function GetOwner: TPersistent; override;
Private function StoreMovementAcceleration: Boolean;
Private function StoreMovementInertia: Boolean;
Private function StoreMovementSpeed: Boolean;
Private function StoreTurnInertia: Boolean;
Private function StoreTurnMaxAngle: Boolean;
Private function StoreTurnSpeed: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure ScaleParameters(const Value: Single); virtual;

Properties

Published property MovementAcceleration: Single read FMovementAcceleration write FMovementAcceleration stored StoreMovementAcceleration;
Published property MovementInertia: Single read FMovementInertia write FMovementInertia stored StoreMovementInertia;
Published property MovementSpeed: Single read FMovementSpeed write FMovementSpeed stored StoreMovementSpeed;
Published property TurnInertia: Single read FTurnInertia write FTurnInertia stored StoreTurnInertia;
Published property TurnMaxAngle: Single read FTurnMaxAngle write FTurnMaxAngle stored StoreTurnMaxAngle;
Published property TurnSpeed: Single read FTurnSpeed write FTurnSpeed stored StoreTurnSpeed;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorGeneralParameters

Class TGLNavigatorGeneralParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorGeneralParameters = class(TPersistent)

Description

The wrapper for all general inertia parameters. These properties mean that if ExpectedMaxFPS is 100, FAutoScaleMin is 0.1, FAutoScaleMax is 0.75 then the "safe range" for it to change is [10..75]. If these bounds are violated, then ExpectedMaxFPS is automaticly increased or decreased by AutoScaleMult.

Hierarchy

  • TObject
  • TPersistent
  • TGLNavigatorGeneralParameters

Overview

Fields

Private | FOwner: TPersistent;
Private | FAutoScaleMin: Single;
Private | FAutoScaleMax: Single;
Private | FAutoScaleMult: Single;

Methods

Public | constructor Create(AOwner: TPersistent); virtual;
Protected | function GetOwner: TPersistent; override;
Private | function StoreAutoScaleMax: Boolean;
Private | function StoreAutoScaleMin: Boolean;
Private | function StoreAutoScaleMult: Boolean;
Public | procedure Assign(Source: TPersistent); override;

Properties

Published | property AutoScaleMax: Single read FAutoScaleMax write FAutoScaleMax stored StoreAutoScaleMax;
Published | property AutoScaleMin: Single read FAutoScaleMin write FAutoScaleMin stored StoreAutoScaleMin;
Published | property AutoScaleMult: Single read FAutoScaleMult write FAutoScaleMult stored StoreAutoScaleMult;

Description

Fields

Private FOwner: TPersistent;
Private FAutoScaleMin: Single;
Private FAutoScaleMax: Single;
Private FAutoScaleMult: Single;

Methods

Public constructor Create(AOwner: TPersistent); virtual;
Protected function GetOwner: TPersistent; override;
Private function StoreAutoScaleMax: Boolean;
Private function StoreAutoScaleMin: Boolean;
Private function StoreAutoScaleMult: Boolean;
Public procedure Assign(Source: TPersistent); override;

Properties

Published property AutoScaleMax: Single read FAutoScaleMax write FAutoScaleMax stored StoreAutoScaleMax;
Published property AutoScaleMin: Single read FAutoScaleMin write FAutoScaleMin stored StoreAutoScaleMin;
Published property AutoScaleMult: Single read FAutoScaleMult write FAutoScaleMult stored StoreAutoScaleMult;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLNavigatorMoveAroundParameters

Class TGLNavigatorMoveAroundParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLNavigatorMoveAroundParameters = class(TPersistent)

Description

The wrapper for all parameters that effect how the TGLBaseSceneObject.MoveObjectAround() procedure works

Hierarchy

  • TObject
  • TPersistent
  • TGLNavigatorMoveAroundParameters

Overview

Fields

Private | FOwner: TPersistent;
Private | FTargetObject: TGLBaseSceneObject;
Private | FOldPitchInertiaAngle: Single;
Private | FOldTurnInertiaAngle: Single;
Private | FPitchSpeed: Single;
Private | FTurnSpeed: Single;
Private | FInertia: Single;
Private | FMaxAngle: Single;
Private | FCutoff: Double;

Methods

Public | constructor Create(AOwner: TPersistent); virtual;
Protected | function GetOwner: TPersistent; override;
Private | function StoreCutoff: Boolean;
Private | function StoreInertia: Boolean;
Private | function StoreMaxAngle: Boolean;
Private | function StorePitchSpeed: Boolean;
Private | function StoreTurnSpeed: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ScaleParameters(const Value: Single); virtual;
Private | procedure SetTargetObject(const Value: TGLBaseSceneObject);

Properties

Published | property Cutoff: Double read FCutoff write FCutoff stored StoreCutoff;
Published | property Inertia: Single read FInertia write FInertia stored StoreInertia;
Published | property MaxAngle: Single read FMaxAngle write FMaxAngle stored StoreMaxAngle;
Published | property PitchSpeed: Single read FPitchSpeed write FPitchSpeed stored StorePitchSpeed;
Published | property TargetObject: TGLBaseSceneObject read FTargetObject write SetTargetObject;
Published | property TurnSpeed: Single read FTurnSpeed write FTurnSpeed stored StoreTurnSpeed;

Description

Fields

Private FOwner: TPersistent;
Private FTargetObject: TGLBaseSceneObject;
Private FOldPitchInertiaAngle: Single;
Private FOldTurnInertiaAngle: Single;
Private FPitchSpeed: Single;
Private FTurnSpeed: Single;
Private FInertia: Single;
Private FMaxAngle: Single;
Private FCutoff: Double;

Methods

Public constructor Create(AOwner: TPersistent); virtual;
Protected function GetOwner: TPersistent; override;
Private function StoreCutoff: Boolean;
Private function StoreInertia: Boolean;
Private function StoreMaxAngle: Boolean;
Private function StorePitchSpeed: Boolean;
Private function StoreTurnSpeed: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure ScaleParameters(const Value: Single); virtual;
Private procedure SetTargetObject(const Value: TGLBaseSceneObject);

Properties

Published property Cutoff: Double read FCutoff write FCutoff stored StoreCutoff;
Published property Inertia: Single read FInertia write FInertia stored StoreInertia;
Published property MaxAngle: Single read FMaxAngle write FMaxAngle stored StoreMaxAngle;
Published property PitchSpeed: Single read FPitchSpeed write FPitchSpeed stored StorePitchSpeed;
Published property TargetObject: TGLBaseSceneObject read FTargetObject write SetTargetObject;
Published property TurnSpeed: Single read FTurnSpeed write FTurnSpeed stored StoreTurnSpeed;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLSmoothNavigator

Class TGLSmoothNavigator

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLSmoothNavigator = class(TGLNavigator)

Description

The component for moving a TGLBaseSceneObject, and all classes based on it, this includes all the objects from the Scene Editor. It uses complex smoothing algorithms, most of which are FPS-dependant. Make sure your limit your FPS and set MaxExpectedDeltaTime to a value that is aproximatly 5 times less than your usual deltatime.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNavigator
  • TGLSmoothNavigator

Overview

Fields

Private | FMaxExpectedDeltaTime: Double;
Private | FInertiaParams: TGLNavigatorInertiaParameters;
Private | FGeneralParams: TGLNavigatorGeneralParameters;
Private | FMoveAroundParams: TGLNavigatorMoveAroundParameters;
Private | FAdjustDistanceParams: TGLNavigatorAdjustDistanceParameters;
Private | FAdjustDistanceParamsEx: TGLNavigatorAdjustDistanceParametersEx;
Private | FCustomAnimatedItems: TGLNavigatorSmoothChangeItems;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AdjustDistanceToPoint(const APoint: TGLVector; const DistanceRatio : Single; ADeltaTime: Double): Boolean;
Public | function AdjustDistanceToPointEx(const APoint: TGLVector; ADeltaTime: Double): Boolean;
Public | function AdjustDistanceToTarget(const DistanceRatio : Single; const ADeltaTime: Double): Boolean;
Public | function AdjustDistanceToTargetEx(const ADeltaTime: Double): Boolean;
Public | function MoveAroundTarget(const PitchDelta, TurnDelta : Single; const ADeltaTime: Double): Boolean;
Public | function MoveObjectAround(const AObject: TGLBaseSceneObject; PitchDelta, TurnDelta : Single; ADeltaTime: Double): Boolean;
Private | function StoreMaxExpectedDeltaTime: Boolean;
Public | procedure AnimateCustomItems(const ADeltaTime: Double); virtual;
Public | procedure AutoScaleParameters(const FPS: Single); virtual;
Public | procedure AutoScaleParametersUp(const FPS: Single); virtual;
Public | procedure FlyForward(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public | procedure MoveForward(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public | procedure ScaleParameters(const Value: Single); virtual;
Public | procedure SetObject(Value: TGLBaseSceneObject); override;
Public | procedure StrafeHorizontal(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public | procedure StrafeVertical(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public | procedure TurnHorizontal(Angle: Single; ADeltaTime: Double); virtual;
Public | procedure TurnVertical(Angle: Single; ADeltaTime: Double); virtual;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetAdjustDistanceParams(const Value: TGLNavigatorAdjustDistanceParameters);
Private | procedure SetAdjustDistanceParamsEx( const Value: TGLNavigatorAdjustDistanceParametersEx);
Private | procedure SetCustomAnimatedItems( const Value: TGLNavigatorSmoothChangeItems);
Private | procedure SetGeneralParams(const Value: TGLNavigatorGeneralParameters);
Private | procedure SetInertiaParams(const Value: TGLNavigatorInertiaParameters);
Private | procedure SetMoveAroundParams(const Value: TGLNavigatorMoveAroundParameters);

Properties

Published | property AdjustDistanceParams: TGLNavigatorAdjustDistanceParameters read FAdjustDistanceParams write SetAdjustDistanceParams;
Published | property AdjustDistanceParamsEx: TGLNavigatorAdjustDistanceParametersEx read FAdjustDistanceParamsEx write SetAdjustDistanceParamsEx;
Published | property CustomAnimatedItems: TGLNavigatorSmoothChangeItems read FCustomAnimatedItems write SetCustomAnimatedItems;
Published | property GeneralParams: TGLNavigatorGeneralParameters read FGeneralParams write SetGeneralParams;
Published | property InertiaParams: TGLNavigatorInertiaParameters read FInertiaParams write SetInertiaParams;
Published | property MaxExpectedDeltaTime: Double read FMaxExpectedDeltaTime write FMaxExpectedDeltaTime stored StoreMaxExpectedDeltaTime;
Published | property MoveAroundParams: TGLNavigatorMoveAroundParameters read FMoveAroundParams write SetMoveAroundParams;

Description

Fields

Private FMaxExpectedDeltaTime: Double;
Private FInertiaParams: TGLNavigatorInertiaParameters;
Private FGeneralParams: TGLNavigatorGeneralParameters;
Private FMoveAroundParams: TGLNavigatorMoveAroundParameters;
Private FAdjustDistanceParams: TGLNavigatorAdjustDistanceParameters;
Private FAdjustDistanceParamsEx: TGLNavigatorAdjustDistanceParametersEx;
Private FCustomAnimatedItems: TGLNavigatorSmoothChangeItems;

Methods

Public constructor Create(AOwner: TComponent); override;

Constructors-destructors.

Public destructor Destroy; override;
Public function AdjustDistanceToPoint(const APoint: TGLVector; const DistanceRatio : Single; ADeltaTime: Double): Boolean;

Uses AdjustDistanceParams.

Public function AdjustDistanceToPointEx(const APoint: TGLVector; ADeltaTime: Double): Boolean;

Uses AdjustDistanceParamsEx.

Public function AdjustDistanceToTarget(const DistanceRatio : Single; const ADeltaTime: Double): Boolean;
Public function AdjustDistanceToTargetEx(const ADeltaTime: Double): Boolean;
Public function MoveAroundTarget(const PitchDelta, TurnDelta : Single; const ADeltaTime: Double): Boolean;

Uses MoveAroundParams. Returns True, if object was actually moved.

Public function MoveObjectAround(const AObject: TGLBaseSceneObject; PitchDelta, TurnDelta : Single; ADeltaTime: Double): Boolean;
Private function StoreMaxExpectedDeltaTime: Boolean;
Public procedure AnimateCustomItems(const ADeltaTime: Double); virtual;

Uses CustomAnimatedItems.

Public procedure AutoScaleParameters(const FPS: Single); virtual;
Public procedure AutoScaleParametersUp(const FPS: Single); virtual;
Public procedure FlyForward(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public procedure MoveForward(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public procedure ScaleParameters(const Value: Single); virtual;

Uses GeneralParams. In ScaleParameters, Value should be around 1.

Public procedure SetObject(Value: TGLBaseSceneObject); override;

From TGLNavigator. Probably, should not be public.

Public procedure StrafeHorizontal(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public procedure StrafeVertical(const Plus, Minus: Boolean; ADeltaTime: Double; const Accelerate: Boolean = False); virtual;
Public procedure TurnHorizontal(Angle: Single; ADeltaTime: Double); virtual;

Uses InertiaParams.

Public procedure TurnVertical(Angle: Single; ADeltaTime: Double); virtual;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetAdjustDistanceParams(const Value: TGLNavigatorAdjustDistanceParameters);
Private procedure SetAdjustDistanceParamsEx( const Value: TGLNavigatorAdjustDistanceParametersEx);
Private procedure SetCustomAnimatedItems( const Value: TGLNavigatorSmoothChangeItems);
Private procedure SetGeneralParams(const Value: TGLNavigatorGeneralParameters);
Private procedure SetInertiaParams(const Value: TGLNavigatorInertiaParameters);
Private procedure SetMoveAroundParams(const Value: TGLNavigatorMoveAroundParameters);

Properties

Published property AdjustDistanceParams: TGLNavigatorAdjustDistanceParameters read FAdjustDistanceParams write SetAdjustDistanceParams;
Published property AdjustDistanceParamsEx: TGLNavigatorAdjustDistanceParametersEx read FAdjustDistanceParamsEx write SetAdjustDistanceParamsEx;
Published property CustomAnimatedItems: TGLNavigatorSmoothChangeItems read FCustomAnimatedItems write SetCustomAnimatedItems;
Published property GeneralParams: TGLNavigatorGeneralParameters read FGeneralParams write SetGeneralParams;
Published property InertiaParams: TGLNavigatorInertiaParameters read FInertiaParams write SetInertiaParams;
Published property MaxExpectedDeltaTime: Double read FMaxExpectedDeltaTime write FMaxExpectedDeltaTime stored StoreMaxExpectedDeltaTime;
Published property MoveAroundParams: TGLNavigatorMoveAroundParameters read FMoveAroundParams write SetMoveAroundParams;


GLSysHelp v.2.1: GLS.SmoothNavigator: Class TGLSmoothUserInterface

Class TGLSmoothUserInterface

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SmoothNavigator

Declaration

type TGLSmoothUserInterface = class(TComponent)

Description

The component which reads the userinput and transform it into action. Mouselook(ADeltaTime: double) : handles mouse look... Should be called in the Cadencer event. (Though it works everywhere!) The four properties to get you started are: InvertMouse : Inverts the mouse Y axis. AutoUpdateMouse : If enabled (by defaul), than handles all mouse updates. GLNavigator : The Navigator which receives the user movement. GLVertNavigator : The Navigator which if set receives the vertical user movement. Used mostly for cameras....

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSmoothUserInterface

Overview

Fields

Private | FAutoUpdateMouse: Boolean;
Private | FMouseLookActive: Boolean;
Private | FSmoothNavigator: TGLSmoothNavigator;
Private | FSmoothVertNavigator: TGLSmoothNavigator;
Private | FInvertMouse: Boolean;
Private | FOriginalMousePos: TGLCoordinates2;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function MouseLook(const ADeltaTime: Double): Boolean; overload;
Public | function MouseLook(const NewXY: TPoint; const ADeltaTime: Double): Boolean; overload;
Public | function MouseLook(const NewX, NewY: Integer; const ADeltaTime: Double): Boolean; overload;
Public | procedure MouseLookActiveToggle; virtual;
Public | procedure TurnHorizontal(const Angle : Single; const ADeltaTime: Double); virtual;
Public | procedure TurnVertical(const Angle : Single; const ADeltaTime: Double); virtual;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetMouseLookActive(const Value: Boolean); virtual;
Private | procedure SetOriginalMousePos(const Value: TGLCoordinates2); virtual;
Private | procedure SetSmoothNavigator(const Value: TGLSmoothNavigator); virtual;
Private | procedure SetSmoothVertNavigator(const Value: TGLSmoothNavigator); virtual;

Properties

Published | property AutoUpdateMouse: Boolean read FAutoUpdateMouse write FAutoUpdateMouse default True;
Published | property InvertMouse: Boolean read FInvertMouse write FInvertMouse default False;
Published | property MouseLookActive: Boolean read FMouseLookActive write SetMouseLookActive default False;
Published | property OriginalMousePos: TGLCoordinates2 read FOriginalMousePos write SetOriginalMousePos;
Published | property SmoothNavigator: TGLSmoothNavigator read FSmoothNavigator write SetSmoothNavigator;
Published | property SmoothVertNavigator: TGLSmoothNavigator read FSmoothVertNavigator write SetSmoothVertNavigator;

Description

Fields

Private FAutoUpdateMouse: Boolean;
Private FMouseLookActive: Boolean;
Private FSmoothNavigator: TGLSmoothNavigator;
Private FSmoothVertNavigator: TGLSmoothNavigator;
Private FInvertMouse: Boolean;
Private FOriginalMousePos: TGLCoordinates2;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function MouseLook(const ADeltaTime: Double): Boolean; overload;
Public function MouseLook(const NewXY: TPoint; const ADeltaTime: Double): Boolean; overload;
Public function MouseLook(const NewX, NewY: Integer; const ADeltaTime: Double): Boolean; overload;
Public procedure MouseLookActiveToggle; virtual;
Public procedure TurnHorizontal(const Angle : Single; const ADeltaTime: Double); virtual;
Public procedure TurnVertical(const Angle : Single; const ADeltaTime: Double); virtual;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetMouseLookActive(const Value: Boolean); virtual;
Private procedure SetOriginalMousePos(const Value: TGLCoordinates2); virtual;
Private procedure SetSmoothNavigator(const Value: TGLSmoothNavigator); virtual;
Private procedure SetSmoothVertNavigator(const Value: TGLSmoothNavigator); virtual;

Properties

Published property AutoUpdateMouse: Boolean read FAutoUpdateMouse write FAutoUpdateMouse default True;
Published property InvertMouse: Boolean read FInvertMouse write FInvertMouse default False;
Published property MouseLookActive: Boolean read FMouseLookActive write SetMouseLookActive default False;
Published property OriginalMousePos: TGLCoordinates2 read FOriginalMousePos write SetOriginalMousePos;
Published property SmoothNavigator: TGLSmoothNavigator read FSmoothNavigator write SetSmoothNavigator;
Published property SmoothVertNavigator: TGLSmoothNavigator read FSmoothVertNavigator write SetSmoothVertNavigator;


GLSysHelp v.2.1: GLS.Sound

Unit GLS.Sound

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.VectorTypes
  • GLS.SoundFileObjects
  • GLS.Scene
  • GLS.XCollection
  • GLS.VectorGeometry
  • GLS.Cadencer
  • GLS.BaseClasses
  • GLS.FileMP3
  • GLS.FileWAV
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSoundSample |
Class TGLSoundSamples |
Class TGLSoundLibrary |
Class TGLBaseSoundSource |
Class TGLSoundSource |
Class TGLSoundSources |
Class TGLSoundManager |
Class TGLBSoundEmitter |

Functions and Procedures

function ActiveSoundManager: TGLSoundManager;
function GetSoundLibraryByName(const aName: string): TGLSoundLibrary;
function GetOrCreateSoundEmitter(behaviours: TGLBehaviours): TGLBSoundEmitter; overload;
function GetOrCreateSoundEmitter(obj: TGLBaseSceneObject): TGLBSoundEmitter; overload;

Types

TGLSoundEnvironment = (...);
TGLSoundSourceChange = (...);
TGLSoundSourceChanges = set of TGLSoundSourceChange;

Variables

vVerboseGLSMErrors: Boolean = True;

Description

Functions and Procedures

function ActiveSoundManager: TGLSoundManager;
function GetSoundLibraryByName(const aName: string): TGLSoundLibrary;
function GetOrCreateSoundEmitter(behaviours: TGLBehaviours): TGLBSoundEmitter; overload;
function GetOrCreateSoundEmitter(obj: TGLBaseSceneObject): TGLBSoundEmitter; overload;

Types

TGLSoundEnvironment = (...);

EAX standard sound environments.

Values
  • seDefault
  • sePaddedCell
  • seRoom
  • seBathroom
  • seLivingRoom
  • seStoneroom
  • seAuditorium
  • seConcertHall
  • seCave
  • seArena
  • seHangar
  • seCarpetedHallway
  • seHallway
  • seStoneCorridor
  • seAlley
  • seForest
  • seCity
  • seMountains
  • seQuarry
  • sePlain
  • seParkingLot
  • seSewerPipe
  • seUnderWater
  • seDrugged
  • seDizzy
  • sePsychotic
TGLSoundSourceChange = (...);
Values
  • sscTransformation
  • sscSample
  • sscStatus
TGLSoundSourceChanges = set of TGLSoundSourceChange;

Variables

vVerboseGLSMErrors: Boolean = True;

If this variable is true, errors in GLSM may be displayed to the user


GLSysHelp v.2.1: GLS.Sound: Class TGLSoundSample

Class TGLSoundSample

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLSoundSample = class(TCollectionItem)

Description

Platform Specific

by default, GLX is not supported on windows, although windows implementations do exist .NET Stores a single PCM coded sound sample.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLSoundSample

Overview

Fields

Private | FName: string;
Private | FData: TGLSoundFile;
Private | FTag: Integer;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function LengthInBytes: Integer;
Public | function LengthInSamples: Integer;
Public | function LengthInSec: Single;
Public | function Sampling: TGLSoundSampling;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadFromFile(const fileName: string);
Public | procedure PlayOnWaveOut;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure ReadData(Stream: TStream); virtual;
Protected | procedure SetData(const val: TGLSoundFile);
Protected | procedure WriteData(Stream: TStream); virtual;

Properties

Published | property Data: TGLSoundFile read FData write SetData stored False;
Public | property ManagerTag: Integer read FTag write FTag;
Published | property Name: string read FName write FName;

Description

Fields

Private FName: string;
Private FData: TGLSoundFile;
Private FTag: Integer;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function LengthInBytes: Integer;
Public function LengthInSamples: Integer;
Public function LengthInSec: Single;
Public function Sampling: TGLSoundSampling;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadFromFile(const fileName: string);
Public procedure PlayOnWaveOut;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure ReadData(Stream: TStream); virtual;
Protected procedure SetData(const val: TGLSoundFile);
Protected procedure WriteData(Stream: TStream); virtual;

Properties

Published property Data: TGLSoundFile read FData write SetData stored False;
Public property ManagerTag: Integer read FTag write FTag;

This Tag is reserved for sound manager use only

Published property Name: string read FName write FName;


GLSysHelp v.2.1: GLS.Sound: Class TGLSoundSamples

Class TGLSoundSamples

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLSoundSamples = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLSoundSamples

Overview

Fields

Protected owner: TComponent;

Methods

Public | constructor Create(AOwner: TComponent);
Public | function Add: TGLSoundSample;
Public | function AddFile(const fileName: string; const sampleName: string = ''): TGLSoundSample;
Public | function FindItemID(ID: Integer): TGLSoundSample;
Public | function GetByName(const aName: string): TGLSoundSample;
Protected | function GetItems(index: Integer): TGLSoundSample;
Protected | function GetOwner: TPersistent; override;
Protected | procedure SetItems(index: Integer; const val: TGLSoundSample);

Properties

Public property Items[index:Integer]: TGLSoundSample read GetItems write SetItems;

Description

Fields

Protected owner: TComponent;

Methods

Public constructor Create(AOwner: TComponent);
Public function Add: TGLSoundSample;
Public function AddFile(const fileName: string; const sampleName: string = ''): TGLSoundSample;
Public function FindItemID(ID: Integer): TGLSoundSample;
Public function GetByName(const aName: string): TGLSoundSample;
Protected function GetItems(index: Integer): TGLSoundSample;
Protected function GetOwner: TPersistent; override;
Protected procedure SetItems(index: Integer; const val: TGLSoundSample);

Properties

Public property Items[index:Integer]: TGLSoundSample read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Sound: Class TGLSoundLibrary

Class TGLSoundLibrary

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLSoundLibrary = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSoundLibrary

Overview

Fields

Private FSamples: TGLSoundSamples;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetSamples(const val: TGLSoundSamples);

Properties

Published property Samples: TGLSoundSamples read FSamples write SetSamples;

Description

Fields

Private FSamples: TGLSoundSamples;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetSamples(const val: TGLSoundSamples);

Properties

Published property Samples: TGLSoundSamples read FSamples write SetSamples;


GLSysHelp v.2.1: GLS.Sound: Class TGLBaseSoundSource

Class TGLBaseSoundSource

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLBaseSoundSource = class(TCollectionItem)

Description

Base class for origin of sound playback.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLBaseSoundSource

Overview

Fields

Private | FBehaviourToNotify: TGLBSoundEmitter;
Private | FPriority: Integer;
Private | FOrigin: TGLBaseSceneObject;
Private | FVolume: Single;
Private | FMinDistance: Single;
Private | FMaxDistance: Single;
Private | FInsideConeAngle: Single;
Private | FOutsideConeAngle: Single;
Private | FConeOutsideVolume: Single;
Private | FSoundLibraryName: string;
Private | FSoundLibrary: TGLSoundLibrary;
Private | FSoundName: string;
Private | FMute: Boolean;
Private | FPause: Boolean;
Private | FChanges: TGLSoundSourceChanges;
Private | FNbLoops: Integer;
Private | FTag: Cardinal;
Private | FFrequency: Integer;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function Sample: TGLSoundSample;
Protected | function GetDisplayName: string; override;
Protected | function GetSoundLibrary: TGLSoundLibrary;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure ReadFromFiler(reader: TReader);
Protected | procedure SetConeOutsideVolume(const val: Single);
Protected | procedure SetFrequency(const val: Integer);
Protected | procedure SetInsideConeAngle(const val: Single);
Protected | procedure SetMaxDistance(const val: Single);
Protected | procedure SetMinDistance(const val: Single);
Protected | procedure SetMute(const val: Boolean);
Protected | procedure SetNbLoops(const val: Integer);
Protected | procedure SetOrigin(const val: TGLBaseSceneObject);
Protected | procedure SetOutsideConeAngle(const val: Single);
Protected | procedure SetPause(const val: Boolean);
Protected | procedure SetPriority(const val: Integer);
Protected | procedure SetSoundLibrary(const val: TGLSoundLibrary);
Protected | procedure SetSoundName(const val: string);
Protected | procedure SetVolume(const val: Single);
Protected | procedure WriteToFiler(writer: TWriter);

Properties

Public | property Changes: TGLSoundSourceChanges read FChanges;
Published | property ConeOutsideVolume: Single read FConeOutsideVolume write SetConeOutsideVolume;
Published | property Frequency: Integer read FFrequency write SetFrequency default -1;
Published | property InsideConeAngle: Single read FInsideConeAngle write SetInsideConeAngle;
Public | property ManagerTag: Cardinal read FTag write FTag;
Published | property MaxDistance: Single read FMaxDistance write SetMaxDistance;
Published | property MinDistance: Single read FMinDistance write SetMinDistance;
Published | property Mute: Boolean read FMute write SetMute default False;
Published | property NbLoops: Integer read FNbLoops write SetNbLoops default 1;
Public | property Origin: TGLBaseSceneObject read FOrigin write SetOrigin;
Published | property OutsideConeAngle: Single read FOutsideConeAngle write SetOutsideConeAngle;
Published | property Pause: Boolean read FPause write SetPause default False;
Published | property Priority: Integer read FPriority write SetPriority default 0;
Published | property SoundLibrary: TGLSoundLibrary read GetSoundLibrary write SetSoundLibrary;
Published | property SoundName: string read FSoundName write SetSoundName;
Published | property Volume: Single read FVolume write SetVolume;

Description

Fields

Private FBehaviourToNotify: TGLBSoundEmitter;
Private FPriority: Integer;

private only, NOT persistent, not assigned

Private FOrigin: TGLBaseSceneObject;
Private FVolume: Single;

NOT persistent

Private FMinDistance: Single;
Private FMaxDistance: Single;
Private FInsideConeAngle: Single;
Private FOutsideConeAngle: Single;
Private FConeOutsideVolume: Single;
Private FSoundLibraryName: string;
Private FSoundLibrary: TGLSoundLibrary;

used for persistence

Private FSoundName: string;

persistence via name

Private FMute: Boolean;
Private FPause: Boolean;
Private FChanges: TGLSoundSourceChanges;
Private FNbLoops: Integer;

NOT persistent, not assigned

Private FTag: Cardinal;
Private FFrequency: Integer;

NOT persistent, not assigned

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function Sample: TGLSoundSample;
Protected function GetDisplayName: string; override;
Protected function GetSoundLibrary: TGLSoundLibrary;
Public procedure Assign(Source: TPersistent); override;
Protected procedure ReadFromFiler(reader: TReader);
Protected procedure SetConeOutsideVolume(const val: Single);
Protected procedure SetFrequency(const val: Integer);
Protected procedure SetInsideConeAngle(const val: Single);
Protected procedure SetMaxDistance(const val: Single);
Protected procedure SetMinDistance(const val: Single);
Protected procedure SetMute(const val: Boolean);
Protected procedure SetNbLoops(const val: Integer);
Protected procedure SetOrigin(const val: TGLBaseSceneObject);
Protected procedure SetOutsideConeAngle(const val: Single);
Protected procedure SetPause(const val: Boolean);
Protected procedure SetPriority(const val: Integer);
Protected procedure SetSoundLibrary(const val: TGLSoundLibrary);
Protected procedure SetSoundName(const val: string);
Protected procedure SetVolume(const val: Single);
Protected procedure WriteToFiler(writer: TWriter);

Properties

Public property Changes: TGLSoundSourceChanges read FChanges;
Published property ConeOutsideVolume: Single read FConeOutsideVolume write SetConeOutsideVolume;

Cone outside volume, [0.0; 1.0] range. See DirectX SDK for details.

Published property Frequency: Integer read FFrequency write SetFrequency default -1;

Sample custom playback frequency. Values null or negative are interpreted as 'default frequency'.

Published property InsideConeAngle: Single read FInsideConeAngle write SetInsideConeAngle;

Inside cone angle, [0°; 360°]. Sound volume is maximal within this cone. See DirectX SDK for details.

Public property ManagerTag: Cardinal read FTag write FTag;

This Tag is reserved for sound manager use only

Published property MaxDistance: Single read FMaxDistance write SetMaxDistance;

Max distance, if source is further away, it will not be heard. 100.0 by default

Published property MinDistance: Single read FMinDistance write SetMinDistance;

Min distance before spatial attenuation occurs. 1.0 by default

Published property Mute: Boolean read FMute write SetMute default False;
Published property NbLoops: Integer read FNbLoops write SetNbLoops default 1;

Nb of playing loops.

Public property Origin: TGLBaseSceneObject read FOrigin write SetOrigin;

Origin object for the sound sources. Absolute object position/orientation are taken into account, the object's TGLBInertia is considered if any. If origin is nil, the source is assumed to be static at the origin. Note : since TCollectionItem do not support the "Notification" scheme, it is up to the Origin object to take care of updating this property prior to release/destruction.

Published property OutsideConeAngle: Single read FOutsideConeAngle write SetOutsideConeAngle;

Outside cone angle, [0°; 360°]. Between inside and outside cone, sound volume decreases between max and cone outside volume. See DirectX SDK for details.

Published property Pause: Boolean read FPause write SetPause default False;
Published property Priority: Integer read FPriority write SetPriority default 0;

Sound source priority, the higher the better. When maximum number of sound sources is reached, only the sources with the highest priority will continue to play, however, even non-playing sources should be tracked by the manager, thus allowing an "unlimited" amount of sources from the application point of view.

Published property SoundLibrary: TGLSoundLibrary read GetSoundLibrary write SetSoundLibrary;
Published property SoundName: string read FSoundName write SetSoundName;
Published property Volume: Single read FVolume write SetVolume;

Volume of the source, [0.0; 1.0] range


GLSysHelp v.2.1: GLS.Sound: Class TGLSoundSource

Class TGLSoundSource

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLSoundSource = class(TGLBaseSoundSource)

Description

Origin of sound playback. Just publishes the 'Origin' property. Note that the "orientation" is the the source's Direction, ie. the "Z" vector.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLBaseSoundSource
  • TGLSoundSource

Overview

Methods

Public destructor Destroy; override;

Properties

Published property Origin;

Description

Methods

Public destructor Destroy; override;

Properties

Published property Origin;


GLSysHelp v.2.1: GLS.Sound: Class TGLSoundSources

Class TGLSoundSources

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLSoundSources = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLSoundSources

Overview

Fields

Protected owner: TComponent;

Methods

Public | constructor Create(AOwner: TComponent);
Protected | function Add: TGLSoundSource;
Protected | function FindItemID(ID: Integer): TGLSoundSource;
Protected | function GetItems(index: Integer): TGLSoundSource;
Protected | function GetOwner: TPersistent; override;
Protected | procedure SetItems(index: Integer; const val: TGLSoundSource);

Properties

Public property Items[index:Integer]: TGLSoundSource read GetItems write SetItems;

Description

Fields

Protected owner: TComponent;

Methods

Public constructor Create(AOwner: TComponent);
Protected function Add: TGLSoundSource;
Protected function FindItemID(ID: Integer): TGLSoundSource;
Protected function GetItems(index: Integer): TGLSoundSource;
Protected function GetOwner: TPersistent; override;
Protected procedure SetItems(index: Integer; const val: TGLSoundSource);

Properties

Public property Items[index:Integer]: TGLSoundSource read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Sound: Class TGLSoundManager

Class TGLSoundManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLSoundManager = class(TGLCadenceAbleComponent)

Description

Base class for sound manager components. The sound manager component is the interface to a low-level audio API (like DirectSound), there can only be one active manager at any time (this class takes care of this). Subclass should override the DoActivate and DoDeActivate protected methods to "initialize/unitialize" their sound layer, actual data releases should occur in destructor however.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLSoundManager

Overview

Fields

Private | FActive: Boolean;
Private | FMute: Boolean;
Private | FPause: Boolean;
Private | FMasterVolume: Single;
Private | FListener: TGLBaseSceneObject;
Private | FLastListenerPosition: TGLVector;
Private | FSources: TGLSoundSources;
Private | FMaxChannels: Integer;
Private | FOutputFrequency: Integer;
Private | FUpdateFrequency: Single;
Private | FDistanceFactor: Single;
Private | FRollOffFactor: Single;
Private | FDopplerFactor: Single;
Private | FSoundEnvironment: TGLSoundEnvironment;
Private | FLastUpdateTime: Single;
Private | FLastDeltaTime: Single;
Private | FCadencer: TGLCadencer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CPUUsagePercent: Single; virtual;
Public | function EAXSupported: Boolean; virtual;
Protected | function DoActivate: Boolean; virtual;
Protected | function DoMute: Boolean; virtual;
Protected | function DoPause: Boolean; virtual;
Protected | function StoreDistanceFactor: Boolean;
Protected | function StoreRollOffFactor: Boolean;
Protected | function StoreUpdateFrequency: Boolean;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure StopAllSources;
Public | procedure UpdateSources; virtual;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure DoDeActivate; virtual;
Protected | procedure DoUnMute; virtual;
Protected | procedure DoUnPause; virtual;
Protected | procedure KillSource(aSource: TGLBaseSoundSource); virtual;
Protected | procedure ListenerCoordinates(var position, velocity, direction, up: TGLVector);
Protected | procedure Loaded; override;
Protected | procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); virtual;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure Notify3DFactorsChanged; virtual;
Protected | procedure NotifyEnvironmentChanged; virtual;
Protected | procedure NotifyMasterVolumeChange; virtual;
Protected | procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); virtual;
Protected | procedure SetCadencer(const val: TGLCadencer);
Protected | procedure SetDistanceFactor(const val: Single);
Protected | procedure SetDopplerFactor(const val: Single);
Protected | procedure SetListener(const val: TGLBaseSceneObject);
Protected | procedure SetMasterVolume(const val: Single);
Protected | procedure SetMaxChannels(const val: Integer);
Protected | procedure SetOutputFrequency(const val: Integer);
Protected | procedure SetRollOffFactor(const val: Single);
Protected | procedure SetSoundEnvironment(const val: TGLSoundEnvironment);
Protected | procedure SetSources(const val: TGLSoundSources);
Protected | procedure SetUpdateFrequency(const val: Single);
Protected | procedure UpdateSource(aSource: TGLBaseSoundSource); virtual;
Private | procedure ReadDoppler(reader: TReader);
Private | procedure SetActive(const val: Boolean);
Private | procedure SetMute(const val: Boolean);
Private | procedure SetPause(const val: Boolean);
Private | procedure WriteDoppler(writer: TWriter);

Properties

Published | property Active: Boolean read FActive write SetActive default False;
Published | property Cadencer: TGLCadencer read FCadencer write SetCadencer;
Published | property DistanceFactor: Single read FDistanceFactor write SetDistanceFactor stored StoreDistanceFactor;
Published | property DopplerFactor: Single read FDopplerFactor write SetDopplerFactor stored False;
Published | property Environment: TGLSoundEnvironment read FSoundEnvironment write SetSoundEnvironment default seDefault;
Published | property Listener: TGLBaseSceneObject read FListener write SetListener;
Published | property MasterVolume: Single read FMasterVolume write SetMasterVolume;
Published | property MaxChannels: Integer read FMaxChannels write SetMaxChannels default 8;
Published | property Mute: Boolean read FMute write SetMute default False;
Published | property OutputFrequency: Integer read FOutputFrequency write SetOutputFrequency default 44100;
Published | property Pause: Boolean read FPause write SetPause default False;
Published | property RollOffFactor: Single read FRollOffFactor write SetRollOffFactor stored StoreRollOffFactor;
Published | property Sources: TGLSoundSources read FSources write SetSources;
Published | property UpdateFrequency: Single read FUpdateFrequency write SetUpdateFrequency stored StoreUpdateFrequency;

Description

Fields

Private FActive: Boolean;
Private FMute: Boolean;
Private FPause: Boolean;
Private FMasterVolume: Single;
Private FListener: TGLBaseSceneObject;
Private FLastListenerPosition: TGLVector;
Private FSources: TGLSoundSources;
Private FMaxChannels: Integer;
Private FOutputFrequency: Integer;
Private FUpdateFrequency: Single;
Private FDistanceFactor: Single;
Private FRollOffFactor: Single;
Private FDopplerFactor: Single;
Private FSoundEnvironment: TGLSoundEnvironment;
Private FLastUpdateTime: Single;
Private FLastDeltaTime: Single;
Private FCadencer: TGLCadencer;

last time UpdateSources was fired, not persistent

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CPUUsagePercent: Single; virtual;

Sound manager API reported CPU Usage. Returns -1 when unsupported.

Public function EAXSupported: Boolean; virtual;

True if EAX is supported.

Protected function DoActivate: Boolean; virtual;
Protected function DoMute: Boolean; virtual;

Effect mute of all sounds. Default implementation call MuteSource for all non-muted sources with "True" as parameter.

Protected function DoPause: Boolean; virtual;

Effect pause of all sounds. Default implementation call PauseSource for all non-paused sources with "True" as parameter.

Protected function StoreDistanceFactor: Boolean;
Protected function StoreRollOffFactor: Boolean;
Protected function StoreUpdateFrequency: Boolean;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;

Progress notification for time synchronization. This method will call UpdateSources depending on the last time it was performed and the value of the UpdateFrequency property.

Public procedure StopAllSources;

Stop and free all sources.

Public procedure UpdateSources; virtual;

Manual request to update all sources to reflect changes. Default implementation invokes UpdateSource for all known sources.

Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure DoDeActivate; virtual;

Invoked AFTER all sources have been stopped

Protected procedure DoUnMute; virtual;

Effect un-mute of all sounds. Default implementation call MuteSource for all non-muted sources with "False" as parameter.

Protected procedure DoUnPause; virtual;

Effect un-pause of all sounds. Default implementation call PauseSource for all non-paused sources with "True" as parameter.

Protected procedure KillSource(aSource: TGLBaseSoundSource); virtual;

Called when a source will be freed

Protected procedure ListenerCoordinates(var position, velocity, direction, up: TGLVector);
Protected procedure Loaded; override;
Protected procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); virtual;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure Notify3DFactorsChanged; virtual;
Protected procedure NotifyEnvironmentChanged; virtual;
Protected procedure NotifyMasterVolumeChange; virtual;
Protected procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); virtual;
Protected procedure SetCadencer(const val: TGLCadencer);
Protected procedure SetDistanceFactor(const val: Single);
Protected procedure SetDopplerFactor(const val: Single);
Protected procedure SetListener(const val: TGLBaseSceneObject);
Protected procedure SetMasterVolume(const val: Single);
Protected procedure SetMaxChannels(const val: Integer);
Protected procedure SetOutputFrequency(const val: Integer);
Protected procedure SetRollOffFactor(const val: Single);
Protected procedure SetSoundEnvironment(const val: TGLSoundEnvironment);
Protected procedure SetSources(const val: TGLSoundSources);
Protected procedure SetUpdateFrequency(const val: Single);
Protected procedure UpdateSource(aSource: TGLBaseSoundSource); virtual;

Request to update source's data in low-level sound API. Default implementation just clears the "Changes" flags.

Private procedure ReadDoppler(reader: TReader);
Private procedure SetActive(const val: Boolean);
Private procedure SetMute(const val: Boolean);
Private procedure SetPause(const val: Boolean);
Private procedure WriteDoppler(writer: TWriter);

Properties

Published property Active: Boolean read FActive write SetActive default False;

Activation/deactivation of the low-level sound API

Published property Cadencer: TGLCadencer read FCadencer write SetCadencer;

Cadencer for time-based control.

Published property DistanceFactor: Single read FDistanceFactor write SetDistanceFactor stored StoreDistanceFactor;

Engine relative distance factor, compared to 1.0 meters. Equates to 'how many units per meter' your engine has.

Published property DopplerFactor: Single read FDopplerFactor write SetDopplerFactor stored False;

Engine relative Doppler factor, compared to 1.0 meters. Equates to 'how many units per meter' your engine has.

Published property Environment: TGLSoundEnvironment read FSoundEnvironment write SetSoundEnvironment default seDefault;

Sound environment (requires EAX compatible soundboard).

Published property Listener: TGLBaseSceneObject read FListener write SetListener;

Scene object that materializes the listener. The sceneobject's AbsolutePosition and orientation are used to define the listener coordinates, velocity is automatically calculated (if you're using DoProgress or connected the manager to a cadencer). If this property is nil, the listener is assumed to be static at the NullPoint coordinate, facing Z axis, with up being Y (ie. the default GLScene orientation).

Published property MasterVolume: Single read FMasterVolume write SetMasterVolume;

Master Volume adjustement in the [0.0; 1.0] range. Driver should take care of properly clamping the master volume.

Published property MaxChannels: Integer read FMaxChannels write SetMaxChannels default 8;

Maximum number of sound output channels. While some drivers will just ignore this value, others cannot dynamically adjust the maximum number of channels (you need to de-activate and re-activate the manager for this property to be taken into account).

Published property Mute: Boolean read FMute write SetMute default False;

Request to mute all sounds. All sound requests should be handled as if sound is unmuted though, however drivers should try to take a CPU advantage of mute over MasterVolume=0

Published property OutputFrequency: Integer read FOutputFrequency write SetOutputFrequency default 44100;

Sound output mixing frequency. Commonly used values ar 11025, 22050 and 44100. Note that most driver cannot dynamically adjust the output frequency (you need to de-ativate and re-activate the manager for this property to be taken into account).

Published property Pause: Boolean read FPause write SetPause default False;

Request to pause all sound, sound output should be muted too. When unpausing, all sound should resume at the point they were paused.

Published property RollOffFactor: Single read FRollOffFactor write SetRollOffFactor stored StoreRollOffFactor;

Sets the global attenuation rolloff factor. Normally volume for a sample will scale at 1 / distance. This gives a logarithmic attenuation of volume as the source gets further away (or closer). Setting this value makes the sound drop off faster or slower. The higher the value, the faster volume will fall off.

Published property Sources: TGLSoundSources read FSources write SetSources;

Currently active and playing sound sources.

Published property UpdateFrequency: Single read FUpdateFrequency write SetUpdateFrequency stored StoreUpdateFrequency;

Update frequency for time-based control (DoProgress). Default value is 10 Hz (frequency is clamped in the 1Hz-60Hz range).


GLSysHelp v.2.1: GLS.Sound: Class TGLBSoundEmitter

Class TGLBSoundEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Sound

Declaration

type TGLBSoundEmitter = class(TGLBehaviour)

Description

A sound emitter behaviour, plug it on any object to make it noisy. This behaviour is just an interface to a TGLSoundSource, for editing convenience.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBSoundEmitter

Overview

Fields

Private | FPlaying: Boolean;
Private | FSource: TGLBaseSoundSource;
Private | FPlayingSource: TGLSoundSource;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Protected | function GetPlaying: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected | procedure Loaded; override;
Protected | procedure NotifySourceDestruction(aSource: TGLSoundSource);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetPlaying(const val: Boolean);
Protected | procedure SetSource(const val: TGLBaseSoundSource);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Playing: Boolean read GetPlaying write SetPlaying default False;
Public | property PlayingSource: TGLSoundSource read FPlayingSource;
Published | property Source: TGLBaseSoundSource read FSource write SetSource;

Description

Fields

Private FPlaying: Boolean;
Private FSource: TGLBaseSoundSource;

used at design-time ONLY

Private FPlayingSource: TGLSoundSource;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Protected function GetPlaying: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected procedure Loaded; override;
Protected procedure NotifySourceDestruction(aSource: TGLSoundSource);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetPlaying(const val: Boolean);
Protected procedure SetSource(const val: TGLBaseSoundSource);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Playing: Boolean read GetPlaying write SetPlaying default False;
Public property PlayingSource: TGLSoundSource read FPlayingSource;
Published property Source: TGLBaseSoundSource read FSource write SetSource;


GLSysHelp v.2.1: GLS.SoundFileObjects

Unit GLS.SoundFileObjects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.MMSystem
  • System.Classes
  • System.SysUtils
  • VCL.Consts
  • GLS.ApplicationFileIO

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSoundSampling |
Class TGLSoundFile |
Record TGLSoundFileFormat |
Class TGLSoundFileFormatsList |

Functions and Procedures

function GetGLSoundFileFormats: TGLSoundFileFormatsList;
procedure RegisterSoundFileFormat(const AExtension, ADescription: String; AClass: TGLSoundFileClass);
procedure UnregisterSoundFileClass(AClass: TGLSoundFileClass);

Types

PSoundFileFormat = ˆTGLSoundFileFormat;
TGLSoundFileClass = class of TGLSoundFile;

Description

Functions and Procedures

function GetGLSoundFileFormats: TGLSoundFileFormatsList;
procedure RegisterSoundFileFormat(const AExtension, ADescription: String; AClass: TGLSoundFileClass);
procedure UnregisterSoundFileClass(AClass: TGLSoundFileClass);

Types

PSoundFileFormat = ˆTGLSoundFileFormat;
TGLSoundFileClass = class of TGLSoundFile;


GLSysHelp v.2.1: GLS.SoundFileObjects: Class TGLSoundSampling

Class TGLSoundSampling

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SoundFileObjects

Declaration

type TGLSoundSampling = class(TPersistent)

Description

Defines a sound sampling quality.

Hierarchy

  • TObject
  • TPersistent
  • TGLSoundSampling

Overview

Fields

Private | FOwner: TPersistent;
Private | FFrequency: Integer;
Private | FNbChannels: Integer;
Private | FBitsPerSample: Integer;

Methods

Public | constructor Create(AOwner: TPersistent);
Public | destructor Destroy; override;
Public | function BytesPerSample: Integer;
Public | function BytesPerSec: Integer;
Public | function WaveFormat: TWaveFormatEx;
Protected | function GetOwner: TPersistent; override;
Public | procedure Assign(Source: TPersistent); override;

Properties

Published | property BitsPerSample: Integer read FBitsPerSample write FBitsPerSample default 8;
Published | property Frequency: Integer read FFrequency write FFrequency default 22050;
Published | property NbChannels: Integer read FNbChannels write FNbChannels default 1;

Description

Fields

Private FOwner: TPersistent;
Private FFrequency: Integer;
Private FNbChannels: Integer;
Private FBitsPerSample: Integer;

Methods

Public constructor Create(AOwner: TPersistent);
Public destructor Destroy; override;
Public function BytesPerSample: Integer;
Public function BytesPerSec: Integer;
Public function WaveFormat: TWaveFormatEx;
Protected function GetOwner: TPersistent; override;
Public procedure Assign(Source: TPersistent); override;

Properties

Published property BitsPerSample: Integer read FBitsPerSample write FBitsPerSample default 8;

Nb of bits per sample. Common values are 8 and 16 bits.

Published property Frequency: Integer read FFrequency write FFrequency default 22050;

Sampling frequency in Hz (= samples per sec)

Published property NbChannels: Integer read FNbChannels write FNbChannels default 1;

Nb of sampling channels. 1 = mono, 2 = stereo, etc.


GLSysHelp v.2.1: GLS.SoundFileObjects: Class TGLSoundFile

Class TGLSoundFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SoundFileObjects

Declaration

type TGLSoundFile = class(TGLDataFile)

Description

Abstract base class for different Sound file formats. The actual implementation for these files (WAV, RAW...) must be done seperately. The concept for TGLSoundFile is very similar to TGraphic (see Delphi Help). Default implementation for LoadFromFile/SaveToFile are to directly call the relevent stream-based methods, ie. you will just have to override the stream methods in most cases.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLSoundFile

Overview

Fields

Private FSampling: TGLSoundSampling;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function LengthInBytes: Integer; virtual; abstract;
Public | function LengthInSamples: Integer;
Public | function LengthInSec: Single;
Public | function PCMData: Pointer; virtual; abstract;
Public | function WAVData: Pointer; virtual; abstract;
Public | function WAVDataSize: Integer; virtual; abstract;
Public | procedure PlayOnWaveOut; virtual;
Protected | procedure SetSampling(const val: TGLSoundSampling);

Properties

Public property Sampling: TGLSoundSampling read FSampling write SetSampling;

Description

Fields

Private FSampling: TGLSoundSampling;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function LengthInBytes: Integer; virtual; abstract;

Length of PCM data, in bytes.

Public function LengthInSamples: Integer;

Nb of intensity samples in the sample.

Public function LengthInSec: Single;

Length of play of the sample at nominal speed in seconds.

Public function PCMData: Pointer; virtual; abstract;

Returns a pointer to the sample data viewed as an in-memory PCM buffer.

Public function WAVData: Pointer; virtual; abstract;

Returns a pointer to the sample data viewed as an in-memory WAV File.

Public function WAVDataSize: Integer; virtual; abstract;

Returns the size (in bytes) of the WAVData.

Public procedure PlayOnWaveOut; virtual;
Protected procedure SetSampling(const val: TGLSoundSampling);

Properties

Public property Sampling: TGLSoundSampling read FSampling write SetSampling;


GLSysHelp v.2.1: GLS.SoundFileObjects: Record TGLSoundFileFormat

Record TGLSoundFileFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SoundFileObjects

Declaration

type TGLSoundFileFormat = record

Description

Overview

Fields

Public | SoundFileClass: TGLSoundFileClass;
Public | Extension: String;
Public | Description: String;
Public | DescResID: Integer;

Description

Fields

Public SoundFileClass: TGLSoundFileClass;
Public Extension: String;
Public Description: String;
Public DescResID: Integer;


GLSysHelp v.2.1: GLS.SoundFileObjects: Class TGLSoundFileFormatsList

Class TGLSoundFileFormatsList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SoundFileObjects

Declaration

type TGLSoundFileFormatsList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLSoundFileFormatsList

Overview

Methods

Public | destructor Destroy; override;
Public | function FindExt(Ext: string): TGLSoundFileClass;
Public | procedure Add(const Ext, Desc: String; DescID: Integer; AClass: TGLSoundFileClass);
Public | procedure BuildFilterStrings(SoundFileClass: TGLSoundFileClass; out Descriptions, Filters: string);
Public | procedure Remove(AClass: TGLSoundFileClass);

Description

Methods

Public destructor Destroy; override;
Public function FindExt(Ext: string): TGLSoundFileClass;
Public procedure Add(const Ext, Desc: String; DescID: Integer; AClass: TGLSoundFileClass);
Public procedure BuildFilterStrings(SoundFileClass: TGLSoundFileClass; out Descriptions, Filters: string);
Public procedure Remove(AClass: TGLSoundFileClass);


GLSysHelp v.2.1: GLS.SpacePartition

Unit GLS.SpacePartition

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Coordinates
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.GeometryBB
  • GLS.Context
  • GLS.RenderContextInfo
  • GLS.SceneViewer
  • GLS.PersistentClasses
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLConeSP |
Record TGLExtendedFrustum |
Class TSpacePartitionLeaf |
Class TSpacePartitionLeafList |
Class TBaseSpacePartition |
Class TLeavedSpacePartition |
Class TSectorNode |
Class TSectoredSpacePartition |
Class TSPOctreeNode |
Class TOctreeSpacePartition |
Class TSPQuadtreeNode |
Class TQuadtreeSpacePartition |
Class TSceneObj |

Functions and Procedures

procedure RenderSpatialPartitioning(var rci: TGLRenderContextInfo; const Space: TSectoredSpacePartition);
function ExtendedFrustumMakeFromSceneViewer(const AFrustum: TFrustum; const vWidth, vHeight: integer; AGLCamera: TGLCamera): TGLExtendedFrustum; overload;
function ExtendedFrustumMakeFromSceneViewer(const AFrustum: TFrustum; const AGLSceneViewer: TGLSceneViewer): TGLExtendedFrustum; overload;
procedure RenderAABB(var rci: TGLRenderContextInfo; const AABB: TAABB; w, r, g, b: single); overload;
procedure RenderAABB(var rci: TGLRenderContextInfo; const AABB: TAABB); overload;
function ConeContainsBSphere(const Cone: TGLConeSP; const BSphere: TBSphere): TSpaceContains;
function ExtendedFrustumIntersectsBSphere(const AExtendedFrustum: TGLExtendedFrustum; const ABSphere: TBSphere): Boolean;
function ExtendedFrustumMake(const AFrustum: TFrustum; const ANearDist, AFarDist, AFieldOfViewRadians: Single; const ACameraPosition, ALookVector: TAffineVector ): TGLExtendedFrustum;

Types

TCullingMode = (...);
TGrowMethod = (...);
TSectorNodeArray = array [0 .. 7] of TSectorNode;

Constants

COctree_LEAF_TRHESHOLD = 30;
COctree_MAX_TREE_DEPTH = 8;
COctree_GROW_GRAVY = 0.1;

Description

Functions and Procedures

procedure RenderSpatialPartitioning(var rci: TGLRenderContextInfo; const Space: TSectoredSpacePartition);

Render a spacial partitioning descending from TSectoredSpacePartition (octree and quadtree) as a grid - great for debugging and visualisation

function ExtendedFrustumMakeFromSceneViewer(const AFrustum: TFrustum; const vWidth, vHeight: integer; AGLCamera: TGLCamera): TGLExtendedFrustum; overload;

Create an extended frustum from a GLSceneViewer - this makes the unit specific to the windows platform!

function ExtendedFrustumMakeFromSceneViewer(const AFrustum: TFrustum; const AGLSceneViewer: TGLSceneViewer): TGLExtendedFrustum; overload;
procedure RenderAABB(var rci: TGLRenderContextInfo; const AABB: TAABB; w, r, g, b: single); overload;

Renders an AABB as a line

procedure RenderAABB(var rci: TGLRenderContextInfo; const AABB: TAABB); overload;
function ConeContainsBSphere(const Cone: TGLConeSP; const BSphere: TBSphere): TSpaceContains;

Determines to which extent one Cone contains an BSphere

function ExtendedFrustumIntersectsBSphere(const AExtendedFrustum: TGLExtendedFrustum; const ABSphere: TBSphere): Boolean;

Determines if a extended frustum intersects an BSphere

function ExtendedFrustumMake(const AFrustum: TFrustum; const ANearDist, AFarDist, AFieldOfViewRadians: Single; const ACameraPosition, ALookVector: TAffineVector ): TGLExtendedFrustum;

Create an extended frustum from a number of values

Types

TCullingMode = (...);
Values
  • CmFineCulling
  • CmGrossCulling
TGrowMethod = (...);

Implements sectored space partitioning, sectored space partitions include Octrees, Quadtrees and BSP-trees

Values
  • gmNever
  • gmBestFit
  • gmIncreaseToFitAll
TSectorNodeArray = array [0 .. 7] of TSectorNode;

Constants

COctree_LEAF_TRHESHOLD = 30;
COctree_MAX_TREE_DEPTH = 8;
COctree_GROW_GRAVY = 0.1;


GLSysHelp v.2.1: GLS.SpacePartition: Record TGLConeSP

Record TGLConeSP

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TGLConeSP = record

Description

Describes a cone, and is used for cone collision

Overview

Fields

Public | Base: TAffineVector;
Public | Axis: TAffineVector;
Public | Angle: Single;
Public | Length: Single;

Description

Fields

Public Base: TAffineVector;

The base of the cone

Public Axis: TAffineVector;

The axis of the cone

Public Angle: Single;

Angle of the cone

Public Length: Single;

Length of the cone


GLSysHelp v.2.1: GLS.SpacePartition: Record TGLExtendedFrustum

Record TGLExtendedFrustum

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TGLExtendedFrustum = record

Description

Extended frustum, used for fast intersection testing

Overview

Fields

Public | Frustum: TFrustum;
Public | BSphere: TBSphere;

Description

Fields

Public Frustum: TFrustum;
Public BSphere: TBSphere;


GLSysHelp v.2.1: GLS.SpacePartition: Class TSpacePartitionLeaf

Class TSpacePartitionLeaf

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSpacePartitionLeaf = class(TPersistentObject)

Description

Used to store the actual objects in the SpacePartition

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TSpacePartitionLeaf

Overview

Fields

Private | FSpacePartition: TBaseSpacePartition;
Public | FPartitionTag: Pointer;
Public | FCachedAABB: TAABB;
Public | FCachedBSphere: TBSphere;

Methods

Public | constructor CreateOwned(SpacePartition: TBaseSpacePartition);
Public | destructor Destroy; override;
Public | procedure Changed; virtual;
Public | procedure UpdateCachedAABBAndBSphere; virtual;
Private | procedure SetSpacePartition(const Value: TBaseSpacePartition);

Properties

Public | property PartitionTag: Pointer read FPartitionTag;
Public | property SpacePartition: TBaseSpacePartition read FSpacePartition write SetSpacePartition;

Description

Fields

Private FSpacePartition: TBaseSpacePartition;
Public FPartitionTag: Pointer;

This can be used by the space partitioner as it sees fit

Public FCachedAABB: TAABB;

Leaves cache their AABBs so they can be accessed when needed by the space partitioner

Public FCachedBSphere: TBSphere;

Leaves cache their BoundingSpheres so they can easily be accessed when needed by the space partitioner

Methods

Public constructor CreateOwned(SpacePartition: TBaseSpacePartition);
Public destructor Destroy; override;
Public procedure Changed; virtual;

Whenever the size or location of the leaf changes, the space partitioner should be notified through a call to Changed. In the basic version, all it does is update the cached AABB and BSphere. You do not need to override this method

Public procedure UpdateCachedAABBAndBSphere; virtual;

AABBs and BSpheres are cached for leafs, and this function should be overriden to update the cache from the structure that the leaf stores. This is the only function you MUST override to use space partitions.

Private procedure SetSpacePartition(const Value: TBaseSpacePartition);

Properties

Public property PartitionTag: Pointer read FPartitionTag;

This tag can be used by the space partition to store vital information in the leaf

Public property SpacePartition: TBaseSpacePartition read FSpacePartition write SetSpacePartition;

The TBaseSpacePartition that owns this leaf


GLSysHelp v.2.1: GLS.SpacePartition: Class TSpacePartitionLeafList

Class TSpacePartitionLeafList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSpacePartitionLeafList = class(TPersistentObjectList)

Description

List for storing space partition leaves

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TSpacePartitionLeafList

Overview

Methods

Public | constructor Create; override;
Private | function GetItems(I: Integer): TSpacePartitionLeaf;
Private | procedure SetItems(I: Integer; const Value: TSpacePartitionLeaf);

Properties

Public property Items[I:Integer]: TSpacePartitionLeaf read GetItems write SetItems;

Description

Methods

Public constructor Create; override;
Private function GetItems(I: Integer): TSpacePartitionLeaf;
Private procedure SetItems(I: Integer; const Value: TSpacePartitionLeaf);

Properties

Public property Items[I:Integer]: TSpacePartitionLeaf read GetItems write SetItems;


GLSysHelp v.2.1: GLS.SpacePartition: Class TBaseSpacePartition

Class TBaseSpacePartition

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TBaseSpacePartition = class(TPersistentObject)

Description

Basic space partition, does not implement any actual space partitioning

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseSpacePartition

Overview

Fields

Private | FCullingMode: TCullingMode;
Protected | FQueryResult: TSpacePartitionLeafList;
Protected | FQueryInterObjectTests: Integer;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function QueryAABB(const AAABB: TAABB): Integer; virtual;
Public | function QueryBSphere(const ABSphere: TBSphere): Integer; virtual;
Public | function QueryFrustum(const Frustum: TFrustum): Integer; virtual;
Public | function QueryFrustumEx(const ExtendedFrustum: TGLExtendedFrustum): Integer; virtual;
Public | function QueryLeaf(const ALeaf: TSpacePartitionLeaf): Integer; virtual;
Public | function QueryPlane(const Location, Normal: TAffineVector): Integer; virtual;
Private | function QueryCone(const ACone: TGLConeSP): Integer; virtual;
Public | procedure AddLeaf(ALeaf: TSpacePartitionLeaf); virtual;
Public | procedure Clear; virtual;
Public | procedure LeafChanged(ALeaf: TSpacePartitionLeaf); virtual;
Public | procedure ProcessUpdated; virtual;
Public | procedure RemoveLeaf(ALeaf: TSpacePartitionLeaf); virtual;
Protected | procedure FlushQueryResult; virtual;

Properties

Public | property CullingMode: TCullingMode read FCullingMode write FCullingMode;
Public | property QueryInterObjectTests: Integer read FQueryInterObjectTests;
Public | property QueryResult: TSpacePartitionLeafList read FQueryResult;

Description

Fields

Private FCullingMode: TCullingMode;
Protected FQueryResult: TSpacePartitionLeafList;
Protected FQueryInterObjectTests: Integer;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function QueryAABB(const AAABB: TAABB): Integer; virtual;

Query space for Leaves that intersect the axis aligned bounding box, result is returned through QueryResult

Public function QueryBSphere(const ABSphere: TBSphere): Integer; virtual;

Query space for Leaves that intersect the bounding sphere, result is returned through QueryResult

Public function QueryFrustum(const Frustum: TFrustum): Integer; virtual;

Query space for Leaves that intersect a Frustum. Result is returned through QueryResult

Public function QueryFrustumEx(const ExtendedFrustum: TGLExtendedFrustum): Integer; virtual;

Query space for Leaves that intersect an extended frustum. Result is returned through QueryResult. Extended frustum is slightly faster than the regular frustum because it uses a bounding sphere for the frustum

Public function QueryLeaf(const ALeaf: TSpacePartitionLeaf): Integer; virtual;

Query space for Leaves that intersect the bounding sphere or box of a leaf. Result is returned through QueryResult

Public function QueryPlane(const Location, Normal: TAffineVector): Integer; virtual;

Query space for Leaves that intersect a plane. Result is returned through QueryResult

Private function QueryCone(const ACone: TGLConeSP): Integer; virtual;

Query space for Leaves that intersect a cone, result is returned through QueryResult

Public procedure AddLeaf(ALeaf: TSpacePartitionLeaf); virtual;

** Update space partition Add a leaf

Public procedure Clear; virtual;

Clear all internal storage Leaves

Public procedure LeafChanged(ALeaf: TSpacePartitionLeaf); virtual;

Called by leaf when it has changed

Public procedure ProcessUpdated; virtual;

Some space partitioners delay processing changes until all changes have been made. ProcessUpdated should be called when all changes have been performed

Public procedure RemoveLeaf(ALeaf: TSpacePartitionLeaf); virtual;

Remove a leaf

Protected procedure FlushQueryResult; virtual;

Empties the search result and resetting all search statistics

Properties

Public property CullingMode: TCullingMode read FCullingMode write FCullingMode;

Determines if the spatial structure should do very simple preliminary culling (gross culling) or a more detailed form of culling (fine culling)

Public property QueryInterObjectTests: Integer read FQueryInterObjectTests;

Once a query has been run, this number tells of how many inter object tests that were run. This value must be set by all that override the queries

Public property QueryResult: TSpacePartitionLeafList read FQueryResult;

The results from the last query


GLSysHelp v.2.1: GLS.SpacePartition: Class TLeavedSpacePartition

Class TLeavedSpacePartition

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TLeavedSpacePartition = class(TBaseSpacePartition)

Description

Implements a list of all leaves added to the space partition, _not_ a good solution, but it can be used as a benchmark against more complex methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseSpacePartition
  • TLeavedSpacePartition

Overview

Fields

Private FLeaves: TSpacePartitionLeafList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function QueryAABB(const AAABB: TAABB): Integer; override;
Public | function QueryBSphere(const ABSphere: TBSphere): Integer; override;
Public | function QueryPlane(const FLocation, FNormal: TAffineVector): Integer; override;
Private | function QueryCone(const ACone: TGLConeSP): Integer; override;
Public | procedure AddLeaf(ALeaf: TSpacePartitionLeaf); override;
Public | procedure Clear; override;
Public | procedure RemoveLeaf(ALeaf: TSpacePartitionLeaf); override;

Properties

Published property Leaves: TSpacePartitionLeafList read FLeaves;

Description

Fields

Private FLeaves: TSpacePartitionLeafList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function QueryAABB(const AAABB: TAABB): Integer; override;

Query space for Leaves that intersect the axis aligned bounding box, result is returned through QueryResult. This override scans _all_ leaves in the list, so it's far from optimal

Public function QueryBSphere(const ABSphere: TBSphere): Integer; override;

Query space for Leaves that intersect the bounding sphere, result is returned through QueryResult. This override scans _all_ leaves in the list, so it's far from optimal

Public function QueryPlane(const FLocation, FNormal: TAffineVector): Integer; override;

Query space for Leaves that intersect a plane. Result is returned through QueryResult

Private function QueryCone(const ACone: TGLConeSP): Integer; override;

Query space for Leaves that intersect a cone, result is returned through QueryResult

Public procedure AddLeaf(ALeaf: TSpacePartitionLeaf); override;

** Update space partition Add a leaf

Public procedure Clear; override;

Clear all internal storage Leaves

Public procedure RemoveLeaf(ALeaf: TSpacePartitionLeaf); override;

Remove a leaf

Properties

Published property Leaves: TSpacePartitionLeafList read FLeaves;


GLSysHelp v.2.1: GLS.SpacePartition: Class TSectorNode

Class TSectorNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSectorNode = class(TObject)

Description

Implements a SectorNode node. Each node can have 0 or 8 children, each child being a portion of the size of the parent. For quadtrees, that's 1/4, for octrees, it's 1/8

Hierarchy

  • TObject
  • TSectorNode

Overview

Fields

Private | FLeaves: TSpacePartitionLeafList;
Private | FAABB: TAABB;
Private | FSectoredSpacePartition: TSectoredSpacePartition;
Private | FRecursiveLeafCount: Integer;
Private | FParent: TSectorNode;
Private | FNodeDepth: Integer;
Private | FChildCount: Integer;
Private | FChildren: TSectorNodeArray;
Private | FBSphere: TBSphere;

Methods

Public | constructor Create(ASectoredSpacePartition: TSectoredSpacePartition; AParent: TSectorNode);
Public | destructor Destroy; override;
Public | function AABBContainsSector(const AABB: TAABB): TSpaceContains; virtual;
Public | function AABBFitsInNode(const AAABB: TAABB): Boolean; virtual;
Public | function AABBIntersectsNode(const AAABB: TAABB): Boolean; virtual;
Public | function AddLeaf(ALeaf: TSpacePartitionLeaf): TSectorNode;
Public | function BSphereContainsSector(const BSphere: TBSphere): TSpaceContains; virtual;
Public | function BSphereFitsInNode(const BSphere: TBSphere): Boolean; virtual;
Public | function BSphereIntersectsNode(const BSphere: TBSphere): Boolean; virtual;
Public | function ContainsAABB(const AAABB: TAABB): TSpaceContains; virtual;
Public | function ContainsBSphere(const ABSphere: TBSphere): TSpaceContains; virtual;
Public | function GetChildForAABB(const AABB: TAABB): TSectorNode; virtual;
Public | function GetNodeCount: Integer;
Public | function RemoveLeaf(ALeaf: TSpacePartitionLeaf; OwnerByThis: Boolean): Boolean;
Protected | function CalcRecursiveLeafCount: Integer;
Protected | function PlaceLeafInChild(ALeaf: TSpacePartitionLeaf): TSectorNode;
Protected | function VerifyRecursiveLeafCount: string;
Private | function GetCenter: TAffineVector;
Private | function GetNoChildren: Boolean;
Public | procedure AddAllLeavesRecursive(const QueryResult: TSpacePartitionLeafList);
Public | procedure Clear;
Public | procedure CollapseNode;
Public | procedure CreateChildren; virtual;
Public | procedure ExpandNode;
Public | procedure QueryAABB(const AAABB: TAABB; const QueryResult: TSpacePartitionLeafList);
Public | procedure QueryBSphere(const ABSphere: TBSphere; const QueryResult: TSpacePartitionLeafList);
Public | procedure QueryFrustum(const Frustum: TFrustum; const QueryResult: TSpacePartitionLeafList);
Public | procedure QueryFrustumEx(const ExtendedFrustum: TGLExtendedFrustum; const QueryResult: TSpacePartitionLeafList);
Public | procedure QueryPlane(const Location, Normal: TAffineVector; const QueryResult: TSpacePartitionLeafList);
Protected | procedure ChildrenChanged; virtual;
Private | procedure SetAABB(const Value: TAABB);

Properties

Public | property AABB: TAABB read FAABB write SetAABB;
Public | property BSphere: TBSphere read FBSphere;
Public | property Center: TAffineVector read GetCenter;
Public | property ChildCount: Integer read FChildCount;
Public | property Children: TSectorNodeArray read FChildren;
Public | property Leaves: TSpacePartitionLeafList read FLeaves;
Public | property NoChildren: Boolean read GetNoChildren;
Public | property NodeDepth: Integer read FNodeDepth;
Public | property Parent: TSectorNode read FParent;
Public | property RecursiveLeafCount: Integer read FRecursiveLeafCount;
Public | property SectoredSpacePartition: TSectoredSpacePartition read FSectoredSpacePartition;

Description

Fields

Private FLeaves: TSpacePartitionLeafList;
Private FAABB: TAABB;
Private FSectoredSpacePartition: TSectoredSpacePartition;
Private FRecursiveLeafCount: Integer;
Private FParent: TSectorNode;
Private FNodeDepth: Integer;
Private FChildCount: Integer;
Private FChildren: TSectorNodeArray;
Private FBSphere: TBSphere;

Methods

Public constructor Create(ASectoredSpacePartition: TSectoredSpacePartition; AParent: TSectorNode);
Public destructor Destroy; override;
Public function AABBContainsSector(const AABB: TAABB): TSpaceContains; virtual;

Checks if a AABB partially or completely contains this sector

Public function AABBFitsInNode(const AAABB: TAABB): Boolean; virtual;

Checks if an AABB fits completely inside this node

Public function AABBIntersectsNode(const AAABB: TAABB): Boolean; virtual;

Checks if an AABB intersects this node

Public function AddLeaf(ALeaf: TSpacePartitionLeaf): TSectorNode;

Adds leaf to this node - or one of it's children. If the node has enough leaves and has no children, children will be created and all leaves will be spread among the children

Public function BSphereContainsSector(const BSphere: TBSphere): TSpaceContains; virtual;

Checks if a BSphere partially or completely contains this sector

Public function BSphereFitsInNode(const BSphere: TBSphere): Boolean; virtual;

Checks if a BSphere fits completely inside this node

Public function BSphereIntersectsNode(const BSphere: TBSphere): Boolean; virtual;

Checks if a BSphere intersects this node

Public function ContainsAABB(const AAABB: TAABB): TSpaceContains; virtual;

Checks if this node partially or completely contains an AABB

Public function ContainsBSphere(const ABSphere: TBSphere): TSpaceContains; virtual;

Checks if this node partially or completely contains a BSphere

Public function GetChildForAABB(const AABB: TAABB): TSectorNode; virtual;

Computes which child the AABB should go in. Returns nil if no such child exists

Public function GetNodeCount: Integer;

Returns the number of nodes in the Octree

Public function RemoveLeaf(ALeaf: TSpacePartitionLeaf; OwnerByThis: Boolean): Boolean;

Remove leaf will remove a leaf from this node. If it is determined that this node has too few leaves after the delete, it may be collapsed. Returns true if the node was actually collapsed

Protected function CalcRecursiveLeafCount: Integer;

Recursively counts the RecursiveLeafCount, this should only be used in debugging purposes, because the proprtyu RecursiveLeafCount is always up to date

Protected function PlaceLeafInChild(ALeaf: TSpacePartitionLeaf): TSectorNode;

Places a leaf in one of the children of this node, or in the node itself if it doesn't fit in any of the children

Protected function VerifyRecursiveLeafCount: string;

Debug method that checks that FRecursiveLeafCount and CalcRecursiveLeafCount actually agree

Private function GetCenter: TAffineVector;
Private function GetNoChildren: Boolean;
Public procedure AddAllLeavesRecursive(const QueryResult: TSpacePartitionLeafList);

Adds all leaves to query result without testing if they intersect, and then do the same for all children. This is used when QueryAABB or QueryBSphere determines that a node fits completely in the searched space

Public procedure Clear;

Clear deletes all children and empties the leaves. It doesn't destroy the leaves, as they belong to the SpacePartition

Public procedure CollapseNode;

Delete all children for this node, adding their leaves to this node

Public procedure CreateChildren; virtual;

Create the number of children this node type needs

Public procedure ExpandNode;

Add children to this node and spread the leaves among it's children

Public procedure QueryAABB(const AAABB: TAABB; const QueryResult: TSpacePartitionLeafList);

Query the node and its children for leaves that match the AABB

Public procedure QueryBSphere(const ABSphere: TBSphere; const QueryResult: TSpacePartitionLeafList);

Query the node and its children for leaves that match the BSphere

Public procedure QueryFrustum(const Frustum: TFrustum; const QueryResult: TSpacePartitionLeafList);

Query the node and its children for leaves that match the Frustum

Public procedure QueryFrustumEx(const ExtendedFrustum: TGLExtendedFrustum; const QueryResult: TSpacePartitionLeafList);

Query the node and its children for leaves that match the extended frustum

Public procedure QueryPlane(const Location, Normal: TAffineVector; const QueryResult: TSpacePartitionLeafList);

Query the node and its children for leaves that match the plane

Protected procedure ChildrenChanged; virtual;

Executed whenever the children of the node has changed

Private procedure SetAABB(const Value: TAABB);

Properties

Public property AABB: TAABB read FAABB write SetAABB;

The Axis Aligned Bounding Box for this node. All leaves MUST fit inside this box

Public property BSphere: TBSphere read FBSphere;

BSphere for this node

Public property Center: TAffineVector read GetCenter;

Center of the AABB for this node

Public property ChildCount: Integer read FChildCount;

The number of child sectors that have been created

Public property Children: TSectorNodeArray read FChildren;

A list of the children for this node, only ChildCount children are none nil

Public property Leaves: TSpacePartitionLeafList read FLeaves;

The leaves that are stored in this node

Public property NoChildren: Boolean read GetNoChildren;

NoChildren is true if the node has no children

Public property NodeDepth: Integer read FNodeDepth;

The tree depth at which this node is located. For the root, this value is 0, for the roots children, it is 1 and so on

Public property Parent: TSectorNode read FParent;

The parent node of this node. If parent is nil, that means that this node is the root node

Public property RecursiveLeafCount: Integer read FRecursiveLeafCount;

The number of leaves stored in this node and all it's children

Public property SectoredSpacePartition: TSectoredSpacePartition read FSectoredSpacePartition;

The Structure that owns this node


GLSysHelp v.2.1: GLS.SpacePartition: Class TSectoredSpacePartition

Class TSectoredSpacePartition

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSectoredSpacePartition = class(TLeavedSpacePartition)

Description

No description available, ancestor TLeavedSpacePartition description follows

Implements a list of all leaves added to the space partition, _not_ a good solution, but it can be used as a benchmark against more complex methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseSpacePartition
  • TLeavedSpacePartition
  • TSectoredSpacePartition

Overview

Fields

Private | FRootNode: TSectorNode;
Private | FLeafThreshold: Integer;
Private | FMaxTreeDepth: Integer;
Private | FGrowGravy: Single;
Private | FGrowMethod: TGrowMethod;
Protected | FQueryNodeTests: Integer;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function CreateNewNode(AParent: TSectorNode): TSectorNode; virtual;
Public | function GetAABB: TAABB;
Public | function GetNodeCount: Integer;
Public | function QueryAABB(const AAABB: TAABB): Integer; override;
Public | function QueryBSphere(const ABSphere: TBSphere): Integer; override;
Public | function QueryFrustum(const Frustum: TFrustum): Integer; override;
Public | function QueryFrustumEx(const ExtendedFrustum: TGLExtendedFrustum): Integer; override;
Public | function QueryLeaf(const ALeaf: TSpacePartitionLeaf): Integer; override;
Public | function QueryPlane(const Location, Normal: TAffineVector): Integer; override;
Public | procedure AddLeaf(ALeaf: TSpacePartitionLeaf); override;
Public | procedure Clear; override;
Public | procedure LeafChanged(ALeaf: TSpacePartitionLeaf); override;
Public | procedure RebuildTree(const NewAABB: TAABB);
Public | procedure RemoveLeaf(ALeaf: TSpacePartitionLeaf); override;
Public | procedure UpdateStructureSize(Gravy: Single);
Protected | procedure FlushQueryResult; override;
Private | procedure SetLeafThreshold(const Value: Integer);
Private | procedure SetMaxTreeDepth(const Value: Integer);

Properties

Published | property GrowGravy: Single read FGrowGravy write FGrowGravy;
Published | property GrowMethod: TGrowMethod read FGrowMethod write FGrowMethod;
Published | property LeafThreshold: Integer read FLeafThreshold write SetLeafThreshold;
Published | property MaxTreeDepth: Integer read FMaxTreeDepth write SetMaxTreeDepth;
Public | property QueryNodeTests: Integer read FQueryNodeTests;
Published | property RootNode: TSectorNode read FRootNode;

Description

Fields

Private FRootNode: TSectorNode;
Private FLeafThreshold: Integer;
Private FMaxTreeDepth: Integer;
Private FGrowGravy: Single;
Private FGrowMethod: TGrowMethod;
Protected FQueryNodeTests: Integer;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function CreateNewNode(AParent: TSectorNode): TSectorNode; virtual;

CreateNewNode creates a new node of the TSectorNode subclass that this structure requires

Public function GetAABB: TAABB;

Returns the _total_ AABB in structure

Public function GetNodeCount: Integer;

Returns the number of nodes in the structure

Public function QueryAABB(const AAABB: TAABB): Integer; override;

Query space for Leaves that intersect the axis aligned bounding box, result is returned through QueryResult. This method simply defers to the QueryAABB method of the root node

Public function QueryBSphere(const ABSphere: TBSphere): Integer; override;

Query space for Leaves that intersect the bounding sphere, result is returned through QueryResult. This method simply defers to the QueryBSphere method of the root node

Public function QueryFrustum(const Frustum: TFrustum): Integer; override;

Query space for Leaves that intersect a Frustum. Result is returned through QueryResult

Public function QueryFrustumEx(const ExtendedFrustum: TGLExtendedFrustum): Integer; override;

Query space for Leaves that intersect an extended frustum. Result is returned through QueryResult

Public function QueryLeaf(const ALeaf: TSpacePartitionLeaf): Integer; override;

Query space for Leaves that intersect the bounding sphere or box of a leaf. Result is returned through QueryResult

Public function QueryPlane(const Location, Normal: TAffineVector): Integer; override;

Query space for Leaves that intersect a plane. Result is returned through QueryResult

Public procedure AddLeaf(ALeaf: TSpacePartitionLeaf); override;

Add a leaf to the structure. If the leaf doesn't fit in the structure, the structure is either grown or an exception is raised. If GrowMethod is set to gmBestFit or gmIncreaseToFitAll, the octree will be grown

Public procedure Clear; override;
Public procedure LeafChanged(ALeaf: TSpacePartitionLeaf); override;

Called by leaf when it has changed, the leaf will be moved to an apropriate node

Public procedure RebuildTree(const NewAABB: TAABB);

Rebuild tree will change the tree to the newAABB size, and completely rebuild it

Public procedure RemoveLeaf(ALeaf: TSpacePartitionLeaf); override;

Remove a leaf from the structure

Public procedure UpdateStructureSize(Gravy: Single);

UpdateOctreeSize will grow and / or shrink the structure to fit the current leaves +-gravy

Protected procedure FlushQueryResult; override;

Empties the search result and resetting all search statistics

Private procedure SetLeafThreshold(const Value: Integer);
Private procedure SetMaxTreeDepth(const Value: Integer);

Properties

Published property GrowGravy: Single read FGrowGravy write FGrowGravy;

When the structure is recreated because it's no longer large enough to fit all leafs, it will become large enough to safely fit all leafs, plus GrowGravy. This is to prevent too many grows

Published property GrowMethod: TGrowMethod read FGrowMethod write FGrowMethod;

Determines if the structure should grow with new leaves, or if an exception should be raised

Published property LeafThreshold: Integer read FLeafThreshold write SetLeafThreshold;

Determines when a node should be split up to form children

Published property MaxTreeDepth: Integer read FMaxTreeDepth write SetMaxTreeDepth;

Determines how deep a tree should be allowed to grow

Public property QueryNodeTests: Integer read FQueryNodeTests;

After a query has been run, this value will contain the number of nodes that were checked during the query

Published property RootNode: TSectorNode read FRootNode;

Root TSectorNode that all others stem from


GLSysHelp v.2.1: GLS.SpacePartition: Class TSPOctreeNode

Class TSPOctreeNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSPOctreeNode = class(TSectorNode)

Description

** OCTTREE Implements sector node that handles octrees

Hierarchy

  • TObject
  • TSectorNode
  • TSPOctreeNode

Overview

Methods

Public | function AABBFitsInNode(const AAABB: TAABB): Boolean; override;
Public | function AABBIntersectsNode(const AAABB: TAABB): Boolean; override;
Public | function BSphereFitsInNode(const BSphere: TBSphere): Boolean; override;
Public | function BSphereIntersectsNode(const BSphere: TBSphere): Boolean; override;
Public | procedure CreateChildren; override;

Description

Methods

Public function AABBFitsInNode(const AAABB: TAABB): Boolean; override;

Checks if an AABB fits completely inside this node

Public function AABBIntersectsNode(const AAABB: TAABB): Boolean; override;

Checks if an AABB intersects this node

Public function BSphereFitsInNode(const BSphere: TBSphere): Boolean; override;

Checks if a BSphere fits completely inside this node

Public function BSphereIntersectsNode(const BSphere: TBSphere): Boolean; override;

Checks if a BSphere intersects this node

Public procedure CreateChildren; override;

Create 8 TSPOctreeNode children


GLSysHelp v.2.1: GLS.SpacePartition: Class TOctreeSpacePartition

Class TOctreeSpacePartition

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TOctreeSpacePartition = class(TSectoredSpacePartition)

Description

Implements octrees

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseSpacePartition
  • TLeavedSpacePartition
  • TSectoredSpacePartition
  • TOctreeSpacePartition

Overview

Methods

Public | function CreateNewNode(AParent: TSectorNode): TSectorNode; override;
Public | procedure SetSize(const Min, Max: TAffineVector);

Description

Methods

Public function CreateNewNode(AParent: TSectorNode): TSectorNode; override;

CreateNewNode creates a new TSPOctreeNode

Public procedure SetSize(const Min, Max: TAffineVector);

Set size updates the size of the Octree


GLSysHelp v.2.1: GLS.SpacePartition: Class TSPQuadtreeNode

Class TSPQuadtreeNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSPQuadtreeNode = class(TSPOctreeNode)

Description

** QUADTREE Implements sector node that handles quadtrees

Hierarchy

  • TObject
  • TSectorNode
  • TSPOctreeNode
  • TSPQuadtreeNode

Overview

Methods

Public | function AABBFitsInNode(const AAABB: TAABB): Boolean; override;
Public | function AABBIntersectsNode(const AAABB: TAABB): Boolean; override;
Public | function BSphereFitsInNode(const BSphere: TBSphere): Boolean; override;
Public | function BSphereIntersectsNode(const BSphere: TBSphere): Boolean; override;
Public | function GetChildForAABB(const AABB: TAABB): TSectorNode; override;
Public | procedure CreateChildren; override;
Protected | procedure ChildrenChanged; override;

Description

Methods

Public function AABBFitsInNode(const AAABB: TAABB): Boolean; override;

Checks if an AABB fits completely inside this node

Public function AABBIntersectsNode(const AAABB: TAABB): Boolean; override;

Checks if an AABB intersects this node

Public function BSphereFitsInNode(const BSphere: TBSphere): Boolean; override;

Checks if a BSphere fits completely inside this node

Public function BSphereIntersectsNode(const BSphere: TBSphere): Boolean; override;

Checks if a BSphere intersects this node

Public function GetChildForAABB(const AABB: TAABB): TSectorNode; override;

Computes which child the AABB should go in. Returns nil if no such child exists

Public procedure CreateChildren; override;

Create 4 TSPQuadtreeNode children

Protected procedure ChildrenChanged; override;

Executed whenever the children of the node has changed. In the quadtree, we want to make sure the Y value of the AABB is correct up and down and that the bounding sphere is correct


GLSysHelp v.2.1: GLS.SpacePartition: Class TQuadtreeSpacePartition

Class TQuadtreeSpacePartition

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TQuadtreeSpacePartition = class(TSectoredSpacePartition)

Description

Implements quadtrees. Quadtrees are hardcoded to completely ignore the Y axis, only using X and Z to determine positioning. This means that they're well suited for 2d-ish situations (landscapes with trees for instance) but not for fully 3d situations (space fighting)

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseSpacePartition
  • TLeavedSpacePartition
  • TSectoredSpacePartition
  • TQuadtreeSpacePartition

Overview

Methods

Public | function CreateNewNode(AParent: TSectorNode): TSectorNode; override;
Public | procedure SetSize(const Min, Max: TAffineVector);

Description

Methods

Public function CreateNewNode(AParent: TSectorNode): TSectorNode; override;

CreateNewNode creates a new TSPOctreeNode

Public procedure SetSize(const Min, Max: TAffineVector);

Set size updates the size of the Octree


GLSysHelp v.2.1: GLS.SpacePartition: Class TSceneObj

Class TSceneObj

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpacePartition

Declaration

type TSceneObj = class(TSpacePartitionLeaf)

Description

Object for holding glscene objects in a spatial partitioning

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TSpacePartitionLeaf
  • TSceneObj

Overview

Fields

Public Obj: TGLBaseSceneObject;

Methods

Public | constructor CreateObj(Owner: TSectoredSpacePartition; aObj: TGLBaseSceneObject);
Public | destructor Destroy; override;
Public | procedure UpdateCachedAABBAndBSphere; override;

Description

Fields

Public Obj: TGLBaseSceneObject;

Methods

Public constructor CreateObj(Owner: TSectoredSpacePartition; aObj: TGLBaseSceneObject);
Public destructor Destroy; override;
Public procedure UpdateCachedAABBAndBSphere; override;


GLSysHelp v.2.1: GLS.SpaceText

Unit GLS.SpaceText

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • WinApi.Windows
  • WinApi.Messages
  • System.Classes
  • System.SysUtils
  • System.UITypes
  • System.Types
  • VCL.Dialogs
  • VCL.Graphics
  • VCL.Controls
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Texture
  • GLS.Context
  • GLS.VectorGeometry
  • GLS.Strings
  • GLS.RenderContextInfo
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTextAdjust |
Record TFontEntry |
Class TGLSpaceText |
Class TFontManager |

Functions and Procedures

function FontManager: TFontManager;
procedure ReleaseFontManager;

Types

PFontEntry = ˆTFontEntry;
TGLSpaceTextCharRange = (...);
TGLTextHorzAdjust = (...);
TGLTextVertAdjust = (...);

Variables

vFontManagerMsgID: Cardinal;

Description

Functions and Procedures

function FontManager: TFontManager;
procedure ReleaseFontManager;

Types

PFontEntry = ˆTFontEntry;

holds an entry in the font manager list (used in TGLSpaceText)

TGLSpaceTextCharRange = (...);
Values
  • stcrDefault
  • stcrAlphaNum
  • stcrNumbers
  • stcrWide
TGLTextHorzAdjust = (...);

Note: haAligned, haCentrically, haFitIn have not been implemented!

Values
  • haLeft
  • haCenter
  • haRight
  • haAligned
  • haCentrically
  • haFitIn
TGLTextVertAdjust = (...);
Values
  • vaTop
  • vaCenter
  • vaBottom
  • vaBaseLine

Variables

vFontManagerMsgID: Cardinal;


GLSysHelp v.2.1: GLS.SpaceText: Class TGLTextAdjust

Class TGLTextAdjust

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpaceText

Declaration

type TGLTextAdjust = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLTextAdjust

Overview

Fields

Private | FHorz: TGLTextHorzAdjust;
Private | FVert: TGLTextVertAdjust;
Private | FOnChange: TNotifyEvent;

Methods

Public | constructor Create;
Public | procedure Assign(Source: TPersistent); override;
Private | procedure SetHorz(const Value: TGLTextHorzAdjust);
Private | procedure SetVert(const Value: TGLTextVertAdjust);

Properties

Published | property Horz: TGLTextHorzAdjust read FHorz write SetHorz default haLeft;
Public | property OnChange: TNotifyEvent read FOnChange write FOnChange;
Published | property Vert: TGLTextVertAdjust read FVert write SetVert default vaBaseLine;

Description

Fields

Private FHorz: TGLTextHorzAdjust;
Private FVert: TGLTextVertAdjust;
Private FOnChange: TNotifyEvent;

Methods

Public constructor Create;
Public procedure Assign(Source: TPersistent); override;
Private procedure SetHorz(const Value: TGLTextHorzAdjust);
Private procedure SetVert(const Value: TGLTextVertAdjust);

Properties

Published property Horz: TGLTextHorzAdjust read FHorz write SetHorz default haLeft;
Public property OnChange: TNotifyEvent read FOnChange write FOnChange;
Published property Vert: TGLTextVertAdjust read FVert write SetVert default vaBaseLine;


GLSysHelp v.2.1: GLS.SpaceText: Record TFontEntry

Record TFontEntry

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpaceText

Declaration

type TFontEntry = record

Description

Overview

Fields

Public | Name: string;
Public | FVirtualHandle: TGLVirtualHandleTransf;
Public | Styles: TFontStyles;
Public | Extrusion: Single;
Public | RefCount: Integer;
Public | allowedDeviation: Single;
Public | firstChar: Integer;
Public | lastChar: Integer;
Public | glyphMetrics: array of TGlyphMetricsFloat;
Public | FClients: TList;

Description

Fields

Public Name: string;
Public FVirtualHandle: TGLVirtualHandleTransf;
Public Styles: TFontStyles;
Public Extrusion: Single;
Public RefCount: Integer;
Public allowedDeviation: Single;
Public firstChar: Integer;
Public lastChar: Integer;
Public glyphMetrics: array of TGlyphMetricsFloat;
Public FClients: TList;


GLSysHelp v.2.1: GLS.SpaceText: Class TGLSpaceText

Class TGLSpaceText

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpaceText

Declaration

type TGLSpaceText = class(TGLSceneObject)

Description

Renders a text in 3D.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLSpaceText

Overview

Fields

Private | FFont: TFont;
Private | FExtrusion: Single;
Private | FAllowedDeviation: Single;
Private | FCharacterRange: TGLSpaceTextCharRange;
Private | FAdjust: TGLTextAdjust;
Private | FAspectRatio: Single;
Private | FOblique: Single;
Private | FTextHeight: Single;
Private | FLines: TStringList;
Protected | FTextFontEntry: PFontEntry;
Protected | FontChanged: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function BarycenterAbsolutePosition: TGLVector; override;
Public | function TextMaxHeight(const str: WideString = ''): Single;
Public | function TextMaxUnder(const str: WideString = ''): Single;
Public | function TextWidth(const str: WideString = ''): Single;
Private | function GetText: WideString;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DefaultHandler(var Message); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure NotifyChange(sender: TObject); override;
Public | procedure NotifyFontChanged;
Public | procedure TextMetrics(const str: WideString; out width, maxHeight, maxUnder: Single);
Protected | procedure DestroyHandle; override;
Protected | procedure DoOnLinesChange(sender: TObject);
Protected | procedure GetFirstAndLastChar(var firstChar, lastChar: Integer);
Protected | procedure OnFontChange(sender: TObject);
Private | procedure SetAdjust(const Value: TGLTextAdjust);
Private | procedure SetAllowedDeviation(const val: Single);
Private | procedure SetAspectRatio(const Value: Single);
Private | procedure SetCharacterRange(const val: TGLSpaceTextCharRange);
Private | procedure SetExtrusion(AValue: Single);
Private | procedure SetFont(AFont: TFont);
Private | procedure SetLines(const Value: TStringList);
Private | procedure SetOblique(const Value: Single);
Private | procedure SetText(const AText: WideString);
Private | procedure SetTextHeight(const Value: Single);

Properties

Published | property Adjust: TGLTextAdjust read FAdjust write SetAdjust;
Published | property allowedDeviation: Single read FAllowedDeviation write SetAllowedDeviation;
Published | property AspectRatio: Single read FAspectRatio write SetAspectRatio;
Published | property CharacterRange: TGLSpaceTextCharRange read FCharacterRange write SetCharacterRange default stcrDefault;
Published | property Extrusion: Single read FExtrusion write SetExtrusion;
Published | property Font: TFont read FFont write SetFont;
Published | property Lines: TStringList read FLines write SetLines;
Published | property Oblique: Single read FOblique write SetOblique;
Published | property Text: WideString read GetText write SetText stored False;
Published | property TextHeight: Single read FTextHeight write SetTextHeight;

Description

Fields

Private FFont: TFont;
Private FExtrusion: Single;
Private FAllowedDeviation: Single;
Private FCharacterRange: TGLSpaceTextCharRange;
Private FAdjust: TGLTextAdjust;
Private FAspectRatio: Single;
Private FOblique: Single;
Private FTextHeight: Single;
Private FLines: TStringList;
Protected FTextFontEntry: PFontEntry;
Protected FontChanged: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function BarycenterAbsolutePosition: TGLVector; override;
Public function TextMaxHeight(const str: WideString = ''): Single;
Public function TextMaxUnder(const str: WideString = ''): Single;
Public function TextWidth(const str: WideString = ''): Single;
Private function GetText: WideString;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DefaultHandler(var Message); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure NotifyChange(sender: TObject); override;
Public procedure NotifyFontChanged;
Public procedure TextMetrics(const str: WideString; out width, maxHeight, maxUnder: Single);

Note: this fuction is valid only after text has been rendered the first time. Before that it returns zeros.

Protected procedure DestroyHandle; override;
Protected procedure DoOnLinesChange(sender: TObject);
Protected procedure GetFirstAndLastChar(var firstChar, lastChar: Integer);
Protected procedure OnFontChange(sender: TObject);
Private procedure SetAdjust(const Value: TGLTextAdjust);
Private procedure SetAllowedDeviation(const val: Single);
Private procedure SetAspectRatio(const Value: Single);
Private procedure SetCharacterRange(const val: TGLSpaceTextCharRange);
Private procedure SetExtrusion(AValue: Single);
Private procedure SetFont(AFont: TFont);
Private procedure SetLines(const Value: TStringList);
Private procedure SetOblique(const Value: Single);
Private procedure SetText(const AText: WideString);
Private procedure SetTextHeight(const Value: Single);

Properties

Published property Adjust: TGLTextAdjust read FAdjust write SetAdjust;
Published property allowedDeviation: Single read FAllowedDeviation write SetAllowedDeviation;

Quality related, see Win32 help for wglUseFontOutlines

Published property AspectRatio: Single read FAspectRatio write SetAspectRatio;
Published property CharacterRange: TGLSpaceTextCharRange read FCharacterRange write SetCharacterRange default stcrDefault;

Character range to convert. Converting less characters saves time and memory...

Published property Extrusion: Single read FExtrusion write SetExtrusion;

Adjusts the 3D font extrusion. If Extrusion=0, the characters will be flat (2D), values >0 will give them a third dimension.

Published property Font: TFont read FFont write SetFont;
Published property Lines: TStringList read FLines write SetLines;
Published property Oblique: Single read FOblique write SetOblique;
Published property Text: WideString read GetText write SetText stored False;
Published property TextHeight: Single read FTextHeight write SetTextHeight;


GLSysHelp v.2.1: GLS.SpaceText: Class TFontManager

Class TFontManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.SpaceText

Declaration

type TFontManager = class(TList)

Description

Manages a list of fonts for which display lists were created.

Hierarchy

  • TObject
  • TList
  • TFontManager

Overview

Fields

Private FCurrentBase: Integer;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function FindFont(AName: string; FStyles: TFontStyles; FExtrusion: Single; FAllowedDeviation: Single; FFirstChar, FLastChar: Integer): PFontEntry;
Public | function GetFontBase(AName: string; FStyles: TFontStyles; FExtrusion: Single; allowedDeviation: Single; firstChar, lastChar: Integer; client: TObject): PFontEntry;
Public | procedure Release(entry: PFontEntry; client: TObject);
Protected | procedure NotifyClients(Clients: TList);
Protected | procedure VirtualHandleAlloc(sender: TGLVirtualHandle; var handle: Cardinal);
Protected | procedure VirtualHandleDestroy(sender: TGLVirtualHandle; var handle: Cardinal);

Description

Fields

Private FCurrentBase: Integer;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function FindFont(AName: string; FStyles: TFontStyles; FExtrusion: Single; FAllowedDeviation: Single; FFirstChar, FLastChar: Integer): PFontEntry;
Public function GetFontBase(AName: string; FStyles: TFontStyles; FExtrusion: Single; allowedDeviation: Single; firstChar, lastChar: Integer; client: TObject): PFontEntry;
Public procedure Release(entry: PFontEntry; client: TObject);
Protected procedure NotifyClients(Clients: TList);
Protected procedure VirtualHandleAlloc(sender: TGLVirtualHandle; var handle: Cardinal);
Protected procedure VirtualHandleDestroy(sender: TGLVirtualHandle; var handle: Cardinal);


GLSysHelp v.2.1: GLS.Spline

Unit GLS.Spline

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.VectorTypes
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TCubicSpline |

Types

TCubicSplineMatrix = array of array [0 .. 3] of Single;

Description

Types

TCubicSplineMatrix = array of array [0 .. 3] of Single;

Platform Specific

by default, GLX is not supported on windows, although windows implementations do exist .NET


GLSysHelp v.2.1: GLS.Spline: Class TCubicSpline

Class TCubicSpline

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Spline

Declaration

type TCubicSpline = class(TObject)

Description

3D cubic spline handler class. This class allows to describe and calculate values of a time-based, three-dimensionnal cubic spline. Cubic spline pass through all given points and tangent on point N is given by the (N-1) to (N+1) vector. Note : X, Y & Z are actually interpolated independently.

Hierarchy

  • TObject
  • TCubicSpline

Overview

Fields

Private | matX: TCubicSplineMatrix;
Private | matY: TCubicSplineMatrix;
Private | matZ: TCubicSplineMatrix;
Private | matW: TCubicSplineMatrix;
Private | FNb: Integer;

Methods

Public | constructor Create(const X, Y, Z, W: PFloatArray; const nb: Integer);
Public | destructor Destroy; override;
Public | function SplineAffineVector(const t: Single): TAffineVector; overload;
Public | function SplineIntersecXY(Z: Single; var X, Y: Single): Boolean;
Public | function SplineIntersecXZ(Y: Single; var X, Z: Single): Boolean;
Public | function SplineIntersecYZ(X: Single; var Y, Z: Single): Boolean;
Public | function SplineSlopeVector(const t: Single): TAffineVector; overload;
Public | function SplineSlopeW(const t: Single): Single;
Public | function SplineSlopeX(const t: Single): Single;
Public | function SplineSlopeY(const t: Single): Single;
Public | function SplineSlopeZ(const t: Single): Single;
Public | function SplineVector(const t: Single): TGLVector; overload;
Public | function SplineW(const t: Single): Single;
Public | function SplineX(const t: Single): Single;
Public | function SplineY(const t: Single): Single;
Public | function SplineZ(const t: Single): Single;
Public | procedure SplineAffineVector(const t: Single; var vector: TAffineVector); overload;
Public | procedure SplineVector(const t: Single; var vector: TGLVector); overload;
Public | procedure SplineXY(const t: Single; out X, Y: Single);
Public | procedure SplineXYZ(const t: Single; out X, Y, Z: Single);
Public | procedure SplineXYZW(const t: Single; out X, Y, Z, W: Single);

Description

Fields

Private matX: TCubicSplineMatrix;
Private matY: TCubicSplineMatrix;
Private matZ: TCubicSplineMatrix;
Private matW: TCubicSplineMatrix;
Private FNb: Integer;

Methods

Public constructor Create(const X, Y, Z, W: PFloatArray; const nb: Integer);

Creates the spline and declares interpolation points. Time references go from 0 (first point) to nb-1 (last point), the first and last reference matrices respectively are used when T is used beyond this range. Note : "nil" single arrays are accepted, in this case the axis is disabled and calculus will return 0 (zero) for this component.

Public destructor Destroy; override;
Public function SplineAffineVector(const t: Single): TAffineVector; overload;

Calculates affine vector at time t.

Public function SplineIntersecXY(Z: Single; var X, Y: Single): Boolean;

Calculates the intersection of the spline with the XY plane. Returns True if an intersection was found.

Public function SplineIntersecXZ(Y: Single; var X, Z: Single): Boolean;

Calculates the intersection of the spline with the XZ plane. Returns True if an intersection was found.

Public function SplineIntersecYZ(X: Single; var Y, Z: Single): Boolean;

Calculates the intersection of the spline with the YZ plane. Returns True if an intersection was found.

Public function SplineSlopeVector(const t: Single): TAffineVector; overload;

Calculates the spline slope at time t.

Public function SplineSlopeW(const t: Single): Single;

Calculates W component slope at time t.

Public function SplineSlopeX(const t: Single): Single;

Calculates X component slope at time t.

Public function SplineSlopeY(const t: Single): Single;

Calculates Y component slope at time t.

Public function SplineSlopeZ(const t: Single): Single;

Calculates Z component slope at time t.

Public function SplineVector(const t: Single): TGLVector; overload;

Calculates vector at time t.

Public function SplineW(const t: Single): Single;

Calculates W component at time t.

Public function SplineX(const t: Single): Single;

Calculates X component at time t.

Public function SplineY(const t: Single): Single;

Calculates Y component at time t.

Public function SplineZ(const t: Single): Single;

Calculates Z component at time t.

Public procedure SplineAffineVector(const t: Single; var vector: TAffineVector); overload;

Calculates affine vector at time t.

Public procedure SplineVector(const t: Single; var vector: TGLVector); overload;

Calculates vector at time t.

Public procedure SplineXY(const t: Single; out X, Y: Single);

Calculates X and Y components at time t.

Public procedure SplineXYZ(const t: Single; out X, Y, Z: Single);

Calculates X, Y and Z components at time t.

Public procedure SplineXYZW(const t: Single; out X, Y, Z, W: Single);

Calculates X, Y, Z and W components at time t.


GLSysHelp v.2.1: GLS.State

Unit GLS.State

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.TextureFormat
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TGLLightSourceState |
Packed Record TGLShaderLightSourceState |
Record TUBOStates |
Class TGLStateCache |
Record TStateRecord |

Types

TGLBlendEquation = (...);
TGLBlendFunction = (...);
TGLBufferBindingTarget = (...);
TGLColorComponent = (...);
TGLColorMask = set of TGLColorComponent;
TGLComparisonFunction = (...);
TGLCullFaceMode = (...);
TGLDepthFunction = TGLComparisonFunction;
TGLDstBlendFunction = bfZero..bfOneMinusConstantAlpha;
TGLFaceWinding = (...);
TGLHintType = (...);
TGLLogicOp = (...);
TGLMaterialLevel = (...);
TGLMeshPrimitive = (...);
TGLMeshPrimitives = set of TGLMeshPrimitive;
TGLOnLightsChanged = procedure(Sender: TObject);
TGLPolygonMode = (...);
TGLQueryType = (...);
TGLState = (...);
TGLStates = set of TGLState;
TGLStateType = (...);
TGLStateTypes = set of TGLStateType;
TGLStencilFunction = TGLComparisonFunction;
TGLStencilOp = (...);

Constants

GLS_VERTEX_ATTR_NUM = 16;
cAllAttribBits = [low(TGLStateType) .. High(TGLStateType)];
cAllMeshPrimitive = [ mpTRIANGLES, mpTRIANGLE_STRIP, mpTRIANGLE_FAN, mpPOINTS, mpLINES, mpLINE_LOOP, mpLINE_STRIP, mpLINES_ADJACENCY, mpLINE_STRIP_ADJACENCY, mpTRIANGLES_ADJACENCY, mpTRIANGLE_STRIP_ADJACENCY, mpPATCHES];
cAllColorComponents = [ccRed, ccGreen, ccBlue, ccAlpha];
MAX_HARDWARE_LIGHT = 16;
MAX_SHADER_LIGHT = 8;
MAX_HARDWARE_TEXTURE_UNIT = 48;
MAX_HARDWARE_UNIFORM_BUFFER_BINDING = 75;
cGLStateTypeToGLEnum: array [TGLStateType] of Cardinal = (GL_CURRENT_BIT, GL_POINT_BIT, GL_LINE_BIT, GL_POLYGON_BIT, GL_POLYGON_STIPPLE_BIT, GL_PIXEL_MODE_BIT, GL_LIGHTING_BIT, GL_FOG_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, GL_STENCIL_BUFFER_BIT, GL_VIEWPORT_BIT, GL_TRANSFORM_BIT, GL_ENABLE_BIT, GL_COLOR_BUFFER_BIT, GL_HINT_BIT, GL_EVAL_BIT, GL_LIST_BIT, GL_TEXTURE_BIT, GL_SCISSOR_BIT, GL_MULTISAMPLE_BIT);
cGLStateToGLEnum: array[TGLState] of TStateRecord = ((GLConst: GL_ALPHA_TEST; GLDeprecated: True), (GLConst: GL_AUTO_NORMAL; GLDeprecated: True), (GLConst: GL_BLEND; GLDeprecated: False), (GLConst: GL_COLOR_MATERIAL; GLDeprecated: True), (GLConst: GL_CULL_FACE; GLDeprecated: False), (GLConst: GL_DEPTH_TEST; GLDeprecated: False), (GLConst: GL_DITHER; GLDeprecated: False), (GLConst: GL_FOG; GLDeprecated: True), (GLConst: GL_LIGHTING; GLDeprecated: True), (GLConst: GL_LINE_SMOOTH; GLDeprecated: True), (GLConst: GL_LINE_STIPPLE; GLDeprecated: True), (GLConst: GL_INDEX_LOGIC_OP; GLDeprecated: True), (GLConst: GL_COLOR_LOGIC_OP; GLDeprecated: False), (GLConst: GL_NORMALIZE; GLDeprecated: True), (GLConst: GL_POINT_SMOOTH; GLDeprecated: True), (GLConst: GL_POINT_SPRITE; GLDeprecated: True), (GLConst: GL_POLYGON_SMOOTH; GLDeprecated: True), (GLConst: GL_POLYGON_STIPPLE; GLDeprecated: True), (GLConst: GL_SCISSOR_TEST; GLDeprecated: False), (GLConst: GL_STENCIL_TEST; GLDeprecated: False), (GLConst: GL_POLYGON_OFFSET_POINT; GLDeprecated: False), (GLConst: GL_POLYGON_OFFSET_LINE; GLDeprecated: False), (GLConst: GL_POLYGON_OFFSET_FILL; GLDeprecated: False), (GLConst: GL_DEPTH_CLAMP; GLDeprecated: False) );
cGLTexTypeToGLEnum: array[TGLTextureTarget] of Cardinal = (0, GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_BUFFER, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_CUBE_MAP_ARRAY);
cGLQueryTypeToGLEnum: array[TGLQueryType] of Cardinal = (GL_SAMPLES_PASSED, GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_TIME_ELAPSED, GL_ANY_SAMPLES_PASSED);
cGLStencilOpToGLEnum: array[TGLStencilOp] of Cardinal = (GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR, GL_INVERT, GL_INCR_WRAP, GL_DECR_WRAP);
cGLLogicOpToGLEnum: array[TGLLogicOp] of Cardinal = (GL_CLEAR, GL_AND, GL_AND_REVERSE, GL_COPY, GL_AND_INVERTED, GL_NOOP, GL_XOR, GL_OR, GL_NOR, GL_EQUIV, GL_INVERT, GL_OR_REVERSE, GL_COPY_INVERTED, GL_OR_INVERTED, GL_NAND, GL_SET);
cGLComparisonFunctionToGLEnum: array[TGLComparisonFunction] of Cardinal = (GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL);
cGLBlendFunctionToGLEnum: array[TGLBlendFunction] of Cardinal = (GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, GL_SRC_ALPHA_SATURATE );
cGLBlendEquationToGLEnum: array[TGLBlendEquation] of Cardinal = (GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX);
cGLFaceWindingToGLEnum: array[TGLFaceWinding] of Cardinal = (GL_CCW, GL_CW);
cGLPolygonModeToGLEnum: array[TGLPolygonMode] of Cardinal = (GL_FILL, GL_LINE, GL_POINT);
cGLCullFaceModeToGLEnum: array[TGLCullFaceMode] of Cardinal = (GL_FRONT, GL_BACK, GL_FRONT_AND_BACK);
cGLHintToGLEnum: array[TGLHintType] of Cardinal = (GL_DONT_CARE, GL_FASTEST, GL_NICEST);
cGLBufferBindingTarget: array[TGLBufferBindingTarget] of Cardinal = (GL_UNIFORM_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER);

Description

Types

TGLBlendEquation = (...);
Values
  • beAdd
  • beSubtract
  • beReverseSubtract
  • beMin
  • beMax
TGLBlendFunction = (...);
Values
  • bfZero
  • bfOne
  • bfSrcColor
  • bfOneMinusSrcColor
  • bfDstColor
  • bfOneMinusDstColor
  • bfSrcAlpha
  • bfOneMinusSrcAlpha
  • bfDstAlpha
  • bfOneMinusDstAlpha
  • bfConstantColor
  • bfOneMinusConstantColor
  • bfConstantAlpha
  • bfOneMinusConstantAlpha
  • bfSrcAlphaSat
TGLBufferBindingTarget = (...);
Values
  • bbtUniform
  • bbtTransformFeedBack
TGLColorComponent = (...);

TSingleCullFaceMode = cmFront..cmBack;

Values
  • ccRed
  • ccGreen
  • ccBlue
  • ccAlpha
TGLColorMask = set of TGLColorComponent;
TGLComparisonFunction = (...);
Values
  • cfNever
  • cfAlways
  • cfLess
  • cfLEqual
  • cfEqual
  • cfGreater
  • cfNotEqual
  • cfGEqual
TGLCullFaceMode = (...);
Values
  • cmFront
  • cmBack
  • cmFrontAndBack
TGLDepthFunction = TGLComparisonFunction;
TGLDstBlendFunction = bfZero..bfOneMinusConstantAlpha;
TGLFaceWinding = (...);

Describe what kind of winding has a front face

Values
  • fwCounterClockWise
  • fwClockWise
TGLHintType = (...);
Values
  • hintDontCare
  • hintFastest
  • hintNicest
TGLLogicOp = (...);
Values
  • loClear
  • loAnd
  • loAndReverse
  • loCopy
  • loAndInverted
  • loNoOp
  • loXOr
  • loOr
  • loNor
  • loEquiv
  • loInvert
  • loOrReverse
  • loCopyInverted
  • loOrInverted
  • loNAnd
  • loSet
TGLMaterialLevel = (...);
Values
  • mlAuto
  • mlFixedFunction
  • mlMultitexturing
  • mlSM3
  • mlSM4
  • mlSM5
TGLMeshPrimitive = (...);
Values
  • mpNOPRIMITIVE
  • mpTRIANGLES
  • mpTRIANGLE_STRIP
  • mpTRIANGLE_FAN
  • mpPOINTS
  • mpLINES
  • mpLINE_LOOP
  • mpLINE_STRIP
  • mpLINES_ADJACENCY
  • mpLINE_STRIP_ADJACENCY
  • mpTRIANGLES_ADJACENCY
  • mpTRIANGLE_STRIP_ADJACENCY
  • mpPATCHES
TGLMeshPrimitives = set of TGLMeshPrimitive;
TGLOnLightsChanged = procedure(Sender: TObject);
TGLPolygonMode = (...);
Values
  • pmFill
  • pmLines
  • pmPoints
TGLQueryType = (...);
Values
  • qrySamplesPassed
  • qryPrimitivesGenerated
  • qryTransformFeedbackPrimitivesWritten
  • qryTimeElapsed
  • qryAnySamplesPassed
TGLState = (...);

Reflects all relevant (binary) states of OpenGL subsystem

Values
  • stAlphaTest
  • stAutoNormal
  • stBlend
  • stColorMaterial
  • stCullFace
  • stDepthTest
  • stDither
  • stFog
  • stLighting
  • stLineSmooth
  • stLineStipple
  • stIndexLogicOp
  • stColorLogicOp
  • stNormalize
  • stPointSmooth
  • stPointSprite
  • stPolygonSmooth
  • stPolygonStipple
  • stScissorTest
  • stStencilTest
  • stPolygonOffsetPoint
  • stPolygonOffsetLine
  • stPolygonOffsetFill
  • stDepthClamp
TGLStates = set of TGLState;
TGLStateType = (...);
Values
  • sttCurrent
  • sttPoint
  • sttLine
  • sttPolygon
  • sttPolygonStipple
  • sttPixelMode
  • sttLighting
  • sttFog
  • sttDepthBuffer
  • sttAccumBuffer
  • sttStencilBuffer
  • sttViewport
  • sttTransform
  • sttEnable
  • sttColorBuffer
  • sttHint
  • sttEval
  • sttList
  • sttTexture
  • sttScissor
  • sttMultisample
TGLStateTypes = set of TGLStateType;
TGLStencilFunction = TGLComparisonFunction;
TGLStencilOp = (...);
Values
  • soKeep
  • soZero
  • soReplace
  • soIncr
  • soDecr
  • soInvert
  • soIncrWrap
  • soDecrWrap

Constants

GLS_VERTEX_ATTR_NUM = 16;
cAllAttribBits = [low(TGLStateType) .. High(TGLStateType)];
cAllMeshPrimitive = [ mpTRIANGLES, mpTRIANGLE_STRIP, mpTRIANGLE_FAN, mpPOINTS, mpLINES, mpLINE_LOOP, mpLINE_STRIP, mpLINES_ADJACENCY, mpLINE_STRIP_ADJACENCY, mpTRIANGLES_ADJACENCY, mpTRIANGLE_STRIP_ADJACENCY, mpPATCHES];
cAllColorComponents = [ccRed, ccGreen, ccBlue, ccAlpha];
MAX_HARDWARE_LIGHT = 16;
MAX_SHADER_LIGHT = 8;
MAX_HARDWARE_TEXTURE_UNIT = 48;
MAX_HARDWARE_UNIFORM_BUFFER_BINDING = 75;
cGLStateTypeToGLEnum: array [TGLStateType] of Cardinal = (GL_CURRENT_BIT, GL_POINT_BIT, GL_LINE_BIT, GL_POLYGON_BIT, GL_POLYGON_STIPPLE_BIT, GL_PIXEL_MODE_BIT, GL_LIGHTING_BIT, GL_FOG_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, GL_STENCIL_BUFFER_BIT, GL_VIEWPORT_BIT, GL_TRANSFORM_BIT, GL_ENABLE_BIT, GL_COLOR_BUFFER_BIT, GL_HINT_BIT, GL_EVAL_BIT, GL_LIST_BIT, GL_TEXTURE_BIT, GL_SCISSOR_BIT, GL_MULTISAMPLE_BIT);
cGLStateToGLEnum: array[TGLState] of TStateRecord = ((GLConst: GL_ALPHA_TEST; GLDeprecated: True), (GLConst: GL_AUTO_NORMAL; GLDeprecated: True), (GLConst: GL_BLEND; GLDeprecated: False), (GLConst: GL_COLOR_MATERIAL; GLDeprecated: True), (GLConst: GL_CULL_FACE; GLDeprecated: False), (GLConst: GL_DEPTH_TEST; GLDeprecated: False), (GLConst: GL_DITHER; GLDeprecated: False), (GLConst: GL_FOG; GLDeprecated: True), (GLConst: GL_LIGHTING; GLDeprecated: True), (GLConst: GL_LINE_SMOOTH; GLDeprecated: True), (GLConst: GL_LINE_STIPPLE; GLDeprecated: True), (GLConst: GL_INDEX_LOGIC_OP; GLDeprecated: True), (GLConst: GL_COLOR_LOGIC_OP; GLDeprecated: False), (GLConst: GL_NORMALIZE; GLDeprecated: True), (GLConst: GL_POINT_SMOOTH; GLDeprecated: True), (GLConst: GL_POINT_SPRITE; GLDeprecated: True), (GLConst: GL_POLYGON_SMOOTH; GLDeprecated: True), (GLConst: GL_POLYGON_STIPPLE; GLDeprecated: True), (GLConst: GL_SCISSOR_TEST; GLDeprecated: False), (GLConst: GL_STENCIL_TEST; GLDeprecated: False), (GLConst: GL_POLYGON_OFFSET_POINT; GLDeprecated: False), (GLConst: GL_POLYGON_OFFSET_LINE; GLDeprecated: False), (GLConst: GL_POLYGON_OFFSET_FILL; GLDeprecated: False), (GLConst: GL_DEPTH_CLAMP; GLDeprecated: False) );
cGLTexTypeToGLEnum: array[TGLTextureTarget] of Cardinal = (0, GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_BUFFER, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY, GL_TEXTURE_CUBE_MAP_ARRAY);
cGLQueryTypeToGLEnum: array[TGLQueryType] of Cardinal = (GL_SAMPLES_PASSED, GL_PRIMITIVES_GENERATED, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, GL_TIME_ELAPSED, GL_ANY_SAMPLES_PASSED);
cGLStencilOpToGLEnum: array[TGLStencilOp] of Cardinal = (GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR, GL_INVERT, GL_INCR_WRAP, GL_DECR_WRAP);
cGLLogicOpToGLEnum: array[TGLLogicOp] of Cardinal = (GL_CLEAR, GL_AND, GL_AND_REVERSE, GL_COPY, GL_AND_INVERTED, GL_NOOP, GL_XOR, GL_OR, GL_NOR, GL_EQUIV, GL_INVERT, GL_OR_REVERSE, GL_COPY_INVERTED, GL_OR_INVERTED, GL_NAND, GL_SET);
cGLComparisonFunctionToGLEnum: array[TGLComparisonFunction] of Cardinal = (GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL);
cGLBlendFunctionToGLEnum: array[TGLBlendFunction] of Cardinal = (GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, GL_SRC_ALPHA_SATURATE );
cGLBlendEquationToGLEnum: array[TGLBlendEquation] of Cardinal = (GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX);

valid for src only

cGLFaceWindingToGLEnum: array[TGLFaceWinding] of Cardinal = (GL_CCW, GL_CW);
cGLPolygonModeToGLEnum: array[TGLPolygonMode] of Cardinal = (GL_FILL, GL_LINE, GL_POINT);
cGLCullFaceModeToGLEnum: array[TGLCullFaceMode] of Cardinal = (GL_FRONT, GL_BACK, GL_FRONT_AND_BACK);
cGLHintToGLEnum: array[TGLHintType] of Cardinal = (GL_DONT_CARE, GL_FASTEST, GL_NICEST);
cGLBufferBindingTarget: array[TGLBufferBindingTarget] of Cardinal = (GL_UNIFORM_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER);


GLSysHelp v.2.1: GLS.State: Packed Record TGLLightSourceState

Packed Record TGLLightSourceState

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.State

Declaration

type TGLLightSourceState = packed record

Description

Overview

Fields

Public | Position: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public | Ambient: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public | Diffuse: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public | Specular: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public | SpotDirection: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public | SpotCosCutoffExponent: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public | Attenuation: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;

Description

Fields

Public Position: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public Ambient: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public Diffuse: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public Specular: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public SpotDirection: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public SpotCosCutoffExponent: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;
Public Attenuation: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLVector;


GLSysHelp v.2.1: GLS.State: Packed Record TGLShaderLightSourceState

Packed Record TGLShaderLightSourceState

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.State

Declaration

type TGLShaderLightSourceState = packed record

Description

Overview

Fields

Public | Position: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public | Ambient: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public | Diffuse: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public | Specular: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public | SpotDirection: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public | SpotCosCutoffExponent: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public | Attenuation: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;

Description

Fields

Public Position: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public Ambient: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public Diffuse: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public Specular: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public SpotDirection: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public SpotCosCutoffExponent: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;
Public Attenuation: array [0 .. MAX_SHADER_LIGHT - 1] of TGLVector;


GLSysHelp v.2.1: GLS.State: Record TUBOStates

Record TUBOStates

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.State

Declaration

type TUBOStates = record

Description

Overview

Fields

Public | FUniformBufferBinding: Cardinal;
Public | FOffset: TGLintptr;
Public | FSize: TGLsizeiptr;

Description

Fields

Public FUniformBufferBinding: Cardinal;
Public FOffset: TGLintptr;
Public FSize: TGLsizeiptr;


GLSysHelp v.2.1: GLS.State: Class TGLStateCache

Class TGLStateCache

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.State

Declaration

type TGLStateCache = class(TObject)

Description

Manages an application-side cache of OpenGL states and parameters. Purpose of this class is to eliminate redundant state and parameter changes, and there will typically be no more than one state cache per OpenGL context

Hierarchy

  • TObject
  • TGLStateCache

Overview

Fields

Strict Private | FFrontBackColors: array [0 .. 1, 0 .. 3] of TGLVector;
Strict Private | FFrontBackShininess: array [0 .. 1] of Integer;
Strict Private | FAlphaFunc: TGLComparisonFunction;
Strict Private | FAlphaRef: Single;
Strict Private | FPolygonBackMode: TGLPolygonMode;
Strict Private | FMaxLights: Cardinal;
Strict Private | FLightEnabling: array [0 .. MAX_HARDWARE_LIGHT - 1] of Boolean;
Strict Private | FLightIndices: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLint;
Strict Private | FLightNumber: Integer;
Strict Private | FLightStates: TGLLightSourceState;
Strict Private | FSpotCutoff: array [0 .. MAX_HARDWARE_LIGHT - 1] of Single;
Strict Private | FShaderLightStates: TGLShaderLightSourceState;
Strict Private | FShaderLightStatesChanged: Boolean;
Strict Private | FColorWriting: Boolean;
Strict Private | FStates: TGLStates;
Strict Private | FListStates: array of TGLStateTypes;
Strict Private | FCurrentList: Cardinal;
Strict Private | FTextureMatrixIsIdentity: array [0 .. 3] of Boolean;
Strict Private | FFFPLight: Boolean;
Strict Private | FVertexArrayBinding: Cardinal;
Strict Private | FArrayBufferBinding: Cardinal;
Strict Private | FElementBufferBinding: Cardinal;
Strict Private | FTextureBufferBinding: Cardinal;
Strict Private | FEnablePrimitiveRestart: TGLboolean;
Strict Private | FPrimitiveRestartIndex: Cardinal;
Strict Private | FViewPort: TVector4i;
Strict Private | FDepthRange: array [0 .. 1] of TGLclampd;
Strict Private | FEnableClipDistance: array [0 .. 7] of TGLboolean;
Strict Private | FEnableDepthClamp: TGLboolean;
Strict Private | FClampReadColor: Cardinal;
Strict Private | FProvokingVertex: Cardinal;
Strict Private | FPointSize: TGLfloat;
Strict Private | FPointFadeThresholdSize: TGLfloat;
Strict Private | FPointSpriteCoordOrigin: Cardinal;
Strict Private | FLineWidth: Single;
Strict Private | FLineStippleFactor: TGLint;
Strict Private | FLineStipplePattern: TGLushort;
Strict Private | FEnableLineSmooth: TGLboolean;
Strict Private | FEnableCullFace: TGLboolean;
Strict Private | FCullFaceMode: TGLCullFaceMode;
Strict Private | FFrontFace: TGLFaceWinding;
Strict Private | FEnablePolygonSmooth: TGLboolean;
Strict Private | FPolygonMode: TGLPolygonMode;
Strict Private | FPolygonOffsetFactor: TGLfloat;
Strict Private | FPolygonOffsetUnits: TGLfloat;
Strict Private | FEnablePolygonOffsetPoint: TGLboolean;
Strict Private | FEnablePolygonOffsetLine: TGLboolean;
Strict Private | FEnablePolygonOffsetFill: TGLboolean;
Strict Private | FEnableMultisample: TGLboolean;
Strict Private | FEnableSampleAlphaToCoverage: TGLboolean;
Strict Private | FEnableSampleAlphaToOne: TGLboolean;
Strict Private | FEnableSampleCoverage: TGLboolean;
Strict Private | FSampleCoverageValue: TGLfloat;
Strict Private | FSampleCoverageInvert: TGLboolean;
Strict Private | FEnableSampleMask: TGLboolean;
Strict Private | FSampleMaskValue: array [0 .. 15] of TGLbitfield;
Strict Private | FMaxTextureSize: Cardinal;
Strict Private | FMax3DTextureSize: Cardinal;
Strict Private | FMaxCubeTextureSize: Cardinal;
Strict Private | FMaxArrayTextureSize: Cardinal;
Strict Private | FMaxTextureImageUnits: Cardinal;
Strict Private | FMaxTextureAnisotropy: Cardinal;
Strict Private | FMaxSamples: Cardinal;
Strict Private | FTextureBinding: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1, TGLTextureTarget] of Cardinal;
Strict Private | FTextureBindingTime: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1, TGLTextureTarget] of Double;
Strict Private | FSamplerBinding: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1] of Cardinal;
Strict Private | FActiveTexture: TGLint;
Strict Private | FActiveTextureEnabling: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1, TGLTextureTarget] of Boolean;
Strict Private | FEnableScissorTest: TGLboolean;
Strict Private | FScissorBox: TVector4i;
Strict Private | FEnableStencilTest: TGLboolean;
Strict Private | FStencilFunc: TGLStencilFunction;
Strict Private | FStencilValueMask: Cardinal;
Strict Private | FStencilRef: TGLint;
Strict Private | FStencilFail: TGLStencilOp;
Strict Private | FStencilPassDepthFail: TGLStencilOp;
Strict Private | FStencilPassDepthPass: TGLStencilOp;
Strict Private | FStencilBackFunc: TGLStencilFunction;
Strict Private | FStencilBackValueMask: Cardinal;
Strict Private | FStencilBackRef: Cardinal;
Strict Private | FStencilBackFail: TGLStencilOp;
Strict Private | FStencilBackPassDepthPass: TGLStencilOp;
Strict Private | FStencilBackPassDepthFail: TGLStencilOp;
Strict Private | FEnableDepthTest: TGLboolean;
Strict Private | FDepthFunc: TGLDepthFunction;
Strict Private | FEnableBlend: array [0 .. 15] of TGLboolean;
Strict Private | FBlendSrcRGB: TGLBlendFunction;
Strict Private | FBlendSrcAlpha: TGLBlendFunction;
Strict Private | FBlendDstRGB: TGLDstBlendFunction;
Strict Private | FBlendDstAlpha: TGLDstBlendFunction;
Strict Private | FBlendEquationRGB: TGLBlendEquation;
Strict Private | FBlendEquationAlpha: TGLBlendEquation;
Strict Private | FBlendColor: TGLVector;
Strict Private | FEnableFramebufferSRGB: TGLboolean;
Strict Private | FEnableDither: TGLboolean;
Strict Private | FEnableColorLogicOp: TGLboolean;
Strict Private | FLogicOpMode: TGLLogicOp;
Strict Private | FColorWriteMask: array [0 .. 15] of TGLColorMask;
Strict Private | FDepthWriteMask: TGLboolean;
Strict Private | FStencilWriteMask: Cardinal;
Strict Private | FStencilBackWriteMask: Cardinal;
Strict Private | FColorClearValue: TGLVector;
Strict Private | FDepthClearValue: TGLfloat;
Strict Private | FStencilClearValue: Cardinal;
Strict Private | FDrawFrameBuffer: Cardinal;
Strict Private | FReadFrameBuffer: Cardinal;
Strict Private | FRenderBuffer: Cardinal;
Strict Private | FUnpackSwapBytes: TGLboolean;
Strict Private | FUnpackLSBFirst: TGLboolean;
Strict Private | FUnpackImageHeight: Cardinal;
Strict Private | FUnpackSkipImages: Cardinal;
Strict Private | FUnpackRowLength: Cardinal;
Strict Private | FUnpackSkipRows: Cardinal;
Strict Private | FUnpackSkipPixels: Cardinal;
Strict Private | FUnpackAlignment: Cardinal;
Strict Private | FPackSwapBytes: TGLboolean;
Strict Private | FPackLSBFirst: TGLboolean;
Strict Private | FPackImageHeight: Cardinal;
Strict Private | FPackSkipImages: Cardinal;
Strict Private | FPackRowLength: Cardinal;
Strict Private | FPackSkipRows: Cardinal;
Strict Private | FPackSkipPixels: Cardinal;
Strict Private | FPackAlignment: Cardinal;
Strict Private | FPixelPackBufferBinding: Cardinal;
Strict Private | FPixelUnpackBufferBinding: Cardinal;
Strict Private | FCurrentProgram: Cardinal;
Strict Private | FMaxTextureUnits: Cardinal;
Strict Private | FUniformBufferBinding: Cardinal;
Strict Private | FUBOStates: array [TGLBufferBindingTarget, 0 .. MAX_HARDWARE_UNIFORM_BUFFER_BINDING - 1] of TUBOStates;
Strict Private | FCurrentVertexAttrib: array [0 .. 15] of TGLVector;
Strict Private | FEnableProgramPointSize: TGLboolean;
Strict Private | FTransformFeedbackBufferBinding: Cardinal;
Strict Private | FTextureCompressionHint: TGLHintType;
Strict Private | FPolygonSmoothHint: TGLHintType;
Strict Private | FFragmentShaderDerivitiveHint: TGLHintType;
Strict Private | FLineSmoothHint: TGLHintType;
Strict Private | FMultisampleFilterHint: TGLHintType;
Strict Private | FCurrentQuery: array [TGLQueryType] of Cardinal;
Strict Private | FCopyReadBufferBinding: Cardinal;
Strict Private | FCopyWriteBufferBinding: Cardinal;
Strict Private | FEnableTextureCubeMapSeamless: TGLboolean;
Strict Private | FInsideList: Boolean;
Strict Private | FOnLightsChanged: TGLOnLightsChanged;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | function GetLightIndicesAsAddress: PGLInt;
Public | function GetLightStateAsAddress: Pointer;
Protected | function GetActiveTextureEnabled(target: TGLTextureTarget): Boolean; inline;
Protected | function GetArrayBufferBinding: Cardinal; inline;
Protected | function GetColorWriteMask(index: Integer): TGLColorMask; inline;
Protected | function GetConstantAtten(I: Integer): Single; inline;
Protected | function GetCurrentQuery(index: TGLQueryType): Cardinal; inline;
Protected | function GetCurrentVertexAttrib(index: Integer): TGLVector; inline;
Protected | function GetDepthRangeFar: TGLclampd; inline;
Protected | function GetDepthRangeNear: TGLclampd; inline;
Protected | function GetElementBufferBinding: Cardinal; inline;
Protected | function GetEnableBlend(index: Integer): TGLboolean; inline;
Protected | function GetEnableClipDistance(ClipDistance: Cardinal): TGLboolean; inline;
Protected | function GetEnablePrimitiveRestart: TGLboolean; inline;
Protected | function GetLightAmbient(I: Integer): TGLVector; inline;
Protected | function GetLightDiffuse(I: Integer): TGLVector; inline;
Protected | function GetLightEnabling(I: Integer): Boolean; inline;
Protected | function GetLightPosition(I: Integer): TGLVector; inline;
Protected | function GetLightSpecular(I: Integer): TGLVector; inline;
Protected | function GetLightSpotDirection(I: Integer): TAffineVector; inline;
Protected | function GetLinearAtten(I: Integer): Single; inline;
Protected | function GetMaterialAmbient(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected | function GetMaterialDiffuse(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected | function GetMaterialEmission(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected | function GetMaterialShininess(const aFace: TGLCullFaceMode): Integer; inline;
Protected | function GetMaterialSpecular(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected | function GetMax3DTextureSize: Cardinal; inline;
Protected | function GetMaxArrayTextureSize: Cardinal; inline;
Protected | function GetMaxCubeTextureSize: Cardinal; inline;
Protected | function GetMaxLights: Integer; inline;
Protected | function GetMaxSamples: Cardinal; inline;
Protected | function GetMaxTextureAnisotropy: Cardinal; inline;
Protected | function GetMaxTextureImageUnits: Cardinal; inline;
Protected | function GetMaxTextureSize: Cardinal; inline;
Protected | function GetMaxTextureUnits: Cardinal; inline;
Protected | function GetPrimitiveRestartIndex: Cardinal; inline;
Protected | function GetQuadAtten(I: Integer): Single; inline;
Protected | function GetSampleMaskValue(index: Integer): TGLbitfield; inline;
Protected | function GetSamplerBinding(index: Cardinal): Cardinal; inline;
Protected | function GetSpotCutoff(I: Integer): Single; inline;
Protected | function GetSpotExponent(I: Integer): Single; inline;
Protected | function GetTextureBinding(index: Integer; target: TGLTextureTarget): Cardinal; inline;
Protected | function GetTextureBindingTime(index: Integer; target: TGLTextureTarget): Double; inline;
Public | procedure BeginQuery(const target: TGLQueryType; const Value: Cardinal); inline;
Public | procedure CallList(list: Cardinal); inline;
Public | procedure Disable(const aState: TGLState);
Public | procedure Enable(const aState: TGLState);
Public | procedure EndList; inline;
Public | procedure EndQuery(const target: TGLQueryType); inline;
Public | procedure InvertGLFrontFace; inline;
Public | procedure NewList(list: Cardinal; mode: Cardinal); inline;
Public | procedure PerformDisable(const aState: TGLState); inline;
Public | procedure PerformEnable(const aState: TGLState); inline;
Public | procedure PopAttrib(); inline;
Public | procedure PushAttrib(const stateTypes: TGLStateTypes); inline;
Public | procedure ResetAll; deprecated; inline;
Public | procedure ResetAllGLTextureMatrix; inline;
Public | procedure ResetGLCurrentTexture; deprecated;
Public | procedure ResetGLFrontFace; deprecated;
Public | procedure ResetGLMaterialColors; deprecated; inline;
Public | procedure ResetGLPolygonMode; deprecated; inline;
Public | procedure ResetGLTexture(const TextureUnit: Integer); deprecated; inline;
Public | procedure ResetGLTextureMatrix; inline;
Public | procedure SetBlendEquation(const mode: TGLBlendEquation); inline;
Public | procedure SetBlendEquationSeparate(const modeRGB, modeAlpha: TGLBlendEquation); inline;
Public | procedure SetBlendFunc(const Src: TGLBlendFunction; const Dst: TGLDstBlendFunction); inline;
Public | procedure SetBlendFuncSeparate(const SrcRGB: TGLBlendFunction; const DstRGB: TGLDstBlendFunction; const SrcAlpha: TGLBlendFunction; const DstAlpha: TGLDstBlendFunction); inline;
Public | procedure SetBufferIndexedBinding(const Value: Cardinal; ATarget: TGLBufferBindingTarget; AIndex: Cardinal; ABufferSize: TGLsizeiptr); overload; inline;
Public | procedure SetBufferIndexedBinding(const Value: Cardinal; ATarget: TGLBufferBindingTarget; AIndex: Cardinal; AOffset: TGLintptr; ARangeSize: TGLsizeiptr); overload; inline;
Public | procedure SetColorMask(mask: TGLColorMask); inline;
Public | procedure SetDepthRange(const ZNear, ZFar: TGLclampd); inline;
Public | procedure SetFrameBuffer(const Value: Cardinal); inline;
Public | procedure SetGLAlphaFunction(func: TGLComparisonFunction; ref: Single); inline;
Public | procedure SetGLColorWriting(flag: Boolean); inline;
Public | procedure SetGLFrontFaceCW; deprecated; inline;
Public | procedure SetGLMaterialAlphaChannel(const aFace: Cardinal; const alpha: TGLfloat);
Public | procedure SetGLMaterialColors(const aFace: TGLCullFaceMode; const emission, Ambient, Diffuse, Specular: TGLVector; const shininess: Integer);
Public | procedure SetGLMaterialDiffuseColor(const aFace: Cardinal; const Diffuse: TGLVector);
Public | procedure SetGLState(const aState: TGLState); deprecated; inline;
Public | procedure SetGLTextureMatrix(const matrix: TGLMatrix); inline;
Public | procedure SetPolygonOffset(const factor, units: TGLfloat);
Public | procedure SetSampleCoverage(const Value: TGLfloat; invert: TGLboolean);
Public | procedure SetStencilFunc(const func: TGLStencilFunction; const ref: TGLint; const mask: Cardinal); inline;
Public | procedure SetStencilFuncSeparate(const face: TGLCullFaceMode; const func: TGLStencilFunction; const ref: TGLint; const mask: Cardinal); inline;
Public | procedure SetStencilOp(const fail, zfail, zpass: TGLStencilOp); inline;
Public | procedure SetStencilOpSeparate(const face: TGLCullFaceMode; const sfail, dpfail, dppass: TGLStencilOp); inline;
Public | procedure UnSetGLState(const aState: TGLState); deprecated; inline;
Protected | procedure SetActiveTexture(const Value: TGLint); inline;
Protected | procedure SetActiveTextureEnabled(target: TGLTextureTarget; const Value: Boolean); inline;
Protected | procedure SetArrayBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetBlendColor(const Value: TGLVector); inline;
Protected | procedure SetClampReadColor(const Value: Cardinal); inline;
Protected | procedure SetColorClearValue(const Value: TGLVector); inline;
Protected | procedure SetColorWriteMask(index: Integer; const Value: TGLColorMask); inline;
Protected | procedure SetConstantAtten(I: Integer; const Value: Single); inline;
Protected | procedure SetCopyReadBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetCopyWriteBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetCullFaceMode(const Value: TGLCullFaceMode); inline;
Protected | procedure SetCurrentProgram(const Value: Cardinal); inline;
Protected | procedure SetCurrentVertexAttrib(index: Integer; const Value: TGLVector); inline;
Protected | procedure SetDepthClearValue(const Value: TGLfloat); inline;
Protected | procedure SetDepthFunc(const Value: TGLDepthFunction); inline;
Protected | procedure SetDepthRangeFar(const Value: TGLclampd); inline;
Protected | procedure SetDepthRangeNear(const Value: TGLclampd); inline;
Protected | procedure SetDepthWriteMask(const Value: TGLboolean); inline;
Protected | procedure SetDrawFrameBuffer(const Value: Cardinal); inline;
Protected | procedure SetElementBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetEnableBlend(index: Integer; const Value: TGLboolean); inline;
Protected | procedure SetEnableClipDistance(index: Cardinal; const Value: TGLboolean); inline;
Protected | procedure SetEnableColorLogicOp(const Value: TGLboolean); inline;
Protected | procedure SetEnableCullFace(const Value: TGLboolean); inline;
Protected | procedure SetEnableDepthClamp(const enabled: TGLboolean); inline;
Protected | procedure SetEnableDepthTest(const Value: TGLboolean); inline;
Protected | procedure SetEnableDither(const Value: TGLboolean); inline;
Protected | procedure SetEnableFramebufferSRGB(const Value: TGLboolean); inline;
Protected | procedure SetEnableLineSmooth(const Value: TGLboolean); inline;
Protected | procedure SetEnableMultisample(const Value: TGLboolean); inline;
Protected | procedure SetEnablePolygonOffsetFill(const Value: TGLboolean); inline;
Protected | procedure SetEnablePolygonOffsetLine(const Value: TGLboolean); inline;
Protected | procedure SetEnablePolygonOffsetPoint(const Value: TGLboolean); inline;
Protected | procedure SetEnablePolygonSmooth(const Value: TGLboolean); inline;
Protected | procedure SetEnablePrimitiveRestart(const enabled: TGLboolean); inline;
Protected | procedure SetEnableProgramPointSize(const Value: TGLboolean); inline;
Protected | procedure SetEnableSampleAlphaToCoverage(const Value: TGLboolean); inline;
Protected | procedure SetEnableSampleAlphaToOne(const Value: TGLboolean); inline;
Protected | procedure SetEnableSampleCoverage(const Value: TGLboolean); inline;
Protected | procedure SetEnableSampleMask(const Value: TGLboolean); inline;
Protected | procedure SetEnableScissorTest(const Value: TGLboolean); inline;
Protected | procedure SetEnableStencilTest(const Value: TGLboolean); inline;
Protected | procedure SetEnableTextureCubeMapSeamless(const Value: TGLboolean); inline;
Protected | procedure SetFFPLight(Value: Boolean); inline;
Protected | procedure SetForwardContext(Value: Boolean); inline;
Protected | procedure SetFragmentShaderDerivitiveHint(const Value: TGLHintType); inline;
Protected | procedure SetFrontFace(const Value: TGLFaceWinding); inline;
Protected | procedure SetLightAmbient(I: Integer; const Value: TGLVector); inline;
Protected | procedure SetLightDiffuse(I: Integer; const Value: TGLVector); inline;
Protected | procedure SetLightEnabling(I: Integer; Value: Boolean); inline;
Protected | procedure SetLightPosition(I: Integer; const Value: TGLVector); inline;
Protected | procedure SetLightSpecular(I: Integer; const Value: TGLVector); inline;
Protected | procedure SetLightSpotDirection(I: Integer; const Value: TAffineVector); inline;
Protected | procedure SetLinearAtten(I: Integer; const Value: Single); inline;
Protected | procedure SetLineSmoothHint(const Value: TGLHintType); inline;
Protected | procedure SetLineStippleFactor(const Value: TGLint); inline;
Protected | procedure SetLineStipplePattern(const Value: TGLushort); inline;
Protected | procedure SetLineWidth(const Value: TGLfloat); inline;
Protected | procedure SetLogicOpMode(const Value: TGLLogicOp); inline;
Protected | procedure SetMultisampleFilterHint(const Value: TGLHintType); inline;
Protected | procedure SetPackAlignment(const Value: Cardinal); inline;
Protected | procedure SetPackImageHeight(const Value: Cardinal); inline;
Protected | procedure SetPackLSBFirst(const Value: TGLboolean); inline;
Protected | procedure SetPackRowLength(const Value: Cardinal); inline;
Protected | procedure SetPackSkipImages(const Value: Cardinal); inline;
Protected | procedure SetPackSkipPixels(const Value: Cardinal); inline;
Protected | procedure SetPackSkipRows(const Value: Cardinal); inline;
Protected | procedure SetPackSwapBytes(const Value: TGLboolean); inline;
Protected | procedure SetPixelPackBufferBinding(const Value: Cardinal);
Protected | procedure SetPixelUnpackBufferBinding(const Value: Cardinal);
Protected | procedure SetPointFadeThresholdSize(const Value: TGLfloat); inline;
Protected | procedure SetPointSize(const Value: TGLfloat); inline;
Protected | procedure SetPointSpriteCoordOrigin(const Value: Cardinal); inline;
Protected | procedure SetPolygonMode(const Value: TGLPolygonMode); inline;
Protected | procedure SetPolygonOffsetFactor(const Value: TGLfloat); inline;
Protected | procedure SetPolygonOffsetUnits(const Value: TGLfloat); inline;
Protected | procedure SetPolygonSmoothHint(const Value: TGLHintType); inline;
Protected | procedure SetPrimitiveRestartIndex(const index: Cardinal); inline;
Protected | procedure SetProvokingVertex(const Value: Cardinal); inline;
Protected | procedure SetQuadAtten(I: Integer; const Value: Single); inline;
Protected | procedure SetReadFrameBuffer(const Value: Cardinal); inline;
Protected | procedure SetRenderBuffer(const Value: Cardinal); inline;
Protected | procedure SetSampleCoverageInvert(const Value: TGLboolean); inline;
Protected | procedure SetSampleCoverageValue(const Value: TGLfloat); inline;
Protected | procedure SetSampleMaskValue(index: Integer; const Value: TGLbitfield); inline;
Protected | procedure SetSamplerBinding(index: Cardinal; const Value: Cardinal); inline;
Protected | procedure SetScissorBox(const Value: TVector4i); inline;
Protected | procedure SetSpotCutoff(I: Integer; const Value: Single); inline;
Protected | procedure SetSpotExponent(I: Integer; const Value: Single); inline;
Protected | procedure SetStencilBackWriteMask(const Value: Cardinal); inline;
Protected | procedure SetStencilClearValue(const Value: Cardinal); inline;
Protected | procedure SetStencilWriteMask(const Value: Cardinal); inline;
Protected | procedure SetTextureBinding(index: Integer; target: TGLTextureTarget; const Value: Cardinal);
Protected | procedure SetTextureBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetTextureCompressionHint(const Value: TGLHintType); inline;
Protected | procedure SetTransformFeedbackBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetUniformBufferBinding(const Value: Cardinal); inline;
Protected | procedure SetUnpackAlignment(const Value: Cardinal); inline;
Protected | procedure SetUnpackImageHeight(const Value: Cardinal); inline;
Protected | procedure SetUnpackLSBFirst(const Value: TGLboolean); inline;
Protected | procedure SetUnpackRowLength(const Value: Cardinal); inline;
Protected | procedure SetUnpackSkipImages(const Value: Cardinal); inline;
Protected | procedure SetUnpackSkipPixels(const Value: Cardinal); inline;
Protected | procedure SetUnpackSkipRows(const Value: Cardinal); inline;
Protected | procedure SetUnpackSwapBytes(const Value: TGLboolean); inline;
Protected | procedure SetVertexArrayBinding(const Value: Cardinal); inline;
Protected | procedure SetViewPort(const Value: TVector4i); inline;

Properties

Public | property ActiveTexture: TGLint read FActiveTexture write SetActiveTexture;
Public | property ActiveTextureEnabled[target:TGLTextureTarget]: Boolean read GetActiveTextureEnabled write SetActiveTextureEnabled;
Public | property ArrayBufferBinding: Cardinal read GetArrayBufferBinding write SetArrayBufferBinding;
Public | property BlendColor: TGLVector read FBlendColor write SetBlendColor;
Public | property BlendDstAlpha: TGLDstBlendFunction read FBlendDstAlpha;
Public | property BlendDstRGB: TGLDstBlendFunction read FBlendDstRGB;
Public | property BlendEquationAlpha: TGLBlendEquation read FBlendEquationAlpha;
Public | property BlendEquationRGB: TGLBlendEquation read FBlendEquationRGB;
Public | property BlendSrcAlpha: TGLBlendFunction read FBlendSrcAlpha;
Public | property BlendSrcRGB: TGLBlendFunction read FBlendSrcRGB;
Public | property ClampReadColor: Cardinal read FClampReadColor write SetClampReadColor;
Public | property ColorClearValue: TGLVector read FColorClearValue write SetColorClearValue;
Public | property ColorWriteMask[Index:Integer]: TGLColorMask read GetColorWriteMask write SetColorWriteMask;
Public | property CopyReadBufferBinding: Cardinal read FCopyReadBufferBinding write SetCopyReadBufferBinding;
Public | property CopyWriteBufferBinding: Cardinal read FCopyWriteBufferBinding write SetCopyWriteBufferBinding;
Public | property CullFaceMode: TGLCullFaceMode read FCullFaceMode write SetCullFaceMode;
Public | property CurrentProgram: Cardinal read FCurrentProgram write SetCurrentProgram;
Public | property CurrentQuery[Index:TGLQueryType]: Cardinal read GetCurrentQuery;
Public | property CurrentVertexAttrib[Index:Integer]: TGLVector read GetCurrentVertexAttrib write SetCurrentVertexAttrib;
Public | property DepthClearValue: TGLfloat read FDepthClearValue write SetDepthClearValue;
Public | property DepthFunc: TGLDepthFunction read FDepthFunc write SetDepthFunc;
Public | property DepthRangeFar: TGLclampd read GetDepthRangeFar write SetDepthRangeFar;
Public | property DepthRangeNear: TGLclampd read GetDepthRangeNear write SetDepthRangeNear;
Public | property DepthWriteMask: TGLboolean read FDepthWriteMask write SetDepthWriteMask;
Public | property DrawFrameBuffer: Cardinal read FDrawFrameBuffer write SetDrawFrameBuffer;
Public | property ElementBufferBinding: Cardinal read GetElementBufferBinding write SetElementBufferBinding;
Public | property EnableBlend[Index:Integer]: TGLboolean read GetEnableBlend write SetEnableBlend;
Public | property EnableClipDistance[Index:Cardinal]: TGLboolean read GetEnableClipDistance write SetEnableClipDistance;
Public | property EnableColorLogicOp: TGLboolean read FEnableColorLogicOp write SetEnableColorLogicOp;
Public | property EnableCullFace: TGLboolean read FEnableCullFace write SetEnableCullFace;
Public | property EnableDepthClamp: TGLboolean read FEnableDepthClamp write SetEnableDepthClamp;
Public | property EnableDepthTest: TGLboolean read FEnableDepthTest write SetEnableDepthTest;
Public | property EnableDither: TGLboolean read FEnableDither write SetEnableDither;
Public | property EnableFramebufferSRGB: TGLboolean read FEnableFramebufferSRGB write SetEnableFramebufferSRGB;
Public | property EnableLineSmooth: TGLboolean read FEnableLineSmooth write SetEnableLineSmooth;
Public | property EnableMultisample: TGLboolean read FEnableMultisample write SetEnableMultisample;
Public | property EnablePolygonOffsetFill: TGLboolean read FEnablePolygonOffsetFill write SetEnablePolygonOffsetFill;
Public | property EnablePolygonOffsetLine: TGLboolean read FEnablePolygonOffsetLine write SetEnablePolygonOffsetLine;
Public | property EnablePolygonOffsetPoint: TGLboolean read FEnablePolygonOffsetPoint write SetEnablePolygonOffsetPoint;
Public | property EnablePolygonSmooth: TGLboolean read FEnablePolygonSmooth write SetEnablePolygonSmooth;
Public | property EnablePrimitiveRestart: TGLboolean read GetEnablePrimitiveRestart write SetEnablePrimitiveRestart;
Public | property EnableProgramPointSize: TGLboolean read FEnableProgramPointSize write SetEnableProgramPointSize;
Public | property EnableSampleAlphaToCoverage: TGLboolean read FEnableSampleAlphaToCoverage write SetEnableSampleAlphaToCoverage;
Public | property EnableSampleAlphaToOne: TGLboolean read FEnableSampleAlphaToOne write SetEnableSampleAlphaToOne;
Public | property EnableSampleCoverage: TGLboolean read FEnableSampleCoverage write SetEnableSampleCoverage;
Public | property EnableSampleMask: TGLboolean read FEnableSampleMask write SetEnableSampleMask;
Public | property EnableScissorTest: TGLboolean read FEnableScissorTest write SetEnableScissorTest;
Public | property EnableStencilTest: TGLboolean read FEnableStencilTest write SetEnableStencilTest;
Public | property EnableTextureCubeMapSeamless: TGLboolean read FEnableTextureCubeMapSeamless write SetEnableTextureCubeMapSeamless;
Public | property FixedFunctionPipeLight: Boolean read FFFPLight write SetFFPLight;
Public | property FragmentShaderDerivitiveHint: TGLHintType read FFragmentShaderDerivitiveHint write SetFragmentShaderDerivitiveHint;
Public | property FrontFace: TGLFaceWinding read FFrontFace write SetFrontFace;
Public | property InsideList: Boolean read FInsideList;
Public | property LightAmbient[Index:Integer]: TGLVector read GetLightAmbient write SetLightAmbient;
Public | property LightConstantAtten[Index:Integer]: Single read GetConstantAtten write SetConstantAtten;
Public | property LightDiffuse[Index:Integer]: TGLVector read GetLightDiffuse write SetLightDiffuse;
Public | property LightEnabling[Index:Integer]: Boolean read GetLightEnabling write SetLightEnabling;
Public | property LightLinearAtten[Index:Integer]: Single read GetLinearAtten write SetLinearAtten;
Public | property LightNumber: Integer read FLightNumber;
Public | property LightPosition[Index:Integer]: TGLVector read GetLightPosition write SetLightPosition;
Public | property LightQuadraticAtten[Index:Integer]: Single read GetQuadAtten write SetQuadAtten;
Public | property LightSpecular[Index:Integer]: TGLVector read GetLightSpecular write SetLightSpecular;
Public | property LightSpotCutoff[Index:Integer]: Single read GetSpotCutoff write SetSpotCutoff;
Public | property LightSpotDirection[Index:Integer]: TAffineVector read GetLightSpotDirection write SetLightSpotDirection;
Public | property LightSpotExponent[Index:Integer]: Single read GetSpotExponent write SetSpotExponent;
Public | property LineSmoothHint: TGLHintType read FLineSmoothHint write SetLineSmoothHint;
Public | property LineStippleFactor: TGLint read FLineStippleFactor write SetLineStippleFactor;
Public | property LineStipplePattern: TGLushort read FLineStipplePattern write SetLineStipplePattern;
Public | property LineWidth: TGLfloat read FLineWidth write SetLineWidth;
Public | property LogicOpMode: TGLLogicOp read FLogicOpMode write SetLogicOpMode;
Public | property MaterialAmbient[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialAmbient;
Public | property MaterialDiffuse[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialDiffuse;
Public | property MaterialEmission[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialEmission;
Public | property MaterialShininess[constaFace:TGLCullFaceMode]: Integer read GetMaterialShininess;
Public | property MaterialSpecular[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialSpecular;
Public | property Max3DTextureSize: Cardinal read GetMax3DTextureSize;
Public | property MaxArrayTextureSize: Cardinal read GetMaxArrayTextureSize;
Public | property MaxCubeTextureSize: Cardinal read GetMaxCubeTextureSize;
Public | property MaxLights: Integer read GetMaxLights;
Public | property MaxSamples: Cardinal read GetMaxSamples;
Public | property MaxTextureAnisotropy: Cardinal read GetMaxTextureAnisotropy;
Public | property MaxTextureImageUnits: Cardinal read GetMaxTextureImageUnits;
Public | property MaxTextureSize: Cardinal read GetMaxTextureSize;
Public | property MaxTextureUnits: Cardinal read GetMaxTextureUnits;
Public | property MultisampleFilterHint: TGLHintType read FMultisampleFilterHint write SetMultisampleFilterHint;
Public | property OnLightsChanged: TGLOnLightsChanged read FOnLightsChanged write FOnLightsChanged;
Public | property PackAlignment: Cardinal read FPackAlignment write SetPackAlignment;
Public | property PackImageHeight: Cardinal read FPackImageHeight write SetPackImageHeight;
Public | property PackLSBFirst: TGLboolean read FPackLSBFirst write SetPackLSBFirst;
Public | property PackRowLength: Cardinal read FPackRowLength write SetPackRowLength;
Public | property PackSkipImages: Cardinal read FPackSkipImages write SetPackSkipImages;
Public | property PackSkipPixels: Cardinal read FPackSkipPixels write SetPackSkipPixels;
Public | property PackSkipRows: Cardinal read FPackSkipRows write SetPackSkipRows;
Public | property PackSwapBytes: TGLboolean read FPackSwapBytes write SetPackSwapBytes;
Public | property PixelPackBufferBinding: Cardinal read FPixelPackBufferBinding write SetPixelPackBufferBinding;
Public | property PixelUnpackBufferBinding: Cardinal read FPixelUnpackBufferBinding write SetPixelUnpackBufferBinding;
Public | property PointFadeThresholdSize: TGLfloat read FPointFadeThresholdSize write SetPointFadeThresholdSize;
Public | property PointSize: TGLfloat read FPointSize write SetPointSize;
Public | property PointSpriteCoordOrigin: Cardinal read FPointSpriteCoordOrigin write SetPointSpriteCoordOrigin;
Public | property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode;
Public | property PolygonOffsetFactor: TGLfloat read FPolygonOffsetFactor write SetPolygonOffsetFactor;
Public | property PolygonOffsetUnits: TGLfloat read FPolygonOffsetUnits write SetPolygonOffsetUnits;
Public | property PolygonSmoothHint: TGLHintType read FPolygonSmoothHint write SetPolygonSmoothHint;
Public | property PrimitiveRestartIndex: Cardinal read GetPrimitiveRestartIndex write SetPrimitiveRestartIndex;
Public | property ProvokingVertex: Cardinal read FProvokingVertex write SetProvokingVertex;
Public | property ReadFrameBuffer: Cardinal read FReadFrameBuffer write SetReadFrameBuffer;
Public | property RenderBuffer: Cardinal read FRenderBuffer write SetRenderBuffer;
Public | property SampleCoverageInvert: TGLboolean read FSampleCoverageInvert write SetSampleCoverageInvert;
Public | property SampleCoverageValue: TGLfloat read FSampleCoverageValue write SetSampleCoverageValue;
Public | property SampleMaskValue[Index:Integer]: TGLbitfield read GetSampleMaskValue write SetSampleMaskValue;
Public | property SamplerBinding[Index:Cardinal]: Cardinal read GetSamplerBinding write SetSamplerBinding;
Public | property ScissorBox: TVector4i read FScissorBox write SetScissorBox;
Public | property States: TGLStates read FStates;
Public | property StencilBackFail: TGLStencilOp read FStencilBackFail;
Public | property StencilBackFunc: TGLStencilFunction read FStencilBackFunc;
Public | property StencilBackPassDepthFail: TGLStencilOp read FStencilBackPassDepthFail;
Public | property StencilBackPassDepthPass: TGLStencilOp read FStencilBackPassDepthPass;
Public | property StencilBackRef: Cardinal read FStencilBackRef;
Public | property StencilBackValueMask: Cardinal read FStencilBackValueMask;
Public | property StencilBackWriteMask: Cardinal read FStencilBackWriteMask write SetStencilBackWriteMask;
Public | property StencilClearValue: Cardinal read FStencilClearValue write SetStencilClearValue;
Public | property StencilFail: TGLStencilOp read FStencilFail;
Public | property StencilFunc: TGLStencilFunction read FStencilFunc;
Public | property StencilPassDepthFail: TGLStencilOp read FStencilPassDepthFail;
Public | property StencilPassDepthPass: TGLStencilOp read FStencilPassDepthPass;
Public | property StencilRef: TGLint read FStencilRef;
Public | property StencilValueMask: Cardinal read FStencilValueMask;
Public | property StencilWriteMask: Cardinal read FStencilWriteMask write SetStencilWriteMask;
Public | property TextureBinding[Index:Integer;target:TGLTextureTarget]: Cardinal read GetTextureBinding write SetTextureBinding;
Public | property TextureBindingTime[Index:Integer;target:TGLTextureTarget]: Double read GetTextureBindingTime;
Public | property TextureBufferBinding: Cardinal read FTextureBufferBinding write SetTextureBufferBinding;
Public | property TextureCompressionHint: TGLHintType read FTextureCompressionHint write SetTextureCompressionHint;
Public | property TransformFeedbackBufferBinding: Cardinal read FTransformFeedbackBufferBinding write SetTransformFeedbackBufferBinding;
Public | property UniformBufferBinding: Cardinal read FUniformBufferBinding write SetUniformBufferBinding;
Public | property UnpackAlignment: Cardinal read FUnpackAlignment write SetUnpackAlignment;
Public | property UnpackImageHeight: Cardinal read FUnpackImageHeight write SetUnpackImageHeight;
Public | property UnpackLSBFirst: TGLboolean read FUnpackLSBFirst write SetUnpackLSBFirst;
Public | property UnpackRowLength: Cardinal read FUnpackRowLength write SetUnpackRowLength;
Public | property UnpackSkipImages: Cardinal read FUnpackSkipImages write SetUnpackSkipImages;
Public | property UnpackSkipPixels: Cardinal read FUnpackSkipPixels write SetUnpackSkipPixels;
Public | property UnpackSkipRows: Cardinal read FUnpackSkipRows write SetUnpackSkipRows;
Public | property UnpackSwapBytes: TGLboolean read FUnpackSwapBytes write SetUnpackSwapBytes;
Public | property VertexArrayBinding: Cardinal read FVertexArrayBinding write SetVertexArrayBinding;
Public | property ViewPort: TVector4i read FViewPort write SetViewPort;

Description

Fields

Strict Private FFrontBackColors: array [0 .. 1, 0 .. 3] of TGLVector;

Legacy state

Strict Private FFrontBackShininess: array [0 .. 1] of Integer;
Strict Private FAlphaFunc: TGLComparisonFunction;
Strict Private FAlphaRef: Single;
Strict Private FPolygonBackMode: TGLPolygonMode;
Strict Private FMaxLights: Cardinal;

Front + back have same polygon mode Lighting state

Strict Private FLightEnabling: array [0 .. MAX_HARDWARE_LIGHT - 1] of Boolean;
Strict Private FLightIndices: array [0 .. MAX_HARDWARE_LIGHT - 1] of TGLint;
Strict Private FLightNumber: Integer;
Strict Private FLightStates: TGLLightSourceState;
Strict Private FSpotCutoff: array [0 .. MAX_HARDWARE_LIGHT - 1] of Single;
Strict Private FShaderLightStates: TGLShaderLightSourceState;
Strict Private FShaderLightStatesChanged: Boolean;
Strict Private FColorWriting: Boolean;
Strict Private FStates: TGLStates;

TODO: change to per draw buffer (FColorWriteMask)

Strict Private FListStates: array of TGLStateTypes;
Strict Private FCurrentList: Cardinal;
Strict Private FTextureMatrixIsIdentity: array [0 .. 3] of Boolean;
Strict Private FFFPLight: Boolean;

FForwardContext: Boolean;

Strict Private FVertexArrayBinding: Cardinal;

Vertex Array Data state

Strict Private FArrayBufferBinding: Cardinal;
Strict Private FElementBufferBinding: Cardinal;
Strict Private FTextureBufferBinding: Cardinal;
Strict Private FEnablePrimitiveRestart: TGLboolean;
Strict Private FPrimitiveRestartIndex: Cardinal;
Strict Private FViewPort: TVector4i;

Transformation state

Strict Private FDepthRange: array [0 .. 1] of TGLclampd;
Strict Private FEnableClipDistance: array [0 .. 7] of TGLboolean;
Strict Private FEnableDepthClamp: TGLboolean;
Strict Private FClampReadColor: Cardinal;

Coloring state

Strict Private FProvokingVertex: Cardinal;

GL_FIXED_ONLY

Strict Private FPointSize: TGLfloat;

GL_LAST_VERTEX_CONVENTION Rasterization state

Strict Private FPointFadeThresholdSize: TGLfloat;
Strict Private FPointSpriteCoordOrigin: Cardinal;
Strict Private FLineWidth: Single;

GL_UPPER_LEFT

Strict Private FLineStippleFactor: TGLint;
Strict Private FLineStipplePattern: TGLushort;
Strict Private FEnableLineSmooth: TGLboolean;
Strict Private FEnableCullFace: TGLboolean;
Strict Private FCullFaceMode: TGLCullFaceMode;
Strict Private FFrontFace: TGLFaceWinding;
Strict Private FEnablePolygonSmooth: TGLboolean;
Strict Private FPolygonMode: TGLPolygonMode;
Strict Private FPolygonOffsetFactor: TGLfloat;
Strict Private FPolygonOffsetUnits: TGLfloat;
Strict Private FEnablePolygonOffsetPoint: TGLboolean;
Strict Private FEnablePolygonOffsetLine: TGLboolean;
Strict Private FEnablePolygonOffsetFill: TGLboolean;
Strict Private FEnableMultisample: TGLboolean;

Multisample state

Strict Private FEnableSampleAlphaToCoverage: TGLboolean;
Strict Private FEnableSampleAlphaToOne: TGLboolean;
Strict Private FEnableSampleCoverage: TGLboolean;
Strict Private FSampleCoverageValue: TGLfloat;
Strict Private FSampleCoverageInvert: TGLboolean;
Strict Private FEnableSampleMask: TGLboolean;
Strict Private FSampleMaskValue: array [0 .. 15] of TGLbitfield;
Strict Private FMaxTextureSize: Cardinal;

Texture state

Strict Private FMax3DTextureSize: Cardinal;
Strict Private FMaxCubeTextureSize: Cardinal;
Strict Private FMaxArrayTextureSize: Cardinal;
Strict Private FMaxTextureImageUnits: Cardinal;
Strict Private FMaxTextureAnisotropy: Cardinal;
Strict Private FMaxSamples: Cardinal;
Strict Private FTextureBinding: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1, TGLTextureTarget] of Cardinal;
Strict Private FTextureBindingTime: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1, TGLTextureTarget] of Double;
Strict Private FSamplerBinding: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1] of Cardinal;
Strict Private FActiveTexture: TGLint;

Active texture state

Strict Private FActiveTextureEnabling: array [0 .. MAX_HARDWARE_TEXTURE_UNIT - 1, TGLTextureTarget] of Boolean;

0 .. Max_texture_units

Strict Private FEnableScissorTest: TGLboolean;

Pixel operation state

Strict Private FScissorBox: TVector4i;
Strict Private FEnableStencilTest: TGLboolean;
Strict Private FStencilFunc: TGLStencilFunction;
Strict Private FStencilValueMask: Cardinal;
Strict Private FStencilRef: TGLint;
Strict Private FStencilFail: TGLStencilOp;
Strict Private FStencilPassDepthFail: TGLStencilOp;
Strict Private FStencilPassDepthPass: TGLStencilOp;
Strict Private FStencilBackFunc: TGLStencilFunction;
Strict Private FStencilBackValueMask: Cardinal;
Strict Private FStencilBackRef: Cardinal;
Strict Private FStencilBackFail: TGLStencilOp;
Strict Private FStencilBackPassDepthPass: TGLStencilOp;
Strict Private FStencilBackPassDepthFail: TGLStencilOp;
Strict Private FEnableDepthTest: TGLboolean;
Strict Private FDepthFunc: TGLDepthFunction;
Strict Private FEnableBlend: array [0 .. 15] of TGLboolean;
Strict Private FBlendSrcRGB: TGLBlendFunction;
Strict Private FBlendSrcAlpha: TGLBlendFunction;
Strict Private FBlendDstRGB: TGLDstBlendFunction;
Strict Private FBlendDstAlpha: TGLDstBlendFunction;
Strict Private FBlendEquationRGB: TGLBlendEquation;
Strict Private FBlendEquationAlpha: TGLBlendEquation;
Strict Private FBlendColor: TGLVector;
Strict Private FEnableFramebufferSRGB: TGLboolean;
Strict Private FEnableDither: TGLboolean;
Strict Private FEnableColorLogicOp: TGLboolean;
Strict Private FLogicOpMode: TGLLogicOp;
Strict Private FColorWriteMask: array [0 .. 15] of TGLColorMask;

Framebuffer control state

Strict Private FDepthWriteMask: TGLboolean;
Strict Private FStencilWriteMask: Cardinal;
Strict Private FStencilBackWriteMask: Cardinal;
Strict Private FColorClearValue: TGLVector;
Strict Private FDepthClearValue: TGLfloat;
Strict Private FStencilClearValue: Cardinal;
Strict Private FDrawFrameBuffer: Cardinal;

Framebuffer state

Strict Private FReadFrameBuffer: Cardinal;
Strict Private FRenderBuffer: Cardinal;

Renderbuffer state

Strict Private FUnpackSwapBytes: TGLboolean;

Pixels state

Strict Private FUnpackLSBFirst: TGLboolean;
Strict Private FUnpackImageHeight: Cardinal;
Strict Private FUnpackSkipImages: Cardinal;
Strict Private FUnpackRowLength: Cardinal;
Strict Private FUnpackSkipRows: Cardinal;
Strict Private FUnpackSkipPixels: Cardinal;
Strict Private FUnpackAlignment: Cardinal;
Strict Private FPackSwapBytes: TGLboolean;
Strict Private FPackLSBFirst: TGLboolean;
Strict Private FPackImageHeight: Cardinal;
Strict Private FPackSkipImages: Cardinal;
Strict Private FPackRowLength: Cardinal;
Strict Private FPackSkipRows: Cardinal;
Strict Private FPackSkipPixels: Cardinal;
Strict Private FPackAlignment: Cardinal;
Strict Private FPixelPackBufferBinding: Cardinal;
Strict Private FPixelUnpackBufferBinding: Cardinal;
Strict Private FCurrentProgram: Cardinal;

Program state

Strict Private FMaxTextureUnits: Cardinal;
Strict Private FUniformBufferBinding: Cardinal;
Strict Private FUBOStates: array [TGLBufferBindingTarget, 0 .. MAX_HARDWARE_UNIFORM_BUFFER_BINDING - 1] of TUBOStates;
Strict Private FCurrentVertexAttrib: array [0 .. 15] of TGLVector;

Vector + Geometry Shader state

Strict Private FEnableProgramPointSize: TGLboolean;
Strict Private FTransformFeedbackBufferBinding: Cardinal;

Transform Feedback state

Strict Private FTextureCompressionHint: TGLHintType;

Hints state

Strict Private FPolygonSmoothHint: TGLHintType;
Strict Private FFragmentShaderDerivitiveHint: TGLHintType;
Strict Private FLineSmoothHint: TGLHintType;
Strict Private FMultisampleFilterHint: TGLHintType;
Strict Private FCurrentQuery: array [TGLQueryType] of Cardinal;

Misc state

Strict Private FCopyReadBufferBinding: Cardinal;
Strict Private FCopyWriteBufferBinding: Cardinal;
Strict Private FEnableTextureCubeMapSeamless: TGLboolean;
Strict Private FInsideList: Boolean;
Strict Private FOnLightsChanged: TGLOnLightsChanged;

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Public function GetLightIndicesAsAddress: PGLInt;
Public function GetLightStateAsAddress: Pointer;
Protected function GetActiveTextureEnabled(target: TGLTextureTarget): Boolean; inline;
Protected function GetArrayBufferBinding: Cardinal; inline;
Protected function GetColorWriteMask(index: Integer): TGLColorMask; inline;

Framebuffer control

Protected function GetConstantAtten(I: Integer): Single; inline;
Protected function GetCurrentQuery(index: TGLQueryType): Cardinal; inline;

Misc

Protected function GetCurrentVertexAttrib(index: Integer): TGLVector; inline;

Vector + Geometry Shader state

Protected function GetDepthRangeFar: TGLclampd; inline;
Protected function GetDepthRangeNear: TGLclampd; inline;
Protected function GetElementBufferBinding: Cardinal; inline;
Protected function GetEnableBlend(index: Integer): TGLboolean; inline;
Protected function GetEnableClipDistance(ClipDistance: Cardinal): TGLboolean; inline;
Protected function GetEnablePrimitiveRestart: TGLboolean; inline;
Protected function GetLightAmbient(I: Integer): TGLVector; inline;
Protected function GetLightDiffuse(I: Integer): TGLVector; inline;
Protected function GetLightEnabling(I: Integer): Boolean; inline;
Protected function GetLightPosition(I: Integer): TGLVector; inline;
Protected function GetLightSpecular(I: Integer): TGLVector; inline;
Protected function GetLightSpotDirection(I: Integer): TAffineVector; inline;
Protected function GetLinearAtten(I: Integer): Single; inline;
Protected function GetMaterialAmbient(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected function GetMaterialDiffuse(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected function GetMaterialEmission(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected function GetMaterialShininess(const aFace: TGLCullFaceMode): Integer; inline;
Protected function GetMaterialSpecular(const aFace: TGLCullFaceMode): TGLVector; inline;
Protected function GetMax3DTextureSize: Cardinal; inline;
Protected function GetMaxArrayTextureSize: Cardinal; inline;
Protected function GetMaxCubeTextureSize: Cardinal; inline;
Protected function GetMaxLights: Integer; inline;
Protected function GetMaxSamples: Cardinal; inline;
Protected function GetMaxTextureAnisotropy: Cardinal; inline;
Protected function GetMaxTextureImageUnits: Cardinal; inline;
Protected function GetMaxTextureSize: Cardinal; inline;

Texture state

Protected function GetMaxTextureUnits: Cardinal; inline;
Protected function GetPrimitiveRestartIndex: Cardinal; inline;
Protected function GetQuadAtten(I: Integer): Single; inline;
Protected function GetSampleMaskValue(index: Integer): TGLbitfield; inline;
Protected function GetSamplerBinding(index: Cardinal): Cardinal; inline;
Protected function GetSpotCutoff(I: Integer): Single; inline;
Protected function GetSpotExponent(I: Integer): Single; inline;
Protected function GetTextureBinding(index: Integer; target: TGLTextureTarget): Cardinal; inline;
Protected function GetTextureBindingTime(index: Integer; target: TGLTextureTarget): Double; inline;
Public procedure BeginQuery(const target: TGLQueryType; const Value: Cardinal); inline;

Begins a query of "Target" type. "Value" must be a valid query object

Public procedure CallList(list: Cardinal); inline;

Call display list

Public procedure Disable(const aState: TGLState);
Public procedure Enable(const aState: TGLState);
Public procedure EndList; inline;

End display list

Public procedure EndQuery(const target: TGLQueryType); inline;

Ends current query of type "Target"

Public procedure InvertGLFrontFace; inline;

Inverts front face winding (CCW/CW)

Public procedure NewList(list: Cardinal; mode: Cardinal); inline;

Begin new display list

Public procedure PerformDisable(const aState: TGLState); inline;
Public procedure PerformEnable(const aState: TGLState); inline;
Public procedure PopAttrib(); inline;
Public procedure PushAttrib(const stateTypes: TGLStateTypes); inline;
Public procedure ResetAll; deprecated; inline;

Warning: this symbol is deprecated.

Public procedure ResetAllGLTextureMatrix; inline;
Public procedure ResetGLCurrentTexture; deprecated;

Warning: this symbol is deprecated.

Public procedure ResetGLFrontFace; deprecated;

Warning: this symbol is deprecated.

Public procedure ResetGLMaterialColors; deprecated; inline;

Warning: this symbol is deprecated.

Public procedure ResetGLPolygonMode; deprecated; inline;

Warning: this symbol is deprecated.

Public procedure ResetGLTexture(const TextureUnit: Integer); deprecated; inline;

Warning: this symbol is deprecated.

Public procedure ResetGLTextureMatrix; inline;
Public procedure SetBlendEquation(const mode: TGLBlendEquation); inline;

write SetBlendEquationAlpha; Sets the blend equation for RGB + alpha to the same value.

Public procedure SetBlendEquationSeparate(const modeRGB, modeAlpha: TGLBlendEquation); inline;

Sets the blend equations for RGB + alpha separately.

Public procedure SetBlendFunc(const Src: TGLBlendFunction; const Dst: TGLDstBlendFunction); inline;

Sets the weighting factors to be used by the blending equation, for both color + alpha

Public procedure SetBlendFuncSeparate(const SrcRGB: TGLBlendFunction; const DstRGB: TGLDstBlendFunction; const SrcAlpha: TGLBlendFunction; const DstAlpha: TGLDstBlendFunction); inline;

Sets the weighting factors to be used by the blending equation, with separate values used for color + alpha components.

Public procedure SetBufferIndexedBinding(const Value: Cardinal; ATarget: TGLBufferBindingTarget; AIndex: Cardinal; ABufferSize: TGLsizeiptr); overload; inline;
Public procedure SetBufferIndexedBinding(const Value: Cardinal; ATarget: TGLBufferBindingTarget; AIndex: Cardinal; AOffset: TGLintptr; ARangeSize: TGLsizeiptr); overload; inline;
Public procedure SetColorMask(mask: TGLColorMask); inline;

Set the color write mask for all draw buffers.

Public procedure SetDepthRange(const ZNear, ZFar: TGLclampd); inline;

Modifies the near + far clipping planes

Public procedure SetFrameBuffer(const Value: Cardinal); inline;

set both draw + read framebuffer.

Public procedure SetGLAlphaFunction(func: TGLComparisonFunction; ref: Single); inline;

Blending states

Public procedure SetGLColorWriting(flag: Boolean); inline;

note: needs to change to per draw-buffer

Public procedure SetGLFrontFaceCW; deprecated; inline;

Warning: this symbol is deprecated.

Public procedure SetGLMaterialAlphaChannel(const aFace: Cardinal; const alpha: TGLfloat);

Adjusts material alpha channel for a face

Public procedure SetGLMaterialColors(const aFace: TGLCullFaceMode; const emission, Ambient, Diffuse, Specular: TGLVector; const shininess: Integer);

Adjusts material colors for a face

Public procedure SetGLMaterialDiffuseColor(const aFace: Cardinal; const Diffuse: TGLVector);

Adjusts material diffuse color for a face

Public procedure SetGLState(const aState: TGLState); deprecated; inline;

Warning: this symbol is deprecated.

Public procedure SetGLTextureMatrix(const matrix: TGLMatrix); inline;

Defines the OpenGL texture matrix. Assumed texture mode is GL_MODELVIEW.

Public procedure SetPolygonOffset(const factor, units: TGLfloat);

Set polygon offset

Public procedure SetSampleCoverage(const Value: TGLfloat; invert: TGLboolean);

Set sample coverage

Public procedure SetStencilFunc(const func: TGLStencilFunction; const ref: TGLint; const mask: Cardinal); inline;

Used to set stencil Function, Reference + Mask values, for both front + back facing primitives.

Public procedure SetStencilFuncSeparate(const face: TGLCullFaceMode; const func: TGLStencilFunction; const ref: TGLint; const mask: Cardinal); inline;

Used to set stencil Function, Reference + Mask values for either the front or back facing primitives (or both, which is the same as calling SetStencilFunc).

Public procedure SetStencilOp(const fail, zfail, zpass: TGLStencilOp); inline;

Used to set the StencilFail, StencilPassDepthFail + StencilPassDepthPass in one go.

Public procedure SetStencilOpSeparate(const face: TGLCullFaceMode; const sfail, dpfail, dppass: TGLStencilOp); inline;

Used to set the StencilFail, StencilPassDepthFail + StencilPassDepthPass in one go, for either front or back facing primitives.

Public procedure UnSetGLState(const aState: TGLState); deprecated; inline;

Warning: this symbol is deprecated.

Protected procedure SetActiveTexture(const Value: TGLint); inline;

Active texture

Protected procedure SetActiveTextureEnabled(target: TGLTextureTarget; const Value: Boolean); inline;
Protected procedure SetArrayBufferBinding(const Value: Cardinal); inline;
Protected procedure SetBlendColor(const Value: TGLVector); inline;
Protected procedure SetClampReadColor(const Value: Cardinal); inline;

Coloring state

Protected procedure SetColorClearValue(const Value: TGLVector); inline;
Protected procedure SetColorWriteMask(index: Integer; const Value: TGLColorMask); inline;
Protected procedure SetConstantAtten(I: Integer; const Value: Single); inline;
Protected procedure SetCopyReadBufferBinding(const Value: Cardinal); inline;

procedure SetCurrentQuery(Index: TQueryType; const Value: Cardinal);

Protected procedure SetCopyWriteBufferBinding(const Value: Cardinal); inline;
Protected procedure SetCullFaceMode(const Value: TGLCullFaceMode); inline;
Protected procedure SetCurrentProgram(const Value: Cardinal); inline;

Program

Protected procedure SetCurrentVertexAttrib(index: Integer; const Value: TGLVector); inline;
Protected procedure SetDepthClearValue(const Value: TGLfloat); inline;
Protected procedure SetDepthFunc(const Value: TGLDepthFunction); inline;
Protected procedure SetDepthRangeFar(const Value: TGLclampd); inline;
Protected procedure SetDepthRangeNear(const Value: TGLclampd); inline;
Protected procedure SetDepthWriteMask(const Value: TGLboolean); inline;
Protected procedure SetDrawFrameBuffer(const Value: Cardinal); inline;

Framebuffer

Protected procedure SetElementBufferBinding(const Value: Cardinal); inline;
Protected procedure SetEnableBlend(index: Integer; const Value: TGLboolean); inline;
Protected procedure SetEnableClipDistance(index: Cardinal; const Value: TGLboolean); inline;
Protected procedure SetEnableColorLogicOp(const Value: TGLboolean); inline;
Protected procedure SetEnableCullFace(const Value: TGLboolean); inline;
Protected procedure SetEnableDepthClamp(const enabled: TGLboolean); inline;
Protected procedure SetEnableDepthTest(const Value: TGLboolean); inline;
Protected procedure SetEnableDither(const Value: TGLboolean); inline;
Protected procedure SetEnableFramebufferSRGB(const Value: TGLboolean); inline;
Protected procedure SetEnableLineSmooth(const Value: TGLboolean); inline;
Protected procedure SetEnableMultisample(const Value: TGLboolean); inline;

Multisample state

Protected procedure SetEnablePolygonOffsetFill(const Value: TGLboolean); inline;
Protected procedure SetEnablePolygonOffsetLine(const Value: TGLboolean); inline;
Protected procedure SetEnablePolygonOffsetPoint(const Value: TGLboolean); inline;
Protected procedure SetEnablePolygonSmooth(const Value: TGLboolean); inline;
Protected procedure SetEnablePrimitiveRestart(const enabled: TGLboolean); inline;
Protected procedure SetEnableProgramPointSize(const Value: TGLboolean); inline;
Protected procedure SetEnableSampleAlphaToCoverage(const Value: TGLboolean); inline;
Protected procedure SetEnableSampleAlphaToOne(const Value: TGLboolean); inline;
Protected procedure SetEnableSampleCoverage(const Value: TGLboolean); inline;
Protected procedure SetEnableSampleMask(const Value: TGLboolean); inline;
Protected procedure SetEnableScissorTest(const Value: TGLboolean); inline;

Pixel operations

Protected procedure SetEnableStencilTest(const Value: TGLboolean); inline;
Protected procedure SetEnableTextureCubeMapSeamless(const Value: TGLboolean); inline;
Protected procedure SetFFPLight(Value: Boolean); inline;

Ligting

Protected procedure SetForwardContext(Value: Boolean); inline;
Protected procedure SetFragmentShaderDerivitiveHint(const Value: TGLHintType); inline;
Protected procedure SetFrontFace(const Value: TGLFaceWinding); inline;
Protected procedure SetLightAmbient(I: Integer; const Value: TGLVector); inline;
Protected procedure SetLightDiffuse(I: Integer; const Value: TGLVector); inline;
Protected procedure SetLightEnabling(I: Integer; Value: Boolean); inline;
Protected procedure SetLightPosition(I: Integer; const Value: TGLVector); inline;
Protected procedure SetLightSpecular(I: Integer; const Value: TGLVector); inline;
Protected procedure SetLightSpotDirection(I: Integer; const Value: TAffineVector); inline;
Protected procedure SetLinearAtten(I: Integer; const Value: Single); inline;
Protected procedure SetLineSmoothHint(const Value: TGLHintType); inline;

Hints

Protected procedure SetLineStippleFactor(const Value: TGLint); inline;
Protected procedure SetLineStipplePattern(const Value: TGLushort); inline;
Protected procedure SetLineWidth(const Value: TGLfloat); inline;
Protected procedure SetLogicOpMode(const Value: TGLLogicOp); inline;
Protected procedure SetMultisampleFilterHint(const Value: TGLHintType); inline;
Protected procedure SetPackAlignment(const Value: Cardinal); inline;
Protected procedure SetPackImageHeight(const Value: Cardinal); inline;
Protected procedure SetPackLSBFirst(const Value: TGLboolean); inline;
Protected procedure SetPackRowLength(const Value: Cardinal); inline;
Protected procedure SetPackSkipImages(const Value: Cardinal); inline;
Protected procedure SetPackSkipPixels(const Value: Cardinal); inline;
Protected procedure SetPackSkipRows(const Value: Cardinal); inline;
Protected procedure SetPackSwapBytes(const Value: TGLboolean); inline;
Protected procedure SetPixelPackBufferBinding(const Value: Cardinal);
Protected procedure SetPixelUnpackBufferBinding(const Value: Cardinal);
Protected procedure SetPointFadeThresholdSize(const Value: TGLfloat); inline;
Protected procedure SetPointSize(const Value: TGLfloat); inline;

Rasterization state

Protected procedure SetPointSpriteCoordOrigin(const Value: Cardinal); inline;
Protected procedure SetPolygonMode(const Value: TGLPolygonMode); inline;
Protected procedure SetPolygonOffsetFactor(const Value: TGLfloat); inline;
Protected procedure SetPolygonOffsetUnits(const Value: TGLfloat); inline;
Protected procedure SetPolygonSmoothHint(const Value: TGLHintType); inline;
Protected procedure SetPrimitiveRestartIndex(const index: Cardinal); inline;
Protected procedure SetProvokingVertex(const Value: Cardinal); inline;
Protected procedure SetQuadAtten(I: Integer; const Value: Single); inline;
Protected procedure SetReadFrameBuffer(const Value: Cardinal); inline;
Protected procedure SetRenderBuffer(const Value: Cardinal); inline;

Renderbuffer

Protected procedure SetSampleCoverageInvert(const Value: TGLboolean); inline;
Protected procedure SetSampleCoverageValue(const Value: TGLfloat); inline;
Protected procedure SetSampleMaskValue(index: Integer; const Value: TGLbitfield); inline;
Protected procedure SetSamplerBinding(index: Cardinal; const Value: Cardinal); inline;
Protected procedure SetScissorBox(const Value: TVector4i); inline;
Protected procedure SetSpotCutoff(I: Integer; const Value: Single); inline;
Protected procedure SetSpotExponent(I: Integer; const Value: Single); inline;
Protected procedure SetStencilBackWriteMask(const Value: Cardinal); inline;
Protected procedure SetStencilClearValue(const Value: Cardinal); inline;
Protected procedure SetStencilWriteMask(const Value: Cardinal); inline;
Protected procedure SetTextureBinding(index: Integer; target: TGLTextureTarget; const Value: Cardinal);
Protected procedure SetTextureBufferBinding(const Value: Cardinal); inline;
Protected procedure SetTextureCompressionHint(const Value: TGLHintType); inline;
Protected procedure SetTransformFeedbackBufferBinding(const Value: Cardinal); inline;

Transform Feedback state

Protected procedure SetUniformBufferBinding(const Value: Cardinal); inline;
Protected procedure SetUnpackAlignment(const Value: Cardinal); inline;
Protected procedure SetUnpackImageHeight(const Value: Cardinal); inline;
Protected procedure SetUnpackLSBFirst(const Value: TGLboolean); inline;
Protected procedure SetUnpackRowLength(const Value: Cardinal); inline;
Protected procedure SetUnpackSkipImages(const Value: Cardinal); inline;
Protected procedure SetUnpackSkipPixels(const Value: Cardinal); inline;
Protected procedure SetUnpackSkipRows(const Value: Cardinal); inline;
Protected procedure SetUnpackSwapBytes(const Value: TGLboolean); inline;

Pixels

Protected procedure SetVertexArrayBinding(const Value: Cardinal); inline;

Vertex Array Data state

Protected procedure SetViewPort(const Value: TVector4i); inline;

Transformation state

Properties

Public property ActiveTexture: TGLint read FActiveTexture write SetActiveTexture;

The active texture unit. Valid values are 0 .. Max texture units.

Public property ActiveTextureEnabled[target:TGLTextureTarget]: Boolean read GetActiveTextureEnabled write SetActiveTextureEnabled;
Public property ArrayBufferBinding: Cardinal read GetArrayBufferBinding write SetArrayBufferBinding;

The currently bound vertex buffer object (VAO)

Public property BlendColor: TGLVector read FBlendColor write SetBlendColor;

A constant blend color, that can be used in the blend equation.

Public property BlendDstAlpha: TGLDstBlendFunction read FBlendDstAlpha;

The weighting factor used in blending equation, for destination alpha.

Public property BlendDstRGB: TGLDstBlendFunction read FBlendDstRGB;

The weighting factor used in blending equation, for destination RGB.

Public property BlendEquationAlpha: TGLBlendEquation read FBlendEquationAlpha;

The blending equation. Determines how the incoming source fragment's alpha values are combined with the destination alpha values.

Public property BlendEquationRGB: TGLBlendEquation read FBlendEquationRGB;

The blending equation. Determines how the incoming source fragment's RGB are combined with the destination RGB.

Public property BlendSrcAlpha: TGLBlendFunction read FBlendSrcAlpha;

The weighting factor used in blending equation, for source alpha.

Public property BlendSrcRGB: TGLBlendFunction read FBlendSrcRGB;

The weighting factor used in blending equation, for source RGB.

Public property ClampReadColor: Cardinal read FClampReadColor write SetClampReadColor;

Coloring state Controls read color clamping

Public property ColorClearValue: TGLVector read FColorClearValue write SetColorClearValue;

The color clear value.

Public property ColorWriteMask[Index:Integer]: TGLColorMask read GetColorWriteMask write SetColorWriteMask;

The color write mask, for each draw buffer.

Public property CopyReadBufferBinding: Cardinal read FCopyReadBufferBinding write SetCopyReadBufferBinding;

The buffer currently bound to the copy read buffer binding point, this is an extra binding point provided so that you don't need to overwrite other binding points to copy between buffers.

Public property CopyWriteBufferBinding: Cardinal read FCopyWriteBufferBinding write SetCopyWriteBufferBinding;

The buffer currently bound to the copy write buffer binding point, this is an extra binding point provided so that you don't need to overwrite other binding points to copy between buffers.

Public property CullFaceMode: TGLCullFaceMode read FCullFaceMode write SetCullFaceMode;

Selects which faces to cull: front, back or front+back

Public property CurrentProgram: Cardinal read FCurrentProgram write SetCurrentProgram;

Currently bound program

Public property CurrentQuery[Index:TGLQueryType]: Cardinal read GetCurrentQuery;

Current queries

Public property CurrentVertexAttrib[Index:Integer]: TGLVector read GetCurrentVertexAttrib write SetCurrentVertexAttrib;

Default values to be used when a vertex array is not used for that attribute

Public property DepthClearValue: TGLfloat read FDepthClearValue write SetDepthClearValue;

The depth clear value.

Public property DepthFunc: TGLDepthFunction read FDepthFunc write SetDepthFunc;

The depth function. Used to determine whether to keep a fragment or discard it, depending on the current value stored in the depth buffer.

Public property DepthRangeFar: TGLclampd read GetDepthRangeFar write SetDepthRangeFar;

The far clipping plane distance

Public property DepthRangeNear: TGLclampd read GetDepthRangeNear write SetDepthRangeNear;

The near clipping plane distance

Public property DepthWriteMask: TGLboolean read FDepthWriteMask write SetDepthWriteMask;

The depth write mask.

Public property DrawFrameBuffer: Cardinal read FDrawFrameBuffer write SetDrawFrameBuffer;

Framebuffer to be used for draw operations, 0 = default framebuffer.

Public property ElementBufferBinding: Cardinal read GetElementBufferBinding write SetElementBufferBinding;

The currently bound element buffer object (EBO)

Public property EnableBlend[Index:Integer]: TGLboolean read GetEnableBlend write SetEnableBlend;

Enables/disables blending for each draw buffer.

Public property EnableClipDistance[Index:Cardinal]: TGLboolean read GetEnableClipDistance write SetEnableClipDistance;

Enables/Disables each of the clip distances, used in shaders

Public property EnableColorLogicOp: TGLboolean read FEnableColorLogicOp write SetEnableColorLogicOp;

Enables/disables color logic op.

Public property EnableCullFace: TGLboolean read FEnableCullFace write SetEnableCullFace;

Enable/Disable face culling

Public property EnableDepthClamp: TGLboolean read FEnableDepthClamp write SetEnableDepthClamp;

Enables/Disables depth clamping

Public property EnableDepthTest: TGLboolean read FEnableDepthTest write SetEnableDepthTest;

Enables/disables depth testing.

Public property EnableDither: TGLboolean read FEnableDither write SetEnableDither;

Enables/disables dithering.

Public property EnableFramebufferSRGB: TGLboolean read FEnableFramebufferSRGB write SetEnableFramebufferSRGB;

Enables/disables framebuffer SRGB.

Public property EnableLineSmooth: TGLboolean read FEnableLineSmooth write SetEnableLineSmooth;

Enable/Disable line smoothing

Public property EnableMultisample: TGLboolean read FEnableMultisample write SetEnableMultisample;

Multisample state Enable/Disable multisampling

Public property EnablePolygonOffsetFill: TGLboolean read FEnablePolygonOffsetFill write SetEnablePolygonOffsetFill;

Enable/Disable polygon offset for polygons in fill mode

Public property EnablePolygonOffsetLine: TGLboolean read FEnablePolygonOffsetLine write SetEnablePolygonOffsetLine;

Enable/Disable polygon offset for polygons in line mode

Public property EnablePolygonOffsetPoint: TGLboolean read FEnablePolygonOffsetPoint write SetEnablePolygonOffsetPoint;

Enable/Disable polygon offset for polygons in point mode

Public property EnablePolygonSmooth: TGLboolean read FEnablePolygonSmooth write SetEnablePolygonSmooth;

Enables/Disables polygon smoothing.

Public property EnablePrimitiveRestart: TGLboolean read GetEnablePrimitiveRestart write SetEnablePrimitiveRestart;

Determines whether primitive restart is turned on or off

Public property EnableProgramPointSize: TGLboolean read FEnableProgramPointSize write SetEnableProgramPointSize;

Enables/disables program point size

Public property EnableSampleAlphaToCoverage: TGLboolean read FEnableSampleAlphaToCoverage write SetEnableSampleAlphaToCoverage;

Enable/Disable sample alpha to coverage

Public property EnableSampleAlphaToOne: TGLboolean read FEnableSampleAlphaToOne write SetEnableSampleAlphaToOne;

Enable/Disable sample alpha to one

Public property EnableSampleCoverage: TGLboolean read FEnableSampleCoverage write SetEnableSampleCoverage;

Enable/Disable sample coverage

Public property EnableSampleMask: TGLboolean read FEnableSampleMask write SetEnableSampleMask;

Enable/Disable sample mask

Public property EnableScissorTest: TGLboolean read FEnableScissorTest write SetEnableScissorTest;

Enables/Disables scissor test.

Public property EnableStencilTest: TGLboolean read FEnableStencilTest write SetEnableStencilTest;

Enables/Disables stencil test.

Public property EnableTextureCubeMapSeamless: TGLboolean read FEnableTextureCubeMapSeamless write SetEnableTextureCubeMapSeamless;

Enables/Disables seamless texture cube maps

Public property FixedFunctionPipeLight: Boolean read FFFPLight write SetFFPLight;

Lighting states

Public property FragmentShaderDerivitiveHint: TGLHintType read FFragmentShaderDerivitiveHint write SetFragmentShaderDerivitiveHint;

Fragment shader derivitive hint

Public property FrontFace: TGLFaceWinding read FFrontFace write SetFrontFace;

The winding direction that indicates a front facing primitive

Public property InsideList: Boolean read FInsideList;

Indicates the current presence within the list

Public property LightAmbient[Index:Integer]: TGLVector read GetLightAmbient write SetLightAmbient;
Public property LightConstantAtten[Index:Integer]: Single read GetConstantAtten write SetConstantAtten;
Public property LightDiffuse[Index:Integer]: TGLVector read GetLightDiffuse write SetLightDiffuse;
Public property LightEnabling[Index:Integer]: Boolean read GetLightEnabling write SetLightEnabling;
Public property LightLinearAtten[Index:Integer]: Single read GetLinearAtten write SetLinearAtten;
Public property LightNumber: Integer read FLightNumber;
Public property LightPosition[Index:Integer]: TGLVector read GetLightPosition write SetLightPosition;
Public property LightQuadraticAtten[Index:Integer]: Single read GetQuadAtten write SetQuadAtten;
Public property LightSpecular[Index:Integer]: TGLVector read GetLightSpecular write SetLightSpecular;
Public property LightSpotCutoff[Index:Integer]: Single read GetSpotCutoff write SetSpotCutoff;
Public property LightSpotDirection[Index:Integer]: TAffineVector read GetLightSpotDirection write SetLightSpotDirection;
Public property LightSpotExponent[Index:Integer]: Single read GetSpotExponent write SetSpotExponent;
Public property LineSmoothHint: TGLHintType read FLineSmoothHint write SetLineSmoothHint;

Line smooth hint

Public property LineStippleFactor: TGLint read FLineStippleFactor write SetLineStippleFactor;

The line stipple

Public property LineStipplePattern: TGLushort read FLineStipplePattern write SetLineStipplePattern;

The line stipple

Public property LineWidth: TGLfloat read FLineWidth write SetLineWidth;

The line width

Public property LogicOpMode: TGLLogicOp read FLogicOpMode write SetLogicOpMode;

Logic op mode.

Public property MaterialAmbient[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialAmbient;
Public property MaterialDiffuse[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialDiffuse;
Public property MaterialEmission[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialEmission;
Public property MaterialShininess[constaFace:TGLCullFaceMode]: Integer read GetMaterialShininess;
Public property MaterialSpecular[constaFace:TGLCullFaceMode]: TGLVector read GetMaterialSpecular;
Public property Max3DTextureSize: Cardinal read GetMax3DTextureSize;
Public property MaxArrayTextureSize: Cardinal read GetMaxArrayTextureSize;
Public property MaxCubeTextureSize: Cardinal read GetMaxCubeTextureSize;
Public property MaxLights: Integer read GetMaxLights;
Public property MaxSamples: Cardinal read GetMaxSamples;
Public property MaxTextureAnisotropy: Cardinal read GetMaxTextureAnisotropy;
Public property MaxTextureImageUnits: Cardinal read GetMaxTextureImageUnits;
Public property MaxTextureSize: Cardinal read GetMaxTextureSize;
Public property MaxTextureUnits: Cardinal read GetMaxTextureUnits;
Public property MultisampleFilterHint: TGLHintType read FMultisampleFilterHint write SetMultisampleFilterHint;
Public property OnLightsChanged: TGLOnLightsChanged read FOnLightsChanged write FOnLightsChanged;
Public property PackAlignment: Cardinal read FPackAlignment write SetPackAlignment;

Pack alignment

Public property PackImageHeight: Cardinal read FPackImageHeight write SetPackImageHeight;

Pack image height

Public property PackLSBFirst: TGLboolean read FPackLSBFirst write SetPackLSBFirst;

Whether packed data is required with LSB (least significant bit) first

Public property PackRowLength: Cardinal read FPackRowLength write SetPackRowLength;

Pack row length

Public property PackSkipImages: Cardinal read FPackSkipImages write SetPackSkipImages;

Pack skip images

Public property PackSkipPixels: Cardinal read FPackSkipPixels write SetPackSkipPixels;

Pack skip pixels

Public property PackSkipRows: Cardinal read FPackSkipRows write SetPackSkipRows;

Pack skip rows

Public property PackSwapBytes: TGLboolean read FPackSwapBytes write SetPackSwapBytes;

Controls whether byte swapping occurs during pixel packing

Public property PixelPackBufferBinding: Cardinal read FPixelPackBufferBinding write SetPixelPackBufferBinding;

Buffer bound for pixel packing (eg. ReadPixels)

Public property PixelUnpackBufferBinding: Cardinal read FPixelUnpackBufferBinding write SetPixelUnpackBufferBinding;

Buffer bound for pixel unpacking (eg. Tex*Image)

Public property PointFadeThresholdSize: TGLfloat read FPointFadeThresholdSize write SetPointFadeThresholdSize;

If multisampling is enabled, this can control when points are faded out

Public property PointSize: TGLfloat read FPointSize write SetPointSize;

The default point size, used when EnableProgramPointSize = false

Public property PointSpriteCoordOrigin: Cardinal read FPointSpriteCoordOrigin write SetPointSpriteCoordOrigin;

The texture coordinate origin of point sprites

Public property PolygonMode: TGLPolygonMode read FPolygonMode write SetPolygonMode;

Whether polygons appear filled, lines or points

Public property PolygonOffsetFactor: TGLfloat read FPolygonOffsetFactor write SetPolygonOffsetFactor;

Scales the maximum depth of the polygon

Public property PolygonOffsetUnits: TGLfloat read FPolygonOffsetUnits write SetPolygonOffsetUnits;

Scales an implementation-dependent constant that relates to the usable resolution of the depth buffer

Public property PolygonSmoothHint: TGLHintType read FPolygonSmoothHint write SetPolygonSmoothHint;

Polygon smooth hint

Public property PrimitiveRestartIndex: Cardinal read GetPrimitiveRestartIndex write SetPrimitiveRestartIndex;

The index Value that causes a primitive restart

Public property ProvokingVertex: Cardinal read FProvokingVertex write SetProvokingVertex;

The provoking vertex used in flat shading. All the vertices of each primitive will the same value determined by this property.

Public property ReadFrameBuffer: Cardinal read FReadFrameBuffer write SetReadFrameBuffer;

Framebuffer to be used for read operations, 0 = default framebuffer.

Public property RenderBuffer: Cardinal read FRenderBuffer write SetRenderBuffer;

property FrameBuffer: Cardinal read FDrawFrameBuffer write SetFrameBuffer; Renderbuffer currently bound render buffer.

Public property SampleCoverageInvert: TGLboolean read FSampleCoverageInvert write SetSampleCoverageInvert;

Inverts sample coverage Value

Public property SampleCoverageValue: TGLfloat read FSampleCoverageValue write SetSampleCoverageValue;

Sample coverage Value

Public property SampleMaskValue[Index:Integer]: TGLbitfield read GetSampleMaskValue write SetSampleMaskValue;

Sample mask values

Public property SamplerBinding[Index:Cardinal]: Cardinal read GetSamplerBinding write SetSamplerBinding;
Public property ScissorBox: TVector4i read FScissorBox write SetScissorBox;

The bounding box used in scissor test.

Public property States: TGLStates read FStates;

read only properties

Public property StencilBackFail: TGLStencilOp read FStencilBackFail;

The operation to perform when stencil test fails on back facing primitives.

Public property StencilBackFunc: TGLStencilFunction read FStencilBackFunc;

The stencil back function. Determines the comparison function to be used when comparing the reference + stored stencil values on back facing primitives.

Public property StencilBackPassDepthFail: TGLStencilOp read FStencilBackPassDepthFail;

The operation to perform when stencil test passes + depth test fails on back facing primitives.

Public property StencilBackPassDepthPass: TGLStencilOp read FStencilBackPassDepthPass;

The operation to perform when stencil test passes + depth test passes on back facing primitives.

Public property StencilBackRef: Cardinal read FStencilBackRef;

The stencil back reference value. Clamped to 0..255 with an 8 bit stencil.

Public property StencilBackValueMask: Cardinal read FStencilBackValueMask;

The stencil back value mask. Masks both the reference + stored stencil values.

Public property StencilBackWriteMask: Cardinal read FStencilBackWriteMask write SetStencilBackWriteMask;

The stencil back write mask.

Public property StencilClearValue: Cardinal read FStencilClearValue write SetStencilClearValue;

The stencil clear value.

Public property StencilFail: TGLStencilOp read FStencilFail;

write SetStencilRef; The operation to perform when stencil test fails.

Public property StencilFunc: TGLStencilFunction read FStencilFunc;

The stencil function. Determines the comparison function to be used when comparing the reference + stored stencil values.

Public property StencilPassDepthFail: TGLStencilOp read FStencilPassDepthFail;

write SetStencilFail; The operation to perform when stencil test passes + depth test fails.

Public property StencilPassDepthPass: TGLStencilOp read FStencilPassDepthPass;

The operation to perform when stencil test passes + depth test passes.

Public property StencilRef: TGLint read FStencilRef;

The stencil reference value. Clamped to 0..255 with an 8 bit stencil.

Public property StencilValueMask: Cardinal read FStencilValueMask;

The stencil value mask. Masks both the reference + stored stencil values

Public property StencilWriteMask: Cardinal read FStencilWriteMask write SetStencilWriteMask;

The stencil write mask.

Public property TextureBinding[Index:Integer;target:TGLTextureTarget]: Cardinal read GetTextureBinding write SetTextureBinding;

Textures Textures bound to each texture unit + binding point.

Public property TextureBindingTime[Index:Integer;target:TGLTextureTarget]: Double read GetTextureBindingTime;
Public property TextureBufferBinding: Cardinal read FTextureBufferBinding write SetTextureBufferBinding;

The currently bound texture buffer object (TBO)

Public property TextureCompressionHint: TGLHintType read FTextureCompressionHint write SetTextureCompressionHint;

Texture compression hint

Public property TransformFeedbackBufferBinding: Cardinal read FTransformFeedbackBufferBinding write SetTransformFeedbackBufferBinding;

Currently bound transform feedbac buffer

Public property UniformBufferBinding: Cardinal read FUniformBufferBinding write SetUniformBufferBinding;

Currently bound uniform buffer

Public property UnpackAlignment: Cardinal read FUnpackAlignment write SetUnpackAlignment;

Unpack alignment

Public property UnpackImageHeight: Cardinal read FUnpackImageHeight write SetUnpackImageHeight;

Unpack image height

Public property UnpackLSBFirst: TGLboolean read FUnpackLSBFirst write SetUnpackLSBFirst;

Whether unpacked data is required with LSB (least significant bit) first.

Public property UnpackRowLength: Cardinal read FUnpackRowLength write SetUnpackRowLength;

Unpack row length

Public property UnpackSkipImages: Cardinal read FUnpackSkipImages write SetUnpackSkipImages;

Unpack skip images

Public property UnpackSkipPixels: Cardinal read FUnpackSkipPixels write SetUnpackSkipPixels;

Unpack skip pixels

Public property UnpackSkipRows: Cardinal read FUnpackSkipRows write SetUnpackSkipRows;

Unpack skip rows

Public property UnpackSwapBytes: TGLboolean read FUnpackSwapBytes write SetUnpackSwapBytes;

Controls whether byte swapping occurs during pixel unpacking.

Public property VertexArrayBinding: Cardinal read FVertexArrayBinding write SetVertexArrayBinding;

The currently bound array buffer (calling glVertexAttribPointer locks this buffer to the currently bound VBO).

Public property ViewPort: TVector4i read FViewPort write SetViewPort;

Transformation state


GLSysHelp v.2.1: GLS.State: Record TStateRecord

Record TStateRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.State

Declaration

type TStateRecord = record

Description

Overview

Fields

Public | GLConst: Cardinal;
Public | GLDeprecated: Boolean;

Description

Fields

Public GLConst: Cardinal;
Public GLDeprecated: Boolean;


GLSysHelp v.2.1: GLS.Strings

Unit GLS.Strings

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Overview

Constants

strDot = '.';
strError = 'Error!';
strErrorEx = 'Error: ';
strErrorLIB = 'ErrorLIB';
strInvalidType = 'Invalid data type';
strNothing = 'Nothing';
strStateCashMissing = 'States cash missing: ';
strUnknownArchiveVersion = 'Unknown archive version: ';
strObjectsNotSupported = 'Linked object not supported';
strGLSceneEditor = 'GLScene Editor';
strNoRenderingContext = 'Could not create a rendering context';
strWrongVersion = 'Need at least OpenGL version 1.1';
strTooManyLights = 'Too many lights in the scene';
strDisplayList = 'Failed to create a new display list for object ''%s''';
strWrongBitmapCanvas = 'Couldn''t create a rendering context for the given bitmap';
strWrongPrinter = 'Couldn''t render to printer';
strAlreadyRendering = 'Already rendering';
strSceneViewerNotDefined = 'SceneViewer not defined!';
strCadencerNotDefined = 'Cadencer not defined!';
strCadencerNotDefinedEx = 'Cadencer not defined for the ''%s'' component';
strCannotAlterAnActiveContext = 'Cannot alter an active context';
strContextActivationFailed = 'Context activation failed: %X, %s';
strContextAlreadyCreated = 'Context already created';
strContextDeactivationFailed = 'Context deactivation failed';
strContextNotCreated = 'Context not created';
strDeleteContextFailed = 'Delete context failed';
strFailedToShare = 'DoCreateContext - Failed to share contexts';
strIncompatibleContexts = 'Incompatible contexts';
strInvalidContextRegistration = 'Invalid context registration';
strInvalidNotificationRemoval = 'Invalid notification removal';
strNoActiveRC = 'No active rendering context';
strUnbalancedContexActivations = 'Unbalanced context activations';
strUnableToCreateLegacyContext = 'Unable to create legacy context';
strOpenGLError = 'OpenGL error - %s';
str3DSMapNotFound = 'Loading %s map texture failed: %s in %s';
strError3DS_NO_MEM = 'Not enough memory to complete operation.';
strError3DS_INVALID_ARG = 'The argument passed to the function is invalid.'#13+ 'Usually caused by a nil pointer or an out of range numeric argument.';
strError3DS_INVALID_DATA = 'The structure passed as an argument to the function has'#13+ 'invalid or out of range data in its fields.';
strError3DS_INVALID_CHUNK = 'An invalid Chunk structure was encountered while reading'#13+ 'the database. Usually caused by a corrupt database or file.';
strError3DS_INVALID_DATABASE = 'The database passed as an argument has not be created yet.';
strError3DS_WRONG_DATABASE = 'The database passed as an argument is the wrong kind of'#13+ 'database for this function.';
strError3DS_UNFOUND_CHUNK = 'The database is missing important file chunks needed to'#13+ 'fill out the requested structure. Usually caused by a corrupt database or file.';
strError3DS_WRONG_OBJECT = 'The Name passed to the functions exists but is not the type of object asked for.'#13+ 'For example asking for a mesh object with the GetCameraByName3DS function.';
strError3DS_NO_SUCH_FILE = 'The FileName passed as an argument for reading does not exist.';
strError3DS_INIT_FAILED = 'Failed to initialize structure passed as an argument.';
strError3DS_OPENING_FILE = 'Could not open requested file.';
strError3DS_CLOSING_FILE = 'Could not close requested file.';
strError3DS_READING_FILE = 'Error occured while reading file.';
strError3DS_CREATING_DATABASE = 'Error occured while creating database.';
strError3DS_READING_DATABASE = 'Error occured while reading database.';
strError3DS_WRITING_DATABASE = 'Error occured while writing database.';
strError3DS_WRITING_FILE = 'Error occured while writing file.';
strError3DS_STRING_TOO_LONG = 'String encountered in file structure or as an argument was longer than expected.'#13+ 'Possibly caused by an uninitialed pointer corrupt file or database.';
strError3DS_GET_FAIL = 'Failed to get new data from database.';
strError3DS_PUT_FAIL = 'Failed to add new data to the database.';
strError3DS_INVALID_INDEX = 'Invalid index %d.';
strCUTILFailed = 'Can not initialize cutil32.dll';
strCantConvertImg = '%s: can''t convert image to RGBA8 format';
strNoJoystickDriver = 'There''s no joystick driver present';
strConnectJoystick = 'Joystick is not connected to your system';
strJoystickError = 'Your system reports a joystick error, can''t do anything about it';
strCyclicRefMat = 'Cyclic reference detected in material "%s"';
strOctreeMustBePreparedBeforeUse = 'Octree must be prepared before use';
strInvalidFileSignature = 'Invalid file signature';
strBrokenObjectListArchive = 'Broken ObjectList archive';
strListIndexError = 'Invalid list index';
strForwardContextFailed = 'Can not create forward compatible context: #%X, %s';
strBackwardContextFailed = 'Can not create backward compatible context: #%X, %s';
strFailHWRC = 'Unable to create rendering context with hardware acceleration - down to software';
strTmpRC_Created = 'Temporary rendering context created';
strDriverNotSupportFRC = 'Driver not support creating of forward context';
strDriverNotSupportOESRC = 'Driver not support creating of OpenGL ES 2.0 context';
strDriverNotSupportDebugRC = 'Driver not support creating of debug context';
strOESvsForwardRC = 'OpenGL ES 2.0 context incompatible with Forward context - flag ignored';
strFRC_created = 'Forward core context seccussfuly created';
strOESRC_created = 'OpenGL ES 2.0 context seccussfuly created';
strPBufferRC_created = 'Backward compatible core PBuffer context successfully created';
strOpenGLCategoryName = 'OpenGL';
strLayoutCategoryName = 'Layout';
strLocalizableCategoryName = 'Localizable';
strVisualCategoryName = 'Visual';
strShaderNeedsAtLeastOneLightSource = 'This shader needs at least one LightSource!';
strShaderNeedsAtLeastOneLightSourceEx = 'Shader ''%s'' needs at least one LightSource!';
strSceneRoot = 'Scene root';
strObjectRoot = 'Scene objects';
strCameraRoot = 'Cameras';
strCamera = 'Camera';
strImageInvalid = 'Could not load texture, image is invalid';
strNoNewTexture = 'Could not get new texture name';
strMatLibNotDefined = 'Material Library not defined!';
strMaterialNotFoundInMatlib = 'Material not found in current Material Library!';
strMaterialNotFoundInMatlibEx = 'Material "%s" not found in current Material Library!';
strSphereTopBottom = 'The top angle must be higher than the bottom angle';
strSphereStartStop = 'The start angle must be smaller than then stop angle';
strMaterialNotFound = 'Loading failed: could not find material %s';
strInterleaveNotSupported = 'Interleaved Array format not supported yet. Sorry.';
strUnknownArchive = '%s : unknown archive version %d';
strOutOfMemory = 'Fatal: Out of memory';
strFileNotFound = 'File %s not found';
strFailedOpenFile = 'Could not open file: %s';
strFailedOpenFileFromCurrentDir = 'Could not open file: %s'#13#10'(Current directory is %s)';
strNoDescriptionAvailable = 'No description available';
strUnBalancedBeginEndUpdate = 'Unbalanced Begin/EndUpdate';
strUnknownExtension = 'Unknown file extension (%s), maybe you forgot to add the support ' +'unit to your uses? (%s?)' ;
strMissingResource = 'Missing application resource: %s: %s';
strIncompatibleTypes = 'Incompatible types!';
strUnknownType = 'Unknown type!';
strUnsupportedType = 'Unsupported type!';
strOCBasicGeometry = 'Basic geometry';
strOCAdvancedGeometry = 'Advanced geometry';
strOCMeshObjects = 'Mesh objects';
strOCParticleSystems = 'Particle systems';
strOCEnvironmentObjects = 'Environment objects';
strOCSpecialObjects = 'Special objects';
strOCGraphPlottingObjects = 'Graph-plotting objects';
strOCDoodad = 'Doodad objects';
strOCHUDObjects = 'HUD objects';
strOCGuiObjects = 'GUI objects';
strOCProxyObjects = 'Proxy objects';
strOCExperimental = 'Experimental objects';
strInvalidColor = '''%s'' is not a valid color format!';
strUnknownParam = 'Unknown %s "%s" for "%s" or program not in use';
strXCollectionEditor = 'XCollection editor';
strModuleAbsent = 'Module is absent';
strInvalidParamType = 'Invalid parameter type';
strInvalidContextReg = 'Invalid context registration.';
strInvalidValue = 'Invalid value';
strWrongParamSetup = 'Function''s parameters must be setup in OnParameterSetup event';
strLaunchFailed = 'Kernel function "%s" launch failed';
strFailMap = 'Unable to map %s - already mapped';
strFailUnmap = 'Unable to unmap %s - not mapped';
strFailCompilation = 'NVCC failed to compile:' + #10#13 + '%s';
strFailCreatePipe = 'Unable to create Pipe';
strFailRunNVCC = 'Unable to run process (NVCC)';
strFuncRetErr = '%s return error: %s';
strFuncNotConnected = '%s.Launch: Kernel function not connected';
strOnlyHostData = 'Only host data or mapped device or array data can be written/read';
strOutOfRange = 'Indexes out of range';
strSizeMismatch = 'Element size mismatch';
strCUDAEditor = 'Scene CUDA Component Editor';
strRequireFreeThread = 'CUFFT functions require context-free thread';
strBadPlanSize = 'MemData size less then Plan size';
strContextNotInit = 'Context not initialized';
strNoDeviceToCreate = 'No device to create CUDA context';
strThreadBusy = 'Unable to create CUDA context - thread is busy by another context';
strMakeFloatingFail = 'Unable to make context floating after creation';
strUnbalansedUsage = 'Unbalansed CUDA context usage';
strInvalidGLContext = 'Unable to create CUDA context with OpenGL interop' + ' - OpenGL context not ready';
strFFTFuncRetErr = '%s return error: %s';
strFailToBindArrayToTex = 'Unable to bind CUDA array to OpenGL unmaped t' + 'exture';
strOutOfAttribSize = 'The amount of device''s data less then size of att' + 'ribute''s data.';
strOutOfElementSize = 'The amount of device''s data less then size of in' + 'dexes data.';
strSourceFileNotFound = 'Source file not found';
strSuccessCompilation = 'Successful compilation:' + #10#13 + '%s';

Variables

Language: Integer;

Description

Constants

strDot = '.';

General

strError = 'Error!';
strErrorEx = 'Error: ';
strErrorLIB = 'ErrorLIB';
strInvalidType = 'Invalid data type';
strNothing = 'Nothing';
strStateCashMissing = 'States cash missing: ';
strUnknownArchiveVersion = 'Unknown archive version: ';
strObjectsNotSupported = 'Linked object not supported';
strGLSceneEditor = 'GLScene Editor';

SceneEdit

strNoRenderingContext = 'Could not create a rendering context';

SceneViewer

strWrongVersion = 'Need at least OpenGL version 1.1';
strTooManyLights = 'Too many lights in the scene';
strDisplayList = 'Failed to create a new display list for object ''%s''';
strWrongBitmapCanvas = 'Couldn''t create a rendering context for the given bitmap';
strWrongPrinter = 'Couldn''t render to printer';
strAlreadyRendering = 'Already rendering';
strSceneViewerNotDefined = 'SceneViewer not defined!';
strCadencerNotDefined = 'Cadencer not defined!';

Cadencer

strCadencerNotDefinedEx = 'Cadencer not defined for the ''%s'' component';
strCannotAlterAnActiveContext = 'Cannot alter an active context';

Context

strContextActivationFailed = 'Context activation failed: %X, %s';
strContextAlreadyCreated = 'Context already created';
strContextDeactivationFailed = 'Context deactivation failed';
strContextNotCreated = 'Context not created';
strDeleteContextFailed = 'Delete context failed';
strFailedToShare = 'DoCreateContext - Failed to share contexts';
strIncompatibleContexts = 'Incompatible contexts';
strInvalidContextRegistration = 'Invalid context registration';
strInvalidNotificationRemoval = 'Invalid notification removal';
strNoActiveRC = 'No active rendering context';
strUnbalancedContexActivations = 'Unbalanced context activations';
strUnableToCreateLegacyContext = 'Unable to create legacy context';
strOpenGLError = 'OpenGL error - %s';

InitOpenGL

str3DSMapNotFound = 'Loading %s map texture failed: %s in %s';

File3DS

strError3DS_NO_MEM = 'Not enough memory to complete operation.';
strError3DS_INVALID_ARG = 'The argument passed to the function is invalid.'#13+ 'Usually caused by a nil pointer or an out of range numeric argument.';
strError3DS_INVALID_DATA = 'The structure passed as an argument to the function has'#13+ 'invalid or out of range data in its fields.';
strError3DS_INVALID_CHUNK = 'An invalid Chunk structure was encountered while reading'#13+ 'the database. Usually caused by a corrupt database or file.';
strError3DS_INVALID_DATABASE = 'The database passed as an argument has not be created yet.';
strError3DS_WRONG_DATABASE = 'The database passed as an argument is the wrong kind of'#13+ 'database for this function.';
strError3DS_UNFOUND_CHUNK = 'The database is missing important file chunks needed to'#13+ 'fill out the requested structure. Usually caused by a corrupt database or file.';
strError3DS_WRONG_OBJECT = 'The Name passed to the functions exists but is not the type of object asked for.'#13+ 'For example asking for a mesh object with the GetCameraByName3DS function.';
strError3DS_NO_SUCH_FILE = 'The FileName passed as an argument for reading does not exist.';
strError3DS_INIT_FAILED = 'Failed to initialize structure passed as an argument.';
strError3DS_OPENING_FILE = 'Could not open requested file.';
strError3DS_CLOSING_FILE = 'Could not close requested file.';
strError3DS_READING_FILE = 'Error occured while reading file.';
strError3DS_CREATING_DATABASE = 'Error occured while creating database.';
strError3DS_READING_DATABASE = 'Error occured while reading database.';
strError3DS_WRITING_DATABASE = 'Error occured while writing database.';
strError3DS_WRITING_FILE = 'Error occured while writing file.';
strError3DS_STRING_TOO_LONG = 'String encountered in file structure or as an argument was longer than expected.'#13+ 'Possibly caused by an uninitialed pointer corrupt file or database.';
strError3DS_GET_FAIL = 'Failed to get new data from database.';
strError3DS_PUT_FAIL = 'Failed to add new data to the database.';
strError3DS_INVALID_INDEX = 'Invalid index %d.';
strCUTILFailed = 'Can not initialize cutil32.dll';

FilePGM

strCantConvertImg = '%s: can''t convert image to RGBA8 format';

Graphics

strNoJoystickDriver = 'There''s no joystick driver present';

Joystick

strConnectJoystick = 'Joystick is not connected to your system';
strJoystickError = 'Your system reports a joystick error, can''t do anything about it';
strCyclicRefMat = 'Cyclic reference detected in material "%s"';

Material

strOctreeMustBePreparedBeforeUse = 'Octree must be prepared before use';

Octree

strInvalidFileSignature = 'Invalid file signature';

PersistentClasses

strBrokenObjectListArchive = 'Broken ObjectList archive';
strListIndexError = 'Invalid list index';
strForwardContextFailed = 'Can not create forward compatible context: #%X, %s';

SceneContext

strBackwardContextFailed = 'Can not create backward compatible context: #%X, %s';
strFailHWRC = 'Unable to create rendering context with hardware acceleration - down to software';
strTmpRC_Created = 'Temporary rendering context created';
strDriverNotSupportFRC = 'Driver not support creating of forward context';
strDriverNotSupportOESRC = 'Driver not support creating of OpenGL ES 2.0 context';
strDriverNotSupportDebugRC = 'Driver not support creating of debug context';
strOESvsForwardRC = 'OpenGL ES 2.0 context incompatible with Forward context - flag ignored';
strFRC_created = 'Forward core context seccussfuly created';
strOESRC_created = 'OpenGL ES 2.0 context seccussfuly created';
strPBufferRC_created = 'Backward compatible core PBuffer context successfully created';
strOpenGLCategoryName = 'OpenGL';

SceneRegister, strings additional to Designintf

strLayoutCategoryName = 'Layout';
strLocalizableCategoryName = 'Localizable';
strVisualCategoryName = 'Visual';
strShaderNeedsAtLeastOneLightSource = 'This shader needs at least one LightSource!';

Shaders

strShaderNeedsAtLeastOneLightSourceEx = 'Shader ''%s'' needs at least one LightSource!';
strSceneRoot = 'Scene root';

Tree

strObjectRoot = 'Scene objects';
strCameraRoot = 'Cameras';
strCamera = 'Camera';
strImageInvalid = 'Could not load texture, image is invalid';

Textures

strNoNewTexture = 'Could not get new texture name';
strMatLibNotDefined = 'Material Library not defined!';

Materials

strMaterialNotFoundInMatlib = 'Material not found in current Material Library!';
strMaterialNotFoundInMatlibEx = 'Material "%s" not found in current Material Library!';
strSphereTopBottom = 'The top angle must be higher than the bottom angle';

Objects

strSphereStartStop = 'The start angle must be smaller than then stop angle';
strMaterialNotFound = 'Loading failed: could not find material %s';
strInterleaveNotSupported = 'Interleaved Array format not supported yet. Sorry.';
strUnknownArchive = '%s : unknown archive version %d';

Common messages

strOutOfMemory = 'Fatal: Out of memory';
strFileNotFound = 'File %s not found';
strFailedOpenFile = 'Could not open file: %s';
strFailedOpenFileFromCurrentDir = 'Could not open file: %s'#13#10'(Current directory is %s)';
strNoDescriptionAvailable = 'No description available';
strUnBalancedBeginEndUpdate = 'Unbalanced Begin/EndUpdate';
strUnknownExtension = 'Unknown file extension (%s), maybe you forgot to add the support ' +'unit to your uses? (%s?)' ;
strMissingResource = 'Missing application resource: %s: %s';
strIncompatibleTypes = 'Incompatible types!';
strUnknownType = 'Unknown type!';
strUnsupportedType = 'Unsupported type!';
strOCBasicGeometry = 'Basic geometry';

Object categories in GLScene Registry

strOCAdvancedGeometry = 'Advanced geometry';
strOCMeshObjects = 'Mesh objects';
strOCParticleSystems = 'Particle systems';
strOCEnvironmentObjects = 'Environment objects';
strOCSpecialObjects = 'Special objects';
strOCGraphPlottingObjects = 'Graph-plotting objects';
strOCDoodad = 'Doodad objects';
strOCHUDObjects = 'HUD objects';
strOCGuiObjects = 'GUI objects';
strOCProxyObjects = 'Proxy objects';
strOCExperimental = 'Experimental objects';
strInvalidColor = '''%s'' is not a valid color format!';

Utils

strUnknownParam = 'Unknown %s "%s" for "%s" or program not in use';
strXCollectionEditor = 'XCollection editor';

FXCollectionEditor

strModuleAbsent = 'Module is absent';

CUDA strings

strInvalidParamType = 'Invalid parameter type';
strInvalidContextReg = 'Invalid context registration.';
strInvalidValue = 'Invalid value';
strWrongParamSetup = 'Function''s parameters must be setup in OnParameterSetup event';
strLaunchFailed = 'Kernel function "%s" launch failed';
strFailMap = 'Unable to map %s - already mapped';
strFailUnmap = 'Unable to unmap %s - not mapped';
strFailCompilation = 'NVCC failed to compile:' + #10#13 + '%s';
strFailCreatePipe = 'Unable to create Pipe';
strFailRunNVCC = 'Unable to run process (NVCC)';
strFuncRetErr = '%s return error: %s';
strFuncNotConnected = '%s.Launch: Kernel function not connected';
strOnlyHostData = 'Only host data or mapped device or array data can be written/read';
strOutOfRange = 'Indexes out of range';
strSizeMismatch = 'Element size mismatch';
strCUDAEditor = 'Scene CUDA Component Editor';
strRequireFreeThread = 'CUFFT functions require context-free thread';
strBadPlanSize = 'MemData size less then Plan size';
strContextNotInit = 'Context not initialized';
strNoDeviceToCreate = 'No device to create CUDA context';
strThreadBusy = 'Unable to create CUDA context - thread is busy by another context';
strMakeFloatingFail = 'Unable to make context floating after creation';
strUnbalansedUsage = 'Unbalansed CUDA context usage';
strInvalidGLContext = 'Unable to create CUDA context with OpenGL interop' + ' - OpenGL context not ready';
strFFTFuncRetErr = '%s return error: %s';
strFailToBindArrayToTex = 'Unable to bind CUDA array to OpenGL unmaped t' + 'exture';
strOutOfAttribSize = 'The amount of device''s data less then size of att' + 'ribute''s data.';
strOutOfElementSize = 'The amount of device''s data less then size of in' + 'dexes data.';
strSourceFileNotFound = 'Source file not found';
strSuccessCompilation = 'Successful compilation:' + #10#13 + '%s';

Variables

Language: Integer;

String constants that are used for internationalization

To build your project with a single language's translations in the executable itself, define one of the next languages

Language $DEFINE 2-character locale id ——————- ———- ——————— English LANG_EN en French LANG_FR fr German LANG_DE de Italian LANG_IT it Japanese LANG_JP jp Russian LANG_RU ru Spanish LANG_ES es


GLSysHelp v.2.1: GLS.TerrainRenderer

Unit GLS.TerrainRenderer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Coordinates
  • GLS.HeightData
  • GLS.Material
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.ROAMPatch
  • GLS.VectorLists
  • GLS.RenderContextInfo
  • GLS.XOpenGL
  • GLS.Utils
  • GLS.VectorTypes
  • GLS.Texture

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTerrainRenderer |

Types

TGetTerrainBoundsEvent = procedure(var l, t, r, b: Single) of object;
TGLHeightDataPostRenderEvent = procedure(var rci: TGLRenderContextInfo; var HeightDatas: TList) of object;
TMaxCLODTrianglesReachedEvent = procedure(var rci: TGLRenderContextInfo) of object;
TPatchPostRenderEvent = procedure(var rci: TGLRenderContextInfo; const patches: TList) of object;
TTerrainHighResStyle = (...);
TTerrainOcclusionTesselate = (...);
TTileManagementFlag = (...);
TTileManagementFlags = set of TTileManagementFlag;

Constants

cTilesHashSize = 255;

Description

Types

TGetTerrainBoundsEvent = procedure(var l, t, r, b: Single) of object;
TGLHeightDataPostRenderEvent = procedure(var rci: TGLRenderContextInfo; var HeightDatas: TList) of object;
TMaxCLODTrianglesReachedEvent = procedure(var rci: TGLRenderContextInfo) of object;
TPatchPostRenderEvent = procedure(var rci: TGLRenderContextInfo; const patches: TList) of object;
TTerrainHighResStyle = (...);
Values
  • hrsFullGeometry
  • hrsTesselated
TTerrainOcclusionTesselate = (...);
Values
  • totTesselateAlways
  • totTesselateIfVisible
TTileManagementFlag = (...);
Values
  • tmClearUsedFlags
  • tmMarkUsedTiles
  • tmReleaseUnusedTiles
  • tmAllocateNewTiles
  • tmWaitForPreparing
TTileManagementFlags = set of TTileManagementFlag;

Constants

cTilesHashSize = 255;


GLSysHelp v.2.1: GLS.TerrainRenderer: Class TGLTerrainRenderer

Class TGLTerrainRenderer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TerrainRenderer

Declaration

type TGLTerrainRenderer = class(TGLSceneObject)

Description

Basic terrain renderer. This renderer uses no sophisticated meshing, it just builds and maintains a set of terrain tiles, performs basic visibility culling and renders its stuff. You can use it has a base class/sample for more specialized terrain renderers. The Terrain heightdata is retrieved directly from a TGLHeightDataSource, and expressed as z=f(x, y) data.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLTerrainRenderer

Overview

Fields

Private | FHeightDataSource: TGLHeightDataSource;
Private | FTileSize: Integer;
Private | FQualityDistance: Single;
Private | FinvTileSize: Single;
Private | FLastTriangleCount: Integer;
Private | FTilesPerTexture: Single;
Private | FMaxCLODTriangles: Integer;
Private | FCLODPrecision: Integer;
Private | FBufferVertices: TAffineVectorList;
Private | FBufferTexPoints: TTexPointList;
Private | FBufferVertexIndices: TIntegerList;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FOnGetTerrainBounds: TGetTerrainBoundsEvent;
Private | FOnPatchPostRender: TPatchPostRenderEvent;
Private | FOnHeightDataPostRender: TGLHeightDataPostRenderEvent;
Private | FOnMaxCLODTrianglesReached: TMaxCLODTrianglesReachedEvent;
Private | FQualityStyle: TTerrainHighResStyle;
Private | FOcclusionFrameSkip: Integer;
Private | FOcclusionTesselate: TTerrainOcclusionTesselate;
Private | FContourInterval: Integer;
Private | FContourWidth: Integer;
Protected | FTilesHash: packed [0 .. cTilesHashSize] of TList;
Public | TileManagement: TTileManagementFlags;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function HashedTileCount: Integer;
Public | function InterpolatedHeight(const p: TAffineVector): Single; overload;
Public | function InterpolatedHeight(const p: TGLVector): Single; overload;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Protected | function GetPreparedPatch(const TilePos, EyePos: TAffineVector; TexFactor: Single; HDList: TList): TGLROAMPatch;
Protected | function HashedTile(const tilePos: TAffineVector; canAllocate: Boolean = True) : TGLHeightData; overload;
Protected | function HashedTile(const xLeft, yTop: Integer; canAllocate: Boolean = True) : TGLHeightData; overload;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected | procedure DestroyHandle; override;
Protected | procedure MarkAllTilesAsUnused;
Protected | procedure MarkHashedTileAsUsed(const tilePos: TAffineVector);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure OnTileDestroyed(Sender: TObject);
Protected | procedure ReleaseAllTiles;
Protected | procedure ReleaseAllUnusedTiles;
Protected | procedure SetCLODPrecision(const val: Integer);
Protected | procedure SetHeightDataSource(const val: TGLHeightDataSource);
Protected | procedure SetMaterialLibrary(const Val: TGLMaterialLibrary);
Protected | procedure SetOcclusionFrameSkip(Val: Integer);
Protected | procedure SetQualityStyle(const Val: TTerrainHighResStyle);
Protected | procedure SetTileSize(const val: Integer);
Protected | procedure SetTilesPerTexture(const val: Single);

Properties

Published | property CLODPrecision: Integer read FCLODPrecision write SetCLODPrecision default 100;
Published | property ContourInterval: Integer read FContourInterval write FContourInterval default 0;
Published | property ContourWidth: Integer read FContourWidth write FContourWidth default 1;
Published | property HeightDataSource: TGLHeightDataSource read FHeightDataSource write SetHeightDataSource;
Public | property LastTriangleCount: Integer read FLastTriangleCount;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property MaxCLODTriangles: Integer read FMaxCLODTriangles write FMaxCLODTriangles default 65536;
Published | property OcclusionFrameSkip: Integer read FOcclusionFrameSkip write SetOcclusionFrameSkip default 0;
Published | property OcclusionTesselate: TTerrainOcclusionTesselate read FOcclusionTesselate write FOcclusionTesselate default totTesselateIfVisible;
Published | property OnGetTerrainBounds: TGetTerrainBoundsEvent read FOnGetTerrainBounds write FOnGetTerrainBounds;
Published | property OnHeightDataPostRender: TGLHeightDataPostRenderEvent read FOnHeightDataPostRender write FOnHeightDataPostRender;
Published | property OnMaxCLODTrianglesReached: TMaxCLODTrianglesReachedEvent read FOnMaxCLODTrianglesReached write FOnMaxCLODTrianglesReached;
Published | property OnPatchPostRender: TPatchPostRenderEvent read FOnPatchPostRender write FOnPatchPostRender;
Published | property QualityDistance: Single read FQualityDistance write FQualityDistance;
Published | property QualityStyle: TTerrainHighResStyle read FQualityStyle write SetQualityStyle default hrsFullGeometry;
Published | property TileSize: Integer read FTileSize write SetTileSize default 16;
Published | property TilesPerTexture: Single read FTilesPerTexture write SetTilesPerTexture;

Description

Fields

Private FHeightDataSource: TGLHeightDataSource;
Private FTileSize: Integer;
Private FQualityDistance: Single;
Private FinvTileSize: Single;
Private FLastTriangleCount: Integer;
Private FTilesPerTexture: Single;
Private FMaxCLODTriangles: Integer;
Private FCLODPrecision: Integer;
Private FBufferVertices: TAffineVectorList;
Private FBufferTexPoints: TTexPointList;
Private FBufferVertexIndices: TIntegerList;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FOnGetTerrainBounds: TGetTerrainBoundsEvent;
Private FOnPatchPostRender: TPatchPostRenderEvent;
Private FOnHeightDataPostRender: TGLHeightDataPostRenderEvent;
Private FOnMaxCLODTrianglesReached: TMaxCLODTrianglesReachedEvent;
Private FQualityStyle: TTerrainHighResStyle;
Private FOcclusionFrameSkip: Integer;
Private FOcclusionTesselate: TTerrainOcclusionTesselate;
Private FContourInterval: Integer;
Private FContourWidth: Integer;
Protected FTilesHash: packed [0 .. cTilesHashSize] of TList;
Public TileManagement: TTileManagementFlags;

TileManagement flags can be used to turn off various Tile cache management features. This helps to prevent unnecessary tile cache flushes, when rendering from multiple cameras

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function HashedTileCount: Integer;
Public function InterpolatedHeight(const p: TAffineVector): Single; overload;
Public function InterpolatedHeight(const p: TGLVector): Single; overload;

Interpolates height for the given point. Expects a point expressed in absolute coordinates.

Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Protected function GetPreparedPatch(const TilePos, EyePos: TAffineVector; TexFactor: Single; HDList: TList): TGLROAMPatch;
Protected function HashedTile(const tilePos: TAffineVector; canAllocate: Boolean = True) : TGLHeightData; overload;
Protected function HashedTile(const xLeft, yTop: Integer; canAllocate: Boolean = True) : TGLHeightData; overload;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Protected procedure DestroyHandle; override;
Protected procedure MarkAllTilesAsUnused;
Protected procedure MarkHashedTileAsUsed(const tilePos: TAffineVector);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure OnTileDestroyed(Sender: TObject);
Protected procedure ReleaseAllTiles;
Protected procedure ReleaseAllUnusedTiles;
Protected procedure SetCLODPrecision(const val: Integer);
Protected procedure SetHeightDataSource(const val: TGLHeightDataSource);
Protected procedure SetMaterialLibrary(const Val: TGLMaterialLibrary);
Protected procedure SetOcclusionFrameSkip(Val: Integer);
Protected procedure SetQualityStyle(const Val: TTerrainHighResStyle);
Protected procedure SetTileSize(const val: Integer);
Protected procedure SetTilesPerTexture(const val: Single);

Properties

Published property CLODPrecision: Integer read FCLODPrecision write SetCLODPrecision default 100;

Precision of CLOD tiles. The lower the value, the higher the precision and triangle count. Large values will result in coarse terrain. high-resolution tiles (closer than QualityDistance) ignore this setting.

Published property ContourInterval: Integer read FContourInterval write FContourInterval default 0;

Distance between contours - zero (default) for no contours PGS

Published property ContourWidth: Integer read FContourWidth write FContourWidth default 1;

Width of Isolines

Published property HeightDataSource: TGLHeightDataSource read FHeightDataSource write SetHeightDataSource;

Specifies the HeightData provider component.

Public property LastTriangleCount: Integer read FLastTriangleCount;

Triangle count for the last render

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Link to the material library holding terrain materials. If unspecified, and for all terrain tiles with unspecified material, the terrain renderer's material is used.

Published property MaxCLODTriangles: Integer read FMaxCLODTriangles write FMaxCLODTriangles default 65536;

Maximum number of CLOD triangles per scene. Triangles in high-resolution tiles (closer than QualityDistance) do not count toward this limit.

Published property OcclusionFrameSkip: Integer read FOcclusionFrameSkip write SetOcclusionFrameSkip default 0;

Numbers of frames to skip for a tile when occlusion testing found it invisible. Occlusion testing can help reduce CPU, T&L and fillrate requirements when tiles are occluded, either by the terrain itself (tiles behind a mountain or a cliff) or by geometry that was rendered before the terrain (large buildings). If there is little occlusion in your scene (such as in top down or high-altitude view), turning occlusion on may have a slightly negative effect on framerate. It works by turning off rendering of tiles for the specified number of frames if it has been found invisible, after FrameSkip number of frames have been skipped, it will be rendered again, and a new occlusion testing made. This makes occlusion-testing a frame-to-frame coherency optimization, and as such, shouldn't be used for static rendering (ie. leave value to its default of zero). This optimization requires the hardware to support GL_NV_occlusion_query

Published property OcclusionTesselate: TTerrainOcclusionTesselate read FOcclusionTesselate write FOcclusionTesselate default totTesselateIfVisible;

Determines if and how occlusion testing affects tesselation. Turning off tesselation of tiles determined invisible can improve performance, however, it may result in glitches since the tesselation of an invisible tile can have a slight effect on the tesselation of its adjacent tiles (by forcing higher resolution at the border for instance). This negative effect can be lessened by increasing the QualityDistance, so that glitches will appear farther away (this will mean increasing your triangle count though, so you'll trade CPU power against T&L power).

Published property OnGetTerrainBounds: TGetTerrainBoundsEvent read FOnGetTerrainBounds write FOnGetTerrainBounds;

Allows to specify terrain bounds. Default rendering bounds will reach depth of view in all direction, with this event you can chose to specify a smaller rendered terrain area

Published property OnHeightDataPostRender: TGLHeightDataPostRenderEvent read FOnHeightDataPostRender write FOnHeightDataPostRender;

Invoked for each heightData not culled out by the terrain renderer. The list holds TGLHeightData objects and allows per-patch post-processings, like waters, trees... It is invoked *after* OnPatchPostRender.

Published property OnMaxCLODTrianglesReached: TMaxCLODTrianglesReachedEvent read FOnMaxCLODTrianglesReached write FOnMaxCLODTrianglesReached;

Invoked whenever the MaxCLODTriangles limit was reached during last rendering. This forced the terrain renderer to resize the buffer, which affects performance. If this event is fired frequently, one should increase MaxCLODTriangles.

Published property OnPatchPostRender: TPatchPostRenderEvent read FOnPatchPostRender write FOnPatchPostRender;

Invoked for each rendered patch after terrain render has completed. The list holds TGLROAMPatch objects and allows per-patch post-processings, like waters, trees... It is invoked *before* OnHeightDataPostRender.

Published property QualityDistance: Single read FQualityDistance write FQualityDistance;

Quality distance hint. This parameter gives an hint to the terrain renderer at which distance the terrain quality can be degraded to favor speed. The distance is expressed in absolute coordinates units. All tiles closer than this distance are rendered according to QualityStyle and with a static resolution.

Published property QualityStyle: TTerrainHighResStyle read FQualityStyle write SetQualityStyle default hrsFullGeometry;

Determines how high-res tiles (closer than QualityDistance) are rendered. hrsFullGeometry (default value) means that the high-res tiles are rendered with full-geometry, and no LOD of any kind, while hrsTesselated means the tiles will be tesselated once, with the best output for the CLODPrecision, and the result of that tesselation will be reused in further frames without any adpative tesselation.

Published property TileSize: Integer read FTileSize write SetTileSize default 16;

Size of the terrain tiles. Must be a power of two.

Published property TilesPerTexture: Single read FTilesPerTexture write SetTilesPerTexture;

Number of tiles required for a full texture map.


GLSysHelp v.2.1: GLS.TexLensFlare

Unit GLS.TexLensFlare

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.Objects
  • GLS.Texture
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.RenderContextInfo
  • GLS.BaseClasses
  • GLS.State
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTextureLensFlare |


GLSysHelp v.2.1: GLS.TexLensFlare: Class TGLTextureLensFlare

Class TGLTextureLensFlare

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TexLensFlare

Declaration

type TGLTextureLensFlare = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLTextureLensFlare

Overview

Fields

Private | FSize: integer;
Private | FCurrSize: Single;
Private | FNumSecs: integer;
Private | FAutoZTest: boolean;
Private | FDeltaTime: Double;
Private | FImgSecondaries: TGLTexture;
Private | FImgRays: TGLTexture;
Private | FImgRing: TGLTexture;
Private | FImgGlow: TGLTexture;
Private | FSeed: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected | procedure SetAutoZTest(aValue: boolean);
Protected | procedure SetNumSecs(aValue: integer);
Protected | procedure SetSize(aValue: integer);
Private | procedure SetImgGlow(const Value: TGLTexture);
Private | procedure SetImgRays(const Value: TGLTexture);
Private | procedure SetImgRing(const Value: TGLTexture);
Private | procedure SetImgSecondaries(const Value: TGLTexture);
Private | procedure SetSeed(const Value: Integer);

Properties

Published | property AutoZTest: boolean read FAutoZTest write SetAutoZTest default True;
Published | property Behaviours;
Published | property Effects;
Published | property ImgGlow: TGLTexture read FImgGlow write SetImgGlow;
Published | property ImgRays: TGLTexture read FImgRays write SetImgRays;
Published | property ImgRing: TGLTexture read FImgRing write SetImgRing;
Published | property ImgSecondaries: TGLTexture read FImgSecondaries write SetImgSecondaries;
Published | property NumSecs: integer read FNumSecs write SetNumSecs default 8;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property Position;
Published | property Seed: Integer read FSeed write SetSeed;
Published | property Size: integer read FSize write SetSize default 50;
Published | property Visible;

Description

Fields

Private FSize: integer;
Private FCurrSize: Single;
Private FNumSecs: integer;
Private FAutoZTest: boolean;
Private FDeltaTime: Double;

used for internal calculation

Private FImgSecondaries: TGLTexture;
Private FImgRays: TGLTexture;
Private FImgRing: TGLTexture;
Private FImgGlow: TGLTexture;
Private FSeed: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected procedure SetAutoZTest(aValue: boolean);
Protected procedure SetNumSecs(aValue: integer);
Protected procedure SetSize(aValue: integer);
Private procedure SetImgGlow(const Value: TGLTexture);
Private procedure SetImgRays(const Value: TGLTexture);
Private procedure SetImgRing(const Value: TGLTexture);
Private procedure SetImgSecondaries(const Value: TGLTexture);
Private procedure SetSeed(const Value: Integer);

Properties

Published property AutoZTest: boolean read FAutoZTest write SetAutoZTest default True;

Number of segments used when rendering circles. property Resolution: integer read FResolution write SetResolution default 64;

Published property Behaviours;
Published property Effects;
Published property ImgGlow: TGLTexture read FImgGlow write SetImgGlow;

The Textures

Published property ImgRays: TGLTexture read FImgRays write SetImgRays;
Published property ImgRing: TGLTexture read FImgRing write SetImgRing;
Published property ImgSecondaries: TGLTexture read FImgSecondaries write SetImgSecondaries;
Published property NumSecs: integer read FNumSecs write SetNumSecs default 8;

Number of secondary flares.

Published property ObjectsSorting;
Published property OnProgress;
Published property Position;
Published property Seed: Integer read FSeed write SetSeed;

Random seed

Published property Size: integer read FSize write SetSize default 50;

MaxRadius of the flare.

Published property Visible;


GLSysHelp v.2.1: GLS.Texture

Unit GLS.Texture

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • Vcl.Graphics
  • Vcl.Imaging.jpeg
  • Vcl.Imaging.pngimage
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.BaseClasses
  • GLS.Graphics
  • GLS.Context
  • GLS.State
  • GLS.Color
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.PersistentClasses
  • GLS.PipelineTransformation
  • GLS.TextureFormat
  • GLS.ApplicationFileIO
  • GLS.Utils
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Interface IGLTextureNotifyAble |
Class TGLTextureImage |
Class TGLBlankImage |
Class TGLPictureImage |
Class TGLPersistentImage |
Class TGLPicFileImage |
Class TGLCubeMapImage |
Class TGLTexture |
Class TGLTextureExItem |
Class TGLTextureEx |
Class ETexture |
Class EGLShaderException |

Functions and Procedures

procedure RegisterGLTextureImageClass(textureImageClass: TGLTextureImageClass);
function FindGLTextureImageClass(const className: string): TGLTextureImageClass;
function FindGLTextureImageClassByFriendlyName(const friendlyName: string): TGLTextureImageClass;
procedure SetGLTextureImageClassesToStrings(aStrings: TStrings);
function GetGLTextureImageClassesAsStrings: TStrings;
procedure RegisterTGraphicClassFileExtension(const extension: string; const aClass: TGraphicClass);
function CreateGraphicFromFile(const fileName: string): TGraphic;

Types

TGLCubeMapTarget = Integer;
TGLDepthCompareFunc = TGLDepthFunction;
TGLDepthTextureMode = (...);
TGLMagFilter = (...);
TGLMinFilter = (...);
TGLTextureChange = (...);
TGLTextureChanges = set of TGLTextureChange;
TGLTextureCompression = TGLInternalCompression;
TGLTextureFormat = (...);
TGLTextureImageAlpha = (...);
TGLTextureImageClass = class of TGLTextureImage;
TGLTextureMappingMode = (...);
TGLTextureMode = (...);
TGLTextureNeededEvent = procedure(Sender: TObject; var textureFileName: string) of object;
TGLTextureWrap = (...);

Constants

cDefaultNormalMapScale = 0.125;
CmtPX = 0;
CmtNX = 1;
CmtPY = 2;
CmtNY = 3;
CmtPZ = 4;
CmtNZ = 5;

Description

Functions and Procedures

procedure RegisterGLTextureImageClass(textureImageClass: TGLTextureImageClass);

Register a TGLTextureImageClass (used for persistence and IDE purposes)

function FindGLTextureImageClass(const className: string): TGLTextureImageClass;

Finds a registerer TGLTextureImageClass using its classname

function FindGLTextureImageClassByFriendlyName(const friendlyName: string): TGLTextureImageClass;

Finds a registerer TGLTextureImageClass using its FriendlyName

procedure SetGLTextureImageClassesToStrings(aStrings: TStrings);

Defines a TStrings with the list of registered TGLTextureImageClass.

function GetGLTextureImageClassesAsStrings: TStrings;

Creates a TStrings with the list of registered TGLTextureImageClass. To be freed by caller.

procedure RegisterTGraphicClassFileExtension(const extension: string; const aClass: TGraphicClass);
function CreateGraphicFromFile(const fileName: string): TGraphic;

Types

TGLCubeMapTarget = Integer;
TGLDepthCompareFunc = TGLDepthFunction;

Specifies the depth comparison function.

TGLDepthTextureMode = (...);

Specifies how depth values should be treated during filtering and texture application

Values
  • dtmLuminance
  • dtmIntensity
  • dtmAlpha
TGLMagFilter = (...);
Values
  • maNearest
  • maLinear
TGLMinFilter = (...);
Values
  • miNearest
  • miLinear
  • miNearestMipmapNearest
  • miLinearMipmapNearest
  • miNearestMipmapLinear
  • miLinearMipmapLinear
TGLTextureChange = (...);
Values
  • tcImage
  • tcParams
TGLTextureChanges = set of TGLTextureChange;
TGLTextureCompression = TGLInternalCompression;
TGLTextureFormat = (...);

Texture format for OpenGL (rendering) use. Internally, GLScene handles all "base" images as 32 Bits RGBA, but you can specify a generic format to reduce OpenGL texture memory use:

Values
  • tfDefault
  • tfRGB
  • tfRGBA: = tfRGB8
  • tfRGB16: = tfRGBA8
  • tfRGBA16: = tfRGB5
  • tfAlpha: = tfRGBA4
  • tfLuminance: = tfALPHA8
  • tfLuminanceAlpha: = tfLUMINANCE8
  • tfIntensity: = tfLUMINANCE8_ALPHA8
  • tfNormalMap: = tfINTENSITY8
  • tfRGBAFloat16: = tfRGB8
  • tfRGBAFloat32: = tfRGBA_FLOAT16_ATI
  • tfExtended: = tfRGBA_FLOAT32_ATI
TGLTextureImageAlpha = (...);

Defines how and if Alpha channel is defined for a texture image. tiaDefault : uses the alpha channel in the image if any tiaAlphaFromIntensity : the alpha channel value is deduced from other RGB components intensity (the brighter, the more opaque) tiaSuperBlackTransparent : pixels with a RGB color of (0, 0, 0) are completely transparent, others are completely opaque tiaLuminance : the luminance value is calculated for each pixel and used for RGB and Alpha values tiaLuminanceSqrt : same as tiaLuminance but with an Sqrt(Luminance) tiaOpaque : alpha channel is uniformously set to 1.0 tiaTopLeftPointColorTransparent : points of the same color as the top left point of the bitmap are transparent, others are opaque.

Values
  • tiaDefault
  • tiaAlphaFromIntensity
  • tiaSuperBlackTransparent
  • tiaLuminance
  • tiaLuminanceSqrt
  • tiaOpaque
  • tiaTopLeftPointColorTransparent
  • tiaInverseLuminance
  • tiaInverseLuminanceSqrt
  • tiaBottomRightPointColorTransparent
TGLTextureImageClass = class of TGLTextureImage;
TGLTextureMappingMode = (...);
Values
  • tmmUser
  • tmmObjectLinear
  • tmmEyeLinear
  • tmmSphere
  • tmmCubeMapReflection
  • tmmCubeMapNormal
  • tmmCubeMapLight0
  • tmmCubeMapCamera
TGLTextureMode = (...);
Values
  • tmDecal
  • tmModulate
  • tmBlend
  • tmReplace
  • tmAdd
TGLTextureNeededEvent = procedure(Sender: TObject; var textureFileName: string) of object;
TGLTextureWrap = (...);
Values
  • twBoth
  • twNone
  • twVertical
  • twHorizontal
  • twSeparate

Constants

cDefaultNormalMapScale = 0.125;
CmtPX = 0;
CmtNX = 1;
CmtPY = 2;
CmtNY = 3;
CmtPZ = 4;
CmtNZ = 5;


GLSysHelp v.2.1: GLS.Texture: Interface IGLTextureNotifyAble

Interface IGLTextureNotifyAble

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type IGLTextureNotifyAble = interface(IGLNotifyAble)

Description

No description available, ancestor IGLNotifyAble description follows
Attributes
GUID['{00079A6C-D46E-4126-86EE-F9E2951B4593}']
Attributes
GUID['{0D9DC0B0-ECE4-4513-A8A1-5AE7022C9426}']

Hierarchy

  • IInterface
  • IGLNotifyAble
  • IGLTextureNotifyAble

Overview

Methods

Public procedure NotifyTexMapChange(Sender: TObject);

Description

Methods

Public procedure NotifyTexMapChange(Sender: TObject);


GLSysHelp v.2.1: GLS.Texture: Class TGLTextureImage

Class TGLTextureImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLTextureImage = class(TGLUpdateAbleObject)

Description

Base class for texture image data. Basicly, subclasses are to be considered as different ways of getting a HBitmap (interfacing the actual source). SubClasses should be registered using RegisterGLTextureImageClass to allow proper persistence and editability in the IDE experts.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage

Overview

Fields

Protected | FOwnerTexture: TGLTexture;
Protected | FOnTextureNeeded: TGLTextureNeededEvent;
Protected | FResourceFile: string;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function AsBitmap: TBitmap;
Public | class function FriendlyDescription: string; virtual;
Public | class function FriendlyName: string; virtual;
Public | function GetBitmap32: TGLImage; virtual;
Protected | function GetDepth: Integer; virtual;
Protected | function GetHeight: Integer; virtual;
Protected | function GetTextureTarget: TGLTextureTarget; virtual;
Protected | function GetWidth: Integer; virtual;
Protected | class function IsSelfLoading: Boolean; virtual;
Private | function GetResourceName: string;
Public | procedure AssignToBitmap(aBitmap: TBitmap);
Public | procedure Invalidate; virtual;
Public | procedure LoadFromFile(const fileName: string); virtual;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure ReleaseBitmap32; virtual;
Public | procedure SaveToFile(const fileName: string); virtual;
Protected | procedure LoadTexture(AInternalFormat: TGLInternalFormat); virtual;

Properties

Public | property Depth: Integer read GetDepth;
Public | property Height: Integer read GetHeight;
Public | property NativeTextureTarget: TGLTextureTarget read GetTextureTarget;
Protected | property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write FOnTextureNeeded;
Public | property OwnerTexture: TGLTexture read FOwnerTexture write FOwnerTexture;
Public | property ResourceName: string read GetResourceName;
Public | property Width: Integer read GetWidth;

Description

Fields

Protected FOwnerTexture: TGLTexture;
Protected FOnTextureNeeded: TGLTextureNeededEvent;
Protected FResourceFile: string;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function AsBitmap: TBitmap;

AsBitmap : Returns the TextureImage as a TBitmap

Public class function FriendlyDescription: string; virtual;

Returns a user-friendly description for the class. This denomination is used for helping the user when picking a texture image class in the IDE expert. If it's not overriden, takes its value from FriendlyName.

Public class function FriendlyName: string; virtual;

Returns a user-friendly denomination for the class. This denomination is used for picking a texture image class in the IDE expert.

Public function GetBitmap32: TGLImage; virtual;

Returns image's bitmap handle. If the actual image is not a windows bitmap (BMP), descendants should take care of properly converting to bitmap.

Protected function GetDepth: Integer; virtual;
Protected function GetHeight: Integer; virtual;
Protected function GetTextureTarget: TGLTextureTarget; virtual;
Protected function GetWidth: Integer; virtual;
Protected class function IsSelfLoading: Boolean; virtual;
Private function GetResourceName: string;
Public procedure AssignToBitmap(aBitmap: TBitmap);
Public procedure Invalidate; virtual;

Request reload/refresh of data upon next use.

Public procedure LoadFromFile(const fileName: string); virtual;

Load textureImage from a file. This may not load a picture, but for instance, parameters, if the textureImage is a procedural texture. Subclasses should invoke inherited which will take care of the "OnTextureNeeded" stuff.

Public procedure NotifyChange(Sender: TObject); override;
Public procedure ReleaseBitmap32; virtual;

Request for unloading bitmapData, to free some memory. This one is invoked when GLScene no longer needs the Bitmap data it got through a call to GetHBitmap. Subclasses may ignore this call if the HBitmap was obtained at no particular memory cost.

Public procedure SaveToFile(const fileName: string); virtual;

Save textureImage to file. This may not save a picture, but for instance, parameters, if the textureImage is a procedural texture.

Protected procedure LoadTexture(AInternalFormat: TGLInternalFormat); virtual;

Properties

Public property Depth: Integer read GetDepth;
Public property Height: Integer read GetHeight;
Public property NativeTextureTarget: TGLTextureTarget read GetTextureTarget;

Native opengl texture target.

Protected property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write FOnTextureNeeded;
Public property OwnerTexture: TGLTexture read FOwnerTexture write FOwnerTexture;
Public property ResourceName: string read GetResourceName;
Public property Width: Integer read GetWidth;


GLSysHelp v.2.1: GLS.Texture: Class TGLBlankImage

Class TGLBlankImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLBlankImage = class(TGLTextureImage)

Description

A texture image with no specified content, only a size. This texture image type is of use if the context of your texture is calculated at run-time (with a TGLMemoryViewer for instance).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLBlankImage

Overview

Fields

Protected | fBitmap: TGLImage;
Protected | fWidth: Integer;
Protected | fHeight: Integer;
Protected | fDepth: Integer;
Protected | fColorFormat: Cardinal;
Protected | fCubeMap: Boolean;
Protected | fArray: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function GetBitmap32: TGLImage; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetTextureTarget: TGLTextureTarget; override;
Protected | function GetWidth: Integer; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure ReleaseBitmap32; override;
Public | procedure SaveToFile(const fileName: string); override;
Private | procedure SetArray(const val: Boolean);
Private | procedure SetCubeMap(const val: Boolean);
Private | procedure SetDepth(val: Integer);
Private | procedure SetHeight(val: Integer);
Private | procedure SetWidth(val: Integer);

Properties

Published | property ColorFormat: Cardinal read fColorFormat write fColorFormat;
Published | property CubeMap: Boolean read fCubeMap write SetCubeMap default false;
Published | property Depth: Integer read GetDepth write SetDepth default 0;
Published | property Height: Integer read GetHeight write SetHeight default 256;
Published | property TextureArray: Boolean read fArray write SetArray default false;
Published | property Width: Integer read GetWidth write SetWidth default 256;

Description

Fields

Protected fBitmap: TGLImage;
Protected fWidth: Integer;
Protected fHeight: Integer;
Protected fDepth: Integer;
Protected fColorFormat: Cardinal;

Store a icolor format, because fBitmap is not always defined

Protected fCubeMap: Boolean;

Blank Cube Map

Protected fArray: Boolean;

Flag to interparate depth as layer

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function GetBitmap32: TGLImage; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetTextureTarget: TGLTextureTarget; override;
Protected function GetWidth: Integer; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadFromFile(const fileName: string); override;
Public procedure ReleaseBitmap32; override;
Public procedure SaveToFile(const fileName: string); override;
Private procedure SetArray(const val: Boolean);
Private procedure SetCubeMap(const val: Boolean);
Private procedure SetDepth(val: Integer);
Private procedure SetHeight(val: Integer);
Private procedure SetWidth(val: Integer);

Properties

Published property ColorFormat: Cardinal read fColorFormat write fColorFormat;
Published property CubeMap: Boolean read fCubeMap write SetCubeMap default false;
Published property Depth: Integer read GetDepth write SetDepth default 0;
Published property Height: Integer read GetHeight write SetHeight default 256;
Published property TextureArray: Boolean read fArray write SetArray default false;
Published property Width: Integer read GetWidth write SetWidth default 256;

Width, heigth and depth of the blank image (for memory allocation).


GLSysHelp v.2.1: GLS.Texture: Class TGLPictureImage

Class TGLPictureImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLPictureImage = class(TGLTextureImage)

Description

Base class for image data classes internally based on a TPicture.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLPictureImage

Overview

Fields

Private | FBitmap: TGLImage;
Private | FGLPicture: TPicture;
Private | FUpdateCounter: Integer;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function GetBitmap32: TGLImage; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetPicture: TPicture;
Protected | function GetTextureTarget: TGLTextureTarget; override;
Protected | function GetWidth: Integer; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BeginUpdate;
Public | procedure EndUpdate;
Public | procedure ReleaseBitmap32; override;
Protected | procedure PictureChanged(Sender: TObject);
Protected | procedure SetPicture(const aPicture: TPicture);

Properties

Public property Picture: TPicture read GetPicture write SetPicture;

Description

Fields

Private FBitmap: TGLImage;
Private FGLPicture: TPicture;
Private FUpdateCounter: Integer;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function GetBitmap32: TGLImage; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetPicture: TPicture;
Protected function GetTextureTarget: TGLTextureTarget; override;
Protected function GetWidth: Integer; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BeginUpdate;

Use this function if you are going to modify the Picture directly. Each invokation MUST be balanced by a call to EndUpdate.

Public procedure EndUpdate;

Ends a direct picture modification session. Follows a BeginUpdate.

Public procedure ReleaseBitmap32; override;
Protected procedure PictureChanged(Sender: TObject);
Protected procedure SetPicture(const aPicture: TPicture);

Properties

Public property Picture: TPicture read GetPicture write SetPicture;

Holds the image content.


GLSysHelp v.2.1: GLS.Texture: Class TGLPersistentImage

Class TGLPersistentImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLPersistentImage = class(TGLPictureImage)

Description

Stores any image compatible with Delphi's TPicture mechanism. The picture's data is actually stored into the DFM, the original picture name or path is not remembered. It is similar in behaviour of TImage. Note that if original image is for instance JPEG format, only the JPEG data will be stored in the DFM (compact)

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLPictureImage
  • TGLPersistentImage

Overview

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure SaveToFile(const fileName: string); override;

Properties

Public | property NativeTextureTarget;
Published | property Picture;

Description

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public procedure LoadFromFile(const fileName: string); override;
Public procedure SaveToFile(const fileName: string); override;

Properties

Public property NativeTextureTarget;
Published property Picture;


GLSysHelp v.2.1: GLS.Texture: Class TGLPicFileImage

Class TGLPicFileImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLPicFileImage = class(TGLPictureImage)

Description

Uses a picture whose data is found in a file (only filename is stored). The image is unloaded after upload to OpenGL.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLPictureImage
  • TGLPicFileImage

Overview

Fields

Private | FPictureFileName: string;
Private | FAlreadyWarnedAboutMissingFile: Boolean;
Private | FWidth: Integer;
Private | FHeight: Integer;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function GetBitmap32: TGLImage; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetWidth: Integer; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Invalidate; override;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure SaveToFile(const fileName: string); override;
Protected | procedure SetPictureFileName(const val: string);

Properties

Public | property NativeTextureTarget;
Published | property PictureFileName: string read FPictureFileName write SetPictureFileName;

Description

Fields

Private FPictureFileName: string;
Private FAlreadyWarnedAboutMissingFile: Boolean;
Private FWidth: Integer;
Private FHeight: Integer;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function GetBitmap32: TGLImage; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetWidth: Integer; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Invalidate; override;
Public procedure LoadFromFile(const fileName: string); override;

Load picture file name or use fileName as picture filename. The autodetection is based on the filelength and presence of zeros.

Public procedure SaveToFile(const fileName: string); override;

Only picture file name is saved

Protected procedure SetPictureFileName(const val: string);

Properties

Public property NativeTextureTarget;
Published property PictureFileName: string read FPictureFileName write SetPictureFileName;

Filename of the picture to use.


GLSysHelp v.2.1: GLS.Texture: Class TGLCubeMapImage

Class TGLCubeMapImage

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLCubeMapImage = class(TGLTextureImage)

Description

A texture image used for specifying and stroing a cube map. Not unlike TGLPictureImage, but storing 6 of them instead of just one. Saving & loading as a whole currently not supported.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTextureImage
  • TGLCubeMapImage

Overview

Fields

Private | FImage: TGLImage;
Private | FUpdateCounter: Integer;
Private | FPicture: array[cmtPX..cmtNZ] of TPicture;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | function GetBitmap32: TGLImage; override;
Protected | function GetDepth: Integer; override;
Protected | function GetHeight: Integer; override;
Protected | function GetPicture(index: TGLCubeMapTarget): TPicture;
Protected | function GetTextureTarget: TGLTextureTarget; override;
Protected | function GetWidth: Integer; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BeginUpdate;
Public | procedure EndUpdate;
Public | procedure LoadFromFile(const fileName: string); override;
Public | procedure ReleaseBitmap32; override;
Public | procedure SaveToFile(const fileName: string); override;
Protected | procedure PictureChanged(Sender: TObject);
Protected | procedure SetPicture(index: TGLCubeMapTarget; const val: TPicture);

Properties

Public | property NativeTextureTarget;
Public | property Picture[index:TGLCubeMapTarget]: TPicture read GetPicture write SetPicture;
Published | property PictureNX: TPicture index cmtNX read GetPicture write SetPicture;
Published | property PictureNY: TPicture index cmtNY read GetPicture write SetPicture;
Published | property PictureNZ: TPicture index cmtNZ read GetPicture write SetPicture;
Published | property PicturePX: TPicture index cmtPX read GetPicture write SetPicture;
Published | property PicturePY: TPicture index cmtPY read GetPicture write SetPicture;
Published | property PicturePZ: TPicture index cmtPZ read GetPicture write SetPicture;

Description

Fields

Private FImage: TGLImage;
Private FUpdateCounter: Integer;
Private FPicture: array[cmtPX..cmtNZ] of TPicture;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public function GetBitmap32: TGLImage; override;
Protected function GetDepth: Integer; override;
Protected function GetHeight: Integer; override;
Protected function GetPicture(index: TGLCubeMapTarget): TPicture;
Protected function GetTextureTarget: TGLTextureTarget; override;
Protected function GetWidth: Integer; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BeginUpdate;

Use this function if you are going to modify the Picture directly. Each invokation MUST be balanced by a call to EndUpdate.

Public procedure EndUpdate;
Public procedure LoadFromFile(const fileName: string); override;
Public procedure ReleaseBitmap32; override;
Public procedure SaveToFile(const fileName: string); override;
Protected procedure PictureChanged(Sender: TObject);
Protected procedure SetPicture(index: TGLCubeMapTarget; const val: TPicture);

Properties

Public property NativeTextureTarget;
Public property Picture[index:TGLCubeMapTarget]: TPicture read GetPicture write SetPicture;

Indexed access to the cube map's sub pictures.

Published property PictureNX: TPicture index cmtNX read GetPicture write SetPicture;
Published property PictureNY: TPicture index cmtNY read GetPicture write SetPicture;
Published property PictureNZ: TPicture index cmtNZ read GetPicture write SetPicture;
Published property PicturePX: TPicture index cmtPX read GetPicture write SetPicture;
Published property PicturePY: TPicture index cmtPY read GetPicture write SetPicture;
Published property PicturePZ: TPicture index cmtPZ read GetPicture write SetPicture;


GLSysHelp v.2.1: GLS.Texture: Class TGLTexture

Class TGLTexture

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLTexture = class(TGLUpdateAbleObject)

Description

Defines basic texturing properties. You can control texture wrapping, smoothing/filtering and of course define the texture map (note that texturing is disabled by default). A built-in mechanism (through ImageAlpha) allows auto-generation of an Alpha channel for all bitmaps (see TGLTextureImageAlpha).

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLTexture

Overview

Fields

Private | FTextureHandle: TGLTextureHandle;
Private | FSamplerHandle: TGLVirtualHandle;
Private | FTextureFormat: TGLInternalFormat;
Private | FTextureMode: TGLTextureMode;
Private | FTextureWrap: TGLTextureWrap;
Private | FMinFilter: TGLMinFilter;
Private | FMagFilter: TGLMagFilter;
Private | FDisabled: Boolean;
Private | FImage: TGLTextureImage;
Private | FImageAlpha: TGLTextureImageAlpha;
Private | FImageBrightness: Single;
Private | FImageGamma: Single;
Private | FMappingMode: TGLTextureMappingMode;
Private | FMapSCoordinates: TGLCoordinates4;
Private | FMapTCoordinates: TGLCoordinates4;
Private | FMapRCoordinates: TGLCoordinates4;
Private | FMapQCoordinates: TGLCoordinates4;
Private | FOnTextureNeeded: TGLTextureNeededEvent;
Private | FCompression: TGLTextureCompression;
Private | FRequiredMemorySize: Integer;
Private | FFilteringQuality: TGLTextureFilteringQuality;
Private | FTexWidth: Integer;
Private | FTexHeight: Integer;
Private | FTexDepth: Integer;
Private | FEnvColor: TGLColor;
Private | FBorderColor: TGLColor;
Private | FNormalMapScale: Single;
Private | FTextureWrapS: TGLSeparateTextureWrap;
Private | FTextureWrapT: TGLSeparateTextureWrap;
Private | FTextureWrapR: TGLSeparateTextureWrap;
Private | fTextureCompareMode: TGLTextureCompareMode;
Private | fTextureCompareFunc: TGLDepthCompareFunc;
Private | fDepthTextureMode: TGLDepthTextureMode;
Private | FKeepImageAfterTransfer: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | function AllocateHandle: Cardinal;
Public | function GetImageClassName: string;
Public | function IsFloatType: Boolean;
Public | function IsHandleAllocated: Boolean;
Public | function OpenGLTextureFormat: Integer;
Public | function TextureImageRequiredMemory: Integer;
Protected | function GetEnabled: Boolean; inline;
Protected | function GetHandle: Cardinal;
Protected | function GetMappingQCoordinates: TGLCoordinates4;
Protected | function GetMappingRCoordinates: TGLCoordinates4;
Protected | function GetMappingSCoordinates: TGLCoordinates4;
Protected | function GetMappingTCoordinates: TGLCoordinates4;
Protected | function GetTextureFormat: TGLTextureFormat;
Protected | function StoreBrightness: Boolean;
Protected | function StoreGamma: Boolean;
Protected | function StoreImageClassName: Boolean;
Protected | function StoreMappingQCoordinates: Boolean;
Protected | function StoreMappingRCoordinates: Boolean;
Protected | function StoreMappingSCoordinates: Boolean;
Protected | function StoreMappingTCoordinates: Boolean;
Protected | function StoreNormalMapScale: Boolean;
Protected | function StoreTextureFormatEx: Boolean;
Public | procedure Apply(var rci: TGLRenderContextInfo);
Public | procedure ApplyAsTexture2(var rci: TGLRenderContextInfo; textureMatrix: PGLMatrix = nil);
Public | procedure ApplyAsTextureN(n: Integer; var rci: TGLRenderContextInfo; textureMatrix: PGLMatrix = nil);
Public | procedure ApplyMappingMode;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DestroyHandles;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure NotifyImageChange;
Public | procedure NotifyParamsChange;
Public | procedure PrepareBuildList;
Public | procedure SetImageClassName(const val: string);
Public | procedure UnApply(var rci: TGLRenderContextInfo);
Public | procedure UnApplyAsTexture2(var rci: TGLRenderContextInfo; reloadIdentityTextureMatrix: boolean);
Public | procedure UnApplyAsTextureN(n: Integer; var rci: TGLRenderContextInfo; reloadIdentityTextureMatrix: boolean);
Public | procedure UnApplyMappingMode;
Protected | procedure DoOnTextureNeeded(Sender: TObject; var textureFileName: string);
Protected | procedure OnSamplerAllocate(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected | procedure OnSamplerDestroy(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected | procedure PrepareImage(target: Cardinal); virtual;
Protected | procedure PrepareParams(target: Cardinal); virtual;
Protected | procedure SetBorderColor(const val: TGLColor);
Protected | procedure SetCompression(const val: TGLTextureCompression);
Protected | procedure SetDepthTextureMode(const val: TGLDepthTextureMode);
Protected | procedure SetDisabled(AValue: Boolean);
Protected | procedure SetEnabled(const val: Boolean);
Protected | procedure SetEnvColor(const val: TGLColor);
Protected | procedure SetFilteringQuality(const val: TGLTextureFilteringQuality);
Protected | procedure SetImage(AValue: TGLTextureImage);
Protected | procedure SetImageAlpha(const val: TGLTextureImageAlpha);
Protected | procedure SetImageBrightness(const val: Single);
Protected | procedure SetImageGamma(const val: Single);
Protected | procedure SetMagFilter(AValue: TGLMagFilter);
Protected | procedure SetMappingMode(const val: TGLTextureMappingMode);
Protected | procedure SetMappingQCoordinates(const val: TGLCoordinates4);
Protected | procedure SetMappingRCoordinates(const val: TGLCoordinates4);
Protected | procedure SetMappingSCoordinates(const val: TGLCoordinates4);
Protected | procedure SetMappingTCoordinates(const val: TGLCoordinates4);
Protected | procedure SetMinFilter(AValue: TGLMinFilter);
Protected | procedure SetNormalMapScale(const val: Single);
Protected | procedure SetTextureCompareFunc(const val: TGLDepthCompareFunc);
Protected | procedure SetTextureCompareMode(const val: TGLTextureCompareMode);
Protected | procedure SetTextureErrorImage;
Protected | procedure SetTextureFormat(const val: TGLTextureFormat);
Protected | procedure SetTextureFormatEx(const val: TGLInternalFormat);
Protected | procedure SetTextureMode(AValue: TGLTextureMode);
Protected | procedure SetTextureWrap(AValue: TGLTextureWrap);
Protected | procedure SetTextureWrapR(AValue: TGLSeparateTextureWrap);
Protected | procedure SetTextureWrapS(AValue: TGLSeparateTextureWrap);
Protected | procedure SetTextureWrapT(AValue: TGLSeparateTextureWrap);

Properties

Published | property BorderColor: TGLColor read FBorderColor write SetBorderColor;
Published | property Compression: TGLTextureCompression read FCompression write SetCompression default tcDefault;
Published | property DepthTextureMode: TGLDepthTextureMode read fDepthTextureMode write SetDepthTextureMode default dtmLuminance;
Published | property Disabled: Boolean read FDisabled write SetDisabled default True;
Public | property Enabled: Boolean read GetEnabled write SetEnabled;
Published | property EnvColor: TGLColor read FEnvColor write SetEnvColor;
Published | property FilteringQuality: TGLTextureFilteringQuality read FFilteringQuality write SetFilteringQuality default tfIsotropic;
Public | property Handle: Cardinal read GetHandle;
Published | property Image: TGLTextureImage read FImage write SetImage;
Published | property ImageAlpha: TGLTextureImageAlpha read FImageAlpha write SetImageAlpha default tiaDefault;
Published | property ImageBrightness: Single read FImageBrightness write SetImageBrightness stored StoreBrightness;
Published | property ImageClassName: string read GetImageClassName write SetImageClassName stored StoreImageClassName;
Published | property ImageGamma: Single read FImageGamma write SetImageGamma stored StoreGamma;
Published | property KeepImageAfterTransfer: Boolean read FKeepImageAfterTransfer write FKeepImageAfterTransfer default False;
Published | property MagFilter: TGLMagFilter read FMagFilter write SetMagFilter default maLinear;
Published | property MappingMode: TGLTextureMappingMode read FMappingMode write SetMappingMode default tmmUser;
Published | property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates write SetMappingQCoordinates stored StoreMappingQCoordinates;
Published | property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates write SetMappingRCoordinates stored StoreMappingRCoordinates;
Published | property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates write SetMappingSCoordinates stored StoreMappingSCoordinates;
Published | property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates write SetMappingTCoordinates stored StoreMappingTCoordinates;
Published | property MinFilter: TGLMinFilter read FMinFilter write SetMinFilter default miLinearMipMapLinear;
Published | property NormalMapScale: Single read FNormalMapScale write SetNormalMapScale stored StoreNormalMapScale;
Public | property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write FOnTextureNeeded;
Public | property TexDepth: Integer read FTexDepth;
Public | property TexHeight: Integer read FTexHeight;
Published | property TextureCompareFunc: TGLDepthCompareFunc read fTextureCompareFunc write SetTextureCompareFunc default cfLequal;
Published | property TextureCompareMode: TGLTextureCompareMode read fTextureCompareMode write SetTextureCompareMode default tcmNone;
Published | property TextureFormat: TGLTextureFormat read GetTextureFormat write SetTextureFormat default tfDefault;
Published | property TextureFormatEx: TGLInternalFormat read FTextureFormat write SetTextureFormatEx stored StoreTextureFormatEx;
Public | property TextureHandle: TGLTextureHandle read FTextureHandle;
Published | property TextureMode: TGLTextureMode read FTextureMode write SetTextureMode default tmDecal;
Published | property TextureWrap: TGLTextureWrap read FTextureWrap write SetTextureWrap default twBoth;
Published | property TextureWrapR: TGLSeparateTextureWrap read FTextureWrapR write SetTextureWrapR default twRepeat;
Published | property TextureWrapS: TGLSeparateTextureWrap read FTextureWrapS write SetTextureWrapS default twRepeat;
Published | property TextureWrapT: TGLSeparateTextureWrap read FTextureWrapT write SetTextureWrapT default twRepeat;
Public | property TexWidth: Integer read FTexWidth;

Description

Fields

Private FTextureHandle: TGLTextureHandle;
Private FSamplerHandle: TGLVirtualHandle;
Private FTextureFormat: TGLInternalFormat;
Private FTextureMode: TGLTextureMode;
Private FTextureWrap: TGLTextureWrap;
Private FMinFilter: TGLMinFilter;
Private FMagFilter: TGLMagFilter;
Private FDisabled: Boolean;
Private FImage: TGLTextureImage;
Private FImageAlpha: TGLTextureImageAlpha;
Private FImageBrightness: Single;
Private FImageGamma: Single;
Private FMappingMode: TGLTextureMappingMode;
Private FMapSCoordinates: TGLCoordinates4;
Private FMapTCoordinates: TGLCoordinates4;
Private FMapRCoordinates: TGLCoordinates4;
Private FMapQCoordinates: TGLCoordinates4;
Private FOnTextureNeeded: TGLTextureNeededEvent;
Private FCompression: TGLTextureCompression;
Private FRequiredMemorySize: Integer;
Private FFilteringQuality: TGLTextureFilteringQuality;
Private FTexWidth: Integer;
Private FTexHeight: Integer;
Private FTexDepth: Integer;
Private FEnvColor: TGLColor;
Private FBorderColor: TGLColor;
Private FNormalMapScale: Single;
Private FTextureWrapS: TGLSeparateTextureWrap;
Private FTextureWrapT: TGLSeparateTextureWrap;
Private FTextureWrapR: TGLSeparateTextureWrap;
Private fTextureCompareMode: TGLTextureCompareMode;
Private fTextureCompareFunc: TGLDepthCompareFunc;
Private fDepthTextureMode: TGLDepthTextureMode;
Private FKeepImageAfterTransfer: Boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public function AllocateHandle: Cardinal;

Allocates the texture handle if not already allocated. The texture is binded and parameters are setup, but no image data is initialized by this call - for expert use only

Public function GetImageClassName: string;
Public function IsFloatType: Boolean;

Returns if of float data type

Public function IsHandleAllocated: Boolean;
Public function OpenGLTextureFormat: Integer;

Returns OpenGL texture format corresponding to current options.

Public function TextureImageRequiredMemory: Integer;

Returns the OpenGL memory used by the texture. The compressed size is returned if, and only if texture compression if active and possible, and the texture has been allocated (Handle is defined), otherwise the estimated size (from TextureFormat specification) is returned

Protected function GetEnabled: Boolean; inline;
Protected function GetHandle: Cardinal;
Protected function GetMappingQCoordinates: TGLCoordinates4;
Protected function GetMappingRCoordinates: TGLCoordinates4;
Protected function GetMappingSCoordinates: TGLCoordinates4;
Protected function GetMappingTCoordinates: TGLCoordinates4;
Protected function GetTextureFormat: TGLTextureFormat;
Protected function StoreBrightness: Boolean;
Protected function StoreGamma: Boolean;
Protected function StoreImageClassName: Boolean;
Protected function StoreMappingQCoordinates: Boolean;
Protected function StoreMappingRCoordinates: Boolean;
Protected function StoreMappingSCoordinates: Boolean;
Protected function StoreMappingTCoordinates: Boolean;
Protected function StoreNormalMapScale: Boolean;
Protected function StoreTextureFormatEx: Boolean;
Public procedure Apply(var rci: TGLRenderContextInfo);
Public procedure ApplyAsTexture2(var rci: TGLRenderContextInfo; textureMatrix: PGLMatrix = nil);

Applies to TEXTURE1

Public procedure ApplyAsTextureN(n: Integer; var rci: TGLRenderContextInfo; textureMatrix: PGLMatrix = nil);

N=1 for TEXTURE0, N=2 for TEXTURE1, etc.

Public procedure ApplyMappingMode;
Public procedure Assign(Source: TPersistent); override;
Public procedure DestroyHandles;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure NotifyImageChange;
Public procedure NotifyParamsChange;
Public procedure PrepareBuildList;
Public procedure SetImageClassName(const val: string);
Public procedure UnApply(var rci: TGLRenderContextInfo);
Public procedure UnApplyAsTexture2(var rci: TGLRenderContextInfo; reloadIdentityTextureMatrix: boolean);
Public procedure UnApplyAsTextureN(n: Integer; var rci: TGLRenderContextInfo; reloadIdentityTextureMatrix: boolean);
Public procedure UnApplyMappingMode;
Protected procedure DoOnTextureNeeded(Sender: TObject; var textureFileName: string);
Protected procedure OnSamplerAllocate(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected procedure OnSamplerDestroy(Sender: TGLVirtualHandle; var Handle: Cardinal);
Protected procedure PrepareImage(target: Cardinal); virtual;

Load texture to OpenGL subsystem

Protected procedure PrepareParams(target: Cardinal); virtual;

Setup OpenGL texture parameters

Protected procedure SetBorderColor(const val: TGLColor);
Protected procedure SetCompression(const val: TGLTextureCompression);
Protected procedure SetDepthTextureMode(const val: TGLDepthTextureMode);
Protected procedure SetDisabled(AValue: Boolean);
Protected procedure SetEnabled(const val: Boolean);
Protected procedure SetEnvColor(const val: TGLColor);
Protected procedure SetFilteringQuality(const val: TGLTextureFilteringQuality);
Protected procedure SetImage(AValue: TGLTextureImage);
Protected procedure SetImageAlpha(const val: TGLTextureImageAlpha);
Protected procedure SetImageBrightness(const val: Single);
Protected procedure SetImageGamma(const val: Single);
Protected procedure SetMagFilter(AValue: TGLMagFilter);
Protected procedure SetMappingMode(const val: TGLTextureMappingMode);
Protected procedure SetMappingQCoordinates(const val: TGLCoordinates4);
Protected procedure SetMappingRCoordinates(const val: TGLCoordinates4);
Protected procedure SetMappingSCoordinates(const val: TGLCoordinates4);
Protected procedure SetMappingTCoordinates(const val: TGLCoordinates4);
Protected procedure SetMinFilter(AValue: TGLMinFilter);
Protected procedure SetNormalMapScale(const val: Single);
Protected procedure SetTextureCompareFunc(const val: TGLDepthCompareFunc);
Protected procedure SetTextureCompareMode(const val: TGLTextureCompareMode);
Protected procedure SetTextureErrorImage;

Shows a special image that indicates an error

Protected procedure SetTextureFormat(const val: TGLTextureFormat);
Protected procedure SetTextureFormatEx(const val: TGLInternalFormat);
Protected procedure SetTextureMode(AValue: TGLTextureMode);
Protected procedure SetTextureWrap(AValue: TGLTextureWrap);
Protected procedure SetTextureWrapR(AValue: TGLSeparateTextureWrap);
Protected procedure SetTextureWrapS(AValue: TGLSeparateTextureWrap);
Protected procedure SetTextureWrapT(AValue: TGLSeparateTextureWrap);

Properties

Published property BorderColor: TGLColor read FBorderColor write SetBorderColor;

Texture Border color

Published property Compression: TGLTextureCompression read FCompression write SetCompression default tcDefault;

Texture compression control. If True the compressed TextureFormat variant (the OpenGL ICD must support GL_ARB_texture_compression, or this option is ignored).

Published property DepthTextureMode: TGLDepthTextureMode read fDepthTextureMode write SetDepthTextureMode default dtmLuminance;
Published property Disabled: Boolean read FDisabled write SetDisabled default True;

If true, the texture is disabled (not used)

Public property Enabled: Boolean read GetEnabled write SetEnabled;

Is the texture enabled?. Always equals to 'not Disabled'.

Published property EnvColor: TGLColor read FEnvColor write SetEnvColor;

Texture Environment color

Published property FilteringQuality: TGLTextureFilteringQuality read FFilteringQuality write SetFilteringQuality default tfIsotropic;

Specifies texture filtering quality. You can choose between bilinear and trilinear filetring (anisotropic). The OpenGL ICD must support GL_EXT_texture_filter_anisotropic or this property is ignored

Public property Handle: Cardinal read GetHandle;

Handle to the OpenGL texture object. If the handle hasn't already been allocated, it will be allocated by this call (ie. do not use if no OpenGL context is active!)

Published property Image: TGLTextureImage read FImage write SetImage;

Image data for the texture

Published property ImageAlpha: TGLTextureImageAlpha read FImageAlpha write SetImageAlpha default tiaDefault;

Automatic Image Alpha setting. Allows to control how and if the image's Alpha channel (transparency) is computed

Published property ImageBrightness: Single read FImageBrightness write SetImageBrightness stored StoreBrightness;

Texture brightness correction. This correction is applied upon loading a TGLTextureImage, it's a simple saturating scaling applied to the RGB components of the 32 bits image, before it is passed to OpenGL, and before gamma correction (if any)

Published property ImageClassName: string read GetImageClassName write SetImageClassName stored StoreImageClassName;

Image ClassName for enabling True polymorphism. This is ugly, but since the default streaming mechanism does a really bad job at storing polymorphic owned-object properties, and neither TFiler nor TPicture allow proper use of the built-in streaming, that's the only way to allow a user-extensible mechanism

Published property ImageGamma: Single read FImageGamma write SetImageGamma stored StoreGamma;

Texture gamma correction. The gamma correction is applied upon loading a TGLTextureImage, applied to the RGB components of the 32 bits image, before it is passed to OpenGL, after brightness correction (if any).

Published property KeepImageAfterTransfer: Boolean read FKeepImageAfterTransfer write FKeepImageAfterTransfer default False;

Disable image release after transfering it to VGA

Published property MagFilter: TGLMagFilter read FMagFilter write SetMagFilter default maLinear;

Texture magnification filter.

Published property MappingMode: TGLTextureMappingMode read FMappingMode write SetMappingMode default tmmUser;

Texture coordinates mapping mode. This property controls automatic texture coordinates generation

Published property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates write SetMappingQCoordinates stored StoreMappingQCoordinates;
Published property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates write SetMappingRCoordinates stored StoreMappingRCoordinates;
Published property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates write SetMappingSCoordinates stored StoreMappingSCoordinates;

Texture mapping coordinates mode for S, T, R and Q axis. This property stores the coordinates for automatic texture coordinates generation

Published property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates write SetMappingTCoordinates stored StoreMappingTCoordinates;
Published property MinFilter: TGLMinFilter read FMinFilter write SetMinFilter default miLinearMipMapLinear;

Texture minification filter.

Published property NormalMapScale: Single read FNormalMapScale write SetNormalMapScale stored StoreNormalMapScale;

Normal Map scaling. Only applies when TextureFormat is tfNormalMap, this property defines the scaling that is applied during normal map generation (ie. controls the intensity of the bumps)

Public property OnTextureNeeded: TGLTextureNeededEvent read FOnTextureNeeded write FOnTextureNeeded;
Public property TexDepth: Integer read FTexDepth;
Public property TexHeight: Integer read FTexHeight;
Published property TextureCompareFunc: TGLDepthCompareFunc read fTextureCompareFunc write SetTextureCompareFunc default cfLequal;
Published property TextureCompareMode: TGLTextureCompareMode read fTextureCompareMode write SetTextureCompareMode default tcmNone;
Published property TextureFormat: TGLTextureFormat read GetTextureFormat write SetTextureFormat default tfDefault;

Texture format for use by the renderer. See TGLTextureFormat for details

Published property TextureFormatEx: TGLInternalFormat read FTextureFormat write SetTextureFormatEx stored StoreTextureFormatEx;
Public property TextureHandle: TGLTextureHandle read FTextureHandle;
Published property TextureMode: TGLTextureMode read FTextureMode write SetTextureMode default tmDecal;

Texture application mode.

Published property TextureWrap: TGLTextureWrap read FTextureWrap write SetTextureWrap default twBoth;

Wrapping mode for the texture.

Published property TextureWrapR: TGLSeparateTextureWrap read FTextureWrapR write SetTextureWrapR default twRepeat;
Published property TextureWrapS: TGLSeparateTextureWrap read FTextureWrapS write SetTextureWrapS default twRepeat;

Wrapping mode for the texture when TextureWrap=twSeparate.

Published property TextureWrapT: TGLSeparateTextureWrap read FTextureWrapT write SetTextureWrapT default twRepeat;
Public property TexWidth: Integer read FTexWidth;

Actual width, height and depth used for last texture specification binding


GLSysHelp v.2.1: GLS.Texture: Class TGLTextureExItem

Class TGLTextureExItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLTextureExItem = class(TCollectionItem, IGLTextureNotifyAble)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLTextureExItem

Overview

Fields

Private | FTexture: TGLTexture;
Private | FTextureIndex: Integer;
Private | FTextureOffset: TGLCoordinates;
Private | FTextureScale: TGLCoordinates;
Private | FTextureMatrixIsIdentity: Boolean;
Private | FTextureMatrix: TGLMatrix;
Private | FApplied: Boolean;

Methods

Public | constructor Create(ACollection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Protected | function GetOwner: TPersistent; override;
Private | function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
Private | function _AddRef: Integer; stdcall;
Private | function _Release: Integer; stdcall;
Public | procedure Apply(var rci: TGLRenderContextInfo); inline;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure NotifyChange(Sender: TObject);
Public | procedure UnApply(var rci: TGLRenderContextInfo); inline;
Protected | procedure CalculateTextureMatrix;
Protected | procedure NotifyTexMapChange(Sender: TObject);
Protected | procedure OnNotifyChange(Sender: TObject);
Protected | procedure SetTexture(const Value: TGLTexture);
Protected | procedure SetTextureIndex(const Value: Integer);
Protected | procedure SetTextureOffset(const Value: TGLCoordinates);
Protected | procedure SetTextureScale(const Value: TGLCoordinates);

Properties

Published | property Texture: TGLTexture read FTexture write SetTexture;
Published | property TextureIndex: Integer read FTextureIndex write SetTextureIndex;
Published | property TextureOffset: TGLCoordinates read FTextureOffset write SetTextureOffset;
Published | property TextureScale: TGLCoordinates read FTextureScale write SetTextureScale;

Description

Fields

Private FTexture: TGLTexture;
Private FTextureIndex: Integer;
Private FTextureOffset: TGLCoordinates;
Private FTextureScale: TGLCoordinates;
Private FTextureMatrixIsIdentity: Boolean;
Private FTextureMatrix: TGLMatrix;
Private FApplied: Boolean;

Methods

Public constructor Create(ACollection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Protected function GetOwner: TPersistent; override;
Private function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;

Implementing IInterface

Private function _AddRef: Integer; stdcall;
Private function _Release: Integer; stdcall;
Public procedure Apply(var rci: TGLRenderContextInfo); inline;
Public procedure Assign(Source: TPersistent); override;
Public procedure NotifyChange(Sender: TObject);
Public procedure UnApply(var rci: TGLRenderContextInfo); inline;
Protected procedure CalculateTextureMatrix;
Protected procedure NotifyTexMapChange(Sender: TObject);
Protected procedure OnNotifyChange(Sender: TObject);
Protected procedure SetTexture(const Value: TGLTexture);
Protected procedure SetTextureIndex(const Value: Integer);
Protected procedure SetTextureOffset(const Value: TGLCoordinates);
Protected procedure SetTextureScale(const Value: TGLCoordinates);

Properties

Published property Texture: TGLTexture read FTexture write SetTexture;
Published property TextureIndex: Integer read FTextureIndex write SetTextureIndex;
Published property TextureOffset: TGLCoordinates read FTextureOffset write SetTextureOffset;
Published property TextureScale: TGLCoordinates read FTextureScale write SetTextureScale;


GLSysHelp v.2.1: GLS.Texture: Class TGLTextureEx

Class TGLTextureEx

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type TGLTextureEx = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLTextureEx

Overview

Fields

Private FOwner: TGLUpdateAbleObject;

Methods

Public | constructor Create(AOwner: TGLUpdateAbleObject);
Public | function Add: TGLTextureExItem;
Public | function IsTextureEnabled(Index: Integer): Boolean; inline;
Protected | function GetItems(index: Integer): TGLTextureExItem; inline;
Protected | function GetOwner: TPersistent; override;
Public | procedure Apply(var rci: TGLRenderContextInfo);
Public | procedure Loaded;
Public | procedure NotifyChange(Sender: TObject);
Public | procedure UnApply(var rci: TGLRenderContextInfo);
Protected | procedure SetItems(index: Integer; const Value: TGLTextureExItem);

Properties

Public property Items[index:Integer]: TGLTextureExItem read GetItems write SetItems;

Description

Fields

Private FOwner: TGLUpdateAbleObject;

Methods

Public constructor Create(AOwner: TGLUpdateAbleObject);
Public function Add: TGLTextureExItem;
Public function IsTextureEnabled(Index: Integer): Boolean; inline;
Protected function GetItems(index: Integer): TGLTextureExItem; inline;
Protected function GetOwner: TPersistent; override;
Public procedure Apply(var rci: TGLRenderContextInfo);
Public procedure Loaded;
Public procedure NotifyChange(Sender: TObject);
Public procedure UnApply(var rci: TGLRenderContextInfo);
Protected procedure SetItems(index: Integer; const Value: TGLTextureExItem);

Properties

Public property Items[index:Integer]: TGLTextureExItem read GetItems write SetItems;


GLSysHelp v.2.1: GLS.Texture: Class ETexture

Class ETexture

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type ETexture = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • ETexture


GLSysHelp v.2.1: GLS.Texture: Class EGLShaderException

Class EGLShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Texture

Declaration

type EGLShaderException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLShaderException


GLSysHelp v.2.1: GLS.TextureCombiners

Unit GLS.TextureCombiners

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.SysUtils
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TCombinerCommand |
Class ETextureCombinerError |

Functions and Procedures

function GetTextureCombiners(const tcCode: TStringList): TCombinerCache;

Types

TCombinerCache = array of TCombinerCommand;

Description

Functions and Procedures

function GetTextureCombiners(const tcCode: TStringList): TCombinerCache;

Parses a TC text description and setups combiners accordingly. *experimental* Knowledge of texture combiners is a requirement Syntax: pascal-like, one instruction per line, use '//' for comment.

Examples: Tex1:=Tex0; // replace texture 1 with texture 0 Tex1:=Tex0+Tex1; // additive blending between textures 0 and 1 Tex1:=Tex0-Tex1; // subtractive blending between textures 0 and 1 Tex1:=Tex0*Tex1; // modulation between textures 0 and 1 Tex1:=Tex0+Tex1-0.5; // signed additive blending between textures 0 and 1 Tex1:=Interpolate(Tex0, Tex1, PrimaryColor); // interpolation between textures 0 and 1 using primary color as factor Tex1:=Dot3(Tex0, Tex1); // dot3 product between textures 0 and 1

Accepted tokens: Tex0, Tex1, etc. : texture unit PrimaryColor, Col : the primary color ConstantColor, EnvCol : texture environment constant color

Tokens can be qualified with '.a' or '.alpha' to specify the alpha channel explicitly, and '.rgb' to specify color channels (default). You cannot mix alpha and rgb tokens in the same line.

Types

TCombinerCache = array of TCombinerCommand;


GLSysHelp v.2.1: GLS.TextureCombiners: Record TCombinerCommand

Record TCombinerCommand

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureCombiners

Declaration

type TCombinerCommand = record

Description

Overview

Fields

Public | ActiveUnit: Integer;
Public | Arg1: Integer;
Public | Arg2: Integer;

Description

Fields

Public ActiveUnit: Integer;
Public Arg1: Integer;
Public Arg2: Integer;


GLSysHelp v.2.1: GLS.TextureCombiners: Class ETextureCombinerError

Class ETextureCombinerError

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureCombiners

Declaration

type ETextureCombinerError = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • ETextureCombinerError


GLSysHelp v.2.1: GLS.TexturedHDS

Unit GLS.TexturedHDS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.Classes
  • GLS.VectorTypes
  • GLS.Coordinates
  • GLS.HeightData
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTexturedHDS |


GLSysHelp v.2.1: GLS.TexturedHDS: Class TGLTexturedHDS

Class TGLTexturedHDS

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TexturedHDS

Declaration

type TGLTexturedHDS = class(TGLHeightDataSource)

Description

No description available, ancestor TGLHeightDataSource description follows

Base class for height datasources. This class is abstract and presents the standard interfaces for height data retrieval (TGLHeightData objects). The class offers the following features (that a subclass may decide to implement or not, what follow is the complete feature set, check subclass doc to see what is actually supported): Pooling / Cacheing (return a TGLHeightData with its "Release" method) Pre-loading : specify a list of TGLHeightData you want to preload Multi-threaded preload/queueing : specified list can be loaded in a background task.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLHeightDataSource
  • TGLTexturedHDS

Overview

Fields

Private | FOnStartPreparingData: TStartPreparingDataEvent;
Private | FOnMarkDirty: TMarkDirtyEvent;
Private | FHeightDataSource: TGLHeightDataSource;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FWholeTilesOnly: Boolean;
Private | FTileSize: integer;
Private | FTilesPerTexture: integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure MarkDirty(const area: TRect); override;
Public | procedure StartPreparingData(heightData: TGLHeightData); override;
Protected | procedure SetHeightDataSource(val: TGLHeightDataSource);

Properties

Published | property HeightDataSource: TGLHeightDataSource read FHeightDataSource write SetHeightDataSource;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write FMaterialLibrary;
Published | property MaxPoolSize;
Published | property OnMarkDirtyEvent: TMarkDirtyEvent read FOnMarkDirty write FOnMarkDirty;
Published | property OnStartPreparingData: TStartPreparingDataEvent read FOnStartPreparingData write FOnStartPreparingData;
Published | property TileSize: integer read FTileSize write FTileSize;
Published | property TilesPerTexture: integer read FTilesPerTexture write FTilesPerTexture;
Published | property WholeTilesOnly: Boolean read FWholeTilesOnly write FWholeTilesOnly;

Description

Fields

Private FOnStartPreparingData: TStartPreparingDataEvent;
Private FOnMarkDirty: TMarkDirtyEvent;
Private FHeightDataSource: TGLHeightDataSource;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FWholeTilesOnly: Boolean;
Private FTileSize: integer;
Private FTilesPerTexture: integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure MarkDirty(const area: TRect); override;
Public procedure StartPreparingData(heightData: TGLHeightData); override;
Protected procedure SetHeightDataSource(val: TGLHeightDataSource);

Properties

Published property HeightDataSource: TGLHeightDataSource read FHeightDataSource write SetHeightDataSource;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write FMaterialLibrary;
Published property MaxPoolSize;
Published property OnMarkDirtyEvent: TMarkDirtyEvent read FOnMarkDirty write FOnMarkDirty;
Published property OnStartPreparingData: TStartPreparingDataEvent read FOnStartPreparingData write FOnStartPreparingData;
Published property TileSize: integer read FTileSize write FTileSize;

This should match TileSize in TGLTerrainRenderer

Published property TilesPerTexture: integer read FTilesPerTexture write FTilesPerTexture;

This should match TilesPerTexture in TGLTerrainRenderer

Published property WholeTilesOnly: Boolean read FWholeTilesOnly write FWholeTilesOnly;


GLSysHelp v.2.1: GLS.TextureFormat

Unit GLS.TextureFormat

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.Strings

Overview

Functions and Procedures

function InternalFormatToOpenGLFormat(intFormat: TGLInternalFormat): Cardinal;
function OpenGLFormatToInternalFormat(glFormat: Cardinal): TGLInternalFormat;
function GetTextureElementSize(intFormat: TGLInternalFormat): Integer; overload;
function GetTextureElementSize(colorFormat: Cardinal; dataType: Cardinal): Integer; overload;
procedure FindCompatibleDataFormat(intFormat: TGLInternalFormat; out dFormat: TGLuint; out dType: TGLUint);
function CompressedInternalFormatToOpenGL(intFormat: TGLInternalFormat): Integer;
function IsTargetSupported(glTarget: Cardinal): Boolean; overload;
function IsTargetSupported(target: TGLTextureTarget): Boolean; overload;
function IsFormatSupported(intFormat: TGLInternalFormat): Boolean;
function IsFloatFormat(intFormat: TGLInternalFormat): Boolean; overload;
function IsFloatFormat(glFormat: Cardinal): Boolean; overload;
function IsDepthFormat(intFormat: TGLInternalFormat): boolean; overload;
function IsDepthFormat(glFormat: Cardinal): Boolean; overload;
function IsCompressedFormat(intFormat: TGLInternalFormat): Boolean; overload;
function IsCompressedFormat(glFormat: Cardinal): Boolean; overload;
function GetGenericCompressedFormat(const intFormat: TGLInternalFormat; const colorFormat: Cardinal; out internalFormat: Cardinal): Boolean;
function GetUncompressedFormat(const intFormat: TGLInternalFormat; out internalFormat: TGLInternalFormat; out colorFormat: Cardinal): Boolean;
function DecodeTextureTarget(const TextureTarget: TGLTextureTarget): Cardinal;
function EncodeGLTextureTarget(const glTarget: Cardinal): TGLTextureTarget;
function IsTargetSupportMipmap(const TextureTarget: TGLTextureTarget): Boolean; overload;
function IsTargetSupportMipmap(const glTarget: Cardinal): Boolean; overload;

Types

TGLInternalCompression = (...);
TGLInternalFormat = (...);
TGLSeparateTextureWrap = (...);
TGLTextureCompareMode = (...);
TGLTextureFilteringQuality = (...);
TGLTextureSwizzle = (...);
TGLTextureTarget = (...);
TSwizzleVector = array[0..3] of TGLTextureSwizzle;

Constants

cDefaultSwizzleVector: TSwizzleVector = (tswRed, tswGreen, tswBlue, tswAlpha);

Variables

vDefaultTextureFormat: TGLInternalFormat = tfRGBA8;
vDefaultTextureCompression: TGLInternalCompression = tcNone;

Description

Functions and Procedures

function InternalFormatToOpenGLFormat(intFormat: TGLInternalFormat): Cardinal;

Give a openGL texture format from GLScene texture format

function OpenGLFormatToInternalFormat(glFormat: Cardinal): TGLInternalFormat;

Give a GLScene texture format from openGL texture format

function GetTextureElementSize(intFormat: TGLInternalFormat): Integer; overload;

Give a pixel size in bytes from texture format or data format

function GetTextureElementSize(colorFormat: Cardinal; dataType: Cardinal): Integer; overload;
procedure FindCompatibleDataFormat(intFormat: TGLInternalFormat; out dFormat: TGLuint; out dType: TGLUint);

Give compatible openGL image format and data type

function CompressedInternalFormatToOpenGL(intFormat: TGLInternalFormat): Integer;

Give a compressed openGL texture format from GLScene texture format if format is have not compression than return same openGL format

function IsTargetSupported(glTarget: Cardinal): Boolean; overload;

True if texture target supported

function IsTargetSupported(target: TGLTextureTarget): Boolean; overload;
function IsFormatSupported(intFormat: TGLInternalFormat): Boolean;

True if texture format is supported by hardware or software

function IsFloatFormat(intFormat: TGLInternalFormat): Boolean; overload;

True if texture format is float

function IsFloatFormat(glFormat: Cardinal): Boolean; overload;
function IsDepthFormat(intFormat: TGLInternalFormat): boolean; overload;

True if depth texture

function IsDepthFormat(glFormat: Cardinal): Boolean; overload;
function IsCompressedFormat(intFormat: TGLInternalFormat): Boolean; overload;

True if texture compressed

function IsCompressedFormat(glFormat: Cardinal): Boolean; overload;
function GetGenericCompressedFormat(const intFormat: TGLInternalFormat; const colorFormat: Cardinal; out internalFormat: Cardinal): Boolean;

Give generic compressed OpenGL texture format

function GetUncompressedFormat(const intFormat: TGLInternalFormat; out internalFormat: TGLInternalFormat; out colorFormat: Cardinal): Boolean;

Give uncompressed texture format and OpenGL color format

function DecodeTextureTarget(const TextureTarget: TGLTextureTarget): Cardinal;
function EncodeGLTextureTarget(const glTarget: Cardinal): TGLTextureTarget;
function IsTargetSupportMipmap(const TextureTarget: TGLTextureTarget): Boolean; overload;
function IsTargetSupportMipmap(const glTarget: Cardinal): Boolean; overload;

Types

TGLInternalCompression = (...);

Texture compression option. If OpenGL supports it, this will activate a compressed texture format: tcDefault : uses global default compression option tcNone : do not use compression tcStandard : use standard compression, average quality, average rate tcHighQuality : choose a high-quality, low-speed compression tcHighSpeed : choose a high-speed, low-quality compression

Values
  • tcDefault
  • tcNone
  • tcStandard
  • tcHighQuality
  • tcHighSpeed
TGLInternalFormat = (...);
Values
  • tfALPHA4
  • tfALPHA8
  • tfALPHA12
  • tfALPHA16
  • tfDEPTH_COMPONENT16
  • tfDEPTH_COMPONENT24
  • tfDEPTH_COMPONENT32
  • tfLUMINANCE4
  • tfLUMINANCE8
  • tfLUMINANCE12
  • tfLUMINANCE16
  • tfLUMINANCE4_ALPHA4
  • tfLUMINANCE6_ALPHA2
  • tfLUMINANCE8_ALPHA8
  • tfLUMINANCE12_ALPHA4
  • tfLUMINANCE12_ALPHA12
  • tfLUMINANCE16_ALPHA16
  • tfINTENSITY4
  • tfINTENSITY8
  • tfINTENSITY12
  • tfINTENSITY16
  • tfR3_G3_B2
  • tfRGB4
  • tfRGB5
  • tfRGB8
  • tfRGB10
  • tfRGB12
  • tfR16G16B16
  • tfRGBA2
  • tfRGBA4
  • tfRGB5_A1
  • tfRGBA8
  • tfRGB10_A2
  • tfRGBA12
  • tfR16G16B16A16
  • tfCOMPRESSED_RGB_S3TC_DXT1
  • tfCOMPRESSED_RGBA_S3TC_DXT1
  • tfCOMPRESSED_RGBA_S3TC_DXT3
  • tfCOMPRESSED_RGBA_S3TC_DXT5
  • tfSIGNED_LUMINANCE8
  • tfSIGNED_LUMINANCE8_ALPHA8
  • tfSIGNED_RGB8
  • tfSIGNED_RGBA8
  • tfSIGNED_RGB8_UNSIGNED_ALPHA8
  • tfSIGNED_ALPHA8
  • tfSIGNED_INTENSITY8
  • tfHILO16
  • tfSIGNED_HILO16
  • tfDSDT8
  • tfDSDT8_MAG8
  • tfDSDT8_MAG8_INTENSITY8
  • tfHILO8
  • tfSIGNED_HILO8
  • tfFLOAT_R16
  • tfFLOAT_R32
  • tfFLOAT_RG16
  • tfFLOAT_RGB16
  • tfFLOAT_RGBA16
  • tfFLOAT_RG32
  • tfFLOAT_RGB32
  • tfFLOAT_RGBA32
  • tfRGBA_FLOAT32
  • tfRGB_FLOAT32
  • tfALPHA_FLOAT32
  • tfINTENSITY_FLOAT32
  • tfLUMINANCE_FLOAT32
  • tfLUMINANCE_ALPHA_FLOAT32
  • tfRGBA_FLOAT16
  • tfRGB_FLOAT16
  • tfALPHA_FLOAT16
  • tfINTENSITY_FLOAT16
  • tfLUMINANCE_FLOAT16
  • tfLUMINANCE_ALPHA_FLOAT16
  • tfDEPTH24_STENCIL8
  • tfDEPTH_COMPONENT32F
  • tfDEPTH32F_STENCIL8
  • tfSRGB8
  • tfSRGB8_ALPHA8
  • tfSLUMINANCE8
  • tfSLUMINANCE8_ALPHA8
  • tfCOMPRESSED_SRGB_S3TC_DXT1
  • tfCOMPRESSED_SRGB_ALPHA_S3TC_DXT1
  • tfCOMPRESSED_SRGB_ALPHA_S3TC_DXT3
  • tfCOMPRESSED_SRGB_ALPHA_S3TC_DXT5
  • tfRGB9_E5
  • tfR11F_G11F_B10F
  • tfCOMPRESSED_LUMINANCE_LATC1
  • tfCOMPRESSED_SIGNED_LUMINANCE_LATC1
  • tfCOMPRESSED_LUMINANCE_ALPHA_LATC2
  • tfCOMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2
  • tfCOMPRESSED_LUMINANCE_ALPHA_3DC
  • tfRGBA32UI
  • tfRGB32UI
  • tfALPHA32UI
  • tfINTENSITY32UI
  • tfLUMINANCE32UI
  • tfLUMINANCE_ALPHA32UI
  • tfRGBA16UI
  • tfRGB16UI
  • tfALPHA16UI
  • tfINTENSITY16UI
  • tfLUMINANCE16UI
  • tfLUMINANCE_ALPHA16UI
  • tfRGBA8UI
  • tfRGB8UI
  • tfALPHA8UI
  • tfINTENSITY8UI
  • tfLUMINANCE8UI
  • tfLUMINANCE_ALPHA8UI
  • tfRGBA32I
  • tfRGB32I
  • tfALPHA32I
  • tfINTENSITY32I
  • tfLUMINANCE32I
  • tfLUMINANCE_ALPHA32I
  • tfRGBA16I
  • tfRGB16I
  • tfALPHA16I
  • tfINTENSITY16I
  • tfLUMINANCE16I
  • tfLUMINANCE_ALPHA16I
  • tfRGBA8I
  • tfRGB8I
  • tfALPHA8I
  • tfINTENSITY8I
  • tfLUMINANCE8I
  • tfLUMINANCE_ALPHA8I
  • tfRG32UI
  • tfR32UI
  • tfRG16UI
  • tfR16UI
  • tfRG8UI
  • tfR8UI
  • tfRG32I
  • tfR32I
  • tfRG16I
  • tfR16I
  • tfRG8I
  • tfR8I
  • tfRG8
  • tfR8
  • tfRG16
  • tfR16
  • tfRG16F
  • tfR16F
  • tfRG32F
  • tfR32F
  • tfCOMPRESSED_RED_RGTC1
  • tfCOMPRESSED_SIGNED_RED_RGTC1
  • tfCOMPRESSED_RG_RGTC2
  • tfCOMPRESSED_SIGNED_RG_RGTC2
  • tfR8_SNORM
  • tfRG8_SNORM
  • tfRGB8_SNORM
  • tfRGBA8_SNORM
  • tfR16_SNORM
  • tfRG16_SNORM
  • tfRGB16_SNORM
  • tfRGBA16_SNORM
TGLSeparateTextureWrap = (...);

Texture addressing rules

Values
  • twRepeat
  • twClampToEdge
  • twClampToBorder
  • twMirrorRepeat
  • twMirrorClampToEdge
  • twMirrorClampToBorder
TGLTextureCompareMode = (...);

Specifies the texture comparison mode for currently bound depth textures. That is, a texture whose internal format is tfDEPTH_COMPONENT*

Values
  • tcmNone
  • tcmCompareRtoTexture
TGLTextureFilteringQuality = (...);

Filtering quality

Values
  • tfIsotropic
  • tfAnisotropic
TGLTextureSwizzle = (...);
Values
  • tswRed
  • tswGreen
  • tswBlue
  • tswAlpha
  • tswZero
  • tswOne
TGLTextureTarget = (...);
Values
  • ttNoShape
  • ttTexture1D
  • ttTexture2D
  • ttTexture3D
  • ttTexture1DArray
  • ttTexture2DArray
  • ttTextureRect
  • ttTextureBuffer
  • ttTextureCube
  • ttTexture2DMultisample
  • ttTexture2DMultisampleArray
  • ttTextureCubeArray
TSwizzleVector = array[0..3] of TGLTextureSwizzle;

Constants

cDefaultSwizzleVector: TSwizzleVector = (tswRed, tswGreen, tswBlue, tswAlpha);

Variables

vDefaultTextureFormat: TGLInternalFormat = tfRGBA8;
vDefaultTextureCompression: TGLInternalCompression = tcNone;


GLSysHelp v.2.1: GLS.TextureImageEditors

Unit GLS.TextureImageEditors

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Texture
  • GLS.ProcTextures

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTextureImageEditor |
Class TGLBlankTIE |
Class TGLPersistentTIE |
Class TGLPicFileTIE |
Class TGLProcTextureNoiseTIE |

Functions and Procedures

function EditGLTextureImage(aTexImage: TGLTextureImage): Boolean;
procedure RegisterGLTextureImageEditor(aTexImageClass: TGLTextureImageClass; texImageEditor: TGLTextureImageEditorClass);
procedure UnRegisterGLTextureImageEditor(texImageEditor: TGLTextureImageEditorClass);

Types

TGLTextureImageEditorClass = class of TGLTextureImageEditor;

Description

Functions and Procedures

function EditGLTextureImage(aTexImage: TGLTextureImage): Boolean;

Invokes the editor for the given TGLTextureImage

procedure RegisterGLTextureImageEditor(aTexImageClass: TGLTextureImageClass; texImageEditor: TGLTextureImageEditorClass);
procedure UnRegisterGLTextureImageEditor(texImageEditor: TGLTextureImageEditorClass);

Types

TGLTextureImageEditorClass = class of TGLTextureImageEditor;


GLSysHelp v.2.1: GLS.TextureImageEditors: Class TGLTextureImageEditor

Class TGLTextureImageEditor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureImageEditors

Declaration

type TGLTextureImageEditor = class(TObject)

Description

Hierarchy

  • TObject
  • TGLTextureImageEditor

Overview

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; virtual;

Description

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; virtual;

Request to edit a textureImage. Returns True if changes have been made. This method may be invoked from the IDE or at run-time.


GLSysHelp v.2.1: GLS.TextureImageEditors: Class TGLBlankTIE

Class TGLBlankTIE

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureImageEditors

Declaration

type TGLBlankTIE = class(TGLTextureImageEditor)

Description

No description available, ancestor TGLTextureImageEditor description follows

Hierarchy

  • TObject
  • TGLTextureImageEditor
  • TGLBlankTIE

Overview

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;

Description

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;


GLSysHelp v.2.1: GLS.TextureImageEditors: Class TGLPersistentTIE

Class TGLPersistentTIE

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureImageEditors

Declaration

type TGLPersistentTIE = class(TGLTextureImageEditor)

Description

No description available, ancestor TGLTextureImageEditor description follows

Hierarchy

  • TObject
  • TGLTextureImageEditor
  • TGLPersistentTIE

Overview

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;

Description

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;


GLSysHelp v.2.1: GLS.TextureImageEditors: Class TGLPicFileTIE

Class TGLPicFileTIE

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureImageEditors

Declaration

type TGLPicFileTIE = class(TGLTextureImageEditor)

Description

No description available, ancestor TGLTextureImageEditor description follows

Hierarchy

  • TObject
  • TGLTextureImageEditor
  • TGLPicFileTIE

Overview

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;

Description

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;


GLSysHelp v.2.1: GLS.TextureImageEditors: Class TGLProcTextureNoiseTIE

Class TGLProcTextureNoiseTIE

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TextureImageEditors

Declaration

type TGLProcTextureNoiseTIE = class(TGLTextureImageEditor)

Description

No description available, ancestor TGLTextureImageEditor description follows

Hierarchy

  • TObject
  • TGLTextureImageEditor
  • TGLProcTextureNoiseTIE

Overview

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;

Description

Methods

Public class function Edit(aTexImage: TGLTextureImage): Boolean; override;


GLSysHelp v.2.1: GLS.ThorFX

Unit GLS.ThorFX

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Types
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.XCollection
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.VectorLists
  • GLS.VectorTypes
  • GLS.Cadencer
  • GLS.Color
  • GLS.BaseClasses
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.PipelineTransformation
  • GLS.Manager
  • GLS.State
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TThorpoint |
Class TGLThorFXManager |
Class TGLBThorFX |

Functions and Procedures

function GetOrCreateThorFX(obj: TGLBaseSceneObject; const name: String = ''): TGLBThorFX;

Types

PThorpoint = ˆTThorpoint;
PThorpointArray = ˆTThorpointArray;
TCalcPointEvent = procedure(Sender: TObject; PointNo: integer; var x: single; var y: single; var z: single) of object;
TThorpointArray = array [0 .. MAXINT shr 6] of TThorpoint;

Description

Functions and Procedures

function GetOrCreateThorFX(obj: TGLBaseSceneObject; const name: String = ''): TGLBThorFX;

Returns or creates the TGLBThorFX within the given object's effects.

Types

PThorpoint = ˆTThorpoint;
PThorpointArray = ˆTThorpointArray;
TCalcPointEvent = procedure(Sender: TObject; PointNo: integer; var x: single; var y: single; var z: single) of object;
TThorpointArray = array [0 .. MAXINT shr 6] of TThorpoint;


GLSysHelp v.2.1: GLS.ThorFX: Record TThorpoint

Record TThorpoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ThorFX

Declaration

type TThorpoint = record

Description

Overview

Fields

Public | Position: TGLVector;
Public | Size: single;

Description

Fields

Public Position: TGLVector;
Public Size: single;

Position


GLSysHelp v.2.1: GLS.ThorFX: Class TGLThorFXManager

Class TGLThorFXManager

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ThorFX

Declaration

type TGLThorFXManager = class(TGLCadenceAbleComponent)

Description

Thor special effect manager.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLThorFXManager

Overview

Fields

Private | FClients: TList;
Private | FThorpoints: PThorpointArray;
Private | FTarget: TGLCoordinates;
Private | FCadencer: TGLCadencer;
Private | FMaxpoints: integer;
Private | FGlowSize: single;
Private | FVibrate: single;
Private | FWildness: single;
Private | NP: integer;
Private | FInnerColor: TGLColor;
Private | FOuterColor: TGLColor;
Private | FCoreColor: TGLColor;
Private | FDisabled: boolean;
Private | FCore: boolean;
Private | FGlow: boolean;
Private | FOnCalcPoint: TCalcPointEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreGlowSize: boolean;
Protected | function StoreVibrate: boolean;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected | procedure CalcFrac(left, right: integer; lh, rh: single; xyz: integer);
Protected | procedure CalcThor;
Protected | procedure DeRegisterAllClients;
Protected | procedure DeRegisterClient(aClient: TGLBThorFX);
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure RegisterClient(aClient: TGLBThorFX);
Protected | procedure SetCadencer(const val: TGLCadencer);
Protected | procedure SetCoreColor(const val: TGLColor);
Protected | procedure SetInnerColor(const val: TGLColor);
Protected | procedure SetMaxpoints(const val: integer);
Protected | procedure SetOuterColor(const val: TGLColor);
Protected | procedure SetTarget(const val: TGLCoordinates);
Protected | procedure ThorInit;

Properties

Published | property Cadencer: TGLCadencer read FCadencer write SetCadencer;
Published | property Core: boolean read FCore write FCore;
Published | property CoreColor: TGLColor read FCoreColor write SetCoreColor;
Published | property Disabled: boolean read FDisabled write FDisabled;
Published | property Glow: boolean read FGlow write FGlow;
Published | property GlowSize: single read FGlowSize write FGlowSize stored StoreGlowSize;
Published | property InnerColor: TGLColor read FInnerColor write SetInnerColor;
Published | property Maxpoints: integer read FMaxpoints write SetMaxpoints default 256;
Published | property OnCalcPoint: TCalcPointEvent read FOnCalcPoint write FOnCalcPoint;
Published | property OuterColor: TGLColor read FOuterColor write SetOuterColor;
Published | property Target: TGLCoordinates read FTarget write SetTarget;
Published | property Vibrate: single read FVibrate write FVibrate stored StoreVibrate;
Published | property Wildness: single read FWildness write FWildness;

Description

Fields

Private FClients: TList;
Private FThorpoints: PThorpointArray;
Private FTarget: TGLCoordinates;
Private FCadencer: TGLCadencer;
Private FMaxpoints: integer;
Private FGlowSize: single;
Private FVibrate: single;
Private FWildness: single;
Private NP: integer;
Private FInnerColor: TGLColor;
Private FOuterColor: TGLColor;
Private FCoreColor: TGLColor;
Private FDisabled: boolean;
Private FCore: boolean;
Private FGlow: boolean;
Private FOnCalcPoint: TCalcPointEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreGlowSize: boolean;
Protected function StoreVibrate: boolean;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Protected procedure CalcFrac(left, right: integer; lh, rh: single; xyz: integer);
Protected procedure CalcThor;
Protected procedure DeRegisterAllClients;
Protected procedure DeRegisterClient(aClient: TGLBThorFX);
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure RegisterClient(aClient: TGLBThorFX);
Protected procedure SetCadencer(const val: TGLCadencer);
Protected procedure SetCoreColor(const val: TGLColor);
Protected procedure SetInnerColor(const val: TGLColor);
Protected procedure SetMaxpoints(const val: integer);
Protected procedure SetOuterColor(const val: TGLColor);
Protected procedure SetTarget(const val: TGLCoordinates);
Protected procedure ThorInit;

Properties

Published property Cadencer: TGLCadencer read FCadencer write SetCadencer;
Published property Core: boolean read FCore write FCore;
Published property CoreColor: TGLColor read FCoreColor write SetCoreColor;

default clrWhite;

Published property Disabled: boolean read FDisabled write FDisabled;

default clrWhite;

Published property Glow: boolean read FGlow write FGlow;
Published property GlowSize: single read FGlowSize write FGlowSize stored StoreGlowSize;
Published property InnerColor: TGLColor read FInnerColor write SetInnerColor;
Published property Maxpoints: integer read FMaxpoints write SetMaxpoints default 256;
Published property OnCalcPoint: TCalcPointEvent read FOnCalcPoint write FOnCalcPoint;
Published property OuterColor: TGLColor read FOuterColor write SetOuterColor;
Published property Target: TGLCoordinates read FTarget write SetTarget;
Published property Vibrate: single read FVibrate write FVibrate stored StoreVibrate;
Published property Wildness: single read FWildness write FWildness;


GLSysHelp v.2.1: GLS.ThorFX: Class TGLBThorFX

Class TGLBThorFX

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.ThorFX

Declaration

type TGLBThorFX = class(TGLObjectPostEffect)

Description

Thor special effect

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLEffect
  • TGLObjectPostEffect
  • TGLBThorFX

Overview

Fields

Private | FManager: TGLThorFXManager;
Private | FManagerName: String;
Private | FTarget: TGLCoordinates;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetManager(const val: TGLThorFXManager);
Protected | procedure SetTarget(const val: TGLCoordinates);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Manager: TGLThorFXManager read FManager write SetManager;

Description

Fields

Private FManager: TGLThorFXManager;
Private FManagerName: String;
Private FTarget: TGLCoordinates;

NOT persistent, temporarily used for persistence

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetManager(const val: TGLThorFXManager);
Protected procedure SetTarget(const val: TGLCoordinates);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Manager: TGLThorFXManager read FManager write SetManager;

Refers the collision manager.


GLSysHelp v.2.1: GLS.TilePlane

Unit GLS.TilePlane

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.State
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Material
  • GLS.Objects
  • GLS.PersistentClasses
  • GLS.VectorLists
  • GLS.RenderContextInfo
  • GLS.XOpenGL

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTiledAreaRow |
Class TGLTiledArea |
Class TGLTilePlane |


GLSysHelp v.2.1: GLS.TilePlane: Class TGLTiledAreaRow

Class TGLTiledAreaRow

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TilePlane

Declaration

type TGLTiledAreaRow = class(TPersistentObject)

Description

Stores row information for a tiled area.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLTiledAreaRow

Overview

Fields

Private | FColMin: Integer;
Private | FColMax: Integer;
Private | FData: TIntegerList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function Empty: Boolean;
Protected | function GetCell(col: Integer): Integer;
Public | procedure Pack;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure RemapTiles(remapList: TIntegerList);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetCell(col, val: Integer);
Protected | procedure SetColMax(const val: Integer);
Protected | procedure SetColMin(const val: Integer);

Properties

Public | property Cell[col:Integer]: Integer read GetCell write SetCell;
Public | property ColMax: Integer read FColMax write SetColMax;
Public | property ColMin: Integer read FColMin write SetColMin;
Public | property Data: TIntegerList read FData;

Description

Fields

Private FColMin: Integer;
Private FColMax: Integer;
Private FData: TIntegerList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function Empty: Boolean;
Protected function GetCell(col: Integer): Integer;
Public procedure Pack;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure RemapTiles(remapList: TIntegerList);
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetCell(col, val: Integer);
Protected procedure SetColMax(const val: Integer);
Protected procedure SetColMin(const val: Integer);

Properties

Public property Cell[col:Integer]: Integer read GetCell write SetCell;
Public property ColMax: Integer read FColMax write SetColMax;
Public property ColMin: Integer read FColMin write SetColMin;
Public property Data: TIntegerList read FData;


GLSysHelp v.2.1: GLS.TilePlane: Class TGLTiledArea

Class TGLTiledArea

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TilePlane

Declaration

type TGLTiledArea = class(TPersistentObject)

Description

Stores tile information in a tiled area. Each tile stores an integer value with zero the default value, assumed as "empty".

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLTiledArea

Overview

Fields

Private | FRowMin: Integer;
Private | FRowMax: Integer;
Private | FRows: TPersistentObjectList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function Empty: Boolean;
Protected | function GetRow(index: Integer): TGLTiledAreaRow;
Protected | function GetTile(col, row: Integer): Integer;
Public | procedure Clear;
Public | procedure Pack;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure RemapTiles(remapList: TIntegerList);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetRowMax(const val: Integer);
Protected | procedure SetRowMin(const val: Integer);
Protected | procedure SetTile(col, row, val: Integer);

Properties

Public | property Row[index:Integer]: TGLTiledAreaRow read GetRow;
Public | property RowMax: Integer read FRowMax write SetRowMax;
Public | property RowMin: Integer read FRowMin write SetRowMin;
Public | property Tile[col,row:Integer]: Integer read GetTile write SetTile;

Description

Fields

Private FRowMin: Integer;
Private FRowMax: Integer;
Private FRows: TPersistentObjectList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function Empty: Boolean;
Protected function GetRow(index: Integer): TGLTiledAreaRow;
Protected function GetTile(col, row: Integer): Integer;
Public procedure Clear;
Public procedure Pack;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure RemapTiles(remapList: TIntegerList);
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetRowMax(const val: Integer);
Protected procedure SetRowMin(const val: Integer);
Protected procedure SetTile(col, row, val: Integer);

Properties

Public property Row[index:Integer]: TGLTiledAreaRow read GetRow;
Public property RowMax: Integer read FRowMax write SetRowMax;
Public property RowMin: Integer read FRowMin write SetRowMin;
Public property Tile[col,row:Integer]: Integer read GetTile write SetTile;


GLSysHelp v.2.1: GLS.TilePlane: Class TGLTilePlane

Class TGLTilePlane

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TilePlane

Declaration

type TGLTilePlane = class(TGLImmaterialSceneObject)

Description

A tiled textured plane. This plane object stores and displays texture tiles that composes it, and is optimized to minimize texture switches when rendering. Its bounding dimensions are determined by its painted tile.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLTilePlane

Overview

Fields

Private | FNoZWrite: Boolean;
Private | FTiles: TGLTiledArea;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FSortByMaterials: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Protected | procedure SetNoZWrite(const val: Boolean);
Protected | procedure SetSortByMaterials(const val: Boolean);
Protected | procedure SetTiles(const val: TGLTiledArea);

Properties

Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;
Public | property SortByMaterials: Boolean read FSortByMaterials write SetSortByMaterials;
Public | property Tiles: TGLTiledArea read FTiles write SetTiles;

Description

Fields

Private FNoZWrite: Boolean;
Private FTiles: TGLTiledArea;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FSortByMaterials: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Protected procedure SetNoZWrite(const val: Boolean);
Protected procedure SetSortByMaterials(const val: Boolean);
Protected procedure SetTiles(const val: TGLTiledArea);

Properties

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Material library where tiles materials will be stored/retrieved. The lower 16 bits of the tile integer value is understood as being the index of the tile's material in the library (material of index zero is thus unused).

Published property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;

If True the tiles are rendered without writing to the ZBuffer.

Public property SortByMaterials: Boolean read FSortByMaterials write SetSortByMaterials;

Controls the sorting of tiles by material. This property should ideally be left always at its default, True, except for debugging and performance measurement, which is why it's only public and not published.

Public property Tiles: TGLTiledArea read FTiles write SetTiles;

Access to the TiledArea data


GLSysHelp v.2.1: GLS.TimeEventsMgr

Unit GLS.TimeEventsMgr

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Cadencer
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTimeEventsMGR |
Class TTimeEvents |
Class TTimeEvent |

Types

TTimeEventProc = procedure (event : TTimeEvent) of object;
TTimeEventType = (...);

Description

Types

TTimeEventProc = procedure (event : TTimeEvent) of object;
TTimeEventType = (...);
Values
  • etOneShot
  • etContinuous
  • etPeriodic


GLSysHelp v.2.1: GLS.TimeEventsMgr: Class TGLTimeEventsMGR

Class TGLTimeEventsMGR

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TimeEventsMgr

Declaration

type TGLTimeEventsMGR = class(TGLUpdateAbleComponent)

Description

No description available, ancestor TGLUpdateAbleComponent description follows

A base class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLTimeEventsMGR

Overview

Fields

Private | FCadencer: TGLCadencer;
Private | FEnabled: boolean;
Private | FFreeEventOnEnd: boolean;
Private | FEvents: TTimeEvents;

Methods

Public | constructor Create(aOwner : TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoProgress(const progressTime : TGLProgressTimes); override;
Public | procedure Reset();
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetCadencer(const val : TGLCadencer);
Protected | procedure SetEvents(const val : TTimeEvents);

Properties

Published | property Cadencer : TGLCadencer read FCadencer write SetCadencer;
Published | property Enabled : boolean read FEnabled write FEnabled default True;
Published | property Events : TTimeEvents read FEvents write SetEvents;
Published | property FreeEventOnEnd : boolean read FFreeEventOnEnd write FFreeEventOnEnd default False;

Description

Fields

Private FCadencer: TGLCadencer;
Private FEnabled: boolean;
Private FFreeEventOnEnd: boolean;
Private FEvents: TTimeEvents;

Methods

Public constructor Create(aOwner : TComponent); override;
Public destructor Destroy; override;
Public procedure DoProgress(const progressTime : TGLProgressTimes); override;
Public procedure Reset();
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetCadencer(const val : TGLCadencer);
Protected procedure SetEvents(const val : TTimeEvents);

Properties

Published property Cadencer : TGLCadencer read FCadencer write SetCadencer;
Published property Enabled : boolean read FEnabled write FEnabled default True;
Published property Events : TTimeEvents read FEvents write SetEvents;
Published property FreeEventOnEnd : boolean read FFreeEventOnEnd write FFreeEventOnEnd default False;


GLSysHelp v.2.1: GLS.TimeEventsMgr: Class TTimeEvents

Class TTimeEvents

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TimeEventsMgr

Declaration

type TTimeEvents = class(TCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TTimeEvents

Overview

Fields

Protected Owner: TComponent;

Methods

Public | constructor Create(AOwner : TComponent);
Public | function Add: TTimeEvent;
Public | function EventByName(const name:String): TTimeEvent;
Public | function FindItemID(ID: Integer): TTimeEvent;
Protected | function GetItems(index : Integer) : TTimeEvent;
Protected | function GetOwner: TPersistent; override;
Protected | procedure SetItems(index : Integer; const val : TTimeEvent);

Properties

Public property Items[index:Integer]: TTimeEvent read GetItems write SetItems;

Description

Fields

Protected Owner: TComponent;

Methods

Public constructor Create(AOwner : TComponent);
Public function Add: TTimeEvent;
Public function EventByName(const name:String): TTimeEvent;
Public function FindItemID(ID: Integer): TTimeEvent;
Protected function GetItems(index : Integer) : TTimeEvent;
Protected function GetOwner: TPersistent; override;
Protected procedure SetItems(index : Integer; const val : TTimeEvent);

Properties

Public property Items[index:Integer]: TTimeEvent read GetItems write SetItems;


GLSysHelp v.2.1: GLS.TimeEventsMgr: Class TTimeEvent

Class TTimeEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.TimeEventsMgr

Declaration

type TTimeEvent = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TTimeEvent

Overview

Fields

Private | FName: String;
Private | FStartTime: Double;
Private | FEndTime: Double;
Private | FElapsedTime: Double;
Private | FPeriod: Double;
Private | FEventType: TTimeEventType;
Private | FOnEvent:TTimeEventProc;
Private | FEnabled: boolean;
Private | FTickCount: Cardinal;

Methods

Public | constructor Create(Collection : TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: String; override;
Protected | procedure DoEvent(const CurTime : Double);
Protected | procedure SetName(const Val : String);
Private | procedure SetEnabled(const Value: Boolean);

Properties

Public | property ElapsedTime : Double read FElapsedTime;
Published | property Enabled : Boolean read FEnabled write SetEnabled default True;
Published | property EndTime : Double read FEndTime write FEndTime;
Published | property EventType : TTimeEventType read FEventType write FEventType default etOneShot;
Published | property Name : String read FName write SetName;
Published | property OnEvent : TTimeEventProc read FOnEvent write FOnEvent;
Published | property Period : Double read FPeriod write FPeriod;
Published | property StartTime : Double read FStartTime write FStartTime;
Public | property TickCount : Cardinal read FTickCount;

Description

Fields

Private FName: String;
Private FStartTime: Double;
Private FEndTime: Double;
Private FElapsedTime: Double;
Private FPeriod: Double;
Private FEventType: TTimeEventType;
Private FOnEvent:TTimeEventProc;
Private FEnabled: boolean;
Private FTickCount: Cardinal;

Methods

Public constructor Create(Collection : TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: String; override;
Protected procedure DoEvent(const CurTime : Double);
Protected procedure SetName(const Val : String);
Private procedure SetEnabled(const Value: Boolean);

Properties

Public property ElapsedTime : Double read FElapsedTime;

Elapsed time since the event was activated

Published property Enabled : Boolean read FEnabled write SetEnabled default True;
Published property EndTime : Double read FEndTime write FEndTime;
Published property EventType : TTimeEventType read FEventType write FEventType default etOneShot;
Published property Name : String read FName write SetName;
Published property OnEvent : TTimeEventProc read FOnEvent write FOnEvent;
Published property Period : Double read FPeriod write FPeriod;
Published property StartTime : Double read FStartTime write FStartTime;
Public property TickCount : Cardinal read FTickCount;

Number of times the event was triggered since activation


GLSysHelp v.2.1: GLS.Trail

Unit GLS.Trail

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.MeshUtils
  • GLS.VectorGeometry
  • GLS.VectorFileObjects
  • GLS.Mesh
  • GLS.Objects
  • GLS.Material
  • GLS.Strings
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTrail |

Types

TMarkStyle = (...);

Constants

cMaxVerts = 2000;

Description

Types

TMarkStyle = (...);
Values
  • msUp
  • msDirection
  • msFaceCamera
  • msRight

Constants

cMaxVerts = 2000;


GLSysHelp v.2.1: GLS.Trail: Class TGLTrail

Class TGLTrail

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Trail

Declaration

type TGLTrail = class(TGlMesh)

Description

No description available, ancestor TGlMesh description follows

Basic mesh object. Each mesh holds a set of vertices and a Mode value defines how they make up the mesh (triangles, strips...)

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLMesh
  • TGLTrail

Overview

Fields

Private | fVertLimit: integer;
Private | fTimeLimit: single;
Private | fMinDistance: single;
Private | fAlpha: single;
Private | fAlphaFade: Boolean;
Private | fUVScale: Single;
Private | fVerts: array[1..cMaxVerts] of TVector3f;
Private | fUVs: array[1..cMaxVerts] of TTexpoint;
Private | fTimeStamps: array[1..cMaxVerts] of Double;
Private | fVertStart: integer;
Private | fVertEnd: integer;
Private | fVertCount: integer;
Private | fLastV0Pos: TVector3f;
Private | fLastPos: TVector3f;
Private | fLastDir: TVector3f;
Private | fLastUp: TVector3f;
Private | FLastUVs: single;
Private | fLastP1: TVector3f;
Private | fLastP2: TVector3f;
Private | FTrailObject: TGLBaseSceneObject;
Private | FMarkStyle: TMarkStyle;
Private | FMarkWidth: single;
Private | FEnabled: boolean;
Private | FAntiZFightOffset: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CreateMark(const p1,p2: TVector3f;CurrentTime : Double):boolean; overload;
Private | function StoreAntiZFightOffset: Boolean;
Public | procedure ClearMarks;
Public | procedure CreateMark(obj: TGlBaseSceneObject; width: single;CurrentTime : Double); overload;
Public | procedure CreateMark(const APos,ADir,AUp: TVector3f; AWidth: single;ACurrentTime : Double); overload;
Public | procedure DoProgress(const progressTime : TGLProgressTimes); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetAlpha(const Value: single);
Private | procedure SetAlphaFade(const Value: Boolean);
Private | procedure SetEnabled(const Value: boolean);
Private | procedure SetMarkStyle(const Value: TMarkStyle);
Private | procedure SetMarkWidth(const Value: single);
Private | procedure SetMinDistance(const Value: single);
Private | procedure SetTimeLimit(const Value: single);
Private | procedure SetTrailObject(const Value: TGLBaseSceneObject);
Private | procedure SetUVScale(const Value: single);
Private | procedure SetVertLimit(const Value: integer);

Properties

Published | property Alpha: single read FAlpha write SetAlpha;
Published | property AlphaFade: Boolean read FAlphaFade write SetAlphaFade default True;
Published | property AntiZFightOffset: Single read FAntiZFightOffset write FAntiZFightOffset stored StoreAntiZFightOffset;
Published | property Enabled : boolean read FEnabled write SetEnabled default True;
Published | property MarkStyle : TMarkStyle read FMarkStyle write SetMarkStyle default msFaceCamera;
Published | property MarkWidth : single read FMarkWidth write SetMarkWidth;
Published | property MinDistance: single read FMinDistance write SetMinDistance;
Published | property TimeLimit: single read FTimeLimit write SetTimeLimit;
Published | property TrailObject : TGLBaseSceneObject read FTrailObject write SetTrailObject default nil;
Published | property UVScale: single read FUVScale write SetUVScale;
Published | property VertLimit: integer read FVertLimit write SetVertLimit default 150;

Description

Fields

Private fVertLimit: integer;
Private fTimeLimit: single;
Private fMinDistance: single;
Private fAlpha: single;
Private fAlphaFade: Boolean;
Private fUVScale: Single;
Private fVerts: array[1..cMaxVerts] of TVector3f;
Private fUVs: array[1..cMaxVerts] of TTexpoint;
Private fTimeStamps: array[1..cMaxVerts] of Double;
Private fVertStart: integer;
Private fVertEnd: integer;
Private fVertCount: integer;
Private fLastV0Pos: TVector3f;
Private fLastPos: TVector3f;
Private fLastDir: TVector3f;
Private fLastUp: TVector3f;
Private FLastUVs: single;
Private fLastP1: TVector3f;

used for UV scaling

Private fLastP2: TVector3f;

used for UV scaling

Private FTrailObject: TGLBaseSceneObject;
Private FMarkStyle: TMarkStyle;
Private FMarkWidth: single;
Private FEnabled: boolean;
Private FAntiZFightOffset: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CreateMark(const p1,p2: TVector3f;CurrentTime : Double):boolean; overload;
Private function StoreAntiZFightOffset: Boolean;
Public procedure ClearMarks;
Public procedure CreateMark(obj: TGlBaseSceneObject; width: single;CurrentTime : Double); overload;
Public procedure CreateMark(const APos,ADir,AUp: TVector3f; AWidth: single;ACurrentTime : Double); overload;
Public procedure DoProgress(const progressTime : TGLProgressTimes); override;

EnableUVmapping: boolean; // generate UV's or not

Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetAlpha(const Value: single);
Private procedure SetAlphaFade(const Value: Boolean);
Private procedure SetEnabled(const Value: boolean);
Private procedure SetMarkStyle(const Value: TMarkStyle);
Private procedure SetMarkWidth(const Value: single);
Private procedure SetMinDistance(const Value: single);
Private procedure SetTimeLimit(const Value: single);
Private procedure SetTrailObject(const Value: TGLBaseSceneObject);
Private procedure SetUVScale(const Value: single);
Private procedure SetVertLimit(const Value: integer);

Properties

Published property Alpha: single read FAlpha write SetAlpha;
Published property AlphaFade: Boolean read FAlphaFade write SetAlphaFade default True;
Published property AntiZFightOffset: Single read FAntiZFightOffset write FAntiZFightOffset stored StoreAntiZFightOffset;

Add a tiny bit of offset to help prevent z-fighting.. Need a better solution here as this will get out of whack on really long trails and is dependant on scene scale.

Published property Enabled : boolean read FEnabled write SetEnabled default True;
Published property MarkStyle : TMarkStyle read FMarkStyle write SetMarkStyle default msFaceCamera;
Published property MarkWidth : single read FMarkWidth write SetMarkWidth;
Published property MinDistance: single read FMinDistance write SetMinDistance;

Don't create mark unless moved at least this distance.

Published property TimeLimit: single read FTimeLimit write SetTimeLimit;
Published property TrailObject : TGLBaseSceneObject read FTrailObject write SetTrailObject default nil;
Published property UVScale: single read FUVScale write SetUVScale;
Published property VertLimit: integer read FVertLimit write SetVertLimit default 150;


GLSysHelp v.2.1: GLS.Tree

Unit GLS.Tree

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.State
  • GLS.Material
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.VectorFileObjects
  • GLS.ApplicationFileIO
  • GLS.RenderContextInfo
  • GLS.PersistentClasses
  • GLS.XOpenGL
  • GLS.Context
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTreeLeaves |
Class TGLTreeBranch |
Class TGLTreeBranches |
Class TGLTreeBranchNoise |
Class TGLTree |


GLSysHelp v.2.1: GLS.Tree: Class TGLTreeLeaves

Class TGLTreeLeaves

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Tree

Declaration

type TGLTreeLeaves = class(TObject)

Description

Hierarchy

  • TObject
  • TGLTreeLeaves

Overview

Fields

Private | FOwner: TGLTree;
Private | FCount: Integer;
Private | FVertices: TAffineVectorList;
Private | FNormals: TAffineVectorList;
Private | FTexCoords: TAffineVectorList;

Methods

Public | constructor Create(AOwner: TGLTree);
Public | destructor Destroy; override;
Public | procedure AddNew(matrix: TGLMatrix);
Public | procedure BuildList(var rci: TGLRenderContextInfo);
Public | procedure Clear;

Properties

Public | property Count: Integer read FCount;
Public | property Normals: TAffineVectorList read FNormals;
Public | property Owner: TGLTree read FOwner;
Public | property TexCoords: TAffineVectorList read FTexCoords;
Public | property Vertices: TAffineVectorList read FVertices;

Description

Fields

Private FOwner: TGLTree;
Private FCount: Integer;
Private FVertices: TAffineVectorList;
Private FNormals: TAffineVectorList;
Private FTexCoords: TAffineVectorList;

Methods

Public constructor Create(AOwner: TGLTree);
Public destructor Destroy; override;
Public procedure AddNew(matrix: TGLMatrix);
Public procedure BuildList(var rci: TGLRenderContextInfo);
Public procedure Clear;

Properties

Public property Count: Integer read FCount;
Public property Normals: TAffineVectorList read FNormals;
Public property Owner: TGLTree read FOwner;
Public property TexCoords: TAffineVectorList read FTexCoords;
Public property Vertices: TAffineVectorList read FVertices;


GLSysHelp v.2.1: GLS.Tree: Class TGLTreeBranch

Class TGLTreeBranch

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Tree

Declaration

type TGLTreeBranch = class(TObject)

Description

Hierarchy

  • TObject
  • TGLTreeBranch

Overview

Fields

Private | FOwner: TGLTreeBranches;
Private | FLeft: TGLTreeBranch;
Private | FCenter: TGLTreeBranch;
Private | FRight: TGLTreeBranch;
Private | FParent: TGLTreeBranch;
Private | FBranchID: Integer;
Private | FParentID: Integer;
Private | FMatrix: TGLMatrix;
Private | FLower: TIntegerList;
Private | FUpper: TIntegerList;
Private | FCentralLeader: Boolean;

Methods

Public | constructor Create(AOwner: TGLTreeBranches; AParent: TGLTreeBranch);
Public | destructor Destroy; override;
Private | procedure BuildBranch(branchNoise: TGLTreeBranchNoise; const matrix: TGLMatrix; TexCoordY, Twist: Single; Level: Integer);

Properties

Public | property Center: TGLTreeBranch read FCenter;
Public | property Left: TGLTreeBranch read FLeft;
Public | property Lower: TIntegerList read FLower;
Public | property matrix: TGLMatrix read FMatrix;
Public | property Owner: TGLTreeBranches read FOwner;
Public | property Parent: TGLTreeBranch read FParent;
Public | property Right: TGLTreeBranch read FRight;
Public | property Upper: TIntegerList read FUpper;

Description

Fields

Private FOwner: TGLTreeBranches;
Private FLeft: TGLTreeBranch;
Private FCenter: TGLTreeBranch;
Private FRight: TGLTreeBranch;
Private FParent: TGLTreeBranch;
Private FBranchID: Integer;
Private FParentID: Integer;
Private FMatrix: TGLMatrix;
Private FLower: TIntegerList;
Private FUpper: TIntegerList;
Private FCentralLeader: Boolean;

Methods

Public constructor Create(AOwner: TGLTreeBranches; AParent: TGLTreeBranch);
Public destructor Destroy; override;
Private procedure BuildBranch(branchNoise: TGLTreeBranchNoise; const matrix: TGLMatrix; TexCoordY, Twist: Single; Level: Integer);

Properties

Public property Center: TGLTreeBranch read FCenter;
Public property Left: TGLTreeBranch read FLeft;
Public property Lower: TIntegerList read FLower;
Public property matrix: TGLMatrix read FMatrix;
Public property Owner: TGLTreeBranches read FOwner;
Public property Parent: TGLTreeBranch read FParent;
Public property Right: TGLTreeBranch read FRight;
Public property Upper: TIntegerList read FUpper;


GLSysHelp v.2.1: GLS.Tree: Class TGLTreeBranches

Class TGLTreeBranches

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Tree

Declaration

type TGLTreeBranches = class(TObject)

Description

Hierarchy

  • TObject
  • TGLTreeBranches

Overview

Fields

Private | FOwner: TGLTree;
Private | FSinList: TSingleList;
Private | FCosList: TSingleList;
Private | FVertices: TAffineVectorList;
Private | FNormals: TAffineVectorList;
Private | FTexCoords: TAffineVectorList;
Private | FIndices: TIntegerList;
Private | FRoot: TGLTreeBranch;
Private | FCount: Integer;
Private | FBranchCache: TList;
Private | FBranchIndices: TIntegerList;

Methods

Public | constructor Create(AOwner: TGLTree);
Public | destructor Destroy; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo);
Public | procedure Clear;
Private | procedure BuildBranches;

Properties

Public | property CosList: TSingleList read FCosList;
Public | property Count: Integer read FCount;
Public | property Normals: TAffineVectorList read FNormals;
Public | property Owner: TGLTree read FOwner;
Public | property SinList: TSingleList read FSinList;
Public | property TexCoords: TAffineVectorList read FTexCoords;
Public | property Vertices: TAffineVectorList read FVertices;

Description

Fields

Private FOwner: TGLTree;
Private FSinList: TSingleList;
Private FCosList: TSingleList;
Private FVertices: TAffineVectorList;
Private FNormals: TAffineVectorList;
Private FTexCoords: TAffineVectorList;
Private FIndices: TIntegerList;
Private FRoot: TGLTreeBranch;
Private FCount: Integer;
Private FBranchCache: TList;
Private FBranchIndices: TIntegerList;

Methods

Public constructor Create(AOwner: TGLTree);
Public destructor Destroy; override;
Public procedure BuildList(var rci: TGLRenderContextInfo);
Public procedure Clear;
Private procedure BuildBranches;

Properties

Public property CosList: TSingleList read FCosList;
Public property Count: Integer read FCount;
Public property Normals: TAffineVectorList read FNormals;
Public property Owner: TGLTree read FOwner;
Public property SinList: TSingleList read FSinList;
Public property TexCoords: TAffineVectorList read FTexCoords;
Public property Vertices: TAffineVectorList read FVertices;


GLSysHelp v.2.1: GLS.Tree: Class TGLTreeBranchNoise

Class TGLTreeBranchNoise

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Tree

Declaration

type TGLTreeBranchNoise = class(TObject)

Description

Hierarchy

  • TObject
  • TGLTreeBranchNoise

Overview

Fields

Private | FBranchNoise: Single;
Private | FLeft: TGLTreeBranchNoise;
Private | FRight: TGLTreeBranchNoise;
Private | FCenter: TGLTreeBranchNoise;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Private | function GetCenter: TGLTreeBranchNoise;
Private | function GetLeft: TGLTreeBranchNoise;
Private | function GetRight: TGLTreeBranchNoise;

Properties

Public | property branchNoise: Single read FBranchNoise;
Public | property Center: TGLTreeBranchNoise read GetCenter;
Public | property Left: TGLTreeBranchNoise read GetLeft;
Public | property Right: TGLTreeBranchNoise read GetRight;

Description

Fields

Private FBranchNoise: Single;
Private FLeft: TGLTreeBranchNoise;
Private FRight: TGLTreeBranchNoise;
Private FCenter: TGLTreeBranchNoise;

Methods

Public constructor Create;
Public destructor Destroy; override;
Private function GetCenter: TGLTreeBranchNoise;
Private function GetLeft: TGLTreeBranchNoise;
Private function GetRight: TGLTreeBranchNoise;

Properties

Public property branchNoise: Single read FBranchNoise;
Public property Center: TGLTreeBranchNoise read GetCenter;
Public property Left: TGLTreeBranchNoise read GetLeft;
Public property Right: TGLTreeBranchNoise read GetRight;


GLSysHelp v.2.1: GLS.Tree: Class TGLTree

Class TGLTree

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Tree

Declaration

type TGLTree = class(TGLImmaterialSceneObject)

Description

No description available, ancestor TGLImmaterialSceneObject description follows

Base class for objects that do not have a published "material". Note that the material is available in public properties, but isn't applied automatically before invoking BuildList. Subclassing should be reserved to structural objects and objects that have no material of their own.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLImmaterialSceneObject
  • TGLTree

Overview

Fields

Private | FDepth: Integer;
Private | FBranchFacets: Integer;
Private | FLeafSize: Single;
Private | FBranchSize: Single;
Private | FBranchNoise: Single;
Private | FBranchAngleBias: Single;
Private | FBranchAngle: Single;
Private | FBranchTwist: Single;
Private | FBranchRadius: Single;
Private | FLeafThreshold: Single;
Private | FCentralLeaderBias: Single;
Private | FCentralLeader: Boolean;
Private | FSeed: Integer;
Private | FAutoCenter: Boolean;
Private | FAutoRebuild: Boolean;
Private | FCenterBranchConstant: Single;
Private | FLeaves: TGLTreeLeaves;
Private | FBranches: TGLTreeBranches;
Private | FNoise: TGLTreeBranchNoise;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FLeafMaterialName: TGLLibMaterialName;
Private | FLeafBackMaterialName: TGLLibMaterialName;
Private | FBranchMaterialName: TGLLibMaterialName;
Private | FRebuildTree: Boolean;
Private | FAxisAlignedDimensionsCache: TGLVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure BuildMesh(GLBaseMesh: TGLBaseMesh);
Public | procedure Clear;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public | procedure ForceTotalRebuild;
Public | procedure GetExtents(var min, max: TAffineVector);
Public | procedure LoadFromFile(const aFileName: String);
Public | procedure LoadFromStream(aStream: TStream);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure RebuildTree;
Public | procedure SaveToFile(const aFileName: String);
Public | procedure SaveToStream(aStream: TStream);
Public | procedure StructureChanged; override;
Protected | procedure Loaded; override;
Protected | procedure SetAutoCenter(const Value: Boolean);
Protected | procedure SetAutoRebuild(const Value: Boolean);
Protected | procedure SetBranchAngle(const Value: Single);
Protected | procedure SetBranchAngleBias(const Value: Single);
Protected | procedure SetBranchFacets(const Value: Integer);
Protected | procedure SetBranchMaterialName(const Value: TGLLibMaterialName);
Protected | procedure SetBranchNoise(const Value: Single);
Protected | procedure SetBranchRadius(const Value: Single);
Protected | procedure SetBranchSize(const Value: Single);
Protected | procedure SetBranchTwist(const Value: Single);
Protected | procedure SetCenterBranchConstant(const Value: Single);
Protected | procedure SetCentralLeader(const Value: Boolean);
Protected | procedure SetCentralLeaderBias(const Value: Single);
Protected | procedure SetDepth(const Value: Integer);
Protected | procedure SetLeafBackMaterialName(const Value: TGLLibMaterialName);
Protected | procedure SetLeafMaterialName(const Value: TGLLibMaterialName);
Protected | procedure SetLeafSize(const Value: Single);
Protected | procedure SetLeafThreshold(const Value: Single);
Protected | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Protected | procedure SetSeed(const Value: Integer);

Properties

Published | property AutoCenter: Boolean read FAutoCenter write SetAutoCenter;
Published | property AutoRebuild: Boolean read FAutoRebuild write SetAutoRebuild;
Published | property BranchAngle: Single read FBranchAngle write SetBranchAngle;
Published | property BranchAngleBias: Single read FBranchAngleBias write SetBranchAngleBias;
Public | property Branches: TGLTreeBranches read FBranches;
Published | property BranchFacets: Integer read FBranchFacets write SetBranchFacets;
Published | property BranchMaterialName: TGLLibMaterialName read FBranchMaterialName write SetBranchMaterialName;
Published | property BranchNoise: Single read FBranchNoise write SetBranchNoise;
Published | property BranchRadius: Single read FBranchRadius write SetBranchRadius;
Published | property BranchSize: Single read FBranchSize write SetBranchSize;
Published | property BranchTwist: Single read FBranchTwist write SetBranchTwist;
Published | property CenterBranchConstant: Single read FCenterBranchConstant write SetCenterBranchConstant;
Published | property CentralLeader: Boolean read FCentralLeader write SetCentralLeader;
Published | property CentralLeaderBias: Single read FCentralLeaderBias write SetCentralLeaderBias;
Published | property Depth: Integer read FDepth write SetDepth;
Published | property LeafBackMaterialName: TGLLibMaterialName read FLeafBackMaterialName write SetLeafBackMaterialName;
Published | property LeafMaterialName: TGLLibMaterialName read FLeafMaterialName write SetLeafMaterialName;
Published | property LeafSize: Single read FLeafSize write SetLeafSize;
Published | property LeafThreshold: Single read FLeafThreshold write SetLeafThreshold;
Public | property Leaves: TGLTreeLeaves read FLeaves;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public | property Noise: TGLTreeBranchNoise read FNoise;
Published | property Seed: Integer read FSeed write SetSeed;

Description

Fields

Private FDepth: Integer;
Private FBranchFacets: Integer;
Private FLeafSize: Single;
Private FBranchSize: Single;
Private FBranchNoise: Single;
Private FBranchAngleBias: Single;
Private FBranchAngle: Single;
Private FBranchTwist: Single;
Private FBranchRadius: Single;
Private FLeafThreshold: Single;
Private FCentralLeaderBias: Single;
Private FCentralLeader: Boolean;
Private FSeed: Integer;
Private FAutoCenter: Boolean;
Private FAutoRebuild: Boolean;
Private FCenterBranchConstant: Single;
Private FLeaves: TGLTreeLeaves;
Private FBranches: TGLTreeBranches;
Private FNoise: TGLTreeBranchNoise;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FLeafMaterialName: TGLLibMaterialName;
Private FLeafBackMaterialName: TGLLibMaterialName;
Private FBranchMaterialName: TGLLibMaterialName;
Private FRebuildTree: Boolean;
Private FAxisAlignedDimensionsCache: TGLVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure BuildMesh(GLBaseMesh: TGLBaseMesh);
Public procedure Clear;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Public procedure ForceTotalRebuild;
Public procedure GetExtents(var min, max: TAffineVector);
Public procedure LoadFromFile(const aFileName: String);
Public procedure LoadFromStream(aStream: TStream);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure RebuildTree;
Public procedure SaveToFile(const aFileName: String);
Public procedure SaveToStream(aStream: TStream);
Public procedure StructureChanged; override;
Protected procedure Loaded; override;
Protected procedure SetAutoCenter(const Value: Boolean);
Protected procedure SetAutoRebuild(const Value: Boolean);
Protected procedure SetBranchAngle(const Value: Single);
Protected procedure SetBranchAngleBias(const Value: Single);
Protected procedure SetBranchFacets(const Value: Integer);
Protected procedure SetBranchMaterialName(const Value: TGLLibMaterialName);
Protected procedure SetBranchNoise(const Value: Single);
Protected procedure SetBranchRadius(const Value: Single);
Protected procedure SetBranchSize(const Value: Single);
Protected procedure SetBranchTwist(const Value: Single);
Protected procedure SetCenterBranchConstant(const Value: Single);
Protected procedure SetCentralLeader(const Value: Boolean);
Protected procedure SetCentralLeaderBias(const Value: Single);
Protected procedure SetDepth(const Value: Integer);
Protected procedure SetLeafBackMaterialName(const Value: TGLLibMaterialName);
Protected procedure SetLeafMaterialName(const Value: TGLLibMaterialName);
Protected procedure SetLeafSize(const Value: Single);
Protected procedure SetLeafThreshold(const Value: Single);
Protected procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Protected procedure SetSeed(const Value: Integer);

Properties

Published property AutoCenter: Boolean read FAutoCenter write SetAutoCenter;

Automatically center the tree's vertices after building them.

Published property AutoRebuild: Boolean read FAutoRebuild write SetAutoRebuild;

Automatically rebuild the tree after changing the settings

Published property BranchAngle: Single read FBranchAngle write SetBranchAngle;

Effects the balance of the tree.

Published property BranchAngleBias: Single read FBranchAngleBias write SetBranchAngleBias;

Effects the habit of the tree. Values from 0 to 1 refer to Upright to Spreading respectively.

Public property Branches: TGLTreeBranches read FBranches;
Published property BranchFacets: Integer read FBranchFacets write SetBranchFacets;

The number of facets for each branch in the tree.

Published property BranchMaterialName: TGLLibMaterialName read FBranchMaterialName write SetBranchMaterialName;
Published property BranchNoise: Single read FBranchNoise write SetBranchNoise;

Overall branch noise influence. Relates to the 'fullness' of the tree.

Published property BranchRadius: Single read FBranchRadius write SetBranchRadius;

Effects the thickness of the branches.

Published property BranchSize: Single read FBranchSize write SetBranchSize;

Branch length modifier.

Published property BranchTwist: Single read FBranchTwist write SetBranchTwist;

Effects the rotation of each sub branch in recursion.

Published property CenterBranchConstant: Single read FCenterBranchConstant write SetCenterBranchConstant;

Central branch can be thinner(lower values)/thicker(->1) depending on this constant. The effect also depends on the BranchAngle variable.

Published property CentralLeader: Boolean read FCentralLeader write SetCentralLeader;

Does this tree have a central leader?

Published property CentralLeaderBias: Single read FCentralLeaderBias write SetCentralLeaderBias;

Determines how BranchAngle effects the central leader (CentralLeader must = True).

Published property Depth: Integer read FDepth write SetDepth;

The depth of tree branch recursion.

Published property LeafBackMaterialName: TGLLibMaterialName read FLeafBackMaterialName write SetLeafBackMaterialName;
Published property LeafMaterialName: TGLLibMaterialName read FLeafMaterialName write SetLeafMaterialName;
Published property LeafSize: Single read FLeafSize write SetLeafSize;

Leaf size modifier. Leaf size is also influenced by branch recursion scale.

Published property LeafThreshold: Single read FLeafThreshold write SetLeafThreshold;

Determines how thin a branch can get before a leaf is substituted.

Public property Leaves: TGLTreeLeaves read FLeaves;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public property Noise: TGLTreeBranchNoise read FNoise;
Published property Seed: Integer read FSeed write SetSeed;


GLSysHelp v.2.1: GLS.Triangulation

Unit GLS.Triangulation

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.Types
  • Vcl.Dialogs
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record DVertex |
Record DTriangle |
Class TGLDelaunay2D |

Types

TDComplete = array of Boolean;
TDEdges = array of array of LongInt;
TDProgressEvent = procedure(State: string; Pos, Max: Integer; AlwaysUpdate: Boolean = False) of object;
TDTriangle = array of DTriangle;
TDVertex = array of DVertex;

Constants

MaxVertices = 500000;
MaxTriangles = 1000000;
ExPtTolerance = 0.000001;

Description

Types

TDComplete = array of Boolean;
TDEdges = array of array of LongInt;
TDProgressEvent = procedure(State: string; Pos, Max: Integer; AlwaysUpdate: Boolean = False) of object;
TDTriangle = array of DTriangle;
TDVertex = array of DVertex;

Constants

MaxVertices = 500000;

Set these as applicable

MaxTriangles = 1000000;
ExPtTolerance = 0.000001;


GLSysHelp v.2.1: GLS.Triangulation: Record DVertex

Record DVertex

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Triangulation

Declaration

type DVertex = record

Description

Points (Vertices)

Overview

Fields

Public | X: Single;
Public | Y: Single;
Public | Z: Single;
Public | U: Single;
Public | V: Single;
Public | MatIndex: Integer;

Description

Fields

Public X: Single;
Public Y: Single;
Public Z: Single;
Public U: Single;

Added to save height of terrain.

Public V: Single;
Public MatIndex: Integer;


GLSysHelp v.2.1: GLS.Triangulation: Record DTriangle

Record DTriangle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Triangulation

Declaration

type DTriangle = record

Description

Created Triangles, vv# are the vertex pointers

Overview

Fields

Public | vv0: LongInt;
Public | vv1: LongInt;
Public | vv2: LongInt;
Public | PreCalc: Integer;
Public | Xc: Single;
Public | Yc: Single;
Public | R: Single;

Description

Fields

Public vv0: LongInt;
Public vv1: LongInt;
Public vv2: LongInt;
Public PreCalc: Integer;
Public Xc: Single;
Public Yc: Single;
Public R: Single;


GLSysHelp v.2.1: GLS.Triangulation: Class TGLDelaunay2D

Class TGLDelaunay2D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Triangulation

Declaration

type TGLDelaunay2D = class(TObject)

Description

TGLDelaunay2D is a class for Delaunay triangulation of arbitrary points Credit to Paul Bourke (http://paulbourke.net/) for the original Fortran 77 Program :)) Conversion to Visual Basic by EluZioN (EluZioN@casesladder.com) Conversion from VB to Delphi6 by Dr Steve Evans (steve@lociuk.com) June 2002 Update by Dr Steve Evans: Heap memory allocation added to prevent stack overflow when MaxVertices and MaxTriangles are very large. Additional Updates in June 2002: Bug in InCircle function fixed. Radius r := Sqrt(rsqr). Check for duplicate points added when inserting new point. For speed, all points pre-sorted in x direction using quicksort algorithm and triangles flagged when no longer needed. The circumcircle centre and radius of the triangles are now stored to improve calculation time. You can use this code however you like providing the above credits remain in tact

Hierarchy

  • TObject
  • TGLDelaunay2D

Overview

Fields

Public | Vertex: TDVertex;
Public | Triangle: TDTriangle;
Public | HowMany: Integer;
Public | TPoints: Integer;
Public | OnProgress: TDProgressEvent;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Private | function InCircle(Xp, Yp, X1, Y1, X2, Y2, X3, Y3: Single; out Xc,Yc, R: Single; j: Integer): Boolean;
Private | function Triangulate(nvert: Integer): Integer;
Public | procedure AddPoint(X, Y, Z, U, V: Single; MatIndex: Integer);
Public | procedure AddPointNoCheck(X, Y, Z, U, V: Single; MatIndex: Integer);
Public | procedure Mesh(sort: Boolean);
Public | procedure QuickSort(var A: TDVertex; Low, High: Integer);
Public | procedure RemoveLastPoint;

Description

Fields

Public Vertex: TDVertex;
Public Triangle: TDTriangle;
Public HowMany: Integer;
Public TPoints: Integer;

Total number of points (vertices)

Public OnProgress: TDProgressEvent;

Methods

Public constructor Create;
Public destructor Destroy; override;
Private function InCircle(Xp, Yp, X1, Y1, X2, Y2, X3, Y3: Single; out Xc,Yc, R: Single; j: Integer): Boolean;
Private function Triangulate(nvert: Integer): Integer;

Takes as input NVERT vertices in arrays Vertex() Returned is a list of NTRI triangular faces in the array Triangle(). These triangles are arranged in clockwise order.

Public procedure AddPoint(X, Y, Z, U, V: Single; MatIndex: Integer);
Public procedure AddPointNoCheck(X, Y, Z, U, V: Single; MatIndex: Integer);
Public procedure Mesh(sort: Boolean);
Public procedure QuickSort(var A: TDVertex; Low, High: Integer);
Public procedure RemoveLastPoint;


GLSysHelp v.2.1: GLS.Utils

Unit GLS.Utils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Winapi.ShellApi
  • System.Classes
  • System.SysUtils
  • System.UITypes
  • Vcl.Forms
  • Vcl.Graphics
  • Vcl.Controls
  • Vcl.Dialogs
  • Vcl.ExtDlgs
  • GLS.VectorGeometry
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLUtilsException |

Functions and Procedures

procedure WordToIntegerArray(Source: PWordArray; Dest: PIntegerArray; Count: Cardinal);
function RoundUpToPowerOf2(value: Integer): Integer;
function RoundDownToPowerOf2(value: Integer): Integer;
function IsPowerOf2(value: Integer): Boolean;
function ReadCRLFString(aStream: TStream): String;
procedure WriteCRLFString(aStream: TStream; const aString: String);
function StrToFloatDef(const strValue: string; defValue: Extended = 0): Extended;
function StringToColorAdvancedSafe(const Str: string; const Default: TColor): TColor;
function TryStringToColorAdvanced(const Str: string; var OutColor: TColor): Boolean;
function StringToColorAdvanced(const Str: string): TColor;
function ParseInteger(var p: PChar): Integer;
function ParseFloat(var p: PChar): Extended;
procedure SaveAnsiStringToFile(const fileName: string; const data: AnsiString);
function LoadAnsiStringFromFile(const fileName: string): AnsiString;
procedure SaveStringToFile(const fileName: string; const data: String);
function LoadStringFromFile(const fileName: string): String;
procedure SaveComponentToFile(const Component: TComponent; const FileName: string; const AsText: Boolean = True);
procedure LoadComponentFromFile(const Component: TComponent; const FileName: string; const AsText: Boolean = True);
function SizeOfFile(const fileName: string): Int64;
function GetSqrt255Array: PSqrt255Array;
procedure InformationDlg(const msg: string);
function QuestionDlg(const msg: string): Boolean;
function InputDlg(const aCaption, aPrompt, aDefault: string): string;
function SavePictureDialog(var aFileName: string; const aTitle: string = ''): Boolean;
function OpenPictureDialog(var aFileName: string; const aTitle: string = ''): Boolean;
procedure SetGLSceneMediaDir();
function GetGLRect(const aLeft, aTop, aRight, aBottom: Integer): TRect;
procedure InflateGLRect(var aRect: TRect; dx, dy: Integer);
procedure IntersectGLRect(var aRect: TRect; const rect2: TRect);
procedure RaiseLastOSError;
function GetDeviceLogicalPixelsX(device: HDC): Integer;
function GetCurrentColorDepth: Integer;
function PixelFormatToColorBits(aPixelFormat: TPixelFormat): Integer;
procedure FixPathDelimiter(var S: string);
function RelativePath(const S: string): string;
procedure QueryPerformanceCounter(out val: Int64);
function QueryPerformanceFrequency(out val: Int64): Boolean;
function StartPrecisionTimer: Int64;
function PrecisionTimerLap(const precisionTimer: Int64): Double;
function StopPrecisionTimer(const precisionTimer: Int64): Double;
function AppTime: Double;
function GLOKMessageBox(const Text, Caption: string): Integer;
procedure GLLoadBitmapFromInstance(Instance: LongInt; ABitmap: TBitmap; const AName: string);
procedure ShowHTMLUrl(const Url: string);
procedure SetExeDirectory;
function AnsiStartsText(const ASubText, AText: string): Boolean;
function IsSubComponent(const AComponent: TComponent): Boolean; inline;
procedure MakeSubComponent(const AComponent: TComponent; const Value: Boolean);
function FindUnitName(anObject: TObject): string; overload;
function FindUnitName(aClass: TClass): string; overload;
function FloatToHalf(Float: Single): THalfFloat;
function HalfToFloat(Half: THalfFloat): Single;
function GetValueFromStringsIndex(const AStrings: TStrings; const AIndex: Integer): string;
function IsDirectoryWriteable(const AName: string): Boolean;
function CharToWideChar(const AChar: AnsiChar): WideChar;

Types

EGLOSError = EOSError;
PHalfFloat = ˆTHalfFloat;
PSqrt255Array = ˆTSqrt255Array;
THalfFloat = type Word;
TProjectTargetNameFunc = function(): string;
TSqrt255Array = array[0..255] of Byte;

Constants

FONT_CHARS_COUNT = 2024;

Variables

IsDesignTime: Boolean = False;
vProjectTargetName: TProjectTargetNameFunc;

Description

Functions and Procedures

procedure WordToIntegerArray(Source: PWordArray; Dest: PIntegerArray; Count: Cardinal);

Copies the values of Source to Dest (converting word values to integer values)

function RoundUpToPowerOf2(value: Integer): Integer;

Round ups to the nearest power of two, value must be positive

function RoundDownToPowerOf2(value: Integer): Integer;

Round down to the nearest power of two, value must be strictly positive

function IsPowerOf2(value: Integer): Boolean;

Returns True if value is a true power of two

function ReadCRLFString(aStream: TStream): String;

Read a CRLF terminated string from a stream. The CRLF is NOT in the returned string.

procedure WriteCRLFString(aStream: TStream; const aString: String);

Write the string and a CRLF in the stream

function StrToFloatDef(const strValue: string; defValue: Extended = 0): Extended;

Similar to SysUtils.StrToFloatDef, but ignores user's locale

function StringToColorAdvancedSafe(const Str: string; const Default: TColor): TColor;

Converts a string into color

function TryStringToColorAdvanced(const Str: string; var OutColor: TColor): Boolean;

Converts a string into color

function StringToColorAdvanced(const Str: string): TColor;

Converts a string into color

function ParseInteger(var p: PChar): Integer;

Parses the next integer in the string. Initial non-numeric characters are skipper, p is altered, returns 0 if none found. '+' and '-' are acknowledged.

function ParseFloat(var p: PChar): Extended;

Parses the next integer in the string. Initial non-numeric characters are skipper, p is altered, returns 0 if none found. Both '.' and ',' are accepted as decimal separators.

procedure SaveAnsiStringToFile(const fileName: string; const data: AnsiString);

Saves ansistring "data" to "filename".

function LoadAnsiStringFromFile(const fileName: string): AnsiString;

Returns the ansistring content of "filename".

procedure SaveStringToFile(const fileName: string; const data: String);

Saves string "data" to "filename".

function LoadStringFromFile(const fileName: string): String;

Returns the string content of "filename".

procedure SaveComponentToFile(const Component: TComponent; const FileName: string; const AsText: Boolean = True);

Saves component to a file.

procedure LoadComponentFromFile(const Component: TComponent; const FileName: string; const AsText: Boolean = True);

Loads component from a file.

function SizeOfFile(const fileName: string): Int64;

Returns the size of "filename". Returns 0 (zero) is file does not exists.

function GetSqrt255Array: PSqrt255Array;

Returns a pointer to an array containing the results of "255*sqrt(i/255)".

procedure InformationDlg(const msg: string);

Pops up a simple dialog with msg and an Ok button.

function QuestionDlg(const msg: string): Boolean;

Pops up a simple question dialog with msg and yes/no buttons. Returns True if answer was "yes".

function InputDlg(const aCaption, aPrompt, aDefault: string): string;

Posp a simple dialog with a string input.

function SavePictureDialog(var aFileName: string; const aTitle: string = ''): Boolean;

Pops up a simple save picture dialog.

function OpenPictureDialog(var aFileName: string; const aTitle: string = ''): Boolean;

Pops up a simple open picture dialog.

procedure SetGLSceneMediaDir();
function GetGLRect(const aLeft, aTop, aRight, aBottom: Integer): TRect;

—————— from CrossPlatform ———————–

procedure InflateGLRect(var aRect: TRect; dx, dy: Integer);

Increases or decreases the width and height of the specified rectangle. Adds dx units to the left and right ends of the rectangle and dy units to the top and bottom.

procedure IntersectGLRect(var aRect: TRect; const rect2: TRect);
procedure RaiseLastOSError;
function GetDeviceLogicalPixelsX(device: HDC): Integer;

Number of pixels per logical inch along the screen width for the device. Under Win32 awaits a HDC and returns its LOGPIXELSX.

function GetCurrentColorDepth: Integer;

Number of bits per pixel for the current desktop resolution.

function PixelFormatToColorBits(aPixelFormat: TPixelFormat): Integer;

Returns the number of color bits associated to the given pixel format.

procedure FixPathDelimiter(var S: string);

Replace path delimiter to delimiter of the current platform.

function RelativePath(const S: string): string;

Remove if possible part of path witch leads to project executable.

procedure QueryPerformanceCounter(out val: Int64);

Returns the current value of the highest-resolution counter. If the platform has none, should return a value derived from the highest precision time reference available, avoiding, if possible, timers that allocate specific system resources.

function QueryPerformanceFrequency(out val: Int64): Boolean;

Returns the frequency of the counter used by QueryPerformanceCounter. Return value is in ticks per second (Hz), returns False if no precision counter is available.

function StartPrecisionTimer: Int64;

Starts a precision timer. Returned value should just be considered as 'handle', even if it ain't so. Default platform implementation is to use QueryPerformanceCounter and QueryPerformanceFrequency, if higher precision references are available, they should be used. The timer will and must be stopped/terminated/released with StopPrecisionTimer.

function PrecisionTimerLap(const precisionTimer: Int64): Double;

Computes time elapsed since timer start. Return time lap in seconds.

function StopPrecisionTimer(const precisionTimer: Int64): Double;

Computes time elapsed since timer start and stop timer. Return time lap in seconds.

function AppTime: Double;

Returns time in milisecond from application start.

function GLOKMessageBox(const Text, Caption: string): Integer;

Returns the number of CPU cycles since startup. Use the similarly named CPU instruction.

procedure GLLoadBitmapFromInstance(Instance: LongInt; ABitmap: TBitmap; const AName: string);
procedure ShowHTMLUrl(const Url: string);
procedure SetExeDirectory;
function AnsiStartsText(const ASubText, AText: string): Boolean;

StrUtils.pas

function IsSubComponent(const AComponent: TComponent): Boolean; inline;

Classes.pas

procedure MakeSubComponent(const AComponent: TComponent; const Value: Boolean);
function FindUnitName(anObject: TObject): string; overload;
function FindUnitName(aClass: TClass): string; overload;
function FloatToHalf(Float: Single): THalfFloat;
function HalfToFloat(Half: THalfFloat): Single;
function GetValueFromStringsIndex(const AStrings: TStrings; const AIndex: Integer): string;
function IsDirectoryWriteable(const AName: string): Boolean;

Determine if the directory is writable.

function CharToWideChar(const AChar: AnsiChar): WideChar;

Types

EGLOSError = EOSError;
PHalfFloat = ˆTHalfFloat;
PSqrt255Array = ˆTSqrt255Array;
THalfFloat = type Word;
TProjectTargetNameFunc = function(): string;
TSqrt255Array = array[0..255] of Byte;

Constants

FONT_CHARS_COUNT = 2024;

Variables

IsDesignTime: Boolean = False;
vProjectTargetName: TProjectTargetNameFunc;


GLSysHelp v.2.1: GLS.Utils: Class EGLUtilsException

Class EGLUtilsException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Utils

Declaration

type EGLUtilsException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLUtilsException


GLSysHelp v.2.1: GLS.VectorFileObjects

Unit GLS.VectorFileObjects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • System.Types
  • System.Math
  • VCL.Consts
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorTypesExt
  • GLS.VectorLists
  • GLS.PersistentClasses
  • GLS.Silhouette
  • GLS.Strings
  • GLS.Texture
  • GLS.Material
  • GLS.Mesh
  • GLS.Logger
  • GLS.Octree
  • GLS.GeometryBB
  • GLS.ApplicationFileIO
  • GLS.Context
  • GLS.Color
  • GLS.PipelineTransformation
  • GLS.Selection
  • GLS.RenderContextInfo
  • GLS.Coordinates
  • GLS.BaseClasses
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseMeshObject |
Class TGLSkeletonFrame |
Class TGLSkeletonFrameList |
Class TGLSkeletonBoneList |
Class TGLSkeletonRootBoneList |
Class TGLSkeletonBone |
Class TGLSkeletonCollider |
Class TGLSkeletonColliderList |
Record TGLBlendedLerpInfo |
Class TGLSkeleton |
Class TGLMeshObject |
Class TGLMeshObjectList |
Class TGLMeshMorphTarget |
Class TGLMeshMorphTargetList |
Class TGLMorphableMeshObject |
Packed Record TVertexBoneWeight |
Class TGLSkeletonMeshObject |
Class TGLFaceGroup |
Class TFGVertexIndexList |
Class TFGVertexNormalTexIndexList |
Class TFGIndexTexCoordList |
Class TGLFaceGroups |
Class TGLVectorFile |
Class TGLSMVectorFile |
Class TGLBaseMesh |
Class TGLFreeForm |
Class TGLActorAnimation |
Class TGLActorAnimations |
Class TGLBaseAnimationControler |
Class TGLAnimationControler |
Class TGLActor |
Class TGLVectorFileFormat |
Class TGLVectorFileFormatsList |
Class EInvalidVectorFile |

Functions and Procedures

function GetVectorFileFormats: TGLVectorFileFormatsList;
function VectorFileFormatsFilter: string;
function VectorFileFormatsSaveFilter: string;
function VectorFileFormatExtensionByIndex(Index: Integer): string;
procedure RegisterVectorFileFormat(const aExtension, aDescription: string; AClass: TGLVectorFileClass);
procedure UnregisterVectorFileClass(AClass: TGLVectorFileClass);

Types

PVertexBoneWeightArray = ˆTVertexBoneWeightArray;
PVerticesBoneWeights = ˆTVerticesBoneWeights;
TGLActorAnimationMode = (...);
TGLActorAnimationName = string;
TGLActorAnimationReference = (...);
TGLActorFrameInterpolation = (...);
TGLActorOption = (...);
TGLActorOptions = set of TGLActorOption;
TGLFaceGroupMeshMode = (...);
TGLMeshAutoCentering = (...);
TGLMeshAutoCenterings = set of TGLMeshAutoCentering;
TGLMeshNormalsOrientation = (...);
TGLMeshObjectListClass = class of TGLMeshObjectList;
TGLMeshObjectMode = (...);
TGLMeshObjectRenderingOption = (...);
TGLMeshObjectRenderingOptions = set of TGLMeshObjectRenderingOption;
TGLSkeletonFrameTransform = (...);
TGLVBOBuffer = (...);
TGLVBOBuffers = set of TGLVBOBuffer;
TGLVectorFileClass = class of TGLVectorFile;
TVertexBoneWeightArray = array [0 .. MaxInt div (2 * SizeOf(TVertexBoneWeight))] of TVertexBoneWeight;
TVertexBoneWeightDynArray = array of TVertexBoneWeight;
TVerticesBoneWeights = array [0 .. MaxInt div (2 * SizeOf(PVertexBoneWeightArray))] of PVertexBoneWeightArray;

Constants

cDefaultGLActorOptions = [aoSkeletonNormalizeNormals];

Variables

vGLVectorFileObjectsAllocateMaterials: Boolean = True;
vGLVectorFileObjectsEnableVBOByDefault: Boolean = True;

Description

Functions and Procedures

function GetVectorFileFormats: TGLVectorFileFormatsList;

Read access to the list of registered vector file formats

function VectorFileFormatsFilter: string;

A file extension filter suitable for dialog's 'Filter' property

function VectorFileFormatsSaveFilter: string;

A file extension filter suitable for a savedialog's 'Filter' property

function VectorFileFormatExtensionByIndex(Index: Integer): string;

Returns an extension by its index in the vector files dialogs filter. Use VectorFileFormatsFilter to obtain the filter.

procedure RegisterVectorFileFormat(const aExtension, aDescription: string; AClass: TGLVectorFileClass);
procedure UnregisterVectorFileClass(AClass: TGLVectorFileClass);

Types

PVertexBoneWeightArray = ˆTVertexBoneWeightArray;
PVerticesBoneWeights = ˆTVerticesBoneWeights;
TGLActorAnimationMode = (...);

Defines how an actor plays between its StartFrame and EndFrame. aamNone : no animation is performed aamPlayOnce : play from current frame to EndFrame, once end frame has been reached, switches to aamNone aamLoop : play from current frame to EndFrame, once end frame has been reached, sets CurrentFrame to StartFrame aamBounceForward : play from current frame to EndFrame, once end frame has been reached, switches to aamBounceBackward aamBounceBackward : play from current frame to StartFrame, once start frame has been reached, switches to aamBounceForward aamExternal : Allows for external animation control

Values
  • aamNone
  • aamPlayOnce
  • aamLoop
  • aamBounceForward
  • aamBounceBackward
  • aamLoopBackward
  • aamExternal
TGLActorAnimationName = string;
TGLActorAnimationReference = (...);
Values
  • aarMorph
  • aarSkeleton
  • aarNone
TGLActorFrameInterpolation = (...);

Actor frame-interpolation mode. - afpNone : no interpolation, display CurrentFrame only - afpLinear : perform linear interpolation between current and next frame

Values
  • afpNone
  • afpLinear
TGLActorOption = (...);

Miscellanious actor options. aoSkeletonNormalizeNormals : if set the normals of a skeleton-animated mesh will be normalized, this is not required if no normals-based texture coordinates generation occurs, and thus may be unset to improve performance.

Values
  • aoSkeletonNormalizeNormals
TGLActorOptions = set of TGLActorOption;
TGLFaceGroupMeshMode = (...);

Known descriptions for face group mesh modes. - fgmmTriangles : issue all vertices with GL_TRIANGLES. - fgmmTriangleStrip : issue all vertices with GL_TRIANGLE_STRIP. - fgmmFlatTriangles : same as fgmmTriangles, but take advantage of having the same normal for all vertices of a triangle. - fgmmTriangleFan : issue all vertices with GL_TRIANGLE_FAN. - fgmmQuads : issue all vertices with GL_QUADS.

Values
  • fgmmTriangles
  • fgmmTriangleStrip
  • fgmmFlatTriangles
  • fgmmTriangleFan
  • fgmmQuads
TGLMeshAutoCentering = (...);
Values
  • macCenterX
  • macCenterY
  • macCenterZ
  • macUseBarycenter
  • macRestorePosition
TGLMeshAutoCenterings = set of TGLMeshAutoCentering;
TGLMeshNormalsOrientation = (...);

Determines how normals orientation is defined in a mesh. - mnoDefault : uses default orientation - mnoInvert : inverse of default orientation - mnoAutoSolid : autocalculate to make the mesh globally solid - mnoAutoHollow : autocalculate to make the mesh globally hollow

Values
  • mnoDefault
  • mnoInvert
TGLMeshObjectListClass = class of TGLMeshObjectList;
TGLMeshObjectMode = (...);
Values
  • momTriangles
  • momTriangleStrip
  • momFaceGroups
TGLMeshObjectRenderingOption = (...);

Rendering options per TGLMeshObject.moroGroupByMaterial : if set, the facegroups will be rendered by material in batchs, this will optimize rendering by reducing material switches, but also implies that facegroups will not be rendered in the order they are in the list

Values
  • moroGroupByMaterial
TGLMeshObjectRenderingOptions = set of TGLMeshObjectRenderingOption;
TGLSkeletonFrameTransform = (...);
Values
  • sftRotation
  • sftQuaternion
TGLVBOBuffer = (...);
Values
  • vbVertices
  • vbNormals
  • vbColors
  • vbTexCoords
  • vbLightMapTexCoords
  • vbTexCoordsEx
TGLVBOBuffers = set of TGLVBOBuffer;
TGLVectorFileClass = class of TGLVectorFile;
TVertexBoneWeightArray = array [0 .. MaxInt div (2 * SizeOf(TVertexBoneWeight))] of TVertexBoneWeight;
TVertexBoneWeightDynArray = array of TVertexBoneWeight;
TVerticesBoneWeights = array [0 .. MaxInt div (2 * SizeOf(PVertexBoneWeightArray))] of PVertexBoneWeightArray;

Constants

cDefaultGLActorOptions = [aoSkeletonNormalizeNormals];

Variables

vGLVectorFileObjectsAllocateMaterials: Boolean = True;
vGLVectorFileObjectsEnableVBOByDefault: Boolean = True;

Flag to avoid loading materials (useful for IDE Extentions or scene editors)


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLBaseMeshObject

Class TGLBaseMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLBaseMeshObject = class(TPersistentObject)

Description

A base class for mesh objects. The class introduces a set of vertices and normals for the object but does no rendering of its own

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject

Overview

Fields

Private | FName: string;
Private | FVertices: TAffineVectorList;
Private | FNormals: TAffineVectorList;
Private | FVisible: Boolean;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function ExtractTriangles(texCoords: TAffineVectorList = nil; Normals: TAffineVectorList = nil): TAffineVectorList; virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildNormals(vertexIndices: TIntegerList; mode: TGLMeshObjectMode; NormalIndices: TIntegerList = nil);
Public | procedure Clear; virtual;
Public | procedure GenericOrderedBuildNormals(mode: TGLMeshObjectMode);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Translate(const delta: TAffineVector); virtual;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure ContributeToBarycenter(var currentSum: TAffineVector; var nb: Integer); virtual;
Protected | procedure SetNormals(const val: TAffineVectorList); inline;
Protected | procedure SetVertices(const val: TAffineVectorList); inline;

Properties

Public | property Name: string read FName write FName;
Public | property Normals: TAffineVectorList read FNormals write SetNormals;
Public | property Vertices: TAffineVectorList read FVertices write SetVertices;
Public | property Visible: Boolean read FVisible write FVisible;

Description

Fields

Private FName: string;
Private FVertices: TAffineVectorList;
Private FNormals: TAffineVectorList;
Private FVisible: Boolean;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function ExtractTriangles(texCoords: TAffineVectorList = nil; Normals: TAffineVectorList = nil): TAffineVectorList; virtual;

Extracts all mesh triangles as a triangles list. The resulting list size is a multiple of 3, each group of 3 vertices making up and independant triangle. The returned list can be used independantly from the mesh object (all data is duplicated) and should be freed by caller. If texCoords is specified, per vertex texture coordinates will be placed there, when available.

Public procedure Assign(Source: TPersistent); override;
Public procedure BuildNormals(vertexIndices: TIntegerList; mode: TGLMeshObjectMode; NormalIndices: TIntegerList = nil);

Builds (smoothed) normals for the vertex list. If normalIndices is nil, the method assumes a bijection between vertices and normals sets, and when performed, Normals and Vertices list will have the same number of items (whatever previously was in the Normals list is ignored/removed). If normalIndices is defined, normals will be added to the list and their indices will be added to normalIndices. Already defined normals and indices are preserved. The only valid modes are currently momTriangles and momTriangleStrip (ie. momFaceGroups not supported).

Public procedure Clear; virtual;

Clears all mesh object data, submeshes, facegroups, etc.

Public procedure GenericOrderedBuildNormals(mode: TGLMeshObjectMode);

Builds normals faster without index calculations for the stripe mode

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Translate(const delta: TAffineVector); virtual;

Translates all the vertices by the given delta.

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure ContributeToBarycenter(var currentSum: TAffineVector; var nb: Integer); virtual;
Protected procedure SetNormals(const val: TAffineVectorList); inline;
Protected procedure SetVertices(const val: TAffineVectorList); inline;

Properties

Public property Name: string read FName write FName;
Public property Normals: TAffineVectorList read FNormals write SetNormals;
Public property Vertices: TAffineVectorList read FVertices write SetVertices;
Public property Visible: Boolean read FVisible write FVisible;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonFrame

Class TGLSkeletonFrame

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonFrame = class(TPersistentObject)

Description

Stores position and rotation for skeleton joints. If you directly alter some values, make sure to call FlushLocalMatrixList so that the local matrices will be recalculated (the call to Flush does not recalculate the matrices, but marks the current ones as dirty)

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonFrame

Overview

Fields

Private | FOwner: TGLSkeletonFrameList;
Private | FName: string;
Private | FPosition: TAffineVectorList;
Private | FRotation: TAffineVectorList;
Private | FQuaternion: TQuaternionList;
Private | FLocalMatrixList: PMatrixArray;
Private | FTransformMode: TGLSkeletonFrameTransform;

Methods

Public | constructor Create; override;
Public | constructor CreateOwned(aOwner: TGLSkeletonFrameList);
Public | destructor Destroy; override;
Public | function LocalMatrixList: PMatrixArray;
Public | procedure ConvertQuaternionsToRotations(KeepQuaternions: Boolean = True);
Public | procedure ConvertRotationsToQuaternions(KeepRotations: Boolean = True);
Public | procedure FlushLocalMatrixList;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetPosition(const val: TAffineVectorList);
Protected | procedure SetQuaternion(const val: TQuaternionList);
Protected | procedure SetRotation(const val: TAffineVectorList);

Properties

Public | property Name: string read FName write FName;
Public | property Owner: TGLSkeletonFrameList read FOwner;
Public | property Position: TAffineVectorList read FPosition write SetPosition;
Public | property Quaternion: TQuaternionList read FQuaternion write SetQuaternion;
Public | property Rotation: TAffineVectorList read FRotation write SetRotation;
Public | property TransformMode: TGLSkeletonFrameTransform read FTransformMode write FTransformMode;

Description

Fields

Private FOwner: TGLSkeletonFrameList;
Private FName: string;
Private FPosition: TAffineVectorList;
Private FRotation: TAffineVectorList;
Private FQuaternion: TQuaternionList;
Private FLocalMatrixList: PMatrixArray;
Private FTransformMode: TGLSkeletonFrameTransform;

Methods

Public constructor Create; override;
Public constructor CreateOwned(aOwner: TGLSkeletonFrameList);
Public destructor Destroy; override;
Public function LocalMatrixList: PMatrixArray;

Calculate or retrieves an array of local bone matrices. This array is calculated on the first call after creation, and the first call following a FlushLocalMatrixList. Subsequent calls return the same arrays.

Public procedure ConvertQuaternionsToRotations(KeepQuaternions: Boolean = True);

As the name states; Convert Quaternions to Rotations or vice-versa.

Public procedure ConvertRotationsToQuaternions(KeepRotations: Boolean = True);
Public procedure FlushLocalMatrixList;

Flushes (frees) then LocalMatrixList data. Call this function to allow a recalculation of local matrices.

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetPosition(const val: TAffineVectorList);
Protected procedure SetQuaternion(const val: TQuaternionList);
Protected procedure SetRotation(const val: TAffineVectorList);

Properties

Public property Name: string read FName write FName;
Public property Owner: TGLSkeletonFrameList read FOwner;
Public property Position: TAffineVectorList read FPosition write SetPosition;

Position values for the joints.

Public property Quaternion: TQuaternionList read FQuaternion write SetQuaternion;

Quaternions are an alternative to Euler rotations to build the global matrices for the skeleton bones.

Public property Rotation: TAffineVectorList read FRotation write SetRotation;

Rotation values for the joints.

Public property TransformMode: TGLSkeletonFrameTransform read FTransformMode write FTransformMode;

TransformMode indicates whether to use Rotation or Quaternion to build the local transform matrices.


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonFrameList

Class TGLSkeletonFrameList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonFrameList = class(TPersistentObjectList)

Description

A list of TGLSkeletonFrame objects

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLSkeletonFrameList

Overview

Fields

Private FOwner: TPersistent;

Methods

Public | constructor CreateOwned(aOwner: TPersistent);
Public | destructor Destroy; override;
Protected | function GetSkeletonFrame(Index: Integer): TGLSkeletonFrame;
Public | procedure Clear; override;
Public | procedure ConvertQuaternionsToRotations(KeepQuaternions: Boolean = True; SetTransformMode: Boolean = True);
Public | procedure ConvertRotationsToQuaternions(KeepRotations: Boolean = True; SetTransformMode: Boolean = True);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;

Properties

Public | property Items[Index:Integer]: TGLSkeletonFrame read GetSkeletonFrame;
Public | property Owner: TPersistent read FOwner;

Description

Fields

Private FOwner: TPersistent;

Methods

Public constructor CreateOwned(aOwner: TPersistent);
Public destructor Destroy; override;
Protected function GetSkeletonFrame(Index: Integer): TGLSkeletonFrame;
Public procedure Clear; override;
Public procedure ConvertQuaternionsToRotations(KeepQuaternions: Boolean = True; SetTransformMode: Boolean = True);

As the name states; Convert Quaternions to Rotations or vice-versa.

Public procedure ConvertRotationsToQuaternions(KeepRotations: Boolean = True; SetTransformMode: Boolean = True);
Public procedure ReadFromFiler(reader: TVirtualReader); override;

Properties

Public property Items[Index:Integer]: TGLSkeletonFrame read GetSkeletonFrame;
Public property Owner: TPersistent read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonBoneList

Class TGLSkeletonBoneList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonBoneList = class(TPersistentObjectList)

Description

A list of skeleton bones

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLSkeletonBoneList

Overview

Fields

Private | FSkeleton: TGLSkeleton;
Protected | FGlobalMatrix: TGLMatrix;

Methods

Public | constructor Create; override;
Public | constructor CreateOwned(aOwner: TGLSkeleton);
Public | destructor Destroy; override;
Public | function BoneByID(anID: Integer): TGLSkeletonBone; virtual;
Public | function BoneByName(const aName: string): TGLSkeletonBone; virtual;
Public | function BoneCount: Integer;
Protected | function GetSkeletonBone(Index: Integer): TGLSkeletonBone;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); virtual; abstract;
Public | procedure PrepareGlobalMatrices; virtual;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure AfterObjectCreatedByReader(Sender: TObject); override;

Properties

Public | property Items[Index:Integer]: TGLSkeletonBone read GetSkeletonBone;
Public | property Skeleton: TGLSkeleton read FSkeleton;

Description

Fields

Private FSkeleton: TGLSkeleton;
Protected FGlobalMatrix: TGLMatrix;

not persistent

Methods

Public constructor Create; override;
Public constructor CreateOwned(aOwner: TGLSkeleton);
Public destructor Destroy; override;
Public function BoneByID(anID: Integer): TGLSkeletonBone; virtual;

Returns a bone by its BoneID, nil if not found.

Public function BoneByName(const aName: string): TGLSkeletonBone; virtual;

Returns a bone by its Name, nil if not found.

Public function BoneCount: Integer;

Number of bones (including all children and self).

Protected function GetSkeletonBone(Index: Integer): TGLSkeletonBone;
Public procedure BuildList(var mrci: TGLRenderContextInfo); virtual; abstract;

Render skeleton wireframe

Public procedure PrepareGlobalMatrices; virtual;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure AfterObjectCreatedByReader(Sender: TObject); override;

Properties

Public property Items[Index:Integer]: TGLSkeletonBone read GetSkeletonBone;
Public property Skeleton: TGLSkeleton read FSkeleton;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonRootBoneList

Class TGLSkeletonRootBoneList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonRootBoneList = class(TGLSkeletonBoneList)

Description

This list store skeleton root bones exclusively

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLSkeletonBoneList
  • TGLSkeletonRootBoneList

Overview

Methods

Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property GlobalMatrix: TGLMatrix read FGlobalMatrix write FGlobalMatrix;

Description

Methods

Public procedure BuildList(var mrci: TGLRenderContextInfo); override;

Render skeleton wireframe

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property GlobalMatrix: TGLMatrix read FGlobalMatrix write FGlobalMatrix;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonBone

Class TGLSkeletonBone

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonBone = class(TGLSkeletonBoneList)

Description

A skeleton bone or node and its children. This class is the base item of the bones hierarchy in a skeletal model. The joint values are stored in a TGLSkeletonFrame, but the calculated bone matrices are stored here.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLSkeletonBoneList
  • TGLSkeletonBone

Overview

Fields

Private | FOwner: TGLSkeletonBoneList;
Private | FBoneID: Integer;
Private | FName: string;
Private | FColor: Cardinal;

Methods

Public | constructor Create; override;
Public | constructor CreateOwned(aOwner: TGLSkeletonBoneList);
Public | destructor Destroy; override;
Public | function BoneByID(anID: Integer): TGLSkeletonBone; override;
Public | function BoneByName(const aName: string): TGLSkeletonBone; override;
Protected | function GetSkeletonBone(Index: Integer): TGLSkeletonBone;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure Clean; override;
Public | procedure PrepareGlobalMatrices; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure SetGlobalMatrix(const Matrix: TGLMatrix);
Public | procedure SetGlobalMatrixForRagDoll(const RagDollMatrix: TGLMatrix);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetColor(const val: Cardinal);

Properties

Public | property BoneID: Integer read FBoneID write FBoneID;
Public | property Color: Cardinal read FColor write SetColor;
Public | property GlobalMatrix: TGLMatrix read FGlobalMatrix;
Public | property Items[Index:Integer]: TGLSkeletonBone read GetSkeletonBone;
Public | property Name: string read FName write FName;
Public | property Owner: TGLSkeletonBoneList read FOwner;

Description

Fields

Private FOwner: TGLSkeletonBoneList;
Private FBoneID: Integer;

indirectly persistent

Private FName: string;
Private FColor: Cardinal;

Methods

Public constructor Create; override;
Public constructor CreateOwned(aOwner: TGLSkeletonBoneList);
Public destructor Destroy; override;
Public function BoneByID(anID: Integer): TGLSkeletonBone; override;

Returns a bone by its BoneID, nil if not found.

Public function BoneByName(const aName: string): TGLSkeletonBone; override;
Protected function GetSkeletonBone(Index: Integer): TGLSkeletonBone;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;

Render skeleton wireframe

Public procedure Clean; override;

Free all sub bones and reset BoneID and Name.

Public procedure PrepareGlobalMatrices; override;

Calculates the global matrix for the bone and its sub-bone. Call this function directly only the RootBone.

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure SetGlobalMatrix(const Matrix: TGLMatrix);

Set the bone's matrix. Becareful using this.

Public procedure SetGlobalMatrixForRagDoll(const RagDollMatrix: TGLMatrix);

Ragdoll Set the bone's GlobalMatrix. Used for Ragdoll.

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetColor(const val: Cardinal);

Properties

Public property BoneID: Integer read FBoneID write FBoneID;
Public property Color: Cardinal read FColor write SetColor;
Public property GlobalMatrix: TGLMatrix read FGlobalMatrix;

Global Matrix for the bone in the current frame. Global matrices must be prepared by invoking PrepareGlobalMatrices on the root bone.

Public property Items[Index:Integer]: TGLSkeletonBone read GetSkeletonBone;
Public property Name: string read FName write FName;
Public property Owner: TGLSkeletonBoneList read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonCollider

Class TGLSkeletonCollider

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonCollider = class(TPersistentObject)

Description

A general class storing the base level info required for skeleton based collision methods. This class is meant to be inherited from to create skeleton driven Verlet Constraints, ODE Geoms, etc. Overriden classes should be named as TSCxxxxx.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider

Overview

Fields

Private | FOwner: TGLSkeletonColliderList;
Private | FBone: TGLSkeletonBone;
Private | FBoneID: Integer;
Private | FLocalMatrix: TGLMatrix;
Private | FGlobalMatrix: TGLMatrix;
Private | FAutoUpdate: Boolean;

Methods

Public | constructor Create; override;
Public | constructor CreateOwned(AOwner: TGLSkeletonColliderList);
Public | procedure AlignCollider; virtual;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetBone(const val: TGLSkeletonBone);
Protected | procedure SetLocalMatrix(const val: TGLMatrix);

Properties

Public | property AutoUpdate: Boolean read FAutoUpdate write FAutoUpdate;
Public | property Bone: TGLSkeletonBone read FBone write SetBone;
Public | property GlobalMatrix: TGLMatrix read FGlobalMatrix;
Public | property LocalMatrix: TGLMatrix read FLocalMatrix write SetLocalMatrix;
Public | property Owner: TGLSkeletonColliderList read FOwner;

Description

Fields

Private FOwner: TGLSkeletonColliderList;
Private FBone: TGLSkeletonBone;
Private FBoneID: Integer;
Private FLocalMatrix: TGLMatrix;
Private FGlobalMatrix: TGLMatrix;
Private FAutoUpdate: Boolean;

Methods

Public constructor Create; override;
Public constructor CreateOwned(AOwner: TGLSkeletonColliderList);
Public procedure AlignCollider; virtual;

This method is used to align the colliders and their derived objects to their associated skeleton bone. Override to set up descendant class alignment properties.

Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetBone(const val: TGLSkeletonBone);
Protected procedure SetLocalMatrix(const val: TGLMatrix);

Properties

Public property AutoUpdate: Boolean read FAutoUpdate write FAutoUpdate;
Public property Bone: TGLSkeletonBone read FBone write SetBone;

The bone that this collider associates with.

Public property GlobalMatrix: TGLMatrix read FGlobalMatrix;

Global offset and orientation of the collider. This gets set in the AlignCollider method.

Public property LocalMatrix: TGLMatrix read FLocalMatrix write SetLocalMatrix;

Offset and orientation of the collider in the associated bone's space.

Public property Owner: TGLSkeletonColliderList read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonColliderList

Class TGLSkeletonColliderList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonColliderList = class(TPersistentObjectList)

Description

List class for storing TGLSkeletonCollider objects

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLSkeletonColliderList

Overview

Fields

Private FOwner: TPersistent;

Methods

Public | constructor CreateOwned(AOwner: TPersistent);
Public | destructor Destroy; override;
Protected | function GetSkeletonCollider(Index: Integer): TGLSkeletonCollider;
Public | procedure AlignColliders;
Public | procedure Clear; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;

Properties

Public | property Items[Index:Integer]: TGLSkeletonCollider read GetSkeletonCollider;
Public | property Owner: TPersistent read FOwner;

Description

Fields

Private FOwner: TPersistent;

Methods

Public constructor CreateOwned(AOwner: TPersistent);
Public destructor Destroy; override;
Protected function GetSkeletonCollider(Index: Integer): TGLSkeletonCollider;
Public procedure AlignColliders;

Calls AlignCollider for each collider in the list.

Public procedure Clear; override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;

Properties

Public property Items[Index:Integer]: TGLSkeletonCollider read GetSkeletonCollider;
Public property Owner: TPersistent read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Record TGLBlendedLerpInfo

Record TGLBlendedLerpInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLBlendedLerpInfo = record

Description

Small structure to store a weighted lerp for use in blending

Overview

Fields

Public | FrameIndex1: Integer;
Public | frameIndex2: Integer;
Public | LerpFactor: Single;
Public | Weight: Single;
Public | ExternalPositions: TAffineVectorList;
Public | ExternalRotations: TAffineVectorList;
Public | ExternalQuaternions: TQuaternionList;

Description

Fields

Public FrameIndex1: Integer;
Public frameIndex2: Integer;
Public LerpFactor: Single;
Public Weight: Single;
Public ExternalPositions: TAffineVectorList;
Public ExternalRotations: TAffineVectorList;
Public ExternalQuaternions: TQuaternionList;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeleton

Class TGLSkeleton

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeleton = class(TPersistentObject)

Description

Main skeleton object. This class stores the bones hierarchy and animation frames. It is also responsible for maintaining the "CurrentFrame" and allowing various frame blending operations.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeleton

Overview

Fields

Private | FOwner: TGLBaseMesh;
Private | FRootBones: TGLSkeletonRootBoneList;
Private | FFrames: TGLSkeletonFrameList;
Private | FCurrentFrame: TGLSkeletonFrame;
Private | FBonesByIDCache: TList;
Private | FColliders: TGLSkeletonColliderList;
Private | FRagDollEnabled: Boolean;
Private | FMorphInvisibleParts: Boolean;

Methods

Public | constructor Create; override;
Public | constructor CreateOwned(aOwner: TGLBaseMesh);
Public | destructor Destroy; override;
Public | function BoneByID(anID: Integer): TGLSkeletonBone;
Public | function BoneByName(const aName: string): TGLSkeletonBone;
Public | function BoneCount: Integer;
Protected | function GetCurrentFrame: TGLSkeletonFrame;
Public | procedure BlendedLerps(const lerpInfos: array of TGLBlendedLerpInfo);
Public | procedure Clear;
Public | procedure FlushBoneByIDCache;
Public | procedure Lerp(frameIndex1, frameIndex2: Integer; lerpFactor: Single);
Public | procedure MakeSkeletalRotationDelta(startFrame, endFrame: Integer);
Public | procedure MakeSkeletalTranslationStatic(startFrame, endFrame: Integer);
Public | procedure MorphMesh(normalize: Boolean);
Public | procedure MorphTo(frame: TGLSkeletonFrame); overload;
Public | procedure MorphTo(frameIndex: Integer); overload;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure StartRagdoll;
Public | procedure StopRagdoll;
Public | procedure Synchronize(reference: TGLSkeleton);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetColliders(const val: TGLSkeletonColliderList);
Protected | procedure SetCurrentFrame(val: TGLSkeletonFrame);
Protected | procedure SetFrames(const val: TGLSkeletonFrameList);
Protected | procedure SetRootBones(const val: TGLSkeletonRootBoneList);

Properties

Public | property Colliders: TGLSkeletonColliderList read FColliders write SetColliders;
Public | property CurrentFrame: TGLSkeletonFrame read GetCurrentFrame write SetCurrentFrame;
Public | property Frames: TGLSkeletonFrameList read FFrames write SetFrames;
Public | property MorphInvisibleParts: Boolean read FMorphInvisibleParts write FMorphInvisibleParts;
Public | property Owner: TGLBaseMesh read FOwner;
Public | property RootBones: TGLSkeletonRootBoneList read FRootBones write SetRootBones;

Description

Fields

Private FOwner: TGLBaseMesh;
Private FRootBones: TGLSkeletonRootBoneList;
Private FFrames: TGLSkeletonFrameList;
Private FCurrentFrame: TGLSkeletonFrame;
Private FBonesByIDCache: TList;

not persistent

Private FColliders: TGLSkeletonColliderList;
Private FRagDollEnabled: Boolean;
Private FMorphInvisibleParts: Boolean;

ragdoll

Methods

Public constructor Create; override;
Public constructor CreateOwned(aOwner: TGLBaseMesh);
Public destructor Destroy; override;
Public function BoneByID(anID: Integer): TGLSkeletonBone;
Public function BoneByName(const aName: string): TGLSkeletonBone;
Public function BoneCount: Integer;
Protected function GetCurrentFrame: TGLSkeletonFrame;
Public procedure BlendedLerps(const lerpInfos: array of TGLBlendedLerpInfo);
Public procedure Clear;

Release bones and frames info.

Public procedure FlushBoneByIDCache;
Public procedure Lerp(frameIndex1, frameIndex2: Integer; lerpFactor: Single);
Public procedure MakeSkeletalRotationDelta(startFrame, endFrame: Integer);

Removes the absolute rotation component of the skeletal frames. Some formats will store frames with absolute rotation information, if this correct if the animation is the "main" animation. This function removes that absolute information, making the animation frames suitable for blending purposes.

Public procedure MakeSkeletalTranslationStatic(startFrame, endFrame: Integer);

Linearly removes the translation component between skeletal frames. This function will compute the translation of the first bone (index 0) and linearly subtract this translation in all frames between startFrame and endFrame. Its purpose is essentially to remove the 'slide' that exists in some animation formats (f.i. SMD).

Public procedure MorphMesh(normalize: Boolean);

Applies current frame to morph all mesh objects.

Public procedure MorphTo(frame: TGLSkeletonFrame); overload;
Public procedure MorphTo(frameIndex: Integer); overload;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure StartRagdoll;

Backup and prepare the BoneMatrixInvertedMeshes to use with ragdolls

Public procedure StopRagdoll;

Restore the BoneMatrixInvertedMeshes to stop the ragdoll

Public procedure Synchronize(reference: TGLSkeleton);

Copy bone rotations from reference skeleton.

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetColliders(const val: TGLSkeletonColliderList);
Protected procedure SetCurrentFrame(val: TGLSkeletonFrame);
Protected procedure SetFrames(const val: TGLSkeletonFrameList);
Protected procedure SetRootBones(const val: TGLSkeletonRootBoneList);

Properties

Public property Colliders: TGLSkeletonColliderList read FColliders write SetColliders;
Public property CurrentFrame: TGLSkeletonFrame read GetCurrentFrame write SetCurrentFrame;
Public property Frames: TGLSkeletonFrameList read FFrames write SetFrames;
Public property MorphInvisibleParts: Boolean read FMorphInvisibleParts write FMorphInvisibleParts;

Turning this option off (by default) allows to increase FPS, but may break backwards-compatibility, because some may choose to attach other objects to invisible parts.

Public property Owner: TGLBaseMesh read FOwner;
Public property RootBones: TGLSkeletonRootBoneList read FRootBones write SetRootBones;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLMeshObject

Class TGLMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLMeshObject = class(TGLBaseMeshObject)

Description

Base mesh class. Introduces base methods and properties for mesh objects. Subclasses are named "TGLMOxxx".

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject

Overview

Fields

Private | FOwner: TGLMeshObjectList;
Private | FExtentCacheRevision: Cardinal;
Private | FTexCoords: TAffineVectorList;
Private | FLightMapTexCoords: TAffineVectorList;
Private | FColors: TVectorList;
Private | FFaceGroups: TGLFaceGroups;
Private | FMode: TGLMeshObjectMode;
Private | FRenderingOptions: TGLMeshObjectRenderingOptions;
Private | FArraysDeclared: Boolean;
Private | FLightMapArrayEnabled: Boolean;
Private | FLastLightMapIndex: Integer;
Private | FTexCoordsEx: TList;
Private | FBinormalsTexCoordIndex: Integer;
Private | FTangentsTexCoordIndex: Integer;
Private | FLastXOpenGLTexMapping: Cardinal;
Private | FUseVBO: Boolean;
Private | FVerticesVBO: TGLVBOHandle;
Private | FNormalsVBO: TGLVBOHandle;
Private | FColorsVBO: TGLVBOHandle;
Private | FTexCoordsVBO: array of TGLVBOHandle;
Private | FLightmapTexCoordsVBO: TGLVBOHandle;
Private | FValidBuffers: TGLVBOBuffers;
Private | FExtentCache: TAABB;

Methods

Public | constructor Create; override;
Public | constructor CreateOwned(AOwner: TGLMeshObjectList);
Public | destructor Destroy; override;
Public | function ExtractTriangles(texCoords: TAffineVectorList = nil; Normals: TAffineVectorList = nil): TAffineVectorList; override;
Public | function GetBarycenter: TGLVector;
Public | function PointInObject(const aPoint: TAffineVector): Boolean; virtual;
Public | function TriangleCount: Integer; virtual;
Protected | function GetBinormals: TVectorList;
Protected | function GetTangents: TVectorList;
Protected | function GetTexCoordsEx(Index: Integer): TVectorList;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); virtual;
Public | procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);
Public | procedure Clear; override;
Public | procedure DropMaterialLibraryCache;
Public | procedure GetExtents(out aabb: TAABB); overload; virtual;
Public | procedure GetExtents(out min, max: TAffineVector); overload; virtual;
Public | procedure GetTriangleData(tri: Integer; list: TVectorList; var v0, v1, v2: TGLVector); overload;
Public | procedure GetTriangleData(tri: Integer; list: TAffineVectorList; var v0, v1, v2: TAffineVector); overload;
Public | procedure Prepare; virtual;
Public | procedure PrepareBuildList(var mrci: TGLRenderContextInfo); virtual;
Public | procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure SetTriangleData(tri: Integer; list: TVectorList; const v0, v1, v2: TGLVector); overload;
Public | procedure SetTriangleData(tri: Integer; list: TAffineVectorList; const v0, v1, v2: TAffineVector); overload;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure BufferArrays;
Protected | procedure DeclareArraysToOpenGL(var mrci: TGLRenderContextInfo; EvenIfAlreadyDeclared: Boolean = False);
Protected | procedure DisableLightMapArray(var mrci: TGLRenderContextInfo);
Protected | procedure DisableOpenGLArrays(var mrci: TGLRenderContextInfo);
Protected | procedure EnableLightMapArray(var mrci: TGLRenderContextInfo);
Protected | procedure SetBinormals(const val: TVectorList);
Protected | procedure SetBinormalsTexCoordIndex(const val: Integer);
Protected | procedure SetColors(const val: TVectorList);
Protected | procedure SetLightmapTexCoords(const val: TAffineVectorList);
Protected | procedure SetTangents(const val: TVectorList);
Protected | procedure SetTangentsTexCoordIndex(const val: Integer);
Protected | procedure SetTexCoords(const val: TAffineVectorList);
Protected | procedure SetTexCoordsEx(Index: Integer; const val: TVectorList);
Private | procedure SetUseVBO(const Value: Boolean);
Private | procedure SetValidBuffers(Value: TGLVBOBuffers);

Properties

Public | property Binormals: TVectorList read GetBinormals write SetBinormals;
Public | property BinormalsTexCoordIndex: Integer read FBinormalsTexCoordIndex write SetBinormalsTexCoordIndex;
Public | property Colors: TVectorList read FColors write SetColors;
Public | property FaceGroups: TGLFaceGroups read FFaceGroups;
Public | property LightMapTexCoords: TAffineVectorList read FLightMapTexCoords write SetLightmapTexCoords;
Public | property Mode: TGLMeshObjectMode read FMode write FMode;
Public | property Owner: TGLMeshObjectList read FOwner;
Public | property RenderingOptions: TGLMeshObjectRenderingOptions read FRenderingOptions write FRenderingOptions;
Public | property Tangents: TVectorList read GetTangents write SetTangents;
Public | property TangentsTexCoordIndex: Integer read FTangentsTexCoordIndex write SetTangentsTexCoordIndex;
Public | property TexCoords: TAffineVectorList read FTexCoords write SetTexCoords;
Public | property TexCoordsEx[index:Integer]: TVectorList read GetTexCoordsEx write SetTexCoordsEx;
Public | property UseVBO: Boolean read FUseVBO write SetUseVBO;
Protected | property ValidBuffers: TGLVBOBuffers read FValidBuffers write SetValidBuffers;

Description

Fields

Private FOwner: TGLMeshObjectList;
Private FExtentCacheRevision: Cardinal;
Private FTexCoords: TAffineVectorList;
Private FLightMapTexCoords: TAffineVectorList;

provision for 3D textures

Private FColors: TVectorList;

reserved for 2D surface needs

Private FFaceGroups: TGLFaceGroups;
Private FMode: TGLMeshObjectMode;
Private FRenderingOptions: TGLMeshObjectRenderingOptions;
Private FArraysDeclared: Boolean;
Private FLightMapArrayEnabled: Boolean;

not persistent

Private FLastLightMapIndex: Integer;

not persistent

Private FTexCoordsEx: TList;

not persistent

Private FBinormalsTexCoordIndex: Integer;
Private FTangentsTexCoordIndex: Integer;
Private FLastXOpenGLTexMapping: Cardinal;
Private FUseVBO: Boolean;
Private FVerticesVBO: TGLVBOHandle;
Private FNormalsVBO: TGLVBOHandle;
Private FColorsVBO: TGLVBOHandle;
Private FTexCoordsVBO: array of TGLVBOHandle;
Private FLightmapTexCoordsVBO: TGLVBOHandle;
Private FValidBuffers: TGLVBOBuffers;
Private FExtentCache: TAABB;

Methods

Public constructor Create; override;
Public constructor CreateOwned(AOwner: TGLMeshObjectList);

Creates, assigns Owner and adds to list.

Public destructor Destroy; override;
Public function ExtractTriangles(texCoords: TAffineVectorList = nil; Normals: TAffineVectorList = nil): TAffineVectorList; override;
Public function GetBarycenter: TGLVector;

Barycenter from vertices data

Public function PointInObject(const aPoint: TAffineVector): Boolean; virtual;
Public function TriangleCount: Integer; virtual;

Returns number of triangles in the mesh object.

Protected function GetBinormals: TVectorList;
Protected function GetTangents: TVectorList;
Protected function GetTexCoordsEx(Index: Integer): TVectorList;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); virtual;

Similar to regular scene object's BuildList method

Public procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);

Build the tangent space from the mesh object's vertex, normal and texcoord data, filling the binormals and tangents where specified.

Public procedure Clear; override;
Public procedure DropMaterialLibraryCache;
Public procedure GetExtents(out aabb: TAABB); overload; virtual;
Public procedure GetExtents(out min, max: TAffineVector); overload; virtual;

The extents of the object (min and max coordinates)

Public procedure GetTriangleData(tri: Integer; list: TVectorList; var v0, v1, v2: TGLVector); overload;
Public procedure GetTriangleData(tri: Integer; list: TAffineVectorList; var v0, v1, v2: TAffineVector); overload;

Returns the triangle data for a given triangle

Public procedure Prepare; virtual;

Precalculate whatever is needed for rendering, called once

Public procedure PrepareBuildList(var mrci: TGLRenderContextInfo); virtual;

Prepare the texture and materials before rendering. Invoked once, before building the list and NOT while building the list.

Public procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure SetTriangleData(tri: Integer; list: TVectorList; const v0, v1, v2: TGLVector); overload;
Public procedure SetTriangleData(tri: Integer; list: TAffineVectorList; const v0, v1, v2: TAffineVector); overload;

Sets the triangle data of a given triangle

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure BufferArrays;
Protected procedure DeclareArraysToOpenGL(var mrci: TGLRenderContextInfo; EvenIfAlreadyDeclared: Boolean = False);
Protected procedure DisableLightMapArray(var mrci: TGLRenderContextInfo);
Protected procedure DisableOpenGLArrays(var mrci: TGLRenderContextInfo);
Protected procedure EnableLightMapArray(var mrci: TGLRenderContextInfo);
Protected procedure SetBinormals(const val: TVectorList);
Protected procedure SetBinormalsTexCoordIndex(const val: Integer);
Protected procedure SetColors(const val: TVectorList);
Protected procedure SetLightmapTexCoords(const val: TAffineVectorList);
Protected procedure SetTangents(const val: TVectorList);
Protected procedure SetTangentsTexCoordIndex(const val: Integer);
Protected procedure SetTexCoords(const val: TAffineVectorList);
Protected procedure SetTexCoordsEx(Index: Integer; const val: TVectorList);
Private procedure SetUseVBO(const Value: Boolean);
Private procedure SetValidBuffers(Value: TGLVBOBuffers);

Properties

Public property Binormals: TVectorList read GetBinormals write SetBinormals;

A TexCoordsEx list wrapper for binormals usage, returns TexCoordsEx[BinormalsTexCoordIndex].

Public property BinormalsTexCoordIndex: Integer read FBinormalsTexCoordIndex write SetBinormalsTexCoordIndex;

Specify the texcoord extension index for binormals (default = 2)

Public property Colors: TVectorList read FColors write SetColors;
Public property FaceGroups: TGLFaceGroups read FFaceGroups;
Public property LightMapTexCoords: TAffineVectorList read FLightMapTexCoords write SetLightmapTexCoords;
Public property Mode: TGLMeshObjectMode read FMode write FMode;
Public property Owner: TGLMeshObjectList read FOwner;
Public property RenderingOptions: TGLMeshObjectRenderingOptions read FRenderingOptions write FRenderingOptions;
Public property Tangents: TVectorList read GetTangents write SetTangents;

A TexCoordsEx list wrapper for tangents usage, returns TexCoordsEx[BinormalsTexCoordIndex].

Public property TangentsTexCoordIndex: Integer read FTangentsTexCoordIndex write SetTangentsTexCoordIndex;

Specify the texcoord extension index for tangents (default = 3)

Public property TexCoords: TAffineVectorList read FTexCoords write SetTexCoords;
Public property TexCoordsEx[index:Integer]: TVectorList read GetTexCoordsEx write SetTexCoordsEx;

The TexCoords Extension is a list of vector lists that are used to extend the vertex data applied during rendering. The lists are applied to the GL_TEXTURE0_ARB + index texture environment. This means that if TexCoordsEx 0 or 1 have data it will override the TexCoords or LightMapTexCoords repectively. Lists are created on demand, meaning that if you request TexCoordsEx[4] it will create the list up to and including 4. The extensions are only applied to the texture environment if they contain data.

Public property UseVBO: Boolean read FUseVBO write SetUseVBO;

If set, rendering will use VBO's instead of vertex arrays.

Protected property ValidBuffers: TGLVBOBuffers read FValidBuffers write SetValidBuffers;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLMeshObjectList

Class TGLMeshObjectList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLMeshObjectList = class(TPersistentObjectList)

Description

A list of TGLMeshObject objects.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLMeshObjectList

Overview

Fields

Private FOwner: TGLBaseMesh;

Methods

Public | constructor CreateOwned(aOwner: TGLBaseMesh);
Public | destructor Destroy; override;
Public | function Area: Single;
Public | function ExtractTriangles(texCoords: TAffineVectorList = nil; normals: TAffineVectorList = nil): TAffineVectorList;
Public | function FindMeshByName(const MeshName: string): TGLMeshObject;
Public | function MorphTargetCount: Integer;
Public | function TriangleCount: Integer;
Public | function Volume: Single;
Protected | function GetMeshObject(Index: Integer): TGLMeshObject; inline;
Private | function GetUseVBO: Boolean;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); virtual;
Public | procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);
Public | procedure Clear; override;
Public | procedure DropMaterialLibraryCache;
Public | procedure GetExtents(out min, max: TAffineVector);
Public | procedure Lerp(morphTargetIndex1, morphTargetIndex2: Integer; lerpFactor: Single);
Public | procedure MorphTo(morphTargetIndex: Integer);
Public | procedure Prepare; virtual;
Public | procedure PrepareBuildList(var mrci: TGLRenderContextInfo); virtual;
Public | procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Translate(const delta: TAffineVector);
Private | procedure SetUseVBO(const Value: Boolean);

Properties

Public | property Items[Index:Integer]: TGLMeshObject read GetMeshObject;
Public | property Owner: TGLBaseMesh read FOwner;
Public | property UseVBO: Boolean read GetUseVBO write SetUseVBO;

Description

Fields

Private FOwner: TGLBaseMesh;

Methods

Public constructor CreateOwned(aOwner: TGLBaseMesh);
Public destructor Destroy; override;
Public function Area: Single;

Returns the total Area of meshes in the list.

Public function ExtractTriangles(texCoords: TAffineVectorList = nil; normals: TAffineVectorList = nil): TAffineVectorList;
Public function FindMeshByName(const MeshName: string): TGLMeshObject;
Public function MorphTargetCount: Integer;
Public function TriangleCount: Integer;

Returns number of triangles in the meshes of the list.

Public function Volume: Single;

Returns the total volume of meshes in the list.

Protected function GetMeshObject(Index: Integer): TGLMeshObject; inline;
Private function GetUseVBO: Boolean;

Returns True if all its MeshObjects use VBOs.

Public procedure BuildList(var mrci: TGLRenderContextInfo); virtual;

Similar to regular scene object's BuildList method

Public procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);

Build the tangent space from the mesh object's vertex, normal and texcoord data, filling the binormals and tangents where specified.

Public procedure Clear; override;
Public procedure DropMaterialLibraryCache;
Public procedure GetExtents(out min, max: TAffineVector);
Public procedure Lerp(morphTargetIndex1, morphTargetIndex2: Integer; lerpFactor: Single);
Public procedure MorphTo(morphTargetIndex: Integer);
Public procedure Prepare; virtual;

Precalculate whatever is needed for rendering, called once

Public procedure PrepareBuildList(var mrci: TGLRenderContextInfo); virtual;

Prepare the texture and materials before rendering. Invoked once, before building the list and NOT while building the list.

Public procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Translate(const delta: TAffineVector);
Private procedure SetUseVBO(const Value: Boolean);

Properties

Public property Items[Index:Integer]: TGLMeshObject read GetMeshObject;
Public property Owner: TGLBaseMesh read FOwner;
Public property UseVBO: Boolean read GetUseVBO write SetUseVBO;

If set, rendering will use VBO's instead of vertex arrays. Resturns True if all its MeshObjects use VBOs.


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLMeshMorphTarget

Class TGLMeshMorphTarget

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLMeshMorphTarget = class(TGLBaseMeshObject)

Description

A morph target, stores alternate lists of vertices and normals.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshMorphTarget

Overview

Fields

Private FOwner: TGLMeshMorphTargetList;

Methods

Public | constructor CreateOwned(aOwner: TGLMeshMorphTargetList);
Public | destructor Destroy; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Owner: TGLMeshMorphTargetList read FOwner;

Description

Fields

Private FOwner: TGLMeshMorphTargetList;

Methods

Public constructor CreateOwned(aOwner: TGLMeshMorphTargetList);
Public destructor Destroy; override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Owner: TGLMeshMorphTargetList read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLMeshMorphTargetList

Class TGLMeshMorphTargetList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLMeshMorphTargetList = class(TPersistentObjectList)

Description

A list of TGLMeshMorphTarget objects.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLMeshMorphTargetList

Overview

Fields

Private FOwner: TPersistent;

Methods

Public | constructor CreateOwned(AOwner: TPersistent);
Public | destructor Destroy; override;
Protected | function GeTGLMeshMorphTarget(Index: Integer): TGLMeshMorphTarget;
Public | procedure Clear; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Translate(const delta: TAffineVector);

Properties

Public | property Items[Index:Integer]: TGLMeshMorphTarget read GeTGLMeshMorphTarget;
Public | property Owner: TPersistent read FOwner;

Description

Fields

Private FOwner: TPersistent;

Methods

Public constructor CreateOwned(AOwner: TPersistent);
Public destructor Destroy; override;
Protected function GeTGLMeshMorphTarget(Index: Integer): TGLMeshMorphTarget;
Public procedure Clear; override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Translate(const delta: TAffineVector);

Properties

Public property Items[Index:Integer]: TGLMeshMorphTarget read GeTGLMeshMorphTarget;
Public property Owner: TPersistent read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLMorphableMeshObject

Class TGLMorphableMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLMorphableMeshObject = class(TGLMeshObject)

Description

Mesh object with support for morph targets. The morph targets allow to change vertices and normals according to pre-existing "morph targets".

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject

Overview

Fields

Private FMorphTargets: TGLMeshMorphTargetList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure Clear; override;
Public | procedure Lerp(morphTargetIndex1, morphTargetIndex2: Integer; lerpFactor: Single); virtual;
Public | procedure MorphTo(morphTargetIndex: Integer); virtual;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Translate(const delta: TAffineVector); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property MorphTargets: TGLMeshMorphTargetList read FMorphTargets;

Description

Fields

Private FMorphTargets: TGLMeshMorphTargetList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure Clear; override;
Public procedure Lerp(morphTargetIndex1, morphTargetIndex2: Integer; lerpFactor: Single); virtual;
Public procedure MorphTo(morphTargetIndex: Integer); virtual;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Translate(const delta: TAffineVector); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property MorphTargets: TGLMeshMorphTargetList read FMorphTargets;


GLSysHelp v.2.1: GLS.VectorFileObjects: Packed Record TVertexBoneWeight

Packed Record TVertexBoneWeight

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TVertexBoneWeight = packed record

Description

Overview

Fields

Public | BoneID: Integer;
Public | weight: Single;

Description

Fields

Public BoneID: Integer;
Public weight: Single;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSkeletonMeshObject

Class TGLSkeletonMeshObject

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSkeletonMeshObject = class(TGLMorphableMeshObject)

Description

A mesh object with vertice bone attachments. The class adds per vertex bone weights to the standard morphable mesh. The TVertexBoneWeight structures are accessed via VerticesBonesWeights, they must be initialized by adjusting the BonesPerVertex and VerticeBoneWeightCount properties, you can also add vertex by vertex by using the AddWeightedBone method. When BonesPerVertex is 1, the weight is ignored (set to 1.0).

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLBaseMeshObject
  • TGLMeshObject
  • TGLMorphableMeshObject
  • TGLSkeletonMeshObject

Overview

Fields

Private | FVerticesBonesWeights: PVerticesBoneWeights;
Private | FVerticeBoneWeightCount: Integer;
Private | FVerticeBoneWeightCapacity: Integer;
Private | FBonesPerVertex: Integer;
Private | FLastVerticeBoneWeightCount: Integer;
Private | FLastBonesPerVertex: Integer;
Private | FBoneMatrixInvertedMeshes: TList;
Private | FBackupInvertedMeshes: TList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function FindOrAdd(const boneIDs: TVertexBoneWeightDynArray; const vertex, normal: TAffineVector): Integer; overload;
Public | function FindOrAdd(BoneID: Integer; const vertex, normal: TAffineVector): Integer; overload;
Public | procedure AddWeightedBone(aBoneID: Integer; aWeight: Single);
Public | procedure AddWeightedBones(const boneIDs: TVertexBoneWeightDynArray);
Public | procedure ApplyCurrentSkeletonFrame(normalize: Boolean);
Public | procedure Clear; override;
Public | procedure PrepareBoneMatrixInvertedMeshes;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure ResizeVerticesBonesWeights;
Protected | procedure SetBonesPerVertex(const val: Integer);
Protected | procedure SetVerticeBoneWeightCapacity(const val: Integer);
Protected | procedure SetVerticeBoneWeightCount(const val: Integer);
Private | procedure BackupBoneMatrixInvertedMeshes;
Private | procedure RestoreBoneMatrixInvertedMeshes;

Properties

Public | property BonesPerVertex: Integer read FBonesPerVertex write SetBonesPerVertex;
Public | property VerticeBoneWeightCapacity: Integer read FVerticeBoneWeightCapacity write SetVerticeBoneWeightCapacity;
Public | property VerticeBoneWeightCount: Integer read FVerticeBoneWeightCount write SetVerticeBoneWeightCount;
Public | property VerticesBonesWeights: PVerticesBoneWeights read FVerticesBonesWeights;

Description

Fields

Private FVerticesBonesWeights: PVerticesBoneWeights;
Private FVerticeBoneWeightCount: Integer;
Private FVerticeBoneWeightCapacity: Integer;
Private FBonesPerVertex: Integer;
Private FLastVerticeBoneWeightCount: Integer;
Private FLastBonesPerVertex: Integer;
Private FBoneMatrixInvertedMeshes: TList;

not persistent

Private FBackupInvertedMeshes: TList;

not persistent

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function FindOrAdd(const boneIDs: TVertexBoneWeightDynArray; const vertex, normal: TAffineVector): Integer; overload;
Public function FindOrAdd(BoneID: Integer; const vertex, normal: TAffineVector): Integer; overload;
Public procedure AddWeightedBone(aBoneID: Integer; aWeight: Single);
Public procedure AddWeightedBones(const boneIDs: TVertexBoneWeightDynArray);
Public procedure ApplyCurrentSkeletonFrame(normalize: Boolean);
Public procedure Clear; override;
Public procedure PrepareBoneMatrixInvertedMeshes;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure ResizeVerticesBonesWeights;
Protected procedure SetBonesPerVertex(const val: Integer);
Protected procedure SetVerticeBoneWeightCapacity(const val: Integer);
Protected procedure SetVerticeBoneWeightCount(const val: Integer);

ragdoll

Private procedure BackupBoneMatrixInvertedMeshes;

ragdoll

Private procedure RestoreBoneMatrixInvertedMeshes;

ragdoll

Properties

Public property BonesPerVertex: Integer read FBonesPerVertex write SetBonesPerVertex;
Public property VerticeBoneWeightCapacity: Integer read FVerticeBoneWeightCapacity write SetVerticeBoneWeightCapacity;
Public property VerticeBoneWeightCount: Integer read FVerticeBoneWeightCount write SetVerticeBoneWeightCount;
Public property VerticesBonesWeights: PVerticesBoneWeights read FVerticesBonesWeights;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLFaceGroup

Class TGLFaceGroup

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLFaceGroup = class(TPersistentObject)

Description

Describes a face group of a TGLMeshObject. Face groups should be understood as "a way to use mesh data to render a part or the whole mesh object". Subclasses implement the actual behaviours, and should have at least one "Add" method, taking in parameters all that is required to describe a single base facegroup element.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup

Overview

Fields

Private | FOwner: TGLFaceGroups;
Private | FMaterialName: string;
Private | FMaterialCache: TGLLibMaterial;
Private | FLightMapIndex: Integer;
Private | FRenderGroupID: Integer;

Methods

Public | constructor CreateOwned(aOwner: TGLFaceGroups); virtual;
Public | destructor Destroy; override;
Public | function TriangleCount: Integer; virtual; abstract;
Public | procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); virtual;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); virtual; abstract;
Public | procedure DropMaterialLibraryCache;
Public | procedure Prepare; virtual;
Public | procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Reverse; virtual;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure AttachLightmap(lightMap: TGLTexture; var mrci: TGLRenderContextInfo);
Protected | procedure AttachOrDetachLightmap(var mrci: TGLRenderContextInfo);

Properties

Public | property LightMapIndex: Integer read FLightMapIndex write FLightMapIndex;
Public | property MaterialCache: TGLLibMaterial read FMaterialCache;
Public | property MaterialName: string read FMaterialName write FMaterialName;
Public | property Owner: TGLFaceGroups read FOwner write FOwner;

Description

Fields

Private FOwner: TGLFaceGroups;
Private FMaterialName: string;
Private FMaterialCache: TGLLibMaterial;
Private FLightMapIndex: Integer;
Private FRenderGroupID: Integer;

Methods

Public constructor CreateOwned(aOwner: TGLFaceGroups); virtual;
Public destructor Destroy; override;
Public function TriangleCount: Integer; virtual; abstract;

Returns number of triangles in the facegroup.

Public procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); virtual;

Add to the list the triangles corresponding to the facegroup. This function is used by TGLMeshObjects ExtractTriangles to retrieve all the triangles in a mesh.

Public procedure BuildList(var mrci: TGLRenderContextInfo); virtual; abstract;
Public procedure DropMaterialLibraryCache;
Public procedure Prepare; virtual;

Precalculate whatever is needed for rendering, called once

Public procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Reverse; virtual;

Reverses the rendering order of faces. Default implementation does nothing

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure AttachLightmap(lightMap: TGLTexture; var mrci: TGLRenderContextInfo);

NOT Persistent, internal use only (rendering options)

Protected procedure AttachOrDetachLightmap(var mrci: TGLRenderContextInfo);

Properties

Public property LightMapIndex: Integer read FLightMapIndex write FLightMapIndex;

Index of lightmap in the lightmap library.

Public property MaterialCache: TGLLibMaterial read FMaterialCache;
Public property MaterialName: string read FMaterialName write FMaterialName;
Public property Owner: TGLFaceGroups read FOwner write FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TFGVertexIndexList

Class TFGVertexIndexList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TFGVertexIndexList = class(TGLFaceGroup)

Description

A face group based on an indexlist. The index list refers to items in the mesh object (vertices, normals, etc.), that are all considered in sync, the render is obtained issueing the items in the order given by the vertices.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGVertexIndexList

Overview

Fields

Private | FVertexIndices: TIntegerList;
Private | FIndexVBO: TGLVBOElementArrayHandle;
Private | FMode: TGLFaceGroupMeshMode;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function GetNormal: TAffineVector;
Public | function TriangleCount: Integer; override;
Public | procedure Add(idx: Integer); inline;
Public | procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure ConvertToList;
Public | procedure GetExtents(var min, max: TAffineVector);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Reverse; override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure AddToList(Source, destination: TAffineVectorList; indices: TIntegerList);
Protected | procedure SetVertexIndices(const val: TIntegerList);
Private | procedure InvalidateVBO;
Private | procedure SetupVBO;

Properties

Public | property Mode: TGLFaceGroupMeshMode read FMode write FMode;
Public | property VertexIndices: TIntegerList read FVertexIndices write SetVertexIndices;

Description

Fields

Private FVertexIndices: TIntegerList;
Private FIndexVBO: TGLVBOElementArrayHandle;
Private FMode: TGLFaceGroupMeshMode;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function GetNormal: TAffineVector;

Return the normal from the 1st three points in the facegroup

Public function TriangleCount: Integer; override;
Public procedure Add(idx: Integer); inline;
Public procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure ConvertToList;

If mode is strip or fan, convert the indices to triangle list indices.

Public procedure GetExtents(var min, max: TAffineVector);
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Reverse; override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure AddToList(Source, destination: TAffineVectorList; indices: TIntegerList);
Protected procedure SetVertexIndices(const val: TIntegerList);
Private procedure InvalidateVBO;
Private procedure SetupVBO;

Properties

Public property Mode: TGLFaceGroupMeshMode read FMode write FMode;
Public property VertexIndices: TIntegerList read FVertexIndices write SetVertexIndices;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TFGVertexNormalTexIndexList

Class TFGVertexNormalTexIndexList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TFGVertexNormalTexIndexList = class(TFGVertexIndexList)

Description

Adds normals and texcoords indices. Allows very compact description of a mesh. The Normals ad TexCoords indices are optionnal, if missing (empty), VertexIndices will be used.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGVertexIndexList
  • TFGVertexNormalTexIndexList

Overview

Fields

Private | FNormalIndices: TIntegerList;
Private | FTexCoordIndices: TIntegerList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure Add(vertexIdx, normalIdx, texCoordIdx: Integer);
Public | procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetNormalIndices(const val: TIntegerList); inline;
Protected | procedure SetTexCoordIndices(const val: TIntegerList); inline;

Properties

Public | property NormalIndices: TIntegerList read FNormalIndices write SetNormalIndices;
Public | property TexCoordIndices: TIntegerList read FTexCoordIndices write SetTexCoordIndices;

Description

Fields

Private FNormalIndices: TIntegerList;
Private FTexCoordIndices: TIntegerList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure Add(vertexIdx, normalIdx, texCoordIdx: Integer);
Public procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetNormalIndices(const val: TIntegerList); inline;
Protected procedure SetTexCoordIndices(const val: TIntegerList); inline;

Properties

Public property NormalIndices: TIntegerList read FNormalIndices write SetNormalIndices;
Public property TexCoordIndices: TIntegerList read FTexCoordIndices write SetTexCoordIndices;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TFGIndexTexCoordList

Class TFGIndexTexCoordList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TFGIndexTexCoordList = class(TFGVertexIndexList)

Description

Adds per index texture coordinates to its ancestor. Per index texture coordinates allows having different texture coordinates per triangle, depending on the face it is used in.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLFaceGroup
  • TFGVertexIndexList
  • TFGIndexTexCoordList

Overview

Fields

Private FTexCoords: TAffineVectorList;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | procedure Add(idx: Integer; const texCoord: TAffineVector); overload;
Public | procedure Add(idx: Integer; const s, t: Single); overload;
Public | procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); override;
Public | procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetTexCoords(const val: TAffineVectorList);

Properties

Public property TexCoords: TAffineVectorList read FTexCoords write SetTexCoords;

Description

Fields

Private FTexCoords: TAffineVectorList;

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public procedure Add(idx: Integer; const texCoord: TAffineVector); overload;
Public procedure Add(idx: Integer; const s, t: Single); overload;
Public procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil); override;
Public procedure BuildList(var mrci: TGLRenderContextInfo); override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetTexCoords(const val: TAffineVectorList);

Properties

Public property TexCoords: TAffineVectorList read FTexCoords write SetTexCoords;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLFaceGroups

Class TGLFaceGroups

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLFaceGroups = class(TPersistentObjectList)

Description

A list of TGLFaceGroup objects.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLFaceGroups

Overview

Fields

Private FOwner: TGLMeshObject;

Methods

Public | constructor CreateOwned(aOwner: TGLMeshObject);
Public | destructor Destroy; override;
Public | function MaterialLibrary: TGLMaterialLibrary;
Protected | function GetFaceGroup(Index: Integer): TGLFaceGroup;
Public | procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil);
Public | procedure Clear; override;
Public | procedure DropMaterialLibraryCache;
Public | procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure SortByMaterial;

Properties

Public | property Items[Index:Integer]: TGLFaceGroup read GetFaceGroup;
Public | property Owner: TGLMeshObject read FOwner;

Description

Fields

Private FOwner: TGLMeshObject;

Methods

Public constructor CreateOwned(aOwner: TGLMeshObject);
Public destructor Destroy; override;
Public function MaterialLibrary: TGLMaterialLibrary;

Material Library of the owner TGLBaseMesh.

Protected function GetFaceGroup(Index: Integer): TGLFaceGroup;
Public procedure AddToTriangles(aList: TAffineVectorList; aTexCoords: TAffineVectorList = nil; aNormals: TAffineVectorList = nil);
Public procedure Clear; override;
Public procedure DropMaterialLibraryCache;
Public procedure PrepareMaterialLibraryCache(matLib: TGLMaterialLibrary);
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure SortByMaterial;

Sort faces by material. Those without material first in list, followed by opaque materials, then transparent materials.

Properties

Public property Items[Index:Integer]: TGLFaceGroup read GetFaceGroup;
Public property Owner: TGLMeshObject read FOwner;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLVectorFile

Class TGLVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLVectorFile = class(TGLDataFile)

Description

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile

Overview

Fields

Private FNormalsOrientation: TGLMeshNormalsOrientation;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | function Owner: TGLBaseMesh;
Protected | procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation); virtual;

Properties

Public property NormalsOrientation: TGLMeshNormalsOrientation read FNormalsOrientation write SetNormalsOrientation;

Description

Fields

Private FNormalsOrientation: TGLMeshNormalsOrientation;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public function Owner: TGLBaseMesh;
Protected procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation); virtual;

Properties

Public property NormalsOrientation: TGLMeshNormalsOrientation read FNormalsOrientation write SetNormalsOrientation;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLSMVectorFile

Class TGLSMVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLSMVectorFile = class(TGLVectorFile)

Description

GLSM (GLScene Mesh) vector file. This corresponds to the 'native' GLScene format, and object persistence stream, which should be the 'fastest' of all formats to load, and supports all of GLScene features.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLDataFile
  • TGLVectorFile
  • TGLSMVectorFile

Overview

Methods

Public | class function Capabilities: TGLDataFileCapabilities; override;
Public | procedure LoadFromStream(aStream: TStream); override;
Public | procedure SaveToStream(aStream: TStream); override;

Description

Methods

Public class function Capabilities: TGLDataFileCapabilities; override;
Public procedure LoadFromStream(aStream: TStream); override;
Public procedure SaveToStream(aStream: TStream); override;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLBaseMesh

Class TGLBaseMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLBaseMesh = class(TGLSceneObject)

Description

Base class for mesh objects.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh

Overview

Fields

Private | FNormalsOrientation: TGLMeshNormalsOrientation;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FLightmapLibrary: TGLMaterialLibrary;
Private | FAxisAlignedDimensionsCache: TGLVector;
Private | FBaryCenterOffsetChanged: Boolean;
Private | FBaryCenterOffset: TGLVector;
Private | FUseMeshMaterials: Boolean;
Private | FOverlaySkeleton: Boolean;
Private | FIgnoreMissingTextures: Boolean;
Private | FAutoCentering: TGLMeshAutoCenterings;
Private | FAutoScaling: TGLCoordinates;
Private | FMaterialLibraryCachesPrepared: Boolean;
Private | FConnectivity: TObject;
Private | FLastLoadedFilename: string;
Protected | FMeshObjects: TGLMeshObjectList;
Protected | FSkeleton: TGLSkeleton;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | function BarycenterAbsolutePosition: TGLVector; override;
Public | function BarycenterOffset: TGLVector;
Public | function BarycenterPosition: TGLVector;
Public | function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public | function GetBarycenter: TAffineVector;
Public | function LastLoadedFilename: string;
Public | function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;
Public | procedure AddDataFromFile(const filename: string); virtual;
Public | procedure AddDataFromStream(const filename: string; aStream: TStream); virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure BuildSilhouetteConnectivityData;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure GetExtents(out min, max: TAffineVector);
Public | procedure LoadFromFile(const filename: string); virtual;
Public | procedure LoadFromStream(const filename: string; aStream: TStream); virtual;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure PerformAutoCentering; virtual;
Public | procedure PerformAutoScaling; virtual;
Public | procedure SaveToFile(const filename: string); virtual;
Public | procedure SaveToStream(const filename: string; aStream: TStream); virtual;
Public | procedure StructureChanged; override;
Public | procedure StructureChangedNoPrepare;
Protected | procedure DestroyHandle; override;
Protected | procedure DropMaterialLibraryCache;
Protected | procedure PrepareBuildList(var mrci: TGLRenderContextInfo); virtual;
Protected | procedure PrepareMaterialLibraryCache;
Protected | procedure PrepareMesh; virtual;
Protected | procedure PrepareVectorFile(aFile: TGLVectorFile); virtual;
Protected | procedure SetAutoScaling(const Value: TGLCoordinates);
Protected | procedure SetLightmapLibrary(const val: TGLMaterialLibrary);
Protected | procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Protected | procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation);
Protected | procedure SetOverlaySkeleton(const val: Boolean);
Protected | procedure SetUseMeshMaterials(const val: Boolean);

Properties

Public | property AutoCentering: TGLMeshAutoCenterings read FAutoCentering write FAutoCentering default [];
Public | property AutoScaling: TGLCoordinates read FAutoScaling write FAutoScaling;
Public | property IgnoreMissingTextures: Boolean read FIgnoreMissingTextures write FIgnoreMissingTextures default False;
Public | property LightmapLibrary: TGLMaterialLibrary read FLightmapLibrary write SetLightmapLibrary;
Public | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public | property MeshObjects: TGLMeshObjectList read FMeshObjects;
Public | property NormalsOrientation: TGLMeshNormalsOrientation read FNormalsOrientation write SetNormalsOrientation default mnoDefault;
Public | property OverlaySkeleton: Boolean read FOverlaySkeleton write SetOverlaySkeleton default False;
Public | property Skeleton: TGLSkeleton read FSkeleton;
Public | property UseMeshMaterials: Boolean read FUseMeshMaterials write SetUseMeshMaterials default True;

Description

Fields

Private FNormalsOrientation: TGLMeshNormalsOrientation;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FLightmapLibrary: TGLMaterialLibrary;
Private FAxisAlignedDimensionsCache: TGLVector;
Private FBaryCenterOffsetChanged: Boolean;
Private FBaryCenterOffset: TGLVector;
Private FUseMeshMaterials: Boolean;
Private FOverlaySkeleton: Boolean;
Private FIgnoreMissingTextures: Boolean;
Private FAutoCentering: TGLMeshAutoCenterings;
Private FAutoScaling: TGLCoordinates;
Private FMaterialLibraryCachesPrepared: Boolean;
Private FConnectivity: TObject;
Private FLastLoadedFilename: string;
Protected FMeshObjects: TGLMeshObjectList;
Protected FSkeleton: TGLSkeleton;

< a list of mesh objects

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public function BarycenterAbsolutePosition: TGLVector; override;
Public function BarycenterOffset: TGLVector;
Public function BarycenterPosition: TGLVector;
Public function GenerateSilhouette(const silhouetteParameters: TGLSilhouetteParameters): TGLSilhouette; override;
Public function GetBarycenter: TAffineVector;

Computes the barycenter of the mesh.

Public function LastLoadedFilename: string;

Returns the filename of the last loaded file, or a blank string if not file was loaded (or if the mesh was dinamically built). This does not take into account the data added to the mesh (through AddDataFromFile) or saved files.

Public function RayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; override;

BEWARE! Utterly inefficient implementation!

Public procedure AddDataFromFile(const filename: string); virtual;

Loads additionnal data from a file. Additionnal data could be more animation frames or morph target. The VectorFile importer must be able to handle addition of data flawlessly.

Public procedure AddDataFromStream(const filename: string; aStream: TStream); virtual;

Loads additionnal data from stream. See AddDataFromFile.

Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure BuildSilhouetteConnectivityData;

This method allows fast shadow volumes for GLActors. If your actor/mesh doesn't change, you don't need to call this. It basically caches the connectivity data.

Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure GetExtents(out min, max: TAffineVector);

Computes the extents of the mesh.

Public procedure LoadFromFile(const filename: string); virtual;

Loads a vector file. A vector files (for instance a ".3DS") stores the definition of a mesh as well as materials property. Loading a file replaces the current one (if any).

Public procedure LoadFromStream(const filename: string; aStream: TStream); virtual;

Loads a vector file from a stream. See LoadFromFile. The filename attribute is required to identify the type data you're streaming (3DS, OBJ, etc.)

Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure PerformAutoCentering; virtual;

Invoked after a mesh has been loaded. Should auto-center according to the AutoCentering property.

Public procedure PerformAutoScaling; virtual;

Invoked after a mesh has been loaded. Should auto-scale the vertices of the meshobjects to AutoScaling the property.

Public procedure SaveToFile(const filename: string); virtual;

Saves to a vector file. Note that only some of the vector files formats can be written to by GLScene.

Public procedure SaveToStream(const filename: string; aStream: TStream); virtual;

Saves to a vector file in a stream. Note that only some of the vector files formats can be written to by GLScene.

Public procedure StructureChanged; override;
Public procedure StructureChangedNoPrepare;

Notifies that geometry data changed, but no re-preparation is needed. Using this method will usually be faster, but may result in incorrect rendering, reduced performance and/or invalid bounding box data (ie. invalid collision detection). Use with caution.

Protected procedure DestroyHandle; override;
Protected procedure DropMaterialLibraryCache;

Recursively propagated to mesh object and facegroups. Notifies that they all should forget their material library caches.

Protected procedure PrepareBuildList(var mrci: TGLRenderContextInfo); virtual;

Prepare the texture and materials before rendering. Invoked once, before building the list and NOT while building the list, MaterialLibraryCache can be assumed to having been prepared if materials are active. Default behaviour is to prepare build lists for the meshobjects

Protected procedure PrepareMaterialLibraryCache;

Recursively propagated to mesh object and facegroups. Notifies that they all can establish their material library caches.

Protected procedure PrepareMesh; virtual;

Invoked after a mesh has been loaded/added. Triggered by LoadFromFile/Stream and AddDataFromFile/Stream. Allows to adjust/transfer subclass-specific features.

Protected procedure PrepareVectorFile(aFile: TGLVectorFile); virtual;

Invoked after creating a TGLVectorFile and before loading. Triggered by LoadFromFile/Stream and AddDataFromFile/Stream. Allows to adjust/transfer subclass-specific features.

Protected procedure SetAutoScaling(const Value: TGLCoordinates);
Protected procedure SetLightmapLibrary(const val: TGLMaterialLibrary);
Protected procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Protected procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation);
Protected procedure SetOverlaySkeleton(const val: Boolean);
Protected procedure SetUseMeshMaterials(const val: Boolean);

< skeleton data & frames

Properties

Public property AutoCentering: TGLMeshAutoCenterings read FAutoCentering write FAutoCentering default [];

Determines if a mesh should be centered and how. AutoCentering is performed only after loading a mesh, it has no effect on already loaded mesh data or when adding from a file/stream. If you want to alter mesh data, use direct manipulation methods (on the TMeshObjects).

Public property AutoScaling: TGLCoordinates read FAutoScaling write FAutoScaling;

Scales vertices to a AutoScaling. AutoScaling is performed only after loading a mesh, it has no effect on already loaded mesh data or when adding from a file/stream. If you want to alter mesh data, use direct manipulation methods (on the TMeshObjects).

Public property IgnoreMissingTextures: Boolean read FIgnoreMissingTextures write FIgnoreMissingTextures default False;

If True, exceptions about missing textures will be ignored. Implementation is up to the file loader class (ie. this property may be ignored by some loaders)

Public property LightmapLibrary: TGLMaterialLibrary read FLightmapLibrary write SetLightmapLibrary;

LightMap library where lightmaps will be stored/retrieved. If this property is not defined, lightmaps won't be used. Lightmaps currently *always* use the second texture unit (unit 1), and may interfere with multi-texture materials.

Public property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Material library where mesh materials will be stored/retrieved. If this property is not defined or if UseMeshMaterials is false, only the FreeForm's material will be used (and the mesh's materials will be ignored.

Public property MeshObjects: TGLMeshObjectList read FMeshObjects;
Public property NormalsOrientation: TGLMeshNormalsOrientation read FNormalsOrientation write SetNormalsOrientation default mnoDefault;

Normals orientation for owned mesh.

Public property OverlaySkeleton: Boolean read FOverlaySkeleton write SetOverlaySkeleton default False;

Request rendering of skeleton bones over the mesh.

Public property Skeleton: TGLSkeleton read FSkeleton;
Public property UseMeshMaterials: Boolean read FUseMeshMaterials write SetUseMeshMaterials default True;

Defines wether materials declared in the vector file mesh are used. You must also define the MaterialLibrary property.


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLFreeForm

Class TGLFreeForm

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLFreeForm = class(TGLBaseMesh)

Description

Container objects for a vector file mesh. FreeForms allows loading and rendering vector files (like 3DStudio ".3DS" file) in GLScene. Meshes can be loaded with the LoadFromFile method. A FreeForm may contain more than one mesh, but they will all be handled as a single object in a scene.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLFreeForm

Overview

Fields

Private FOctree: TGLOctree;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function OctreeAABBIntersect(const AABB: TAABB; objMatrix, invObjMatrix: TGLMatrix; triangles: TAffineVectorList = nil): Boolean;
Public | function OctreePointInMesh(const Point: TGLVector): Boolean;
Public | function OctreeRayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;
Public | function OctreeSphereSweepIntersect(const rayStart, rayVector: TGLVector; const velocity, radius: Single; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;
Public | function OctreeTriangleIntersect(const v1, v2, v3: TAffineVector): Boolean;
Public | procedure BuildOctree(TreeDepth: Integer = 3);

Properties

Published | property AutoCentering;
Published | property AutoScaling;
Published | property LightmapLibrary;
Published | property MaterialLibrary;
Published | property NormalsOrientation;
Public | property Octree: TGLOctree read FOctree;
Published | property UseMeshMaterials;

Description

Fields

Private FOctree: TGLOctree;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function OctreeAABBIntersect(const AABB: TAABB; objMatrix, invObjMatrix: TGLMatrix; triangles: TAffineVectorList = nil): Boolean;
Public function OctreePointInMesh(const Point: TGLVector): Boolean;

Returns true if Point is inside the free form - this will only work properly on closed meshes. Requires that Octree has been prepared.

Public function OctreeRayCastIntersect(const rayStart, rayVector: TGLVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;
Public function OctreeSphereSweepIntersect(const rayStart, rayVector: TGLVector; const velocity, radius: Single; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean;
Public function OctreeTriangleIntersect(const v1, v2, v3: TAffineVector): Boolean;
Public procedure BuildOctree(TreeDepth: Integer = 3);

Properties

Published property AutoCentering;
Published property AutoScaling;
Published property LightmapLibrary;
Published property MaterialLibrary;
Published property NormalsOrientation;
Public property Octree: TGLOctree read FOctree;

TODO: function OctreeSphereIntersect Octree support *experimental*. Use only if you understand what you're doing!

Published property UseMeshMaterials;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLActorAnimation

Class TGLActorAnimation

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLActorAnimation = class(TCollectionItem)

Description

An actor animation sequence. An animation sequence is a named set of contiguous frames that can be used for animating an actor. The referred frames can be either morph or skeletal frames (choose which via the Reference property). An animation can be directly "played" by the actor by selecting it with SwitchAnimation, and can also be "blended" via a TGLAnimationControler.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLActorAnimation

Overview

Fields

Private | FName: string;
Private | FStartFrame: Integer;
Private | FEndFrame: Integer;
Private | FReference: TGLActorAnimationReference;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Public | function OwnerActor: TGLActor;
Protected | function FrameCount: Integer;
Protected | function GetAsString: string;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure MakeSkeletalRotationDelta;
Public | procedure MakeSkeletalTranslationStatic;
Protected | procedure SetAsString(const val: string);
Protected | procedure SetEndFrame(const val: Integer);
Protected | procedure SetReference(val: TGLActorAnimationReference);
Protected | procedure SetStartFrame(const val: Integer);

Properties

Public | property AsString: string read GetAsString write SetAsString;
Published | property EndFrame: Integer read FEndFrame write SetEndFrame;
Published | property Name: string read FName write FName;
Published | property Reference: TGLActorAnimationReference read FReference write SetReference default aarMorph;
Published | property StartFrame: Integer read FStartFrame write SetStartFrame;

Description

Fields

Private FName: string;
Private FStartFrame: Integer;
Private FEndFrame: Integer;
Private FReference: TGLActorAnimationReference;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Public function OwnerActor: TGLActor;
Protected function FrameCount: Integer;
Protected function GetAsString: string;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure MakeSkeletalRotationDelta;

Removes the absolute rotation component of the skeletal frames. Some formats will store frames with absolute rotation information, if this correct if the animation is the "main" animation. This function removes that absolute information, making the animation frames suitable for blending purposes.

Public procedure MakeSkeletalTranslationStatic;

Linearly removes the translation component between skeletal frames. This function will compute the translation of the first bone (index 0) and linearly subtract this translation in all frames between startFrame and endFrame. Its purpose is essentially to remove the 'slide' that exists in some animation formats (f.i. SMD).

Protected procedure SetAsString(const val: string);
Protected procedure SetEndFrame(const val: Integer);
Protected procedure SetReference(val: TGLActorAnimationReference);
Protected procedure SetStartFrame(const val: Integer);

Properties

Public property AsString: string read GetAsString write SetAsString;
Published property EndFrame: Integer read FEndFrame write SetEndFrame;

Index of the final frame of the animation.

Published property Name: string read FName write FName;
Published property Reference: TGLActorAnimationReference read FReference write SetReference default aarMorph;

Indicates if this is a skeletal or a morph-based animation.

Published property StartFrame: Integer read FStartFrame write SetStartFrame;

Index of the initial frame of the animation.


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLActorAnimations

Class TGLActorAnimations

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLActorAnimations = class(TCollection)

Description

Collection of actor animations sequences.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLActorAnimations

Overview

Fields

Private FOwner: TGLActor;

Methods

Public | constructor Create(AOwner: TGLActor);
Public | function Add: TGLActorAnimation;
Public | function FindFrame(aFrame: Integer; aReference: TGLActorAnimationReference): TGLActorAnimation;
Public | function FindItemID(ID: Integer): TGLActorAnimation;
Public | function FindName(const aName: string): TGLActorAnimation;
Public | function Last: TGLActorAnimation;
Protected | function GetItems(Index: Integer): TGLActorAnimation;
Protected | function GetOwner: TPersistent; override;
Public | procedure LoadFromFile(const fileName: string);
Public | procedure LoadFromStream(aStream: TStream);
Public | procedure SaveToFile(const fileName: string);
Public | procedure SaveToStream(aStream: TStream);
Public | procedure SetToStrings(aStrings: TStrings);
Protected | procedure SetItems(Index: Integer; const val: TGLActorAnimation);

Properties

Public property Items[index:Integer]: TGLActorAnimation read GetItems write SetItems;

Description

Fields

Private FOwner: TGLActor;

Methods

Public constructor Create(AOwner: TGLActor);
Public function Add: TGLActorAnimation;
Public function FindFrame(aFrame: Integer; aReference: TGLActorAnimationReference): TGLActorAnimation;
Public function FindItemID(ID: Integer): TGLActorAnimation;
Public function FindName(const aName: string): TGLActorAnimation;
Public function Last: TGLActorAnimation;
Protected function GetItems(Index: Integer): TGLActorAnimation;
Protected function GetOwner: TPersistent; override;
Public procedure LoadFromFile(const fileName: string);
Public procedure LoadFromStream(aStream: TStream);
Public procedure SaveToFile(const fileName: string);
Public procedure SaveToStream(aStream: TStream);
Public procedure SetToStrings(aStrings: TStrings);
Protected procedure SetItems(Index: Integer; const val: TGLActorAnimation);

Properties

Public property Items[index:Integer]: TGLActorAnimation read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLBaseAnimationControler

Class TGLBaseAnimationControler

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLBaseAnimationControler = class(TComponent)

Description

Base class for skeletal animation control.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLBaseAnimationControler

Overview

Fields

Private | FEnabled: Boolean;
Private | FActor: TGLActor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function Apply(var lerpInfo: TGLBlendedLerpInfo): Boolean; virtual;
Protected | procedure DoChange; virtual;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetActor(const val: TGLActor);
Protected | procedure SetEnabled(const val: Boolean);

Properties

Published | property Actor: TGLActor read FActor write SetActor;
Published | property Enabled: Boolean read FEnabled write SetEnabled default True;

Description

Fields

Private FEnabled: Boolean;
Private FActor: TGLActor;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function Apply(var lerpInfo: TGLBlendedLerpInfo): Boolean; virtual;
Protected procedure DoChange; virtual;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetActor(const val: TGLActor);
Protected procedure SetEnabled(const val: Boolean);

Properties

Published property Actor: TGLActor read FActor write SetActor;
Published property Enabled: Boolean read FEnabled write SetEnabled default True;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLAnimationControler

Class TGLAnimationControler

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLAnimationControler = class(TGLBaseAnimationControler)

Description

Controls the blending of an additionnal skeletal animation into an actor. The animation controler allows animating an actor with several animations at a time, for instance, you could use a "run" animation as base animation (in TGLActor), blend an animation that makes the arms move differently depending on what the actor is carrying, along with an animation that will make the head turn toward a target.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLBaseAnimationControler
  • TGLAnimationControler

Overview

Fields

Private | FAnimationName: TGLActorAnimationName;
Private | FRatio: Single;

Methods

Protected | function Apply(var lerpInfo: TGLBlendedLerpInfo): Boolean; override;
Protected | procedure DoChange; override;
Protected | procedure SetAnimationName(const val: TGLActorAnimationName);
Protected | procedure SetRatio(const val: Single);

Properties

Published | property AnimationName: string read FAnimationName write SetAnimationName;
Published | property Ratio: Single read FRatio write SetRatio;

Description

Fields

Private FAnimationName: TGLActorAnimationName;
Private FRatio: Single;

Methods

Protected function Apply(var lerpInfo: TGLBlendedLerpInfo): Boolean; override;
Protected procedure DoChange; override;
Protected procedure SetAnimationName(const val: TGLActorAnimationName);
Protected procedure SetRatio(const val: Single);

Properties

Published property AnimationName: string read FAnimationName write SetAnimationName;
Published property Ratio: Single read FRatio write SetRatio;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLActor

Class TGLActor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLActor = class(TGLBaseMesh)

Description

Mesh class specialized in animated meshes. The TGLActor provides a quick interface to animated meshes based on morph or skeleton frames, it is capable of performing frame interpolation and animation blending (via TGLAnimationControler components).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLBaseMesh
  • TGLActor

Overview

Fields

Private | FStartFrame: Integer;
Private | FEndFrame: Integer;
Private | FReference: TGLActorAnimationReference;
Private | FCurrentFrame: Integer;
Private | FCurrentFrameDelta: Single;
Private | FFrameInterpolation: TGLActorFrameInterpolation;
Private | FInterval: Integer;
Private | FAnimationMode: TGLActorAnimationMode;
Private | FOnFrameChanged: TNotifyEvent;
Private | FOnEndFrameReached: TNotifyEvent;
Private | FOnStartFrameReached: TNotifyEvent;
Private | FAnimations: TGLActorAnimations;
Private | FTargetSmoothAnimation: TGLActorAnimation;
Private | FControlers: TList;
Private | FOptions: TGLActorOptions;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CurrentAnimation: string;
Public | function FrameCount: Integer;
Public | function isSwitchingAnimation: Boolean;
Public | function NextFrameIndex: Integer;
Protected | function StoreAnimations: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure LoadFromStream(const filename: string; aStream: TStream); override;
Public | procedure NextFrame(nbSteps: Integer = 1);
Public | procedure PrevFrame(nbSteps: Integer = 1);
Public | procedure SetCurrentFrameDirect(const Value: Integer);
Public | procedure SwitchToAnimation(animationIndex: Integer; smooth: Boolean = False); overload;
Public | procedure SwitchToAnimation(const AnimationName: string; smooth: Boolean = False); overload;
Public | procedure SwitchToAnimation(anAnimation: TGLActorAnimation; smooth: Boolean = False); overload;
Public | procedure Synchronize(referenceActor: TGLActor);
Protected | procedure DoAnimate; virtual;
Protected | procedure PrepareBuildList(var mrci: TGLRenderContextInfo); override;
Protected | procedure PrepareMesh; override;
Protected | procedure RegisterControler(aControler: TGLBaseAnimationControler);
Protected | procedure SetAnimations(const val: TGLActorAnimations);
Protected | procedure SetCurrentFrame(val: Integer);
Protected | procedure SetEndFrame(val: Integer);
Protected | procedure SetOptions(const val: TGLActorOptions);
Protected | procedure SetReference(val: TGLActorAnimationReference);
Protected | procedure SetStartFrame(val: Integer);
Protected | procedure UnRegisterControler(aControler: TGLBaseAnimationControler);

Properties

Published | property AnimationMode: TGLActorAnimationMode read FAnimationMode write FAnimationMode default aamNone;
Published | property Animations: TGLActorAnimations read FAnimations write SetAnimations stored StoreAnimations;
Published | property AutoCentering;
Published | property CurrentFrame: Integer read FCurrentFrame write SetCurrentFrame default 0;
Published | property CurrentFrameDelta: Single read FCurrentFrameDelta write FCurrentFrameDelta;
Published | property EndFrame: Integer read FEndFrame write SetEndFrame default 0;
Published | property FrameInterpolation: TGLActorFrameInterpolation read FFrameInterpolation write FFrameInterpolation default afpLinear;
Published | property Interval: Integer read FInterval write FInterval;
Published | property LightmapLibrary;
Published | property MaterialLibrary;
Published | property NormalsOrientation;
Published | property OnEndFrameReached: TNotifyEvent read FOnEndFrameReached write FOnEndFrameReached;
Published | property OnFrameChanged: TNotifyEvent read FOnFrameChanged write FOnFrameChanged;
Published | property OnStartFrameReached: TNotifyEvent read FOnStartFrameReached write FOnStartFrameReached;
Published | property Options: TGLActorOptions read FOptions write SetOptions default cDefaultGLActorOptions;
Published | property OverlaySkeleton;
Published | property Reference: TGLActorAnimationReference read FReference write FReference default aarMorph;
Published | property StartFrame: Integer read FStartFrame write SetStartFrame default 0;
Published | property UseMeshMaterials;

Description

Fields

Private FStartFrame: Integer;
Private FEndFrame: Integer;
Private FReference: TGLActorAnimationReference;
Private FCurrentFrame: Integer;
Private FCurrentFrameDelta: Single;
Private FFrameInterpolation: TGLActorFrameInterpolation;
Private FInterval: Integer;
Private FAnimationMode: TGLActorAnimationMode;
Private FOnFrameChanged: TNotifyEvent;
Private FOnEndFrameReached: TNotifyEvent;
Private FOnStartFrameReached: TNotifyEvent;
Private FAnimations: TGLActorAnimations;
Private FTargetSmoothAnimation: TGLActorAnimation;
Private FControlers: TList;
Private FOptions: TGLActorOptions;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function CurrentAnimation: string;
Public function FrameCount: Integer;
Public function isSwitchingAnimation: Boolean;

Indicates whether the actor is currently swithing animations (with smooth interpolation)

Public function NextFrameIndex: Integer;
Protected function StoreAnimations: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure LoadFromStream(const filename: string; aStream: TStream); override;
Public procedure NextFrame(nbSteps: Integer = 1);
Public procedure PrevFrame(nbSteps: Integer = 1);
Public procedure SetCurrentFrameDirect(const Value: Integer);

Provides a direct access to FCurrentFrame without any checks. Used in TGLActorProxy

Public procedure SwitchToAnimation(animationIndex: Integer; smooth: Boolean = False); overload;
Public procedure SwitchToAnimation(const AnimationName: string; smooth: Boolean = False); overload;
Public procedure SwitchToAnimation(anAnimation: TGLActorAnimation; smooth: Boolean = False); overload;
Public procedure Synchronize(referenceActor: TGLActor);

Synchronize self animation with an other actor. Copies Start/Current/End Frame values, CurrentFrameDelta, AnimationMode and FrameInterpolation.

Protected procedure DoAnimate; virtual;
Protected procedure PrepareBuildList(var mrci: TGLRenderContextInfo); override;
Protected procedure PrepareMesh; override;
Protected procedure RegisterControler(aControler: TGLBaseAnimationControler);
Protected procedure SetAnimations(const val: TGLActorAnimations);
Protected procedure SetCurrentFrame(val: Integer);
Protected procedure SetEndFrame(val: Integer);
Protected procedure SetOptions(const val: TGLActorOptions);
Protected procedure SetReference(val: TGLActorAnimationReference);
Protected procedure SetStartFrame(val: Integer);
Protected procedure UnRegisterControler(aControler: TGLBaseAnimationControler);

Properties

Published property AnimationMode: TGLActorAnimationMode read FAnimationMode write FAnimationMode default aamNone;

See TGLActorAnimationMode.

Published property Animations: TGLActorAnimations read FAnimations write SetAnimations stored StoreAnimations;

Collection of animations sequences.

Published property AutoCentering;
Published property CurrentFrame: Integer read FCurrentFrame write SetCurrentFrame default 0;

Current animation frame.

Published property CurrentFrameDelta: Single read FCurrentFrameDelta write FCurrentFrameDelta;

Value in the [0; 1] range expressing the delta to the next frame.

Published property EndFrame: Integer read FEndFrame write SetEndFrame default 0;
Published property FrameInterpolation: TGLActorFrameInterpolation read FFrameInterpolation write FFrameInterpolation default afpLinear;

Frame interpolation mode (afpNone/afpLinear).

Published property Interval: Integer read FInterval write FInterval;

Interval between frames, in milliseconds.

Published property LightmapLibrary;
Published property MaterialLibrary;
Published property NormalsOrientation;
Published property OnEndFrameReached: TNotifyEvent read FOnEndFrameReached write FOnEndFrameReached;

Triggered after EndFrame has been reached by progression or "nextframe"

Published property OnFrameChanged: TNotifyEvent read FOnFrameChanged write FOnFrameChanged;

Triggered after each CurrentFrame change.

Published property OnStartFrameReached: TNotifyEvent read FOnStartFrameReached write FOnStartFrameReached;

Triggered after StartFrame has been reached by progression or "nextframe"

Published property Options: TGLActorOptions read FOptions write SetOptions default cDefaultGLActorOptions;

Actor and animation miscellanious options.

Published property OverlaySkeleton;
Published property Reference: TGLActorAnimationReference read FReference write FReference default aarMorph;

Reference Frame Animation mode. Allows specifying if the model is primarily morph or skeleton based

Published property StartFrame: Integer read FStartFrame write SetStartFrame default 0;
Published property UseMeshMaterials;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLVectorFileFormat

Class TGLVectorFileFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLVectorFileFormat = class(TObject)

Description

Hierarchy

  • TObject
  • TGLVectorFileFormat

Overview

Fields

Public | VectorFileClass: TGLVectorFileClass;
Public | Extension: string;
Public | Description: string;
Public | DescResID: Integer;

Description

Fields

Public VectorFileClass: TGLVectorFileClass;
Public Extension: string;
Public Description: string;
Public DescResID: Integer;


GLSysHelp v.2.1: GLS.VectorFileObjects: Class TGLVectorFileFormatsList

Class TGLVectorFileFormatsList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type TGLVectorFileFormatsList = class(TPersistentObjectList)

Description

Stores registered vector file formats

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLVectorFileFormatsList

Overview

Methods

Public | destructor Destroy; override;
Public | function FindExt(Ext: string): TGLVectorFileClass;
Public | function FindExtByIndex(index: Integer; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False): string;
Public | function FindFromFileName(const filename: string): TGLVectorFileClass;
Public | procedure Add(const Ext, Desc: string; DescID: Integer; AClass: TGLVectorFileClass);
Public | procedure BuildFilterStrings(vectorFileClass: TGLVectorFileClass; out descriptions, filters: string; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False);
Public | procedure Remove(AClass: TGLVectorFileClass);

Description

Methods

Public destructor Destroy; override;
Public function FindExt(Ext: string): TGLVectorFileClass;
Public function FindExtByIndex(index: Integer; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False): string;
Public function FindFromFileName(const filename: string): TGLVectorFileClass;
Public procedure Add(const Ext, Desc: string; DescID: Integer; AClass: TGLVectorFileClass);
Public procedure BuildFilterStrings(vectorFileClass: TGLVectorFileClass; out descriptions, filters: string; formatsThatCanBeOpened: Boolean = True; formatsThatCanBeSaved: Boolean = False);
Public procedure Remove(AClass: TGLVectorFileClass);


GLSysHelp v.2.1: GLS.VectorFileObjects: Class EInvalidVectorFile

Class EInvalidVectorFile

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorFileObjects

Declaration

type EInvalidVectorFile = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EInvalidVectorFile


GLSysHelp v.2.1: GLS.VectorGeometry

Unit GLS.VectorGeometry

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Types
  • System.Math
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TTexPoint |
Record TQuaternion |
Record TRectangle |
Record TFrustum |

Functions and Procedures

function TexPointMake(const S, T: Single): TTexPoint; inline;
function AffineVectorMake(const X, Y, Z: Single): TAffineVector; overload; inline;
function AffineVectorMake(const V: TGLVector): TAffineVector; overload; inline;
procedure SetAffineVector(out V: TAffineVector; const X, Y, Z: Single); overload; inline;
procedure SetVector(out V: TAffineVector; const X, Y, Z: Single); overload; inline;
procedure SetVector(out V: TAffineVector; const vSrc: TGLVector); overload; inline;
procedure SetVector(out V: TAffineVector; const vSrc: TAffineVector); overload; inline;
procedure SetVector(out V: TAffineDblVector; const vSrc: TAffineVector); overload; inline;
procedure SetVector(out V: TAffineDblVector; const vSrc: TGLVector); overload; inline;
function VectorMake(const V: TAffineVector; W: Single = 0): TGLVector; overload; inline;
function VectorMake(const X, Y, Z: Single; W: Single = 0): TGLVector; overload; inline;
function VectorMake(const Q: TQuaternion): TGLVector; overload; inline;
function PointMake(const X, Y, Z: Single): TGLVector; overload; inline;
function PointMake(const V: TAffineVector): TGLVector; overload; inline;
function PointMake(const V: TGLVector): TGLVector; overload; inline;
procedure SetVector(out V: TGLVector; const X, Y, Z: Single; W: Single = 0); overload; inline;
procedure SetVector(out V: TGLVector; const av: TAffineVector; W: Single = 0); overload; inline;
procedure SetVector(out V: TGLVector; const vSrc: TGLVector); overload; inline;
procedure MakePoint(out V: TGLVector; const X, Y, Z: Single); overload; inline;
procedure MakePoint(out V: TGLVector; const av: TAffineVector); overload; inline;
procedure MakePoint(out V: TGLVector; const av: TGLVector); overload; inline;
procedure MakeVector(out V: TAffineVector; const X, Y, Z: Single); overload; inline;
procedure MakeVector(out V: TGLVector; const X, Y, Z: Single); overload; inline;
procedure MakeVector(out V: TGLVector; const av: TAffineVector); overload; inline;
procedure MakeVector(out V: TGLVector; const av: TGLVector); overload; inline;
procedure RstVector(var V: TAffineVector); overload; inline;
procedure RstVector(var V: TGLVector); overload; inline;
function VectorEquals(const Vector1, Vector2: TVector2f): Boolean; overload; inline;
function VectorEquals(const Vector1, Vector2: TVector2i): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector2d): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector2s): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector2b): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3i): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3d): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3s): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3b): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4i): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4d): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4s): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4b): Boolean; overload; inline;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3f): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3i): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3d): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3s): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3b): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4f): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4i): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4d): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4s): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4b): Boolean; overload;
function Vector2fMake(const X, Y: Single): TVector2f; overload; inline;
function Vector2iMake(const X, Y: Longint): TVector2i; overload; inline;
function Vector2sMake(const X, Y: SmallInt): TVector2s; overload; inline;
function Vector2dMake(const X, Y: Double): TVector2d; overload; inline;
function Vector2bMake(const X, Y: Byte): TVector2b; overload; inline;
function Vector2fMake(const Vector: TVector3f): TVector2f; overload; inline;
function Vector2iMake(const Vector: TVector3i): TVector2i; overload; inline;
function Vector2sMake(const Vector: TVector3s): TVector2s; overload; inline;
function Vector2dMake(const Vector: TVector3d): TVector2d; overload; inline;
function Vector2bMake(const Vector: TVector3b): TVector2b; overload; inline;
function Vector2fMake(const Vector: TVector4f): TVector2f; overload; inline;
function Vector2iMake(const Vector: TVector4i): TVector2i; overload; inline;
function Vector2sMake(const Vector: TVector4s): TVector2s; overload; inline;
function Vector2dMake(const Vector: TVector4d): TVector2d; overload; inline;
function Vector2bMake(const Vector: TVector4b): TVector2b; overload; inline;
function Vector3fMake(const X: Single; const Y: Single = 0; const Z: Single = 0) : TVector3f; overload; inline;
function Vector3iMake(const X: Longint; const Y: Longint = 0; const Z: Longint = 0): TVector3i; overload; inline;
function Vector3sMake(const X: SmallInt; const Y: SmallInt = 0; const Z: SmallInt = 0): TVector3s; overload; inline;
function Vector3dMake(const X: Double; const Y: Double = 0; const Z: Double = 0): TVector3d; overload; inline;
function Vector3bMake(const X: Byte; const Y: Byte = 0; const Z: Byte = 0): TVector3b; overload; inline;
function Vector3fMake(const Vector: TVector2f; const Z: Single = 0): TVector3f; overload; inline;
function Vector3iMake(const Vector: TVector2i; const Z: Longint = 0): TVector3i; overload; inline;
function Vector3sMake(const Vector: TVector2s; const Z: SmallInt = 0): TVector3s; overload; inline;
function Vector3dMake(const Vector: TVector2d; const Z: Double = 0): TVector3d; overload; inline;
function Vector3bMake(const Vector: TVector2b; const Z: Byte = 0): TVector3b; overload; inline;
function Vector3fMake(const Vector: TVector4f): TVector3f; overload; inline;
function Vector3iMake(const Vector: TVector4i): TVector3i; overload; inline;
function Vector3sMake(const Vector: TVector4s): TVector3s; overload; inline;
function Vector3dMake(const Vector: TVector4d): TVector3d; overload; inline;
function Vector3bMake(const Vector: TVector4b): TVector3b; overload; inline;
function Vector4fMake(const X: Single; const Y: Single = 0; const Z: Single = 0; const W: Single = 0): TVector4f; overload; inline;
function Vector4iMake(const X: Longint; const Y: Longint = 0; const Z: Longint = 0; const W: Longint = 0): TVector4i; overload; inline;
function Vector4sMake(const X: SmallInt; const Y: SmallInt = 0; const Z: SmallInt = 0; const W: SmallInt = 0): TVector4s; overload; inline;
function Vector4dMake(const X: Double; const Y: Double = 0; const Z: Double = 0; const W: Double = 0): TVector4d; overload; inline;
function Vector4bMake(const X: Byte; const Y: Byte = 0; const Z: Byte = 0; const W: Byte = 0): TVector4b; overload; inline;
function Vector4fMake(const Vector: TVector3f; const W: Single = 0): TVector4f; overload; inline;
function Vector4iMake(const Vector: TVector3i; const W: Longint = 0): TVector4i; overload; inline;
function Vector4sMake(const Vector: TVector3s; const W: SmallInt = 0) : TVector4s; overload; inline;
function Vector4dMake(const Vector: TVector3d; const W: Double = 0): TVector4d; overload; inline;
function Vector4bMake(const Vector: TVector3b; const W: Byte = 0): TVector4b; overload; inline;
function Vector4fMake(const Vector: TVector2f; const Z: Single = 0; const W: Single = 0): TVector4f; overload; inline;
function Vector4iMake(const Vector: TVector2i; const Z: Longint = 0; const W: Longint = 0): TVector4i; overload; inline;
function Vector4sMake(const Vector: TVector2s; const Z: SmallInt = 0; const W: SmallInt = 0): TVector4s; overload; inline;
function Vector4dMake(const Vector: TVector2d; const Z: Double = 0; const W: Double = 0): TVector4d; overload; inline;
function Vector4bMake(const Vector: TVector2b; const Z: Byte = 0; const W: Byte = 0): TVector4b; overload; inline;
function VectorMoreThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorMoreEqualThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorMoreEqualThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorMoreEqualThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorMoreEqualThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorMoreEqualThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorMoreEqualThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorAdd(const V1, V2: TVector2f): TVector2f; overload;
function VectorAdd(const V1, V2: TAffineVector): TAffineVector; overload;
procedure VectorAdd(const V1, V2: TAffineVector; var vr: TAffineVector); overload;
procedure VectorAdd(const V1, V2: TAffineVector; vr: PAffineVector); overload;
function VectorAdd(const V1, V2: TGLVector): TGLVector; overload;
procedure VectorAdd(const V1, V2: TGLVector; var vr: TGLVector); overload;
function VectorAdd(const V: TAffineVector; const f: Single): TAffineVector; overload; inline;
function VectorAdd(const V: TGLVector; const f: Single): TGLVector; overload; inline;
procedure AddVector(var V1: TAffineVector; const V2: TAffineVector); overload;
procedure AddVector(var V1: TAffineVector; const V2: TGLVector); overload;
procedure AddVector(var V1: TGLVector; const V2: TGLVector); overload;
procedure AddVector(var V: TAffineVector; const f: Single); overload; inline;
procedure AddVector(var V: TGLVector; const f: Single); overload; inline;
procedure AddPoint(var V1: TGLVector; const V2: TGLVector); overload; inline;
function PointAdd(var V1: TGLVector; const V2: TGLVector): TGLVector; overload; inline;
procedure TexPointArrayAdd(const src: PTexPointArray; const delta: TTexPoint; const nb: Integer; dest: PTexPointArray); overload;
procedure TexPointArrayScaleAndAdd(const src: PTexPointArray; const delta: TTexPoint; const nb: Integer; const scale: TTexPoint; dest: PTexPointArray); overload;
procedure VectorArrayAdd(const src: PAffineVectorArray; const delta: TAffineVector; const nb: Integer; dest: PAffineVectorArray); overload;
function VectorSubtract(const V1, V2: TVector2f): TVector2f; overload;
procedure SubtractVector(var V1: TVector2f; const V2: TVector2f); overload;
function VectorSubtract(const V1, V2: TAffineVector): TAffineVector; overload;
procedure VectorSubtract(const V1, V2: TAffineVector; var result: TAffineVector); overload;
procedure VectorSubtract(const V1, V2: TAffineVector; var result: TGLVector); overload;
procedure VectorSubtract(const V1: TGLVector; const V2: TAffineVector; var result: TGLVector); overload;
function VectorSubtract(const V1, V2: TGLVector): TGLVector; overload;
procedure VectorSubtract(const V1, V2: TGLVector; var result: TGLVector); overload;
procedure VectorSubtract(const V1, V2: TGLVector; var result: TAffineVector); overload;
function VectorSubtract(const V1: TAffineVector; delta: Single): TAffineVector; overload; inline;
function VectorSubtract(const V1: TGLVector; delta: Single): TGLVector; overload; inline;
procedure SubtractVector(var V1: TAffineVector; const V2: TAffineVector); overload;
procedure SubtractVector(var V1: TGLVector; const V2: TGLVector); overload;
procedure CombineVector(var vr: TAffineVector; const V: TAffineVector; var f: Single); overload;
procedure CombineVector(var vr: TAffineVector; const V: TAffineVector; pf: PFloat); overload;
function TexPointCombine(const t1, t2: TTexPoint; f1, f2: Single): TTexPoint; inline;
function VectorCombine(const V1, V2: TAffineVector; const f1, f2: Single): TAffineVector; overload; inline;
function VectorCombine3(const V1, V2, V3: TAffineVector; const f1, f2, F3: Single): TAffineVector; overload; inline;
procedure VectorCombine3(const V1, V2, V3: TAffineVector; const f1, f2, F3: Single; var vr: TAffineVector); overload; inline;
procedure CombineVector(var vr: TGLVector; const V: TGLVector; var f: Single); overload;
procedure CombineVector(var vr: TGLVector; const V: TAffineVector; var f: Single); overload;
function VectorCombine(const V1, V2: TGLVector; const F1, F2: Single): TGLVector; overload; inline;
function VectorCombine(const V1: TGLVector; const V2: TAffineVector; const F1, F2: Single): TGLVector; overload; inline;
procedure VectorCombine(const V1: TGLVector; const V2: TAffineVector; const F1, F2: Single; var VR: TGLVector); overload; inline;
procedure VectorCombine(const V1, V2: TGLVector; const F1, F2: Single; var vr: TGLVector); overload;
procedure VectorCombine(const V1, V2: TGLVector; const F2: Single; var vr: TGLVector); overload;
function VectorCombine3(const V1, V2, V3: TGLVector; const F1, F2, F3: Single): TGLVector; overload; inline;
procedure VectorCombine3(const V1, V2, V3: TGLVector; const F1, F2, F3: Single; var vr: TGLVector); overload;
function VectorDotProduct(const V1, V2: TVector2f): Single; overload;
function VectorDotProduct(const V1, V2: TAffineVector): Single; overload;
function VectorDotProduct(const V1, V2: TGLVector): Single; overload;
function VectorDotProduct(const V1: TGLVector; const V2: TAffineVector): Single; overload;
function PointProject(const p, origin, direction: TAffineVector): Single; overload;
function PointProject(const p, origin, direction: TGLVector): Single; overload;
function VectorCrossProduct(const V1, V2: TAffineVector): TAffineVector; overload;
function VectorCrossProduct(const V1, V2: TGLVector): TGLVector; overload;
procedure VectorCrossProduct(const V1, V2: TGLVector; var vr: TGLVector); overload;
procedure VectorCrossProduct(const V1, V2: TAffineVector; var vr: TGLVector); overload;
procedure VectorCrossProduct(const V1, V2: TGLVector; var vr: TAffineVector); overload;
procedure VectorCrossProduct(const V1, V2: TAffineVector; var vr: TAffineVector); overload;
function Lerp(const start, stop, T: Single): Single; inline;
function AngleLerp(start, stop, T: Single): Single; inline;
function MatrixLerp(const m1, m2: TGLMatrix; const delta: Single): TGLMatrix;
function DistanceBetweenAngles(angle1, angle2: Single): Single;
function TexPointLerp(const t1, t2: TTexPoint; T: Single): TTexPoint; overload; inline;
function VectorLerp(const V1, V2: TAffineVector; T: Single): TAffineVector; overload; inline;
procedure VectorLerp(const V1, V2: TAffineVector; T: Single; var vr: TAffineVector); overload;
function VectorLerp(const V1, V2: TGLVector; T: Single): TGLVector; overload; inline;
procedure VectorLerp(const V1, V2: TGLVector; T: Single; var vr: TGLVector); overload; inline;
function VectorAngleLerp(const V1, V2: TAffineVector; T: Single): TAffineVector; overload;
function VectorAngleCombine(const V1, V2: TAffineVector; f: Single): TAffineVector; overload;
procedure VectorArrayLerp(const src1, src2: PVectorArray; T: Single; n: Integer; dest: PVectorArray); overload;
procedure VectorArrayLerp(const src1, src2: PAffineVectorArray; T: Single; n: Integer; dest: PAffineVectorArray); overload;
procedure VectorArrayLerp(const src1, src2: PTexPointArray; T: Single; n: Integer; dest: PTexPointArray); overload;
function InterpolatePower(const start, stop, delta: Single; const DistortionDegree: Single): Single;
function InterpolateLn(const start, stop, delta: Single; const DistortionDegree: Single): Single;
function InterpolateExp(const start, stop, delta: Single; const DistortionDegree: Single): Single;
function InterpolateSin(const start, stop, delta: Single): Single;
function InterpolateTan(const start, stop, delta: Single): Single;
function InterpolateSinAlt(const start, stop, delta: Single): Single;
function InterpolateCombinedFastPower(const OriginalStart, OriginalStop, OriginalCurrent: Single; const TargetStart, TargetStop: Single; const DistortionDegree: Single): Single; inline;
function InterpolateCombinedSafe(const OriginalStart, OriginalStop, OriginalCurrent: Single; const TargetStart, TargetStop: Single; const DistortionDegree: Single; const InterpolationType: TGLInterpolationType): Single; inline;
function InterpolateCombinedFast(const OriginalStart, OriginalStop, OriginalCurrent: Single; const TargetStart, TargetStop: Single; const DistortionDegree: Single; const InterpolationType: TGLInterpolationType): Single; inline;
function InterpolateCombined(const start, stop, delta: Single; const DistortionDegree: Single; const InterpolationType: TGLInterpolationType): Single; inline;
function VectorLength(const X, Y: Single): Single; overload;
function VectorLength(const X, Y, Z: Single): Single; overload;
function VectorLength(const V: TVector2f): Single; overload;
function VectorLength(const V: TAffineVector): Single; overload;
function VectorLength(const V: TGLVector): Single; overload;
function VectorLength(const V: array of Single): Single; overload;
function VectorNorm(const X, Y: Single): Single; overload;
function VectorNorm(const V: TAffineVector): Single; overload;
function VectorNorm(const V: TGLVector): Single; overload;
function VectorNorm(var V: array of Single): Single; overload;
procedure NormalizeVector(var V: TVector2f); overload;
procedure NormalizeVector(var V: TAffineVector); overload;
procedure NormalizeVector(var V: TGLVector); overload;
function VectorNormalize(const V: TVector2f): TVector2f; overload;
function VectorNormalize(const V: TAffineVector): TAffineVector; overload;
function VectorNormalize(const V: TGLVector): TGLVector; overload;
procedure NormalizeVectorArray(list: PAffineVectorArray; n: Integer); overload; inline;
function VectorAngleCosine(const V1, V2: TAffineVector): Single; overload;
function VectorAngleCosine(const V1, V2: TGLVector): Single; overload;
function VectorNegate(const Vector: TAffineVector): TAffineVector; overload;
function VectorNegate(const Vector: TGLVector): TGLVector; overload;
procedure NegateVector(var V: TAffineVector); overload;
procedure NegateVector(var V: TGLVector); overload;
procedure NegateVector(var V: array of Single); overload;
procedure ScaleVector(var V: TVector2f; factor: Single); overload;
procedure ScaleVector(var V: TAffineVector; factor: Single); overload;
procedure ScaleVector(var V: TAffineVector; const factor: TAffineVector); overload;
procedure ScaleVector(var V: TGLVector; factor: Single); overload;
procedure ScaleVector(var V: TGLVector; const factor: TGLVector); overload;
function VectorScale(const V: TVector2f; factor: Single): TVector2f; overload;
function VectorScale(const V: TAffineVector; factor: Single): TAffineVector; overload;
procedure VectorScale(const V: TAffineVector; factor: Single; var vr: TAffineVector); overload;
function VectorScale(const V: TGLVector; factor: Single): TGLVector; overload;
procedure VectorScale(const V: TGLVector; factor: Single; var vr: TGLVector); overload;
procedure VectorScale(const V: TGLVector; factor: Single; var vr: TAffineVector); overload;
function VectorScale(const V: TAffineVector; const factor: TAffineVector): TAffineVector; overload;
function VectorScale(const V: TGLVector; const factor: TGLVector): TGLVector; overload;
procedure DivideVector(var V: TGLVector; const divider: TGLVector); overload; inline;
procedure DivideVector(var V: TAffineVector; const divider: TAffineVector); overload; inline;
function VectorDivide(const V: TGLVector; const divider: TGLVector): TGLVector; overload; inline;
function VectorDivide(const V: TAffineVector; const divider: TAffineVector): TAffineVector; overload; inline;
function TexpointEquals(const p1, p2: TTexPoint): Boolean; inline;
function RectEquals(const Rect1, Rect2: TRect): Boolean; inline;
function VectorEquals(const V1, V2: TGLVector): Boolean; overload; inline;
function VectorEquals(const V1, V2: TAffineVector): Boolean; overload; inline;
function AffineVectorEquals(const V1, V2: TGLVector): Boolean; overload; inline;
function VectorIsNull(const V: TGLVector): Boolean; overload; inline;
function VectorIsNull(const V: TAffineVector): Boolean; overload; inline;
function VectorSpacing(const V1, V2: TTexPoint): Single; overload;
function VectorSpacing(const V1, V2: TAffineVector): Single; overload;
function VectorSpacing(const V1, V2: TGLVector): Single; overload;
function VectorDistance(const V1, V2: TAffineVector): Single; overload;
function VectorDistance(const V1, V2: TGLVector): Single; overload;
function VectorDistance2(const V1, V2: TAffineVector): Single; overload;
function VectorDistance2(const V1, V2: TGLVector): Single; overload;
function VectorPerpendicular(const V, n: TAffineVector): TAffineVector;
function VectorReflect(const V, n: TAffineVector): TAffineVector;
procedure RotateVector(var Vector: TGLVector; const axis: TAffineVector; angle: Single); overload;
procedure RotateVector(var Vector: TGLVector; const axis: TGLVector; angle: Single); overload;
procedure RotateVectorAroundY(var V: TAffineVector; alpha: Single);
function VectorRotateAroundX(const V: TAffineVector; alpha: Single): TAffineVector; overload;
function VectorRotateAroundY(const V: TAffineVector; alpha: Single): TAffineVector; overload;
procedure VectorRotateAroundY(const V: TAffineVector; alpha: Single; var vr: TAffineVector); overload;
function VectorRotateAroundZ(const V: TAffineVector; alpha: Single): TAffineVector; overload;
procedure AbsVector(var V: TGLVector); overload; inline;
procedure AbsVector(var V: TAffineVector); overload; inline;
function VectorAbs(const V: TGLVector): TGLVector; overload; inline;
function VectorAbs(const V: TAffineVector): TAffineVector; overload; inline;
function IsColinear(const V1, V2: TVector2f): Boolean; overload;
function IsColinear(const V1, V2: TAffineVector): Boolean; overload;
function IsColinear(const V1, V2: TGLVector): Boolean; overload;
procedure SetMatrix(var dest: THomogeneousDblMatrix; const src: TGLMatrix); overload;
procedure SetMatrix(var dest: TAffineMatrix; const src: TGLMatrix); overload;
procedure SetMatrix(var dest: TGLMatrix; const src: TAffineMatrix); overload;
procedure SetMatrixRow(var dest: TGLMatrix; rowNb: Integer; const aRow: TGLVector); overload;
function CreateScaleMatrix(const V: TAffineVector): TGLMatrix; overload;
function CreateScaleMatrix(const V: TGLVector): TGLMatrix; overload;
function CreateTranslationMatrix(const V: TAffineVector): TGLMatrix; overload;
function CreateTranslationMatrix(const V: TGLVector): TGLMatrix; overload;
function CreateScaleAndTranslationMatrix(const scale, offset: TGLVector): TGLMatrix; overload;
function CreateRotationMatrixX(const sine, cosine: Single): TGLMatrix; overload;
function CreateRotationMatrixX(const angle: Single): TGLMatrix; overload;
function CreateRotationMatrixY(const sine, cosine: Single): TGLMatrix; overload;
function CreateRotationMatrixY(const angle: Single): TGLMatrix; overload;
function CreateRotationMatrixZ(const sine, cosine: Single): TGLMatrix; overload;
function CreateRotationMatrixZ(const angle: Single): TGLMatrix; overload;
function CreateRotationMatrix(const anAxis: TAffineVector; angle: Single): TGLMatrix; overload;
function CreateRotationMatrix(const anAxis: TGLVector; angle: Single): TGLMatrix; overload;
function CreateAffineRotationMatrix(const anAxis: TAffineVector; angle: Single): TAffineMatrix;
function MatrixMultiply(const m1, m2: TAffineMatrix): TAffineMatrix; overload;
function MatrixMultiply(const m1, m2: TGLMatrix): TGLMatrix; overload;
procedure MatrixMultiply(const m1, m2: TGLMatrix; var MResult: TGLMatrix); overload;
function VectorTransform(const V: TGLVector; const M: TGLMatrix): TGLVector; overload;
function VectorTransform(const V: TGLVector; const M: TAffineMatrix): TGLVector; overload;
function VectorTransform(const V: TAffineVector; const M: TGLMatrix): TAffineVector; overload;
function VectorTransform(const V: TAffineVector; const M: TAffineMatrix): TAffineVector; overload;
function MatrixDeterminant(const M: TAffineMatrix): Single; overload;
function MatrixDeterminant(const M: TGLMatrix): Single; overload;
procedure AdjointMatrix(var M: TGLMatrix); overload;
procedure AdjointMatrix(var M: TAffineMatrix); overload;
procedure ScaleMatrix(var M: TAffineMatrix; const factor: Single); overload;
procedure ScaleMatrix(var M: TGLMatrix; const factor: Single); overload;
procedure TranslateMatrix(var M: TGLMatrix; const V: TAffineVector); overload;
procedure TranslateMatrix(var M: TGLMatrix; const V: TGLVector); overload;
procedure NormalizeMatrix(var M: TGLMatrix);
procedure TransposeMatrix(var M: TAffineMatrix); overload;
procedure TransposeMatrix(var M: TGLMatrix); overload;
procedure InvertMatrix(var M: TGLMatrix); overload;
function MatrixInvert(const M: TGLMatrix): TGLMatrix; overload;
procedure InvertMatrix(var M: TAffineMatrix); overload;
function MatrixInvert(const M: TAffineMatrix): TAffineMatrix; overload;
function AnglePreservingMatrixInvert(const mat: TGLMatrix): TGLMatrix;
function MatrixDecompose(const M: TGLMatrix; var Tran: TTransformations): Boolean;
function CreateLookAtMatrix(const eye, center, normUp: TGLVector): TGLMatrix;
function CreateMatrixFromFrustum(Left, Right, Bottom, Top, ZNear, ZFar: Single): TGLMatrix;
function CreatePerspectiveMatrix(FOV, Aspect, ZNear, ZFar: Single): TGLMatrix;
function CreateOrthoMatrix(Left, Right, Bottom, Top, ZNear, ZFar: Single): TGLMatrix;
function CreatePickMatrix(X, Y, deltax, deltay: Single; const viewport: TVector4i): TGLMatrix;
function Project(objectVector: TGLVector; const ViewProjMatrix: TGLMatrix; const viewport: TVector4i; out WindowVector: TGLVector): Boolean;
function UnProject(WindowVector: TGLVector; ViewProjMatrix: TGLMatrix; const viewport: TVector4i; out objectVector: TGLVector): Boolean;
function PlaneMake(const p1, p2, p3: TAffineVector): THmgPlane; overload;
function PlaneMake(const p1, p2, p3: TGLVector): THmgPlane; overload;
function PlaneMake(const point, normal: TAffineVector): THmgPlane; overload;
function PlaneMake(const point, normal: TGLVector): THmgPlane; overload;
procedure SetPlane(var dest: TDoubleHmgPlane; const src: THmgPlane);
procedure NormalizePlane(var plane: THmgPlane);
function PlaneEvaluatePoint(const plane: THmgPlane; const point: TAffineVector): Single; overload;
function PlaneEvaluatePoint(const plane: THmgPlane; const point: TGLVector): Single; overload;
function CalcPlaneNormal(const p1, p2, p3: TAffineVector): TAffineVector; overload;
procedure CalcPlaneNormal(const p1, p2, p3: TAffineVector; var vr: TAffineVector); overload;
procedure CalcPlaneNormal(const p1, p2, p3: TGLVector; var vr: TAffineVector); overload;
function PointIsInHalfSpace(const point, planePoint, planeNormal: TGLVector): Boolean; overload;
function PointIsInHalfSpace(const point, planePoint, planeNormal: TAffineVector): Boolean; overload;
function PointIsInHalfSpace(const point: TAffineVector; const plane: THmgPlane): Boolean; overload;
function PointPlaneDistance(const point, planePoint, planeNormal: TGLVector): Single; overload;
function PointPlaneDistance(const point, planePoint, planeNormal: TAffineVector): Single; overload;
function PointPlaneDistance(const point: TAffineVector; const plane: THmgPlane): Single; overload;
function PointPlaneOrthoProjection(const point: TAffineVector; const plane: THmgPlane; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function PointPlaneProjection(const point, direction: TAffineVector; const plane: THmgPlane; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function SegmentPlaneIntersection(const ptA, ptB: TAffineVector; const plane: THmgPlane; var inter: TAffineVector): Boolean;
function PointTriangleOrthoProjection(const point, ptA, ptB, ptC: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function PointTriangleProjection(const point, direction, ptA, ptB, ptC: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function IsLineIntersectTriangle(const point, direction, ptA, ptB, ptC: TAffineVector): Boolean;
function PointQuadOrthoProjection(const point, ptA, ptB, ptC, ptD: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function PointQuadProjection(const point, direction, ptA, ptB, ptC, ptD: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function IsLineIntersectQuad(const point, direction, ptA, ptB, ptC, ptD: TAffineVector): Boolean;
function PointDiskOrthoProjection(const point, center, up: TAffineVector; const radius: Single; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function PointDiskProjection(const point, direction, center, up: TAffineVector; const radius: Single; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function PointSegmentClosestPoint(const point, segmentStart, segmentStop: TAffineVector): TAffineVector; overload;
function PointSegmentClosestPoint(const point, segmentStart, segmentStop: TGLVector): TGLVector; overload;
function PointSegmentDistance(const point, segmentStart, segmentStop: TAffineVector): Single;
function PointLineClosestPoint(const point, linePoint, lineDirection: TAffineVector): TAffineVector;
function PointLineDistance(const point, linePoint, lineDirection: TAffineVector): Single;
procedure SegmentSegmentClosestPoint(const S0Start, S0Stop, S1Start, S1Stop: TAffineVector; var Segment0Closest, Segment1Closest: TAffineVector);
function SegmentSegmentDistance(const S0Start, S0Stop, S1Start, S1Stop: TAffineVector): Single;
function LineLineDistance(const linePt0, lineDir0, linePt1, lineDir1: TAffineVector): Single;
function QuaternionMake(const Imag: array of Single; Real: Single): TQuaternion; overload;
function QuaternionMake(const X,Y,Z,W: Single): TQuaternion; overload;
function QuaternionMake(const V: TGLVector): TQuaternion; overload;
function QuaternionConjugate(const Q: TQuaternion): TQuaternion;
function QuaternionMagnitude(const Q: TQuaternion): Single;
procedure NormalizeQuaternion(var Q: TQuaternion);
function QuaternionFromPoints(const V1, V2: TAffineVector): TQuaternion;
procedure QuaternionToPoints(const Q: TQuaternion; var ArcFrom, ArcTo: TAffineVector);
function QuaternionFromMatrix(const mat: TGLMatrix): TQuaternion;
function QuaternionToMatrix(quat: TQuaternion): TGLMatrix;
function QuaternionToAffineMatrix(quat: TQuaternion): TAffineMatrix;
function QuaternionFromAngleAxis(const angle: Single; const axis: TAffineVector): TQuaternion;
function QuaternionFromRollPitchYaw(const r, p, Y: Single): TQuaternion;
function QuaternionFromEuler(const X, Y, Z: Single; eulerOrder: TEulerOrder): TQuaternion;
function QuaternionMultiply(const qL, qR: TQuaternion): TQuaternion;
function QuaternionSlerp(const QStart, QEnd: TQuaternion; Spin: Integer; T: Single): TQuaternion; overload;
function QuaternionSlerp(const source, dest: TQuaternion; const T: Single): TQuaternion; overload;
function Logarithm2(const X: Single): Single; inline;
function PowerSingle(const Base, Exponent: Single): Single; overload;
function PowerInteger(Base: Single; Exponent: Integer): Single; overload;
function PowerInt64(Base: Single; Exponent: Int64): Single; overload;
function DegToRadian(const Degrees: Extended): Extended; overload;
function DegToRadian(const Degrees: Single): Single; overload;
function RadianToDeg(const Radians: Extended): Extended; overload;
function RadianToDeg(const Radians: Single): Single; overload;
function NormalizeAngle(angle: Single): Single;
function NormalizeDegAngle(angle: Single): Single;
procedure SinCosine(const Theta: Double; out Sin, Cos: Double); overload;
procedure SinCosine(const Theta: Single; out Sin, Cos: Single); overload;
procedure SinCosine(const Theta, radius: Double; out Sin, Cos: Double); overload;
procedure SinCosine(const Theta, radius: Single; out Sin, Cos: Single); overload;
procedure PrepareSinCosCache(var S, c: array of Single; startAngle, stopAngle: Single);
function ArcCosine(const X: Extended): Extended; overload;
function FastArcTangent2(Y, X: Single): Single;
function RSqrt(V: Single): Single;
function RLength(X, Y: Single): Single;
function ISqrt(i: Integer): Integer;
function ILength(X, Y: Integer): Integer; overload;
function ILength(X, Y, Z: Integer): Integer; overload;
procedure RandomPointOnSphere(var p: TAffineVector);
function RoundInt(V: Single): Single; overload;
function RoundInt(V: Extended): Extended; overload;
function ScaleAndRound(i: Integer; var S: Single): Integer;
function SignStrict(X: Single): Integer;
function IsInRange(const X, a, b: Single): Boolean; overload;
function IsInRange(const X, a, b: Double): Boolean; overload;
function IsInCube(const p, d: TAffineVector): Boolean; overload;
function IsInCube(const p, d: TGLVector): Boolean; overload;
function MinFloat(values: PSingleArray; nbItems: Integer): Single; overload;
function MinFloat(values: PDoubleArray; nbItems: Integer): Double; overload;
function MinFloat(values: PExtendedArray; nbItems: Integer): Extended; overload;
function MinFloat(const V1, V2: Single): Single; overload;
function MinFloat(const V: array of Single): Single; overload;
function MinFloat(const V1, V2: Double): Double; overload;
function MinFloat(const V1, V2, V3: Single): Single; overload;
function MinFloat(const V1, V2, V3: Double): Double; overload;
function MaxFloat(values: PSingleArray; nbItems: Integer): Single; overload;
function MaxFloat(values: PDoubleArray; nbItems: Integer): Double; overload;
function MaxFloat(values: PExtendedArray; nbItems: Integer): Extended; overload;
function MaxFloat(const V: array of Single): Single; overload;
function MaxFloat(const V1, V2: Single): Single; overload;
function MaxFloat(const V1, V2: Double): Double; overload;
function MaxFloat(const V1, V2, V3: Single): Single; overload;
function MaxFloat(const V1, V2, V3: Double): Double; overload;
function MinInteger(const V1, V2: Integer): Integer; overload;
function MinInteger(const V1, V2: Cardinal): Cardinal; overload;
function MinInteger(const V1, V2, V3: Integer): Integer; overload;
function MinInteger(const V1, V2, V3: Cardinal): Cardinal; overload;
function MaxInteger(const V1, V2: Integer): Integer; overload;
function MaxInteger(const V1, V2: Cardinal): Cardinal; overload;
function MaxInteger(const V1, V2, V3: Integer): Integer; overload;
function MaxInteger(const V1, V2, V3: Cardinal): Cardinal; overload;
function ClampInteger(const value, min, max: Integer): Integer; overload; inline;
function ClampInteger(const value, min, max: Cardinal): Cardinal; overload; inline;
function TriangleArea(const p1, p2, p3: TAffineVector): Single; overload;
function PolygonArea(const p: PAffineVectorArray; nSides: Integer): Single; overload;
function TriangleSignedArea(const p1, p2, p3: TAffineVector): Single; overload;
function PolygonSignedArea(const p: PAffineVectorArray; nSides: Integer): Single; overload;
procedure ScaleFloatArray(values: PSingleArray; nb: Integer; var factor: Single); overload;
procedure ScaleFloatArray(var values: TSingleArray; factor: Single); overload;
procedure OffsetFloatArray(values: PSingleArray; nb: Integer; var delta: Single); overload;
procedure OffsetFloatArray(var values: array of Single; delta: Single); overload;
procedure OffsetFloatArray(valuesDest, valuesDelta: PSingleArray; nb: Integer); overload;
function MaxXYZComponent(const V: TGLVector): Single; overload;
function MaxXYZComponent(const V: TAffineVector): Single; overload;
function MinXYZComponent(const V: TGLVector): Single; overload;
function MinXYZComponent(const V: TAffineVector): Single; overload;
function MaxAbsXYZComponent(V: TGLVector): Single;
function MinAbsXYZComponent(V: TGLVector): Single;
procedure MaxVector(var V: TGLVector; const V1: TGLVector); overload;
procedure MaxVector(var V: TAffineVector; const V1: TAffineVector); overload;
procedure MinVector(var V: TGLVector; const V1: TGLVector); overload;
procedure MinVector(var V: TAffineVector; const V1: TAffineVector); overload;
procedure SortArrayAscending(var a: array of Extended);
function ClampValue(const aValue, aMin, aMax: Single): Single; overload;
function ClampValue(const aValue, aMin: Single): Single; overload;
function GeometryOptimizationMode: String;
procedure BeginFPUOnlySection;
procedure EndFPUOnlySection;
function ConvertRotation(const Angles: TAffineVector): TGLVector;
function MakeAffineDblVector(var V: array of Double): TAffineDblVector;
function MakeDblVector(var V: array of Double): THomogeneousDblVector;
function VectorAffineDblToFlt(const V: TAffineDblVector): TAffineVector;
function VectorDblToFlt(const V: THomogeneousDblVector): THomogeneousVector;
function VectorAffineFltToDbl(const V: TAffineVector): TAffineDblVector;
function VectorFltToDbl(const V: TGLVector): THomogeneousDblVector;
function PointInPolygon(const xp, yp: array of Single; X, Y: Single): Boolean;
function IsPointInPolygon(const Polygon: array of TPoint; const p: TPoint): Boolean;
procedure DivMod(Dividend: Integer; Divisor: Word; var result, Remainder: Word);
function Turn(const Matrix: TGLMatrix; Angle: Single): TGLMatrix; overload;
function Turn(const Matrix: TGLMatrix; const MasterUp: TAffineVector; Angle: Single): TGLMatrix; overload;
function Pitch(const Matrix: TGLMatrix; Angle: Single): TGLMatrix; overload;
function Pitch(const Matrix: TGLMatrix; const MasterRight: TAffineVector; Angle: Single): TGLMatrix; overload;
function Roll(const Matrix: TGLMatrix; Angle: Single): TGLMatrix; overload;
function Roll(const Matrix: TGLMatrix; const MasterDirection: TAffineVector; Angle: Single): TGLMatrix; overload;
function IntersectLinePlane(const point, direction: TGLVector; const plane: THmgPlane; intersectPoint: PGLVector = nil): Integer; overload;
function IntersectTriangleBox(const p1, p2, p3, aMinExtent, aMaxExtent: TAffineVector): Boolean;
function IntersectSphereBox(const SpherePos: TGLVector; const SphereRadius: Single; const BoxMatrix: TGLMatrix; const BoxScale: TAffineVector; intersectPoint: PAffineVector = nil; normal: PAffineVector = nil; depth: PSingle = nil): Boolean;
function RayCastPlaneIntersect(const rayStart, rayVector: TGLVector; const planePoint, planeNormal: TGLVector; intersectPoint: PGLVector = nil): Boolean; overload;
function RayCastPlaneXZIntersect(const rayStart, rayVector: TGLVector; const planeY: Single; intersectPoint: PGLVector = nil): Boolean; overload;
function RayCastTriangleIntersect(const rayStart, rayVector: TGLVector; const p1, p2, p3: TAffineVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; overload;
function RayCastMinDistToPoint(const rayStart, rayVector: TGLVector; const point: TGLVector): Single;
function RayCastIntersectsSphere(const rayStart, rayVector: TGLVector; const sphereCenter: TGLVector; const SphereRadius: Single): Boolean; overload;
function RayCastSphereIntersect(const rayStart, rayVector: TGLVector; const sphereCenter: TGLVector; const SphereRadius: Single; var i1, i2: TGLVector): Integer; overload;
function RayCastBoxIntersect(const rayStart, rayVector, aMinExtent, aMaxExtent: TAffineVector; intersectPoint: PAffineVector = nil): Boolean;
function RectanglesIntersect(const ACenterOfRect1, ACenterOfRect2, ASizeOfRect1, ASizeOfRect2: TVector2f): Boolean;
function RectangleContains(const ACenterOfBigRect1, ACenterOfSmallRect2, ASizeOfBigRect1, ASizeOfSmallRect2: TVector2f; const AEps: Single = 0.0): Boolean;
function SphereVisibleRadius(distance, radius: Single): Single;
function ExtractFrustumFromModelViewProjection(const modelViewProj: TGLMatrix): TFrustum;
function IsVolumeClipped(const objPos: TAffineVector; const objRadius: Single; const Frustum: TFrustum): Boolean; overload;
function IsVolumeClipped(const objPos: TGLVector; const objRadius: Single; const Frustum: TFrustum): Boolean; overload; inline;
function IsVolumeClipped(const min, max: TAffineVector; const Frustum: TFrustum): Boolean; overload; inline;
function MakeParallelProjectionMatrix(const plane: THmgPlane; const dir: TGLVector): TGLMatrix;
function MakeShadowMatrix(const planePoint, planeNormal, lightPos: TGLVector): TGLMatrix;
function MakeReflectionMatrix(const planePoint, planeNormal: TAffineVector): TGLMatrix;
function PackRotationMatrix(const mat: TGLMatrix): TPackedRotationMatrix;
function UnPackRotationMatrix(const packedMatrix: TPackedRotationMatrix): TGLMatrix;
function GetSafeTurnAngle(const AOriginalPosition, AOriginalUpVector, ATargetPosition, AMoveAroundTargetCenter: TGLVector): TVector2f; overload;
function GetSafeTurnAngle(const AOriginalPosition, AOriginalUpVector, ATargetPosition, AMoveAroundTargetCenter: TAffineVector): TVector2f; overload;
function MoveObjectAround(const AMovingObjectPosition, AMovingObjectUp, ATargetPosition: TGLVector; pitchDelta, turnDelta: Single): TGLVector;
function AngleBetweenVectors(const a, b, ACenterPoint: TGLVector): Single; overload;
function AngleBetweenVectors(const a, b, ACenterPoint: TAffineVector): Single; overload;
function ShiftObjectFromCenter(const AOriginalPosition: TGLVector; const ACenter: TGLVector; const ADistance: Single; const AFromCenterSpot: Boolean): TGLVector; overload;
function ShiftObjectFromCenter(const AOriginalPosition: TAffineVector; const ACenter: TAffineVector; const ADistance: Single; const AFromCenterSpot: Boolean): TAffineVector; overload;

Types

PAffineByteVector = ˆTAffineByteVector;
PAffineDblVector = ˆTAffineDblVector;
PAffineExtVector = ˆTAffineExtVector;
PAffineFltVector = ˆTAffineFltVector;
PAffineIntVector = ˆTAffineIntVector;
PAffineMatrix = ˆTAffineMatrix;
PAffinePtrVector = ˆTAffinePtrVector;
PAffineVector = ˆTAffineVector;
PAffineVectorArray = ˆTAffineVectorArray;
PAffineWordVector = ˆTAffineWordVector;
PByteArray = PByteVector;
PByteVector = ˆTByteVector;
PCardinalArray = PCardinalVector;
PCardinalVector = ˆTCardinalVector;
PDoubleArray = PDoubleVector;
PDoubleVector = ˆTDoubleVector;
PExtendedArray = PExtendedVector;
PExtendedVector = ˆTExtendedVector;
PFloat = PSingle;
PFloatArray = PFloatVector;
PFloatVector = ˆTFloatVector;
PFrustum = ˆTFrustum;
PHomogeneousByteVector = ˆTHomogeneousByteVector;
PHomogeneousDblVector = ˆTHomogeneousDblVector;
PHomogeneousExtVector = ˆTHomogeneousExtVector;
PHomogeneousFltVector = ˆTHomogeneousFltVector;
PHomogeneousIntVector = ˆTHomogeneousIntVector;
PHomogeneousMatrix = ˆTHomogeneousMatrix;
PHomogeneousPtrVector = ˆTHomogeneousPtrVector;
PHomogeneousVector = ˆTHomogeneousVector;
PHomogeneousWordVector = ˆTHomogeneousWordVector;
PIntegerArray = PIntegerVector;
PIntegerVector = ˆTIntegerVector;
PLongWordArray = PLongWordVector;
PLongWordVector = ˆTLongWordVector;
PMatrixArray = ˆTMatrixArray;
PPointerArray = PPointerVector;
PPointerVector = ˆTPointerVector;
PQuaternion = ˆTQuaternion;
PQuaternionArray = ˆTQuaternionArray;
PSingleArray = PFloatArray;
PTexPoint = ˆTTexPoint;
PTexPointArray = ˆTTexPointArray;
PVector2f = ˆTVector2f;
PVectorArray = ˆTVectorArray;
PVertex = ˆTVertex;
PWordVector = ˆTWordVector;
TAffineByteMatrix = TMatrix3b;
TAffineByteVector = TVector3b;
TAffineDblMatrix = TMatrix3d;
TAffineDblVector = TVector3d;
TAffineExtMatrix = array [0 .. 2] of TAffineExtVector;
TAffineExtVector = TVector3e;
TAffineFltMatrix = TMatrix3f;
TAffineFltVector = TVector3f;
TAffineIntMatrix = TMatrix3i;
TAffineIntVector = TVector3i;
TAffineMatrix = TAffineFltMatrix;
TAffinePtrVector = TVector3p;
TAffineVector = TVector3f;
TAffineVectorArray = array [0 .. MaxInt shr 4] of TAffineVector;
TAffineWordMatrix = array [0 .. 2] of TAffineWordVector;
TAffineWordVector = TVector3w;
TByteVector = array [0 .. cMaxArray] of Byte;
TCardinalVector = array [0 .. cMaxArray] of Cardinal;
TDoubleHmgPlane = THomogeneousDblVector;
TDoubleVector = array [0 .. cMaxArray] of Double;
TEulerOrder = (...);
TExtendedVector = array [0 .. cMaxArray] of Extended;
TFloatVector = array [0 .. cMaxArray] of Single;
TGLInterpolationType = (...);
THmgPlane = TGLVector;
THomogeneousByteMatrix = TMatrix4b;
THomogeneousByteVector = TVector4b;
THomogeneousDblMatrix = TMatrix4d;
THomogeneousDblVector = TVector4d;
THomogeneousExtMatrix = array [0 .. 3] of THomogeneousExtVector;
THomogeneousExtVector = TVector4e;
THomogeneousFltMatrix = TMatrix4f;
THomogeneousFltVector = TVector4f;
THomogeneousIntMatrix = TMatrix4i;
THomogeneousIntVector = TVector4i;
THomogeneousMatrix = THomogeneousFltMatrix;
THomogeneousPtrVector = TVector4p;
THomogeneousVector = THomogeneousFltVector;
THomogeneousWordMatrix = array [0 .. 3] of THomogeneousWordVector;
THomogeneousWordVector = TVector4w;
TIntegerVector = array [0 .. cMaxArray] of Integer;
TLongWordVector = array [0 .. cMaxArray] of LongWord;
TMatrixArray = array [0 .. MaxInt shr 7] of TGLMatrix;
TPackedRotationMatrix = array [0 .. 2] of SmallInt;
TPointerVector = array [0 .. cMaxArray] of Pointer;
TQuaternionArray = array [0 .. MaxInt shr 5] of TQuaternion;
TSingleArray = array of Single;
TTexPointArray = array [0 .. MaxInt shr 4] of TTexPoint;
TTransformations = array [TTransType] of Single;
TTransType = (...);
TVectorArray = array [0 .. MaxInt shr 5] of TGLVector;
TVertex = TAffineVector;
TWordVector = array [0 .. cMaxArray] of Word;

Constants

cMaxArray = (MaxInt shr 4);
cColinearBias = 1E-8;
XTexPoint: TTexPoint = (S: 1; T: 0);
YTexPoint: TTexPoint = (S: 0; T: 1);
XYTexPoint: TTexPoint = (S: 1; T: 1);
NullTexPoint: TTexPoint = (S: 0; T: 0);
MidTexPoint: TTexPoint = (S: 0.5; T: 0.5);
XVector: TAffineVector = (X: 1; Y: 0; Z: 0);
YVector: TAffineVector = (X: 0; Y: 1; Z: 0);
ZVector: TAffineVector = (X: 0; Y: 0; Z: 1);
XYVector: TAffineVector = (X: 1; Y: 1; Z: 0);
XZVector: TAffineVector = (X: 1; Y: 0; Z: 1);
YZVector: TAffineVector = (X: 0; Y: 1; Z: 1);
XYZVector: TAffineVector = (X: 1; Y: 1; Z: 1);
NullVector: TAffineVector = (X: 0; Y: 0; Z: 0);
MinusXVector: TAffineVector = (X: - 1; Y: 0; Z: 0);
MinusYVector: TAffineVector = (X: 0; Y: - 1; Z: 0);
MinusZVector: TAffineVector = (X: 0; Y: 0; Z: - 1);
XHmgVector: THomogeneousVector = (X: 1; Y: 0; Z: 0; W: 0);
YHmgVector: THomogeneousVector = (X: 0; Y: 1; Z: 0; W: 0);
ZHmgVector: THomogeneousVector = (X: 0; Y: 0; Z: 1; W: 0);
WHmgVector: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 1);
XYHmgVector: THomogeneousVector = (X: 1; Y: 1; Z: 0; W: 0);
YZHmgVector: THomogeneousVector = (X: 0; Y: 1; Z: 1; W: 0);
XZHmgVector: THomogeneousVector = (X: 1; Y: 0; Z: 1; W: 0);
XYZHmgVector: THomogeneousVector = (X: 1; Y: 1; Z: 1; W: 0);
XYZWHmgVector: THomogeneousVector = (X: 1; Y: 1; Z: 1; W: 1);
NullHmgVector: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 0);
XHmgPoint: THomogeneousVector = (X: 1; Y: 0; Z: 0; W: 1);
YHmgPoint: THomogeneousVector = (X: 0; Y: 1; Z: 0; W: 1);
ZHmgPoint: THomogeneousVector = (X: 0; Y: 0; Z: 1; W: 1);
WHmgPoint: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 1);
NullHmgPoint: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 1);
IdentityMatrix: TAffineMatrix = (V: ((X: 1; Y: 0; Z: 0), (X: 0; Y: 1; Z: 0), (X: 0; Y: 0; Z: 1)));
IdentityHmgMatrix: TGLMatrix = (V: ((X: 1; Y: 0; Z: 0; W: 0), (X: 0; Y: 1; Z: 0; W: 0), (X: 0; Y: 0; Z: 1; W: 0), (X: 0; Y: 0; Z: 0; W: 1)));
IdentityHmgDblMatrix: THomogeneousDblMatrix = (V: ((X: 1; Y: 0; Z: 0; W: 0), (X: 0; Y: 1; Z: 0; W: 0), (X: 0; Y: 0; Z: 1; W: 0), (X: 0; Y: 0; Z: 0; W: 1)));
EmptyMatrix: TAffineMatrix = (V: ((X: 0; Y: 0; Z: 0), (X: 0; Y: 0; Z: 0), (X: 0; Y: 0; Z: 0)));
EmptyHmgMatrix: TGLMatrix = (V: ((X: 0; Y: 0; Z: 0; W: 0), (X: 0; Y: 0; Z: 0; W: 0), (X: 0; Y: 0; Z: 0; W: 0), (X: 0; Y: 0; Z: 0; W: 0)));
IdentityQuaternion: TQuaternion = (ImagPart: (X: 0; Y: 0; Z: 0); RealPart: 1);
EPSILON: Single = 1E-40;
EPSILON2: Single = 1E-30;
cPI: Single = 3.141592654;
cPIdiv180: Single = 0.017453292;
c180divPI: Single = 57.29577951;
c2PI: Single = 6.283185307;
cPIdiv2: Single = 1.570796326;
cPIdiv4: Single = 0.785398163;
c3PIdiv2: Single = 4.71238898;
c3PIdiv4: Single = 2.35619449;
cInv2PI: Single = 1 / 6.283185307;
cInv360: Single = 1 / 360;
c180: Single = 180;
c360: Single = 360;
cOneHalf: Single = 0.5;
cLn10: Single = 2.302585093;
MinSingle = 1.5E-45;
MaxSingle = 3.4E+38;
MinDouble = 5.0E-324;
MaxDouble = 1.7E+308;
MinExtended = 3.4E-4932;
MaxExtended = MaxDouble;
MinComp = -9.223372036854775807E+18;
MaxComp = 9.223372036854775807E+18;

Variables

vSIMD: Byte = 0;

Description

Functions and Procedures

function TexPointMake(const S, T: Single): TTexPoint; inline;

————————————————————————– Vector functions ————————————————————————–

function AffineVectorMake(const X, Y, Z: Single): TAffineVector; overload; inline;
function AffineVectorMake(const V: TGLVector): TAffineVector; overload; inline;
procedure SetAffineVector(out V: TAffineVector; const X, Y, Z: Single); overload; inline;
procedure SetVector(out V: TAffineVector; const X, Y, Z: Single); overload; inline;
procedure SetVector(out V: TAffineVector; const vSrc: TGLVector); overload; inline;
procedure SetVector(out V: TAffineVector; const vSrc: TAffineVector); overload; inline;
procedure SetVector(out V: TAffineDblVector; const vSrc: TAffineVector); overload; inline;
procedure SetVector(out V: TAffineDblVector; const vSrc: TGLVector); overload; inline;
function VectorMake(const V: TAffineVector; W: Single = 0): TGLVector; overload; inline;
function VectorMake(const X, Y, Z: Single; W: Single = 0): TGLVector; overload; inline;
function VectorMake(const Q: TQuaternion): TGLVector; overload; inline;
function PointMake(const X, Y, Z: Single): TGLVector; overload; inline;
function PointMake(const V: TAffineVector): TGLVector; overload; inline;
function PointMake(const V: TGLVector): TGLVector; overload; inline;
procedure SetVector(out V: TGLVector; const X, Y, Z: Single; W: Single = 0); overload; inline;
procedure SetVector(out V: TGLVector; const av: TAffineVector; W: Single = 0); overload; inline;
procedure SetVector(out V: TGLVector; const vSrc: TGLVector); overload; inline;
procedure MakePoint(out V: TGLVector; const X, Y, Z: Single); overload; inline;
procedure MakePoint(out V: TGLVector; const av: TAffineVector); overload; inline;
procedure MakePoint(out V: TGLVector; const av: TGLVector); overload; inline;
procedure MakeVector(out V: TAffineVector; const X, Y, Z: Single); overload; inline;
procedure MakeVector(out V: TGLVector; const X, Y, Z: Single); overload; inline;
procedure MakeVector(out V: TGLVector; const av: TAffineVector); overload; inline;
procedure MakeVector(out V: TGLVector; const av: TGLVector); overload; inline;
procedure RstVector(var V: TAffineVector); overload; inline;
procedure RstVector(var V: TGLVector); overload; inline;
function VectorEquals(const Vector1, Vector2: TVector2f): Boolean; overload; inline;
function VectorEquals(const Vector1, Vector2: TVector2i): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector2d): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector2s): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector2b): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3i): Boolean; overload; inline;

function VectorEquals(const V1, V2: TVector3f): Boolean; overload; //declared further

function VectorEquals(const V1, V2: TVector3d): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3s): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector3b): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4i): Boolean; overload; inline;

function VectorEquals(const V1, V2: TVector4f): Boolean; overload; //declared further

function VectorEquals(const V1, V2: TVector4d): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4s): Boolean; overload; inline;
function VectorEquals(const V1, V2: TVector4b): Boolean; overload; inline;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3f): Boolean; overload;

3x3

function MatrixEquals(const Matrix1, Matrix2: TMatrix3i): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3d): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3s): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix3b): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4f): Boolean; overload;

4x4

function MatrixEquals(const Matrix1, Matrix2: TMatrix4i): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4d): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4s): Boolean; overload;
function MatrixEquals(const Matrix1, Matrix2: TMatrix4b): Boolean; overload;
function Vector2fMake(const X, Y: Single): TVector2f; overload; inline;

2x

function Vector2iMake(const X, Y: Longint): TVector2i; overload; inline;
function Vector2sMake(const X, Y: SmallInt): TVector2s; overload; inline;
function Vector2dMake(const X, Y: Double): TVector2d; overload; inline;
function Vector2bMake(const X, Y: Byte): TVector2b; overload; inline;
function Vector2fMake(const Vector: TVector3f): TVector2f; overload; inline;
function Vector2iMake(const Vector: TVector3i): TVector2i; overload; inline;
function Vector2sMake(const Vector: TVector3s): TVector2s; overload; inline;
function Vector2dMake(const Vector: TVector3d): TVector2d; overload; inline;
function Vector2bMake(const Vector: TVector3b): TVector2b; overload; inline;
function Vector2fMake(const Vector: TVector4f): TVector2f; overload; inline;
function Vector2iMake(const Vector: TVector4i): TVector2i; overload; inline;
function Vector2sMake(const Vector: TVector4s): TVector2s; overload; inline;
function Vector2dMake(const Vector: TVector4d): TVector2d; overload; inline;
function Vector2bMake(const Vector: TVector4b): TVector2b; overload; inline;
function Vector3fMake(const X: Single; const Y: Single = 0; const Z: Single = 0) : TVector3f; overload; inline;

3x

function Vector3iMake(const X: Longint; const Y: Longint = 0; const Z: Longint = 0): TVector3i; overload; inline;
function Vector3sMake(const X: SmallInt; const Y: SmallInt = 0; const Z: SmallInt = 0): TVector3s; overload; inline;
function Vector3dMake(const X: Double; const Y: Double = 0; const Z: Double = 0): TVector3d; overload; inline;
function Vector3bMake(const X: Byte; const Y: Byte = 0; const Z: Byte = 0): TVector3b; overload; inline;
function Vector3fMake(const Vector: TVector2f; const Z: Single = 0): TVector3f; overload; inline;
function Vector3iMake(const Vector: TVector2i; const Z: Longint = 0): TVector3i; overload; inline;
function Vector3sMake(const Vector: TVector2s; const Z: SmallInt = 0): TVector3s; overload; inline;
function Vector3dMake(const Vector: TVector2d; const Z: Double = 0): TVector3d; overload; inline;
function Vector3bMake(const Vector: TVector2b; const Z: Byte = 0): TVector3b; overload; inline;
function Vector3fMake(const Vector: TVector4f): TVector3f; overload; inline;
function Vector3iMake(const Vector: TVector4i): TVector3i; overload; inline;
function Vector3sMake(const Vector: TVector4s): TVector3s; overload; inline;
function Vector3dMake(const Vector: TVector4d): TVector3d; overload; inline;
function Vector3bMake(const Vector: TVector4b): TVector3b; overload; inline;
function Vector4fMake(const X: Single; const Y: Single = 0; const Z: Single = 0; const W: Single = 0): TVector4f; overload; inline;

4x

function Vector4iMake(const X: Longint; const Y: Longint = 0; const Z: Longint = 0; const W: Longint = 0): TVector4i; overload; inline;
function Vector4sMake(const X: SmallInt; const Y: SmallInt = 0; const Z: SmallInt = 0; const W: SmallInt = 0): TVector4s; overload; inline;
function Vector4dMake(const X: Double; const Y: Double = 0; const Z: Double = 0; const W: Double = 0): TVector4d; overload; inline;
function Vector4bMake(const X: Byte; const Y: Byte = 0; const Z: Byte = 0; const W: Byte = 0): TVector4b; overload; inline;
function Vector4fMake(const Vector: TVector3f; const W: Single = 0): TVector4f; overload; inline;
function Vector4iMake(const Vector: TVector3i; const W: Longint = 0): TVector4i; overload; inline;
function Vector4sMake(const Vector: TVector3s; const W: SmallInt = 0) : TVector4s; overload; inline;
function Vector4dMake(const Vector: TVector3d; const W: Double = 0): TVector4d; overload; inline;
function Vector4bMake(const Vector: TVector3b; const W: Byte = 0): TVector4b; overload; inline;
function Vector4fMake(const Vector: TVector2f; const Z: Single = 0; const W: Single = 0): TVector4f; overload; inline;
function Vector4iMake(const Vector: TVector2i; const Z: Longint = 0; const W: Longint = 0): TVector4i; overload; inline;
function Vector4sMake(const Vector: TVector2s; const Z: SmallInt = 0; const W: SmallInt = 0): TVector4s; overload; inline;
function Vector4dMake(const Vector: TVector2d; const Z: Double = 0; const W: Double = 0): TVector4d; overload; inline;
function Vector4bMake(const Vector: TVector2b; const Z: Byte = 0; const W: Byte = 0): TVector4b; overload; inline;
function VectorMoreThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;

Vector comparison functions: 3f

function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector3f): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;

4f

function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector4f): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;

3i

function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector3i): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;

4i

function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector4i): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;

3s

function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector3s): Boolean; overload;
function VectorMoreThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;

4s

function VectorMoreEqualThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorLessThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorLessEqualThen(const SourceVector, ComparedVector: TVector4s): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;

ComparedNumber 3f

function VectorMoreEqualThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector3f; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;

4f

function VectorMoreEqualThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector4f; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;

3i

function VectorMoreEqualThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector3i; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;

4i

function VectorMoreEqualThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector4i; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;

3s

function VectorMoreEqualThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector3s; const ComparedNumber: Single): Boolean; overload;
function VectorMoreThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;

4s

function VectorMoreEqualThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorLessThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorLessEqualThen(const SourceVector: TVector4s; const ComparedNumber: Single): Boolean; overload;
function VectorAdd(const V1, V2: TVector2f): TVector2f; overload;
function VectorAdd(const V1, V2: TAffineVector): TAffineVector; overload;

Returns the sum of two affine vectors

procedure VectorAdd(const V1, V2: TAffineVector; var vr: TAffineVector); overload;

Adds two vectors and places result in vr

procedure VectorAdd(const V1, V2: TAffineVector; vr: PAffineVector); overload;
function VectorAdd(const V1, V2: TGLVector): TGLVector; overload;

Returns the sum of two homogeneous vectors

procedure VectorAdd(const V1, V2: TGLVector; var vr: TGLVector); overload;
function VectorAdd(const V: TAffineVector; const f: Single): TAffineVector; overload; inline;

Sums up f to each component of the vector

function VectorAdd(const V: TGLVector; const f: Single): TGLVector; overload; inline;

Sums up f to each component of the vector

procedure AddVector(var V1: TAffineVector; const V2: TAffineVector); overload;

Adds V2 to V1, result is placed in V1

procedure AddVector(var V1: TAffineVector; const V2: TGLVector); overload;

Adds V2 to V1, result is placed in V1

procedure AddVector(var V1: TGLVector; const V2: TGLVector); overload;

Adds V2 to V1, result is placed in V1

procedure AddVector(var V: TAffineVector; const f: Single); overload; inline;

Sums up f to each component of the vector

procedure AddVector(var V: TGLVector; const f: Single); overload; inline;

Sums up f to each component of the vector

procedure AddPoint(var V1: TGLVector; const V2: TGLVector); overload; inline;

Adds V2 to V1, result is placed in V1. W coordinate is always 1.

function PointAdd(var V1: TGLVector; const V2: TGLVector): TGLVector; overload; inline;

Returns the sum of two homogeneous vectors. W coordinate is always 1.

procedure TexPointArrayAdd(const src: PTexPointArray; const delta: TTexPoint; const nb: Integer; dest: PTexPointArray); overload;

Adds delta to nb texpoints in src and places result in dest

procedure TexPointArrayScaleAndAdd(const src: PTexPointArray; const delta: TTexPoint; const nb: Integer; const scale: TTexPoint; dest: PTexPointArray); overload;
procedure VectorArrayAdd(const src: PAffineVectorArray; const delta: TAffineVector; const nb: Integer; dest: PAffineVectorArray); overload;

Adds delta to nb vectors in src and places result in dest

function VectorSubtract(const V1, V2: TVector2f): TVector2f; overload;

Returns V1-V2

procedure SubtractVector(var V1: TVector2f; const V2: TVector2f); overload;

Subtracts V2 from V1, result is placed in V1

function VectorSubtract(const V1, V2: TAffineVector): TAffineVector; overload;

Returns V1-V2

procedure VectorSubtract(const V1, V2: TAffineVector; var result: TAffineVector); overload;

Subtracts V2 from V1 and return value in result

procedure VectorSubtract(const V1, V2: TAffineVector; var result: TGLVector); overload;

Subtracts V2 from V1 and return value in result

procedure VectorSubtract(const V1: TGLVector; const V2: TAffineVector; var result: TGLVector); overload;

Subtracts V2 from V1 and return value in result

function VectorSubtract(const V1, V2: TGLVector): TGLVector; overload;

Returns V1-V2

procedure VectorSubtract(const V1, V2: TGLVector; var result: TGLVector); overload;

Subtracts V2 from V1 and return value in result

procedure VectorSubtract(const V1, V2: TGLVector; var result: TAffineVector); overload;

Subtracts V2 from V1 and return value in result

function VectorSubtract(const V1: TAffineVector; delta: Single): TAffineVector; overload; inline;
function VectorSubtract(const V1: TGLVector; delta: Single): TGLVector; overload; inline;
procedure SubtractVector(var V1: TAffineVector; const V2: TAffineVector); overload;

Subtracts V2 from V1, result is placed in V1

procedure SubtractVector(var V1: TGLVector; const V2: TGLVector); overload;

Subtracts V2 from V1, result is placed in V1

procedure CombineVector(var vr: TAffineVector; const V: TAffineVector; var f: Single); overload;

Combine the first vector with the second : vr:=vr+v*f

procedure CombineVector(var vr: TAffineVector; const V: TAffineVector; pf: PFloat); overload;
function TexPointCombine(const t1, t2: TTexPoint; f1, f2: Single): TTexPoint; inline;

Makes a linear combination of two texpoints

function VectorCombine(const V1, V2: TAffineVector; const f1, f2: Single): TAffineVector; overload; inline;

Makes a linear combination of two vectors and return the result

function VectorCombine3(const V1, V2, V3: TAffineVector; const f1, f2, F3: Single): TAffineVector; overload; inline;

Makes a linear combination of three vectors and return the result

procedure VectorCombine3(const V1, V2, V3: TAffineVector; const f1, f2, F3: Single; var vr: TAffineVector); overload; inline;
procedure CombineVector(var vr: TGLVector; const V: TGLVector; var f: Single); overload;

Combine the first vector with the second : vr:=vr+v*f

procedure CombineVector(var vr: TGLVector; const V: TAffineVector; var f: Single); overload;

Combine the first vector with the second : vr:=vr+v*f

function VectorCombine(const V1, V2: TGLVector; const F1, F2: Single): TGLVector; overload; inline;

Makes a linear combination of two vectors and return the result

function VectorCombine(const V1: TGLVector; const V2: TAffineVector; const F1, F2: Single): TGLVector; overload; inline;

Makes a linear combination of two vectors and return the result

procedure VectorCombine(const V1: TGLVector; const V2: TAffineVector; const F1, F2: Single; var VR: TGLVector); overload; inline;

Makes a linear combination of two vectors and place result in vr

procedure VectorCombine(const V1, V2: TGLVector; const F1, F2: Single; var vr: TGLVector); overload;

Makes a linear combination of two vectors and place result in vr

procedure VectorCombine(const V1, V2: TGLVector; const F2: Single; var vr: TGLVector); overload;

Makes a linear combination of two vectors and place result in vr, F1=1.0

function VectorCombine3(const V1, V2, V3: TGLVector; const F1, F2, F3: Single): TGLVector; overload; inline;

Makes a linear combination of three vectors and return the result

procedure VectorCombine3(const V1, V2, V3: TGLVector; const F1, F2, F3: Single; var vr: TGLVector); overload;

Makes a linear combination of three vectors and return the result

function VectorDotProduct(const V1, V2: TVector2f): Single; overload;

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y]

function VectorDotProduct(const V1, V2: TAffineVector): Single; overload;

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]

function VectorDotProduct(const V1, V2: TGLVector): Single; overload;

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]

function VectorDotProduct(const V1: TGLVector; const V2: TAffineVector): Single; overload;

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]

function PointProject(const p, origin, direction: TAffineVector): Single; overload;

Projects p on the line defined by o and direction. Performs VectorDotProduct(VectorSubtract(p, origin), direction), which, if direction is normalized, computes the distance between origin and the projection of p on the (origin, direction) line

function PointProject(const p, origin, direction: TGLVector): Single; overload;
function VectorCrossProduct(const V1, V2: TAffineVector): TAffineVector; overload;

Calculates the cross product between vector 1 and 2

function VectorCrossProduct(const V1, V2: TGLVector): TGLVector; overload;

Calculates the cross product between vector 1 and 2

procedure VectorCrossProduct(const V1, V2: TGLVector; var vr: TGLVector); overload;

Calculates the cross product between vector 1 and 2, place result in vr

procedure VectorCrossProduct(const V1, V2: TAffineVector; var vr: TGLVector); overload;

Calculates the cross product between vector 1 and 2, place result in vr

procedure VectorCrossProduct(const V1, V2: TGLVector; var vr: TAffineVector); overload;

Calculates the cross product between vector 1 and 2, place result in vr

procedure VectorCrossProduct(const V1, V2: TAffineVector; var vr: TAffineVector); overload;

Calculates the cross product between vector 1 and 2, place result in vr

function Lerp(const start, stop, T: Single): Single; inline;

Calculates linear interpolation between start and stop at point t

function AngleLerp(start, stop, T: Single): Single; inline;

Calculates angular interpolation between start and stop at point t

function MatrixLerp(const m1, m2: TGLMatrix; const delta: Single): TGLMatrix;

This is used for interpolating between 2 matrices. The result is used to reposition the model parts each frame.

function DistanceBetweenAngles(angle1, angle2: Single): Single;

Calculates the angular distance between two angles in radians. Result is in the [0; PI] range.

function TexPointLerp(const t1, t2: TTexPoint; T: Single): TTexPoint; overload; inline;

Calculates linear interpolation between texpoint1 and texpoint2 at point t

function VectorLerp(const V1, V2: TAffineVector; T: Single): TAffineVector; overload; inline;

Calculates linear interpolation between vector1 and vector2 at point t

procedure VectorLerp(const V1, V2: TAffineVector; T: Single; var vr: TAffineVector); overload;

Calculates linear interpolation between vector1 and vector2 at point t, places result in vr

function VectorLerp(const V1, V2: TGLVector; T: Single): TGLVector; overload; inline;

Calculates linear interpolation between vector1 and vector2 at point t

procedure VectorLerp(const V1, V2: TGLVector; T: Single; var vr: TGLVector); overload; inline;

Calculates linear interpolation between vector1 and vector2 at point t, places result in vr

function VectorAngleLerp(const V1, V2: TAffineVector; T: Single): TAffineVector; overload;
function VectorAngleCombine(const V1, V2: TAffineVector; f: Single): TAffineVector; overload;
procedure VectorArrayLerp(const src1, src2: PVectorArray; T: Single; n: Integer; dest: PVectorArray); overload;

Calculates linear interpolation between vector arrays

procedure VectorArrayLerp(const src1, src2: PAffineVectorArray; T: Single; n: Integer; dest: PAffineVectorArray); overload;
procedure VectorArrayLerp(const src1, src2: PTexPointArray; T: Single; n: Integer; dest: PTexPointArray); overload;
function InterpolatePower(const start, stop, delta: Single; const DistortionDegree: Single): Single;

There functions that do the same as "Lerp", but add some distortions

function InterpolateLn(const start, stop, delta: Single; const DistortionDegree: Single): Single;
function InterpolateExp(const start, stop, delta: Single; const DistortionDegree: Single): Single;
function InterpolateSin(const start, stop, delta: Single): Single;

Only valid where Delta belongs to [0..1]

function InterpolateTan(const start, stop, delta: Single): Single;
function InterpolateSinAlt(const start, stop, delta: Single): Single;

"Alt" functions are valid everywhere

function InterpolateCombinedFastPower(const OriginalStart, OriginalStop, OriginalCurrent: Single; const TargetStart, TargetStop: Single; const DistortionDegree: Single): Single; inline;
function InterpolateCombinedSafe(const OriginalStart, OriginalStop, OriginalCurrent: Single; const TargetStart, TargetStop: Single; const DistortionDegree: Single; const InterpolationType: TGLInterpolationType): Single; inline;
function InterpolateCombinedFast(const OriginalStart, OriginalStop, OriginalCurrent: Single; const TargetStart, TargetStop: Single; const DistortionDegree: Single; const InterpolationType: TGLInterpolationType): Single; inline;
function InterpolateCombined(const start, stop, delta: Single; const DistortionDegree: Single; const InterpolationType: TGLInterpolationType): Single; inline;
function VectorLength(const X, Y: Single): Single; overload;

Calculates the length of a vector following the equation sqrt(x*x+y*y).

function VectorLength(const X, Y, Z: Single): Single; overload;

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z).

function VectorLength(const V: TVector2f): Single; overload;

Calculates the length of a vector following the equation sqrt(x*x+y*y).

function VectorLength(const V: TAffineVector): Single; overload;

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z).

function VectorLength(const V: TGLVector): Single; overload;

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z+w*w).

function VectorLength(const V: array of Single): Single; overload;

Calculates the length of a vector following the equation: sqrt(x*x+y*y+...). Note: The parameter of this function is declared as open array. Thus there's no restriction about the number of the components of the vector.

function VectorNorm(const X, Y: Single): Single; overload;

Calculates norm of a vector which is defined as norm = x * x + y * y Also known as "Norm 2" in the math world, this is sqr(VectorLength).

function VectorNorm(const V: TAffineVector): Single; overload;

Calculates norm of a vector which is defined as norm = x*x + y*y + z*z Also known as "Norm 2" in the math world, this is sqr(VectorLength).

function VectorNorm(const V: TGLVector): Single; overload;

Calculates norm of a vector which is defined as norm = x*x + y*y + z*z Also known as "Norm 2" in the math world, this is sqr(VectorLength).

function VectorNorm(var V: array of Single): Single; overload;

Calculates norm of a vector which is defined as norm = v.X*v.X + ... Also known as "Norm 2" in the math world, this is sqr(VectorLength).

procedure NormalizeVector(var V: TVector2f); overload;

Transforms a vector to unit length

procedure NormalizeVector(var V: TAffineVector); overload;

Returns the vector transformed to unit length Transforms a vector to unit length

procedure NormalizeVector(var V: TGLVector); overload;

Transforms a vector to unit length

function VectorNormalize(const V: TVector2f): TVector2f; overload;

Returns the vector transformed to unit length

function VectorNormalize(const V: TAffineVector): TAffineVector; overload;

Returns the vector transformed to unit length

function VectorNormalize(const V: TGLVector): TGLVector; overload;

Returns the vector transformed to unit length (w component dropped)

procedure NormalizeVectorArray(list: PAffineVectorArray; n: Integer); overload; inline;

Transforms vectors to unit length

function VectorAngleCosine(const V1, V2: TAffineVector): Single; overload;

Calculates the cosine of the angle between Vector1 and Vector2. Result = DotProduct(V1, V2) / (Length(V1) * Length(V2))

function VectorAngleCosine(const V1, V2: TGLVector): Single; overload;

Calculates the cosine of the angle between Vector1 and Vector2. Result = DotProduct(V1, V2) / (Length(V1) * Length(V2))

function VectorNegate(const Vector: TAffineVector): TAffineVector; overload;

Negates the vector

function VectorNegate(const Vector: TGLVector): TGLVector; overload;
procedure NegateVector(var V: TAffineVector); overload;

Negates the vector

procedure NegateVector(var V: TGLVector); overload;

Negates the vector

procedure NegateVector(var V: array of Single); overload;

Negates the vector

procedure ScaleVector(var V: TVector2f; factor: Single); overload;

Scales given vector by a factor

procedure ScaleVector(var V: TAffineVector; factor: Single); overload;

Scales given vector by a factor

procedure ScaleVector(var V: TAffineVector; const factor: TAffineVector); overload;

Scales given vector by another vector. v[x]:=v[x]*factor[x], v[y]:=v[y]*factor[y] etc.

procedure ScaleVector(var V: TGLVector; factor: Single); overload;

Scales given vector by a factor

procedure ScaleVector(var V: TGLVector; const factor: TGLVector); overload;

Scales given vector by another vector. v[x]:=v[x]*factor[x], v[y]:=v[y]*factor[y] etc.

function VectorScale(const V: TVector2f; factor: Single): TVector2f; overload;

Returns a vector scaled by a factor

function VectorScale(const V: TAffineVector; factor: Single): TAffineVector; overload;

Returns a vector scaled by a factor

procedure VectorScale(const V: TAffineVector; factor: Single; var vr: TAffineVector); overload;

Scales a vector by a factor and places result in vr

function VectorScale(const V: TGLVector; factor: Single): TGLVector; overload;

Returns a vector scaled by a factor

procedure VectorScale(const V: TGLVector; factor: Single; var vr: TGLVector); overload;

Scales a vector by a factor and places result in vr

procedure VectorScale(const V: TGLVector; factor: Single; var vr: TAffineVector); overload;

Scales a vector by a factor and places result in vr

function VectorScale(const V: TAffineVector; const factor: TAffineVector): TAffineVector; overload;

Scales given vector by another vector

function VectorScale(const V: TGLVector; const factor: TGLVector): TGLVector; overload;

RScales given vector by another vector

procedure DivideVector(var V: TGLVector; const divider: TGLVector); overload; inline;

Divides given vector by another vector. v[x]:=v[x]/divider[x], v[y]:=v[y]/divider[y] etc.

procedure DivideVector(var V: TAffineVector; const divider: TAffineVector); overload; inline;
function VectorDivide(const V: TGLVector; const divider: TGLVector): TGLVector; overload; inline;
function VectorDivide(const V: TAffineVector; const divider: TAffineVector): TAffineVector; overload; inline;
function TexpointEquals(const p1, p2: TTexPoint): Boolean; inline;

True if all components are equal.

function RectEquals(const Rect1, Rect2: TRect): Boolean; inline;

True if all components are equal.

function VectorEquals(const V1, V2: TGLVector): Boolean; overload; inline;

True if all components are equal.

function VectorEquals(const V1, V2: TAffineVector): Boolean; overload; inline;

True if all components are equal.

function AffineVectorEquals(const V1, V2: TGLVector): Boolean; overload; inline;

True if X, Y and Z components are equal.

function VectorIsNull(const V: TGLVector): Boolean; overload; inline;

True if x=y=z=0, w ignored

function VectorIsNull(const V: TAffineVector): Boolean; overload; inline;

True if x=y=z=0, w ignored

function VectorSpacing(const V1, V2: TTexPoint): Single; overload;

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y]), also know as "Norm1".

function VectorSpacing(const V1, V2: TAffineVector): Single; overload;

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y])+..., also know as "Norm1".

function VectorSpacing(const V1, V2: TGLVector): Single; overload;

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y])+..., also know as "Norm1".

function VectorDistance(const V1, V2: TAffineVector): Single; overload;

Calculates distance between two vectors. ie. sqrt(sqr(v1[x]-v2[x])+...)

function VectorDistance(const V1, V2: TGLVector): Single; overload;

Calculates distance between two vectors. ie. sqrt(sqr(v1[x]-v2[x])+...) (w component ignored)

function VectorDistance2(const V1, V2: TAffineVector): Single; overload;

Calculates the "Norm 2" between two vectors. ie. sqr(v1[x]-v2[x])+...

function VectorDistance2(const V1, V2: TGLVector): Single; overload;

Calculates the "Norm 2" between two vectors. ie. sqr(v1[x]-v2[x])+...(w component ignored)

function VectorPerpendicular(const V, n: TAffineVector): TAffineVector;

Calculates a vector perpendicular to N. N is assumed to be of unit length, subtract out any component parallel to N

function VectorReflect(const V, n: TAffineVector): TAffineVector;

Reflects vector V against N (assumes N is normalized)

procedure RotateVector(var Vector: TGLVector; const axis: TAffineVector; angle: Single); overload;

Rotates Vector about Axis with Angle radians

procedure RotateVector(var Vector: TGLVector; const axis: TGLVector; angle: Single); overload;

Rotates Vector about Axis with Angle radians

procedure RotateVectorAroundY(var V: TAffineVector; alpha: Single);

Rotate given vector around the Y axis (alpha is in rad)

function VectorRotateAroundX(const V: TAffineVector; alpha: Single): TAffineVector; overload;

Returns given vector rotated around the X axis (alpha is in rad)

function VectorRotateAroundY(const V: TAffineVector; alpha: Single): TAffineVector; overload;

Returns given vector rotated around the Y axis (alpha is in rad)

procedure VectorRotateAroundY(const V: TAffineVector; alpha: Single; var vr: TAffineVector); overload;

Returns given vector rotated around the Y axis in vr (alpha is in rad)

function VectorRotateAroundZ(const V: TAffineVector; alpha: Single): TAffineVector; overload;

Returns given vector rotated around the Z axis (alpha is in rad)

procedure AbsVector(var V: TGLVector); overload; inline;

Vector components are replaced by their Abs() value. }

procedure AbsVector(var V: TAffineVector); overload; inline;

Vector components are replaced by their Abs() value. }

function VectorAbs(const V: TGLVector): TGLVector; overload; inline;

Returns a vector with components replaced by their Abs value. }

function VectorAbs(const V: TAffineVector): TAffineVector; overload; inline;

Returns a vector with components replaced by their Abs value. }

function IsColinear(const V1, V2: TVector2f): Boolean; overload;

Returns true if both vector are colinear

function IsColinear(const V1, V2: TAffineVector): Boolean; overload;

Returns true if both vector are colinear

function IsColinear(const V1, V2: TGLVector): Boolean; overload;

Returns true if both vector are colinear

procedure SetMatrix(var dest: THomogeneousDblMatrix; const src: TGLMatrix); overload;

—————————————————————————- Matrix functions —————————————————————————-

procedure SetMatrix(var dest: TAffineMatrix; const src: TGLMatrix); overload;
procedure SetMatrix(var dest: TGLMatrix; const src: TAffineMatrix); overload;
procedure SetMatrixRow(var dest: TGLMatrix; rowNb: Integer; const aRow: TGLVector); overload;
function CreateScaleMatrix(const V: TAffineVector): TGLMatrix; overload;

Creates scale matrix

function CreateScaleMatrix(const V: TGLVector): TGLMatrix; overload;

Creates scale matrix

function CreateTranslationMatrix(const V: TAffineVector): TGLMatrix; overload;

Creates translation matrix

function CreateTranslationMatrix(const V: TGLVector): TGLMatrix; overload;

Creates translation matrix

function CreateScaleAndTranslationMatrix(const scale, offset: TGLVector): TGLMatrix; overload;

Creates a scale+translation matrix. Scale is applied BEFORE applying offset

function CreateRotationMatrixX(const sine, cosine: Single): TGLMatrix; overload;

Creates matrix for rotation about x-axis (angle in rad)

function CreateRotationMatrixX(const angle: Single): TGLMatrix; overload;
function CreateRotationMatrixY(const sine, cosine: Single): TGLMatrix; overload;

Creates matrix for rotation about y-axis (angle in rad)

function CreateRotationMatrixY(const angle: Single): TGLMatrix; overload;
function CreateRotationMatrixZ(const sine, cosine: Single): TGLMatrix; overload;

Creates matrix for rotation about z-axis (angle in rad)

function CreateRotationMatrixZ(const angle: Single): TGLMatrix; overload;
function CreateRotationMatrix(const anAxis: TAffineVector; angle: Single): TGLMatrix; overload;

Creates a rotation matrix along the given Axis by the given Angle in radians.

function CreateRotationMatrix(const anAxis: TGLVector; angle: Single): TGLMatrix; overload;
function CreateAffineRotationMatrix(const anAxis: TAffineVector; angle: Single): TAffineMatrix;

Creates a rotation matrix along the given Axis by the given Angle in radians.

function MatrixMultiply(const m1, m2: TAffineMatrix): TAffineMatrix; overload;

Multiplies two 3x3 matrices

function MatrixMultiply(const m1, m2: TGLMatrix): TGLMatrix; overload;

Multiplies two 4x4 matrices

procedure MatrixMultiply(const m1, m2: TGLMatrix; var MResult: TGLMatrix); overload;

Multiplies M1 by M2 and places result in MResult

function VectorTransform(const V: TGLVector; const M: TGLMatrix): TGLVector; overload;

Transforms a homogeneous vector by multiplying it with a matrix

function VectorTransform(const V: TGLVector; const M: TAffineMatrix): TGLVector; overload;

Transforms a homogeneous vector by multiplying it with a matrix

function VectorTransform(const V: TAffineVector; const M: TGLMatrix): TAffineVector; overload;

Transforms an affine vector by multiplying it with a matrix

function VectorTransform(const V: TAffineVector; const M: TAffineMatrix): TAffineVector; overload;

Transforms an affine vector by multiplying it with a matrix

function MatrixDeterminant(const M: TAffineMatrix): Single; overload;

Determinant of a 3x3 matrix

function MatrixDeterminant(const M: TGLMatrix): Single; overload;

Determinant of a 4x4 matrix

procedure AdjointMatrix(var M: TGLMatrix); overload;

Adjoint of a 4x4 matrix, used in the computation of the inverse of a 4x4 matrix

procedure AdjointMatrix(var M: TAffineMatrix); overload;

Adjoint of a 3x3 matrix, used in the computation of the inverse of a 3x3 matrix

procedure ScaleMatrix(var M: TAffineMatrix; const factor: Single); overload;

Multiplies all elements of a 3x3 matrix with a factor

procedure ScaleMatrix(var M: TGLMatrix; const factor: Single); overload;

Multiplies all elements of a 4x4 matrix with a factor

procedure TranslateMatrix(var M: TGLMatrix; const V: TAffineVector); overload;

Adds the translation vector into the matrix

procedure TranslateMatrix(var M: TGLMatrix; const V: TGLVector); overload;
procedure NormalizeMatrix(var M: TGLMatrix);

Normalize the matrix and remove the translation component. The resulting matrix is an orthonormal matrix (Y direction preserved, then Z)

procedure TransposeMatrix(var M: TAffineMatrix); overload;

Computes transpose of 3x3 matrix

procedure TransposeMatrix(var M: TGLMatrix); overload;

Computes transpose of 4x4 matrix

procedure InvertMatrix(var M: TGLMatrix); overload;

Finds the inverse of a 4x4 matrix

function MatrixInvert(const M: TGLMatrix): TGLMatrix; overload;
procedure InvertMatrix(var M: TAffineMatrix); overload;

Finds the inverse of a 3x3 matrix;

function MatrixInvert(const M: TAffineMatrix): TAffineMatrix; overload;
function AnglePreservingMatrixInvert(const mat: TGLMatrix): TGLMatrix;

Finds the inverse of an angle preserving matrix. Angle preserving matrices can combine translation, rotation and isotropic scaling, other matrices won't be properly inverted by this function.

function MatrixDecompose(const M: TGLMatrix; var Tran: TTransformations): Boolean;

Decompose a non-degenerated 4x4 transformation matrix into the sequence of transformations that produced it. Modified by ml then eg, original Author: Spencer W. Thomas, University of Michigan The coefficient of each transformation is returned in the corresponding element of the vector Tran. Returns true upon success, false if the matrix is singular.

function CreateLookAtMatrix(const eye, center, normUp: TGLVector): TGLMatrix;
function CreateMatrixFromFrustum(Left, Right, Bottom, Top, ZNear, ZFar: Single): TGLMatrix;
function CreatePerspectiveMatrix(FOV, Aspect, ZNear, ZFar: Single): TGLMatrix;
function CreateOrthoMatrix(Left, Right, Bottom, Top, ZNear, ZFar: Single): TGLMatrix;
function CreatePickMatrix(X, Y, deltax, deltay: Single; const viewport: TVector4i): TGLMatrix;
function Project(objectVector: TGLVector; const ViewProjMatrix: TGLMatrix; const viewport: TVector4i; out WindowVector: TGLVector): Boolean;
function UnProject(WindowVector: TGLVector; ViewProjMatrix: TGLMatrix; const viewport: TVector4i; out objectVector: TGLVector): Boolean;
function PlaneMake(const p1, p2, p3: TAffineVector): THmgPlane; overload;

Computes the parameters of a plane defined by three points.

function PlaneMake(const p1, p2, p3: TGLVector): THmgPlane; overload;
function PlaneMake(const point, normal: TAffineVector): THmgPlane; overload;

Computes the parameters of a plane defined by a point and a normal.

function PlaneMake(const point, normal: TGLVector): THmgPlane; overload;
procedure SetPlane(var dest: TDoubleHmgPlane; const src: THmgPlane);

Converts from single to double representation

procedure NormalizePlane(var plane: THmgPlane);

Normalize a plane so that point evaluation = plane distance. }

function PlaneEvaluatePoint(const plane: THmgPlane; const point: TAffineVector): Single; overload;

Calculates the cross-product between the plane normal and plane to point vector. This functions gives an hint as to were the point is, if the point is in the half-space pointed by the vector, result is positive. This function performs an homogeneous space dot-product.

function PlaneEvaluatePoint(const plane: THmgPlane; const point: TGLVector): Single; overload;
function CalcPlaneNormal(const p1, p2, p3: TAffineVector): TAffineVector; overload;

Calculate the normal of a plane defined by three points.

procedure CalcPlaneNormal(const p1, p2, p3: TAffineVector; var vr: TAffineVector); overload;
procedure CalcPlaneNormal(const p1, p2, p3: TGLVector; var vr: TAffineVector); overload;
function PointIsInHalfSpace(const point, planePoint, planeNormal: TGLVector): Boolean; overload;

Returns true if point is in the half-space defined by a plane with normal. The plane itself is not considered to be in the tested halfspace.

function PointIsInHalfSpace(const point, planePoint, planeNormal: TAffineVector): Boolean; overload;
function PointIsInHalfSpace(const point: TAffineVector; const plane: THmgPlane): Boolean; overload;
function PointPlaneDistance(const point, planePoint, planeNormal: TGLVector): Single; overload;

Computes algebraic distance between point and plane. Value will be positive if the point is in the halfspace pointed by the normal, negative on the other side.

function PointPlaneDistance(const point, planePoint, planeNormal: TAffineVector): Single; overload;
function PointPlaneDistance(const point: TAffineVector; const plane: THmgPlane): Single; overload;
function PointPlaneOrthoProjection(const point: TAffineVector; const plane: THmgPlane; var inter: TAffineVector; bothface: Boolean = True): Boolean;

Computes point to plane projection. Plane and direction have to be normalized

function PointPlaneProjection(const point, direction: TAffineVector; const plane: THmgPlane; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function SegmentPlaneIntersection(const ptA, ptB: TAffineVector; const plane: THmgPlane; var inter: TAffineVector): Boolean;

Computes segment / plane intersection return false if there isn't an intersection

function PointTriangleOrthoProjection(const point, ptA, ptB, ptC: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;

Computes point to triangle projection. Direction has to be normalized

function PointTriangleProjection(const point, direction, ptA, ptB, ptC: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function IsLineIntersectTriangle(const point, direction, ptA, ptB, ptC: TAffineVector): Boolean;

Returns true if line intersect ABC triangle

function PointQuadOrthoProjection(const point, ptA, ptB, ptC, ptD: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;

Computes point to Quad projection. Direction has to be normalized. Quad have to be flat and convex

function PointQuadProjection(const point, direction, ptA, ptB, ptC, ptD: TAffineVector; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function IsLineIntersectQuad(const point, direction, ptA, ptB, ptC, ptD: TAffineVector): Boolean;

Returns true if line intersect ABCD quad. Quad have to be flat and convex

function PointDiskOrthoProjection(const point, center, up: TAffineVector; const radius: Single; var inter: TAffineVector; bothface: Boolean = True): Boolean;

Computes point to disk projection. Direction has to be normalized

function PointDiskProjection(const point, direction, center, up: TAffineVector; const radius: Single; var inter: TAffineVector; bothface: Boolean = True): Boolean;
function PointSegmentClosestPoint(const point, segmentStart, segmentStop: TAffineVector): TAffineVector; overload;

Computes closest point on a segment (a segment is a limited line)

function PointSegmentClosestPoint(const point, segmentStart, segmentStop: TGLVector): TGLVector; overload;
function PointSegmentDistance(const point, segmentStart, segmentStop: TAffineVector): Single;

Computes algebraic distance between segment and line (a segment is a limited line)

function PointLineClosestPoint(const point, linePoint, lineDirection: TAffineVector): TAffineVector;

Computes closest point on a line

function PointLineDistance(const point, linePoint, lineDirection: TAffineVector): Single;

Computes algebraic distance between point and line

procedure SegmentSegmentClosestPoint(const S0Start, S0Stop, S1Start, S1Stop: TAffineVector; var Segment0Closest, Segment1Closest: TAffineVector);

Computes the closest points (2) given two segments

function SegmentSegmentDistance(const S0Start, S0Stop, S1Start, S1Stop: TAffineVector): Single;

Computes the closest distance between two segments

function LineLineDistance(const linePt0, lineDir0, linePt1, lineDir1: TAffineVector): Single;

Computes the closest distance between two lines

function QuaternionMake(const Imag: array of Single; Real: Single): TQuaternion; overload;

Creates a quaternion from the given values

function QuaternionMake(const X,Y,Z,W: Single): TQuaternion; overload;
function QuaternionMake(const V: TGLVector): TQuaternion; overload;
function QuaternionConjugate(const Q: TQuaternion): TQuaternion;

Returns the conjugate of a quaternion

function QuaternionMagnitude(const Q: TQuaternion): Single;

Returns the magnitude of the quaternion

procedure NormalizeQuaternion(var Q: TQuaternion);

Normalizes the given quaternion

function QuaternionFromPoints(const V1, V2: TAffineVector): TQuaternion;

Constructs a unit quaternion from two points on unit sphere

procedure QuaternionToPoints(const Q: TQuaternion; var ArcFrom, ArcTo: TAffineVector);

Converts a unit quaternion into two points on a unit sphere

function QuaternionFromMatrix(const mat: TGLMatrix): TQuaternion;

Constructs a unit quaternion from a rotation matrix

function QuaternionToMatrix(quat: TQuaternion): TGLMatrix;

Constructs a rotation matrix from (possibly non-unit) quaternion. Assumes matrix is used to multiply column vector on the left: vnew = mat vold. Works correctly for right-handed coordinate system and right-handed rotations

function QuaternionToAffineMatrix(quat: TQuaternion): TAffineMatrix;

Constructs an affine rotation matrix from (possibly non-unit) quaternion

function QuaternionFromAngleAxis(const angle: Single; const axis: TAffineVector): TQuaternion;

Constructs quaternion from angle (in deg) and axis

function QuaternionFromRollPitchYaw(const r, p, Y: Single): TQuaternion;

Constructs quaternion from Euler angles

function QuaternionFromEuler(const X, Y, Z: Single; eulerOrder: TEulerOrder): TQuaternion;

Constructs quaternion from Euler angles in arbitrary order (angles in degrees)

function QuaternionMultiply(const qL, qR: TQuaternion): TQuaternion;

Returns quaternion product qL * qR. Note: order is important! To combine rotations, use the product QuaternionMuliply(qSecond, qFirst), which gives the effect of rotating by qFirst then qSecond

function QuaternionSlerp(const QStart, QEnd: TQuaternion; Spin: Integer; T: Single): TQuaternion; overload;

Spherical linear interpolation of unit quaternions with spins. QStart, QEnd - start and end unit quaternions t - interpolation parameter (0 to 1) Spin - number of extra spin rotations to involve

function QuaternionSlerp(const source, dest: TQuaternion; const T: Single): TQuaternion; overload;
function Logarithm2(const X: Single): Single; inline;

—————————————————————————- Exponential functions —————————————————————————–

function PowerSingle(const Base, Exponent: Single): Single; overload;

Raise base to any power. For fractional exponents, or |exponents| > MaxInt, base must be > 0

function PowerInteger(Base: Single; Exponent: Integer): Single; overload;

Raise base to an integer

function PowerInt64(Base: Single; Exponent: Int64): Single; overload;
function DegToRadian(const Degrees: Extended): Extended; overload;

—————————————————————————- Trigonometric functions —————————————————————————-

function DegToRadian(const Degrees: Single): Single; overload;
function RadianToDeg(const Radians: Extended): Extended; overload;
function RadianToDeg(const Radians: Single): Single; overload;
function NormalizeAngle(angle: Single): Single;

Normalize to an angle in the [-PI; +PI] range

function NormalizeDegAngle(angle: Single): Single;

Normalize to an angle in the [-180; 180] range

procedure SinCosine(const Theta: Double; out Sin, Cos: Double); overload;

Calculates sine and cosine from the given angle Theta

procedure SinCosine(const Theta: Single; out Sin, Cos: Single); overload;

Calculates sine and cosine from the given angle Theta

procedure SinCosine(const Theta, radius: Double; out Sin, Cos: Double); overload;

Calculates sine and cosine from the given angle Theta and Radius. sin and cos values calculated from theta are multiplicated by radius

procedure SinCosine(const Theta, radius: Single; out Sin, Cos: Single); overload;

Calculates sine and cosine from the given angle Theta and Radius. sin and cos values calculated from theta are multiplicated by radius

procedure PrepareSinCosCache(var S, c: array of Single; startAngle, stopAngle: Single);

Fills up the two given dynamic arrays with sin cos values. start and stop angles must be given in degrees, the number of steps is determined by the length of the given arrays.

function ArcCosine(const X: Extended): Extended; overload;
function FastArcTangent2(Y, X: Single): Single;

Fast ArcTangent2 approximation, about 0.07 rads accuracy

function RSqrt(V: Single): Single;

—————————————————————————— Miscellanious math functions —————————————————————————— Computes 1/Sqrt(v)

function RLength(X, Y: Single): Single;

Computes 1/Sqrt(Sqr(x)+Sqr(y)).

function ISqrt(i: Integer): Integer;

Computes an integer sqrt approximation

function ILength(X, Y: Integer): Integer; overload;

Computes an integer length Result:=Sqrt(x*x+y*y)

function ILength(X, Y, Z: Integer): Integer; overload;
procedure RandomPointOnSphere(var p: TAffineVector);

Generates a random point on the unit sphere. Point repartition is correctly isotropic with no privilegied direction

function RoundInt(V: Single): Single; overload;

Rounds the floating point value to the closest integer. Behaves like Round but returns a floating point value like Int.

function RoundInt(V: Extended): Extended; overload;
function ScaleAndRound(i: Integer; var S: Single): Integer;

Multiples i by s and returns the rounded result.

function SignStrict(X: Single): Integer;

Returns the sign of the x value using the (-1, 0, +1) convention

function IsInRange(const X, a, b: Single): Boolean; overload;

Returns True if x is in [a; b]

function IsInRange(const X, a, b: Double): Boolean; overload;
function IsInCube(const p, d: TAffineVector): Boolean; overload;

Returns True if p is in the cube defined by d.

function IsInCube(const p, d: TGLVector): Boolean; overload;
function MinFloat(values: PSingleArray; nbItems: Integer): Single; overload;

Returns the minimum value of the array.

function MinFloat(values: PDoubleArray; nbItems: Integer): Double; overload;
function MinFloat(values: PExtendedArray; nbItems: Integer): Extended; overload;
function MinFloat(const V1, V2: Single): Single; overload;

Returns the minimum of given values.

function MinFloat(const V: array of Single): Single; overload;
function MinFloat(const V1, V2: Double): Double; overload;
function MinFloat(const V1, V2, V3: Single): Single; overload;
function MinFloat(const V1, V2, V3: Double): Double; overload;
function MaxFloat(values: PSingleArray; nbItems: Integer): Single; overload;

Returns the maximum value of the array.

function MaxFloat(values: PDoubleArray; nbItems: Integer): Double; overload;
function MaxFloat(values: PExtendedArray; nbItems: Integer): Extended; overload;
function MaxFloat(const V: array of Single): Single; overload;
function MaxFloat(const V1, V2: Single): Single; overload;

Returns the maximum of given values.

function MaxFloat(const V1, V2: Double): Double; overload;
function MaxFloat(const V1, V2, V3: Single): Single; overload;
function MaxFloat(const V1, V2, V3: Double): Double; overload;
function MinInteger(const V1, V2: Integer): Integer; overload;
function MinInteger(const V1, V2: Cardinal): Cardinal; overload;
function MinInteger(const V1, V2, V3: Integer): Integer; overload;
function MinInteger(const V1, V2, V3: Cardinal): Cardinal; overload;
function MaxInteger(const V1, V2: Integer): Integer; overload;
function MaxInteger(const V1, V2: Cardinal): Cardinal; overload;
function MaxInteger(const V1, V2, V3: Integer): Integer; overload;
function MaxInteger(const V1, V2, V3: Cardinal): Cardinal; overload;
function ClampInteger(const value, min, max: Integer): Integer; overload; inline;
function ClampInteger(const value, min, max: Cardinal): Cardinal; overload; inline;
function TriangleArea(const p1, p2, p3: TAffineVector): Single; overload;

Computes the triangle's area

function PolygonArea(const p: PAffineVectorArray; nSides: Integer): Single; overload;

Computes the polygons's area. Points must be coplanar. Polygon needs not be convex

function TriangleSignedArea(const p1, p2, p3: TAffineVector): Single; overload;

Computes a 2D triangle's signed area. Only X and Y coordinates are used, Z is ignored

function PolygonSignedArea(const p: PAffineVectorArray; nSides: Integer): Single; overload;

Computes a 2D polygon's signed area. Only X and Y coordinates are used, Z is ignored. Polygon needs not be convex

procedure ScaleFloatArray(values: PSingleArray; nb: Integer; var factor: Single); overload;

Multiplies values in the array by factor. This function is especially efficient for large arrays, it is not recommended for arrays that have less than 10 items. Expected performance is 4 to 5 times that of a Deliph-compiled loop on AMD CPUs, and 2 to 3 when 3DNow! isn't available

procedure ScaleFloatArray(var values: TSingleArray; factor: Single); overload;
procedure OffsetFloatArray(values: PSingleArray; nb: Integer; var delta: Single); overload;

Adds delta to values in the array. Array size must be a multiple of four

procedure OffsetFloatArray(var values: array of Single; delta: Single); overload;
procedure OffsetFloatArray(valuesDest, valuesDelta: PSingleArray; nb: Integer); overload;
function MaxXYZComponent(const V: TGLVector): Single; overload;

Returns the max of the X, Y and Z components of a vector (W is ignored)

function MaxXYZComponent(const V: TAffineVector): Single; overload;
function MinXYZComponent(const V: TGLVector): Single; overload;

Returns the min of the X, Y and Z components of a vector (W is ignored)

function MinXYZComponent(const V: TAffineVector): Single; overload;
function MaxAbsXYZComponent(V: TGLVector): Single;

Returns the max of the Abs(X), Abs(Y) and Abs(Z) components of a vector (W is ignored)

function MinAbsXYZComponent(V: TGLVector): Single;

Returns the min of the Abs(X), Abs(Y) and Abs(Z) components of a vector (W is ignored)

procedure MaxVector(var V: TGLVector; const V1: TGLVector); overload;

Replace components of v with the max of v or v1 component. Maximum is computed per component

procedure MaxVector(var V: TAffineVector; const V1: TAffineVector); overload;
procedure MinVector(var V: TGLVector; const V1: TGLVector); overload;

Replace components of v with the min of v or v1 component. Minimum is computed per component

procedure MinVector(var V: TAffineVector; const V1: TAffineVector); overload;
procedure SortArrayAscending(var a: array of Extended);

Sorts given array in ascending order. NOTE : current implementation is a slow bubble sort...

function ClampValue(const aValue, aMin, aMax: Single): Single; overload;

Clamps aValue in the aMin-aMax interval

function ClampValue(const aValue, aMin: Single): Single; overload;

Clamps aValue in the aMin-INF interval

function GeometryOptimizationMode: String;

Returns the detected optimization mode. Returned values is either 'FPU', '3DNow!' or 'SSE'

procedure BeginFPUOnlySection;

Begins a FPU-only section. You can use a FPU-only section to force use of FPU versions of the math functions, though typically slower than their SIMD counterparts, they have a higher precision (80 bits internally) that may be required in some cases. Each BeginFPUOnlySection call must be balanced by a EndFPUOnlySection (calls can be nested).

procedure EndFPUOnlySection;

Ends a FPU-only section. See BeginFPUOnlySection

function ConvertRotation(const Angles: TAffineVector): TGLVector;

——————— Unstandardized functions after these lines Mixed functions Turn a triplet of rotations about x, y, and z (in that order) into an equivalent rotation around a single axis (all in radians)

function MakeAffineDblVector(var V: array of Double): TAffineDblVector;

Miscellaneous functions

function MakeDblVector(var V: array of Double): THomogeneousDblVector;
function VectorAffineDblToFlt(const V: TAffineDblVector): TAffineVector;

Converts a vector containing double sized values into a vector with single sized values

function VectorDblToFlt(const V: THomogeneousDblVector): THomogeneousVector;

Converts a vector containing double sized values into a vector with single sized values

function VectorAffineFltToDbl(const V: TAffineVector): TAffineDblVector;

Converts a vector containing single sized values into a vector with double sized values

function VectorFltToDbl(const V: TGLVector): THomogeneousDblVector;

Converts a vector containing single sized values into a vector with double sized values

function PointInPolygon(const xp, yp: array of Single; X, Y: Single): Boolean;

The code below is from Wm. Randolph Franklin <wrf@ecse.rpi.edu> with some minor modifications for speed. It returns 1 for strictly interior points, 0 for strictly exterior, and 0 or 1 for points on the boundary

function IsPointInPolygon(const Polygon: array of TPoint; const p: TPoint): Boolean;

PtInRegion

procedure DivMod(Dividend: Integer; Divisor: Word; var result, Remainder: Word);
function Turn(const Matrix: TGLMatrix; Angle: Single): TGLMatrix; overload;

Coordinate system manipulation functions Rotates the given coordinate system (represented by the matrix) around its Y-axis

function Turn(const Matrix: TGLMatrix; const MasterUp: TAffineVector; Angle: Single): TGLMatrix; overload;

Rotates the given coordinate system (represented by the matrix) around MasterUp

function Pitch(const Matrix: TGLMatrix; Angle: Single): TGLMatrix; overload;

Rotates the given coordinate system (represented by the matrix) around its X-axis

function Pitch(const Matrix: TGLMatrix; const MasterRight: TAffineVector; Angle: Single): TGLMatrix; overload;

Rotates the given coordinate system (represented by the matrix) around MasterRight

function Roll(const Matrix: TGLMatrix; Angle: Single): TGLMatrix; overload;

Rotates the given coordinate system (represented by the matrix) around its Z-axis

function Roll(const Matrix: TGLMatrix; const MasterDirection: TAffineVector; Angle: Single): TGLMatrix; overload;

Rotates the given coordinate system (represented by the matrix) around MasterDirection

function IntersectLinePlane(const point, direction: TGLVector; const plane: THmgPlane; intersectPoint: PGLVector = nil): Integer; overload;

Compute the intersection point "res" of a line with a plane. Return value: 0 : no intersection, line parallel to plane 1 : res is valid -1 : line is inside plane

Adapted from: E.Hartmann, Computeruntersttzte Darstellende Geometrie, B.G. Teubner Stuttgart 1988

function IntersectTriangleBox(const p1, p2, p3, aMinExtent, aMaxExtent: TAffineVector): Boolean;

Compute intersection between a triangle and a box. Returns True if an intersection was found

function IntersectSphereBox(const SpherePos: TGLVector; const SphereRadius: Single; const BoxMatrix: TGLMatrix; const BoxScale: TAffineVector; intersectPoint: PAffineVector = nil; normal: PAffineVector = nil; depth: PSingle = nil): Boolean;

Compute intersection between a Sphere and a box. Up, Direction and Right must be normalized! Use CubDepth, CubeHeight and CubeWidth to scale TGLCube

function RayCastPlaneIntersect(const rayStart, rayVector: TGLVector; const planePoint, planeNormal: TGLVector; intersectPoint: PGLVector = nil): Boolean; overload;

Compute intersection between a ray and a plane. Returns True if an intersection was found, the intersection point is placed in intersectPoint is the reference is not nil

function RayCastPlaneXZIntersect(const rayStart, rayVector: TGLVector; const planeY: Single; intersectPoint: PGLVector = nil): Boolean; overload;
function RayCastTriangleIntersect(const rayStart, rayVector: TGLVector; const p1, p2, p3: TAffineVector; intersectPoint: PGLVector = nil; intersectNormal: PGLVector = nil): Boolean; overload;

Compute intersection between a ray and a triangle

function RayCastMinDistToPoint(const rayStart, rayVector: TGLVector; const point: TGLVector): Single;

Compute the min distance a ray will pass to a point

function RayCastIntersectsSphere(const rayStart, rayVector: TGLVector; const sphereCenter: TGLVector; const SphereRadius: Single): Boolean; overload;

Determines if a ray will intersect with a given sphere

function RayCastSphereIntersect(const rayStart, rayVector: TGLVector; const sphereCenter: TGLVector; const SphereRadius: Single; var i1, i2: TGLVector): Integer; overload;

Calculates the intersections between a sphere and a ray. Returns 0 if no intersection is found (i1 and i2 untouched), 1 if one intersection was found (i1 defined, i2 untouched), and 2 is two intersections were found (i1 and i2 defined)

function RayCastBoxIntersect(const rayStart, rayVector, aMinExtent, aMaxExtent: TAffineVector; intersectPoint: PAffineVector = nil): Boolean;

Compute intersection between a ray and a box. Returns True if an intersection was found, the intersection point is placed in intersectPoint if the reference is not nil

function RectanglesIntersect(const ACenterOfRect1, ACenterOfRect2, ASizeOfRect1, ASizeOfRect2: TVector2f): Boolean;

Determine if 2 rectanges intersect

function RectangleContains(const ACenterOfBigRect1, ACenterOfSmallRect2, ASizeOfBigRect1, ASizeOfSmallRect2: TVector2f; const AEps: Single = 0.0): Boolean;

Determine if BigRect completely contains SmallRect

function SphereVisibleRadius(distance, radius: Single): Single;

Computes the visible radius of a sphere in a perspective projection. This radius can be used for occlusion culling (cone extrusion) or 2D intersection testing.

function ExtractFrustumFromModelViewProjection(const modelViewProj: TGLMatrix): TFrustum;

Extracts a TFrustum for combined modelview and projection matrices

function IsVolumeClipped(const objPos: TAffineVector; const objRadius: Single; const Frustum: TFrustum): Boolean; overload;

Determines if volume is clipped or not

function IsVolumeClipped(const objPos: TGLVector; const objRadius: Single; const Frustum: TFrustum): Boolean; overload; inline;
function IsVolumeClipped(const min, max: TAffineVector; const Frustum: TFrustum): Boolean; overload; inline;
function MakeParallelProjectionMatrix(const plane: THmgPlane; const dir: TGLVector): TGLMatrix;

Creates a parallel projection matrix. Transformed points will projected on the plane along the specified direction

function MakeShadowMatrix(const planePoint, planeNormal, lightPos: TGLVector): TGLMatrix;

Creates a shadow projection matrix. Shadows will be projected onto the plane defined by planePoint and planeNormal, from lightPos

function MakeReflectionMatrix(const planePoint, planeNormal: TAffineVector): TGLMatrix;

Builds a reflection matrix for the given plane. Reflection matrix allow implementing planar reflectors (mirrors)

function PackRotationMatrix(const mat: TGLMatrix): TPackedRotationMatrix;

Packs an homogeneous rotation matrix to 6 bytes. The 6:64 (or 6:36) compression ratio is achieved by computing the quaternion associated to the matrix and storing its Imaginary components at 16 bits precision each. Deviation is typically below 0.01% and around 0.1% in worst case situations. Note: quaternion conversion is faster and more robust than an angle decomposition

function UnPackRotationMatrix(const packedMatrix: TPackedRotationMatrix): TGLMatrix;

Restores a packed rotation matrix. See PackRotationMatrix

function GetSafeTurnAngle(const AOriginalPosition, AOriginalUpVector, ATargetPosition, AMoveAroundTargetCenter: TGLVector): TVector2f; overload;

Calculates angles for the Camera.MoveAroundTarget(pitch, turn) procedure. Initially from then GLCameraColtroller unit, requires AOriginalUpVector to contain only -1, 0 or 1. Result contains pitch and turn angles

function GetSafeTurnAngle(const AOriginalPosition, AOriginalUpVector, ATargetPosition, AMoveAroundTargetCenter: TAffineVector): TVector2f; overload;
function MoveObjectAround(const AMovingObjectPosition, AMovingObjectUp, ATargetPosition: TGLVector; pitchDelta, turnDelta: Single): TGLVector;

Extracted from Camera.MoveAroundTarget(pitch, turn)

function AngleBetweenVectors(const a, b, ACenterPoint: TGLVector): Single; overload;

Calcualtes Angle between 2 Vectors: (A-CenterPoint) and (B-CenterPoint). In radians

function AngleBetweenVectors(const a, b, ACenterPoint: TAffineVector): Single; overload;
function ShiftObjectFromCenter(const AOriginalPosition: TGLVector; const ACenter: TGLVector; const ADistance: Single; const AFromCenterSpot: Boolean): TGLVector; overload;

AOriginalPosition - Object initial position. ACenter - some point, from which is should be distanced. ADistance + AFromCenterSpot - distance, which object should keep from ACenter or ADistance + not AFromCenterSpot - distance, which object should shift from his current position away from center

function ShiftObjectFromCenter(const AOriginalPosition: TAffineVector; const ACenter: TAffineVector; const ADistance: Single; const AFromCenterSpot: Boolean): TAffineVector; overload;

Types

PAffineByteVector = ˆTAffineByteVector;
PAffineDblVector = ˆTAffineDblVector;
PAffineExtVector = ˆTAffineExtVector;
PAffineFltVector = ˆTAffineFltVector;
PAffineIntVector = ˆTAffineIntVector;
PAffineMatrix = ˆTAffineMatrix;
PAffinePtrVector = ˆTAffinePtrVector;
PAffineVector = ˆTAffineVector;
PAffineVectorArray = ˆTAffineVectorArray;

Arrays of vectors

PAffineWordVector = ˆTAffineWordVector;
PByteArray = PByteVector;
PByteVector = ˆTByteVector;

Types to specify continous streams of a specific type switch off range checking to access values beyond the limits

PCardinalArray = PCardinalVector;
PCardinalVector = ˆTCardinalVector;
PDoubleArray = PDoubleVector;
PDoubleVector = ˆTDoubleVector;
PExtendedArray = PExtendedVector;
PExtendedVector = ˆTExtendedVector;
PFloat = PSingle;

Data types needed for 3D graphics calculation, included are 'C like' aliases for each type (to be conformal with OpenGL types)

PFloatArray = PFloatVector;
PFloatVector = ˆTFloatVector;
PFrustum = ˆTFrustum;
PHomogeneousByteVector = ˆTHomogeneousByteVector;

Common vector and matrix types with predefined limits indices correspond like: x -> 0 y -> 1 z -> 2 w -> 3

PHomogeneousDblVector = ˆTHomogeneousDblVector;
PHomogeneousExtVector = ˆTHomogeneousExtVector;
PHomogeneousFltVector = ˆTHomogeneousFltVector;
PHomogeneousIntVector = ˆTHomogeneousIntVector;
PHomogeneousMatrix = ˆTHomogeneousMatrix;
PHomogeneousPtrVector = ˆTHomogeneousPtrVector;
PHomogeneousVector = ˆTHomogeneousVector;

some simplified names

PHomogeneousWordVector = ˆTHomogeneousWordVector;
PIntegerArray = PIntegerVector;
PIntegerVector = ˆTIntegerVector;
PLongWordArray = PLongWordVector;
PLongWordVector = ˆTLongWordVector;
PMatrixArray = ˆTMatrixArray;
PPointerArray = PPointerVector;
PPointerVector = ˆTPointerVector;
PQuaternion = ˆTQuaternion;

q = ([x, y, z], w)

PQuaternionArray = ˆTQuaternionArray;
PSingleArray = PFloatArray;
PTexPoint = ˆTTexPoint;
PTexPointArray = ˆTTexPointArray;
PVector2f = ˆTVector2f;
PVectorArray = ˆTVectorArray;
PVertex = ˆTVertex;
PWordVector = ˆTWordVector;
TAffineByteMatrix = TMatrix3b;
TAffineByteVector = TVector3b;
TAffineDblMatrix = TMatrix3d;
TAffineDblVector = TVector3d;
TAffineExtMatrix = array [0 .. 2] of TAffineExtVector;
TAffineExtVector = TVector3e;
TAffineFltMatrix = TMatrix3f;
TAffineFltVector = TVector3f;
TAffineIntMatrix = TMatrix3i;
TAffineIntVector = TVector3i;
TAffineMatrix = TAffineFltMatrix;
TAffinePtrVector = TVector3p;
TAffineVector = TVector3f;
TAffineVectorArray = array [0 .. MaxInt shr 4] of TAffineVector;
TAffineWordMatrix = array [0 .. 2] of TAffineWordVector;
TAffineWordVector = TVector3w;
TByteVector = array [0 .. cMaxArray] of Byte;
TCardinalVector = array [0 .. cMaxArray] of Cardinal;
TDoubleHmgPlane = THomogeneousDblVector;
TDoubleVector = array [0 .. cMaxArray] of Double;
TEulerOrder = (...);

—————————————————————————- Quaternion functions —————————————————————————-

Values
  • eulXYZ
  • eulXZY
  • eulYXZ
  • eulYZX
  • eulZXY
  • eulZYX
TExtendedVector = array [0 .. cMaxArray] of Extended;
TFloatVector = array [0 .. cMaxArray] of Single;
TGLInterpolationType = (...);
Values
  • itLinear
  • itPower
  • itSin
  • itSinAlt
  • itTan
  • itLn
  • itExp
THmgPlane = TGLVector;

A plane equation. Defined by its equation A.x+B.y+C.z+D , a plane can be mapped to the homogeneous space coordinates, and this is what we are doing here. The typename is just here for easing up data manipulation

THomogeneousByteMatrix = TMatrix4b;

Matrices

THomogeneousByteVector = TVector4b;
THomogeneousDblMatrix = TMatrix4d;
THomogeneousDblVector = TVector4d;
THomogeneousExtMatrix = array [0 .. 3] of THomogeneousExtVector;
THomogeneousExtVector = TVector4e;
THomogeneousFltMatrix = TMatrix4f;
THomogeneousFltVector = TVector4f;
THomogeneousIntMatrix = TMatrix4i;
THomogeneousIntVector = TVector4i;
THomogeneousMatrix = THomogeneousFltMatrix;
THomogeneousPtrVector = TVector4p;
THomogeneousVector = THomogeneousFltVector;
THomogeneousWordMatrix = array [0 .. 3] of THomogeneousWordVector;
THomogeneousWordVector = TVector4w;
TIntegerVector = array [0 .. cMaxArray] of Integer;
TLongWordVector = array [0 .. cMaxArray] of LongWord;
TMatrixArray = array [0 .. MaxInt shr 7] of TGLMatrix;

Some simplified names

TPackedRotationMatrix = array [0 .. 2] of SmallInt;
TPointerVector = array [0 .. cMaxArray] of Pointer;
TQuaternionArray = array [0 .. MaxInt shr 5] of TQuaternion;
TSingleArray = array of Single;
TTexPointArray = array [0 .. MaxInt shr 4] of TTexPoint;
TTransformations = array [TTransType] of Single;

Used to describe a sequence of transformations in following order: [Sx][Sy][Sz][ShearXY][ShearXZ][ShearZY][Rx][Ry][Rz][Tx][Ty][Tz][P(x,y,z,w)] constants are declared for easier access (see MatrixDecompose below)

TTransType = (...);
Values
  • ttScaleX
  • ttScaleY
  • ttScaleZ
  • ttShearXY
  • ttShearXZ
  • ttShearYZ
  • ttRotateX
  • ttRotateY
  • ttRotateZ
  • ttTranslateX
  • ttTranslateY
  • ttTranslateZ
  • ttPerspectiveX
  • ttPerspectiveY
  • ttPerspectiveZ
  • ttPerspectiveW
TVectorArray = array [0 .. MaxInt shr 5] of TGLVector;
TVertex = TAffineVector;
TWordVector = array [0 .. cMaxArray] of Word;

Constants

cMaxArray = (MaxInt shr 4);
cColinearBias = 1E-8;
XTexPoint: TTexPoint = (S: 1; T: 0);

TexPoints (2D space)

YTexPoint: TTexPoint = (S: 0; T: 1);
XYTexPoint: TTexPoint = (S: 1; T: 1);
NullTexPoint: TTexPoint = (S: 0; T: 0);
MidTexPoint: TTexPoint = (S: 0.5; T: 0.5);
XVector: TAffineVector = (X: 1; Y: 0; Z: 0);

standard vectors

YVector: TAffineVector = (X: 0; Y: 1; Z: 0);
ZVector: TAffineVector = (X: 0; Y: 0; Z: 1);
XYVector: TAffineVector = (X: 1; Y: 1; Z: 0);
XZVector: TAffineVector = (X: 1; Y: 0; Z: 1);
YZVector: TAffineVector = (X: 0; Y: 1; Z: 1);
XYZVector: TAffineVector = (X: 1; Y: 1; Z: 1);
NullVector: TAffineVector = (X: 0; Y: 0; Z: 0);
MinusXVector: TAffineVector = (X: - 1; Y: 0; Z: 0);
MinusYVector: TAffineVector = (X: 0; Y: - 1; Z: 0);
MinusZVector: TAffineVector = (X: 0; Y: 0; Z: - 1);
XHmgVector: THomogeneousVector = (X: 1; Y: 0; Z: 0; W: 0);

Standard homogeneous vectors

YHmgVector: THomogeneousVector = (X: 0; Y: 1; Z: 0; W: 0);
ZHmgVector: THomogeneousVector = (X: 0; Y: 0; Z: 1; W: 0);
WHmgVector: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 1);
XYHmgVector: THomogeneousVector = (X: 1; Y: 1; Z: 0; W: 0);
YZHmgVector: THomogeneousVector = (X: 0; Y: 1; Z: 1; W: 0);
XZHmgVector: THomogeneousVector = (X: 1; Y: 0; Z: 1; W: 0);
XYZHmgVector: THomogeneousVector = (X: 1; Y: 1; Z: 1; W: 0);
XYZWHmgVector: THomogeneousVector = (X: 1; Y: 1; Z: 1; W: 1);
NullHmgVector: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 0);
XHmgPoint: THomogeneousVector = (X: 1; Y: 0; Z: 0; W: 1);

Standard homogeneous points

YHmgPoint: THomogeneousVector = (X: 0; Y: 1; Z: 0; W: 1);
ZHmgPoint: THomogeneousVector = (X: 0; Y: 0; Z: 1; W: 1);
WHmgPoint: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 1);
NullHmgPoint: THomogeneousVector = (X: 0; Y: 0; Z: 0; W: 1);
IdentityMatrix: TAffineMatrix = (V: ((X: 1; Y: 0; Z: 0), (X: 0; Y: 1; Z: 0), (X: 0; Y: 0; Z: 1)));
IdentityHmgMatrix: TGLMatrix = (V: ((X: 1; Y: 0; Z: 0; W: 0), (X: 0; Y: 1; Z: 0; W: 0), (X: 0; Y: 0; Z: 1; W: 0), (X: 0; Y: 0; Z: 0; W: 1)));
IdentityHmgDblMatrix: THomogeneousDblMatrix = (V: ((X: 1; Y: 0; Z: 0; W: 0), (X: 0; Y: 1; Z: 0; W: 0), (X: 0; Y: 0; Z: 1; W: 0), (X: 0; Y: 0; Z: 0; W: 1)));
EmptyMatrix: TAffineMatrix = (V: ((X: 0; Y: 0; Z: 0), (X: 0; Y: 0; Z: 0), (X: 0; Y: 0; Z: 0)));
EmptyHmgMatrix: TGLMatrix = (V: ((X: 0; Y: 0; Z: 0; W: 0), (X: 0; Y: 0; Z: 0; W: 0), (X: 0; Y: 0; Z: 0; W: 0), (X: 0; Y: 0; Z: 0; W: 0)));
IdentityQuaternion: TQuaternion = (ImagPart: (X: 0; Y: 0; Z: 0); RealPart: 1);

Quaternions

EPSILON: Single = 1E-40;

Some very small numbers

EPSILON2: Single = 1E-30;
cPI: Single = 3.141592654;
cPIdiv180: Single = 0.017453292;
c180divPI: Single = 57.29577951;
c2PI: Single = 6.283185307;
cPIdiv2: Single = 1.570796326;
cPIdiv4: Single = 0.785398163;
c3PIdiv2: Single = 4.71238898;
c3PIdiv4: Single = 2.35619449;
cInv2PI: Single = 1 / 6.283185307;
cInv360: Single = 1 / 360;
c180: Single = 180;
c360: Single = 360;
cOneHalf: Single = 0.5;
cLn10: Single = 2.302585093;
MinSingle = 1.5E-45;

Ranges of the IEEE floating point types, including denormals with Math.pas compatible name

MaxSingle = 3.4E+38;
MinDouble = 5.0E-324;
MaxDouble = 1.7E+308;
MinExtended = 3.4E-4932;
MaxExtended = MaxDouble;
MinComp = -9.223372036854775807E+18;

1.1E+4932 <-Overflowing in c++;

MaxComp = 9.223372036854775807E+18;

Variables

vSIMD: Byte = 0;

This var is adjusted during "initialization", current values are + 0 : use standard optimized FPU code + 1 : use 3DNow! optimized code (requires K6-2/3 CPU) + 2 : use Intel SSE code (Pentium III, NOT IMPLEMENTED YET !)


GLSysHelp v.2.1: GLS.VectorGeometry: Packed Record TTexPoint

Packed Record TTexPoint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorGeometry

Declaration

type TTexPoint = packed record

Description

Overview

Fields

Public | S: Single;
Public | T: Single;

Description

Fields

Public S: Single;
Public T: Single;


GLSysHelp v.2.1: GLS.VectorGeometry: Record TQuaternion

Record TQuaternion

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorGeometry

Declaration

type TQuaternion = record

Description

Overview

Fields

Public | ImagPart: TAffineVector;
Public | RealPart: Single
Public | X: Single
Public | Y: Single
Public | Z: Single
Public | W: Single

Description

Fields

Public ImagPart: TAffineVector;
Public RealPart: Single
Public X: Single
Public Y: Single
Public Z: Single
Public W: Single


GLSysHelp v.2.1: GLS.VectorGeometry: Record TRectangle

Record TRectangle

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorGeometry

Declaration

type TRectangle = record

Description

Overview

Fields

Public | Left: Integer;
Public | Top: Integer;
Public | Width: Integer;
Public | Height: Integer;

Description

Fields

Public Left: Integer;
Public Top: Integer;
Public Width: Integer;
Public Height: Integer;


GLSysHelp v.2.1: GLS.VectorGeometry: Record TFrustum

Record TFrustum

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorGeometry

Declaration

type TFrustum = record

Description

Overview

Fields

Public | pLeft: THmgPlane;
Public | pTop: THmgPlane;
Public | pRight: THmgPlane;
Public | pBottom: THmgPlane;
Public | pNear: THmgPlane;
Public | pFar: THmgPlane;

Description

Fields

Public pLeft: THmgPlane;
Public pTop: THmgPlane;
Public pRight: THmgPlane;
Public pBottom: THmgPlane;
Public pNear: THmgPlane;
Public pFar: THmgPlane;


GLSysHelp v.2.1: GLS.VectorLists

Unit GLS.VectorLists

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TBaseList |
Class TBaseVectorList |
Class TAffineVectorList |
Class TVectorList |
Class TTexPointList |
Class TIntegerList |
Class TSingleList |
Class TDoubleList |
Class TByteList |
Class TQuaternionList |
Packed Record T4ByteData |
Class T4ByteList |
Class TLongWordList |

Functions and Procedures

procedure QuickSortLists(startIndex, endIndex: Integer; refList: TSingleList; objList: TList); overload;
procedure QuickSortLists(startIndex, endIndex: Integer; refList: TSingleList; objList: TBaseList); overload;
procedure FastQuickSortLists(startIndex, endIndex: Integer; const refList: TSingleList; const objList: TPersistentObjectList);

Types

P4ByteArrayList = ˆT4ByteArrayList;
PDoubleArrayList = ˆTDoubleArrayList;
PSingleArrayList = ˆTSingleArrayList;
T4ByteArrayList = array[0..MaxInt shr 4] of T4ByteData;
TBaseListOption = (...);
TBaseListOptions = set of TBaseListOption;
TDoubleArrayList = array[0..MaxInt shr 4] of Double;
TSingleArrayList = array[0..MaxInt shr 4] of Single;

Description

Functions and Procedures

procedure QuickSortLists(startIndex, endIndex: Integer; refList: TSingleList; objList: TList); overload;

Sort the refList in ascending order, ordering objList (TList) on the way

procedure QuickSortLists(startIndex, endIndex: Integer; refList: TSingleList; objList: TBaseList); overload;

Sort the refList in ascending order, ordering objList (TBaseList) on the way

procedure FastQuickSortLists(startIndex, endIndex: Integer; const refList: TSingleList; const objList: TPersistentObjectList);

Sort the refList in ascending order, ordering objList on the way. Use if, and *ONLY* if refList contains only values superior or equal to 1

Types

P4ByteArrayList = ˆT4ByteArrayList;
PDoubleArrayList = ˆTDoubleArrayList;
PSingleArrayList = ˆTSingleArrayList;
T4ByteArrayList = array[0..MaxInt shr 4] of T4ByteData;
TBaseListOption = (...);
Values
  • bloExternalMemory
  • bloSetCountResetsMemory
TBaseListOptions = set of TBaseListOption;
TDoubleArrayList = array[0..MaxInt shr 4] of Double;
TSingleArrayList = array[0..MaxInt shr 4] of Single;


GLSysHelp v.2.1: GLS.VectorLists: Class TBaseList

Class TBaseList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TBaseList = class(TPersistentObject)

Description

Base class for lists, introduces common behaviours

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList

Overview

Fields

Private | FCount: Integer;
Private | FCapacity: Integer;
Private | FGrowthDelta: Integer;
Private | FBufferItem: PByteArray;
Private | FOptions: TBaseListOptions;
Private | FRevision: LongWord;
Private | FTagString: string;
Protected | FBaseList: PByteArray;
Protected | FItemSize: Integer;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function DataSize: Integer;
Protected | function BufferItem: PByteArray; inline;
Protected | function GetSetCountResetsMemory: Boolean; inline;
Public | procedure AddNulls(nbVals: Cardinal);
Public | procedure AdjustCapacityToAtLeast(const size: Integer);
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Clear;
Public | procedure Delete(Index: Integer);
Public | procedure DeleteItems(Index: Integer; nbVals: Cardinal);
Public | procedure Exchange(index1, index2: Integer); inline;
Public | procedure Flush; inline;
Public | procedure InsertNulls(Index: Integer; nbVals: Cardinal);
Public | procedure Move(curIndex, newIndex: Integer); inline;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Reverse;
Public | procedure UseMemory(rangeStart: Pointer; rangeCapacity: Integer);
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure DefineProperties(AFiler: TFiler); override;
Protected | procedure ReadItemsData(AReader : TReader); virtual;
Protected | procedure SetCapacity(NewCapacity: Integer); virtual;
Protected | procedure SetCount(Val: Integer); inline;
Protected | procedure SetSetCountResetsMemory(const Val: Boolean);
Protected | procedure WriteItemsData(AWriter : TWriter); virtual;

Properties

Public | property Capacity: Integer read FCapacity write SetCapacity;
Public | property Count: Integer read FCount write SetCount;
Public | property GrowthDelta: Integer read FGrowthDelta write FGrowthDelta;
Public | property Revision: LongWord read FRevision write FRevision;
Public | property SetCountResetsMemory: Boolean read GetSetCountResetsMemory write SetSetCountResetsMemory;
Public | property TagString: string read FTagString write FTagString;

Description

Fields

Private FCount: Integer;
Private FCapacity: Integer;
Private FGrowthDelta: Integer;
Private FBufferItem: PByteArray;
Private FOptions: TBaseListOptions;
Private FRevision: LongWord;
Private FTagString: string;
Protected FBaseList: PByteArray;

The base list pointer (untyped)

Protected FItemSize: Integer;

Must be defined by all subclasses in their constructor(s)

Methods

Public constructor Create; override;
Public destructor Destroy; override;
Public function DataSize: Integer;
Protected function BufferItem: PByteArray; inline;
Protected function GetSetCountResetsMemory: Boolean; inline;
Public procedure AddNulls(nbVals: Cardinal);
Public procedure AdjustCapacityToAtLeast(const size: Integer);
Public procedure Assign(Src: TPersistent); override;
Public procedure Clear;

Empties the list and release

Public procedure Delete(Index: Integer);
Public procedure DeleteItems(Index: Integer; nbVals: Cardinal);
Public procedure Exchange(index1, index2: Integer); inline;
Public procedure Flush; inline;

Empties the list without altering capacity

Public procedure InsertNulls(Index: Integer; nbVals: Cardinal);
Public procedure Move(curIndex, newIndex: Integer); inline;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Reverse;
Public procedure UseMemory(rangeStart: Pointer; rangeCapacity: Integer);

Tell the list to use the specified range instead of its own. rangeCapacity should be expressed in bytes. The allocated memory is NOT managed by the list, current content if copied to the location, if the capacity is later changed, regular memory will be allocated, and the specified range no longer used

Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure DefineProperties(AFiler: TFiler); override;
Protected procedure ReadItemsData(AReader : TReader); virtual;

Borland-style persistency support.

Protected procedure SetCapacity(NewCapacity: Integer); virtual;

Only function where list may be alloc'ed & freed. Resizes the array pointed by FBaseList, adjust the subclass's typed pointer accordingly if any

Protected procedure SetCount(Val: Integer); inline;
Protected procedure SetSetCountResetsMemory(const Val: Boolean);
Protected procedure WriteItemsData(AWriter : TWriter); virtual;

Properties

Public property Capacity: Integer read FCapacity write SetCapacity;

Current list capacity. Not persistent

Public property Count: Integer read FCount write SetCount;

Nb of items in the list. When assigning a Count, added items are reset to zero

Public property GrowthDelta: Integer read FGrowthDelta write FGrowthDelta;

List growth granularity. Not persistent

Public property Revision: LongWord read FRevision write FRevision;

Increase by one after every content changes

Public property SetCountResetsMemory: Boolean read GetSetCountResetsMemory write SetSetCountResetsMemory;

If true (default value) adjusting count will reset added values. Switching this option to true will turn off this memory reset, which can improve performance is that having empty values isn't required.

Public property TagString: string read FTagString write FTagString;


GLSysHelp v.2.1: GLS.VectorLists: Class TBaseVectorList

Class TBaseVectorList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TBaseVectorList = class(TBaseList)

Description

Base class for vector lists, introduces common behaviours

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TBaseVectorList

Overview

Methods

Public | function MaxSpacing(list2: TBaseVectorList): Single;
Public | function Sum: TAffineVector;
Protected | function GetItemAddress(Index: Integer): PFloatArray; inline;
Public | procedure AngleCombine(const list1: TBaseVectorList; intensity: Single);
Public | procedure AngleLerp(const list1, list2: TBaseVectorList; lerpFactor: Single);
Public | procedure Combine(const list2: TBaseVectorList; factor: Single); virtual;
Public | procedure GetExtents(out min, max: TAffineVector); virtual;
Public | procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); virtual; abstract;
Public | procedure Normalize; virtual;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure Translate(const delta: TAffineVector); overload; virtual;
Public | procedure Translate(const delta: TBaseVectorList); overload; virtual;
Public | procedure TranslateInv(const delta: TBaseVectorList); overload; virtual;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property ItemAddress[Index:Integer]: PFloatArray read GetItemAddress;

Description

Methods

Public function MaxSpacing(list2: TBaseVectorList): Single;
Public function Sum: TAffineVector;
Protected function GetItemAddress(Index: Integer): PFloatArray; inline;
Public procedure AngleCombine(const list1: TBaseVectorList; intensity: Single);
Public procedure AngleLerp(const list1, list2: TBaseVectorList; lerpFactor: Single);

Replace content of the list with angle lerp between the two given lists. Note: you can't Lerp with Self!!!

Public procedure Combine(const list2: TBaseVectorList; factor: Single); virtual;

Linear combination of Self with another list. Self[i]:=Self[i]+list2[i]*factor

Public procedure GetExtents(out min, max: TAffineVector); virtual;
Public procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); virtual; abstract;

Replace content of the list with lerp results between the two given lists. Note: you can't Lerp with Self!!!

Public procedure Normalize; virtual;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure Translate(const delta: TAffineVector); overload; virtual;
Public procedure Translate(const delta: TBaseVectorList); overload; virtual;
Public procedure TranslateInv(const delta: TBaseVectorList); overload; virtual;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property ItemAddress[Index:Integer]: PFloatArray read GetItemAddress;


GLSysHelp v.2.1: GLS.VectorLists: Class TAffineVectorList

Class TAffineVectorList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TAffineVectorList = class(TBaseVectorList)

Description

A list of TAffineVector. Similar to TList, but using TAffineVector as items. The list has stack-like push/pop methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TBaseVectorList
  • TAffineVectorList

Overview

Fields

Private FList: PAffineVectorArray;

Methods

Public | constructor Create; override;
Public | function Add(const item: TTexPoint): Integer; overload;
Public | function Add(const item: TVector2f): Integer; overload;
Public | function Add(const xy: PIntegerArray; const Z: Integer): Integer; overload;
Public | function Add(const X, Y, Z: Single): Integer; overload;
Public | function Add(const X, Y: Single): Integer; overload;
Public | function Add(const X, Y, Z: Integer): Integer; overload;
Public | function Add(const item: TAffineVector): Integer; overload;
Public | function Add(const item: TGLVector): Integer; overload;
Public | function AddNC(const X, Y, Z: Integer): Integer; overload;
Public | function AddNC(const xy: PIntegerArray; const Z: Integer): Integer; overload;
Public | function FindOrAdd(const item: TAffineVector): Integer;
Public | function IndexOf(const item: TAffineVector): Integer;
Public | function Pop: TAffineVector;
Protected | function Get(Index: Integer): TAffineVector; inline;
Public | procedure Add(const list: TAffineVectorList); overload;
Public | procedure Add(const i1, i2: TAffineVector); overload;
Public | procedure Add(const i1, i2, i3: TAffineVector); overload;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure CombineItem(Index: Integer; const vector: TAffineVector; const f: Single);
Public | procedure Insert(Index: Integer; const item: TAffineVector); inline;
Public | procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public | procedure Normalize; override;
Public | procedure Push(const Val: TAffineVector);
Public | procedure Scale(factor: Single); overload;
Public | procedure Scale(const factors: TAffineVector); overload;
Public | procedure TransformAsPoints(const matrix: TGLMatrix);
Public | procedure TransformAsVectors(const matrix: TGLMatrix); overload;
Public | procedure TransformAsVectors(const matrix: TAffineMatrix); overload;
Public | procedure Translate(const delta: TAffineVector); overload; override;
Public | procedure Translate(const delta: TAffineVector; base, nb: Integer); overload;
Public | procedure TranslateItem(Index: Integer; const delta: TAffineVector);
Public | procedure TranslateItems(Index: Integer; const delta: TAffineVector; nb: Integer);
Protected | procedure Put(Index: Integer; const item: TAffineVector); inline;
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: TAffineVector read Get write Put;
Public | property List: PAffineVectorArray read FList;

Description

Fields

Private FList: PAffineVectorArray;

Methods

Public constructor Create; override;
Public function Add(const item: TTexPoint): Integer; overload;
Public function Add(const item: TVector2f): Integer; overload;
Public function Add(const xy: PIntegerArray; const Z: Integer): Integer; overload;

Add (2 ints in array + 1)

Public function Add(const X, Y, Z: Single): Integer; overload;
Public function Add(const X, Y: Single): Integer; overload;
Public function Add(const X, Y, Z: Integer): Integer; overload;
Public function Add(const item: TAffineVector): Integer; overload;
Public function Add(const item: TGLVector): Integer; overload;
Public function AddNC(const X, Y, Z: Integer): Integer; overload;

Add (3 ints, no capacity check)

Public function AddNC(const xy: PIntegerArray; const Z: Integer): Integer; overload;

AddNC (2 ints in array + 1, no capacity check)

Public function FindOrAdd(const item: TAffineVector): Integer;
Public function IndexOf(const item: TAffineVector): Integer;
Public function Pop: TAffineVector;
Protected function Get(Index: Integer): TAffineVector; inline;
Public procedure Add(const list: TAffineVectorList); overload;
Public procedure Add(const i1, i2: TAffineVector); overload;
Public procedure Add(const i1, i2, i3: TAffineVector); overload;
Public procedure Assign(Src: TPersistent); override;
Public procedure CombineItem(Index: Integer; const vector: TAffineVector; const f: Single);

Combines the given item

Public procedure Insert(Index: Integer; const item: TAffineVector); inline;
Public procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public procedure Normalize; override;
Public procedure Push(const Val: TAffineVector);
Public procedure Scale(factor: Single); overload;
Public procedure Scale(const factors: TAffineVector); overload;
Public procedure TransformAsPoints(const matrix: TGLMatrix);

Transforms all items by the matrix as if they were points. ie. the translation component of the matrix is honoured.

Public procedure TransformAsVectors(const matrix: TGLMatrix); overload;

Transforms all items by the matrix as if they were vectors. ie. the translation component of the matrix is not honoured.

Public procedure TransformAsVectors(const matrix: TAffineMatrix); overload;
Public procedure Translate(const delta: TAffineVector); overload; override;
Public procedure Translate(const delta: TAffineVector; base, nb: Integer); overload;
Public procedure TranslateItem(Index: Integer; const delta: TAffineVector);

Translates the given item

Public procedure TranslateItems(Index: Integer; const delta: TAffineVector; nb: Integer);

Translates given items

Protected procedure Put(Index: Integer; const item: TAffineVector); inline;
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: TAffineVector read Get write Put;
Public property List: PAffineVectorArray read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TVectorList

Class TVectorList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TVectorList = class(TBaseVectorList)

Description

A list of TGLVectors. Similar to TList, but using TGLVector as items. The list has stack-like push/pop methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TBaseVectorList
  • TVectorList

Overview

Fields

Private FList: PVectorArray;

Methods

Public | constructor Create; override;
Public | function Add(const X, Y, Z, w: Single): Integer; overload; inline;
Public | function Add(const item: TGLVector): Integer; overload; inline;
Public | function Add(const item: TAffineVector; w: Single): Integer; overload; inline;
Public | function AddPoint(const item: TAffineVector): Integer; overload;
Public | function AddPoint(const X, Y: Single; const Z: Single = 0): Integer; overload;
Public | function AddVector(const item: TAffineVector): Integer; overload;
Public | function FindOrAdd(const item: TGLVector): Integer;
Public | function FindOrAddPoint(const item: TAffineVector): Integer;
Public | function IndexOf(const item: TGLVector): Integer;
Public | function Pop: TGLVector;
Protected | function Get(Index: Integer): TGLVector; inline;
Public | procedure Add(const i1, i2, i3: TAffineVector; w: Single); overload; inline;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: TGLVector);
Public | procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public | procedure Push(const Val: TGLVector);
Protected | procedure Put(Index: Integer; const item: TGLVector); inline;
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: TGLVector read Get write Put;
Public | property List: PVectorArray read FList;

Description

Fields

Private FList: PVectorArray;

Methods

Public constructor Create; override;
Public function Add(const X, Y, Z, w: Single): Integer; overload; inline;
Public function Add(const item: TGLVector): Integer; overload; inline;
Public function Add(const item: TAffineVector; w: Single): Integer; overload; inline;
Public function AddPoint(const item: TAffineVector): Integer; overload;
Public function AddPoint(const X, Y: Single; const Z: Single = 0): Integer; overload;
Public function AddVector(const item: TAffineVector): Integer; overload;
Public function FindOrAdd(const item: TGLVector): Integer;
Public function FindOrAddPoint(const item: TAffineVector): Integer;
Public function IndexOf(const item: TGLVector): Integer;
Public function Pop: TGLVector;
Protected function Get(Index: Integer): TGLVector; inline;
Public procedure Add(const i1, i2, i3: TAffineVector; w: Single); overload; inline;
Public procedure Assign(Src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: TGLVector);
Public procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public procedure Push(const Val: TGLVector);
Protected procedure Put(Index: Integer; const item: TGLVector); inline;
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: TGLVector read Get write Put;
Public property List: PVectorArray read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TTexPointList

Class TTexPointList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TTexPointList = class(TBaseVectorList)

Description

A list of TTexPoint. Similar to TList, but using TTexPoint as items. The list has stack-like push/pop methods.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TBaseVectorList
  • TTexPointList

Overview

Fields

Private FList: PTexPointArray;

Methods

Public | constructor Create; override;
Public | function Add(const item: TVector2f): Integer; overload;
Public | function Add(const item: TTexPoint): Integer; overload;
Public | function Add(const texST: PIntegerArray): Integer; overload;
Public | function Add(const texS, Text: Integer): Integer; overload;
Public | function Add(const texS, Text: Single): Integer; overload;
Public | function AddNC(const texS, Text: Integer): Integer; overload;
Public | function AddNC(const texST: PIntegerArray): Integer; overload;
Public | function FindOrAdd(const item: TTexpoint): Integer;
Public | function IndexOf(const item: TTexpoint): Integer;
Public | function Pop: TTexPoint;
Protected | function Get(Index: Integer): TTexPoint;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: TTexPoint);
Public | procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public | procedure Push(const Val: TTexPoint);
Public | procedure ScaleAndTranslate(const scale, delta: TTexPoint); overload;
Public | procedure ScaleAndTranslate(const scale, delta: TTexPoint; base, nb: Integer); overload;
Public | procedure Translate(const delta: TTexPoint);
Protected | procedure Put(Index: Integer; const item: TTexPoint);
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: TTexPoint read Get write Put;
Public | property List: PTexPointArray read FList;

Description

Fields

Private FList: PTexPointArray;

Methods

Public constructor Create; override;
Public function Add(const item: TVector2f): Integer; overload;
Public function Add(const item: TTexPoint): Integer; overload;
Public function Add(const texST: PIntegerArray): Integer; overload;
Public function Add(const texS, Text: Integer): Integer; overload;
Public function Add(const texS, Text: Single): Integer; overload;
Public function AddNC(const texS, Text: Integer): Integer; overload;
Public function AddNC(const texST: PIntegerArray): Integer; overload;
Public function FindOrAdd(const item: TTexpoint): Integer;
Public function IndexOf(const item: TTexpoint): Integer;
Public function Pop: TTexPoint;
Protected function Get(Index: Integer): TTexPoint;
Public procedure Assign(Src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: TTexPoint);
Public procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public procedure Push(const Val: TTexPoint);
Public procedure ScaleAndTranslate(const scale, delta: TTexPoint); overload;
Public procedure ScaleAndTranslate(const scale, delta: TTexPoint; base, nb: Integer); overload;
Public procedure Translate(const delta: TTexPoint);
Protected procedure Put(Index: Integer; const item: TTexPoint);
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: TTexPoint read Get write Put;
Public property List: PTexPointArray read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TIntegerList

Class TIntegerList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TIntegerList = class(TBaseList)

Description

A list of Integers. Similar to TList, but using TTexPoint as items. The list has stack-like push/pop methods.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TIntegerList

Overview

Fields

Private FList: PIntegerArray;

Methods

Public | constructor Create; override;
Public | function Add(const item: Integer): Integer; overload; inline;
Public | function AddNC(const item: Integer): Integer; overload; inline;
Public | function AddSorted(const Value: Integer; const ignoreDuplicates: Boolean = False): Integer;
Public | function BinarySearch(const Value: Integer; returnBestFit: Boolean; var found: Boolean): Integer; overload;
Public | function BinarySearch(const Value: Integer): Integer; overload;
Public | function IndexOf(item: Integer): Integer; inline;
Public | function MaxInteger: Integer;
Public | function MinInteger: Integer;
Public | function Pop: Integer; inline;
Protected | function Get(Index: Integer): Integer; inline;
Public | procedure Add(const i1, i2: Integer); overload; inline;
Public | procedure Add(const i1, i2, i3: Integer); overload; inline;
Public | procedure Add(const AList: TIntegerList); overload; inline;
Public | procedure AddIntegers(const aList: TIntegerList); overload;
Public | procedure AddIntegers(const anArray: array of Integer); overload;
Public | procedure AddIntegers(const First: PInteger; n: Integer); overload;
Public | procedure AddSerie(aBase, aDelta, aCount: Integer);
Public | procedure Assign(src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: Integer); inline;
Public | procedure Offset(delta: Integer; const base, nb: Integer); overload;
Public | procedure Offset(delta: Integer); overload;
Public | procedure Push(const Val: Integer); inline;
Public | procedure Remove(const item: Integer); inline;
Public | procedure RemoveSorted(const Value: Integer);
Public | procedure Sort;
Public | procedure SortAndRemoveDuplicates;
Protected | procedure Put(Index: Integer; const item: Integer); inline;
Protected | procedure SetCapacity(newCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: Integer read Get write Put;
Public | property List: PIntegerArray read FList;

Description

Fields

Private FList: PIntegerArray;

Methods

Public constructor Create; override;
Public function Add(const item: Integer): Integer; overload; inline;
Public function AddNC(const item: Integer): Integer; overload; inline;
Public function AddSorted(const Value: Integer; const ignoreDuplicates: Boolean = False): Integer;

Add integer to a sorted list. Maintains the list sorted. If you have to add "a lot" of integers at once, use the Add method then Sort the list for better performance.

Public function BinarySearch(const Value: Integer; returnBestFit: Boolean; var found: Boolean): Integer; overload;

Locate a value in a sorted list. If ReturnBestFit is set to true, the routine will return the position of the largest value that's smaller than the sought value. Found will be set to True if the exact value was found, False if a "BestFit" was found

Public function BinarySearch(const Value: Integer): Integer; overload;

Locate a value in a sorted list

Public function IndexOf(item: Integer): Integer; inline;
Public function MaxInteger: Integer;

Returns the maximum integer item, zero if list is empty

Public function MinInteger: Integer;

Returns the minimum integer item, zero if list is empty

Public function Pop: Integer; inline;
Protected function Get(Index: Integer): Integer; inline;
Public procedure Add(const i1, i2: Integer); overload; inline;
Public procedure Add(const i1, i2, i3: Integer); overload; inline;
Public procedure Add(const AList: TIntegerList); overload; inline;
Public procedure AddIntegers(const aList: TIntegerList); overload;

Add all integers from aList into the list

Public procedure AddIntegers(const anArray: array of Integer); overload;

Add all integers from anArray into the list

Public procedure AddIntegers(const First: PInteger; n: Integer); overload;

Add n integers at the address starting at (and including) first

Public procedure AddSerie(aBase, aDelta, aCount: Integer);

Adds count items in an arithmetic serie. Items are (aBase),(aBase+aDelta)...(aBase+(aCount-1)*aDelta)

Public procedure Assign(src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: Integer); inline;
Public procedure Offset(delta: Integer; const base, nb: Integer); overload;
Public procedure Offset(delta: Integer); overload;

Adds delta to all items in the list

Public procedure Push(const Val: Integer); inline;
Public procedure Remove(const item: Integer); inline;
Public procedure RemoveSorted(const Value: Integer);

Removes an integer from a sorted list

Public procedure Sort;

Sort items in ascending order

Public procedure SortAndRemoveDuplicates;

Sort items in ascending order and remove duplicated integers

Protected procedure Put(Index: Integer; const item: Integer); inline;
Protected procedure SetCapacity(newCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: Integer read Get write Put;
Public property List: PIntegerArray read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TSingleList

Class TSingleList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TSingleList = class(TBaseList)

Description

A list of Single. Similar to TList, but using Single as items. The list has stack-like push/pop methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TSingleList

Overview

Fields

Private FList: PSingleArrayList;

Methods

Public | constructor Create; override;
Public | function Add(const item: Single): Integer; overload; inline;
Public | function Max: Single;
Public | function Min: Single;
Public | function Pop: Single; inline;
Public | function Sum: Single;
Protected | function Get(Index: Integer): Single; inline;
Public | procedure Add(const i1, i2: Single); overload; inline;
Public | procedure AddSerie(aBase, aDelta: Single; aCount: Integer);
Public | procedure AddSingles(const anArray: array of Single); overload;
Public | procedure AddSingles(const First: PSingle; n: Integer); overload; inline;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: Single); inline;
Public | procedure Offset(const delta: TSingleList); overload;
Public | procedure Offset(delta: Single); overload;
Public | procedure Push(const Val: Single); inline;
Public | procedure Scale(factor: Single);
Public | procedure Sqr;
Public | procedure Sqrt;
Protected | procedure Put(Index: Integer; const item: Single); inline;
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: Single read Get write Put;
Public | property List: PSingleArrayList read FList;

Description

Fields

Private FList: PSingleArrayList;

Methods

Public constructor Create; override;
Public function Add(const item: Single): Integer; overload; inline;
Public function Max: Single;
Public function Min: Single;
Public function Pop: Single; inline;
Public function Sum: Single;

Computes the sum of all elements

Protected function Get(Index: Integer): Single; inline;
Public procedure Add(const i1, i2: Single); overload; inline;
Public procedure AddSerie(aBase, aDelta: Single; aCount: Integer);
Public procedure AddSingles(const anArray: array of Single); overload;
Public procedure AddSingles(const First: PSingle; n: Integer); overload; inline;
Public procedure Assign(Src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: Single); inline;
Public procedure Offset(const delta: TSingleList); overload;

Adds to each item the corresponding item in the delta list. Performs 'Items[i]:=Items[i]+delta[i]'. If both lists don't have the same item count, an exception is raised

Public procedure Offset(delta: Single); overload;

Adds delta to all items in the list

Public procedure Push(const Val: Single); inline;
Public procedure Scale(factor: Single);

Multiplies all items by factor

Public procedure Sqr;

Square all items

Public procedure Sqrt;

SquareRoot all items

Protected procedure Put(Index: Integer; const item: Single); inline;
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: Single read Get write Put;
Public property List: PSingleArrayList read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TDoubleList

Class TDoubleList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TDoubleList = class(TBaseList)

Description

A list of Double. Similar to TList, but using Double as items. The list has stack-like push/pop methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TDoubleList

Overview

Fields

Private FList: PDoubleArrayList;

Methods

Public | constructor Create; override;
Public | function Add(const item: Double): Integer;
Public | function Max: Single;
Public | function Min: Single;
Public | function Pop: Double;
Public | function Sum: Double;
Protected | function Get(Index: Integer): Double;
Public | procedure AddSerie(aBase, aDelta: Double; aCount: Integer);
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: Double);
Public | procedure Offset(const delta: TDoubleList); overload;
Public | procedure Offset(delta: Double); overload;
Public | procedure Push(const Val: Double);
Public | procedure Scale(factor: Double);
Public | procedure Sqr;
Public | procedure Sqrt;
Protected | procedure Put(Index: Integer; const item: Double);
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: Double read Get write Put;
Public | property List: PDoubleArrayList read FList;

Description

Fields

Private FList: PDoubleArrayList;

Methods

Public constructor Create; override;
Public function Add(const item: Double): Integer;
Public function Max: Single;
Public function Min: Single;
Public function Pop: Double;
Public function Sum: Double;

Computes the sum of all elements

Protected function Get(Index: Integer): Double;
Public procedure AddSerie(aBase, aDelta: Double; aCount: Integer);
Public procedure Assign(Src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: Double);
Public procedure Offset(const delta: TDoubleList); overload;

Adds to each item the corresponding item in the delta list. Performs 'Items[i]:=Items[i]+delta[i]'. If both lists don't have the same item count, an exception is raised

Public procedure Offset(delta: Double); overload;

Adds delta to all items in the list

Public procedure Push(const Val: Double);
Public procedure Scale(factor: Double);

Multiplies all items by factor

Public procedure Sqr;

Square all items

Public procedure Sqrt;

SquareRoot all items

Protected procedure Put(Index: Integer; const item: Double);
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: Double read Get write Put;
Public property List: PDoubleArrayList read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TByteList

Class TByteList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TByteList = class(TBaseList)

Description

A list of bytes. Similar to TList, but using Byte as items

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TByteList

Overview

Fields

Private FList: PByteArray;

Methods

Public | constructor Create; override;
Public | function Add(const item: Byte): Integer; inline;
Protected | function Get(Index: Integer): Byte; inline;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: Byte); inline;
Protected | procedure Put(Index: Integer; const item: Byte); inline;
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: Byte read Get write Put;
Public | property List: PByteArray read FList;

Description

Fields

Private FList: PByteArray;

Methods

Public constructor Create; override;
Public function Add(const item: Byte): Integer; inline;
Protected function Get(Index: Integer): Byte; inline;
Public procedure Assign(Src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: Byte); inline;
Protected procedure Put(Index: Integer; const item: Byte); inline;
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: Byte read Get write Put;
Public property List: PByteArray read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TQuaternionList

Class TQuaternionList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TQuaternionList = class(TBaseVectorList)

Description

A list of TQuaternion. Similar to TList, but using TQuaternion as items. The list has stack-like push/pop methods

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TBaseVectorList
  • TQuaternionList

Overview

Fields

Private FList: PQuaternionArray;

Methods

Public | constructor Create; override;
Public | function Add(const item: TQuaternion): Integer; overload;
Public | function Add(const X, Y, Z, W: Single): Integer; overload;
Public | function Add(const item: TAffineVector; w: Single): Integer; overload;
Public | function FindOrAdd(const item: TQuaternion): Integer;
Public | function IndexOf(const item: TQuaternion): Integer;
Public | function Pop: TQuaternion;
Protected | function Get(Index: Integer): TQuaternion;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Combine(const list2: TBaseVectorList; factor: Single); override;
Public | procedure Insert(Index: Integer; const item: TQuaternion);
Public | procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;
Public | procedure Push(const Val: TQuaternion);
Protected | procedure Put(Index: Integer; const item: TQuaternion);
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: TQuaternion read Get write Put;
Public | property List: PQuaternionArray read FList;

Description

Fields

Private FList: PQuaternionArray;

Methods

Public constructor Create; override;
Public function Add(const item: TQuaternion): Integer; overload;
Public function Add(const X, Y, Z, W: Single): Integer; overload;
Public function Add(const item: TAffineVector; w: Single): Integer; overload;
Public function FindOrAdd(const item: TQuaternion): Integer;
Public function IndexOf(const item: TQuaternion): Integer;
Public function Pop: TQuaternion;
Protected function Get(Index: Integer): TQuaternion;
Public procedure Assign(Src: TPersistent); override;
Public procedure Combine(const list2: TBaseVectorList; factor: Single); override;

Multiplies corresponding quaternions after the second quaternion is slerped with the IdentityQuaternion using factor. This allows for weighted combining of rotation transforms using quaternions

Public procedure Insert(Index: Integer; const item: TQuaternion);
Public procedure Lerp(const list1, list2: TBaseVectorList; lerpFactor: Single); override;

Lerps corresponding quaternions from both lists using QuaternionSlerp

Public procedure Push(const Val: TQuaternion);
Protected procedure Put(Index: Integer; const item: TQuaternion);
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: TQuaternion read Get write Put;
Public property List: PQuaternionArray read FList;


GLSysHelp v.2.1: GLS.VectorLists: Packed Record T4ByteData

Packed Record T4ByteData

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type T4ByteData = packed record

Description

4 byte union contain access like Integer, Single and four Byte

Overview

Fields

Public | Bytes: record
Public | Int: record
Public | UInt: record
Public | Float: record
Public | Word: record

Description

Fields

Public Bytes: record
Public Int: record
Public UInt: record
Public Float: record
Public Word: record


GLSysHelp v.2.1: GLS.VectorLists: Class T4ByteList

Class T4ByteList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type T4ByteList = class(TBaseList)

Description

A list of T4ByteData

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • T4ByteList

Overview

Fields

Private FList: P4ByteArrayList;

Methods

Public | constructor Create; override;
Public | function Add(const item: T4ByteData): Integer; overload;
Public | function Pop: T4ByteData;
Protected | function Get(Index: Integer): T4ByteData;
Public | procedure Add(const i1: Cardinal); overload;
Public | procedure Add(const i1, i2, i3: Integer); overload;
Public | procedure Add(const i1, i2, i3, i4: Integer); overload;
Public | procedure Add(const i1, i2: Cardinal); overload;
Public | procedure Add(const AList: T4ByteList); overload;
Public | procedure Add(const i1, i2, i3, i4: Cardinal); overload;
Public | procedure Add(const i1, i2, i3: Cardinal); overload;
Public | procedure Add(const i1, i2: Integer); overload;
Public | procedure Add(const i1, i2: Single); overload;
Public | procedure Add(const i1: Single); overload;
Public | procedure Add(const i1, i2, i3: Single); overload;
Public | procedure Add(const i1: Integer); overload;
Public | procedure Add(const i1, i2, i3, i4: Single); overload;
Public | procedure Assign(Src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: T4ByteData);
Public | procedure Push(const Val: T4ByteData);
Protected | procedure Put(Index: Integer; const item: T4ByteData);
Protected | procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: T4ByteData read Get write Put;
Public | property List: P4ByteArrayList read FList;

Description

Fields

Private FList: P4ByteArrayList;

Methods

Public constructor Create; override;
Public function Add(const item: T4ByteData): Integer; overload;
Public function Pop: T4ByteData;
Protected function Get(Index: Integer): T4ByteData;
Public procedure Add(const i1: Cardinal); overload;
Public procedure Add(const i1, i2, i3: Integer); overload;
Public procedure Add(const i1, i2, i3, i4: Integer); overload;
Public procedure Add(const i1, i2: Cardinal); overload;
Public procedure Add(const AList: T4ByteList); overload;
Public procedure Add(const i1, i2, i3, i4: Cardinal); overload;
Public procedure Add(const i1, i2, i3: Cardinal); overload;
Public procedure Add(const i1, i2: Integer); overload;
Public procedure Add(const i1, i2: Single); overload;
Public procedure Add(const i1: Single); overload;
Public procedure Add(const i1, i2, i3: Single); overload;
Public procedure Add(const i1: Integer); overload;
Public procedure Add(const i1, i2, i3, i4: Single); overload;
Public procedure Assign(Src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: T4ByteData);
Public procedure Push(const Val: T4ByteData);
Protected procedure Put(Index: Integer; const item: T4ByteData);
Protected procedure SetCapacity(NewCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: T4ByteData read Get write Put;
Public property List: P4ByteArrayList read FList;


GLSysHelp v.2.1: GLS.VectorLists: Class TLongWordList

Class TLongWordList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorLists

Declaration

type TLongWordList = class(TBaseList)

Description

No description available, ancestor TBaseList description follows

Base class for lists, introduces common behaviours

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TBaseList
  • TLongWordList

Overview

Fields

Private FList: PLongWordArray;

Methods

Public | constructor Create; override;
Public | function Add(const item: LongWord): Integer; overload;
Public | function AddNC(const item: LongWord): Integer; overload;
Public | function IndexOf(item: Integer): LongWord;
Public | function Pop: LongWord;
Protected | function Get(Index: Integer): LongWord;
Public | procedure Add(const i1, i2, i3: LongWord); overload;
Public | procedure Add(const AList: TLongWordList); overload;
Public | procedure Add(const i1, i2: LongWord); overload;
Public | procedure AddLongWords(const aList: TLongWordList); overload;
Public | procedure AddLongWords(const First: PLongWord; n: Integer); overload;
Public | procedure AddLongWords(const anArray: array of LongWord); overload;
Public | procedure Assign(src: TPersistent); override;
Public | procedure Insert(Index: Integer; const item: LongWord);
Public | procedure Push(const Val: LongWord);
Public | procedure Remove(const item: LongWord);
Protected | procedure Put(Index: Integer; const item: LongWord);
Protected | procedure SetCapacity(newCapacity: Integer); override;

Properties

Public | property Items[Index:Integer]: LongWord read Get write Put;
Public | property List: PLongWordArray read FList;

Description

Fields

Private FList: PLongWordArray;

Methods

Public constructor Create; override;
Public function Add(const item: LongWord): Integer; overload;
Public function AddNC(const item: LongWord): Integer; overload;
Public function IndexOf(item: Integer): LongWord;
Public function Pop: LongWord;
Protected function Get(Index: Integer): LongWord;
Public procedure Add(const i1, i2, i3: LongWord); overload;
Public procedure Add(const AList: TLongWordList); overload;
Public procedure Add(const i1, i2: LongWord); overload;
Public procedure AddLongWords(const aList: TLongWordList); overload;

Add all integers from aList into the list

Public procedure AddLongWords(const First: PLongWord; n: Integer); overload;

Add n integers at the address starting at (and including) first

Public procedure AddLongWords(const anArray: array of LongWord); overload;

Add all integers from anArray into the list

Public procedure Assign(src: TPersistent); override;
Public procedure Insert(Index: Integer; const item: LongWord);
Public procedure Push(const Val: LongWord);
Public procedure Remove(const item: LongWord);
Protected procedure Put(Index: Integer; const item: LongWord);
Protected procedure SetCapacity(newCapacity: Integer); override;

Properties

Public property Items[Index:Integer]: LongWord read Get write Put;
Public property List: PLongWordArray read FList;


GLSysHelp v.2.1: GLS.VectorTypes

Unit GLS.VectorTypes

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record _WGLSWAP |
Record T_cl_context |
Record T_cl_event |
Record TVector2d |
Record TVector2f |
Record TVector2h |
Record TVector2i |
Record TVector2ui |
Record TVector2s |
Record TVector2b |
Record TVector2sb |
Record TVector2e |
Record TVector2w |
Record TVector2p |
Record TVector3d |
Record TVector3f |
Record TVector3h |
Record TVector3i |
Record TVector3ui |
Record TVector3s |
Record TVector3b |
Record TVector3sb |
Record TVector3e |
Record TVector3w |
Record TVector3p |
Record TVector4d |
Record TVector4f |
Record TVector4h |
Record TVector4i |
Record TVector4ui |
Record TVector4s |
Record TVector4b |
Record TVector4sb |
Record TVector4e |
Record TVector4w |
Record TVector4p |
Record TMatrix2d |
Record TMatrix2f |
Record TMatrix2i |
Record TMatrix2s |
Record TMatrix2b |
Record TMatrix2e |
Record TMatrix2w |
Record TMatrix2p |
Record TMatrix3d |
Record TMatrix3f |
Record TMatrix3i |
Record TMatrix3s |
Record TMatrix3b |
Record TMatrix3e |
Record TMatrix3w |
Record TMatrix3p |
Record TMatrix4d |
Record TMatrix4f |
Record TMatrix4i |
Record TMatrix4s |
Record TMatrix4b |
Record TMatrix4e |
Record TMatrix4w |
Record TMatrix4p |
Packed Record TD3DVector |
Packed Record TD3DMatrix |

Types

HPBUFFERARB = Integer;
PGLbitfield = ˆTGLbitfield;
PGLboolean = ˆTGLboolean;
PGLbyte = ˆTGLbyte;
PGLchar = MarshaledAString;
PGLclampd = System.PDouble;
PGLclampf = System.PSingle;
PGLdouble = System.PDouble;
PGLenum = ˆTGLenum;
PGLhalf = ˆTGLhalf;
PGLhandleARB = ˆTGLhandleARB;
PGLint = System.PInteger;
PGLint64 = System.PInt64;
PGLint64EXT = System.PInt64;
PGLintptr = ˆTGLintptr;
PGLMatrix = ˆTGLMatrix;
PGLPCharArray = ˆPAnsiChar;
PGLPointer = ˆPGLvoid;
PGLshort = ˆTGLshort;
PGLsizei = System.PInteger;
PGLsizeiptr = ˆTGLsizeiptr;
PGLsync = ˆTGLsync;
PGLubyte = System.PByte;
PGLuint = System.PCardinal;
PGLuint64 = System.PUInt64;
PGLuint64EXT = System.PUInt64;
PGLushort = System.PWord;
PGLVector = ˆTGLVector;
PGLvoid = Pointer;
PWGLswap = ˆTWGLswap;
P_cl_context = ˆT_cl_context;
P_cl_event = ˆT_cl_event;
TGLbitfield = UINT;
TGLboolean = BYTEBOOL;
TGLbyte = ShortInt;
TGLchar = Byte;
TGLclampd = Double;
TGLdouble = Double;
TGLenum = Cardinal;
TGLfloat = Single;
TGLhalf = WORD;
TGLhandleARB = Cardinal;
TGLint = Integer;
TGLint64 = Int64;
TGLint64EXT = Int64;
TGLintptr = NativeInt;
TGLMatrix = TMatrix4f;
TGLshort = SmallInt;
TGLsizei = Integer;
TGLsizeiptr = NativeInt;
TGLsync = NativeInt;
TGLubyte = Byte;
TGLuint = Cardinal;
TGLuint64 = UInt64;
TGLuint64EXT = UInt64;
TGLushort = Word;
TGLVector = TVector4f;
TWGLswap = _WGLSWAP;
WGLSWAP = _WGLSWAP;

Description

Types

HPBUFFERARB = Integer;
PGLbitfield = ˆTGLbitfield;
PGLboolean = ˆTGLboolean;
PGLbyte = ˆTGLbyte;
PGLchar = MarshaledAString;
PGLclampd = System.PDouble;
PGLclampf = System.PSingle;
PGLdouble = System.PDouble;
PGLenum = ˆTGLenum;
PGLhalf = ˆTGLhalf;
PGLhandleARB = ˆTGLhandleARB;
PGLint = System.PInteger;
PGLint64 = System.PInt64;
PGLint64EXT = System.PInt64;
PGLintptr = ˆTGLintptr;
PGLMatrix = ˆTGLMatrix;
PGLPCharArray = ˆPAnsiChar;
PGLPointer = ˆPGLvoid;
PGLshort = ˆTGLshort;
PGLsizei = System.PInteger;
PGLsizeiptr = ˆTGLsizeiptr;
PGLsync = ˆTGLsync;
PGLubyte = System.PByte;
PGLuint = System.PCardinal;
PGLuint64 = System.PUInt64;
PGLuint64EXT = System.PUInt64;
PGLushort = System.PWord;
PGLVector = ˆTGLVector;
PGLvoid = Pointer;
PWGLswap = ˆTWGLswap;

========= Windows types ==============

P_cl_context = ˆT_cl_context;
P_cl_event = ˆT_cl_event;
TGLbitfield = UINT;
TGLboolean = BYTEBOOL;

=========== OpenGL types ============

TGLbyte = ShortInt;
TGLchar = Byte;
TGLclampd = Double;
TGLdouble = Double;
TGLenum = Cardinal;
TGLfloat = Single;
TGLhalf = WORD;
TGLhandleARB = Cardinal;
TGLint = Integer;
TGLint64 = Int64;
TGLint64EXT = Int64;
TGLintptr = NativeInt;

the size of these depend on platform (32bit or 64bit)

TGLMatrix = TMatrix4f;
TGLshort = SmallInt;
TGLsizei = Integer;
TGLsizeiptr = NativeInt;
TGLsync = NativeInt;
TGLubyte = Byte;
TGLuint = Cardinal;
TGLuint64 = UInt64;
TGLuint64EXT = UInt64;
TGLushort = Word;
TGLVector = TVector4f;
TWGLswap = _WGLSWAP;
WGLSWAP = _WGLSWAP;


GLSysHelp v.2.1: GLS.VectorTypes: Packed Record _WGLSWAP

Packed Record _WGLSWAP

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type _WGLSWAP = packed record

Description

Overview

Fields

Public | hdc: HDC;
Public | uiFlags: UINT;

Description

Fields

Public hdc: HDC;
Public uiFlags: UINT;


GLSysHelp v.2.1: GLS.VectorTypes: Record T_cl_context

Record T_cl_context

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type T_cl_context = record

Description

These OpenCL's types are compatible with cl_context and cl_event


GLSysHelp v.2.1: GLS.VectorTypes: Record T_cl_event

Record T_cl_event

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type T_cl_event = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2d

Record TVector2d

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2d = record

Description

=========== Vectors ============ 2

Overview

Fields

Public | V: array[0..1] of Double
Public | X: Double;
Public | Y: Double

Description

Fields

Public V: array[0..1] of Double
Public X: Double;
Public Y: Double


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2f

Record TVector2f

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2f = record

Description

Overview

Fields

Public | V: array[0..1] of Single
Public | X: Single
Public | Y: Single

Description

Fields

Public V: array[0..1] of Single
Public X: Single
Public Y: Single


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2h

Record TVector2h

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2h = record

Description

Overview

Fields

Public | V: array[0..1] of Word
Public | X: Word
Public | Y: Word

Description

Fields

Public V: array[0..1] of Word
Public X: Word
Public Y: Word


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2i

Record TVector2i

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2i = record

Description

Overview

Fields

Public | V: array[0..1] of Longint
Public | X: Longint
Public | Y: Longint

Description

Fields

Public V: array[0..1] of Longint
Public X: Longint
Public Y: Longint


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2ui

Record TVector2ui

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2ui = record

Description

Overview

Fields

Public | V: array[0..1] of Longword
Public | X: Longword
Public | Y: Longword

Description

Fields

Public V: array[0..1] of Longword
Public X: Longword
Public Y: Longword


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2s

Record TVector2s

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2s = record

Description

Overview

Fields

Public | V: array[0..1] of Smallint
Public | X: Smallint
Public | Y: Smallint

Description

Fields

Public V: array[0..1] of Smallint
Public X: Smallint
Public Y: Smallint


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2b

Record TVector2b

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2b = record

Description

Overview

Fields

Public | V: array[0..1] of Byte
Public | X: Byte
Public | Y: Byte

Description

Fields

Public V: array[0..1] of Byte
Public X: Byte
Public Y: Byte


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2sb

Record TVector2sb

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2sb = record

Description

Overview

Fields

Public | V: array[0..1] of ShortInt
Public | X: ShortInt
Public | Y: ShortInt

Description

Fields

Public V: array[0..1] of ShortInt
Public X: ShortInt
Public Y: ShortInt


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2e

Record TVector2e

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2e = record

Description

Overview

Fields

Public | V: array[0..1] of Extended
Public | X: Extended
Public | Y: Extended

Description

Fields

Public V: array[0..1] of Extended
Public X: Extended
Public Y: Extended


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2w

Record TVector2w

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2w = record

Description

Overview

Fields

Public | V: array[0..1] of Word
Public | X: Word
Public | Y: Word

Description

Fields

Public V: array[0..1] of Word
Public X: Word
Public Y: Word


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector2p

Record TVector2p

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector2p = record

Description

Overview

Fields

Public | V: array[0..1] of Pointer
Public | X: Pointer
Public | Y: Pointer

Description

Fields

Public V: array[0..1] of Pointer
Public X: Pointer
Public Y: Pointer


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3d

Record TVector3d

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3d = record

Description

3

Overview

Fields

Public | V: array[0..2] of Double
Public | X: Double
Public | Y: Double
Public | Z: Double

Description

Fields

Public V: array[0..2] of Double
Public X: Double
Public Y: Double
Public Z: Double


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3f

Record TVector3f

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3f = record

Description

Overview

Fields

Public | V: array[0..2] of Single
Public | X: Single
Public | Y: Single
Public | Z: Single

Description

Fields

Public V: array[0..2] of Single
Public X: Single
Public Y: Single
Public Z: Single


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3h

Record TVector3h

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3h = record

Description

Overview

Fields

Public | V: array[0..2] of Word
Public | X: Word
Public | Y: Word
Public | Z: Word

Description

Fields

Public V: array[0..2] of Word
Public X: Word
Public Y: Word
Public Z: Word


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3i

Record TVector3i

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3i = record

Description

Overview

Fields

Public | V: array[0..2] of Longint
Public | X: Longint
Public | Y: Longint
Public | Z: Longint

Description

Fields

Public V: array[0..2] of Longint
Public X: Longint
Public Y: Longint
Public Z: Longint


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3ui

Record TVector3ui

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3ui = record

Description

Overview

Fields

Public | V: array[0..2] of Longword
Public | X: Longword
Public | Y: Longword
Public | Z: Longword

Description

Fields

Public V: array[0..2] of Longword
Public X: Longword
Public Y: Longword
Public Z: Longword


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3s

Record TVector3s

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3s = record

Description

Overview

Fields

Public | V: array[0..2] of Smallint
Public | X: Smallint
Public | Y: Smallint
Public | Z: Smallint

Description

Fields

Public V: array[0..2] of Smallint
Public X: Smallint
Public Y: Smallint
Public Z: Smallint


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3b

Record TVector3b

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3b = record

Description

Overview

Fields

Public | V: array[0..2] of Byte
Public | X: Byte
Public | Y: Byte
Public | Z: Byte

Description

Fields

Public V: array[0..2] of Byte
Public X: Byte
Public Y: Byte
Public Z: Byte


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3sb

Record TVector3sb

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3sb = record

Description

Overview

Fields

Public | V: array[0..2] of ShortInt
Public | X: ShortInt
Public | Y: ShortInt
Public | Z: ShortInt

Description

Fields

Public V: array[0..2] of ShortInt
Public X: ShortInt
Public Y: ShortInt
Public Z: ShortInt


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3e

Record TVector3e

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3e = record

Description

Overview

Fields

Public | V: array[0..2] of Extended
Public | X: Extended
Public | Y: Extended
Public | Z: Extended

Description

Fields

Public V: array[0..2] of Extended
Public X: Extended
Public Y: Extended
Public Z: Extended


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3w

Record TVector3w

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3w = record

Description

Overview

Fields

Public | V: array[0..2] of Word
Public | X: Word
Public | Y: Word
Public | Z: Word

Description

Fields

Public V: array[0..2] of Word
Public X: Word
Public Y: Word
Public Z: Word


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector3p

Record TVector3p

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector3p = record

Description

Overview

Fields

Public | V: array[0..2] of Pointer
Public | X: Pointer
Public | Y: Pointer
Public | Z: Pointer

Description

Fields

Public V: array[0..2] of Pointer
Public X: Pointer
Public Y: Pointer
Public Z: Pointer


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4d

Record TVector4d

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4d = record

Description

4

Overview

Fields

Public | V: array[0..3] of Double
Public | X: Double
Public | Y: Double
Public | Z: Double
Public | W: Double

Description

Fields

Public V: array[0..3] of Double
Public X: Double
Public Y: Double
Public Z: Double
Public W: Double


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4f

Record TVector4f

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4f = record

Description

Overview

Fields

Public | V: array[0..3] of Single
Public | X: Single
Public | Y: Single
Public | Z: Single
Public | W: Single

Description

Fields

Public V: array[0..3] of Single
Public X: Single
Public Y: Single
Public Z: Single
Public W: Single


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4h

Record TVector4h

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4h = record

Description

Overview

Fields

Public | V: array[0..3] of Word
Public | X: Word
Public | Y: Word
Public | Z: Word
Public | W: Word

Description

Fields

Public V: array[0..3] of Word
Public X: Word
Public Y: Word
Public Z: Word
Public W: Word


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4i

Record TVector4i

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4i = record

Description

Overview

Fields

Public | V: array[0..3] of LongInt
Public | X: Longint
Public | Y: Longint
Public | Z: Longint
Public | W: Longint

Description

Fields

Public V: array[0..3] of LongInt
Public X: Longint
Public Y: Longint
Public Z: Longint
Public W: Longint


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4ui

Record TVector4ui

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4ui = record

Description

Overview

Fields

Public | V: array[0..3] of LongWord
Public | X: LongWord
Public | Y: LongWord
Public | Z: LongWord
Public | W: LongWord

Description

Fields

Public V: array[0..3] of LongWord
Public X: LongWord
Public Y: LongWord
Public Z: LongWord
Public W: LongWord


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4s

Record TVector4s

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4s = record

Description

Overview

Fields

Public | V: array[0..3] of SmallInt
Public | X: SmallInt
Public | Y: SmallInt
Public | Z: SmallInt
Public | W: SmallInt

Description

Fields

Public V: array[0..3] of SmallInt
Public X: SmallInt
Public Y: SmallInt
Public Z: SmallInt
Public W: SmallInt


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4b

Record TVector4b

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4b = record

Description

Overview

Fields

Public | V: array[0..3] of Byte
Public | X: Byte
Public | Y: Byte
Public | Z: Byte
Public | W: Byte

Description

Fields

Public V: array[0..3] of Byte
Public X: Byte
Public Y: Byte
Public Z: Byte
Public W: Byte


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4sb

Record TVector4sb

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4sb = record

Description

Overview

Fields

Public | V: array[0..3] of ShortInt
Public | X: ShortInt
Public | Y: ShortInt
Public | Z: ShortInt
Public | W: ShortInt

Description

Fields

Public V: array[0..3] of ShortInt
Public X: ShortInt
Public Y: ShortInt
Public Z: ShortInt
Public W: ShortInt


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4e

Record TVector4e

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4e = record

Description

Overview

Fields

Public | V: array[0..3] of Extended
Public | X: Extended
Public | Y: Extended
Public | Z: Extended
Public | W: Extended

Description

Fields

Public V: array[0..3] of Extended
Public X: Extended
Public Y: Extended
Public Z: Extended
Public W: Extended


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4w

Record TVector4w

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4w = record

Description

Overview

Fields

Public | V: array[0..3] of Word
Public | X: Word
Public | Y: Word
Public | Z: Word
Public | W: Word

Description

Fields

Public V: array[0..3] of Word
Public X: Word
Public Y: Word
Public Z: Word
Public W: Word


GLSysHelp v.2.1: GLS.VectorTypes: Record TVector4p

Record TVector4p

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TVector4p = record

Description

Overview

Fields

Public | V: array[0..3] of Pointer
Public | X: Pointer
Public | Y: Pointer
Public | Z: Pointer
Public | W: Pointer

Description

Fields

Public V: array[0..3] of Pointer
Public X: Pointer
Public Y: Pointer
Public Z: Pointer
Public W: Pointer


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2d

Record TMatrix2d

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2d = record

Description

=========== Matrices ============

Overview

Fields

Public | V: array[0..1] of TVector2d
Public | X: TVector2d
Public | Y: TVector2d

Description

Fields

Public V: array[0..1] of TVector2d
Public X: TVector2d
Public Y: TVector2d


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2f

Record TMatrix2f

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2f = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2f
Public | X: TVector2f
Public | Y: TVector2f

Description

Fields

Public V: array[0..1] of TVector2f
Public X: TVector2f
Public Y: TVector2f


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2i

Record TMatrix2i

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2i = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2i
Public | X: TVector2i
Public | Y: TVector2i

Description

Fields

Public V: array[0..1] of TVector2i
Public X: TVector2i
Public Y: TVector2i


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2s

Record TMatrix2s

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2s = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2s
Public | X: TVector2s
Public | Y: TVector2s

Description

Fields

Public V: array[0..1] of TVector2s
Public X: TVector2s
Public Y: TVector2s


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2b

Record TMatrix2b

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2b = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2b
Public | X: TVector2b
Public | Y: TVector2b

Description

Fields

Public V: array[0..1] of TVector2b
Public X: TVector2b
Public Y: TVector2b


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2e

Record TMatrix2e

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2e = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2e
Public | X: TVector2e
Public | Y: TVector2e

Description

Fields

Public V: array[0..1] of TVector2e
Public X: TVector2e
Public Y: TVector2e


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2w

Record TMatrix2w

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2w = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2w
Public | X: TVector2w
Public | Y: TVector2w

Description

Fields

Public V: array[0..1] of TVector2w
Public X: TVector2w
Public Y: TVector2w


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix2p

Record TMatrix2p

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix2p = record

Description

Overview

Fields

Public | V: array[0..1] of TVector2p
Public | X: TVector2p
Public | Y: TVector2p

Description

Fields

Public V: array[0..1] of TVector2p
Public X: TVector2p
Public Y: TVector2p


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3d

Record TMatrix3d

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3d = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3d
Public | X: TVector3d
Public | Y: TVector3d
Public | Z: TVector3d

Description

Fields

Public V: array[0..2] of TVector3d
Public X: TVector3d
Public Y: TVector3d
Public Z: TVector3d


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3f

Record TMatrix3f

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3f = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3f
Public | X: TVector3f
Public | Y: TVector3f
Public | Z: TVector3f

Description

Fields

Public V: array[0..2] of TVector3f
Public X: TVector3f
Public Y: TVector3f
Public Z: TVector3f


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3i

Record TMatrix3i

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3i = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3i
Public | X: TVector3i
Public | Y: TVector3i
Public | Z: TVector3i

Description

Fields

Public V: array[0..2] of TVector3i
Public X: TVector3i
Public Y: TVector3i
Public Z: TVector3i


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3s

Record TMatrix3s

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3s = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3s
Public | X: TVector3s
Public | Y: TVector3s
Public | Z: TVector3s

Description

Fields

Public V: array[0..2] of TVector3s
Public X: TVector3s
Public Y: TVector3s
Public Z: TVector3s


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3b

Record TMatrix3b

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3b = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3b
Public | X: TVector3b
Public | Y: TVector3b
Public | Z: TVector3b

Description

Fields

Public V: array[0..2] of TVector3b
Public X: TVector3b
Public Y: TVector3b
Public Z: TVector3b


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3e

Record TMatrix3e

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3e = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3e
Public | X: TVector3e
Public | Y: TVector3e
Public | Z: TVector3e

Description

Fields

Public V: array[0..2] of TVector3e
Public X: TVector3e
Public Y: TVector3e
Public Z: TVector3e


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3w

Record TMatrix3w

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3w = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3w
Public | X: TVector3w
Public | Y: TVector3w
Public | Z: TVector3w

Description

Fields

Public V: array[0..2] of TVector3w
Public X: TVector3w
Public Y: TVector3w
Public Z: TVector3w


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix3p

Record TMatrix3p

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix3p = record

Description

Overview

Fields

Public | V: array[0..2] of TVector3p
Public | X: TVector3p
Public | Y: TVector3p
Public | Z: TVector3p

Description

Fields

Public V: array[0..2] of TVector3p
Public X: TVector3p
Public Y: TVector3p
Public Z: TVector3p


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4d

Record TMatrix4d

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4d = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4d
Public | X: TVector4d
Public | Y: TVector4d
Public | Z: TVector4d
Public | W: TVector4d

Description

Fields

Public V: array[0..3] of TVector4d
Public X: TVector4d
Public Y: TVector4d
Public Z: TVector4d
Public W: TVector4d


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4f

Record TMatrix4f

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4f = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4f
Public | X: TVector4f
Public | Y: TVector4f
Public | Z: TVector4f
Public | W: TVector4f

Description

Fields

Public V: array[0..3] of TVector4f
Public X: TVector4f
Public Y: TVector4f
Public Z: TVector4f
Public W: TVector4f


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4i

Record TMatrix4i

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4i = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4i
Public | X: TVector4i
Public | Y: TVector4i
Public | Z: TVector4i
Public | W: TVector4i

Description

Fields

Public V: array[0..3] of TVector4i
Public X: TVector4i
Public Y: TVector4i
Public Z: TVector4i
Public W: TVector4i


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4s

Record TMatrix4s

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4s = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4s
Public | X: TVector4s
Public | Y: TVector4s
Public | Z: TVector4s
Public | W: TVector4s

Description

Fields

Public V: array[0..3] of TVector4s
Public X: TVector4s
Public Y: TVector4s
Public Z: TVector4s
Public W: TVector4s


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4b

Record TMatrix4b

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4b = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4b
Public | X: TVector4b
Public | Y: TVector4b
Public | Z: TVector4b
Public | W: TVector4b

Description

Fields

Public V: array[0..3] of TVector4b
Public X: TVector4b
Public Y: TVector4b
Public Z: TVector4b
Public W: TVector4b


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4e

Record TMatrix4e

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4e = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4e
Public | X: TVector4e
Public | Y: TVector4e
Public | Z: TVector4e
Public | W: TVector4e

Description

Fields

Public V: array[0..3] of TVector4e
Public X: TVector4e
Public Y: TVector4e
Public Z: TVector4e
Public W: TVector4e


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4w

Record TMatrix4w

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4w = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4w
Public | X: TVector4w
Public | Y: TVector4w
Public | Z: TVector4w
Public | W: TVector4w

Description

Fields

Public V: array[0..3] of TVector4w
Public X: TVector4w
Public Y: TVector4w
Public Z: TVector4w
Public W: TVector4w


GLSysHelp v.2.1: GLS.VectorTypes: Record TMatrix4p

Record TMatrix4p

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TMatrix4p = record

Description

Overview

Fields

Public | V: array[0..3] of TVector4p
Public | X: TVector4p
Public | Y: TVector4p
Public | Z: TVector4p
Public | W: TVector4p

Description

Fields

Public V: array[0..3] of TVector4p
Public X: TVector4p
Public Y: TVector4p
Public Z: TVector4p
Public W: TVector4p


GLSysHelp v.2.1: GLS.VectorTypes: Packed Record TD3DVector

Packed Record TD3DVector

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TD3DVector = packed record

Description

Overview

Fields

Public | X: single;
Public | Y: single;
Public | Z: single
Public | V: TVector3f

Description

Fields

Public X: single;
Public Y: single;
Public Z: single
Public V: TVector3f


GLSysHelp v.2.1: GLS.VectorTypes: Packed Record TD3DMatrix

Packed Record TD3DMatrix

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypes

Declaration

type TD3DMatrix = packed record

Description

Overview

Fields

Public | _11: single;
Public | _12: single;
Public | _13: single;
Public | _14: single;
Public | _21: single;
Public | _22: single;
Public | _23: single;
Public | _24: single;
Public | _31: single;
Public | _32: single;
Public | _33: single;
Public | _34: single;
Public | _41: single
Public | _42: single
Public | _43: single
Public | _44: single
Public | M: TMatrix4f

Description

Fields

Public _11: single;
Public _12: single;
Public _13: single;
Public _14: single;
Public _21: single;
Public _22: single;
Public _23: single;
Public _24: single;
Public _31: single;
Public _32: single;
Public _33: single;
Public _34: single;
Public _41: single
Public _42: single
Public _43: single
Public _44: single
Public M: TMatrix4f


GLSysHelp v.2.1: GLS.VectorTypesExt

Unit GLS.VectorTypesExt

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Types
  • System.TypInfo
  • System.SysUtils
  • System.Rtti
  • System.Math
  • System.Math.Vectors
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLQuat |
Record TGLVec |
Record TGLMat |
Record TGLQuatHelper |
Record TGLVecHelper |
Class TGLDim |
Record TGLVertRec |
Record TGLFaceRec |
Record TGLPoint2D |
Record TGLPoint3D |
Record TGLVoxel |
Record TGLVec2D |
Record TGLVec3D |
Record TGLMat2D |
Record TGLMat3D |
Record TGLTrianRec |
Record TGLMesh2DVert |
Packed Record TGLMesh3DVert |
Record TGLQuat3D |
Record TGLBoxRec |

Functions and Procedures

function GetGLVec(V: TGLBigMatrix): TGLVec;
function GetGLMat(M: TGLBigMatrixExt): TGLMat;
function GetGLQuat(Q: TGLBigMatrix): TGLQuat;
procedure Init(Obj, TypeInfoOfObj: Pointer; Offset: Integer = 0);

Types

PGLMat = ˆTGLMat;
PGLPoint2D = ˆTGLPoint2D;
PGLPoint3D = ˆTGLPoint3D;
PGLTrianRecArray = ˆTGLTrianRecArray;
PGLVec = ˆTGLVec;
PGLVertArray = ˆTGLVertArray;
PGLVoxel = ˆTGLVoxel;
PGLVoxelData = ˆTGLVoxelData;
TGLBigMatrix = array of Extended;
TGLBigMatrixExt = array of array of Extended;
TGLMat2DArray = array of TGLMat2D;
TGLMat2DType = array[0..3] of TGLVec2D;
TGLMat3DArray = array of TGLMat3D;
TGLMat3DType = array[0..3] of TGLVec3D;
TGLMesh2DArray = array of TGLMesh2DVert;
TGLMesh3DArray = array of TGLMesh3DVert;
TGLPoint2DArray = array of TGLPoint2D;
TGLPoint3DArray = array of TGLPoint3D;
TGLPolygon2D = TGLPoint2DArray;
TGLPolygon3D = TGLPoint3DArray;
TGLPolyhedron = array of TGLPolygon3D;
TGLQuatArray = array of TGLQuat3D;
TGLScalarField = function(X, Y, Z: Extended): TGLScalarValue;
TGLScalarFieldInt = function(iX, iY, iZ: Integer): TGLScalarValue of object;
TGLScalarValue = Extended;
TGLTrianRecArray = array [0 .. (MaxInt shr 8)] of TGLTrianRec;
TGLVec2DArray = array of TGLVec2D;
TGLVec2DType = array [0..1] of Extended;
TGLVec3DArray = array of TGLVec3D;
TGLVec3DType = array [0..2] of Extended;
TGLVertArray = array [0 .. (MaxInt shr 8)] of TGLVertRec;
TGLVoxelData = array [0 .. (MaxInt shr 8)] of TGLVoxel;
TGLVoxelStatus = (...);

Constants

ClosedPolygon2D: TGLPoint2D = (X: $FFFF; Y: $FFFF);
ClosedPolygon3D: TGLPoint3D = (X: $FFFF; Y: $FFFF; Z: $FFFF);
sWRONG_ELEMENT = 'Wrong element';
sWRONG_SIZE = 'Wrong size';
sNOT_QUAD = 'Matrix not quadratic';
sSINGULAR = 'Singular matrix founded';

Description

Functions and Procedures

function GetGLVec(V: TGLBigMatrix): TGLVec;
function GetGLMat(M: TGLBigMatrixExt): TGLMat;
function GetGLQuat(Q: TGLBigMatrix): TGLQuat;
procedure Init(Obj, TypeInfoOfObj: Pointer; Offset: Integer = 0);

Types

PGLMat = ˆTGLMat;
PGLPoint2D = ˆTGLPoint2D;
PGLPoint3D = ˆTGLPoint3D;
PGLTrianRecArray = ˆTGLTrianRecArray;
PGLVec = ˆTGLVec;
PGLVertArray = ˆTGLVertArray;
PGLVoxel = ˆTGLVoxel;
PGLVoxelData = ˆTGLVoxelData;
TGLBigMatrix = array of Extended;
TGLBigMatrixExt = array of array of Extended;

replace with BigDecimals

TGLMat2DArray = array of TGLMat2D;

Matrix Arrays

TGLMat2DType = array[0..3] of TGLVec2D;

———————– Matrix types ———————–

TGLMat3DArray = array of TGLMat3D;
TGLMat3DType = array[0..3] of TGLVec3D;
TGLMesh2DArray = array of TGLMesh2DVert;
TGLMesh3DArray = array of TGLMesh3DVert;
TGLPoint2DArray = array of TGLPoint2D;
TGLPoint3DArray = array of TGLPoint3D;
TGLPolygon2D = TGLPoint2DArray;

———————– Polygon types ———————–

TGLPolygon3D = TGLPoint3DArray;
TGLPolyhedron = array of TGLPolygon3D;

———————– Polyhedron types ———————–

TGLQuatArray = array of TGLQuat3D;
TGLScalarField = function(X, Y, Z: Extended): TGLScalarValue;

replaced with BigDecimals

TGLScalarFieldInt = function(iX, iY, iZ: Integer): TGLScalarValue of object;

If data are made on integer XYZ index replaced with BigIntegers

TGLScalarValue = Extended;

———————– Point types ———————–

TGLTrianRecArray = array [0 .. (MaxInt shr 8)] of TGLTrianRec;
TGLVec2DArray = array of TGLVec2D;

Vector Arrays

TGLVec2DType = array [0..1] of Extended;

———————– Vector types ———————–

TGLVec3DArray = array of TGLVec3D;
TGLVec3DType = array [0..2] of Extended;
TGLVertArray = array [0 .. (MaxInt shr 8)] of TGLVertRec;
TGLVoxelData = array [0 .. (MaxInt shr 8)] of TGLVoxel;
TGLVoxelStatus = (...);

Voxel types

Values
  • bpExternal
  • bpInternal

Constants

ClosedPolygon2D: TGLPoint2D = (X: $FFFF; Y: $FFFF);

TGLPolygon3D = record Vertices: array of TGLPoint3D; function Length; end;

ClosedPolygon3D: TGLPoint3D = (X: $FFFF; Y: $FFFF; Z: $FFFF);
sWRONG_ELEMENT = 'Wrong element';
sWRONG_SIZE = 'Wrong size';
sNOT_QUAD = 'Matrix not quadratic';
sSINGULAR = 'Singular matrix founded';


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLQuat

Record TGLQuat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLQuat = record

Description

replace with BigDecimals

Overview

Fields

Private FData: array[0..3] of Extended;

Methods

Public | constructor Create(Q: TGLBigMatrix);
Public | function Inv: TGLQuat;
Public | function TruncateSTI: TGLQuat;
Private | function GetElement(Index: Byte): Extended;
Private | procedure SetElement(Index: Byte; Value: Extended);
Public | class operator Implicit(V: TGLBigMatrix): TGLQuat;
Public | class operator Multiply(Q1, Q2: TGLQuat): TGLQuat;
Public | class operator Multiply(Q: TGLQuat; Sc: Extended): TGLQuat;
Public | class operator Multiply(Scalar: Extended; Q: TGLQuat): TGLQuat;

Properties

Public property Element[index:Byte]: Extended read GetElement write SetElement;

Description

Fields

Private FData: array[0..3] of Extended;

Methods

Public constructor Create(Q: TGLBigMatrix);
Public function Inv: TGLQuat;
Public function TruncateSTI: TGLQuat;
Private function GetElement(Index: Byte): Extended;
Private procedure SetElement(Index: Byte; Value: Extended);
Public class operator Implicit(V: TGLBigMatrix): TGLQuat;
Public class operator Multiply(Q1, Q2: TGLQuat): TGLQuat;
Public class operator Multiply(Q: TGLQuat; Sc: Extended): TGLQuat;
Public class operator Multiply(Scalar: Extended; Q: TGLQuat): TGLQuat;

Properties

Public property Element[index:Byte]: Extended read GetElement write SetElement;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLVec

Record TGLVec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLVec = record

Description

Overview

Fields

Private | FData: TGLBigMatrix;
Private | FCount: Word;

Methods

Public | constructor Create(V: TGLBigMatrix); overload;
Public | constructor Create(ElementsCount: Word); overload;
Public | function Norm: Extended;
Public | function ScalarMult(V: TGLVec): Extended;
Public | function SumOfElments: Extended;
Public | function SumOfSquares: Extended;
Public | function ToQuat: TGLQuat;
Public | function TruncateSTI: TGLVec;
Private | function GetElement(Index: Word): Extended;
Public | procedure Fill(Value: Extended);
Private | procedure CheckUnique;
Private | procedure SetElement(Index: Word; Value: Extended);
Public | class operator Add(V1, V2: TGLVec): TGLVec;
Public | class operator Add(Scalar: Extended; V: TGLVec): TGLVec;
Public | class operator Add(V: TGLVec; Scalar: Extended): TGLVec;
Public | class operator Divide(V1, V2: TGLVec): TGLVec;
Public | class operator Divide(V: TGLVec; Scalar: Extended): TGLVec;
Public | class operator Implicit(V: TGLBigMatrix): TGLVec;
Public | class operator Multiply(V1, V2: TGLVec): TGLVec;
Public | class operator Multiply(V: TGLVec; Scalar: Extended): TGLVec;
Public | class operator Multiply(Scalar: Extended; V: TGLVec): TGLVec;
Public | class operator Subtract(V1, V2: TGLVec): TGLVec;
Public | class operator Subtract(Scalar: Extended; V: TGLVec): TGLVec;
Public | class operator Subtract(V: TGLVec; Scalar: Extended): TGLVec;

Properties

Public | property Count: Word read FCount;
Public | property Elements[index:Word]: Extended read GetElement write SetElement;

Description

Fields

Private FData: TGLBigMatrix;
Private FCount: Word;

Methods

Public constructor Create(V: TGLBigMatrix); overload;
Public constructor Create(ElementsCount: Word); overload;
Public function Norm: Extended;
Public function ScalarMult(V: TGLVec): Extended;
Public function SumOfElments: Extended;
Public function SumOfSquares: Extended;
Public function ToQuat: TGLQuat;
Public function TruncateSTI: TGLVec;
Private function GetElement(Index: Word): Extended;
Public procedure Fill(Value: Extended);
Private procedure CheckUnique;
Private procedure SetElement(Index: Word; Value: Extended);
Public class operator Add(V1, V2: TGLVec): TGLVec;
Public class operator Add(Scalar: Extended; V: TGLVec): TGLVec;
Public class operator Add(V: TGLVec; Scalar: Extended): TGLVec;
Public class operator Divide(V1, V2: TGLVec): TGLVec;
Public class operator Divide(V: TGLVec; Scalar: Extended): TGLVec;
Public class operator Implicit(V: TGLBigMatrix): TGLVec;
Public class operator Multiply(V1, V2: TGLVec): TGLVec;
Public class operator Multiply(V: TGLVec; Scalar: Extended): TGLVec;
Public class operator Multiply(Scalar: Extended; V: TGLVec): TGLVec;
Public class operator Subtract(V1, V2: TGLVec): TGLVec;
Public class operator Subtract(Scalar: Extended; V: TGLVec): TGLVec;
Public class operator Subtract(V: TGLVec; Scalar: Extended): TGLVec;

Properties

Public property Count: Word read FCount;
Public property Elements[index:Word]: Extended read GetElement write SetElement;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLMat

Record TGLMat

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLMat = record

Description

Overview

Fields

Private | FData: TGLBigMatrixExt;
Private | FRowsCount: Word;
Private | FColsCount: Word;

Methods

Public | constructor Create(M: TGLBigMatrixExt); overload;
Public | constructor Create(RowsCount, ColsCount: Word); overload;
Public | constructor CreateDiag(Dim: Word; Value: Extended = 1.0);
Public | function Determinant: Extended;
Public | function Inv: TGLMat;
Public | function ToQuat: TGLQuat;
Public | function Trace: Extended;
Public | function Transp: TGLMat;
Public | function TruncateSTI: TGLMat;
Private | function Del(A: TGLMat; I, J: Integer; M: Integer): TGLMat;
Private | function Det(A: TGLMat; M: Integer): Extended;
Private | function GetCol(Col: Word): TGLVec;
Private | function GetElement(Row, Col: Word): Extended;
Private | function GetRow(Row: Word): TGLVec;
Public | procedure Fill(Scalar: Extended);
Private | procedure CheckUnique;
Private | procedure SetCol(Col: Word; Value: TGLVec);
Private | procedure SetElement(Row, Col: Word; Value: Extended);
Private | procedure SetRow(Row: Word; Value: TGLVec);
Public | class operator Add(M1, M2: TGLMat): TGLMat;
Public | class operator Implicit(M: TGLBigMatrixExt): TGLMat;
Public | class operator Multiply(V: TGLVec; M: TGLMat): TGLVec;
Public | class operator Multiply(M: TGLMat; V: TGLVec): TGLVec;
Public | class operator Multiply(M1, M2: TGLMat): TGLMat;
Public | class operator Multiply(M: TGLMat; Q: TGLQuat): TGLQuat;
Public | class operator Multiply(Scalar: Extended; M: TGLMat): TGLMat;
Public | class operator Multiply(M: TGLMat; Scalar: Extended): TGLMat;
Public | class operator Subtract(M1, M2: TGLMat): TGLMat;

Properties

Public | property Col[Col:Word]: TGLVec read GetCol write SetCol;
Public | property ColCount: Word read FColsCount;
Public | property Elements[Row,Col:Word]: Extended read GetElement write SetElement;
Public | property Row[Row:Word]: TGLVec read GetRow write SetRow;
Public | property RowCount: Word read FRowsCount;

Description

Fields

Private FData: TGLBigMatrixExt;
Private FRowsCount: Word;
Private FColsCount: Word;

Methods

Public constructor Create(M: TGLBigMatrixExt); overload;
Public constructor Create(RowsCount, ColsCount: Word); overload;
Public constructor CreateDiag(Dim: Word; Value: Extended = 1.0);
Public function Determinant: Extended;
Public function Inv: TGLMat;
Public function ToQuat: TGLQuat;
Public function Trace: Extended;
Public function Transp: TGLMat;
Public function TruncateSTI: TGLMat;
Private function Del(A: TGLMat; I, J: Integer; M: Integer): TGLMat;
Private function Det(A: TGLMat; M: Integer): Extended;
Private function GetCol(Col: Word): TGLVec;
Private function GetElement(Row, Col: Word): Extended;
Private function GetRow(Row: Word): TGLVec;
Public procedure Fill(Scalar: Extended);

sum on diagonal elements

Private procedure CheckUnique;
Private procedure SetCol(Col: Word; Value: TGLVec);
Private procedure SetElement(Row, Col: Word; Value: Extended);
Private procedure SetRow(Row: Word; Value: TGLVec);
Public class operator Add(M1, M2: TGLMat): TGLMat;
Public class operator Implicit(M: TGLBigMatrixExt): TGLMat;
Public class operator Multiply(V: TGLVec; M: TGLMat): TGLVec;
Public class operator Multiply(M: TGLMat; V: TGLVec): TGLVec;
Public class operator Multiply(M1, M2: TGLMat): TGLMat;
Public class operator Multiply(M: TGLMat; Q: TGLQuat): TGLQuat;
Public class operator Multiply(Scalar: Extended; M: TGLMat): TGLMat;
Public class operator Multiply(M: TGLMat; Scalar: Extended): TGLMat;
Public class operator Subtract(M1, M2: TGLMat): TGLMat;

Properties

Public property Col[Col:Word]: TGLVec read GetCol write SetCol;
Public property ColCount: Word read FColsCount;
Public property Elements[Row,Col:Word]: Extended read GetElement write SetElement;
Public property Row[Row:Word]: TGLVec read GetRow write SetRow;
Public property RowCount: Word read FRowsCount;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLQuatHelper

Record TGLQuatHelper

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLQuatHelper = record helper for TGLQuat

Description

Overview

Methods

Public function ToMatrix: TGLMat;

Description

Methods

Public function ToMatrix: TGLMat;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLVecHelper

Record TGLVecHelper

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLVecHelper = record helper for TGLVec

Description

Overview

Methods

Public function ToDiagMatrix: TGLMat;

Description

Methods

Public function ToDiagMatrix: TGLMat;


GLSysHelp v.2.1: GLS.VectorTypesExt: Class TGLDim

Class TGLDim

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLDim = class(TCustomAttribute)

Description

Hierarchy

  • TCustomAttribute
  • TGLDim

Overview

Fields

Private | FRowCount: Integer;
Private | FColCount: Integer;

Methods

Public constructor Create(ARowCount: Integer; AColCount: Integer = 0); overload;

Properties

Public | property ColCount: Integer read FColCount;
Public | property RowCount: Integer read FRowCount;

Description

Fields

Private FRowCount: Integer;
Private FColCount: Integer;

Methods

Public constructor Create(ARowCount: Integer; AColCount: Integer = 0); overload;

Properties

Public property ColCount: Integer read FColCount;
Public property RowCount: Integer read FRowCount;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLVertRec

Record TGLVertRec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLVertRec = record

Description

Overview

Fields

Public | P: TVector3f;
Public | N: TVector3f;
Public | Density: Extended;

Description

Fields

Public P: TVector3f;
Public N: TVector3f;
Public Density: Extended;

Position and Normal


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLFaceRec

Record TGLFaceRec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLFaceRec = record

Description

Overview

Fields

Public | Normal: TVector3f;
Public | V1: TVector3f;
Public | V2: TVector3f;
Public | V3: TVector3f;
Public | Padding: array [0 .. 1] of Byte;

Description

Fields

Public Normal: TVector3f;
Public V1: TVector3f;
Public V2: TVector3f;

vertex 1

Public V3: TVector3f;

vertex 2

Public Padding: array [0 .. 1] of Byte;

vertex 3


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLPoint2D

Record TGLPoint2D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLPoint2D = record

Description

Overview

Fields

Public | X: Extended;
Public | Y: Extended;

Methods

Public | function Add(const APoint2D: TGLPoint2D): TGLPoint2D;
Public | function Create(X, Y: Extended): TGLPoint2D;
Public | function Distance(const APoint2D : TGLPoint2D) : Extended;
Public | function Length: Extended;
Public | class function PointInCircle(const Point, Center: TGLPoint2D; const Radius: Integer):Boolean; static; inline;
Public | procedure Offset(const ADeltaX, ADeltaY : Extended);
Public | procedure SetPosition(const X, Y : Extended);

Description

Fields

Public X: Extended;
Public Y: Extended;

Methods

Public function Add(const APoint2D: TGLPoint2D): TGLPoint2D;
Public function Create(X, Y: Extended): TGLPoint2D;
Public function Distance(const APoint2D : TGLPoint2D) : Extended;

distance to origin

Public function Length: Extended;
Public class function PointInCircle(const Point, Center: TGLPoint2D; const Radius: Integer):Boolean; static; inline;
Public procedure Offset(const ADeltaX, ADeltaY : Extended);
Public procedure SetPosition(const X, Y : Extended);


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLPoint3D

Record TGLPoint3D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLPoint3D = record

Description

Overview

Fields

Public | X: Extended;
Public | Y: Extended;
Public | Z: Extended;

Methods

Public | function Add(const AGLPoint3D: TGLPoint3D): TGLPoint3D;
Public | function Create(X, Y, Z: Extended): TGLPoint3D;
Public | function Distance(const APoint3D : TGLPoint3D) : Extended;
Public | function Length: Single;
Public | procedure Offset(const ADeltaX, ADeltaY, ADeltaZ : Extended);
Public | procedure SetPosition(const X, Y, Z: Extended);

Description

Fields

Public X: Extended;
Public Y: Extended;
Public Z: Extended;

Methods

Public function Add(const AGLPoint3D: TGLPoint3D): TGLPoint3D;
Public function Create(X, Y, Z: Extended): TGLPoint3D;
Public function Distance(const APoint3D : TGLPoint3D) : Extended;

distance to origin

Public function Length: Single;
Public procedure Offset(const ADeltaX, ADeltaY, ADeltaZ : Extended);
Public procedure SetPosition(const X, Y, Z: Extended);


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLVoxel

Record TGLVoxel

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLVoxel = record

Description

Overview

Fields

Public | P: TVector3f;
Public | Density: TGLScalarValue;
Public | Status: TGLVoxelStatus;

Description

Fields

Public P: TVector3f;
Public Density: TGLScalarValue;
Public Status: TGLVoxelStatus;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLVec2D

Record TGLVec2D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLVec2D = record

Description

Overview

Fields

Public | V: TGLVec2DType;
Public | X: Extended;
Public | Y: Extended;
Public | W: Extended;

Methods

Public | function Add(const AVector2D: TGLVec2D): TGLVec2D;
Public | function Create(const AX, AY, AW : Single): TGLVec2D;
Public | function CrossProduct(const AVector: TGLVec2D): TGLVec2D;
Public | function DotProduct(const AVector: TGLVec2D): Extended;
Public | function Length: Extended;
Public | function Norm: Extended;
Public | function Normalize: TGLVec2D;

Description

Fields

Public V: TGLVec2DType;
Public X: Extended;
Public Y: Extended;
Public W: Extended;

Methods

Public function Add(const AVector2D: TGLVec2D): TGLVec2D;
Public function Create(const AX, AY, AW : Single): TGLVec2D;
Public function CrossProduct(const AVector: TGLVec2D): TGLVec2D;
Public function DotProduct(const AVector: TGLVec2D): Extended;
Public function Length: Extended;
Public function Norm: Extended;
Public function Normalize: TGLVec2D;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLVec3D

Record TGLVec3D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLVec3D = record

Description

Overview

Fields

Public | V: TGLVec3DType;
Public | X: Extended;
Public | Y: Extended;
Public | Z: Extended;
Public | W: Extended;

Methods

Public | function Add(const AVector3D: TGLVec3D): TGLVec3D;
Public | function Create(const AX, AY, AZ, AW : Single): TGLVec3D;
Public | function CrossProduct(const AVector3D: TVector3D): TVector3D;
Public | function DotProduct(const AVector3D: TVector3D): Single; inline;
Public | function Length: Single;
Public | function Norm: Single;
Public | function Normalize: TGLVec3D;

Description

Fields

Public V: TGLVec3DType;
Public X: Extended;
Public Y: Extended;
Public Z: Extended;
Public W: Extended;

Methods

Public function Add(const AVector3D: TGLVec3D): TGLVec3D;
Public function Create(const AX, AY, AZ, AW : Single): TGLVec3D;
Public function CrossProduct(const AVector3D: TVector3D): TVector3D;
Public function DotProduct(const AVector3D: TVector3D): Single; inline;
Public function Length: Single;
Public function Norm: Single;
Public function Normalize: TGLVec3D;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLMat2D

Record TGLMat2D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLMat2D = record

Description

Overview

Fields

Public | M: TGLMat2DType;
Public | e11: Single;
Public | e12: Single;
Public | e13: Single;
Public | e21: Single;
Public | e22: Single;
Public | e23: Single;
Public | e31: Single
Public | e32: Single
Public | e33: Single

Description

Fields

Public M: TGLMat2DType;
Public e11: Single;
Public e12: Single;
Public e13: Single;
Public e21: Single;
Public e22: Single;
Public e23: Single;
Public e31: Single
Public e32: Single
Public e33: Single


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLMat3D

Record TGLMat3D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLMat3D = record

Description

Overview

Fields

Public | M: TGLMat3DType;
Public | e11: Single;
Public | e12: Single;
Public | e13: Single;
Public | e14: Single;
Public | e21: Single;
Public | e22: Single;
Public | e23: Single;
Public | e24: Single;
Public | e31: Single;
Public | e32: Single;
Public | e33: Single;
Public | e34: Single;
Public | e41: Single
Public | e42: Single
Public | e43: Single
Public | e44: Single

Description

Fields

Public M: TGLMat3DType;
Public e11: Single;
Public e12: Single;
Public e13: Single;
Public e14: Single;
Public e21: Single;
Public e22: Single;
Public e23: Single;
Public e24: Single;
Public e31: Single;
Public e32: Single;
Public e33: Single;
Public e34: Single;
Public e41: Single
Public e42: Single
Public e43: Single
Public e44: Single


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLTrianRec

Record TGLTrianRec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLTrianRec = record

Description

Overview

Fields

Public | v1: Integer;
Public | v2: Integer;
Public | v3: Integer;

Description

Fields

Public v1: Integer;
Public v2: Integer;
Public v3: Integer;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLMesh2DVert

Record TGLMesh2DVert

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLMesh2DVert = record

Description

————————– Mesh simple record types ————————–

Overview

Fields

Public | X: Single;
Public | Y: Single;
Public | NX: Single;
Public | NY: Single;
Public | tU: Single;
Public | tV: Single;

Description

Fields

Public X: Single;
Public Y: Single;
Public NX: Single;
Public NY: Single;
Public tU: Single;
Public tV: Single;


GLSysHelp v.2.1: GLS.VectorTypesExt: Packed Record TGLMesh3DVert

Packed Record TGLMesh3DVert

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLMesh3DVert = packed record

Description

Overview

Fields

Public | X: Single;
Public | Y: Single;
Public | Z: Single;
Public | NX: Single;
Public | NY: Single;
Public | NZ: Single;
Public | tU: Single;
Public | tV: Single;

Description

Fields

Public X: Single;
Public Y: Single;
Public Z: Single;
Public NX: Single;
Public NY: Single;
Public NZ: Single;
Public tU: Single;
Public tV: Single;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLQuat3D

Record TGLQuat3D

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLQuat3D = record

Description

————————– Quaternion record types ————————–

Overview

Fields

Public | ImPart: TGLVec3D;
Public | RePart: Single;

Description

Fields

Public ImPart: TGLVec3D;
Public RePart: Single;


GLSysHelp v.2.1: GLS.VectorTypesExt: Record TGLBoxRec

Record TGLBoxRec

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VectorTypesExt

Declaration

type TGLBoxRec = record

Description

Overview

Fields

Public | ALeft: Single;
Public | ATop: Single;
Public | ANear: Single;
Public | ARight: Single;
Public | ABottom: Single;
Public | AFar: Single;

Description

Fields

Public ALeft: Single;
Public ATop: Single;
Public ANear: Single;
Public ARight: Single;
Public ABottom: Single;
Public AFar: Single;


GLSysHelp v.2.1: GLS.VerletClothify

Unit GLS.VerletClothify

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorFileObjects
  • GLS.VerletTypes
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.Texture
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.PersistentClasses
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLFace |
Class TGLFaceList |
Class TGLFaceExtractor |
Class TGLEdge |
Class TGLEdgeList |
Class TGLEdgeDetector |
Class TGLMeshObjectVerletNode |


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLFace

Class TGLFace

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLFace = class(TObject)

Description

Class that represents a face. This structure is not used for rendering, but for extracting info from meshes

Hierarchy

  • TObject
  • TGLFace

Overview

Fields

Public | Vertices: array [0 .. 2] of integer;
Public | Normal: TAffineVector;
Public | MeshObject: TGLMeshObject;
Public | Active: boolean;

Methods

Public | constructor Create(aMeshObject: TGLMeshObject);
Public | procedure UpdateNormal;

Description

Fields

Public Vertices: array [0 .. 2] of integer;
Public Normal: TAffineVector;
Public MeshObject: TGLMeshObject;
Public Active: boolean;

Methods

Public constructor Create(aMeshObject: TGLMeshObject);
Public procedure UpdateNormal;


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLFaceList

Class TGLFaceList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLFaceList = class(TList)

Description

List of faces

Hierarchy

  • TObject
  • TList
  • TGLFaceList

Overview

Methods

Private | function GetItems(i: integer): TGLFace;
Private | procedure SetItems(i: integer; const Value: TGLFace);

Properties

Public property Items[i:integer]: TGLFace read GetItems write SetItems;

Description

Methods

Private function GetItems(i: integer): TGLFace;
Private procedure SetItems(i: integer; const Value: TGLFace);

Properties

Public property Items[i:integer]: TGLFace read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLFaceExtractor

Class TGLFaceExtractor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLFaceExtractor = class(TObject)

Description

Class that extracts faces from a GLBaseMesh

Hierarchy

  • TObject
  • TGLFaceExtractor

Overview

Fields

Private | FFaceList: TGLFaceList;
Private | FGLBaseMesh: TGLBaseMesh;
Private | FNodeList: TGLVerletNodeList;
Private | FWeldDistance: single;
Private | FEdgeDoublesSkipped: integer;

Methods

Public | constructor Create(const aGLBaseMesh: TGLBaseMesh); virtual;
Public | destructor Destroy; override;
Public | function AddFace(const Vi0, Vi1, Vi2: integer; const MeshObject: TGLMeshObject): TGLFace; virtual;
Public | procedure Clear; virtual;
Public | procedure ExtractFacesFromVertexIndexList(const FaceGroup : TFGVertexIndexList; const MeshObject: TGLMeshObject);
Public | procedure ProcessMesh; virtual;
Protected | procedure ProcessMeshObject(const MeshObject: TGLMeshObject); virtual;
Private | procedure SetWeldDistance(const Value: single);

Properties

Public | property EdgeDoublesSkipped: integer read FEdgeDoublesSkipped;
Public | property FaceList: TGLFaceList read FFaceList;
Public | property GLBaseMesh: TGLBaseMesh read FGLBaseMesh;
Public | property NodeList: TGLVerletNodeList read FNodeList;
Public | property WeldDistance: single read FWeldDistance write SetWeldDistance;

Description

Fields

Private FFaceList: TGLFaceList;
Private FGLBaseMesh: TGLBaseMesh;
Private FNodeList: TGLVerletNodeList;
Private FWeldDistance: single;
Private FEdgeDoublesSkipped: integer;

Methods

Public constructor Create(const aGLBaseMesh: TGLBaseMesh); virtual;
Public destructor Destroy; override;
Public function AddFace(const Vi0, Vi1, Vi2: integer; const MeshObject: TGLMeshObject): TGLFace; virtual;
Public procedure Clear; virtual;
Public procedure ExtractFacesFromVertexIndexList(const FaceGroup : TFGVertexIndexList; const MeshObject: TGLMeshObject);
Public procedure ProcessMesh; virtual;
Protected procedure ProcessMeshObject(const MeshObject: TGLMeshObject); virtual;
Private procedure SetWeldDistance(const Value: single);

Properties

Public property EdgeDoublesSkipped: integer read FEdgeDoublesSkipped;
Public property FaceList: TGLFaceList read FFaceList;
Public property GLBaseMesh: TGLBaseMesh read FGLBaseMesh;
Public property NodeList: TGLVerletNodeList read FNodeList;
Public property WeldDistance: single read FWeldDistance write SetWeldDistance;


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLEdge

Class TGLEdge

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLEdge = class(TObject)

Description

Hierarchy

  • TObject
  • TGLEdge

Overview

Fields

Private | FSolid: boolean;
Private | FLength: single;
Private | FMeshObject: TGLMeshObject;
Private | FOwner: TGLEdgeDetector;
Public | Vertices: array [0 .. 1] of integer;
Public | Faces: array [0 .. 1] of TGLFace;

Methods

Public | constructor Create(const AOwner: TGLEdgeDetector; AVi0, AVi1: integer; AFace0, AFace1: TGLFace; aMeshObject: TGLMeshObject; ASolid: boolean);
Public | procedure Contract;
Public | procedure UpdateEdgeLength;

Properties

Public | property Length: single read FLength write FLength;
Public | property MeshObject: TGLMeshObject read FMeshObject write FMeshObject;
Public | property Owner: TGLEdgeDetector read FOwner;
Public | property Solid: boolean read FSolid write FSolid;

Description

Fields

Private FSolid: boolean;
Private FLength: single;
Private FMeshObject: TGLMeshObject;
Private FOwner: TGLEdgeDetector;
Public Vertices: array [0 .. 1] of integer;
Public Faces: array [0 .. 1] of TGLFace;

Methods

Public constructor Create(const AOwner: TGLEdgeDetector; AVi0, AVi1: integer; AFace0, AFace1: TGLFace; aMeshObject: TGLMeshObject; ASolid: boolean);
Public procedure Contract;
Public procedure UpdateEdgeLength;

Properties

Public property Length: single read FLength write FLength;
Public property MeshObject: TGLMeshObject read FMeshObject write FMeshObject;
Public property Owner: TGLEdgeDetector read FOwner;
Public property Solid: boolean read FSolid write FSolid;


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLEdgeList

Class TGLEdgeList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLEdgeList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLEdgeList

Overview

Methods

Public | function InsertSorted(AEdge: TGLEdge): integer;
Private | function GetItems(i: integer): TGLEdge;
Public | procedure SortByLength;
Private | procedure SetItems(i: integer; const Value: TGLEdge);

Properties

Public property Items[i:integer]: TGLEdge read GetItems write SetItems;

Description

Methods

Public function InsertSorted(AEdge: TGLEdge): integer;
Private function GetItems(i: integer): TGLEdge;
Public procedure SortByLength;
Private procedure SetItems(i: integer; const Value: TGLEdge);

Properties

Public property Items[i:integer]: TGLEdge read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLEdgeDetector

Class TGLEdgeDetector

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLEdgeDetector = class(TGLFaceExtractor)

Description

No description available, ancestor TGLFaceExtractor description follows

Class that extracts faces from a GLBaseMesh

Hierarchy

  • TObject
  • TGLFaceExtractor
  • TGLEdgeDetector

Overview

Fields

Private | FEdgeList: TGLEdgeList;
Private | FCurrentNodeOffset: integer;
Private | FNodesAdded: boolean;
Protected | FCalcEdgeLength: boolean;

Methods

Public | constructor Create(const aGLBaseMesh: TGLBaseMesh); override;
Public | destructor Destroy; override;
Public | function AddEdge(const Vi0, Vi1: integer; const Face: TGLFace; const aMeshObject: TGLMeshObject): TGLEdge;
Public | function AddFace(const Vi0, Vi1, Vi2: integer; const MeshObject: TGLMeshObject): TGLFace; override;
Public | function AddNode(const VerletWorld: TGLVerletWorld; const MeshObject: TGLMeshObject; const VertexIndex: integer) : TGLVerletNode; virtual;
Public | procedure AddEdgesAsSolidEdges(const VerletWorld: TGLVerletWorld);
Public | procedure AddEdgesAsSprings(const VerletWorld: TGLVerletWorld; const Strength, Damping, Slack: single);
Public | procedure AddEdgesAsSticks(const VerletWorld: TGLVerletWorld; const Slack: single);
Public | procedure AddNodes(const VerletWorld: TGLVerletWorld);
Public | procedure AddOuterEdgesAsSolidEdges(const VerletWorld: TGLVerletWorld);
Public | procedure Clear; override;
Public | procedure ProcessMesh; override;
Public | procedure RenderEdges(var rci: TGLRenderContextInfo);
Public | procedure ReplaceVertexIndex(const ViRemove, ViReplaceWith: integer);
Private | procedure BuildOpposingEdges;

Properties

Public | property CurrentNodeOffset: integer read FCurrentNodeOffset;
Public | property EdgeList: TGLEdgeList read FEdgeList;
Public | property NodesAdded: boolean read FNodesAdded;

Description

Fields

Private FEdgeList: TGLEdgeList;
Private FCurrentNodeOffset: integer;
Private FNodesAdded: boolean;
Protected FCalcEdgeLength: boolean;

Methods

Public constructor Create(const aGLBaseMesh: TGLBaseMesh); override;
Public destructor Destroy; override;
Public function AddEdge(const Vi0, Vi1: integer; const Face: TGLFace; const aMeshObject: TGLMeshObject): TGLEdge;
Public function AddFace(const Vi0, Vi1, Vi2: integer; const MeshObject: TGLMeshObject): TGLFace; override;
Public function AddNode(const VerletWorld: TGLVerletWorld; const MeshObject: TGLMeshObject; const VertexIndex: integer) : TGLVerletNode; virtual;
Public procedure AddEdgesAsSolidEdges(const VerletWorld: TGLVerletWorld);
Public procedure AddEdgesAsSprings(const VerletWorld: TGLVerletWorld; const Strength, Damping, Slack: single);
Public procedure AddEdgesAsSticks(const VerletWorld: TGLVerletWorld; const Slack: single);
Public procedure AddNodes(const VerletWorld: TGLVerletWorld);
Public procedure AddOuterEdgesAsSolidEdges(const VerletWorld: TGLVerletWorld);
Public procedure Clear; override;
Public procedure ProcessMesh; override;
Public procedure RenderEdges(var rci: TGLRenderContextInfo);
Public procedure ReplaceVertexIndex(const ViRemove, ViReplaceWith: integer);
Private procedure BuildOpposingEdges;

Properties

Public property CurrentNodeOffset: integer read FCurrentNodeOffset;
Public property EdgeList: TGLEdgeList read FEdgeList;
Public property NodesAdded: boolean read FNodesAdded;


GLSysHelp v.2.1: GLS.VerletClothify: Class TGLMeshObjectVerletNode

Class TGLMeshObjectVerletNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletClothify

Declaration

type TGLMeshObjectVerletNode = class(TGLVerletNode)

Description

No description available, ancestor TGLVerletNode description follows

Specialized verlet node that can be anchored to a GLScene object. If it's anchored and has the property "NailedDown" set, it will remain in the same relative position to the GLScene object.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TSpacePartitionLeaf
  • TGLBaseVerletNode
  • TGLVerletNode
  • TGLMeshObjectVerletNode

Overview

Fields

Private | MeshObject: TGLMeshObject;
Private | VertexIndices: TIntegerList;

Methods

Public | constructor CreateOwned(const AOwner: TGLVerletWorld); override;
Public | destructor Destroy; override;
Public | procedure AfterProgress; override;

Description

Fields

Private MeshObject: TGLMeshObject;
Private VertexIndices: TIntegerList;

Methods

Public constructor CreateOwned(const AOwner: TGLVerletWorld); override;
Public destructor Destroy; override;
Public procedure AfterProgress; override;


GLSysHelp v.2.1: GLS.VerletTypes

Unit GLS.VerletTypes

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.BaseClasses
  • GLS.Objects
  • GLS.Scene
  • GLS.Coordinates
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.SpacePartition
  • GLS.GeometryBB
  • GLS.VectorFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseVerletNode |
Class TGLVerletNodeList |
Class TGLVerletConstraint |
Class TGLVerletDualConstraint |
Class TGLVerletGroupConstraint |
Class TGLVerletEdge |
Class TGLVerletEdgeList |
Class TGLVerletGlobalConstraint |
Class TGLVerletGlobalFrictionConstraint |
Class TGLVerletGlobalFrictionConstraintSP |
Class TGLVerletGlobalFrictionConstraintSphere |
Class TGLVerletGlobalFrictionConstraintBox |
Class TGLVerletConstraintList |
Class TGLVerletForce |
Class TGLVerletDualForce |
Class TGLVerletGroupForce |
Class TGLVerletGlobalForce |
Class TGLVerletForceList |
Class TGLVerletWorld |
Class TGLVerletGravity |
Class TGLVerletAirResistance |
Class TGLVerletSpring |
Class TGLVerletFloor |
Class TGLVerletHeightField |
Class TGLVerletStick |
Class TGLVerletRigidBody |
Class TGLVerletSlider |
Class TGLVerletFrictionSphere |
Class TGLVerletFrictionCylinder |
Class TGLVerletFrictionCube |
Class TGLVerletFrictionCapsule |
Class TGLVerletNode |
Class TGLVerletHair |
Class TGLVerletSkeletonCollider |
Class TGLVerletSphere |
Class TGLVerletCapsule |

Functions and Procedures

procedure AddVerletConstriantsToVerletWorld(Colliders: TGLSkeletonColliderList; World: TGLVerletWorld);
function CreateVerletPlaneFromGLPlane(Plane: TGLPlane; VerletWorld: TGLVerletWorld; Offset: Single): TGLVerletFloor;

Types

TCollisionConstraintTypes = (...);
TCollisionConstraintTypesSet = set of TCollisionConstraintTypes;
TGLStiffnessSetVH = set of TGLStiffnessVH;
TGLStiffnessVH = (...);
TGLVerletHeightFieldOnNeedHeight = function(hfConstraint: TGLVerletHeightField; node: TGLBaseVerletNode): Single of object;
TGLVerletNodeClass = class of TGLBaseVerletNode;
TUpdateSpacePartion = (...);

Constants

G_DRAG = 0.0001;
cDEFAULT_CONSTRAINT_FRICTION = 0.6;

Description

Functions and Procedures

procedure AddVerletConstriantsToVerletWorld(Colliders: TGLSkeletonColliderList; World: TGLVerletWorld);

After loading call this function to add all the constraints in a skeleton collider list to a given verlet world.

function CreateVerletPlaneFromGLPlane(Plane: TGLPlane; VerletWorld: TGLVerletWorld; Offset: Single): TGLVerletFloor;

Types

TCollisionConstraintTypes = (...);
Values
  • cctEdge
  • cctNode
TCollisionConstraintTypesSet = set of TCollisionConstraintTypes;
TGLStiffnessSetVH = set of TGLStiffnessVH;
TGLStiffnessVH = (...);
Values
  • vhsFull
  • vhsSkip1Node
  • vhsSkip2Node
  • vhsSkip3Node
  • vhsSkip4Node
  • vhsSkip5Node
  • vhsSkip6Node
  • vhsSkip7Node
  • vhsSkip8Node
  • vhsSkip9Node
TGLVerletHeightFieldOnNeedHeight = function(hfConstraint: TGLVerletHeightField; node: TGLBaseVerletNode): Single of object;
TGLVerletNodeClass = class of TGLBaseVerletNode;
TUpdateSpacePartion = (...);
Values
  • uspEveryIteration
  • uspEveryFrame
  • uspNever

Constants

G_DRAG = 0.0001;
cDEFAULT_CONSTRAINT_FRICTION = 0.6;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLBaseVerletNode

Class TGLBaseVerletNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLBaseVerletNode = class(TSpacePartitionLeaf)

Description

Basic Verlet Node

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TSpacePartitionLeaf
  • TGLBaseVerletNode

Overview

Fields

Private | FForce: TAffineVector;
Private | FOwner: TGLVerletWorld;
Private | FWeight: Single;
Private | FInvWeight: Single;
Private | FRadius: Single;
Private | FNailedDown: Boolean;
Private | FFriction: Single;
Private | FChangedOnStep: Integer;
Protected | FLocation: TAffineVector;
Protected | FOldLocation: TAffineVector;

Methods

Public | constructor CreateOwned(const aOwner: TGLVerletWorld); virtual;
Public | destructor Destroy; override;
Public | function DistanceToNode(const node: TGLBaseVerletNode): Single;
Public | function GetMovement: TAffineVector;
Private | function GetSpeed: TAffineVector;
Public | procedure ApplyFriction(const friction, penetrationDepth: Single; const surfaceNormal: TAffineVector);
Public | procedure Initialize; dynamic;
Public | procedure OldApplyFriction(const friction, penetrationDepth: Single);
Public | procedure UpdateCachedAABBAndBSphere; override;
Public | procedure Verlet(const vpt: TGLProgressTimes); virtual;
Protected | procedure AfterProgress; virtual;
Protected | procedure SetLocation(const Value: TAffineVector); virtual;
Protected | procedure SetWeight(const Value: Single);

Properties

Public | property ChangedOnStep: Integer read FChangedOnStep;
Public | property Force: TAffineVector read FForce write FForce;
Public | property friction: Single read FFriction write FFriction;
Public | property InvWeight: Single read FInvWeight;
Public | property Location: TAffineVector read FLocation write SetLocation;
Public | property NailedDown: Boolean read FNailedDown write FNailedDown;
Public | property OldLocation: TAffineVector read FOldLocation write FOldLocation;
Public | property Owner: TGLVerletWorld read FOwner;
Public | property Radius: Single read FRadius write FRadius;
Public | property Speed: TAffineVector read GetSpeed;
Public | property Weight: Single read FWeight write SetWeight;

Description

Fields

Private FForce: TAffineVector;
Private FOwner: TGLVerletWorld;
Private FWeight: Single;
Private FInvWeight: Single;
Private FRadius: Single;
Private FNailedDown: Boolean;
Private FFriction: Single;
Private FChangedOnStep: Integer;
Protected FLocation: TAffineVector;
Protected FOldLocation: TAffineVector;

Methods

Public constructor CreateOwned(const aOwner: TGLVerletWorld); virtual;
Public destructor Destroy; override;
Public function DistanceToNode(const node: TGLBaseVerletNode): Single;

Calculates the distance to another node

Public function GetMovement: TAffineVector;

Calculates the movement of the node

Private function GetSpeed: TAffineVector;
Public procedure ApplyFriction(const friction, penetrationDepth: Single; const surfaceNormal: TAffineVector);

Applies friction

Public procedure Initialize; dynamic;

Initlializes the node. For the base class, it just makes sure that FOldPosition = FPosition, so that speed is zero

Public procedure OldApplyFriction(const friction, penetrationDepth: Single);

Simple and less accurate method for friction

Public procedure UpdateCachedAABBAndBSphere; override;

The TGLBaseVerletNode inherits from TSpacePartitionLeaf, and it needs to know how to publish itself. The owner (a TGLVerletWorld) has a spatial partitioning object

Public procedure Verlet(const vpt: TGLProgressTimes); virtual;

Perform Verlet integration

Protected procedure AfterProgress; virtual;
Protected procedure SetLocation(const Value: TAffineVector); virtual;
Protected procedure SetWeight(const Value: Single);

Properties

Public property ChangedOnStep: Integer read FChangedOnStep;

What phyisics step was this node last changed? Used to keep track of when the spatial partitioning needs to be updated

Public property Force: TAffineVector read FForce write FForce;

A sum of all forces that has been applied to this verlet node during a step

Public property friction: Single read FFriction write FFriction;

Each node has a friction that effects how it reacts during contacts.

Public property InvWeight: Single read FInvWeight;

InvWeight is 1/Weight, and is kept up to date automatically

Public property Location: TAffineVector read FLocation write SetLocation;

The location of the verlet

Public property NailedDown: Boolean read FNailedDown write FNailedDown;

If the node is nailed down, it can't be moved by either force, constraint or verlet integration - but you can still move it by hand

Public property OldLocation: TAffineVector read FOldLocation write FOldLocation;

The old location of the verlet. This is used for verlet integration

Public property Owner: TGLVerletWorld read FOwner;

The VerletWorld that owns this verlet

Public property Radius: Single read FRadius write FRadius;

The radius of the verlet node - this has been more or less deprecated

Public property Speed: TAffineVector read GetSpeed;

Returns the speed of the verlet node. Speed = Movement / deltatime

Public property Weight: Single read FWeight write SetWeight;

The weight of a node determines how much it's affected by a force


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletNodeList

Class TGLVerletNodeList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletNodeList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLVerletNodeList

Overview

Methods

Private | function GetItems(i: Integer): TGLBaseVerletNode;
Private | procedure SetItems(i: Integer; const Value: TGLBaseVerletNode);

Properties

Public property Items[i:Integer]: TGLBaseVerletNode read GetItems write SetItems;

Description

Methods

Private function GetItems(i: Integer): TGLBaseVerletNode;
Private procedure SetItems(i: Integer; const Value: TGLBaseVerletNode);

Properties

Public property Items[i:Integer]: TGLBaseVerletNode read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletConstraint

Class TGLVerletConstraint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletConstraint = class(TObject)

Description

Hierarchy

  • TObject
  • TGLVerletConstraint

Overview

Fields

Private | FOwner: TGLVerletWorld;
Private | FEnabled: Boolean;
Private | FTag: Integer;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); virtual;
Public | destructor Destroy; override;
Public | procedure BeforeIterations; virtual;
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode); virtual; abstract;
Public | procedure SatisfyConstraint(const iteration, maxIterations: Integer); virtual; abstract;

Properties

Public | property Enabled: Boolean read FEnabled write FEnabled;
Public | property Owner: TGLVerletWorld read FOwner;
Public | property Tag: Integer read FTag write FTag;

Description

Fields

Private FOwner: TGLVerletWorld;
Private FEnabled: Boolean;
Private FTag: Integer;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); virtual;
Public destructor Destroy; override;
Public procedure BeforeIterations; virtual;

Method that's fired before the physics iterations are performed

Public procedure RemoveNode(const aNode: TGLBaseVerletNode); virtual; abstract;

Notifies removal of a node

Public procedure SatisfyConstraint(const iteration, maxIterations: Integer); virtual; abstract;

Updates the position of one or several nodes to make sure that they don't violate the constraint

Properties

Public property Enabled: Boolean read FEnabled write FEnabled;

Determines if the constraint should be enforced or not

Public property Owner: TGLVerletWorld read FOwner;

Onwer of the constraint

Public property Tag: Integer read FTag write FTag;

Tag field reserved for the user.


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletDualConstraint

Class TGLVerletDualConstraint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletDualConstraint = class(TGLVerletConstraint)

Description

No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletDualConstraint

Overview

Fields

Private | FNodeA: TGLBaseVerletNode;
Private | FNodeB: TGLBaseVerletNode;

Methods

Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public | property NodeA: TGLBaseVerletNode read FNodeA write FNodeA;
Public | property NodeB: TGLBaseVerletNode read FNodeB write FNodeB;

Description

Fields

Private FNodeA: TGLBaseVerletNode;
Private FNodeB: TGLBaseVerletNode;

Methods

Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property NodeA: TGLBaseVerletNode read FNodeA write FNodeA;

Reference to NodeA.

Public property NodeB: TGLBaseVerletNode read FNodeB write FNodeB;

Reference to NodeB.


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGroupConstraint

Class TGLVerletGroupConstraint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGroupConstraint = class(TGLVerletConstraint)

Description

No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGroupConstraint

Overview

Fields

Private FNodes: TGLVerletNodeList;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); override;
Public | destructor Destroy; override;
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property Nodes: TGLVerletNodeList read FNodes;

Description

Fields

Private FNodes: TGLVerletNodeList;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;
Public destructor Destroy; override;
Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property Nodes: TGLVerletNodeList read FNodes;

The list of nodes that this constraint will effect


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletEdge

Class TGLVerletEdge

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletEdge = class(TSpacePartitionLeaf)

Description

Verlet edges simulate rigid collission edges

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TSpacePartitionLeaf
  • TGLVerletEdge

Overview

Fields

Private | FNodeA: TGLBaseVerletNode;
Private | FNodeB: TGLBaseVerletNode;

Methods

Public | constructor CreateEdgeOwned(const aNodeA, aNodeB: TGLBaseVerletNode);
Public | procedure UpdateCachedAABBAndBSphere; override;

Properties

Public | property NodeA: TGLBaseVerletNode read FNodeA write FNodeA;
Public | property NodeB: TGLBaseVerletNode read FNodeB write FNodeB;

Description

Fields

Private FNodeA: TGLBaseVerletNode;
Private FNodeB: TGLBaseVerletNode;

Methods

Public constructor CreateEdgeOwned(const aNodeA, aNodeB: TGLBaseVerletNode);
Public procedure UpdateCachedAABBAndBSphere; override;

The TGLVerletEdge inherits from TSpacePartitionLeaf, and it needs to know how to publish itself. The owner ( a TGLVerletWorld ) has a spatial partitioning object

Properties

Public property NodeA: TGLBaseVerletNode read FNodeA write FNodeA;

One of the nodes in the edge

Public property NodeB: TGLBaseVerletNode read FNodeB write FNodeB;

One of the nodes in the edge


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletEdgeList

Class TGLVerletEdgeList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletEdgeList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLVerletEdgeList

Overview

Methods

Private | function GetItems(i: Integer): TGLVerletEdge;
Private | procedure SetItems(i: Integer; const Value: TGLVerletEdge);

Properties

Public property Items[i:Integer]: TGLVerletEdge read GetItems write SetItems;

Description

Methods

Private function GetItems(i: Integer): TGLVerletEdge;
Private procedure SetItems(i: Integer; const Value: TGLVerletEdge);

Properties

Public property Items[i:Integer]: TGLVerletEdge read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGlobalConstraint

Class TGLVerletGlobalConstraint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGlobalConstraint = class(TGLVerletConstraint)

Description

No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint

Overview

Fields

Private | FKickbackForce: TAffineVector;
Private | FKickbackTorque: TAffineVector;
Private | FLocation: TAffineVector;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); override;
Public | destructor Destroy; override;
Public | function TranslateKickbackTorque(const TorqueCenter: TAffineVector) : TAffineVector;
Public | procedure AddKickbackForceAt(const Pos: TAffineVector; const Force: TAffineVector);
Public | procedure BeforeIterations; override;
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode); override;
Public | procedure SatisfyConstraint(const iteration, maxIterations : Integer); override;
Public | procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); virtual;
Public | procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); virtual; abstract;
Private | procedure SetLocation(const Value: TAffineVector); virtual;

Properties

Public | property KickbackForce: TAffineVector read FKickbackForce write FKickbackForce;
Public | property KickbackTorque: TAffineVector read FKickbackTorque write FKickbackTorque;
Public | property Location: TAffineVector read FLocation write SetLocation;

Description

Fields

Private FKickbackForce: TAffineVector;
Private FKickbackTorque: TAffineVector;
Private FLocation: TAffineVector;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;
Public destructor Destroy; override;
Public function TranslateKickbackTorque(const TorqueCenter: TAffineVector) : TAffineVector;
Public procedure AddKickbackForceAt(const Pos: TAffineVector; const Force: TAffineVector);
Public procedure BeforeIterations; override;
Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;
Public procedure SatisfyConstraint(const iteration, maxIterations : Integer); override;
Public procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); virtual;
Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); virtual; abstract;
Private procedure SetLocation(const Value: TAffineVector); virtual;

Properties

Public property KickbackForce: TAffineVector read FKickbackForce write FKickbackForce;

The force that this collider has experienced while correcting the verlet possitions. This force can be applied to ODE bodies, for instance

Public property KickbackTorque: TAffineVector read FKickbackTorque write FKickbackTorque;

The torque that this collider has experienced while correcting the verlet possitions, in reference to the center of the collider. The torque force can be applied to ODE bodies, but it must first be translated. A torque can be trasnalted by EM(b) = EM(a) + EF x VectorSubtract(b, a). Simply adding the torque to the body will NOT work correctly. See TranslateKickbackTorque

Public property Location: TAffineVector read FLocation write SetLocation;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGlobalFrictionConstraint

Class TGLVerletGlobalFrictionConstraint

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGlobalFrictionConstraint = class(TGLVerletGlobalConstraint)

Description

No description available, ancestor TGLVerletGlobalConstraint description follows
No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint

Overview

Fields

Private FFrictionRatio: Single;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;

Properties

Public property FrictionRatio: Single read FFrictionRatio write FFrictionRatio;

Description

Fields

Private FFrictionRatio: Single;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;

Properties

Public property FrictionRatio: Single read FFrictionRatio write FFrictionRatio;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGlobalFrictionConstraintSP

Class TGLVerletGlobalFrictionConstraintSP

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGlobalFrictionConstraintSP = class(TGLVerletGlobalFrictionConstraint)

Description

No description available, ancestor TGLVerletGlobalFrictionConstraint description follows
No description available, ancestor TGLVerletGlobalConstraint description follows
No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP

Overview

Methods

Public | procedure PerformSpaceQuery; virtual; abstract;
Public | procedure SatisfyConstraint(const iteration, maxIterations : Integer); override;

Description

Methods

Public procedure PerformSpaceQuery; virtual; abstract;
Public procedure SatisfyConstraint(const iteration, maxIterations : Integer); override;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGlobalFrictionConstraintSphere

Class TGLVerletGlobalFrictionConstraintSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGlobalFrictionConstraintSphere = class(TGLVerletGlobalFrictionConstraintSP)

Description

No description available, ancestor TGLVerletGlobalFrictionConstraintSP description follows
No description available, ancestor TGLVerletGlobalFrictionConstraint description follows
No description available, ancestor TGLVerletGlobalConstraint description follows
No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletGlobalFrictionConstraintSphere

Overview

Fields

Private FCachedBSphere: TBSphere;

Methods

Public | function GetBSphere: TBSphere; virtual; abstract;
Public | procedure PerformSpaceQuery; override;
Public | procedure UpdateCachedBSphere;
Private | procedure SetLocation(const Value: TAffineVector); override;

Properties

Public property CachedBSphere: TBSphere read FCachedBSphere;

Description

Fields

Private FCachedBSphere: TBSphere;

Methods

Public function GetBSphere: TBSphere; virtual; abstract;
Public procedure PerformSpaceQuery; override;
Public procedure UpdateCachedBSphere;
Private procedure SetLocation(const Value: TAffineVector); override;

Properties

Public property CachedBSphere: TBSphere read FCachedBSphere;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGlobalFrictionConstraintBox

Class TGLVerletGlobalFrictionConstraintBox

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGlobalFrictionConstraintBox = class(TGLVerletGlobalFrictionConstraintSP)

Description

No description available, ancestor TGLVerletGlobalFrictionConstraintSP description follows
No description available, ancestor TGLVerletGlobalFrictionConstraint description follows
No description available, ancestor TGLVerletGlobalConstraint description follows
No description available, ancestor TGLVerletConstraint description follows

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletGlobalFrictionConstraintBox

Overview

Fields

Private FCachedAABB: TAABB;

Methods

Public | function GetAABB: TAABB; virtual; abstract;
Public | procedure PerformSpaceQuery; override;
Public | procedure UpdateCachedAABB;
Private | procedure SetLocation(const Value: TAffineVector); override;

Properties

Public property CachedAABB: TAABB read FCachedAABB;

Description

Fields

Private FCachedAABB: TAABB;

Methods

Public function GetAABB: TAABB; virtual; abstract;
Public procedure PerformSpaceQuery; override;
Public procedure UpdateCachedAABB;
Private procedure SetLocation(const Value: TAffineVector); override;

Properties

Public property CachedAABB: TAABB read FCachedAABB;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletConstraintList

Class TGLVerletConstraintList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletConstraintList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLVerletConstraintList

Overview

Methods

Private | function GetItems(i: Integer): TGLVerletConstraint;
Private | procedure SetItems(i: Integer; const Value: TGLVerletConstraint);

Properties

Public property Items[i:Integer]: TGLVerletConstraint read GetItems write SetItems;

Description

Methods

Private function GetItems(i: Integer): TGLVerletConstraint;
Private procedure SetItems(i: Integer; const Value: TGLVerletConstraint);

Properties

Public property Items[i:Integer]: TGLVerletConstraint read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletForce

Class TGLVerletForce

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletForce = class(TObject)

Description

Generic verlet force.

Hierarchy

  • TObject
  • TGLVerletForce

Overview

Fields

Private FOwner: TGLVerletWorld;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); virtual;
Public | destructor Destroy; override;
Public | procedure AddForce(const vpt: TGLProgressTimes); virtual; abstract;
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode); virtual; abstract;

Properties

Public property Owner: TGLVerletWorld read FOwner;

Description

Fields

Private FOwner: TGLVerletWorld;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); virtual;
Public destructor Destroy; override;
Public procedure AddForce(const vpt: TGLProgressTimes); virtual; abstract;

Implementation should add force to force resultant for all relevant nodes

Public procedure RemoveNode(const aNode: TGLBaseVerletNode); virtual; abstract;

Notifies removal of a node

Properties

Public property Owner: TGLVerletWorld read FOwner;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletDualForce

Class TGLVerletDualForce

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletDualForce = class(TGLVerletForce)

Description

A verlet force that applies to two specified nodes.

Hierarchy

  • TObject
  • TGLVerletForce
  • TGLVerletDualForce

Overview

Fields

Private | FNodeA: TGLBaseVerletNode;
Private | FNodeB: TGLBaseVerletNode;

Methods

Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public | property NodeA: TGLBaseVerletNode read FNodeA write FNodeA;
Public | property NodeB: TGLBaseVerletNode read FNodeB write FNodeB;

Description

Fields

Private FNodeA: TGLBaseVerletNode;
Private FNodeB: TGLBaseVerletNode;

Methods

Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property NodeA: TGLBaseVerletNode read FNodeA write FNodeA;

Reference to NodeA.

Public property NodeB: TGLBaseVerletNode read FNodeB write FNodeB;

Reference to NodeB.


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGroupForce

Class TGLVerletGroupForce

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGroupForce = class(TGLVerletForce)

Description

A verlet force that applies to a specified group of nodes.

Hierarchy

  • TObject
  • TGLVerletForce
  • TGLVerletGroupForce

Overview

Fields

Private FNodes: TGLVerletNodeList;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); override;
Public | destructor Destroy; override;
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property Nodes: TGLVerletNodeList read FNodes;

Description

Fields

Private FNodes: TGLVerletNodeList;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;
Public destructor Destroy; override;
Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property Nodes: TGLVerletNodeList read FNodes;

Nodes of the force group, referred, NOT owned.


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGlobalForce

Class TGLVerletGlobalForce

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGlobalForce = class(TGLVerletForce)

Description

A global force (applied to all verlet nodes).

Hierarchy

  • TObject
  • TGLVerletForce
  • TGLVerletGlobalForce

Overview

Methods

Public | procedure AddForce(const vpt: TGLProgressTimes); override;
Public | procedure AddForceToNode(const aNode: TGLBaseVerletNode); virtual; abstract;
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode); override;

Description

Methods

Public procedure AddForce(const vpt: TGLProgressTimes); override;
Public procedure AddForceToNode(const aNode: TGLBaseVerletNode); virtual; abstract;
Public procedure RemoveNode(const aNode: TGLBaseVerletNode); override;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletForceList

Class TGLVerletForceList

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletForceList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLVerletForceList

Overview

Methods

Private | function GetItems(i: Integer): TGLVerletForce;
Private | procedure SetItems(i: Integer; const Value: TGLVerletForce);

Properties

Public property Items[i:Integer]: TGLVerletForce read GetItems write SetItems;

Description

Methods

Private function GetItems(i: Integer): TGLVerletForce;
Private procedure SetItems(i: Integer; const Value: TGLVerletForce);

Properties

Public property Items[i:Integer]: TGLVerletForce read GetItems write SetItems;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletWorld

Class TGLVerletWorld

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletWorld = class(TObject)

Description

Hierarchy

  • TObject
  • TGLVerletWorld

Overview

Fields

Private | FIterations: Integer;
Private | FNodes: TGLVerletNodeList;
Private | FConstraints: TGLVerletConstraintList;
Private | FForces: TGLVerletForceList;
Private | FMaxDeltaTime: Single;
Private | FSimTime: Single;
Private | FDrag: Single;
Private | FCurrentDeltaTime: Single;
Private | FInvCurrentDeltaTime: Single;
Private | FSolidEdges: TGLVerletEdgeList;
Private | FSpacePartition: TBaseSpacePartition;
Private | FCurrentStepCount: Integer;
Private | FUpdateSpacePartion: TUpdateSpacePartion;
Private | FCollisionConstraintTypes: TCollisionConstraintTypesSet;
Private | FConstraintsWithBeforeIterations: TGLVerletConstraintList;
Private | FVerletNodeClass: TGLVerletNodeClass;
Private | FInertia: Boolean;
Private | FInertaPauseSteps: Integer;

Methods

Public | constructor Create; virtual;
Public | destructor Destroy; override;
Public | function AddConstraint(const aConstraint: TGLVerletConstraint): Integer;
Public | function AddForce(const aForce: TGLVerletForce): Integer;
Public | function AddNode(const aNode: TGLBaseVerletNode): Integer;
Public | function CreateOwnedNode(const Location: TAffineVector; const aRadius: Single = 0; const aWeight: Single = 1): TGLBaseVerletNode;
Public | function CreateSlider(const aNodeA, aNodeB: TGLBaseVerletNode; const aSlideDirection: TAffineVector): TGLVerletSlider;
Public | function CreateSpring(const aNodeA, aNodeB: TGLBaseVerletNode; const aStrength, aDamping: Single; const aSlack: Single = 0): TGLVerletSpring;
Public | function CreateStick(const aNodeA, aNodeB: TGLBaseVerletNode; const Slack: Single = 0): TGLVerletStick;
Public | function FirstNode: TGLBaseVerletNode;
Public | function LastNode: TGLBaseVerletNode;
Public | function Progress(const deltaTime, newTime: Double): Integer; virtual;
Public | procedure AddSolidEdge(const aNodeA, aNodeB: TGLBaseVerletNode);
Public | procedure CreateOctree(const OctreeMin, OctreeMax: TAffineVector; const LeafThreshold, MaxTreeDepth: Integer);
Public | procedure Initialize; virtual;
Public | procedure PauseInertia(const IterationSteps: Integer);
Public | procedure RemoveConstraint(const aConstraint: TGLVerletConstraint);
Public | procedure RemoveForce(const aForce: TGLVerletForce);
Public | procedure RemoveNode(const aNode: TGLBaseVerletNode);
Protected | procedure AccumulateForces(const vpt: TGLProgressTimes); virtual;
Protected | procedure DoUpdateSpacePartition;
Protected | procedure SatisfyConstraints(const vpt: TGLProgressTimes); virtual;
Protected | procedure Verlet(const vpt: TGLProgressTimes); virtual;

Properties

Public | property CollisionConstraintTypes: TCollisionConstraintTypesSet read FCollisionConstraintTypes write FCollisionConstraintTypes;
Public | property Constraints: TGLVerletConstraintList read FConstraints;
Public | property ConstraintsWithBeforeIterations: TGLVerletConstraintList read FConstraintsWithBeforeIterations;
Public | property CurrentDeltaTime: Single read FCurrentDeltaTime;
Public | property CurrentStepCount: Integer read FCurrentStepCount;
Public | property Drag: Single read FDrag write FDrag;
Public | property Inertia: Boolean read FInertia write FInertia;
Public | property Iterations: Integer read FIterations write FIterations;
Public | property MaxDeltaTime: Single read FMaxDeltaTime write FMaxDeltaTime;
Public | property Nodes: TGLVerletNodeList read FNodes;
Public | property SimTime: Single read FSimTime write FSimTime;
Public | property SolidEdges: TGLVerletEdgeList read FSolidEdges write FSolidEdges;
Public | property SpacePartition: TBaseSpacePartition read FSpacePartition;
Public | property UpdateSpacePartion: TUpdateSpacePartion read FUpdateSpacePartion write FUpdateSpacePartion;
Public | property VerletNodeClass: TGLVerletNodeClass read FVerletNodeClass write FVerletNodeClass;

Description

Fields

Private FIterations: Integer;
Private FNodes: TGLVerletNodeList;
Private FConstraints: TGLVerletConstraintList;
Private FForces: TGLVerletForceList;
Private FMaxDeltaTime: Single;
Private FSimTime: Single;
Private FDrag: Single;
Private FCurrentDeltaTime: Single;
Private FInvCurrentDeltaTime: Single;
Private FSolidEdges: TGLVerletEdgeList;
Private FSpacePartition: TBaseSpacePartition;
Private FCurrentStepCount: Integer;
Private FUpdateSpacePartion: TUpdateSpacePartion;
Private FCollisionConstraintTypes: TCollisionConstraintTypesSet;
Private FConstraintsWithBeforeIterations: TGLVerletConstraintList;
Private FVerletNodeClass: TGLVerletNodeClass;
Private FInertia: Boolean;
Private FInertaPauseSteps: Integer;

Methods

Public constructor Create; virtual;
Public destructor Destroy; override;
Public function AddConstraint(const aConstraint: TGLVerletConstraint): Integer;
Public function AddForce(const aForce: TGLVerletForce): Integer;
Public function AddNode(const aNode: TGLBaseVerletNode): Integer;
Public function CreateOwnedNode(const Location: TAffineVector; const aRadius: Single = 0; const aWeight: Single = 1): TGLBaseVerletNode;
Public function CreateSlider(const aNodeA, aNodeB: TGLBaseVerletNode; const aSlideDirection: TAffineVector): TGLVerletSlider;
Public function CreateSpring(const aNodeA, aNodeB: TGLBaseVerletNode; const aStrength, aDamping: Single; const aSlack: Single = 0): TGLVerletSpring;
Public function CreateStick(const aNodeA, aNodeB: TGLBaseVerletNode; const Slack: Single = 0): TGLVerletStick;
Public function FirstNode: TGLBaseVerletNode;
Public function LastNode: TGLBaseVerletNode;
Public function Progress(const deltaTime, newTime: Double): Integer; virtual;
Public procedure AddSolidEdge(const aNodeA, aNodeB: TGLBaseVerletNode);
Public procedure CreateOctree(const OctreeMin, OctreeMax: TAffineVector; const LeafThreshold, MaxTreeDepth: Integer);
Public procedure Initialize; virtual;
Public procedure PauseInertia(const IterationSteps: Integer);
Public procedure RemoveConstraint(const aConstraint: TGLVerletConstraint);
Public procedure RemoveForce(const aForce: TGLVerletForce);
Public procedure RemoveNode(const aNode: TGLBaseVerletNode);
Protected procedure AccumulateForces(const vpt: TGLProgressTimes); virtual;
Protected procedure DoUpdateSpacePartition;
Protected procedure SatisfyConstraints(const vpt: TGLProgressTimes); virtual;
Protected procedure Verlet(const vpt: TGLProgressTimes); virtual;

Properties

Public property CollisionConstraintTypes: TCollisionConstraintTypesSet read FCollisionConstraintTypes write FCollisionConstraintTypes;
Public property Constraints: TGLVerletConstraintList read FConstraints;
Public property ConstraintsWithBeforeIterations: TGLVerletConstraintList read FConstraintsWithBeforeIterations;
Public property CurrentDeltaTime: Single read FCurrentDeltaTime;
Public property CurrentStepCount: Integer read FCurrentStepCount;
Public property Drag: Single read FDrag write FDrag;
Public property Inertia: Boolean read FInertia write FInertia;
Public property Iterations: Integer read FIterations write FIterations;
Public property MaxDeltaTime: Single read FMaxDeltaTime write FMaxDeltaTime;
Public property Nodes: TGLVerletNodeList read FNodes;
Public property SimTime: Single read FSimTime write FSimTime;
Public property SolidEdges: TGLVerletEdgeList read FSolidEdges write FSolidEdges;
Public property SpacePartition: TBaseSpacePartition read FSpacePartition;
Public property UpdateSpacePartion: TUpdateSpacePartion read FUpdateSpacePartion write FUpdateSpacePartion;
Public property VerletNodeClass: TGLVerletNodeClass read FVerletNodeClass write FVerletNodeClass;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletGravity

Class TGLVerletGravity

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletGravity = class(TGLVerletGlobalForce)

Description

No description available, ancestor TGLVerletGlobalForce description follows

A global force (applied to all verlet nodes).

Hierarchy

  • TObject
  • TGLVerletForce
  • TGLVerletGlobalForce
  • TGLVerletGravity

Overview

Fields

Private FGravity: TAffineVector;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); override;
Public | procedure AddForceToNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property Gravity: TAffineVector read FGravity write FGravity;

Description

Fields

Private FGravity: TAffineVector;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;
Public procedure AddForceToNode(const aNode: TGLBaseVerletNode); override;

Properties

Public property Gravity: TAffineVector read FGravity write FGravity;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletAirResistance

Class TGLVerletAirResistance

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletAirResistance = class(TGLVerletGlobalForce)

Description

No description available, ancestor TGLVerletGlobalForce description follows

A global force (applied to all verlet nodes).

Hierarchy

  • TObject
  • TGLVerletForce
  • TGLVerletGlobalForce
  • TGLVerletAirResistance

Overview

Fields

Private | FDragCoeff: Single;
Private | FWindDirection: TAffineVector;
Private | FWindMagnitude: Single;
Private | FWindChaos: Single;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); override;
Public | procedure AddForceToNode(const aNode: TGLBaseVerletNode); override;
Private | procedure SetWindDirection(const Value: TAffineVector);

Properties

Public | property DragCoeff: Single read FDragCoeff write FDragCoeff;
Public | property WindChaos: Single read FWindChaos write FWindChaos;
Public | property WindDirection: TAffineVector read FWindDirection write SetWindDirection;
Public | property WindMagnitude: Single read FWindMagnitude write FWindMagnitude;

Description

Fields

Private FDragCoeff: Single;
Private FWindDirection: TAffineVector;
Private FWindMagnitude: Single;
Private FWindChaos: Single;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;
Public procedure AddForceToNode(const aNode: TGLBaseVerletNode); override;
Private procedure SetWindDirection(const Value: TAffineVector);

Properties

Public property DragCoeff: Single read FDragCoeff write FDragCoeff;
Public property WindChaos: Single read FWindChaos write FWindChaos;

Measures how chaotic the wind is, as a fraction of the wind magnitude

Public property WindDirection: TAffineVector read FWindDirection write SetWindDirection;
Public property WindMagnitude: Single read FWindMagnitude write FWindMagnitude;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletSpring

Class TGLVerletSpring

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletSpring = class(TGLVerletDualForce)

Description

No description available, ancestor TGLVerletDualForce description follows

A verlet force that applies to two specified nodes.

Hierarchy

  • TObject
  • TGLVerletForce
  • TGLVerletDualForce
  • TGLVerletSpring

Overview

Fields

Private | FRestLength: Single;
Private | FStrength: Single;
Private | FDamping: Single;
Private | FSlack: Single;
Private | FForceFactor: Single;

Methods

Public | procedure AddForce(const vpt: TGLProgressTimes); override;
Public | procedure SetRestLengthToCurrent;
Protected | procedure SetSlack(const Value: Single);

Properties

Public | property Damping: Single read FDamping write FDamping;
Public | property Slack: Single read FSlack write SetSlack;
Public | property Strength: Single read FStrength write FStrength;

Description

Fields

Private FRestLength: Single;
Private FStrength: Single;
Private FDamping: Single;
Private FSlack: Single;
Private FForceFactor: Single;

Methods

Public procedure AddForce(const vpt: TGLProgressTimes); override;
Public procedure SetRestLengthToCurrent;

Must be invoked after adjust node locations or strength

Protected procedure SetSlack(const Value: Single);

Properties

Public property Damping: Single read FDamping write FDamping;
Public property Slack: Single read FSlack write SetSlack;
Public property Strength: Single read FStrength write FStrength;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletFloor

Class TGLVerletFloor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletFloor = class(TGLVerletGlobalFrictionConstraintSP)

Description

Floor Collision Constraint

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletFloor

Overview

Fields

Private | FBounceRatio: Single;
Private | FFloorLevel: Single;
Private | FNormal: TAffineVector;

Methods

Public | constructor Create(const aOwner: TGLVerletWorld); override;
Public | procedure PerformSpaceQuery; override;
Public | procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Protected | procedure SetNormal(const Value: TAffineVector);

Properties

Public | property BounceRatio: Single read FBounceRatio write FBounceRatio;
Public | property FloorLevel: Single read FFloorLevel write FFloorLevel;
Public | property Normal: TAffineVector read FNormal write SetNormal;

Description

Fields

Private FBounceRatio: Single;
Private FFloorLevel: Single;
Private FNormal: TAffineVector;

Methods

Public constructor Create(const aOwner: TGLVerletWorld); override;
Public procedure PerformSpaceQuery; override;
Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Protected procedure SetNormal(const Value: TAffineVector);

Properties

Public property BounceRatio: Single read FBounceRatio write FBounceRatio;
Public property FloorLevel: Single read FFloorLevel write FFloorLevel;
Public property Normal: TAffineVector read FNormal write SetNormal;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletHeightField

Class TGLVerletHeightField

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletHeightField = class(TGLVerletFloor)

Description

HeightField collision constraint (punctual!)

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletFloor
  • TGLVerletHeightField

Overview

Fields

Private FOnNeedHeight: TGLVerletHeightFieldOnNeedHeight;

Methods

Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;

Properties

Public property OnNeedHeight: TGLVerletHeightFieldOnNeedHeight read FOnNeedHeight write FOnNeedHeight;

Description

Fields

Private FOnNeedHeight: TGLVerletHeightFieldOnNeedHeight;

Methods

Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;

Properties

Public property OnNeedHeight: TGLVerletHeightFieldOnNeedHeight read FOnNeedHeight write FOnNeedHeight;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletStick

Class TGLVerletStick

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletStick = class(TGLVerletDualConstraint)

Description

Stick Verlet Collision Constraint. Imposes a fixed distance between two nodes

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletDualConstraint
  • TGLVerletStick

Overview

Fields

Private | FSlack: Single;
Private | FRestLength: Single;

Methods

Public | procedure SatisfyConstraint(const iteration, maxIterations: Integer); override;
Public | procedure SetRestLengthToCurrent;

Properties

Public | property RestLength: Single read FRestLength write FRestLength;
Public | property Slack: Single read FSlack write FSlack;

Description

Fields

Private FSlack: Single;
Private FRestLength: Single;

Methods

Public procedure SatisfyConstraint(const iteration, maxIterations: Integer); override;
Public procedure SetRestLengthToCurrent;

Properties

Public property RestLength: Single read FRestLength write FRestLength;
Public property Slack: Single read FSlack write FSlack;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletRigidBody

Class TGLVerletRigidBody

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletRigidBody = class(TGLVerletGroupConstraint)

Description

Rigid body verlet Collision constraint. Regroups several nodes in a rigid body conformation, somewhat similar to a stick but for multiple nodes. EXPERIMENTAL, STILL DOES NOT WORK!

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGroupConstraint
  • TGLVerletRigidBody

Overview

Fields

Private | FNodeParams: array of TAffineVector;
Private | FNodeCoords: array of TAffineVector;
Private | FNatMatrix: TAffineMatrix;
Private | FInvNatMatrix: TAffineMatrix;

Methods

Public | procedure ComputeRigidityParameters;
Public | procedure SatisfyConstraint(const iteration, maxIterations: Integer); override;
Protected | procedure ComputeBarycenter(var barycenter: TAffineVector);
Protected | procedure ComputeNaturals(const barycenter: TAffineVector; var natX, natY, natZ: TAffineVector);

Description

Fields

Private FNodeParams: array of TAffineVector;
Private FNodeCoords: array of TAffineVector;
Private FNatMatrix: TAffineMatrix;
Private FInvNatMatrix: TAffineMatrix;

Methods

Public procedure ComputeRigidityParameters;
Public procedure SatisfyConstraint(const iteration, maxIterations: Integer); override;
Protected procedure ComputeBarycenter(var barycenter: TAffineVector);
Protected procedure ComputeNaturals(const barycenter: TAffineVector; var natX, natY, natZ: TAffineVector);


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletSlider

Class TGLVerletSlider

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletSlider = class(TGLVerletDualConstraint)

Description

Slider constraint. Imposes that two nodes be aligned on a defined direction, on which they can slide freely. Note that the direction is fixed and won't rotate with the verlet assembly!.

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletDualConstraint
  • TGLVerletSlider

Overview

Fields

Private | FSlideDirection: TAffineVector;
Private | FConstrained: Boolean;

Methods

Public | procedure SatisfyConstraint(const iteration, maxIterations: Integer); override;
Protected | procedure SetSlideDirection(const Value: TAffineVector);

Properties

Public | property Constrained: Boolean read FConstrained write FConstrained;
Public | property SlideDirection: TAffineVector read FSlideDirection write SetSlideDirection;

Description

Fields

Private FSlideDirection: TAffineVector;
Private FConstrained: Boolean;

Methods

Public procedure SatisfyConstraint(const iteration, maxIterations: Integer); override;
Protected procedure SetSlideDirection(const Value: TAffineVector);

Properties

Public property Constrained: Boolean read FConstrained write FConstrained;

Constrain NodeB to the halfplane defined by NodeA and SlideDirection.

Public property SlideDirection: TAffineVector read FSlideDirection write SetSlideDirection;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletFrictionSphere

Class TGLVerletFrictionSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletFrictionSphere = class(TGLVerletGlobalFrictionConstraintSphere)

Description

Sphere Сollision Friction Constraint

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletGlobalFrictionConstraintSphere
  • TGLVerletFrictionSphere

Overview

Fields

Private FRadius: Single;

Methods

Public | function GetBSphere: TBSphere; override;
Public | procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); override;
Public | procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;

Properties

Public property Radius: Single read FRadius write FRadius;

Description

Fields

Private FRadius: Single;

Methods

Public function GetBSphere: TBSphere; override;
Public procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); override;
Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;

Properties

Public property Radius: Single read FRadius write FRadius;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletFrictionCylinder

Class TGLVerletFrictionCylinder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletFrictionCylinder = class(TGLVerletGlobalFrictionConstraint)

Description

Cylinder collision Friction Constraint. The cylinder is considered infinite by this constraint.

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletFrictionCylinder

Overview

Fields

Private | FAxis: TAffineVector;
Private | FRadius: Single;
Private | FRadius2: Single;

Methods

Public | procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Protected | procedure SetRadius(const val: Single);

Properties

Public | property Axis: TAffineVector read FAxis write FAxis;
Public | property Radius: Single read FRadius write SetRadius;

Description

Fields

Private FAxis: TAffineVector;
Private FRadius: Single;
Private FRadius2: Single;

Methods

Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Protected procedure SetRadius(const val: Single);

Properties

Public property Axis: TAffineVector read FAxis write FAxis;

Cylinder axis vector. Must be normalized.

Public property Radius: Single read FRadius write SetRadius;

Cylinder radius.


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletFrictionCube

Class TGLVerletFrictionCube

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletFrictionCube = class(TGLVerletGlobalFrictionConstraintBox)

Description

Cube Сollision Friction Constraint.

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletGlobalFrictionConstraintBox
  • TGLVerletFrictionCube

Overview

Fields

Private | FHalfSides: TAffineVector;
Private | FSides: TAffineVector;
Private | FDirection: TAffineVector;

Methods

Public | function GetAABB: TAABB; override;
Public | procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); override;
Public | procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Private | procedure SetSides(const Value: TAffineVector);

Properties

Public | property Direction: TAffineVector read FDirection write FDirection;
Public | property Sides: TAffineVector read FSides write SetSides;

Description

Fields

Private FHalfSides: TAffineVector;
Private FSides: TAffineVector;
Private FDirection: TAffineVector;

Methods

Public function GetAABB: TAABB; override;
Public procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); override;

Broken and very slow!

Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Private procedure SetSides(const Value: TAffineVector);

Properties

Public property Direction: TAffineVector read FDirection write FDirection;
Public property Sides: TAffineVector read FSides write SetSides;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletFrictionCapsule

Class TGLVerletFrictionCapsule

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletFrictionCapsule = class(TGLVerletGlobalFrictionConstraintSphere)

Description

Capsule collision Friction Constraint.

Hierarchy

  • TObject
  • TGLVerletConstraint
  • TGLVerletGlobalConstraint
  • TGLVerletGlobalFrictionConstraint
  • TGLVerletGlobalFrictionConstraintSP
  • TGLVerletGlobalFrictionConstraintSphere
  • TGLVerletFrictionCapsule

Overview

Fields

Private | FAxis: TAffineVector;
Private | FRadius: Single;
Private | FRadius2: Single;
Private | FLength: Single;
Private | FLengthDiv2: Single;

Methods

Public | function GetBSphere: TBSphere; override;
Public | procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); override;
Public | procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Protected | procedure SetAxis(const val: TAffineVector);
Protected | procedure SetLength(const val: Single);
Protected | procedure SetRadius(const val: Single);

Properties

Public | property Axis: TAffineVector read FAxis write SetAxis;
Public | property Length: Single read FLength write SetLength;
Public | property Radius: Single read FRadius write SetRadius;

Description

Fields

Private FAxis: TAffineVector;
Private FRadius: Single;
Private FRadius2: Single;
Private FLength: Single;
Private FLengthDiv2: Single;

Methods

Public function GetBSphere: TBSphere; override;
Public procedure SatisfyConstraintForEdge(const aEdge: TGLVerletEdge; const iteration, maxIterations: Integer); override;
Public procedure SatisfyConstraintForNode(const aNode: TGLBaseVerletNode; const iteration, maxIterations: Integer); override;
Protected procedure SetAxis(const val: TAffineVector);
Protected procedure SetLength(const val: Single);
Protected procedure SetRadius(const val: Single);

Properties

Public property Axis: TAffineVector read FAxis write SetAxis;

property Base : TAffineVector read FBase write FBase;

Public property Length: Single read FLength write SetLength;
Public property Radius: Single read FRadius write SetRadius;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletNode

Class TGLVerletNode

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletNode = class(TGLBaseVerletNode)

Description

Specialized verlet node that can be anchored to a GLScene object. If it's anchored and has the property "NailedDown" set, it will remain in the same relative position to the GLScene object.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TSpacePartitionLeaf
  • TGLBaseVerletNode
  • TGLVerletNode

Overview

Fields

Private | FRelativePosition: TAffineVector;
Private | FGLBaseSceneObject: TGLBaseSceneObject;

Methods

Public | procedure Verlet(const vpt: TGLProgressTimes); override;
Protected | procedure SetLocation(const Value: TAffineVector); override;
Private | procedure SetGLBaseSceneObject(const Value: TGLBaseSceneObject);

Properties

Public | property GLBaseSceneObject: TGLBaseSceneObject read FGLBaseSceneObject write SetGLBaseSceneObject;
Public | property RelativePosition: TAffineVector read FRelativePosition write FRelativePosition;

Description

Fields

Private FRelativePosition: TAffineVector;
Private FGLBaseSceneObject: TGLBaseSceneObject;

Methods

Public procedure Verlet(const vpt: TGLProgressTimes); override;
Protected procedure SetLocation(const Value: TAffineVector); override;
Private procedure SetGLBaseSceneObject(const Value: TGLBaseSceneObject);

Properties

Public property GLBaseSceneObject: TGLBaseSceneObject read FGLBaseSceneObject write SetGLBaseSceneObject;
Public property RelativePosition: TAffineVector read FRelativePosition write FRelativePosition;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletHair

Class TGLVerletHair

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletHair = class(TObject)

Description

Verlet Hair class

Hierarchy

  • TObject
  • TGLVerletHair

Overview

Fields

Private | FNodeList: TGLVerletNodeList;
Private | FLinkCount: integer;
Private | FRootDepth: single;
Private | FVerletWorld: TGLVerletWorld;
Private | FHairLength: single;
Private | FData: pointer;
Private | FStiffness: TGLStiffnessSetVH;
Private | FStiffnessList: TList;

Methods

Public | constructor Create(const AVerletWorld: TGLVerletWorld; const ARootDepth, AHairLength: single; ALinkCount: integer; const AAnchorPosition, AHairDirection: TAffineVector; const AStiffness: TGLStiffnessSetVH);
Public | destructor Destroy; override;
Private | function GetAnchor: TGLBaseVerletNode;
Private | function GetLinkLength: single;
Private | function GetRoot: TGLBaseVerletNode;
Public | procedure BuildHair(const AAnchorPosition, AHairDirection: TAffineVector);
Public | procedure BuildStiffness;
Public | procedure Clear;
Public | procedure ClearStiffness;
Private | procedure AddStickStiffness(const ANodeSkip: integer);
Private | procedure SetStiffness(const Value: TGLStiffnessSetVH);

Properties

Public | property Anchor: TGLBaseVerletNode read GetAnchor;
Public | property Data: pointer read FData write FData;
Public | property HairLength: single read FHairLength;
Public | property LinkCount: integer read FLinkCount;
Public | property LinkLength: single read GetLinkLength;
Public | property NodeList: TGLVerletNodeList read FNodeList;
Public | property Root: TGLBaseVerletNode read GetRoot;
Public | property RootDepth: single read FRootDepth;
Public | property Stiffness: TGLStiffnessSetVH read FStiffness write SetStiffness;
Public | property VerletWorld: TGLVerletWorld read FVerletWorld;

Description

Fields

Private FNodeList: TGLVerletNodeList;
Private FLinkCount: integer;
Private FRootDepth: single;
Private FVerletWorld: TGLVerletWorld;
Private FHairLength: single;
Private FData: pointer;
Private FStiffness: TGLStiffnessSetVH;
Private FStiffnessList: TList;

Methods

Public constructor Create(const AVerletWorld: TGLVerletWorld; const ARootDepth, AHairLength: single; ALinkCount: integer; const AAnchorPosition, AHairDirection: TAffineVector; const AStiffness: TGLStiffnessSetVH);
Public destructor Destroy; override;
Private function GetAnchor: TGLBaseVerletNode;
Private function GetLinkLength: single;
Private function GetRoot: TGLBaseVerletNode;
Public procedure BuildHair(const AAnchorPosition, AHairDirection: TAffineVector);
Public procedure BuildStiffness;
Public procedure Clear;
Public procedure ClearStiffness;
Private procedure AddStickStiffness(const ANodeSkip: integer);
Private procedure SetStiffness(const Value: TGLStiffnessSetVH);

Properties

Public property Anchor: TGLBaseVerletNode read GetAnchor;

Anchor should be nailed down to give the hair stability

Public property Data: pointer read FData write FData;
Public property HairLength: single read FHairLength;
Public property LinkCount: integer read FLinkCount;
Public property LinkLength: single read GetLinkLength;
Public property NodeList: TGLVerletNodeList read FNodeList;
Public property Root: TGLBaseVerletNode read GetRoot;

Root should be nailed down to give the hair stability

Public property RootDepth: single read FRootDepth;
Public property Stiffness: TGLStiffnessSetVH read FStiffness write SetStiffness;
Public property VerletWorld: TGLVerletWorld read FVerletWorld;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletSkeletonCollider

Class TGLVerletSkeletonCollider

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletSkeletonCollider = class(TGLSkeletonCollider)

Description

Base Verlet Skeleton Collider class.

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TGLVerletSkeletonCollider

Overview

Fields

Private FVerletConstraint: TGLVerletConstraint;

Methods

Public | procedure AddToVerletWorld(VerletWorld: TGLVerletWorld); virtual;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;

Properties

Public property VerletConstraint: TGLVerletConstraint read FVerletConstraint;

Description

Fields

Private FVerletConstraint: TGLVerletConstraint;

Methods

Public procedure AddToVerletWorld(VerletWorld: TGLVerletWorld); virtual;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;

Properties

Public property VerletConstraint: TGLVerletConstraint read FVerletConstraint;

The verlet constraint is created through the AddToVerletWorld procedure


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletSphere

Class TGLVerletSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletSphere = class(TGLVerletSkeletonCollider)

Description

Sphere shaped verlet constraint in a skeleton collider

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TGLVerletSkeletonCollider
  • TGLVerletSphere

Overview

Fields

Private FRadius: Single;

Methods

Public | constructor Create; override;
Public | procedure AddToVerletWorld(VerletWorld: TGLVerletWorld); override;
Public | procedure AlignCollider; override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;
Protected | procedure SetRadius(const Val: Single);

Properties

Public property Radius: Single read FRadius write SetRadius;

Description

Fields

Private FRadius: Single;

Methods

Public constructor Create; override;
Public procedure AddToVerletWorld(VerletWorld: TGLVerletWorld); override;
Public procedure AlignCollider; override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;
Protected procedure SetRadius(const Val: Single);

Properties

Public property Radius: Single read FRadius write SetRadius;


GLSysHelp v.2.1: GLS.VerletTypes: Class TGLVerletCapsule

Class TGLVerletCapsule

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.VerletTypes

Declaration

type TGLVerletCapsule = class(TGLVerletSkeletonCollider)

Description

Capsule shaped verlet constraint in a skeleton collider

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TGLVerletSkeletonCollider
  • TGLVerletCapsule

Overview

Fields

Private | FRadius: Single;
Private | FLength: Single;

Methods

Public | constructor Create; override;
Public | procedure AddToVerletWorld(VerletWorld: TGLVerletWorld); override;
Public | procedure AlignCollider; override;
Public | procedure ReadFromFiler(Reader: TVirtualReader); override;
Public | procedure WriteToFiler(Writer: TVirtualWriter); override;
Protected | procedure SetLength(const Val: Single);
Protected | procedure SetRadius(const Val: Single);

Properties

Public | property Length: Single read FLength write SetLength;
Public | property Radius: Single read FRadius write SetRadius;

Description

Fields

Private FRadius: Single;
Private FLength: Single;

Methods

Public constructor Create; override;
Public procedure AddToVerletWorld(VerletWorld: TGLVerletWorld); override;
Public procedure AlignCollider; override;
Public procedure ReadFromFiler(Reader: TVirtualReader); override;
Public procedure WriteToFiler(Writer: TVirtualWriter); override;
Protected procedure SetLength(const Val: Single);
Protected procedure SetRadius(const Val: Single);

Properties

Public property Length: Single read FLength write SetLength;
Public property Radius: Single read FRadius write SetRadius;


GLSysHelp v.2.1: GLS.WaterPlane

Unit GLS.WaterPlane

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.Scene
  • GLS.VectorLists
  • GLS.PersistentClasses
  • GLS.BaseClasses
  • GLS.Context
  • GLS.RenderContextInfo
  • GLS.VectorTypes
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLWaterPlane |

Types

TGLWaterPlaneOption = (...);
TGLWaterPlaneOptions = set of TGLWaterPlaneOption;

Constants

cDefaultWaterPlaneOptions = [wpoTextured];

Description

Types

TGLWaterPlaneOption = (...);
Values
  • wpoTextured
TGLWaterPlaneOptions = set of TGLWaterPlaneOption;

Constants

cDefaultWaterPlaneOptions = [wpoTextured];


GLSysHelp v.2.1: GLS.WaterPlane: Class TGLWaterPlane

Class TGLWaterPlane

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.WaterPlane

Declaration

type TGLWaterPlane = class(TGLSceneObject)

Description

No description available, ancestor TGLSceneObject description follows

Base class for standard scene objects. Publishes the Material property.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLWaterPlane

Overview

Fields

Private | FLocks: packed of ByteBool;
Private | FPositions: packed of Single;
Private | FVelocity: packed of Single;
Private | FPlaneQuadIndices: TPersistentObjectList;
Private | FPlaneQuadTexCoords: TTexPointList;
Private | FPlaneQuadVertices: TAffineVectorList;
Private | FPlaneQuadNormals: TAffineVectorList;
Private | FActive: Boolean;
Private | FRainTimeInterval: Integer;
Private | FRainForce: Single;
Private | FViscosity: Single;
Private | FElastic: Single;
Private | FResolution: Integer;
Private | FSimulationFrequency: Single;
Private | FTimeToNextUpdate: Single;
Private | FTimeToNextRainDrop: Single;
Private | FMaximumCatchupIterations: Integer;
Private | FLastIterationStepTime: Single;
Private | FMask: TPicture;
Private | FOptions: TGLWaterPlaneOptions;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure BuildList(var rci: TGLRenderContextInfo); override;
Public | procedure CreateRippleAtGridPos(X, Y: Integer);
Public | procedure CreateRippleAtWorldPos(const X, Y, z: Single); overload;
Public | procedure CreateRippleAtWorldPos(const pos: TGLVector); overload;
Public | procedure CreateRippleRandom;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure Reset;
Protected | procedure DoMaskChanged(Sender: TObject);
Protected | procedure InitResolution;
Protected | procedure Iterate;
Protected | procedure IterComputeNormals;
Protected | procedure IterComputePositions;
Protected | procedure IterComputeVelocity;
Protected | procedure SetElastic(const value: Single);
Protected | procedure SetMask(val: TPicture);
Protected | procedure SetOptions(const val: TGLWaterPlaneOptions);
Protected | procedure SetRainForce(const val: Single);
Protected | procedure SetRainTimeInterval(const val: Integer);
Protected | procedure SetResolution(const value: Integer);
Protected | procedure SetSimulationFrequency(const val: Single);
Protected | procedure SetViscosity(const val: Single);

Properties

Published | property Active: Boolean read FActive write FActive default True;
Published | property Elastic: Single read FElastic write SetElastic;
Public | property LastIterationStepTime: Single read FLastIterationStepTime;
Published | property Mask: TPicture read FMask write SetMask;
Published | property MaximumCatchupIterations: Integer read FMaximumCatchupIterations write FMaximumCatchupIterations default 1;
Published | property Options: TGLWaterPlaneOptions read FOptions write SetOptions default cDefaultWaterPlaneOptions;
Published | property RainForce: Single read FRainForce write SetRainForce;
Published | property RainTimeInterval: Integer read FRainTimeInterval write SetRainTimeInterval default 500;
Published | property Resolution: Integer read FResolution write SetResolution default 64;
Published | property SimulationFrequency: Single read FSimulationFrequency write SetSimulationFrequency;
Published | property Viscosity: Single read FViscosity write SetViscosity;

Description

Fields

Private FLocks: packed of ByteBool;
Private FPositions: packed of Single;
Private FVelocity: packed of Single;
Private FPlaneQuadIndices: TPersistentObjectList;
Private FPlaneQuadTexCoords: TTexPointList;
Private FPlaneQuadVertices: TAffineVectorList;
Private FPlaneQuadNormals: TAffineVectorList;
Private FActive: Boolean;
Private FRainTimeInterval: Integer;
Private FRainForce: Single;
Private FViscosity: Single;
Private FElastic: Single;
Private FResolution: Integer;
Private FSimulationFrequency: Single;
Private FTimeToNextUpdate: Single;
Private FTimeToNextRainDrop: Single;
Private FMaximumCatchupIterations: Integer;
Private FLastIterationStepTime: Single;
Private FMask: TPicture;
Private FOptions: TGLWaterPlaneOptions;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AxisAlignedDimensionsUnscaled: TGLVector; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure BuildList(var rci: TGLRenderContextInfo); override;
Public procedure CreateRippleAtGridPos(X, Y: Integer);
Public procedure CreateRippleAtWorldPos(const X, Y, z: Single); overload;
Public procedure CreateRippleAtWorldPos(const pos: TGLVector); overload;
Public procedure CreateRippleRandom;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure Reset;
Protected procedure DoMaskChanged(Sender: TObject);
Protected procedure InitResolution;
Protected procedure Iterate;
Protected procedure IterComputeNormals;
Protected procedure IterComputePositions;
Protected procedure IterComputeVelocity;
Protected procedure SetElastic(const value: Single);
Protected procedure SetMask(val: TPicture);
Protected procedure SetOptions(const val: TGLWaterPlaneOptions);
Protected procedure SetRainForce(const val: Single);
Protected procedure SetRainTimeInterval(const val: Integer);
Protected procedure SetResolution(const value: Integer);
Protected procedure SetSimulationFrequency(const val: Single);
Protected procedure SetViscosity(const val: Single);

Properties

Published property Active: Boolean read FActive write FActive default True;
Published property Elastic: Single read FElastic write SetElastic;
Public property LastIterationStepTime: Single read FLastIterationStepTime;

CPU time (in seconds) taken by the last iteration step.

Published property Mask: TPicture read FMask write SetMask;

A picture whose pixels determine what part of the waterplane is active. Pixels with a green/gray component beyond 128 are active, the others are not (in short, white = active, black = inactive). The picture will automatically be stretched to match the resolution.

Published property MaximumCatchupIterations: Integer read FMaximumCatchupIterations write FMaximumCatchupIterations default 1;

Maximum number of simulation iterations during catchups. Catchups happen when for a reason or another, the DoProgress doesn't happen as fast SimulationFrequency.

Published property Options: TGLWaterPlaneOptions read FOptions write SetOptions default cDefaultWaterPlaneOptions;
Published property RainForce: Single read FRainForce write SetRainForce;
Published property RainTimeInterval: Integer read FRainTimeInterval write SetRainTimeInterval default 500;

Delay between raindrops in milliseconds (0 = no rain)

Published property Resolution: Integer read FResolution write SetResolution default 64;
Published property SimulationFrequency: Single read FSimulationFrequency write SetSimulationFrequency;

Maximum frequency (in Hz) at which simulation iterations happen.

Published property Viscosity: Single read FViscosity write SetViscosity;


GLSysHelp v.2.1: GLS.Windows

Unit GLS.Windows

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.Windows
  • System.Classes
  • System.SysUtils
  • System.Math
  • Vcl.StdCtrls
  • Vcl.Controls
  • Vcl.Graphics
  • GLS.OpenGLTokens
  • GLS.PersistentClasses
  • GLS.Strings
  • GLS.Coordinates
  • GLS.VectorTypes
  • GLS.Objects
  • GLS.State
  • GLS.Utils
  • GLS.Scene
  • GLS.HudObjects
  • GLS.Material
  • GLS.Context
  • GLS.BitmapFont
  • GLS.WindowsFont
  • GLS.VectorGeometry
  • GLS.Gui
  • GLS.Color
  • GLS.Texture
  • GLS.RenderContextInfo
  • GLS.BaseClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseComponent |
Class TGLBaseControl |
Class TGLBaseFontControl |
Class TGLBaseTextControl |
Class TGLFocusControl |
Class TGLCustomControl |
Class TGLPopupMenu |
Class TGLForm |
Class TGLPanel |
Class TGLCheckBox |
Class TGLButton |
Class TGLEdit |
Class TGLLabel |
Class TGLAdvancedLabel |
Class TGLScrollbar |
Class TGLStringGrid |

Functions and Procedures

function UnpressGroup(CurrentObject: TGLBaseSceneObject; AGroupID: Integer): Boolean;

Types

TGLAcceptMouseQuery = procedure(Sender: TGLBaseControl; Shift: TShiftState; Action: TGLMouseAction; Button: TMouseButton; X, Y: Integer; var Accept: boolean) of object;
TGLCustomRenderEvent = procedure(Sender: TGLCustomControl; Bitmap: TBitmap) of object;
TGLFormCanClose = procedure(Sender: TGLForm; var CanClose: TGLFormCloseOptions) of object;
TGLFormCanRequest = procedure(Sender: TGLForm; var Can: Boolean) of object;
TGLFormCloseOptions = (...);
TGLFormMove = procedure(Sender: TGLForm; var Left, Top: Single) of object;
TGLFormNotify = procedure(Sender: TGLForm) of object;
TGLMouseAction = (...);
TGLPopupMenuClick = procedure(Sender: TGLPopupMenu; index: Integer; const MenuItemText: string) of object;

Description

Functions and Procedures

function UnpressGroup(CurrentObject: TGLBaseSceneObject; AGroupID: Integer): Boolean;

Types

TGLAcceptMouseQuery = procedure(Sender: TGLBaseControl; Shift: TShiftState; Action: TGLMouseAction; Button: TMouseButton; X, Y: Integer; var Accept: boolean) of object;
TGLCustomRenderEvent = procedure(Sender: TGLCustomControl; Bitmap: TBitmap) of object;
TGLFormCanClose = procedure(Sender: TGLForm; var CanClose: TGLFormCloseOptions) of object;
TGLFormCanRequest = procedure(Sender: TGLForm; var Can: Boolean) of object;
TGLFormCloseOptions = (...);
Values
  • co_Hide
  • co_Ignore
  • co_Destroy
TGLFormMove = procedure(Sender: TGLForm; var Left, Top: Single) of object;
TGLFormNotify = procedure(Sender: TGLForm) of object;
TGLMouseAction = (...);
Values
  • ma_mouseup
  • ma_mousedown
  • ma_mousemove
TGLPopupMenuClick = procedure(Sender: TGLPopupMenu; index: Integer; const MenuItemText: string) of object;


GLSysHelp v.2.1: GLS.Windows: Class TGLBaseComponent

Class TGLBaseComponent

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLBaseComponent = class(TGLBaseGuiObject)

Description

No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent

Overview

Fields

Private | FGUIRedraw: Boolean;
Private | FGuiLayout: TGLGuiLayout;
Private | FGuiLayoutName: TGLGuiComponentName;
Private | FGuiComponent: TGLGuiComponent;
Private | FReBuildGui: Boolean;
Private | FRedrawAtOnce: Boolean;
Private | MoveX: TGLFloat;
Private | MoveY: TGLFloat;
Private | FRenderStatus: TGUIDrawResult;
Private | FAlphaChannel: Single;
Private | FRotation: TGLFloat;
Private | FNoZWrite: Boolean;
Private | BlockRendering: Boolean;
Private | RenderingCount: Integer;
Private | BlockedCount: Integer;
Private | GuiDestroying: Boolean;
Private | FDoChangesOnProgress: Boolean;
Private | FAutosize: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function StoreAlphaChannel: Boolean;
Public | procedure BlockRender;
Public | procedure DoChanges; virtual;
Public | procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); virtual;
Public | procedure MoveGUI(XRel, YRel: Single);
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure PlaceGUI(XPos, YPos: Single);
Public | procedure UnBlockRender;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure RenderFooter(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean);
Protected | procedure RenderHeader(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean);
Protected | procedure SetAlphaChannel(const val: Single);
Protected | procedure SetGuiLayout(NewGui: TGLGuiLayout); virtual;
Protected | procedure SetGuiLayoutName(const NewName: TGLGuiComponentName);
Protected | procedure SetNoZWrite(const val: Boolean);
Protected | procedure SetRotation(const val: TGLFloat);
Private | procedure SetAutosize(const Value: Boolean);
Private | procedure SetDoChangesOnProgress(const Value: Boolean);
Private | procedure SetGUIRedraw(value: Boolean);

Properties

Published | property AlphaChannel: Single read FAlphaChannel write SetAlphaChannel stored StoreAlphaChannel;
Published | property Autosize: Boolean read FAutosize write SetAutosize;
Published | property DoChangesOnProgress: Boolean read FDoChangesOnProgress write SetDoChangesOnProgress;
Published | property GuiLayout: TGLGuiLayout read FGuiLayout write SetGuiLayout;
Published | property GuiLayoutName: TGLGuiComponentName read FGuiLayoutName write SetGuiLayoutName;
Public | property GUIRedraw: Boolean read FGUIRedraw write SetGUIRedraw;
Published | property Height;
Published | property Left;
Published | property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;
Published | property Position;
Public | property ReBuildGui: Boolean read FReBuildGui write FReBuildGui;
Published | property RedrawAtOnce: Boolean read FRedrawAtOnce write FRedrawAtOnce;
Published | property Rotation: TGLFloat read FRotation write SetRotation;
Published | property Top;
Published | property Visible;
Published | property Width;

Description

Fields

Private FGUIRedraw: Boolean;
Private FGuiLayout: TGLGuiLayout;
Private FGuiLayoutName: TGLGuiComponentName;
Private FGuiComponent: TGLGuiComponent;
Private FReBuildGui: Boolean;
Private FRedrawAtOnce: Boolean;
Private MoveX: TGLFloat;
Private MoveY: TGLFloat;
Private FRenderStatus: TGUIDrawResult;
Private FAlphaChannel: Single;
Private FRotation: TGLFloat;
Private FNoZWrite: Boolean;
Private BlockRendering: Boolean;
Private RenderingCount: Integer;
Private BlockedCount: Integer;
Private GuiDestroying: Boolean;
Private FDoChangesOnProgress: Boolean;
Private FAutosize: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function StoreAlphaChannel: Boolean;
Public procedure BlockRender;
Public procedure DoChanges; virtual;
Public procedure DoProgress(const progressTime: TGLProgressTimes); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); virtual;
Public procedure MoveGUI(XRel, YRel: Single);
Public procedure NotifyChange(Sender: TObject); override;
Public procedure PlaceGUI(XPos, YPos: Single);
Public procedure UnBlockRender;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure RenderFooter(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean);
Protected procedure RenderHeader(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean);
Protected procedure SetAlphaChannel(const val: Single);
Protected procedure SetGuiLayout(NewGui: TGLGuiLayout); virtual;
Protected procedure SetGuiLayoutName(const NewName: TGLGuiComponentName);
Protected procedure SetNoZWrite(const val: Boolean);
Protected procedure SetRotation(const val: TGLFloat);
Private procedure SetAutosize(const Value: Boolean);
Private procedure SetDoChangesOnProgress(const Value: Boolean);
Private procedure SetGUIRedraw(value: Boolean);

Properties

Published property AlphaChannel: Single read FAlphaChannel write SetAlphaChannel stored StoreAlphaChannel;

If different from 1, this value will replace that of Diffuse.Alpha

Published property Autosize: Boolean read FAutosize write SetAutosize;
Published property DoChangesOnProgress: Boolean read FDoChangesOnProgress write SetDoChangesOnProgress;
Published property GuiLayout: TGLGuiLayout read FGuiLayout write SetGuiLayout;
Published property GuiLayoutName: TGLGuiComponentName read FGuiLayoutName write SetGuiLayoutName;
Public property GUIRedraw: Boolean read FGUIRedraw write SetGUIRedraw;
Published property Height;
Published property Left;
Published property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;

If True, GuiComponent will not write to Z-Buffer. GuiComponent will be maskable by ZBuffer test STILL.

Published property Position;
Public property ReBuildGui: Boolean read FReBuildGui write FReBuildGui;
Published property RedrawAtOnce: Boolean read FRedrawAtOnce write FRedrawAtOnce;
Published property Rotation: TGLFloat read FRotation write SetRotation;

This the ON-SCREEN rotation of the GuiComponent. Rotatation=0 is handled faster.

Published property Top;
Published property Visible;
Published property Width;


GLSysHelp v.2.1: GLS.Windows: Class TGLBaseControl

Class TGLBaseControl

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLBaseControl = class(TGLBaseComponent)

Description

No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl

Overview

Fields

Private | FOnMouseDown: TMouseEvent;
Private | FOnMouseMove: TMouseMoveEvent;
Private | FOnMouseUp: TMouseEvent;
Private | FKeepMouseEvents: Boolean;
Private | FActiveControl: TGLBaseControl;
Private | FFocusedControl: TGLFocusControl;
Private | FOnAcceptMouseQuery: TGLAcceptMouseQuery;
Private | FOnMouseLeave: TNotifyEvent;
Private | FOnMouseEnter: TNotifyEvent;
Private | FEnteredControl: TGLBaseControl;

Methods

Public | function MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
Public | function MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
Public | function MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
Protected | function FindFirstGui: TGLBaseControl;
Public | procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
Public | procedure KeyPress(Sender: TObject; var Key: Char); virtual;
Public | procedure KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
Protected | procedure DoMouseEnter;
Protected | procedure DoMouseLeave;
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); virtual;
Protected | procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); virtual;
Protected | procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); virtual;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetActiveControl(NewControl: TGLBaseControl);
Protected | procedure SetFocusedControl(NewControl: TGLFocusControl);

Properties

Public | property ActiveControl: TGLBaseControl read FActiveControl write SetActiveControl;
Published | property FocusedControl: TGLFocusControl read FFocusedControl write SetFocusedControl;
Public | property KeepMouseEvents: Boolean read FKeepMouseEvents write FKeepMouseEvents default false;
Published | property OnAcceptMouseQuery: TGLAcceptMouseQuery read FOnAcceptMouseQuery write FOnAcceptMouseQuery;
Published | property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
Published | property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
Published | property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
Published | property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
Published | property OnMouseUp: TMouseEvent read FOnMouseUp write FOnMouseUp;

Description

Fields

Private FOnMouseDown: TMouseEvent;
Private FOnMouseMove: TMouseMoveEvent;
Private FOnMouseUp: TMouseEvent;
Private FKeepMouseEvents: Boolean;
Private FActiveControl: TGLBaseControl;
Private FFocusedControl: TGLFocusControl;
Private FOnAcceptMouseQuery: TGLAcceptMouseQuery;
Private FOnMouseLeave: TNotifyEvent;
Private FOnMouseEnter: TNotifyEvent;
Private FEnteredControl: TGLBaseControl;

Methods

Public function MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
Public function MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
Public function MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; virtual;
Protected function FindFirstGui: TGLBaseControl;
Public procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
Public procedure KeyPress(Sender: TObject; var Key: Char); virtual;
Public procedure KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); virtual;
Protected procedure DoMouseEnter;
Protected procedure DoMouseLeave;
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); virtual;
Protected procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); virtual;
Protected procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); virtual;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetActiveControl(NewControl: TGLBaseControl);
Protected procedure SetFocusedControl(NewControl: TGLFocusControl);

Properties

Public property ActiveControl: TGLBaseControl read FActiveControl write SetActiveControl;
Published property FocusedControl: TGLFocusControl read FFocusedControl write SetFocusedControl;
Public property KeepMouseEvents: Boolean read FKeepMouseEvents write FKeepMouseEvents default false;
Published property OnAcceptMouseQuery: TGLAcceptMouseQuery read FOnAcceptMouseQuery write FOnAcceptMouseQuery;
Published property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
Published property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
Published property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
Published property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
Published property OnMouseUp: TMouseEvent read FOnMouseUp write FOnMouseUp;


GLSysHelp v.2.1: GLS.Windows: Class TGLBaseFontControl

Class TGLBaseFontControl

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLBaseFontControl = class(TGLBaseControl)

Description

No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl

Overview

Fields

Private | FBitmapFont: TGLCustomBitmapFont;
Private | FDefaultColor: TGLColorVector;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetBitmapFont: TGLCustomBitmapFont;
Protected | function GetDefaultColor: TColor;
Protected | function GetFontHeight: Integer;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetBitmapFont(NewFont: TGLCustomBitmapFont);
Protected | procedure SetDefaultColor(value: TColor);
Protected | procedure WriteTextAt(var rci: TGLRenderContextInfo; const X, Y: TGLFloat; const Data: UnicodeString; const Color: TGLColorVector); overload;
Protected | procedure WriteTextAt(var rci: TGLRenderContextInfo; const X1, Y1, X2, Y2: TGLFloat; const Data: UnicodeString; const Color: TGLColorVector); overload;

Properties

Published | property BitmapFont: TGLCustomBitmapFont read GetBitmapFont write SetBitmapFont;
Published | property DefaultColor: TColor read GetDefaultColor write SetDefaultColor;

Description

Fields

Private FBitmapFont: TGLCustomBitmapFont;
Private FDefaultColor: TGLColorVector;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetBitmapFont: TGLCustomBitmapFont;
Protected function GetDefaultColor: TColor;
Protected function GetFontHeight: Integer;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetBitmapFont(NewFont: TGLCustomBitmapFont);
Protected procedure SetDefaultColor(value: TColor);
Protected procedure WriteTextAt(var rci: TGLRenderContextInfo; const X, Y: TGLFloat; const Data: UnicodeString; const Color: TGLColorVector); overload;
Protected procedure WriteTextAt(var rci: TGLRenderContextInfo; const X1, Y1, X2, Y2: TGLFloat; const Data: UnicodeString; const Color: TGLColorVector); overload;

Properties

Published property BitmapFont: TGLCustomBitmapFont read GetBitmapFont write SetBitmapFont;
Published property DefaultColor: TColor read GetDefaultColor write SetDefaultColor;


GLSysHelp v.2.1: GLS.Windows: Class TGLBaseTextControl

Class TGLBaseTextControl

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLBaseTextControl = class(TGLBaseFontControl)

Description

No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl

Overview

Fields

Private FCaption: UnicodeString;

Methods

Protected procedure SetCaption(const NewCaption: UnicodeString);

Properties

Published property Caption: UnicodeString read FCaption write SetCaption;

Description

Fields

Private FCaption: UnicodeString;

Methods

Protected procedure SetCaption(const NewCaption: UnicodeString);

Properties

Published property Caption: UnicodeString read FCaption write SetCaption;


GLSysHelp v.2.1: GLS.Windows: Class TGLFocusControl

Class TGLFocusControl

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLFocusControl = class(TGLBaseTextControl)

Description

No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl

Overview

Fields

Private | FRootControl: TGLBaseControl;
Private | FFocused: Boolean;
Private | FOnKeyDown: TKeyEvent;
Private | FOnKeyUp: TKeyEvent;
Private | FOnKeyPress: TKeyPressEvent;
Private | FShiftState: TShiftState;
Private | FFocusedColor: TGLColorVector;

Methods

Public | destructor Destroy; override;
Protected | function GetFocusedColor: TColor;
Protected | function GetRootControl: TGLBaseControl;
Public | procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); override;
Public | procedure KeyPress(Sender: TObject; var Key: Char); override;
Public | procedure KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); override;
Public | procedure MoveTo(newParent: TGLBaseSceneObject); override;
Public | procedure NextControl;
Public | procedure NotifyHide; override;
Public | procedure PrevControl;
Public | procedure ReGetRootControl;
Public | procedure SetFocus;
Protected | procedure InternalKeyDown(var Key: Word; Shift: TShiftState); virtual;
Protected | procedure InternalKeyPress(var Key: Char); virtual;
Protected | procedure InternalKeyUp(var Key: Word; Shift: TShiftState); virtual;
Protected | procedure SetFocused(Value: Boolean); virtual;
Protected | procedure SetFocusedColor(const Val: TColor);

Properties

Published | property Focused: Boolean read FFocused write SetFocused;
Published | property FocusedColor: TColor read GetFocusedColor write SetFocusedColor;
Published | property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
Published | property OnKeyPress: TKeyPressEvent read FOnKeyPress write FOnKeyPress;
Published | property OnKeyUp: TKeyEvent read FOnKeyUp write FOnKeyUp;
Published | property RootControl: TGLBaseControl read GetRootControl;

Description

Fields

Private FRootControl: TGLBaseControl;
Private FFocused: Boolean;
Private FOnKeyDown: TKeyEvent;
Private FOnKeyUp: TKeyEvent;
Private FOnKeyPress: TKeyPressEvent;
Private FShiftState: TShiftState;
Private FFocusedColor: TGLColorVector;

Methods

Public destructor Destroy; override;
Protected function GetFocusedColor: TColor;
Protected function GetRootControl: TGLBaseControl;
Public procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); override;
Public procedure KeyPress(Sender: TObject; var Key: Char); override;
Public procedure KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); override;
Public procedure MoveTo(newParent: TGLBaseSceneObject); override;
Public procedure NextControl;
Public procedure NotifyHide; override;
Public procedure PrevControl;
Public procedure ReGetRootControl;
Public procedure SetFocus;
Protected procedure InternalKeyDown(var Key: Word; Shift: TShiftState); virtual;
Protected procedure InternalKeyPress(var Key: Char); virtual;
Protected procedure InternalKeyUp(var Key: Word; Shift: TShiftState); virtual;
Protected procedure SetFocused(Value: Boolean); virtual;
Protected procedure SetFocusedColor(const Val: TColor);

Properties

Published property Focused: Boolean read FFocused write SetFocused;
Published property FocusedColor: TColor read GetFocusedColor write SetFocusedColor;
Published property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
Published property OnKeyPress: TKeyPressEvent read FOnKeyPress write FOnKeyPress;
Published property OnKeyUp: TKeyEvent read FOnKeyUp write FOnKeyUp;
Published property RootControl: TGLBaseControl read GetRootControl;


GLSysHelp v.2.1: GLS.Windows: Class TGLCustomControl

Class TGLCustomControl

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLCustomControl = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLCustomControl

Overview

Fields

Private | FCustomData: Pointer;
Private | FCustomObject: TObject;
Private | FOnRender: TGLCustomRenderEvent;
Private | FMaterial: TGLMaterial;
Private | FBitmap: TBitmap;
Private | FInternalBitmap: TBitmap;
Private | FBitmapChanged: Boolean;
Private | FXTexCoord: Single;
Private | FYTexCoord: Single;
Private | FInvalidRenderCount: Integer;
Private | FMaxInvalidRenderCount: Integer;
Private | FCentered: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure SetMaterial(AMaterial: TGLMaterial);
Protected | procedure OnBitmapChanged(Sender: TObject);
Protected | procedure SetBitmap(ABitmap: TBitmap);
Private | procedure SetCentered(const Value: Boolean);

Properties

Published | property Bitmap: TBitmap read FBitmap write SetBitmap;
Published | property Centered: Boolean read FCentered write SetCentered;
Public | property CustomData: Pointer read FCustomData write FCustomData;
Public | property CustomObject: TObject read FCustomObject write FCustomObject;
Published | property Material: TGLMaterial read FMaterial write SetMaterial;
Published | property MaxInvalidRenderCount: Integer read FMaxInvalidRenderCount write FMaxInvalidRenderCount;
Published | property OnRender: TGLCustomRenderEvent read FOnRender write FOnRender;

Description

Fields

Private FCustomData: Pointer;
Private FCustomObject: TObject;
Private FOnRender: TGLCustomRenderEvent;
Private FMaterial: TGLMaterial;
Private FBitmap: TBitmap;
Private FInternalBitmap: TBitmap;
Private FBitmapChanged: Boolean;
Private FXTexCoord: Single;
Private FYTexCoord: Single;
Private FInvalidRenderCount: Integer;
Private FMaxInvalidRenderCount: Integer;
Private FCentered: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure SetMaterial(AMaterial: TGLMaterial);
Protected procedure OnBitmapChanged(Sender: TObject);
Protected procedure SetBitmap(ABitmap: TBitmap);
Private procedure SetCentered(const Value: Boolean);

Properties

Published property Bitmap: TBitmap read FBitmap write SetBitmap;
Published property Centered: Boolean read FCentered write SetCentered;
Public property CustomData: Pointer read FCustomData write FCustomData;
Public property CustomObject: TObject read FCustomObject write FCustomObject;
Published property Material: TGLMaterial read FMaterial write SetMaterial;
Published property MaxInvalidRenderCount: Integer read FMaxInvalidRenderCount write FMaxInvalidRenderCount;
Published property OnRender: TGLCustomRenderEvent read FOnRender write FOnRender;


GLSysHelp v.2.1: GLS.Windows: Class TGLPopupMenu

Class TGLPopupMenu

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLPopupMenu = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLPopupMenu

Overview

Fields

Private | FOnClick: TGLPopupMenuClick;
Private | FMenuItems: TStrings;
Private | FSelIndex: Integer;
Private | FMarginSize: Single;
Private | NewHeight: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure PopUp(Px, Py: Integer);
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected | procedure OnStringListChange(Sender: TObject);
Protected | procedure SetFocused(Value: Boolean); override;
Protected | procedure SetMarginSize(const val: Single);
Protected | procedure SetMenuItems(Value: TStrings);
Protected | procedure SetSelIndex(const val: Integer);

Properties

Published | property MarginSize: Single read FMarginSize write SetMarginSize;
Published | property MenuItems: TStrings read FMenuItems write SetMenuItems;
Published | property OnClick: TGLPopupMenuClick read FOnClick write FOnClick;
Published | property SelIndex: Integer read FSelIndex write SetSelIndex;

Description

Fields

Private FOnClick: TGLPopupMenuClick;
Private FMenuItems: TStrings;
Private FSelIndex: Integer;
Private FMarginSize: Single;
Private NewHeight: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure PopUp(Px, Py: Integer);
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected procedure OnStringListChange(Sender: TObject);
Protected procedure SetFocused(Value: Boolean); override;
Protected procedure SetMarginSize(const val: Single);
Protected procedure SetMenuItems(Value: TStrings);
Protected procedure SetSelIndex(const val: Integer);

Properties

Published property MarginSize: Single read FMarginSize write SetMarginSize;
Published property MenuItems: TStrings read FMenuItems write SetMenuItems;
Published property OnClick: TGLPopupMenuClick read FOnClick write FOnClick;
Published property SelIndex: Integer read FSelIndex write SetSelIndex;


GLSysHelp v.2.1: GLS.Windows: Class TGLForm

Class TGLForm

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLForm = class(TGLBaseTextControl)

Description

No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLForm

Overview

Fields

Private | FOnCanMove: TGLFormCanRequest;
Private | FOnCanResize: TGLFormCanRequest;
Private | FOnCanClose: TGLFormCanClose;
Private | FOnShow: TGLFormNotify;
Private | FOnHide: TGLFormNotify;
Private | FOnMoving: TGLFormMove;
Private | Moving: Boolean;
Private | OldX: Integer;
Private | OldY: Integer;
Private | FTitleColor: TGLColorVector;
Private | FTitleOffset: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public | function MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Protected | function GetTitleColor: TColor;
Public | procedure Close;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure NotifyHide; override;
Public | procedure NotifyShow; override;
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected | procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure SetTitleColor(value: TColor);

Properties

Published | property OnCanClose: TGLFormCanClose read FOnCanClose write FOnCanClose;
Published | property OnCanMove: TGLFormCanRequest read FOnCanMove write FOnCanMove;
Published | property OnCanResize: TGLFormCanRequest read FOnCanResize write FOnCanResize;
Published | property OnHide: TGLFormNotify read FOnHide write FOnHide;
Published | property OnMoving: TGLFormMove read FOnMoving write FOnMoving;
Published | property OnShow: TGLFormNotify read FOnShow write FOnShow;
Published | property TitleColor: TColor read GetTitleColor write SetTitleColor;
Published | property TitleOffset: Single read FTitleOffset write FTitleOffset;

Description

Fields

Private FOnCanMove: TGLFormCanRequest;
Private FOnCanResize: TGLFormCanRequest;
Private FOnCanClose: TGLFormCanClose;
Private FOnShow: TGLFormNotify;
Private FOnHide: TGLFormNotify;
Private FOnMoving: TGLFormMove;
Private Moving: Boolean;
Private OldX: Integer;
Private OldY: Integer;
Private FTitleColor: TGLColorVector;
Private FTitleOffset: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public function MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Protected function GetTitleColor: TColor;
Public procedure Close;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure NotifyHide; override;
Public procedure NotifyShow; override;
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure SetTitleColor(value: TColor);

Properties

Published property OnCanClose: TGLFormCanClose read FOnCanClose write FOnCanClose;
Published property OnCanMove: TGLFormCanRequest read FOnCanMove write FOnCanMove;
Published property OnCanResize: TGLFormCanRequest read FOnCanResize write FOnCanResize;
Published property OnHide: TGLFormNotify read FOnHide write FOnHide;
Published property OnMoving: TGLFormMove read FOnMoving write FOnMoving;
Published property OnShow: TGLFormNotify read FOnShow write FOnShow;
Published property TitleColor: TColor read GetTitleColor write SetTitleColor;
Published property TitleOffset: Single read FTitleOffset write FTitleOffset;


GLSysHelp v.2.1: GLS.Windows: Class TGLPanel

Class TGLPanel

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLPanel = class(TGLBaseControl)

Description

No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLPanel


GLSysHelp v.2.1: GLS.Windows: Class TGLCheckBox

Class TGLCheckBox

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLCheckBox = class(TGLBaseControl)

Description

No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLCheckBox

Overview

Fields

Private | FChecked: Boolean;
Private | FOnChange: TNotifyEvent;
Private | FGuiLayoutNameChecked: TGLGuiComponentName;
Private | FGuiCheckedComponent: TGLGuiComponent;
Private | FGroup: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure SetChecked(NewChecked: Boolean);
Protected | procedure SetGroup(const val: Integer);
Protected | procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected | procedure SetGuiLayoutNameChecked(const newName: TGLGuiComponentName);

Properties

Published | property Checked: Boolean read FChecked write SetChecked;
Published | property Group: Integer read FGroup write SetGroup;
Published | property GuiLayoutNameChecked: TGLGuiComponentName read FGuiLayoutNameChecked write SetGuiLayoutNameChecked;
Published | property OnChange: TNotifyEvent read FOnChange write FOnChange;

Description

Fields

Private FChecked: Boolean;
Private FOnChange: TNotifyEvent;
Private FGuiLayoutNameChecked: TGLGuiComponentName;
Private FGuiCheckedComponent: TGLGuiComponent;
Private FGroup: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure SetChecked(NewChecked: Boolean);
Protected procedure SetGroup(const val: Integer);
Protected procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected procedure SetGuiLayoutNameChecked(const newName: TGLGuiComponentName);

Properties

Published property Checked: Boolean read FChecked write SetChecked;
Published property Group: Integer read FGroup write SetGroup;
Published property GuiLayoutNameChecked: TGLGuiComponentName read FGuiLayoutNameChecked write SetGuiLayoutNameChecked;
Published property OnChange: TNotifyEvent read FOnChange write FOnChange;


GLSysHelp v.2.1: GLS.Windows: Class TGLButton

Class TGLButton

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLButton = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLButton

Overview

Fields

Private | FPressed: Boolean;
Private | FOnButtonClick: TNotifyEvent;
Private | FGuiLayoutNamePressed: TGLGuiComponentName;
Private | FGuiPressedComponent: TGLGuiComponent;
Private | FBitBtn: TGLMaterial;
Private | FGroup: Integer;
Private | FLogicWidth: Single;
Private | FLogicHeight: Single;
Private | FXOffSet: Single;
Private | FYOffSet: Single;
Private | FAllowUp: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure DestroyHandle; override;
Protected | procedure InternalKeyDown(var Key: Word; Shift: TShiftState); override;
Protected | procedure InternalKeyUp(var Key: Word; Shift: TShiftState); override;
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure SetBitBtn(AValue: TGLMaterial);
Protected | procedure SetFocused(Value: Boolean); override;
Protected | procedure SetGroup(const val: Integer);
Protected | procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected | procedure SetGuiLayoutNamePressed(const newName: TGLGuiComponentName);
Protected | procedure SetLogicHeight(const val: single);
Protected | procedure SetLogicWidth(const val: single);
Protected | procedure SetPressed(NewPressed: Boolean);
Protected | procedure SetXOffset(const val: single);
Protected | procedure SetYOffset(const val: single);

Properties

Published | property AllowUp: Boolean read FAllowUp write FAllowUp;
Published | property BitBtn: TGLMaterial read FBitBtn write SetBitBtn;
Published | property Group: Integer read FGroup write SetGroup;
Published | property GuiLayoutNamePressed: TGLGuiComponentName read FGuiLayoutNamePressed write SetGuiLayoutNamePressed;
Published | property LogicHeight: Single read FLogicHeight write SetLogicHeight;
Published | property LogicWidth: Single read FLogicWidth write SetLogicWidth;
Published | property OnButtonClick: TNotifyEvent read FOnButtonClick write FOnButtonClick;
Published | property Pressed: Boolean read FPressed write SetPressed;
Published | property XOffset: Single read FXOffset write SetXOffset;
Published | property YOffset: Single read FYOffset write SetYOffset;

Description

Fields

Private FPressed: Boolean;
Private FOnButtonClick: TNotifyEvent;
Private FGuiLayoutNamePressed: TGLGuiComponentName;
Private FGuiPressedComponent: TGLGuiComponent;
Private FBitBtn: TGLMaterial;
Private FGroup: Integer;
Private FLogicWidth: Single;
Private FLogicHeight: Single;
Private FXOffSet: Single;
Private FYOffSet: Single;
Private FAllowUp: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure DestroyHandle; override;
Protected procedure InternalKeyDown(var Key: Word; Shift: TShiftState); override;
Protected procedure InternalKeyUp(var Key: Word; Shift: TShiftState); override;
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure SetBitBtn(AValue: TGLMaterial);
Protected procedure SetFocused(Value: Boolean); override;
Protected procedure SetGroup(const val: Integer);
Protected procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected procedure SetGuiLayoutNamePressed(const newName: TGLGuiComponentName);
Protected procedure SetLogicHeight(const val: single);
Protected procedure SetLogicWidth(const val: single);
Protected procedure SetPressed(NewPressed: Boolean);
Protected procedure SetXOffset(const val: single);
Protected procedure SetYOffset(const val: single);

Properties

Published property AllowUp: Boolean read FAllowUp write FAllowUp;
Published property BitBtn: TGLMaterial read FBitBtn write SetBitBtn;
Published property Group: Integer read FGroup write SetGroup;
Published property GuiLayoutNamePressed: TGLGuiComponentName read FGuiLayoutNamePressed write SetGuiLayoutNamePressed;
Published property LogicHeight: Single read FLogicHeight write SetLogicHeight;
Published property LogicWidth: Single read FLogicWidth write SetLogicWidth;
Published property OnButtonClick: TNotifyEvent read FOnButtonClick write FOnButtonClick;
Published property Pressed: Boolean read FPressed write SetPressed;
Published property XOffset: Single read FXOffset write SetXOffset;
Published property YOffset: Single read FYOffset write SetYOffset;


GLSysHelp v.2.1: GLS.Windows: Class TGLEdit

Class TGLEdit

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLEdit = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLEdit

Overview

Fields

Private | FOnChange: TNotifyEvent;
Private | FSelStart: Integer;
Private | FReadOnly: Boolean;
Private | FEditChar: string;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure InternalKeyDown(var Key: Word; Shift: TShiftState); override;
Protected | procedure InternalKeyPress(var Key: Char); override;
Protected | procedure InternalKeyUp(var Key: Word; Shift: TShiftState); override;
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure SetEditChar(const Value: string);
Protected | procedure SetFocused(Value: Boolean); override;
Protected | procedure SetSelStart(const Value: Integer);

Properties

Published | property EditChar: string read FEditChar write SetEditChar;
Published | property OnChange: TNotifyEvent read FOnChange write FOnChange;
Published | property ReadOnly: Boolean read FReadOnly write FReadOnly default False;
Published | property SelStart: Integer read FSelStart write SetSelStart;

Description

Fields

Private FOnChange: TNotifyEvent;
Private FSelStart: Integer;
Private FReadOnly: Boolean;
Private FEditChar: string;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure InternalKeyDown(var Key: Word; Shift: TShiftState); override;
Protected procedure InternalKeyPress(var Key: Char); override;
Protected procedure InternalKeyUp(var Key: Word; Shift: TShiftState); override;
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure SetEditChar(const Value: string);
Protected procedure SetFocused(Value: Boolean); override;
Protected procedure SetSelStart(const Value: Integer);

Properties

Published property EditChar: string read FEditChar write SetEditChar;
Published property OnChange: TNotifyEvent read FOnChange write FOnChange;
Published property ReadOnly: Boolean read FReadOnly write FReadOnly default False;
Published property SelStart: Integer read FSelStart write SetSelStart;


GLSysHelp v.2.1: GLS.Windows: Class TGLLabel

Class TGLLabel

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLLabel = class(TGLBaseTextControl)

Description

No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLLabel

Overview

Fields

Private | FAlignment: TAlignment;
Private | FTextLayout: TTextLayout;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Private | procedure SetAlignment(const Value: TAlignment);
Private | procedure SetTextLayout(const Value: TTextLayout);

Properties

Published | property Alignment: TAlignment read FAlignment write SetAlignment;
Published | property TextLayout: TTextLayout read FTextLayout write SetTextLayout;

Description

Fields

Private FAlignment: TAlignment;
Private FTextLayout: TTextLayout;

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Private procedure SetAlignment(const Value: TAlignment);
Private procedure SetTextLayout(const Value: TTextLayout);

Properties

Published property Alignment: TAlignment read FAlignment write SetAlignment;
Published property TextLayout: TTextLayout read FTextLayout write SetTextLayout;


GLSysHelp v.2.1: GLS.Windows: Class TGLAdvancedLabel

Class TGLAdvancedLabel

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLAdvancedLabel = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLAdvancedLabel

Overview

Methods

Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;

Description

Methods

Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;


GLSysHelp v.2.1: GLS.Windows: Class TGLScrollbar

Class TGLScrollbar

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLScrollbar = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLScrollbar

Overview

Fields

Private | FMin: Single;
Private | FMax: Single;
Private | FStep: Single;
Private | FPos: Single;
Private | FPageSize: Single;
Private | FOnChange: TNotifyEvent;
Private | FGuiLayoutKnobName: TGLGuiComponentName;
Private | FGuiKnobComponent: TGLGuiComponent;
Private | FKnobRenderStatus: TGUIDrawResult;
Private | FScrollOffs: Single;
Private | FScrolling: Boolean;
Private | FHorizontal: Boolean;
Private | FLocked: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public | function MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Protected | function GetScrollPosX(ScrollPos: Single): Single;
Protected | function GetScrollPosY(ScrollPos: Single): Single;
Protected | function GetXScrollPos(X: Single): Single;
Protected | function GetYScrollPos(Y: Single): Single;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure PageDown;
Public | procedure PageUp;
Public | procedure StepDown;
Public | procedure StepUp;
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected | procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected | procedure SetGuiLayoutKnobName(const newName: TGLGuiComponentName);
Protected | procedure SetHorizontal(const val: Boolean);
Protected | procedure SetMax(const val: Single);
Protected | procedure SetMin(const val: Single);
Protected | procedure SetPageSize(const val: Single);
Protected | procedure SetPos(const val: Single);

Properties

Published | property GuiLayoutKnobName: TGLGuiComponentName read FGuiLayoutKnobName write SetGuiLayoutKnobName;
Published | property Horizontal: Boolean read FHorizontal write SetHorizontal;
Published | property Locked: Boolean read FLocked write FLocked default False;
Published | property Max: Single read FMax write SetMax;
Published | property Min: Single read FMin write SetMin;
Published | property OnChange: TNotifyEvent read FOnChange write FOnChange;
Published | property PageSize: Single read FPageSize write SetPageSize;
Published | property Pos: Single read FPos write SetPos;
Published | property Step: Single read FStep write FStep;

Description

Fields

Private FMin: Single;
Private FMax: Single;
Private FStep: Single;
Private FPos: Single;
Private FPageSize: Single;
Private FOnChange: TNotifyEvent;
Private FGuiLayoutKnobName: TGLGuiComponentName;
Private FGuiKnobComponent: TGLGuiComponent;
Private FKnobRenderStatus: TGUIDrawResult;
Private FScrollOffs: Single;
Private FScrolling: Boolean;
Private FHorizontal: Boolean;
Private FLocked: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer): Boolean; override;
Public function MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer): Boolean; override;
Protected function GetScrollPosX(ScrollPos: Single): Single;
Protected function GetScrollPosY(ScrollPos: Single): Single;
Protected function GetXScrollPos(X: Single): Single;
Protected function GetYScrollPos(Y: Single): Single;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure PageDown;
Public procedure PageUp;
Public procedure StepDown;
Public procedure StepUp;
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure InternalMouseMove(Shift: TShiftState; X, Y: Integer); override;
Protected procedure InternalMouseUp(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected procedure SetGuiLayoutKnobName(const newName: TGLGuiComponentName);
Protected procedure SetHorizontal(const val: Boolean);
Protected procedure SetMax(const val: Single);
Protected procedure SetMin(const val: Single);
Protected procedure SetPageSize(const val: Single);
Protected procedure SetPos(const val: Single);

Properties

Published property GuiLayoutKnobName: TGLGuiComponentName read FGuiLayoutKnobName write SetGuiLayoutKnobName;
Published property Horizontal: Boolean read FHorizontal write SetHorizontal;
Published property Locked: Boolean read FLocked write FLocked default False;
Published property Max: Single read FMax write SetMax;
Published property Min: Single read FMin write SetMin;
Published property OnChange: TNotifyEvent read FOnChange write FOnChange;
Published property PageSize: Single read FPageSize write SetPageSize;
Published property Pos: Single read FPos write SetPos;
Published property Step: Single read FStep write FStep;


GLSysHelp v.2.1: GLS.Windows: Class TGLStringGrid

Class TGLStringGrid

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.Windows

Declaration

type TGLStringGrid = class(TGLFocusControl)

Description

No description available, ancestor TGLFocusControl description follows
No description available, ancestor TGLBaseTextControl description follows
No description available, ancestor TGLBaseFontControl description follows
No description available, ancestor TGLBaseControl description follows
No description available, ancestor TGLBaseComponent description follows
No description available, ancestor TGLBaseGuiObject description follows
No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLBaseGuiObject
  • TGLBaseComponent
  • TGLBaseControl
  • TGLBaseFontControl
  • TGLBaseTextControl
  • TGLFocusControl
  • TGLStringGrid

Overview

Fields

Private | FSelCol: Integer;
Private | FSelRow: Integer;
Private | FRowSelect: Boolean;
Private | FColSelect: Boolean;
Private | FColumns: TStrings;
Private | FRows: TList;
Private | FHeaderColor: TGLColorVector;
Private | FMarginSize: Integer;
Private | FColumnSize: Integer;
Private | FRowHeight: Integer;
Private | FScrollbar: TGLScrollbar;
Private | FDrawHeader: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function Add(const Data: array of string): Integer; overload;
Public | function Add(const Data: string): Integer; overload;
Protected | function GetCell(X, Y: Integer; out oCol, oRow: Integer): Boolean;
Protected | function GetHeaderColor: TColor;
Protected | function GetRow(index: Integer): TStringList;
Protected | function GetRowCount: Integer;
Public | procedure Clear;
Public | procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure NotifyChange(Sender: TObject); override;
Public | procedure OnStringListChange(Sender: TObject);
Public | procedure SetText(Data: string);
Protected | procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected | procedure SetColSelect(const val: Boolean);
Protected | procedure SetColumns(const val: TStrings);
Protected | procedure SetColumnSize(const val: Integer);
Protected | procedure SetDrawHeader(const val: Boolean);
Protected | procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected | procedure SetHeaderColor(const val: TColor);
Protected | procedure SetMarginSize(const val: Integer);
Protected | procedure SetRow(index: Integer; const val: TStringList);
Protected | procedure SetRowCount(const val: Integer);
Protected | procedure SetRowHeight(const val: Integer);
Protected | procedure SetRowSelect(const val: Boolean);
Protected | procedure SetScrollbar(const val: TGLScrollbar);
Protected | procedure SetSelCol(const val: Integer);
Protected | procedure SetSelRow(const val: Integer);

Properties

Published | property ColSelect: Boolean read FColSelect write SetColSelect;
Published | property Columns: TStrings read FColumns write SetColumns;
Published | property ColumnSize: Integer read FColumnSize write SetColumnSize;
Published | property DrawHeader: Boolean read FDrawHeader write SetDrawHeader;
Published | property HeaderColor: TColor read GetHeaderColor write SetHeaderColor;
Published | property MarginSize: Integer read FMarginSize write SetMarginSize;
Public | property Row[index:Integer]: TStringList read GetRow write SetRow;
Published | property RowCount: Integer read GetRowCount write SetRowCount;
Published | property RowHeight: Integer read FRowHeight write SetRowHeight;
Published | property RowSelect: Boolean read FRowSelect write SetRowSelect;
Published | property Scrollbar: TGLScrollbar read FScrollbar write SetScrollbar;
Published | property SelCol: Integer read FSelCol write SetSelCol;
Published | property SelRow: Integer read FSelRow write SetSelRow;

Description

Fields

Private FSelCol: Integer;
Private FSelRow: Integer;
Private FRowSelect: Boolean;
Private FColSelect: Boolean;
Private FColumns: TStrings;
Private FRows: TList;
Private FHeaderColor: TGLColorVector;
Private FMarginSize: Integer;
Private FColumnSize: Integer;
Private FRowHeight: Integer;
Private FScrollbar: TGLScrollbar;
Private FDrawHeader: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function Add(const Data: array of string): Integer; overload;
Public function Add(const Data: string): Integer; overload;
Protected function GetCell(X, Y: Integer; out oCol, oRow: Integer): Boolean;
Protected function GetHeaderColor: TColor;
Protected function GetRow(index: Integer): TStringList;
Protected function GetRowCount: Integer;
Public procedure Clear;
Public procedure InternalRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure NotifyChange(Sender: TObject); override;
Public procedure OnStringListChange(Sender: TObject);
Public procedure SetText(Data: string);
Protected procedure InternalMouseDown(Shift: TShiftState; Button: TMouseButton; X, Y: Integer); override;
Protected procedure SetColSelect(const val: Boolean);
Protected procedure SetColumns(const val: TStrings);
Protected procedure SetColumnSize(const val: Integer);
Protected procedure SetDrawHeader(const val: Boolean);
Protected procedure SetGuiLayout(NewGui: TGLGuiLayout); override;
Protected procedure SetHeaderColor(const val: TColor);
Protected procedure SetMarginSize(const val: Integer);
Protected procedure SetRow(index: Integer; const val: TStringList);
Protected procedure SetRowCount(const val: Integer);
Protected procedure SetRowHeight(const val: Integer);
Protected procedure SetRowSelect(const val: Boolean);
Protected procedure SetScrollbar(const val: TGLScrollbar);
Protected procedure SetSelCol(const val: Integer);
Protected procedure SetSelRow(const val: Integer);

Properties

Published property ColSelect: Boolean read FColSelect write SetColSelect;
Published property Columns: TStrings read FColumns write SetColumns;
Published property ColumnSize: Integer read FColumnSize write SetColumnSize;
Published property DrawHeader: Boolean read FDrawHeader write SetDrawHeader;
Published property HeaderColor: TColor read GetHeaderColor write SetHeaderColor;
Published property MarginSize: Integer read FMarginSize write SetMarginSize;
Public property Row[index:Integer]: TStringList read GetRow write SetRow;
Published property RowCount: Integer read GetRowCount write SetRowCount;
Published property RowHeight: Integer read FRowHeight write SetRowHeight;
Published property RowSelect: Boolean read FRowSelect write SetRowSelect;
Published property Scrollbar: TGLScrollbar read FScrollbar write SetScrollbar;
Published property SelCol: Integer read FSelCol write SetSelCol;
Published property SelRow: Integer read FSelRow write SetSelRow;


GLSysHelp v.2.1: GLS.WindowsContext

Unit GLS.WindowsContext

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • Winapi.Windows
  • Winapi.Messages
  • System.SysUtils
  • System.Classes
  • Vcl.Forms
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.OpenGLAdapter
  • GLS.PipelineTransformation
  • GLS.Context
  • GLS.State
  • GLS.Logger
  • GLS.Strings
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLWindowsContext |

Functions and Procedures

function CreateTempWnd: NativeUInt;

Variables

vUseWindowTrackingHook: Boolean = True;

Description

Functions and Procedures

function CreateTempWnd: NativeUInt;

Variables

vUseWindowTrackingHook: Boolean = True;

This boolean controls a hook-based tracking of top-level forms destruction, with the purpose of being able to properly release OpenGL contexts before they are (improperly) released by some drivers upon top-level form destruction


GLSysHelp v.2.1: GLS.WindowsContext: Class TGLWindowsContext

Class TGLWindowsContext

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.WindowsContext

Declaration

type TGLWindowsContext = class(TGLContext)

Description

A context driver for standard Windows OpenGL (via MS OpenGL).

Hierarchy

  • TObject
  • TGLContext
  • TGLWindowsContext

Overview

Fields

Protected | FDC: NativeUInt;
Protected | FRC: NativeUInt;
Protected | FShareContext: TGLWindowsContext;
Protected | FHPBUFFER: Integer;
Protected | FiAttribs: packed of Integer;
Protected | FfAttribs: packed of Single;
Protected | FLegacyContextsOnly: Boolean;
Protected | FSwapBufferSupported: Boolean;

Methods

Public | constructor Create; override;
Public | destructor Destroy; override;
Public | function IsValid: Boolean; override;
Public | function RenderOutputDevice: Pointer; override;
Protected | function DoShareLists(aContext: TGLContext): Boolean; override;
Public | procedure SwapBuffers; override;
Protected | procedure AddFAttrib(attrib, value: Single);
Protected | procedure AddIAttrib(attrib, value: Integer);
Protected | procedure ChangeIAttrib(attrib, newValue: Integer);
Protected | procedure ChooseWGLFormat(DC: HDC; nMaxFormats: Cardinal; piFormats: PInteger; var nNumFormats: Integer; BufferCount: Integer = 1);
Protected | procedure ClearFAttribs;
Protected | procedure ClearIAttribs;
Protected | procedure CreateNewContext(aDC: HDC); virtual;
Protected | procedure CreateOldContext(aDC: HDC); virtual;
Protected | procedure DestructionEarlyWarning(sender: TObject);
Protected | procedure DoActivate; override;
Protected | procedure DoCreateContext(ADeviceHandle: HDC); override;
Protected | procedure DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: Integer); override;
Protected | procedure DoDeactivate; override;
Protected | procedure DoDestroyContext; override;
Protected | procedure DropIAttrib(attrib: Integer);
Protected | procedure SpawnLegacyContext(aDC: HDC);

Properties

Public | property DC: NativeUInt read FDC;
Public | property RC: NativeUInt read FRC;

Description

Fields

Protected FDC: NativeUInt;
Protected FRC: NativeUInt;
Protected FShareContext: TGLWindowsContext;
Protected FHPBUFFER: Integer;
Protected FiAttribs: packed of Integer;
Protected FfAttribs: packed of Single;
Protected FLegacyContextsOnly: Boolean;
Protected FSwapBufferSupported: Boolean;

Methods

Public constructor Create; override;

DoGetHandles must be implemented in child classes, and return the display+window

Public destructor Destroy; override;
Public function IsValid: Boolean; override;
Public function RenderOutputDevice: Pointer; override;
Protected function DoShareLists(aContext: TGLContext): Boolean; override;
Public procedure SwapBuffers; override;
Protected procedure AddFAttrib(attrib, value: Single);
Protected procedure AddIAttrib(attrib, value: Integer);
Protected procedure ChangeIAttrib(attrib, newValue: Integer);
Protected procedure ChooseWGLFormat(DC: HDC; nMaxFormats: Cardinal; piFormats: PInteger; var nNumFormats: Integer; BufferCount: Integer = 1);
Protected procedure ClearFAttribs;
Protected procedure ClearIAttribs;
Protected procedure CreateNewContext(aDC: HDC); virtual;
Protected procedure CreateOldContext(aDC: HDC); virtual;

used for WGL_pixel_format soup

Protected procedure DestructionEarlyWarning(sender: TObject);
Protected procedure DoActivate; override;
Protected procedure DoCreateContext(ADeviceHandle: HDC); override;
Protected procedure DoCreateMemoryContext(outputDevice: HWND; width, height: Integer; BufferCount: Integer); override;
Protected procedure DoDeactivate; override;
Protected procedure DoDestroyContext; override;
Protected procedure DropIAttrib(attrib: Integer);
Protected procedure SpawnLegacyContext(aDC: HDC);

Properties

Public property DC: NativeUInt read FDC;
Public property RC: NativeUInt read FRC;


GLSysHelp v.2.1: GLS.WindowsFont

Unit GLS.WindowsFont

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.Windows
  • System.Classes
  • System.Math
  • System.SysUtils
  • System.Types
  • System.UITypes
  • VCL.Graphics
  • GLS.Scene
  • GLS.Texture
  • GLS.BitmapFont
  • GLS.RenderContextInfo
  • GLS.VectorLists
  • GLS.Utils
  • GLS.VectorGeometry
  • GLS.OpenGLTokens
  • GLS.ApplicationFileIO
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLWindowsBitmapFont |


GLSysHelp v.2.1: GLS.WindowsFont: Class TGLWindowsBitmapFont

Class TGLWindowsBitmapFont

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.WindowsFont

Declaration

type TGLWindowsBitmapFont = class(TGLCustomBitmapFont)

Description

A bitmap font automatically built from a TFont. It works like a TGLBitmapfont, you set ranges and which chars are assigned to which indexes, however here you also set the Font property to any TFont available to the system and it renders in GLScene as close to that font as posible, on some font types this is 100% on some a slight difference in spacing can occur at most 1 pixel per char on some char combinations. Ranges must be sorted in ascending ASCII order and should not overlap. As the font texture is automatically layed out, the Ranges StartGlyphIdx property is ignored and replaced appropriately.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCustomBitmapFont
  • TGLWindowsBitmapFont

Overview

Fields

Private FFont: TFont;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function FontTextureHeight: Integer;
Public | function FontTextureWidth: Integer;
Protected | function StoreRanges: Boolean;
Protected | function TextureFormat: Integer; override;
Public | procedure EnsureChars(const AStart, AEnd: widechar);
Public | procedure EnsureString(const s : String); overload;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure LoadWindowsFont; virtual;
Protected | procedure PrepareImage(var ARci: TGLRenderContextInfo); override;
Protected | procedure SetFont(value: TFont);
Protected | procedure StreamlineRanges;
Private | procedure SetList(const AList : TIntegerList);

Properties

Published | property Font: TFont read FFont write SetFont;
Public | property Glyphs;
Published | property HSpace;
Published | property MagFilter;
Published | property MinFilter;
Published | property Ranges stored StoreRanges;
Published | property VSpace;

Description

Fields

Private FFont: TFont;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function FontTextureHeight: Integer;
Public function FontTextureWidth: Integer;
Protected function StoreRanges: Boolean;
Protected function TextureFormat: Integer; override;
Public procedure EnsureChars(const AStart, AEnd: widechar);
Public procedure EnsureString(const s : String); overload;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure LoadWindowsFont; virtual;
Protected procedure PrepareImage(var ARci: TGLRenderContextInfo); override;
Protected procedure SetFont(value: TFont);
Protected procedure StreamlineRanges;
Private procedure SetList(const AList : TIntegerList);

Properties

Published property Font: TFont read FFont write SetFont;

The font used to prepare the texture. Note: the font color is ignored.

Public property Glyphs;
Published property HSpace;
Published property MagFilter;
Published property MinFilter;
Published property Ranges stored StoreRanges;
Published property VSpace;


GLSysHelp v.2.1: GLS.XCollection

Unit GLS.XCollection

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Types
  • GLS.Strings
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EFilerException |
Class TXCollectionItem |
Class TXCollection |

Functions and Procedures

procedure RegisterXCollectionDestroyEvent(notifyEvent: TNotifyEvent);
procedure DeRegisterXCollectionDestroyEvent(notifyEvent: TNotifyEvent);
procedure RegisterXCollectionItemClass(aClass: TXCollectionItemClass);
procedure UnregisterXCollectionItemClass(aClass: TXCollectionItemClass);
function FindXCollectionItemClass(const ClassName: string): TXCollectionItemClass;
function GetXCollectionItemClassesList(baseClass: TXCollectionItemClass = nil): TList;
procedure GetXCollectionClassesList(var ClassesList: TList; baseClass: TXCollectionItemClass = nil);

Types

TXCollectionItemClass = class of TXCollectionItem;

Description

Functions and Procedures

procedure RegisterXCollectionDestroyEvent(notifyEvent: TNotifyEvent);

Registers an event to be called when an XCollection is destroyed

procedure DeRegisterXCollectionDestroyEvent(notifyEvent: TNotifyEvent);

DeRegisters event

procedure RegisterXCollectionItemClass(aClass: TXCollectionItemClass);

Registers a TXCollectionItem subclass for persistence requirements

procedure UnregisterXCollectionItemClass(aClass: TXCollectionItemClass);

Removes a TXCollectionItem subclass from the list

function FindXCollectionItemClass(const ClassName: string): TXCollectionItemClass;

Retrieves a registered TXCollectionItemClass from its classname

function GetXCollectionItemClassesList(baseClass: TXCollectionItemClass = nil): TList;

Creates and returns a copy of internal list of TXCollectionItem classes. Returned list should be freed by caller, the parameter defines an ancestor class filter. If baseClass is left nil, TXCollectionItem is used as ancestor.

procedure GetXCollectionClassesList(var ClassesList: TList; baseClass: TXCollectionItemClass = nil);

Types

TXCollectionItemClass = class of TXCollectionItem;


GLSysHelp v.2.1: GLS.XCollection: Class EFilerException

Class EFilerException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.XCollection

Declaration

type EFilerException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EFilerException


GLSysHelp v.2.1: GLS.XCollection: Class TXCollectionItem

Class TXCollectionItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.XCollection

Declaration

type TXCollectionItem = class(TGLInterfacedPersistent)

Description

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem

Overview

Fields

Private | FOwner: TXCollection;
Private | FName: string;

Methods

Public | constructor Create(aOwner: TXCollection); virtual;
Public | destructor Destroy; override;
Public | class function CanAddTo(collection: TXCollection): Boolean; virtual;
Public | class function FriendlyDescription: String; virtual;
Public | class function FriendlyName: String; virtual; abstract;
Public | function GetNamePath: string; override;
Public | function Index: integer;
Public | class function ItemCategory: string; virtual;
Public | class function UniqueItem: Boolean; virtual;
Protected | function GetName: string; virtual;
Protected | function GetOwner: TPersistent; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure MoveDown;
Public | procedure MoveUp;
Protected | procedure Loaded; dynamic;
Protected | procedure RaiseFilerException(const archiveVersion: integer);
Protected | procedure ReadFromFiler(reader: TReader); virtual;
Protected | procedure SetName(const val: String); virtual;
Protected | procedure WriteToFiler(writer: TWriter); virtual;

Properties

Published | property Name: string read FName write SetName;
Public | property Owner: TXCollection read FOwner;

Description

Fields

Private FOwner: TXCollection;
Private FName: string;

Methods

Public constructor Create(aOwner: TXCollection); virtual;
Public destructor Destroy; override;
Public class function CanAddTo(collection: TXCollection): Boolean; virtual;

Allows the XCollectionItem class to determine if it should be allowed to be added to the given collection.

Public class function FriendlyDescription: String; virtual;

Returns a user-friendly description for the class. This denomination is used for helping the user when picking a texture image class in the IDE expert. If it's not overriden, takes its value from FriendlyName.

Public class function FriendlyName: String; virtual; abstract;

Returns a user-friendly denomination for the class. This denomination is used for picking a texture image class in the IDE expert

Public function GetNamePath: string; override;
Public function Index: integer;
Public class function ItemCategory: string; virtual;

Category of the item class. This is a free string, it will used by the XCollectionEditor to regroup collectionitems and menu items

Public class function UniqueItem: Boolean; virtual;

If true only one such XCollectionItem is allowed per BaseSceneObject. Inheritance is accounted for UniqueXCollectionItem resolution, ie. if TClassA is unique, and TClassB is a subclass of TClassA, whatever the unicity of TClassB, TClassA and TClassB won't be allowed to mix (since TClassB is a TClassA, and TClassA is unique). Attempting to break the unicity rules will not be possible at design-time (in Delphi IDE) and will trigger an exception at run-time.

Protected function GetName: string; virtual;
Protected function GetOwner: TPersistent; override;
Public procedure Assign(Source: TPersistent); override;

Default implementation uses WriteToFiler/ReadFromFiler

Public procedure MoveDown;
Public procedure MoveUp;
Protected procedure Loaded; dynamic;

Override to perform things when owner form has been loaded

Protected procedure RaiseFilerException(const archiveVersion: integer);

Triggers an EFilerException with appropriate version message

Protected procedure ReadFromFiler(reader: TReader); virtual;

Override this function to read subclass data

Protected procedure SetName(const val: String); virtual;
Protected procedure WriteToFiler(writer: TWriter); virtual;

Override this function to write subclass data

Properties

Published property Name: string read FName write SetName;
Public property Owner: TXCollection read FOwner;


GLSysHelp v.2.1: GLS.XCollection: Class TXCollection

Class TXCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.XCollection

Declaration

type TXCollection = class(TPersistent)

Description

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

Hierarchy

  • TObject
  • TPersistent
  • TXCollection

Overview

Fields

Private | FOwner: TPersistent;
Private | FList: TList;
Private | FCount: integer;
Private | FArchiveVersion: integer;

Methods

Public | constructor Create(aOwner: TPersistent); virtual;
Public | destructor Destroy; override;
Public | function Add(anItem: TXCollectionItem): integer;
Public | function CanAdd(aClass: TXCollectionItemClass): Boolean; virtual;
Public | function GetByClass(aClass: TXCollectionItemClass): TXCollectionItem;
Public | function GetNamePath: string; override;
Public | function GetOrCreate(anItem: TXCollectionItemClass): TXCollectionItem;
Public | function IndexOf(anItem: TXCollectionItem): integer;
Public | function IndexOfClass(aClass: TXCollectionItemClass): integer;
Public | function IndexOfName(const aName: string): integer;
Public | class function ItemsClass: TXCollectionItemClass; virtual;
Protected | function GetItems(Index: integer): TXCollectionItem;
Protected | function GetOwner: TPersistent; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Clear;
Public | procedure Delete(Index: integer);
Public | procedure Loaded;
Public | procedure Remove(anItem: TXCollectionItem);
Protected | procedure ReadFromFiler(reader: TReader);
Protected | procedure WriteToFiler(writer: TWriter);

Properties

Public | property ArchiveVersion: integer read FArchiveVersion;
Public | property Count: integer read FCount;
Public | property Items[index:integer]: TXCollectionItem read GetItems;
Public | property Owner: TPersistent read FOwner write FOwner;

Description

Fields

Private FOwner: TPersistent;
Private FList: TList;
Private FCount: integer;
Private FArchiveVersion: integer;

Archive Version is used to update the way data items is loaded

Methods

Public constructor Create(aOwner: TPersistent); virtual;
Public destructor Destroy; override;
Public function Add(anItem: TXCollectionItem): integer;
Public function CanAdd(aClass: TXCollectionItemClass): Boolean; virtual;

Indicates if an object of the given class can be added. This function is used to enforce Unique XCollection.

Public function GetByClass(aClass: TXCollectionItemClass): TXCollectionItem;

Returns the first XCollection of the given class (or nil)

Public function GetNamePath: string; override;
Public function GetOrCreate(anItem: TXCollectionItemClass): TXCollectionItem;
Public function IndexOf(anItem: TXCollectionItem): integer;
Public function IndexOfClass(aClass: TXCollectionItemClass): integer;

Returns the index of the first XCollectionItem of the given class (or -1)

Public function IndexOfName(const aName: string): integer;

Returns the index of the first XCollectionItem of the given name (or -1)

Public class function ItemsClass: TXCollectionItemClass; virtual;

Class of the items. Unlike TCollection, items can be of ItemsClass OR ANY of its subclasses, ie. this function is used only for asserting your adding objects of the right class, and not for persistence.

Protected function GetItems(Index: integer): TXCollectionItem;
Protected function GetOwner: TPersistent; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Clear;
Public procedure Delete(Index: integer);
Public procedure Loaded;
Public procedure Remove(anItem: TXCollectionItem);
Protected procedure ReadFromFiler(reader: TReader);
Protected procedure WriteToFiler(writer: TWriter);

Here, we write all listed XCollection through their WriteToFiler methods, but to be able to restore them, we also write their classname, and to avoid wasting space if the same class appears multiple times we build up a lookup table while writing them, if the class is anew, the name is written, otherwise, only the index in the table is written. Using a global lookup table (instead of a "per-WriteData" one) could save more space, but would also increase dependencies, and this I don't want 8)

Properties

Public property ArchiveVersion: integer read FArchiveVersion;
Public property Count: integer read FCount;
Public property Items[index:integer]: TXCollectionItem read GetItems;
Public property Owner: TPersistent read FOwner write FOwner;


GLSysHelp v.2.1: GLS.XCollectionRegister

Unit GLS.XCollectionRegister

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.XCollection
  • DesignEditors
  • DesignIntf

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TXCollectionProperty |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: GLS.XCollectionRegister: Class TXCollectionProperty

Class TXCollectionProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.XCollectionRegister

Declaration

type TXCollectionProperty = class(TClassProperty)

Description

Hierarchy

  • TClassProperty
  • TXCollectionProperty

Overview

Methods

Public | function GetAttributes: TPropertyAttributes; override;
Public | procedure Edit; override;

Description

Methods

Public function GetAttributes: TPropertyAttributes; override;
Public procedure Edit; override;


GLSysHelp v.2.1: GLS.XOpenGL

Unit GLS.XOpenGL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGLext
  • GLS.VectorTypes
  • GLS.OpenGLTokens
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMultitextureCoordinator |

Types

TMapTexCoordMode = (...);

Description

Types

TMapTexCoordMode = (...);
Values
  • mtcmUndefined
  • mtcmNull
  • mtcmMain
  • mtcmDual
  • mtcmSecond
  • mtcmArbitrary


GLSysHelp v.2.1: GLS.XOpenGL: Class TGLMultitextureCoordinator

Class TGLMultitextureCoordinator

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.XOpenGL

Declaration

type TGLMultitextureCoordinator = class(TObject)

Description

Hierarchy

  • TObject
  • TGLMultitextureCoordinator

Overview

Fields

Private | FMapTexCoordMode: TMapTexCoordMode;
Private | FSecondTextureUnitForbidden: Boolean;
Private | FUpdCount: Integer;
Private | FUpdNewMode: TMapTexCoordMode;
Private | FStateStack: array of TMapTexCoordMode;
Private | FComplexMapping: array of Cardinal;
Private | FComplexMappingN: Integer;
Public | TexCoord2f: procedure(s, t: TGLfloat); stdcall;
Public | TexCoord2fv: procedure(v: PGLfloat); stdcall;
Public | TexCoord3f: procedure(s, t, r: TGLfloat); stdcall;
Public | TexCoord3fv: procedure(v: PGLfloat); stdcall;
Public | TexCoord4f: procedure(s, t, r, q: TGLfloat); stdcall;
Public | TexCoord4fv: procedure(v: PGLfloat); stdcall;
Public | TexGenf: procedure(coord, pname: Cardinal; param: TGLfloat); stdcall;
Public | TexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat); stdcall;
Public | TexGeni: procedure(coord, pname: Cardinal; param: TGLint); stdcall;
Public | TexGeniv: procedure(coord, pname: Cardinal; params: PGLint); stdcall;
Public | TexCoordPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); stdcall;
Public | EnableClientState: procedure(aarray: Cardinal); stdcall;
Public | DisableClientState: procedure(aarray: Cardinal); stdcall;
Public | Enable: procedure(cap: Cardinal); stdcall;
Public | Disable: procedure(cap: Cardinal); stdcall;

Methods

Public | constructor Create;
Public | function GetBitWiseMapping: Cardinal;
Public | procedure AllowSecondTextureUnit;
Public | procedure BeginUpdate; inline;
Public | procedure EndUpdate; inline;
Public | procedure ForbidSecondTextureUnit;
Public | procedure MapTexCoordToArbitrary(const bitWiseUnits: Cardinal); overload;
Public | procedure MapTexCoordToArbitrary(const units: array of Cardinal); overload;
Public | procedure MapTexCoordToArbitraryAdd(const bitWiseUnits: Cardinal);
Public | procedure MapTexCoordToDual;
Public | procedure MapTexCoordToMain;
Public | procedure MapTexCoordToNull;
Public | procedure MapTexCoordToSecond;
Public | procedure PopState;
Public | procedure PushState;

Properties

Public | property MapTexCoordMode: TMapTexCoordMode read FMapTexCoordMode write FMapTexCoordMode;
Public | property SecondTextureUnitForbidden: Boolean read FSecondTextureUnitForbidden;

Description

Fields

Private FMapTexCoordMode: TMapTexCoordMode;
Private FSecondTextureUnitForbidden: Boolean;
Private FUpdCount: Integer;
Private FUpdNewMode: TMapTexCoordMode;
Private FStateStack: array of TMapTexCoordMode;
Private FComplexMapping: array of Cardinal;
Private FComplexMappingN: Integer;
Public TexCoord2f: procedure(s, t: TGLfloat); stdcall;

Explicit texture coordinates specification

Public TexCoord2fv: procedure(v: PGLfloat); stdcall;
Public TexCoord3f: procedure(s, t, r: TGLfloat); stdcall;
Public TexCoord3fv: procedure(v: PGLfloat); stdcall;
Public TexCoord4f: procedure(s, t, r, q: TGLfloat); stdcall;
Public TexCoord4fv: procedure(v: PGLfloat); stdcall;
Public TexGenf: procedure(coord, pname: Cardinal; param: TGLfloat); stdcall;

TexGen texture coordinates specification

Public TexGenfv: procedure(coord, pname: Cardinal; params: PGLfloat); stdcall;
Public TexGeni: procedure(coord, pname: Cardinal; param: TGLint); stdcall;
Public TexGeniv: procedure(coord, pname: Cardinal; params: PGLint); stdcall;
Public TexCoordPointer: procedure(size: TGLint; atype: Cardinal; stride: TGLsizei; data: pointer); stdcall;

Vertex Arrays texture coordinates specification

Public EnableClientState: procedure(aarray: Cardinal); stdcall;
Public DisableClientState: procedure(aarray: Cardinal); stdcall;
Public Enable: procedure(cap: Cardinal); stdcall;

Misc

Public Disable: procedure(cap: Cardinal); stdcall;

Methods

Public constructor Create;
Public function GetBitWiseMapping: Cardinal;

Returns the complex mapping in bitwise form.

Public procedure AllowSecondTextureUnit;

Allow XOpenGL to use the second texture unit again.

Public procedure BeginUpdate; inline;

Defers Map calls execution until EndUpdate is met. Calls to Begin/EndUpdate may be nested.

Public procedure EndUpdate; inline;

Applies Map calls if there were any since BeginUpdate was invoked. Calls to Begin/EndUpdate may be nested.

Public procedure ForbidSecondTextureUnit;

Whenever called, 2nd texture units changes will be forbidden to . Use this function when you're using the 2nd texture unit for your own purposes and don't want XOpenGL to alter it.

Public procedure MapTexCoordToArbitrary(const bitWiseUnits: Cardinal); overload;
Public procedure MapTexCoordToArbitrary(const units: array of Cardinal); overload;

TexCoord functions will define the specified texture units coordinates.

Public procedure MapTexCoordToArbitraryAdd(const bitWiseUnits: Cardinal);
Public procedure MapTexCoordToDual;

TexCoord functions will define the two first texture units coordinates.

Public procedure MapTexCoordToMain;

TexCoord functions will define the main texture coordinates.

Public procedure MapTexCoordToNull;

TexCoord functions will be ignored.

Public procedure MapTexCoordToSecond;

TexCoord functions will define the second texture unit coordinates.

Public procedure PopState;

Restores XOpenGL State from the stack.

Public procedure PushState;

Saves XOpenGL State on the stack.

Properties

Public property MapTexCoordMode: TMapTexCoordMode read FMapTexCoordMode write FMapTexCoordMode;
Public property SecondTextureUnitForbidden: Boolean read FSecondTextureUnitForbidden;


GLSysHelp v.2.1: GLS.zBuffer

Unit GLS.zBuffer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • GLS.OpenGLTokens
  • GLS.XOpenGL
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Graphics
  • GLS.Objects
  • GLS.Context
  • GLS.SceneViewer
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.TextureFormat
  • GLS.VectorTypes
  • GLS.Coordinates
  • GLS.PersistentClasses

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EZBufferException |
Class TGLzBuffer |
Class TGLZShadows |

Types

PAArray = ˆTAArray;
PZArray = ˆTZArray;
TAArray = array[0..MaxInt shr 3] of Byte;
TAArrayIdx = array of PAArray;
TOptimise = (...);
TZArray = array[0..MaxInt shr 3] of Single;
TZArrayIdx = array of PZArray;

Description

Types

PAArray = ˆTAArray;
PZArray = ˆTZArray;
TAArray = array[0..MaxInt shr 3] of Byte;
TAArrayIdx = array of PAArray;
TOptimise = (...);
Values
  • opNone
  • op4in1
  • op9in1
  • op16in1
TZArray = array[0..MaxInt shr 3] of Single;
TZArrayIdx = array of PZArray;


GLSysHelp v.2.1: GLS.zBuffer: Class EZBufferException

Class EZBufferException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.zBuffer

Declaration

type EZBufferException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EZBufferException


GLSysHelp v.2.1: GLS.zBuffer: Class TGLzBuffer

Class TGLzBuffer

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.zBuffer

Declaration

type TGLzBuffer = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLzBuffer

Overview

Fields

Private | FData: PZArray;
Private | FDataIdx: TZArrayIdx;
Private | FDataInvIdx: TZArrayIdx;
Private | FWidth: Integer;
Private | FHeight: Integer;
Private | FDataSize: Integer;
Private | Ang1: single;
Private | Ang2: single;
Private | Scal: single;
Private | C1: single;
Private | S1: single;
Private | C2: single;
Private | S2: single;
Private | Vw: single;
Private | Vh: single;
Private | Lt: TAffineVector;
Private | Rt: TAffineVector;
Private | Lb: TAffineVector;
Private | Rb: TAffineVector;
Private | UpVec: TAffineVector;
Private | RiVec: TAffineVector;
Private | LtW: TAffineVector;
Private | RtW: TAffineVector;
Private | LbW: TAffineVector;
Private | RbW: TAffineVector;
Private | UpVecW: TAffineVector;
Private | RiVecW: TAffineVector;
Private | OrthInvDov: single;
Private | OrthAddX: single;
Private | OrthMulX: single;
Private | OrthAddY: single;
Private | OrthMulY: single;
Private | Dov: single;
Private | Np: single;
Private | Fp: single;
Private | NpFp: single;
Private | OneMinNp_Fp: single;
Private | InvOneMinNp_Fp: single;
Private | Cam: TGLCamera;
Public | SceneViewer: TGLSceneViewer;
Public | MemoryViewer: TGLMemoryViewer;
Public | Buffer: TGLSceneBuffer;
Public | Normal: TAffineVector;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function FastScreenToVector(x, y: Integer): TAffineVector;
Public | function FastVectorToScreen(const vec: TAffineVector): TAffineVector;
Public | function GetDepthBuffer(CalcVectors: Boolean; ContextIsActive: boolean): PZArray;
Public | function GetPixelzDepth(x, y: integer): Single;
Public | function OrthWorldToPixelZ(const aPoint: TAffineVector; out pixX, pixY: single; out pixZ: single): boolean;
Public | function PixelToDistance(x, y: integer): Single;
Public | function PixelToDistance_OLD(x, y: integer): Single;
Public | function PixelToWorld(const x, y: Integer): TAffineVector;
Public | function WorldToPixel(const aPoint: TAffineVector; out pixX, pixY: integer; out pixZ: single): boolean;
Public | function WorldToPixelZ(const aPoint: TAffineVector; out pixX, pixY: integer; out pixZ: single): boolean; overload;
Public | function WorldToPixelZ(const aPoint: TAffineVector; out pixX, pixY: single; out pixZ: single): boolean; overload;
Public | procedure LinkToViewer(viewer: TGLMemoryViewer); overload;
Public | procedure LinkToViewer(viewer: TGLSceneViewer); overload;
Public | procedure Refresh;
Protected | procedure PrepareBufferMemory;
Protected | procedure SetHeight(const val: Integer);
Protected | procedure SetWidth(val: Integer);
Private | procedure DoCalcVectors;

Properties

Public | property Data: PZArray read FData;
Public | property DataIdx: TZArrayIdx read FDataIdx;
Public | property DataInvIdx: TZArrayIdx read FDataIdx;
Public | property DataSize: Integer read FDataSize;
Public | property Height: Integer read FHeight write SetHeight;
Public | property Width: Integer read FWidth write SetWidth;

Description

Fields

Private FData: PZArray;
Private FDataIdx: TZArrayIdx;
Private FDataInvIdx: TZArrayIdx;
Private FWidth: Integer;
Private FHeight: Integer;
Private FDataSize: Integer;
Private Ang1: single;

VectorToScreen variables;

Private Ang2: single;

VectorToScreen variables;

Private Scal: single;

VectorToScreen variables;

Private C1: single;

VectorToScreen variables;

Private S1: single;

VectorToScreen variables;

Private C2: single;

VectorToScreen variables;

Private S2: single;

VectorToScreen variables;

Private Vw: single;

VectorToScreen variables;

Private Vh: single;

VectorToScreen variables;

Private Lt: TAffineVector;

ScreenToVector corner vectors;

Private Rt: TAffineVector;

ScreenToVector corner vectors;

Private Lb: TAffineVector;

ScreenToVector corner vectors;

Private Rb: TAffineVector;

ScreenToVector corner vectors;

Private UpVec: TAffineVector;
Private RiVec: TAffineVector;
Private LtW: TAffineVector;

ScreenToVector corner vectors;(Warped)

Private RtW: TAffineVector;

ScreenToVector corner vectors;(Warped)

Private LbW: TAffineVector;

ScreenToVector corner vectors;(Warped)

Private RbW: TAffineVector;

ScreenToVector corner vectors;(Warped)

Private UpVecW: TAffineVector;
Private RiVecW: TAffineVector;
Private OrthInvDov: single;
Private OrthAddX: single;
Private OrthMulX: single;
Private OrthAddY: single;
Private OrthMulY: single;
Private Dov: single;

Calc Variables;

Private Np: single;

Calc Variables;

Private Fp: single;

Calc Variables;

Private NpFp: single;

Calc Variables;

Private OneMinNp_Fp: single;

Calc Variables;

Private InvOneMinNp_Fp: single;

Calc Variables;

Private Cam: TGLCamera;
Public SceneViewer: TGLSceneViewer;
Public MemoryViewer: TGLMemoryViewer;
Public Buffer: TGLSceneBuffer;
Public Normal: TAffineVector;

Methods

Public constructor Create;

Absolute direction of camera

Public destructor Destroy; override;
Public function FastScreenToVector(x, y: Integer): TAffineVector;
Public function FastVectorToScreen(const vec: TAffineVector): TAffineVector;
Public function GetDepthBuffer(CalcVectors: Boolean; ContextIsActive: boolean): PZArray;
Public function GetPixelzDepth(x, y: integer): Single;
Public function OrthWorldToPixelZ(const aPoint: TAffineVector; out pixX, pixY: single; out pixZ: single): boolean;
Public function PixelToDistance(x, y: integer): Single;
Public function PixelToDistance_OLD(x, y: integer): Single;
Public function PixelToWorld(const x, y: Integer): TAffineVector;
Public function WorldToPixel(const aPoint: TAffineVector; out pixX, pixY: integer; out pixZ: single): boolean;
Public function WorldToPixelZ(const aPoint: TAffineVector; out pixX, pixY: integer; out pixZ: single): boolean; overload;
Public function WorldToPixelZ(const aPoint: TAffineVector; out pixX, pixY: single; out pixZ: single): boolean; overload;
Public procedure LinkToViewer(viewer: TGLMemoryViewer); overload;
Public procedure LinkToViewer(viewer: TGLSceneViewer); overload;
Public procedure Refresh;
Protected procedure PrepareBufferMemory;
Protected procedure SetHeight(const val: Integer);
Protected procedure SetWidth(val: Integer);
Private procedure DoCalcVectors;

Properties

Public property Data: PZArray read FData;
Public property DataIdx: TZArrayIdx read FDataIdx;
Public property DataInvIdx: TZArrayIdx read FDataIdx;
Public property DataSize: Integer read FDataSize;
Public property Height: Integer read FHeight write SetHeight;
Public property Width: Integer read FWidth write SetWidth;


GLSysHelp v.2.1: GLS.zBuffer: Class TGLZShadows

Class TGLZShadows

Description
Hierarchy
Fields
Methods
Properties

Unit

GLS.zBuffer

Declaration

type TGLZShadows = class(TGLBaseSceneObject)

Description

No description available, ancestor TGLBaseSceneObject description follows

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLZShadows

Overview

Fields

Private | FViewer: TGLSceneViewer;
Private | FCaster: TGLMemoryViewer;
Private | FDepthFade: Boolean;
Private | FFrustShadow: Boolean;
Private | FSkyShadow: Boolean;
Private | FOptimise: TOptimise;
Private | FData: PAArray;
Private | FDataIdx: TAArrayIdx;
Private | FDataInvIdx: TAArrayIdx;
Private | FDataSize: Integer;
Private | FWidth: integer;
Private | FHeight: integer;
Private | FXRes: integer;
Private | FYRes: integer;
Private | Fsoft: boolean;
Private | FTolerance: single;
Private | FColor: TGLColor;
Private | SCol: TGLPixel32;
Private | FTexturePrepared: Boolean;
Private | FTexHandle: TGLTextureHandle;
Public | ViewerZBuf: TGLzBuffer;
Public | CasterZBuf: TGLzBuffer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Published | function CastShadow: boolean;
Protected | function GetCaster: TGLMemoryViewer;
Protected | function GetViewer: TGLSceneViewer;
Protected | function HardSet(const x, y: integer): Byte;
Protected | function SoftTest(const x, y: integer): Byte;
Public | procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected | procedure BindTexture;
Protected | procedure CalcShadowTexture(var rci: TGLRenderContextInfo);
Protected | procedure PrepareAlphaMemory;
Protected | procedure SetCaster(const val: TGLMemoryViewer);
Protected | procedure SetHeight(const val: integer);
Protected | procedure SetSoft(const val: boolean);
Protected | procedure SetViewer(const val: TGLSceneViewer);
Protected | procedure SetWidth(const val: integer);
Protected | procedure SetXRes(const val: integer);
Protected | procedure SetYRes(const val: integer);

Properties

Published | property Caster: TGLMemoryViewer read GetCaster write SetCaster;
Published | property Color: TGLColor read FColor write FColor;
Published | property DepthFade: Boolean read FDepthFade write FDepthFade;
Published | property FrustShadow: Boolean read FFrustShadow write FFrustShadow;
Published | property Height: integer read FHeight write SetHeight;
Published | property ObjectsSorting;
Published | property Optimise: TOptimise read FOptimise write FOptimise;
Published | property SkyShadow: Boolean read FSkyShadow write FSkyShadow;
Published | property Soft: Boolean read Fsoft write SetSoft;
Published | property Tolerance: single read FTolerance write FTolerance;
Published | property Viewer: TGLSceneViewer read GetViewer write SetViewer;
Published | property Visible;
Published | property Width: integer read FWidth write SetWidth;

Description

Fields

Private FViewer: TGLSceneViewer;
Private FCaster: TGLMemoryViewer;
Private FDepthFade: Boolean;
Private FFrustShadow: Boolean;
Private FSkyShadow: Boolean;
Private FOptimise: TOptimise;
Private FData: PAArray;
Private FDataIdx: TAArrayIdx;
Private FDataInvIdx: TAArrayIdx;
Private FDataSize: Integer;
Private FWidth: integer;
Private FHeight: integer;
Private FXRes: integer;
Private FYRes: integer;
Private Fsoft: boolean;
Private FTolerance: single;
Private FColor: TGLColor;
Private SCol: TGLPixel32;
Private FTexturePrepared: Boolean;

stepX, stepY :single;

Private FTexHandle: TGLTextureHandle;
Public ViewerZBuf: TGLzBuffer;
Public CasterZBuf: TGLzBuffer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Published function CastShadow: boolean;
Protected function GetCaster: TGLMemoryViewer;
Protected function GetViewer: TGLSceneViewer;
Protected function HardSet(const x, y: integer): Byte;
Protected function SoftTest(const x, y: integer): Byte;
Public procedure DoRender(var ARci: TGLRenderContextInfo; ARenderSelf, ARenderChildren: Boolean); override;
Protected procedure BindTexture;
Protected procedure CalcShadowTexture(var rci: TGLRenderContextInfo);
Protected procedure PrepareAlphaMemory;
Protected procedure SetCaster(const val: TGLMemoryViewer);
Protected procedure SetHeight(const val: integer);
Protected procedure SetSoft(const val: boolean);
Protected procedure SetViewer(const val: TGLSceneViewer);
Protected procedure SetWidth(const val: integer);
Protected procedure SetXRes(const val: integer);
Protected procedure SetYRes(const val: integer);

Properties

Published property Caster: TGLMemoryViewer read GetCaster write SetCaster;
Published property Color: TGLColor read FColor write FColor;
Published property DepthFade: Boolean read FDepthFade write FDepthFade;
Published property FrustShadow: Boolean read FFrustShadow write FFrustShadow;
Published property Height: integer read FHeight write SetHeight;
Published property ObjectsSorting;

property Material;

Published property Optimise: TOptimise read FOptimise write FOptimise;
Published property SkyShadow: Boolean read FSkyShadow write FSkyShadow;
Published property Soft: Boolean read Fsoft write SetSoft;

property Xres :integer read FXRes write SetXRes;// default 64; property Yres :integer read FYRes write SetYRes;// default 64;

Published property Tolerance: single read FTolerance write FTolerance;
Published property Viewer: TGLSceneViewer read GetViewer write SetViewer;
Published property Visible;
Published property Width: integer read FWidth write SetWidth;


GLSysHelp v.2.1: GLSL.AsmShader

Unit GLSL.AsmShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.Texture
  • GLS.Context
  • GLSL.CustomShader
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLAsmShaderParameter |
Class TGLCustomAsmShader |
Class TGLAsmShader |

Types

TGLAsmShaderEvent = procedure(Shader: TGLCustomAsmShader) of object;
TGLAsmShaderUnUplyEvent = procedure(Shader: TGLCustomAsmShader; var ThereAreMorePasses: Boolean) of object;

Description

Types

TGLAsmShaderEvent = procedure(Shader: TGLCustomAsmShader) of object;
TGLAsmShaderUnUplyEvent = procedure(Shader: TGLCustomAsmShader; var ThereAreMorePasses: Boolean) of object;


GLSysHelp v.2.1: GLSL.AsmShader: Class TGLAsmShaderParameter

Class TGLAsmShaderParameter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.AsmShader

Declaration

type TGLAsmShaderParameter = class(TGLCustomShaderParameter)

Description

No description available, ancestor TGLCustomShaderParameter description follows

Wrapper around a parameter of the main program.

Hierarchy

  • TObject
  • TGLCustomShaderParameter
  • TGLAsmShaderParameter


GLSysHelp v.2.1: GLSL.AsmShader: Class TGLCustomAsmShader

Class TGLCustomAsmShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.AsmShader

Declaration

type TGLCustomAsmShader = class(TGLCustomShader)

Description

No description available, ancestor TGLCustomShader description follows

A pure abstract class, must be overriden.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomAsmShader

Overview

Fields

Private | FVPHandle: TGLARBVertexProgramHandle;
Private | FFPHandle: TGLARBFragmentProgramHandle;
Private | FGPHandle: TGLARBGeometryProgramHandle;
Private | FOnInitialize: TGLAsmShaderEvent;
Private | FOnApply: TGLAsmShaderEvent;
Private | FOnUnApply: TGLAsmShaderUnUplyEvent;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ShaderSupported: Boolean; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure ApplyShaderPrograms;
Protected | procedure DestroyARBPrograms; virtual;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoFinalize; override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure UnApplyShaderPrograms;

Properties

Protected | property OnApply: TGLAsmShaderEvent read FOnApply write FOnApply;
Protected | property OnInitialize: TGLAsmShaderEvent read FOnInitialize write FOnInitialize;
Protected | property OnUnApply: TGLAsmShaderUnUplyEvent read FOnUnApply write FOnUnApply;

Description

Fields

Private FVPHandle: TGLARBVertexProgramHandle;
Private FFPHandle: TGLARBFragmentProgramHandle;
Private FGPHandle: TGLARBGeometryProgramHandle;
Private FOnInitialize: TGLAsmShaderEvent;
Private FOnApply: TGLAsmShaderEvent;
Private FOnUnApply: TGLAsmShaderUnUplyEvent;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function ShaderSupported: Boolean; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure ApplyShaderPrograms;
Protected procedure DestroyARBPrograms; virtual;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoFinalize; override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure UnApplyShaderPrograms;

Properties

Protected property OnApply: TGLAsmShaderEvent read FOnApply write FOnApply;
Protected property OnInitialize: TGLAsmShaderEvent read FOnInitialize write FOnInitialize;
Protected property OnUnApply: TGLAsmShaderUnUplyEvent read FOnUnApply write FOnUnApply;


GLSysHelp v.2.1: GLSL.AsmShader: Class TGLAsmShader

Class TGLAsmShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.AsmShader

Declaration

type TGLAsmShader = class(TGLCustomAsmShader)

Description

No description available, ancestor TGLCustomAsmShader description follows
No description available, ancestor TGLCustomShader description follows

A pure abstract class, must be overriden.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomAsmShader
  • TGLAsmShader

Overview

Properties

Published | property FailedInitAction;
Published | property FragmentProgram;
Published | property GeometryProgram;
Published | property OnApply;
Published | property OnInitialize;
Published | property OnUnApply;
Published | property ShaderStyle;
Published | property VertexProgram;

Description

Properties

Published property FailedInitAction;
Published property FragmentProgram;
Published property GeometryProgram;
Published property OnApply;
Published property OnInitialize;
Published property OnUnApply;
Published property ShaderStyle;
Published property VertexProgram;


GLSysHelp v.2.1: GLSL.BumpShaders

Unit GLSL.BumpShaders

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Material
  • GLS.Graphics
  • GLS.VectorLists
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.TextureFormat
  • GLS.Texture
  • GLS.Scene
  • GLS.Context
  • GLS.Cadencer
  • GLS.Strings
  • GLSL.Shader
  • GLSL.CustomShader
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLSLBumpShaderException |
Class TGLBaseCustomGLSLBumpShader |
Class TGLBaseCustomGLSLBumpShaderMT |
Class TGLCustomGLSLBumpShaderAM |
Class TGLCustomGLSLBumpShaderMT |
Class TGLCustomGLSLBumpShader |
Class TGLCustomGLSLMLBumpShader |
Class TGLCustomGLSLMLBumpShaderMT |
Class TGLSLBumpShaderMT |
Class TGLSLBumpShader |
Class TGLSLBumpShaderAM |
Class TGLSLMLBumpShader |
Class TGLSLMLBumpShaderMT |
Class TGLBumpShader |

Types

TBumpMethod = (...);
TBumpOption = (...);
TBumpOptions = set of TBumpOption;
TBumpSpace = (...);
TSpecularMode = (...);

Description

Types

TBumpMethod = (...);
Values
  • bmDot3TexCombiner
  • bmBasicARBFP
TBumpOption = (...);
Values
  • boDiffuseTexture2
  • boSpecularTexture3: Use secondary texture as diffuse
  • boUseSecondaryTexCoords: Use tertiary texture as specular
  • boLightAttenuation: Pass through secondary texcoords
  • boParallaxMapping: Use light attenuation
TBumpOptions = set of TBumpOption;

Enable parallax offset mapping

TBumpSpace = (...);
Values
  • bsObject
  • bsTangentExternal
  • bsTangentQuaternion
TSpecularMode = (...);
Values
  • smOff
  • smBlinn
  • smPhong


GLSysHelp v.2.1: GLSL.BumpShaders: Class EGLSLBumpShaderException

Class EGLSLBumpShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type EGLSLBumpShaderException = class(EGLSLShaderException)

Description

No description available, ancestor EGLSLShaderException description follows
No description available, ancestor EGLCustomShaderException description follows
No description available, ancestor EGLShaderException description follows

Hierarchy

  • TObject
  • Exception
  • EGLShaderException
  • EGLCustomShaderException
  • EGLSLShaderException
  • EGLSLBumpShaderException


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLBaseCustomGLSLBumpShader

Class TGLBaseCustomGLSLBumpShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLBaseCustomGLSLBumpShader = class(TGLCustomGLSLShader, IGLMaterialLibrarySupported)

Description

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader

Overview

Fields

Private | FBumpHeight: Single;
Private | FBumpSmoothness: Integer;
Private | FSpecularPower: Single;
Private | FSpecularSpread: Single;
Private | FLightPower: Single;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FNormalTexture: TGLTexture;
Private | FSpecularTexture: TGLTexture;
Private | FNormalTextureName: TGLLibMaterialName;
Private | FSpecularTextureName: TGLLibMaterialName;

Methods

Public | constructor Create(AOwner : TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetNormalTextureName: TGLLibMaterialName;
Private | function GetSpecularTextureName: TGLLibMaterialName;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary); virtual;
Private | procedure SetNormalTexture(const Value: TGLTexture);
Private | procedure SetNormalTextureName(const Value: TGLLibMaterialName);
Private | procedure SetSpecularTexture(const Value: TGLTexture);
Private | procedure SetSpecularTextureName(const Value: TGLLibMaterialName);

Properties

Public | property BumpHeight: Single read FBumpHeight write FBumpHeight;
Public | property BumpSmoothness: Integer read FBumpSmoothness write FBumpSmoothness;
Public | property LightPower: Single read FLightPower write FLightPower;
Public | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public | property NormalTexture: TGLTexture read FNormalTexture write SetNormalTexture;
Public | property NormalTextureName: TGLLibMaterialName read GetNormalTextureName write SetNormalTextureName;
Public | property SpecularPower: Single read FSpecularPower write FSpecularPower;
Public | property SpecularSpread: Single read FSpecularSpread write FSpecularSpread;
Public | property SpecularTexture: TGLTexture read FSpecularTexture write SetSpecularTexture;
Public | property SpecularTextureName: TGLLibMaterialName read GetSpecularTextureName write SetSpecularTextureName;

Description

Fields

Private FBumpHeight: Single;
Private FBumpSmoothness: Integer;
Private FSpecularPower: Single;
Private FSpecularSpread: Single;
Private FLightPower: Single;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FNormalTexture: TGLTexture;
Private FSpecularTexture: TGLTexture;
Private FNormalTextureName: TGLLibMaterialName;
Private FSpecularTextureName: TGLLibMaterialName;

Methods

Public constructor Create(AOwner : TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Private function GetNormalTextureName: TGLLibMaterialName;
Private function GetSpecularTextureName: TGLLibMaterialName;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLMaterialLibrary); virtual;
Private procedure SetNormalTexture(const Value: TGLTexture);
Private procedure SetNormalTextureName(const Value: TGLLibMaterialName);
Private procedure SetSpecularTexture(const Value: TGLTexture);
Private procedure SetSpecularTextureName(const Value: TGLLibMaterialName);

Properties

Public property BumpHeight: Single read FBumpHeight write FBumpHeight;
Public property BumpSmoothness: Integer read FBumpSmoothness write FBumpSmoothness;
Public property LightPower: Single read FLightPower write FLightPower;
Public property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Public property NormalTexture: TGLTexture read FNormalTexture write SetNormalTexture;
Public property NormalTextureName: TGLLibMaterialName read GetNormalTextureName write SetNormalTextureName;
Public property SpecularPower: Single read FSpecularPower write FSpecularPower;
Public property SpecularSpread: Single read FSpecularSpread write FSpecularSpread;
Public property SpecularTexture: TGLTexture read FSpecularTexture write SetSpecularTexture;
Public property SpecularTextureName: TGLLibMaterialName read GetSpecularTextureName write SetSpecularTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLBaseCustomGLSLBumpShaderMT

Class TGLBaseCustomGLSLBumpShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLBaseCustomGLSLBumpShaderMT = class(TGLBaseCustomGLSLBumpShader)

Description

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT

Overview

Fields

Private | FMainTexture: TGLTexture;
Private | FMainTextureName: TGLLibMaterialName;

Methods

Private | function GetMainTextureName: string;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary); override;
Private | procedure SetMainTextureName(const Value: string);

Properties

Public | property MainTexture: TGLTexture read FMainTexture write FMainTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTextureName write SetMainTextureName;

Description

Fields

Private FMainTexture: TGLTexture;
Private FMainTextureName: TGLLibMaterialName;

Methods

Private function GetMainTextureName: string;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLMaterialLibrary); override;
Private procedure SetMainTextureName(const Value: string);

Properties

Public property MainTexture: TGLTexture read FMainTexture write FMainTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTextureName write SetMainTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLCustomGLSLBumpShaderAM

Class TGLCustomGLSLBumpShaderAM

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLCustomGLSLBumpShaderAM = class(TGLBaseCustomGLSLBumpShaderMT)

Description

One Light shaders.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT
  • TGLCustomGLSLBumpShaderAM

Overview

Fields

Private | FAmbientColor: TGLColor;
Private | FDiffuseColor: TGLColor;
Private | FSpecularColor: TGLColor;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Private | function GetAlpha: Single;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure SetAlpha(const Value: Single);

Properties

Public | property Alpha: Single read GetAlpha write SetAlpha;
Public | property AmbientColor: TGLColor read FAmbientColor;
Public | property DiffuseColor: TGLColor read FDiffuseColor;
Public | property SpecularColor: TGLColor read FSpecularColor;

Description

Fields

Private FAmbientColor: TGLColor;
Private FDiffuseColor: TGLColor;
Private FSpecularColor: TGLColor;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Private function GetAlpha: Single;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure SetAlpha(const Value: Single);

Properties

Public property Alpha: Single read GetAlpha write SetAlpha;
Public property AmbientColor: TGLColor read FAmbientColor;
Public property DiffuseColor: TGLColor read FDiffuseColor;
Public property SpecularColor: TGLColor read FSpecularColor;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLCustomGLSLBumpShaderMT

Class TGLCustomGLSLBumpShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLCustomGLSLBumpShaderMT = class(TGLBaseCustomGLSLBumpShaderMT)

Description

No description available, ancestor TGLBaseCustomGLSLBumpShaderMT description follows

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT
  • TGLCustomGLSLBumpShaderMT

Overview

Methods

Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;

Description

Methods

Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLCustomGLSLBumpShader

Class TGLCustomGLSLBumpShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLCustomGLSLBumpShader = class(TGLBaseCustomGLSLBumpShader, IGLShaderDescription)

Description

No description available, ancestor TGLBaseCustomGLSLBumpShader description follows

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLCustomGLSLBumpShader

Overview

Methods

Private | function GetShaderAlpha: Single;
Private | function GetShaderDescription: string;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure GetShaderColorParams(var AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private | procedure GetShaderMiscParameters(var ACadencer: TGLCadencer; var AMatLib: TGLMaterialLibrary; var ALightSources: TGLLightSourceSet);
Private | procedure GetShaderTextures(var Textures: array of TGLTexture);
Private | procedure SetShaderAlpha(const Value: Single);
Private | procedure SetShaderColorParams(const AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private | procedure SetShaderMiscParameters(const ACadencer: TGLCadencer; const AMatLib: TGLMaterialLibrary; const ALightSources: TGLLightSourceSet);
Private | procedure SetShaderTextures(const Textures: array of TGLTexture);

Description

Methods

Private function GetShaderAlpha: Single;
Private function GetShaderDescription: string;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure GetShaderColorParams(var AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private procedure GetShaderMiscParameters(var ACadencer: TGLCadencer; var AMatLib: TGLMaterialLibrary; var ALightSources: TGLLightSourceSet);
Private procedure GetShaderTextures(var Textures: array of TGLTexture);
Private procedure SetShaderAlpha(const Value: Single);
Private procedure SetShaderColorParams(const AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private procedure SetShaderMiscParameters(const ACadencer: TGLCadencer; const AMatLib: TGLMaterialLibrary; const ALightSources: TGLLightSourceSet);
Private procedure SetShaderTextures(const Textures: array of TGLTexture);

Implementing IGLShaderDescription.


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLCustomGLSLMLBumpShader

Class TGLCustomGLSLMLBumpShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLCustomGLSLMLBumpShader = class(TGLBaseCustomGLSLBumpShader, IGLShaderDescription)

Description

MultiLight shaders.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLCustomGLSLMLBumpShader

Overview

Fields

Private | FLightSources: TGLLightSourceSet;
Private | FLightCompensation: Single;

Methods

Public | constructor Create(AOwner : TComponent); override;
Private | function GetShaderAlpha: Single;
Private | function GetShaderDescription: string;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure GetShaderColorParams(var AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private | procedure GetShaderMiscParameters(var ACadencer: TGLCadencer; var AMatLib: TGLMaterialLibrary; var ALightSources: TGLLightSourceSet);
Private | procedure GetShaderTextures(var Textures: array of TGLTexture);
Private | procedure SetLightCompensation(const Value: Single);
Private | procedure SetLightSources(const Value: TGLLightSourceSet);
Private | procedure SetShaderAlpha(const Value: Single);
Private | procedure SetShaderColorParams(const AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private | procedure SetShaderMiscParameters(const ACadencer: TGLCadencer; const AMatLib: TGLMaterialLibrary; const ALightSources: TGLLightSourceSet);
Private | procedure SetShaderTextures(const Textures: array of TGLTexture);

Properties

Public | property LightCompensation: Single read FLightCompensation write SetLightCompensation;
Public | property LightSources: TGLLightSourceSet read FLightSources write SetLightSources default [1];

Description

Fields

Private FLightSources: TGLLightSourceSet;
Private FLightCompensation: Single;

Methods

Public constructor Create(AOwner : TComponent); override;
Private function GetShaderAlpha: Single;
Private function GetShaderDescription: string;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure GetShaderColorParams(var AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private procedure GetShaderMiscParameters(var ACadencer: TGLCadencer; var AMatLib: TGLMaterialLibrary; var ALightSources: TGLLightSourceSet);
Private procedure GetShaderTextures(var Textures: array of TGLTexture);
Private procedure SetLightCompensation(const Value: Single);
Private procedure SetLightSources(const Value: TGLLightSourceSet);
Private procedure SetShaderAlpha(const Value: Single);
Private procedure SetShaderColorParams(const AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Private procedure SetShaderMiscParameters(const ACadencer: TGLCadencer; const AMatLib: TGLMaterialLibrary; const ALightSources: TGLLightSourceSet);
Private procedure SetShaderTextures(const Textures: array of TGLTexture);

Implementing IGLShaderDescription.

Properties

Public property LightCompensation: Single read FLightCompensation write SetLightCompensation;

Setting LightCompensation to a value less than 1 decreeses individual light intensity when using multiple lights

Public property LightSources: TGLLightSourceSet read FLightSources write SetLightSources default [1];


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLCustomGLSLMLBumpShaderMT

Class TGLCustomGLSLMLBumpShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLCustomGLSLMLBumpShaderMT = class(TGLBaseCustomGLSLBumpShaderMT)

Description

No description available, ancestor TGLBaseCustomGLSLBumpShaderMT description follows

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT
  • TGLCustomGLSLMLBumpShaderMT

Overview

Fields

Private | FLightSources: TGLLightSourceSet;
Private | FLightCompensation: Single;

Methods

Public | constructor Create(AOwner : TComponent); override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure SetLightCompensation(const Value: Single);
Private | procedure SetLightSources(const Value: TGLLightSourceSet);

Properties

Public | property LightCompensation: Single read FLightCompensation write SetLightCompensation;
Public | property LightSources: TGLLightSourceSet read FLightSources write SetLightSources default [1];

Description

Fields

Private FLightSources: TGLLightSourceSet;
Private FLightCompensation: Single;

Methods

Public constructor Create(AOwner : TComponent); override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure SetLightCompensation(const Value: Single);
Private procedure SetLightSources(const Value: TGLLightSourceSet);

Properties

Public property LightCompensation: Single read FLightCompensation write SetLightCompensation;

Setting LightCompensation to a value less than 1 decreeses individual light intensity when using multiple lights

Public property LightSources: TGLLightSourceSet read FLightSources write SetLightSources default [1];


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLSLBumpShaderMT

Class TGLSLBumpShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLSLBumpShaderMT = class(TGLCustomGLSLBumpShaderMT)

Description

One light shaders.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT
  • TGLCustomGLSLBumpShaderMT
  • TGLSLBumpShaderMT

Overview

Properties

Published | property BumpHeight;
Published | property BumpSmoothness;
Published | property LightPower;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property NormalTextureName;
Published | property SpecularPower;
Published | property SpecularSpread;
Published | property SpecularTextureName;

Description

Properties

Published property BumpHeight;
Published property BumpSmoothness;
Published property LightPower;
Published property MainTextureName;
Published property MaterialLibrary;
Published property NormalTextureName;
Published property SpecularPower;
Published property SpecularSpread;
Published property SpecularTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLSLBumpShader

Class TGLSLBumpShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLSLBumpShader = class(TGLCustomGLSLBumpShader)

Description

No description available, ancestor TGLCustomGLSLBumpShader description follows
No description available, ancestor TGLBaseCustomGLSLBumpShader description follows

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLCustomGLSLBumpShader
  • TGLSLBumpShader

Overview

Properties

Published | property BumpHeight;
Published | property BumpSmoothness;
Published | property LightPower;
Published | property MaterialLibrary;
Published | property NormalTextureName;
Published | property SpecularPower;
Published | property SpecularSpread;
Published | property SpecularTextureName;

Description

Properties

Published property BumpHeight;
Published property BumpSmoothness;
Published property LightPower;
Published property MaterialLibrary;
Published property NormalTextureName;
Published property SpecularPower;
Published property SpecularSpread;
Published property SpecularTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLSLBumpShaderAM

Class TGLSLBumpShaderAM

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLSLBumpShaderAM = class(TGLCustomGLSLBumpShaderAM)

Description

No description available, ancestor TGLCustomGLSLBumpShaderAM description follows

One Light shaders.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT
  • TGLCustomGLSLBumpShaderAM
  • TGLSLBumpShaderAM

Overview

Properties

Published | property Alpha stored False;
Published | property AmbientColor;
Published | property BumpHeight;
Published | property BumpSmoothness;
Published | property DiffuseColor;
Published | property LightPower;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property NormalTextureName;
Published | property SpecularColor;
Published | property SpecularPower;
Published | property SpecularSpread;
Published | property SpecularTextureName;

Description

Properties

Published property Alpha stored False;
Published property AmbientColor;
Published property BumpHeight;
Published property BumpSmoothness;
Published property DiffuseColor;
Published property LightPower;
Published property MainTextureName;
Published property MaterialLibrary;
Published property NormalTextureName;
Published property SpecularColor;
Published property SpecularPower;
Published property SpecularSpread;
Published property SpecularTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLSLMLBumpShader

Class TGLSLMLBumpShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLSLMLBumpShader = class(TGLCustomGLSLMLBumpShader)

Description

Multi light shaders.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLCustomGLSLMLBumpShader
  • TGLSLMLBumpShader

Overview

Properties

Published | property BumpHeight;
Published | property BumpSmoothness;
Published | property LightCompensation;
Published | property LightPower;
Published | property LightSources;
Published | property MaterialLibrary;
Published | property NormalTextureName;
Published | property SpecularPower;
Published | property SpecularSpread;
Published | property SpecularTextureName;

Description

Properties

Published property BumpHeight;
Published property BumpSmoothness;
Published property LightCompensation;
Published property LightPower;
Published property LightSources;
Published property MaterialLibrary;
Published property NormalTextureName;
Published property SpecularPower;
Published property SpecularSpread;
Published property SpecularTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLSLMLBumpShaderMT

Class TGLSLMLBumpShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLSLMLBumpShaderMT = class(TGLCustomGLSLMLBumpShaderMT)

Description

No description available, ancestor TGLCustomGLSLMLBumpShaderMT description follows
No description available, ancestor TGLBaseCustomGLSLBumpShaderMT description follows

An abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLBumpShader
  • TGLBaseCustomGLSLBumpShaderMT
  • TGLCustomGLSLMLBumpShaderMT
  • TGLSLMLBumpShaderMT

Overview

Properties

Published | property BumpHeight;
Published | property BumpSmoothness;
Published | property LightCompensation;
Published | property LightPower;
Published | property LightSources;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property NormalTextureName;
Published | property SpecularPower;
Published | property SpecularSpread;
Published | property SpecularTextureName;

Description

Properties

Published property BumpHeight;
Published property BumpSmoothness;
Published property LightCompensation;
Published property LightPower;
Published property LightSources;
Published property MainTextureName;
Published property MaterialLibrary;
Published property NormalTextureName;
Published property SpecularPower;
Published property SpecularSpread;
Published property SpecularTextureName;


GLSysHelp v.2.1: GLSL.BumpShaders: Class TGLBumpShader

Class TGLBumpShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.BumpShaders

Declaration

type TGLBumpShader = class(TGLShader)

Description

A generic bump shader.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLBumpShader

Overview

Fields

Private | FVertexProgramHandle: TGLARBVertexProgramHandle;
Private | FFragmentProgramHandle: TGLARBFragmentProgramHandle;
Private | FLightIDs: TIntegerList;
Private | FLightsEnabled: Integer;
Private | FBumpMethod: TBumpMethod;
Private | FBumpSpace: TBumpSpace;
Private | FBumpOptions: TBumpOptions;
Private | FSpecularMode: TSpecularMode;
Private | FDesignTimeEnabled: Boolean;
Private | FAmbientPass: Boolean;
Private | FDiffusePass: Boolean;
Private | FVertexProgram: TStringList;
Private | FFragmentProgram: TStringList;
Private | FParallaxOffset: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GenerateFragmentProgram: string;
Private | function GenerateVertexProgram: string;
Public | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DeleteFragmentPrograms;
Protected | procedure DeleteVertexPrograms;
Protected | procedure Loaded; override;
Protected | procedure SetBumpMethod(const Value: TBumpMethod);
Protected | procedure SetBumpOptions(const Value: TBumpOptions);
Protected | procedure SetBumpSpace(const Value: TBumpSpace);
Protected | procedure SetDesignTimeEnabled(const Value: Boolean);
Protected | procedure SetParallaxOffset(const Value: Single);
Protected | procedure SetSpecularMode(const Value: TSpecularMode);
Private | procedure DoLightPass(var rci: TGLRenderContextInfo; lightID: Cardinal);

Properties

Published | property BumpMethod: TBumpMethod read FBumpMethod write SetBumpMethod;
Published | property BumpOptions: TBumpOptions read FBumpOptions write SetBumpOptions;
Published | property BumpSpace: TBumpSpace read FBumpSpace write SetBumpSpace;
Published | property DesignTimeEnabled: Boolean read FDesignTimeEnabled write SetDesignTimeEnabled;
Published | property ParallaxOffset: Single read FParallaxOffset write SetParallaxOffset;
Published | property SpecularMode: TSpecularMode read FSpecularMode write SetSpecularMode;

Description

Fields

Private FVertexProgramHandle: TGLARBVertexProgramHandle;
Private FFragmentProgramHandle: TGLARBFragmentProgramHandle;
Private FLightIDs: TIntegerList;
Private FLightsEnabled: Integer;
Private FBumpMethod: TBumpMethod;
Private FBumpSpace: TBumpSpace;
Private FBumpOptions: TBumpOptions;
Private FSpecularMode: TSpecularMode;
Private FDesignTimeEnabled: Boolean;
Private FAmbientPass: Boolean;
Private FDiffusePass: Boolean;
Private FVertexProgram: TStringList;
Private FFragmentProgram: TStringList;
Private FParallaxOffset: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GenerateFragmentProgram: string;
Private function GenerateVertexProgram: string;
Public procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DeleteFragmentPrograms;
Protected procedure DeleteVertexPrograms;
Protected procedure Loaded; override;
Protected procedure SetBumpMethod(const Value: TBumpMethod);
Protected procedure SetBumpOptions(const Value: TBumpOptions);
Protected procedure SetBumpSpace(const Value: TBumpSpace);
Protected procedure SetDesignTimeEnabled(const Value: Boolean);
Protected procedure SetParallaxOffset(const Value: Single);
Protected procedure SetSpecularMode(const Value: TSpecularMode);
Private procedure DoLightPass(var rci: TGLRenderContextInfo; lightID: Cardinal);

Properties

Published property BumpMethod: TBumpMethod read FBumpMethod write SetBumpMethod;
Published property BumpOptions: TBumpOptions read FBumpOptions write SetBumpOptions;
Published property BumpSpace: TBumpSpace read FBumpSpace write SetBumpSpace;
Published property DesignTimeEnabled: Boolean read FDesignTimeEnabled write SetDesignTimeEnabled;
Published property ParallaxOffset: Single read FParallaxOffset write SetParallaxOffset;
Published property SpecularMode: TSpecularMode read FSpecularMode write SetSpecularMode;


GLSysHelp v.2.1: GLSL.CustomShader

Unit GLSL.CustomShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.Texture
  • GLS.Cadencer
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Strings
  • GLS.Context
  • GLS.RenderContextInfo
  • GLS.Material
  • GLS.VectorLists
  • GLS.TextureFormat
  • GLSL.ShaderParameter

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLCustomShaderException |
Interface IGLShaderDescription |
Interface IGLPostShader |
Class TGLCustomShader |
Class TGLShaderProgram |
Class TGLVertexProgram |
Class TGLFragmentProgram |
Class TGLGeometryProgram |
Class TGLCustomShaderParameter |

Functions and Procedures

procedure ApplyBlendingModeEx(const BlendingMode: TGLBlendingModeEx);
procedure UnApplyBlendingModeEx;
procedure InitTexture( const TextureHandle: Cardinal; const TextureSize: TGLSize; const TextureTarget: TGLTextureTarget = ttTexture2D);
procedure DrawTexturedScreenQuad;
procedure DrawTexturedScreenQuad2(const ViewPortSize: TGLSize);
procedure DrawTexturedScreenQuad3;
procedure DrawTexturedScreenQuad4(const ViewPortSize: TGLSize);
procedure DrawTexturedScreenQuad5(const ViewPortSize: TGLSize);
procedure DrawTexturedScreenQuad6(const ViewPortSize: TGLSize);
procedure CopyScreentoTexture(const ViewPortSize: TGLSize; const TextureTarget: Word = GL_TEXTURE_2D);
procedure CopyScreentoTexture2(const ViewPortSize: TGLSize; const TextureTarget: Word = GL_TEXTURE_2D);
function IsFogEnabled(const AFogSupportMode: TGLShaderFogSupport; var rci: TGLRenderContextInfo): Boolean;
procedure GetActiveLightsList(const ALightIDs: TIntegerList);

Types

TGLBlendingModeEx = (...);
TGLLightSourceEnum = 1..glsShaderMaxLightSources;
TGLLightSourceSet = set of TGLLightSourceEnum;
TGLShaderEvent = procedure(Shader: TGLCustomShader) of object;
TGLShaderFogSupport = (...);
TGLShaderUnAplyEvent = procedure(Shader: TGLCustomShader; var ThereAreMorePasses: Boolean) of object;
TGLTransformFeedBackMode = (...);

Constants

glsShaderMaxLightSources = 8;

Description

Functions and Procedures

procedure ApplyBlendingModeEx(const BlendingMode: TGLBlendingModeEx);

Exported procedures.

procedure UnApplyBlendingModeEx;
procedure InitTexture( const TextureHandle: Cardinal; const TextureSize: TGLSize; const TextureTarget: TGLTextureTarget = ttTexture2D);
procedure DrawTexturedScreenQuad;

Probably need to give them proper names, instead of numbers...

procedure DrawTexturedScreenQuad2(const ViewPortSize: TGLSize);
procedure DrawTexturedScreenQuad3;
procedure DrawTexturedScreenQuad4(const ViewPortSize: TGLSize);
procedure DrawTexturedScreenQuad5(const ViewPortSize: TGLSize);
procedure DrawTexturedScreenQuad6(const ViewPortSize: TGLSize);
procedure CopyScreentoTexture(const ViewPortSize: TGLSize; const TextureTarget: Word = GL_TEXTURE_2D);
procedure CopyScreentoTexture2(const ViewPortSize: TGLSize; const TextureTarget: Word = GL_TEXTURE_2D);
function IsFogEnabled(const AFogSupportMode: TGLShaderFogSupport; var rci: TGLRenderContextInfo): Boolean;
procedure GetActiveLightsList(const ALightIDs: TIntegerList);

Types

TGLBlendingModeEx = (...);

Adds two more blending modes to standard ones. Not sure how to name them or if they should be included in TBlending mode, so I created a new type here.

Values
  • bmxOpaque
  • bmxTransparency
  • bmxAdditive
  • bmxAlphaTest50
  • bmxAlphaTest100
  • bmxModulate
  • bmxDestColorOne
  • bmxDestAlphaOne
TGLLightSourceEnum = 1..glsShaderMaxLightSources;
TGLLightSourceSet = set of TGLLightSourceEnum;
TGLShaderEvent = procedure(Shader: TGLCustomShader) of object;
TGLShaderFogSupport = (...);
Values
  • sfsEnabled
  • sfsDisabled
  • sfsAuto
TGLShaderUnAplyEvent = procedure(Shader: TGLCustomShader; var ThereAreMorePasses: Boolean) of object;
TGLTransformFeedBackMode = (...);
Values
  • tfbmInterleaved
  • tfbmSeparate

Constants

glsShaderMaxLightSources = 8;


GLSysHelp v.2.1: GLSL.CustomShader: Class EGLCustomShaderException

Class EGLCustomShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type EGLCustomShaderException = class(EGLShaderException)

Description

No description available, ancestor EGLShaderException description follows

Hierarchy

  • TObject
  • Exception
  • EGLShaderException
  • EGLCustomShaderException


GLSysHelp v.2.1: GLSL.CustomShader: Interface IGLShaderDescription

Interface IGLShaderDescription

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type IGLShaderDescription = interface(IInterface)

Description

This interface describes user shaders, in order to be able to access them via a unified interface. If user shader does not support some option, don't raise an axception, just ignore it.

Attributes
GUID['{04089C64-60C2-43F5-AC9C-38ED46264812}']

Hierarchy

  • IInterface
  • IGLShaderDescription

Overview

Methods

Public | function GetShaderAlpha: Single;
Public | function GetShaderDescription: string;
Public | procedure GetShaderColorParams(var AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Public | procedure GetShaderMiscParameters(var ACadencer: TGLCadencer; var AMatLib: TGLMaterialLibrary; var ALightSources: TGLLightSourceSet);
Public | procedure GetShaderTextures(var Textures: array of TGLTexture);
Public | procedure SetShaderAlpha(const Value: Single);
Public | procedure SetShaderColorParams(const AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Public | procedure SetShaderMiscParameters(const ACadencer: TGLCadencer; const AMatLib: TGLMaterialLibrary; const ALightSources: TGLLightSourceSet);
Public | procedure SetShaderTextures(const Textures: array of TGLTexture);

Description

Methods

Public function GetShaderAlpha: Single;
Public function GetShaderDescription: string;
Public procedure GetShaderColorParams(var AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Public procedure GetShaderMiscParameters(var ACadencer: TGLCadencer; var AMatLib: TGLMaterialLibrary; var ALightSources: TGLLightSourceSet);
Public procedure GetShaderTextures(var Textures: array of TGLTexture);
Public procedure SetShaderAlpha(const Value: Single);
Public procedure SetShaderColorParams(const AAmbientColor, ADiffuseColor, ASpecularcolor: TVector4f);
Public procedure SetShaderMiscParameters(const ACadencer: TGLCadencer; const AMatLib: TGLMaterialLibrary; const ALightSources: TGLLightSourceSet);
Public procedure SetShaderTextures(const Textures: array of TGLTexture);


GLSysHelp v.2.1: GLSL.CustomShader: Interface IGLPostShader

Interface IGLPostShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type IGLPostShader = interface(IInterface)

Description

Used in the TGLPostShaderHolder component.

Attributes
GUID['{68A62362-AF0A-4CE8-A9E1-714FE02AFA4A}']

Hierarchy

  • IInterface
  • IGLPostShader

Overview

Methods

Public | function GetTextureTarget: TGLTextureTarget;
Public | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle; TextureTarget: TGLTextureTarget);

Description

Methods

Public function GetTextureTarget: TGLTextureTarget;

Called to determine if it is compatible.

Public procedure DoUseTempTexture(const TempTexture: TGLTextureHandle; TextureTarget: TGLTextureTarget);

Called on every pass.


GLSysHelp v.2.1: GLSL.CustomShader: Class TGLCustomShader

Class TGLCustomShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type TGLCustomShader = class(TGLShader)

Description

A pure abstract class, must be overriden.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader

Overview

Fields

Private | FFragmentProgram: TGLFragmentProgram;
Private | FVertexProgram: TGLVertexProgram;
Private | FGeometryProgram: TGLGeometryProgram;
Private | FTagObject: TObject;
Protected | FDebugMode: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Private | function StoreFragmentProgram: Boolean;
Private | function StoreGeometryProgram: Boolean;
Private | function StoreVertexProgram: Boolean;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadShaderPrograms(const VPFilename, FPFilename: string; const GPFilename: string = '');
Protected | procedure SetDebugMode(const Value: Boolean); virtual;
Private | procedure SetFragmentProgram(const Value: TGLFragmentProgram);
Private | procedure SetGeometryProgram(const Value: TGLGeometryProgram);
Private | procedure SetVertexProgram(const Value: TGLVertexProgram);

Properties

Protected | property DebugMode: Boolean read FDebugMode write SetDebugMode default False;
Protected | property FragmentProgram: TGLFragmentProgram read FFragmentProgram write SetFragmentProgram stored StoreFragmentProgram;
Protected | property GeometryProgram: TGLGeometryProgram read FGeometryProgram write SetGeometryProgram stored StoreGeometryProgram;
Protected | property TagObject: TObject read FTagObject write FTagObject default nil;
Protected | property VertexProgram: TGLVertexProgram read FVertexProgram write SetVertexProgram stored StoreVertexProgram;

Description

Fields

Private FFragmentProgram: TGLFragmentProgram;
Private FVertexProgram: TGLVertexProgram;
Private FGeometryProgram: TGLGeometryProgram;
Private FTagObject: TObject;
Protected FDebugMode: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Private function StoreFragmentProgram: Boolean;
Private function StoreGeometryProgram: Boolean;
Private function StoreVertexProgram: Boolean;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadShaderPrograms(const VPFilename, FPFilename: string; const GPFilename: string = '');
Protected procedure SetDebugMode(const Value: Boolean); virtual;
Private procedure SetFragmentProgram(const Value: TGLFragmentProgram);
Private procedure SetGeometryProgram(const Value: TGLGeometryProgram);
Private procedure SetVertexProgram(const Value: TGLVertexProgram);

Properties

Protected property DebugMode: Boolean read FDebugMode write SetDebugMode default False;

Treats warnings as errors and displays this error, instead of a general shader-not-supported message.

Protected property FragmentProgram: TGLFragmentProgram read FFragmentProgram write SetFragmentProgram stored StoreFragmentProgram;
Protected property GeometryProgram: TGLGeometryProgram read FGeometryProgram write SetGeometryProgram stored StoreGeometryProgram;
Protected property TagObject: TObject read FTagObject write FTagObject default nil;
Protected property VertexProgram: TGLVertexProgram read FVertexProgram write SetVertexProgram stored StoreVertexProgram;


GLSysHelp v.2.1: GLSL.CustomShader: Class TGLShaderProgram

Class TGLShaderProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type TGLShaderProgram = class(TPersistent)

Description

A custom shader program.

Hierarchy

  • TObject
  • TPersistent
  • TGLShaderProgram

Overview

Fields

Private | FParent: TGLCustomShader;
Private | FEnabled: Boolean;
Private | FCode: TStrings;

Methods

Public | constructor Create(const AParent: TGLCustomShader); virtual;
Public | destructor Destroy; override;
Protected | function GetOwner: TPersistent; override;
Public | procedure Apply; virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure LoadFromFile(const AFileName: string);
Private | procedure OnChangeCode(Sender: TObject);
Private | procedure SetCode(const Value: TStrings);
Private | procedure SetEnabled(const Value: Boolean);

Properties

Published | property Code: TStrings read FCode write SetCode;
Published | property Enabled: Boolean read FEnabled write SetEnabled default False;

Description

Fields

Private FParent: TGLCustomShader;
Private FEnabled: Boolean;
Private FCode: TStrings;

Methods

Public constructor Create(const AParent: TGLCustomShader); virtual;
Public destructor Destroy; override;
Protected function GetOwner: TPersistent; override;
Public procedure Apply; virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure LoadFromFile(const AFileName: string);
Private procedure OnChangeCode(Sender: TObject);
Private procedure SetCode(const Value: TStrings);
Private procedure SetEnabled(const Value: Boolean);

Properties

Published property Code: TStrings read FCode write SetCode;
Published property Enabled: Boolean read FEnabled write SetEnabled default False;


GLSysHelp v.2.1: GLSL.CustomShader: Class TGLVertexProgram

Class TGLVertexProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type TGLVertexProgram = class(TGLShaderProgram)

Description

No description available, ancestor TGLShaderProgram description follows

A custom shader program.

Hierarchy

  • TObject
  • TPersistent
  • TGLShaderProgram
  • TGLVertexProgram

Overview

Properties

Published | property Code;
Published | property Enabled;

Description

Properties

Published property Code;
Published property Enabled;


GLSysHelp v.2.1: GLSL.CustomShader: Class TGLFragmentProgram

Class TGLFragmentProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type TGLFragmentProgram = class(TGLShaderProgram)

Description

No description available, ancestor TGLShaderProgram description follows

A custom shader program.

Hierarchy

  • TObject
  • TPersistent
  • TGLShaderProgram
  • TGLFragmentProgram

Overview

Properties

Published | property Code;
Published | property Enabled;

Description

Properties

Published property Code;
Published property Enabled;


GLSysHelp v.2.1: GLSL.CustomShader: Class TGLGeometryProgram

Class TGLGeometryProgram

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type TGLGeometryProgram = class(TGLShaderProgram)

Description

No description available, ancestor TGLShaderProgram description follows

A custom shader program.

Hierarchy

  • TObject
  • TPersistent
  • TGLShaderProgram
  • TGLGeometryProgram

Overview

Fields

Private | FInputPrimitiveType: TGLgsInTypes;
Private | FOutputPrimitiveType: TGLgsOutTypes;
Private | FVerticesOut: TGLint;

Methods

Public | constructor Create(const AParent: TGLCustomShader); override;
Private | procedure SetInputPrimitiveType(const Value: TGLgsInTypes);
Private | procedure SetOutputPrimitiveType(const Value: TGLgsOutTypes);
Private | procedure SetVerticesOut(const Value: TGLint);

Properties

Published | property Code;
Published | property Enabled;
Published | property InputPrimitiveType: TGLgsInTypes read FInputPrimitiveType write SetInputPrimitiveType default gsInPoints;
Published | property OutputPrimitiveType: TGLgsOutTypes read FOutputPrimitiveType write SetOutputPrimitiveType default gsOutPoints;
Published | property VerticesOut: TGLint read FVerticesOut write SetVerticesOut default 0;

Description

Fields

Private FInputPrimitiveType: TGLgsInTypes;
Private FOutputPrimitiveType: TGLgsOutTypes;
Private FVerticesOut: TGLint;

Methods

Public constructor Create(const AParent: TGLCustomShader); override;
Private procedure SetInputPrimitiveType(const Value: TGLgsInTypes);
Private procedure SetOutputPrimitiveType(const Value: TGLgsOutTypes);
Private procedure SetVerticesOut(const Value: TGLint);

Properties

Published property Code;
Published property Enabled;
Published property InputPrimitiveType: TGLgsInTypes read FInputPrimitiveType write SetInputPrimitiveType default gsInPoints;
Published property OutputPrimitiveType: TGLgsOutTypes read FOutputPrimitiveType write SetOutputPrimitiveType default gsOutPoints;
Published property VerticesOut: TGLint read FVerticesOut write SetVerticesOut default 0;


GLSysHelp v.2.1: GLSL.CustomShader: Class TGLCustomShaderParameter

Class TGLCustomShaderParameter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.CustomShader

Declaration

type TGLCustomShaderParameter = class(TObject)

Description

Wrapper around a parameter of the main program.

Hierarchy

  • TObject
  • TGLCustomShaderParameter

Overview

Methods

Protected | function GetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget): Cardinal; virtual; abstract;
Protected | function GetAsMatrix2f: TMatrix2f; virtual; abstract;
Protected | function GetAsMatrix3f: TMatrix3f; virtual; abstract;
Protected | function GetAsMatrix4f: TMatrix4f; virtual; abstract;
Protected | function GetAsUniformBuffer: Cardinal; virtual; abstract;
Protected | function GetAsVector1f: Single; virtual; abstract;
Protected | function GetAsVector1i: Integer; virtual; abstract;
Protected | function GetAsVector1ui: Cardinal; virtual; abstract;
Protected | function GetAsVector2f: TVector2f; virtual; abstract;
Protected | function GetAsVector2i: TVector2i; virtual; abstract;
Protected | function GetAsVector2ui: TVector2ui; virtual; abstract;
Protected | function GetAsVector3f: TVector3f; virtual; abstract;
Protected | function GetAsVector3i: TVector3i; virtual; abstract;
Protected | function GetAsVector3ui: TVector3ui; virtual; abstract;
Protected | function GetAsVector4f: TGLVector; virtual; abstract;
Protected | function GetAsVector4i: TVector4i; virtual; abstract;
Protected | function GetAsVector4ui: TVector4ui; virtual; abstract;
Public | procedure SetAsVectorF(const Values: array of Single); overload;
Public | procedure SetAsVectorI(const Values: array of Integer); overload;
Public | procedure SetToTextureOf(const LibMaterial: TGLLibMaterial; const TextureIndex: Integer); overload;
Public | procedure SetToTextureOf(const Texture: TGLTexture; const TextureIndex: Integer); overload;
Protected | procedure SetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget; const Value: Cardinal); virtual; abstract;
Protected | procedure SetAsMatrix2f(const Value: TMatrix2f); virtual; abstract;
Protected | procedure SetAsMatrix3f(const Value: TMatrix3f); virtual; abstract;
Protected | procedure SetAsMatrix4f(const Value: TMatrix4f); virtual; abstract;
Protected | procedure SetAsTexture(const TextureIndex: Integer; const Value: TGLTexture);
Protected | procedure SetAsTexture1D(const TextureIndex: Integer; const Value: TGLTexture);
Protected | procedure SetAsTexture2D(const TextureIndex: Integer; const Value: TGLTexture);
Protected | procedure SetAsTexture3D(const TextureIndex: Integer; const Value: TGLTexture);
Protected | procedure SetAsTextureCube(const TextureIndex: Integer; const Value: TGLTexture);
Protected | procedure SetAsTextureRect(const TextureIndex: Integer; const Value: TGLTexture);
Protected | procedure SetAsUniformBuffer(UBO: Cardinal); virtual; abstract;
Protected | procedure SetAsVector1f(const Value: Single); virtual; abstract;
Protected | procedure SetAsVector1i(const Value: Integer); virtual; abstract;
Protected | procedure SetAsVector1ui(const Value: Cardinal); virtual; abstract;
Protected | procedure SetAsVector2f(const Value: TVector2f); virtual; abstract;
Protected | procedure SetAsVector2i(const Value: TVector2i); virtual; abstract;
Protected | procedure SetAsVector2ui(const Value: TVector2ui); virtual; abstract;
Protected | procedure SetAsVector3f(const Value: TVector3f); virtual; abstract;
Protected | procedure SetAsVector3i(const Value: TVector3i); virtual; abstract;
Protected | procedure SetAsVector3ui(const Value: TVector3ui); virtual; abstract;
Protected | procedure SetAsVector4f(const Value: TVector4f); virtual; abstract;
Protected | procedure SetAsVector4i(const Value: TVector4i); virtual; abstract;
Protected | procedure SetAsVector4ui(const Value: TVector4ui); virtual; abstract;

Properties

Public | property AsAffineVector: TAffineVector read GetAsVector3f write SetAsVector3f;
Public | property AsCustomTexture[constTextureIndex:Integer;TextureTarget:TGLTextureTarget]: Cardinal read GetAsCustomTexture write SetAsCustomTexture;
Public | property AsFloat: Single read GetAsVector1f write SetAsVector1f;
Public | property AsInteger: Integer read GetAsVector1i write SetAsVector1i;
Public | property AsMatrix2f: TMatrix2f read GetAsMatrix2f write SetAsMatrix2f;
Public | property AsMatrix3f: TMatrix3f read GetAsMatrix3f write SetAsMatrix3f;
Public | property AsMatrix4f: TMatrix4f read GetAsMatrix4f write SetAsMatrix4f;
Public | property AsTexture [constTextureIndex:Integer]: TGLTexture write SetAsTexture;
Public | property AsTexture1D [constTextureIndex:Integer]: TGLTexture write SetAsTexture1D;
Public | property AsTexture2D [constTextureIndex:Integer]: TGLTexture write SetAsTexture2D;
Public | property AsTexture3D [constTextureIndex:Integer]: TGLTexture write SetAsTexture3D;
Public | property AsTextureCube[constTextureIndex:Integer]: TGLTexture write SetAsTextureCube;
Public | property AsTextureRect[constTextureIndex:Integer]: TGLTexture write SetAsTextureRect;
Public | property AsUniformBuffer: Cardinal read GetAsUniformBuffer write SetAsUniformBuffer;
Public | property AsVector: TGLVector read GetAsVector4f write SetAsVector4f;
Public | property AsVector1f: Single read GetAsVector1f write SetAsVector1f;
Public | property AsVector1i: Integer read GetAsVector1i write SetAsVector1i;
Public | property AsVector1ui: Cardinal read GetAsVector1ui write SetAsVector1ui;
Public | property AsVector2f: TVector2f read GetAsVector2f write SetAsVector2f;
Public | property AsVector2i: TVector2i read GetAsVector2i write SetAsVector2i;
Public | property AsVector2ui: TVector2ui read GetAsVector2ui write SetAsVector2ui;
Public | property AsVector3f: TVector3f read GetAsVector3f write SetAsVector3f;
Public | property AsVector3i: TVector3i read GetAsVector3i write SetAsVector3i;
Public | property AsVector3ui: TVector3ui read GetAsVector3ui write SetAsVector3ui;
Public | property AsVector4f: TVector4f read GetAsVector4f write SetAsVector4f;
Public | property AsVector4i: TVector4i read GetAsVector4i write SetAsVector4i;
Public | property AsVector4ui: TVector4ui read GetAsVector4ui write SetAsVector4ui;

Description

Methods

Protected function GetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget): Cardinal; virtual; abstract;
Protected function GetAsMatrix2f: TMatrix2f; virtual; abstract;
Protected function GetAsMatrix3f: TMatrix3f; virtual; abstract;
Protected function GetAsMatrix4f: TMatrix4f; virtual; abstract;
Protected function GetAsUniformBuffer: Cardinal; virtual; abstract;
Protected function GetAsVector1f: Single; virtual; abstract;
Protected function GetAsVector1i: Integer; virtual; abstract;
Protected function GetAsVector1ui: Cardinal; virtual; abstract;
Protected function GetAsVector2f: TVector2f; virtual; abstract;
Protected function GetAsVector2i: TVector2i; virtual; abstract;
Protected function GetAsVector2ui: TVector2ui; virtual; abstract;
Protected function GetAsVector3f: TVector3f; virtual; abstract;
Protected function GetAsVector3i: TVector3i; virtual; abstract;
Protected function GetAsVector3ui: TVector3ui; virtual; abstract;
Protected function GetAsVector4f: TGLVector; virtual; abstract;
Protected function GetAsVector4i: TVector4i; virtual; abstract;
Protected function GetAsVector4ui: TVector4ui; virtual; abstract;
Public procedure SetAsVectorF(const Values: array of Single); overload;

This overloaded SetAsVector accepts open array as input. e.g. SetAsVectorF([0.1, 0.2]). Array length must between 1-4.

Public procedure SetAsVectorI(const Values: array of Integer); overload;
Public procedure SetToTextureOf(const LibMaterial: TGLLibMaterial; const TextureIndex: Integer); overload;

SetToTextureOf determines texture type on-the-fly.

Public procedure SetToTextureOf(const Texture: TGLTexture; const TextureIndex: Integer); overload;
Protected procedure SetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget; const Value: Cardinal); virtual; abstract;
Protected procedure SetAsMatrix2f(const Value: TMatrix2f); virtual; abstract;
Protected procedure SetAsMatrix3f(const Value: TMatrix3f); virtual; abstract;
Protected procedure SetAsMatrix4f(const Value: TMatrix4f); virtual; abstract;
Protected procedure SetAsTexture(const TextureIndex: Integer; const Value: TGLTexture);
Protected procedure SetAsTexture1D(const TextureIndex: Integer; const Value: TGLTexture);
Protected procedure SetAsTexture2D(const TextureIndex: Integer; const Value: TGLTexture);
Protected procedure SetAsTexture3D(const TextureIndex: Integer; const Value: TGLTexture);
Protected procedure SetAsTextureCube(const TextureIndex: Integer; const Value: TGLTexture);
Protected procedure SetAsTextureRect(const TextureIndex: Integer; const Value: TGLTexture);
Protected procedure SetAsUniformBuffer(UBO: Cardinal); virtual; abstract;
Protected procedure SetAsVector1f(const Value: Single); virtual; abstract;
Protected procedure SetAsVector1i(const Value: Integer); virtual; abstract;
Protected procedure SetAsVector1ui(const Value: Cardinal); virtual; abstract;
Protected procedure SetAsVector2f(const Value: TVector2f); virtual; abstract;
Protected procedure SetAsVector2i(const Value: TVector2i); virtual; abstract;
Protected procedure SetAsVector2ui(const Value: TVector2ui); virtual; abstract;
Protected procedure SetAsVector3f(const Value: TVector3f); virtual; abstract;
Protected procedure SetAsVector3i(const Value: TVector3i); virtual; abstract;
Protected procedure SetAsVector3ui(const Value: TVector3ui); virtual; abstract;
Protected procedure SetAsVector4f(const Value: TVector4f); virtual; abstract;
Protected procedure SetAsVector4i(const Value: TVector4i); virtual; abstract;
Protected procedure SetAsVector4ui(const Value: TVector4ui); virtual; abstract;

Properties

Public property AsAffineVector: TAffineVector read GetAsVector3f write SetAsVector3f;
Public property AsCustomTexture[constTextureIndex:Integer;TextureTarget:TGLTextureTarget]: Cardinal read GetAsCustomTexture write SetAsCustomTexture;
Public property AsFloat: Single read GetAsVector1f write SetAsVector1f;

Standard types.

Public property AsInteger: Integer read GetAsVector1i write SetAsVector1i;
Public property AsMatrix2f: TMatrix2f read GetAsMatrix2f write SetAsMatrix2f;

Matrix Types.

Public property AsMatrix3f: TMatrix3f read GetAsMatrix3f write SetAsMatrix3f;
Public property AsMatrix4f: TMatrix4f read GetAsMatrix4f write SetAsMatrix4f;
Public property AsTexture [constTextureIndex:Integer]: TGLTexture write SetAsTexture;

Texture Types.

Public property AsTexture1D [constTextureIndex:Integer]: TGLTexture write SetAsTexture1D;
Public property AsTexture2D [constTextureIndex:Integer]: TGLTexture write SetAsTexture2D;
Public property AsTexture3D [constTextureIndex:Integer]: TGLTexture write SetAsTexture3D;
Public property AsTextureCube[constTextureIndex:Integer]: TGLTexture write SetAsTextureCube;
Public property AsTextureRect[constTextureIndex:Integer]: TGLTexture write SetAsTextureRect;
Public property AsUniformBuffer: Cardinal read GetAsUniformBuffer write SetAsUniformBuffer;
Public property AsVector: TGLVector read GetAsVector4f write SetAsVector4f;

GLScene-friendly properties.

Public property AsVector1f: Single read GetAsVector1f write SetAsVector1f;

Float vector types.

Public property AsVector1i: Integer read GetAsVector1i write SetAsVector1i;

Integer vector types.

Public property AsVector1ui: Cardinal read GetAsVector1ui write SetAsVector1ui;

Unsigned integer vector types.

Public property AsVector2f: TVector2f read GetAsVector2f write SetAsVector2f;
Public property AsVector2i: TVector2i read GetAsVector2i write SetAsVector2i;
Public property AsVector2ui: TVector2ui read GetAsVector2ui write SetAsVector2ui;
Public property AsVector3f: TVector3f read GetAsVector3f write SetAsVector3f;
Public property AsVector3i: TVector3i read GetAsVector3i write SetAsVector3i;
Public property AsVector3ui: TVector3ui read GetAsVector3ui write SetAsVector3ui;
Public property AsVector4f: TVector4f read GetAsVector4f write SetAsVector4f;
Public property AsVector4i: TVector4i read GetAsVector4i write SetAsVector4i;
Public property AsVector4ui: TVector4ui read GetAsVector4ui write SetAsVector4ui;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader

Unit GLSL.DiffuseSpecularShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Texture
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.Strings
  • GLSL.Shader
  • GLSL.CustomShader
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.Material

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLSLDiffuseSpecularShaderException |
Class TGLBaseCustomGLSLDiffuseSpecular |
Class TGLBaseGLSLDiffuseSpecularShaderMT |
Class TGLCustomGLSLDiffuseSpecularShader |
Class TGLCustomGLSLDiffuseSpecularShaderMT |
Record TLightRecord |
Class TGLCustomGLSLMLDiffuseSpecularShader |
Class TGLCustomGLSLMLDiffuseSpecularShaderMT |
Class TGLSLDiffuseSpecularShaderMT |
Class TGLSLDiffuseSpecularShader |
Class TGLSLMLDiffuseSpecularShaderMT |
Class TGLSLMLDiffuseSpecularShader |


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class EGLSLDiffuseSpecularShaderException

Class EGLSLDiffuseSpecularShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type EGLSLDiffuseSpecularShaderException = class(EGLSLShaderException)

Description

No description available, ancestor EGLSLShaderException description follows
No description available, ancestor EGLCustomShaderException description follows
No description available, ancestor EGLShaderException description follows

Hierarchy

  • TObject
  • Exception
  • EGLShaderException
  • EGLCustomShaderException
  • EGLSLShaderException
  • EGLSLDiffuseSpecularShaderException


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLBaseCustomGLSLDiffuseSpecular

Class TGLBaseCustomGLSLDiffuseSpecular

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLBaseCustomGLSLDiffuseSpecular = class(TGLCustomGLSLShader)

Description

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular

Overview

Fields

Private | FLightPower: Single;
Private | FRealisticSpecular: Boolean;
Private | FFogSupport: TGLShaderFogSupport;

Methods

Public | constructor Create(AOwner : TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure SetFogSupport(const Value: TGLShaderFogSupport);
Private | procedure SetRealisticSpecular(const Value: Boolean);

Properties

Public | property FogSupport: TGLShaderFogSupport read FFogSupport write SetFogSupport default sfsAuto;
Public | property LightPower: Single read FLightPower write FLightPower;
Public | property RealisticSpecular: Boolean read FRealisticSpecular write SetRealisticSpecular;

Description

Fields

Private FLightPower: Single;
Private FRealisticSpecular: Boolean;
Private FFogSupport: TGLShaderFogSupport;

Methods

Public constructor Create(AOwner : TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure SetFogSupport(const Value: TGLShaderFogSupport);
Private procedure SetRealisticSpecular(const Value: Boolean);

Properties

Public property FogSupport: TGLShaderFogSupport read FFogSupport write SetFogSupport default sfsAuto;

User can disable fog support and save some FPS if he doesn't need it.

Public property LightPower: Single read FLightPower write FLightPower;
Public property RealisticSpecular: Boolean read FRealisticSpecular write SetRealisticSpecular;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLBaseGLSLDiffuseSpecularShaderMT

Class TGLBaseGLSLDiffuseSpecularShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLBaseGLSLDiffuseSpecularShaderMT = class(TGLBaseCustomGLSLDiffuseSpecular, IGLMaterialLibrarySupported)

Description

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLBaseGLSLDiffuseSpecularShaderMT

Overview

Fields

Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FMainTexture: TGLTexture;
Private | FMainTextureName: TGLLibMaterialName;

Methods

Private | function GetMainTextureName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary); virtual;
Private | procedure SetMainTextureName(const Value: TGLLibMaterialName);

Properties

Public | property MainTexture: TGLTexture read FMainTexture write FMainTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTextureName write SetMainTextureName;
Public | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Description

Fields

Private FMaterialLibrary: TGLMaterialLibrary;
Private FMainTexture: TGLTexture;
Private FMainTextureName: TGLLibMaterialName;

Methods

Private function GetMainTextureName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

Implementing IGLMaterialLibrarySupported.

Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLMaterialLibrary); virtual;
Private procedure SetMainTextureName(const Value: TGLLibMaterialName);

Properties

Public property MainTexture: TGLTexture read FMainTexture write FMainTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTextureName write SetMainTextureName;
Public property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLCustomGLSLDiffuseSpecularShader

Class TGLCustomGLSLDiffuseSpecularShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLCustomGLSLDiffuseSpecularShader = class(TGLBaseCustomGLSLDiffuseSpecular)

Description

******** Single Light ************

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLCustomGLSLDiffuseSpecularShader

Overview

Methods

Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;

Description

Methods

Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLCustomGLSLDiffuseSpecularShaderMT

Class TGLCustomGLSLDiffuseSpecularShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLCustomGLSLDiffuseSpecularShaderMT = class(TGLBaseGLSLDiffuseSpecularShaderMT)

Description

No description available, ancestor TGLBaseGLSLDiffuseSpecularShaderMT description follows

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLBaseGLSLDiffuseSpecularShaderMT
  • TGLCustomGLSLDiffuseSpecularShaderMT

Overview

Methods

Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;

Description

Methods

Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Record TLightRecord

Record TLightRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TLightRecord = record

Description

Note: probably LightCount should be replaced by LightSources, like in GLSLBumpShader.pas

Overview

Fields

Public | Enabled: Boolean;
Public | Style: TGLLightStyle;

Description

Fields

Public Enabled: Boolean;
Public Style: TGLLightStyle;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLCustomGLSLMLDiffuseSpecularShader

Class TGLCustomGLSLMLDiffuseSpecularShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLCustomGLSLMLDiffuseSpecularShader = class(TGLBaseCustomGLSLDiffuseSpecular)

Description

No description available, ancestor TGLBaseCustomGLSLDiffuseSpecular description follows

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLCustomGLSLMLDiffuseSpecularShader

Overview

Fields

Private FLightTrace: array[0..7] of TLightRecord;

Methods

Public | constructor Create(AOwner : TComponent); override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;

Description

Fields

Private FLightTrace: array[0..7] of TLightRecord;

Methods

Public constructor Create(AOwner : TComponent); override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLCustomGLSLMLDiffuseSpecularShaderMT

Class TGLCustomGLSLMLDiffuseSpecularShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLCustomGLSLMLDiffuseSpecularShaderMT = class(TGLBaseGLSLDiffuseSpecularShaderMT)

Description

No description available, ancestor TGLBaseGLSLDiffuseSpecularShaderMT description follows

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLBaseGLSLDiffuseSpecularShaderMT
  • TGLCustomGLSLMLDiffuseSpecularShaderMT

Overview

Fields

Private FLightTrace: array[0..7] of TLightRecord;

Methods

Public | constructor Create(AOwner : TComponent); override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;

Description

Fields

Private FLightTrace: array[0..7] of TLightRecord;

Methods

Public constructor Create(AOwner : TComponent); override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLSLDiffuseSpecularShaderMT

Class TGLSLDiffuseSpecularShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLSLDiffuseSpecularShaderMT = class(TGLCustomGLSLDiffuseSpecularShaderMT)

Description

******** Published Stuff ************

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLBaseGLSLDiffuseSpecularShaderMT
  • TGLCustomGLSLDiffuseSpecularShaderMT
  • TGLSLDiffuseSpecularShaderMT

Overview

Properties

Published | property FogSupport;
Published | property LightPower;
Published | property MainTextureName;

Description

Properties

Published property FogSupport;
Published property LightPower;
Published property MainTextureName;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLSLDiffuseSpecularShader

Class TGLSLDiffuseSpecularShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLSLDiffuseSpecularShader = class(TGLCustomGLSLDiffuseSpecularShader)

Description

No description available, ancestor TGLCustomGLSLDiffuseSpecularShader description follows

******** Single Light ************

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLCustomGLSLDiffuseSpecularShader
  • TGLSLDiffuseSpecularShader

Overview

Properties

Published | property FogSupport;
Published | property LightPower;

Description

Properties

Published property FogSupport;
Published property LightPower;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLSLMLDiffuseSpecularShaderMT

Class TGLSLMLDiffuseSpecularShaderMT

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLSLMLDiffuseSpecularShaderMT = class(TGLCustomGLSLMLDiffuseSpecularShaderMT)

Description

No description available, ancestor TGLCustomGLSLMLDiffuseSpecularShaderMT description follows
No description available, ancestor TGLBaseGLSLDiffuseSpecularShaderMT description follows

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLBaseGLSLDiffuseSpecularShaderMT
  • TGLCustomGLSLMLDiffuseSpecularShaderMT
  • TGLSLMLDiffuseSpecularShaderMT

Overview

Properties

Published | property FogSupport;
Published | property LightPower;
Published | property MainTextureName;

Description

Properties

Published property FogSupport;
Published property LightPower;
Published property MainTextureName;


GLSysHelp v.2.1: GLSL.DiffuseSpecularShader: Class TGLSLMLDiffuseSpecularShader

Class TGLSLMLDiffuseSpecularShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.DiffuseSpecularShader

Declaration

type TGLSLMLDiffuseSpecularShader = class(TGLCustomGLSLMLDiffuseSpecularShader)

Description

No description available, ancestor TGLCustomGLSLMLDiffuseSpecularShader description follows
No description available, ancestor TGLBaseCustomGLSLDiffuseSpecular description follows

Abstract class.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLBaseCustomGLSLDiffuseSpecular
  • TGLCustomGLSLMLDiffuseSpecularShader
  • TGLSLMLDiffuseSpecularShader

Overview

Properties

Published | property FogSupport;
Published | property LightPower;

Description

Properties

Published property FogSupport;
Published property LightPower;


GLSysHelp v.2.1: GLSL.LineShaders

Unit GLSL.LineShaders

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • GLS.VectorTypes
  • GLS.Scene
  • GLS.Color
  • GLS.Material
  • GLS.BaseClasses
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.Context

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLLineSettings |
Class TGLHiddenLineShader |
Class TGLOutlineShader |


GLSysHelp v.2.1: GLSL.LineShaders: Class TGLLineSettings

Class TGLLineSettings

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.LineShaders

Declaration

type TGLLineSettings = class(TGLUpdateAbleObject)

Description

No description available, ancestor TGLUpdateAbleObject description follows

An abstract class describing the "update" interface.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLLineSettings

Overview

Fields

Private | FColor: TGLColor;
Private | FWidth: Single;
Private | FPattern: TGLushort;
Private | FForceMaterial: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | procedure Apply(var rci: TGLRenderContextInfo);
Public | procedure UnApply(var rci: TGLRenderContextInfo);
Private | procedure SetColor(const v: TGLColor);
Private | procedure SetForceMaterial(v: boolean);
Private | procedure SetPattern(const value: TGLushort);
Private | procedure SetWidth(const Value: Single);

Properties

Published | property Color: TGLColor read FColor write SetColor;
Published | property ForceMaterial: Boolean read FForceMaterial write SetForceMaterial default false;
Published | property Pattern: TGLushort read FPattern write SetPattern default $FFFF;
Published | property Width: Single read FWidth write SetWidth;

Description

Fields

Private FColor: TGLColor;
Private FWidth: Single;
Private FPattern: TGLushort;
Private FForceMaterial: Boolean;

Methods

Public constructor Create(AOwner: TPersistent); override;
Public destructor Destroy; override;
Public procedure Apply(var rci: TGLRenderContextInfo);
Public procedure UnApply(var rci: TGLRenderContextInfo);
Private procedure SetColor(const v: TGLColor);
Private procedure SetForceMaterial(v: boolean);
Private procedure SetPattern(const value: TGLushort);
Private procedure SetWidth(const Value: Single);

Properties

Published property Color: TGLColor read FColor write SetColor;
Published property ForceMaterial: Boolean read FForceMaterial write SetForceMaterial default false;

Set ForceMaterial to true to enforce the application of the line settings for objects that sets their own color, line width and pattern.

Published property Pattern: TGLushort read FPattern write SetPattern default $FFFF;
Published property Width: Single read FWidth write SetWidth;


GLSysHelp v.2.1: GLSL.LineShaders: Class TGLHiddenLineShader

Class TGLHiddenLineShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.LineShaders

Declaration

type TGLHiddenLineShader = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLHiddenLineShader

Overview

Fields

Private | FPassCount: integer;
Private | FLineSmooth: Boolean;
Private | FSolid: Boolean;
Private | FBackGroundColor: TGLColor;
Private | FFrontLine: TGLLineSettings;
Private | FBackLine: TGLLineSettings;
Private | FLighting: Boolean;
Private | FShadeModel: TGLShadeModel;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure SetBackgroundColor(AColor: TGLColor);
Private | procedure SetLighting(v: boolean);
Private | procedure SetlineSmooth(v: boolean);
Private | procedure SetShadeModel(const val: TGLShadeModel);
Private | procedure SetSolid(v: boolean);

Properties

Published | property BackgroundColor: TGLColor read FBackgroundColor write SetBackgroundColor;
Published | property BackLine: TGLLineSettings read FBackLine write FBackLine;
Published | property FrontLine: TGLLineSettings read FFrontLine write FFrontLine;
Published | property LineSmooth: Boolean read FlineSmooth write SetlineSmooth default false;
Published | property ShadeModel: TGLShadeModel read FShadeModel write SetShadeModel default smDefault;
Published | property Solid: Boolean read FSolid write SetSolid default false;
Published | property SurfaceLit: Boolean read FLighting write SetLighting default true;

Description

Fields

Private FPassCount: integer;
Private FLineSmooth: Boolean;
Private FSolid: Boolean;
Private FBackGroundColor: TGLColor;
Private FFrontLine: TGLLineSettings;
Private FBackLine: TGLLineSettings;
Private FLighting: Boolean;
Private FShadeModel: TGLShadeModel;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure SetBackgroundColor(AColor: TGLColor);
Private procedure SetLighting(v: boolean);
Private procedure SetlineSmooth(v: boolean);
Private procedure SetShadeModel(const val: TGLShadeModel);
Private procedure SetSolid(v: boolean);

Properties

Published property BackgroundColor: TGLColor read FBackgroundColor write SetBackgroundColor;

Color used for solid fill.

Published property BackLine: TGLLineSettings read FBackLine write FBackLine;
Published property FrontLine: TGLLineSettings read FFrontLine write FFrontLine;
Published property LineSmooth: Boolean read FlineSmooth write SetlineSmooth default false;

Line smoothing control

Published property ShadeModel: TGLShadeModel read FShadeModel write SetShadeModel default smDefault;

Shade model. Default is "Smooth".

Published property Solid: Boolean read FSolid write SetSolid default false;

Solid controls if you can see through the front-line wireframe.

Published property SurfaceLit: Boolean read FLighting write SetLighting default true;

When Solid is True, determines if lighting or background color is used.


GLSysHelp v.2.1: GLSL.LineShaders: Class TGLOutlineShader

Class TGLOutlineShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.LineShaders

Declaration

type TGLOutlineShader = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLOutlineShader

Overview

Fields

Private | FPassCount: integer;
Private | FLineColor: TGLColor;
Private | FOutlineSmooth: Boolean;
Private | FOutlineWidth: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure SetOutlineSmooth(v: boolean);
Private | procedure SetOutlineWidth(v: single);

Properties

Published | property LineColor: TGLColor read FLineColor write FLineColor;
Published | property LineSmooth: Boolean read FOutlineSmooth write SetOutlineSmooth default false;
Published | property LineWidth: Single read FOutlineWidth write SetOutlineWidth;

Description

Fields

Private FPassCount: integer;
Private FLineColor: TGLColor;
Private FOutlineSmooth: Boolean;
Private FOutlineWidth: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure SetOutlineSmooth(v: boolean);
Private procedure SetOutlineWidth(v: single);

Properties

Published property LineColor: TGLColor read FLineColor write FLineColor;
Published property LineSmooth: Boolean read FOutlineSmooth write SetOutlineSmooth default false;

Line smoothing control

Published property LineWidth: Single read FOutlineWidth write SetOutlineWidth;


GLSysHelp v.2.1: GLSL.MultiMaterialShader

Unit GLSL.MultiMaterialShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.Material
  • GLS.Context
  • GLS.RenderContextInfo
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLMultiMaterialShader |


GLSysHelp v.2.1: GLSL.MultiMaterialShader: Class TGLMultiMaterialShader

Class TGLMultiMaterialShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.MultiMaterialShader

Declaration

type TGLMultiMaterialShader = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLMultiMaterialShader

Overview

Fields

Private | FPass: Integer;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FVisibleAtDesignTime: boolean;
Private | FShaderActiveAtDesignTime: boolean;
Private | FShaderStyle: TGLShaderStyle;

Methods

Public | constructor Create(aOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): boolean; override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Private | procedure SetShaderStyle(const Value: TGLShaderStyle);
Private | procedure SetVisibleAtDesignTime(const Value: boolean);

Properties

Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property ShaderStyle: TGLShaderStyle read FShaderStyle write SetShaderStyle;
Published | property VisibleAtDesignTime: boolean read FVisibleAtDesignTime write SetVisibleAtDesignTime;

Description

Fields

Private FPass: Integer;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FVisibleAtDesignTime: boolean;
Private FShaderActiveAtDesignTime: boolean;
Private FShaderStyle: TGLShaderStyle;

Methods

Public constructor Create(aOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): boolean; override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure SetMaterialLibrary(const val: TGLMaterialLibrary);
Private procedure SetShaderStyle(const Value: TGLShaderStyle);
Private procedure SetVisibleAtDesignTime(const Value: boolean);

Properties

Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property ShaderStyle: TGLShaderStyle read FShaderStyle write SetShaderStyle;
Published property VisibleAtDesignTime: boolean read FVisibleAtDesignTime write SetVisibleAtDesignTime;


GLSysHelp v.2.1: GLSL.PhongShader

Unit GLSL.PhongShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.Texture
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.OpenGLTokens
  • GLS.Context
  • GLSL.AsmShader
  • GLS.RenderContextInfo
  • GLSL.CustomShader
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPhongShader |


GLSysHelp v.2.1: GLSL.PhongShader: Class TGLPhongShader

Class TGLPhongShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PhongShader

Declaration

type TGLPhongShader = class(TGLCustomAsmShader)

Description

No description available, ancestor TGLCustomAsmShader description follows
No description available, ancestor TGLCustomShader description follows

A pure abstract class, must be overriden.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomAsmShader
  • TGLPhongShader

Overview

Fields

Private | FLightIDs: TIntegerList;
Private | FDesignTimeEnabled: Boolean;
Private | FAmbientPass: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function ShaderSupported: Boolean; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoAmbientPass(var rci: TGLRenderContextInfo); virtual;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoLightPass(lightID: Cardinal); virtual;
Protected | procedure UnApplyLights(var rci: TGLRenderContextInfo); virtual;
Private | procedure SetDesignTimeEnabled(const Value: Boolean);

Properties

Published property DesignTimeEnabled: Boolean read FDesignTimeEnabled write SetDesignTimeEnabled default False;

Description

Fields

Private FLightIDs: TIntegerList;
Private FDesignTimeEnabled: Boolean;
Private FAmbientPass: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function ShaderSupported: Boolean; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoAmbientPass(var rci: TGLRenderContextInfo); virtual;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoLightPass(lightID: Cardinal); virtual;
Protected procedure UnApplyLights(var rci: TGLRenderContextInfo); virtual;
Private procedure SetDesignTimeEnabled(const Value: Boolean);

Properties

Published property DesignTimeEnabled: Boolean read FDesignTimeEnabled write SetDesignTimeEnabled default False;


GLSysHelp v.2.1: GLSL.PostEffects

Unit GLSL.PostEffects

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.State
  • GLS.Context
  • GLS.PersistentClasses
  • GLS.Texture
  • GLS.Graphics
  • GLS.Strings
  • GLSL.CustomShader
  • GLS.VectorGeometry
  • GLS.RenderContextInfo
  • GLS.Material
  • GLS.TextureFormat

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLPostShaderHolderException |
Class TGLPostShaderCollectionItem |
Class TGLPostShaderCollection |
Class TGLPostShaderHolder |
Record TGLPostEffectColor |
Class TGLPostEffect |

Types

TGLOnCustomPostEffectEvent = procedure(Sender: TObject; var rci: TGLRenderContextInfo; var Buffer: TGLPostEffectBuffer) of object;
TGLPostEffectBuffer = array of TGLPostEffectColor;
TGLPostEffectPreset = (...);

Description

Types

TGLOnCustomPostEffectEvent = procedure(Sender: TObject; var rci: TGLRenderContextInfo; var Buffer: TGLPostEffectBuffer) of object;
TGLPostEffectBuffer = array of TGLPostEffectColor;
TGLPostEffectPreset = (...);

Some presets for TGLPostEffect: pepNone - does nothing. pepGray - makes picture gray. pepNegative - inverts all colors. pepDistort - simulates shaky TV image. pepNoise - just adds random niose. pepNightVision - simulates nightvision goggles. pepBlur - blurs the scene. pepCustom - calls the OnCustomEffect event.

Values
  • pepNone
  • pepGray
  • pepNegative
  • pepDistort
  • pepNoise
  • pepNightVision
  • pepBlur
  • pepCustom


GLSysHelp v.2.1: GLSL.PostEffects: Class EGLPostShaderHolderException

Class EGLPostShaderHolderException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostEffects

Declaration

type EGLPostShaderHolderException = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EGLPostShaderHolderException


GLSysHelp v.2.1: GLSL.PostEffects: Class TGLPostShaderCollectionItem

Class TGLPostShaderCollectionItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostEffects

Declaration

type TGLPostShaderCollectionItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLPostShaderCollectionItem

Overview

Fields

Private | FShader: TGLShader;
Private | FPostShaderInterface: IGLPostShader;

Methods

Protected | function GetDisplayName: string; override;
Protected | function GetRealOwner: TGLPostShaderHolder;
Public | procedure Assign(Source: TPersistent); override;
Private | procedure SetShader(const Value: TGLShader);

Properties

Published property Shader: TGLShader read FShader write SetShader;

Description

Fields

Private FShader: TGLShader;
Private FPostShaderInterface: IGLPostShader;

Methods

Protected function GetDisplayName: string; override;
Protected function GetRealOwner: TGLPostShaderHolder;
Public procedure Assign(Source: TPersistent); override;
Private procedure SetShader(const Value: TGLShader);

Properties

Published property Shader: TGLShader read FShader write SetShader;


GLSysHelp v.2.1: GLSL.PostEffects: Class TGLPostShaderCollection

Class TGLPostShaderCollection

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostEffects

Declaration

type TGLPostShaderCollection = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLPostShaderCollection

Overview

Methods

Public | function Add: TGLPostShaderCollectionItem;
Private | function GetItems(const Index: Integer): TGLPostShaderCollectionItem;
Public | procedure Remove(const Item: TGLShader);
Private | procedure SetItems(const Index: Integer; const Value: TGLPostShaderCollectionItem);

Properties

Public property Items[constIndex:Integer]: TGLPostShaderCollectionItem read GetItems write SetItems;

Description

Methods

Public function Add: TGLPostShaderCollectionItem;
Private function GetItems(const Index: Integer): TGLPostShaderCollectionItem;
Public procedure Remove(const Item: TGLShader);
Private procedure SetItems(const Index: Integer; const Value: TGLPostShaderCollectionItem);

Properties

Public property Items[constIndex:Integer]: TGLPostShaderCollectionItem read GetItems write SetItems;


GLSysHelp v.2.1: GLSL.PostEffects: Class TGLPostShaderHolder

Class TGLPostShaderHolder

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostEffects

Declaration

type TGLPostShaderHolder = class(TGLBaseSCeneObject)

Description

A class that allows several post-shaders to be applied to the scene, one after another. It does not provide any optimizations related to multi-shader rendering, just a convenient interface.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLPostShaderHolder

Overview

Fields

Private | FShaders: TGLPostShaderCollection;
Private | FTempTexture: TGLTextureHandle;
Private | FPreviousViewportSize: TGLSize;
Private | FTempTextureTarget: TGLTextureTarget;

Methods

Public | constructor Create(Owner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetShaders(const Value: TGLPostShaderCollection);

Properties

Published | property OnProgress;
Published | property Shaders: TGLPostShaderCollection read FShaders write SetShaders;
Published | property TempTextureTarget: TGLTextureTarget read FTempTextureTarget write FTempTextureTarget default ttTexture2d;
Published | property Visible;

Description

Fields

Private FShaders: TGLPostShaderCollection;
Private FTempTexture: TGLTextureHandle;
Private FPreviousViewportSize: TGLSize;
Private FTempTextureTarget: TGLTextureTarget;

Methods

Public constructor Create(Owner: TComponent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetShaders(const Value: TGLPostShaderCollection);

Properties

Published property OnProgress;
Published property Shaders: TGLPostShaderCollection read FShaders write SetShaders;
Published property TempTextureTarget: TGLTextureTarget read FTempTextureTarget write FTempTextureTarget default ttTexture2d;
Published property Visible;

Publish some stuff from TGLBaseSceneObject.


GLSysHelp v.2.1: GLSL.PostEffects: Record TGLPostEffectColor

Record TGLPostEffectColor

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostEffects

Declaration

type TGLPostEffectColor = record

Description

Overview

Fields

Public | R: Byte;
Public | G: Byte;
Public | B: Byte;
Public | A: Byte;

Description

Fields

Public R: Byte;
Public G: Byte;
Public B: Byte;
Public A: Byte;


GLSysHelp v.2.1: GLSL.PostEffects: Class TGLPostEffect

Class TGLPostEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostEffects

Declaration

type TGLPostEffect = class(TGLBaseSCeneObject)

Description

Provides a simple way to producing post-effects without shaders. It is slow as hell, but it's worth it in some cases.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLPostEffect

Overview

Fields

Private | FOnCustomEffect: TGLOnCustomPostEffectEvent;
Private | FPreset: TGLPostEffectPreset;
Private | FRenderBuffer: TGLPostEffectBuffer;

Methods

Public | procedure Assign(Source: TPersistent); override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected | procedure DoOnCustomEffect(var rci: TGLRenderContextInfo; var Buffer: TGLPostEffectBuffer); virtual;
Protected | procedure MakeBlurEffect(var rci: TGLRenderContextInfo); virtual;
Protected | procedure MakeDistortEffect; virtual;
Protected | procedure MakeGrayEffect; virtual;
Protected | procedure MakeNegativeEffect; virtual;
Protected | procedure MakeNightVisionEffect; virtual;
Protected | procedure MakeNoiseEffect; virtual;

Properties

Published | property OnCustomEffect: TGLOnCustomPostEffectEvent read FOnCustomEffect write FOnCustomEffect;
Published | property OnProgress;
Published | property Preset: TGLPostEffectPreset read FPreset write FPreset default pepNone;
Published | property Visible;

Description

Fields

Private FOnCustomEffect: TGLOnCustomPostEffectEvent;
Private FPreset: TGLPostEffectPreset;
Private FRenderBuffer: TGLPostEffectBuffer;

Methods

Public procedure Assign(Source: TPersistent); override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Protected procedure DoOnCustomEffect(var rci: TGLRenderContextInfo; var Buffer: TGLPostEffectBuffer); virtual;
Protected procedure MakeBlurEffect(var rci: TGLRenderContextInfo); virtual;
Protected procedure MakeDistortEffect; virtual;
Protected procedure MakeGrayEffect; virtual;

May be should be private...

Protected procedure MakeNegativeEffect; virtual;
Protected procedure MakeNightVisionEffect; virtual;
Protected procedure MakeNoiseEffect; virtual;

Properties

Published property OnCustomEffect: TGLOnCustomPostEffectEvent read FOnCustomEffect write FOnCustomEffect;

User creates this effect.

Published property OnProgress;
Published property Preset: TGLPostEffectPreset read FPreset write FPreset default pepNone;
Published property Visible;

Publish some stuff from TGLBaseSCeneObject.


GLSysHelp v.2.1: GLSL.PostShaders

Unit GLSL.PostShaders

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.OpenGLTokens
  • GLS.Texture
  • GLS.Scene
  • GLS.State
  • GLS.VectorGeometry
  • GLS.RenderContextInfo
  • GLS.TextureFormat
  • GLS.Context
  • GLS.Material
  • GLSL.Shader
  • GLSL.CustomShader
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCustomGLSLPostBlurShader |
Class TGLSLPostBlurShader |
Class TGLCustomGLSLPostThermalVisionShader |
Class TGLSLPostThermalVisionShader |
Class TGLCustomGLSLPostDreamVisionShader |
Class TGLSLPostDreamVisionShader |
Class TGLCustomGLSLPostNightVisionShader |
Class TGLSLPostNightVisionShader |
Class TGLCustomGLSLPostPixelateShader |
Class TGLSLPostPixelateShader |
Class TGLCustomGLSLPostPosterizeShader |
Class TGLSLPostPosterizeShader |
Class TGLCustomGLSLPostFrostShader |
Class TGLSLPostFrostShader |
Class TGLCustomGLSLPostTroubleShader |
Class TGLSLPostTroubleShader |


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostBlurShader

Class TGLCustomGLSLPostBlurShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostBlurShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostBlurShader. A shader that blurs the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostBlurShader

Overview

Fields

Private FThreshold: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreThreshold: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle; TextureTarget: TGLTextureTarget);

Properties

Public property Threshold: Single read FThreshold write FThreshold stored StoreThreshold;

Description

Fields

Private FThreshold: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreThreshold: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle; TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Properties

Public property Threshold: Single read FThreshold write FThreshold stored StoreThreshold;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostBlurShader

Class TGLSLPostBlurShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostBlurShader = class(TGLCustomGLSLPostBlurShader)

Description

No description available, ancestor TGLCustomGLSLPostBlurShader description follows

Custom class for GLSLPostBlurShader. A shader that blurs the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostBlurShader
  • TGLSLPostBlurShader

Overview

Properties

Published property Threshold;

Description

Properties

Published property Threshold;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostThermalVisionShader

Class TGLCustomGLSLPostThermalVisionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostThermalVisionShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

A shader that simulate a Thermal Vision of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostThermalVisionShader

Overview

Fields

Private | FThreshold: Single;
Private | Fintensity: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreIntensity: Boolean;
Private | function StoreThreshold: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Properties

Public | property Intensity: Single read FIntensity write FIntensity stored StoreIntensity;
Public | property Threshold: Single read FThreshold write FThreshold stored StoreThreshold;

Description

Fields

Private FThreshold: Single;
Private Fintensity: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreIntensity: Boolean;
Private function StoreThreshold: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Properties

Public property Intensity: Single read FIntensity write FIntensity stored StoreIntensity;
Public property Threshold: Single read FThreshold write FThreshold stored StoreThreshold;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostThermalVisionShader

Class TGLSLPostThermalVisionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostThermalVisionShader = class(TGLCustomGLSLPostThermalVisionShader)

Description

No description available, ancestor TGLCustomGLSLPostThermalVisionShader description follows

A shader that simulate a Thermal Vision of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostThermalVisionShader
  • TGLSLPostThermalVisionShader

Overview

Properties

Published | property Intensity;
Published | property Threshold;

Description

Properties

Published property Intensity;
Published property Threshold;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostDreamVisionShader

Class TGLCustomGLSLPostDreamVisionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostDreamVisionShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostDreamVisionShader. A shader that simulate a grayscale threshold vision (aka dream) of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostDreamVisionShader

Overview

Fields

Private FThreshold: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreThreshold: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Properties

Public property Threshold: Single read FThreshold write FThreshold stored StoreThreshold;

Description

Fields

Private FThreshold: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreThreshold: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

In percent 0..100; Implementing IGLPostShader.

Properties

Public property Threshold: Single read FThreshold write FThreshold stored StoreThreshold;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostDreamVisionShader

Class TGLSLPostDreamVisionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostDreamVisionShader = class(TGLCustomGLSLPostDreamVisionShader)

Description

No description available, ancestor TGLCustomGLSLPostDreamVisionShader description follows

Custom class for GLSLPostDreamVisionShader. A shader that simulate a grayscale threshold vision (aka dream) of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostDreamVisionShader
  • TGLSLPostDreamVisionShader

Overview

Properties

Published property Threshold;

Description

Properties

Published property Threshold;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostNightVisionShader

Class TGLCustomGLSLPostNightVisionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostNightVisionShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostNightVisionShader. A shader that simulate a Night Vision of the scene throw a mask if enabled, or of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostNightVisionShader

Overview

Fields

Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FLuminanceThreshold: Single;
Private | FColorAmplification:Single;
Private | FElapsedTime: Single;
Private | FUseMask: Integer;
Private | FNoiseTex: TGLTexture;
Private | FMaskTex: TGLTexture;
Private | FNoiseTexName: TGLLibMaterialName;
Private | FMaskTexName: TGLLibMaterialName;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMaskTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetNoiseTexName: TGLLibMaterialName;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreColorAmplification: Boolean;
Private | function StoreLuminanceThreshold: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);
Private | procedure SetMaskTexName(const Value: TGLLibMaterialName);
Private | procedure SetMaskTexTexture(const Value: TGLTexture);
Private | procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private | procedure SetNoiseTexTexture(const Value: TGLTexture);

Properties

Public | property ColorAmplification: Single read FColorAmplification write FColorAmplification stored StoreColorAmplification;
Public | property ElapsedTime: Single read FElapsedTime write FElapsedTime stored false;
Public | property LuminanceThreshold: Single read FLuminanceThreshold write FLuminanceThreshold stored StoreLuminanceThreshold;
Public | property MaskTex: TGLTexture read FMaskTex write SetMaskTexTexture;
Public | property MaskTexName: TGLLibMaterialName read GetMaskTexName write SetMaskTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property NoiseTex: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public | property NoiseTexName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public | property UseMask : Integer read FUseMask write FUseMask;

Description

Fields

Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FLuminanceThreshold: Single;
Private FColorAmplification:Single;
Private FElapsedTime: Single;
Private FUseMask: Integer;
Private FNoiseTex: TGLTexture;
Private FMaskTex: TGLTexture;
Private FNoiseTexName: TGLLibMaterialName;
Private FMaskTexName: TGLLibMaterialName;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMaskTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private function GetNoiseTexName: TGLLibMaterialName;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreColorAmplification: Boolean;
Private function StoreLuminanceThreshold: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Private procedure SetMaskTexName(const Value: TGLLibMaterialName);
Private procedure SetMaskTexTexture(const Value: TGLTexture);
Private procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private procedure SetNoiseTexTexture(const Value: TGLTexture);

Properties

Public property ColorAmplification: Single read FColorAmplification write FColorAmplification stored StoreColorAmplification;
Public property ElapsedTime: Single read FElapsedTime write FElapsedTime stored false;
Public property LuminanceThreshold: Single read FLuminanceThreshold write FLuminanceThreshold stored StoreLuminanceThreshold;
Public property MaskTex: TGLTexture read FMaskTex write SetMaskTexTexture;
Public property MaskTexName: TGLLibMaterialName read GetMaskTexName write SetMaskTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public property NoiseTex: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public property NoiseTexName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public property UseMask : Integer read FUseMask write FUseMask;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostNightVisionShader

Class TGLSLPostNightVisionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostNightVisionShader = class(TGLCustomGLSLPostNightVisionShader)

Description

No description available, ancestor TGLCustomGLSLPostNightVisionShader description follows

Custom class for GLSLPostNightVisionShader. A shader that simulate a Night Vision of the scene throw a mask if enabled, or of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostNightVisionShader
  • TGLSLPostNightVisionShader

Overview

Properties

Published | property ColorAmplification;
Published | property ElapsedTime;
Published | property LuminanceThreshold;
Published | property MaskTexName;
Published | property MaterialLibrary;
Published | property NoiseTexName;
Published | property UseMask;

Description

Properties

Published property ColorAmplification;
Published property ElapsedTime;
Published property LuminanceThreshold;
Published property MaskTexName;
Published property MaterialLibrary;
Published property NoiseTexName;
Published property UseMask;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostPixelateShader

Class TGLCustomGLSLPostPixelateShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostPixelateShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostPixelateShader. A shader that pixelate of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostPixelateShader

Overview

Fields

Private | FPixelWidth: Single;
Private | FPixelHeight: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StorePixelHeight: Boolean;
Private | function StorePixelWidth: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Properties

Public | property PixelHeight: Single read FPixelHeight write FPixelHeight stored StorePixelHeight;
Public | property PixelWidth: Single read FPixelWidth write FPixelWidth stored StorePixelWidth;

Description

Fields

Private FPixelWidth: Single;
Private FPixelHeight: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetTextureTarget: TGLTextureTarget;
Private function StorePixelHeight: Boolean;
Private function StorePixelWidth: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Properties

Public property PixelHeight: Single read FPixelHeight write FPixelHeight stored StorePixelHeight;
Public property PixelWidth: Single read FPixelWidth write FPixelWidth stored StorePixelWidth;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostPixelateShader

Class TGLSLPostPixelateShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostPixelateShader = class(TGLCustomGLSLPostPixelateShader)

Description

No description available, ancestor TGLCustomGLSLPostPixelateShader description follows

Custom class for GLSLPostPixelateShader. A shader that pixelate of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostPixelateShader
  • TGLSLPostPixelateShader

Overview

Properties

Published | property PixelHeight;
Published | property PixelWidth;

Description

Properties

Published property PixelHeight;
Published property PixelWidth;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostPosterizeShader

Class TGLCustomGLSLPostPosterizeShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostPosterizeShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostPosterizeShader. A shader that posterize of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostPosterizeShader

Overview

Fields

Private | FGamma: Single;
Private | FNumColors: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreGamma: Boolean;
Private | function StoreNumColors: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Properties

Public | property Gamma: Single read FGamma write FGamma stored StoreGamma;
Public | property NumColors: Single read FNumColors write FNumColors stored StoreNumColors;

Description

Fields

Private FGamma: Single;
Private FNumColors: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreGamma: Boolean;
Private function StoreNumColors: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Properties

Public property Gamma: Single read FGamma write FGamma stored StoreGamma;
Public property NumColors: Single read FNumColors write FNumColors stored StoreNumColors;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostPosterizeShader

Class TGLSLPostPosterizeShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostPosterizeShader = class(TGLCustomGLSLPostPosterizeShader)

Description

No description available, ancestor TGLCustomGLSLPostPosterizeShader description follows

Custom class for GLSLPostPosterizeShader. A shader that posterize of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostPosterizeShader
  • TGLSLPostPosterizeShader

Overview

Properties

Published | property Gamma;
Published | property NumColors;

Description

Properties

Published property Gamma;
Published property NumColors;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostFrostShader

Class TGLCustomGLSLPostFrostShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostFrostShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostFrostShader. A shader that frost of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostFrostShader

Overview

Fields

Private | FRandScale: Single;
Private | FRandFactor: Single;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreRandFactor: Boolean;
Private | function StoreRandScale: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Properties

Public | property RandFactor: Single read FRandFactor write FRandFactor stored StoreRandFactor;
Public | property RandScale: Single read FRandScale write FRandScale stored StoreRandScale;

Description

Fields

Private FRandScale: Single;
Private FRandFactor: Single;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreRandFactor: Boolean;
Private function StoreRandScale: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Properties

Public property RandFactor: Single read FRandFactor write FRandFactor stored StoreRandFactor;
Public property RandScale: Single read FRandScale write FRandScale stored StoreRandScale;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostFrostShader

Class TGLSLPostFrostShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostFrostShader = class(TGLCustomGLSLPostFrostShader)

Description

No description available, ancestor TGLCustomGLSLPostFrostShader description follows

Custom class for GLSLPostFrostShader. A shader that frost of the entire scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostFrostShader
  • TGLSLPostFrostShader

Overview

Properties

Published | property RandFactor;
Published | property RandScale;

Description

Properties

Published property RandFactor;
Published property RandScale;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLCustomGLSLPostTroubleShader

Class TGLCustomGLSLPostTroubleShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLCustomGLSLPostTroubleShader = class(TGLCustomGLSLShader, IGLPostShader)

Description

Custom class for GLSLPostTroubleShader. A shader that trouble of the entire scene. v2 This Shader is experimental it can do smooth the scene or double the scene and it's depends of PixelX, PixelY and Freq values if they are less than 1 or greater the effects will be very different

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostTroubleShader

Overview

Fields

Private | FPixelX: Single;
Private | FPixelY: Single;
Private | FFreq: Single;
Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FNoiseTex: TGLTexture;
Private | FNoiseTexName: TGLLibMaterialName;

Methods

Public | constructor Create(AOwner: TComponent); override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetNoiseTexName: TGLLibMaterialName;
Private | function GetTextureTarget: TGLTextureTarget;
Private | function StoreFreq: Boolean;
Private | function StorePixelX: Boolean;
Private | function StorePixelY: Boolean;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);
Private | procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private | procedure SetNoiseTexTexture(const Value: TGLTexture);

Properties

Public | property Freq: Single read FFreq write FFreq stored StoreFreq;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property NoiseTex: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public | property NoiseTexName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public | property PixelX: Single read FPixelX write FPixelX stored StorePixelX;
Public | property PixelY: Single read FPixelY write FPixelY stored StorePixelY;

Description

Fields

Private FPixelX: Single;
Private FPixelY: Single;
Private FFreq: Single;
Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FNoiseTex: TGLTexture;
Private FNoiseTexName: TGLLibMaterialName;

Methods

Public constructor Create(AOwner: TComponent); override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private function GetNoiseTexName: TGLLibMaterialName;
Private function GetTextureTarget: TGLTextureTarget;
Private function StoreFreq: Boolean;
Private function StorePixelX: Boolean;
Private function StorePixelY: Boolean;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure DoUseTempTexture(const TempTexture: TGLTextureHandle;TextureTarget: TGLTextureTarget);

Implementing IGLPostShader.

Private procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private procedure SetNoiseTexTexture(const Value: TGLTexture);

Properties

Public property Freq: Single read FFreq write FFreq stored StoreFreq;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public property NoiseTex: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public property NoiseTexName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public property PixelX: Single read FPixelX write FPixelX stored StorePixelX;
Public property PixelY: Single read FPixelY write FPixelY stored StorePixelY;


GLSysHelp v.2.1: GLSL.PostShaders: Class TGLSLPostTroubleShader

Class TGLSLPostTroubleShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.PostShaders

Declaration

type TGLSLPostTroubleShader = class(TGLCustomGLSLPostTroubleShader)

Description

No description available, ancestor TGLCustomGLSLPostTroubleShader description follows

Custom class for GLSLPostTroubleShader. A shader that trouble of the entire scene. v2 This Shader is experimental it can do smooth the scene or double the scene and it's depends of PixelX, PixelY and Freq values if they are less than 1 or greater the effects will be very different

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLPostTroubleShader
  • TGLSLPostTroubleShader

Overview

Properties

Published | property Freq;
Published | property MaterialLibrary;
Published | property NoiseTexName;
Published | property PixelX;
Published | property PixelY;

Description

Properties

Published property Freq;
Published property MaterialLibrary;
Published property NoiseTexName;
Published property PixelX;
Published property PixelY;


GLSysHelp v.2.1: GLSL.ProjectedTextures

Unit GLSL.ProjectedTextures

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.PipelineTransformation
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.Texture
  • GLS.VectorGeometry
  • GLS.Context
  • GLS.Color
  • GLS.RenderContextInfo
  • GLS.TextureFormat
  • GLS.VectorTypes

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSLTextureEmitter |
Class TGLSLTextureEmitterItem |
Class TGLSLTextureEmitters |
Class TGLSLProjectedTextures |

Types

TGLSLProjectedTexturesStyle = (...);

Description

Types

TGLSLProjectedTexturesStyle = (...);
Values
  • ptsLight
  • ptsShadow


GLSysHelp v.2.1: GLSL.ProjectedTextures: Class TGLSLTextureEmitter

Class TGLSLTextureEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ProjectedTextures

Declaration

type TGLSLTextureEmitter = class(TGLBaseSceneObject)

Description

A projected texture emmiter. Can be places anywhere in the scene. Used to generate a modelview and texture matrix for the shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLSLTextureEmitter

Overview

Fields

Private | FFOV: single;
Private | FAspect: single;
Private | FBrightness: single;
Private | FAttenuation: single;
Private | FStyle: TGLSLProjectedTexturesStyle;
Private | FColor: TGLColor;
Private | FUseAttenuation: boolean;
Private | FAllowReverseProjection: boolean;
Private | FUseQuadraticAttenuation: boolean;
Protected | ProjectedTexturesObject: TGLSLProjectedTextures;
Protected | TexMatrix: TGLMatrix;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: boolean); override;
Protected | procedure SetAllowReverseProjection(val: boolean);
Protected | procedure SetStyle(val: TGLSLProjectedTexturesStyle);
Protected | procedure SetupTexMatrix;
Protected | procedure SetUseAttenuation(val: boolean);
Protected | procedure SetUseQuadraticAttenuation(val: boolean);

Properties

Published | property AllowReverseProjection: boolean read FAllowReverseProjection write SetAllowReverseProjection;
Published | property Aspect: single read FAspect write FAspect;
Published | property Attenuation: single read FAttenuation write FAttenuation;
Published | property Behaviours;
Published | property Brightness: single read FBrightness write FBrightness;
Published | property Color: TGLColor read FColor write FColor;
Published | property Direction;
Published | property Effects;
Published | property FOV: single read FFOV write FFOV;
Published | property ObjectsSorting;
Published | property OnProgress;
Published | property PitchAngle;
Published | property Position;
Published | property RollAngle;
Published | property Scale;
Published | property ShowAxes;
Published | property Style: TGLSLProjectedTexturesStyle read FStyle write SetStyle;
Published | property TurnAngle;
Published | property Up;
Published | property UseAttenuation: boolean read FUseAttenuation write SetUseAttenuation;
Published | property UseQuadraticAttenuation: Boolean read FUseQuadraticAttenuation write SetUseQuadraticAttenuation;
Published | property VisibilityCulling;
Published | property Visible;

Description

Fields

Private FFOV: single;
Private FAspect: single;
Private FBrightness: single;
Private FAttenuation: single;
Private FStyle: TGLSLProjectedTexturesStyle;
Private FColor: TGLColor;
Private FUseAttenuation: boolean;
Private FAllowReverseProjection: boolean;
Private FUseQuadraticAttenuation: boolean;
Protected ProjectedTexturesObject: TGLSLProjectedTextures;
Protected TexMatrix: TGLMatrix;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: boolean); override;
Protected procedure SetAllowReverseProjection(val: boolean);
Protected procedure SetStyle(val: TGLSLProjectedTexturesStyle);
Protected procedure SetupTexMatrix;
Protected procedure SetUseAttenuation(val: boolean);
Protected procedure SetUseQuadraticAttenuation(val: boolean);

Properties

Published property AllowReverseProjection: boolean read FAllowReverseProjection write SetAllowReverseProjection;
Published property Aspect: single read FAspect write FAspect;

x/y ratio. For no distortion, this should be set to texture.width/texture.height.

Published property Attenuation: single read FAttenuation write FAttenuation;

Fall off/ attenuation of the projected texture

Published property Behaviours;
Published property Brightness: single read FBrightness write FBrightness;
Published property Color: TGLColor read FColor write FColor;
Published property Direction;
Published property Effects;
Published property FOV: single read FFOV write FFOV;

Indicates the field-of-view of the projection frustum.

Published property ObjectsSorting;
Published property OnProgress;
Published property PitchAngle;
Published property Position;
Published property RollAngle;
Published property Scale;
Published property ShowAxes;
Published property Style: TGLSLProjectedTexturesStyle read FStyle write SetStyle;

Indicates the style of the projected textures.

Published property TurnAngle;
Published property Up;
Published property UseAttenuation: boolean read FUseAttenuation write SetUseAttenuation;
Published property UseQuadraticAttenuation: Boolean read FUseQuadraticAttenuation write SetUseQuadraticAttenuation;
Published property VisibilityCulling;
Published property Visible;


GLSysHelp v.2.1: GLSL.ProjectedTextures: Class TGLSLTextureEmitterItem

Class TGLSLTextureEmitterItem

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ProjectedTextures

Declaration

type TGLSLTextureEmitterItem = class(TCollectionItem)

Description

Specifies an item on the TGLSLTextureEmitters collection.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLSLTextureEmitterItem

Overview

Fields

Private FEmitter: TGLSLTextureEmitter;

Methods

Public | constructor Create(Collection: TCollection); override;
Protected | function GetDisplayName: string; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure RemoveNotification(aComponent: TComponent);
Protected | procedure SetEmitter(const val: TGLSLTextureEmitter);

Properties

Published property Emitter: TGLSLTextureEmitter read FEmitter write SetEmitter;

Description

Fields

Private FEmitter: TGLSLTextureEmitter;

Methods

Public constructor Create(Collection: TCollection); override;
Protected function GetDisplayName: string; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure RemoveNotification(aComponent: TComponent);
Protected procedure SetEmitter(const val: TGLSLTextureEmitter);

Properties

Published property Emitter: TGLSLTextureEmitter read FEmitter write SetEmitter;


GLSysHelp v.2.1: GLSL.ProjectedTextures: Class TGLSLTextureEmitters

Class TGLSLTextureEmitters

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ProjectedTextures

Declaration

type TGLSLTextureEmitters = class(TCollection)

Description

Collection of TGLSLTextureEmitter.

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TGLSLTextureEmitters

Overview

Fields

Private FOwner: TGLSLProjectedTextures;

Methods

Protected | function GetItems(index: Integer): TGLSLTextureEmitterItem;
Protected | function GetOwner: TPersistent; override;
Public | procedure AddEmitter(texEmitter: TGLSLTextureEmitter);
Protected | procedure RemoveNotification(aComponent: TComponent);

Properties

Public property Items[index:Integer]: TGLSLTextureEmitterItem read GetItems;

Description

Fields

Private FOwner: TGLSLProjectedTextures;

Methods

Protected function GetItems(index: Integer): TGLSLTextureEmitterItem;
Protected function GetOwner: TPersistent; override;
Public procedure AddEmitter(texEmitter: TGLSLTextureEmitter);
Protected procedure RemoveNotification(aComponent: TComponent);

Properties

Public property Items[index:Integer]: TGLSLTextureEmitterItem read GetItems;


GLSysHelp v.2.1: GLSL.ProjectedTextures: Class TGLSLProjectedTextures

Class TGLSLProjectedTextures

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ProjectedTextures

Declaration

type TGLSLProjectedTextures = class(TGLSceneObject)

Description

Projected Texture Manager. Specifies active Emitters and receivers (children of this object). At the moment, only 1 texture can be used.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLSLProjectedTextures

Overview

Fields

Private | ShaderSupported: boolean;
Private | FEmitters: TGLSLTextureEmitters;
Private | FUseLightmaps: boolean;
Private | Shader: TGLProgramHandle;
Private | FAmbient: TGLColor;
Protected | ShaderChanged: boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public | procedure StructureChanged; override;
Protected | procedure SetUseLightmaps(val: boolean);
Private | procedure SetupShader;

Properties

Published | property Ambient: TGLColor read fAmbient write fAmbient;
Published | property Emitters: TGLSLTextureEmitters read FEmitters write FEmitters;
Published | property UseLightmaps: boolean read FUseLightmaps write SetUseLightmaps;

Description

Fields

Private ShaderSupported: boolean;
Private FEmitters: TGLSLTextureEmitters;
Private FUseLightmaps: boolean;
Private Shader: TGLProgramHandle;
Private FAmbient: TGLColor;
Protected ShaderChanged: boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
Public procedure StructureChanged; override;
Protected procedure SetUseLightmaps(val: boolean);
Private procedure SetupShader;

Properties

Published property Ambient: TGLColor read fAmbient write fAmbient;

Ambient is use if no lightmap..

Published property Emitters: TGLSLTextureEmitters read FEmitters write FEmitters;

List of emitters.

Published property UseLightmaps: boolean read FUseLightmaps write SetUseLightmaps;


GLSysHelp v.2.1: GLSL.Shader

Unit GLSL.Shader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.Texture
  • GLS.Context
  • GLSL.CustomShader
  • GLS.RenderContextInfo
  • GLS.TextureFormat
  • GLSL.ShaderParameter
  • GLS.Material
  • GLS.State

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EGLSLShaderException |
Record TGLActiveAttrib |
Class TGLCustomGLSLShader |
Class TGLSLShaderParameter |
Class TGLSLShader |

Types

TGLActiveAttribArray = array of TGLActiveAttrib;
TGLSLShaderEvent = procedure(Shader: TGLCustomGLSLShader) of object;
TGLSLShaderEventEx = procedure(Shader: TGLCustomGLSLShader; Sender: TObject) of object;
TGLSLShaderUnApplyEvent = procedure(Shader: TGLCustomGLSLShader; var ThereAreMorePasses: Boolean) of object;

Description

Types

TGLActiveAttribArray = array of TGLActiveAttrib;
TGLSLShaderEvent = procedure(Shader: TGLCustomGLSLShader) of object;
TGLSLShaderEventEx = procedure(Shader: TGLCustomGLSLShader; Sender: TObject) of object;
TGLSLShaderUnApplyEvent = procedure(Shader: TGLCustomGLSLShader; var ThereAreMorePasses: Boolean) of object;


GLSysHelp v.2.1: GLSL.Shader: Class EGLSLShaderException

Class EGLSLShaderException

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.Shader

Declaration

type EGLSLShaderException = class(EGLCustomShaderException)

Description

No description available, ancestor EGLCustomShaderException description follows
No description available, ancestor EGLShaderException description follows

Hierarchy

  • TObject
  • Exception
  • EGLShaderException
  • EGLCustomShaderException
  • EGLSLShaderException


GLSysHelp v.2.1: GLSL.Shader: Record TGLActiveAttrib

Record TGLActiveAttrib

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.Shader

Declaration

type TGLActiveAttrib = record

Description

Overview

Fields

Public | Name: string;
Public | Size: Integer;
Public | AType: TGLSLDataType;
Public | Location: Integer;

Description

Fields

Public Name: string;
Public Size: Integer;
Public AType: TGLSLDataType;
Public Location: Integer;


GLSysHelp v.2.1: GLSL.Shader: Class TGLCustomGLSLShader

Class TGLCustomGLSLShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.Shader

Declaration

type TGLCustomGLSLShader = class(TGLCustomShader)

Description

No description available, ancestor TGLCustomShader description follows

A pure abstract class, must be overriden.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader

Overview

Fields

Private | FGLSLProg: TGLProgramHandle;
Private | FParam: TGLSLShaderParameter;
Private | FActiveVarying: TStrings;
Private | FTransformFeedBackMode: TGLTransformFeedBackMode;
Private | FOnInitialize: TGLSLShaderEvent;
Private | FOnApply: TGLSLShaderEvent;
Private | FOnUnApply: TGLSLShaderUnApplyEvent;
Private | FOnInitializeEx: TGLSLShaderEventEx;
Private | FOnApplyEx: TGLSLShaderEventEx;
Private | FNextTexIndex: integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function GetActiveAttribs: TGLActiveAttribArray;
Public | function ShaderSupported: Boolean; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | function GetCurrentParam: TGLSLShaderParameter; virtual;
Protected | function GetGLSLProg: TGLProgramHandle; virtual;
Private | function GetDirectParam(const Index: Cardinal): TGLSLShaderParameter;
Private | function GetParam(const Index: string): TGLSLShaderParameter;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure SetTex(TexParam : TGLSLShaderParameter; Tex : TGLTexture); overload;
Public | procedure SetTex(TexParam : TGLSLShaderParameter; Mat : TGLLibMaterial); overload;
Public | procedure SetTex(const TexParamName : String; Tex : TGLTexture); overload;
Public | procedure SetTex(const TexParamName : String; Mat : TGLLibMaterial); overload;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoFinalize; override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure SetActiveVarying(const Value: TStrings);
Protected | procedure SetTransformFeedBackMode(const Value: TGLTransformFeedBackMode);
Private | procedure OnChangeActiveVarying(Sender: TObject);

Properties

Public | property ActiveVarying: TStrings read FActiveVarying write SetActiveVarying;
Public | property DirectParam[constIndex:Cardinal]: TGLSLShaderParameter read GetDirectParam;
Protected | property OnApply: TGLSLShaderEvent read FOnApply write FOnApply;
Protected | property OnApplyEx: TGLSLShaderEventEx read FOnApplyEx write FOnApplyEx;
Protected | property OnInitialize: TGLSLShaderEvent read FOnInitialize write FOnInitialize;
Protected | property OnInitializeEx: TGLSLShaderEventEx read FOnInitializeEx write FOnInitializeEx;
Protected | property OnUnApply: TGLSLShaderUnApplyEvent read FOnUnApply write FOnUnApply;
Public | property Param[constIndex:string]: TGLSLShaderParameter read GetParam;
Public | property TransformFeedBackMode: TGLTransformFeedBackMode read FTransformFeedBackMode write SetTransformFeedBackMode default tfbmInterleaved;

Description

Fields

Private FGLSLProg: TGLProgramHandle;
Private FParam: TGLSLShaderParameter;
Private FActiveVarying: TStrings;
Private FTransformFeedBackMode: TGLTransformFeedBackMode;
Private FOnInitialize: TGLSLShaderEvent;
Private FOnApply: TGLSLShaderEvent;
Private FOnUnApply: TGLSLShaderUnApplyEvent;
Private FOnInitializeEx: TGLSLShaderEventEx;
Private FOnApplyEx: TGLSLShaderEventEx;
Private FNextTexIndex: integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function GetActiveAttribs: TGLActiveAttribArray;
Public function ShaderSupported: Boolean; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected function GetCurrentParam: TGLSLShaderParameter; virtual;
Protected function GetGLSLProg: TGLProgramHandle; virtual;
Private function GetDirectParam(const Index: Cardinal): TGLSLShaderParameter;
Private function GetParam(const Index: string): TGLSLShaderParameter;

for auto texture unit indicing

Public procedure Assign(Source: TPersistent); override;
Public procedure SetTex(TexParam : TGLSLShaderParameter; Tex : TGLTexture); overload;
Public procedure SetTex(TexParam : TGLSLShaderParameter; Mat : TGLLibMaterial); overload;
Public procedure SetTex(const TexParamName : String; Tex : TGLTexture); overload;

SetTex() sets texture with automatic book-keeping of texture unit indices. Users can just call SetTex() in the OnApply event without keeping track of texture unit indices. Call from OnApply() only.

Public procedure SetTex(const TexParamName : String; Mat : TGLLibMaterial); overload;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoFinalize; override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure SetActiveVarying(const Value: TStrings);
Protected procedure SetTransformFeedBackMode(const Value: TGLTransformFeedBackMode);
Private procedure OnChangeActiveVarying(Sender: TObject);

Properties

Public property ActiveVarying: TStrings read FActiveVarying write SetActiveVarying;
Public property DirectParam[constIndex:Cardinal]: TGLSLShaderParameter read GetDirectParam;
Protected property OnApply: TGLSLShaderEvent read FOnApply write FOnApply;
Protected property OnApplyEx: TGLSLShaderEventEx read FOnApplyEx write FOnApplyEx;
Protected property OnInitialize: TGLSLShaderEvent read FOnInitialize write FOnInitialize;
Protected property OnInitializeEx: TGLSLShaderEventEx read FOnInitializeEx write FOnInitializeEx;
Protected property OnUnApply: TGLSLShaderUnApplyEvent read FOnUnApply write FOnUnApply;
Public property Param[constIndex:string]: TGLSLShaderParameter read GetParam;
Public property TransformFeedBackMode: TGLTransformFeedBackMode read FTransformFeedBackMode write SetTransformFeedBackMode default tfbmInterleaved;


GLSysHelp v.2.1: GLSL.Shader: Class TGLSLShaderParameter

Class TGLSLShaderParameter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.Shader

Declaration

type TGLSLShaderParameter = class(TGLCustomShaderParameter)

Description

Wrapper around a parameter of a GLSL program.

Hierarchy

  • TObject
  • TGLCustomShaderParameter
  • TGLSLShaderParameter

Overview

Fields

Private | FGLSLProg: TGLProgramHandle;
Private | FParameterID: Integer;

Methods

Protected | function GetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget): Cardinal; override;
Protected | function GetAsMatrix2f: TMatrix2f; override;
Protected | function GetAsMatrix3f: TMatrix3f; override;
Protected | function GetAsMatrix4f: TMatrix4f; override;
Protected | function GetAsUniformBuffer: Cardinal; override;
Protected | function GetAsVector1f: Single; override;
Protected | function GetAsVector1i: Integer; override;
Protected | function GetAsVector1ui: Cardinal; override;
Protected | function GetAsVector2f: TVector2f; override;
Protected | function GetAsVector2i: TVector2i; override;
Protected | function GetAsVector2ui: TVector2ui; override;
Protected | function GetAsVector3f: TVector3f; override;
Protected | function GetAsVector3i: TVector3i; override;
Protected | function GetAsVector3ui: TVector3ui; override;
Protected | function GetAsVector4f: TGLVector; override;
Protected | function GetAsVector4i: TVector4i; override;
Protected | function GetAsVector4ui: TVector4ui; override;
Protected | procedure SetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget; const Value: Cardinal); override;
Protected | procedure SetAsMatrix2f(const Value: TMatrix2f); override;
Protected | procedure SetAsMatrix3f(const Value: TMatrix3f); override;
Protected | procedure SetAsMatrix4f(const Value: TMatrix4f); override;
Protected | procedure SetAsUniformBuffer( UBO: Cardinal); override;
Protected | procedure SetAsVector1f(const Value: Single); override;
Protected | procedure SetAsVector1i(const Value: Integer); override;
Protected | procedure SetAsVector1ui(const Value: Cardinal); override;
Protected | procedure SetAsVector2f(const Value: TVector2f); override;
Protected | procedure SetAsVector2i(const Value: TVector2i); override;
Protected | procedure SetAsVector2ui(const Value: TVector2ui); override;
Protected | procedure SetAsVector3f(const Value: TVector3f); override;
Protected | procedure SetAsVector3i(const Value: TVector3i); override;
Protected | procedure SetAsVector3ui(const Value: TVector3ui); override;
Protected | procedure SetAsVector4f(const Value: TVector4f); override;
Protected | procedure SetAsVector4i(const Value: TVector4i); override;
Protected | procedure SetAsVector4ui(const Value: TVector4ui); override;

Description

Fields

Private FGLSLProg: TGLProgramHandle;
Private FParameterID: Integer;

Methods

Protected function GetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget): Cardinal; override;
Protected function GetAsMatrix2f: TMatrix2f; override;
Protected function GetAsMatrix3f: TMatrix3f; override;
Protected function GetAsMatrix4f: TMatrix4f; override;
Protected function GetAsUniformBuffer: Cardinal; override;
Protected function GetAsVector1f: Single; override;
Protected function GetAsVector1i: Integer; override;
Protected function GetAsVector1ui: Cardinal; override;
Protected function GetAsVector2f: TVector2f; override;
Protected function GetAsVector2i: TVector2i; override;
Protected function GetAsVector2ui: TVector2ui; override;
Protected function GetAsVector3f: TVector3f; override;
Protected function GetAsVector3i: TVector3i; override;
Protected function GetAsVector3ui: TVector3ui; override;
Protected function GetAsVector4f: TGLVector; override;
Protected function GetAsVector4i: TVector4i; override;
Protected function GetAsVector4ui: TVector4ui; override;
Protected procedure SetAsCustomTexture(const TextureIndex: Integer; TextureTarget: TGLTextureTarget; const Value: Cardinal); override;
Protected procedure SetAsMatrix2f(const Value: TMatrix2f); override;
Protected procedure SetAsMatrix3f(const Value: TMatrix3f); override;
Protected procedure SetAsMatrix4f(const Value: TMatrix4f); override;
Protected procedure SetAsUniformBuffer( UBO: Cardinal); override;
Protected procedure SetAsVector1f(const Value: Single); override;
Protected procedure SetAsVector1i(const Value: Integer); override;
Protected procedure SetAsVector1ui(const Value: Cardinal); override;
Protected procedure SetAsVector2f(const Value: TVector2f); override;
Protected procedure SetAsVector2i(const Value: TVector2i); override;
Protected procedure SetAsVector2ui(const Value: TVector2ui); override;
Protected procedure SetAsVector3f(const Value: TVector3f); override;
Protected procedure SetAsVector3i(const Value: TVector3i); override;
Protected procedure SetAsVector3ui(const Value: TVector3ui); override;
Protected procedure SetAsVector4f(const Value: TVector4f); override;
Protected procedure SetAsVector4i(const Value: TVector4i); override;
Protected procedure SetAsVector4ui(const Value: TVector4ui); override;


GLSysHelp v.2.1: GLSL.Shader: Class TGLSLShader

Class TGLSLShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.Shader

Declaration

type TGLSLShader = class(TGLCustomGLSLShader)

Description

No description available, ancestor TGLCustomGLSLShader description follows
No description available, ancestor TGLCustomShader description follows

A pure abstract class, must be overriden.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLSLShader

Overview

Properties

Published | property ActiveVarying;
Published | property FailedInitAction;
Published | property FragmentProgram;
Published | property GeometryProgram;
Published | property OnApply;
Published | property OnApplyEx;
Published | property OnInitialize;
Published | property OnInitializeEx;
Published | property OnUnApply;
Published | property ShaderStyle;
Published | property TransformFeedBackMode;
Published | property VertexProgram;

Description

Properties

Published property ActiveVarying;
Published property FailedInitAction;
Published property FragmentProgram;
Published property GeometryProgram;
Published property OnApply;
Published property OnApplyEx;
Published property OnInitialize;
Published property OnInitializeEx;
Published property OnUnApply;
Published property ShaderStyle;
Published property TransformFeedBackMode;
Published property VertexProgram;


GLSysHelp v.2.1: GLSL.ShaderCombiner

Unit GLSL.ShaderCombiner

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.Material
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Strings
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCustomShaderCombiner |
Class TGLShaderCombiner |

Types

TGLShaderCombinerType = (...);

Description

Types

TGLShaderCombinerType = (...);

MP - multipass, SP-singlepass, AP - anypass (single or multi) One-Two or Two-One determines the order of how the shaders should be applied For example, sctTwoMPOneSP means that first one will be applied Shader Two, which can be a multipass shader, then Shader One is applied, which should be a singlepass shader. sctOneMPTwoSP and sctTwoMPOneSP modes are actualy quite Str@nge, because... well look at the code yourself

TODO: Add more modes here, including sctOneAPTwoAP, which should be the default one.

Values
  • sctOneSPTwoAP
  • sctTwoSPOneAP
  • sctOneMPTwoSP
  • sctTwoMPOneSP


GLSysHelp v.2.1: GLSL.ShaderCombiner: Class TGLCustomShaderCombiner

Class TGLCustomShaderCombiner

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShaderCombiner

Declaration

type TGLCustomShaderCombiner = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShaderCombiner

Overview

Fields

Private | FCurrentPass: Integer;
Private | FCombinerType: TGLShaderCombinerType;
Private | FShaderOne: TGLShader;
Private | FShaderTwo: TGLShader;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | function ShaderSupported: Boolean; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetShaderOne(const Value: TGLShader);
Private | procedure SetShaderTwo(const Value: TGLShader);

Properties

Protected | property CombinerType: TGLShaderCombinerType read FCombinerType write FCombinerType default sctOneSPTwoAP;
Protected | property CurrentPass : Integer read FCurrentPass stored False;
Protected | property ShaderOne: TGLShader read FShaderOne write SetShaderOne;
Protected | property ShaderTwo: TGLShader read FShaderTwo write SetShaderTwo;

Description

Fields

Private FCurrentPass: Integer;
Private FCombinerType: TGLShaderCombinerType;
Private FShaderOne: TGLShader;
Private FShaderTwo: TGLShader;

Methods

Public constructor Create(AOwner: TComponent); override;
Public function ShaderSupported: Boolean; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetShaderOne(const Value: TGLShader);
Private procedure SetShaderTwo(const Value: TGLShader);

Properties

Protected property CombinerType: TGLShaderCombinerType read FCombinerType write FCombinerType default sctOneSPTwoAP;
Protected property CurrentPass : Integer read FCurrentPass stored False;
Protected property ShaderOne: TGLShader read FShaderOne write SetShaderOne;
Protected property ShaderTwo: TGLShader read FShaderTwo write SetShaderTwo;


GLSysHelp v.2.1: GLSL.ShaderCombiner: Class TGLShaderCombiner

Class TGLShaderCombiner

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShaderCombiner

Declaration

type TGLShaderCombiner = class(TGLCustomShaderCombiner)

Description

No description available, ancestor TGLCustomShaderCombiner description follows
No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShaderCombiner
  • TGLShaderCombiner

Overview

Properties

Published | property CombinerType;
Published | property ShaderOne;
Published | property ShaderStyle;
Published | property ShaderTwo;

Description

Properties

Published property CombinerType;
Published property ShaderOne;
Published property ShaderStyle;
Published property ShaderTwo;


GLSysHelp v.2.1: GLSL.ShaderParameter

Unit GLSL.ShaderParameter

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • GLS.Strings
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.TextureFormat
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Interface IShaderParameter |

Functions and Procedures

function GLSLTypeEnum(AType: TGLSLDataType): Cardinal;
function GLSLTypeComponentCount(AType: TGLSLDataType): Integer;
procedure RegisterUniformAutoSetMethod(AMethodName: string; AType: TGLSLDataType; AMethod: TUniformAutoSetMethod);
procedure FillUniformAutoSetMethodList(AList: TStrings; TypeFilter: TGLSLDataType); overload;
procedure FillUniformAutoSetMethodList(AList: TStrings; TypeFilter: TGLSLSamplerType); overload;
function GetUniformAutoSetMethod(AMethodName: string): TUniformAutoSetMethod;
function GetUniformAutoSetMethodName(AMethod: TUniformAutoSetMethod): string;

Types

TGLgsInTypes = (...);
TGLgsOutTypes = (...);
TGLSLDataType = (...);
TGLSLSamplerType = (...);
TUniformAutoSetMethod = procedure(Sender: IShaderParameter; var ARci: TGLRenderContextInfo) of object;

Constants

cGLSLTypeString: array[TGLSLDataType] of AnsiString = ( 'undefined', 'float', 'vec2', 'vec3', 'vec4', 'int', 'ivec2', 'ivec3', 'ivec4', 'uint', 'uivec2', 'uivec3', 'uivec4', 'mat2', 'mat3', 'mat4', 'void');
cGLSLSamplerString: array[TGLSLSamplerType] of AnsiString = ( 'undefined', 'sampler1D', 'sampler2D', 'sampler3D', 'samplerCube', 'sampler1DShadow', 'sampler2DShadow', 'sampler1DArray', 'sampler2DArray', 'sampler1DArrayShadow', 'sampler2DArrayShadow', 'samplerCubeShadow', 'isampler1D', 'isampler2D', 'isampler3D', 'isamplerCube', 'isampler1DArray', 'isampler2DArray', 'usampler1D', 'usampler2D', 'usampler3D', 'usamplerCube', 'usampler1DArray', 'usampler2DArray', 'samplerRect', 'samplerRectShadow', 'samplerBuffer', 'isamplerRect', 'isamplerBuffer', 'usamplerRect', 'usamplerBuffer', 'samplerMS', 'isamplerMS', 'usamplerMS', 'samplerMSArray', 'isamplerMSArray', 'usamplerMSArray');
cGLgsInTypes : array[TGLgsInTypes] of Cardinal = (GL_POINTS, GL_LINES, GL_LINES_ADJACENCY_EXT, GL_TRIANGLES, GL_TRIANGLES_ADJACENCY_EXT);
cGLgsOutTypes: array[TGLgsOutTypes] of Cardinal = (GL_POINTS, GL_LINE_STRIP, GL_TRIANGLE_STRIP);

Description

Functions and Procedures

function GLSLTypeEnum(AType: TGLSLDataType): Cardinal;
function GLSLTypeComponentCount(AType: TGLSLDataType): Integer;
procedure RegisterUniformAutoSetMethod(AMethodName: string; AType: TGLSLDataType; AMethod: TUniformAutoSetMethod);
procedure FillUniformAutoSetMethodList(AList: TStrings; TypeFilter: TGLSLDataType); overload;
procedure FillUniformAutoSetMethodList(AList: TStrings; TypeFilter: TGLSLSamplerType); overload;
function GetUniformAutoSetMethod(AMethodName: string): TUniformAutoSetMethod;
function GetUniformAutoSetMethodName(AMethod: TUniformAutoSetMethod): string;

Types

TGLgsInTypes = (...);
Values
  • gsInPoints
  • gsInLines
  • gsInAdjLines
  • gsInTriangles
  • gsInAdjTriangles
TGLgsOutTypes = (...);
Values
  • gsOutPoints
  • gsOutLineStrip
  • sOutTriangleStrip
TGLSLDataType = (...);
Values
  • GLSLTypeUndefined
  • GLSLType1F
  • GLSLType2F
  • GLSLType3F
  • GLSLType4F
  • GLSLType1I
  • GLSLType2I
  • GLSLType3I
  • GLSLType4I
  • GLSLType1UI
  • GLSLType2UI
  • GLSLType3UI
  • GLSLType4UI
  • GLSLTypeMat2F
  • GLSLTypeMat3F
  • GLSLTypeMat4F
  • GLSLTypeVoid
TGLSLSamplerType = (...);
Values
  • GLSLSamplerUndefined
  • GLSLSampler1D
  • GLSLSampler2D
  • GLSLSampler3D
  • GLSLSamplerCube
  • GLSLSampler1DShadow
  • GLSLSampler2DShadow
  • GLSLSampler1DArray
  • GLSLSampler2DArray
  • GLSLSampler1DArrayShadow
  • GLSLSampler2DArrayShadow
  • GLSLSamplerCubeShadow
  • GLSLIntSampler1D
  • GLSLIntSampler2D
  • GLSLIntSampler3D
  • GLSLIntSamplerCube
  • GLSLIntSampler1DArray
  • GLSLIntSampler2DArray
  • GLSLUIntSampler1D
  • GLSLUIntSampler2D
  • GLSLUIntSampler3D
  • GLSLUIntSamplerCube
  • GLSLUIntSampler1DArray
  • GLSLUIntSampler2DArray
  • GLSLSamplerRect
  • GLSLSamplerRectShadow
  • GLSLSamplerBuffer
  • GLSLIntSamplerRect
  • GLSLIntSamplerBuffer
  • GLSLUIntSamplerRect
  • GLSLUIntSamplerBuffer
  • GLSLSamplerMS
  • GLSLIntSamplerMS
  • GLSLUIntSamplerMS
  • GLSLSamplerMSArray
  • GLSLIntSamplerMSArray
  • GLSLUIntSamplerMSArray
TUniformAutoSetMethod = procedure(Sender: IShaderParameter; var ARci: TGLRenderContextInfo) of object;

Constants

cGLSLTypeString: array[TGLSLDataType] of AnsiString = ( 'undefined', 'float', 'vec2', 'vec3', 'vec4', 'int', 'ivec2', 'ivec3', 'ivec4', 'uint', 'uivec2', 'uivec3', 'uivec4', 'mat2', 'mat3', 'mat4', 'void');
cGLSLSamplerString: array[TGLSLSamplerType] of AnsiString = ( 'undefined', 'sampler1D', 'sampler2D', 'sampler3D', 'samplerCube', 'sampler1DShadow', 'sampler2DShadow', 'sampler1DArray', 'sampler2DArray', 'sampler1DArrayShadow', 'sampler2DArrayShadow', 'samplerCubeShadow', 'isampler1D', 'isampler2D', 'isampler3D', 'isamplerCube', 'isampler1DArray', 'isampler2DArray', 'usampler1D', 'usampler2D', 'usampler3D', 'usamplerCube', 'usampler1DArray', 'usampler2DArray', 'samplerRect', 'samplerRectShadow', 'samplerBuffer', 'isamplerRect', 'isamplerBuffer', 'usamplerRect', 'usamplerBuffer', 'samplerMS', 'isamplerMS', 'usamplerMS', 'samplerMSArray', 'isamplerMSArray', 'usamplerMSArray');
cGLgsInTypes : array[TGLgsInTypes] of Cardinal = (GL_POINTS, GL_LINES, GL_LINES_ADJACENCY_EXT, GL_TRIANGLES, GL_TRIANGLES_ADJACENCY_EXT);
cGLgsOutTypes: array[TGLgsOutTypes] of Cardinal = (GL_POINTS, GL_LINE_STRIP, GL_TRIANGLE_STRIP);


GLSysHelp v.2.1: GLSL.ShaderParameter: Interface IShaderParameter

Interface IShaderParameter

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShaderParameter

Declaration

type IShaderParameter = interface(IInterface)

Description

Hierarchy

  • IInterface
  • IShaderParameter

Overview

Methods

Public | function GetAutoSetMethod: string;
Public | function GetFloat: Single;
Public | function GetGLSLSamplerType: TGLSLSamplerType;
Public | function GetGLSLType: TGLSLDataType;
Public | function GetInt: Integer;
Public | function GetIVec2: TVector2i;
Public | function GetIVec3: TVector3i;
Public | function GetIVec4: TVector4i;
Public | function GetMat2: TMatrix2f;
Public | function GetMat3: TMatrix3f;
Public | function GetMat4: TMatrix4f;
Public | function GetName: string;
Public | function GetSamplerName: string;
Public | function GetTextureName: string;
Public | function GetTextureSwizzle: TSwizzleVector;
Public | function GetUInt: Cardinal;
Public | function GetUVec2: TVector2ui;
Public | function GetUVec3: TVector3ui;
Public | function GetUVec4: TVector4ui;
Public | function GetVec2: TVector2f;
Public | function GetVec3: TVector3f;
Public | function GetVec4: TVector4f;
Public | procedure SetAutoSetMethod(const AValue: string);
Public | procedure SetFloat(const Value: TGLFloat);
Public | procedure SetFloatArray(const Values: PGLFloat; Count: Integer);
Public | procedure SetInt(const Value: Integer);
Public | procedure SetIntArray(const Values: PGLInt; Count: Integer);
Public | procedure SetIVec2(const Value: TVector2i);
Public | procedure SetIVec3(const Value: TVector3i);
Public | procedure SetIVec4(const Value: TVector4i);
Public | procedure SetMat2(const Value: TMatrix2f);
Public | procedure SetMat3(const Value: TMatrix3f);
Public | procedure SetMat4(const Value: TMatrix4f);
Public | procedure SetSamplerName(const AValue: string);
Public | procedure SetTextureName(const AValue: string);
Public | procedure SetTextureSwizzle(const AValue: TSwizzleVector);
Public | procedure SetUInt(const Value: Cardinal);
Public | procedure SetUIntArray(const Values: PGLUInt; Count: Integer);
Public | procedure SetUVec2(const Value: TVector2ui);
Public | procedure SetUVec3(const Value: TVector3ui);
Public | procedure SetUVec4(const Value: TVector4ui);
Public | procedure SetVec2(const Value: TVector2f);
Public | procedure SetVec3(const Value: TVector3f);
Public | procedure SetVec4(const Value: TVector4f);

Properties

Public | property AutoSetMethod: string read GetAutoSetMethod write SetAutoSetMethod;
Public | property float: TGLFloat read GetFloat write SetFloat;
Public | property GLSLSamplerType: TGLSLSamplerType read GetGLSLSamplerType;
Public | property GLSLType: TGLSLDataType read GetGLSLType;
Public | property int: Integer read GetInt write SetInt;
Public | property ivec2: TVector2i read GetIVec2 write SetIVec2;
Public | property ivec3: TVector3i read GetIVec3 write SetIVec3;
Public | property ivec4: TVector4i read GetIVec4 write SetIVec4;
Public | property mat2: TMatrix2f read GetMat2 write SetMat2;
Public | property mat3: TMatrix3f read GetMat3 write SetMat3;
Public | property mat4: TMatrix4f read GetMat4 write SetMat4;
Public | property Name: string read GetName;
Public | property SamplerName: string read GetSamplerName write SetSamplerName;
Public | property TextureName: string read GetTextureName write SetTextureName;
Public | property TextureSwizzle: TSwizzleVector read GetTextureSwizzle write SetTextureSwizzle;
Public | property uint: Cardinal read GetUInt write SetUInt;
Public | property uvec2: TVector2ui read GetUVec2 write SetUVec2;
Public | property uvec3: TVector3ui read GetUVec3 write SetUVec3;
Public | property uvec4: TVector4ui read GetUVec4 write SetUVec4;
Public | property vec2: TVector2f read GetVec2 write SetVec2;
Public | property vec3: TVector3f read GetVec3 write SetVec3;
Public | property vec4: TVector4f read GetVec4 write SetVec4;

Description

Methods

Public function GetAutoSetMethod: string;
Public function GetFloat: Single;
Public function GetGLSLSamplerType: TGLSLSamplerType;
Public function GetGLSLType: TGLSLDataType;
Public function GetInt: Integer;
Public function GetIVec2: TVector2i;
Public function GetIVec3: TVector3i;
Public function GetIVec4: TVector4i;
Public function GetMat2: TMatrix2f;
Public function GetMat3: TMatrix3f;
Public function GetMat4: TMatrix4f;
Public function GetName: string;
Public function GetSamplerName: string;
Public function GetTextureName: string;
Public function GetTextureSwizzle: TSwizzleVector;
Public function GetUInt: Cardinal;
Public function GetUVec2: TVector2ui;
Public function GetUVec3: TVector3ui;
Public function GetUVec4: TVector4ui;
Public function GetVec2: TVector2f;
Public function GetVec3: TVector3f;
Public function GetVec4: TVector4f;
Public procedure SetAutoSetMethod(const AValue: string);
Public procedure SetFloat(const Value: TGLFloat);
Public procedure SetFloatArray(const Values: PGLFloat; Count: Integer);
Public procedure SetInt(const Value: Integer);
Public procedure SetIntArray(const Values: PGLInt; Count: Integer);
Public procedure SetIVec2(const Value: TVector2i);
Public procedure SetIVec3(const Value: TVector3i);
Public procedure SetIVec4(const Value: TVector4i);
Public procedure SetMat2(const Value: TMatrix2f);
Public procedure SetMat3(const Value: TMatrix3f);
Public procedure SetMat4(const Value: TMatrix4f);
Public procedure SetSamplerName(const AValue: string);
Public procedure SetTextureName(const AValue: string);
Public procedure SetTextureSwizzle(const AValue: TSwizzleVector);
Public procedure SetUInt(const Value: Cardinal);
Public procedure SetUIntArray(const Values: PGLUInt; Count: Integer);
Public procedure SetUVec2(const Value: TVector2ui);
Public procedure SetUVec3(const Value: TVector3ui);
Public procedure SetUVec4(const Value: TVector4ui);
Public procedure SetVec2(const Value: TVector2f);
Public procedure SetVec3(const Value: TVector3f);
Public procedure SetVec4(const Value: TVector4f);

Properties

Public property AutoSetMethod: string read GetAutoSetMethod write SetAutoSetMethod;

Bindings.

Public property float: TGLFloat read GetFloat write SetFloat;

Scalar types.

Public property GLSLSamplerType: TGLSLSamplerType read GetGLSLSamplerType;
Public property GLSLType: TGLSLDataType read GetGLSLType;
Public property int: Integer read GetInt write SetInt;
Public property ivec2: TVector2i read GetIVec2 write SetIVec2;

Integer vector types.

Public property ivec3: TVector3i read GetIVec3 write SetIVec3;
Public property ivec4: TVector4i read GetIVec4 write SetIVec4;
Public property mat2: TMatrix2f read GetMat2 write SetMat2;

Matrix Types.

Public property mat3: TMatrix3f read GetMat3 write SetMat3;
Public property mat4: TMatrix4f read GetMat4 write SetMat4;
Public property Name: string read GetName;
Public property SamplerName: string read GetSamplerName write SetSamplerName;
Public property TextureName: string read GetTextureName write SetTextureName;
Public property TextureSwizzle: TSwizzleVector read GetTextureSwizzle write SetTextureSwizzle;
Public property uint: Cardinal read GetUInt write SetUInt;
Public property uvec2: TVector2ui read GetUVec2 write SetUVec2;

Unsigned integer vector types.

Public property uvec3: TVector3ui read GetUVec3 write SetUVec3;
Public property uvec4: TVector4ui read GetUVec4 write SetUVec4;
Public property vec2: TVector2f read GetVec2 write SetVec2;

Float vector types.

Public property vec3: TVector3f read GetVec3 write SetVec3;
Public property vec4: TVector4f read GetVec4 write SetVec4;


GLSysHelp v.2.1: GLSL.ShapeShaders

Unit GLSL.ShapeShaders

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.BaseClasses
  • GLS.State
  • GLS.Context
  • GLS.Graphics
  • GLS.RenderContextInfo
  • GLS.Coordinates
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.TextureFormat
  • GLS.Color
  • GLS.Texture
  • GLS.Material
  • GLSL.Shader
  • GLSL.CustomShader

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLCelShader |
Class TGLCustomGLSLSimpleErosionShader |
Class TGLSLSimpleErosionShader |
Class TGLCustomGLSLGlassShader |
Class TGLSLGlassShader |
Class TGLCustomGLSLSimpleGoochShader |
Class TGLSLSimpleGoochShader |
Class TGLCustomGLSLFurShader |
Class TGLSLFurShader |
Class TGLCustomGLSLIvoryShader |
Class TGLSLIvoryShader |
Class TGLCustomGLSLSimpleLatticeShader |
Class TGLCustomGLSLLatticeShader |
Class TGLSLSimpleLatticeShader |
Class TGLSLLatticeShader |
Class TGLCustomGLSLSemShader |
Class TGLSLSemShader |
Class TGLCustomGLSLToonShader |
Class TGLSLToonShader |
Class TGLCustomGLSLVertexDisplacementShader |
Class TGLSLVertexDisplacementShader |

Types

TGLCelShaderGetIntensity = procedure(Sender: TObject; var intensity: Byte) of object;
TGLCelShaderOption = (...);
TGLCelShaderOptions = set of TGLCelShaderOption;

Description

Types

TGLCelShaderGetIntensity = procedure(Sender: TObject; var intensity: Byte) of object;

An event for user defined cel intensity.

TGLCelShaderOption = (...);

A shader that applies cel shading through a vertex program and shade definition texture. Cel shading options: csoOutlines: Render a second outline pass. csoTextured: Allows for a primary texture that the cel shading is modulated with and forces the shade definition to render as a second texture.

Values
  • csoOutlines
  • csoTextured
  • csoNoBuildShadeTexture
TGLCelShaderOptions = set of TGLCelShaderOption;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCelShader

Class TGLCelShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCelShader = class(TGLShader)

Description

A generic cel shader.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCelShader

Overview

Fields

Private | FOutlineWidth: Single;
Private | FCelShaderOptions: TGLCelShaderOptions;
Private | FVPHandle: TGLARBVertexProgramHandle;
Private | FShadeTexture: TGLTexture;
Private | FOnGetIntensity: TGLCelShaderGetIntensity;
Private | FOutlinePass: Boolean;
Private | FUnApplyShadeTexture: Boolean;
Private | FOutlineColor: TGLColor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | function GenerateVertexProgram: string;
Public | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure BuildShadeTexture;
Protected | procedure Loaded; override;
Protected | procedure SetCelShaderOptions(const val: TGLCelShaderOptions);
Protected | procedure SetOutlineColor(const val: TGLColor);
Protected | procedure SetOutlineWidth(const val: Single);

Properties

Published | property CelShaderOptions: TGLCelShaderOptions read FCelShaderOptions write SetCelShaderOptions;
Published | property OnGetIntensity: TGLCelShaderGetIntensity read FOnGetIntensity write FOnGetIntensity;
Published | property OutlineColor: TGLColor read FOutlineColor write SetOutlineColor;
Published | property OutlineWidth: Single read FOutlineWidth write SetOutlineWidth;
Public | property ShadeTexture: TGLTexture read FShadeTexture;

Description

Fields

Private FOutlineWidth: Single;
Private FCelShaderOptions: TGLCelShaderOptions;
Private FVPHandle: TGLARBVertexProgramHandle;
Private FShadeTexture: TGLTexture;
Private FOnGetIntensity: TGLCelShaderGetIntensity;
Private FOutlinePass: Boolean;
Private FUnApplyShadeTexture: Boolean;
Private FOutlineColor: TGLColor;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected function GenerateVertexProgram: string;
Public procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure BuildShadeTexture;
Protected procedure Loaded; override;
Protected procedure SetCelShaderOptions(const val: TGLCelShaderOptions);
Protected procedure SetOutlineColor(const val: TGLColor);
Protected procedure SetOutlineWidth(const val: Single);

Properties

Published property CelShaderOptions: TGLCelShaderOptions read FCelShaderOptions write SetCelShaderOptions;
Published property OnGetIntensity: TGLCelShaderGetIntensity read FOnGetIntensity write FOnGetIntensity;
Published property OutlineColor: TGLColor read FOutlineColor write SetOutlineColor;
Published property OutlineWidth: Single read FOutlineWidth write SetOutlineWidth;
Public property ShadeTexture: TGLTexture read FShadeTexture;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLSimpleErosionShader

Class TGLCustomGLSLSimpleErosionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLSimpleErosionShader = class(TGLCustomGLSLShader)

Description

Custom class for a shader that Erode surface object

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleErosionShader

Overview

Fields

Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FMainTex: TGLTexture;
Private | FNoiseTex: TGLTexture;
Private | FErosionTex: TGLTexture;
Private | FMainTexName: TGLLibMaterialName;
Private | FNoiseTexName: TGLLibMaterialName;
Private | FErosionTexName: TGLLibMaterialName;
Private | FErosionScale: Single;
Private | FErosionFactor: Single;
Private | FIntensityFactor1: Single;
Private | FIntensityFactor2: Single;
Private | FSpecularColor: TGLColor;
Private | FAmbientColor: TGLColor;
Private | FAmbientFactor: Single;
Private | FDiffuseFactor: Single;
Private | FSpecularFactor: Single;
Private | FSpecularRoughness: Single;
Private | FAnisotropicRoughness: Single;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetErosionTexName: TGLLibMaterialName;
Private | function GetMainTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetNoiseTexName: TGLLibMaterialName;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure SetAmbientColor(AValue: TGLColor);
Private | procedure SetErosionTexName(const Value: TGLLibMaterialName);
Private | procedure SetErosionTexTexture(const Value: TGLTexture);
Private | procedure SetMainTexName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexTexture(const Value: TGLTexture);
Private | procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private | procedure SetNoiseTexTexture(const Value: TGLTexture);
Private | procedure SetSpecularColor(AValue: TGLColor);

Properties

Public | property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public | property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public | property AnisotropicRoughness : Single Read FAnisotropicRoughness Write FAnisotropicRoughness;
Public | property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public | property ErosionFactor: Single read FErosionFactor write FErosionFactor;
Public | property ErosionScale: Single read FErosionFactor write FErosionFactor;
Public | property ErosionTexture: TGLTexture read FErosionTex write SetErosionTexTexture;
Public | property ErosionTextureName: TGLLibMaterialName read GetErosionTexName write SetErosionTexName;
Public | property IntensityFactor1: Single read FIntensityFactor1 write FIntensityFactor1;
Public | property IntensityFactor2: Single read FIntensityFactor2 write FIntensityFactor2;
Public | property MainTexture: TGLTexture read FMainTex write SetMainTexTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property NoiseTexture: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public | property NoiseTextureName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public | property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public | property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;
Public | property SpecularRoughness : Single Read FSpecularRoughness Write FSpecularRoughness;

Description

Fields

Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FMainTex: TGLTexture;
Private FNoiseTex: TGLTexture;
Private FErosionTex: TGLTexture;
Private FMainTexName: TGLLibMaterialName;
Private FNoiseTexName: TGLLibMaterialName;
Private FErosionTexName: TGLLibMaterialName;
Private FErosionScale: Single;
Private FErosionFactor: Single;
Private FIntensityFactor1: Single;
Private FIntensityFactor2: Single;
Private FSpecularColor: TGLColor;
Private FAmbientColor: TGLColor;
Private FAmbientFactor: Single;
Private FDiffuseFactor: Single;
Private FSpecularFactor: Single;
Private FSpecularRoughness: Single;
Private FAnisotropicRoughness: Single;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetErosionTexName: TGLLibMaterialName;
Private function GetMainTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private function GetNoiseTexName: TGLLibMaterialName;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure SetAmbientColor(AValue: TGLColor);
Private procedure SetErosionTexName(const Value: TGLLibMaterialName);
Private procedure SetErosionTexTexture(const Value: TGLTexture);
Private procedure SetMainTexName(const Value: TGLLibMaterialName);
Private procedure SetMainTexTexture(const Value: TGLTexture);
Private procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private procedure SetNoiseTexTexture(const Value: TGLTexture);
Private procedure SetSpecularColor(AValue: TGLColor);

Properties

Public property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public property AnisotropicRoughness : Single Read FAnisotropicRoughness Write FAnisotropicRoughness;
Public property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public property ErosionFactor: Single read FErosionFactor write FErosionFactor;
Public property ErosionScale: Single read FErosionFactor write FErosionFactor;
Public property ErosionTexture: TGLTexture read FErosionTex write SetErosionTexTexture;
Public property ErosionTextureName: TGLLibMaterialName read GetErosionTexName write SetErosionTexName;
Public property IntensityFactor1: Single read FIntensityFactor1 write FIntensityFactor1;
Public property IntensityFactor2: Single read FIntensityFactor2 write FIntensityFactor2;
Public property MainTexture: TGLTexture read FMainTex write SetMainTexTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;

property Color1: TGLColor read FColor1; property Color2: TGLColor read FColor2;

Public property NoiseTexture: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public property NoiseTextureName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;
Public property SpecularRoughness : Single Read FSpecularRoughness Write FSpecularRoughness;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLSimpleErosionShader

Class TGLSLSimpleErosionShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLSimpleErosionShader = class(TGLCustomGLSLSimpleErosionShader)

Description

No description available, ancestor TGLCustomGLSLSimpleErosionShader description follows

Custom class for a shader that Erode surface object

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleErosionShader
  • TGLSLSimpleErosionShader

Overview

Properties

Published | property AmbientColor;
Published | property AmbientFactor;
Published | property AnisotropicRoughness;
Published | property DiffuseFactor;
Published | property ErosionFactor;
Published | property ErosionScale;
Published | property ErosionTexture;
Published | property ErosionTextureName;
Published | property IntensityFactor1;
Published | property IntensityFactor2;
Published | property MainTexture;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property NoiseTexture;
Published | property NoiseTextureName;
Published | property SpecularColor;
Published | property SpecularFactor;
Published | property SpecularRoughness;

Description

Properties

Published property AmbientColor;
Published property AmbientFactor;
Published property AnisotropicRoughness;
Published property DiffuseFactor;
Published property ErosionFactor;
Published property ErosionScale;
Published property ErosionTexture;
Published property ErosionTextureName;
Published property IntensityFactor1;
Published property IntensityFactor2;
Published property MainTexture;
Published property MainTextureName;
Published property MaterialLibrary;

property Color1; property Color2;

Published property NoiseTexture;
Published property NoiseTextureName;
Published property SpecularColor;
Published property SpecularFactor;
Published property SpecularRoughness;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLGlassShader

Class TGLCustomGLSLGlassShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLGlassShader = class(TGLCustomGLSLShader)

Description

Custom class for Glass shader: Environment mapping and refraction mapping using the fresnel terms

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLGlassShader

Overview

Fields

Private | FDiffuseColor: TGLColor;
Private | FDepth: Single;
Private | FMix: Single;
Private | FAlpha: Single;
Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FMainTexture: TGLTexture;
Private | FMainTexName: TGLLibMaterialName;
Private | FRefractionTexture: TGLTexture;
Private | FRefractionTexName: TGLLibMaterialName;
Private | FOwnerObject: TGLBaseSceneObject;
Private | FBlendSrc: TGLBlendFunction;
Private | FBlendDst: TGLBlendFunction;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMainTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetRefractionTexName: TGLLibMaterialName;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value : TGLAbstractMaterialLibrary); virtual;
Private | procedure SetDiffuseColor(AValue: TGLColor);
Private | procedure SetMainTexName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexTexture(const Value: TGLTexture);
Private | procedure SetRefractionTexName(const Value: TGLLibMaterialName);
Private | procedure SetRefractionTexTexture(const Value: TGLTexture);

Properties

Public | property Alpha: Single read FAlpha write FAlpha;
Public | property BlendDst: TGLBlendFunction read FBlendDst write FBlendDst default bfDstAlpha;
Public | property BlendSrc: TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcAlpha;
Public | property Depth: Single read FDepth write FDepth;
Public | property DiffuseColor: TGLColor read FDiffuseColor Write SetDiffuseColor;
Public | property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read GetMaterialLibrary write SetMaterialLibrary;
Public | property Mix: Single read FMix write FMix;
Public | property OwnerObject: TGLBaseSceneObject read FOwnerObject write FOwnerObject;
Public | property RefractionTexture: TGLTexture read FRefractionTexture write SetRefractionTexTexture;
Public | property RefractionTextureName: TGLLibMaterialName read GetRefractionTexName write SetRefractionTexName;

Description

Fields

Private FDiffuseColor: TGLColor;
Private FDepth: Single;
Private FMix: Single;
Private FAlpha: Single;
Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FMainTexture: TGLTexture;
Private FMainTexName: TGLLibMaterialName;

EnvMap

Private FRefractionTexture: TGLTexture;
Private FRefractionTexName: TGLLibMaterialName;
Private FOwnerObject: TGLBaseSceneObject;
Private FBlendSrc: TGLBlendFunction;
Private FBlendDst: TGLBlendFunction;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMainTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private function GetRefractionTexName: TGLLibMaterialName;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value : TGLAbstractMaterialLibrary); virtual;
Private procedure SetDiffuseColor(AValue: TGLColor);
Private procedure SetMainTexName(const Value: TGLLibMaterialName);
Private procedure SetMainTexTexture(const Value: TGLTexture);
Private procedure SetRefractionTexName(const Value: TGLLibMaterialName);
Private procedure SetRefractionTexTexture(const Value: TGLTexture);

Properties

Public property Alpha: Single read FAlpha write FAlpha;
Public property BlendDst: TGLBlendFunction read FBlendDst write FBlendDst default bfDstAlpha;
Public property BlendSrc: TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcAlpha;
Public property Depth: Single read FDepth write FDepth;
Public property DiffuseColor: TGLColor read FDiffuseColor Write SetDiffuseColor;
Public property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read GetMaterialLibrary write SetMaterialLibrary;
Public property Mix: Single read FMix write FMix;
Public property OwnerObject: TGLBaseSceneObject read FOwnerObject write FOwnerObject;
Public property RefractionTexture: TGLTexture read FRefractionTexture write SetRefractionTexTexture;
Public property RefractionTextureName: TGLLibMaterialName read GetRefractionTexName write SetRefractionTexName;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLGlassShader

Class TGLSLGlassShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLGlassShader = class(TGLCustomGLSLGlassShader)

Description

No description available, ancestor TGLCustomGLSLGlassShader description follows

Custom class for Glass shader: Environment mapping and refraction mapping using the fresnel terms

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLGlassShader
  • TGLSLGlassShader

Overview

Properties

Published | property Alpha;
Published | property BlendDst;
Published | property BlendSrc;
Published | property Depth;
Published | property DiffuseColor;
Published | property MainTexture;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property Mix;
Published | property OwnerObject;
Published | property RefractionTexture;
Published | property RefractionTextureName;

Description

Properties

Published property Alpha;
Published property BlendDst;
Published property BlendSrc;
Published property Depth;
Published property DiffuseColor;
Published property MainTexture;
Published property MainTextureName;
Published property MaterialLibrary;
Published property Mix;
Published property OwnerObject;
Published property RefractionTexture;
Published property RefractionTextureName;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLSimpleGoochShader

Class TGLCustomGLSLSimpleGoochShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLSimpleGoochShader = class(TGLCustomGLSLShader)

Description

Custom class for Gooch Shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleGoochShader

Overview

Fields

Private | FDiffuseColor: TGLColor;
Private | FWarmColor: TGLColor;
Private | FCoolColor: TGLColor;
Private | FSpecularColor: TGLColor;
Private | FAmbientColor: TGLColor;
Private | FDiffuseWarm: Single;
Private | FDiffuseCool: Single;
Private | FAmbientFactor: Single;
Private | FDiffuseFactor: Single;
Private | FSpecularFactor: Single;
Private | FBlendingMode: TGLBlendingModeEx;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure SetAmbientColor(AValue: TGLColor);
Private | procedure SetCoolColor(AValue: TGLColor);
Private | procedure SetDiffuseColor(AValue: TGLColor);
Private | procedure SetSpecularColor(AValue: TGLColor);
Private | procedure SetWarmColor(AValue: TGLColor);

Properties

Public | property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public | property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public | property BlendingMode: TGLBlendingModeEx read FBlendingMode write FBlendingMode default bmxOpaque;
Public | property CoolColor : TGLColor Read FCoolColor Write setCoolColor;
Public | property CoolFactor : Single Read FDiffuseCool Write FDiffuseCool;
Public | property DiffuseColor : TGLColor read FDiffuseColor Write setDiffuseColor;
Public | property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public | property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public | property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;
Public | property WarmColor : TGLColor read FWarmColor Write setWarmColor;
Public | property WarmFactor : Single Read FDiffuseWarm Write FDiffuseWarm;

Description

Fields

Private FDiffuseColor: TGLColor;
Private FWarmColor: TGLColor;
Private FCoolColor: TGLColor;
Private FSpecularColor: TGLColor;
Private FAmbientColor: TGLColor;
Private FDiffuseWarm: Single;
Private FDiffuseCool: Single;
Private FAmbientFactor: Single;
Private FDiffuseFactor: Single;
Private FSpecularFactor: Single;
Private FBlendingMode: TGLBlendingModeEx;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure SetAmbientColor(AValue: TGLColor);
Private procedure SetCoolColor(AValue: TGLColor);
Private procedure SetDiffuseColor(AValue: TGLColor);
Private procedure SetSpecularColor(AValue: TGLColor);
Private procedure SetWarmColor(AValue: TGLColor);

Properties

Public property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public property BlendingMode: TGLBlendingModeEx read FBlendingMode write FBlendingMode default bmxOpaque;
Public property CoolColor : TGLColor Read FCoolColor Write setCoolColor;
Public property CoolFactor : Single Read FDiffuseCool Write FDiffuseCool;
Public property DiffuseColor : TGLColor read FDiffuseColor Write setDiffuseColor;
Public property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;
Public property WarmColor : TGLColor read FWarmColor Write setWarmColor;
Public property WarmFactor : Single Read FDiffuseWarm Write FDiffuseWarm;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLSimpleGoochShader

Class TGLSLSimpleGoochShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLSimpleGoochShader = class(TGLCustomGLSLSimpleGoochShader)

Description

No description available, ancestor TGLCustomGLSLSimpleGoochShader description follows

Custom class for Gooch Shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleGoochShader
  • TGLSLSimpleGoochShader

Overview

Properties

Published | property AmbientColor;
Published | property AmbientFactor;
Published | property CoolColor;
Published | property CoolFactor;
Published | property DiffuseColor;
Published | property DiffuseFactor;
Published | property SpecularColor;
Published | property SpecularFactor;
Published | property WarmColor;
Published | property WarmFactor;

Description

Properties

Published property AmbientColor;
Published property AmbientFactor;
Published property CoolColor;
Published property CoolFactor;
Published property DiffuseColor;
Published property DiffuseFactor;
Published property SpecularColor;
Published property SpecularFactor;
Published property WarmColor;
Published property WarmFactor;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLFurShader

Class TGLCustomGLSLFurShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLFurShader = class(TGLCustomGLSLShader)

Description

Custom class for Fur Shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLFurShader

Overview

Fields

Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FCurrentPass: Integer;
Private | FPassCount: Single;
Private | FFurLength: Single;
Private | FMaxFurLength: Single;
Private | FFurScale: Single;
Private | FRandomFurLength: Boolean;
Private | FColorScale: TGLColor;
Private | FAmbient: TGLColor;
Private | FGravity: TGLCoordinates;
Private | FLightIntensity: Single;
Private | FMainTex: TGLTexture;
Private | FNoiseTex: TGLTexture;
Private | FNoiseTexName: TGLLibMaterialName;
Private | FMainTexName: TGLLibMaterialName;
Private | FBlendSrc: TGLBlendFunction;
Private | FBlendDst: TGLBlendFunction;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMainTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Private | function GetNoiseTexName: TGLLibMaterialName;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure SetAmbient(AValue: TGLColor);
Private | procedure SetColorScale(AValue: TGLColor);
Private | procedure SetGravity(APosition:TGLCoordinates);
Private | procedure SetMainTexName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexTexture(const Value: TGLTexture);
Private | procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private | procedure SetNoiseTexTexture(const Value: TGLTexture);

Properties

Public | property Ambient: TGLColor read FAmbient write setAmbient;
Public | property BlendDst : TGLBlendFunction read FBlendDst write FBlendDst default bfOneMinusDstColor;
Public | property BlendSrc : TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcColor;
Public | property ColorScale: TGLColor read FColorScale Write setColorScale;
Public | property FurDensity: Single read FFurScale write FFurScale;
Public | property FurLength: Single read FFurLength write FFurLength;
Public | property Gravity : TGLCoordinates Read FGravity write setGravity;
Public | property LightIntensity : Single read FLightIntensity Write FLightIntensity;
Public | property MainTexture: TGLTexture read FMainTex write SetMainTexTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property MaxFurLength: Single read FMaxFurLength write FMaxFurLength;
Public | property NoiseTexture: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public | property NoiseTextureName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public | property PassCount: Single read FPassCount write FPassCount;
Public | property RandomFurLength : Boolean read FRandomFurLength Write FRandomFurLength;

Description

Fields

Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FCurrentPass: Integer;
Private FPassCount: Single;
Private FFurLength: Single;
Private FMaxFurLength: Single;
Private FFurScale: Single;
Private FRandomFurLength: Boolean;
Private FColorScale: TGLColor;
Private FAmbient: TGLColor;
Private FGravity: TGLCoordinates;
Private FLightIntensity: Single;
Private FMainTex: TGLTexture;
Private FNoiseTex: TGLTexture;
Private FNoiseTexName: TGLLibMaterialName;
Private FMainTexName: TGLLibMaterialName;
Private FBlendSrc: TGLBlendFunction;
Private FBlendDst: TGLBlendFunction;

Methods

Public constructor Create(AOwner : TComponent); override;

Common stuff

Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMainTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

FBlendEquation : TGLBlendEquation;

Private function GetNoiseTexName: TGLLibMaterialName;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure SetAmbient(AValue: TGLColor);
Private procedure SetColorScale(AValue: TGLColor);
Private procedure SetGravity(APosition:TGLCoordinates);
Private procedure SetMainTexName(const Value: TGLLibMaterialName);
Private procedure SetMainTexTexture(const Value: TGLTexture);
Private procedure SetNoiseTexName(const Value: TGLLibMaterialName);
Private procedure SetNoiseTexTexture(const Value: TGLTexture);

Properties

Public property Ambient: TGLColor read FAmbient write setAmbient;
Public property BlendDst : TGLBlendFunction read FBlendDst write FBlendDst default bfOneMinusDstColor;
Public property BlendSrc : TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcColor;

property BlendEquation : TBlendEquation read FBlendEquation write FBlendEquation default beMin;

Public property ColorScale: TGLColor read FColorScale Write setColorScale;
Public property FurDensity: Single read FFurScale write FFurScale;
Public property FurLength: Single read FFurLength write FFurLength;
Public property Gravity : TGLCoordinates Read FGravity write setGravity;
Public property LightIntensity : Single read FLightIntensity Write FLightIntensity;
Public property MainTexture: TGLTexture read FMainTex write SetMainTexTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public property MaxFurLength: Single read FMaxFurLength write FMaxFurLength;
Public property NoiseTexture: TGLTexture read FNoiseTex write SetNoiseTexTexture;
Public property NoiseTextureName: TGLLibMaterialName read GetNoiseTexName write SetNoiseTexName;
Public property PassCount: Single read FPassCount write FPassCount;
Public property RandomFurLength : Boolean read FRandomFurLength Write FRandomFurLength;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLFurShader

Class TGLSLFurShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLFurShader = class(TGLCustomGLSLFurShader)

Description

No description available, ancestor TGLCustomGLSLFurShader description follows

Custom class for Fur Shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLFurShader
  • TGLSLFurShader

Overview

Properties

Published | property Ambient;
Published | property BlendDst;
Published | property BlendSrc;
Published | property ColorScale;
Published | property FurDensity;
Published | property FurLength;
Published | property Gravity;
Published | property LightIntensity;
Published | property MainTexture;
Published | property MainTextureName;
Published | property MaxFurLength;
Published | property NoiseTexture;
Published | property NoiseTextureName;
Published | property PassCount;
Published | property RandomFurLength;

Description

Properties

Published property Ambient;
Published property BlendDst;
Published property BlendSrc;
Published property ColorScale;
Published property FurDensity;
Published property FurLength;
Published property Gravity;
Published property LightIntensity;
Published property MainTexture;
Published property MainTextureName;
Published property MaxFurLength;
Published property NoiseTexture;
Published property NoiseTextureName;
Published property PassCount;
Published property RandomFurLength;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLIvoryShader

Class TGLCustomGLSLIvoryShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLIvoryShader = class(TGLCustomGLSLShader)

Description

Custom class for a shader that simulate Ivory Material

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLIvoryShader

Overview

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;

Description

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLIvoryShader

Class TGLSLIvoryShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLIvoryShader = class(TGLCustomGLSLIvoryShader)

Description

No description available, ancestor TGLCustomGLSLIvoryShader description follows

Custom class for a shader that simulate Ivory Material

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLIvoryShader
  • TGLSLIvoryShader


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLSimpleLatticeShader

Class TGLCustomGLSLSimpleLatticeShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLSimpleLatticeShader = class(TGLCustomGLSLShader)

Description

Custom class for a shader that simulate Lattice

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleLatticeShader

Overview

Fields

Private | FLatticeScale: TGLCoordinates2;
Private | FLatticeThreshold: TGLCoordinates2;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure SetLatticeScale(const Value: TGLCoordinates2);
Private | procedure SetLatticeThreshold(const Value: TGLCoordinates2);

Properties

Public | property LatticeScale: TGLCoordinates2 read FLatticeScale write SetLatticeScale;
Public | property LatticeThreshold: TGLCoordinates2 read FLatticeThreshold write SetLatticeThreshold;

Description

Fields

Private FLatticeScale: TGLCoordinates2;
Private FLatticeThreshold: TGLCoordinates2;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure SetLatticeScale(const Value: TGLCoordinates2);
Private procedure SetLatticeThreshold(const Value: TGLCoordinates2);

Properties

Public property LatticeScale: TGLCoordinates2 read FLatticeScale write SetLatticeScale;
Public property LatticeThreshold: TGLCoordinates2 read FLatticeThreshold write SetLatticeThreshold;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLLatticeShader

Class TGLCustomGLSLLatticeShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLLatticeShader = class(TGLCustomGLSLSimpleLatticeShader)

Description

Custom class for GLSLLatticeShader. A shader that simulate Lattice with Diffuse/Specular and support Texture

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleLatticeShader
  • TGLCustomGLSLLatticeShader

Overview

Fields

Private | FAmbientColor: TGLColor;
Private | FDiffuseColor: TGLColor;
Private | FSpecularColor: TGLColor;
Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FMainTexture: TGLTexture;
Private | FMainTexName: TGLLibMaterialName;
Private | FSpecularPower: Single;
Private | FLightPower: Single;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Private | function GetMainTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure SetAmbientColor(AValue: TGLColor);
Private | procedure SetDiffuseColor(AValue: TGLColor);
Private | procedure SetMainTexName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexTexture(const Value: TGLTexture);
Private | procedure SetSpecularColor(AValue: TGLColor);

Properties

Public | property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public | property DiffuseColor : TGLColor read FDiffuseColor Write setDiffuseColor;
Public | property LightPower: Single read FLightPower write FLightPower;
Public | property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public | property SpecularPower: Single read FSpecularPower write FSpecularPower;

Description

Fields

Private FAmbientColor: TGLColor;
Private FDiffuseColor: TGLColor;
Private FSpecularColor: TGLColor;
Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FMainTexture: TGLTexture;
Private FMainTexName: TGLLibMaterialName;
Private FSpecularPower: Single;
Private FLightPower: Single;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Private function GetMainTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure DoInitialize(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure SetAmbientColor(AValue: TGLColor);
Private procedure SetDiffuseColor(AValue: TGLColor);
Private procedure SetMainTexName(const Value: TGLLibMaterialName);
Private procedure SetMainTexTexture(const Value: TGLTexture);
Private procedure SetSpecularColor(AValue: TGLColor);

Properties

Public property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public property DiffuseColor : TGLColor read FDiffuseColor Write setDiffuseColor;
Public property LightPower: Single read FLightPower write FLightPower;
Public property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public property SpecularPower: Single read FSpecularPower write FSpecularPower;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLSimpleLatticeShader

Class TGLSLSimpleLatticeShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLSimpleLatticeShader = class(TGLCustomGLSLSimpleLatticeShader)

Description

No description available, ancestor TGLCustomGLSLSimpleLatticeShader description follows

Custom class for a shader that simulate Lattice

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleLatticeShader
  • TGLSLSimpleLatticeShader

Overview

Properties

Published | property LatticeScale;
Published | property LatticeThreshold;

Description

Properties

Published property LatticeScale;
Published property LatticeThreshold;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLLatticeShader

Class TGLSLLatticeShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLLatticeShader = class(TGLCustomGLSLLatticeShader)

Description

No description available, ancestor TGLCustomGLSLLatticeShader description follows

Custom class for GLSLLatticeShader. A shader that simulate Lattice with Diffuse/Specular and support Texture

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSimpleLatticeShader
  • TGLCustomGLSLLatticeShader
  • TGLSLLatticeShader

Overview

Properties

Published | property AmbientColor;
Published | property DiffuseColor;
Published | property LatticeScale;
Published | property LatticeThreshold;
Published | property LightPower;
Published | property MainTexture;
Published | property SpecularColor;
Published | property SpecularPower;

Description

Properties

Published property AmbientColor;
Published property DiffuseColor;
Published property LatticeScale;
Published property LatticeThreshold;
Published property LightPower;
Published property MainTexture;
Published property SpecularColor;
Published property SpecularPower;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLSemShader

Class TGLCustomGLSLSemShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLSemShader = class(TGLCustomGLSLShader)

Description

Custom class for SEM Shader : Spherical Environment Mapping

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSemShader

Overview

Fields

Private | FAmbientColor: TGLColor;
Private | FSpecularColor: TGLColor;
Private | FAmbientFactor: Single;
Private | FDiffuseFactor: Single;
Private | FSpecularFactor: Single;
Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FMainTexture: TGLTexture;
Private | FMainTexName: TGLLibMaterialName;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMainTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure SetAmbientColor(AValue: TGLColor);
Private | procedure SetMainTexName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexTexture(const Value: TGLTexture);
Private | procedure SetSpecularColor(AValue: TGLColor);

Properties

Public | property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public | property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public | property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public | property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public | property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;

Description

Fields

Private FAmbientColor: TGLColor;
Private FSpecularColor: TGLColor;

FDiffuseColor: TGLColor;

Private FAmbientFactor: Single;
Private FDiffuseFactor: Single;
Private FSpecularFactor: Single;
Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FMainTexture: TGLTexture;
Private FMainTexName: TGLLibMaterialName;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMainTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;

FSpecularPower: Single; FLightPower: Single;

Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure SetAmbientColor(AValue: TGLColor);

procedure SetDiffuseColor(AValue: TGLColor);

Private procedure SetMainTexName(const Value: TGLLibMaterialName);
Private procedure SetMainTexTexture(const Value: TGLTexture);
Private procedure SetSpecularColor(AValue: TGLColor);

Properties

Public property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;

property DiffuseColor : TGLColor read FDiffuseColor Write setDiffuseColor;

Public property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLSemShader

Class TGLSLSemShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLSemShader = class(TGLCustomGLSLSemShader)

Description

No description available, ancestor TGLCustomGLSLSemShader description follows

Custom class for SEM Shader : Spherical Environment Mapping

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLSemShader
  • TGLSLSemShader

Overview

Properties

Published | property AmbientColor;
Published | property AmbientFactor;
Published | property DiffuseFactor;
Published | property MainTexture;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property SpecularColor;
Published | property SpecularFactor;

Description

Properties

Published property AmbientColor;
Published property AmbientFactor;
Published property DiffuseFactor;
Published property MainTexture;
Published property MainTextureName;
Published property MaterialLibrary;
Published property SpecularColor;

property DiffuseColor;

Published property SpecularFactor;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLToonShader

Class TGLCustomGLSLToonShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLToonShader = class(TGLCustomGLSLShader)

Description

Custom class for Toon Shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLToonShader

Overview

Fields

Private | FHighlightColor: TGLColor;
Private | FMidColor: TGLColor;
Private | FLightenShadowColor: TGLColor;
Private | FDarkenShadowColor: TGLColor;
Private | FOutlineColor: TGLColor;
Private | FHighlightSize: Single;
Private | FMidSize: Single;
Private | FShadowSize: Single;
Private | FOutlineWidth: Single;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private | procedure SetDarkenShadowColor(AValue: TGLColor);
Private | procedure SetHighLightColor(AValue: TGLColor);
Private | procedure SetLightenShadowColor(AValue: TGLColor);
Private | procedure SetMidColor(AValue: TGLColor);
Private | procedure SetOutlineColor(AValue: TGLColor);

Properties

Public | property DarkenShadowrColor : TGLColor Read FDarkenShadowColor Write setDarkenShadowColor;
Public | property HighlightColor : TGLColor read FHighlightColor Write setHighlightColor;
Public | property HighlightSize : Single read FHighlightSize write FHighlightSize;
Public | property LightenShadowColor : TGLColor Read FLightenShadowColor Write setLightenShadowColor;
Public | property MidColor : TGLColor read FMidColor Write setMidColor;
Public | property MidSize : Single read FMidSize write FMidSize;
Public | property OutlinetColor : TGLColor Read FOutlineColor Write setOutlineColor;
Public | property OutlineWidth : Single read FOutlineWidth write FOutlineWidth;
Public | property ShadowSize : Single read FShadowSize write FShadowSize;

Description

Fields

Private FHighlightColor: TGLColor;
Private FMidColor: TGLColor;
Private FLightenShadowColor: TGLColor;
Private FDarkenShadowColor: TGLColor;
Private FOutlineColor: TGLColor;
Private FHighlightSize: Single;
Private FMidSize: Single;
Private FShadowSize: Single;
Private FOutlineWidth: Single;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Private procedure SetDarkenShadowColor(AValue: TGLColor);
Private procedure SetHighLightColor(AValue: TGLColor);
Private procedure SetLightenShadowColor(AValue: TGLColor);
Private procedure SetMidColor(AValue: TGLColor);
Private procedure SetOutlineColor(AValue: TGLColor);

Properties

Public property DarkenShadowrColor : TGLColor Read FDarkenShadowColor Write setDarkenShadowColor;
Public property HighlightColor : TGLColor read FHighlightColor Write setHighlightColor;
Public property HighlightSize : Single read FHighlightSize write FHighlightSize;
Public property LightenShadowColor : TGLColor Read FLightenShadowColor Write setLightenShadowColor;
Public property MidColor : TGLColor read FMidColor Write setMidColor;
Public property MidSize : Single read FMidSize write FMidSize;
Public property OutlinetColor : TGLColor Read FOutlineColor Write setOutlineColor;
Public property OutlineWidth : Single read FOutlineWidth write FOutlineWidth;
Public property ShadowSize : Single read FShadowSize write FShadowSize;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLToonShader

Class TGLSLToonShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLToonShader = class(TGLCustomGLSLToonShader)

Description

No description available, ancestor TGLCustomGLSLToonShader description follows

Custom class for Toon Shader

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLToonShader
  • TGLSLToonShader

Overview

Properties

Published | property DarkenShadowrColor;
Published | property HighlightColor;
Published | property HighlightSize;
Published | property LightenShadowColor;
Published | property MidColor;
Published | property MidSize;
Published | property OutlinetColor;
Published | property OutlineWidth;
Published | property ShadowSize;

Description

Properties

Published property DarkenShadowrColor;
Published property HighlightColor;
Published property HighlightSize;
Published property LightenShadowColor;
Published property MidColor;
Published property MidSize;
Published property OutlinetColor;
Published property OutlineWidth;
Published property ShadowSize;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLCustomGLSLVertexDisplacementShader

Class TGLCustomGLSLVertexDisplacementShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLCustomGLSLVertexDisplacementShader = class(TGLCustomGLSLShader)

Description

VertexDisplacement shader: Basic Vertex Displacement with Perlin Noise You can Improved it: The vertex displacement can be done by reading a 2D or 3D texture. It can be done along the normal or the tangent. It can be scaled, twisted, modulated, inverted... Converted from : https://www.clicktorelease.com/blog/vertex-displacement-noise-3d-webgl-glsl-three-js At this time only one light source is supported

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLVertexDisplacementShader

Overview

Fields

Private | FAmbientColor: TGLColor;
Private | FSpecularColor: TGLColor;
Private | FAmbientFactor: Single;
Private | FDiffuseFactor: Single;
Private | FSpecularFactor: Single;
Private | FMaterialLibrary: TGLAbstractMaterialLibrary;
Private | FMainTexture: TGLTexture;
Private | FMainTexName: TGLLibMaterialName;
Private | FElapsedTime: Single;
Private | FNoise: Single;
Private | FDisplacementScale: Single;
Private | FNoiseScale: Single;
Private | FTurbulenceFactor: Single;
Private | FNoisePeriod: Single;
Private | FTimeFactor: Single;

Methods

Public | constructor Create(AOwner : TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private | function GetMainTexName: TGLLibMaterialName;
Private | function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private | procedure SetAmbientColor(AValue: TGLColor);
Private | procedure SetMainTexName(const Value: TGLLibMaterialName);
Private | procedure SetMainTexTexture(const Value: TGLTexture);
Private | procedure SetSpecularColor(AValue: TGLColor);

Properties

Public | property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public | property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public | property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public | property DisplacementScale : Single read FDisplacementScale write FDisplacementScale;
Public | property ElapsedTime: Single read FElapsedTime write FElapsedTime;
Public | property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public | property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public | property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public | property NoiseFactor : Single read FNoise write FNoise;
Public | property NoisePeriod : Single read FNoisePeriod write FNoisePeriod;
Public | property NoiseScale : Single read FNoiseScale write FNoiseScale;
Public | property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;
Public | property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;
Public | property TimeFactor : Single read FTimeFactor write FTimeFactor;
Public | property TurbulenceFactor : Single read FTurbulenceFactor write FTurbulenceFactor;

Description

Fields

Private FAmbientColor: TGLColor;
Private FSpecularColor: TGLColor;

FDiffuseColor: TGLColor;

Private FAmbientFactor: Single;
Private FDiffuseFactor: Single;
Private FSpecularFactor: Single;
Private FMaterialLibrary: TGLAbstractMaterialLibrary;
Private FMainTexture: TGLTexture;
Private FMainTexName: TGLLibMaterialName;
Private FElapsedTime: Single;
Private FNoise: Single;
Private FDisplacementScale: Single;
Private FNoiseScale: Single;
Private FTurbulenceFactor: Single;
Private FNoisePeriod: Single;
Private FTimeFactor: Single;

Methods

Public constructor Create(AOwner : TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Private function GetMainTexName: TGLLibMaterialName;
Private function GetMaterialLibrary: TGLAbstractMaterialLibrary;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure SetMaterialLibrary(const Value: TGLAbstractMaterialLibrary); virtual;
Private procedure SetAmbientColor(AValue: TGLColor);

procedure SetDiffuseColor(AValue: TGLColor);

Private procedure SetMainTexName(const Value: TGLLibMaterialName);
Private procedure SetMainTexTexture(const Value: TGLTexture);
Private procedure SetSpecularColor(AValue: TGLColor);

Properties

Public property AmbientColor : TGLColor Read FAmbientColor Write setAmbientColor;
Public property AmbientFactor : Single Read FAmbientFactor Write FAmbientFactor;
Public property DiffuseFactor : Single Read FDiffuseFactor Write FDiffuseFactor;
Public property DisplacementScale : Single read FDisplacementScale write FDisplacementScale;
Public property ElapsedTime: Single read FElapsedTime write FElapsedTime;
Public property MainTexture: TGLTexture read FMainTexture write SetMainTexTexture;
Public property MainTextureName: TGLLibMaterialName read GetMainTexName write SetMainTexName;
Public property MaterialLibrary: TGLAbstractMaterialLibrary read getMaterialLibrary write SetMaterialLibrary;
Public property NoiseFactor : Single read FNoise write FNoise;
Public property NoisePeriod : Single read FNoisePeriod write FNoisePeriod;
Public property NoiseScale : Single read FNoiseScale write FNoiseScale;
Public property SpecularColor : TGLColor Read FSpecularColor Write setSpecularColor;

property DiffuseColor : TGLColor read FDiffuseColor Write setDiffuseColor;

Public property SpecularFactor : Single Read FSpecularFactor Write FSpecularFactor;
Public property TimeFactor : Single read FTimeFactor write FTimeFactor;
Public property TurbulenceFactor : Single read FTurbulenceFactor write FTurbulenceFactor;


GLSysHelp v.2.1: GLSL.ShapeShaders: Class TGLSLVertexDisplacementShader

Class TGLSLVertexDisplacementShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.ShapeShaders

Declaration

type TGLSLVertexDisplacementShader = class(TGLCustomGLSLVertexDisplacementShader)

Description

No description available, ancestor TGLCustomGLSLVertexDisplacementShader description follows

VertexDisplacement shader: Basic Vertex Displacement with Perlin Noise You can Improved it: The vertex displacement can be done by reading a 2D or 3D texture. It can be done along the normal or the tangent. It can be scaled, twisted, modulated, inverted... Converted from : https://www.clicktorelease.com/blog/vertex-displacement-noise-3d-webgl-glsl-three-js At this time only one light source is supported

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLCustomShader
  • TGLCustomGLSLShader
  • TGLCustomGLSLVertexDisplacementShader
  • TGLSLVertexDisplacementShader

Overview

Properties

Published | property AmbientColor;
Published | property AmbientFactor;
Published | property DiffuseFactor;
Published | property DisplacementScale;
Published | property ElapsedTime;
Published | property MainTexture;
Published | property MainTextureName;
Published | property MaterialLibrary;
Published | property NoiseFactor;
Published | property NoisePeriod;
Published | property NoiseScale;
Published | property SpecularColor;
Published | property SpecularFactor;
Published | property TimeFactor;
Published | property TurbulenceFactor;

Description

Properties

Published property AmbientColor;
Published property AmbientFactor;
Published property DiffuseFactor;
Published property DisplacementScale;
Published property ElapsedTime;
Published property MainTexture;
Published property MainTextureName;
Published property MaterialLibrary;
Published property NoiseFactor;
Published property NoisePeriod;
Published property NoiseScale;
Published property SpecularColor;

property DiffuseColor;

Published property SpecularFactor;
Published property TimeFactor;
Published property TurbulenceFactor;


GLSysHelp v.2.1: GLSL.TextureShaders

Unit GLSL.TextureShaders

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • Winapi.OpenGLext
  • System.Classes
  • System.SysUtils
  • GLS.OpenGLTokens
  • GLS.Scene
  • GLS.Context
  • GLS.Texture
  • GLS.TextureCombiners
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Color
  • GLS.Material
  • GLS.Strings
  • GLS.VectorFileObjects
  • GLS.XOpenGL
  • GLS.State
  • GLS.PersistentClasses
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.Utils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLTextureSharingShaderMaterial |
Class TGLTextureSharingShaderMaterials |
Class TGLTextureSharingShader |
Class TGLTexCombineShader |


GLSysHelp v.2.1: GLSL.TextureShaders: Class TGLTextureSharingShaderMaterial

Class TGLTextureSharingShaderMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.TextureShaders

Declaration

type TGLTextureSharingShaderMaterial = class(TGLInterfacedCollectionItem, IGLMaterialLibrarySupported)

Description

No description available, ancestor TGLInterfacedCollectionItem description follows

TCollectionItem thet inplements IInterface.

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLInterfacedCollectionItem
  • TGLTextureSharingShaderMaterial

Overview

Fields

Private | FTextureMatrix: TGLMatrix;
Private | FNeedToUpdateTextureMatrix: Boolean;
Private | FTextureMatrixIsUnitary: Boolean;
Private | FLibMaterial: TGLLibMaterial;
Private | FTexOffset: TGLCoordinates2;
Private | FTexScale: TGLCoordinates2;
Private | FBlendingMode: TGLBlendingMode;
Private | FSpecular: TGLColor;
Private | FAmbient: TGLColor;
Private | FDiffuse: TGLColor;
Private | FEmission: TGLColor;
Private | FShininess: TGLShininess;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FLibMaterialName: TGLLibMaterialName;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Protected | function GetDisplayName: string; override;
Protected | function GetMaterialLibrary: TGLAbstractMaterialLibrary; virtual;
Protected | function GetTextureSharingShader: TGLTextureSharingShader;
Private | function GetTextureMatrix: TGLMatrix;
Private | function GetTextureMatrixIsUnitary: Boolean;
Public | procedure Apply(var rci: TGLRenderContextInfo);
Public | procedure UnApply(var rci: TGLRenderContextInfo);
Protected | procedure coordNotifychange(Sender: TObject);
Protected | procedure OtherNotifychange(Sender: TObject);
Private | procedure SetAmbient(const Value: TGLColor);
Private | procedure SetBlendingMode(const Value: TGLBlendingMode);
Private | procedure SetDiffuse(const Value: TGLColor);
Private | procedure SetEmission(const Value: TGLColor);
Private | procedure SetLibMaterial(const Value: TGLLibMaterial);
Private | procedure SetLibMaterialName(const Value: TGLLibMaterialName);
Private | procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private | procedure SetShininess(const Value: TGLShininess);
Private | procedure SetSpecular(const Value: TGLColor);
Private | procedure SetTexOffset(const Value: TGLCoordinates2);
Private | procedure SetTexScale(const Value: TGLCoordinates2);

Properties

Published | property Ambient: TGLColor read FAmbient write SetAmbient;
Published | property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode;
Published | property Diffuse: TGLColor read FDiffuse write SetDiffuse;
Published | property Emission: TGLColor read FEmission write SetEmission;
Public | property LibMaterial: TGLLibMaterial read FLibMaterial write SetLibMaterial;
Published | property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published | property Shininess: TGLShininess read FShininess write SetShininess;
Published | property Specular: TGLColor read FSpecular write SetSpecular;
Published | property TexOffset: TGLCoordinates2 read FTexOffset write SetTexOffset;
Published | property TexScale: TGLCoordinates2 read FTexScale write SetTexScale;
Public | property TextureMatrix: TGLMatrix read GetTextureMatrix;
Public | property TextureMatrixIsUnitary: Boolean read GetTextureMatrixIsUnitary;

Description

Fields

Private FTextureMatrix: TGLMatrix;
Private FNeedToUpdateTextureMatrix: Boolean;
Private FTextureMatrixIsUnitary: Boolean;
Private FLibMaterial: TGLLibMaterial;
Private FTexOffset: TGLCoordinates2;
Private FTexScale: TGLCoordinates2;
Private FBlendingMode: TGLBlendingMode;
Private FSpecular: TGLColor;
Private FAmbient: TGLColor;
Private FDiffuse: TGLColor;
Private FEmission: TGLColor;
Private FShininess: TGLShininess;
Private FMaterialLibrary: TGLMaterialLibrary;
Private FLibMaterialName: TGLLibMaterialName;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Protected function GetDisplayName: string; override;
Protected function GetMaterialLibrary: TGLAbstractMaterialLibrary; virtual;

Implementing IGLMaterialLibrarySupported.

Protected function GetTextureSharingShader: TGLTextureSharingShader;
Private function GetTextureMatrix: TGLMatrix;
Private function GetTextureMatrixIsUnitary: Boolean;
Public procedure Apply(var rci: TGLRenderContextInfo);
Public procedure UnApply(var rci: TGLRenderContextInfo);
Protected procedure coordNotifychange(Sender: TObject);
Protected procedure OtherNotifychange(Sender: TObject);
Private procedure SetAmbient(const Value: TGLColor);
Private procedure SetBlendingMode(const Value: TGLBlendingMode);
Private procedure SetDiffuse(const Value: TGLColor);
Private procedure SetEmission(const Value: TGLColor);
Private procedure SetLibMaterial(const Value: TGLLibMaterial);
Private procedure SetLibMaterialName(const Value: TGLLibMaterialName);
Private procedure SetMaterialLibrary(const Value: TGLMaterialLibrary);
Private procedure SetShininess(const Value: TGLShininess);
Private procedure SetSpecular(const Value: TGLColor);
Private procedure SetTexOffset(const Value: TGLCoordinates2);
Private procedure SetTexScale(const Value: TGLCoordinates2);

Properties

Published property Ambient: TGLColor read FAmbient write SetAmbient;
Published property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode;
Published property Diffuse: TGLColor read FDiffuse write SetDiffuse;
Published property Emission: TGLColor read FEmission write SetEmission;
Public property LibMaterial: TGLLibMaterial read FLibMaterial write SetLibMaterial;
Published property LibMaterialName: TGLLibMaterialName read FLibMaterialName write SetLibMaterialName;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
Published property Shininess: TGLShininess read FShininess write SetShininess;
Published property Specular: TGLColor read FSpecular write SetSpecular;
Published property TexOffset: TGLCoordinates2 read FTexOffset write SetTexOffset;
Published property TexScale: TGLCoordinates2 read FTexScale write SetTexScale;
Public property TextureMatrix: TGLMatrix read GetTextureMatrix;
Public property TextureMatrixIsUnitary: Boolean read GetTextureMatrixIsUnitary;


GLSysHelp v.2.1: GLSL.TextureShaders: Class TGLTextureSharingShaderMaterials

Class TGLTextureSharingShaderMaterials

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.TextureShaders

Declaration

type TGLTextureSharingShaderMaterials = class(TOwnedCollection)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollection
  • TOwnedCollection
  • TGLTextureSharingShaderMaterials

Overview

Methods

Public | constructor Create(AOwner: TGLTextureSharingShader);
Public | function Add: TGLTextureSharingShaderMaterial;
Protected | function GetItems(const AIndex: Integer): TGLTextureSharingShaderMaterial;
Protected | function GetParent: TGLTextureSharingShader;
Protected | procedure SetItems(const AIndex: Integer; const Value: TGLTextureSharingShaderMaterial);

Properties

Public property Items[constAIndex:Integer]: TGLTextureSharingShaderMaterial read GetItems write SetItems;

Description

Methods

Public constructor Create(AOwner: TGLTextureSharingShader);
Public function Add: TGLTextureSharingShaderMaterial;
Protected function GetItems(const AIndex: Integer): TGLTextureSharingShaderMaterial;
Protected function GetParent: TGLTextureSharingShader;
Protected procedure SetItems(const AIndex: Integer; const Value: TGLTextureSharingShaderMaterial);

Properties

Public property Items[constAIndex:Integer]: TGLTextureSharingShaderMaterial read GetItems write SetItems;


GLSysHelp v.2.1: GLSL.TextureShaders: Class TGLTextureSharingShader

Class TGLTextureSharingShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.TextureShaders

Declaration

type TGLTextureSharingShader = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLTextureSharingShader

Overview

Fields

Private | FMaterials: TGLTextureSharingShaderMaterials;
Private | FCurrentPass: Integer;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function AddLibMaterial(const ALibMaterial: TGLLibMaterial): TGLTextureSharingShaderMaterial;
Public | function FindLibMaterial(const ALibMaterial: TGLLibMaterial): TGLTextureSharingShaderMaterial;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private | procedure SetMaterials(const Value: TGLTextureSharingShaderMaterials);

Properties

Published property Materials: TGLTextureSharingShaderMaterials read FMaterials write SetMaterials;

Description

Fields

Private FMaterials: TGLTextureSharingShaderMaterials;
Private FCurrentPass: Integer;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function AddLibMaterial(const ALibMaterial: TGLLibMaterial): TGLTextureSharingShaderMaterial;
Public function FindLibMaterial(const ALibMaterial: TGLLibMaterial): TGLTextureSharingShaderMaterial;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Private procedure SetMaterials(const Value: TGLTextureSharingShaderMaterials);

Properties

Published property Materials: TGLTextureSharingShaderMaterials read FMaterials write SetMaterials;


GLSysHelp v.2.1: GLSL.TextureShaders: Class TGLTexCombineShader

Class TGLTexCombineShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.TextureShaders

Declaration

type TGLTexCombineShader = class(TGLShader)

Description

A shader that can setup the texture combiner.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLTexCombineShader

Overview

Fields

Private | FCombiners: TStringList;
Private | FCommandCache: TCombinerCache;
Private | FCombinerIsValid: Boolean;
Private | FDesignTimeEnabled: Boolean;
Private | FMaterialLibrary: TGLMaterialLibrary;
Private | FLibMaterial3Name: TGLLibMaterialName;
Private | currentLibMaterial3: TGLLibMaterial;
Private | FLibMaterial4Name: TGLLibMaterialName;
Private | currentLibMaterial4: TGLLibMaterial;
Private | FApplied3: Boolean;
Private | FApplied4: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure NotifyChange(Sender: TObject); override;
Protected | procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure DoFinalize; override;
Protected | procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected | procedure NotifyLibMaterial3Destruction;
Protected | procedure NotifyLibMaterial4Destruction;
Protected | procedure SetCombiners(const val: TStringList);
Protected | procedure SetDesignTimeEnabled(const val: Boolean);
Protected | procedure SetLibMaterial3Name(const val: TGLLibMaterialName);
Protected | procedure SetLibMaterial4Name(const val: TGLLibMaterialName);
Protected | procedure SetMaterialLibrary(const val: TGLMaterialLibrary);

Properties

Published | property Combiners: TStringList read FCombiners write SetCombiners;
Published | property DesignTimeEnabled: Boolean read FDesignTimeEnabled write SetDesignTimeEnabled;
Published | property LibMaterial3Name: TGLLibMaterialName read FLibMaterial3Name write SetLibMaterial3Name;
Published | property LibMaterial4Name: TGLLibMaterialName read FLibMaterial4Name write SetLibMaterial4Name;
Published | property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;

Description

Fields

Private FCombiners: TStringList;
Private FCommandCache: TCombinerCache;
Private FCombinerIsValid: Boolean;
Private FDesignTimeEnabled: Boolean;

to avoid reparsing invalid stuff

Private FMaterialLibrary: TGLMaterialLibrary;
Private FLibMaterial3Name: TGLLibMaterialName;
Private currentLibMaterial3: TGLLibMaterial;
Private FLibMaterial4Name: TGLLibMaterialName;
Private currentLibMaterial4: TGLLibMaterial;
Private FApplied3: Boolean;
Private FApplied4: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure NotifyChange(Sender: TObject); override;
Protected procedure DoApply(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure DoFinalize; override;
Protected procedure DoInitialize(var rci: TGLRenderContextInfo; Sender: TObject); override;
Protected procedure NotifyLibMaterial3Destruction;
Protected procedure NotifyLibMaterial4Destruction;
Protected procedure SetCombiners(const val: TStringList);
Protected procedure SetDesignTimeEnabled(const val: Boolean);
Protected procedure SetLibMaterial3Name(const val: TGLLibMaterialName);
Protected procedure SetLibMaterial4Name(const val: TGLLibMaterialName);
Protected procedure SetMaterialLibrary(const val: TGLMaterialLibrary);

Properties

Published property Combiners: TStringList read FCombiners write SetCombiners;
Published property DesignTimeEnabled: Boolean read FDesignTimeEnabled write SetDesignTimeEnabled;
Published property LibMaterial3Name: TGLLibMaterialName read FLibMaterial3Name write SetLibMaterial3Name;
Published property LibMaterial4Name: TGLLibMaterialName read FLibMaterial4Name write SetLibMaterial4Name;
Published property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;


GLSysHelp v.2.1: GLSL.UserShader

Unit GLSL.UserShader

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.Material
  • GLS.RenderContextInfo

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLUserShader |

Types

TOnDoApplyEvent = procedure (Sender : TObject; var rci : TGLRenderContextInfo) of Object;
TOnDoUnApplyEvent = procedure (Sender : TObject; Pass:Integer; var rci : TGLRenderContextInfo; var Continue : Boolean) of Object;

Description

Types

TOnDoApplyEvent = procedure (Sender : TObject; var rci : TGLRenderContextInfo) of Object;
TOnDoUnApplyEvent = procedure (Sender : TObject; Pass:Integer; var rci : TGLRenderContextInfo; var Continue : Boolean) of Object;


GLSysHelp v.2.1: GLSL.UserShader: Class TGLUserShader

Class TGLUserShader

Description
Hierarchy
Fields
Methods
Properties

Unit

GLSL.UserShader

Declaration

type TGLUserShader = class(TGLShader)

Description

No description available, ancestor TGLShader description follows

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLShader
  • TGLUserShader

Overview

Fields

Private | FPass: Integer;
Private | FOnDoApply: TOnDoApplyEvent;
Private | FOnDoUnApply: TOnDoUnApplyEvent;

Methods

Protected | function DoUnApply(var rci : TGLRenderContextInfo) : Boolean; override;
Protected | procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;

Properties

Published | property OnDoApply : TOnDoApplyEvent read FOnDoApply write FOnDoApply;
Published | property OnDoUnApply : TOnDoUnApplyEvent read FOnDoUnApply write FOnDoUnApply;
Published | property ShaderStyle;

Description

Fields

Private FPass: Integer;
Private FOnDoApply: TOnDoApplyEvent;
Private FOnDoUnApply: TOnDoUnApplyEvent;

Methods

Protected function DoUnApply(var rci : TGLRenderContextInfo) : Boolean; override;
Protected procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;

Properties

Published property OnDoApply : TOnDoApplyEvent read FOnDoApply write FOnDoApply;
Published property OnDoUnApply : TOnDoUnApplyEvent read FOnDoUnApply write FOnDoUnApply;
Published property ShaderStyle;


GLSysHelp v.2.1: OpenCL.GL

Unit OpenCL.GL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • OpenCL.Import
  • OpenCL.Platform

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record __GLsync |

Functions and Procedures

function clCreateFromGLBuffer(context: Tcl_context; flags: Tcl_mem_flags; bufobj: Cardinal; errcode_ret: Pcl_int): Tcl_mem; stdcall; external LibOpenCL;
function clCreateFromGLTexture3D(context: Tcl_context; flags: Tcl_mem_flags; target: Cardinal; miplevel: Integer; texture: Cardinal; errcode_ret: Pcl_int): Tcl_mem; stdcall; external LibOpenCL;
function clCreateFromGLRenderbuffer(context: Tcl_context; flags: Tcl_mem_flags; renderbuffer: Cardinal; errcode_ret: Pcl_int): Tcl_mem; stdcall; external LibOpenCL;
function clGetGLObjectInfo(memobj: Tcl_mem; gl_object_type: Pcl_gl_object_type; gl_object_name: PGLuint): Tcl_int; stdcall; external LibOpenCL;
function clGetGLTextureInfo(memobj: Tcl_mem; param_name: Tcl_gl_texture_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueAcquireGLObjects(command_queue: Tcl_command_queue; num_objects: Tcl_uint; mem_objects: Pcl_mem; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueReleaseGLObjects(command_queue: Tcl_command_queue; num_objects: Tcl_uint; mem_objects: Pcl_mem; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clGetGLContextInfoKHR(properties: Tcl_context_properties; param_name: Tcl_gl_context_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

Types

Pcl_GLsync = ˆ__GLsync;
Pcl_gl_context_info = ˆTcl_gl_context_info;
Pcl_gl_object_type = ˆTcl_gl_object_type;
Pcl_gl_platform_info = ˆTcl_gl_platform_info;
Pcl_gl_texture_info = ˆTcl_gl_texture_info;
PGLuint = ˆCardinal;
Tcl_gl_context_info = Tcl_uint;
Tcl_gl_object_type = Tcl_uint;
Tcl_gl_platform_info = Tcl_uint;
Tcl_gl_texture_info = Tcl_uint;

Constants

CL_GL_OBJECT_BUFFER = $2000;
CL_GL_OBJECT_TEXTURE2D = $2001;
CL_GL_OBJECT_TEXTURE3D = $2002;
CL_GL_OBJECT_RENDERBUFFER = $2003;
CL_GL_OBJECT_TEXTURE2D_ARRAY = $200E;
CL_GL_OBJECT_TEXTURE1D = $200F;
CL_GL_OBJECT_TEXTURE1D_ARRAY = $2010;
CL_GL_OBJECT_TEXTURE_BUFFER = $2011;
CL_GL_TEXTURE_TARGET = $2004;
CL_GL_MIPMAP_LEVEL = $2005;
CL_GL_NUM_SAMPLES = $2012;
cl_khr_gl_sharing = 1;
CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR = -1000;
CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR = $2006;
CL_DEVICES_FOR_GL_CONTEXT_KHR = $2007;
CL_GL_CONTEXT_KHR = $2008;
CL_EGL_DISPLAY_KHR = $2009;
CL_GLX_DISPLAY_KHR = $200A;
CL_WGL_HDC_KHR = $200B;
CL_CGL_SHAREGROUP_KHR = $200C;

Description

Functions and Procedures

function clCreateFromGLBuffer(context: Tcl_context; flags: Tcl_mem_flags; bufobj: Cardinal; errcode_ret: Pcl_int): Tcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0;

function clCreateFromGLTexture3D(context: Tcl_context; flags: Tcl_mem_flags; target: Cardinal; miplevel: Integer; texture: Cardinal; errcode_ret: Pcl_int): Tcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2;

function clCreateFromGLRenderbuffer(context: Tcl_context; flags: Tcl_mem_flags; renderbuffer: Cardinal; errcode_ret: Pcl_int): Tcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0;

function clGetGLObjectInfo(memobj: Tcl_mem; gl_object_type: Pcl_gl_object_type; gl_object_name: PGLuint): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0;

function clGetGLTextureInfo(memobj: Tcl_mem; param_name: Tcl_gl_texture_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0;

function clEnqueueAcquireGLObjects(command_queue: Tcl_command_queue; num_objects: Tcl_uint; mem_objects: Pcl_mem; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0;

function clEnqueueReleaseGLObjects(command_queue: Tcl_command_queue; num_objects: Tcl_uint; mem_objects: Pcl_mem; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0;

function clGetGLContextInfoKHR(properties: Tcl_context_properties; param_name: Tcl_gl_context_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

Types

Pcl_GLsync = ˆ__GLsync;
Pcl_gl_context_info = ˆTcl_gl_context_info;
Pcl_gl_object_type = ˆTcl_gl_object_type;
Pcl_gl_platform_info = ˆTcl_gl_platform_info;
Pcl_gl_texture_info = ˆTcl_gl_texture_info;
PGLuint = ˆCardinal;
Tcl_gl_context_info = Tcl_uint;
Tcl_gl_object_type = Tcl_uint;
Tcl_gl_platform_info = Tcl_uint;
Tcl_gl_texture_info = Tcl_uint;

Constants

CL_GL_OBJECT_BUFFER = $2000;

* cl_gl_object_type = 0x2000 - 0x200F enum values are currently taken *//

CL_GL_OBJECT_TEXTURE2D = $2001;
CL_GL_OBJECT_TEXTURE3D = $2002;
CL_GL_OBJECT_RENDERBUFFER = $2003;
CL_GL_OBJECT_TEXTURE2D_ARRAY = $200E;
CL_GL_OBJECT_TEXTURE1D = $200F;
CL_GL_OBJECT_TEXTURE1D_ARRAY = $2010;
CL_GL_OBJECT_TEXTURE_BUFFER = $2011;
CL_GL_TEXTURE_TARGET = $2004;

* cl_gl_texture_info *//

CL_GL_MIPMAP_LEVEL = $2005;
CL_GL_NUM_SAMPLES = $2012;
cl_khr_gl_sharing = 1;

* cl_khr_gl_sharing extension *//

CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR = -1000;

* Additional Error Codes *//

CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR = $2006;

* cl_gl_context_info *//

CL_DEVICES_FOR_GL_CONTEXT_KHR = $2007;
CL_GL_CONTEXT_KHR = $2008;

* Additional cl_context_properties *//

CL_EGL_DISPLAY_KHR = $2009;
CL_GLX_DISPLAY_KHR = $200A;
CL_WGL_HDC_KHR = $200B;
CL_CGL_SHAREGROUP_KHR = $200C;


GLSysHelp v.2.1: OpenCL.GL: Record __GLsync

Record __GLsync

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.GL

Declaration

type __GLsync = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import

Unit OpenCL.Import

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • OpenCL.Platform

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record T_cl_platform_id |
Record T_cl_device_id |
Record T_cl_context |
Record T_cl_command_queue |
Record T_cl_mem |
Record T_cl_program |
Record T_cl_kernel |
Record T_cl_event |
Record T_cl_sampler |
Packed Record Tcl_image_format |
Packed Record Tcl_image_desc |
Packed Record Tcl_buffer_region |

Functions and Procedures

function clGetPlatformIDs(num_entries: Tcl_uint; platforms: Pcl_platform_id; num_platforms: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;
function clGetPlatformInfo(cl_platform: Tcl_platform_id; param_name: Tcl_platform_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetDeviceIDs(_platform: Pcl_platform_id; device_type: Tcl_device_type; num_entries: Tcl_uint; devices: Pcl_device_id; num_devices: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;
function clGetDeviceInfo(device: Pcl_device_id; param_name: Tcl_device_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clCreateSubDevices(in_device: Pcl_device_id; properties: Pcl_device_partition_property; num_devices: Tcl_uint; out_devices: Pcl_device_id; num_devices_ret: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;
function clRetainDevice(device : Pcl_device_id): Tcl_int; stdcall; external LibOpenCL;
function clReleaseDevice(device : Pcl_device_id): Tcl_int; stdcall; external LibOpenCL;
function clSetDefaultDeviceCommandQueue(context: Pcl_context; device: Pcl_device_id; command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clGetDeviceAndHostTimer(device: Pcl_device_id; device_timestamp: Pcl_ulong; host_timestamp: Pcl_ulong): Tcl_int; stdcall; external LibOpenCL;
function clGetHostTimer(device: Pcl_device_id; host_timestamp: Pcl_ulong): Tcl_int; stdcall; external LibOpenCL;
function clCreateContext(properties: Pcl_context_properties; num_devices: Tcl_uint; devices: Pcl_device_id; pfn_notify: Tcl_context_notify; user_data: Pointer; errcode_ret: Pcl_int): Pcl_context; stdcall; external LibOpenCL;
function clCreateContextFromType(properties: Pcl_context_properties; device_type: Tcl_device_type; pfn_notify: Tcl_context_notify; user_data: Pointer; errcode_ret: Pcl_int): Pcl_context; stdcall; external LibOpenCL;
function clRetainContext(context: Pcl_context): Tcl_int; stdcall; external LibOpenCL;
function clReleaseContext(context: Pcl_context): Tcl_int; stdcall; external LibOpenCL;
function clGetContextInfo(context: Pcl_context; param_name: Tcl_context_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clCreateCommandQueue(context: Pcl_context; device: Pcl_device_id; properties: Tcl_command_queue_properties; errcode_ret: Pcl_int): Pcl_command_queue; stdcall; external LibOpenCL;
function clRetainCommandQueue(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clReleaseCommandQueue(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clGetCommandQueueInfo(command_queue: Pcl_command_queue; param_name: Tcl_command_queue_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clCreateBuffer(context: Pcl_context; flags: Tcl_mem_flags; size: NativeUInt; host_ptr: Pointer; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;
function clCreateSubBuffer(buffer: Pcl_mem; flags: Tcl_mem_flags; buffer_create_type: Tcl_buffer_create_type; buffer_create_info: Pointer; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;
function clCreateImage(context: Pcl_context; flags: Tcl_mem_flags; image_format: Pcl_image_format; image_desc: Pcl_image_desc; host_ptr: Pointer; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;
function clCreatePipe(context: Pcl_context; flags: Tcl_mem_flags; pipe_packet_size: Tcl_uint; pipe_max_packets: Tcl_uint; properties: Pcl_pipe_properties; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;
function clRetainMemObject(memobj: Pcl_mem): Tcl_int; stdcall; external LibOpenCL;
function clReleaseMemObject(memobj: Pcl_mem): Tcl_int; stdcall; external LibOpenCL;
function clGetSupportedImageFormats(context: Pcl_context; flags: Tcl_mem_flags; image_type: Tcl_mem_object_type; num_entries: Tcl_uint; image_formats: Pcl_image_format; num_image_formats: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;
function clGetMemObjectInfo(memobj: Pcl_mem; param_name: Tcl_mem_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetImageInfo(image: Pcl_mem; param_name: Tcl_image_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetPipeInfo(pipe: Pcl_mem; param_name: Tcl_pipe_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clSetMemObjectDestructorCallback(memobj: Pcl_mem; pfn_notify: Tcl_destructor_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clSVMAlloc(context: Pcl_context; flags: Tcl_svm_mem_flags; size: NativeUInt; alignment: Tcl_uint): Pointer; stdcall; external LibOpenCL;
procedure clSVMFree(context: Pcl_context; svm_pointer: Pointer); stdcall; external LibOpenCL;
function clCreateSamplerWithProperties(context: Pcl_context; normalized_coords: Pcl_sampler_properties; addressing_mode: Tcl_addressing_mode; errcode_ret: Pcl_int): Pcl_sampler; stdcall; external LibOpenCL;
function clRetainSampler(sampler: Pcl_sampler): Tcl_int; stdcall; external LibOpenCL;
function clReleaseSampler(sampler: Pcl_sampler): Tcl_int; stdcall; external LibOpenCL;
function clGetSamplerInfo(sampler: Pcl_sampler; param_name: Tcl_sampler_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clCreateProgramWithSource(context: Pcl_context; count: Tcl_uint; strings: PPAnsiChar; lengths: Psize_t; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;
function clCreateProgramWithBinary(context: Pcl_context; num_devices: Tcl_uint; device_list: Pcl_device_id; lengths: Psize_t; binaries: PByte; binary_status: Pcl_int; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;
function clCreateProgramWithBuiltInKernels(context: Pcl_context; num_devices: Tcl_uint; device_list: Pcl_device_id; kernel_names: Pcl_char; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;
function clCreateProgramWithIL(context: Pcl_context; il: Pointer; length: NativeUInt; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;
function clRetainProgram(_program: Pcl_program): Tcl_int; stdcall; external LibOpenCL;
function clReleaseProgram(_program: Pcl_program): Tcl_int; stdcall; external LibOpenCL;
function clBuildProgram(_program: Pcl_program; num_devices: Tcl_uint; device_list: Pcl_device_id; options: Pcl_char; pfn_notify: Tcl_programbuilt_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clCompileProgram(_program: Pcl_program; num_devices: Tcl_uint; device_list: Pcl_device_id; options: Pcl_char; num_input_headers: Tcl_uint; input_headers: Pcl_program; header_include_names: PPAnsiChar; pfn_notify: Tcl_programbuilt_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clLinkProgram(context: Pcl_context; num_devices: Tcl_uint; device_list: Pcl_device_id; options: Pcl_char; num_input_programs: Pcl_uint; input_programs: Pcl_program; pfn_notify: Tcl_programbuilt_notify; user_data: Pointer; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;
function clUnloadPlatformCompiler: Tcl_int; stdcall; external LibOpenCL;
function clGetProgramInfo(_program: Pcl_program; param_name: Tcl_program_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetProgramBuildInfo(_program: Pcl_program; device: Pcl_device_id; param_name: Tcl_program_build_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clCreateKernel(_program: Pcl_program; kernel_name: PAnsiChar; errcode_ret: Pcl_int): Pcl_kernel; stdcall; external LibOpenCL;
function clCreateKernelsInProgram(_program: Pcl_program; num_kernels: Tcl_uint; kernels: Pcl_kernel; num_kernels_ret: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;
function clCloneKernel(source_kernel: Pcl_kernel; errocode_ret: Pcl_int): Tcl_int; stdcall; external LibOpenCL;
function clRetainKernel(kernel: Pcl_kernel): Tcl_int; stdcall; external LibOpenCL;
function clReleaseKernel(kernel: Pcl_kernel): Tcl_int; stdcall; external LibOpenCL;
function clSetKernelArg(kernel: Pcl_kernel; arg_index: Tcl_uint; arg_size: NativeUInt; arg_value: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clSetKernelArgSVMPointer(kernel: Pcl_kernel; arg_index: Tcl_uint; arg_value: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clSetKernelExecInfo(kernel: Pcl_kernel; param_name: Tcl_kernel_exec_info; param_value_size: NativeUInt; param_value: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clGetKernelInfo(kernel: Pcl_kernel; param_name: Tcl_kernel_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetKernelArgInfo(kernel: Pcl_kernel; arg_indx: Tcl_uint; param_name: Tcl_kernel_arg_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetKernelWorkGroupInfo(kernel: Pcl_kernel; device: Pcl_device_id; param_name: Tcl_kernel_work_group_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clGetKernelSubGroupInfo(kernel: Pcl_kernel; device: Pcl_device_id; param_name: Tcl_kernel_sub_group_info; input_value_size: NativeUInt; input_value: Pointer; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clWaitForEvents(num_events: Tcl_uint; event_list: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clGetEventInfo(event: Pcl_event; param_name: Tcl_event_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clCreateUserEvent(context: Pcl_context; errcode_ret: Pcl_int): Pcl_event; stdcall; external LibOpenCL;
function clRetainEvent(event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clReleaseEvent(event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clSetUserEventStatus(event: Pcl_event; execution_status: Tcl_int): Tcl_int; stdcall; external LibOpenCL;
function clSetEventCallback(event: Pcl_event; command_exec_callback_type: Tcl_int; pfn_notify: Tcl_event_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clGetEventProfilingInfo(event: Pcl_event; param_name: Tcl_profiling_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;
function clFlush(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clFinish(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueReadBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_read: Tcl_bool; offset: NativeUInt; size: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueReadBufferRect(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_read: Tcl_bool; buffer_offset: Psize_t; host_offset: Psize_t; region: Psize_t; buffer_row_pitch: NativeUInt; buffer_slice_pitch: NativeUInt; host_row_pitch: NativeUInt; host_slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueWriteBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_write: Tcl_bool; offset: NativeUInt; size: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueWriteBufferRect(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_write: Tcl_bool; buffer_offset: Psize_t; host_offset: Psize_t; region: Psize_t; buffer_row_pitch: NativeUInt; buffer_slice_pitch: NativeUInt; host_row_pitch: NativeUInt; host_slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueFillBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; pattern: Pointer; pattern_size: NativeUInt; offset: NativeUInt; size: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueCopyBuffer(command_queue: Pcl_command_queue; src_buffer: Pcl_mem; dst_buffer: Pcl_mem; src_offset: NativeUInt; dst_offset: NativeUInt; size: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueCopyBufferRect(command_queue: Pcl_command_queue; src_buffer: Pcl_mem; dst_buffer: Pcl_mem; src_offset: NativeUInt; dst_offset: NativeUInt; region: NativeUInt; src_row_pitch: NativeUInt; src_slice_pitch: NativeUInt; dst_row_pitch: NativeUInt; dst_slice_pitch: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueReadImage(command_queue: Pcl_command_queue; image: Pcl_mem; blocking_read: Tcl_bool; origin: Psize_t; region: Psize_t; row_pitch: NativeUInt; slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueWriteImage(command_queue: Pcl_command_queue; image: Pcl_mem; blocking_write: Tcl_bool; origin: Psize_t; region: Psize_t; input_row_pitch: NativeUInt; input_slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueFillImage(command_queue: Pcl_command_queue; image: Pcl_mem; fill_color: Pointer; origin: Psize_t; region: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueCopyImage(command_queue: Pcl_command_queue; src_image: Pcl_mem; dst_image: Pcl_mem; src_origin: Psize_t; dst_origin: Psize_t; region: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueCopyImageToBuffer(command_queue: Pcl_command_queue; src_image: Pcl_mem; dst_buffer: Pcl_mem; src_origin: Psize_t; region: Psize_t; dst_offset: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueCopyBufferToImage(command_queue: Pcl_command_queue; src_buffer: Pcl_mem; dst_image: Pcl_mem; src_offset: NativeUInt; dst_origin: Psize_t; region: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueMapBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_map: Pcl_bool; map_flags: Tcl_map_flags; offset: NativeUInt; cb: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event; errcode_ret: Pcl_int): Pointer; stdcall; external LibOpenCL;
function clEnqueueMapImage(command_queue: Pcl_command_queue; image: Pcl_mem; blocking_map: Tcl_bool; map_flags: Tcl_map_flags; origin: Psize_t; region: Psize_t; image_row_pitch: Psize_t; image_slice_pitch: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event; errcode_ret: Pcl_int): Pointer; stdcall; external LibOpenCL;
function clEnqueueUnmapMemObject(command_queue: Pcl_command_queue; memobj: Pcl_mem; mapped_ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueMigrateMemObjects(command_queue: Pcl_command_queue; num_mem_objects: Tcl_uint; mem_objects: Pcl_mem; flags: Tcl_mem_flags; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueNDRangeKernel(command_queue: Pcl_command_queue; kernel: Pcl_kernel; work_dim: Tcl_uint; global_work_offset: Psize_t; global_work_size: Psize_t; local_work_size: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueNativeKernel(command_queue: Pcl_command_queue; user_func: Tcl_EnqueueNativeKernel; args: Pointer; cb_args: NativeUInt; num_mem_objects: Tcl_uint; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueMarkerWithWaitList(command_queue: Pcl_command_queue; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueBarrierWithWaitList(command_queue: Pcl_command_queue; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueSVMFree(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; args: Pointer; pfn_free_func: Tcl_EnqueueSVM_fn; user_data: Pointer; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueSVMMemcpy(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; args: Pointer; user_data: Pointer; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueSVMMap(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; args: Pointer; user_data: Pointer; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueSVMUnmap(command_queue: Pcl_command_queue; svm_ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueSVMmigrateMem(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; svm_pointers: PPointer; sizes: Psize_t; flags: Tcl_mem_flags; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueWaitForEvents(command_queue: Pcl_command_queue; num_events: Tcl_uint; event_list: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueBarrier(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clGetExtensionFunctionAddressForPlatform(_platform: Pcl_platform_id; func_name: Pcl_char): Pointer; stdcall; external LibOpenCL;
function InitOpenCL: Boolean;
procedure CloseOpenCL;
function InitFromLibraryOpenCL(const CLName: WideString): Boolean;
function IsInitializedOpenCL: Boolean;

Types

Pcl_addressing_mode = ˆTcl_addressing_mode;
Pcl_bitfield = ˆTcl_bitfield;
Pcl_bool = ˆTcl_bool;
Pcl_buffer_create_type = ˆTcl_buffer_create_type;
Pcl_buffer_region = ˆTcl_buffer_region;
Pcl_build_status = ˆTcl_build_status;
Pcl_channel_order = ˆTcl_channel_order;
Pcl_channel_type = ˆTcl_channel_type;
Pcl_command_queue = ˆTcl_command_queue;
Pcl_command_queue_info = ˆTcl_command_queue_info;
Pcl_command_queue_properties = ˆTcl_command_queue_properties;
Pcl_command_type = ˆTcl_command_type;
Pcl_context = ˆTcl_context;
Pcl_context_info = ˆTcl_context_info;
Pcl_context_properties = ˆTcl_context_properties;
Pcl_device_affinity_domain = ˆTcl_device_affinity_domain;
Pcl_device_exec_capabilities = ˆTcl_device_exec_capabilities;
Pcl_device_fp_config = ˆTcl_device_fp_config;
Pcl_device_id = ˆTcl_device_id;
Pcl_device_info = ˆTcl_device_info;
Pcl_device_local_mem_type = ˆTcl_device_local_mem_type;
Pcl_device_mem_cache_type = ˆTcl_device_mem_cache_type;
Pcl_device_partition_property = ˆTcl_device_partition_property;
Pcl_device_svm_capabilities = ˆTcl_device_svm_capabilities;
Pcl_device_type = ˆTcl_device_type;
Pcl_event = ˆTcl_event;
Pcl_event_info = ˆTcl_event_info;
Pcl_filter_mode = ˆTcl_filter_mode;
Pcl_image_desc = ˆTcl_image_desc;
Pcl_image_format = ˆTcl_image_format;
Pcl_image_info = ˆTcl_image_info;
Pcl_kernel = ˆTcl_kernel;
Pcl_kernel_arg_access_qualifier = ˆTcl_kernel_arg_access_qualifier;
Pcl_kernel_arg_address_qualifier = ˆTcl_kernel_arg_address_qualifier;
Pcl_kernel_arg_info = ˆTcl_kernel_arg_info;
Pcl_kernel_arg_type_qualifier = ˆTcl_kernel_arg_type_qualifier;
Pcl_kernel_exec_info = ˆTcl_kernel_exec_info;
Pcl_kernel_info = ˆTcl_kernel_info;
Pcl_kernel_sub_group_info = ˆTcl_kernel_sub_group_info;
Pcl_kernel_work_group_info = ˆTcl_kernel_work_group_info;
Pcl_map_flags = ˆTcl_map_flags;
Pcl_mem = ˆTcl_mem;
Pcl_mem_flags = ˆTcl_mem_flags;
Pcl_mem_info = ˆTcl_mem_info;
Pcl_mem_migration_flag = ˆTcl_mem_migration_flag;
Pcl_mem_object_type = ˆTcl_mem_object_type;
Pcl_pipe_info = ˆTcl_pipe_info;
Pcl_pipe_properties = ˆTcl_pipe_properties;
Pcl_platform_id = ˆTcl_platform_id;
Pcl_platform_info = ˆTcl_platform_info;
Pcl_profiling_info = ˆTcl_profiling_info;
Pcl_program = ˆTcl_program;
Pcl_program_binary_type = ˆTcl_program_binary_type;
Pcl_program_build_info = ˆTcl_program_build_info;
Pcl_program_info = ˆTcl_program_info;
Pcl_queue_properties = ˆTcl_queue_properties;
Pcl_sampler = ˆTcl_sampler;
Pcl_sampler_info = ˆTcl_sampler_info;
Pcl_sampler_properties = ˆTcl_sampler_properties;
Pcl_svm_mem_flags = ˆTcl_svm_mem_flags;
Tcl_addressing_mode = Tcl_uint;
Tcl_bitfield = Tcl_ulong;
Tcl_bool = Tcl_uint;
Tcl_buffer_create_type = Tcl_uint;
Tcl_build_status = Tcl_int;
Tcl_channel_order = Tcl_uint;
Tcl_channel_type = Tcl_uint;
Tcl_command_queue = ˆT_cl_command_queue;
Tcl_command_queue_info = Tcl_uint;
Tcl_command_queue_properties = Tcl_bitfield;
Tcl_command_type = Tcl_uint;
Tcl_context = ˆT_cl_context;
Tcl_context_info = Tcl_uint;
Tcl_context_notify = procedure(errinfo: PAnsiChar; private_info: Pointer; size: NativeUInt; user_data: Pointer); stdcall;
Tcl_context_properties = intptr_t;
Tcl_destructor_notify = procedure(memobj: Pcl_mem; user_data: Pointer); stdcall;
Tcl_device_affinity_domain = Tcl_bitfield;
Tcl_device_exec_capabilities = Tcl_bitfield;
Tcl_device_fp_config = Tcl_bitfield;
Tcl_device_id = ˆT_cl_device_id;
Tcl_device_info = Tcl_uint;
Tcl_device_local_mem_type = Tcl_uint;
Tcl_device_mem_cache_type = Tcl_uint;
Tcl_device_partition_property = intptr_t;
Tcl_device_svm_capabilities = Tcl_bitfield;
Tcl_device_type = Tcl_bitfield;
Tcl_EnqueueNativeKernel = procedure(); stdcall;
Tcl_EnqueueSVM_fn = procedure(); stdcall;
Tcl_event = ˆT_cl_event;
Tcl_event_info = Tcl_uint;
Tcl_event_notify = procedure(event: Pcl_event; num_event: Tcl_int; user_data: Pointer); stdcall;
Tcl_filter_mode = Tcl_uint;
Tcl_image_info = Tcl_uint;
Tcl_kernel = ˆT_cl_kernel;
Tcl_kernel_arg_access_qualifier = Tcl_uint;
Tcl_kernel_arg_address_qualifier = Tcl_uint;
Tcl_kernel_arg_info = Tcl_uint;
Tcl_kernel_arg_type_qualifier = Tcl_bitfield;
Tcl_kernel_exec_info = Tcl_uint;
Tcl_kernel_info = Tcl_uint;
Tcl_kernel_sub_group_info = Tcl_uint;
Tcl_kernel_work_group_info = Tcl_uint;
Tcl_map_flags = Tcl_bitfield;
Tcl_mem = ˆT_cl_mem;
Tcl_mem_flags = Tcl_bitfield;
Tcl_mem_info = Tcl_uint;
Tcl_mem_migration_flag = Tcl_bitfield;
Tcl_mem_object_type = Tcl_uint;
Tcl_pipe_info = Tcl_uint;
Tcl_pipe_properties = intptr_t;
Tcl_platform_id = ˆT_cl_platform_id;
Tcl_platform_info = Tcl_uint;
Tcl_profiling_info = Tcl_uint;
Tcl_program = ˆT_cl_program;
Tcl_programbuilt_notify = procedure(_program: Pcl_program; user_data: Pointer); stdcall;
Tcl_program_binary_type = Tcl_uint;
Tcl_program_build_info = Tcl_uint;
Tcl_program_info = Tcl_uint;
Tcl_queue_properties = Tcl_bitfield;
Tcl_sampler = ˆT_cl_sampler;
Tcl_sampler_info = Tcl_uint;
Tcl_sampler_properties = Tcl_bitfield;
Tcl_svm_mem_flags = Tcl_bitfield;

Constants

LibOpenCL = 'OpenCL.dll';
CL_SUCCESS = 0;
CL_DEVICE_NOT_FOUND = -1;
CL_DEVICE_NOT_AVAILABLE = -2;
CL_COMPILER_NOT_AVAILABLE = -3;
CL_MEM_OBJECT_ALLOCATION_FAILURE = -4;
CL_OUT_OF_RESOURCES = -5;
CL_OUT_OF_HOST_MEMORY = -6;
CL_PROFILING_INFO_NOT_AVAILABLE = -7;
CL_MEM_COPY_OVERLAP = -8;
CL_IMAGE_FORMAT_MISMATCH = -9;
CL_IMAGE_FORMAT_NOT_SUPPORTED = -10;
CL_BUILD_PROGRAM_FAILURE = -11;
CL_MAP_FAILURE = -12;
CL_MISALIGNED_SUB_BUFFER_OFFSET = -13;
CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST = -14;
CL_COMPILE_PROGRAM_FAILURE = -15;
CL_LINKER_NOT_AVAILABLE = -16;
CL_LINK_PROGRAM_FAILURE = -17;
CL_DEVICE_PARTITION_FAILED = -18;
CL_KERNEL_ARG_INFO_NOT_AVAILABLE = -19;
CL_INVALID_VALUE = -30;
CL_INVALID_DEVICE_TYPE = -31;
CL_INVALID_PLATFORM = -32;
CL_INVALID_DEVICE = -33;
CL_INVALID_CONTEXT = -34;
CL_INVALID_QUEUE_PROPERTIES = -35;
CL_INVALID_COMMAND_QUEUE = -36;
CL_INVALID_HOST_PTR = -37;
CL_INVALID_MEM_OBJECT = -38;
CL_INVALID_IMAGE_FORMAT_DESCRIPTOR = -39;
CL_INVALID_IMAGE_SIZE = -40;
CL_INVALID_SAMPLER = -41;
CL_INVALID_BINARY = -42;
CL_INVALID_BUILD_OPTIONS = -43;
CL_INVALID_PROGRAM = -44;
CL_INVALID_PROGRAM_EXECUTABLE = -45;
CL_INVALID_KERNEL_NAME = -46;
CL_INVALID_KERNEL_DEFINITION = -47;
CL_INVALID_KERNEL = -48;
CL_INVALID_ARG_INDEX = -49;
CL_INVALID_ARG_VALUE = -50;
CL_INVALID_ARG_SIZE = -51;
CL_INVALID_KERNEL_ARGS = -52;
CL_INVALID_WORK_DIMENSION = -53;
CL_INVALID_WORK_GROUP_SIZE = -54;
CL_INVALID_WORK_ITEM_SIZE = -55;
CL_INVALID_GLOBAL_OFFSET = -56;
CL_INVALID_EVENT_WAIT_LIST = -57;
CL_INVALID_EVENT = -58;
CL_INVALID_OPERATION = -59;
CL_INVALID_GL_OBJECT = -60;
CL_INVALID_BUFFER_SIZE = -61;
CL_INVALID_MIP_LEVEL = -62;
CL_INVALID_GLOBAL_WORK_SIZE = -63;
CL_INVALID_PROPERTY = -64;
CL_INVALID_IMAGE_DESCRIPTOR = -65;
CL_INVALID_COMPILER_OPTIONS = -66;
CL_INVALID_LINKER_OPTIONS = -67;
CL_INVALID_DEVICE_PARTITION_COUNT = -68;
CL_INVALID_PIPE_SIZE = -69;
CL_INVALID_DEVICE_QUEUE = -70;
CL_INVALID_SPEC_ID = -71;
CL_MAX_SIZE_RESTRICTION_EXCEEDED = -72;
CL_VERSION_1_0 = 1;
CL_VERSION_1_1 = 1;
CL_VERSION_1_2 = 1;
CL_VERSION_2_0 = 1;
CL_VERSION_2_1 = 1;
CL_VERSION_2_2 = 1;
CL_FALSE = 0;
CL_TRUE = 1;
CL_BLOCKING = CL_TRUE;
CL_NON_BLOCKING = CL_FALSE;
CL_PLATFORM_PROFILE = $0900;
CL_PLATFORM_VERSION = $0901;
CL_PLATFORM_NAME = $0902;
CL_PLATFORM_VENDOR = $0903;
CL_PLATFORM_EXTENSIONS = $0904;
CL_PLATFORM_HOST_TIMER_RESOLUTION = $0905;
CL_DEVICE_TYPE_DEFAULT = (1 shl 0);
CL_DEVICE_TYPE_CPU = (1 shl 1);
CL_DEVICE_TYPE_GPU = (1 shl 2);
CL_DEVICE_TYPE_ACCELERATOR = (1 shl 3);
CL_DEVICE_TYPE_CUSTOM = (1 shl 4);
CL_DEVICE_TYPE_ALL = $FFFFFFFF;
CL_DEVICE_TYPE = $1000;
CL_DEVICE_VENDOR_ID = $1001;
CL_DEVICE_MAX_COMPUTE_UNITS = $1002;
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = $1003;
CL_DEVICE_MAX_WORK_GROUP_SIZE = $1004;
CL_DEVICE_MAX_WORK_ITEM_SIZES = $1005;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR = $1006;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = $1007;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT = $1008;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG = $1009;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = $100A;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = $100B;
CL_DEVICE_MAX_CLOCK_FREQUENCY = $100C;
CL_DEVICE_ADDRESS_BITS = $100D;
CL_DEVICE_MAX_READ_IMAGE_ARGS = $100E;
CL_DEVICE_MAX_WRITE_IMAGE_ARGS = $100F;
CL_DEVICE_MAX_MEM_ALLOC_SIZE = $1010;
CL_DEVICE_IMAGE2D_MAX_WIDTH = $1011;
CL_DEVICE_IMAGE2D_MAX_HEIGHT = $1012;
CL_DEVICE_IMAGE3D_MAX_WIDTH = $1013;
CL_DEVICE_IMAGE3D_MAX_HEIGHT = $1014;
CL_DEVICE_IMAGE3D_MAX_DEPTH = $1015;
CL_DEVICE_IMAGE_SUPPORT = $1016;
CL_DEVICE_MAX_PARAMETER_SIZE = $1017;
CL_DEVICE_MAX_SAMPLERS = $1018;
CL_DEVICE_MEM_BASE_ADDR_ALIGN = $1019;
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE = $101A;
CL_DEVICE_SINGLE_FP_CONFIG = $101B;
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE = $101C;
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE = $101D;
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE = $101E;
CL_DEVICE_GLOBAL_MEM_SIZE = $101F;
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = $1020;
CL_DEVICE_MAX_CONSTANT_ARGS = $1021;
CL_DEVICE_LOCAL_MEM_TYPE = $1022;
CL_DEVICE_LOCAL_MEM_SIZE = $1023;
CL_DEVICE_ERROR_CORRECTION_SUPPORT = $1024;
CL_DEVICE_PROFILING_TIMER_RESOLUTION = $1025;
CL_DEVICE_ENDIAN_LITTLE = $1026;
CL_DEVICE_AVAILABLE = $1027;
CL_DEVICE_COMPILER_AVAILABLE = $1028;
CL_DEVICE_EXECUTION_CAPABILITIES = $1029;
CL_DEVICE_QUEUE_PROPERTIES = $102A;
CL_DEVICE_QUEUE_ON_HOST_PROPERTIES = $102A;
CL_DEVICE_NAME = $102B;
CL_DEVICE_VENDOR = $102C;
CL_DRIVER_VERSION = $102D;
CL_DEVICE_PROFILE = $102E;
CL_DEVICE_VERSION = $102F;
CL_DEVICE_EXTENSIONS = $1030;
CL_DEVICE_PLATFORM = $1031;
CL_DEVICE_DOUBLE_FP_CONFIG = $1032;
CL_DEVICE_HALF_FP_CONFIG = $1033;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF = $1034;
CL_DEVICE_HOST_UNIFIED_MEMORY = $1035;
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR = $1036;
CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT = $1037;
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT = $1038;
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG = $1039;
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT = $103A;
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE = $103B;
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF = $103C;
CL_DEVICE_OPENCL_C_VERSION = $103D;
CL_DEVICE_LINKER_AVAILABLE = $103E;
CL_DEVICE_BUILT_IN_KERNELS = $103F;
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE = $1040;
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE = $1041;
CL_DEVICE_PARENT_DEVICE = $1042;
CL_DEVICE_PARTITION_MAX_SUB_DEVICES = $1043;
CL_DEVICE_PARTITION_PROPERTIES = $1044;
CL_DEVICE_PARTITION_AFFINITY_DOMAIN = $1045;
CL_DEVICE_PARTITION_TYPE = $1046;
CL_DEVICE_REFERENCE_COUNT = $1047;
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC = $1048;
CL_DEVICE_PRINTF_BUFFER_SIZE = $1049;
CL_DEVICE_IMAGE_PITCH_ALIGNMENT = $104A;
CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT = $104B;
CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS = $104C;
CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE = $104D;
CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES = $104E;
CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE = $104F;
CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE = $1050;
CL_DEVICE_MAX_ON_DEVICE_QUEUES = $1051;
CL_DEVICE_MAX_ON_DEVICE_EVENTS = $1052;
CL_DEVICE_SVM_CAPABILITIES = $1053;
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE = $1054;
CL_DEVICE_MAX_PIPE_ARGS = $1055;
CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS = $1056;
CL_DEVICE_PIPE_MAX_PACKET_SIZE = $1057;
CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT = $1058;
CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT = $1059;
CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT = $105A;
CL_DEVICE_IL_VERSION = $105B;
CL_DEVICE_MAX_NUM_SUB_GROUPS = $105C;
CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS = $105D;
CL_FP_DENORM = (1 shl 0);
CL_FP_INF_NAN = (1 shl 1);
CL_FP_ROUND_TO_NEAREST = (1 shl 2);
CL_FP_ROUND_TO_ZERO = (1 shl 3);
CL_FP_ROUND_TO_INF = (1 shl 4);
CL_FP_FMA = (1 shl 5);
CL_FP_SOFT_FLOAT = (1 shl 6);
CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT = (1 shl 7);
CL_NONE = $0;
CL_READ_ONLY_CACHE = $1;
CL_READ_WRITE_CACHE = $2;
CL_LOCAL = $1;
CL_GLOBAL = $2;
CL_EXEC_KERNEL = (1 shl 0);
CL_EXEC_NATIVE_KERNEL = (1 shl 1);
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE = (1 shl 0);
CL_QUEUE_PROFILING_ENABLE = (1 shl 1);
CL_QUEUE_ON_DEVICE = (1 shl 2);
CL_QUEUE_ON_DEVICE_DEFAULT = (1 shl 3);
CL_CONTEXT_REFERENCE_COUNT = $1080;
CL_CONTEXT_DEVICES = $1081;
CL_CONTEXT_PROPERTIES = $1082;
CL_CONTEXT_NUM_DEVICES = $1083;
CL_CONTEXT_PLATFORM = $1084;
CL_CONTEXT_INTEROP_USER_SYNC = $1085;
CL_DEVICE_PARTITION_EQUALLY = $1086;
CL_DEVICE_PARTITION_BY_COUNTS = $1087;
CL_DEVICE_PARTITION_BY_COUNTS_LIST_END = $0;
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN = $1088;
CL_DEVICE_AFFINITY_DOMAIN_NUMA = (1 shl 0);
CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE = (1 shl 1);
CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE = (1 shl 2);
CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE = (1 shl 3);
CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE = (1 shl 4);
CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE = (1 shl 5);
CL_DEVICE_SVM_COARSE_GRAIN_BUFFER = (1 shl 0);
CL_DEVICE_SVM_FINE_GRAIN_BUFFER = (1 shl 1);
CL_DEVICE_SVM_FINE_GRAIN_SYSTEM = (1 shl 2);
CL_DEVICE_SVM_ATOMICS = (1 shl 3);
CL_QUEUE_CONTEXT = $1090;
CL_QUEUE_DEVICE = $1091;
CL_QUEUE_REFERENCE_COUNT = $1092;
CL_QUEUE_PROPERTIES = $1093;
CL_QUEUE_SIZE = $1094;
CL_QUEUE_DEVICE_DEFAULT = $1095;
CL_MEM_READ_WRITE = (1 shl 0);
CL_MEM_WRITE_ONLY = (1 shl 1);
CL_MEM_READ_ONLY = (1 shl 2);
CL_MEM_USE_HOST_PTR = (1 shl 3);
CL_MEM_ALLOC_HOST_PTR = (1 shl 4);
CL_MEM_COPY_HOST_PTR = (1 shl 5);
CL_MEM_HOST_WRITE_ONLY = (1 shl 7);
CL_MEM_HOST_READ_ONLY = (1 shl 8);
CL_MEM_HOST_NO_ACCESS = (1 shl 9);
CL_MEM_SVM_FINE_GRAIN_BUFFER = (1 shl 10);
CL_MEM_SVM_ATOMICS = (1 shl 11);
CL_MEM_KERNEL_READ_AND_WRITE = (1 shl 12);
CL_MIGRATE_MEM_OBJECT_HOST = (1 shl 0);
CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED = (1 shl 1);
CL_R = $10B0;
CL_A = $10B1;
CL_RG = $10B2;
CL_RA = $10B3;
CL_RGB = $10B4;
CL_RGBA = $10B5;
CL_BGRA = $10B6;
CL_ARGB = $10B7;
CL_INTENSITY = $10B8;
CL_LUMINANCE = $10B9;
CL_Rx = $10BA;
CL_RGx = $10BB;
CL_RGBx = $10BC;
CL_DEPTH = $10BD;
CL_DEPTH_STENCIL = $10BE;
CL_sRGB = $10BF;
CL_sRGBx = $10C0;
CL_sRGBA = $10C1;
CL_sBGRA = $10C2;
CL_ABGR = $10C3;
CL_SNORM_INT8 = $10D0;
CL_SNORM_INT16 = $10D1;
CL_UNORM_INT8 = $10D2;
CL_UNORM_INT16 = $10D3;
CL_UNORM_SHORT_565 = $10D4;
CL_UNORM_SHORT_555 = $10D5;
CL_UNORM_INT_101010 = $10D6;
CL_SIGNED_INT8 = $10D7;
CL_SIGNED_INT16 = $10D8;
CL_SIGNED_INT32 = $10D9;
CL_UNSIGNED_INT8 = $10DA;
CL_UNSIGNED_INT16 = $10DB;
CL_UNSIGNED_INT32 = $10DC;
CL_HALF_FLOAT = $10DD;
CL_FLOAT = $10DE;
CL_UNORM_INT24 = $10DF;
CL_UNORM_INT_101010_2 = $10E0;
CL_MEM_OBJECT_BUFFER = $10F0;
CL_MEM_OBJECT_IMAGE2D = $10F1;
CL_MEM_OBJECT_IMAGE3D = $10F2;
CL_MEM_OBJECT_IMAGE2D_ARRAY = $10F3;
CL_MEM_OBJECT_IMAGE1D = $10F4;
CL_MEM_OBJECT_IMAGE1D_ARRAY = $10F5;
CL_MEM_OBJECT_IMAGE1D_BUFFER = $10F6;
CL_MEM_OBJECT_PIPE = $10F7;
CL_MEM_TYPE = $1100;
CL_MEM_FLAGS = $1101;
CL_MEM_SIZE = $1102;
CL_MEM_HOST_PTR = $1103;
CL_MEM_MAP_COUNT = $1104;
CL_MEM_REFERENCE_COUNT = $1105;
CL_MEM_CONTEXT = $1106;
CL_MEM_ASSOCIATED_MEMOBJECT = $1107;
CL_MEM_OFFSET = $1108;
CL_MEM_USES_SVM_POINTER = $1109;
CL_IMAGE_FORMAT = $1110;
CL_IMAGE_ELEMENT_SIZE = $1111;
CL_IMAGE_ROW_PITCH = $1112;
CL_IMAGE_SLICE_PITCH = $1113;
CL_IMAGE_WIDTH = $1114;
CL_IMAGE_HEIGHT = $1115;
CL_IMAGE_DEPTH = $1116;
CL_IMAGE_ARRAY_SIZE = $1117;
CL_IMAGE_BUFFER = $1118;
CL_IMAGE_NUM_MIP_LEVELS = $1119;
CL_IMAGE_NUM_SAMPLES = $111A;
CL_PIPE_PACKET_SIZE = $1120;
CL_PIPE_MAX_PACKETS = $1121;
CL_ADDRESS_NONE = $1130;
CL_ADDRESS_CLAMP_TO_EDGE = $1131;
CL_ADDRESS_CLAMP = $1132;
CL_ADDRESS_REPEAT = $1133;
CL_ADDRESS_MIRRORED_REPEAT = $1134;
CL_FILTER_NEAREST = $1140;
CL_FILTER_LINEAR = $1141;
CL_SAMPLER_REFERENCE_COUNT = $1150;
CL_SAMPLER_CONTEXT = $1151;
CL_SAMPLER_NORMALIZED_COORDS = $1152;
CL_SAMPLER_ADDRESSING_MODE = $1153;
CL_SAMPLER_FILTER_MODE = $1154;
CL_SAMPLER_MIP_FILTER_MODE = $1155;
CL_SAMPLER_LOD_MIN = $1156;
CL_SAMPLER_LOD_MAX = $1157;
CL_MAP_READ = (1 shl 0);
CL_MAP_WRITE = (1 shl 1);
CL_MAP_WRITE_INVALIDATE_REGION = (1 shl 2);
CL_PROGRAM_REFERENCE_COUNT = $1160;
CL_PROGRAM_CONTEXT = $1161;
CL_PROGRAM_NUM_DEVICES = $1162;
CL_PROGRAM_DEVICES = $1163;
CL_PROGRAM_SOURCE = $1164;
CL_PROGRAM_BINARY_SIZES = $1165;
CL_PROGRAM_BINARIES = $1166;
CL_PROGRAM_NUM_KERNELS = $1167;
CL_PROGRAM_KERNEL_NAMES = $1168;
CL_PROGRAM_IL = $1169;
CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT = $116A;
CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT = $116B;
CL_PROGRAM_BUILD_STATUS = $1181;
CL_PROGRAM_BUILD_OPTIONS = $1182;
CL_PROGRAM_BUILD_LOG = $1183;
CL_PROGRAM_BINARY_TYPE = $1184;
CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE = $1185;
CL_PROGBRAM_BINARY_TYPE_NONE = $0;
CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT = $1;
CL_PROGRAM_BINARY_TYPE_LIBRARY = $2;
CL_PROGRAM_BINARY_TYPE_EXECUTABLE = $4;
CL_BUILD_SUCCESS = 0;
CL_BUILD_NONE = -1;
CL_BUILD_ERROR = -2;
CL_BUILD_IN_PROGRESS = -3;
CL_KERNEL_FUNCTION_NAME = $1190;
CL_KERNEL_NUM_ARGS = $1191;
CL_KERNEL_REFERENCE_COUNT = $1192;
CL_KERNEL_CONTEXT = $1193;
CL_KERNEL_PROGRAM = $1194;
CL_KERNEL_ATTRIBUTES = $1195;
CL_KERNEL_MAX_NUM_SUB_GROUPS = $11B9;
CL_KERNEL_COMPILE_NUM_SUB_GROUPS = $11BA;
CL_KERNEL_ARG_ADDRESS_QUALIFIER = $1196;
CL_KERNEL_ARG_ACCESS_QUALIFIER = $1197;
CL_KERNEL_ARG_TYPE_NAME = $1198;
CL_KERNEL_ARG_TYPE_QUALIFIER = $1199;
CL_KERNEL_ARG_NAME = $119A;
CL_KERNEL_ARG_ADDRESS_GLOBAL = $119B;
CL_KERNEL_ARG_ADDRESS_LOCAL = $119C;
CL_KERNEL_ARG_ADDRESS_CONSTANT = $119D;
CL_KERNEL_ARG_ADDRESS_PRIVATE = $119E;
CL_KERNEL_ARG_ACCESS_READ_ONLY = $11A0;
CL_KERNEL_ARG_ACCESS_WRITE_ONLY = $11A1;
CL_KERNEL_ARG_ACCESS_READ_WRITE = $11A2;
CL_KERNEL_ARG_ACCESS_NONE = $11A3;
CL_KERNEL_ARG_TYPE_NONE = 0;
CL_KERNEL_ARG_TYPE_CONST = (1 shl 0);
CL_KERNEL_ARG_TYPE_RESTRICT = (1 shl 1);
CL_KERNEL_ARG_TYPE_VOLATILE = (1 shl 2);
CL_KERNEL_ARG_TYPE_PIPE = (1 shl 3);
CL_KERNEL_WORK_GROUP_SIZE = $11B0;
CL_KERNEL_COMPILE_WORK_GROUP_SIZE = $11B1;
CL_KERNEL_LOCAL_MEM_SIZE = $11B2;
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE = $11B3;
CL_KERNEL_PRIVATE_MEM_SIZE = $11B4;
CL_KERNEL_GLOBAL_WORK_SIZE = $11B5;
CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE = $2033;
CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE = $2034;
CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT = $11B8;
CL_KERNEL_EXEC_INFO_SVM_PTRS = $11B6;
CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM = $11B7;
CL_EVENT_COMMAND_QUEUE = $11D0;
CL_EVENT_COMMAND_TYPE = $11D1;
CL_EVENT_REFERENCE_COUNT = $11D2;
CL_EVENT_COMMAND_EXECUTION_STATUS = $11D3;
CL_EVENT_CONTEXT = $11D4;
CL_COMMAND_NDRANGE_KERNEL = $11F0;
CL_COMMAND_TASK = $11F1;
CL_COMMAND_NATIVE_KERNEL = $11F2;
CL_COMMAND_READ_BUFFER = $11F3;
CL_COMMAND_WRITE_BUFFER = $11F4;
CL_COMMAND_COPY_BUFFER = $11F5;
CL_COMMAND_READ_IMAGE = $11F6;
CL_COMMAND_WRITE_IMAGE = $11F7;
CL_COMMAND_COPY_IMAGE = $11F8;
CL_COMMAND_COPY_IMAGE_TO_BUFFER = $11F9;
CL_COMMAND_COPY_BUFFER_TO_IMAGE = $11FA;
CL_COMMAND_MAP_BUFFER = $11FB;
CL_COMMAND_MAP_IMAGE = $11FC;
CL_COMMAND_UNMAP_MEM_OBJECT = $11FD;
CL_COMMAND_MARKER = $11FE;
CL_COMMAND_ACQUIRE_GL_OBJECTS = $11FF;
CL_COMMAND_RELEASE_GL_OBJECTS = $1200;
CL_COMMAND_READ_BUFFER_RECT = $1201;
CL_COMMAND_WRITE_BUFFER_RECT = $1202;
CL_COMMAND_COPY_BUFFER_RECT = $1203;
CL_COMMAND_USER = $1204;
CL_COMMAND_BARRIER = $1205;
CL_COMMAND_MIGRATE_MEM_OBJECTS = $1206;
CL_COMMAND_FILL_BUFFER = $1207;
CL_COMMAND_FILL_IMAGE = $1208;
CL_COMMAND_SVM_FREE = $1209;
CL_COMMAND_SVM_MEMCPY = $120A;
CL_COMMAND_SVM_MEMFILL = $120B;
CL_COMMAND_SVM_MAP = $120C;
CL_COMMAND_SVM_UNMAP = $120D;
CL_COMPLETE = $0;
CL_RUNNING = $1;
CL_SUBMITTED = $2;
CL_QUEUED = $3;
CL_BUFFER_CREATE_TYPE_REGION = $1220;
CL_PROFILING_COMMAND_QUEUED = $1280;
CL_PROFILING_COMMAND_SUBMIT = $1281;
CL_PROFILING_COMMAND_START = $1282;
CL_PROFILING_COMMAND_END = $1283;
CL_PROFILING_COMMAND_COMPLETE = $1284;

Description

Functions and Procedures

function clGetPlatformIDs(num_entries: Tcl_uint; platforms: Pcl_platform_id; num_platforms: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;

Platform API

function clGetPlatformInfo(cl_platform: Tcl_platform_id; param_name: Tcl_platform_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetDeviceIDs(_platform: Pcl_platform_id; device_type: Tcl_device_type; num_entries: Tcl_uint; devices: Pcl_device_id; num_devices: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0 * Device APIs *//

function clGetDeviceInfo(device: Pcl_device_id; param_name: Tcl_device_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateSubDevices(in_device: Pcl_device_id; properties: Pcl_device_partition_property; num_devices: Tcl_uint; out_devices: Pcl_device_id; num_devices_ret: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clRetainDevice(device : Pcl_device_id): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clReleaseDevice(device : Pcl_device_id): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clSetDefaultDeviceCommandQueue(context: Pcl_context; device: Pcl_device_id; command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clGetDeviceAndHostTimer(device: Pcl_device_id; device_timestamp: Pcl_ulong; host_timestamp: Pcl_ulong): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_1

function clGetHostTimer(device: Pcl_device_id; host_timestamp: Pcl_ulong): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_1

function clCreateContext(properties: Pcl_context_properties; num_devices: Tcl_uint; devices: Pcl_device_id; pfn_notify: Tcl_context_notify; user_data: Pointer; errcode_ret: Pcl_int): Pcl_context; stdcall; external LibOpenCL;
function clCreateContextFromType(properties: Pcl_context_properties; device_type: Tcl_device_type; pfn_notify: Tcl_context_notify; user_data: Pointer; errcode_ret: Pcl_int): Pcl_context; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clRetainContext(context: Pcl_context): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clReleaseContext(context: Pcl_context): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetContextInfo(context: Pcl_context; param_name: Tcl_context_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateCommandQueue(context: Pcl_context; device: Pcl_device_id; properties: Tcl_command_queue_properties; errcode_ret: Pcl_int): Pcl_command_queue; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0 * Command Queue APIs *//

function clRetainCommandQueue(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clReleaseCommandQueue(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetCommandQueueInfo(command_queue: Pcl_command_queue; param_name: Tcl_command_queue_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateBuffer(context: Pcl_context; flags: Tcl_mem_flags; size: NativeUInt; host_ptr: Pointer; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0 * Memory Object APIs *//

function clCreateSubBuffer(buffer: Pcl_mem; flags: Tcl_mem_flags; buffer_create_type: Tcl_buffer_create_type; buffer_create_info: Pointer; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateImage(context: Pcl_context; flags: Tcl_mem_flags; image_format: Pcl_image_format; image_desc: Pcl_image_desc; host_ptr: Pointer; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_1

function clCreatePipe(context: Pcl_context; flags: Tcl_mem_flags; pipe_packet_size: Tcl_uint; pipe_max_packets: Tcl_uint; properties: Pcl_pipe_properties; errcode_ret: Pcl_int): Pcl_mem; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clRetainMemObject(memobj: Pcl_mem): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clReleaseMemObject(memobj: Pcl_mem): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetSupportedImageFormats(context: Pcl_context; flags: Tcl_mem_flags; image_type: Tcl_mem_object_type; num_entries: Tcl_uint; image_formats: Pcl_image_format; num_image_formats: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetMemObjectInfo(memobj: Pcl_mem; param_name: Tcl_mem_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetImageInfo(image: Pcl_mem; param_name: Tcl_image_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetPipeInfo(pipe: Pcl_mem; param_name: Tcl_pipe_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clSetMemObjectDestructorCallback(memobj: Pcl_mem; pfn_notify: Tcl_destructor_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clSVMAlloc(context: Pcl_context; flags: Tcl_svm_mem_flags; size: NativeUInt; alignment: Tcl_uint): Pointer; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_1 * SVM Allocation APIs *//

procedure clSVMFree(context: Pcl_context; svm_pointer: Pointer); stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clCreateSamplerWithProperties(context: Pcl_context; normalized_coords: Pcl_sampler_properties; addressing_mode: Tcl_addressing_mode; errcode_ret: Pcl_int): Pcl_sampler; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0 * Sampler APIs *//

function clRetainSampler(sampler: Pcl_sampler): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clReleaseSampler(sampler: Pcl_sampler): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetSamplerInfo(sampler: Pcl_sampler; param_name: Tcl_sampler_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateProgramWithSource(context: Pcl_context; count: Tcl_uint; strings: PPAnsiChar; lengths: Psize_t; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;

Program Object APIs

function clCreateProgramWithBinary(context: Pcl_context; num_devices: Tcl_uint; device_list: Pcl_device_id; lengths: Psize_t; binaries: PByte; binary_status: Pcl_int; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateProgramWithBuiltInKernels(context: Pcl_context; num_devices: Tcl_uint; device_list: Pcl_device_id; kernel_names: Pcl_char; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateProgramWithIL(context: Pcl_context; il: Pointer; length: NativeUInt; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clRetainProgram(_program: Pcl_program): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_1

function clReleaseProgram(_program: Pcl_program): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clBuildProgram(_program: Pcl_program; num_devices: Tcl_uint; device_list: Pcl_device_id; options: Pcl_char; pfn_notify: Tcl_programbuilt_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clCompileProgram(_program: Pcl_program; num_devices: Tcl_uint; device_list: Pcl_device_id; options: Pcl_char; num_input_headers: Tcl_uint; input_headers: Pcl_program; header_include_names: PPAnsiChar; pfn_notify: Tcl_programbuilt_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clLinkProgram(context: Pcl_context; num_devices: Tcl_uint; device_list: Pcl_device_id; options: Pcl_char; num_input_programs: Pcl_uint; input_programs: Pcl_program; pfn_notify: Tcl_programbuilt_notify; user_data: Pointer; errcode_ret: Pcl_int): Pcl_program; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clUnloadPlatformCompiler: Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clGetProgramInfo(_program: Pcl_program; param_name: Tcl_program_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clGetProgramBuildInfo(_program: Pcl_program; device: Pcl_device_id; param_name: Tcl_program_build_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateKernel(_program: Pcl_program; kernel_name: PAnsiChar; errcode_ret: Pcl_int): Pcl_kernel; stdcall; external LibOpenCL;

Kernel Object APIs

function clCreateKernelsInProgram(_program: Pcl_program; num_kernels: Tcl_uint; kernels: Pcl_kernel; num_kernels_ret: Pcl_uint): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCloneKernel(source_kernel: Pcl_kernel; errocode_ret: Pcl_int): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clRetainKernel(kernel: Pcl_kernel): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_1

function clReleaseKernel(kernel: Pcl_kernel): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clSetKernelArg(kernel: Pcl_kernel; arg_index: Tcl_uint; arg_size: NativeUInt; arg_value: Pointer): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clSetKernelArgSVMPointer(kernel: Pcl_kernel; arg_index: Tcl_uint; arg_value: Pointer): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clSetKernelExecInfo(kernel: Pcl_kernel; param_name: Tcl_kernel_exec_info; param_value_size: NativeUInt; param_value: Pointer): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clGetKernelInfo(kernel: Pcl_kernel; param_name: Tcl_kernel_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clGetKernelArgInfo(kernel: Pcl_kernel; arg_indx: Tcl_uint; param_name: Tcl_kernel_arg_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clGetKernelWorkGroupInfo(kernel: Pcl_kernel; device: Pcl_device_id; param_name: Tcl_kernel_work_group_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clGetKernelSubGroupInfo(kernel: Pcl_kernel; device: Pcl_device_id; param_name: Tcl_kernel_sub_group_info; input_value_size: NativeUInt; input_value: Pointer; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clWaitForEvents(num_events: Tcl_uint; event_list: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0 * Event Object APIs *//

function clGetEventInfo(event: Pcl_event; param_name: Tcl_event_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clCreateUserEvent(context: Pcl_context; errcode_ret: Pcl_int): Pcl_event; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clRetainEvent(event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_1

function clReleaseEvent(event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clSetUserEventStatus(event: Pcl_event; execution_status: Tcl_int): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clSetEventCallback(event: Pcl_event; command_exec_callback_type: Tcl_int; pfn_notify: Tcl_event_notify; user_data: Pointer): Tcl_int; stdcall; external LibOpenCL;
function clGetEventProfilingInfo(event: Pcl_event; param_name: Tcl_profiling_info; param_value_size: NativeUInt; param_value: Pointer; param_value_size_ret: Psize_t): Tcl_int; stdcall; external LibOpenCL;

Profiling APIs

function clFlush(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0 * Flush and Finish APIs *//

function clFinish(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueReadBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_read: Tcl_bool; offset: NativeUInt; size: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0 * Enqueued Commands APIs *//

function clEnqueueReadBufferRect(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_read: Tcl_bool; buffer_offset: Psize_t; host_offset: Psize_t; region: Psize_t; buffer_row_pitch: NativeUInt; buffer_slice_pitch: NativeUInt; host_row_pitch: NativeUInt; host_slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueWriteBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_write: Tcl_bool; offset: NativeUInt; size: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_1

function clEnqueueWriteBufferRect(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_write: Tcl_bool; buffer_offset: Psize_t; host_offset: Psize_t; region: Psize_t; buffer_row_pitch: NativeUInt; buffer_slice_pitch: NativeUInt; host_row_pitch: NativeUInt; host_slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueFillBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; pattern: Pointer; pattern_size: NativeUInt; offset: NativeUInt; size: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_1

function clEnqueueCopyBuffer(command_queue: Pcl_command_queue; src_buffer: Pcl_mem; dst_buffer: Pcl_mem; src_offset: NativeUInt; dst_offset: NativeUInt; size: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clEnqueueCopyBufferRect(command_queue: Pcl_command_queue; src_buffer: Pcl_mem; dst_buffer: Pcl_mem; src_offset: NativeUInt; dst_offset: NativeUInt; region: NativeUInt; src_row_pitch: NativeUInt; src_slice_pitch: NativeUInt; dst_row_pitch: NativeUInt; dst_slice_pitch: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueReadImage(command_queue: Pcl_command_queue; image: Pcl_mem; blocking_read: Tcl_bool; origin: Psize_t; region: Psize_t; row_pitch: NativeUInt; slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_1

function clEnqueueWriteImage(command_queue: Pcl_command_queue; image: Pcl_mem; blocking_write: Tcl_bool; origin: Psize_t; region: Psize_t; input_row_pitch: NativeUInt; input_slice_pitch: NativeUInt; ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueFillImage(command_queue: Pcl_command_queue; image: Pcl_mem; fill_color: Pointer; origin: Psize_t; region: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueCopyImage(command_queue: Pcl_command_queue; src_image: Pcl_mem; dst_image: Pcl_mem; src_origin: Psize_t; dst_origin: Psize_t; region: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clEnqueueCopyImageToBuffer(command_queue: Pcl_command_queue; src_image: Pcl_mem; dst_buffer: Pcl_mem; src_origin: Psize_t; region: Psize_t; dst_offset: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueCopyBufferToImage(command_queue: Pcl_command_queue; src_buffer: Pcl_mem; dst_image: Pcl_mem; src_offset: NativeUInt; dst_origin: Psize_t; region: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueMapBuffer(command_queue: Pcl_command_queue; buffer: Pcl_mem; blocking_map: Pcl_bool; map_flags: Tcl_map_flags; offset: NativeUInt; cb: NativeUInt; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event; errcode_ret: Pcl_int): Pointer; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueMapImage(command_queue: Pcl_command_queue; image: Pcl_mem; blocking_map: Tcl_bool; map_flags: Tcl_map_flags; origin: Psize_t; region: Psize_t; image_row_pitch: Psize_t; image_slice_pitch: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event; errcode_ret: Pcl_int): Pointer; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueUnmapMemObject(command_queue: Pcl_command_queue; memobj: Pcl_mem; mapped_ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueMigrateMemObjects(command_queue: Pcl_command_queue; num_mem_objects: Tcl_uint; mem_objects: Pcl_mem; flags: Tcl_mem_flags; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueNDRangeKernel(command_queue: Pcl_command_queue; kernel: Pcl_kernel; work_dim: Tcl_uint; global_work_offset: Psize_t; global_work_size: Psize_t; local_work_size: Psize_t; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clEnqueueNativeKernel(command_queue: Pcl_command_queue; user_func: Tcl_EnqueueNativeKernel; args: Pointer; cb_args: NativeUInt; num_mem_objects: Tcl_uint; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueMarkerWithWaitList(command_queue: Pcl_command_queue; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueBarrierWithWaitList(command_queue: Pcl_command_queue; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_2

function clEnqueueSVMFree(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; args: Pointer; pfn_free_func: Tcl_EnqueueSVM_fn; user_data: Pointer; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;
function clEnqueueSVMMemcpy(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; args: Pointer; user_data: Pointer; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_1_0

function clEnqueueSVMMap(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; args: Pointer; user_data: Pointer; mem_list: Pcl_mem; args_mem_loc: PPointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clEnqueueSVMUnmap(command_queue: Pcl_command_queue; svm_ptr: Pointer; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clEnqueueSVMmigrateMem(command_queue: Pcl_command_queue; num_svm_pointers: Tcl_uint; svm_pointers: PPointer; sizes: Psize_t; flags: Tcl_mem_flags; num_events_in_wait_list: Tcl_uint; event_wait_list: Pcl_event; event: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_0

function clEnqueueWaitForEvents(command_queue: Pcl_command_queue; num_events: Tcl_uint; event_list: Pcl_event): Tcl_int; stdcall; external LibOpenCL;

CL_API_SUFFIX__VERSION_2_1

function clEnqueueBarrier(command_queue: Pcl_command_queue): Tcl_int; stdcall; external LibOpenCL;
function clGetExtensionFunctionAddressForPlatform(_platform: Pcl_platform_id; func_name: Pcl_char): Pointer; stdcall; external LibOpenCL;

* Extension function access * * Returns the extension function address for the given function name, * or NULL if a valid function can not be found. The client must * check to make sure the address is not NULL, before using or * calling the returned function address. *

function InitOpenCL: Boolean;

CL_API_SUFFIX__VERSION_1_2 * Deprecated OpenCL 1.1 APIs *// clCreateImage2D(); clCreateImage3D(); clEnqueueMarker(); clEnqueueWaitForEvents(); clEnqueueBarrier(); clUnloadCompiler(); clGetExtensionFunctionAddress(); * Deprecated OpenCL 2.0 APIs *// clCreateCommandQueue(); clCreateSampler(); clEnqueueTask(); ————————————————————————-

procedure CloseOpenCL;
function InitFromLibraryOpenCL(const CLName: WideString): Boolean;
function IsInitializedOpenCL: Boolean;

Types

Pcl_addressing_mode = ˆTcl_addressing_mode;
Pcl_bitfield = ˆTcl_bitfield;
Pcl_bool = ˆTcl_bool;

* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. *//

Pcl_buffer_create_type = ˆTcl_buffer_create_type;
Pcl_buffer_region = ˆTcl_buffer_region;
Pcl_build_status = ˆTcl_build_status;
Pcl_channel_order = ˆTcl_channel_order;
Pcl_channel_type = ˆTcl_channel_type;
Pcl_command_queue = ˆTcl_command_queue;
Pcl_command_queue_info = ˆTcl_command_queue_info;
Pcl_command_queue_properties = ˆTcl_command_queue_properties;
Pcl_command_type = ˆTcl_command_type;
Pcl_context = ˆTcl_context;
Pcl_context_info = ˆTcl_context_info;
Pcl_context_properties = ˆTcl_context_properties;
Pcl_device_affinity_domain = ˆTcl_device_affinity_domain;
Pcl_device_exec_capabilities = ˆTcl_device_exec_capabilities;
Pcl_device_fp_config = ˆTcl_device_fp_config;
Pcl_device_id = ˆTcl_device_id;
Pcl_device_info = ˆTcl_device_info;
Pcl_device_local_mem_type = ˆTcl_device_local_mem_type;
Pcl_device_mem_cache_type = ˆTcl_device_mem_cache_type;
Pcl_device_partition_property = ˆTcl_device_partition_property;
Pcl_device_svm_capabilities = ˆTcl_device_svm_capabilities;
Pcl_device_type = ˆTcl_device_type;
Pcl_event = ˆTcl_event;
Pcl_event_info = ˆTcl_event_info;
Pcl_filter_mode = ˆTcl_filter_mode;
Pcl_image_desc = ˆTcl_image_desc;
Pcl_image_format = ˆTcl_image_format;
Pcl_image_info = ˆTcl_image_info;
Pcl_kernel = ˆTcl_kernel;
Pcl_kernel_arg_access_qualifier = ˆTcl_kernel_arg_access_qualifier;
Pcl_kernel_arg_address_qualifier = ˆTcl_kernel_arg_address_qualifier;
Pcl_kernel_arg_info = ˆTcl_kernel_arg_info;
Pcl_kernel_arg_type_qualifier = ˆTcl_kernel_arg_type_qualifier;
Pcl_kernel_exec_info = ˆTcl_kernel_exec_info;
Pcl_kernel_info = ˆTcl_kernel_info;
Pcl_kernel_sub_group_info = ˆTcl_kernel_sub_group_info;
Pcl_kernel_work_group_info = ˆTcl_kernel_work_group_info;
Pcl_map_flags = ˆTcl_map_flags;
Pcl_mem = ˆTcl_mem;
Pcl_mem_flags = ˆTcl_mem_flags;
Pcl_mem_info = ˆTcl_mem_info;
Pcl_mem_migration_flag = ˆTcl_mem_migration_flag;
Pcl_mem_object_type = ˆTcl_mem_object_type;
Pcl_pipe_info = ˆTcl_pipe_info;
Pcl_pipe_properties = ˆTcl_pipe_properties;
Pcl_platform_id = ˆTcl_platform_id;
Pcl_platform_info = ˆTcl_platform_info;
Pcl_profiling_info = ˆTcl_profiling_info;
Pcl_program = ˆTcl_program;
Pcl_program_binary_type = ˆTcl_program_binary_type;
Pcl_program_build_info = ˆTcl_program_build_info;
Pcl_program_info = ˆTcl_program_info;
Pcl_queue_properties = ˆTcl_queue_properties;
Pcl_sampler = ˆTcl_sampler;
Pcl_sampler_info = ˆTcl_sampler_info;
Pcl_sampler_properties = ˆTcl_sampler_properties;
Pcl_svm_mem_flags = ˆTcl_svm_mem_flags;
Tcl_addressing_mode = Tcl_uint;
Tcl_bitfield = Tcl_ulong;
Tcl_bool = Tcl_uint;
Tcl_buffer_create_type = Tcl_uint;
Tcl_build_status = Tcl_int;
Tcl_channel_order = Tcl_uint;
Tcl_channel_type = Tcl_uint;
Tcl_command_queue = ˆT_cl_command_queue;
Tcl_command_queue_info = Tcl_uint;
Tcl_command_queue_properties = Tcl_bitfield;
Tcl_command_type = Tcl_uint;
Tcl_context = ˆT_cl_context;
Tcl_context_info = Tcl_uint;
Tcl_context_notify = procedure(errinfo: PAnsiChar; private_info: Pointer; size: NativeUInt; user_data: Pointer); stdcall;

CL_API_SUFFIX__VERSION_2_1 * Context APIs *//

Tcl_context_properties = intptr_t;
Tcl_destructor_notify = procedure(memobj: Pcl_mem; user_data: Pointer); stdcall;

CL_API_SUFFIX__VERSION_2_0

Tcl_device_affinity_domain = Tcl_bitfield;
Tcl_device_exec_capabilities = Tcl_bitfield;
Tcl_device_fp_config = Tcl_bitfield;
Tcl_device_id = ˆT_cl_device_id;
Tcl_device_info = Tcl_uint;
Tcl_device_local_mem_type = Tcl_uint;
Tcl_device_mem_cache_type = Tcl_uint;
Tcl_device_partition_property = intptr_t;
Tcl_device_svm_capabilities = Tcl_bitfield;
Tcl_device_type = Tcl_bitfield;
Tcl_EnqueueNativeKernel = procedure(); stdcall;

CL_API_SUFFIX__VERSION_1_0

Tcl_EnqueueSVM_fn = procedure(); stdcall;

CL_API_SUFFIX__VERSION_1_2

Tcl_event = ˆT_cl_event;
Tcl_event_info = Tcl_uint;
Tcl_event_notify = procedure(event: Pcl_event; num_event: Tcl_int; user_data: Pointer); stdcall;

CL_API_SUFFIX__VERSION_1_1

Tcl_filter_mode = Tcl_uint;
Tcl_image_info = Tcl_uint;
Tcl_kernel = ˆT_cl_kernel;
Tcl_kernel_arg_access_qualifier = Tcl_uint;
Tcl_kernel_arg_address_qualifier = Tcl_uint;
Tcl_kernel_arg_info = Tcl_uint;
Tcl_kernel_arg_type_qualifier = Tcl_bitfield;
Tcl_kernel_exec_info = Tcl_uint;
Tcl_kernel_info = Tcl_uint;
Tcl_kernel_sub_group_info = Tcl_uint;
Tcl_kernel_work_group_info = Tcl_uint;
Tcl_map_flags = Tcl_bitfield;
Tcl_mem = ˆT_cl_mem;
Tcl_mem_flags = Tcl_bitfield;
Tcl_mem_info = Tcl_uint;
Tcl_mem_migration_flag = Tcl_bitfield;
Tcl_mem_object_type = Tcl_uint;
Tcl_pipe_info = Tcl_uint;
Tcl_pipe_properties = intptr_t;
Tcl_platform_id = ˆT_cl_platform_id;
Tcl_platform_info = Tcl_uint;
Tcl_profiling_info = Tcl_uint;
Tcl_program = ˆT_cl_program;
Tcl_programbuilt_notify = procedure(_program: Pcl_program; user_data: Pointer); stdcall;

CL_API_SUFFIX__VERSION_1_0

Tcl_program_binary_type = Tcl_uint;
Tcl_program_build_info = Tcl_uint;
Tcl_program_info = Tcl_uint;
Tcl_queue_properties = Tcl_bitfield;
Tcl_sampler = ˆT_cl_sampler;
Tcl_sampler_info = Tcl_uint;
Tcl_sampler_properties = Tcl_bitfield;
Tcl_svm_mem_flags = Tcl_bitfield;

Constants

LibOpenCL = 'OpenCL.dll';
CL_SUCCESS = 0;

Error Codes

CL_DEVICE_NOT_FOUND = -1;
CL_DEVICE_NOT_AVAILABLE = -2;
CL_COMPILER_NOT_AVAILABLE = -3;
CL_MEM_OBJECT_ALLOCATION_FAILURE = -4;
CL_OUT_OF_RESOURCES = -5;
CL_OUT_OF_HOST_MEMORY = -6;
CL_PROFILING_INFO_NOT_AVAILABLE = -7;
CL_MEM_COPY_OVERLAP = -8;
CL_IMAGE_FORMAT_MISMATCH = -9;
CL_IMAGE_FORMAT_NOT_SUPPORTED = -10;
CL_BUILD_PROGRAM_FAILURE = -11;
CL_MAP_FAILURE = -12;
CL_MISALIGNED_SUB_BUFFER_OFFSET = -13;
CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST = -14;
CL_COMPILE_PROGRAM_FAILURE = -15;
CL_LINKER_NOT_AVAILABLE = -16;
CL_LINK_PROGRAM_FAILURE = -17;
CL_DEVICE_PARTITION_FAILED = -18;
CL_KERNEL_ARG_INFO_NOT_AVAILABLE = -19;
CL_INVALID_VALUE = -30;
CL_INVALID_DEVICE_TYPE = -31;
CL_INVALID_PLATFORM = -32;
CL_INVALID_DEVICE = -33;
CL_INVALID_CONTEXT = -34;
CL_INVALID_QUEUE_PROPERTIES = -35;
CL_INVALID_COMMAND_QUEUE = -36;
CL_INVALID_HOST_PTR = -37;
CL_INVALID_MEM_OBJECT = -38;
CL_INVALID_IMAGE_FORMAT_DESCRIPTOR = -39;
CL_INVALID_IMAGE_SIZE = -40;
CL_INVALID_SAMPLER = -41;
CL_INVALID_BINARY = -42;
CL_INVALID_BUILD_OPTIONS = -43;
CL_INVALID_PROGRAM = -44;
CL_INVALID_PROGRAM_EXECUTABLE = -45;
CL_INVALID_KERNEL_NAME = -46;
CL_INVALID_KERNEL_DEFINITION = -47;
CL_INVALID_KERNEL = -48;
CL_INVALID_ARG_INDEX = -49;
CL_INVALID_ARG_VALUE = -50;
CL_INVALID_ARG_SIZE = -51;
CL_INVALID_KERNEL_ARGS = -52;
CL_INVALID_WORK_DIMENSION = -53;
CL_INVALID_WORK_GROUP_SIZE = -54;
CL_INVALID_WORK_ITEM_SIZE = -55;
CL_INVALID_GLOBAL_OFFSET = -56;
CL_INVALID_EVENT_WAIT_LIST = -57;
CL_INVALID_EVENT = -58;
CL_INVALID_OPERATION = -59;
CL_INVALID_GL_OBJECT = -60;
CL_INVALID_BUFFER_SIZE = -61;
CL_INVALID_MIP_LEVEL = -62;
CL_INVALID_GLOBAL_WORK_SIZE = -63;
CL_INVALID_PROPERTY = -64;
CL_INVALID_IMAGE_DESCRIPTOR = -65;
CL_INVALID_COMPILER_OPTIONS = -66;
CL_INVALID_LINKER_OPTIONS = -67;
CL_INVALID_DEVICE_PARTITION_COUNT = -68;
CL_INVALID_PIPE_SIZE = -69;
CL_INVALID_DEVICE_QUEUE = -70;
CL_INVALID_SPEC_ID = -71;
CL_MAX_SIZE_RESTRICTION_EXCEEDED = -72;
CL_VERSION_1_0 = 1;

OpenCL Version

CL_VERSION_1_1 = 1;
CL_VERSION_1_2 = 1;
CL_VERSION_2_0 = 1;
CL_VERSION_2_1 = 1;
CL_VERSION_2_2 = 1;
CL_FALSE = 0;

cl_bool

CL_TRUE = 1;
CL_BLOCKING = CL_TRUE;
CL_NON_BLOCKING = CL_FALSE;
CL_PLATFORM_PROFILE = $0900;

cl_platform_info

CL_PLATFORM_VERSION = $0901;
CL_PLATFORM_NAME = $0902;
CL_PLATFORM_VENDOR = $0903;
CL_PLATFORM_EXTENSIONS = $0904;
CL_PLATFORM_HOST_TIMER_RESOLUTION = $0905;
CL_DEVICE_TYPE_DEFAULT = (1 shl 0);

cl_device_type - bitfield

CL_DEVICE_TYPE_CPU = (1 shl 1);
CL_DEVICE_TYPE_GPU = (1 shl 2);
CL_DEVICE_TYPE_ACCELERATOR = (1 shl 3);
CL_DEVICE_TYPE_CUSTOM = (1 shl 4);
CL_DEVICE_TYPE_ALL = $FFFFFFFF;
CL_DEVICE_TYPE = $1000;

cl_device_info

CL_DEVICE_VENDOR_ID = $1001;
CL_DEVICE_MAX_COMPUTE_UNITS = $1002;
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = $1003;
CL_DEVICE_MAX_WORK_GROUP_SIZE = $1004;
CL_DEVICE_MAX_WORK_ITEM_SIZES = $1005;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR = $1006;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = $1007;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT = $1008;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG = $1009;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = $100A;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = $100B;
CL_DEVICE_MAX_CLOCK_FREQUENCY = $100C;
CL_DEVICE_ADDRESS_BITS = $100D;
CL_DEVICE_MAX_READ_IMAGE_ARGS = $100E;
CL_DEVICE_MAX_WRITE_IMAGE_ARGS = $100F;
CL_DEVICE_MAX_MEM_ALLOC_SIZE = $1010;
CL_DEVICE_IMAGE2D_MAX_WIDTH = $1011;
CL_DEVICE_IMAGE2D_MAX_HEIGHT = $1012;
CL_DEVICE_IMAGE3D_MAX_WIDTH = $1013;
CL_DEVICE_IMAGE3D_MAX_HEIGHT = $1014;
CL_DEVICE_IMAGE3D_MAX_DEPTH = $1015;
CL_DEVICE_IMAGE_SUPPORT = $1016;
CL_DEVICE_MAX_PARAMETER_SIZE = $1017;
CL_DEVICE_MAX_SAMPLERS = $1018;
CL_DEVICE_MEM_BASE_ADDR_ALIGN = $1019;
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE = $101A;
CL_DEVICE_SINGLE_FP_CONFIG = $101B;
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE = $101C;
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE = $101D;
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE = $101E;
CL_DEVICE_GLOBAL_MEM_SIZE = $101F;
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = $1020;
CL_DEVICE_MAX_CONSTANT_ARGS = $1021;
CL_DEVICE_LOCAL_MEM_TYPE = $1022;
CL_DEVICE_LOCAL_MEM_SIZE = $1023;
CL_DEVICE_ERROR_CORRECTION_SUPPORT = $1024;
CL_DEVICE_PROFILING_TIMER_RESOLUTION = $1025;
CL_DEVICE_ENDIAN_LITTLE = $1026;
CL_DEVICE_AVAILABLE = $1027;
CL_DEVICE_COMPILER_AVAILABLE = $1028;
CL_DEVICE_EXECUTION_CAPABILITIES = $1029;
CL_DEVICE_QUEUE_PROPERTIES = $102A;
CL_DEVICE_QUEUE_ON_HOST_PROPERTIES = $102A;

deprecated

CL_DEVICE_NAME = $102B;
CL_DEVICE_VENDOR = $102C;
CL_DRIVER_VERSION = $102D;
CL_DEVICE_PROFILE = $102E;
CL_DEVICE_VERSION = $102F;
CL_DEVICE_EXTENSIONS = $1030;
CL_DEVICE_PLATFORM = $1031;
CL_DEVICE_DOUBLE_FP_CONFIG = $1032;
CL_DEVICE_HALF_FP_CONFIG = $1033;
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF = $1034;
CL_DEVICE_HOST_UNIFIED_MEMORY = $1035;
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR = $1036;

deprecated

CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT = $1037;
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT = $1038;
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG = $1039;
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT = $103A;
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE = $103B;
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF = $103C;
CL_DEVICE_OPENCL_C_VERSION = $103D;
CL_DEVICE_LINKER_AVAILABLE = $103E;
CL_DEVICE_BUILT_IN_KERNELS = $103F;
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE = $1040;
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE = $1041;
CL_DEVICE_PARENT_DEVICE = $1042;
CL_DEVICE_PARTITION_MAX_SUB_DEVICES = $1043;
CL_DEVICE_PARTITION_PROPERTIES = $1044;
CL_DEVICE_PARTITION_AFFINITY_DOMAIN = $1045;
CL_DEVICE_PARTITION_TYPE = $1046;
CL_DEVICE_REFERENCE_COUNT = $1047;
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC = $1048;
CL_DEVICE_PRINTF_BUFFER_SIZE = $1049;
CL_DEVICE_IMAGE_PITCH_ALIGNMENT = $104A;
CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT = $104B;
CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS = $104C;
CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE = $104D;
CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES = $104E;
CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE = $104F;
CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE = $1050;
CL_DEVICE_MAX_ON_DEVICE_QUEUES = $1051;
CL_DEVICE_MAX_ON_DEVICE_EVENTS = $1052;
CL_DEVICE_SVM_CAPABILITIES = $1053;
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE = $1054;
CL_DEVICE_MAX_PIPE_ARGS = $1055;
CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS = $1056;
CL_DEVICE_PIPE_MAX_PACKET_SIZE = $1057;
CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT = $1058;
CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT = $1059;
CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT = $105A;
CL_DEVICE_IL_VERSION = $105B;
CL_DEVICE_MAX_NUM_SUB_GROUPS = $105C;
CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS = $105D;
CL_FP_DENORM = (1 shl 0);

cl_device_fp_config - bitfield

CL_FP_INF_NAN = (1 shl 1);
CL_FP_ROUND_TO_NEAREST = (1 shl 2);
CL_FP_ROUND_TO_ZERO = (1 shl 3);
CL_FP_ROUND_TO_INF = (1 shl 4);
CL_FP_FMA = (1 shl 5);
CL_FP_SOFT_FLOAT = (1 shl 6);
CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT = (1 shl 7);
CL_NONE = $0;

cl_device_mem_cache_type

CL_READ_ONLY_CACHE = $1;
CL_READ_WRITE_CACHE = $2;
CL_LOCAL = $1;

cl_device_local_mem_type

CL_GLOBAL = $2;
CL_EXEC_KERNEL = (1 shl 0);

cl_device_exec_capabilities - bitfield

CL_EXEC_NATIVE_KERNEL = (1 shl 1);
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE = (1 shl 0);

cl_command_queue_properties - bitfield

CL_QUEUE_PROFILING_ENABLE = (1 shl 1);
CL_QUEUE_ON_DEVICE = (1 shl 2);
CL_QUEUE_ON_DEVICE_DEFAULT = (1 shl 3);
CL_CONTEXT_REFERENCE_COUNT = $1080;

cl_context_info

CL_CONTEXT_DEVICES = $1081;
CL_CONTEXT_PROPERTIES = $1082;
CL_CONTEXT_NUM_DEVICES = $1083;
CL_CONTEXT_PLATFORM = $1084;

cl_context_properties

CL_CONTEXT_INTEROP_USER_SYNC = $1085;
CL_DEVICE_PARTITION_EQUALLY = $1086;

cl_device_partition_property

CL_DEVICE_PARTITION_BY_COUNTS = $1087;
CL_DEVICE_PARTITION_BY_COUNTS_LIST_END = $0;
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN = $1088;
CL_DEVICE_AFFINITY_DOMAIN_NUMA = (1 shl 0);

cl_device_affinity_domain

CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE = (1 shl 1);
CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE = (1 shl 2);
CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE = (1 shl 3);
CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE = (1 shl 4);
CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE = (1 shl 5);
CL_DEVICE_SVM_COARSE_GRAIN_BUFFER = (1 shl 0);

cl_device_svm_capabilities

CL_DEVICE_SVM_FINE_GRAIN_BUFFER = (1 shl 1);
CL_DEVICE_SVM_FINE_GRAIN_SYSTEM = (1 shl 2);
CL_DEVICE_SVM_ATOMICS = (1 shl 3);
CL_QUEUE_CONTEXT = $1090;

cl_command_queue_info

CL_QUEUE_DEVICE = $1091;
CL_QUEUE_REFERENCE_COUNT = $1092;
CL_QUEUE_PROPERTIES = $1093;
CL_QUEUE_SIZE = $1094;
CL_QUEUE_DEVICE_DEFAULT = $1095;
CL_MEM_READ_WRITE = (1 shl 0);

cl_mem_flags - bitfield

CL_MEM_WRITE_ONLY = (1 shl 1);
CL_MEM_READ_ONLY = (1 shl 2);
CL_MEM_USE_HOST_PTR = (1 shl 3);
CL_MEM_ALLOC_HOST_PTR = (1 shl 4);
CL_MEM_COPY_HOST_PTR = (1 shl 5);
CL_MEM_HOST_WRITE_ONLY = (1 shl 7);

reserved (1 shl 6);

CL_MEM_HOST_READ_ONLY = (1 shl 8);
CL_MEM_HOST_NO_ACCESS = (1 shl 9);
CL_MEM_SVM_FINE_GRAIN_BUFFER = (1 shl 10);
CL_MEM_SVM_ATOMICS = (1 shl 11);

used by cl_svm_mem_flags only

CL_MEM_KERNEL_READ_AND_WRITE = (1 shl 12);

used by cl_svm_mem_flags only

CL_MIGRATE_MEM_OBJECT_HOST = (1 shl 0);

cl_mem_migration_flags - bitfield

CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED = (1 shl 1);
CL_R = $10B0;

cl_channel_order

CL_A = $10B1;
CL_RG = $10B2;
CL_RA = $10B3;
CL_RGB = $10B4;
CL_RGBA = $10B5;
CL_BGRA = $10B6;
CL_ARGB = $10B7;
CL_INTENSITY = $10B8;
CL_LUMINANCE = $10B9;
CL_Rx = $10BA;
CL_RGx = $10BB;
CL_RGBx = $10BC;
CL_DEPTH = $10BD;
CL_DEPTH_STENCIL = $10BE;
CL_sRGB = $10BF;
CL_sRGBx = $10C0;
CL_sRGBA = $10C1;
CL_sBGRA = $10C2;
CL_ABGR = $10C3;
CL_SNORM_INT8 = $10D0;

* cl_channel_type *//

CL_SNORM_INT16 = $10D1;
CL_UNORM_INT8 = $10D2;
CL_UNORM_INT16 = $10D3;
CL_UNORM_SHORT_565 = $10D4;
CL_UNORM_SHORT_555 = $10D5;
CL_UNORM_INT_101010 = $10D6;
CL_SIGNED_INT8 = $10D7;
CL_SIGNED_INT16 = $10D8;
CL_SIGNED_INT32 = $10D9;
CL_UNSIGNED_INT8 = $10DA;
CL_UNSIGNED_INT16 = $10DB;
CL_UNSIGNED_INT32 = $10DC;
CL_HALF_FLOAT = $10DD;
CL_FLOAT = $10DE;
CL_UNORM_INT24 = $10DF;
CL_UNORM_INT_101010_2 = $10E0;
CL_MEM_OBJECT_BUFFER = $10F0;

cl_mem_object_type

CL_MEM_OBJECT_IMAGE2D = $10F1;
CL_MEM_OBJECT_IMAGE3D = $10F2;
CL_MEM_OBJECT_IMAGE2D_ARRAY = $10F3;
CL_MEM_OBJECT_IMAGE1D = $10F4;
CL_MEM_OBJECT_IMAGE1D_ARRAY = $10F5;
CL_MEM_OBJECT_IMAGE1D_BUFFER = $10F6;
CL_MEM_OBJECT_PIPE = $10F7;
CL_MEM_TYPE = $1100;

cl_mem_info

CL_MEM_FLAGS = $1101;
CL_MEM_SIZE = $1102;
CL_MEM_HOST_PTR = $1103;
CL_MEM_MAP_COUNT = $1104;
CL_MEM_REFERENCE_COUNT = $1105;
CL_MEM_CONTEXT = $1106;
CL_MEM_ASSOCIATED_MEMOBJECT = $1107;
CL_MEM_OFFSET = $1108;
CL_MEM_USES_SVM_POINTER = $1109;
CL_IMAGE_FORMAT = $1110;

cl_image_info

CL_IMAGE_ELEMENT_SIZE = $1111;
CL_IMAGE_ROW_PITCH = $1112;
CL_IMAGE_SLICE_PITCH = $1113;
CL_IMAGE_WIDTH = $1114;
CL_IMAGE_HEIGHT = $1115;
CL_IMAGE_DEPTH = $1116;
CL_IMAGE_ARRAY_SIZE = $1117;
CL_IMAGE_BUFFER = $1118;
CL_IMAGE_NUM_MIP_LEVELS = $1119;
CL_IMAGE_NUM_SAMPLES = $111A;
CL_PIPE_PACKET_SIZE = $1120;

cl_pipe_info

CL_PIPE_MAX_PACKETS = $1121;
CL_ADDRESS_NONE = $1130;

cl_addressing_mode

CL_ADDRESS_CLAMP_TO_EDGE = $1131;
CL_ADDRESS_CLAMP = $1132;
CL_ADDRESS_REPEAT = $1133;
CL_ADDRESS_MIRRORED_REPEAT = $1134;
CL_FILTER_NEAREST = $1140;

cl_filter_mode

CL_FILTER_LINEAR = $1141;
CL_SAMPLER_REFERENCE_COUNT = $1150;

cl_sampler_info

CL_SAMPLER_CONTEXT = $1151;
CL_SAMPLER_NORMALIZED_COORDS = $1152;
CL_SAMPLER_ADDRESSING_MODE = $1153;
CL_SAMPLER_FILTER_MODE = $1154;
CL_SAMPLER_MIP_FILTER_MODE = $1155;
CL_SAMPLER_LOD_MIN = $1156;
CL_SAMPLER_LOD_MAX = $1157;
CL_MAP_READ = (1 shl 0);

cl_map_flags - bitfield

CL_MAP_WRITE = (1 shl 1);
CL_MAP_WRITE_INVALIDATE_REGION = (1 shl 2);
CL_PROGRAM_REFERENCE_COUNT = $1160;

cl_program_info

CL_PROGRAM_CONTEXT = $1161;
CL_PROGRAM_NUM_DEVICES = $1162;
CL_PROGRAM_DEVICES = $1163;
CL_PROGRAM_SOURCE = $1164;
CL_PROGRAM_BINARY_SIZES = $1165;
CL_PROGRAM_BINARIES = $1166;
CL_PROGRAM_NUM_KERNELS = $1167;
CL_PROGRAM_KERNEL_NAMES = $1168;
CL_PROGRAM_IL = $1169;
CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT = $116A;
CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT = $116B;
CL_PROGRAM_BUILD_STATUS = $1181;

cl_program_build_info

CL_PROGRAM_BUILD_OPTIONS = $1182;
CL_PROGRAM_BUILD_LOG = $1183;
CL_PROGRAM_BINARY_TYPE = $1184;
CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE = $1185;
CL_PROGBRAM_BINARY_TYPE_NONE = $0;

cl_program_binary_type

CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT = $1;
CL_PROGRAM_BINARY_TYPE_LIBRARY = $2;
CL_PROGRAM_BINARY_TYPE_EXECUTABLE = $4;
CL_BUILD_SUCCESS = 0;

cl_build_status

CL_BUILD_NONE = -1;
CL_BUILD_ERROR = -2;
CL_BUILD_IN_PROGRESS = -3;
CL_KERNEL_FUNCTION_NAME = $1190;

cl_kernel_info

CL_KERNEL_NUM_ARGS = $1191;
CL_KERNEL_REFERENCE_COUNT = $1192;
CL_KERNEL_CONTEXT = $1193;
CL_KERNEL_PROGRAM = $1194;
CL_KERNEL_ATTRIBUTES = $1195;
CL_KERNEL_MAX_NUM_SUB_GROUPS = $11B9;
CL_KERNEL_COMPILE_NUM_SUB_GROUPS = $11BA;
CL_KERNEL_ARG_ADDRESS_QUALIFIER = $1196;

cl_kernel_arg_info

CL_KERNEL_ARG_ACCESS_QUALIFIER = $1197;
CL_KERNEL_ARG_TYPE_NAME = $1198;
CL_KERNEL_ARG_TYPE_QUALIFIER = $1199;
CL_KERNEL_ARG_NAME = $119A;
CL_KERNEL_ARG_ADDRESS_GLOBAL = $119B;

cl_kernel_arg_address_qualifier

CL_KERNEL_ARG_ADDRESS_LOCAL = $119C;
CL_KERNEL_ARG_ADDRESS_CONSTANT = $119D;
CL_KERNEL_ARG_ADDRESS_PRIVATE = $119E;
CL_KERNEL_ARG_ACCESS_READ_ONLY = $11A0;

cl_kernel_arg_access_qualifier

CL_KERNEL_ARG_ACCESS_WRITE_ONLY = $11A1;
CL_KERNEL_ARG_ACCESS_READ_WRITE = $11A2;
CL_KERNEL_ARG_ACCESS_NONE = $11A3;
CL_KERNEL_ARG_TYPE_NONE = 0;

cl_kernel_arg_type_qualifer

CL_KERNEL_ARG_TYPE_CONST = (1 shl 0);
CL_KERNEL_ARG_TYPE_RESTRICT = (1 shl 1);
CL_KERNEL_ARG_TYPE_VOLATILE = (1 shl 2);
CL_KERNEL_ARG_TYPE_PIPE = (1 shl 3);
CL_KERNEL_WORK_GROUP_SIZE = $11B0;

cl_kernel_work_group_info

CL_KERNEL_COMPILE_WORK_GROUP_SIZE = $11B1;
CL_KERNEL_LOCAL_MEM_SIZE = $11B2;
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE = $11B3;
CL_KERNEL_PRIVATE_MEM_SIZE = $11B4;
CL_KERNEL_GLOBAL_WORK_SIZE = $11B5;
CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE = $2033;

cl_kernel_sub_group_info

CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE = $2034;
CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT = $11B8;
CL_KERNEL_EXEC_INFO_SVM_PTRS = $11B6;

cl_kernel_exec_info

CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM = $11B7;
CL_EVENT_COMMAND_QUEUE = $11D0;

cl_event_info

CL_EVENT_COMMAND_TYPE = $11D1;
CL_EVENT_REFERENCE_COUNT = $11D2;
CL_EVENT_COMMAND_EXECUTION_STATUS = $11D3;
CL_EVENT_CONTEXT = $11D4;
CL_COMMAND_NDRANGE_KERNEL = $11F0;

cl_command_type

CL_COMMAND_TASK = $11F1;
CL_COMMAND_NATIVE_KERNEL = $11F2;
CL_COMMAND_READ_BUFFER = $11F3;
CL_COMMAND_WRITE_BUFFER = $11F4;
CL_COMMAND_COPY_BUFFER = $11F5;
CL_COMMAND_READ_IMAGE = $11F6;
CL_COMMAND_WRITE_IMAGE = $11F7;
CL_COMMAND_COPY_IMAGE = $11F8;
CL_COMMAND_COPY_IMAGE_TO_BUFFER = $11F9;
CL_COMMAND_COPY_BUFFER_TO_IMAGE = $11FA;
CL_COMMAND_MAP_BUFFER = $11FB;
CL_COMMAND_MAP_IMAGE = $11FC;
CL_COMMAND_UNMAP_MEM_OBJECT = $11FD;
CL_COMMAND_MARKER = $11FE;
CL_COMMAND_ACQUIRE_GL_OBJECTS = $11FF;
CL_COMMAND_RELEASE_GL_OBJECTS = $1200;
CL_COMMAND_READ_BUFFER_RECT = $1201;
CL_COMMAND_WRITE_BUFFER_RECT = $1202;
CL_COMMAND_COPY_BUFFER_RECT = $1203;
CL_COMMAND_USER = $1204;
CL_COMMAND_BARRIER = $1205;
CL_COMMAND_MIGRATE_MEM_OBJECTS = $1206;
CL_COMMAND_FILL_BUFFER = $1207;
CL_COMMAND_FILL_IMAGE = $1208;
CL_COMMAND_SVM_FREE = $1209;
CL_COMMAND_SVM_MEMCPY = $120A;
CL_COMMAND_SVM_MEMFILL = $120B;
CL_COMMAND_SVM_MAP = $120C;
CL_COMMAND_SVM_UNMAP = $120D;
CL_COMPLETE = $0;

command execution status

CL_RUNNING = $1;
CL_SUBMITTED = $2;
CL_QUEUED = $3;
CL_BUFFER_CREATE_TYPE_REGION = $1220;

cl_buffer_create_type

CL_PROFILING_COMMAND_QUEUED = $1280;

cl_profiling_info

CL_PROFILING_COMMAND_SUBMIT = $1281;
CL_PROFILING_COMMAND_START = $1282;
CL_PROFILING_COMMAND_END = $1283;
CL_PROFILING_COMMAND_COMPLETE = $1284;


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_platform_id

Record T_cl_platform_id

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_platform_id = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_device_id

Record T_cl_device_id

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_device_id = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_context

Record T_cl_context

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_context = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_command_queue

Record T_cl_command_queue

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_command_queue = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_mem

Record T_cl_mem

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_mem = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_program

Record T_cl_program

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_program = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_kernel

Record T_cl_kernel

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_kernel = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_event

Record T_cl_event

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_event = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Record T_cl_sampler

Record T_cl_sampler

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type T_cl_sampler = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: OpenCL.Import: Packed Record Tcl_image_format

Packed Record Tcl_image_format

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type Tcl_image_format = packed record

Description

Overview

Fields

Public | image_channel_order: Tcl_channel_order;
Public | image_channel_data_type: Tcl_channel_type;

Description

Fields

Public image_channel_order: Tcl_channel_order;
Public image_channel_data_type: Tcl_channel_type;


GLSysHelp v.2.1: OpenCL.Import: Packed Record Tcl_image_desc

Packed Record Tcl_image_desc

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type Tcl_image_desc = packed record

Description

Overview

Fields

Public | image_type: Tcl_mem_object_type;
Public | image_width: NativeUInt;
Public | image_height: NativeUInt;
Public | image_depth: NativeUInt;
Public | image_array_size: NativeUInt;
Public | image_row_pitch: NativeUInt;
Public | image_slice_pitch: NativeUInt;
Public | num_mip_levels: Tcl_uint;
Public | num_samples: Tcl_uint;
Public | buffer: Pcl_mem;
Public | mem_object: Pcl_mem;

Description

Fields

Public image_type: Tcl_mem_object_type;
Public image_width: NativeUInt;
Public image_height: NativeUInt;
Public image_depth: NativeUInt;
Public image_array_size: NativeUInt;
Public image_row_pitch: NativeUInt;
Public image_slice_pitch: NativeUInt;
Public num_mip_levels: Tcl_uint;
Public num_samples: Tcl_uint;
Public buffer: Pcl_mem;
Public mem_object: Pcl_mem;


GLSysHelp v.2.1: OpenCL.Import: Packed Record Tcl_buffer_region

Packed Record Tcl_buffer_region

Description
Hierarchy
Fields
Methods
Properties

Unit

OpenCL.Import

Declaration

type Tcl_buffer_region = packed record

Description

Overview

Fields

Public | origin: NativeUInt;
Public | size: NativeUInt;

Description

Fields

Public origin: NativeUInt;
Public size: NativeUInt;


GLSysHelp v.2.1: OpenCL.Platform

Unit OpenCL.Platform

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Overview

Types

intptr_t = NativeUInt;
Pcl_char = ˆTcl_char;
Pcl_double = ˆTcl_double;
Pcl_float = ˆTcl_float;
Pcl_half = ˆTcl_half;
Pcl_int = ˆTcl_int;
Pcl_long = ˆTcl_long;
Pcl_short = ˆTcl_short;
Pcl_uchar = ˆTcl_uchar;
Pcl_uint = ˆTcl_uint;
Pcl_ulong = ˆTcl_ulong;
Pcl_ushort = ˆTcl_ushort;
Pintptr_t = ˆintptr_t;
Psize_t = ˆTsize_t;
Tcl_char = ShortInt;
Tcl_char16 = array [0 .. 15] of Tcl_char;
Tcl_char2 = array [0 .. 1] of Tcl_char;
Tcl_char4 = array [0 .. 3] of Tcl_char;
Tcl_char8 = array [0 .. 7] of Tcl_char;
Tcl_double = Double;
Tcl_double16 = array [0 .. 15] of Tcl_double;
Tcl_double2 = array [0 .. 1] of Tcl_double;
Tcl_double4 = array [0 .. 3] of Tcl_double;
Tcl_double8 = array [0 .. 7] of Tcl_double;
Tcl_float = Single;
Tcl_float16 = array [0 .. 15] of Tcl_float;
Tcl_float2 = array [0 .. 1] of Tcl_float;
Tcl_float4 = array [0 .. 3] of Tcl_float;
Tcl_float8 = array [0 .. 7] of Tcl_float;
Tcl_half = Word;
Tcl_int = LongInt;
Tcl_int16 = array [0 .. 15] of Tcl_int;
Tcl_int2 = array [0 .. 1] of Tcl_int;
Tcl_int4 = array [0 .. 3] of Tcl_int;
Tcl_int8 = array [0 .. 7] of Tcl_int;
Tcl_long = Int64;
Tcl_long16 = array [0 .. 15] of Tcl_long;
Tcl_long2 = array [0 .. 1] of Tcl_long;
Tcl_long4 = array [0 .. 3] of Tcl_long;
Tcl_long8 = array [0 .. 7] of Tcl_long;
Tcl_short = SmallInt;
Tcl_short16 = array [0 .. 15] of Tcl_short;
Tcl_short2 = array [0 .. 1] of Tcl_short;
Tcl_short4 = array [0 .. 3] of Tcl_short;
Tcl_short8 = array [0 .. 7] of Tcl_short;
Tcl_uchar = Byte;
Tcl_uchar16 = array [0 .. 15] of Tcl_uchar;
Tcl_uchar2 = array [0 .. 1] of Tcl_uchar;
Tcl_uchar4 = array [0 .. 3] of Tcl_uchar;
Tcl_uchar8 = array [0 .. 7] of Tcl_uchar;
Tcl_uint = LongWord;
Tcl_uint16 = array [0 .. 15] of Tcl_uint;
Tcl_uint2 = array [0 .. 1] of Tcl_uint;
Tcl_uint4 = array [0 .. 3] of Tcl_uint;
Tcl_uint8 = array [0 .. 7] of Tcl_uint;
Tcl_ulong = UInt64;
Tcl_ulong16 = array [0 .. 15] of Tcl_ulong;
Tcl_ulong2 = array [0 .. 1] of Tcl_ulong;
Tcl_ulong4 = array [0 .. 3] of Tcl_ulong;
Tcl_ulong8 = array [0 .. 7] of Tcl_ulong;
Tcl_ushort = Word;
Tcl_ushort16 = array [0 .. 15] of Tcl_ushort;
Tcl_ushort2 = array [0 .. 1] of Tcl_ushort;
Tcl_ushort4 = array [0 .. 3] of Tcl_ushort;
Tcl_ushort8 = array [0 .. 7] of Tcl_ushort;
Tsize_t = NativeUInt;

Constants

CL_APT_CALL = 'stdcall';
CL_CALLBACK = 'stdcall';
CL_CHAR_BIT = 8;
CL_SCHAR_MAX = 127;
CL_SCHAR_MIN = (-127 - 1);
CL_CHAR_MAX = CL_SCHAR_MAX;
CL_CHAR_MIN = CL_SCHAR_MIN;
CL_UCHAR_MAX = 255;
CL_SHRT_MAX = 32767;
CL_SHRT_MIN = (-32767 - 1);
CL_USHRT_MAX = 65535;
CL_INT_MAX = 2147483647;
CL_INT_MIN = (-2147483647 - 1);
CL_UINT_MAX = $FFFFFFFF;
CL_LONG_MAX = $7FFFFFFFFFFFFFFF;
CL_LONG_MIN = -$7FFFFFFFFFFFFFFF - 1;
CL_ULONG_MAX = $FFFFFFFFFFFFFFFF;
CL_FLT_DIG = 6;
CL_FLT_MANT_DIG = 24;
CL_FLT_MAX_10_EXP = +38;
CL_FLT_MAX_EXP = +128;
CL_FLT_MIN_10_EXP = -37;
CL_FLT_MIN_EXP = -125;
CL_FLT_RADIX = 2;
CL_FLT_MAX = 1.7E38;
CL_FLT_MIN = 1.17E-38;
CL_FLT_EPSILON = 1.0E-7;
CL_DBL_DIG = 15;
CL_DBL_MANT_DIG = 53;
CL_DBL_MAX_10_EXP = +308;
CL_DBL_MAX_EXP = +1024;
CL_DBL_MIN_10_EXP = -307;
CL_DBL_MIN_EXP = -1021;
CL_DBL_RADIX = 2;
CL_DBL_MAX = 8.98E307;
CL_DBL_MIN = 2.2E-308;
CL_DBL_EPSILON = 2.2E-16;
CL_M_E = 2.718281828459045090796;
CL_M_LOG2E = 1.442695040888963387005;
CL_M_LOG10E = 0.434294481903251816668;
CL_M_LN2 = 0.693147180559945286227;
CL_M_LN10 = 2.302585092994045901094;
CL_M_PI = 3.141592653589793115998;
CL_M_PI_2 = 1.570796326794896557999;
CL_M_PI_4 = 0.785398163397448278999;
CL_M_1_PI = 0.318309886183790691216;
CL_M_2_PI = 0.636619772367581382433;
CL_M_2_SQRTPI = 1.128379167095512558561;
CL_M_SQRT2 = 1.414213562373095145475;
CL_M_SQRT1_2 = 0.707106781186547572737;
CL_M_E_F = 2.71828174591064;
CL_M_LOG2E_F = 1.44269502162933;
CL_M_LOG10E_F = 0.43429449200630;
CL_M_LN2_F = 0.69314718246460;
CL_M_LN10_F = 2.30258512496948;
CL_M_PI_F = 3.14159274101257;
CL_M_PI_2_F = 1.57079637050629;
CL_M_PI_4_F = 0.78539818525314;
CL_M_1_PI_F = 0.31830987334251;
CL_M_2_PI_F = 0.63661974668503;
CL_M_2_SQRTPI_F = 1.12837922573090;
CL_M_SQRT2_F = 1.41421353816986;
CL_M_SQRT1_2_F = 0.70710676908493;
CL_NAN = 0;
CL_HUGE_VALF = 1.0E50;
CL_HUGE_VAL = 1.0E500;
CL_MAXFLOAT = CL_FLT_MAX;
CL_INFINITY = CL_HUGE_VALF;

Description

Types

intptr_t = NativeUInt;
Pcl_char = ˆTcl_char;
Pcl_double = ˆTcl_double;
Pcl_float = ˆTcl_float;
Pcl_half = ˆTcl_half;
Pcl_int = ˆTcl_int;
Pcl_long = ˆTcl_long;
Pcl_short = ˆTcl_short;
Pcl_uchar = ˆTcl_uchar;
Pcl_uint = ˆTcl_uint;
Pcl_ulong = ˆTcl_ulong;
Pcl_ushort = ˆTcl_ushort;
Pintptr_t = ˆintptr_t;
Psize_t = ˆTsize_t;
Tcl_char = ShortInt;

scalar types

Tcl_char16 = array [0 .. 15] of Tcl_char;
Tcl_char2 = array [0 .. 1] of Tcl_char;

* Vector types * * Note: OpenCL requires that all types be naturally aligned. * This means that vector types must be naturally aligned. * For example, a vector of four floats must be aligned to * a 16 byte boundary (calculated as 4 * the natural 4-byte * alignment of the float). The alignment qualifiers here * will only function properly if your compiler supports them * and if you don't actively work to defeat them. For example, * in order for a cl_float4 to be 16 byte aligned in a struct, * the start of the struct must itself be 16-byte aligned. * * Maintaining proper alignment is the user's responsibility.

Tcl_char4 = array [0 .. 3] of Tcl_char;
Tcl_char8 = array [0 .. 7] of Tcl_char;
Tcl_double = Double;
Tcl_double16 = array [0 .. 15] of Tcl_double;
Tcl_double2 = array [0 .. 1] of Tcl_double;
Tcl_double4 = array [0 .. 3] of Tcl_double;
Tcl_double8 = array [0 .. 7] of Tcl_double;
Tcl_float = Single;
Tcl_float16 = array [0 .. 15] of Tcl_float;
Tcl_float2 = array [0 .. 1] of Tcl_float;
Tcl_float4 = array [0 .. 3] of Tcl_float;
Tcl_float8 = array [0 .. 7] of Tcl_float;
Tcl_half = Word;
Tcl_int = LongInt;
Tcl_int16 = array [0 .. 15] of Tcl_int;
Tcl_int2 = array [0 .. 1] of Tcl_int;
Tcl_int4 = array [0 .. 3] of Tcl_int;
Tcl_int8 = array [0 .. 7] of Tcl_int;
Tcl_long = Int64;
Tcl_long16 = array [0 .. 15] of Tcl_long;
Tcl_long2 = array [0 .. 1] of Tcl_long;
Tcl_long4 = array [0 .. 3] of Tcl_long;
Tcl_long8 = array [0 .. 7] of Tcl_long;
Tcl_short = SmallInt;
Tcl_short16 = array [0 .. 15] of Tcl_short;
Tcl_short2 = array [0 .. 1] of Tcl_short;
Tcl_short4 = array [0 .. 3] of Tcl_short;
Tcl_short8 = array [0 .. 7] of Tcl_short;
Tcl_uchar = Byte;
Tcl_uchar16 = array [0 .. 15] of Tcl_uchar;
Tcl_uchar2 = array [0 .. 1] of Tcl_uchar;
Tcl_uchar4 = array [0 .. 3] of Tcl_uchar;
Tcl_uchar8 = array [0 .. 7] of Tcl_uchar;
Tcl_uint = LongWord;
Tcl_uint16 = array [0 .. 15] of Tcl_uint;
Tcl_uint2 = array [0 .. 1] of Tcl_uint;
Tcl_uint4 = array [0 .. 3] of Tcl_uint;
Tcl_uint8 = array [0 .. 7] of Tcl_uint;
Tcl_ulong = UInt64;
Tcl_ulong16 = array [0 .. 15] of Tcl_ulong;
Tcl_ulong2 = array [0 .. 1] of Tcl_ulong;
Tcl_ulong4 = array [0 .. 3] of Tcl_ulong;
Tcl_ulong8 = array [0 .. 7] of Tcl_ulong;
Tcl_ushort = Word;
Tcl_ushort16 = array [0 .. 15] of Tcl_ushort;
Tcl_ushort2 = array [0 .. 1] of Tcl_ushort;
Tcl_ushort4 = array [0 .. 3] of Tcl_ushort;
Tcl_ushort8 = array [0 .. 7] of Tcl_ushort;
Tsize_t = NativeUInt;

Constants

CL_APT_CALL = 'stdcall';

*************************************************************************** * Copyright (c) 2008-2020 The Khronos Group Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and/or associated documentation files (the * "Materials"), to deal in the Materials without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Materials, and to * permit persons to whom the Materials are furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Materials. * * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS * KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT * https://www.khronos.org/registry/ * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. *************************************************************************

CL_CALLBACK = 'stdcall';
CL_CHAR_BIT = 8;

Macro names and corresponding values defined by OpenCL

CL_SCHAR_MAX = 127;
CL_SCHAR_MIN = (-127 - 1);
CL_CHAR_MAX = CL_SCHAR_MAX;
CL_CHAR_MIN = CL_SCHAR_MIN;
CL_UCHAR_MAX = 255;
CL_SHRT_MAX = 32767;
CL_SHRT_MIN = (-32767 - 1);
CL_USHRT_MAX = 65535;
CL_INT_MAX = 2147483647;
CL_INT_MIN = (-2147483647 - 1);
CL_UINT_MAX = $FFFFFFFF;
CL_LONG_MAX = $7FFFFFFFFFFFFFFF;
CL_LONG_MIN = -$7FFFFFFFFFFFFFFF - 1;
CL_ULONG_MAX = $FFFFFFFFFFFFFFFF;
CL_FLT_DIG = 6;
CL_FLT_MANT_DIG = 24;
CL_FLT_MAX_10_EXP = +38;
CL_FLT_MAX_EXP = +128;
CL_FLT_MIN_10_EXP = -37;
CL_FLT_MIN_EXP = -125;
CL_FLT_RADIX = 2;
CL_FLT_MAX = 1.7E38;
CL_FLT_MIN = 1.17E-38;

0x1.fffffep127f;

CL_FLT_EPSILON = 1.0E-7;

0x1.0p-126f;

CL_DBL_DIG = 15;

0x1.0p-23f;

CL_DBL_MANT_DIG = 53;
CL_DBL_MAX_10_EXP = +308;
CL_DBL_MAX_EXP = +1024;
CL_DBL_MIN_10_EXP = -307;
CL_DBL_MIN_EXP = -1021;
CL_DBL_RADIX = 2;
CL_DBL_MAX = 8.98E307;
CL_DBL_MIN = 2.2E-308;

0x1.fffffffffffffp1023;

CL_DBL_EPSILON = 2.2E-16;

0x1.0p-1022;

CL_M_E = 2.718281828459045090796;

0x1.0p-52;

CL_M_LOG2E = 1.442695040888963387005;
CL_M_LOG10E = 0.434294481903251816668;
CL_M_LN2 = 0.693147180559945286227;
CL_M_LN10 = 2.302585092994045901094;
CL_M_PI = 3.141592653589793115998;
CL_M_PI_2 = 1.570796326794896557999;
CL_M_PI_4 = 0.785398163397448278999;
CL_M_1_PI = 0.318309886183790691216;
CL_M_2_PI = 0.636619772367581382433;
CL_M_2_SQRTPI = 1.128379167095512558561;
CL_M_SQRT2 = 1.414213562373095145475;
CL_M_SQRT1_2 = 0.707106781186547572737;
CL_M_E_F = 2.71828174591064;
CL_M_LOG2E_F = 1.44269502162933;
CL_M_LOG10E_F = 0.43429449200630;
CL_M_LN2_F = 0.69314718246460;
CL_M_LN10_F = 2.30258512496948;
CL_M_PI_F = 3.14159274101257;
CL_M_PI_2_F = 1.57079637050629;
CL_M_PI_4_F = 0.78539818525314;
CL_M_1_PI_F = 0.31830987334251;
CL_M_2_PI_F = 0.63661974668503;
CL_M_2_SQRTPI_F = 1.12837922573090;
CL_M_SQRT2_F = 1.41421353816986;
CL_M_SQRT1_2_F = 0.70710676908493;
CL_NAN = 0;
CL_HUGE_VALF = 1.0E50;

(CL_INFINITY - CL_INFINITY);

CL_HUGE_VAL = 1.0E500;
CL_MAXFLOAT = CL_FLT_MAX;
CL_INFINITY = CL_HUGE_VALF;


GLSysHelp v.2.1: PasDblStrUtils

Unit PasDblStrUtils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

***************************************************************************** * PasDblStrUtils * ****************************************************************************** * Version 2021-06-21-01-13-0000 * ****************************************************************************** * zlib license * *============================================================================* * * * Copyright (C) 2016-2021, Benjamin Rosseaux (benjamin@rosseaux.de) * * * * This software is provided 'as-is', without any express or implied * * warranty. In no event will the authors be held liable for any damages * * arising from the use of this software. * * * * Permission is granted to anyone to use this software for any purpose, * * including commercial applications, and to alter it and redistribute it * * freely, subject to the following restrictions: * * * * 1. The origin of this software must not be misrepresented; you must not * * claim that you wrote the original software. If you use this software * * in a product, an acknowledgement in the product documentation would be * * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * * * ****************************************************************************** * General guidelines for code contributors * *============================================================================* * * * 1. Make sure you are legally allowed to make a contribution under the zlib * * license. * * 2. The zlib license header goes at the top of each source file, with * * appropriate copyright notice. * * 3. After a pull request, check the status of your pull request on * http://github.com/BeRo1985/pasdblstrutils * * 4. Write code, which is compatible with Delphi >=XE7 and FreePascal * * >= 3.0 * * 5. Don't use Delphi-only, FreePascal-only or Lazarus-only libraries/units, * * but if needed, make it out-ifdef-able. * * 6. No use of third-party libraries/units as possible, but if needed, make * * it out-ifdef-able. * * 7. Try to use const when possible. * * 8. Make sure to comment out writeln, used while debugging. * * 9. Make sure the code compiles on 32-bit and 64-bit platforms (x86-32, * * x86-64, ARM, ARM64, etc.). * * 10. Make sure the code runs on platforms with weak and strong memory * * models without any issues. * * * *****************************************************************************

Uses

  • System.SysUtils
  • System.Math

Overview

Functions and Procedures

function FallbackStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function FallbackStringToDouble(const aStringValue: TPasDblStrUtilsString; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function AlgorithmMStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function AlgorithmMStringToDouble(const aStringValue: TPasDblStrUtilsString; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function EiselLemireStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aOK: PPasDblStrUtilsBoolean = nil): TPasDblStrUtilsDouble; overload;
function EiselLemireStringToDouble(const aStringValue: TPasDblStrUtilsString; const aOK: PPasDblStrUtilsBoolean = nil): TPasDblStrUtilsDouble; overload;
function RyuStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aOK: PPasDblStrUtilsBoolean = nil; const aCountDigits: PPasDblStrUtilsInt32 = nil) : TPasDblStrUtilsDouble; overload;
function RyuStringToDouble(const aStringValue: TPasDblStrUtilsString; const aOK: PPasDblStrUtilsBoolean = nil; const aCountDigits: PPasDblStrUtilsInt32 = nil) : TPasDblStrUtilsDouble; overload;
function RyuDoubleToString(const aValue: TPasDblStrUtilsDouble; const aExponential: Boolean = true): TPasDblStrUtilsString;
function ConvertStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function ConvertStringToDouble(const aStringValue: TPasDblStrUtilsString; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function ConvertDoubleToString(const aValue: TPasDblStrUtilsDouble; const aOutputMode: TPasDblStrUtilsOutputMode = omStandard; aRequestedDigits: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsString;

Types

PPasDblStrUtilsBoolean = ˆTPasDblStrUtilsBoolean;
PPasDblStrUtilsChar = PAnsiChar;
PPasDblStrUtilsDouble = ˆTPasDblStrUtilsDouble;
PPasDblStrUtilsInt16 = ˆTPasDblStrUtilsInt16;
PPasDblStrUtilsInt32 = ˆTPasDblStrUtilsInt32;
PPasDblStrUtilsInt64 = ˆTPasDblStrUtilsInt64;
PPasDblStrUtilsInt8 = ˆTPasDblStrUtilsInt8;
PPasDblStrUtilsNativeInt = ˆTPasDblStrUtilsNativeInt;
PPasDblStrUtilsNativeUInt = ˆTPasDblStrUtilsNativeUInt;
PPasDblStrUtilsPointer = ˆTPasDblStrUtilsPointer;
PPasDblStrUtilsPtrInt = ˆTPasDblStrUtilsPtrInt;
PPasDblStrUtilsPtrUInt = ˆTPasDblStrUtilsPtrUInt;
PPasDblStrUtilsRawByteChar = PAnsiChar;
PPasDblStrUtilsRawByteCharSet = ˆTPasDblStrUtilsRawByteCharSet;
PPasDblStrUtilsRawByteString = ˆTPasDblStrUtilsRawByteString;
PPasDblStrUtilsRoundingMode = ˆTPasDblStrUtilsRoundingMode;
PPasDblStrUtilsString = ˆTPasDblStrUtilsString;
PPasDblStrUtilsUInt16 = ˆTPasDblStrUtilsUInt16;
PPasDblStrUtilsUInt32 = ˆTPasDblStrUtilsUInt32;
PPasDblStrUtilsUInt64 = ˆTPasDblStrUtilsUInt64;
PPasDblStrUtilsUInt8 = ˆTPasDblStrUtilsUInt8;
PPasDblStrUtilsUTF16Char = PWideChar;
PPasDblStrUtilsUTF16String = ˆTPasDblStrUtilsUTF16String;
PPasDblStrUtilsUTF8Char = PAnsiChar;
PPasDblStrUtilsUTF8String = ˆTPasDblStrUtilsUTF8String;
TPasDblStrUtilsBoolean = Boolean;
TPasDblStrUtilsChar = AnsiChar;
TPasDblStrUtilsDouble = Double;
TPasDblStrUtilsInt16 = SmallInt;
TPasDblStrUtilsInt32 = LongInt;
TPasDblStrUtilsInt64 = Int64;
TPasDblStrUtilsInt8 = ShortInt;
TPasDblStrUtilsNativeInt = TPasDblStrUtilsPtrInt;
TPasDblStrUtilsNativeUInt = TPasDblStrUtilsPtrUInt;
TPasDblStrUtilsOutputMode = (...);
TPasDblStrUtilsPointer = Pointer;
TPasDblStrUtilsPtrInt = NativeInt;
TPasDblStrUtilsPtrUInt = NativeUInt;
TPasDblStrUtilsRawByteChar = AnsiChar;
TPasDblStrUtilsRawByteCharSet = set of TPasDblStrUtilsRawByteChar;
TPasDblStrUtilsRawByteString = AnsiString;
TPasDblStrUtilsRoundingMode = type TFPURoundingMode;
TPasDblStrUtilsString = AnsiString;
TPasDblStrUtilsUInt16 = Word;
TPasDblStrUtilsUInt32 = LongWord;
TPasDblStrUtilsUInt64 = UInt64;
TPasDblStrUtilsUInt8 = Byte;
TPasDblStrUtilsUTF16Char = WideChar;
TPasDblStrUtilsUTF16String = WideString;
TPasDblStrUtilsUTF8Char = AnsiChar;
TPasDblStrUtilsUTF8String = AnsiString;

Description

Functions and Procedures

function FallbackStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function FallbackStringToDouble(const aStringValue: TPasDblStrUtilsString; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function AlgorithmMStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function AlgorithmMStringToDouble(const aStringValue: TPasDblStrUtilsString; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function EiselLemireStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aOK: PPasDblStrUtilsBoolean = nil): TPasDblStrUtilsDouble; overload;
function EiselLemireStringToDouble(const aStringValue: TPasDblStrUtilsString; const aOK: PPasDblStrUtilsBoolean = nil): TPasDblStrUtilsDouble; overload;
function RyuStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aOK: PPasDblStrUtilsBoolean = nil; const aCountDigits: PPasDblStrUtilsInt32 = nil) : TPasDblStrUtilsDouble; overload;
function RyuStringToDouble(const aStringValue: TPasDblStrUtilsString; const aOK: PPasDblStrUtilsBoolean = nil; const aCountDigits: PPasDblStrUtilsInt32 = nil) : TPasDblStrUtilsDouble; overload;
function RyuDoubleToString(const aValue: TPasDblStrUtilsDouble; const aExponential: Boolean = true): TPasDblStrUtilsString;
function ConvertStringToDouble(const aStringValue: PPasDblStrUtilsChar; const aStringLength: TPasDblStrUtilsInt32; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function ConvertStringToDouble(const aStringValue: TPasDblStrUtilsString; const aRoundingMode: TPasDblStrUtilsRoundingMode = rmNearest; const aOK: PPasDblStrUtilsBoolean = nil; const aBase: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsDouble; overload;
function ConvertDoubleToString(const aValue: TPasDblStrUtilsDouble; const aOutputMode: TPasDblStrUtilsOutputMode = omStandard; aRequestedDigits: TPasDblStrUtilsInt32 = -1): TPasDblStrUtilsString;

Types

PPasDblStrUtilsBoolean = ˆTPasDblStrUtilsBoolean;
PPasDblStrUtilsChar = PAnsiChar;
PPasDblStrUtilsDouble = ˆTPasDblStrUtilsDouble;
PPasDblStrUtilsInt16 = ˆTPasDblStrUtilsInt16;
PPasDblStrUtilsInt32 = ˆTPasDblStrUtilsInt32;
PPasDblStrUtilsInt64 = ˆTPasDblStrUtilsInt64;
PPasDblStrUtilsInt8 = ˆTPasDblStrUtilsInt8;
PPasDblStrUtilsNativeInt = ˆTPasDblStrUtilsNativeInt;
PPasDblStrUtilsNativeUInt = ˆTPasDblStrUtilsNativeUInt;
PPasDblStrUtilsPointer = ˆTPasDblStrUtilsPointer;
PPasDblStrUtilsPtrInt = ˆTPasDblStrUtilsPtrInt;
PPasDblStrUtilsPtrUInt = ˆTPasDblStrUtilsPtrUInt;
PPasDblStrUtilsRawByteChar = PAnsiChar;
PPasDblStrUtilsRawByteCharSet = ˆTPasDblStrUtilsRawByteCharSet;
PPasDblStrUtilsRawByteString = ˆTPasDblStrUtilsRawByteString;
PPasDblStrUtilsRoundingMode = ˆTPasDblStrUtilsRoundingMode;
PPasDblStrUtilsString = ˆTPasDblStrUtilsString;
PPasDblStrUtilsUInt16 = ˆTPasDblStrUtilsUInt16;
PPasDblStrUtilsUInt32 = ˆTPasDblStrUtilsUInt32;
PPasDblStrUtilsUInt64 = ˆTPasDblStrUtilsUInt64;
PPasDblStrUtilsUInt8 = ˆTPasDblStrUtilsUInt8;
PPasDblStrUtilsUTF16Char = PWideChar;
PPasDblStrUtilsUTF16String = ˆTPasDblStrUtilsUTF16String;
PPasDblStrUtilsUTF8Char = PAnsiChar;
PPasDblStrUtilsUTF8String = ˆTPasDblStrUtilsUTF8String;
TPasDblStrUtilsBoolean = Boolean;
TPasDblStrUtilsChar = AnsiChar;
TPasDblStrUtilsDouble = Double;
TPasDblStrUtilsInt16 = SmallInt;
TPasDblStrUtilsInt32 = LongInt;
TPasDblStrUtilsInt64 = Int64;
TPasDblStrUtilsInt8 = ShortInt;
TPasDblStrUtilsNativeInt = TPasDblStrUtilsPtrInt;
TPasDblStrUtilsNativeUInt = TPasDblStrUtilsPtrUInt;
TPasDblStrUtilsOutputMode = (...);
Values
  • omStandard
  • omStandardExponential
  • omFixed
  • omExponential
  • omPrecision
  • omRadix
TPasDblStrUtilsPointer = Pointer;
TPasDblStrUtilsPtrInt = NativeInt;
TPasDblStrUtilsPtrUInt = NativeUInt;
TPasDblStrUtilsRawByteChar = AnsiChar;
TPasDblStrUtilsRawByteCharSet = set of TPasDblStrUtilsRawByteChar;
TPasDblStrUtilsRawByteString = AnsiString;
TPasDblStrUtilsRoundingMode = type TFPURoundingMode;
TPasDblStrUtilsString = AnsiString;
TPasDblStrUtilsUInt16 = Word;
TPasDblStrUtilsUInt32 = LongWord;
TPasDblStrUtilsUInt64 = UInt64;
TPasDblStrUtilsUInt8 = Byte;
TPasDblStrUtilsUTF16Char = WideChar;
TPasDblStrUtilsUTF16String = WideString;
TPasDblStrUtilsUTF8Char = AnsiChar;
TPasDblStrUtilsUTF8String = AnsiString;


GLSysHelp v.2.1: PasJSON

Unit PasJSON

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

***************************************************************************** * PasJSON * ****************************************************************************** * Version 2020-03-04-02-20 * ****************************************************************************** * zlib license * *============================================================================* * * * Copyright (C) 2016-2020, Benjamin Rosseaux (benjamin@rosseaux.de) * * * * This software is provided 'as-is', without any express or implied * * warranty. In no event will the authors be held liable for any damages * * arising from the use of this software. * * * * Permission is granted to anyone to use this software for any purpose, * * including commercial applications, and to alter it and redistribute it * * freely, subject to the following restrictions: * * * * 1. The origin of this software must not be misrepresented; you must not * * claim that you wrote the original software. If you use this software * * in a product, an acknowledgement in the product documentation would be * * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. * * * ****************************************************************************** * General guidelines for code contributors * *============================================================================* * * * 1. Make sure you are legally allowed to make a contribution under the zlib * * license. * * 2. The zlib license header goes at the top of each source file, with * * appropriate copyright notice. * * 3. After a pull request, check the status of your pull request on * * http://github.com/BeRo1985/pasjson * * 4. Write code which's compatible with newer modern Delphi versions and * * FreePascal >= 3.0.0 * * 5. Don't use Delphi-only, FreePascal-only or Lazarus-only libraries/units, * * but if needed, make it out-ifdef-able. * * 6. No use of third-party libraries/units as possible, but if needed, make * * it out-ifdef-able. * * 7. Try to use const when possible. * * 8. Make sure to comment out writeln, used while debugging. * * 9. Make sure the code compiles on 32-bit and 64-bit platforms (x86-32, * * x86-64, ARM, ARM64, etc.). * * * *****************************************************************************

Uses

  • System.SysUtils
  • System.Classes
  • System.Math

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class EPasJSONSyntaxError |
Class EPasJSONMergeError |
Class TPasJSONItem |
Class TPasJSONItemNull |
Class TPasJSONItemBoolean |
Class TPasJSONItemNumber |
Class TPasJSONItemString |
Class TPasJSONItemObjectProperty |
Class TPasJSONItemObject |
Class TPasJSONItemArray |
Class TPasJSON |

Types

PPasJSONChar = PAnsiChar;
PPasJSONDouble = ˆTPasJSONDouble;
PPasJSONEncoding = ˆTPasJSONEncoding;
PPasJSONFloat = ˆTPasJSONFloat;
PPasJSONInt16 = ˆTPasJSONInt16;
PPasJSONInt32 = ˆTPasJSONInt32;
PPasJSONInt64 = ˆTPasJSONInt64;
PPasJSONInt8 = ˆTPasJSONInt8;
PPasJSONModeFlag = ˆTPasJSONModeFlag;
PPasJSONModeFlags = ˆTPasJSONModeFlag;
PPasJSONNativeInt = ˆTPasJSONNativeInt;
PPasJSONNativeUInt = ˆTPasJSONNativeUInt;
PPasJSONPointer = ˆTPasJSONPointer;
PPasJSONPointers = ˆTPasJSONPointers;
PPasJSONPtrDiff = ˆTPasJSONPtrDiff;
PPasJSONPtrInt = ˆTPasJSONPtrInt;
PPasJSONPtrUInt = ˆTPasJSONPtrUInt;
PPasJSONRawByteChar = PAnsiChar;
PPasJSONRawByteString = ˆTPasJSONRawByteString;
PPasJSONSize = ˆTPasJSONSizeUInt;
PPasJSONSizeInt = ˆTPasJSONSizeInt;
PPasJSONSizeUInt = ˆTPasJSONSizeUInt;
PPasJSONUInt16 = ˆTPasJSONUInt16;
PPasJSONUInt32 = ˆTPasJSONUInt32;
PPasJSONUInt64 = ˆTPasJSONUInt64;
PPasJSONUInt8 = ˆTPasJSONUInt8;
PPasJSONUInt8Array = ˆTPasJSONUInt8Array;
PPasJSONUTF16Char = PWideChar;
PPasJSONUTF16String = ˆTPasJSONUTF16String;
PPasJSONUTF8String = ˆTPasJSONUTF8String;
PPasJSONVoid = TPasJSONPointer;
PPPasJSONChar = ˆPAnsiChar;
PPPasJSONDouble = ˆPPasJSONDouble;
PPPasJSONFloat = ˆPPasJSONFloat;
PPPasJSONInt16 = ˆPPasJSONInt16;
PPPasJSONInt32 = ˆPPasJSONInt32;
PPPasJSONInt64 = ˆPPasJSONInt64;
PPPasJSONInt8 = ˆPPasJSONInt8;
PPPasJSONNativeInt = ˆPPasJSONNativeInt;
PPPasJSONNativeUInt = ˆPPasJSONNativeUInt;
PPPasJSONPointer = ˆPPasJSONPointer;
PPPasJSONPointers = ˆPPasJSONPointers;
PPPasJSONPtrDiff = ˆPPasJSONPtrDiff;
PPPasJSONPtrInt = ˆPPasJSONPtrInt;
PPPasJSONPtrUInt = ˆPPasJSONPtrUInt;
PPPasJSONRawByteChar = ˆPAnsiChar;
PPPasJSONRawByteString = ˆPPasJSONRawByteString;
PPPasJSONSize = ˆPPasJSONSizeUInt;
PPPasJSONSizeInt = ˆPPasJSONSizeInt;
PPPasJSONSizeUInt = ˆPPasJSONSizeUInt;
PPPasJSONUInt16 = ˆPPasJSONUInt16;
PPPasJSONUInt32 = ˆPPasJSONUInt32;
PPPasJSONUInt64 = ˆPPasJSONUInt64;
PPPasJSONUInt8 = ˆPPasJSONUInt8;
PPPasJSONUInt8Array = ˆPPasJSONUInt8Array;
PPPasJSONUTF16Char = ˆPWideChar;
PPPasJSONUTF16String = ˆPPasJSONUTF16String;
PPPasJSONUTF8String = ˆPPasJSONUTF8String;
PPPasJSONVoid = ˆPPasJSONVoid;
TPasJSONChar = AnsiChar;
TPasJSONDouble = Double;
TPasJSONEncoding = (...);
TPasJSONFloat = Single;
TPasJSONFloats = array of TPasJSONFloat;
TPasJSONInt16 = smallint;
TPasJSONInt32 = longint;
TPasJSONInt64 = Int64;
TPasJSONInt8 = shortint;
TPasJSONItemObjectProperties = array of TPasJSONItemObjectProperty;
TPasJSONItems = array of TPasJSONItem;
TPasJSONMergeFlag = (...);
TPasJSONMergeFlags = set of TPasJSONMergeFlag;
TPasJSONModeFlag = (...);
TPasJSONModeFlags = set of TPasJSONModeFlag;
TPasJSONNativeInt = TPasJSONPtrInt;
TPasJSONNativeUInt = TPasJSONPtrUInt;
TPasJSONPointer = Pointer;
TPasJSONPointers = array [0 .. 65535] of TPasJSONPointer;
TPasJSONPtrDiff = TPasJSONPtrInt;
TPasJSONPtrInt = longint;
TPasJSONPtrUInt = longword;
TPasJSONRawByteChar = AnsiChar;
TPasJSONRawByteString = RawByteString;
TPasJSONSize = TPasJSONPtrUInt;
TPasJSONSizeInt = TPasJSONPtrInt;
TPasJSONSizeUInt = TPasJSONPtrUInt;
TPasJSONUInt16 = word;
TPasJSONUInt32 = longword;
TPasJSONUInt64 = UInt64;
TPasJSONUInt8 = byte;
TPasJSONUInt8Array = array [0 .. 65535] of TPasJSONUInt8;
TPasJSONUTF16Char = WideChar;
TPasJSONUTF16String = UnicodeString;
TPasJSONUTF8String = UTF8String;

Description

Types

PPasJSONChar = PAnsiChar;
PPasJSONDouble = ˆTPasJSONDouble;
PPasJSONEncoding = ˆTPasJSONEncoding;
PPasJSONFloat = ˆTPasJSONFloat;
PPasJSONInt16 = ˆTPasJSONInt16;
PPasJSONInt32 = ˆTPasJSONInt32;
PPasJSONInt64 = ˆTPasJSONInt64;
PPasJSONInt8 = ˆTPasJSONInt8;
PPasJSONModeFlag = ˆTPasJSONModeFlag;
PPasJSONModeFlags = ˆTPasJSONModeFlag;
PPasJSONNativeInt = ˆTPasJSONNativeInt;
PPasJSONNativeUInt = ˆTPasJSONNativeUInt;
PPasJSONPointer = ˆTPasJSONPointer;
PPasJSONPointers = ˆTPasJSONPointers;
PPasJSONPtrDiff = ˆTPasJSONPtrDiff;
PPasJSONPtrInt = ˆTPasJSONPtrInt;
PPasJSONPtrUInt = ˆTPasJSONPtrUInt;
PPasJSONRawByteChar = PAnsiChar;
PPasJSONRawByteString = ˆTPasJSONRawByteString;
PPasJSONSize = ˆTPasJSONSizeUInt;
PPasJSONSizeInt = ˆTPasJSONSizeInt;
PPasJSONSizeUInt = ˆTPasJSONSizeUInt;
PPasJSONUInt16 = ˆTPasJSONUInt16;
PPasJSONUInt32 = ˆTPasJSONUInt32;
PPasJSONUInt64 = ˆTPasJSONUInt64;
PPasJSONUInt8 = ˆTPasJSONUInt8;
PPasJSONUInt8Array = ˆTPasJSONUInt8Array;
PPasJSONUTF16Char = PWideChar;
PPasJSONUTF16String = ˆTPasJSONUTF16String;
PPasJSONUTF8String = ˆTPasJSONUTF8String;
PPasJSONVoid = TPasJSONPointer;
PPPasJSONChar = ˆPAnsiChar;
PPPasJSONDouble = ˆPPasJSONDouble;
PPPasJSONFloat = ˆPPasJSONFloat;
PPPasJSONInt16 = ˆPPasJSONInt16;
PPPasJSONInt32 = ˆPPasJSONInt32;
PPPasJSONInt64 = ˆPPasJSONInt64;
PPPasJSONInt8 = ˆPPasJSONInt8;
PPPasJSONNativeInt = ˆPPasJSONNativeInt;
PPPasJSONNativeUInt = ˆPPasJSONNativeUInt;
PPPasJSONPointer = ˆPPasJSONPointer;
PPPasJSONPointers = ˆPPasJSONPointers;
PPPasJSONPtrDiff = ˆPPasJSONPtrDiff;
PPPasJSONPtrInt = ˆPPasJSONPtrInt;
PPPasJSONPtrUInt = ˆPPasJSONPtrUInt;
PPPasJSONRawByteChar = ˆPAnsiChar;
PPPasJSONRawByteString = ˆPPasJSONRawByteString;
PPPasJSONSize = ˆPPasJSONSizeUInt;
PPPasJSONSizeInt = ˆPPasJSONSizeInt;
PPPasJSONSizeUInt = ˆPPasJSONSizeUInt;
PPPasJSONUInt16 = ˆPPasJSONUInt16;
PPPasJSONUInt32 = ˆPPasJSONUInt32;
PPPasJSONUInt64 = ˆPPasJSONUInt64;
PPPasJSONUInt8 = ˆPPasJSONUInt8;
PPPasJSONUInt8Array = ˆPPasJSONUInt8Array;
PPPasJSONUTF16Char = ˆPWideChar;
PPPasJSONUTF16String = ˆPPasJSONUTF16String;
PPPasJSONUTF8String = ˆPPasJSONUTF8String;
PPPasJSONVoid = ˆPPasJSONVoid;
TPasJSONChar = AnsiChar;
TPasJSONDouble = Double;
TPasJSONEncoding = (...);
Values
  • AutomaticDetection
  • Latin1
  • UTF8
  • UTF16LE
  • UTF16BE
  • UTF32LE
  • UTF32BE
TPasJSONFloat = Single;
TPasJSONFloats = array of TPasJSONFloat;
TPasJSONInt16 = smallint;
TPasJSONInt32 = longint;
TPasJSONInt64 = Int64;
TPasJSONInt8 = shortint;
TPasJSONItemObjectProperties = array of TPasJSONItemObjectProperty;
TPasJSONItems = array of TPasJSONItem;
TPasJSONMergeFlag = (...);
Values
  • ForceObjectPropertyValueDestinationType
TPasJSONMergeFlags = set of TPasJSONMergeFlag;
TPasJSONModeFlag = (...);
Values
  • UnquotedKeys
  • Comments
  • ImplicitRootObject
  • OptionalCommas
  • EqualsForColon
  • MultilineStrings
  • HexadecimalNumbers
TPasJSONModeFlags = set of TPasJSONModeFlag;
TPasJSONNativeInt = TPasJSONPtrInt;
TPasJSONNativeUInt = TPasJSONPtrUInt;
TPasJSONPointer = Pointer;
TPasJSONPointers = array [0 .. 65535] of TPasJSONPointer;
TPasJSONPtrDiff = TPasJSONPtrInt;
TPasJSONPtrInt = longint;
TPasJSONPtrUInt = longword;
TPasJSONRawByteChar = AnsiChar;
TPasJSONRawByteString = RawByteString;
TPasJSONSize = TPasJSONPtrUInt;
TPasJSONSizeInt = TPasJSONPtrInt;
TPasJSONSizeUInt = TPasJSONPtrUInt;
TPasJSONUInt16 = word;
TPasJSONUInt32 = longword;
TPasJSONUInt64 = UInt64;
TPasJSONUInt8 = byte;
TPasJSONUInt8Array = array [0 .. 65535] of TPasJSONUInt8;
TPasJSONUTF16Char = WideChar;
TPasJSONUTF16String = UnicodeString;
TPasJSONUTF8String = UTF8String;


GLSysHelp v.2.1: PasJSON: Class EPasJSONSyntaxError

Class EPasJSONSyntaxError

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type EPasJSONSyntaxError = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EPasJSONSyntaxError

Overview

Fields

Private fPosition: TPasJSONSizeInt;

Methods

Public constructor Create(const aMessage: string; const aPosition: TPasJSONSizeInt); reintroduce;

Properties

Published property Position: TPasJSONSizeInt read fPosition write fPosition;

Description

Fields

Private fPosition: TPasJSONSizeInt;

Methods

Public constructor Create(const aMessage: string; const aPosition: TPasJSONSizeInt); reintroduce;

Properties

Published property Position: TPasJSONSizeInt read fPosition write fPosition;


GLSysHelp v.2.1: PasJSON: Class EPasJSONMergeError

Class EPasJSONMergeError

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type EPasJSONMergeError = class(Exception)

Description

Hierarchy

  • TObject
  • Exception
  • EPasJSONMergeError


GLSysHelp v.2.1: PasJSON: Class TPasJSONItem

Class TPasJSONItem

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItem = class(TObject)

Description

Hierarchy

  • TObject
  • TPasJSONItem

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); virtual;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); virtual;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemNull

Class TPasJSONItemNull

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemNull = class(TPasJSONItem)

Description

No description available, ancestor TPasJSONItem description follows

Hierarchy

  • TObject
  • TPasJSONItem
  • TPasJSONItemNull

Overview

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Description

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemBoolean

Class TPasJSONItemBoolean

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemBoolean = class(TPasJSONItem)

Description

No description available, ancestor TPasJSONItem description follows

Hierarchy

  • TObject
  • TPasJSONItem
  • TPasJSONItemBoolean

Overview

Fields

Private fValue: boolean;

Methods

Public | constructor Create(const AValue: boolean);
Public | destructor Destroy; override;
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Properties

Published property Value: boolean read fValue write fValue;

Description

Fields

Private fValue: boolean;

Methods

Public constructor Create(const AValue: boolean);
Public destructor Destroy; override;
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Properties

Published property Value: boolean read fValue write fValue;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemNumber

Class TPasJSONItemNumber

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemNumber = class(TPasJSONItem)

Description

No description available, ancestor TPasJSONItem description follows

Hierarchy

  • TObject
  • TPasJSONItem
  • TPasJSONItemNumber

Overview

Fields

Private fValue: TPasJSONDouble;

Methods

Public | constructor Create(const AValue: TPasJSONDouble);
Public | destructor Destroy; override;
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Properties

Published property Value: TPasJSONDouble read fValue write fValue;

Description

Fields

Private fValue: TPasJSONDouble;

Methods

Public constructor Create(const AValue: TPasJSONDouble);
Public destructor Destroy; override;
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Properties

Published property Value: TPasJSONDouble read fValue write fValue;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemString

Class TPasJSONItemString

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemString = class(TPasJSONItem)

Description

No description available, ancestor TPasJSONItem description follows

Hierarchy

  • TObject
  • TPasJSONItem
  • TPasJSONItemString

Overview

Fields

Private fValue: TPasJSONUTF8String;

Methods

Public | constructor Create(const AValue: TPasJSONUTF8String);
Public | destructor Destroy; override;
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Properties

Published property Value: TPasJSONUTF8String read fValue write fValue;

Description

Fields

Private fValue: TPasJSONUTF8String;

Methods

Public constructor Create(const AValue: TPasJSONUTF8String);
Public destructor Destroy; override;
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;

Properties

Published property Value: TPasJSONUTF8String read fValue write fValue;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemObjectProperty

Class TPasJSONItemObjectProperty

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemObjectProperty = class(TObject)

Description

Hierarchy

  • TObject
  • TPasJSONItemObjectProperty

Overview

Fields

Private | fKey: TPasJSONUTF8String;
Private | fValue: TPasJSONItem;

Methods

Public | constructor Create; reintroduce;
Public | destructor Destroy; override;

Properties

Published | property Key: TPasJSONUTF8String read fKey write fKey;
Published | property Value: TPasJSONItem read fValue write fValue;

Description

Fields

Private fKey: TPasJSONUTF8String;
Private fValue: TPasJSONItem;

Methods

Public constructor Create; reintroduce;
Public destructor Destroy; override;

Properties

Published property Key: TPasJSONUTF8String read fKey write fKey;
Published property Value: TPasJSONItem read fValue write fValue;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemObject

Class TPasJSONItemObject

Description
Hierarchy
Nested Classes and Records
Nested Types
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemObject = class(TPasJSONItem)

Description

No description available, ancestor TPasJSONItem description follows

Hierarchy

  • TObject
  • TPasJSONItem
  • TPasJSONItemObject

Overview

Nested Classes and Records

Public TPasJSONItemObjectEnumerator = record

Nested Types

Public PPasJSONItemObjectEnumerator = ˆTPasJSONItemObjectEnumerator;

Fields

Private | fProperties: TPasJSONItemObjectProperties;
Private | fCount: TPasJSONSizeInt;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function GetEnumerator: TPasJSONItemObjectEnumerator; inline;
Private | function GetKey(const aIndex: TPasJSONSizeInt): TPasJSONUTF8String;
Private | function GetKeyIndex(const aKey: TPasJSONUTF8String): TPasJSONInt32;
Private | function GetProperty(const aKey: TPasJSONUTF8String): TPasJSONItem;
Private | function GetValue(const aIndex: TPasJSONSizeInt): TPasJSONItem;
Public | procedure Add(const aKey: TPasJSONUTF8String; const AValue: TPasJSONItem);
Public | procedure Clear;
Public | procedure Delete(const aIndex: TPasJSONSizeInt); overload;
Public | procedure Delete(const aKey: TPasJSONUTF8String); overload;
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;
Private | procedure SetKey(const aIndex: TPasJSONSizeInt; const aKey: TPasJSONUTF8String);
Private | procedure SetProperty(const aKey: TPasJSONUTF8String; const aItem: TPasJSONItem);
Private | procedure SetValue(const aIndex: TPasJSONSizeInt; const aItem: TPasJSONItem);

Properties

Public | property Count: TPasJSONSizeInt read fCount;
Public | property Indices[constKey:TPasJSONUTF8String]: TPasJSONInt32 read GetKeyIndex;
Public | property Keys[constIndex:TPasJSONSizeInt]: TPasJSONUTF8String read GetKey write SetKey;
Public | property Properties[constKey:TPasJSONUTF8String]: TPasJSONItem read GetProperty write SetProperty;
Public | property Values[constIndex:TPasJSONSizeInt]: TPasJSONItem read GetValue write SetValue;

Description

Nested Types

Public PPasJSONItemObjectEnumerator = ˆTPasJSONItemObjectEnumerator;

Fields

Private fProperties: TPasJSONItemObjectProperties;
Private fCount: TPasJSONSizeInt;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function GetEnumerator: TPasJSONItemObjectEnumerator; inline;
Private function GetKey(const aIndex: TPasJSONSizeInt): TPasJSONUTF8String;
Private function GetKeyIndex(const aKey: TPasJSONUTF8String): TPasJSONInt32;
Private function GetProperty(const aKey: TPasJSONUTF8String): TPasJSONItem;
Private function GetValue(const aIndex: TPasJSONSizeInt): TPasJSONItem;
Public procedure Add(const aKey: TPasJSONUTF8String; const AValue: TPasJSONItem);
Public procedure Clear;
Public procedure Delete(const aIndex: TPasJSONSizeInt); overload;
Public procedure Delete(const aKey: TPasJSONUTF8String); overload;
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;
Private procedure SetKey(const aIndex: TPasJSONSizeInt; const aKey: TPasJSONUTF8String);
Private procedure SetProperty(const aKey: TPasJSONUTF8String; const aItem: TPasJSONItem);
Private procedure SetValue(const aIndex: TPasJSONSizeInt; const aItem: TPasJSONItem);

Properties

Public property Count: TPasJSONSizeInt read fCount;
Public property Indices[constKey:TPasJSONUTF8String]: TPasJSONInt32 read GetKeyIndex;
Public property Keys[constIndex:TPasJSONSizeInt]: TPasJSONUTF8String read GetKey write SetKey;
Public property Properties[constKey:TPasJSONUTF8String]: TPasJSONItem read GetProperty write SetProperty;
Public property Values[constIndex:TPasJSONSizeInt]: TPasJSONItem read GetValue write SetValue;


GLSysHelp v.2.1: PasJSON: Record TPasJSONItemObject.TPasJSONItemObjectEnumerator

Record TPasJSONItemObject.TPasJSONItemObjectEnumerator

Description
Hierarchy
Enclosing Class
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemObjectEnumerator = record

Description

Enclosing Class

  • TPasJSONItemObject

Overview

Fields

Private | fOwner: TPasJSONItemObject;
Private | fIndex: TPasJSONSizeInt;

Methods

Public | constructor Create(const aOwner: TPasJSONItemObject);
Public | function MoveNext: boolean; inline;
Private | function GetCurrent: TPasJSONItemObjectProperty; inline;

Properties

Public property Current: TPasJSONItemObjectProperty read GetCurrent;

Description

Fields

Private fOwner: TPasJSONItemObject;
Private fIndex: TPasJSONSizeInt;

Methods

Public constructor Create(const aOwner: TPasJSONItemObject);
Public function MoveNext: boolean; inline;
Private function GetCurrent: TPasJSONItemObjectProperty; inline;

Properties

Public property Current: TPasJSONItemObjectProperty read GetCurrent;


GLSysHelp v.2.1: PasJSON: Class TPasJSONItemArray

Class TPasJSONItemArray

Description
Hierarchy
Nested Classes and Records
Nested Types
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemArray = class(TPasJSONItem)

Description

No description available, ancestor TPasJSONItem description follows

Hierarchy

  • TObject
  • TPasJSONItem
  • TPasJSONItemArray

Overview

Nested Classes and Records

Public TPasJSONItemArrayEnumerator = record

Nested Types

Public PPasJSONItemArrayEnumerator = ˆTPasJSONItemArrayEnumerator;

Fields

Private | fItems: TPasJSONItems;
Private | fCount: TPasJSONInt32;

Methods

Public | constructor Create;
Public | destructor Destroy; override;
Public | function GetEnumerator: TPasJSONItemArrayEnumerator; inline;
Private | function GetValue(const Index: TPasJSONInt32): TPasJSONItem;
Public | procedure Add(const AValue: TPasJSONItem);
Public | procedure Clear;
Public | procedure Delete(const aIndex: TPasJSONSizeInt);
Public | procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;
Private | procedure SetValue(const Index: TPasJSONInt32; const Item: TPasJSONItem);

Properties

Public | property Count: TPasJSONInt32 read fCount;
Public | property Items[constIndex:TPasJSONInt32]: TPasJSONItem read GetValue write SetValue;

Description

Nested Types

Public PPasJSONItemArrayEnumerator = ˆTPasJSONItemArrayEnumerator;

Fields

Private fItems: TPasJSONItems;
Private fCount: TPasJSONInt32;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function GetEnumerator: TPasJSONItemArrayEnumerator; inline;
Private function GetValue(const Index: TPasJSONInt32): TPasJSONItem;
Public procedure Add(const AValue: TPasJSONItem);
Public procedure Clear;
Public procedure Delete(const aIndex: TPasJSONSizeInt);
Public procedure Merge(const aWith: TPasJSONItem; const aFlags: TPasJSONMergeFlags = []); override;
Private procedure SetValue(const Index: TPasJSONInt32; const Item: TPasJSONItem);

Properties

Public property Count: TPasJSONInt32 read fCount;
Public property Items[constIndex:TPasJSONInt32]: TPasJSONItem read GetValue write SetValue;


GLSysHelp v.2.1: PasJSON: Record TPasJSONItemArray.TPasJSONItemArrayEnumerator

Record TPasJSONItemArray.TPasJSONItemArrayEnumerator

Description
Hierarchy
Enclosing Class
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSONItemArrayEnumerator = record

Description

Enclosing Class

  • TPasJSONItemArray

Overview

Fields

Private | fOwner: TPasJSONItemArray;
Private | fIndex: TPasJSONSizeInt;

Methods

Public | constructor Create(const aOwner: TPasJSONItemArray);
Public | function MoveNext: boolean; inline;
Private | function GetCurrent: TPasJSONItem; inline;

Properties

Public property Current: TPasJSONItem read GetCurrent;

Description

Fields

Private fOwner: TPasJSONItemArray;
Private fIndex: TPasJSONSizeInt;

Methods

Public constructor Create(const aOwner: TPasJSONItemArray);
Public function MoveNext: boolean; inline;
Private function GetCurrent: TPasJSONItem; inline;

Properties

Public property Current: TPasJSONItem read GetCurrent;


GLSysHelp v.2.1: PasJSON: Class TPasJSON

Class TPasJSON

Description
Hierarchy
Fields
Methods
Properties

Unit

PasJSON

Declaration

type TPasJSON = class(TObject)

Description

Hierarchy

  • TObject
  • TPasJSON

Overview

Fields

Public nested const SimplifiedJSONModeFlags: TPasJSONModeFlags = [TPasJSONModeFlag.UnquotedKeys, TPasJSONModeFlag.Comments, TPasJSONModeFlag.ImplicitRootObject, TPasJSONModeFlag.OptionalCommas, TPasJSONModeFlag.EqualsForColon, TPasJSONModeFlag.MultilineStrings];

Methods

Public | class function GetBoolean(const aItem: TPasJSONItem; const aDefault: boolean = false): boolean; static;
Public | class function GetInt64(const aItem: TPasJSONItem; const aDefault: TPasJSONInt64 = 0): TPasJSONInt64; static;
Public | class function GetNumber(const aItem: TPasJSONItem; const aDefault: TPasJSONDouble = 0.0): TPasJSONDouble; static;
Public | class function GetString(const aItem: TPasJSONItem; const aDefault: TPasJSONUTF8String = ''): TPasJSONUTF8String; static;
Public | class function LoadBinaryFromStream(const aStream: TStream) : TPasJSONItem; static;
Public | class function Parse(const aSource: TPasJSONRawByteString; const aModeFlags: TPasJSONModeFlags = [TPasJSONModeFlag.Comments]; const aEncoding: TPasJSONEncoding = TPasJSONEncoding.AutomaticDetection) : TPasJSONItem; overload; static;
Public | class function Parse(const aStream: TStream; const aModeFlags: TPasJSONModeFlags = [TPasJSONModeFlag.Comments]; const aEncoding: TPasJSONEncoding = TPasJSONEncoding.AutomaticDetection) : TPasJSONItem; overload; static;
Public | class function Stringify(const aJSONItem: TPasJSONItem; const aFormatting: boolean = false; const aModeFlags: TPasJSONModeFlags = []; const aLevel: TPasJSONInt32 = 0) : TPasJSONRawByteString; static;
Public | class function StringQuote(const aString: TPasJSONUTF8String) : TPasJSONRawByteString; static;
Public | class procedure SaveBinaryToStream(const aStream: TStream; const aJSONItem: TPasJSONItem); static;
Public | class procedure StringifyToStream(const aStream: TStream; const aJSONItem: TPasJSONItem; const aFormatting: boolean = false; const aModeFlags: TPasJSONModeFlags = []; const aLevel: TPasJSONInt32 = 0); static;

Description

Fields

Public nested const SimplifiedJSONModeFlags: TPasJSONModeFlags = [TPasJSONModeFlag.UnquotedKeys, TPasJSONModeFlag.Comments, TPasJSONModeFlag.ImplicitRootObject, TPasJSONModeFlag.OptionalCommas, TPasJSONModeFlag.EqualsForColon, TPasJSONModeFlag.MultilineStrings];

Simplified JSON notation as in http://bitsquid.blogspot.de/2009/10/simplified-json-notation.html

Methods

Public class function GetBoolean(const aItem: TPasJSONItem; const aDefault: boolean = false): boolean; static;
Public class function GetInt64(const aItem: TPasJSONItem; const aDefault: TPasJSONInt64 = 0): TPasJSONInt64; static;
Public class function GetNumber(const aItem: TPasJSONItem; const aDefault: TPasJSONDouble = 0.0): TPasJSONDouble; static;
Public class function GetString(const aItem: TPasJSONItem; const aDefault: TPasJSONUTF8String = ''): TPasJSONUTF8String; static;
Public class function LoadBinaryFromStream(const aStream: TStream) : TPasJSONItem; static;
Public class function Parse(const aSource: TPasJSONRawByteString; const aModeFlags: TPasJSONModeFlags = [TPasJSONModeFlag.Comments]; const aEncoding: TPasJSONEncoding = TPasJSONEncoding.AutomaticDetection) : TPasJSONItem; overload; static;
Public class function Parse(const aStream: TStream; const aModeFlags: TPasJSONModeFlags = [TPasJSONModeFlag.Comments]; const aEncoding: TPasJSONEncoding = TPasJSONEncoding.AutomaticDetection) : TPasJSONItem; overload; static;
Public class function Stringify(const aJSONItem: TPasJSONItem; const aFormatting: boolean = false; const aModeFlags: TPasJSONModeFlags = []; const aLevel: TPasJSONInt32 = 0) : TPasJSONRawByteString; static;
Public class function StringQuote(const aString: TPasJSONUTF8String) : TPasJSONRawByteString; static;
Public class procedure SaveBinaryToStream(const aStream: TStream; const aJSONItem: TPasJSONItem); static;
Public class procedure StringifyToStream(const aStream: TStream; const aJSONItem: TPasJSONItem; const aFormatting: boolean = false; const aModeFlags: TPasJSONModeFlags = []; const aLevel: TPasJSONInt32 = 0); static;


GLSysHelp v.2.1: Physics.NewtonImport

Unit Physics.NewtonImport

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Copyright (c) <2003-2020> <Julio Jerez, Newton Game Dynamics> * * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution.

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TNewtonFuncLinkRecord |
Packed Record TNewtonMaterialData |
Packed Record TNewtonCollisionMaterial |
Packed Record TNewtonBoxParam |
Packed Record TNewtonSphereParam |
Packed Record TNewtonCapsuleParam |
Packed Record TNewtonCylinderParam |
Packed Record TNewtonConeParam |
Packed Record TNewtonTaperedCapsuleParam |
Packed Record TNewtonTaperedCylinderParam |
Packed Record TNewtonChamferCylinderParam |
Packed Record TNewtonConvexHullParam |
Packed Record TNewtonCompoundCollisionParam |
Packed Record TNewtonCollisionTreeParam |
Packed Record TNewtonDeformableMeshParam |
Packed Record TNewtonHeightFieldCollisionParam |
Packed Record TNewtonSceneCollisionParam |
Packed Record TNewtonCollisionNullParam |
Packed Record TNewtonCollisionInfoRecord |
Packed Record TNewtonJointRecord |
Packed Record TNewtonUserMeshCollisionCollideDesc |
Packed Record TNewtonWorldConvexCastReturnInfo |
Packed Record TNewtonUserMeshCollisionRayHitDesc |
Packed Record TNewtonHingeSliderUpdateDesc |
Packed Record TNewtonUserContactPoint |
Packed Record TNewtonImmediateModeConstraint |
Packed Record TNewtonMeshDoubleData |
Packed Record TNewtonMeshFloatData |
Packed Record TNewtonMeshVertexFormat |

Functions and Procedures

function NewtonWorldGetVersion(): Integer; cdecl; external NEWTON_API;
function NewtonWorldFloatSize(): Integer; cdecl; external NEWTON_API;
function NewtonGetMemoryUsed(): Integer; cdecl; external NEWTON_API;
procedure NewtonSetMemorySystem(malloc: NewtonAllocMemory; free: NewtonFreeMemory); cdecl; external NEWTON_API;
function NewtonCreate(): PNewtonWorld; cdecl; external NEWTON_API;
procedure NewtonDestroy(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonDestroyAllBodies(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonGetPostUpdateCallback(const newtonWorld: PNewtonWorld): PNewtonPostUpdateCallback; cdecl; external NEWTON_API;
procedure NewtonSetPostUpdateCallback(const newtonWorld: PNewtonWorld; callback: NewtonPostUpdateCallback); cdecl; external NEWTON_API;
function NewtonAlloc(sizeInBytes: Integer): Pointer; cdecl; external NEWTON_API;
procedure NewtonFree(const ptr: Pointer); cdecl; external NEWTON_API;
procedure NewtonLoadPlugins(const newtonWorld: PNewtonWorld; const plugInPath: pchar); cdecl; external NEWTON_API;
procedure NewtonUnloadPlugins(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonCurrentPlugin(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonGetFirstPlugin(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonGetPreferedPlugin(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonGetNextPlugin(const newtonWorld: PNewtonWorld; const plugin: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonGetPluginString(const newtonWorld: PNewtonWorld; const plugin: Pointer): pchar; cdecl; external NEWTON_API;
procedure NewtonSelectPlugin(const newtonWorld: PNewtonWorld; const plugin: Pointer); cdecl; external NEWTON_API;
function NewtonGetContactMergeTolerance(const newtonWorld: PNewtonWorld): dfloat; cdecl; external NEWTON_API;
procedure NewtonSetContactMergeTolerance(const newtonWorld: PNewtonWorld; tolerance: dfloat); cdecl; external NEWTON_API;
procedure NewtonInvalidateCache(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonSetSolverIterations(const newtonWorld: PNewtonWorld; model: Integer); cdecl; external NEWTON_API;
function NewtonGetSolverIterations(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonSetParallelSolverOnLargeIsland(const newtonWorld: PNewtonWorld; mode: Integer); cdecl; external NEWTON_API;
function NewtonGetParallelSolverOnLargeIsland(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonGetBroadphaseAlgorithm(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonSelectBroadphaseAlgorithm(const newtonWorld: PNewtonWorld; algorithmType: Integer); cdecl; external NEWTON_API;
procedure NewtonResetBroadphase(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonUpdate(const newtonWorld: PNewtonWorld; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonUpdateAsync(const newtonWorld: PNewtonWorld; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonWaitForUpdateToFinish(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonGetNumberOfSubsteps(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonSetNumberOfSubsteps(const newtonWorld: PNewtonWorld; subSteps: Integer); cdecl; external NEWTON_API;
function NewtonGetLastUpdateTime(const newtonWorld: PNewtonWorld): dfloat; cdecl; external NEWTON_API;
procedure NewtonSerializeToFile(const newtonWorld: PNewtonWorld; const filename: pchar; bodyCallback: NewtonOnBodySerializationCallback; const bodyUserData: Pointer); cdecl; external NEWTON_API;
procedure NewtonDeserializeFromFile(const newtonWorld: PNewtonWorld; const filename: pchar; bodyCallback: NewtonOnBodyDeserializationCallback; const bodyUserData: Pointer); cdecl; external NEWTON_API;
procedure NewtonSerializeScene(const newtonWorld: PNewtonWorld; bodyCallback: NewtonOnBodySerializationCallback; const bodyUserData: Pointer; serializeCallback: NewtonSerializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
procedure NewtonDeserializeScene(const newtonWorld: PNewtonWorld; bodyCallback: NewtonOnBodyDeserializationCallback; const bodyUserData: Pointer; serializeCallback: NewtonDeserializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
function NewtonFindSerializedBody(const newtonWorld: PNewtonWorld; bodySerializedID: Integer): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonSetJointSerializationCallbacks(const newtonWorld: PNewtonWorld; serializeJoint: NewtonOnJointSerializationCallback; deserializeJoint: NewtonOnJointDeserializationCallback); cdecl; external NEWTON_API;
procedure NewtonGetJointSerializationCallbacks(const newtonWorld: PNewtonWorld; const serializeJoint: NewtonOnJointSerializationCallback; const deserializeJoint: NewtonOnJointDeserializationCallback); cdecl; external NEWTON_API;
procedure NewtonWorldCriticalSectionLock(const newtonWorld: PNewtonWorld; threadIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonWorldCriticalSectionUnlock(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonSetThreadsCount(const newtonWorld: PNewtonWorld; threads: Integer); cdecl; external NEWTON_API;
function NewtonGetThreadsCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonGetMaxThreadsCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonDispachThreadJob(const newtonWorld: PNewtonWorld; task: NewtonJobTask; const usedData: Pointer; const functionName: pchar); cdecl; external NEWTON_API;
procedure NewtonSyncThreadJobs(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonAtomicAdd(const ptr: Pinteger; value: Integer): Integer; cdecl; external NEWTON_API;
function NewtonAtomicSwap(const ptr: Pinteger; value: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonYield(); cdecl; external NEWTON_API;
procedure NewtonSetIslandUpdateEvent(const newtonWorld: PNewtonWorld; islandUpdate: NewtonIslandUpdate); cdecl; external NEWTON_API;
procedure NewtonWorldForEachJointDo(const newtonWorld: PNewtonWorld; callback: NewtonJointIterator; const userData: Pointer); cdecl; external NEWTON_API;
procedure NewtonWorldForEachBodyInAABBDo(const newtonWorld: PNewtonWorld; const p0: pfloat; const p1: pfloat; callback: NewtonBodyIterator; const userData: Pointer); cdecl; external NEWTON_API;
procedure NewtonWorldSetUserData(const newtonWorld: PNewtonWorld; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonWorldGetUserData(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonWorldAddListener(const newtonWorld: PNewtonWorld; const nameId: pchar; const listenerUserData: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonWorldGetListener(const newtonWorld: PNewtonWorld; const nameId: pchar): Pointer; cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetDebugCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldListenerDebugCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetPostStepCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldUpdateListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetPreUpdateCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldUpdateListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetPostUpdateCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldUpdateListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetDestructorCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldDestroyListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetBodyDestroyCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldListenerBodyDestroyCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerDebug(const newtonWorld: PNewtonWorld; const context: Pointer); cdecl; external NEWTON_API;
function NewtonWorldGetListenerUserData(const newtonWorld: PNewtonWorld; const listener: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonWorldListenerGetBodyDestroyCallback(const newtonWorld: PNewtonWorld; const listener: Pointer): PNewtonWorldListenerBodyDestroyCallback; cdecl; external NEWTON_API;
procedure NewtonWorldSetDestructorCallback(const newtonWorld: PNewtonWorld; destructorparam: NewtonWorldDestructorCallback); cdecl; external NEWTON_API;
function NewtonWorldGetDestructorCallback(const newtonWorld: PNewtonWorld): PNewtonWorldDestructorCallback; cdecl; external NEWTON_API;
procedure NewtonWorldSetCollisionConstructorDestructorCallback(const newtonWorld: PNewtonWorld; constructorparam: NewtonCollisionCopyConstructionCallback; destructorparam: NewtonCollisionDestructorCallback); cdecl; external NEWTON_API;
procedure NewtonWorldSetCreateDestroyContactCallback(const newtonWorld: PNewtonWorld; createContact: NewtonCreateContactCallback; destroyContact: NewtonDestroyContactCallback); cdecl; external NEWTON_API;
procedure NewtonWorldRayCast(const newtonWorld: PNewtonWorld; const p0: pfloat; const p1: pfloat; filter: NewtonWorldRayFilterCallback; const userData: Pointer; prefilter: NewtonWorldRayPrefilterCallback; threadIndex: Integer); cdecl; external NEWTON_API;
function NewtonWorldConvexCast(const newtonWorld: PNewtonWorld; const matrix: pfloat; const target: pfloat; const shape: PNewtonCollision; const param: pfloat; const userData: Pointer; prefilter: NewtonWorldRayPrefilterCallback; const info: PNewtonWorldConvexCastReturnInfo; maxContactsCount: Integer; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonWorldCollide(const newtonWorld: PNewtonWorld; const matrix: pfloat; const shape: PNewtonCollision; const userData: Pointer; prefilter: NewtonWorldRayPrefilterCallback; const info: PNewtonWorldConvexCastReturnInfo; maxContactsCount: Integer; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonWorldGetBodyCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonWorldGetConstraintCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonWorldFindJoint(const body0: pNewtonBody; const body1: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonIslandGetBody(const island: Pointer; bodyIndex: Integer): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonIslandGetBodyAABB(const island: Pointer; bodyIndex: Integer; const p0: pfloat; const p1: pfloat); cdecl; external NEWTON_API;
function NewtonMaterialCreateGroupID(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonMaterialGetDefaultGroupID(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonMaterialDestroyAllGroupID(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonMaterialGetUserData(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer): Pointer; cdecl; external NEWTON_API;
procedure NewtonMaterialSetSurfaceThickness(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; thickness: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetCallbackUserData(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; const userData: Pointer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactGenerationCallback(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; contactGeneration: NewtonOnContactGeneration); cdecl; external NEWTON_API;
procedure NewtonMaterialSetCompoundCollisionCallback(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; compoundAabbOverlap: NewtonOnCompoundSubCollisionAABBOverlap); cdecl; external NEWTON_API;
procedure NewtonMaterialSetCollisionCallback(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; aabbOverlap: NewtonOnAABBOverlap; process: NewtonContactsProcess); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultSoftness(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; value: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultElasticity(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; elasticCoef: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultCollidable(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; state: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultFriction(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; staticFriction: dfloat; kineticFriction: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialJointResetIntraJointCollision(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialJointResetSelftJointCollision(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer); cdecl; external NEWTON_API;
function NewtonWorldGetFirstMaterial(const newtonWorld: PNewtonWorld): PNewtonMaterial; cdecl; external NEWTON_API;
function NewtonWorldGetNextMaterial(const newtonWorld: PNewtonWorld; const material: PNewtonMaterial): PNewtonMaterial; cdecl; external NEWTON_API;
function NewtonWorldGetFirstBody(const newtonWorld: PNewtonWorld): pNewtonBody; cdecl; external NEWTON_API;
function NewtonWorldGetNextBody(const newtonWorld: PNewtonWorld; const curBody: pNewtonBody): pNewtonBody; cdecl; external NEWTON_API;
function NewtonMaterialGetMaterialPairUserData(const material: PNewtonMaterial): Pointer; cdecl; external NEWTON_API;
function NewtonMaterialGetContactFaceAttribute(const material: PNewtonMaterial): LongWord; cdecl; external NEWTON_API;
function NewtonMaterialGetBodyCollidingShape(const material: PNewtonMaterial; const body: pNewtonBody): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonMaterialGetContactNormalSpeed(const material: PNewtonMaterial): dfloat; cdecl; external NEWTON_API;
procedure NewtonMaterialGetContactForce(const material: PNewtonMaterial; const body: pNewtonBody; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialGetContactPositionAndNormal(const material: PNewtonMaterial; const body: pNewtonBody; const posit: pfloat; const normal: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialGetContactTangentDirections(const material: PNewtonMaterial; const body: pNewtonBody; const dir0: pfloat; const dir1: pfloat); cdecl; external NEWTON_API;
function NewtonMaterialGetContactTangentSpeed(const material: PNewtonMaterial; index: Integer): dfloat; cdecl; external NEWTON_API;
function NewtonMaterialGetContactMaxNormalImpact(const material: PNewtonMaterial): dfloat; cdecl; external NEWTON_API;
function NewtonMaterialGetContactMaxTangentImpact(const material: PNewtonMaterial; index: Integer): dfloat; cdecl; external NEWTON_API;
function NewtonMaterialGetContactPenetration(const material: PNewtonMaterial): dfloat; cdecl; external NEWTON_API;
procedure NewtonMaterialSetAsSoftContact(const material: PNewtonMaterial; relaxation: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactSoftness(const material: PNewtonMaterial; softness: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactThickness(const material: PNewtonMaterial; thickness: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactElasticity(const material: PNewtonMaterial; restitution: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactFrictionState(const material: PNewtonMaterial; state: Integer; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactFrictionCoef(const material: PNewtonMaterial; staticFrictionCoef: dfloat; kineticFrictionCoef: dfloat; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactNormalAcceleration(const material: PNewtonMaterial; accel: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactNormalDirection(const material: PNewtonMaterial; const directionVector: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactPosition(const material: PNewtonMaterial; const position: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactTangentFriction(const material: PNewtonMaterial; friction: dfloat; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactTangentAcceleration(const material: PNewtonMaterial; accel: dfloat; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialContactRotateTangentDirections(const material: PNewtonMaterial; const directionVector: pfloat); cdecl; external NEWTON_API;
function NewtonMaterialGetContactPruningTolerance(const contactJoint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactPruningTolerance(const contactJoint: PNewtonJoint; tolerance: dfloat); cdecl; external NEWTON_API;
function NewtonCreateNull(const newtonWorld: PNewtonWorld): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateSphere(const newtonWorld: PNewtonWorld; radius: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateBox(const newtonWorld: PNewtonWorld; dx: dfloat; dy: dfloat; dz: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCone(const newtonWorld: PNewtonWorld; radius: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCapsule(const newtonWorld: PNewtonWorld; radius0: dfloat; radius1: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCylinder(const newtonWorld: PNewtonWorld; radio0: dfloat; radio1: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateChamferCylinder(const newtonWorld: PNewtonWorld; radius: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateConvexHull(const newtonWorld: PNewtonWorld; count: Integer; const vertexCloud: pfloat; strideInBytes: Integer; tolerance: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateConvexHullFromMesh(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; tolerance: dfloat; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCollisionGetMode(const convexCollision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionSetMode(const convexCollision: PNewtonCollision; mode: Integer); cdecl; external NEWTON_API;
function NewtonConvexHullGetFaceIndices(const convexHullCollision: PNewtonCollision; face: Integer; const faceIndices: Pinteger): Integer; cdecl; external NEWTON_API;
function NewtonConvexHullGetVertexData(const convexHullCollision: PNewtonCollision; const vertexData: Pfloat; strideInBytes: Pinteger): Integer; cdecl; external NEWTON_API;
function NewtonConvexCollisionCalculateVolume(const convexCollision: PNewtonCollision): dfloat; cdecl; external NEWTON_API;
procedure NewtonConvexCollisionCalculateInertialMatrix(const convexCollision: PNewtonCollision; const inertia: pfloat; const origin: pfloat); cdecl; external NEWTON_API;
function NewtonConvexCollisionCalculateBuoyancyVolume(const convexCollision: PNewtonCollision; const matrix: pfloat; const fluidPlane: pfloat; const centerOfBuoyancy: pfloat): dfloat; cdecl; external NEWTON_API;
function NewtonCollisionDataPointer(const convexCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonCreateCompoundCollision(const newtonWorld: PNewtonWorld; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCompoundCollisionFromMesh(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; hullTolerance: dfloat; shapeID: Integer; subShapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionBeginAddRemove(const compoundCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonCompoundCollisionAddSubCollision(const compoundCollision: PNewtonCollision; const convexCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionRemoveSubCollision(const compoundCollision: PNewtonCollision; const collisionNode: Pointer); cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionRemoveSubCollisionByIndex(const compoundCollision: PNewtonCollision; nodeIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionSetSubCollisionMatrix(const compoundCollision: PNewtonCollision; const collisionNode: Pointer; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionEndAddRemove(const compoundCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetFirstNode(const compoundCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetNextNode(const compoundCollision: PNewtonCollision; const collisionNode: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetNodeByIndex(const compoundCollision: PNewtonCollision; index: Integer): Pointer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetNodeIndex(const compoundCollision: PNewtonCollision; const collisionNode: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetCollisionFromNode(const compoundCollision: PNewtonCollision; const collisionNode: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateFracturedCompoundCollision(const newtonWorld: PNewtonWorld; const solidMesh: PNewtonMesh; shapeID: Integer; fracturePhysicsMaterialID: Integer; pointcloudCount: Integer; const vertexCloud: pfloat; strideInBytes: Integer; materialID: Integer; const textureMatrix: pfloat; regenerateMainMeshCallback: NewtonFractureCompoundCollisionReconstructMainMeshCallBack; emitFracturedCompound: NewtonFractureCompoundCollisionOnEmitCompoundFractured; emitFracfuredChunk: NewtonFractureCompoundCollisionOnEmitChunk): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonFracturedCompoundPlaneClip(const fracturedCompound: PNewtonCollision; const plane: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonFracturedCompoundSetCallbacks(const fracturedCompound: PNewtonCollision; regenerateMainMeshCallback: NewtonFractureCompoundCollisionReconstructMainMeshCallBack; emitFracturedCompound: NewtonFractureCompoundCollisionOnEmitCompoundFractured; emitFracfuredChunk: NewtonFractureCompoundCollisionOnEmitChunk); cdecl; external NEWTON_API;
function NewtonFracturedCompoundIsNodeFreeToDetach(const fracturedCompound: PNewtonCollision; const collisionNode: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundNeighborNodeList(const fracturedCompound: PNewtonCollision; const collisionNode: Pointer; const list: PPointer; maxCount: Integer): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundGetMainMesh(const fracturedCompound: PNewtonCollision): PNewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
function NewtonFracturedCompoundGetFirstSubMesh(const fracturedCompound: PNewtonCollision): PNewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
function NewtonFracturedCompoundGetNextSubMesh(const fracturedCompound: PNewtonCollision; const subMesh: PNewtonFracturedCompoundMeshPart): PNewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexCount(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexPositions(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): pfloat; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexNormals(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): pfloat; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexUVs(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): pfloat; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetIndexStream(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart; const segment: Pointer; const index: Pinteger): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetFirstSegment(const fractureCompoundMeshPart: PNewtonFracturedCompoundMeshPart): Pointer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetNextSegment(const fractureCompoundMeshSegment: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetMaterial(const fractureCompoundMeshSegment: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetIndexCount(const fractureCompoundMeshSegment: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonCreateSceneCollision(const newtonWorld: PNewtonWorld; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonSceneCollisionBeginAddRemove(const sceneCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonSceneCollisionAddSubCollision(const sceneCollision: PNewtonCollision; const collision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
procedure NewtonSceneCollisionRemoveSubCollision(const compoundCollision: PNewtonCollision; const collisionNode: Pointer); cdecl; external NEWTON_API;
procedure NewtonSceneCollisionRemoveSubCollisionByIndex(const sceneCollision: PNewtonCollision; nodeIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonSceneCollisionSetSubCollisionMatrix(const sceneCollision: PNewtonCollision; const collisionNode: Pointer; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonSceneCollisionEndAddRemove(const sceneCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonSceneCollisionGetFirstNode(const sceneCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetNextNode(const sceneCollision: PNewtonCollision; const collisionNode: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetNodeByIndex(const sceneCollision: PNewtonCollision; index: Integer): Pointer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetNodeIndex(const sceneCollision: PNewtonCollision; const collisionNode: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetCollisionFromNode(const sceneCollision: PNewtonCollision; const collisionNode: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateUserMeshCollision(const newtonWorld: PNewtonWorld; const minBox: pfloat; const maxBox: pfloat; const userData: Pointer; collideCallback: NewtonUserMeshCollisionCollideCallback; rayHitCallback: NewtonUserMeshCollisionRayHitCallback; destroyCallback: NewtonUserMeshCollisionDestroyCallback; getInfoCallback: NewtonUserMeshCollisionGetCollisionInfo; getLocalAABBCallback: NewtonUserMeshCollisionAABBTest; facesInAABBCallback: NewtonUserMeshCollisionGetFacesInAABB; serializeCallback: NewtonOnUserCollisionSerializationCallback; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonUserMeshCollisionContinuousOverlapTest(const collideDescData: PNewtonUserMeshCollisionCollideDesc; const continueCollisionHandle: Pointer; const minAabb: pfloat; const maxAabb: pfloat): Integer; cdecl; external NEWTON_API;
function NewtonCreateCollisionFromSerialization(const newtonWorld: PNewtonWorld; deserializeFunction: NewtonDeserializeCallback; const serializeHandle: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonCollisionSerialize(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; serializeFunction: NewtonSerializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
procedure NewtonCollisionGetInfo(const collision: PNewtonCollision; const collisionInfo: PNewtonCollisionInfoRecord); cdecl; external NEWTON_API;
function NewtonCreateHeightFieldCollision(const newtonWorld: PNewtonWorld; width: Integer; height: Integer; gridsDiagonals: Integer; elevationdatType: Integer; const elevationMap: Pointer; const attributeMap: pchar; verticalScale: dfloat; horizontalScale_x: dfloat; horizontalScale_z: dfloat; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonHeightFieldSetUserRayCastCallback(const heightfieldCollision: PNewtonCollision; rayHitCallback: NewtonHeightFieldRayCastCallback); cdecl; external NEWTON_API;
procedure NewtonHeightFieldSetHorizontalDisplacement(heightfieldCollision : PNewtonCollision; horizontalMap : Pword; scale : dFloat); cdecl; external NEWTON_API;
function NewtonCreateTreeCollision(const newtonWorld: PNewtonWorld; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateTreeCollisionFromMesh(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonTreeCollisionSetUserRayCastCallback(const treeCollision: PNewtonCollision; rayHitCallback: NewtonCollisionTreeRayCastCallback); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionBeginBuild(const treeCollision: PNewtonCollision); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionAddFace(const treeCollision: PNewtonCollision; vertexCount: Integer; const vertexPtr: pfloat; strideInBytes: Integer; faceAttribute: Integer); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionEndBuild(const treeCollision: PNewtonCollision; optimize: Integer); cdecl; external NEWTON_API;
function NewtonTreeCollisionGetFaceAttribute(const treeCollision: PNewtonCollision; const faceIndexArray: Pinteger; indexCount: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonTreeCollisionSetFaceAttribute(const treeCollision: PNewtonCollision; const faceIndexArray: Pinteger; indexCount: Integer; attribute: Integer); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionForEachFace(const treeCollision: PNewtonCollision; forEachFaceCallback: NewtonTreeCollisionFaceCallback; const context: Pointer); cdecl; external NEWTON_API;
function NewtonTreeCollisionGetVertexListTriangleListInAABB(const treeCollision: PNewtonCollision; const p0: pfloat; const p1: pfloat; const vertexArray: Pfloat; const vertexCount: Pinteger; const vertexStrideInBytes: Pinteger; const indexList: Pinteger; maxIndexCount: Integer; const faceAttribute: Pinteger): Integer; cdecl; external NEWTON_API;
procedure NewtonStaticCollisionSetDebugCallback(const staticCollision: PNewtonCollision; userCallback: NewtonTreeCollisionCallback); cdecl; external NEWTON_API;
function NewtonCollisionCreateInstance(const collision: PNewtonCollision): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCollisionGetType(const collision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonCollisionIsConvexShape(const collision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonCollisionIsStaticShape(const collision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionSetUserData(const collision: PNewtonCollision; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonCollisionGetUserData(const collision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
procedure NewtonCollisionSetUserID(const collision: PNewtonCollision; id: int64); cdecl; external NEWTON_API;
function NewtonCollisionGetUserID(const collision: PNewtonCollision): int64; cdecl; external NEWTON_API;
procedure NewtonCollisionGetMaterial(const collision: PNewtonCollision; const userData: PNewtonCollisionMaterial); cdecl; external NEWTON_API;
procedure NewtonCollisionSetMaterial(const collision: PNewtonCollision; const userData: PNewtonCollisionMaterial); cdecl; external NEWTON_API;
function NewtonCollisionGetSubCollisionHandle(const collision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonCollisionGetParentInstance(const collision: PNewtonCollision): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonCollisionSetMatrix(const collision: PNewtonCollision; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionGetMatrix(const collision: PNewtonCollision; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionSetScale(const collision: PNewtonCollision; scaleX: dfloat; scaleY: dfloat; scaleZ: dfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionGetScale(const collision: PNewtonCollision; const scaleX: pfloat; const scaleY: pfloat; const scaleZ: pfloat); cdecl; external NEWTON_API;
procedure NewtonDestroyCollision(const collision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonCollisionGetSkinThickness(const collision: PNewtonCollision): dfloat; cdecl; external NEWTON_API;
procedure NewtonCollisionSetSkinThickness(const collision: PNewtonCollision; thickness: dfloat); cdecl; external NEWTON_API;
function NewtonCollisionIntersectionTest(const newtonWorld: PNewtonWorld; const collisionA: PNewtonCollision; const matrixA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionPointDistance(const newtonWorld: PNewtonWorld; const point: pfloat; const collision: PNewtonCollision; const matrix: pfloat; const contact: pfloat; const normal: pfloat; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionClosestPoint(const newtonWorld: PNewtonWorld; const collisionA: PNewtonCollision; const matrixA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; const contactA: pfloat; const contactB: pfloat; const normalAB: pfloat; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionCollide(const newtonWorld: PNewtonWorld; maxSize: Integer; const collisionA: PNewtonCollision; const matrixA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; const contacts: pfloat; const normals: pfloat; const penetration: pfloat; const attributeA: Pint64; const attributeB: Pint64; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionCollideContinue(const newtonWorld: PNewtonWorld; maxSize: Integer; timestep: dfloat; const collisionA: PNewtonCollision; const matrixA: pfloat; const velocA: pfloat; const omegaA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; const velocB: pfloat; const omegaB: pfloat; const timeOfImpact: pfloat; const contacts: pfloat; const normals: pfloat; const penetration: pfloat; const attributeA: Pint64; const attributeB: Pint64; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionSupportVertex(const collision: PNewtonCollision; const dir: pfloat; const vertex: pfloat); cdecl; external NEWTON_API;
function NewtonCollisionRayCast(const collision: PNewtonCollision; const p0: pfloat; const p1: pfloat; const normal: pfloat; const attribute: Pint64): dfloat; cdecl; external NEWTON_API;
procedure NewtonCollisionCalculateAABB(const collision: PNewtonCollision; const matrix: pfloat; const p0: pfloat; const p1: pfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionForEachPolygonDo(const collision: PNewtonCollision; const matrix: pfloat; callback: NewtonCollisionIterator; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonCollisionAggregateCreate(const world: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateDestroy(const aggregate: Pointer); cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateAddBody(const aggregate: Pointer; const body: pNewtonBody); cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateRemoveBody(const aggregate: Pointer; const body: pNewtonBody); cdecl; external NEWTON_API;
function NewtonCollisionAggregateGetSelfCollision(const aggregate: Pointer): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateSetSelfCollision(const aggregate: Pointer; state: Integer); cdecl; external NEWTON_API;
procedure NewtonSetEulerAngle(const eulersAngles: pfloat; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonGetEulerAngle(const matrix: pfloat; const eulersAngles0: pfloat; const eulersAngles1: pfloat); cdecl; external NEWTON_API;
function NewtonCalculateSpringDamperAcceleration(dt: dfloat; ks: dfloat; x: dfloat; kd: dfloat; s: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonCreateDynamicBody(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const matrix: pfloat): pNewtonBody; cdecl; external NEWTON_API;
function NewtonCreateKinematicBody(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const matrix: pfloat): pNewtonBody; cdecl; external NEWTON_API;
function NewtonCreateAsymetricDynamicBody(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const matrix: pfloat): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonDestroyBody(const body: pNewtonBody); cdecl; external NEWTON_API;
function NewtonBodyGetSimulationState(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetSimulationState(const bodyPtr: pNewtonBody; const state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetType(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetCollidable(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetCollidable(const body: pNewtonBody; collidableState: Integer); cdecl; external NEWTON_API;
procedure NewtonBodyAddForce(const body: pNewtonBody; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyAddTorque(const body: pNewtonBody; const torque: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyCalculateInverseDynamicsForce(body : PNewtonBody; timestep : dFloat; desiredVeloc : PdFloat; forceOut : PdFloat); cdecl; external NEWTON_API;
procedure NewtonBodySetCentreOfMass(const body: pNewtonBody; const com: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMassMatrix(const body: pNewtonBody; mass: dfloat; Ixx: dfloat; Iyy: dfloat; Izz: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetFullMassMatrix(const body: pNewtonBody; mass: dfloat; const inertiaMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMassProperties(const body: pNewtonBody; mass: dfloat; const collision: PNewtonCollision); cdecl; external NEWTON_API;
procedure NewtonBodySetMatrix(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMatrixNoSleep(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMatrixRecursive(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMaterialGroupID(const body: pNewtonBody; id: Integer); cdecl; external NEWTON_API;
procedure NewtonBodySetContinuousCollisionMode(const body: pNewtonBody; state: LongWord); cdecl; external NEWTON_API;
procedure NewtonBodySetJointRecursiveCollision(const body: pNewtonBody; state: LongWord); cdecl; external NEWTON_API;
procedure NewtonBodySetOmega(const body: pNewtonBody; const omega: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetOmegaNoSleep(const body: pNewtonBody; const omega: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetVelocity(const body: pNewtonBody; const velocity: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetVelocityNoSleep(const body: pNewtonBody; const velocity: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetForce(const body: pNewtonBody; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetTorque(const body: pNewtonBody; const torque: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetLinearDamping(const body: pNewtonBody; linearDamp: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetAngularDamping(const body: pNewtonBody; const angularDamp: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetCollision(const body: pNewtonBody; const collision: PNewtonCollision); cdecl; external NEWTON_API;
procedure NewtonBodySetCollisionScale(const body: pNewtonBody; scaleX: dfloat; scaleY: dfloat; scaleZ: dfloat); cdecl; external NEWTON_API;
function NewtonBodyGetSleepState(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetSleepState(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetAutoSleep(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetAutoSleep(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetFreezeState(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetFreezeState(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetGyroscopicTorque(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetGyroscopicTorque(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
procedure NewtonBodySetDestructorCallback(const body: pNewtonBody; callback: NewtonBodyDestructor); cdecl; external NEWTON_API;
function NewtonBodyGetDestructorCallback(const body: pNewtonBody): PNewtonBodyDestructor; cdecl; external NEWTON_API;
procedure NewtonBodySetTransformCallback(const body: pNewtonBody; callback: NewtonSetTransform); cdecl; external NEWTON_API;
function NewtonBodyGetTransformCallback(const body: pNewtonBody): PNewtonSetTransform; cdecl; external NEWTON_API;
procedure NewtonBodySetForceAndTorqueCallback(const body: pNewtonBody; callback: NewtonApplyForceAndTorque); cdecl; external NEWTON_API;
function NewtonBodyGetForceAndTorqueCallback(const body: pNewtonBody): PNewtonApplyForceAndTorque; cdecl; external NEWTON_API;
function NewtonBodyGetID(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetUserData(const body: pNewtonBody; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonBodyGetUserData(const body: pNewtonBody): Pointer; cdecl; external NEWTON_API;
function NewtonBodyGetWorld(const body: pNewtonBody): PNewtonWorld; cdecl; external NEWTON_API;
function NewtonBodyGetCollision(const body: pNewtonBody): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonBodyGetMaterialGroupID(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetSerializedID(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetContinuousCollisionMode(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetJointRecursiveCollision(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodyGetPosition(const body: pNewtonBody; const pos: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetMatrix(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetRotation(const body: pNewtonBody; const rotation: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetMass(const body: pNewtonBody; mass: pfloat; const Ixx: pfloat; const Iyy: pfloat; const Izz: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetInvMass(const body: pNewtonBody; const invMass: pfloat; const invIxx: pfloat; const invIyy: pfloat; const invIzz: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetInertiaMatrix(const body: pNewtonBody; const inertiaMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetInvInertiaMatrix(const body: pNewtonBody; const invInertiaMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetOmega(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetVelocity(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetAlpha(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetAcceleration(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetForce(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetTorque(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetCentreOfMass(const body: pNewtonBody; const com: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetPointVelocity(const body: pNewtonBody; const point: pfloat; const velocOut: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyApplyImpulsePair(const body: pNewtonBody; const linearImpulse: pfloat; const angularImpulse: pfloat; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodyAddImpulse(const body: pNewtonBody; const pointDeltaVeloc: pfloat; const pointPosit: pfloat; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodyApplyImpulseArray(const body: pNewtonBody; impuleCount: Integer; strideInByte: Integer; const impulseArray: pfloat; const pointArray: pfloat; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodyIntegrateVelocity(const body: pNewtonBody; timestep: dfloat); cdecl; external NEWTON_API;
function NewtonBodyGetLinearDamping(const body: pNewtonBody): dfloat; cdecl; external NEWTON_API;
procedure NewtonBodyGetAngularDamping(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetAABB(const body: pNewtonBody; const p0: pfloat; const p1: pfloat); cdecl; external NEWTON_API;
function NewtonBodyGetFirstJoint(const body: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyGetNextJoint(const body: pNewtonBody; const joint: PNewtonJoint): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyGetFirstContactJoint(const body: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyGetNextContactJoint(const body: pNewtonBody; const contactJoint: PNewtonJoint): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyFindContact(const body0: pNewtonBody; const body1: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonContactJointGetFirstContact(const contactJoint: PNewtonJoint): Pointer; cdecl; external NEWTON_API;
function NewtonContactJointGetNextContact(const contactJoint: PNewtonJoint; const contact: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonContactJointGetContactCount(const contactJoint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonContactJointRemoveContact(const contactJoint: PNewtonJoint; const contact: Pointer); cdecl; external NEWTON_API;
function NewtonContactJointGetClosestDistance(const contactJoint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonContactJointResetSelftJointCollision(const contactJoint: PNewtonJoint); cdecl; external NEWTON_API;
procedure NewtonContactJointResetIntraJointCollision(const contactJoint: PNewtonJoint); cdecl; external NEWTON_API;
function NewtonContactGetMaterial(const contact: Pointer): PNewtonMaterial; cdecl; external NEWTON_API;
function NewtonContactGetCollision0(const contact: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonContactGetCollision1(const contact: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonContactGetCollisionID0(const contact: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonContactGetCollisionID1(const contact: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonJointGetUserData(const joint: PNewtonJoint): Pointer; cdecl; external NEWTON_API;
procedure NewtonJointSetUserData(const joint: PNewtonJoint; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonJointGetBody0(const joint: PNewtonJoint): pNewtonBody; cdecl; external NEWTON_API;
function NewtonJointGetBody1(const joint: PNewtonJoint): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonJointGetInfo(const joint: PNewtonJoint; const info: PNewtonJointRecord); cdecl; external NEWTON_API;
function NewtonJointGetCollisionState(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonJointSetCollisionState(const joint: PNewtonJoint; state: Integer); cdecl; external NEWTON_API;
function NewtonJointGetStiffness(const joint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonJointSetStiffness(const joint: PNewtonJoint; state: dfloat); cdecl; external NEWTON_API;
procedure NewtonDestroyJoint(const newtonWorld: PNewtonWorld; const joint: PNewtonJoint); cdecl; external NEWTON_API;
procedure NewtonJointSetDestructor(const joint: PNewtonJoint; destructorparam: NewtonConstraintDestructor); cdecl; external NEWTON_API;
function NewtonJointIsActive(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
function NewtonCreateMassSpringDamperSystem(const newtonWorld: PNewtonWorld; shapeID: Integer; const points: pfloat; pointCount: Integer; strideInBytes: Integer; const pointMass: pfloat; const links: Pinteger; linksCount: Integer; const linksSpring: pfloat; const linksDamper: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateDeformableSolid(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonDeformableMeshGetParticleCount(const deformableMesh: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonDeformableMeshGetParticleStrideInBytes(const deformableMesh: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonDeformableMeshGetParticleArray(const deformableMesh: PNewtonCollision): pfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateBall(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
procedure NewtonBallSetUserCallback(const ball: PNewtonJoint; callback: NewtonBallCallback); cdecl; external NEWTON_API;
procedure NewtonBallGetJointAngle(const ball: PNewtonJoint; angle: pfloat); cdecl; external NEWTON_API;
procedure NewtonBallGetJointOmega(const ball: PNewtonJoint; omega: pfloat); cdecl; external NEWTON_API;
procedure NewtonBallGetJointForce(const ball: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonBallSetConeLimits(const ball: PNewtonJoint; const pin: pfloat; maxConeAngle: dfloat; maxTwistAngle: dfloat); cdecl; external NEWTON_API;
function NewtonConstraintCreateHinge(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
procedure NewtonHingeSetUserCallback(const hinge: PNewtonJoint; callback: NewtonHingeCallback); cdecl; external NEWTON_API;
function NewtonHingeGetJointAngle(const hinge: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonHingeGetJointOmega(const hinge: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonHingeGetJointForce(const hinge: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonHingeCalculateStopAlpha(const hinge: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateSlider(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
procedure NewtonSliderSetUserCallback(const slider: PNewtonJoint; callback: NewtonSliderCallback); cdecl; external NEWTON_API;
function NewtonSliderGetJointPosit(const slider: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonSliderGetJointVeloc(const slider: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonSliderGetJointForce(const slider: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonSliderCalculateStopAccel(const slider: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; position: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateCorkscrew(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
procedure NewtonCorkscrewSetUserCallback(const corkscrew: PNewtonJoint; callback: NewtonCorkscrewCallback); cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointPosit(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointAngle(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointVeloc(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointOmega(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonCorkscrewGetJointForce(const corkscrew: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonCorkscrewCalculateStopAlpha(const corkscrew: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewCalculateStopAccel(const corkscrew: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; position: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateUniversal(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir0: pfloat; const pinDir1: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
procedure NewtonUniversalSetUserCallback(const universal: PNewtonJoint; callback: NewtonUniversalCallback); cdecl; external NEWTON_API;
function NewtonUniversalGetJointAngle0(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalGetJointAngle1(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalGetJointOmega0(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalGetJointOmega1(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonUniversalGetJointForce(const universal: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonUniversalCalculateStopAlpha0(const universal: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalCalculateStopAlpha1(const universal: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateUpVector(const newtonWorld: PNewtonWorld; const pinDir: pfloat; const body: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
procedure NewtonUpVectorGetPin(const upVector: PNewtonJoint; pin: dfloat); cdecl; external NEWTON_API;
procedure NewtonUpVectorSetPin(const upVector: PNewtonJoint; const pin: dfloat); cdecl; external NEWTON_API;
function NewtonConstraintCreateUserJoint(const newtonWorld: PNewtonWorld; maxDOF: Integer; callback: NewtonUserBilateralCallback; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonUserJointGetSolverModel(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonUserJointSetSolverModel(const joint: PNewtonJoint; model: Integer); cdecl; external NEWTON_API;
procedure NewtonUserJointMassScale(const joint: PNewtonJoint; scaleBody0: dfloat; scaleBody1: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetFeedbackCollectorCallback(const joint: PNewtonJoint; getFeedback: NewtonUserBilateralCallback); cdecl; external NEWTON_API;
procedure NewtonUserJointAddLinearRow(const joint: PNewtonJoint; const pivot0: pfloat; const pivot1: pfloat; const dir: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointAddAngularRow(const joint: PNewtonJoint; relativeAngle: dfloat; const dir: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointAddGeneralRow(const joint: PNewtonJoint; const jacobian0: pfloat; const jacobian1: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowMinimumFriction(const joint: PNewtonJoint; friction: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowMaximumFriction(const joint: PNewtonJoint; friction: dfloat); cdecl; external NEWTON_API;
function NewtonUserJointCalculateRowZeroAcceleration(const joint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUserJointGetRowAcceleration(const joint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonUserJointGetRowJacobian(const joint: PNewtonJoint; const linear0: pfloat; const angula0: pfloat; const linear1: pfloat; const angula1: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowAcceleration(const joint: PNewtonJoint; acceleration: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowSpringDamperAcceleration(const joint: PNewtonJoint; rowStiffness: dfloat; spring: dfloat; damper: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowStiffness(const joint: PNewtonJoint; stiffness: dfloat); cdecl; external NEWTON_API;
function NewtonUserJoinRowsCount(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonUserJointGetGeneralRow(const joint: PNewtonJoint; index: Integer; const jacobian0: pfloat; const jacobian1: pfloat); cdecl; external NEWTON_API;
function NewtonUserJointGetRowForce(const joint: PNewtonJoint; row: Integer): dfloat; cdecl; external NEWTON_API;
function NewtonMeshCreate(const newtonWorld: PNewtonWorld): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFromMesh(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFromCollision(const collision: PNewtonCollision): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateTetrahedraIsoSurface(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateConvexHull(const newtonWorld: PNewtonWorld; pointCount: Integer; const vertexCloud: pfloat; strideInBytes: Integer; tolerance: dfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateVoronoiConvexDecomposition(const newtonWorld: PNewtonWorld; pointCount: Integer; const vertexCloud: pfloat; strideInBytes: Integer; materialID: Integer; const textureMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFromSerialization(const newtonWorld: PNewtonWorld; deserializeFunction: NewtonDeserializeCallback; const serializeHandle: Pointer): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonMeshDestroy(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshSerialize(const mesh: PNewtonMesh; serializeFunction: NewtonSerializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
procedure NewtonMeshSaveOFF(const mesh: PNewtonMesh; const filename: pchar); cdecl; external NEWTON_API;
function NewtonMeshLoadOFF(const newtonWorld: PNewtonWorld; const filename: pchar): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshLoadTetrahedraMesh(const newtonWorld: PNewtonWorld; const filename: pchar): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonMeshFlipWinding(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshApplyTransform(const mesh: PNewtonMesh; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshCalculateOOBB(const mesh: PNewtonMesh; const matrix: pfloat; const x: pfloat; const y: pfloat; const z: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshCalculateVertexNormals(const mesh: PNewtonMesh; angleInRadians: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplySphericalMapping(const mesh: PNewtonMesh; material: Integer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplyCylindricalMapping(const mesh: PNewtonMesh; cylinderMaterial: Integer; capMaterial: Integer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplyBoxMapping(const mesh: PNewtonMesh; frontMaterial: Integer; sideMaterial: Integer; topMaterial: Integer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplyAngleBasedMapping(const mesh: PNewtonMesh; material: Integer; reportPrograssCallback: NewtonReportProgress; const reportPrgressUserData: Pointer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCreateTetrahedraLinearBlendSkinWeightsChannel(const tetrahedraMesh: PNewtonMesh; const skinMesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshOptimize(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshOptimizePoints(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshOptimizeVertex(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
function NewtonMeshIsOpenMesh(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshFixTJoints(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshPolygonize(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshTriangulate(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
function NewtonMeshUnion(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshDifference(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshIntersection(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonMeshClip(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat; const topMesh: PNewtonMesh; const bottomMesh: PNewtonMesh); cdecl; external NEWTON_API;
function NewtonMeshConvexMeshIntersection(const mesh: PNewtonMesh; const convexMesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshSimplify(const mesh: PNewtonMesh; maxVertexCount: Integer; reportPrograssCallback: NewtonReportProgress; const reportPrgressUserData: Pointer): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshApproximateConvexDecomposition(const mesh: PNewtonMesh; maxConcavity: dfloat; backFaceDistanceFactor: dfloat; maxCount: Integer; maxVertexPerHull: Integer; reportProgressCallback: NewtonReportProgress; const reportProgressUserData: Pointer): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonRemoveUnusedVertices(const mesh: PNewtonMesh; const vertexRemapTable: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshBeginBuild(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshBeginFace(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshAddPoint(const mesh: PNewtonMesh; x: double; y: double; z: double); cdecl; external NEWTON_API;
procedure NewtonMeshAddLayer(const mesh: PNewtonMesh; layerIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonMeshAddMaterial(const mesh: PNewtonMesh; materialIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonMeshAddNormal(const mesh: PNewtonMesh; x: dfloat; y: dfloat; z: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddBinormal(const mesh: PNewtonMesh; x: dfloat; y: dfloat; z: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddUV0(const mesh: PNewtonMesh; u: dfloat; v: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddUV1(const mesh: PNewtonMesh; u: dfloat; v: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddVertexColor(const mesh: PNewtonMesh; r: Single; g: Single; b: Single; a: Single); cdecl; external NEWTON_API;
procedure NewtonMeshEndFace(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshEndBuild(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshClearVertexFormat(const format: PNewtonMeshVertexFormat); cdecl; external NEWTON_API;
procedure NewtonMeshBuildFromVertexListIndexList(const mesh: PNewtonMesh; const format: PNewtonMeshVertexFormat); cdecl; external NEWTON_API;
function NewtonMeshGetPointCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetIndexToVertexMap(const mesh: PNewtonMesh): Pinteger; cdecl; external NEWTON_API;
function NewtonMeshGetVertexWeights(mesh : PNewtonMesh; vertexIndex : Integer; weightIndex : PInteger; weightFactor : PdFloat) : Integer; cdecl; external NEWTON_API;
procedure NewtonMeshGetVertexDoubleChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: Pdouble); cdecl; external NEWTON_API;
procedure NewtonMeshGetVertexChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetNormalChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetBinormalChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetUV0Channel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetUV1Channel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetVertexColorChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
function NewtonMeshHasNormalChannel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasBinormalChannel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasUV0Channel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasUV1Channel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasVertexColorChannel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshBeginHandle(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
procedure NewtonMeshEndHandle(const mesh: PNewtonMesh; const handle: Pointer); cdecl; external NEWTON_API;
function NewtonMeshFirstMaterial(const mesh: PNewtonMesh; const handle: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshNextMaterial(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer): Integer; cdecl; external NEWTON_API;
function NewtonMeshMaterialGetMaterial(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer): Integer; cdecl; external NEWTON_API;
function NewtonMeshMaterialGetIndexCount(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshMaterialGetIndexStream(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer; const index: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshMaterialGetIndexStreamShort(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer; const index: SmallInt); cdecl; external NEWTON_API;
function NewtonMeshCreateFirstSingleSegment(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateNextSingleSegment(const mesh: PNewtonMesh; const segment: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFirstLayer(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateNextLayer(const mesh: PNewtonMesh; const segment: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshGetTotalFaceCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetTotalIndexCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshGetFaces(const mesh: PNewtonMesh; const faceIndexCount: Pinteger; const faceMaterial: Pinteger; const faceIndices: PPointer); cdecl; external NEWTON_API;
function NewtonMeshGetVertexCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexStrideInByte(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexArray(const mesh: PNewtonMesh): Pdouble; cdecl; external NEWTON_API;
function NewtonMeshGetVertexBaseCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshSetVertexBaseCount(const mesh: PNewtonMesh; baseCount: Integer); cdecl; external NEWTON_API;
function NewtonMeshGetFirstVertex(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextVertex(const mesh: PNewtonMesh; const vertex: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexIndex(const mesh: PNewtonMesh; const vertex: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFirstPoint(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextPoint(const mesh: PNewtonMesh; const point: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetPointIndex(const mesh: PNewtonMesh; const point: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexIndexFromPoint(const mesh: PNewtonMesh; const point: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFirstEdge(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextEdge(const mesh: PNewtonMesh; const edge: Pointer): Pointer; cdecl; external NEWTON_API;
procedure NewtonMeshGetEdgeIndices(const mesh: PNewtonMesh; const edge: Pointer; const v0: Pinteger; const v1: Pinteger); cdecl; external NEWTON_API;
function NewtonMeshGetFirstFace(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextFace(const mesh: PNewtonMesh; const face: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonMeshIsFaceOpen(const mesh: PNewtonMesh; const face: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFaceMaterial(const mesh: PNewtonMesh; const face: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFaceIndexCount(const mesh: PNewtonMesh; const face: Pointer): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshGetFaceIndices(const mesh: PNewtonMesh; const face: Pointer; const indices: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshGetFacePointIndices(const mesh: PNewtonMesh; const face: Pointer; const indices: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshCalculateFaceNormal(const mesh: PNewtonMesh; const face: Pointer; const normal: Pdouble); cdecl; external NEWTON_API;
procedure NewtonMeshSetFaceMaterial(const mesh: PNewtonMesh; const face: Pointer; matId: Integer); cdecl; external NEWTON_API;

Types

dFloat = Single;
dFloat64 = Double;
dLong = Int64;
Float = Single;
NewtonAllocMemory = function(sizeInBytes: Integer): Pointer; cdecl;
NewtonApplyForceAndTorque = procedure(const body: pNewtonBody; timestep: dfloat; threadIndex: Integer); cdecl;
NewtonBallCallback = procedure(const ball: PNewtonJoint; timestep: dfloat); cdecl;
NewtonBodyDestructor = procedure(const body: pNewtonBody); cdecl;
NewtonBodyIterator = function(const body: pNewtonBody; const userData: Pointer): Integer; cdecl;
NewtonCollisionCopyConstructionCallback = procedure(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const sourceCollision: PNewtonCollision); cdecl;
NewtonCollisionDestructorCallback = procedure(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision); cdecl;
NewtonCollisionIterator = procedure(const userData: Pointer; vertexCount: Integer; const faceArray: pfloat; faceId: Integer); cdecl;
NewtonCollisionTreeRayCastCallback = function(const body: pNewtonBody; const treeCollision: PNewtonCollision; intersection: dfloat; const normal: pfloat; faceId: Integer; const usedData: Pointer): dfloat; cdecl;
NewtonConstraintDestructor = procedure(const me: PNewtonJoint); cdecl;
NewtonContactsProcess = procedure(const contact: PNewtonJoint; timestep: dfloat; threadIndex: Integer); cdecl;
NewtonCorkscrewCallback = function(const corkscrew: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonCreateContactCallback = procedure(const newtonWorld: PNewtonWorld; const contact: PNewtonJoint); cdecl;
NewtonDeserializeCallback = procedure(const serializeHandle: Pointer; const buffer: Pointer; size: Integer); cdecl;
NewtonDestroyContactCallback = procedure(const newtonWorld: PNewtonWorld; const contact: PNewtonJoint); cdecl;
NewtonFractureCompoundCollisionOnEmitChunk = procedure(const chunkBody: pNewtonBody; const fracturexChunkMesh: PNewtonFracturedCompoundMeshPart; const fracturedCompountCollision: PNewtonCollision); cdecl;
NewtonFractureCompoundCollisionOnEmitCompoundFractured = procedure(const fracturedBody: pNewtonBody); cdecl;
NewtonFractureCompoundCollisionReconstructMainMeshCallBack = procedure(const body: pNewtonBody; const mainMesh: PNewtonFracturedCompoundMeshPart; const fracturedCompountCollision: PNewtonCollision); cdecl;
NewtonFreeMemory = procedure(const ptr: Pointer; sizeInBytes: Integer); cdecl;
NewtonGetTimeInMicrosencondsCallback = function(): int64; cdecl;
NewtonHeightFieldRayCastCallback = function(const body: pNewtonBody; const heightFieldCollision: PNewtonCollision; intersection: dfloat; row: Integer; col: Integer; const normal: pfloat; faceId: Integer; const usedData: Pointer): dfloat; cdecl;
NewtonHingeCallback = function(const hinge: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonIslandUpdate = function(const newtonWorld: PNewtonWorld; const islandHandle: Pointer; bodyCount: Integer): Integer; cdecl;
NewtonJobTask = procedure(const world: PNewtonWorld; const userData: Pointer; threadIndex: Integer); cdecl;
NewtonJointIterator = procedure(const joint: PNewtonJoint; const userData: Pointer); cdecl;
NewtonOnAABBOverlap = function(const contact: PNewtonJoint; timestep: dfloat; threadIndex: Integer): Integer; cdecl;
NewtonOnBodyDeserializationCallback = procedure(const body: pNewtonBody; const userData: Pointer; functionparam: PNewtonDeserializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnBodySerializationCallback = procedure(const body: pNewtonBody; const userData: Pointer; functionparam: PNewtonSerializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnCompoundSubCollisionAABBOverlap = function(const contact: PNewtonJoint; timestep: dfloat; const body0: pNewtonBody; const collisionNode0: Pointer; const body1: pNewtonBody; const collisionNode1: Pointer; threadIndex: Integer): Integer; cdecl;
NewtonOnContactGeneration = function(const material: PNewtonMaterial; const body0: pNewtonBody; const collision0: PNewtonCollision; const body1: pNewtonBody; const collision1: PNewtonCollision; const contactBuffer: PNewtonUserContactPoint; maxCount: Integer; threadIndex: Integer): Integer; cdecl;
NewtonOnJointDeserializationCallback = procedure(const body0: pNewtonBody; const body1: pNewtonBody; functionparam: PNewtonDeserializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnJointSerializationCallback = procedure(const joint: PNewtonJoint; functionparam: PNewtonSerializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnUserCollisionSerializationCallback = procedure(const userData: Pointer; functionparam: PNewtonSerializeCallback; const serializeHandle: Pointer); cdecl;
NewtonPostUpdateCallback = procedure(const world: PNewtonWorld; timestep: dfloat); cdecl;
NewtonReportProgress = function(normalizedProgressPercent: dfloat; const userData: Pointer): Integer; cdecl;
NewtonSerializeCallback = procedure(const serializeHandle: Pointer; const buffer: Pointer; size: Integer); cdecl;
NewtonSetTransform = procedure(const body: pNewtonBody; const matrix: pfloat; threadIndex: Integer); cdecl;
NewtonSliderCallback = function(const slider: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonTreeCollisionCallback = procedure(const bodyWithTreeCollision: pNewtonBody; const body: pNewtonBody; faceID: Integer; vertexCount: Integer; const vertex: pfloat; vertexStrideInBytes: Integer); cdecl;
NewtonTreeCollisionFaceCallback = function(const context: Pointer; const polygon: pfloat; strideInBytes: Integer; const indexArray: Pinteger; indexCount: Integer): Integer; cdecl;
NewtonUniversalCallback = function(const universal: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonUserBilateralCallback = procedure(const userJoint: PNewtonJoint; timestep: dfloat; threadIndex: Integer); cdecl;
NewtonUserBilateralGetInfoCallback = procedure(const userJoint: PNewtonJoint; const info: PNewtonJointRecord); cdecl;
NewtonUserMeshCollisionAABBTest = function(const userData: Pointer; const boxP0: pfloat; const boxP1: pfloat): Integer; cdecl;
NewtonUserMeshCollisionCollideCallback = procedure(const collideDescData: PNewtonUserMeshCollisionCollideDesc; const continueCollisionHandle: Pointer); cdecl;
NewtonUserMeshCollisionDestroyCallback = procedure(const userData: Pointer); cdecl;
NewtonUserMeshCollisionGetCollisionInfo = procedure(const userData: Pointer; const infoRecord: PNewtonCollisionInfoRecord); cdecl;
NewtonUserMeshCollisionGetFacesInAABB = function(const userData: Pointer; const p0: pfloat; const p1: pfloat; const vertexArray: Pfloat; const vertexCount: Pinteger; const vertexStrideInBytes: Pinteger; const indexList: Pinteger; maxIndexCount: Integer; const userDataList: Pinteger): Integer; cdecl;
NewtonUserMeshCollisionRayHitCallback = function(const lineDescData: PNewtonUserMeshCollisionRayHitDesc): dfloat; cdecl;
NewtonWorldDestroyListenerCallback = procedure(const world: PNewtonWorld; const listenerUserData: Pointer); cdecl;
NewtonWorldDestructorCallback = procedure(const world: PNewtonWorld); cdecl;
NewtonWorldListenerBodyDestroyCallback = procedure(const world: PNewtonWorld; const listenerUserData: Pointer; const body: pNewtonBody); cdecl;
NewtonWorldListenerDebugCallback = procedure(const world: PNewtonWorld; const listener: Pointer; const debugContext: Pointer); cdecl;
NewtonWorldRayFilterCallback = function(const body: pNewtonBody; const shapeHit: PNewtonCollision; const hitContact: pfloat; const hitNormal: pfloat; collisionID: int64; const userData: Pointer; intersectParam: dfloat): dfloat; cdecl;
NewtonWorldRayPrefilterCallback = function(const body: pNewtonBody; const collision: PNewtonCollision; const userData: Pointer): LongWord; cdecl;
NewtonWorldUpdateListenerCallback = procedure(const world: PNewtonWorld; const listenerUserData: Pointer; timestep: dfloat); cdecl;
PdFloat = ˆdFloat;
PdFloat64 = ˆdFloat64;
PdLong = ˆdLong;
PFloat = ˆFloat;
PInteger = ˆInteger;
PNewtonAcyclicArticulation = ˆPointer;
PNewtonAllocMemory = ˆNewtonAllocMemory;
PNewtonApplyForceAndTorque = ˆNewtonApplyForceAndTorque;
PNewtonBallCallback = ˆNewtonBallCallback;
PNewtonBody = ˆPointer;
PNewtonBodyDestructor = ˆNewtonBodyDestructor;
PNewtonBodyIterator = ˆNewtonBodyIterator;
PNewtonBoxParam = ˆTNewtonBoxParam;
PNewtonCapsuleParam = ˆTNewtonCapsuleParam;
PNewtonChamferCylinderParam = ˆTNewtonChamferCylinderParam;
PNewtonCollision = ˆPointer;
PNewtonCollisionCopyConstructionCallback = ˆNewtonCollisionCopyConstructionCallback;
PNewtonCollisionDestructorCallback = ˆNewtonCollisionDestructorCallback;
PNewtonCollisionInfoRecord = ˆTNewtonCollisionInfoRecord;
PNewtonCollisionIterator = ˆNewtonCollisionIterator;
PNewtonCollisionMaterial = ˆTNewtonCollisionMaterial;
PNewtonCollisionTreeParam = ˆTNewtonCollisionTreeParam;
PNewtonCollisionTreeRayCastCallback = ˆNewtonCollisionTreeRayCastCallback;
PNewtonCompoundCollisionParam = ˆTNewtonCompoundCollisionParam;
PNewtonConeParam = ˆTNewtonConeParam;
PNewtonConstraintDestructor = ˆNewtonConstraintDestructor;
PNewtonContactsProcess = ˆNewtonContactsProcess;
PNewtonConvexHullParam = ˆTNewtonConvexHullParam;
PNewtonCorkscrewCallback = ˆNewtonCorkscrewCallback;
PNewtonCreateContactCallback = ˆNewtonCreateContactCallback;
PNewtonCylinderParam = ˆTNewtonCylinderParam;
PNewtonDeformableMeshParam = ˆTNewtonDeformableMeshParam;
PNewtonDeformableMeshSegment = ˆPointer;
PNewtonDeserializeCallback = ˆNewtonDeserializeCallback;
PNewtonDestroyContactCallback = ˆNewtonDestroyContactCallback;
PNewtonFractureCompoundCollisionOnEmitChunk = ˆNewtonFractureCompoundCollisionOnEmitChunk;
PNewtonFractureCompoundCollisionOnEmitCompoundFractured = ˆNewtonFractureCompoundCollisionOnEmitCompoundFractured;
PNewtonFractureCompoundCollisionReconstructMainMeshCallBack = ˆNewtonFractureCompoundCollisionReconstructMainMeshCallBack;
PNewtonFracturedCompoundMeshPart = ˆPointer;
PNewtonFreeMemory = ˆNewtonFreeMemory;
PNewtonGetTimeInMicrosencondsCallback = ˆNewtonGetTimeInMicrosencondsCallback;
PNewtonHeightFieldCollisionParam = ˆTNewtonHeightFieldCollisionParam;
PNewtonHeightFieldRayCastCallback = ˆNewtonHeightFieldRayCastCallback;
PNewtonHingeCallback = ˆNewtonHingeCallback;
PNewtonHingeSliderUpdateDesc = ˆTNewtonHingeSliderUpdateDesc;
PNewtonImmediateModeConstraint = ˆTNewtonImmediateModeConstraint;
PNewtonInverseDynamics = ˆPointer;
PNewtonIslandUpdate = ˆNewtonIslandUpdate;
PNewtonJobTask = ˆNewtonJobTask;
PNewtonJoint = ˆPointer;
PNewtonJointIterator = ˆNewtonJointIterator;
PNewtonJointRecord = ˆTNewtonJointRecord;
PNewtonMaterial = ˆPointer;
PNewtonMaterialData = ˆTNewtonMaterialData;
PNewtonMesh = ˆPointer;
PNewtonMeshDoubleData = ˆTNewtonMeshDoubleData;
PNewtonMeshFloatData = ˆTNewtonMeshFloatData;
PNewtonMeshVertexFormat = ˆTNewtonMeshVertexFormat;
PNewtonOnAABBOverlap = ˆNewtonOnAABBOverlap;
PNewtonOnBodyDeserializationCallback = ˆNewtonOnBodyDeserializationCallback;
PNewtonOnBodySerializationCallback = ˆNewtonOnBodySerializationCallback;
PNewtonOnCompoundSubCollisionAABBOverlap = ˆNewtonOnCompoundSubCollisionAABBOverlap;
PNewtonOnContactGeneration = ˆNewtonOnContactGeneration;
PNewtonOnJointDeserializationCallback = ˆNewtonOnJointDeserializationCallback;
PNewtonOnJointSerializationCallback = ˆNewtonOnJointSerializationCallback;
PNewtonOnUserCollisionSerializationCallback = ˆNewtonOnUserCollisionSerializationCallback;
PNewtonPostUpdateCallback = ˆNewtonPostUpdateCallback;
PNewtonReportProgress = ˆNewtonReportProgress;
PNewtonSceneCollisionParam = ˆTNewtonSceneCollisionParam;
PNewtonSceneProxy = ˆPointer;
PNewtonSerializeCallback = ˆNewtonSerializeCallback;
PNewtonSetTransform = ˆNewtonSetTransform;
PNewtonSliderCallback = ˆNewtonSliderCallback;
PNewtonSphereParam = ˆTNewtonSphereParam;
PNewtonTaperedCapsuleParam = ˆTNewtonTaperedCapsuleParam;
PNewtonTaperedCylinderParam = ˆTNewtonTaperedCylinderParam;
PNewtonTreeCollisionCallback = ˆNewtonTreeCollisionCallback;
PNewtonTreeCollisionFaceCallback = ˆNewtonTreeCollisionFaceCallback;
PNewtonUniversalCallback = ˆNewtonUniversalCallback;
PNewtonUserBilateralCallback = ˆNewtonUserBilateralCallback;
PNewtonUserBilateralGetInfoCallback = ˆNewtonUserBilateralGetInfoCallback;
PNewtonUserContactPoint = ˆTNewtonUserContactPoint;
PNewtonUserMeshCollisionAABBTest = ˆNewtonUserMeshCollisionAABBTest;
PNewtonUserMeshCollisionCollideCallback = ˆNewtonUserMeshCollisionCollideCallback;
PNewtonUserMeshCollisionCollideDesc = ˆTNewtonUserMeshCollisionCollideDesc;
PNewtonUserMeshCollisionDestroyCallback = ˆNewtonUserMeshCollisionDestroyCallback;
PNewtonUserMeshCollisionGetCollisionInfo = ˆNewtonUserMeshCollisionGetCollisionInfo;
PNewtonUserMeshCollisionGetFacesInAABB = ˆNewtonUserMeshCollisionGetFacesInAABB;
PNewtonUserMeshCollisionRayHitCallback = ˆNewtonUserMeshCollisionRayHitCallback;
PNewtonUserMeshCollisionRayHitDesc = ˆTNewtonUserMeshCollisionRayHitDesc;
PNewtonWorld = ˆPointer;
PNewtonWorldConvexCastReturnInfo = ˆTNewtonWorldConvexCastReturnInfo;
PNewtonWorldDestroyListenerCallback = ˆNewtonWorldDestroyListenerCallback;
PNewtonWorldDestructorCallback = ˆNewtonWorldDestructorCallback;
PNewtonWorldListenerBodyDestroyCallback = ˆNewtonWorldListenerBodyDestroyCallback;
PNewtonWorldListenerDebugCallback = ˆNewtonWorldListenerDebugCallback;
PNewtonWorldRayFilterCallback = ˆNewtonWorldRayFilterCallback;
PNewtonWorldRayPrefilterCallback = ˆNewtonWorldRayPrefilterCallback;
PNewtonWorldUpdateListenerCallback = ˆNewtonWorldUpdateListenerCallback;
PPointer = ˆPointer;
Psmallint = ˆsmallint;

Constants

NEWTON_API = 'newton32s.dll';
NEWTON_MAJOR_VERSION = 3;
NEWTON_MINOR_VERSION = 15;
NEWTON_BROADPHASE_DEFAULT = 0;
NEWTON_BROADPHASE_PERSINTENT = 1;
NEWTON_DYNAMIC_BODY = 0;
NEWTON_KINEMATIC_BODY = 1;
NEWTON_DYNAMIC_ASYMETRIC_BODY = 2;
SERIALIZE_ID_SPHERE = 0;
SERIALIZE_ID_CAPSULE = 1;
SERIALIZE_ID_CYLINDER = 2;
SERIALIZE_ID_CHAMFERCYLINDER = 3;
SERIALIZE_ID_BOX = 4;
SERIALIZE_ID_CONE = 5;
SERIALIZE_ID_CONVEXHULL = 6;
SERIALIZE_ID_NULL = 7;
SERIALIZE_ID_COMPOUND = 8;
SERIALIZE_ID_TREE = 9;
SERIALIZE_ID_HEIGHTFIELD = 10;
SERIALIZE_ID_CLOTH_PATCH = 11;
SERIALIZE_ID_DEFORMABLE_SOLID = 12;
SERIALIZE_ID_USERMESH = 13;
SERIALIZE_ID_SCENE = 14;
SERIALIZE_ID_FRACTURED_COMPOUND = 15;

Description

Functions and Procedures

function NewtonWorldGetVersion(): Integer; cdecl; external NEWTON_API;

**********************************************************************************************

world control functions

**********************************************************************************************

function NewtonWorldFloatSize(): Integer; cdecl; external NEWTON_API;
function NewtonGetMemoryUsed(): Integer; cdecl; external NEWTON_API;
procedure NewtonSetMemorySystem(malloc: NewtonAllocMemory; free: NewtonFreeMemory); cdecl; external NEWTON_API;
function NewtonCreate(): PNewtonWorld; cdecl; external NEWTON_API;
procedure NewtonDestroy(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonDestroyAllBodies(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonGetPostUpdateCallback(const newtonWorld: PNewtonWorld): PNewtonPostUpdateCallback; cdecl; external NEWTON_API;
procedure NewtonSetPostUpdateCallback(const newtonWorld: PNewtonWorld; callback: NewtonPostUpdateCallback); cdecl; external NEWTON_API;
function NewtonAlloc(sizeInBytes: Integer): Pointer; cdecl; external NEWTON_API;
procedure NewtonFree(const ptr: Pointer); cdecl; external NEWTON_API;
procedure NewtonLoadPlugins(const newtonWorld: PNewtonWorld; const plugInPath: pchar); cdecl; external NEWTON_API;
procedure NewtonUnloadPlugins(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonCurrentPlugin(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonGetFirstPlugin(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonGetPreferedPlugin(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonGetNextPlugin(const newtonWorld: PNewtonWorld; const plugin: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonGetPluginString(const newtonWorld: PNewtonWorld; const plugin: Pointer): pchar; cdecl; external NEWTON_API;
procedure NewtonSelectPlugin(const newtonWorld: PNewtonWorld; const plugin: Pointer); cdecl; external NEWTON_API;
function NewtonGetContactMergeTolerance(const newtonWorld: PNewtonWorld): dfloat; cdecl; external NEWTON_API;
procedure NewtonSetContactMergeTolerance(const newtonWorld: PNewtonWorld; tolerance: dfloat); cdecl; external NEWTON_API;
procedure NewtonInvalidateCache(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonSetSolverIterations(const newtonWorld: PNewtonWorld; model: Integer); cdecl; external NEWTON_API;
function NewtonGetSolverIterations(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonSetParallelSolverOnLargeIsland(const newtonWorld: PNewtonWorld; mode: Integer); cdecl; external NEWTON_API;
function NewtonGetParallelSolverOnLargeIsland(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonGetBroadphaseAlgorithm(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonSelectBroadphaseAlgorithm(const newtonWorld: PNewtonWorld; algorithmType: Integer); cdecl; external NEWTON_API;
procedure NewtonResetBroadphase(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonUpdate(const newtonWorld: PNewtonWorld; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonUpdateAsync(const newtonWorld: PNewtonWorld; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonWaitForUpdateToFinish(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonGetNumberOfSubsteps(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonSetNumberOfSubsteps(const newtonWorld: PNewtonWorld; subSteps: Integer); cdecl; external NEWTON_API;
function NewtonGetLastUpdateTime(const newtonWorld: PNewtonWorld): dfloat; cdecl; external NEWTON_API;
procedure NewtonSerializeToFile(const newtonWorld: PNewtonWorld; const filename: pchar; bodyCallback: NewtonOnBodySerializationCallback; const bodyUserData: Pointer); cdecl; external NEWTON_API;
procedure NewtonDeserializeFromFile(const newtonWorld: PNewtonWorld; const filename: pchar; bodyCallback: NewtonOnBodyDeserializationCallback; const bodyUserData: Pointer); cdecl; external NEWTON_API;
procedure NewtonSerializeScene(const newtonWorld: PNewtonWorld; bodyCallback: NewtonOnBodySerializationCallback; const bodyUserData: Pointer; serializeCallback: NewtonSerializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
procedure NewtonDeserializeScene(const newtonWorld: PNewtonWorld; bodyCallback: NewtonOnBodyDeserializationCallback; const bodyUserData: Pointer; serializeCallback: NewtonDeserializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
function NewtonFindSerializedBody(const newtonWorld: PNewtonWorld; bodySerializedID: Integer): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonSetJointSerializationCallbacks(const newtonWorld: PNewtonWorld; serializeJoint: NewtonOnJointSerializationCallback; deserializeJoint: NewtonOnJointDeserializationCallback); cdecl; external NEWTON_API;
procedure NewtonGetJointSerializationCallbacks(const newtonWorld: PNewtonWorld; const serializeJoint: NewtonOnJointSerializationCallback; const deserializeJoint: NewtonOnJointDeserializationCallback); cdecl; external NEWTON_API;
procedure NewtonWorldCriticalSectionLock(const newtonWorld: PNewtonWorld; threadIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonWorldCriticalSectionUnlock(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
procedure NewtonSetThreadsCount(const newtonWorld: PNewtonWorld; threads: Integer); cdecl; external NEWTON_API;
function NewtonGetThreadsCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonGetMaxThreadsCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonDispachThreadJob(const newtonWorld: PNewtonWorld; task: NewtonJobTask; const usedData: Pointer; const functionName: pchar); cdecl; external NEWTON_API;
procedure NewtonSyncThreadJobs(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonAtomicAdd(const ptr: Pinteger; value: Integer): Integer; cdecl; external NEWTON_API;
function NewtonAtomicSwap(const ptr: Pinteger; value: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonYield(); cdecl; external NEWTON_API;
procedure NewtonSetIslandUpdateEvent(const newtonWorld: PNewtonWorld; islandUpdate: NewtonIslandUpdate); cdecl; external NEWTON_API;
procedure NewtonWorldForEachJointDo(const newtonWorld: PNewtonWorld; callback: NewtonJointIterator; const userData: Pointer); cdecl; external NEWTON_API;
procedure NewtonWorldForEachBodyInAABBDo(const newtonWorld: PNewtonWorld; const p0: pfloat; const p1: pfloat; callback: NewtonBodyIterator; const userData: Pointer); cdecl; external NEWTON_API;
procedure NewtonWorldSetUserData(const newtonWorld: PNewtonWorld; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonWorldGetUserData(const newtonWorld: PNewtonWorld): Pointer; cdecl; external NEWTON_API;
function NewtonWorldAddListener(const newtonWorld: PNewtonWorld; const nameId: pchar; const listenerUserData: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonWorldGetListener(const newtonWorld: PNewtonWorld; const nameId: pchar): Pointer; cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetDebugCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldListenerDebugCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetPostStepCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldUpdateListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetPreUpdateCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldUpdateListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetPostUpdateCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldUpdateListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetDestructorCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldDestroyListenerCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerSetBodyDestroyCallback(const newtonWorld: PNewtonWorld; const listener: Pointer; callback: NewtonWorldListenerBodyDestroyCallback); cdecl; external NEWTON_API;
procedure NewtonWorldListenerDebug(const newtonWorld: PNewtonWorld; const context: Pointer); cdecl; external NEWTON_API;
function NewtonWorldGetListenerUserData(const newtonWorld: PNewtonWorld; const listener: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonWorldListenerGetBodyDestroyCallback(const newtonWorld: PNewtonWorld; const listener: Pointer): PNewtonWorldListenerBodyDestroyCallback; cdecl; external NEWTON_API;
procedure NewtonWorldSetDestructorCallback(const newtonWorld: PNewtonWorld; destructorparam: NewtonWorldDestructorCallback); cdecl; external NEWTON_API;
function NewtonWorldGetDestructorCallback(const newtonWorld: PNewtonWorld): PNewtonWorldDestructorCallback; cdecl; external NEWTON_API;
procedure NewtonWorldSetCollisionConstructorDestructorCallback(const newtonWorld: PNewtonWorld; constructorparam: NewtonCollisionCopyConstructionCallback; destructorparam: NewtonCollisionDestructorCallback); cdecl; external NEWTON_API;
procedure NewtonWorldSetCreateDestroyContactCallback(const newtonWorld: PNewtonWorld; createContact: NewtonCreateContactCallback; destroyContact: NewtonDestroyContactCallback); cdecl; external NEWTON_API;
procedure NewtonWorldRayCast(const newtonWorld: PNewtonWorld; const p0: pfloat; const p1: pfloat; filter: NewtonWorldRayFilterCallback; const userData: Pointer; prefilter: NewtonWorldRayPrefilterCallback; threadIndex: Integer); cdecl; external NEWTON_API;
function NewtonWorldConvexCast(const newtonWorld: PNewtonWorld; const matrix: pfloat; const target: pfloat; const shape: PNewtonCollision; const param: pfloat; const userData: Pointer; prefilter: NewtonWorldRayPrefilterCallback; const info: PNewtonWorldConvexCastReturnInfo; maxContactsCount: Integer; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonWorldCollide(const newtonWorld: PNewtonWorld; const matrix: pfloat; const shape: PNewtonCollision; const userData: Pointer; prefilter: NewtonWorldRayPrefilterCallback; const info: PNewtonWorldConvexCastReturnInfo; maxContactsCount: Integer; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonWorldGetBodyCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;

world utility functions

function NewtonWorldGetConstraintCount(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
function NewtonWorldFindJoint(const body0: pNewtonBody; const body1: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonIslandGetBody(const island: Pointer; bodyIndex: Integer): pNewtonBody; cdecl; external NEWTON_API;

**********************************************************************************************

Simulation islands

**********************************************************************************************

procedure NewtonIslandGetBodyAABB(const island: Pointer; bodyIndex: Integer; const p0: pfloat; const p1: pfloat); cdecl; external NEWTON_API;
function NewtonMaterialCreateGroupID(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;

**********************************************************************************************

Physics Material Section

**********************************************************************************************

function NewtonMaterialGetDefaultGroupID(const newtonWorld: PNewtonWorld): Integer; cdecl; external NEWTON_API;
procedure NewtonMaterialDestroyAllGroupID(const newtonWorld: PNewtonWorld); cdecl; external NEWTON_API;
function NewtonMaterialGetUserData(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer): Pointer; cdecl; external NEWTON_API;

material definitions that can not be overwritten in function callback

procedure NewtonMaterialSetSurfaceThickness(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; thickness: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetCallbackUserData(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; const userData: Pointer); cdecl; external NEWTON_API;

deprecated, not longer continue collision is set on the material NEWTON_API void NewtonMaterialSetContinuousCollisionMode (const NewtonWorld* const newtonWorld, int id0, int id1, int state);

procedure NewtonMaterialSetContactGenerationCallback(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; contactGeneration: NewtonOnContactGeneration); cdecl; external NEWTON_API;
procedure NewtonMaterialSetCompoundCollisionCallback(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; compoundAabbOverlap: NewtonOnCompoundSubCollisionAABBOverlap); cdecl; external NEWTON_API;
procedure NewtonMaterialSetCollisionCallback(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; aabbOverlap: NewtonOnAABBOverlap; process: NewtonContactsProcess); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultSoftness(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; value: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultElasticity(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; elasticCoef: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultCollidable(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; state: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetDefaultFriction(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer; staticFriction: dfloat; kineticFriction: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialJointResetIntraJointCollision(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialJointResetSelftJointCollision(const newtonWorld: PNewtonWorld; id0: Integer; id1: Integer); cdecl; external NEWTON_API;
function NewtonWorldGetFirstMaterial(const newtonWorld: PNewtonWorld): PNewtonMaterial; cdecl; external NEWTON_API;
function NewtonWorldGetNextMaterial(const newtonWorld: PNewtonWorld; const material: PNewtonMaterial): PNewtonMaterial; cdecl; external NEWTON_API;
function NewtonWorldGetFirstBody(const newtonWorld: PNewtonWorld): pNewtonBody; cdecl; external NEWTON_API;
function NewtonWorldGetNextBody(const newtonWorld: PNewtonWorld; const curBody: pNewtonBody): pNewtonBody; cdecl; external NEWTON_API;
function NewtonMaterialGetMaterialPairUserData(const material: PNewtonMaterial): Pointer; cdecl; external NEWTON_API;

**********************************************************************************************

Physics Contact control functions

**********************************************************************************************

function NewtonMaterialGetContactFaceAttribute(const material: PNewtonMaterial): LongWord; cdecl; external NEWTON_API;
function NewtonMaterialGetBodyCollidingShape(const material: PNewtonMaterial; const body: pNewtonBody): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonMaterialGetContactNormalSpeed(const material: PNewtonMaterial): dfloat; cdecl; external NEWTON_API;
procedure NewtonMaterialGetContactForce(const material: PNewtonMaterial; const body: pNewtonBody; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialGetContactPositionAndNormal(const material: PNewtonMaterial; const body: pNewtonBody; const posit: pfloat; const normal: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialGetContactTangentDirections(const material: PNewtonMaterial; const body: pNewtonBody; const dir0: pfloat; const dir1: pfloat); cdecl; external NEWTON_API;
function NewtonMaterialGetContactTangentSpeed(const material: PNewtonMaterial; index: Integer): dfloat; cdecl; external NEWTON_API;
function NewtonMaterialGetContactMaxNormalImpact(const material: PNewtonMaterial): dfloat; cdecl; external NEWTON_API;
function NewtonMaterialGetContactMaxTangentImpact(const material: PNewtonMaterial; index: Integer): dfloat; cdecl; external NEWTON_API;
function NewtonMaterialGetContactPenetration(const material: PNewtonMaterial): dfloat; cdecl; external NEWTON_API;
procedure NewtonMaterialSetAsSoftContact(const material: PNewtonMaterial; relaxation: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactSoftness(const material: PNewtonMaterial; softness: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactThickness(const material: PNewtonMaterial; thickness: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactElasticity(const material: PNewtonMaterial; restitution: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactFrictionState(const material: PNewtonMaterial; state: Integer; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactFrictionCoef(const material: PNewtonMaterial; staticFrictionCoef: dfloat; kineticFrictionCoef: dfloat; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactNormalAcceleration(const material: PNewtonMaterial; accel: dfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactNormalDirection(const material: PNewtonMaterial; const directionVector: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactPosition(const material: PNewtonMaterial; const position: pfloat); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactTangentFriction(const material: PNewtonMaterial; friction: dfloat; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactTangentAcceleration(const material: PNewtonMaterial; accel: dfloat; index: Integer); cdecl; external NEWTON_API;
procedure NewtonMaterialContactRotateTangentDirections(const material: PNewtonMaterial; const directionVector: pfloat); cdecl; external NEWTON_API;
function NewtonMaterialGetContactPruningTolerance(const contactJoint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonMaterialSetContactPruningTolerance(const contactJoint: PNewtonJoint; tolerance: dfloat); cdecl; external NEWTON_API;
function NewtonCreateNull(const newtonWorld: PNewtonWorld): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

convex collision primitives creation functions

**********************************************************************************************

function NewtonCreateSphere(const newtonWorld: PNewtonWorld; radius: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateBox(const newtonWorld: PNewtonWorld; dx: dfloat; dy: dfloat; dz: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCone(const newtonWorld: PNewtonWorld; radius: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCapsule(const newtonWorld: PNewtonWorld; radius0: dfloat; radius1: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateCylinder(const newtonWorld: PNewtonWorld; radio0: dfloat; radio1: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateChamferCylinder(const newtonWorld: PNewtonWorld; radius: dfloat; height: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateConvexHull(const newtonWorld: PNewtonWorld; count: Integer; const vertexCloud: pfloat; strideInBytes: Integer; tolerance: dfloat; shapeID: Integer; const offsetMatrix: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateConvexHullFromMesh(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; tolerance: dfloat; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCollisionGetMode(const convexCollision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionSetMode(const convexCollision: PNewtonCollision; mode: Integer); cdecl; external NEWTON_API;
function NewtonConvexHullGetFaceIndices(const convexHullCollision: PNewtonCollision; face: Integer; const faceIndices: Pinteger): Integer; cdecl; external NEWTON_API;
function NewtonConvexHullGetVertexData(const convexHullCollision: PNewtonCollision; const vertexData: Pfloat; strideInBytes: Pinteger): Integer; cdecl; external NEWTON_API;
function NewtonConvexCollisionCalculateVolume(const convexCollision: PNewtonCollision): dfloat; cdecl; external NEWTON_API;
procedure NewtonConvexCollisionCalculateInertialMatrix(const convexCollision: PNewtonCollision; const inertia: pfloat; const origin: pfloat); cdecl; external NEWTON_API;
function NewtonConvexCollisionCalculateBuoyancyVolume(const convexCollision: PNewtonCollision; const matrix: pfloat; const fluidPlane: pfloat; const centerOfBuoyancy: pfloat): dfloat; cdecl; external NEWTON_API;
function NewtonCollisionDataPointer(const convexCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonCreateCompoundCollision(const newtonWorld: PNewtonWorld; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

compound collision primitives creation functions

**********************************************************************************************

function NewtonCreateCompoundCollisionFromMesh(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; hullTolerance: dfloat; shapeID: Integer; subShapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionBeginAddRemove(const compoundCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonCompoundCollisionAddSubCollision(const compoundCollision: PNewtonCollision; const convexCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionRemoveSubCollision(const compoundCollision: PNewtonCollision; const collisionNode: Pointer); cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionRemoveSubCollisionByIndex(const compoundCollision: PNewtonCollision; nodeIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionSetSubCollisionMatrix(const compoundCollision: PNewtonCollision; const collisionNode: Pointer; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCompoundCollisionEndAddRemove(const compoundCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetFirstNode(const compoundCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetNextNode(const compoundCollision: PNewtonCollision; const collisionNode: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetNodeByIndex(const compoundCollision: PNewtonCollision; index: Integer): Pointer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetNodeIndex(const compoundCollision: PNewtonCollision; const collisionNode: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonCompoundCollisionGetCollisionFromNode(const compoundCollision: PNewtonCollision; const collisionNode: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateFracturedCompoundCollision(const newtonWorld: PNewtonWorld; const solidMesh: PNewtonMesh; shapeID: Integer; fracturePhysicsMaterialID: Integer; pointcloudCount: Integer; const vertexCloud: pfloat; strideInBytes: Integer; materialID: Integer; const textureMatrix: pfloat; regenerateMainMeshCallback: NewtonFractureCompoundCollisionReconstructMainMeshCallBack; emitFracturedCompound: NewtonFractureCompoundCollisionOnEmitCompoundFractured; emitFracfuredChunk: NewtonFractureCompoundCollisionOnEmitChunk): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

Fractured compound collision primitives interface

**********************************************************************************************

function NewtonFracturedCompoundPlaneClip(const fracturedCompound: PNewtonCollision; const plane: pfloat): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonFracturedCompoundSetCallbacks(const fracturedCompound: PNewtonCollision; regenerateMainMeshCallback: NewtonFractureCompoundCollisionReconstructMainMeshCallBack; emitFracturedCompound: NewtonFractureCompoundCollisionOnEmitCompoundFractured; emitFracfuredChunk: NewtonFractureCompoundCollisionOnEmitChunk); cdecl; external NEWTON_API;
function NewtonFracturedCompoundIsNodeFreeToDetach(const fracturedCompound: PNewtonCollision; const collisionNode: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundNeighborNodeList(const fracturedCompound: PNewtonCollision; const collisionNode: Pointer; const list: PPointer; maxCount: Integer): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundGetMainMesh(const fracturedCompound: PNewtonCollision): PNewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
function NewtonFracturedCompoundGetFirstSubMesh(const fracturedCompound: PNewtonCollision): PNewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
function NewtonFracturedCompoundGetNextSubMesh(const fracturedCompound: PNewtonCollision; const subMesh: PNewtonFracturedCompoundMeshPart): PNewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexCount(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexPositions(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): pfloat; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexNormals(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): pfloat; cdecl; external NEWTON_API;
function NewtonFracturedCompoundCollisionGetVertexUVs(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart): pfloat; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetIndexStream(const fracturedCompound: PNewtonCollision; const meshOwner: PNewtonFracturedCompoundMeshPart; const segment: Pointer; const index: Pinteger): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetFirstSegment(const fractureCompoundMeshPart: PNewtonFracturedCompoundMeshPart): Pointer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetNextSegment(const fractureCompoundMeshSegment: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetMaterial(const fractureCompoundMeshSegment: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonFracturedCompoundMeshPartGetIndexCount(const fractureCompoundMeshSegment: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonCreateSceneCollision(const newtonWorld: PNewtonWorld; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

scene collision are static compound collision that can take polygonal static collisions

**********************************************************************************************

procedure NewtonSceneCollisionBeginAddRemove(const sceneCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonSceneCollisionAddSubCollision(const sceneCollision: PNewtonCollision; const collision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
procedure NewtonSceneCollisionRemoveSubCollision(const compoundCollision: PNewtonCollision; const collisionNode: Pointer); cdecl; external NEWTON_API;
procedure NewtonSceneCollisionRemoveSubCollisionByIndex(const sceneCollision: PNewtonCollision; nodeIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonSceneCollisionSetSubCollisionMatrix(const sceneCollision: PNewtonCollision; const collisionNode: Pointer; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonSceneCollisionEndAddRemove(const sceneCollision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonSceneCollisionGetFirstNode(const sceneCollision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetNextNode(const sceneCollision: PNewtonCollision; const collisionNode: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetNodeByIndex(const sceneCollision: PNewtonCollision; index: Integer): Pointer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetNodeIndex(const sceneCollision: PNewtonCollision; const collisionNode: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonSceneCollisionGetCollisionFromNode(const sceneCollision: PNewtonCollision; const collisionNode: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateUserMeshCollision(const newtonWorld: PNewtonWorld; const minBox: pfloat; const maxBox: pfloat; const userData: Pointer; collideCallback: NewtonUserMeshCollisionCollideCallback; rayHitCallback: NewtonUserMeshCollisionRayHitCallback; destroyCallback: NewtonUserMeshCollisionDestroyCallback; getInfoCallback: NewtonUserMeshCollisionGetCollisionInfo; getLocalAABBCallback: NewtonUserMeshCollisionAABBTest; facesInAABBCallback: NewtonUserMeshCollisionGetFacesInAABB; serializeCallback: NewtonOnUserCollisionSerializationCallback; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;

***********************************************************************************************************

User Static mesh collision interface

***********************************************************************************************************

function NewtonUserMeshCollisionContinuousOverlapTest(const collideDescData: PNewtonUserMeshCollisionCollideDesc; const continueCollisionHandle: Pointer; const minAabb: pfloat; const maxAabb: pfloat): Integer; cdecl; external NEWTON_API;
function NewtonCreateCollisionFromSerialization(const newtonWorld: PNewtonWorld; deserializeFunction: NewtonDeserializeCallback; const serializeHandle: Pointer): PNewtonCollision; cdecl; external NEWTON_API;

***********************************************************************************************************

Collision serialization functions

***********************************************************************************************************

procedure NewtonCollisionSerialize(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; serializeFunction: NewtonSerializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
procedure NewtonCollisionGetInfo(const collision: PNewtonCollision; const collisionInfo: PNewtonCollisionInfoRecord); cdecl; external NEWTON_API;
function NewtonCreateHeightFieldCollision(const newtonWorld: PNewtonWorld; width: Integer; height: Integer; gridsDiagonals: Integer; elevationdatType: Integer; const elevationMap: Pointer; const attributeMap: pchar; verticalScale: dfloat; horizontalScale_x: dfloat; horizontalScale_z: dfloat; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

Static collision shapes functions

**********************************************************************************************

procedure NewtonHeightFieldSetUserRayCastCallback(const heightfieldCollision: PNewtonCollision; rayHitCallback: NewtonHeightFieldRayCastCallback); cdecl; external NEWTON_API;
procedure NewtonHeightFieldSetHorizontalDisplacement(heightfieldCollision : PNewtonCollision; horizontalMap : Pword; scale : dFloat); cdecl; external NEWTON_API;
function NewtonCreateTreeCollision(const newtonWorld: PNewtonWorld; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonCreateTreeCollisionFromMesh(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonTreeCollisionSetUserRayCastCallback(const treeCollision: PNewtonCollision; rayHitCallback: NewtonCollisionTreeRayCastCallback); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionBeginBuild(const treeCollision: PNewtonCollision); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionAddFace(const treeCollision: PNewtonCollision; vertexCount: Integer; const vertexPtr: pfloat; strideInBytes: Integer; faceAttribute: Integer); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionEndBuild(const treeCollision: PNewtonCollision; optimize: Integer); cdecl; external NEWTON_API;
function NewtonTreeCollisionGetFaceAttribute(const treeCollision: PNewtonCollision; const faceIndexArray: Pinteger; indexCount: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonTreeCollisionSetFaceAttribute(const treeCollision: PNewtonCollision; const faceIndexArray: Pinteger; indexCount: Integer; attribute: Integer); cdecl; external NEWTON_API;
procedure NewtonTreeCollisionForEachFace(const treeCollision: PNewtonCollision; forEachFaceCallback: NewtonTreeCollisionFaceCallback; const context: Pointer); cdecl; external NEWTON_API;
function NewtonTreeCollisionGetVertexListTriangleListInAABB(const treeCollision: PNewtonCollision; const p0: pfloat; const p1: pfloat; const vertexArray: Pfloat; const vertexCount: Pinteger; const vertexStrideInBytes: Pinteger; const indexList: Pinteger; maxIndexCount: Integer; const faceAttribute: Pinteger): Integer; cdecl; external NEWTON_API;
procedure NewtonStaticCollisionSetDebugCallback(const staticCollision: PNewtonCollision; userCallback: NewtonTreeCollisionCallback); cdecl; external NEWTON_API;
function NewtonCollisionCreateInstance(const collision: PNewtonCollision): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

General purpose collision library functions

**********************************************************************************************

function NewtonCollisionGetType(const collision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonCollisionIsConvexShape(const collision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonCollisionIsStaticShape(const collision: PNewtonCollision): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionSetUserData(const collision: PNewtonCollision; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonCollisionGetUserData(const collision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
procedure NewtonCollisionSetUserID(const collision: PNewtonCollision; id: int64); cdecl; external NEWTON_API;
function NewtonCollisionGetUserID(const collision: PNewtonCollision): int64; cdecl; external NEWTON_API;
procedure NewtonCollisionGetMaterial(const collision: PNewtonCollision; const userData: PNewtonCollisionMaterial); cdecl; external NEWTON_API;
procedure NewtonCollisionSetMaterial(const collision: PNewtonCollision; const userData: PNewtonCollisionMaterial); cdecl; external NEWTON_API;
function NewtonCollisionGetSubCollisionHandle(const collision: PNewtonCollision): Pointer; cdecl; external NEWTON_API;
function NewtonCollisionGetParentInstance(const collision: PNewtonCollision): PNewtonCollision; cdecl; external NEWTON_API;
procedure NewtonCollisionSetMatrix(const collision: PNewtonCollision; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionGetMatrix(const collision: PNewtonCollision; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionSetScale(const collision: PNewtonCollision; scaleX: dfloat; scaleY: dfloat; scaleZ: dfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionGetScale(const collision: PNewtonCollision; const scaleX: pfloat; const scaleY: pfloat; const scaleZ: pfloat); cdecl; external NEWTON_API;
procedure NewtonDestroyCollision(const collision: PNewtonCollision); cdecl; external NEWTON_API;
function NewtonCollisionGetSkinThickness(const collision: PNewtonCollision): dfloat; cdecl; external NEWTON_API;
procedure NewtonCollisionSetSkinThickness(const collision: PNewtonCollision; thickness: dfloat); cdecl; external NEWTON_API;
function NewtonCollisionIntersectionTest(const newtonWorld: PNewtonWorld; const collisionA: PNewtonCollision; const matrixA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionPointDistance(const newtonWorld: PNewtonWorld; const point: pfloat; const collision: PNewtonCollision; const matrix: pfloat; const contact: pfloat; const normal: pfloat; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionClosestPoint(const newtonWorld: PNewtonWorld; const collisionA: PNewtonCollision; const matrixA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; const contactA: pfloat; const contactB: pfloat; const normalAB: pfloat; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionCollide(const newtonWorld: PNewtonWorld; maxSize: Integer; const collisionA: PNewtonCollision; const matrixA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; const contacts: pfloat; const normals: pfloat; const penetration: pfloat; const attributeA: Pint64; const attributeB: Pint64; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
function NewtonCollisionCollideContinue(const newtonWorld: PNewtonWorld; maxSize: Integer; timestep: dfloat; const collisionA: PNewtonCollision; const matrixA: pfloat; const velocA: pfloat; const omegaA: pfloat; const collisionB: PNewtonCollision; const matrixB: pfloat; const velocB: pfloat; const omegaB: pfloat; const timeOfImpact: pfloat; const contacts: pfloat; const normals: pfloat; const penetration: pfloat; const attributeA: Pint64; const attributeB: Pint64; threadIndex: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionSupportVertex(const collision: PNewtonCollision; const dir: pfloat; const vertex: pfloat); cdecl; external NEWTON_API;
function NewtonCollisionRayCast(const collision: PNewtonCollision; const p0: pfloat; const p1: pfloat; const normal: pfloat; const attribute: Pint64): dfloat; cdecl; external NEWTON_API;
procedure NewtonCollisionCalculateAABB(const collision: PNewtonCollision; const matrix: pfloat; const p0: pfloat; const p1: pfloat); cdecl; external NEWTON_API;
procedure NewtonCollisionForEachPolygonDo(const collision: PNewtonCollision; const matrix: pfloat; callback: NewtonCollisionIterator; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonCollisionAggregateCreate(const world: PNewtonWorld): Pointer; cdecl; external NEWTON_API;

**********************************************************************************************

collision aggregates, are a collision node on eh broad phase the serve as the root nod for a collection of rigid bodies that shared the property of being in close proximity all the time, they are similar to compound collision by the group bodies instead of collision instances These are good for speeding calculation calculation of rag doll, Vehicles or contractions of rigid bodied lined by joints. also for example if you know that many the life time of a group of bodies like the object on a house of a building will be localize to the confide of the building then warping the bodies under an aggregate will reduce collision calculation of almost an order of magnitude.

**********************************************************************************************

procedure NewtonCollisionAggregateDestroy(const aggregate: Pointer); cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateAddBody(const aggregate: Pointer; const body: pNewtonBody); cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateRemoveBody(const aggregate: Pointer; const body: pNewtonBody); cdecl; external NEWTON_API;
function NewtonCollisionAggregateGetSelfCollision(const aggregate: Pointer): Integer; cdecl; external NEWTON_API;
procedure NewtonCollisionAggregateSetSelfCollision(const aggregate: Pointer; state: Integer); cdecl; external NEWTON_API;
procedure NewtonSetEulerAngle(const eulersAngles: pfloat; const matrix: pfloat); cdecl; external NEWTON_API;

transforms utility functions

procedure NewtonGetEulerAngle(const matrix: pfloat; const eulersAngles0: pfloat; const eulersAngles1: pfloat); cdecl; external NEWTON_API;
function NewtonCalculateSpringDamperAcceleration(dt: dfloat; ks: dfloat; x: dfloat; kd: dfloat; s: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonCreateDynamicBody(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const matrix: pfloat): pNewtonBody; cdecl; external NEWTON_API;

body manipulation functions

function NewtonCreateKinematicBody(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const matrix: pfloat): pNewtonBody; cdecl; external NEWTON_API;
function NewtonCreateAsymetricDynamicBody(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const matrix: pfloat): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonDestroyBody(const body: pNewtonBody); cdecl; external NEWTON_API;
function NewtonBodyGetSimulationState(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetSimulationState(const bodyPtr: pNewtonBody; const state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetType(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetCollidable(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetCollidable(const body: pNewtonBody; collidableState: Integer); cdecl; external NEWTON_API;
procedure NewtonBodyAddForce(const body: pNewtonBody; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyAddTorque(const body: pNewtonBody; const torque: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyCalculateInverseDynamicsForce(body : PNewtonBody; timestep : dFloat; desiredVeloc : PdFloat; forceOut : PdFloat); cdecl; external NEWTON_API;
procedure NewtonBodySetCentreOfMass(const body: pNewtonBody; const com: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMassMatrix(const body: pNewtonBody; mass: dfloat; Ixx: dfloat; Iyy: dfloat; Izz: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetFullMassMatrix(const body: pNewtonBody; mass: dfloat; const inertiaMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMassProperties(const body: pNewtonBody; mass: dfloat; const collision: PNewtonCollision); cdecl; external NEWTON_API;
procedure NewtonBodySetMatrix(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMatrixNoSleep(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMatrixRecursive(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetMaterialGroupID(const body: pNewtonBody; id: Integer); cdecl; external NEWTON_API;
procedure NewtonBodySetContinuousCollisionMode(const body: pNewtonBody; state: LongWord); cdecl; external NEWTON_API;
procedure NewtonBodySetJointRecursiveCollision(const body: pNewtonBody; state: LongWord); cdecl; external NEWTON_API;
procedure NewtonBodySetOmega(const body: pNewtonBody; const omega: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetOmegaNoSleep(const body: pNewtonBody; const omega: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetVelocity(const body: pNewtonBody; const velocity: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetVelocityNoSleep(const body: pNewtonBody; const velocity: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetForce(const body: pNewtonBody; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetTorque(const body: pNewtonBody; const torque: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetLinearDamping(const body: pNewtonBody; linearDamp: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetAngularDamping(const body: pNewtonBody; const angularDamp: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodySetCollision(const body: pNewtonBody; const collision: PNewtonCollision); cdecl; external NEWTON_API;
procedure NewtonBodySetCollisionScale(const body: pNewtonBody; scaleX: dfloat; scaleY: dfloat; scaleZ: dfloat); cdecl; external NEWTON_API;
function NewtonBodyGetSleepState(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetSleepState(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetAutoSleep(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetAutoSleep(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetFreezeState(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetFreezeState(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
function NewtonBodyGetGyroscopicTorque(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetGyroscopicTorque(const body: pNewtonBody; state: Integer); cdecl; external NEWTON_API;
procedure NewtonBodySetDestructorCallback(const body: pNewtonBody; callback: NewtonBodyDestructor); cdecl; external NEWTON_API;
function NewtonBodyGetDestructorCallback(const body: pNewtonBody): PNewtonBodyDestructor; cdecl; external NEWTON_API;
procedure NewtonBodySetTransformCallback(const body: pNewtonBody; callback: NewtonSetTransform); cdecl; external NEWTON_API;
function NewtonBodyGetTransformCallback(const body: pNewtonBody): PNewtonSetTransform; cdecl; external NEWTON_API;
procedure NewtonBodySetForceAndTorqueCallback(const body: pNewtonBody; callback: NewtonApplyForceAndTorque); cdecl; external NEWTON_API;
function NewtonBodyGetForceAndTorqueCallback(const body: pNewtonBody): PNewtonApplyForceAndTorque; cdecl; external NEWTON_API;
function NewtonBodyGetID(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodySetUserData(const body: pNewtonBody; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonBodyGetUserData(const body: pNewtonBody): Pointer; cdecl; external NEWTON_API;
function NewtonBodyGetWorld(const body: pNewtonBody): PNewtonWorld; cdecl; external NEWTON_API;
function NewtonBodyGetCollision(const body: pNewtonBody): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonBodyGetMaterialGroupID(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetSerializedID(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetContinuousCollisionMode(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
function NewtonBodyGetJointRecursiveCollision(const body: pNewtonBody): Integer; cdecl; external NEWTON_API;
procedure NewtonBodyGetPosition(const body: pNewtonBody; const pos: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetMatrix(const body: pNewtonBody; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetRotation(const body: pNewtonBody; const rotation: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetMass(const body: pNewtonBody; mass: pfloat; const Ixx: pfloat; const Iyy: pfloat; const Izz: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetInvMass(const body: pNewtonBody; const invMass: pfloat; const invIxx: pfloat; const invIyy: pfloat; const invIzz: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetInertiaMatrix(const body: pNewtonBody; const inertiaMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetInvInertiaMatrix(const body: pNewtonBody; const invInertiaMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetOmega(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetVelocity(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetAlpha(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetAcceleration(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetForce(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetTorque(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetCentreOfMass(const body: pNewtonBody; const com: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetPointVelocity(const body: pNewtonBody; const point: pfloat; const velocOut: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyApplyImpulsePair(const body: pNewtonBody; const linearImpulse: pfloat; const angularImpulse: pfloat; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodyAddImpulse(const body: pNewtonBody; const pointDeltaVeloc: pfloat; const pointPosit: pfloat; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodyApplyImpulseArray(const body: pNewtonBody; impuleCount: Integer; strideInByte: Integer; const impulseArray: pfloat; const pointArray: pfloat; timestep: dfloat); cdecl; external NEWTON_API;
procedure NewtonBodyIntegrateVelocity(const body: pNewtonBody; timestep: dfloat); cdecl; external NEWTON_API;
function NewtonBodyGetLinearDamping(const body: pNewtonBody): dfloat; cdecl; external NEWTON_API;
procedure NewtonBodyGetAngularDamping(const body: pNewtonBody; const vector: pfloat); cdecl; external NEWTON_API;
procedure NewtonBodyGetAABB(const body: pNewtonBody; const p0: pfloat; const p1: pfloat); cdecl; external NEWTON_API;
function NewtonBodyGetFirstJoint(const body: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyGetNextJoint(const body: pNewtonBody; const joint: PNewtonJoint): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyGetFirstContactJoint(const body: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyGetNextContactJoint(const body: pNewtonBody; const contactJoint: PNewtonJoint): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonBodyFindContact(const body0: pNewtonBody; const body1: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;
function NewtonContactJointGetFirstContact(const contactJoint: PNewtonJoint): Pointer; cdecl; external NEWTON_API;

**********************************************************************************************

contact joints interface

**********************************************************************************************

function NewtonContactJointGetNextContact(const contactJoint: PNewtonJoint; const contact: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonContactJointGetContactCount(const contactJoint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonContactJointRemoveContact(const contactJoint: PNewtonJoint; const contact: Pointer); cdecl; external NEWTON_API;
function NewtonContactJointGetClosestDistance(const contactJoint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonContactJointResetSelftJointCollision(const contactJoint: PNewtonJoint); cdecl; external NEWTON_API;
procedure NewtonContactJointResetIntraJointCollision(const contactJoint: PNewtonJoint); cdecl; external NEWTON_API;
function NewtonContactGetMaterial(const contact: Pointer): PNewtonMaterial; cdecl; external NEWTON_API;
function NewtonContactGetCollision0(const contact: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonContactGetCollision1(const contact: Pointer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonContactGetCollisionID0(const contact: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonContactGetCollisionID1(const contact: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonJointGetUserData(const joint: PNewtonJoint): Pointer; cdecl; external NEWTON_API;

**********************************************************************************************

Common joint functions

**********************************************************************************************

procedure NewtonJointSetUserData(const joint: PNewtonJoint; const userData: Pointer); cdecl; external NEWTON_API;
function NewtonJointGetBody0(const joint: PNewtonJoint): pNewtonBody; cdecl; external NEWTON_API;
function NewtonJointGetBody1(const joint: PNewtonJoint): pNewtonBody; cdecl; external NEWTON_API;
procedure NewtonJointGetInfo(const joint: PNewtonJoint; const info: PNewtonJointRecord); cdecl; external NEWTON_API;
function NewtonJointGetCollisionState(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonJointSetCollisionState(const joint: PNewtonJoint; state: Integer); cdecl; external NEWTON_API;
function NewtonJointGetStiffness(const joint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonJointSetStiffness(const joint: PNewtonJoint; state: dfloat); cdecl; external NEWTON_API;
procedure NewtonDestroyJoint(const newtonWorld: PNewtonWorld; const joint: PNewtonJoint); cdecl; external NEWTON_API;
procedure NewtonJointSetDestructor(const joint: PNewtonJoint; destructorparam: NewtonConstraintDestructor); cdecl; external NEWTON_API;
function NewtonJointIsActive(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
function NewtonCreateMassSpringDamperSystem(const newtonWorld: PNewtonWorld; shapeID: Integer; const points: pfloat; pointCount: Integer; strideInBytes: Integer; const pointMass: pfloat; const links: Pinteger; linksCount: Integer; const linksSpring: pfloat; const linksDamper: pfloat): PNewtonCollision; cdecl; external NEWTON_API;

**********************************************************************************************

particle system interface (soft bodies, individual, pressure bodies and cloth)

**********************************************************************************************

function NewtonCreateDeformableSolid(const newtonWorld: PNewtonWorld; const mesh: PNewtonMesh; shapeID: Integer): PNewtonCollision; cdecl; external NEWTON_API;
function NewtonDeformableMeshGetParticleCount(const deformableMesh: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonDeformableMeshGetParticleStrideInBytes(const deformableMesh: PNewtonCollision): Integer; cdecl; external NEWTON_API;
function NewtonDeformableMeshGetParticleArray(const deformableMesh: PNewtonCollision): pfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateBall(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

Ball and Socket joint functions

**********************************************************************************************

procedure NewtonBallSetUserCallback(const ball: PNewtonJoint; callback: NewtonBallCallback); cdecl; external NEWTON_API;
procedure NewtonBallGetJointAngle(const ball: PNewtonJoint; angle: pfloat); cdecl; external NEWTON_API;
procedure NewtonBallGetJointOmega(const ball: PNewtonJoint; omega: pfloat); cdecl; external NEWTON_API;
procedure NewtonBallGetJointForce(const ball: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
procedure NewtonBallSetConeLimits(const ball: PNewtonJoint; const pin: pfloat; maxConeAngle: dfloat; maxTwistAngle: dfloat); cdecl; external NEWTON_API;
function NewtonConstraintCreateHinge(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

Hinge joint functions

**********************************************************************************************

procedure NewtonHingeSetUserCallback(const hinge: PNewtonJoint; callback: NewtonHingeCallback); cdecl; external NEWTON_API;
function NewtonHingeGetJointAngle(const hinge: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonHingeGetJointOmega(const hinge: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonHingeGetJointForce(const hinge: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonHingeCalculateStopAlpha(const hinge: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateSlider(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

Slider joint functions

**********************************************************************************************

procedure NewtonSliderSetUserCallback(const slider: PNewtonJoint; callback: NewtonSliderCallback); cdecl; external NEWTON_API;
function NewtonSliderGetJointPosit(const slider: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonSliderGetJointVeloc(const slider: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonSliderGetJointForce(const slider: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonSliderCalculateStopAccel(const slider: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; position: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateCorkscrew(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

Corkscrew joint functions

**********************************************************************************************

procedure NewtonCorkscrewSetUserCallback(const corkscrew: PNewtonJoint; callback: NewtonCorkscrewCallback); cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointPosit(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointAngle(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointVeloc(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewGetJointOmega(const corkscrew: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonCorkscrewGetJointForce(const corkscrew: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonCorkscrewCalculateStopAlpha(const corkscrew: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonCorkscrewCalculateStopAccel(const corkscrew: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; position: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateUniversal(const newtonWorld: PNewtonWorld; const pivotPoint: pfloat; const pinDir0: pfloat; const pinDir1: pfloat; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

Universal joint functions

**********************************************************************************************

procedure NewtonUniversalSetUserCallback(const universal: PNewtonJoint; callback: NewtonUniversalCallback); cdecl; external NEWTON_API;
function NewtonUniversalGetJointAngle0(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalGetJointAngle1(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalGetJointOmega0(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalGetJointOmega1(const universal: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonUniversalGetJointForce(const universal: PNewtonJoint; const force: pfloat); cdecl; external NEWTON_API;
function NewtonUniversalCalculateStopAlpha0(const universal: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonUniversalCalculateStopAlpha1(const universal: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc; angle: dfloat): dfloat; cdecl; external NEWTON_API;
function NewtonConstraintCreateUpVector(const newtonWorld: PNewtonWorld; const pinDir: pfloat; const body: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

Up vector joint functions

**********************************************************************************************

procedure NewtonUpVectorGetPin(const upVector: PNewtonJoint; pin: dfloat); cdecl; external NEWTON_API;
procedure NewtonUpVectorSetPin(const upVector: PNewtonJoint; const pin: dfloat); cdecl; external NEWTON_API;
function NewtonConstraintCreateUserJoint(const newtonWorld: PNewtonWorld; maxDOF: Integer; callback: NewtonUserBilateralCallback; const childBody: pNewtonBody; const parentBody: pNewtonBody): PNewtonJoint; cdecl; external NEWTON_API;

**********************************************************************************************

User defined bilateral Joint

**********************************************************************************************

function NewtonUserJointGetSolverModel(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonUserJointSetSolverModel(const joint: PNewtonJoint; model: Integer); cdecl; external NEWTON_API;
procedure NewtonUserJointMassScale(const joint: PNewtonJoint; scaleBody0: dfloat; scaleBody1: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetFeedbackCollectorCallback(const joint: PNewtonJoint; getFeedback: NewtonUserBilateralCallback); cdecl; external NEWTON_API;
procedure NewtonUserJointAddLinearRow(const joint: PNewtonJoint; const pivot0: pfloat; const pivot1: pfloat; const dir: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointAddAngularRow(const joint: PNewtonJoint; relativeAngle: dfloat; const dir: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointAddGeneralRow(const joint: PNewtonJoint; const jacobian0: pfloat; const jacobian1: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowMinimumFriction(const joint: PNewtonJoint; friction: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowMaximumFriction(const joint: PNewtonJoint; friction: dfloat); cdecl; external NEWTON_API;
function NewtonUserJointCalculateRowZeroAcceleration(const joint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
function NewtonUserJointGetRowAcceleration(const joint: PNewtonJoint): dfloat; cdecl; external NEWTON_API;
procedure NewtonUserJointGetRowJacobian(const joint: PNewtonJoint; const linear0: pfloat; const angula0: pfloat; const linear1: pfloat; const angula1: pfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowAcceleration(const joint: PNewtonJoint; acceleration: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowSpringDamperAcceleration(const joint: PNewtonJoint; rowStiffness: dfloat; spring: dfloat; damper: dfloat); cdecl; external NEWTON_API;
procedure NewtonUserJointSetRowStiffness(const joint: PNewtonJoint; stiffness: dfloat); cdecl; external NEWTON_API;
function NewtonUserJoinRowsCount(const joint: PNewtonJoint): Integer; cdecl; external NEWTON_API;
procedure NewtonUserJointGetGeneralRow(const joint: PNewtonJoint; index: Integer; const jacobian0: pfloat; const jacobian1: pfloat); cdecl; external NEWTON_API;
function NewtonUserJointGetRowForce(const joint: PNewtonJoint; row: Integer): dfloat; cdecl; external NEWTON_API;
function NewtonMeshCreate(const newtonWorld: PNewtonWorld): PNewtonMesh; cdecl; external NEWTON_API;

**********************************************************************************************

Mesh joint functions

**********************************************************************************************

function NewtonMeshCreateFromMesh(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFromCollision(const collision: PNewtonCollision): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateTetrahedraIsoSurface(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateConvexHull(const newtonWorld: PNewtonWorld; pointCount: Integer; const vertexCloud: pfloat; strideInBytes: Integer; tolerance: dfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateVoronoiConvexDecomposition(const newtonWorld: PNewtonWorld; pointCount: Integer; const vertexCloud: pfloat; strideInBytes: Integer; materialID: Integer; const textureMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFromSerialization(const newtonWorld: PNewtonWorld; deserializeFunction: NewtonDeserializeCallback; const serializeHandle: Pointer): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonMeshDestroy(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshSerialize(const mesh: PNewtonMesh; serializeFunction: NewtonSerializeCallback; const serializeHandle: Pointer); cdecl; external NEWTON_API;
procedure NewtonMeshSaveOFF(const mesh: PNewtonMesh; const filename: pchar); cdecl; external NEWTON_API;
function NewtonMeshLoadOFF(const newtonWorld: PNewtonWorld; const filename: pchar): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshLoadTetrahedraMesh(const newtonWorld: PNewtonWorld; const filename: pchar): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonMeshFlipWinding(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshApplyTransform(const mesh: PNewtonMesh; const matrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshCalculateOOBB(const mesh: PNewtonMesh; const matrix: pfloat; const x: pfloat; const y: pfloat; const z: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshCalculateVertexNormals(const mesh: PNewtonMesh; angleInRadians: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplySphericalMapping(const mesh: PNewtonMesh; material: Integer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplyCylindricalMapping(const mesh: PNewtonMesh; cylinderMaterial: Integer; capMaterial: Integer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplyBoxMapping(const mesh: PNewtonMesh; frontMaterial: Integer; sideMaterial: Integer; topMaterial: Integer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshApplyAngleBasedMapping(const mesh: PNewtonMesh; material: Integer; reportPrograssCallback: NewtonReportProgress; const reportPrgressUserData: Pointer; const aligmentMatrix: pfloat); cdecl; external NEWTON_API;
procedure NewtonCreateTetrahedraLinearBlendSkinWeightsChannel(const tetrahedraMesh: PNewtonMesh; const skinMesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshOptimize(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshOptimizePoints(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshOptimizeVertex(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
function NewtonMeshIsOpenMesh(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshFixTJoints(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshPolygonize(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshTriangulate(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
function NewtonMeshUnion(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshDifference(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshIntersection(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonMeshClip(const mesh: PNewtonMesh; const clipper: PNewtonMesh; const clipperMatrix: pfloat; const topMesh: PNewtonMesh; const bottomMesh: PNewtonMesh); cdecl; external NEWTON_API;
function NewtonMeshConvexMeshIntersection(const mesh: PNewtonMesh; const convexMesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshSimplify(const mesh: PNewtonMesh; maxVertexCount: Integer; reportPrograssCallback: NewtonReportProgress; const reportPrgressUserData: Pointer): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshApproximateConvexDecomposition(const mesh: PNewtonMesh; maxConcavity: dfloat; backFaceDistanceFactor: dfloat; maxCount: Integer; maxVertexPerHull: Integer; reportProgressCallback: NewtonReportProgress; const reportProgressUserData: Pointer): PNewtonMesh; cdecl; external NEWTON_API;
procedure NewtonRemoveUnusedVertices(const mesh: PNewtonMesh; const vertexRemapTable: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshBeginBuild(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshBeginFace(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshAddPoint(const mesh: PNewtonMesh; x: double; y: double; z: double); cdecl; external NEWTON_API;
procedure NewtonMeshAddLayer(const mesh: PNewtonMesh; layerIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonMeshAddMaterial(const mesh: PNewtonMesh; materialIndex: Integer); cdecl; external NEWTON_API;
procedure NewtonMeshAddNormal(const mesh: PNewtonMesh; x: dfloat; y: dfloat; z: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddBinormal(const mesh: PNewtonMesh; x: dfloat; y: dfloat; z: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddUV0(const mesh: PNewtonMesh; u: dfloat; v: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddUV1(const mesh: PNewtonMesh; u: dfloat; v: dfloat); cdecl; external NEWTON_API;
procedure NewtonMeshAddVertexColor(const mesh: PNewtonMesh; r: Single; g: Single; b: Single; a: Single); cdecl; external NEWTON_API;
procedure NewtonMeshEndFace(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshEndBuild(const mesh: PNewtonMesh); cdecl; external NEWTON_API;
procedure NewtonMeshClearVertexFormat(const format: PNewtonMeshVertexFormat); cdecl; external NEWTON_API;
procedure NewtonMeshBuildFromVertexListIndexList(const mesh: PNewtonMesh; const format: PNewtonMeshVertexFormat); cdecl; external NEWTON_API;
function NewtonMeshGetPointCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetIndexToVertexMap(const mesh: PNewtonMesh): Pinteger; cdecl; external NEWTON_API;
function NewtonMeshGetVertexWeights(mesh : PNewtonMesh; vertexIndex : Integer; weightIndex : PInteger; weightFactor : PdFloat) : Integer; cdecl; external NEWTON_API;
procedure NewtonMeshGetVertexDoubleChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: Pdouble); cdecl; external NEWTON_API;
procedure NewtonMeshGetVertexChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetNormalChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetBinormalChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetUV0Channel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetUV1Channel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
procedure NewtonMeshGetVertexColorChannel(const mesh: PNewtonMesh; vertexStrideInByte: Integer; const outBuffer: pfloat); cdecl; external NEWTON_API;
function NewtonMeshHasNormalChannel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasBinormalChannel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasUV0Channel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasUV1Channel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshHasVertexColorChannel(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshBeginHandle(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
procedure NewtonMeshEndHandle(const mesh: PNewtonMesh; const handle: Pointer); cdecl; external NEWTON_API;
function NewtonMeshFirstMaterial(const mesh: PNewtonMesh; const handle: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshNextMaterial(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer): Integer; cdecl; external NEWTON_API;
function NewtonMeshMaterialGetMaterial(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer): Integer; cdecl; external NEWTON_API;
function NewtonMeshMaterialGetIndexCount(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshMaterialGetIndexStream(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer; const index: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshMaterialGetIndexStreamShort(const mesh: PNewtonMesh; const handle: Pointer; materialId: Integer; const index: SmallInt); cdecl; external NEWTON_API;
function NewtonMeshCreateFirstSingleSegment(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateNextSingleSegment(const mesh: PNewtonMesh; const segment: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateFirstLayer(const mesh: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshCreateNextLayer(const mesh: PNewtonMesh; const segment: PNewtonMesh): PNewtonMesh; cdecl; external NEWTON_API;
function NewtonMeshGetTotalFaceCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetTotalIndexCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshGetFaces(const mesh: PNewtonMesh; const faceIndexCount: Pinteger; const faceMaterial: Pinteger; const faceIndices: PPointer); cdecl; external NEWTON_API;
function NewtonMeshGetVertexCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexStrideInByte(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexArray(const mesh: PNewtonMesh): Pdouble; cdecl; external NEWTON_API;
function NewtonMeshGetVertexBaseCount(const mesh: PNewtonMesh): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshSetVertexBaseCount(const mesh: PNewtonMesh; baseCount: Integer); cdecl; external NEWTON_API;
function NewtonMeshGetFirstVertex(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextVertex(const mesh: PNewtonMesh; const vertex: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexIndex(const mesh: PNewtonMesh; const vertex: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFirstPoint(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextPoint(const mesh: PNewtonMesh; const point: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetPointIndex(const mesh: PNewtonMesh; const point: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetVertexIndexFromPoint(const mesh: PNewtonMesh; const point: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFirstEdge(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;
function NewtonMeshGetNextEdge(const mesh: PNewtonMesh; const edge: Pointer): Pointer; cdecl; external NEWTON_API;
procedure NewtonMeshGetEdgeIndices(const mesh: PNewtonMesh; const edge: Pointer; const v0: Pinteger; const v1: Pinteger); cdecl; external NEWTON_API;
function NewtonMeshGetFirstFace(const mesh: PNewtonMesh): Pointer; cdecl; external NEWTON_API;

NEWTON_API void NewtonMeshGetEdgePointIndices (const NewtonMesh* const mesh, const void* const edge, int* const v0, int* const v1);

function NewtonMeshGetNextFace(const mesh: PNewtonMesh; const face: Pointer): Pointer; cdecl; external NEWTON_API;
function NewtonMeshIsFaceOpen(const mesh: PNewtonMesh; const face: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFaceMaterial(const mesh: PNewtonMesh; const face: Pointer): Integer; cdecl; external NEWTON_API;
function NewtonMeshGetFaceIndexCount(const mesh: PNewtonMesh; const face: Pointer): Integer; cdecl; external NEWTON_API;
procedure NewtonMeshGetFaceIndices(const mesh: PNewtonMesh; const face: Pointer; const indices: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshGetFacePointIndices(const mesh: PNewtonMesh; const face: Pointer; const indices: Pinteger); cdecl; external NEWTON_API;
procedure NewtonMeshCalculateFaceNormal(const mesh: PNewtonMesh; const face: Pointer; const normal: Pdouble); cdecl; external NEWTON_API;
procedure NewtonMeshSetFaceMaterial(const mesh: PNewtonMesh; const face: Pointer; matId: Integer); cdecl; external NEWTON_API;

Types

dFloat = Single;
dFloat64 = Double;
dLong = Int64;
Float = Single;
NewtonAllocMemory = function(sizeInBytes: Integer): Pointer; cdecl;

Newton callback functions

NewtonApplyForceAndTorque = procedure(const body: pNewtonBody; timestep: dfloat; threadIndex: Integer); cdecl;
NewtonBallCallback = procedure(const ball: PNewtonJoint; timestep: dfloat); cdecl;
NewtonBodyDestructor = procedure(const body: pNewtonBody); cdecl;
NewtonBodyIterator = function(const body: pNewtonBody; const userData: Pointer): Integer; cdecl;
NewtonCollisionCopyConstructionCallback = procedure(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision; const sourceCollision: PNewtonCollision); cdecl;
NewtonCollisionDestructorCallback = procedure(const newtonWorld: PNewtonWorld; const collision: PNewtonCollision); cdecl;
NewtonCollisionIterator = procedure(const userData: Pointer; vertexCount: Integer; const faceArray: pfloat; faceId: Integer); cdecl;
NewtonCollisionTreeRayCastCallback = function(const body: pNewtonBody; const treeCollision: PNewtonCollision; intersection: dfloat; const normal: pfloat; faceId: Integer; const usedData: Pointer): dfloat; cdecl;
NewtonConstraintDestructor = procedure(const me: PNewtonJoint); cdecl;
NewtonContactsProcess = procedure(const contact: PNewtonJoint; timestep: dfloat; threadIndex: Integer); cdecl;
NewtonCorkscrewCallback = function(const corkscrew: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonCreateContactCallback = procedure(const newtonWorld: PNewtonWorld; const contact: PNewtonJoint); cdecl;
NewtonDeserializeCallback = procedure(const serializeHandle: Pointer; const buffer: Pointer; size: Integer); cdecl;
NewtonDestroyContactCallback = procedure(const newtonWorld: PNewtonWorld; const contact: PNewtonJoint); cdecl;
NewtonFractureCompoundCollisionOnEmitChunk = procedure(const chunkBody: pNewtonBody; const fracturexChunkMesh: PNewtonFracturedCompoundMeshPart; const fracturedCompountCollision: PNewtonCollision); cdecl;
NewtonFractureCompoundCollisionOnEmitCompoundFractured = procedure(const fracturedBody: pNewtonBody); cdecl;
NewtonFractureCompoundCollisionReconstructMainMeshCallBack = procedure(const body: pNewtonBody; const mainMesh: PNewtonFracturedCompoundMeshPart; const fracturedCompountCollision: PNewtonCollision); cdecl;
NewtonFreeMemory = procedure(const ptr: Pointer; sizeInBytes: Integer); cdecl;
NewtonGetTimeInMicrosencondsCallback = function(): int64; cdecl;
NewtonHeightFieldRayCastCallback = function(const body: pNewtonBody; const heightFieldCollision: PNewtonCollision; intersection: dfloat; row: Integer; col: Integer; const normal: pfloat; faceId: Integer; const usedData: Pointer): dfloat; cdecl;
NewtonHingeCallback = function(const hinge: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonIslandUpdate = function(const newtonWorld: PNewtonWorld; const islandHandle: Pointer; bodyCount: Integer): Integer; cdecl;
NewtonJobTask = procedure(const world: PNewtonWorld; const userData: Pointer; threadIndex: Integer); cdecl;
NewtonJointIterator = procedure(const joint: PNewtonJoint; const userData: Pointer); cdecl;
NewtonOnAABBOverlap = function(const contact: PNewtonJoint; timestep: dfloat; threadIndex: Integer): Integer; cdecl;
NewtonOnBodyDeserializationCallback = procedure(const body: pNewtonBody; const userData: Pointer; functionparam: PNewtonDeserializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnBodySerializationCallback = procedure(const body: pNewtonBody; const userData: Pointer; functionparam: PNewtonSerializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnCompoundSubCollisionAABBOverlap = function(const contact: PNewtonJoint; timestep: dfloat; const body0: pNewtonBody; const collisionNode0: Pointer; const body1: pNewtonBody; const collisionNode1: Pointer; threadIndex: Integer): Integer; cdecl;
NewtonOnContactGeneration = function(const material: PNewtonMaterial; const body0: pNewtonBody; const collision0: PNewtonCollision; const body1: pNewtonBody; const collision1: PNewtonCollision; const contactBuffer: PNewtonUserContactPoint; maxCount: Integer; threadIndex: Integer): Integer; cdecl;
NewtonOnJointDeserializationCallback = procedure(const body0: pNewtonBody; const body1: pNewtonBody; functionparam: PNewtonDeserializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnJointSerializationCallback = procedure(const joint: PNewtonJoint; functionparam: PNewtonSerializeCallback; const serializeHandle: Pointer); cdecl;
NewtonOnUserCollisionSerializationCallback = procedure(const userData: Pointer; functionparam: PNewtonSerializeCallback; const serializeHandle: Pointer); cdecl;

user collision callbacks

NewtonPostUpdateCallback = procedure(const world: PNewtonWorld; timestep: dfloat); cdecl;
NewtonReportProgress = function(normalizedProgressPercent: dfloat; const userData: Pointer): Integer; cdecl;
NewtonSerializeCallback = procedure(const serializeHandle: Pointer; const buffer: Pointer; size: Integer); cdecl;
NewtonSetTransform = procedure(const body: pNewtonBody; const matrix: pfloat; threadIndex: Integer); cdecl;
NewtonSliderCallback = function(const slider: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonTreeCollisionCallback = procedure(const bodyWithTreeCollision: pNewtonBody; const body: pNewtonBody; faceID: Integer; vertexCount: Integer; const vertex: pfloat; vertexStrideInBytes: Integer); cdecl;
NewtonTreeCollisionFaceCallback = function(const context: Pointer; const polygon: pfloat; strideInBytes: Integer; const indexArray: Pinteger; indexCount: Integer): Integer; cdecl;
NewtonUniversalCallback = function(const universal: PNewtonJoint; const desc: PNewtonHingeSliderUpdateDesc): LongWord; cdecl;
NewtonUserBilateralCallback = procedure(const userJoint: PNewtonJoint; timestep: dfloat; threadIndex: Integer); cdecl;
NewtonUserBilateralGetInfoCallback = procedure(const userJoint: PNewtonJoint; const info: PNewtonJointRecord); cdecl;
NewtonUserMeshCollisionAABBTest = function(const userData: Pointer; const boxP0: pfloat; const boxP1: pfloat): Integer; cdecl;
NewtonUserMeshCollisionCollideCallback = procedure(const collideDescData: PNewtonUserMeshCollisionCollideDesc; const continueCollisionHandle: Pointer); cdecl;
NewtonUserMeshCollisionDestroyCallback = procedure(const userData: Pointer); cdecl;
NewtonUserMeshCollisionGetCollisionInfo = procedure(const userData: Pointer; const infoRecord: PNewtonCollisionInfoRecord); cdecl;
NewtonUserMeshCollisionGetFacesInAABB = function(const userData: Pointer; const p0: pfloat; const p1: pfloat; const vertexArray: Pfloat; const vertexCount: Pinteger; const vertexStrideInBytes: Pinteger; const indexList: Pinteger; maxIndexCount: Integer; const userDataList: Pinteger): Integer; cdecl;
NewtonUserMeshCollisionRayHitCallback = function(const lineDescData: PNewtonUserMeshCollisionRayHitDesc): dfloat; cdecl;
NewtonWorldDestroyListenerCallback = procedure(const world: PNewtonWorld; const listenerUserData: Pointer); cdecl;
NewtonWorldDestructorCallback = procedure(const world: PNewtonWorld); cdecl;
NewtonWorldListenerBodyDestroyCallback = procedure(const world: PNewtonWorld; const listenerUserData: Pointer; const body: pNewtonBody); cdecl;
NewtonWorldListenerDebugCallback = procedure(const world: PNewtonWorld; const listener: Pointer; const debugContext: Pointer); cdecl;
NewtonWorldRayFilterCallback = function(const body: pNewtonBody; const shapeHit: PNewtonCollision; const hitContact: pfloat; const hitNormal: pfloat; collisionID: int64; const userData: Pointer; intersectParam: dfloat): dfloat; cdecl;
NewtonWorldRayPrefilterCallback = function(const body: pNewtonBody; const collision: PNewtonCollision; const userData: Pointer): LongWord; cdecl;
NewtonWorldUpdateListenerCallback = procedure(const world: PNewtonWorld; const listenerUserData: Pointer; timestep: dfloat); cdecl;
PdFloat = ˆdFloat;
PdFloat64 = ˆdFloat64;
PdLong = ˆdLong;
PFloat = ˆFloat;
PInteger = ˆInteger;
PNewtonAcyclicArticulation = ˆPointer;
PNewtonAllocMemory = ˆNewtonAllocMemory;
PNewtonApplyForceAndTorque = ˆNewtonApplyForceAndTorque;
PNewtonBallCallback = ˆNewtonBallCallback;
PNewtonBody = ˆPointer;
PNewtonBodyDestructor = ˆNewtonBodyDestructor;
PNewtonBodyIterator = ˆNewtonBodyIterator;
PNewtonBoxParam = ˆTNewtonBoxParam;
PNewtonCapsuleParam = ˆTNewtonCapsuleParam;
PNewtonChamferCylinderParam = ˆTNewtonChamferCylinderParam;
PNewtonCollision = ˆPointer;
PNewtonCollisionCopyConstructionCallback = ˆNewtonCollisionCopyConstructionCallback;
PNewtonCollisionDestructorCallback = ˆNewtonCollisionDestructorCallback;
PNewtonCollisionInfoRecord = ˆTNewtonCollisionInfoRecord;
PNewtonCollisionIterator = ˆNewtonCollisionIterator;
PNewtonCollisionMaterial = ˆTNewtonCollisionMaterial;
PNewtonCollisionTreeParam = ˆTNewtonCollisionTreeParam;
PNewtonCollisionTreeRayCastCallback = ˆNewtonCollisionTreeRayCastCallback;
PNewtonCompoundCollisionParam = ˆTNewtonCompoundCollisionParam;
PNewtonConeParam = ˆTNewtonConeParam;
PNewtonConstraintDestructor = ˆNewtonConstraintDestructor;
PNewtonContactsProcess = ˆNewtonContactsProcess;
PNewtonConvexHullParam = ˆTNewtonConvexHullParam;
PNewtonCorkscrewCallback = ˆNewtonCorkscrewCallback;
PNewtonCreateContactCallback = ˆNewtonCreateContactCallback;
PNewtonCylinderParam = ˆTNewtonCylinderParam;
PNewtonDeformableMeshParam = ˆTNewtonDeformableMeshParam;
PNewtonDeformableMeshSegment = ˆPointer;
PNewtonDeserializeCallback = ˆNewtonDeserializeCallback;
PNewtonDestroyContactCallback = ˆNewtonDestroyContactCallback;
PNewtonFractureCompoundCollisionOnEmitChunk = ˆNewtonFractureCompoundCollisionOnEmitChunk;
PNewtonFractureCompoundCollisionOnEmitCompoundFractured = ˆNewtonFractureCompoundCollisionOnEmitCompoundFractured;
PNewtonFractureCompoundCollisionReconstructMainMeshCallBack = ˆNewtonFractureCompoundCollisionReconstructMainMeshCallBack;
PNewtonFracturedCompoundMeshPart = ˆPointer;
PNewtonFreeMemory = ˆNewtonFreeMemory;
PNewtonGetTimeInMicrosencondsCallback = ˆNewtonGetTimeInMicrosencondsCallback;
PNewtonHeightFieldCollisionParam = ˆTNewtonHeightFieldCollisionParam;
PNewtonHeightFieldRayCastCallback = ˆNewtonHeightFieldRayCastCallback;
PNewtonHingeCallback = ˆNewtonHingeCallback;
PNewtonHingeSliderUpdateDesc = ˆTNewtonHingeSliderUpdateDesc;
PNewtonImmediateModeConstraint = ˆTNewtonImmediateModeConstraint;
PNewtonInverseDynamics = ˆPointer;
PNewtonIslandUpdate = ˆNewtonIslandUpdate;
PNewtonJobTask = ˆNewtonJobTask;
PNewtonJoint = ˆPointer;
PNewtonJointIterator = ˆNewtonJointIterator;
PNewtonJointRecord = ˆTNewtonJointRecord;
PNewtonMaterial = ˆPointer;
PNewtonMaterialData = ˆTNewtonMaterialData;
PNewtonMesh = ˆPointer;
PNewtonMeshDoubleData = ˆTNewtonMeshDoubleData;
PNewtonMeshFloatData = ˆTNewtonMeshFloatData;
PNewtonMeshVertexFormat = ˆTNewtonMeshVertexFormat;
PNewtonOnAABBOverlap = ˆNewtonOnAABBOverlap;
PNewtonOnBodyDeserializationCallback = ˆNewtonOnBodyDeserializationCallback;
PNewtonOnBodySerializationCallback = ˆNewtonOnBodySerializationCallback;
PNewtonOnCompoundSubCollisionAABBOverlap = ˆNewtonOnCompoundSubCollisionAABBOverlap;
PNewtonOnContactGeneration = ˆNewtonOnContactGeneration;
PNewtonOnJointDeserializationCallback = ˆNewtonOnJointDeserializationCallback;
PNewtonOnJointSerializationCallback = ˆNewtonOnJointSerializationCallback;
PNewtonOnUserCollisionSerializationCallback = ˆNewtonOnUserCollisionSerializationCallback;
PNewtonPostUpdateCallback = ˆNewtonPostUpdateCallback;
PNewtonReportProgress = ˆNewtonReportProgress;
PNewtonSceneCollisionParam = ˆTNewtonSceneCollisionParam;
PNewtonSceneProxy = ˆPointer;
PNewtonSerializeCallback = ˆNewtonSerializeCallback;
PNewtonSetTransform = ˆNewtonSetTransform;
PNewtonSliderCallback = ˆNewtonSliderCallback;
PNewtonSphereParam = ˆTNewtonSphereParam;
PNewtonTaperedCapsuleParam = ˆTNewtonTaperedCapsuleParam;
PNewtonTaperedCylinderParam = ˆTNewtonTaperedCylinderParam;
PNewtonTreeCollisionCallback = ˆNewtonTreeCollisionCallback;
PNewtonTreeCollisionFaceCallback = ˆNewtonTreeCollisionFaceCallback;
PNewtonUniversalCallback = ˆNewtonUniversalCallback;
PNewtonUserBilateralCallback = ˆNewtonUserBilateralCallback;
PNewtonUserBilateralGetInfoCallback = ˆNewtonUserBilateralGetInfoCallback;
PNewtonUserContactPoint = ˆTNewtonUserContactPoint;
PNewtonUserMeshCollisionAABBTest = ˆNewtonUserMeshCollisionAABBTest;
PNewtonUserMeshCollisionCollideCallback = ˆNewtonUserMeshCollisionCollideCallback;
PNewtonUserMeshCollisionCollideDesc = ˆTNewtonUserMeshCollisionCollideDesc;
PNewtonUserMeshCollisionDestroyCallback = ˆNewtonUserMeshCollisionDestroyCallback;
PNewtonUserMeshCollisionGetCollisionInfo = ˆNewtonUserMeshCollisionGetCollisionInfo;
PNewtonUserMeshCollisionGetFacesInAABB = ˆNewtonUserMeshCollisionGetFacesInAABB;
PNewtonUserMeshCollisionRayHitCallback = ˆNewtonUserMeshCollisionRayHitCallback;
PNewtonUserMeshCollisionRayHitDesc = ˆTNewtonUserMeshCollisionRayHitDesc;
PNewtonWorld = ˆPointer;
PNewtonWorldConvexCastReturnInfo = ˆTNewtonWorldConvexCastReturnInfo;
PNewtonWorldDestroyListenerCallback = ˆNewtonWorldDestroyListenerCallback;
PNewtonWorldDestructorCallback = ˆNewtonWorldDestructorCallback;
PNewtonWorldListenerBodyDestroyCallback = ˆNewtonWorldListenerBodyDestroyCallback;
PNewtonWorldListenerDebugCallback = ˆNewtonWorldListenerDebugCallback;
PNewtonWorldRayFilterCallback = ˆNewtonWorldRayFilterCallback;
PNewtonWorldRayPrefilterCallback = ˆNewtonWorldRayPrefilterCallback;
PNewtonWorldUpdateListenerCallback = ˆNewtonWorldUpdateListenerCallback;
PPointer = ˆPointer;
Psmallint = ˆsmallint;

Constants

NEWTON_API = 'newton32s.dll';

.$DEFINE USE_DOUBLE_PRECISION

NEWTON_MAJOR_VERSION = 3;
NEWTON_MINOR_VERSION = 15;
NEWTON_BROADPHASE_DEFAULT = 0;
NEWTON_BROADPHASE_PERSINTENT = 1;
NEWTON_DYNAMIC_BODY = 0;
NEWTON_KINEMATIC_BODY = 1;
NEWTON_DYNAMIC_ASYMETRIC_BODY = 2;
SERIALIZE_ID_SPHERE = 0;

NEWTON_DEFORMABLE_BODY = 2;

SERIALIZE_ID_CAPSULE = 1;
SERIALIZE_ID_CYLINDER = 2;
SERIALIZE_ID_CHAMFERCYLINDER = 3;
SERIALIZE_ID_BOX = 4;
SERIALIZE_ID_CONE = 5;
SERIALIZE_ID_CONVEXHULL = 6;
SERIALIZE_ID_NULL = 7;
SERIALIZE_ID_COMPOUND = 8;
SERIALIZE_ID_TREE = 9;
SERIALIZE_ID_HEIGHTFIELD = 10;
SERIALIZE_ID_CLOTH_PATCH = 11;
SERIALIZE_ID_DEFORMABLE_SOLID = 12;
SERIALIZE_ID_USERMESH = 13;
SERIALIZE_ID_SCENE = 14;
SERIALIZE_ID_FRACTURED_COMPOUND = 15;


GLSysHelp v.2.1: Physics.NewtonImport: Record TNewtonFuncLinkRecord

Record TNewtonFuncLinkRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonFuncLinkRecord = record

Description

PNewtonSerializeHandle = ˆPointer; PNewtonMeshHandle = ˆPointer; PNewtonMeshVertex = ˆPointer; PNewtonMeshPoint = ˆPointer; PNewtonMeshEdge = ˆPointer; PNewtonMeshFace = ˆPointer; PNewtonListener = ˆPointer;

Overview

Fields

Public | function_name: widestring;
Public | function_ptr: pointer

Description

Fields

Public function_name: widestring;
Public function_ptr: pointer


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonMaterialData

Packed Record TNewtonMaterialData

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonMaterialData = packed record

Description

Overview

Fields

Public | m_ptr: Pointer;
Public | m_int: dLong;
Public | m_float: dFloat;

Description

Fields

Public m_ptr: Pointer;
Public m_int: dLong;
Public m_float: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCollisionMaterial

Packed Record TNewtonCollisionMaterial

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCollisionMaterial = packed record

Description

Overview

Fields

Public | m_userId: dLong;
Public | m_userData: TNewtonMaterialData;
Public | m_userParam: array[0..5] of TNewtonMaterialData;

Description

Fields

Public m_userId: dLong;
Public m_userData: TNewtonMaterialData;
Public m_userParam: array[0..5] of TNewtonMaterialData;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonBoxParam

Packed Record TNewtonBoxParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonBoxParam = packed record

Description

Overview

Fields

Public | m_x: dFloat;
Public | m_y: dFloat;
Public | m_z: dFloat;

Description

Fields

Public m_x: dFloat;
Public m_y: dFloat;
Public m_z: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonSphereParam

Packed Record TNewtonSphereParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonSphereParam = packed record

Description

Overview

Fields

Public m_radio: dFloat;

Description

Fields

Public m_radio: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCapsuleParam

Packed Record TNewtonCapsuleParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCapsuleParam = packed record

Description

Overview

Fields

Public | m_radio0: dfloat;
Public | m_radio1: dfloat;
Public | m_height: dfloat;

Description

Fields

Public m_radio0: dfloat;
Public m_radio1: dfloat;
Public m_height: dfloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCylinderParam

Packed Record TNewtonCylinderParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCylinderParam = packed record

Description

Overview

Fields

Public | m_radio0: dfloat;
Public | m_radio1: dfloat;
Public | m_height: dfloat;

Description

Fields

Public m_radio0: dfloat;
Public m_radio1: dfloat;
Public m_height: dfloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonConeParam

Packed Record TNewtonConeParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonConeParam = packed record

Description

Overview

Fields

Public | m_radio: dfloat;
Public | m_height: dfloat;

Description

Fields

Public m_radio: dfloat;
Public m_height: dfloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonTaperedCapsuleParam

Packed Record TNewtonTaperedCapsuleParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonTaperedCapsuleParam = packed record

Description

Overview

Fields

Public | m_radio0: dFloat;
Public | m_radio1: dFloat;
Public | m_height: dFloat;

Description

Fields

Public m_radio0: dFloat;
Public m_radio1: dFloat;
Public m_height: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonTaperedCylinderParam

Packed Record TNewtonTaperedCylinderParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonTaperedCylinderParam = packed record

Description

Overview

Fields

Public | m_radio0: dFloat;
Public | m_radio1: dFloat;
Public | m_height: dFloat;

Description

Fields

Public m_radio0: dFloat;
Public m_radio1: dFloat;
Public m_height: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonChamferCylinderParam

Packed Record TNewtonChamferCylinderParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonChamferCylinderParam = packed record

Description

Overview

Fields

Public | m_radio: dFloat;
Public | m_height: dFloat;

Description

Fields

Public m_radio: dFloat;
Public m_height: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonConvexHullParam

Packed Record TNewtonConvexHullParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonConvexHullParam = packed record

Description

Overview

Fields

Public | m_vertexCount: Integer;
Public | m_vertexStrideInBytes: Integer;
Public | m_faceCount: Integer;
Public | m_vertex: PdFloat;

Description

Fields

Public m_vertexCount: Integer;
Public m_vertexStrideInBytes: Integer;
Public m_faceCount: Integer;
Public m_vertex: PdFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCompoundCollisionParam

Packed Record TNewtonCompoundCollisionParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCompoundCollisionParam = packed record

Description

Overview

Fields

Public m_chidrenCount: Integer;

Description

Fields

Public m_chidrenCount: Integer;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCollisionTreeParam

Packed Record TNewtonCollisionTreeParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCollisionTreeParam = packed record

Description

Overview

Fields

Public | m_vertexCount: Integer;
Public | m_indexCount: Integer;

Description

Fields

Public m_vertexCount: Integer;
Public m_indexCount: Integer;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonDeformableMeshParam

Packed Record TNewtonDeformableMeshParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonDeformableMeshParam = packed record

Description

Overview

Fields

Public | m_vertexCount: Integer;
Public | m_triangleCount: Integer;
Public | m_vrtexStrideInBytes: Integer;
Public | m_indexList: PWord;
Public | m_vertexList: PdFloat;

Description

Fields

Public m_vertexCount: Integer;
Public m_triangleCount: Integer;
Public m_vrtexStrideInBytes: Integer;
Public m_indexList: PWord;
Public m_vertexList: PdFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonHeightFieldCollisionParam

Packed Record TNewtonHeightFieldCollisionParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonHeightFieldCollisionParam = packed record

Description

Overview

Fields

Public | m_width: Integer;
Public | m_height: Integer;
Public | m_gridsDiagonals: Integer;
Public | m_elevationDataType: Integer;
Public | m_verticalScale: dFloat;
Public | m_horizonalScale_x: dFloat;
Public | m_horizonalScale_z: dFloat;
Public | m_vertialElevation: Pointer;
Public | m_atributes: PShortInt;

Description

Fields

Public m_width: Integer;
Public m_height: Integer;
Public m_gridsDiagonals: Integer;
Public m_elevationDataType: Integer;
Public m_verticalScale: dFloat;

0 = 32 bit floats, 1 = unsigned 16 bit integers

Public m_horizonalScale_x: dFloat;
Public m_horizonalScale_z: dFloat;
Public m_vertialElevation: Pointer;
Public m_atributes: PShortInt;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonSceneCollisionParam

Packed Record TNewtonSceneCollisionParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonSceneCollisionParam = packed record

Description

Overview

Fields

Public m_childrenProxyCount: Integer;

Description

Fields

Public m_childrenProxyCount: Integer;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCollisionNullParam

Packed Record TNewtonCollisionNullParam

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCollisionNullParam = packed record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonCollisionInfoRecord

Packed Record TNewtonCollisionInfoRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonCollisionInfoRecord = packed record

Description

Overview

Fields

Public | m_offsetMatrix: array [0..3,0..3] of dFloat;
Public | m_collisionMaterial: TNewtonCollisionMaterial;
Public | m_collisionType: Integer;
Public | m_collisionUserID: Integer;
Public | shapedataBox: TNewtonBoxParam
Public | shapedataCone: TNewtonConeParam
Public | shapedataSphere: TNewtonSphereParam
Public | shapedataCapsule: TNewtonCapsuleParam
Public | shapedataCylinder: TNewtonCylinderParam
Public | shapedataChamferCylinder: TNewtonChamferCylinderParam
Public | shapedataConvexHull: TNewtonConvexHullParam
Public | m_deformableMesh: TNewtonDeformableMeshParam
Public | shapedataCompound: TNewtonCompoundCollisionParam
Public | shapedataTree: TNewtonCollisionTreeParam
Public | shapedataHeightField: TNewtonHeightFieldCollisionParam
Public | shapedataSceneCollision: TNewtonSceneCollisionParam
Public | m_paramArray: array[0..63] of float

Description

Fields

Public m_offsetMatrix: array [0..3,0..3] of dFloat;
Public m_collisionMaterial: TNewtonCollisionMaterial;
Public m_collisionType: Integer;
Public m_collisionUserID: Integer;

tag id to identify the collision primitive

Public shapedataBox: TNewtonBoxParam
Public shapedataCone: TNewtonConeParam
Public shapedataSphere: TNewtonSphereParam
Public shapedataCapsule: TNewtonCapsuleParam
Public shapedataCylinder: TNewtonCylinderParam
Public shapedataChamferCylinder: TNewtonChamferCylinderParam

SERIALIZE_ID_TAPEREDCAPSULE: (m_taperedCapsule: TNewtonTaperedCapsuleParam); SERIALIZE_ID_TAPEREDCYLINDER: (m_taperedCylinder: TNewtonTaperedCylinderParam); SERIALIZE_ID_NULL: (shapedataNull: TNewtonCollisionNullParam);

Public shapedataConvexHull: TNewtonConvexHullParam
Public m_deformableMesh: TNewtonDeformableMeshParam
Public shapedataCompound: TNewtonCompoundCollisionParam
Public shapedataTree: TNewtonCollisionTreeParam
Public shapedataHeightField: TNewtonHeightFieldCollisionParam
Public shapedataSceneCollision: TNewtonSceneCollisionParam
Public m_paramArray: array[0..63] of float


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonJointRecord

Packed Record TNewtonJointRecord

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonJointRecord = packed record

Description

Overview

Fields

Public | m_attachmenMatrix_0: array[0..3, 0..3] of dfloat;
Public | m_attachmenMatrix_1: array[0..3, 0..3] of dfloat;
Public | m_minLinearDof: array[0..2] of dfloat;
Public | m_maxLinearDof: array[0..2] of dfloat;
Public | m_minAngularDof: array[0..2] of dfloat;
Public | m_maxAngularDof: array[0..2] of dfloat;
Public | m_attachBody_0: pNewtonBody;
Public | m_attachBody_1: pNewtonBody;
Public | m_extraParameters: array[0..63] of dfloat;
Public | m_bodiesCollisionOn: Integer;
Public | m_descriptionType: array[0..127] of AnsiChar;

Description

Fields

Public m_attachmenMatrix_0: array[0..3, 0..3] of dfloat;
Public m_attachmenMatrix_1: array[0..3, 0..3] of dfloat;
Public m_minLinearDof: array[0..2] of dfloat;
Public m_maxLinearDof: array[0..2] of dfloat;
Public m_minAngularDof: array[0..2] of dfloat;
Public m_maxAngularDof: array[0..2] of dfloat;
Public m_attachBody_0: pNewtonBody;
Public m_attachBody_1: pNewtonBody;
Public m_extraParameters: array[0..63] of dfloat;
Public m_bodiesCollisionOn: Integer;
Public m_descriptionType: array[0..127] of AnsiChar;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonUserMeshCollisionCollideDesc

Packed Record TNewtonUserMeshCollisionCollideDesc

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonUserMeshCollisionCollideDesc = packed record

Description

Overview

Fields

Public | m_boxP0: array [0..3] of dFloat;
Public | m_boxP1: array [0..3] of dFloat;
Public | m_boxDistanceTravel: array [0..3] of dFloat;
Public | m_threadNumber: Integer;
Public | m_faceCount: Integer;
Public | m_vertexStrideInBytes: Integer;
Public | m_skinThickness: dFloat;
Public | m_userData: Pointer;
Public | m_objBody: PNewtonBody;
Public | m_polySoupBody: PNewtonBody;
Public | m_objCollision: PNewtonCollision;
Public | m_polySoupCollision: PNewtonCollision;
Public | m_vertex: PdFloat;
Public | m_faceIndexCount: PInteger;
Public | m_faceVertexIndex: PInteger;

Description

Fields

Public m_boxP0: array [0..3] of dFloat;
Public m_boxP1: array [0..3] of dFloat;

lower bounding box of intersection query in local space

Public m_boxDistanceTravel: array [0..3] of dFloat;

upper bounding box of intersection query in local space

Public m_threadNumber: Integer;

max distance that box bpxP0 and boxP1 can travel on this timestep, used this for continue collision mode.

Public m_faceCount: Integer;

current thread executing this query

Public m_vertexStrideInBytes: Integer;

the application should set here how many polygons intersect the query box

Public m_skinThickness: dFloat;

the application should set here the size of each vertex

Public m_userData: Pointer;

this is the minimum skin separation specified by the material between these two colliding shapes

Public m_objBody: PNewtonBody;

user data passed to the collision geometry at creation time

Public m_polySoupBody: PNewtonBody;

pointer to the colliding body

Public m_objCollision: PNewtonCollision;

pointer to the rigid body owner of this collision tree

Public m_polySoupCollision: PNewtonCollision;

collision shape of the colliding body, (no necessarily the collision of m_objBody)

Public m_vertex: PdFloat;

collision shape of teh collsion tree, (no necessarily the collision of m_polySoupBody)

Public m_faceIndexCount: PInteger;

the application should set here the pointer to the global vertex of the mesh.

Public m_faceVertexIndex: PInteger;

the application should set here the pointer to the vertex count of each face.


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonWorldConvexCastReturnInfo

Packed Record TNewtonWorldConvexCastReturnInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonWorldConvexCastReturnInfo = packed record

Description

Overview

Fields

Public | m_point: array [0..3] of dFloat;
Public | m_normal: array [0..3] of dFloat;
Public | m_contactID: Integer;
Public | m_hitBody: PNewtonBody;
Public | m_penetration: dFloat;

Description

Fields

Public m_point: array [0..3] of dFloat;
Public m_normal: array [0..3] of dFloat;

collision point in global space

Public m_contactID: Integer;

surface normal at collision point in global space m_normalOnHitPoint: array [0..3] of dFloat; // surface normal at the surface of the hit body, is the same as the normal calculated by a ray cast hitting the body at the hit point

Public m_hitBody: PNewtonBody;

collision ID at contact point

Public m_penetration: dFloat;

body hit at contact point


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonUserMeshCollisionRayHitDesc

Packed Record TNewtonUserMeshCollisionRayHitDesc

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonUserMeshCollisionRayHitDesc = packed record

Description

Overview

Fields

Public | m_p0: array [0..3] of dFloat;
Public | m_p1: array [0..3] of dFloat;
Public | m_normalOut: array [0..3] of dFloat;
Public | m_userIdOut: dLong;
Public | m_userData: Pointer;

Description

Fields

Public m_p0: array [0..3] of dFloat;
Public m_p1: array [0..3] of dFloat;

ray origin in collision local space

Public m_normalOut: array [0..3] of dFloat;

ray destination in collision local space

Public m_userIdOut: dLong;

copy here the normal at the ray intersection

Public m_userData: Pointer;

copy here a user defined id for further feedback


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonHingeSliderUpdateDesc

Packed Record TNewtonHingeSliderUpdateDesc

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonHingeSliderUpdateDesc = packed record

Description

Overview

Fields

Public | m_accel: dFloat;
Public | m_minFriction: dFloat;
Public | m_maxFriction: dFloat;
Public | m_timestep: dFloat;

Description

Fields

Public m_accel: dFloat;
Public m_minFriction: dFloat;
Public m_maxFriction: dFloat;
Public m_timestep: dFloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonUserContactPoint

Packed Record TNewtonUserContactPoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonUserContactPoint = packed record

Description

Overview

Fields

Public | m_point: array [0..3] of dFloat;
Public | m_normal: array [0..3] of dFloat;
Public | m_shapeId0: dLong;
Public | m_shapeId1: dLong;
Public | m_penetration: dFloat;
Public | m_unused: array [0..2] of Integer;

Description

Fields

Public m_point: array [0..3] of dFloat;
Public m_normal: array [0..3] of dFloat;
Public m_shapeId0: dLong;
Public m_shapeId1: dLong;
Public m_penetration: dFloat;
Public m_unused: array [0..2] of Integer;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonImmediateModeConstraint

Packed Record TNewtonImmediateModeConstraint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonImmediateModeConstraint = packed record

Description

Overview

Fields

Public | m_jacobian01: array[0..7, 0..5] of dfloat;
Public | m_jacobian10: array[0..7, 0..5] of dfloat;
Public | m_minFriction: array[0..7] of dfloat;
Public | m_maxFriction: array[0..7] of dfloat;
Public | m_jointAccel: array[0..7] of dfloat;
Public | m_jointStiffness: array[0..7] of dfloat;

Description

Fields

Public m_jacobian01: array[0..7, 0..5] of dfloat;
Public m_jacobian10: array[0..7, 0..5] of dfloat;
Public m_minFriction: array[0..7] of dfloat;
Public m_maxFriction: array[0..7] of dfloat;
Public m_jointAccel: array[0..7] of dfloat;
Public m_jointStiffness: array[0..7] of dfloat;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonMeshDoubleData

Packed Record TNewtonMeshDoubleData

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonMeshDoubleData = packed record

Description

data structure for interfacing with NewtonMesh

Overview

Fields

Public | m_data: Pdouble;
Public | m_indexList: PInteger;
Public | m_strideInBytes: Integer;

Description

Fields

Public m_data: Pdouble;
Public m_indexList: PInteger;
Public m_strideInBytes: Integer;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonMeshFloatData

Packed Record TNewtonMeshFloatData

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonMeshFloatData = packed record

Description

Overview

Fields

Public | m_data: PdFloat;
Public | m_indexList: PInteger;
Public | m_strideInBytes: Integer;

Description

Fields

Public m_data: PdFloat;
Public m_indexList: PInteger;
Public m_strideInBytes: Integer;


GLSysHelp v.2.1: Physics.NewtonImport: Packed Record TNewtonMeshVertexFormat

Packed Record TNewtonMeshVertexFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NewtonImport

Declaration

type TNewtonMeshVertexFormat = packed record

Description

Overview

Fields

Public | m_faceCount: Integer;
Public | m_faceIndexCount: PInteger;
Public | m_faceMaterial: PInteger;
Public | m_vertex: TNewtonMeshDoubleData;
Public | m_normal: TNewtonMeshFloatData;
Public | m_binormal: TNewtonMeshFloatData;
Public | m_uv0: TNewtonMeshFloatData;
Public | m_uv1: TNewtonMeshFloatData;
Public | m_vertexColor: TNewtonMeshFloatData;

Description

Fields

Public m_faceCount: Integer;
Public m_faceIndexCount: PInteger;
Public m_faceMaterial: PInteger;
Public m_vertex: TNewtonMeshDoubleData;
Public m_normal: TNewtonMeshFloatData;
Public m_binormal: TNewtonMeshFloatData;
Public m_uv0: TNewtonMeshFloatData;
Public m_uv1: TNewtonMeshFloatData;
Public m_vertexColor: TNewtonMeshFloatData;


GLSysHelp v.2.1: Physics.NGDManager

Unit Physics.NGDManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • System.Math
  • System.Types
  • Physics.NGDImport
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.VectorLists
  • GLS.XCollection
  • GLS.GeometryBB
  • GLS.BaseClasses
  • GLS.PersistentClasses
  • GLS.Scene
  • GLS.Manager
  • GLS.Coordinates
  • GLS.Objects
  • GLS.GeomObjects
  • GLS.VectorFileObjects
  • GLS.Color

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TGLNGDHeightField |
Class TGLNGDBehaviourList |
Class TGLNGDDebugOption |
Class TGLNGDManager |
Class TGLNGDBehaviour |
Class TGLNGDDynamic |
Class TGLNGDStatic |
Class TGLNGDSurfaceItem |
Class TGLNGDSurfacePair |
Class TGLNGDJointPivot |
Class TGLNGDJointPin |
Class TGLNGDJointPin2 |
Class TGLNGDJointBallAndSocket |
Class TGLNGDJointHinge |
Class TGLNGDJointSlider |
Class TGLNGDJointKinematicController |
Class TGLNGDJoint |

Functions and Procedures

function GetNGDStatic(Obj: TGLBaseSceneObject): TGLNGDStatic;
function GetOrCreateNGDStatic(Obj: TGLBaseSceneObject): TGLNGDStatic;
function GetNGDDynamic(Obj: TGLBaseSceneObject): TGLNGDDynamic;
function GetOrCreateNGDDynamic(Obj: TGLBaseSceneObject): TGLNGDDynamic;
function GetBodyFromGLSceneObject(Obj: TGLBaseSceneObject): PNewtonBody;

Types

NGDFloat = Physics.NGDImport.dFloat;
PNGDFloat = ˆNGDFloat;
TAABBOverlapEvent = function(const cmaterial: PNewtonMaterial; const cbody0: PNewtonBody; const cbody1: PNewtonBody; threadIndex: Integer) : Boolean of object;
TApplyForceAndTorqueEvent = procedure(const cbody: PNewtonBody; timestep: NGDFloat; threadIndex: Integer) of object;
TCollisionIteratorEvent = procedure(const userData: Pointer; vertexCount: Integer; const cfaceArray: PNGDFloat; faceId: Integer) of object;
TContactProcessEvent = procedure(const ccontact: PNewtonJoint; timestep: NGDFloat; threadIndex: Integer) of object;
TDeSerializeEvent = procedure(serializeHandle: Pointer; buffer: Pointer; size: Cardinal) of object;
TGLNGDCollisions = (...);
TGLNGDFrictionModels = (...);
TGLNGDJoints = (...);
TGLNGDManagerDebug = (...);
TGLNGDManagerDebugs = set of TGLNGDManagerDebug;
TGLNGDPickedActions = (...);
TGLNGDSolverModels = (...);
TSerializeEvent = procedure(serializeHandle: Pointer; const cbuffer: Pointer; size: Cardinal) of object;
TSetTransformEvent = procedure(const cbody: PNewtonBody; const cmatrix: PNGDFloat; threadIndex: Integer) of object;

Description

Functions and Procedures

function GetNGDStatic(Obj: TGLBaseSceneObject): TGLNGDStatic;
function GetOrCreateNGDStatic(Obj: TGLBaseSceneObject): TGLNGDStatic;
function GetNGDDynamic(Obj: TGLBaseSceneObject): TGLNGDDynamic;
function GetOrCreateNGDDynamic(Obj: TGLBaseSceneObject): TGLNGDDynamic;
function GetBodyFromGLSceneObject(Obj: TGLBaseSceneObject): PNewtonBody;

Types

NGDFloat = Physics.NGDImport.dFloat;

TComponent TList TWriter TReader TPersistent System utilities Samevalue isZero to compare single Imports.NGD_Joints, Import.Newton, // new version PGLVector TGLVector TGLMatrix PGLMatrix NullHmgVector... TAffineVectorList for Tree TXCollection file function For show debug cube cone freeform...

PNGDFloat = ˆNGDFloat;
TAABBOverlapEvent = function(const cmaterial: PNewtonMaterial; const cbody0: PNewtonBody; const cbody1: PNewtonBody; threadIndex: Integer) : Boolean of object;
TApplyForceAndTorqueEvent = procedure(const cbody: PNewtonBody; timestep: NGDFloat; threadIndex: Integer) of object;
TCollisionIteratorEvent = procedure(const userData: Pointer; vertexCount: Integer; const cfaceArray: PNGDFloat; faceId: Integer) of object;

Events for Newton Callback

TContactProcessEvent = procedure(const ccontact: PNewtonJoint; timestep: NGDFloat; threadIndex: Integer) of object;
TDeSerializeEvent = procedure(serializeHandle: Pointer; buffer: Pointer; size: Cardinal) of object;
TGLNGDCollisions = (...);
Values
  • nc_Primitive = 0
  • nc_Convex
  • nc_BBox
  • nc_BSphere
  • nc_Tree
  • nc_Mesh
  • nc_Null
  • nc_HeightField
  • nc_NGDFile
TGLNGDFrictionModels = (...);
Values
  • fmExact = 0
  • fmAdaptive
TGLNGDJoints = (...);
Values
  • nj_BallAndSocket
  • nj_Hinge
  • nj_Slider
  • nj_Corkscrew
  • nj_Universal
  • nj_CustomBallAndSocket
  • nj_CustomHinge
  • nj_CustomSlider
  • nj_UpVector
  • nj_KinematicController
TGLNGDManagerDebug = (...);
Values
  • mdShowGeometry
  • mdShowAABB
  • mdShowCenterOfMass
  • mdShowContact
  • mdShowJoint
  • mdShowForce
  • mdShowAppliedForce
  • mdShowAppliedVelocity
TGLNGDManagerDebugs = set of TGLNGDManagerDebug;
TGLNGDPickedActions = (...);
Values
  • paAttach = 0
  • paMove
  • paDetach
TGLNGDSolverModels = (...);
Values
  • smExact = 0
  • smLinear1
  • smLinear2
  • smLinear3
  • smLinear4
  • smLinear5
  • smLinear6
  • smLinear7
  • smLinear8
  • smLinear9
TSerializeEvent = procedure(serializeHandle: Pointer; const cbuffer: Pointer; size: Cardinal) of object;
TSetTransformEvent = procedure(const cbody: PNewtonBody; const cmatrix: PNGDFloat; threadIndex: Integer) of object;


GLSysHelp v.2.1: Physics.NGDManager: Record TGLNGDHeightField

Record TGLNGDHeightField

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDHeightField = record

Description

Overview

Fields

Public | heightArray: array of Word;
Public | width: Integer;
Public | depth: Integer;
Public | gridDiagonals: Boolean;
Public | widthDepthScale: Single;
Public | heightScale: Single;

Description

Fields

Public heightArray: array of Word;
Public width: Integer;
Public depth: Integer;
Public gridDiagonals: Boolean;
Public widthDepthScale: Single;
Public heightScale: Single;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDBehaviourList

Class TGLNGDBehaviourList

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDBehaviourList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGLNGDBehaviourList

Overview

Methods

Protected | function GetBehav(index: Integer): TGLNGDBehaviour;
Protected | procedure PutBehav(index: Integer; Item: TGLNGDBehaviour);

Properties

Public property ItemsBehav[index:Integer]: TGLNGDBehaviour read GetBehav write PutBehav;

Description

Methods

Protected function GetBehav(index: Integer): TGLNGDBehaviour;
Protected procedure PutBehav(index: Integer; Item: TGLNGDBehaviour);

Properties

Public property ItemsBehav[index:Integer]: TGLNGDBehaviour read GetBehav write PutBehav;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDDebugOption

Class TGLNGDDebugOption

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDDebugOption = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDDebugOption

Overview

Fields

Strict Private | FManager: TGLNGDManager;
Strict Private | FGeomColorDyn: TGLColor;
Strict Private | FGeomColorStat: TGLColor;
Strict Private | FAABBColor: TGLColor;
Strict Private | FAABBColorSleep: TGLColor;
Strict Private | FCenterOfMassColor: TGLColor;
Strict Private | FContactColor: TGLColor;
Strict Private | FJointAxisColor: TGLColor;
Strict Private | FJointPivotColor: TGLColor;
Strict Private | FForceColor: TGLColor;
Strict Private | FAppliedForceColor: TGLColor;
Strict Private | FAppliedVelocityColor: TGLColor;
Strict Private | FCustomColor: TGLColor;
Strict Private | FDotAxisSize: Single;
Strict Private | FNGDManagerDebugs: TGLNGDManagerDebugs;

Methods

Public | constructor Create(AOwner: TComponent);
Public | destructor Destroy; override;
Strict Private | function StoredDotAxis: Boolean;
Strict Private | procedure SetDotAxisSize(const Value: Single);
Strict Private | procedure SetNGDManagerDebugs(const Value: TGLNGDManagerDebugs);

Properties

Published | property AABBColor: TGLColor read FAABBColor write FAABBColor;
Published | property AABBColorSleep: TGLColor read FAABBColorSleep write FAABBColorSleep;
Published | property AppliedForceColor: TGLColor read FAppliedForceColor write FAppliedForceColor;
Published | property AppliedVelocityColor: TGLColor read FAppliedVelocityColor write FAppliedVelocityColor;
Published | property CenterOfMassColor: TGLColor read FCenterOfMassColor write FCenterOfMassColor;
Published | property ContactColor: TGLColor read FContactColor write FContactColor;
Published | property CustomColor: TGLColor read FCustomColor write FCustomColor;
Published | property DotAxisSize: Single read FDotAxisSize write SetDotAxisSize stored StoredDotAxis;
Published | property ForceColor: TGLColor read FForceColor write FForceColor;
Published | property GeomColorDyn: TGLColor read FGeomColorDyn write FGeomColorDyn;
Published | property GeomColorStat: TGLColor read FGeomColorStat write FGeomColorStat;
Published | property JointAxisColor: TGLColor read FJointAxisColor write FJointAxisColor;
Published | property JointPivotColor: TGLColor read FJointPivotColor write FJointPivotColor;
Published | property NGDManagerDebugs: TGLNGDManagerDebugs read FNGDManagerDebugs write SetNGDManagerDebugs default [];

Description

Fields

Strict Private FManager: TGLNGDManager;
Strict Private FGeomColorDyn: TGLColor;
Strict Private FGeomColorStat: TGLColor;

Green

Strict Private FAABBColor: TGLColor;

Red

Strict Private FAABBColorSleep: TGLColor;

Yellow

Strict Private FCenterOfMassColor: TGLColor;

Orange

Strict Private FContactColor: TGLColor;

Purple dot

Strict Private FJointAxisColor: TGLColor;

White

Strict Private FJointPivotColor: TGLColor;

Blue

Strict Private FForceColor: TGLColor;

Aquamarine

Strict Private FAppliedForceColor: TGLColor;

Black

Strict Private FAppliedVelocityColor: TGLColor;

Silver

Strict Private FCustomColor: TGLColor;

Lime

Strict Private FDotAxisSize: Single;

Aqua

Strict Private FNGDManagerDebugs: TGLNGDManagerDebugs;

1

Methods

Public constructor Create(AOwner: TComponent);
Public destructor Destroy; override;
Strict Private function StoredDotAxis: Boolean;
Strict Private procedure SetDotAxisSize(const Value: Single);
Strict Private procedure SetNGDManagerDebugs(const Value: TGLNGDManagerDebugs);

Default All false

Properties

Published property AABBColor: TGLColor read FAABBColor write FAABBColor;
Published property AABBColorSleep: TGLColor read FAABBColorSleep write FAABBColorSleep;
Published property AppliedForceColor: TGLColor read FAppliedForceColor write FAppliedForceColor;
Published property AppliedVelocityColor: TGLColor read FAppliedVelocityColor write FAppliedVelocityColor;
Published property CenterOfMassColor: TGLColor read FCenterOfMassColor write FCenterOfMassColor;
Published property ContactColor: TGLColor read FContactColor write FContactColor;
Published property CustomColor: TGLColor read FCustomColor write FCustomColor;
Published property DotAxisSize: Single read FDotAxisSize write SetDotAxisSize stored StoredDotAxis;
Published property ForceColor: TGLColor read FForceColor write FForceColor;
Published property GeomColorDyn: TGLColor read FGeomColorDyn write FGeomColorDyn;
Published property GeomColorStat: TGLColor read FGeomColorStat write FGeomColorStat;
Published property JointAxisColor: TGLColor read FJointAxisColor write FJointAxisColor;
Published property JointPivotColor: TGLColor read FJointPivotColor write FJointPivotColor;
Published property NGDManagerDebugs: TGLNGDManagerDebugs read FNGDManagerDebugs write SetNGDManagerDebugs default [];


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDManager

Class TGLNGDManager

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDManager = class(TComponent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLNGDManager

Overview

Fields

Strict Private | FVisible: Boolean;
Strict Private | FVisibleAtRunTime: Boolean;
Strict Private | FDllVersion: Integer;
Strict Private | FSolverModel: TGLNGDSolverModels;
Strict Private | FFrictionModel: TGLNGDFrictionModels;
Strict Private | FMinimumFrameRate: Integer;
Strict Private | FWorldSizeMin: TGLCoordinates;
Strict Private | FWorldSizeMax: TGLCoordinates;
Strict Private | FThreadCount: Integer;
Strict Private | FGravity: TGLCoordinates;
Strict Private | FNewtonSurfaceItem: TCollection;
Strict Private | FNewtonSurfacePair: TOwnedCollection;
Strict Private | FNewtonJointGroup: TOwnedCollection;
Strict Private | FNGDDebugOption: TGLNGDDebugOption;
Strict Private | FGLLines: TGLLines;
Private | FNewtonWorld: PNewtonWorld;
Private | FNGDBehaviours: TGLNGDBehaviourList;
Private | FCurrentColor: TGLColor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetBodyCount: Integer;
Protected | function GetConstraintCount: Integer;
Public | procedure Step(deltatime: Single);
Protected | procedure AddNode(const coords: TGLCustomCoordinates); overload;
Protected | procedure AddNode(const Value: TAffineVector); overload;
Protected | procedure AddNode(const Value: TGLVector); overload;
Protected | procedure AddNode(const X, Y, Z: Single); overload;
Protected | procedure Loaded; override;
Protected | procedure NotifyChange(Sender: TObject);
Protected | procedure NotifyWorldSizeChange(Sender: TObject);
Protected | procedure RebuildAllJoint(Sender: TObject);
Protected | procedure RebuildAllMaterial;
Protected | procedure SetFrictionModel(const Value: TGLNGDFrictionModels);
Protected | procedure SetGLLines(const Value: TGLLines);
Protected | procedure SetMinimumFrameRate(const Value: Integer);
Protected | procedure SetSolverModel(const Value: TGLNGDSolverModels);
Protected | procedure SetThreadCount(const Value: Integer);
Protected | procedure SetVisible(const Value: Boolean);
Protected | procedure SetVisibleAtRunTime(const Value: Boolean);

Properties

Published | property DebugOption: TGLNGDDebugOption read FNGDDebugOption write FNGDDebugOption;
Published | property DllVersion: Integer read FDllVersion;
Published | property FrictionModel: TGLNGDFrictionModels read FFrictionModel write SetFrictionModel default fmExact;
Published | property Gravity: TGLCoordinates read FGravity write FGravity;
Published | property Line: TGLLines read FGLLines write SetGLLines;
Published | property MinimumFrameRate: Integer read FMinimumFrameRate write SetMinimumFrameRate default 60;
Published | property NewtonBodyCount: Integer read GetBodyCount;
Published | property NewtonConstraintCount: Integer read GetConstraintCount;
Published | property NewtonJoint: TOwnedCollection read FNewtonJointGroup write FNewtonJointGroup;
Published | property NewtonSurfaceItem: TCollection read FNewtonSurfaceItem write FNewtonSurfaceItem;
Published | property NewtonSurfacePair: TOwnedCollection read FNewtonSurfacePair write FNewtonSurfacePair;
Published | property SolverModel: TGLNGDSolverModels read FSolverModel write SetSolverModel default smExact;
Published | property ThreadCount: Integer read FThreadCount write SetThreadCount default 1;
Published | property Visible: Boolean read FVisible write SetVisible default True;
Published | property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime default False;
Published | property WorldSizeMax: TGLCoordinates read FWorldSizeMax write FWorldSizeMax;
Published | property WorldSizeMin: TGLCoordinates read FWorldSizeMin write FWorldSizeMin;

Description

Fields

Strict Private FVisible: Boolean;
Strict Private FVisibleAtRunTime: Boolean;

Show Debug at design time

Strict Private FDllVersion: Integer;

Show Debug at run time

Strict Private FSolverModel: TGLNGDSolverModels;
Strict Private FFrictionModel: TGLNGDFrictionModels;

Default=Exact

Strict Private FMinimumFrameRate: Integer;

Default=Exact

Strict Private FWorldSizeMin: TGLCoordinates;

Default=60

Strict Private FWorldSizeMax: TGLCoordinates;

Default=-100, -100, -100

Strict Private FThreadCount: Integer;

Default=100, 100, 100

Strict Private FGravity: TGLCoordinates;

Default=1

Strict Private FNewtonSurfaceItem: TCollection;

Default=(0,-9.81,0)

Strict Private FNewtonSurfacePair: TOwnedCollection;
Strict Private FNewtonJointGroup: TOwnedCollection;
Strict Private FNGDDebugOption: TGLNGDDebugOption;
Strict Private FGLLines: TGLLines;
Private FNewtonWorld: PNewtonWorld;
Private FNGDBehaviours: TGLNGDBehaviourList;
Private FCurrentColor: TGLColor;

Methods

Public constructor Create(AOwner: TComponent); override;

Debug view

Public destructor Destroy; override;
Protected function GetBodyCount: Integer;
Protected function GetConstraintCount: Integer;
Public procedure Step(deltatime: Single);
Protected procedure AddNode(const coords: TGLCustomCoordinates); overload;
Protected procedure AddNode(const Value: TAffineVector); overload;
Protected procedure AddNode(const Value: TGLVector); overload;
Protected procedure AddNode(const X, Y, Z: Single); overload;
Protected procedure Loaded; override;
Protected procedure NotifyChange(Sender: TObject);
Protected procedure NotifyWorldSizeChange(Sender: TObject);

Events

Protected procedure RebuildAllJoint(Sender: TObject);
Protected procedure RebuildAllMaterial;
Protected procedure SetFrictionModel(const Value: TGLNGDFrictionModels);
Protected procedure SetGLLines(const Value: TGLLines);
Protected procedure SetMinimumFrameRate(const Value: Integer);
Protected procedure SetSolverModel(const Value: TGLNGDSolverModels);
Protected procedure SetThreadCount(const Value: Integer);
Protected procedure SetVisible(const Value: Boolean);
Protected procedure SetVisibleAtRunTime(const Value: Boolean);

Properties

Published property DebugOption: TGLNGDDebugOption read FNGDDebugOption write FNGDDebugOption;
Published property DllVersion: Integer read FDllVersion;
Published property FrictionModel: TGLNGDFrictionModels read FFrictionModel write SetFrictionModel default fmExact;
Published property Gravity: TGLCoordinates read FGravity write FGravity;
Published property Line: TGLLines read FGLLines write SetGLLines;
Published property MinimumFrameRate: Integer read FMinimumFrameRate write SetMinimumFrameRate default 60;
Published property NewtonBodyCount: Integer read GetBodyCount;
Published property NewtonConstraintCount: Integer read GetConstraintCount;
Published property NewtonJoint: TOwnedCollection read FNewtonJointGroup write FNewtonJointGroup;
Published property NewtonSurfaceItem: TCollection read FNewtonSurfaceItem write FNewtonSurfaceItem;
Published property NewtonSurfacePair: TOwnedCollection read FNewtonSurfacePair write FNewtonSurfacePair;
Published property SolverModel: TGLNGDSolverModels read FSolverModel write SetSolverModel default smExact;
Published property ThreadCount: Integer read FThreadCount write SetThreadCount default 1;
Published property Visible: Boolean read FVisible write SetVisible default True;
Published property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime default False;
Published property WorldSizeMax: TGLCoordinates read FWorldSizeMax write FWorldSizeMax;
Published property WorldSizeMin: TGLCoordinates read FWorldSizeMin write FWorldSizeMin;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDBehaviour

Class TGLNGDBehaviour

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDBehaviour = class(TGLBehaviour)

Description

Basis structures for Behaviour style implementations.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLNGDBehaviour

Overview

Fields

Private | FManager: TGLNGDManager;
Private | FManagerName: string;
Private | FInitialized: Boolean;
Private | FNewtonBody: PNewtonBody;
Private | FCollision: PNewtonCollision;
Private | FNewtonBodyMatrix: TGLMatrix;
Private | FContinuousCollisionMode: Boolean;
Private | FNGDCollisions: TGLNGDCollisions;
Private | FCollisionIteratorEvent: TCollisionIteratorEvent;
Private | FOwnerBaseSceneObject: TGLBaseSceneObject;
Private | FTreeCollisionOptimize: Boolean;
Private | FConvexCollisionTolerance: Single;
Private | FFileCollision: string;
Private | FNGDSurfaceItem: TGLNGDSurfaceItem;
Private | FHeightFieldOptions: TGLNGDHeightField;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function UniqueItem: Boolean; override;
Protected | function GetBBoxCollision(): PNewtonCollision;
Protected | function GetBSphereCollision(): PNewtonCollision;
Protected | function GetConvexCollision(): PNewtonCollision;
Protected | function GetHeightFieldCollision(): PNewtonCollision;
Protected | function GetMeshCollision(): PNewtonCollision;
Protected | function GetNewtonBodyAABB: TAABB;
Protected | function GetNewtonBodyMatrix: TGLMatrix;
Protected | function GetNGDFileCollision(): PNewtonCollision;
Protected | function GetNullCollision(): PNewtonCollision;
Protected | function GetPrimitiveCollision(): PNewtonCollision;
Protected | function GetTreeCollision(): PNewtonCollision;
Protected | function StoredTolerance: Boolean;
Public | procedure DeSerialize(filename: string);
Public | procedure Reinitialize;
Public | procedure Serialize(filename: string);
Protected | procedure Finalize; virtual;
Protected | procedure Initialize; virtual;
Protected | procedure Loaded; override;
Protected | class procedure NewtonCollisionIterator(const userData: Pointer; vertexCount: Integer; const faceArray: PNGDFloat; faceId: Integer); static; cdecl;
Protected | class procedure NewtonDeserialize(serializeHandle: Pointer; buffer: Pointer; size: Cardinal); static; cdecl;
Protected | class procedure NewtonSerialize(serializeHandle: Pointer; const buffer: Pointer; size: Cardinal); static; cdecl;
Protected | procedure OnCollisionIteratorEvent(const userData: Pointer; vertexCount: Integer; const cfaceArray: PNGDFloat; faceId: Integer);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure Render; virtual;
Protected | procedure SetContinuousCollisionMode(const Value: Boolean);
Protected | procedure SetHeightFieldOptions(const Value: TGLNGDHeightField);
Protected | procedure SetManager(Value: TGLNGDManager);
Protected | procedure SetNewtonBodyMatrix(const Value: TGLMatrix);
Protected | procedure SetNGDNewtonCollisions(const Value: TGLNGDCollisions);
Protected | procedure SetNGDSurfaceItem(const Value: TGLNGDSurfaceItem);
Protected | procedure UpdCollision; virtual;
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property ContinuousCollisionMode: Boolean read FContinuousCollisionMode write SetContinuousCollisionMode default False;
Published | property ConvexCollisionTolerance: Single read FConvexCollisionTolerance write FConvexCollisionTolerance stored StoredTolerance;
Published | property FileCollision: string read FFileCollision write FFileCollision;
Public | property HeightFieldOptions: TGLNGDHeightField read FHeightFieldOptions write SetHeightFieldOptions;
Public | property Initialized: Boolean read FInitialized;
Published | property Manager: TGLNGDManager read FManager write SetManager;
Public | property NewtonBodyAABB: TAABB read GetNewtonBodyAABB;
Public | property NewtonBodyMatrix: TGLMatrix read GetNewtonBodyMatrix write SetNewtonBodyMatrix;
Published | property NGDNewtonCollisions: TGLNGDCollisions read FNGDCollisions write SetNGDNewtonCollisions default nc_Primitive;
Published | property NGDSurfaceItem: TGLNGDSurfaceItem read FNGDSurfaceItem write SetNGDSurfaceItem;
Published | property TreeCollisionOptimize: Boolean read FTreeCollisionOptimize write FTreeCollisionOptimize default True;

Description

Fields

Private FManager: TGLNGDManager;
Private FManagerName: string;
Private FInitialized: Boolean;
Private FNewtonBody: PNewtonBody;
Private FCollision: PNewtonCollision;
Private FNewtonBodyMatrix: TGLMatrix;
Private FContinuousCollisionMode: Boolean;

Position and Orientation

Private FNGDCollisions: TGLNGDCollisions;

Default=False

Private FCollisionIteratorEvent: TCollisionIteratorEvent;
Private FOwnerBaseSceneObject: TGLBaseSceneObject;
Private FTreeCollisionOptimize: Boolean;

FNullCollisionMass: Single; // Default=0

Private FConvexCollisionTolerance: Single;

Default=True

Private FFileCollision: string;

Default=0.01 1%

Private FNGDSurfaceItem: TGLNGDSurfaceItem;
Private FHeightFieldOptions: TGLNGDHeightField;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function UniqueItem: Boolean; override;
Protected function GetBBoxCollision(): PNewtonCollision;
Protected function GetBSphereCollision(): PNewtonCollision;
Protected function GetConvexCollision(): PNewtonCollision;
Protected function GetHeightFieldCollision(): PNewtonCollision;
Protected function GetMeshCollision(): PNewtonCollision;
Protected function GetNewtonBodyAABB: TAABB;
Protected function GetNewtonBodyMatrix: TGLMatrix;
Protected function GetNGDFileCollision(): PNewtonCollision;
Protected function GetNullCollision(): PNewtonCollision;
Protected function GetPrimitiveCollision(): PNewtonCollision;
Protected function GetTreeCollision(): PNewtonCollision;
Protected function StoredTolerance: Boolean;
Public procedure DeSerialize(filename: string);
Public procedure Reinitialize;
Public procedure Serialize(filename: string);
Protected procedure Finalize; virtual;
Protected procedure Initialize; virtual;
Protected procedure Loaded; override;
Protected class procedure NewtonCollisionIterator(const userData: Pointer; vertexCount: Integer; const faceArray: PNGDFloat; faceId: Integer); static; cdecl;

CallBack

Protected class procedure NewtonDeserialize(serializeHandle: Pointer; buffer: Pointer; size: Cardinal); static; cdecl;
Protected class procedure NewtonSerialize(serializeHandle: Pointer; const buffer: Pointer; size: Cardinal); static; cdecl;
Protected procedure OnCollisionIteratorEvent(const userData: Pointer; vertexCount: Integer; const cfaceArray: PNGDFloat; faceId: Integer);

Event

Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure Render; virtual;
Protected procedure SetContinuousCollisionMode(const Value: Boolean);
Protected procedure SetHeightFieldOptions(const Value: TGLNGDHeightField);
Protected procedure SetManager(Value: TGLNGDManager);
Protected procedure SetNewtonBodyMatrix(const Value: TGLMatrix);
Protected procedure SetNGDNewtonCollisions(const Value: TGLNGDCollisions);
Protected procedure SetNGDSurfaceItem(const Value: TGLNGDSurfaceItem);
Protected procedure UpdCollision; virtual;
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property ContinuousCollisionMode: Boolean read FContinuousCollisionMode write SetContinuousCollisionMode default False;
Published property ConvexCollisionTolerance: Single read FConvexCollisionTolerance write FConvexCollisionTolerance stored StoredTolerance;
Published property FileCollision: string read FFileCollision write FFileCollision;
Public property HeightFieldOptions: TGLNGDHeightField read FHeightFieldOptions write SetHeightFieldOptions;
Public property Initialized: Boolean read FInitialized;
Published property Manager: TGLNGDManager read FManager write SetManager;
Public property NewtonBodyAABB: TAABB read GetNewtonBodyAABB;
Public property NewtonBodyMatrix: TGLMatrix read GetNewtonBodyMatrix write SetNewtonBodyMatrix;
Published property NGDNewtonCollisions: TGLNGDCollisions read FNGDCollisions write SetNGDNewtonCollisions default nc_Primitive;
Published property NGDSurfaceItem: TGLNGDSurfaceItem read FNGDSurfaceItem write SetNGDSurfaceItem;
Published property TreeCollisionOptimize: Boolean read FTreeCollisionOptimize write FTreeCollisionOptimize default True;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDDynamic

Class TGLNGDDynamic

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDDynamic = class(TGLNGDBehaviour)

Description

No description available, ancestor TGLNGDBehaviour description follows

Basis structures for Behaviour style implementations.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLNGDBehaviour
  • TGLNGDDynamic

Overview

Fields

Strict Private | FAABBmin: TGLCoordinates;
Strict Private | FAABBmax: TGLCoordinates;
Strict Private | FForce: TGLCoordinates;
Strict Private | FTorque: TGLCoordinates;
Strict Private | FCenterOfMass: TGLCoordinates;
Strict Private | FAutoSleep: Boolean;
Strict Private | FLinearDamping: Single;
Strict Private | FAngularDamping: TGLCoordinates;
Strict Private | FDensity: Single;
Strict Private | FUseGravity: Boolean;
Strict Private | FNullCollisionVolume: Single;
Strict Private | FApplyForceAndTorqueEvent: TApplyForceAndTorqueEvent;
Strict Private | FSetTransformEvent: TSetTransformEvent;
Strict Private | FCustomForceAndTorqueEvent: TApplyForceAndTorqueEvent;
Strict Private | FVolume: Single;
Strict Private | FMass: Single;
Strict Private | FAppliedForce: TGLCoordinates;
Strict Private | FAppliedTorque: TGLCoordinates;
Strict Private | FAppliedOmega: TGLCoordinates;
Strict Private | FAppliedVelocity: TGLCoordinates;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyName: string; override;
Public | function GetOmega: TGLVector;
Public | function GetVelocity: TGLVector;
Strict Private | function StoredDensity: Boolean;
Strict Private | function StoredLinearDamping: Boolean;
Strict Private | function StoredNullCollisionVolume: Boolean;
Public | procedure AddImpulse(const veloc, pointposit: TGLVector);
Public | procedure SetOmega(const Omega: TGLVector);
Public | procedure SetVelocity(const Velocity: TGLVector);
Protected | procedure Finalize; override;
Protected | procedure Initialize; override;
Protected | procedure Loaded; override;
Protected | class procedure NewtonApplyForceAndTorque(const body: PNewtonBody; timestep: NGDFloat; threadIndex: Integer); static; cdecl;
Protected | class procedure NewtonSetTransform(const body: PNewtonBody; const matrix: PNGDFloat; threadIndex: Integer); static; cdecl;
Protected | procedure NotifyAngularDampingChange(Sender: TObject);
Protected | procedure NotifyCenterOfMassChange(Sender: TObject);
Protected | procedure OnApplyForceAndTorqueEvent(const cbody: PNewtonBody; timestep: NGDFloat; threadIndex: Integer);
Protected | procedure OnSetTransformEvent(const cbody: PNewtonBody; const cmatrix: PNGDFloat; threadIndex: Integer);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure Render; override;
Protected | procedure SetAutoSleep(const Value: Boolean);
Protected | procedure SetDensity(const Value: Single); virtual;
Protected | procedure SetLinearDamping(const Value: Single);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property AngularDamping: TGLCoordinates read FAngularDamping write FAngularDamping;
Published | property AppliedForce: TGLCoordinates read FAppliedForce;
Published | property AppliedOmega: TGLCoordinates read FAppliedOmega;
Published | property AppliedTorque: TGLCoordinates read FAppliedTorque;
Published | property AppliedVelocity: TGLCoordinates read FAppliedVelocity;
Published | property AutoSleep: Boolean read FAutoSleep write SetAutoSleep default True;
Published | property CenterOfMass: TGLCoordinates read FCenterOfMass write FCenterOfMass;
Public | property CustomForceAndTorqueEvent: TApplyForceAndTorqueEvent read FCustomForceAndTorqueEvent write FCustomForceAndTorqueEvent;
Published | property Density: Single read FDensity write SetDensity stored StoredDensity;
Published | property Force: TGLCoordinates read FForce write FForce;
Published | property LinearDamping: Single read FLinearDamping write SetLinearDamping stored StoredLinearDamping;
Published | property Mass: Single read FMass;
Published | property NullCollisionVolume: Single read FNullCollisionVolume write FNullCollisionVolume stored StoredNullCollisionVolume;
Public | property Omega: TGLVector read GetOmega write SetOmega;
Published | property Torque: TGLCoordinates read FTorque write FTorque;
Published | property UseGravity: Boolean read FUseGravity write FUseGravity default True;
Public | property Velocity: TGLVector read GetVelocity write SetVelocity;
Published | property Volume: Single read FVolume;

Description

Fields

Strict Private FAABBmin: TGLCoordinates;
Strict Private FAABBmax: TGLCoordinates;
Strict Private FForce: TGLCoordinates;
Strict Private FTorque: TGLCoordinates;
Strict Private FCenterOfMass: TGLCoordinates;
Strict Private FAutoSleep: Boolean;
Strict Private FLinearDamping: Single;

Default=True

Strict Private FAngularDamping: TGLCoordinates;

default=0.1

Strict Private FDensity: Single;

Default=0.1

Strict Private FUseGravity: Boolean;

Default=1

Strict Private FNullCollisionVolume: Single;

Default=True

Strict Private FApplyForceAndTorqueEvent: TApplyForceAndTorqueEvent;

Default=0

Strict Private FSetTransformEvent: TSetTransformEvent;
Strict Private FCustomForceAndTorqueEvent: TApplyForceAndTorqueEvent;
Strict Private FVolume: Single;

Read Only

Strict Private FMass: Single;
Strict Private FAppliedForce: TGLCoordinates;
Strict Private FAppliedTorque: TGLCoordinates;
Strict Private FAppliedOmega: TGLCoordinates;
Strict Private FAppliedVelocity: TGLCoordinates;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyName: string; override;
Public function GetOmega: TGLVector;
Public function GetVelocity: TGLVector;
Strict Private function StoredDensity: Boolean;
Strict Private function StoredLinearDamping: Boolean;
Strict Private function StoredNullCollisionVolume: Boolean;
Public procedure AddImpulse(const veloc, pointposit: TGLVector);
Public procedure SetOmega(const Omega: TGLVector);
Public procedure SetVelocity(const Velocity: TGLVector);
Protected procedure Finalize; override;
Protected procedure Initialize; override;
Protected procedure Loaded; override;
Protected class procedure NewtonApplyForceAndTorque(const body: PNewtonBody; timestep: NGDFloat; threadIndex: Integer); static; cdecl;

Callback

Protected class procedure NewtonSetTransform(const body: PNewtonBody; const matrix: PNGDFloat; threadIndex: Integer); static; cdecl;
Protected procedure NotifyAngularDampingChange(Sender: TObject);
Protected procedure NotifyCenterOfMassChange(Sender: TObject);

Events

Protected procedure OnApplyForceAndTorqueEvent(const cbody: PNewtonBody; timestep: NGDFloat; threadIndex: Integer);
Protected procedure OnSetTransformEvent(const cbody: PNewtonBody; const cmatrix: PNGDFloat; threadIndex: Integer);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure Render; override;
Protected procedure SetAutoSleep(const Value: Boolean);
Protected procedure SetDensity(const Value: Single); virtual;
Protected procedure SetLinearDamping(const Value: Single);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property AngularDamping: TGLCoordinates read FAngularDamping write FAngularDamping;
Published property AppliedForce: TGLCoordinates read FAppliedForce;
Published property AppliedOmega: TGLCoordinates read FAppliedOmega;

Read Only

Published property AppliedTorque: TGLCoordinates read FAppliedTorque;
Published property AppliedVelocity: TGLCoordinates read FAppliedVelocity;
Published property AutoSleep: Boolean read FAutoSleep write SetAutoSleep default True;
Published property CenterOfMass: TGLCoordinates read FCenterOfMass write FCenterOfMass;
Public property CustomForceAndTorqueEvent: TApplyForceAndTorqueEvent read FCustomForceAndTorqueEvent write FCustomForceAndTorqueEvent;
Published property Density: Single read FDensity write SetDensity stored StoredDensity;
Published property Force: TGLCoordinates read FForce write FForce;
Published property LinearDamping: Single read FLinearDamping write SetLinearDamping stored StoredLinearDamping;
Published property Mass: Single read FMass;
Published property NullCollisionVolume: Single read FNullCollisionVolume write FNullCollisionVolume stored StoredNullCollisionVolume;
Public property Omega: TGLVector read GetOmega write SetOmega;
Published property Torque: TGLCoordinates read FTorque write FTorque;
Published property UseGravity: Boolean read FUseGravity write FUseGravity default True;
Public property Velocity: TGLVector read GetVelocity write SetVelocity;
Published property Volume: Single read FVolume;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDStatic

Class TGLNGDStatic

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDStatic = class(TGLNGDBehaviour)

Description

No description available, ancestor TGLNGDBehaviour description follows

Basis structures for Behaviour style implementations.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLNGDBehaviour
  • TGLNGDStatic

Overview

Methods

Public | class function FriendlyName: string; override;
Protected | procedure Render; override;

Description

Methods

Public class function FriendlyName: string; override;
Protected procedure Render; override;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDSurfaceItem

Class TGLNGDSurfaceItem

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDSurfaceItem = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNGDSurfaceItem

Overview

Fields

Private FDisplayName: string;

Methods

Protected | function GetDisplayName: string; override;
Protected | procedure SetDisplayName(const Value: string); override;

Properties

Published | property DisplayName;
Published | property ID;

Description

Fields

Private FDisplayName: string;

Methods

Protected function GetDisplayName: string; override;
Protected procedure SetDisplayName(const Value: string); override;

Properties

Published property DisplayName;
Published property ID;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDSurfacePair

Class TGLNGDSurfacePair

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDSurfacePair = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNGDSurfacePair

Overview

Fields

Strict Private | FManager: TGLNGDManager;
Strict Private | FNGDSurfaceItem1: TGLNGDSurfaceItem;
Strict Private | FNGDSurfaceItem2: TGLNGDSurfaceItem;
Strict Private | FAABBOverlapEvent: TAABBOverlapEvent;
Strict Private | FContactProcessEvent: TContactProcessEvent;
Strict Private | FSoftness: Single;
Strict Private | FElasticity: Single;
Strict Private | FCollidable: Boolean;
Strict Private | FStaticFriction: Single;
Strict Private | FKineticFriction: Single;
Strict Private | FContinuousCollisionMode: Boolean;
Strict Private | FThickness: Boolean;

Methods

Public | constructor Create(Collection: TCollection); override;
Private | class function NewtonAABBOverlap(const material: PNewtonMaterial; const body0: PNewtonBody; const body1: PNewtonBody; threadIndex: Integer) : Integer; static; cdecl;
Private | function OnNewtonAABBOverlapEvent(const cmaterial: PNewtonMaterial; const cbody0: PNewtonBody; const cbody1: PNewtonBody; threadIndex: Integer): Boolean;
Strict Private | function StoredElasticity: Boolean;
Strict Private | function StoredKineticFriction: Boolean;
Strict Private | function StoredSoftness: Boolean;
Strict Private | function StoredStaticFriction: Boolean;
Public | procedure SetMaterialItems(const item1, item2: TGLNGDSurfaceItem);
Private | class procedure NewtonContactsProcess(const contact: PNewtonJoint; timestep: NGDFloat; threadIndex: Integer); static; cdecl;
Private | procedure OnNewtonContactsProcessEvent(const ccontact: PNewtonJoint; timestep: NGDFloat; threadIndex: Integer);
Strict Private | procedure SetCollidable(const Value: Boolean);
Strict Private | procedure SetContinuousCollisionMode(const Value: Boolean);
Strict Private | procedure SetElasticity(const Value: Single);
Strict Private | procedure SetKineticFriction(const Value: Single);
Strict Private | procedure SetSoftness(const Value: Single);
Strict Private | procedure SetStaticFriction(const Value: Single);
Strict Private | procedure SetThickness(const Value: Boolean);

Properties

Published | property AABBOverlapEvent: TAABBOverlapEvent read FAABBOverlapEvent write FAABBOverlapEvent;
Published | property Collidable: Boolean read FCollidable write SetCollidable default True;
Published | property ContactProcessEvent: TContactProcessEvent read FContactProcessEvent write FContactProcessEvent;
Published | property ContinuousCollisionMode: Boolean read FContinuousCollisionMode write SetContinuousCollisionMode default False;
Published | property Elasticity: Single read FElasticity write SetElasticity stored StoredElasticity;
Published | property KineticFriction: Single read FKineticFriction write SetKineticFriction stored StoredKineticFriction;
Public | property NGDSurfaceItem1: TGLNGDSurfaceItem read FNGDSurfaceItem1;
Public | property NGDSurfaceItem2: TGLNGDSurfaceItem read FNGDSurfaceItem2;
Published | property Softness: Single read FSoftness write SetSoftness stored StoredSoftness;
Published | property StaticFriction: Single read FStaticFriction write SetStaticFriction stored StoredStaticFriction;
Published | property Thickness: Boolean read FThickness write SetThickness default False;

Description

Fields

Strict Private FManager: TGLNGDManager;
Strict Private FNGDSurfaceItem1: TGLNGDSurfaceItem;
Strict Private FNGDSurfaceItem2: TGLNGDSurfaceItem;
Strict Private FAABBOverlapEvent: TAABBOverlapEvent;
Strict Private FContactProcessEvent: TContactProcessEvent;
Strict Private FSoftness: Single;
Strict Private FElasticity: Single;

0.1

Strict Private FCollidable: Boolean;

0.4

Strict Private FStaticFriction: Single;

true

Strict Private FKineticFriction: Single;

0.9

Strict Private FContinuousCollisionMode: Boolean;

0.5

Strict Private FThickness: Boolean;

False

Methods

Public constructor Create(Collection: TCollection); override;
Private class function NewtonAABBOverlap(const material: PNewtonMaterial; const body0: PNewtonBody; const body1: PNewtonBody; threadIndex: Integer) : Integer; static; cdecl;

Callback

Private function OnNewtonAABBOverlapEvent(const cmaterial: PNewtonMaterial; const cbody0: PNewtonBody; const cbody1: PNewtonBody; threadIndex: Integer): Boolean;

Event

Strict Private function StoredElasticity: Boolean;
Strict Private function StoredKineticFriction: Boolean;
Strict Private function StoredSoftness: Boolean;
Strict Private function StoredStaticFriction: Boolean;
Public procedure SetMaterialItems(const item1, item2: TGLNGDSurfaceItem);
Private class procedure NewtonContactsProcess(const contact: PNewtonJoint; timestep: NGDFloat; threadIndex: Integer); static; cdecl;
Private procedure OnNewtonContactsProcessEvent(const ccontact: PNewtonJoint; timestep: NGDFloat; threadIndex: Integer);
Strict Private procedure SetCollidable(const Value: Boolean);

False

Strict Private procedure SetContinuousCollisionMode(const Value: Boolean);
Strict Private procedure SetElasticity(const Value: Single);
Strict Private procedure SetKineticFriction(const Value: Single);
Strict Private procedure SetSoftness(const Value: Single);
Strict Private procedure SetStaticFriction(const Value: Single);
Strict Private procedure SetThickness(const Value: Boolean);

Properties

Published property AABBOverlapEvent: TAABBOverlapEvent read FAABBOverlapEvent write FAABBOverlapEvent;
Published property Collidable: Boolean read FCollidable write SetCollidable default True;
Published property ContactProcessEvent: TContactProcessEvent read FContactProcessEvent write FContactProcessEvent;
Published property ContinuousCollisionMode: Boolean read FContinuousCollisionMode write SetContinuousCollisionMode default False;
Published property Elasticity: Single read FElasticity write SetElasticity stored StoredElasticity;
Published property KineticFriction: Single read FKineticFriction write SetKineticFriction stored StoredKineticFriction;
Public property NGDSurfaceItem1: TGLNGDSurfaceItem read FNGDSurfaceItem1;
Public property NGDSurfaceItem2: TGLNGDSurfaceItem read FNGDSurfaceItem2;
Published property Softness: Single read FSoftness write SetSoftness stored StoredSoftness;
Published property StaticFriction: Single read FStaticFriction write SetStaticFriction stored StoredStaticFriction;
Published property Thickness: Boolean read FThickness write SetThickness default False;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointPivot

Class TGLNGDJointPivot

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointPivot = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointPivot

Overview

Fields

Private | FManager: TGLNGDManager;
Private | FPivotPoint: TGLCoordinates;
Private | FOuter: TGLNGDJoint;

Methods

Public | constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); virtual;
Public | destructor Destroy; override;

Properties

Published property PivotPoint: TGLCoordinates read FPivotPoint write FPivotPoint;

Description

Fields

Private FManager: TGLNGDManager;
Private FPivotPoint: TGLCoordinates;
Private FOuter: TGLNGDJoint;

Methods

Public constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); virtual;
Public destructor Destroy; override;

Properties

Published property PivotPoint: TGLCoordinates read FPivotPoint write FPivotPoint;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointPin

Class TGLNGDJointPin

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointPin = class(TGLNGDJointPivot)

Description

No description available, ancestor TGLNGDJointPivot description follows

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointPivot
  • TGLNGDJointPin

Overview

Fields

Private FPinDirection: TGLCoordinates;

Methods

Public | constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Public | destructor Destroy; override;

Properties

Published property PinDirection: TGLCoordinates read FPinDirection write FPinDirection;

Description

Fields

Private FPinDirection: TGLCoordinates;

Methods

Public constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Public destructor Destroy; override;

Properties

Published property PinDirection: TGLCoordinates read FPinDirection write FPinDirection;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointPin2

Class TGLNGDJointPin2

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointPin2 = class(TGLNGDJointPin)

Description

No description available, ancestor TGLNGDJointPin description follows
No description available, ancestor TGLNGDJointPivot description follows

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointPivot
  • TGLNGDJointPin
  • TGLNGDJointPin2

Overview

Fields

Private FPinDirection2: TGLCoordinates;

Methods

Public | constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Public | destructor Destroy; override;

Properties

Published property PinDirection2: TGLCoordinates read FPinDirection2 write FPinDirection2;

Description

Fields

Private FPinDirection2: TGLCoordinates;

Methods

Public constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Public destructor Destroy; override;

Properties

Published property PinDirection2: TGLCoordinates read FPinDirection2 write FPinDirection2;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointBallAndSocket

Class TGLNGDJointBallAndSocket

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointBallAndSocket = class(TGLNGDJointPivot)

Description

No description available, ancestor TGLNGDJointPivot description follows

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointPivot
  • TGLNGDJointBallAndSocket

Overview

Fields

Private | FConeAngle: Single;
Private | FMinTwistAngle: Single;
Private | FMaxTwistAngle: Single;

Methods

Public | constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Private | function StoredConeAngle: Boolean;
Private | function StoredMaxTwistAngle: Boolean;
Private | function StoredMinTwistAngle: Boolean;
Private | procedure SetConeAngle(const Value: Single);
Private | procedure SetMaxTwistAngle(const Value: Single);
Private | procedure SetMinTwistAngle(const Value: Single);

Properties

Published | property ConeAngle: Single read FConeAngle write SetConeAngle stored StoredConeAngle;
Published | property MaxTwistAngle: Single read FMaxTwistAngle write SetMaxTwistAngle stored StoredMaxTwistAngle;
Published | property MinTwistAngle: Single read FMinTwistAngle write SetMinTwistAngle stored StoredMinTwistAngle;

Description

Fields

Private FConeAngle: Single;
Private FMinTwistAngle: Single;

90

Private FMaxTwistAngle: Single;

-90

Methods

Public constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Private function StoredConeAngle: Boolean;
Private function StoredMaxTwistAngle: Boolean;
Private function StoredMinTwistAngle: Boolean;
Private procedure SetConeAngle(const Value: Single);

90

Private procedure SetMaxTwistAngle(const Value: Single);
Private procedure SetMinTwistAngle(const Value: Single);

Properties

Published property ConeAngle: Single read FConeAngle write SetConeAngle stored StoredConeAngle;
Published property MaxTwistAngle: Single read FMaxTwistAngle write SetMaxTwistAngle stored StoredMaxTwistAngle;
Published property MinTwistAngle: Single read FMinTwistAngle write SetMinTwistAngle stored StoredMinTwistAngle;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointHinge

Class TGLNGDJointHinge

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointHinge = class(TGLNGDJointPin)

Description

No description available, ancestor TGLNGDJointPin description follows
No description available, ancestor TGLNGDJointPivot description follows

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointPivot
  • TGLNGDJointPin
  • TGLNGDJointHinge

Overview

Fields

Private | FMinAngle: Single;
Private | FMaxAngle: Single;

Methods

Public | constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Private | function StoredMaxAngle: Boolean;
Private | function StoredMinAngle: Boolean;
Private | procedure SetMaxAngle(const Value: Single);
Private | procedure SetMinAngle(const Value: Single);

Properties

Published | property MaxAngle: Single read FMaxAngle write SetMaxAngle stored StoredMaxAngle;
Published | property MinAngle: Single read FMinAngle write SetMinAngle stored StoredMinAngle;

Description

Fields

Private FMinAngle: Single;
Private FMaxAngle: Single;

-90

Methods

Public constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Private function StoredMaxAngle: Boolean;
Private function StoredMinAngle: Boolean;
Private procedure SetMaxAngle(const Value: Single);

90

Private procedure SetMinAngle(const Value: Single);

Properties

Published property MaxAngle: Single read FMaxAngle write SetMaxAngle stored StoredMaxAngle;
Published property MinAngle: Single read FMinAngle write SetMinAngle stored StoredMinAngle;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointSlider

Class TGLNGDJointSlider

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointSlider = class(TGLNGDJointPin)

Description

No description available, ancestor TGLNGDJointPin description follows
No description available, ancestor TGLNGDJointPivot description follows

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointPivot
  • TGLNGDJointPin
  • TGLNGDJointSlider

Overview

Fields

Private | FMinDistance: Single;
Private | FMaxDistance: Single;

Methods

Public | constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Private | function StoredMaxDistance: Boolean;
Private | function StoredMinDistance: Boolean;
Private | procedure SetMaxDistance(const Value: Single);
Private | procedure SetMinDistance(const Value: Single);

Properties

Published | property MaxDistance: Single read FMaxDistance write SetMaxDistance stored StoredMaxDistance;
Published | property MinDistance: Single read FMinDistance write SetMinDistance stored StoredMinDistance;

Description

Fields

Private FMinDistance: Single;
Private FMaxDistance: Single;

-10

Methods

Public constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
Private function StoredMaxDistance: Boolean;
Private function StoredMinDistance: Boolean;
Private procedure SetMaxDistance(const Value: Single);

10

Private procedure SetMinDistance(const Value: Single);

Properties

Published property MaxDistance: Single read FMaxDistance write SetMaxDistance stored StoredMaxDistance;
Published property MinDistance: Single read FMinDistance write SetMinDistance stored StoredMinDistance;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJointKinematicController

Class TGLNGDJointKinematicController

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJointKinematicController = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLNGDJointKinematicController

Overview

Fields

Private | FPickModeLinear: Boolean;
Private | FLinearFriction: Single;
Private | FAngularFriction: Single;

Methods

Public | constructor Create();
Private | function StoredAngularFriction: Boolean;
Private | function StoredLinearFriction: Boolean;

Properties

Published | property AngularFriction: Single read FAngularFriction write FAngularFriction stored StoredAngularFriction;
Published | property LinearFriction: Single read FLinearFriction write FLinearFriction stored StoredLinearFriction;
Published | property PickModeLinear: Boolean read FPickModeLinear write FPickModeLinear default False;

Description

Fields

Private FPickModeLinear: Boolean;
Private FLinearFriction: Single;

False

Private FAngularFriction: Single;

750

Methods

Public constructor Create();
Private function StoredAngularFriction: Boolean;

250

Private function StoredLinearFriction: Boolean;

Properties

Published property AngularFriction: Single read FAngularFriction write FAngularFriction stored StoredAngularFriction;
Published property LinearFriction: Single read FLinearFriction write FLinearFriction stored StoredLinearFriction;
Published property PickModeLinear: Boolean read FPickModeLinear write FPickModeLinear default False;


GLSysHelp v.2.1: Physics.NGDManager: Class TGLNGDJoint

Class TGLNGDJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDManager

Declaration

type TGLNGDJoint = class(TCollectionItem)

Description

Hierarchy

  • TObject
  • TPersistent
  • TCollectionItem
  • TGLNGDJoint

Overview

Fields

Private | FManager: TGLNGDManager;
Private | FParentObject: TGLBaseSceneObject;
Private | FJointType: TGLNGDJoints;
Private | FStiffness: Single;
Private | FChildObject: TGLBaseSceneObject;
Private | FCollisionState: Boolean;
Private | FNewtonJoint: PNewtonJoint;
Private | FNewtonUserJoint: Pointer;
Private | FUPVectorDirection: TGLCoordinates;
Private | FBallAndSocketOptions: TGLNGDJointPivot;
Private | FHingeOptions: TGLNGDJointPin;
Private | FSliderOptions: TGLNGDJointPin;
Private | FCorkscrewOptions: TGLNGDJointPin;
Private | FUniversalOptions: TGLNGDJointPin2;
Private | FCustomBallAndSocketOptions: TGLNGDJointBallAndSocket;
Private | FCustomHingeOptions: TGLNGDJointHinge;
Private | FCustomSliderOptions: TGLNGDJointSlider;
Private | FKinematicOptions: TGLNGDJointKinematicController;

Methods

Public | constructor Create(Collection: TCollection); override;
Public | destructor Destroy; override;
Private | function StoredStiffness: Boolean;
Public | procedure KinematicControllerPick(pickpoint: TGLVector; PickedActions: TGLNGDPickedActions);
Private | procedure DestroyNewtonData;
Private | procedure Render;
Private | procedure SetChildObject(const Value: TGLBaseSceneObject);
Private | procedure SetCollisionState(const Value: Boolean);
Private | procedure SetJointType(const Value: TGLNGDJoints);
Private | procedure SetParentObject(const Value: TGLBaseSceneObject);
Private | procedure SetStiffness(const Value: Single);

Properties

Published | property BallAndSocketOptions: TGLNGDJointPivot read FBallAndSocketOptions write FBallAndSocketOptions;
Published | property ChildObject: TGLBaseSceneObject read FChildObject write SetChildObject;
Published | property CollisionState: Boolean read FCollisionState write SetCollisionState default False;
Published | property CorkscrewOptions: TGLNGDJointPin read FCorkscrewOptions write FCorkscrewOptions;
Published | property CustomBallAndSocketOptions: TGLNGDJointBallAndSocket read FCustomBallAndSocketOptions write FCustomBallAndSocketOptions;
Published | property CustomHingeOptions: TGLNGDJointHinge read FCustomHingeOptions write FCustomHingeOptions;
Published | property CustomSliderOptions: TGLNGDJointSlider read FCustomSliderOptions write FCustomSliderOptions;
Published | property HingeOptions: TGLNGDJointPin read FHingeOptions write FHingeOptions;
Published | property JointType: TGLNGDJoints read FJointType write SetJointType;
Published | property KinematicControllerOptions: TGLNGDJointKinematicController read FKinematicOptions write FKinematicOptions;
Published | property ParentObject: TGLBaseSceneObject read FParentObject write SetParentObject;
Published | property SliderOptions: TGLNGDJointPin read FSliderOptions write FSliderOptions;
Published | property Stiffness: Single read FStiffness write SetStiffness stored StoredStiffness;
Published | property UniversalOptions: TGLNGDJointPin2 read FUniversalOptions write FUniversalOptions;
Published | property UPVectorDirection: TGLCoordinates read FUPVectorDirection write FUPVectorDirection;

Description

Fields

Private FManager: TGLNGDManager;

Global

Private FParentObject: TGLBaseSceneObject;
Private FJointType: TGLNGDJoints;
Private FStiffness: Single;
Private FChildObject: TGLBaseSceneObject;

0.9 With Two object Every joint except nj_UpVector and nj_KinematicController

Private FCollisionState: Boolean;
Private FNewtonJoint: PNewtonJoint;

False With classic joint nj_BallAndSocket, nj_Hinge, nj_Slider, nj_Corkscrew nj_Universal, nj_UpVector

Private FNewtonUserJoint: Pointer;

With CustomJoint nj_CustomBallAndSocket, nj_CustomHinge, nj_CustomSlider nj_KinematicController

Private FUPVectorDirection: TGLCoordinates;

nj_UpVector

Private FBallAndSocketOptions: TGLNGDJointPivot;
Private FHingeOptions: TGLNGDJointPin;
Private FSliderOptions: TGLNGDJointPin;
Private FCorkscrewOptions: TGLNGDJointPin;
Private FUniversalOptions: TGLNGDJointPin2;
Private FCustomBallAndSocketOptions: TGLNGDJointBallAndSocket;
Private FCustomHingeOptions: TGLNGDJointHinge;
Private FCustomSliderOptions: TGLNGDJointSlider;
Private FKinematicOptions: TGLNGDJointKinematicController;

Methods

Public constructor Create(Collection: TCollection); override;
Public destructor Destroy; override;
Private function StoredStiffness: Boolean;
Public procedure KinematicControllerPick(pickpoint: TGLVector; PickedActions: TGLNGDPickedActions);
Private procedure DestroyNewtonData;
Private procedure Render;
Private procedure SetChildObject(const Value: TGLBaseSceneObject);
Private procedure SetCollisionState(const Value: Boolean);
Private procedure SetJointType(const Value: TGLNGDJoints);
Private procedure SetParentObject(const Value: TGLBaseSceneObject);
Private procedure SetStiffness(const Value: Single);

Properties

Published property BallAndSocketOptions: TGLNGDJointPivot read FBallAndSocketOptions write FBallAndSocketOptions;
Published property ChildObject: TGLBaseSceneObject read FChildObject write SetChildObject;
Published property CollisionState: Boolean read FCollisionState write SetCollisionState default False;
Published property CorkscrewOptions: TGLNGDJointPin read FCorkscrewOptions write FCorkscrewOptions;
Published property CustomBallAndSocketOptions: TGLNGDJointBallAndSocket read FCustomBallAndSocketOptions write FCustomBallAndSocketOptions;
Published property CustomHingeOptions: TGLNGDJointHinge read FCustomHingeOptions write FCustomHingeOptions;
Published property CustomSliderOptions: TGLNGDJointSlider read FCustomSliderOptions write FCustomSliderOptions;
Published property HingeOptions: TGLNGDJointPin read FHingeOptions write FHingeOptions;
Published property JointType: TGLNGDJoints read FJointType write SetJointType;
Published property KinematicControllerOptions: TGLNGDJointKinematicController read FKinematicOptions write FKinematicOptions;
Published property ParentObject: TGLBaseSceneObject read FParentObject write SetParentObject;
Published property SliderOptions: TGLNGDJointPin read FSliderOptions write FSliderOptions;
Published property Stiffness: Single read FStiffness write SetStiffness stored StoredStiffness;
Published property UniversalOptions: TGLNGDJointPin2 read FUniversalOptions write FUniversalOptions;
Published property UPVectorDirection: TGLCoordinates read FUPVectorDirection write FUPVectorDirection;


GLSysHelp v.2.1: Physics.NGDRagdoll

Unit Physics.NGDRagdoll

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • GLS.VectorFileObjects
  • Physics.NGDImport

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TNewtonRagdoll |

Functions and Procedures

function GetBoneParent(actor: TGLActor; bone: integer): integer;

Description

Functions and Procedures

function GetBoneParent(actor: TGLActor; bone: integer): integer;


GLSysHelp v.2.1: Physics.NGDRagdoll: Class TNewtonRagdoll

Class TNewtonRagdoll

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.NGDRagdoll

Declaration

type TNewtonRagdoll = class(TObject)

Description

Hierarchy

  • TObject
  • TNewtonRagdoll

Overview

Fields

Private | FERP: single;
Private | FSlideLimit: single;
Private | FAngleLimit: single;
Private | FEnabled: boolean;
Private | newtonworld: PNewtonWorld;
Public | Actor: TGLActor;
Public | Bodies: TList;
Public | Joints: array of PNewtonJoint;
Public | Norm_matrices: array of TGLMatrix;
Public | Envelopes: array of record kind: byte; Mat: TGLMatrix; Pt: TVector3f; W, D, H, Mass: single; end;

Methods

Public | constructor Create(model: TGLActor; world: PNewtonWorld; min_env_size: single = 0.8; slide_limit: single = 0.5; erp_: single = 0.8; angle_limit: single = 15; full: boolean = true);
Public | destructor Destroy; override;
Public | function TranslatePos(n: integer; add: boolean): TGLVector;
Public | procedure Conform;
Public | procedure LoadFromFile(filename: string);
Public | procedure SaveToFile(filename: string);
Private | procedure Clean;
Private | procedure SetAngleLimit(value: single);
Private | procedure SetEnabled(value: boolean);
Private | procedure SetERP(value: single);
Private | procedure SetSlideLimit(value: single);

Properties

Public | property AngleLimit: single read FAngleLimit write SetAngleLimit;
Public | property Enabled: boolean read FEnabled write SetEnabled;
Public | property ERP: single read FERP write SetERP;
Public | property SlideLimit: single read FSlideLimit write SetSlideLimit;

Description

Fields

Private FERP: single;
Private FSlideLimit: single;
Private FAngleLimit: single;
Private FEnabled: boolean;
Private newtonworld: PNewtonWorld;
Public Actor: TGLActor;
Public Bodies: TList;
Public Joints: array of PNewtonJoint;
Public Norm_matrices: array of TGLMatrix;
Public Envelopes: array of record kind: byte; Mat: TGLMatrix; Pt: TVector3f; W, D, H, Mass: single; end;

Methods

Public constructor Create(model: TGLActor; world: PNewtonWorld; min_env_size: single = 0.8; slide_limit: single = 0.5; erp_: single = 0.8; angle_limit: single = 15; full: boolean = true);
Public destructor Destroy; override;
Public function TranslatePos(n: integer; add: boolean): TGLVector;
Public procedure Conform;
Public procedure LoadFromFile(filename: string);
Public procedure SaveToFile(filename: string);
Private procedure Clean;
Private procedure SetAngleLimit(value: single);
Private procedure SetEnabled(value: boolean);
Private procedure SetERP(value: single);
Private procedure SetSlideLimit(value: single);

Properties

Public property AngleLimit: single read FAngleLimit write SetAngleLimit;
Public property Enabled: boolean read FEnabled write SetEnabled;
Public property ERP: single read FERP write SetERP;
Public property SlideLimit: single read FSlideLimit write SetSlideLimit;


GLSysHelp v.2.1: Physics.ODEImport

Unit Physics.ODEImport

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.ModuleLoader

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TdxJointGroup |
Record TdxJointLimitMotor |
Record TdMass |
Record TdxAutoDisable |
Record TdxDampingParameters |
Record TdxContactParameters |
Record TdxQuickStepParameters |
Record TdObject |
Record TdxJointNode |
Record TJointInfo1 |
Record TJointInfo2 |
Record TdxJoint |
Record TdxJointBall |
Record TdxJointHinge |
Record TdxJointUniversial |
Record TdxJointPR |
Record TdxJointPiston |
Record TdxJointSlider |
Record TdxJointHinge2 |
Record TdxJointAMotor |
Record TdxJointLMotor |
Record TdxJointPlane2D |
Record TdxJointFixed |
Record TdxPosR |
Record TdxBody |
Class TBodyList |
Record TdxWorld |
Record TdJointFeedback |
Record TdSurfaceParameters |
Record TdContactGeom |
Record TdContact |
Record TdGeomClass |
Record TdxTriMeshData |
Record TdxHeightfieldData |
Record TdGeomSpaceData |
Record TdxGeom |
Class TGeomList |
Record TdxSpace |
Record TdxHashSpace |
Record TdxQuadTreeSpace |

Functions and Procedures

procedure dInitODE; cdecl; external ODEDLL;
function dInitODE2(uiInitFlags: longword): Integer; cdecl; external ODEDLL;
procedure dCloseODE; cdecl; external ODEDLL;
function dWorldCreate: PdxWorld; cdecl; external ODEDLL;
procedure dWorldDestroy(const World: PdxWorld); cdecl; external ODEDLL;
function dWorldGetCFM(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
function dWorldGetERP(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldGetGravity(const World: PdxWorld; var gravity: TdVector3); cdecl; external ODEDLL;
procedure dWorldImpulseToForce(const World: PdxWorld; const stepsize, ix, iy, iz: TdReal; var force: TdVector3); cdecl; external ODEDLL;
procedure dWorldSetCFM(const World: PdxWorld; cfm: TdReal); cdecl; external ODEDLL;
procedure dWorldSetERP(const World: PdxWorld; erp: TdReal); cdecl; external ODEDLL;
procedure dWorldSetGravity(const World: PdxWorld; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dWorldSetContactMaxCorrectingVel(const World: PdxWorld; const vel: TdReal); cdecl; external ODEDLL;
function dWorldGetContactMaxCorrectingVel(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetContactSurfaceLayer(const World: PdxWorld; const depth: TdReal); cdecl; external ODEDLL;
function dWorldGetContactSurfaceLayer(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldExportDIF(const World: PdxWorld; fileHandle: cardinal; const world_name: PAnsiChar); cdecl; external ODEDLL;
function dWorldGetLinearDampingThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetLinearDampingThreshold(const World: PdxWorld; const threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAngularDampingThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAngularDampingThreshold(const World: PdxWorld; const threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetLinearDamping(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetLinearDamping(const World: PdxWorld; const scale: TdReal); cdecl; external ODEDLL;
function dWorldGetAngularDamping(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAngularDamping(const World: PdxWorld; const scale: TdReal); cdecl; external ODEDLL;
procedure dWorldSetDamping(const World: PdxWorld; const linear_scale, angular_scale: TdReal); cdecl; external ODEDLL;
function dWorldGetMaxAngularSpeed(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetMaxAngularSpeed(const World: PdxWorld; const max_speed: TdReal); cdecl; external ODEDLL;
procedure dWorldStep(const World: PdxWorld; const stepsize: TdReal); cdecl; external ODEDLL;
procedure dWorldQuickStep(const World: PdxWorld; const stepsize: TdReal); cdecl; external ODEDLL;
procedure dWorldSetQuickStepNumIterations(const World: PdxWorld; const num: Integer); cdecl; external ODEDLL;
function dWorldGetQuickStepNumIterations(const World: PdxWorld): Integer; cdecl; external ODEDLL;
procedure dWorldSetQuickStepW(const World: PdxWorld; const param: TdReal); cdecl; external ODEDLL;
function dWorldGetQuickStepW(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
function dWorldGetAutoDisableLinearAverageThreshold(const World: PdxWorld) : TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableLinearAverageThreshold(const World: PdxWorld; linear_average_threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableAngularAverageThreshold(const World: PdxWorld) : TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableAngularAverageThreshold(const World: PdxWorld; linear_average_threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableAverageSamplesCount(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableAverageSamplesCount(const World: PdxWorld; linear_average_threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableLinearThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableLinearThreshold(const World: PdxWorld; linThreshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableAngularThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableAngularThreshold(const World: PdxWorld; angThreshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableSteps(const World: PdxWorld): Integer; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableSteps(const World: PdxWorld; steps: Integer); cdecl; external ODEDLL;
function dWorldGetAutoDisableTime(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableTime(const World: PdxWorld; time: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableFlag(const World: PdxWorld): Integer; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableFlag(const World: PdxWorld; do_auto_disable: Integer); cdecl; external ODEDLL;
procedure dBodyAddForce(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddForceAtPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddForceAtRelPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelForce(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelForceAtPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelForceAtRelPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelTorque(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddTorque(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
function dBodyCreate(const World: PdxWorld): PdxBody; cdecl; external ODEDLL;
procedure dBodyDestroy(const body: PdxBody); cdecl; external ODEDLL;
procedure dBodyDisable(const body: PdxBody); cdecl; external ODEDLL;
procedure dBodyEnable(const body: PdxBody); cdecl; external ODEDLL;
function dBodyGetAngularVel(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
procedure dBodyGetFiniteRotationAxis(const body: PdxBody; var result: TdVector3); cdecl; external ODEDLL;
function dBodyGetFiniteRotationMode(const body: PdxBody): Integer; cdecl; external ODEDLL;
function dBodyGetForce(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
function dBodyGetGravityMode(const body: PdxBody): Integer; cdecl; external ODEDLL;
function dBodyGetJoint(const body: PdxBody; const index: Integer): TdJointID; cdecl; external ODEDLL;
function dBodyGetLinearVel(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
procedure dBodyGetMass(const body: PdxBody; var mass: TdMass); cdecl; external ODEDLL;
function dBodyGetNumJoints(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodyGetPointVel(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodyGetPosRelPoint(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
function dBodyGetPosition(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
function dBodyGetQuaternion(const body: PdxBody): PdQuaternion; cdecl; external ODEDLL;
procedure dBodyGetRelPointPos(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodyGetRelPointVel(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
function dBodyGetRotation(const body: PdxBody): PdMatrix3; cdecl; external ODEDLL;
function dBodyGetTorque(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
function dBodyIsEnabled(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodySetAngularVel(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetFiniteRotationAxis(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetFiniteRotationMode(const body: PdxBody; const mode: Integer); cdecl; external ODEDLL;
procedure dBodySetForce(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetGravityMode(const body: PdxBody; const mode: Integer); cdecl; external ODEDLL;
procedure dBodySetLinearVel(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetMass(const body: PdxBody; const mass: PdMass); cdecl; external ODEDLL;
procedure dBodySetPosition(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetQuaternion(const body: PdxBody; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dBodySetRotation(const body: PdxBody; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dBodySetTorque(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodyVectorFromWorld(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodyVectorToWorld(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodySetData(const body: PdxBody; data: pointer); cdecl; external ODEDLL;
function dBodyGetData(const body: PdxBody): pointer; cdecl; external ODEDLL;
procedure dBodySetMovedCallback(const body: PdxBody; callback: TdMovedCallback); cdecl; external ODEDLL;
procedure dBodyCopyPosition(const body: PdxBody; const pos: TdVector3); cdecl; external ODEDLL;
procedure dBodyCopyRotation(const body: PdxBody; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dBodyCopyQuaternion(const body: PdxBody; const quat: TdQuaternion); cdecl; external ODEDLL;
procedure dBodySetLinearDamping(const body: PdxBody; scale: TdReal); cdecl; external ODEDLL;
function dBodyGetLinearDamping(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAngularDamping(const body: PdxBody; scale: TdReal); cdecl; external ODEDLL;
function dBodyGetAngularDamping(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetDamping(const body: PdxBody; linear_scale, angular_scale: TdReal); cdecl; external ODEDLL;
function dBodyGetLinearDampingThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetLinearDampingThreshold(const body: PdxBody; threshold: TdReal); cdecl; external ODEDLL;
function dBodyGetAngularDampingThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAngularDampingThreshold(const body: PdxBody; threshold: TdReal); cdecl; external ODEDLL;
procedure dBodySetDampingDefaults(const body: PdxBody; threshold: TdReal); cdecl; external ODEDLL;
procedure dBodySetMaxAngularSpeed(const body: PdxBody; max_speed: TdReal); cdecl; external ODEDLL;
function dBodyGetMaxAngularSpeed(const body: PdxBody): TdReal; cdecl; external ODEDLL;
function dBodyGetAutoDisableLinearThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAutoDisableLinearThreshold(const body: PdxBody; linThreshold: TdReal); cdecl; external ODEDLL;
function dBodyGetAutoDisableAngularThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAutoDisableAngularThreshold(const body: PdxBody; angThreshold: TdReal); cdecl; external ODEDLL;
function dBodyGetAutoDisableSteps(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodySetAutoDisableSteps(const body: PdxBody; steps: Integer); cdecl; external ODEDLL;
function dBodyGetAutoDisableTime(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAutoDisableTime(const body: PdxBody; time: TdReal); cdecl; external ODEDLL;
function dBodyGetAutoDisableFlag(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodySetAutoDisableFlag(const body: PdxBody; do_auto_disable: Integer); cdecl; external ODEDLL;
procedure dBodySetAutoDisableDefaults(const body: PdxBody); cdecl; external ODEDLL;
procedure dBodySetAutoDisableAverageSamplesCount(const body: PdxBody; average_samples_count: longword); cdecl; external ODEDLL;
procedure dJointGroupDestroy(const dJointGroupID: TdJointGroupID); cdecl; external ODEDLL;
function dJointGroupCreate(const max_size: Integer): TdJointGroupID; cdecl; external ODEDLL;
procedure dJointGroupEmpty(const dJointGroupID: TdJointGroupID); cdecl; external ODEDLL;
procedure dJointAttach(const dJointID: TdJointID; const body1, body2: PdxBody); cdecl; external ODEDLL;
procedure dJointDestroy(const dJointID: TdJointID); cdecl; external ODEDLL;
function dJointGetData(const dJointID: TdJointID): pointer; cdecl; external ODEDLL;
procedure dJointSetData(const dJointID: TdJointID; data: pointer); cdecl; external ODEDLL;
procedure dJointSetFeedback(const dJointID: TdJointID; Feedback: PTdJointFeedback); cdecl; external ODEDLL;
function dJointGetFeedback(const dJointID: TdJointID): PTdJointFeedback; cdecl; external ODEDLL;
function dJointGetType(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
function dJointGetBody(const dJointID: TdJointID; const index: Integer) : PdxBody; cdecl; external ODEDLL;
function dJointCreateContact(const World: PdxWorld; dJointGroupID: TdJointGroupID; const dContact: PdContact): TdJointID; cdecl; external ODEDLL;
function dJointCreateAMotor(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointSetAMotorAngle(const dJointID: TdJointID; const anum: Integer; const angle: TdReal); cdecl; external ODEDLL;
function dJointGetAMotorAngle(const dJointID: TdJointID; const anum: Integer) : TdReal; cdecl; external ODEDLL;
procedure dJointSetAMotorAxis(const dJointID: TdJointID; const anum, rel: Integer; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetAMotorAxis(const dJointID: TdJointID; const anum: Integer; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetAMotorNumAxes(const dJointID: TdJointID; const num: Integer); cdecl; external ODEDLL;
function dJointGetAMotorNumAxes(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
procedure dJointSetAMotorParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetAMotorParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
procedure dJointSetAMotorMode(const dJointID: TdJointID; const mode: TdAngularMotorModeNumbers); cdecl; external ODEDLL;
function dJointGetAMotorMode(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
procedure dJointAddAMotorTorques(const dJointID: TdJointID; torque1, torque2, torque3: TdReal); cdecl; external ODEDLL;
function dJointGetAMotorAngleRate(const dJointID: TdJointID; const anum: Integer): TdReal; cdecl; external ODEDLL;
function dJointGetAMotorAxisRel(const dJointID: TdJointID; const anum: Integer) : Integer; cdecl; external ODEDLL;
function dJointCreateLMotor(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointSetLMotorAxis(const dJointID: TdJointID; const anum, rel: Integer; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetLMotorAxis(const dJointID: TdJointID; const anum: Integer; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetLMotorNumAxes(const dJointID: TdJointID; const num: Integer); cdecl; external ODEDLL;
function dJointGetLMotorNumAxes(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
procedure dJointSetLMotorParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetLMotorParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointCreateBall(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;
procedure dJointSetBallAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetBallAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetBallAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
function dJointCreateHinge(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;
procedure dJointSetHingeAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHingeAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetHingeAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHingeAxis(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHingeAxis(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHingeParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetHingeParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetHingeAngle(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetHingeAngleRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointAddHingeTorque(const dJointID: TdJointID; torque: TdReal); cdecl; external ODEDLL;
function dJointCreateHinge2(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointSetHinge2Anchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHinge2Anchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetHinge2Anchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHinge2Axis1(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHinge2Axis1(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHinge2Axis2(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHinge2Axis2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHinge2Param(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetHinge2Param(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetHinge2Angle1(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetHinge2Angle1Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetHinge2Angle2Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointAddHinge2Torques(const dJointID: TdJointID; torque1, torque2: TdReal); cdecl; external ODEDLL;
procedure dJointCorrectHinge2(const dJointID: TdJointID); cdecl; external ODEDLL;
function dJointCreateSlider(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointSetSliderAxis(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetSliderAxis(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetSliderParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetSliderParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetSliderPosition(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetSliderPositionRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointAddSliderForce(const dJointID: TdJointID; force: TdReal); cdecl; external ODEDLL;
function dJointCreateUniversal(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointGetUniversalAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetUniversalAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetUniversalAxis1(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetUniversalAxis1(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetUniversalAxis2(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetUniversalAxis2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetUniversalParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetUniversalParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle1(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle2(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle1Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle2Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointSetUniversalAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointAddUniversalTorques(const dJointID: TdJointID; torque1, torque2: TdReal); cdecl; external ODEDLL;
function dJointCreateFixed(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;
procedure dJointSetFixed(const dJointID: TdJointID); cdecl; external ODEDLL;
function dJointCreatePlane2D(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointSetPlane2DXParam(const dJointID: TdJointID; const parameter: Integer; const Value: TdReal); cdecl; external ODEDLL;
procedure dJointSetPlane2DYParam(const dJointID: TdJointID; const parameter: Integer; const Value: TdReal); cdecl; external ODEDLL;
procedure dJointSetPlane2DAngleParam(const dJointID: TdJointID; const parameter: Integer; const Value: TdReal); cdecl; external ODEDLL;
function dJointCreatePR(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;
procedure dJointSetPRAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointSetPRAxis1(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPRAxis1(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPRAxis2(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPRAxis2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPRParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetPRParam(const dJointID: TdJointID; parameter: Integer) : TdReal; cdecl; external ODEDLL;
procedure dJointAddPRTorque(const dJointID: TdJointID; torque: TdReal); cdecl; external ODEDLL;
function dJointCreatePiston(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;
procedure dJointSetPistonAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPistonAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetPistonAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPistonAxis(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPistonAxis(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPistonParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetPistonParam(const dJointID: TdJointID; parameter: Integer) : TdReal; cdecl; external ODEDLL;
procedure dJointSetPistonAxisDelta(const dJointID: TdJointID; const x, y, z, ax, ay, az: TdReal); cdecl; external ODEDLL;
procedure dJointAddPistonForce(const dJointID: TdJointID; force: TdReal); cdecl; external ODEDLL;
function dJointGetPistonPosition(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetPistonAngle(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetPistonAngleRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetPistonRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dCreateGeom(classnum: Integer): PdxGeom; cdecl; external ODEDLL;
procedure dGeomDestroy(const geom: PdxGeom); cdecl; external ODEDLL;
function dCreateGeomClass(const classptr: TdGeomClass): Integer; cdecl; external ODEDLL;
function dGeomGetClass(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dGeomGetClassData(o: PdxGeom): pointer; cdecl; external ODEDLL;
function dGeomGetSpace(const geom: PdxGeom): PdxSpace; cdecl; external ODEDLL;
function dGeomIsSpace(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomSetBody(const geom: PdxGeom; body: PdxBody); cdecl; external ODEDLL;
function dGeomGetBody(const geom: PdxGeom): PdxBody; cdecl; external ODEDLL;
procedure dGeomSetPosition(const geom: PdxGeom; const x, y, z: TdReal); cdecl; external ODEDLL;
function dGeomGetPosition(const geom: PdxGeom): PdVector3; cdecl; external ODEDLL;
procedure dGeomSetRotation(const geom: PdxGeom; const R: TdMatrix3); cdecl; external ODEDLL;
function dGeomGetRotation(const geom: PdxGeom): PdMatrix3; cdecl; external ODEDLL;
procedure dGeomSetQuaternion(const geom: PdxGeom; const TdQuaternion); cdecl; external ODEDLL;
procedure dGeomGetQuaternion(const geom: PdxGeom; var result: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomCopyPosition(const geom: PdxGeom; const pos: TdVector3); cdecl; external ODEDLL;
procedure dGeomCopyRotation(const geom: PdxGeom; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dGeomCopyQuaternion(const geom: PdxGeom; const quat: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomSetData(const geom: PdxGeom; data: pointer); cdecl; external ODEDLL;
function dGeomGetData(const geom: PdxGeom): pointer; cdecl; external ODEDLL;
procedure dGeomEnable(const geom: PdxGeom); cdecl; external ODEDLL;
procedure dGeomDisable(const geom: PdxGeom); cdecl; external ODEDLL;
function dGeomIsEnabled(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomGetAABB(const geom: PdxGeom; var aabb: TdAABB); cdecl; external ODEDLL;
procedure dGeomSetCategoryBits(const geom: PdxGeom; bits: cardinal); cdecl; external ODEDLL;
function dGeomGetCategoryBits(const geom: PdxGeom): cardinal; cdecl; external ODEDLL;
procedure dGeomSetCollideBits(const geom: PdxGeom; bits: cardinal); cdecl; external ODEDLL;
function dGeomGetCollideBits(const geom: PdxGeom): cardinal; cdecl; external ODEDLL;
procedure dGeomSetOffsetPosition(const geom: PdxGeom; x, y, z: TdReal); cdecl; external ODEDLL;
function dGeomGetOffsetPosition(const geom: PdxGeom): PdVector3; cdecl; external ODEDLL;
procedure dGeomSetOffsetRotation(const geom: PdxGeom; R: TdMatrix3); cdecl; external ODEDLL;
function dGeomGetOffsetRotation(const geom: PdxGeom): PdVector3; cdecl; external ODEDLL;
procedure dGeomSetOffsetQuaternion(const geom: PdxGeom; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomGetOffsetQuaternion(const geom: PdxGeom; var q: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomClearOffset(const geom: PdxGeom); cdecl; external ODEDLL;
procedure dGeomSetOffsetWorldPosition(const geom: PdxGeom; x, y, z: TdReal); cdecl; external ODEDLL;
procedure dGeomSetOffsetWorldRotation(const geom: PdxGeom; R: TdMatrix3); cdecl; external ODEDLL;
procedure dGeomSetOffsetWorldQuaternion(const geom: PdxGeom; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomCopyOffsetPosition(const geom: PdxGeom; var pos: TdVector3); cdecl; external ODEDLL;
procedure dGeomCopyOffsetRotation(const geom: PdxGeom; var R: TdMatrix3); cdecl; external ODEDLL;
procedure dGeomIsOffset(const geom: PdxGeom); cdecl; external ODEDLL;
function dCreateGeomTransform(const Space: PdxSpace): PdxGeom; cdecl; external ODEDLL;
procedure dGeomTransformSetGeom(const geom, obj: PdxGeom); cdecl; external ODEDLL;
function dGeomTransformGetGeom(const geom: PdxGeom): PdxGeom; cdecl; external ODEDLL;
procedure dGeomTransformSetInfo(const geom: PdxGeom; mode: Integer); cdecl; external ODEDLL;
function dGeomTransformGetInfo(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomTransformSetCleanup(const geom: PdxGeom; const mode: Integer); cdecl; external ODEDLL;
function dGeomTransformGetCleanup(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dCreateBox(const Space: PdxSpace; const lx, ly, lz: TdReal): PdxGeom; cdecl; external ODEDLL;
procedure dGeomBoxGetLengths(const geom: PdxGeom; var result: TdVector3); cdecl; external ODEDLL;
procedure dGeomBoxSetLengths(const geom: PdxGeom; const lx, ly, lz: TdReal); cdecl; external ODEDLL;
function dGeomBoxPointDepth(const geom: PdxGeom; const x, y, z: TdReal): TdReal; cdecl; external ODEDLL;
function dCreateCylinder(const Space: PdxSpace; R, lz: TdReal): PdxGeom; cdecl; external ODEDLL;
procedure dGeomCylinderSetParams(const geom: PdxGeom; radius, length: TdReal); cdecl; external ODEDLL;
procedure dGeomCylinderGetParams(const geom: PdxGeom; var radius, length: TdReal); cdecl; external ODEDLL;
function dCreateCapsule(const Space: PdxSpace; const radius, length: TdReal) : PdxGeom; cdecl; external ODEDLL;
procedure dGeomCapsuleSetParams(const geom: PdxGeom; const radius, length: TdReal); cdecl; external ODEDLL;
procedure dGeomCapsuleGetParams(const geom: PdxGeom; var radius, length: TdReal); cdecl; external ODEDLL;
function dGeomCapsulePointDepth(const geom: PdxGeom; const x, y, z: TdReal) : TdReal; cdecl; external ODEDLL;
function dCreatePlane(const Space: PdxSpace; const a, b, c, d: TdReal): PdxGeom; cdecl; external ODEDLL;
procedure dGeomPlaneSetParams(const geom: PdxGeom; const a, b, c, d: TdReal); cdecl; external ODEDLL;
procedure dGeomPlaneGetParams(const geom: PdxGeom; var result: TdVector4); cdecl; external ODEDLL;
function dGeomPlanePointDepth(const geom: PdxGeom; const x, y, z: TdReal) : TdReal; cdecl; external ODEDLL;
function dCreateSphere(const Space: PdxSpace; const radius: TdReal): PdxGeom; cdecl; external ODEDLL;
procedure dGeomSphereSetRadius(const geom: PdxGeom; const radius: TdReal); cdecl; external ODEDLL;
function dGeomSphereGetRadius(const geom: PdxGeom): TdReal; cdecl; external ODEDLL;
function dGeomSpherePointDepth(const geom: PdxGeom; const x, y, z: TdReal) : TdReal; cdecl; external ODEDLL;
function dCreateConvex(const Space: PdxSpace; _planes: PdReal; _planecount: longword; _points: PdReal; _pointcount: longword; const _polygons: longword): PdxGeom; cdecl; external ODEDLL;
procedure dGeomSetConvex(const geom: PdxGeom; _planes: PdReal; _planecount: longword; _points: PdReal; _pointcount: longword; const _polygons: longword); cdecl; external ODEDLL;
function dCreateHeightfield(const Space: PdxSpace; data: PdxHeightfieldData; bPlaceable: Integer): PdxGeom; cdecl; external ODEDLL;
function dGeomHeightfieldDataCreate: PdxHeightfieldData; cdecl; external ODEDLL;
procedure dGeomHeightfieldDataDestroy(data: PdxHeightfieldData); cdecl; external ODEDLL;
procedure dGeomHeightfieldSetHeightfieldData(const geom: PdxGeom; data: PdxHeightfieldData); cdecl; external ODEDLL;
function dGeomHeightfieldGetHeightfieldData(const geom: PdxGeom) : PdxHeightfieldData; cdecl; external ODEDLL;
function dGeomHeightfieldDataSetBounds(data: PdxHeightfieldData; minHeight, MaxHeight: TdReal): TdReal; cdecl; external ODEDLL;
function dCreateRay(const Space: PdxSpace; length: TdReal): PdxGeom; cdecl; external ODEDLL;
procedure dGeomRaySet(const geom: PdxGeom; px, py, pz, dx, dy, dz: TdReal); cdecl; external ODEDLL;
procedure dGeomRayGet(const geom: PdxGeom; var start, dir: TdVector3); cdecl; external ODEDLL;
procedure dGeomRaySetLength(const geom: PdxGeom; length: TdReal); cdecl; external ODEDLL;
function dGeomRayGetLength(const geom: PdxGeom): TdReal; cdecl; external ODEDLL;
procedure dGeomRaySetParams(const geom: PdxGeom; FirstContact, BackfacCull: Integer); cdecl; external ODEDLL;
procedure dGeomRayGetParams(const geom: PdxGeom; var FirstContact, BackfacCull: Integer); cdecl; external ODEDLL;
procedure dGeomRaySetClosestHit(const geom: PdxGeom; closestHit: Integer); cdecl; external ODEDLL;
function dGeomRayGetClosestHit(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dCreateTriMesh(const Space: PdxSpace; data: PdxTriMeshData; callback: TdTriCallback; ArrayCallback: TdTriArrayCallback; RayCallback: TdTriRayCallback): PdxGeom; cdecl; external ODEDLL;
procedure dGeomTriMeshSetData(g: PdxGeom; data: PdxTriMeshData); cdecl; external ODEDLL;
function dGeomTriMeshGetData(g: PdxGeom): PdxTriMeshData; cdecl; external ODEDLL;
function dGeomTriMeshGetTriMeshDataID(g: PdxGeom): PdxTriMeshData; cdecl; external ODEDLL;
procedure dGeomTriMeshDataUpdate(g: PdxTriMeshData); cdecl; external ODEDLL;
function dGeomTriMeshIsTCEnabled(g: PdxGeom; geomClass: Integer): Integer; cdecl; external ODEDLL;
procedure dGeomTriMeshEnableTC(g: PdxGeom; geomClass, enable: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshClearTCCache(g: PdxGeom); cdecl; external ODEDLL;
function dGeomTriMeshGetTriangleCount(g: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomTriMeshGetTriangle(g: PdxGeom; index: Integer; v0, v1, v2: PdVector3); cdecl; external ODEDLL;
procedure dGeomTriMeshGetPoint(g: PdxGeom; index: Integer; u, v: TdReal; result: TdVector3); cdecl; external ODEDLL;
function dGeomTriMeshGetArrayCallback(g: PdxGeom): pointer; cdecl; external ODEDLL;
function dGeomTriMeshGetRayCallback(g: PdxGeom): pointer; cdecl; external ODEDLL;
procedure dGeomTriMeshSetArrayCallback(g: PdxGeom; ArrayCallback: pointer); cdecl; external ODEDLL;
procedure dGeomTriMeshSetRayCallback(g: PdxGeom; RayCallback: pointer); cdecl; external ODEDLL;
procedure dGeomTriMeshSetCallback(g: PdxGeom; callback: pointer); cdecl; external ODEDLL;
function dGeomTriMeshGetCallback(g: PdxGeom): pointer; cdecl; external ODEDLL;
procedure dGeomTriMeshDataDestroy(g: PdxTriMeshData); cdecl; external ODEDLL;
function dGeomTriMeshDataCreate: PdxTriMeshData; cdecl; external ODEDLL;
procedure dGeomTriMeshDataSet(g: PdxTriMeshData; data_id: Integer; data: pointer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSimple(g: PdxTriMeshData; Vertices: PdVector3Array; VertexCount: Integer; Indices: PdIntegerArray; IndexCount: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSimple1(g: PdxTriMeshData; Vertices: PdVector3Array; VertexCount: Integer; Indices: PdIntegerArray; IndexCount: Integer; Normals: PdVector3Array); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildDouble(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildDouble1(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer; Normals: PdVector3Array); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSingle(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSingle1(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer; Normals: PdVector3Array); cdecl; external ODEDLL;
procedure dInfiniteAABB(geom: PdxGeom; var aabb: TdAABB); cdecl; external ODEDLL;
procedure dSpaceDestroy(const Space: PdxSpace); cdecl; external ODEDLL;
function dSimpleSpaceCreate(Space: PdxSpace): PdxSpace; cdecl; external ODEDLL;
function dHashSpaceCreate(Space: PdxSpace): PdxSpace; cdecl; external ODEDLL;
function dQuadTreeSpaceCreate(const Space: PdxSpace; const Center, Extents: TdVector3; const depth: Integer): PdxSpace; cdecl; external ODEDLL;
procedure dSpaceAdd(const Space: PdxSpace; const geom: PdxGeom); cdecl; external ODEDLL;
procedure dSpaceRemove(const Space: PdxSpace; const geom: PdxGeom); cdecl; external ODEDLL;
procedure dSpaceClean(const Space: PdxSpace); cdecl; external ODEDLL;
function dSpaceQuery(const Space: PdxSpace; const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dSpaceGetNumGeoms(const Space: PdxSpace): Integer; cdecl; external ODEDLL;
function dSpaceGetGeom(const Space: PdxSpace; const I: Integer): PdxGeom; cdecl; external ODEDLL;
procedure dHashSpaceSetLevels(const Space: PdxSpace; const minlevel, maxlevel: Integer); cdecl; external ODEDLL;
procedure dHashSpaceGetLevels(const Space: PdxSpace; var minlevel, maxlevel: Integer); cdecl; external ODEDLL;
procedure dSpaceSetCleanup(Space: PdxSpace; const mode: Integer); cdecl; external ODEDLL;
function dSpaceGetCleanup(Space: PdxSpace): Integer; cdecl; external ODEDLL;
function dCollide(o1, o2: PdxGeom; flags: Integer; var contact: TdContactGeom; skip: Integer): Integer; cdecl; external ODEDLL;
procedure dSpaceCollide(const Space: PdxSpace; data: pointer; callback: TdNearCallback); cdecl; external ODEDLL;
procedure dSpaceCollide2(o1, o2: PdxGeom; data: pointer; callback: TdNearCallback); cdecl; external ODEDLL;
procedure dMassSetParameters(var m: TdMass; themass, cgx, cgy, cgz, I11, I22, I33, I12, I13, I23: TdReal); cdecl; external ODEDLL;
procedure dMassAdd(var a, b: TdMass); cdecl; external ODEDLL;
procedure dMassAdjust(var m: TdMass; newmass: TdReal); cdecl; external ODEDLL;
procedure dMassTranslate(var m: TdMass; x, y, z: TdReal); cdecl; external ODEDLL;
procedure dMassRotate(var m: TdMass; var R: TdMatrix3); cdecl; external ODEDLL;
procedure dMassSetZero(var m: TdMass); cdecl; external ODEDLL;
procedure dMassSetBox(var m: TdMass; density, lx, ly, lz: TdReal); cdecl; external ODEDLL;
procedure dMassSetBoxTotal(var m: TdMass; total_mass, lx, ly, lz: TdReal); cdecl; external ODEDLL;
procedure dMassSetCylinder(var m: TdMass; density: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetCylinderTotal(var m: TdMass; total_mass: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetCapsule(var m: TdMass; density: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetCapsuleTotal(var m: TdMass; total_mass: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetSphere(var m: TdMass; density, radius: TdReal); cdecl; external ODEDLL;
procedure dMassSetSphereTotal(var m: TdMass; total_mass, radius: TdReal); cdecl; external ODEDLL;
procedure dMassSetTrimesh(var m: TdMass; density: TdReal; TriMesh: PdxGeom); cdecl; external ODEDLL;
procedure dMassSetTrimeshTotal(var m: TdMass; total_mass: TdReal; TriMesh: PdxGeom); cdecl; external ODEDLL;
procedure dQFromAxisAndAngle(var q: TdQuaternion; const ax, ay, az, angle: TdReal); cdecl; external ODEDLL;
procedure dRFromAxisAndAngle(var R: TdMatrix3; const ax, ay, az, angle: TdReal); cdecl; external ODEDLL;
procedure dRSetIdentity(var R: TdMatrix3); cdecl; external ODEDLL;
procedure dQSetIdentity(var q: TdQuaternion); cdecl; external ODEDLL;
procedure dRFromEulerAngles(var R: TdMatrix3; const phi, theta, psi: TdReal); cdecl; external ODEDLL;
procedure dRFrom2Axes(var R: TdMatrix3; const ax, ay, az, bx, by, bz: TdReal); cdecl; external ODEDLL;
procedure dRFromZAxis(var R: TdMatrix3; const ax, ay, az: TdReal); cdecl; external ODEDLL;
procedure dMultiply0(const a: PdReal; const b, c: PdReal; p, q, R: Integer); cdecl; external ODEDLL;
procedure dMultiply1(const a: PdReal; const b, c: PdReal; p, q, R: Integer); cdecl; external ODEDLL;
procedure dMultiply2(const a: PdReal; const b, c: PdReal; p, q, R: Integer); cdecl; external ODEDLL;
procedure dQMultiply0(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dQMultiply1(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dQMultiply2(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dQMultiply3(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dRfromQ(var R: TdMatrix3; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dQfromR(var q: TdQuaternion; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dDQfromW(var dq: TdVector4; const w: TdVector3; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dNormalize3(var a: TdVector3); cdecl; external ODEDLL;
procedure dNormalize4(var a: TdVector4); cdecl; external ODEDLL;
procedure dClosestLineSegmentPoints(const a1, a2, b1, b2: TdVector3; var cp1, cp2: TdVector3); cdecl; external ODEDLL;
function dBoxTouchesBox(const _p1: TdVector3; const R1: TdMatrix3; const side1: TdVector3; const _p2: TdVector3; const R2: TdMatrix3; const side2: TdVector3): Integer; cdecl; external ODEDLL;
function dMaxDifference(a, b: PdReal; n, m: Integer): TdReal; cdecl; external ODEDLL;
procedure dMakeRandomVector(var n1: TdVector3; a: Integer; f: TdReal); cdecl; external ODEDLL;
function dAreConnected(a, b: PdxBody): Integer; cdecl; external ODEDLL;
function dAreConnectedExcluding(a, b: PdxBody; joint_type: TdJointTypeNumbers) : Integer; cdecl; external ODEDLL;
procedure dMakeRandomMatrix(a: PdRealArray; n, m: Integer; range: TdReal); cdecl; external ODEDLL;
procedure dClearUpperTriangle(a: PdRealArray; n: Integer); cdecl; external ODEDLL;
function dRandGetSeed: cardinal; cdecl; external ODEDLL;
procedure dRandSetSeed(const s: cardinal); cdecl; external ODEDLL;
function dRandInt(const n: Integer): Integer; cdecl; external ODEDLL;
function dRandReal: TdReal; cdecl; external ODEDLL;
function dTestRand: Integer; cdecl; external ODEDLL;
procedure dTestMatrixComparison; cdecl; external ODEDLL;
procedure dTestSolveLCP; cdecl; external ODEDLL;
function dDot(const a, b: TdVector3): TdReal; overload;
function dDot(const a, b: PdVector3): TdReal; overload;
function dDOT14(const a, b: TdRealArray): TdReal; overload;
function dDOT14(const a, b: PdRealArray): TdReal; overload;
procedure dMULTIPLY0_333(var a: TdMatrix3; const b, c: TdMatrix3);
procedure dMULTIPLY0_331(var a: TdVector3; const b: TdMatrix3; const c: TdVector3);
function Vector3ScalarMul(const a: TdVector3; const Scalar: TdReal): TdVector3;
function Vector3ADD(const a, b: TdVector3): TdVector3;
function Vector3SUB(const a, b: TdVector3): TdVector3;
function Vector3Length(const a: TdVector3): TdReal;
function Vector3Cross(const v1, v2: TdVector3): TdVector3;
function Vector3Make(const x, y, z: TdReal): TdVector3;
procedure VerifyDelphiODE(body: PdxBody; geom: PdxGeom);
function InitODE(ADllName: PChar): boolean;
procedure CloseODE;

Types

Pd3Axis = ˆTd3Axis;
PdContact = ˆTdContact;
PdContactGeom = ˆTdContactGeom;
PdGeomClass = ˆTdGeomClass;
PdInteger3 = ˆTdInteger3;
PdIntegerArray = ˆTdIntegerArray;
PdMass = ˆTdMass;
PdMatrix3 = ˆTdMatrix3;
PdMatrix3_As3x4 = ˆTdMatrix3_As3x4;
PdMatrix4 = ˆTdMatrix4;
PdMatrix6 = ˆTdMatrix6;
PdObject = ˆTdObject;
PdQuaternion = ˆTdQuaternion;
PdReal = ˆTdReal;
PdRealArray = ˆTdRealArray;
PdRealHugeArray = ˆTdRealHugeArray;
PdVector3 = ˆTdVector3;
PdVector3Array = ˆTdVector3Array;
PdVector4 = ˆTdVector4;
PdxBody = ˆTdxBody;
PdxGeom = ˆTdxGeom;
PdxHashSpace = ˆTdxHashSpace;
PdxHeightfieldData = ˆTdxHeightfieldData;
PdxJoint = ˆTdxJoint;
PdxJointBall = ˆTdxJointBall;
PdxJointGroup = ˆTdxJointGroup;
PdxJointHinge = ˆTdxJointHinge;
PdxJointHinge2 = ˆTdxJointHinge2;
PdxJointLimitMotor = ˆTdxJointLimitMotor;
PdxJointLimitMotor3 = ˆTdxJointLimitMotor3;
PdxJointNode = ˆTdxJointNode;
PdxJointPiston = ˆTdxJointPiston;
PdxJointPR = ˆTdxJointPR;
PdxJointSlider = ˆTdxJointSlider;
PdxJointUniversial = ˆTdxJointUniversial;
PdxPosR = ˆTdxPosR;
PdxSimpleSpace = ˆTdxSimpleSpace;
PdxSpace = ˆTdxSpace;
PdxTriMeshData = ˆTdxTriMeshData;
PdxWorld = ˆTdxWorld;
PPdObject = ˆPdObject;
PPdxGeom = ˆPdxGeom;
PTdJointFeedback = ˆTdJointFeedback;
TBodyFlags = Integer;
Td3Axis = array [0 .. 2] of TdVector3;
TdAABB = array [0 .. 5] of TdReal;
TdAABBTestFn = function(o1, o2: PdxGeom; const aabb2: TdAABB): Integer; cdecl;
TdAngularMotorModeNumbers = (...);
TdColliderFn = function(o1, o2: PdxGeom; flags: Integer; contact: PdContactGeom; skip: Integer): Integer; cdecl;
TdContactType = Integer;
TdErrorType = (...);
TdGeomDtorFn = procedure(o: PdxGeom); cdecl;
TdGetAABBFn = procedure(g: PdxGeom; var aabb: TdAABB); cdecl;
TdGetColliderFnFn = function(num: Integer): TdColliderFn; cdecl;
TdInteger3 = array [0 .. 2] of Integer;
TdIntegerArray = array [0 .. 65535] of Integer;
TdJointGroupID = PdxJointGroup;
TdJointID = PdxJoint;
TdJointTypeNumbers = (...);
TdMatrix3 = array [0 .. 4 * 3 - 1] of TdReal;
TdMatrix3_As3x4 = array [0 .. 2, 0 .. 3] of TdReal;
TdMatrix4 = array [0 .. 4 * 4 - 1] of TdReal;
TdMatrix6 = array [0 .. 8 * 6 - 1] of TdReal;
TdMovedCallback = procedure(o1: PdxGeom); cdecl;
TdNearCallback = procedure(data: pointer; o1, o2: PdxGeom); cdecl;
TdQuaternion = TdVector4;
TdReal = single;
TdRealArray = array [0 .. 15] of TdReal;
TdRealHugeArray = array [0 .. 65535] of TdReal;
TdTriArrayCallback = procedure(TriMesh, RefObject: PdxGeom; TriIndices: PIntegerArray; TriCount: Integer);
TdTriCallback = function(TriMesh, RefObject: PdxGeom; TriangleIndex: Integer): Integer;
TdTriRayCallback = function(TriMesh, Ray: PdxGeom; TriangleIndex: Integer; u, v: TdReal): Integer;
TdVector3 = array [0 .. 3] of TdReal;
TdVector3Array = array [0 .. 65535] of TdVector3;
TdVector4 = array [0 .. 3] of TdReal;
TdxJointLimitMotor3 = array [0 .. 2] of TdxJointLimitMotor;
TdxJointNull = TdxJoint;
TdxSimpleSpace = TdxSpace;
TJointFlag = Integer;
TJointParams = Integer;

Constants

ODEDLL = 'ode32s.dll';
TRIMESH_FACE_NORMALS = 0;
TRIMESH_LAST_TRANSFORMATION = 1;
CONTACTS_UNIMPORTANT = $80000000;
dJOINT_INGROUP: TJointFlag = 1;
dJOINT_REVERSE: TJointFlag = 2;
dJOINT_TWOBODIES: TJointFlag = 4;
dContactMu2: TdContactType = $0001;
dContactFDir1: TdContactType = $0002;
dContactBounce: TdContactType = $0004;
dContactSoftERP: TdContactType = $0008;
dContactSoftCFM: TdContactType = $0010;
dContactMotion1: TdContactType = $0020;
dContactMotion2: TdContactType = $0040;
dContactMotionN: TdContactType = $0080;
dContactSlip1: TdContactType = $0100;
dContactSlip2: TdContactType = $0200;
dContactApprox0: TdContactType = $0000;
dContactApprox1_1: TdContactType = $1000;
dContactApprox1_2: TdContactType = $2000;
dContactApprox1: TdContactType = $3000;
dxBodyFlagFiniteRotation: TBodyFlags = 1;
dxBodyFlagFiniteRotationAxis: TBodyFlags = 2;
dxBodyDisabled: TBodyFlags = 4;
dxBodyNoGravity: TBodyFlags = 8;
_priv_dParamLoStop = $000;
_priv_dParamLoStop2 = $100;
_priv_dParamLoStop3 = $200;
dParamLoStop: TJointParams = _priv_dParamLoStop;
dParamHiStop: TJointParams = _priv_dParamLoStop + 1;
dParamVel: TJointParams = _priv_dParamLoStop + 2;
dParamFMax: TJointParams = _priv_dParamLoStop + 3;
dParamFudgeFactor: TJointParams = _priv_dParamLoStop + 4;
dParamBounce: TJointParams = _priv_dParamLoStop + 5;
dParamCFM: TJointParams = _priv_dParamLoStop + 6;
dParamStopERP: TJointParams = _priv_dParamLoStop + 7;
dParamStopCFM: TJointParams = _priv_dParamLoStop + 8;
dParamSuspensionERP: TJointParams = _priv_dParamLoStop + 9;
dParamSuspensionCFM: TJointParams = _priv_dParamLoStop + 10;
dParamERP: TJointParams = _priv_dParamLoStop + 11;
dParamGroup1: TJointParams = $000;
dParamLoStop1: TJointParams = _priv_dParamLoStop;
dParamHiStop1: TJointParams = _priv_dParamLoStop + 1;
dParamVel1: TJointParams = _priv_dParamLoStop + 2;
dParamFMax1: TJointParams = _priv_dParamLoStop + 3;
dParamFudgeFactor1: TJointParams = _priv_dParamLoStop + 4;
dParamBounce1: TJointParams = _priv_dParamLoStop + 5;
dParamCFM1: TJointParams = _priv_dParamLoStop + 6;
dParamStopERP1: TJointParams = _priv_dParamLoStop + 7;
dParamStopCFM1: TJointParams = _priv_dParamLoStop + 8;
dParamSuspensionERP1: TJointParams = _priv_dParamLoStop + 9;
dParamSuspensionCFM1: TJointParams = _priv_dParamLoStop + 10;
dParamERP1: TJointParams = _priv_dParamLoStop + 11;
dParamGroup2: TJointParams = $100;
dParamLoStop2: TJointParams = _priv_dParamLoStop2;
dParamHiStop2: TJointParams = _priv_dParamLoStop2 + 1;
dParamVel2: TJointParams = _priv_dParamLoStop2 + 2;
dParamFMax2: TJointParams = _priv_dParamLoStop2 + 3;
dParamFudgeFactor2: TJointParams = _priv_dParamLoStop2 + 4;
dParamBounce2: TJointParams = _priv_dParamLoStop2 + 5;
dParamCFM2: TJointParams = _priv_dParamLoStop2 + 6;
dParamStopERP2: TJointParams = _priv_dParamLoStop2 + 7;
dParamStopCFM2: TJointParams = _priv_dParamLoStop2 + 8;
dParamSuspensionERP2: TJointParams = _priv_dParamLoStop2 + 9;
dParamSuspensionCFM2: TJointParams = _priv_dParamLoStop2 + 10;
dParamERP2: TJointParams = _priv_dParamLoStop2 + 11;
dParamGroup3: TJointParams = $200;
dParamLoStop3: TJointParams = _priv_dParamLoStop3;
dParamHiStop3: TJointParams = _priv_dParamLoStop3 + 1;
dParamVel3: TJointParams = _priv_dParamLoStop3 + 2;
dParamFMax3: TJointParams = _priv_dParamLoStop3 + 3;
dParamFudgeFactor3: TJointParams = _priv_dParamLoStop3 + 4;
dParamBounce3: TJointParams = _priv_dParamLoStop3 + 5;
dParamCFM3: TJointParams = _priv_dParamLoStop3 + 6;
dParamStopERP3: TJointParams = _priv_dParamLoStop3 + 7;
dParamStopCFM3: TJointParams = _priv_dParamLoStop3 + 8;
dParamSuspensionERP3: TJointParams = _priv_dParamLoStop3 + 9;
dParamSuspensionCFM3: TJointParams = _priv_dParamLoStop3 + 10;
dParamERP3: TJointParams = _priv_dParamLoStop3 + 11;
dParamGroup: TJointParams = $100;
MaxUserClasses = 4;

Variables

dSphereClass: Integer = 0;
dBoxClass: Integer = 1;
dCapsuleClass: Integer = 2;
dCylinderClass: Integer = 3;
dPlaneClass: Integer = 4;
dRayClass: Integer = 5;
dConvexClass: Integer = 6;
dGeomTransformClass: Integer = 7;
dTriMeshClass: Integer = 8;
dHeightFieldClass: Integer = 9;
dFirstSpaceClass: Integer = 10;
dSimpleSpaceClass: Integer = 10;
dHashSpaceClass: Integer = 11;
dSweepAndPruneSpaceClass: Integer = 12;
dQuadTreeSpaceClass: Integer = 13;
dLastSpaceClass: Integer = 13;
dFirstUserClass: Integer = 14;
dLastUserClass: Integer = 17;
dGeomNumClasses: Integer = 18;
IsODEInitialized: boolean = false;
DisabledDebugGeom: boolean = false;
DisabledDebugCollision: boolean = false;

Description

Functions and Procedures

procedure dInitODE; cdecl; external ODEDLL;

added by PAR

function dInitODE2(uiInitFlags: longword): Integer; cdecl; external ODEDLL;
procedure dCloseODE; cdecl; external ODEDLL;
function dWorldCreate: PdxWorld; cdecl; external ODEDLL;

—– dWorld —–

procedure dWorldDestroy(const World: PdxWorld); cdecl; external ODEDLL;
function dWorldGetCFM(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
function dWorldGetERP(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldGetGravity(const World: PdxWorld; var gravity: TdVector3); cdecl; external ODEDLL;
procedure dWorldImpulseToForce(const World: PdxWorld; const stepsize, ix, iy, iz: TdReal; var force: TdVector3); cdecl; external ODEDLL;
procedure dWorldSetCFM(const World: PdxWorld; cfm: TdReal); cdecl; external ODEDLL;
procedure dWorldSetERP(const World: PdxWorld; erp: TdReal); cdecl; external ODEDLL;
procedure dWorldSetGravity(const World: PdxWorld; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dWorldSetContactMaxCorrectingVel(const World: PdxWorld; const vel: TdReal); cdecl; external ODEDLL;
function dWorldGetContactMaxCorrectingVel(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetContactSurfaceLayer(const World: PdxWorld; const depth: TdReal); cdecl; external ODEDLL;
function dWorldGetContactSurfaceLayer(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldExportDIF(const World: PdxWorld; fileHandle: cardinal; const world_name: PAnsiChar); cdecl; external ODEDLL;
function dWorldGetLinearDampingThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;

Damping

procedure dWorldSetLinearDampingThreshold(const World: PdxWorld; const threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAngularDampingThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAngularDampingThreshold(const World: PdxWorld; const threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetLinearDamping(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetLinearDamping(const World: PdxWorld; const scale: TdReal); cdecl; external ODEDLL;
function dWorldGetAngularDamping(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAngularDamping(const World: PdxWorld; const scale: TdReal); cdecl; external ODEDLL;
procedure dWorldSetDamping(const World: PdxWorld; const linear_scale, angular_scale: TdReal); cdecl; external ODEDLL;
function dWorldGetMaxAngularSpeed(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetMaxAngularSpeed(const World: PdxWorld; const max_speed: TdReal); cdecl; external ODEDLL;
procedure dWorldStep(const World: PdxWorld; const stepsize: TdReal); cdecl; external ODEDLL;

Step

procedure dWorldQuickStep(const World: PdxWorld; const stepsize: TdReal); cdecl; external ODEDLL;

QuickStep

procedure dWorldSetQuickStepNumIterations(const World: PdxWorld; const num: Integer); cdecl; external ODEDLL;
function dWorldGetQuickStepNumIterations(const World: PdxWorld): Integer; cdecl; external ODEDLL;
procedure dWorldSetQuickStepW(const World: PdxWorld; const param: TdReal); cdecl; external ODEDLL;
function dWorldGetQuickStepW(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
function dWorldGetAutoDisableLinearAverageThreshold(const World: PdxWorld) : TdReal; cdecl; external ODEDLL;

Auto-disable functions

procedure dWorldSetAutoDisableLinearAverageThreshold(const World: PdxWorld; linear_average_threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableAngularAverageThreshold(const World: PdxWorld) : TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableAngularAverageThreshold(const World: PdxWorld; linear_average_threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableAverageSamplesCount(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableAverageSamplesCount(const World: PdxWorld; linear_average_threshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableLinearThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableLinearThreshold(const World: PdxWorld; linThreshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableAngularThreshold(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableAngularThreshold(const World: PdxWorld; angThreshold: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableSteps(const World: PdxWorld): Integer; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableSteps(const World: PdxWorld; steps: Integer); cdecl; external ODEDLL;
function dWorldGetAutoDisableTime(const World: PdxWorld): TdReal; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableTime(const World: PdxWorld; time: TdReal); cdecl; external ODEDLL;
function dWorldGetAutoDisableFlag(const World: PdxWorld): Integer; cdecl; external ODEDLL;
procedure dWorldSetAutoDisableFlag(const World: PdxWorld; do_auto_disable: Integer); cdecl; external ODEDLL;
procedure dBodyAddForce(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;

—– dBody —–

procedure dBodyAddForceAtPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddForceAtRelPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelForce(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelForceAtPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelForceAtRelPos(const body: PdxBody; const fx, fy, fz, px, py, pz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddRelTorque(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
procedure dBodyAddTorque(const body: PdxBody; const fx, fy, fz: TdReal); cdecl; external ODEDLL;
function dBodyCreate(const World: PdxWorld): PdxBody; cdecl; external ODEDLL;
procedure dBodyDestroy(const body: PdxBody); cdecl; external ODEDLL;
procedure dBodyDisable(const body: PdxBody); cdecl; external ODEDLL;
procedure dBodyEnable(const body: PdxBody); cdecl; external ODEDLL;
function dBodyGetAngularVel(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
procedure dBodyGetFiniteRotationAxis(const body: PdxBody; var result: TdVector3); cdecl; external ODEDLL;
function dBodyGetFiniteRotationMode(const body: PdxBody): Integer; cdecl; external ODEDLL;
function dBodyGetForce(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
function dBodyGetGravityMode(const body: PdxBody): Integer; cdecl; external ODEDLL;
function dBodyGetJoint(const body: PdxBody; const index: Integer): TdJointID; cdecl; external ODEDLL;
function dBodyGetLinearVel(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
procedure dBodyGetMass(const body: PdxBody; var mass: TdMass); cdecl; external ODEDLL;
function dBodyGetNumJoints(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodyGetPointVel(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodyGetPosRelPoint(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
function dBodyGetPosition(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
function dBodyGetQuaternion(const body: PdxBody): PdQuaternion; cdecl; external ODEDLL;
procedure dBodyGetRelPointPos(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodyGetRelPointVel(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
function dBodyGetRotation(const body: PdxBody): PdMatrix3; cdecl; external ODEDLL;
function dBodyGetTorque(const body: PdxBody): PdVector3; cdecl; external ODEDLL;
function dBodyIsEnabled(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodySetAngularVel(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetFiniteRotationAxis(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetFiniteRotationMode(const body: PdxBody; const mode: Integer); cdecl; external ODEDLL;
procedure dBodySetForce(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetGravityMode(const body: PdxBody; const mode: Integer); cdecl; external ODEDLL;
procedure dBodySetLinearVel(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetMass(const body: PdxBody; const mass: PdMass); cdecl; external ODEDLL;
procedure dBodySetPosition(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodySetQuaternion(const body: PdxBody; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dBodySetRotation(const body: PdxBody; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dBodySetTorque(const body: PdxBody; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dBodyVectorFromWorld(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodyVectorToWorld(const body: PdxBody; const px, py, pz: TdReal; var result: TdVector3); cdecl; external ODEDLL;
procedure dBodySetData(const body: PdxBody; data: pointer); cdecl; external ODEDLL;
function dBodyGetData(const body: PdxBody): pointer; cdecl; external ODEDLL;
procedure dBodySetMovedCallback(const body: PdxBody; callback: TdMovedCallback); cdecl; external ODEDLL;
procedure dBodyCopyPosition(const body: PdxBody; const pos: TdVector3); cdecl; external ODEDLL;
procedure dBodyCopyRotation(const body: PdxBody; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dBodyCopyQuaternion(const body: PdxBody; const quat: TdQuaternion); cdecl; external ODEDLL;
procedure dBodySetLinearDamping(const body: PdxBody; scale: TdReal); cdecl; external ODEDLL;

damping functions

function dBodyGetLinearDamping(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAngularDamping(const body: PdxBody; scale: TdReal); cdecl; external ODEDLL;
function dBodyGetAngularDamping(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetDamping(const body: PdxBody; linear_scale, angular_scale: TdReal); cdecl; external ODEDLL;
function dBodyGetLinearDampingThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetLinearDampingThreshold(const body: PdxBody; threshold: TdReal); cdecl; external ODEDLL;
function dBodyGetAngularDampingThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAngularDampingThreshold(const body: PdxBody; threshold: TdReal); cdecl; external ODEDLL;
procedure dBodySetDampingDefaults(const body: PdxBody; threshold: TdReal); cdecl; external ODEDLL;
procedure dBodySetMaxAngularSpeed(const body: PdxBody; max_speed: TdReal); cdecl; external ODEDLL;
function dBodyGetMaxAngularSpeed(const body: PdxBody): TdReal; cdecl; external ODEDLL;
function dBodyGetAutoDisableLinearThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;

Auto-disable functions

procedure dBodySetAutoDisableLinearThreshold(const body: PdxBody; linThreshold: TdReal); cdecl; external ODEDLL;
function dBodyGetAutoDisableAngularThreshold(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAutoDisableAngularThreshold(const body: PdxBody; angThreshold: TdReal); cdecl; external ODEDLL;
function dBodyGetAutoDisableSteps(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodySetAutoDisableSteps(const body: PdxBody; steps: Integer); cdecl; external ODEDLL;
function dBodyGetAutoDisableTime(const body: PdxBody): TdReal; cdecl; external ODEDLL;
procedure dBodySetAutoDisableTime(const body: PdxBody; time: TdReal); cdecl; external ODEDLL;
function dBodyGetAutoDisableFlag(const body: PdxBody): Integer; cdecl; external ODEDLL;
procedure dBodySetAutoDisableFlag(const body: PdxBody; do_auto_disable: Integer); cdecl; external ODEDLL;
procedure dBodySetAutoDisableDefaults(const body: PdxBody); cdecl; external ODEDLL;
procedure dBodySetAutoDisableAverageSamplesCount(const body: PdxBody; average_samples_count: longword); cdecl; external ODEDLL;
procedure dJointGroupDestroy(const dJointGroupID: TdJointGroupID); cdecl; external ODEDLL;

—– dJoint —– normal joints

function dJointGroupCreate(const max_size: Integer): TdJointGroupID; cdecl; external ODEDLL;
procedure dJointGroupEmpty(const dJointGroupID: TdJointGroupID); cdecl; external ODEDLL;
procedure dJointAttach(const dJointID: TdJointID; const body1, body2: PdxBody); cdecl; external ODEDLL;
procedure dJointDestroy(const dJointID: TdJointID); cdecl; external ODEDLL;
function dJointGetData(const dJointID: TdJointID): pointer; cdecl; external ODEDLL;
procedure dJointSetData(const dJointID: TdJointID; data: pointer); cdecl; external ODEDLL;
procedure dJointSetFeedback(const dJointID: TdJointID; Feedback: PTdJointFeedback); cdecl; external ODEDLL;

callback routines for feedback of joints

function dJointGetFeedback(const dJointID: TdJointID): PTdJointFeedback; cdecl; external ODEDLL;
function dJointGetType(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
function dJointGetBody(const dJointID: TdJointID; const index: Integer) : PdxBody; cdecl; external ODEDLL;
function dJointCreateContact(const World: PdxWorld; dJointGroupID: TdJointGroupID; const dContact: PdContact): TdJointID; cdecl; external ODEDLL;

Contact

function dJointCreateAMotor(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

AMotor

procedure dJointSetAMotorAngle(const dJointID: TdJointID; const anum: Integer; const angle: TdReal); cdecl; external ODEDLL;
function dJointGetAMotorAngle(const dJointID: TdJointID; const anum: Integer) : TdReal; cdecl; external ODEDLL;
procedure dJointSetAMotorAxis(const dJointID: TdJointID; const anum, rel: Integer; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetAMotorAxis(const dJointID: TdJointID; const anum: Integer; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetAMotorNumAxes(const dJointID: TdJointID; const num: Integer); cdecl; external ODEDLL;
function dJointGetAMotorNumAxes(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
procedure dJointSetAMotorParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetAMotorParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
procedure dJointSetAMotorMode(const dJointID: TdJointID; const mode: TdAngularMotorModeNumbers); cdecl; external ODEDLL;
function dJointGetAMotorMode(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
procedure dJointAddAMotorTorques(const dJointID: TdJointID; torque1, torque2, torque3: TdReal); cdecl; external ODEDLL;
function dJointGetAMotorAngleRate(const dJointID: TdJointID; const anum: Integer): TdReal; cdecl; external ODEDLL;
function dJointGetAMotorAxisRel(const dJointID: TdJointID; const anum: Integer) : Integer; cdecl; external ODEDLL;
function dJointCreateLMotor(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

LMotor

procedure dJointSetLMotorAxis(const dJointID: TdJointID; const anum, rel: Integer; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetLMotorAxis(const dJointID: TdJointID; const anum: Integer; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetLMotorNumAxes(const dJointID: TdJointID; const num: Integer); cdecl; external ODEDLL;
function dJointGetLMotorNumAxes(const dJointID: TdJointID): Integer; cdecl; external ODEDLL;
procedure dJointSetLMotorParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetLMotorParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointCreateBall(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;

Ball

procedure dJointSetBallAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetBallAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetBallAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
function dJointCreateHinge(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;

Hinge

procedure dJointSetHingeAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHingeAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetHingeAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHingeAxis(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHingeAxis(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHingeParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetHingeParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetHingeAngle(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetHingeAngleRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointAddHingeTorque(const dJointID: TdJointID; torque: TdReal); cdecl; external ODEDLL;
function dJointCreateHinge2(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

Hinge2

procedure dJointSetHinge2Anchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHinge2Anchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetHinge2Anchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHinge2Axis1(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHinge2Axis1(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHinge2Axis2(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetHinge2Axis2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetHinge2Param(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetHinge2Param(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetHinge2Angle1(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetHinge2Angle1Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetHinge2Angle2Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointAddHinge2Torques(const dJointID: TdJointID; torque1, torque2: TdReal); cdecl; external ODEDLL;
procedure dJointCorrectHinge2(const dJointID: TdJointID); cdecl; external ODEDLL;
function dJointCreateSlider(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

Slider

procedure dJointSetSliderAxis(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetSliderAxis(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetSliderParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetSliderParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetSliderPosition(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetSliderPositionRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointAddSliderForce(const dJointID: TdJointID; force: TdReal); cdecl; external ODEDLL;
function dJointCreateUniversal(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

Universal

procedure dJointGetUniversalAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetUniversalAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetUniversalAxis1(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetUniversalAxis1(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetUniversalAxis2(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetUniversalAxis2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetUniversalParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetUniversalParam(const dJointID: TdJointID; const parameter: TJointParams): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle1(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle2(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle1Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetUniversalAngle2Rate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
procedure dJointSetUniversalAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointAddUniversalTorques(const dJointID: TdJointID; torque1, torque2: TdReal); cdecl; external ODEDLL;
function dJointCreateFixed(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;

Fixed

procedure dJointSetFixed(const dJointID: TdJointID); cdecl; external ODEDLL;
function dJointCreatePlane2D(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

Plane2D

procedure dJointSetPlane2DXParam(const dJointID: TdJointID; const parameter: Integer; const Value: TdReal); cdecl; external ODEDLL;
procedure dJointSetPlane2DYParam(const dJointID: TdJointID; const parameter: Integer; const Value: TdReal); cdecl; external ODEDLL;
procedure dJointSetPlane2DAngleParam(const dJointID: TdJointID; const parameter: Integer; const Value: TdReal); cdecl; external ODEDLL;
function dJointCreatePR(const World: PdxWorld; dJointGroupID: TdJointGroupID) : TdJointID; cdecl; external ODEDLL;

PR

procedure dJointSetPRAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointSetPRAxis1(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPRAxis1(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPRAxis2(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPRAxis2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPRParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetPRParam(const dJointID: TdJointID; parameter: Integer) : TdReal; cdecl; external ODEDLL;
procedure dJointAddPRTorque(const dJointID: TdJointID; torque: TdReal); cdecl; external ODEDLL;
function dJointCreatePiston(const World: PdxWorld; dJointGroupID: TdJointGroupID): TdJointID; cdecl; external ODEDLL;

Piston

procedure dJointSetPistonAnchor(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPistonAnchor(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointGetPistonAnchor2(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPistonAxis(const dJointID: TdJointID; const x, y, z: TdReal); cdecl; external ODEDLL;
procedure dJointGetPistonAxis(const dJointID: TdJointID; var result: TdVector3); cdecl; external ODEDLL;
procedure dJointSetPistonParam(const dJointID: TdJointID; const parameter: TJointParams; const Value: TdReal); cdecl; external ODEDLL;
function dJointGetPistonParam(const dJointID: TdJointID; parameter: Integer) : TdReal; cdecl; external ODEDLL;
procedure dJointSetPistonAxisDelta(const dJointID: TdJointID; const x, y, z, ax, ay, az: TdReal); cdecl; external ODEDLL;
procedure dJointAddPistonForce(const dJointID: TdJointID; force: TdReal); cdecl; external ODEDLL;
function dJointGetPistonPosition(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetPistonAngle(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetPistonAngleRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dJointGetPistonRate(const dJointID: TdJointID): TdReal; cdecl; external ODEDLL;
function dCreateGeom(classnum: Integer): PdxGeom; cdecl; external ODEDLL;

—– dGeom —–

procedure dGeomDestroy(const geom: PdxGeom); cdecl; external ODEDLL;
function dCreateGeomClass(const classptr: TdGeomClass): Integer; cdecl; external ODEDLL;
function dGeomGetClass(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dGeomGetClassData(o: PdxGeom): pointer; cdecl; external ODEDLL;
function dGeomGetSpace(const geom: PdxGeom): PdxSpace; cdecl; external ODEDLL;
function dGeomIsSpace(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomSetBody(const geom: PdxGeom; body: PdxBody); cdecl; external ODEDLL;
function dGeomGetBody(const geom: PdxGeom): PdxBody; cdecl; external ODEDLL;
procedure dGeomSetPosition(const geom: PdxGeom; const x, y, z: TdReal); cdecl; external ODEDLL;
function dGeomGetPosition(const geom: PdxGeom): PdVector3; cdecl; external ODEDLL;
procedure dGeomSetRotation(const geom: PdxGeom; const R: TdMatrix3); cdecl; external ODEDLL;
function dGeomGetRotation(const geom: PdxGeom): PdMatrix3; cdecl; external ODEDLL;
procedure dGeomSetQuaternion(const geom: PdxGeom; const TdQuaternion); cdecl; external ODEDLL;
procedure dGeomGetQuaternion(const geom: PdxGeom; var result: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomCopyPosition(const geom: PdxGeom; const pos: TdVector3); cdecl; external ODEDLL;
procedure dGeomCopyRotation(const geom: PdxGeom; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dGeomCopyQuaternion(const geom: PdxGeom; const quat: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomSetData(const geom: PdxGeom; data: pointer); cdecl; external ODEDLL;
function dGeomGetData(const geom: PdxGeom): pointer; cdecl; external ODEDLL;
procedure dGeomEnable(const geom: PdxGeom); cdecl; external ODEDLL;
procedure dGeomDisable(const geom: PdxGeom); cdecl; external ODEDLL;
function dGeomIsEnabled(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomGetAABB(const geom: PdxGeom; var aabb: TdAABB); cdecl; external ODEDLL;
procedure dGeomSetCategoryBits(const geom: PdxGeom; bits: cardinal); cdecl; external ODEDLL;
function dGeomGetCategoryBits(const geom: PdxGeom): cardinal; cdecl; external ODEDLL;
procedure dGeomSetCollideBits(const geom: PdxGeom; bits: cardinal); cdecl; external ODEDLL;
function dGeomGetCollideBits(const geom: PdxGeom): cardinal; cdecl; external ODEDLL;
procedure dGeomSetOffsetPosition(const geom: PdxGeom; x, y, z: TdReal); cdecl; external ODEDLL;
function dGeomGetOffsetPosition(const geom: PdxGeom): PdVector3; cdecl; external ODEDLL;
procedure dGeomSetOffsetRotation(const geom: PdxGeom; R: TdMatrix3); cdecl; external ODEDLL;
function dGeomGetOffsetRotation(const geom: PdxGeom): PdVector3; cdecl; external ODEDLL;
procedure dGeomSetOffsetQuaternion(const geom: PdxGeom; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomGetOffsetQuaternion(const geom: PdxGeom; var q: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomClearOffset(const geom: PdxGeom); cdecl; external ODEDLL;
procedure dGeomSetOffsetWorldPosition(const geom: PdxGeom; x, y, z: TdReal); cdecl; external ODEDLL;
procedure dGeomSetOffsetWorldRotation(const geom: PdxGeom; R: TdMatrix3); cdecl; external ODEDLL;
procedure dGeomSetOffsetWorldQuaternion(const geom: PdxGeom; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dGeomCopyOffsetPosition(const geom: PdxGeom; var pos: TdVector3); cdecl; external ODEDLL;
procedure dGeomCopyOffsetRotation(const geom: PdxGeom; var R: TdMatrix3); cdecl; external ODEDLL;
procedure dGeomIsOffset(const geom: PdxGeom); cdecl; external ODEDLL;
function dCreateGeomTransform(const Space: PdxSpace): PdxGeom; cdecl; external ODEDLL;

Transform

procedure dGeomTransformSetGeom(const geom, obj: PdxGeom); cdecl; external ODEDLL;
function dGeomTransformGetGeom(const geom: PdxGeom): PdxGeom; cdecl; external ODEDLL;
procedure dGeomTransformSetInfo(const geom: PdxGeom; mode: Integer); cdecl; external ODEDLL;
function dGeomTransformGetInfo(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomTransformSetCleanup(const geom: PdxGeom; const mode: Integer); cdecl; external ODEDLL;
function dGeomTransformGetCleanup(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dCreateBox(const Space: PdxSpace; const lx, ly, lz: TdReal): PdxGeom; cdecl; external ODEDLL;

Box

procedure dGeomBoxGetLengths(const geom: PdxGeom; var result: TdVector3); cdecl; external ODEDLL;
procedure dGeomBoxSetLengths(const geom: PdxGeom; const lx, ly, lz: TdReal); cdecl; external ODEDLL;
function dGeomBoxPointDepth(const geom: PdxGeom; const x, y, z: TdReal): TdReal; cdecl; external ODEDLL;
function dCreateCylinder(const Space: PdxSpace; R, lz: TdReal): PdxGeom; cdecl; external ODEDLL;

dCylinder (not a capped cylinder).

procedure dGeomCylinderSetParams(const geom: PdxGeom; radius, length: TdReal); cdecl; external ODEDLL;
procedure dGeomCylinderGetParams(const geom: PdxGeom; var radius, length: TdReal); cdecl; external ODEDLL;
function dCreateCapsule(const Space: PdxSpace; const radius, length: TdReal) : PdxGeom; cdecl; external ODEDLL;

dCapsule (a capped cylinder).

procedure dGeomCapsuleSetParams(const geom: PdxGeom; const radius, length: TdReal); cdecl; external ODEDLL;
procedure dGeomCapsuleGetParams(const geom: PdxGeom; var radius, length: TdReal); cdecl; external ODEDLL;
function dGeomCapsulePointDepth(const geom: PdxGeom; const x, y, z: TdReal) : TdReal; cdecl; external ODEDLL;
function dCreatePlane(const Space: PdxSpace; const a, b, c, d: TdReal): PdxGeom; cdecl; external ODEDLL;

Plane

procedure dGeomPlaneSetParams(const geom: PdxGeom; const a, b, c, d: TdReal); cdecl; external ODEDLL;
procedure dGeomPlaneGetParams(const geom: PdxGeom; var result: TdVector4); cdecl; external ODEDLL;
function dGeomPlanePointDepth(const geom: PdxGeom; const x, y, z: TdReal) : TdReal; cdecl; external ODEDLL;
function dCreateSphere(const Space: PdxSpace; const radius: TdReal): PdxGeom; cdecl; external ODEDLL;

Sphere

procedure dGeomSphereSetRadius(const geom: PdxGeom; const radius: TdReal); cdecl; external ODEDLL;
function dGeomSphereGetRadius(const geom: PdxGeom): TdReal; cdecl; external ODEDLL;
function dGeomSpherePointDepth(const geom: PdxGeom; const x, y, z: TdReal) : TdReal; cdecl; external ODEDLL;
function dCreateConvex(const Space: PdxSpace; _planes: PdReal; _planecount: longword; _points: PdReal; _pointcount: longword; const _polygons: longword): PdxGeom; cdecl; external ODEDLL;

Convex

procedure dGeomSetConvex(const geom: PdxGeom; _planes: PdReal; _planecount: longword; _points: PdReal; _pointcount: longword; const _polygons: longword); cdecl; external ODEDLL;
function dCreateHeightfield(const Space: PdxSpace; data: PdxHeightfieldData; bPlaceable: Integer): PdxGeom; cdecl; external ODEDLL;

Heightfield (incomplete)

function dGeomHeightfieldDataCreate: PdxHeightfieldData; cdecl; external ODEDLL;
procedure dGeomHeightfieldDataDestroy(data: PdxHeightfieldData); cdecl; external ODEDLL;
procedure dGeomHeightfieldSetHeightfieldData(const geom: PdxGeom; data: PdxHeightfieldData); cdecl; external ODEDLL;
function dGeomHeightfieldGetHeightfieldData(const geom: PdxGeom) : PdxHeightfieldData; cdecl; external ODEDLL;
function dGeomHeightfieldDataSetBounds(data: PdxHeightfieldData; minHeight, MaxHeight: TdReal): TdReal; cdecl; external ODEDLL;
function dCreateRay(const Space: PdxSpace; length: TdReal): PdxGeom; cdecl; external ODEDLL;

dRay

procedure dGeomRaySet(const geom: PdxGeom; px, py, pz, dx, dy, dz: TdReal); cdecl; external ODEDLL;
procedure dGeomRayGet(const geom: PdxGeom; var start, dir: TdVector3); cdecl; external ODEDLL;
procedure dGeomRaySetLength(const geom: PdxGeom; length: TdReal); cdecl; external ODEDLL;
function dGeomRayGetLength(const geom: PdxGeom): TdReal; cdecl; external ODEDLL;
procedure dGeomRaySetParams(const geom: PdxGeom; FirstContact, BackfacCull: Integer); cdecl; external ODEDLL;
procedure dGeomRayGetParams(const geom: PdxGeom; var FirstContact, BackfacCull: Integer); cdecl; external ODEDLL;
procedure dGeomRaySetClosestHit(const geom: PdxGeom; closestHit: Integer); cdecl; external ODEDLL;
function dGeomRayGetClosestHit(const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dCreateTriMesh(const Space: PdxSpace; data: PdxTriMeshData; callback: TdTriCallback; ArrayCallback: TdTriArrayCallback; RayCallback: TdTriRayCallback): PdxGeom; cdecl; external ODEDLL;

TriMesh

procedure dGeomTriMeshSetData(g: PdxGeom; data: PdxTriMeshData); cdecl; external ODEDLL;
function dGeomTriMeshGetData(g: PdxGeom): PdxTriMeshData; cdecl; external ODEDLL;
function dGeomTriMeshGetTriMeshDataID(g: PdxGeom): PdxTriMeshData; cdecl; external ODEDLL;
procedure dGeomTriMeshDataUpdate(g: PdxTriMeshData); cdecl; external ODEDLL;
function dGeomTriMeshIsTCEnabled(g: PdxGeom; geomClass: Integer): Integer; cdecl; external ODEDLL;
procedure dGeomTriMeshEnableTC(g: PdxGeom; geomClass, enable: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshClearTCCache(g: PdxGeom); cdecl; external ODEDLL;
function dGeomTriMeshGetTriangleCount(g: PdxGeom): Integer; cdecl; external ODEDLL;
procedure dGeomTriMeshGetTriangle(g: PdxGeom; index: Integer; v0, v1, v2: PdVector3); cdecl; external ODEDLL;
procedure dGeomTriMeshGetPoint(g: PdxGeom; index: Integer; u, v: TdReal; result: TdVector3); cdecl; external ODEDLL;
function dGeomTriMeshGetArrayCallback(g: PdxGeom): pointer; cdecl; external ODEDLL;
function dGeomTriMeshGetRayCallback(g: PdxGeom): pointer; cdecl; external ODEDLL;
procedure dGeomTriMeshSetArrayCallback(g: PdxGeom; ArrayCallback: pointer); cdecl; external ODEDLL;
procedure dGeomTriMeshSetRayCallback(g: PdxGeom; RayCallback: pointer); cdecl; external ODEDLL;
procedure dGeomTriMeshSetCallback(g: PdxGeom; callback: pointer); cdecl; external ODEDLL;
function dGeomTriMeshGetCallback(g: PdxGeom): pointer; cdecl; external ODEDLL;
procedure dGeomTriMeshDataDestroy(g: PdxTriMeshData); cdecl; external ODEDLL;
function dGeomTriMeshDataCreate: PdxTriMeshData; cdecl; external ODEDLL;
procedure dGeomTriMeshDataSet(g: PdxTriMeshData; data_id: Integer; data: pointer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSimple(g: PdxTriMeshData; Vertices: PdVector3Array; VertexCount: Integer; Indices: PdIntegerArray; IndexCount: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSimple1(g: PdxTriMeshData; Vertices: PdVector3Array; VertexCount: Integer; Indices: PdIntegerArray; IndexCount: Integer; Normals: PdVector3Array); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildDouble(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildDouble1(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer; Normals: PdVector3Array); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSingle(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer); cdecl; external ODEDLL;
procedure dGeomTriMeshDataBuildSingle1(g: PdxTriMeshData; Vertices: PdVector3Array; VertexStride, VertexCount: Integer; Indices: PdIntegerArray; IndexCount, TriStride: Integer; Normals: PdVector3Array); cdecl; external ODEDLL;
procedure dInfiniteAABB(geom: PdxGeom; var aabb: TdAABB); cdecl; external ODEDLL;
procedure dSpaceDestroy(const Space: PdxSpace); cdecl; external ODEDLL;

—– dSpace —–

function dSimpleSpaceCreate(Space: PdxSpace): PdxSpace; cdecl; external ODEDLL;
function dHashSpaceCreate(Space: PdxSpace): PdxSpace; cdecl; external ODEDLL;
function dQuadTreeSpaceCreate(const Space: PdxSpace; const Center, Extents: TdVector3; const depth: Integer): PdxSpace; cdecl; external ODEDLL;
procedure dSpaceAdd(const Space: PdxSpace; const geom: PdxGeom); cdecl; external ODEDLL;
procedure dSpaceRemove(const Space: PdxSpace; const geom: PdxGeom); cdecl; external ODEDLL;
procedure dSpaceClean(const Space: PdxSpace); cdecl; external ODEDLL;
function dSpaceQuery(const Space: PdxSpace; const geom: PdxGeom): Integer; cdecl; external ODEDLL;
function dSpaceGetNumGeoms(const Space: PdxSpace): Integer; cdecl; external ODEDLL;
function dSpaceGetGeom(const Space: PdxSpace; const I: Integer): PdxGeom; cdecl; external ODEDLL;
procedure dHashSpaceSetLevels(const Space: PdxSpace; const minlevel, maxlevel: Integer); cdecl; external ODEDLL;
procedure dHashSpaceGetLevels(const Space: PdxSpace; var minlevel, maxlevel: Integer); cdecl; external ODEDLL;
procedure dSpaceSetCleanup(Space: PdxSpace; const mode: Integer); cdecl; external ODEDLL;
function dSpaceGetCleanup(Space: PdxSpace): Integer; cdecl; external ODEDLL;
function dCollide(o1, o2: PdxGeom; flags: Integer; var contact: TdContactGeom; skip: Integer): Integer; cdecl; external ODEDLL;
procedure dSpaceCollide(const Space: PdxSpace; data: pointer; callback: TdNearCallback); cdecl; external ODEDLL;
procedure dSpaceCollide2(o1, o2: PdxGeom; data: pointer; callback: TdNearCallback); cdecl; external ODEDLL;
procedure dMassSetParameters(var m: TdMass; themass, cgx, cgy, cgz, I11, I22, I33, I12, I13, I23: TdReal); cdecl; external ODEDLL;

—– dMass —–

procedure dMassAdd(var a, b: TdMass); cdecl; external ODEDLL;
procedure dMassAdjust(var m: TdMass; newmass: TdReal); cdecl; external ODEDLL;
procedure dMassTranslate(var m: TdMass; x, y, z: TdReal); cdecl; external ODEDLL;
procedure dMassRotate(var m: TdMass; var R: TdMatrix3); cdecl; external ODEDLL;
procedure dMassSetZero(var m: TdMass); cdecl; external ODEDLL;
procedure dMassSetBox(var m: TdMass; density, lx, ly, lz: TdReal); cdecl; external ODEDLL;
procedure dMassSetBoxTotal(var m: TdMass; total_mass, lx, ly, lz: TdReal); cdecl; external ODEDLL;
procedure dMassSetCylinder(var m: TdMass; density: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetCylinderTotal(var m: TdMass; total_mass: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetCapsule(var m: TdMass; density: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetCapsuleTotal(var m: TdMass; total_mass: TdReal; direction: Integer; radius, length: TdReal); cdecl; external ODEDLL;
procedure dMassSetSphere(var m: TdMass; density, radius: TdReal); cdecl; external ODEDLL;
procedure dMassSetSphereTotal(var m: TdMass; total_mass, radius: TdReal); cdecl; external ODEDLL;
procedure dMassSetTrimesh(var m: TdMass; density: TdReal; TriMesh: PdxGeom); cdecl; external ODEDLL;
procedure dMassSetTrimeshTotal(var m: TdMass; total_mass: TdReal; TriMesh: PdxGeom); cdecl; external ODEDLL;
procedure dQFromAxisAndAngle(var q: TdQuaternion; const ax, ay, az, angle: TdReal); cdecl; external ODEDLL;

—– Rotation.h —–

procedure dRFromAxisAndAngle(var R: TdMatrix3; const ax, ay, az, angle: TdReal); cdecl; external ODEDLL;
procedure dRSetIdentity(var R: TdMatrix3); cdecl; external ODEDLL;
procedure dQSetIdentity(var q: TdQuaternion); cdecl; external ODEDLL;
procedure dRFromEulerAngles(var R: TdMatrix3; const phi, theta, psi: TdReal); cdecl; external ODEDLL;
procedure dRFrom2Axes(var R: TdMatrix3; const ax, ay, az, bx, by, bz: TdReal); cdecl; external ODEDLL;
procedure dRFromZAxis(var R: TdMatrix3; const ax, ay, az: TdReal); cdecl; external ODEDLL;
procedure dMultiply0(const a: PdReal; const b, c: PdReal; p, q, R: Integer); cdecl; external ODEDLL;
procedure dMultiply1(const a: PdReal; const b, c: PdReal; p, q, R: Integer); cdecl; external ODEDLL;
procedure dMultiply2(const a: PdReal; const b, c: PdReal; p, q, R: Integer); cdecl; external ODEDLL;
procedure dQMultiply0(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dQMultiply1(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dQMultiply2(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dQMultiply3(var qa: TdQuaternion; const qb, qc: TdQuaternion); cdecl; external ODEDLL;
procedure dRfromQ(var R: TdMatrix3; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dQfromR(var q: TdQuaternion; const R: TdMatrix3); cdecl; external ODEDLL;
procedure dDQfromW(var dq: TdVector4; const w: TdVector3; const q: TdQuaternion); cdecl; external ODEDLL;
procedure dNormalize3(var a: TdVector3); cdecl; external ODEDLL;

—– Math —–

procedure dNormalize4(var a: TdVector4); cdecl; external ODEDLL;
procedure dClosestLineSegmentPoints(const a1, a2, b1, b2: TdVector3; var cp1, cp2: TdVector3); cdecl; external ODEDLL;

—– Misc —–

function dBoxTouchesBox(const _p1: TdVector3; const R1: TdMatrix3; const side1: TdVector3; const _p2: TdVector3; const R2: TdMatrix3; const side2: TdVector3): Integer; cdecl; external ODEDLL;
function dMaxDifference(a, b: PdReal; n, m: Integer): TdReal; cdecl; external ODEDLL;
procedure dMakeRandomVector(var n1: TdVector3; a: Integer; f: TdReal); cdecl; external ODEDLL;
function dAreConnected(a, b: PdxBody): Integer; cdecl; external ODEDLL;
function dAreConnectedExcluding(a, b: PdxBody; joint_type: TdJointTypeNumbers) : Integer; cdecl; external ODEDLL;
procedure dMakeRandomMatrix(a: PdRealArray; n, m: Integer; range: TdReal); cdecl; external ODEDLL;
procedure dClearUpperTriangle(a: PdRealArray; n: Integer); cdecl; external ODEDLL;
function dRandGetSeed: cardinal; cdecl; external ODEDLL;
procedure dRandSetSeed(const s: cardinal); cdecl; external ODEDLL;
function dRandInt(const n: Integer): Integer; cdecl; external ODEDLL;
function dRandReal: TdReal; cdecl; external ODEDLL;
function dTestRand: Integer; cdecl; external ODEDLL;

return 1 if the random number generator is working.

procedure dTestMatrixComparison; cdecl; external ODEDLL;
procedure dTestSolveLCP; cdecl; external ODEDLL;
function dDot(const a, b: TdVector3): TdReal; overload;

—– Recreated —–

function dDot(const a, b: PdVector3): TdReal; overload;
function dDOT14(const a, b: TdRealArray): TdReal; overload;
function dDOT14(const a, b: PdRealArray): TdReal; overload;
procedure dMULTIPLY0_333(var a: TdMatrix3; const b, c: TdMatrix3);
procedure dMULTIPLY0_331(var a: TdVector3; const b: TdMatrix3; const c: TdVector3);
function Vector3ScalarMul(const a: TdVector3; const Scalar: TdReal): TdVector3;
function Vector3ADD(const a, b: TdVector3): TdVector3;
function Vector3SUB(const a, b: TdVector3): TdVector3;
function Vector3Length(const a: TdVector3): TdReal;
function Vector3Cross(const v1, v2: TdVector3): TdVector3;
function Vector3Make(const x, y, z: TdReal): TdVector3;
procedure VerifyDelphiODE(body: PdxBody; geom: PdxGeom);
function InitODE(ADllName: PChar): boolean;

These are made public in the dynamic version MRQZZZ

procedure CloseODE;

Types

Pd3Axis = ˆTd3Axis;
PdContact = ˆTdContact;
PdContactGeom = ˆTdContactGeom;
PdGeomClass = ˆTdGeomClass;
PdInteger3 = ˆTdInteger3;
PdIntegerArray = ˆTdIntegerArray;
PdMass = ˆTdMass;
PdMatrix3 = ˆTdMatrix3;
PdMatrix3_As3x4 = ˆTdMatrix3_As3x4;
PdMatrix4 = ˆTdMatrix4;
PdMatrix6 = ˆTdMatrix6;
PdObject = ˆTdObject;
PdQuaternion = ˆTdQuaternion;

array[0..3] of TdReal;

PdReal = ˆTdReal;
PdRealArray = ˆTdRealArray;
PdRealHugeArray = ˆTdRealHugeArray;
PdVector3 = ˆTdVector3;

Q: Why isn't TdVector3 = array[0..2] of TdReal? A: Because of SIMD alignment.

PdVector3Array = ˆTdVector3Array;
PdVector4 = ˆTdVector4;
PdxBody = ˆTdxBody;
PdxGeom = ˆTdxGeom;
PdxHashSpace = ˆTdxHashSpace;

//currently the space 'container' is just a list of the geoms in the space. struct dxHashSpace : public dxSpace { dxGeom *first; int global_minlevel; // smallest hash table level to put AABBs in int global_maxlevel; // objects that need a level larger than this will be // put in a "big objects" list instead of a hash table void destroy(); void add (dGeomID); void remove (dGeomID); void collide (void *data, dNearCallback *callback); int query (dGeomID); };

PdxHeightfieldData = ˆTdxHeightfieldData;
PdxJoint = ˆTdxJoint;
PdxJointBall = ˆTdxJointBall;
PdxJointGroup = ˆTdxJointGroup;

Pointers to internal ODE structures to reproduce C++ classes in Delphi

PdxJointHinge = ˆTdxJointHinge;
PdxJointHinge2 = ˆTdxJointHinge2;
PdxJointLimitMotor = ˆTdxJointLimitMotor;
PdxJointLimitMotor3 = ˆTdxJointLimitMotor3;
PdxJointNode = ˆTdxJointNode;
PdxJointPiston = ˆTdxJointPiston;
PdxJointPR = ˆTdxJointPR;
PdxJointSlider = ˆTdxJointSlider;
PdxJointUniversial = ˆTdxJointUniversial;
PdxPosR = ˆTdxPosR;

position vector and rotation matrix for geometry objects that are not connected to bodies.

PdxSimpleSpace = ˆTdxSimpleSpace;

//simple space - reports all nˆ2 object intersections struct dxSimpleSpace : public dxSpace { dGeomID first; void destroy(); void add (dGeomID); void remove (dGeomID); void collide (void *data, dNearCallback *callback); int query (dGeomID); };

PdxSpace = ˆTdxSpace;

struct dxSpace : public dBase { int type; // don't want to use RTTI virtual void destroy()=0; virtual void add (dGeomID)=0; virtual void remove (dGeomID)=0; virtual void collide (void *data, dNearCallback *callback)=0; virtual int query (dGeomID)=0; };

PdxTriMeshData = ˆTdxTriMeshData;
PdxWorld = ˆTdxWorld;
PPdObject = ˆPdObject;
PPdxGeom = ˆPdxGeom;
PTdJointFeedback = ˆTdJointFeedback;
TBodyFlags = Integer;

Change: New Type added, syntax enforcement

Td3Axis = array [0 .. 2] of TdVector3;
TdAABB = array [0 .. 5] of TdReal;

No typedef for AABB

TdAABBTestFn = function(o1, o2: PdxGeom; const aabb2: TdAABB): Integer; cdecl;
TdAngularMotorModeNumbers = (...);
Values
  • dAMotorUser
  • dAMotorEuler
TdColliderFn = function(o1, o2: PdxGeom; flags: Integer; contact: PdContactGeom; skip: Integer): Integer; cdecl;
TdContactType = Integer;

Change: New Type added, syntax enforcement

TdErrorType = (...);
Values
  • d_ERR_UNKNOWN
  • d_ERR_IASSERT: unknown error
  • d_ERR_UASSERT: user assertion failed */
  • d_ERR_LCP: user assertion failed */
TdGeomDtorFn = procedure(o: PdxGeom); cdecl;
TdGetAABBFn = procedure(g: PdxGeom; var aabb: TdAABB); cdecl;
TdGetColliderFnFn = function(num: Integer): TdColliderFn; cdecl;
TdInteger3 = array [0 .. 2] of Integer;
TdIntegerArray = array [0 .. 65535] of Integer;

Tri-list collider

TdJointGroupID = PdxJointGroup;
TdJointID = PdxJoint;
TdJointTypeNumbers = (...);
Values
  • dJointTypeNone
  • dJointTypeBall: or "unknown"
  • dJointTypeHinge
  • dJointTypeSlider
  • dJointTypeContact
  • dJointTypeUniversal
  • dJointTypeHinge2
  • dJointTypeFixed
  • dJointTypeNull
  • dJointTypeAMotor
  • dJointTypeLMotor
  • dJointTypePlane2D
  • dJointTypePR
  • dJointTypePU
  • dJointTypePiston
TdMatrix3 = array [0 .. 4 * 3 - 1] of TdReal;

typedef dReal dMatrix3[4*3];

TdMatrix3_As3x4 = array [0 .. 2, 0 .. 3] of TdReal;
TdMatrix4 = array [0 .. 4 * 4 - 1] of TdReal;

typedef dReal dMatrix4[4*4];

TdMatrix6 = array [0 .. 8 * 6 - 1] of TdReal;

typedef dReal dMatrix6[8*6];

TdMovedCallback = procedure(o1: PdxGeom); cdecl;

Whenever a body has its position or rotation changed during the timestep, the callback will be called (with body as the argument). Use it to know which body may need an update in an external structure (like a 3D engine).

TdNearCallback = procedure(data: pointer; o1, o2: PdxGeom); cdecl;

Collission callback structure

TdQuaternion = TdVector4;

typedef dReal dQuaternion[4];

TdReal = single;

body is not influenced by gravity

TdRealArray = array [0 .. 15] of TdReal;
TdRealHugeArray = array [0 .. 65535] of TdReal;
TdTriArrayCallback = procedure(TriMesh, RefObject: PdxGeom; TriIndices: PIntegerArray; TriCount: Integer);

Per object callback. Allows the user to get the list of triangles in 1 shot. Maybe we should remove this one.

TdTriCallback = function(TriMesh, RefObject: PdxGeom; TriangleIndex: Integer): Integer;

Per triangle callback. Allows the user to say if he wants a collision with a particular triangle.

TdTriRayCallback = function(TriMesh, Ray: PdxGeom; TriangleIndex: Integer; u, v: TdReal): Integer;

Allows the user to say if a ray collides with a triangle on barycentric coords. The user can for example sample a texture with alpha transparency to determine if a collision should occur.

TdVector3 = array [0 .. 3] of TdReal;

typedef dReal dVector33[4];

TdVector3Array = array [0 .. 65535] of TdVector3;
TdVector4 = array [0 .. 3] of TdReal;

typedef dReal dVector4[4];

TdxJointLimitMotor3 = array [0 .. 2] of TdxJointLimitMotor;
TdxJointNull = TdxJoint;
TdxSimpleSpace = TdxSpace;

Copies settings from TdxSpace, beacause pascal doeasn't do inheritance for records

TJointFlag = Integer;

Change: New Type added, syntax enforcement

TJointParams = Integer;

TJointParams = ( parameters for limits and motors Change: New Type added, sintax enforcement

Constants

ODEDLL = 'ode32s.dll';

********************************************************************

ODE precision:

ODE can be run in Single or Double precision, Single is less precise, but requires less memory.

If you choose to run in Single mode, you must deploy the single precision dll (this is default)

If you choose to run in Double mode, you must deploy the double precision dll (named ode_double.dll and located in the dll directory) Insert . before "$" to make ODEImport double based

TRIMESH_FACE_NORMALS = 0;

enum (* TRIMESH_FACE_NORMALS, TRIMESH_LAST_TRANSFORMATION ; *)

TRIMESH_LAST_TRANSFORMATION = 1;
CONTACTS_UNIMPORTANT = $80000000;

Just generate any contacts (disables any contact refining).

dJOINT_INGROUP: TJointFlag = 1;

These consts now have defined types if this flag is set, the joint was allocated in a joint group

dJOINT_REVERSE: TJointFlag = 2;

if this flag is set, the joint was attached with arguments (0,body). our convention is to treat all attaches as (body,0), i.e. so node[0].body is always nonzero, so this flag records the fact that the arguments were swapped

dJOINT_TWOBODIES: TJointFlag = 4;

if this flag is set, the joint can not have just one body attached to it, it must have either zero or two bodies attached

dContactMu2: TdContactType = $0001;

These consts now have defined types

dContactFDir1: TdContactType = $0002;
dContactBounce: TdContactType = $0004;
dContactSoftERP: TdContactType = $0008;
dContactSoftCFM: TdContactType = $0010;
dContactMotion1: TdContactType = $0020;
dContactMotion2: TdContactType = $0040;
dContactMotionN: TdContactType = $0080;
dContactSlip1: TdContactType = $0100;
dContactSlip2: TdContactType = $0200;
dContactApprox0: TdContactType = $0000;
dContactApprox1_1: TdContactType = $1000;
dContactApprox1_2: TdContactType = $2000;
dContactApprox1: TdContactType = $3000;
dxBodyFlagFiniteRotation: TBodyFlags = 1;

These consts now have defined types

dxBodyFlagFiniteRotationAxis: TBodyFlags = 2;

use finite rotations

dxBodyDisabled: TBodyFlags = 4;

use finite rotations only along axis

dxBodyNoGravity: TBodyFlags = 8;

body is disabled

_priv_dParamLoStop = $000;

These consts now have defined types

_priv_dParamLoStop2 = $100;
_priv_dParamLoStop3 = $200;
dParamLoStop: TJointParams = _priv_dParamLoStop;
dParamHiStop: TJointParams = _priv_dParamLoStop + 1;
dParamVel: TJointParams = _priv_dParamLoStop + 2;
dParamFMax: TJointParams = _priv_dParamLoStop + 3;
dParamFudgeFactor: TJointParams = _priv_dParamLoStop + 4;
dParamBounce: TJointParams = _priv_dParamLoStop + 5;
dParamCFM: TJointParams = _priv_dParamLoStop + 6;
dParamStopERP: TJointParams = _priv_dParamLoStop + 7;
dParamStopCFM: TJointParams = _priv_dParamLoStop + 8;
dParamSuspensionERP: TJointParams = _priv_dParamLoStop + 9;

parameters for suspension

dParamSuspensionCFM: TJointParams = _priv_dParamLoStop + 10;
dParamERP: TJointParams = _priv_dParamLoStop + 11;
dParamGroup1: TJointParams = $000;
dParamLoStop1: TJointParams = _priv_dParamLoStop;
dParamHiStop1: TJointParams = _priv_dParamLoStop + 1;
dParamVel1: TJointParams = _priv_dParamLoStop + 2;
dParamFMax1: TJointParams = _priv_dParamLoStop + 3;
dParamFudgeFactor1: TJointParams = _priv_dParamLoStop + 4;
dParamBounce1: TJointParams = _priv_dParamLoStop + 5;
dParamCFM1: TJointParams = _priv_dParamLoStop + 6;
dParamStopERP1: TJointParams = _priv_dParamLoStop + 7;
dParamStopCFM1: TJointParams = _priv_dParamLoStop + 8;
dParamSuspensionERP1: TJointParams = _priv_dParamLoStop + 9;

parameters for suspension

dParamSuspensionCFM1: TJointParams = _priv_dParamLoStop + 10;
dParamERP1: TJointParams = _priv_dParamLoStop + 11;
dParamGroup2: TJointParams = $100;

SECOND AXEL parameters for limits and motors

dParamLoStop2: TJointParams = _priv_dParamLoStop2;
dParamHiStop2: TJointParams = _priv_dParamLoStop2 + 1;
dParamVel2: TJointParams = _priv_dParamLoStop2 + 2;
dParamFMax2: TJointParams = _priv_dParamLoStop2 + 3;
dParamFudgeFactor2: TJointParams = _priv_dParamLoStop2 + 4;
dParamBounce2: TJointParams = _priv_dParamLoStop2 + 5;
dParamCFM2: TJointParams = _priv_dParamLoStop2 + 6;
dParamStopERP2: TJointParams = _priv_dParamLoStop2 + 7;
dParamStopCFM2: TJointParams = _priv_dParamLoStop2 + 8;
dParamSuspensionERP2: TJointParams = _priv_dParamLoStop2 + 9;

parameters for suspension

dParamSuspensionCFM2: TJointParams = _priv_dParamLoStop2 + 10;
dParamERP2: TJointParams = _priv_dParamLoStop2 + 11;
dParamGroup3: TJointParams = $200;

THIRD AXEL parameters for limits and motors

dParamLoStop3: TJointParams = _priv_dParamLoStop3;
dParamHiStop3: TJointParams = _priv_dParamLoStop3 + 1;
dParamVel3: TJointParams = _priv_dParamLoStop3 + 2;
dParamFMax3: TJointParams = _priv_dParamLoStop3 + 3;
dParamFudgeFactor3: TJointParams = _priv_dParamLoStop3 + 4;
dParamBounce3: TJointParams = _priv_dParamLoStop3 + 5;
dParamCFM3: TJointParams = _priv_dParamLoStop3 + 6;
dParamStopERP3: TJointParams = _priv_dParamLoStop3 + 7;
dParamStopCFM3: TJointParams = _priv_dParamLoStop3 + 8;
dParamSuspensionERP3: TJointParams = _priv_dParamLoStop3 + 9;

parameters for suspension

dParamSuspensionCFM3: TJointParams = _priv_dParamLoStop3 + 10;
dParamERP3: TJointParams = _priv_dParamLoStop3 + 11;
dParamGroup: TJointParams = $100;
MaxUserClasses = 4;

ExportInitODEMarker

Variables

dSphereClass: Integer = 0;
dBoxClass: Integer = 1;
dCapsuleClass: Integer = 2;
dCylinderClass: Integer = 3;
dPlaneClass: Integer = 4;
dRayClass: Integer = 5;
dConvexClass: Integer = 6;
dGeomTransformClass: Integer = 7;
dTriMeshClass: Integer = 8;
dHeightFieldClass: Integer = 9;
dFirstSpaceClass: Integer = 10;
dSimpleSpaceClass: Integer = 10;
dHashSpaceClass: Integer = 11;
dSweepAndPruneSpaceClass: Integer = 12;
dQuadTreeSpaceClass: Integer = 13;
dLastSpaceClass: Integer = 13;
dFirstUserClass: Integer = 14;
dLastUserClass: Integer = 17;
dGeomNumClasses: Integer = 18;
IsODEInitialized: boolean = false;
DisabledDebugGeom: boolean = false;
DisabledDebugCollision: boolean = false;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointGroup

Record TdxJointGroup

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointGroup = record

Description

Overview

Fields

Public | num: Integer;
Public | stack: pointer;

Description

Fields

Public num: Integer;
Public stack: pointer;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointLimitMotor

Record TdxJointLimitMotor

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointLimitMotor = record

Description

Overview

Fields

Public | vel: TdReal;
Public | fmax: TdReal;
Public | lostop: TdReal;
Public | histop: TdReal;
Public | fudge_factor: TdReal;
Public | normal_cfm: TdReal;
Public | stop_erp: TdReal;
Public | stop_sfm: TdReal;
Public | bounce: TdReal;
Public | limit: Integer;
Public | limit_err: TdReal;

Description

Fields

Public vel: TdReal;
Public fmax: TdReal;
Public lostop: TdReal;

powered joint: velocity, max force

Public histop: TdReal;

powered joint: velocity, max force

Public fudge_factor: TdReal;

joint limits, relative to initial position

Public normal_cfm: TdReal;

when powering away from joint limits

Public stop_erp: TdReal;

cfm to use when not at a stop

Public stop_sfm: TdReal;

cfm to use when not at a stop

Public bounce: TdReal;

erp and cfm for when at joint limit

Public limit: Integer;

restitution factor variables used between getInfo1() and getInfo2()

Public limit_err: TdReal;

0=free, 1=at lo limit, 2=at hi limit


GLSysHelp v.2.1: Physics.ODEImport: Record TdMass

Record TdMass

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdMass = record

Description

Overview

Fields

Public | mass: TdReal;
Public | c: TdVector4;
Public | I: TdMatrix3;

Description

Fields

Public mass: TdReal;
Public c: TdVector4;

total mass of the rigid body

Public I: TdMatrix3;

center of gravity position in body frame (x,y,z)


GLSysHelp v.2.1: Physics.ODEImport: Record TdxAutoDisable

Record TdxAutoDisable

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxAutoDisable = record

Description

Overview

Fields

Public | idle_time: TdReal;
Public | idle_steps: Integer;
Public | linear_average_threashold: TdReal;
Public | angular_average_threashold: TdReal;
Public | average_samples: longword;

Description

Fields

Public idle_time: TdReal;
Public idle_steps: Integer;

time the body needs to be idle to auto-disable it

Public linear_average_threashold: TdReal;

steps the body needs to be idle to auto-disable it

Public angular_average_threashold: TdReal;

linear (squared) average velocity threshold

Public average_samples: longword;

angular (squared) average velocity threshold


GLSysHelp v.2.1: Physics.ODEImport: Record TdxDampingParameters

Record TdxDampingParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxDampingParameters = record

Description

Overview

Fields

Public | linear_scale: TdReal;
Public | angular_scale: TdReal;
Public | linear_threahold: TdReal;
Public | angular_threashold: TdReal;

Description

Fields

Public linear_scale: TdReal;
Public angular_scale: TdReal;

multiply the linear velocity by (1 - scale)

Public linear_threahold: TdReal;

multiply the angular velocity by (1 - scale)

Public angular_threashold: TdReal;

linear (squared) average speed threshold


GLSysHelp v.2.1: Physics.ODEImport: Record TdxContactParameters

Record TdxContactParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxContactParameters = record

Description

Overview

Fields

Public | max_vel: TdReal;
Public | min_depth: TdReal;

Description

Fields

Public max_vel: TdReal;
Public min_depth: TdReal;

maximum correcting velocity


GLSysHelp v.2.1: Physics.ODEImport: Record TdxQuickStepParameters

Record TdxQuickStepParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxQuickStepParameters = record

Description

Overview

Fields

Public | num_iterations: Integer;
Public | w: TdReal;

Description

Fields

Public num_iterations: Integer;
Public w: TdReal;

number of SOR iterations to perform


GLSysHelp v.2.1: Physics.ODEImport: Record TdObject

Record TdObject

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdObject = record

Description

Overview

Fields

Public | World: PdxWorld;
Public | next: PdObject;
Public | tome: PPdObject;
Public | userdata: pointer;
Public | tag: Integer;

Description

Fields

Public World: PdxWorld;
Public next: PdObject;

world this object is in

Public tome: PPdObject;

next object of this type in list

Public userdata: pointer;

pointer to previous object's next ptr

Public tag: Integer;

user settable data


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointNode

Record TdxJointNode

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointNode = record

Description

Overview

Fields

Public | joint: PdxJoint;
Public | body: PdxBody;
Public | next: PdxJointNode;

Description

Fields

Public joint: PdxJoint;
Public body: PdxBody;

pointer to enclosing dxJoint object

Public next: PdxJointNode;

*other* body this joint is connected to


GLSysHelp v.2.1: Physics.ODEImport: Record TJointInfo1

Record TJointInfo1

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TJointInfo1 = record

Description

info returned by getInfo1 function. the constraint dimension is m (<=6). i.e. that is the total number of rows in the jacobian. `nub' is the number of unbounded variables (which have lo,hi = -/+ infinity).

Overview

Fields

Public | m: Integer;
Public | nub: Integer;

Description

Fields

Public m: Integer;
Public nub: Integer;


GLSysHelp v.2.1: Physics.ODEImport: Record TJointInfo2

Record TJointInfo2

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TJointInfo2 = record

Description

info returned by getInfo2 function

Overview

Fields

Public | fps: TdReal;
Public | erp: TdReal;
Public | J1l: PdReal;
Public | J1a: PdReal;
Public | J2l: PdReal;
Public | J2a: PdReal;
Public | rowskip: Integer;
Public | c: PdReal;
Public | cfm: PdReal;
Public | lo: PdReal;
Public | hi: PdReal;
Public | findex: pinteger;

Description

Fields

Public fps: TdReal;

integrator parameters: frames per second (1/stepsize), default error reduction parameter (0..1).

Public erp: TdReal;

integrator parameters: frames per second (1/stepsize), default error reduction parameter (0..1).

Public J1l: PdReal;

for the first and second body, pointers to two (linear and angular) n*3 jacobian sub matrices, stored by rows. these matrices will have been initialized to 0 on entry. if the second body is zero then the J2xx pointers may be 0.

Public J1a: PdReal;

for the first and second body, pointers to two (linear and angular) n*3 jacobian sub matrices, stored by rows. these matrices will have been initialized to 0 on entry. if the second body is zero then the J2xx pointers may be 0.

Public J2l: PdReal;

for the first and second body, pointers to two (linear and angular) n*3 jacobian sub matrices, stored by rows. these matrices will have been initialized to 0 on entry. if the second body is zero then the J2xx pointers may be 0.

Public J2a: PdReal;

for the first and second body, pointers to two (linear and angular) n*3 jacobian sub matrices, stored by rows. these matrices will have been initialized to 0 on entry. if the second body is zero then the J2xx pointers may be 0.

Public rowskip: Integer;

elements to jump from one row to the next in J's

Public c: PdReal;

right hand sides of the equation J*v = c + cfm * lambda. cfm is the "constraint force mixing" vector. c is set to zero on entry, cfm is set to a constant value (typically very small or zero) value on entry.

Public cfm: PdReal;

right hand sides of the equation J*v = c + cfm * lambda. cfm is the "constraint force mixing" vector. c is set to zero on entry, cfm is set to a constant value (typically very small or zero) value on entry.

Public lo: PdReal;

lo and hi limits for variables (set to -/+ infinity on entry).

Public hi: PdReal;

lo and hi limits for variables (set to -/+ infinity on entry).

Public findex: pinteger;

findex vector for variables. see the LCP solver interface for a description of what this does. this is set to -1 on entry. note that the returned indexes are relative to the first index of the constraint.


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJoint

Record TdxJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJoint = record

Description

Overview

Fields

Public | baseObject: TdObject;
Public | Info1: TJointInfo1;
Public | Info2: TJointInfo2;

Description

Fields

Public baseObject: TdObject;
Public Info1: TJointInfo1;
Public Info2: TJointInfo2;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointBall

Record TdxJointBall

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointBall = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | anchor1: TdVector3;
Public | anchor2: TdVector3;
Public | erp: TdReal;
Public | cfm: TdReal;

Description

Fields

Public BaseJoint: TdxJoint;
Public anchor1: TdVector3;
Public anchor2: TdVector3;

anchor w.r.t first body

Public erp: TdReal;

anchor w.r.t second body

Public cfm: TdReal;

error reduction


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointHinge

Record TdxJointHinge

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointHinge = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | anchor1: TdVector3;
Public | anchor2: TdVector3;
Public | axis1: TdVector3;
Public | axis2: TdVector3;
Public | qrel: TdQuaternion;
Public | limot: TdxJointLimitMotor;

Description

Fields

Public BaseJoint: TdxJoint;
Public anchor1: TdVector3;
Public anchor2: TdVector3;

anchor w.r.t first body

Public axis1: TdVector3;

anchor w.r.t second body

Public axis2: TdVector3;

axis w.r.t first body

Public qrel: TdQuaternion;

axis w.r.t second body

Public limot: TdxJointLimitMotor;

initial relative rotation body1 -> body2


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointUniversial

Record TdxJointUniversial

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointUniversial = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | anchor1: TdVector3;
Public | anchor2: TdVector3;
Public | axis1: TdVector3;
Public | axis2: TdVector3;
Public | qrel1: TdQuaternion;
Public | qrel2: TdQuaternion;
Public | limot1: TdxJointLimitMotor;
Public | limot2: TdxJointLimitMotor;

Description

Fields

Public BaseJoint: TdxJoint;
Public anchor1: TdVector3;
Public anchor2: TdVector3;

anchor w.r.t first body

Public axis1: TdVector3;

anchor w.r.t second body

Public axis2: TdVector3;

axis w.r.t first body

Public qrel1: TdQuaternion;

axis w.r.t second body

Public qrel2: TdQuaternion;

initial relative rotation body1 -> virtual cross piece

Public limot1: TdxJointLimitMotor;

initial relative rotation virtual cross piece -> body2

Public limot2: TdxJointLimitMotor;

limit and motor information for axis1


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointPR

Record TdxJointPR

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointPR = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | anchor2: TdVector3;
Public | axisR1: TdVector3;
Public | axisR2: TdVector3;
Public | axisP1: TdVector3;
Public | qrel: TdQuaternion;
Public | offset: TdVector3;
Public | limotR: TdxJointLimitMotor;
Public | limotP: TdxJointLimitMotor;

Description

Fields

Public BaseJoint: TdxJoint;
Public anchor2: TdVector3;
Public axisR1: TdVector3;

< @brief Position of the rotoide articulation < w.r.t second body. <

Note
Position of body 2 in world frame +
< anchor2 in world frame give the position < of the rotoide articulation

Public axisR2: TdVector3;

< axis of the rotoide articulation w.r.t first body. <

Note
This is considered as axis1 from the parameter
< view.

Public axisP1: TdVector3;

< axis of the rotoide articulation w.r.t second body. <

Note
This is considered also as axis1 from the
< parameter view

Public qrel: TdQuaternion;

< axis for the prismatic articulation w.r.t first body. <

Note
This is considered as axis2 in from the parameter
< view

Public offset: TdVector3;

< initial relative rotation body1 -> body2.

Public limotR: TdxJointLimitMotor;

< @brief vector between the body1 and the rotoide < articulation. < < Going from the first to the second in the frame < of body1. < That should be aligned with body1 center along axisP < This is calculated when the axis are set.

Public limotP: TdxJointLimitMotor;

< limit and motor information for the rotoide articulation.


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointPiston

Record TdxJointPiston

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointPiston = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | axis1: TdVector3;
Public | axis2: TdVector3;
Public | qrel: TdQuaternion;
Public | anchor1: TdVector3;
Public | anchor2: TdVector3;
Public | limotP: TdxJointLimitMotor;
Public | limotR: TdxJointLimitMotor;

Description

Fields

Public BaseJoint: TdxJoint;
Public axis1: TdVector3;
Public axis2: TdVector3;

< Axis of the prismatic and rotoide w.r.t first body

Public qrel: TdQuaternion;

< Axis of the prismatic and rotoide w.r.t second body

Public anchor1: TdVector3;

< Initial relative rotation body1 -> body2 Anchor w.r.t first body. This is the same as the offset for the Slider joint

Note
To find the position of the anchor when the body 1 has moved
you must add the position of the prismatic joint i.e anchor = R1 * anchor1 + dJointGetPistonPosition() * (R1 * axis1)

Public anchor2: TdVector3;
Public limotP: TdxJointLimitMotor;

< anchor w.r.t second body limit and motor information for the prismatic part of the joint

Public limotR: TdxJointLimitMotor;

limit and motor information for the rotoide part of the joint


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointSlider

Record TdxJointSlider

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointSlider = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | axis1: TdVector3;
Public | qrel: TdQuaternion;
Public | offset: TdVector3;
Public | limot: TdxJointLimitMotor;

Description

Fields

Public BaseJoint: TdxJoint;
Public axis1: TdVector3;
Public qrel: TdQuaternion;

axis w.r.t first body

Public offset: TdVector3;

initial relative rotation body1 -> body2

Public limot: TdxJointLimitMotor;

point relative to body2 that should be aligned with body1 center along axis1


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointHinge2

Record TdxJointHinge2

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointHinge2 = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | anchor1: TdVector3;
Public | anchor2: TdVector3;
Public | axis1: TdVector3;
Public | axis2: TdVector3;
Public | c0: TdReal;
Public | s0: TdReal;
Public | v1: TdVector3;
Public | v2: TdVector3;
Public | limot1: TdxJointLimitMotor;
Public | limot2: TdxJointLimitMotor;
Public | susp_erp: TdReal;
Public | susp_cfm: TdReal;

Description

Fields

Public BaseJoint: TdxJoint;
Public anchor1: TdVector3;
Public anchor2: TdVector3;

anchor w.r.t first body

Public axis1: TdVector3;

anchor w.r.t second body

Public axis2: TdVector3;

axis 1 w.r.t first body

Public c0: TdReal;

axis 2 w.r.t second body

Public s0: TdReal;

axis 2 w.r.t second body

Public v1: TdVector3;

cos,sin of desired angle between axis 1,2

Public v2: TdVector3;

cos,sin of desired angle between axis 1,2

Public limot1: TdxJointLimitMotor;

angle ref vectors embedded in first body

Public limot2: TdxJointLimitMotor;

limit+motor info for axis 1

Public susp_erp: TdReal;

limit+motor info for axis 2

Public susp_cfm: TdReal;

limit+motor info for axis 2


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointAMotor

Record TdxJointAMotor

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointAMotor = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | num: Integer;
Public | mode: Integer;
Public | rel: TdInteger3;
Public | axis: Td3Axis;
Public | limot: TdxJointLimitMotor3;
Public | angle: TdVector3;
Public | reference1: TdVector3;
Public | reference2: TdVector3;

Description

Fields

Public BaseJoint: TdxJoint;
Public num: Integer;
Public mode: Integer;

number of axes (0..3)

Public rel: TdInteger3;

a dAMotorXXX constant

Public axis: Td3Axis;

what the axes are relative to (global,b1,b2)

Public limot: TdxJointLimitMotor3;

three axes

Public angle: TdVector3;

limit+motor info for axes

Public reference1: TdVector3;

user-supplied angles for axes these vectors are used for calculating euler angles

Public reference2: TdVector3;

original axis[2], relative to body 1


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointLMotor

Record TdxJointLMotor

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointLMotor = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | num: Integer;
Public | rel: TdInteger3;
Public | axis: Td3Axis;
Public | limot: TdxJointLimitMotor3;

Description

Fields

Public BaseJoint: TdxJoint;
Public num: Integer;
Public rel: TdInteger3;
Public axis: Td3Axis;
Public limot: TdxJointLimitMotor3;

three axes


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointPlane2D

Record TdxJointPlane2D

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointPlane2D = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | row_motor_x: Integer;
Public | row_motor_y: Integer;
Public | row_motor_angle: Integer;
Public | motor_x: TdxJointLimitMotor;
Public | motor_y: TdxJointLimitMotor;
Public | motor_angle: TdxJointLimitMotor;

Description

Fields

Public BaseJoint: TdxJoint;
Public row_motor_x: Integer;
Public row_motor_y: Integer;
Public row_motor_angle: Integer;
Public motor_x: TdxJointLimitMotor;
Public motor_y: TdxJointLimitMotor;
Public motor_angle: TdxJointLimitMotor;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxJointFixed

Record TdxJointFixed

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxJointFixed = record

Description

Overview

Fields

Public | BaseJoint: TdxJoint;
Public | qrel: TdQuaternion;
Public | offset: TdVector3;
Public | erp: TdReal;
Public | cfm: TdReal;

Description

Fields

Public BaseJoint: TdxJoint;
Public qrel: TdQuaternion;
Public offset: TdVector3;

initial relative rotation body1 -> body2

Public erp: TdReal;

relative offset between the bodies

Public cfm: TdReal;

error reduction parameter


GLSysHelp v.2.1: Physics.ODEImport: Record TdxPosR

Record TdxPosR

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxPosR = record

Description

Overview

Fields

Public | pos: TdVector3;
Public | R: TdMatrix3;

Description

Fields

Public pos: TdVector3;
Public R: TdMatrix3;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxBody

Record TdxBody

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxBody = record

Description

Overview

Fields

Public | baseObject: TdObject;
Public | Padding: byte;
Public | firstjoint: TdJointID;
Public | flags: Integer;
Public | geom: PdxGeom;
Public | mass: TdMass;
Public | invI: TdMatrix3;
Public | invMass: TdReal;
Public | posr: TdxPosR;
Public | q: TdQuaternion;
Public | lvel: TdVector3;
Public | avel: TdVector3;
Public | facc: TdVector3;
Public | tacc: TdVector3;
Public | finite_rot_axis: TdVector3;
Public | adis: TdxAutoDisable;
Public | adis_timeleft: TdReal;
Public | adis_stepsleft: Integer;
Public | average_lvel_buffer: PdVector3;
Public | average_avel_buffer: PdVector3;
Public | average_counter: longword;
Public | average_ready: Integer;
Public | moved_callback: TdMovedCallback;
Public | dampingp: TdxDampingParameters;
Public | max_angular_speed: TdReal;

Description

Fields

Public baseObject: TdObject;
Public Padding: byte;
Public firstjoint: TdJointID;
Public flags: Integer;

list of attached joints

Public geom: PdxGeom;

some dxBodyFlagXXX flags

Public mass: TdMass;

first collision geom associated with body

Public invI: TdMatrix3;

mass parameters about POR

Public invMass: TdReal;

inverse of mass.I

Public posr: TdxPosR;

1 / mass.mass

Public q: TdQuaternion;

position and orientation of point of reference

Public lvel: TdVector3;

orientation quaternion

Public avel: TdVector3;

orientation quaternion

Public facc: TdVector3;

linear and angular velocity of POR

Public tacc: TdVector3;

linear and angular velocity of POR

Public finite_rot_axis: TdVector3;

force and torque accululators

Public adis: TdxAutoDisable;

finite rotation axis, unit length or 0=none

Public adis_timeleft: TdReal;

auto-disable parameters

Public adis_stepsleft: Integer;

time left to be idle

Public average_lvel_buffer: PdVector3;

steps left to be idle

Public average_avel_buffer: PdVector3;

buffer for the linear average velocity calculation

Public average_counter: longword;

buffer for the angular average velocity calculation

Public average_ready: Integer;

counter/index to fill the average-buffers

Public moved_callback: TdMovedCallback;

indicates ( with = 1 ), if the Body's buffers are ready for average-calculations

Public dampingp: TdxDampingParameters;

let the user know the body moved

Public max_angular_speed: TdReal;

damping parameters, depends on flags


GLSysHelp v.2.1: Physics.ODEImport: Class TBodyList

Class TBodyList

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TBodyList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TBodyList

Overview

Methods

Private | function GetItems(I: Integer): PdxBody;
Public | procedure DeleteAllBodies;
Private | procedure SetItems(I: Integer; const Value: PdxBody);

Properties

Public property Items[I:Integer]: PdxBody read GetItems write SetItems;

Description

Methods

Private function GetItems(I: Integer): PdxBody;
Public procedure DeleteAllBodies;
Private procedure SetItems(I: Integer; const Value: PdxBody);

Properties

Public property Items[I:Integer]: PdxBody read GetItems write SetItems;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxWorld

Record TdxWorld

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxWorld = record

Description

struct dxWorld : public dBase { dxBody *firstbody; // body linked list dxJoint *firstjoint; // joint linked list int nb,nj; // number of bodies and joints in lists dVector3 gravity; // gravity vector (m/s/s) dReal global_erp; // global error reduction parameter dReal global_cfm; // global costraint force mixing parameter };

Overview

Fields

Public | firstbody: PdxBody;
Public | firstjoint: PdxJoint;
Public | nb: Integer;
Public | nj: Integer;
Public | gravity: TdVector3;
Public | global_erp: TdReal;
Public | global_cfm: TdReal;
Public | adis: TdxAutoDisable;
Public | body_flags: Integer;
Public | qs: TdxQuickStepParameters;
Public | contactp: TdxContactParameters;
Public | dampingp: TdxDampingParameters;
Public | max_angular_speed: TdReal;

Description

Fields

Public firstbody: PdxBody;

(TdBase)

Public firstjoint: PdxJoint;

body linked list

Public nb: Integer;

joint linked list

Public nj: Integer;

joint linked list

Public gravity: TdVector3;

number of bodies and joints in lists

Public global_erp: TdReal;

gravity vector (m/s/s)

Public global_cfm: TdReal;

global error reduction parameter

Public adis: TdxAutoDisable;

global costraint force mixing parameter

Public body_flags: Integer;
Public qs: TdxQuickStepParameters;
Public contactp: TdxContactParameters;
Public dampingp: TdxDampingParameters;
Public max_angular_speed: TdReal;


GLSysHelp v.2.1: Physics.ODEImport: Record TdJointFeedback

Record TdJointFeedback

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdJointFeedback = record

Description

Overview

Fields

Public | f1: TdVector3;
Public | t1: TdVector3;
Public | f2: TdVector3;
Public | t2: TdVector3;

Description

Fields

Public f1: TdVector3;
Public t1: TdVector3;

force that joint applies to body 1

Public f2: TdVector3;

torque that joint applies to body 1

Public t2: TdVector3;

force that joint applies to body 2


GLSysHelp v.2.1: Physics.ODEImport: Record TdSurfaceParameters

Record TdSurfaceParameters

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdSurfaceParameters = record

Description

Overview

Fields

Public | mode: Integer;
Public | mu: TdReal;
Public | mu2: TdReal
Public | bounce: TdReal
Public | bounce_vel: TdReal
Public | soft_erp: TdReal
Public | soft_cfm: TdReal
Public | motion1: TdReal
Public | motion2: TdReal
Public | motionN: TdReal
Public | slip1: TdReal
Public | slip2: TdReal

Description

Fields

Public mode: Integer;

must always be defined

Public mu: TdReal;
Public mu2: TdReal

only defined if the corresponding flag is set in mode

Public bounce: TdReal

only defined if the corresponding flag is set in mode

Public bounce_vel: TdReal

only defined if the corresponding flag is set in mode

Public soft_erp: TdReal

only defined if the corresponding flag is set in mode

Public soft_cfm: TdReal

only defined if the corresponding flag is set in mode

Public motion1: TdReal

only defined if the corresponding flag is set in mode

Public motion2: TdReal

only defined if the corresponding flag is set in mode

Public motionN: TdReal

only defined if the corresponding flag is set in mode

Public slip1: TdReal

only defined if the corresponding flag is set in mode

Public slip2: TdReal

only defined if the corresponding flag is set in mode


GLSysHelp v.2.1: Physics.ODEImport: Record TdContactGeom

Record TdContactGeom

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdContactGeom = record

Description

Overview

Fields

Public | pos: TdVector3;
Public | normal: TdVector3;
Public | depth: TdReal;
Public | g1: PdxGeom;
Public | g2: PdxGeom;
Public | side1: Integer;
Public | side2: Integer;

Description

Fields

Public pos: TdVector3;
Public normal: TdVector3;
Public depth: TdReal;
Public g1: PdxGeom;
Public g2: PdxGeom;
Public side1: Integer;
Public side2: Integer;


GLSysHelp v.2.1: Physics.ODEImport: Record TdContact

Record TdContact

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdContact = record

Description

Overview

Fields

Public | surface: TdSurfaceParameters;
Public | geom: TdContactGeom;
Public | fdir1: TdVector3;

Description

Fields

Public surface: TdSurfaceParameters;
Public geom: TdContactGeom;
Public fdir1: TdVector3;


GLSysHelp v.2.1: Physics.ODEImport: Record TdGeomClass

Record TdGeomClass

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdGeomClass = record

Description

typedef struct dGeomClass { int bytes; dGetColliderFnFn *collider; dGetAABBFn *aabb; dAABBTestFn *aabb_test; dGeomDtorFn *dtor; } dGeomClass;

Overview

Fields

Public | bytes: Integer;
Public | collider: TdGetColliderFnFn;
Public | aabb: TdGetAABBFn;
Public | aabb_test: TdAABBTestFn;
Public | dtor: TdGeomDtorFn;

Description

Fields

Public bytes: Integer;
Public collider: TdGetColliderFnFn;

extra storage size

Public aabb: TdGetAABBFn;

collider function

Public aabb_test: TdAABBTestFn;

bounding box function

Public dtor: TdGeomDtorFn;

aabb tester, can be 0 for none


GLSysHelp v.2.1: Physics.ODEImport: Record TdxTriMeshData

Record TdxTriMeshData

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxTriMeshData = record

Description

struct dxTriMeshData{ Model BVTree; MeshInterface Mesh;

dxTriMeshData(); ˜dxTriMeshData();

void Build(const void* Vertices, int VertexStide, int VertexCount, const void* Indices, int IndexCount, int TriStride, const void* Normals, bool Single);

/* aabb in model space */ dVector3 AABBCenter; dVector3 AABBExtents;

/* data for use in collison resolution */ const void* Normals; Matrix4x4 last_trans; };

Overview

Fields

Public unknown: byte;

Description

Fields

Public unknown: byte;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxHeightfieldData

Record TdxHeightfieldData

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxHeightfieldData = record

Description

Overview

Fields

Public | m_fWidth: TdReal;
Public | m_fDepth: TdReal;
Public | m_fSampleWidth: TdReal;
Public | m_fSampleDepth: TdReal;
Public | m_fInvSampleWidth: TdReal;
Public | m_fInvSampleDepth: TdReal;
Public | m_fHalfWidth: TdReal;
Public | m_fHalfDepth: TdReal;
Public | m_fMinHeight: TdReal;
Public | m_fMaxHeight: TdReal;
Public | m_fThickness: TdReal;
Public | m_fScale: TdReal;
Public | m_fOffset: TdReal;
Public | m_nWidthSamples: Integer;
Public | m_nDepthSamples: Integer;
Public | m_bCopyHeightData: Integer;
Public | m_bWrapMode: Integer;
Public | m_nGetHeightMode: Integer;
Public | m_pHeightData: pointer;
Public | m_pUserData: pointer;
Public | m_contacts: PdContactGeom;

Description

Fields

Public m_fWidth: TdReal;
Public m_fDepth: TdReal;
Public m_fSampleWidth: TdReal;
Public m_fSampleDepth: TdReal;
Public m_fInvSampleWidth: TdReal;
Public m_fInvSampleDepth: TdReal;
Public m_fHalfWidth: TdReal;
Public m_fHalfDepth: TdReal;
Public m_fMinHeight: TdReal;
Public m_fMaxHeight: TdReal;
Public m_fThickness: TdReal;
Public m_fScale: TdReal;
Public m_fOffset: TdReal;
Public m_nWidthSamples: Integer;
Public m_nDepthSamples: Integer;
Public m_bCopyHeightData: Integer;
Public m_bWrapMode: Integer;
Public m_nGetHeightMode: Integer;
Public m_pHeightData: pointer;
Public m_pUserData: pointer;
Public m_contacts: PdContactGeom;


GLSysHelp v.2.1: Physics.ODEImport: Record TdGeomSpaceData

Record TdGeomSpaceData

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdGeomSpaceData = record

Description

typedef struct dGeomSpaceData { dGeomID next; } dGeomSpaceData;

Overview

Fields

Public next: PdxGeom;

Description

Fields

Public next: PdxGeom;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxGeom

Record TdxGeom

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxGeom = record

Description

// common data for all geometry objects. the class-specific data area follows // this structure. pos and R will either point to a separately allocated // buffer (if body is 0 - pos points to the dxPosR object) or to the pos and // R of the body (if body nonzero). struct dxGeom { // a dGeomID is a pointer to this dxGeomClass *_class; // class of this object void *data; // user data pointer dBodyID body; // dynamics body associated with this object (if any) dReal *pos; // pointer to object's position vector dReal *R; // pointer to object's rotation matrix dSpaceID spaceid; // the space this object is in dGeomSpaceData space; // reserved for use by space this object is in dReal *space_aabb; // ptr to aabb array held by dSpaceCollide() fn // class-specific data follows here, with proper alignment. };

Overview

Fields

Public | _type: Integer;
Public | Padding: byte;
Public | gflags: Integer;
Public | data: pointer;
Public | body: PdxBody;
Public | body_next: PdxGeom;
Public | final_posr: PdxPosR;
Public | offset_posr: PdxPosR;
Public | next: PdxGeom;
Public | tome: PPdxGeom;
Public | parent_space: PdxSpace;
Public | aabb: TdAABB;
Public | category_bits: longword;
Public | collide_bits: longword;

Description

Fields

Public _type: Integer;

a dGeomID is a pointer to this

Public Padding: byte;

class of this object

Public gflags: Integer;
Public data: pointer;
Public body: PdxBody;

user data pointer

Public body_next: PdxGeom;

dynamics body associated with this object (if any)

Public final_posr: PdxPosR;

next geom in body's linked list of associated geoms

Public offset_posr: PdxPosR;

final position of the geom in world coordinates

Public next: PdxGeom;

offset from body in local coordinates

Public tome: PPdxGeom;
Public parent_space: PdxSpace;
Public aabb: TdAABB;
Public category_bits: longword;
Public collide_bits: longword;


GLSysHelp v.2.1: Physics.ODEImport: Class TGeomList

Class TGeomList

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TGeomList = class(TList)

Description

Hierarchy

  • TObject
  • TList
  • TGeomList

Overview

Methods

Private | function GetItems(I: Integer): PdxGeom;
Public | procedure DeleteAllGeoms(DeleteDataAsObject: boolean = false);
Private | procedure SetItems(I: Integer; const Value: PdxGeom);

Properties

Public property Items[I:Integer]: PdxGeom read GetItems write SetItems;

Description

Methods

Private function GetItems(I: Integer): PdxGeom;
Public procedure DeleteAllGeoms(DeleteDataAsObject: boolean = false);
Private procedure SetItems(I: Integer; const Value: PdxGeom);

Properties

Public property Items[I:Integer]: PdxGeom read GetItems write SetItems;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxSpace

Record TdxSpace

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxSpace = record

Description

Overview

Fields

Public | baseGeom: TdxGeom;
Public | count: Integer;
Public | first: PdxGeom;
Public | cleanup: Integer;
Public | current_index: Integer;
Public | current_geom: PdxGeom;
Public | lock_count: Integer;

Description

Fields

Public baseGeom: TdxGeom;
Public count: Integer;
Public first: PdxGeom;
Public cleanup: Integer;
Public current_index: Integer;
Public current_geom: PdxGeom;
Public lock_count: Integer;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxHashSpace

Record TdxHashSpace

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxHashSpace = record

Description

Copies settings from TdxSpace, beacause pascal doeasn't do inheritance for records

Overview

Fields

Public | BaseSpace: TdxSpace;
Public | global_minlevel: Integer;
Public | global_maxlevel: Integer;

Description

Fields

Public BaseSpace: TdxSpace;
Public global_minlevel: Integer;
Public global_maxlevel: Integer;


GLSysHelp v.2.1: Physics.ODEImport: Record TdxQuadTreeSpace

Record TdxQuadTreeSpace

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEImport

Declaration

type TdxQuadTreeSpace = record

Description

Overview

Fields

Public | BaseSpace: TdxSpace;
Public | Blocks: pointer;
Public | DirtyList: pointer;

Description

Fields

Public BaseSpace: TdxSpace;
Public Blocks: pointer;
Public DirtyList: pointer;


GLSysHelp v.2.1: Physics.ODEManager

Unit Physics.ODEManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.Classes
  • System.SysUtils
  • System.Math
  • System.Types
  • GLS.OpenGLTokens
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.VectorGeometry
  • GLS.PipelineTransformation
  • GLS.PersistentClasses
  • GLS.Manager
  • GLS.XCollection
  • GLS.Scene
  • GLS.Context
  • GLS.Texture
  • GLS.Objects
  • GLS.Color
  • GLS.Coordinates
  • GLS.RenderContextInfo
  • GLS.State
  • GLS.TerrainRenderer
  • GLS.Graph
  • Physics.ODEImport
  • Physics.ODEUtils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLODEManager |
Class TGLODECollisionSurface |
Class TGLODEBehaviour |
Class TGLODEDynamic |
Class TGLODEStatic |
Class TGLODEElements |
Class TGLODEElementBase |
Class TGLODEElementBox |
Class TGLODEElementSphere |
Class TGLODEElementCapsule |
Class TGLODEElementCylinder |
Class TGLODEElementTriMesh |
Class TGLODEElementPlane |
Class TGLODEJoints |
Class TGLODEJointList |
Class TGLODEJointBase |
Class TGLODEJointParams |
Class TGLODEJointHinge |
Class TGLODEJointBall |
Class TGLODEJointSlider |
Class TGLODEJointFixed |
Class TGLODEJointHinge2 |
Class TGLODEJointUniversal |
Class TGLODEContactPoint |
Class TGLODECustomCollider |
Class TGLODEHeightField |

Functions and Procedures

procedure nearCallBack(Data: Pointer; o1, o2: PdxGeom); cdecl;
function GetBodyFromObject(anObject: TObject): PdxBody;
function GetBodyFromGLSceneObject(anObject: TGLBaseSceneObject): PdxBody;
function GetSurfaceFromObject(anObject: TObject): TGLODECollisionSurface;
procedure RegisterGLSceneObject(anObject: TGLBaseSceneObject);
procedure UnregisterGLSceneObject(anObject: TGLBaseSceneObject);
function GetGLSceneObject(anObjectName: String): TGLBaseSceneObject;
function GetOdeStatic(obj: TGLBaseSceneObject): TGLODEStatic;
function GetOrCreateOdeStatic(obj: TGLBaseSceneObject): TGLODEStatic;
function GetOdeDynamic(obj: TGLBaseSceneObject): TGLODEDynamic;
function GetOrCreateOdeDynamic(obj: TGLBaseSceneObject): TGLODEDynamic;
function GetODEHeightField(obj: TGLBaseSceneObject): TGLODEHeightField;
function GetOrCreateODEHeightField(obj: TGLBaseSceneObject): TGLODEHeightField;

Types

TGLODECollisionEvent = procedure (Sender : TObject; Object1, Object2 : TObject; var Contact:TdContact; var HandleCollision:Boolean) of object;
TGLODECollisionSurfaceMode = (...);
TGLODECustomCollisionEvent = procedure (Geom1, Geom2 : PdxGeom) of object;
TGLODEElementClass = class of TGLODEElementBase;
TGLODEGetParamCallback = function(Param: Integer; var Value: TdReal): Boolean of object;
TGLODEJointOption = (...);
TGLODEJointOptions = set of TGLODEJointOption;
TGLODEObjectCollisionEvent = procedure (Sender : TObject; Object2 : TObject; var Contact:TdContact; var HandleCollision:Boolean) of object;
TGLODESetParamCallback = function(Param: Integer; const Value: TdReal): Boolean of object;
TGLODESolverMethod = (...);
TGLODESurfaceModes = set of TGLODECollisionSurfaceMode;

Variables

vODEObjectRegister: TList;
vCustomColliderClass: TdGeomClass;
vCustomColliderClassNum: Integer;

Description

Functions and Procedures

procedure nearCallBack(Data: Pointer; o1, o2: PdxGeom); cdecl;

ODE nearCallBack, throws near callback to the collision procedure of the ODE manager linked by the Data pointer

function GetBodyFromObject(anObject: TObject): PdxBody;

Helper functions for extracting data from objects with different inheritance.

function GetBodyFromGLSceneObject(anObject: TGLBaseSceneObject): PdxBody;
function GetSurfaceFromObject(anObject: TObject): TGLODECollisionSurface;
procedure RegisterGLSceneObject(anObject: TGLBaseSceneObject);

GLODEObject register methods (used for joint object persistence)

procedure UnregisterGLSceneObject(anObject: TGLBaseSceneObject);
function GetGLSceneObject(anObjectName: String): TGLBaseSceneObject;
function GetOdeStatic(obj: TGLBaseSceneObject): TGLODEStatic;

Get and GetOrCreate functions for ode behaviours

function GetOrCreateOdeStatic(obj: TGLBaseSceneObject): TGLODEStatic;
function GetOdeDynamic(obj: TGLBaseSceneObject): TGLODEDynamic;
function GetOrCreateOdeDynamic(obj: TGLBaseSceneObject): TGLODEDynamic;
function GetODEHeightField(obj: TGLBaseSceneObject): TGLODEHeightField;

Get and GetOrCreate functions for ODE HeightField

function GetOrCreateODEHeightField(obj: TGLBaseSceneObject): TGLODEHeightField;

Types

TGLODECollisionEvent = procedure (Sender : TObject; Object1, Object2 : TObject; var Contact:TdContact; var HandleCollision:Boolean) of object;
TGLODECollisionSurfaceMode = (...);
Values
  • csmMu2
  • csmFDir1
  • csmBounce
  • csmSoftERP
  • csmSoftCFM
  • csmMotion1
  • csmMotion2
  • csmSlip1
  • csmSlip2
TGLODECustomCollisionEvent = procedure (Geom1, Geom2 : PdxGeom) of object;
TGLODEElementClass = class of TGLODEElementBase;
TGLODEGetParamCallback = function(Param: Integer; var Value: TdReal): Boolean of object;
TGLODEJointOption = (...);
Values
  • joBothObjectsMustBeAssigned
TGLODEJointOptions = set of TGLODEJointOption;
TGLODEObjectCollisionEvent = procedure (Sender : TObject; Object2 : TObject; var Contact:TdContact; var HandleCollision:Boolean) of object;
TGLODESetParamCallback = function(Param: Integer; const Value: TdReal): Boolean of object;
TGLODESolverMethod = (...);
Values
  • osmDefault
  • osmStepFast
  • osmQuickStep
TGLODESurfaceModes = set of TGLODECollisionSurfaceMode;

Variables

vODEObjectRegister: TList;
vCustomColliderClass: TdGeomClass;
vCustomColliderClassNum: Integer;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEManager

Class TGLODEManager

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEManager = class(TComponent)

Description

The visual component to manage behaviours of ODE objects

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLODEManager

Overview

Fields

Private | FWorld: PdxWorld;
Private | FSpace: PdxSpace;
Private | FContactGroup: TdJointGroupID;
Private | FGravity: TGLCoordinates;
Private | FOnCollision: TGLODECollisionEvent;
Private | FOnCustomCollision: TGLODECustomCollisionEvent;
Private | FNumContactJoints: Integer;
Private | FMaxContacts: Integer;
Private | FODEBehaviours: TPersistentObjectList;
Private | FRFContactList: TList;
Private | FIterations: Integer;
Private | FSolver: TGLODESolverMethod;
Private | FContacts: array of TdContact;
Private | FContactGeoms: array of TdContactGeom;
Private | FRenderPoint: TGLRenderPoint;
Private | FVisible: Boolean;
Private | FVisibleAtRunTime: Boolean;
Private | FGeomColorDynD: TGLColor;
Private | FGeomColorDynE: TGLColor;
Private | FGeomColorStat: TGLColor;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function GetODEBehaviour(index: Integer): TGLODEBehaviour;
Public | procedure NotifyChange(Sender: TObject);
Public | procedure Step(deltaTime: double);
Protected | procedure CalcContact(Object1, Object2: TObject; var Contact: TdContact);
Protected | procedure Collision(g1, g2: PdxGeom);
Protected | procedure GeomColorChangeDynD(Sender: TObject);
Protected | procedure GeomColorChangeDynE(Sender: TObject);
Protected | procedure GeomColorChangeStat(Sender: TObject);
Protected | procedure GravityChange(Sender: TObject);
Protected | procedure Loaded; override;
Protected | procedure RegisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);
Protected | procedure RenderEvent(Sender: TObject; var rci: TGLRenderContextInfo);
Protected | procedure RenderPointFreed(Sender: TObject);
Protected | procedure SetGeomColorDynD(const Value: TGLColor);
Protected | procedure SetGeomColorDynE(const Value: TGLColor);
Protected | procedure SetGeomColorStat(const Value: TGLColor);
Protected | procedure SetGravity(Value: TGLCoordinates);
Protected | procedure SetIterations(const val: Integer);
Protected | procedure SetMaxContacts(const Value: Integer);
Protected | procedure SetRenderPoint(const Value: TGLRenderPoint);
Protected | procedure SetVisible(const Value: Boolean);
Protected | procedure SetVisibleAtRunTime(const Value: Boolean);
Protected | procedure UnregisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);

Properties

Public | property ContactGroup: TdJointGroupID read FContactGroup;
Published | property GeomColorDynD: TGLColor read FGeomColorDynD write SetGeomColorDynD;
Published | property GeomColorDynE: TGLColor read FGeomColorDynE write SetGeomColorDynE;
Published | property GeomColorStat: TGLColor read FGeomColorStat write SetGeomColorStat;
Published | property Gravity: TGLCoordinates read FGravity write SetGravity;
Published | property Iterations: Integer read FIterations write SetIterations;
Published | property MaxContacts: Integer read FMaxContacts write SetMaxContacts;
Public | property NumContactJoints: Integer read FNumContactJoints;
Protected | property ODEBehaviours[index:Integer]: TGLODEBehaviour read GetODEBehaviour;
Published | property OnCollision: TGLODECollisionEvent read FOnCollision write FOnCollision;
Published | property OnCustomCollision: TGLODECustomCollisionEvent read FOnCustomCollision write FOnCustomCollision;
Published | property RenderPoint: TGLRenderPoint read FRenderPoint write SetRenderPoint;
Published | property Solver: TGLODESolverMethod read FSolver write FSolver;
Public | property Space: PdxSpace read FSpace;
Published | property Visible: Boolean read FVisible write SetVisible;
Published | property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime;
Public | property World: PdxWorld read FWorld;

Description

Fields

Private FWorld: PdxWorld;
Private FSpace: PdxSpace;
Private FContactGroup: TdJointGroupID;
Private FGravity: TGLCoordinates;
Private FOnCollision: TGLODECollisionEvent;
Private FOnCustomCollision: TGLODECustomCollisionEvent;
Private FNumContactJoints: Integer;
Private FMaxContacts: Integer;
Private FODEBehaviours: TPersistentObjectList;
Private FRFContactList: TList;
Private FIterations: Integer;
Private FSolver: TGLODESolverMethod;
Private FContacts: array of TdContact;
Private FContactGeoms: array of TdContactGeom;
Private FRenderPoint: TGLRenderPoint;
Private FVisible: Boolean;
Private FVisibleAtRunTime: Boolean;
Private FGeomColorDynD: TGLColor;
Private FGeomColorDynE: TGLColor;
Private FGeomColorStat: TGLColor;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function GetODEBehaviour(index: Integer): TGLODEBehaviour;
Public procedure NotifyChange(Sender: TObject);
Public procedure Step(deltaTime: double);
Protected procedure CalcContact(Object1, Object2: TObject; var Contact: TdContact);
Protected procedure Collision(g1, g2: PdxGeom);
Protected procedure GeomColorChangeDynD(Sender: TObject);
Protected procedure GeomColorChangeDynE(Sender: TObject);
Protected procedure GeomColorChangeStat(Sender: TObject);
Protected procedure GravityChange(Sender: TObject);
Protected procedure Loaded; override;
Protected procedure RegisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);
Protected procedure RenderEvent(Sender: TObject; var rci: TGLRenderContextInfo);
Protected procedure RenderPointFreed(Sender: TObject);
Protected procedure SetGeomColorDynD(const Value: TGLColor);
Protected procedure SetGeomColorDynE(const Value: TGLColor);
Protected procedure SetGeomColorStat(const Value: TGLColor);
Protected procedure SetGravity(Value: TGLCoordinates);
Protected procedure SetIterations(const val: Integer);
Protected procedure SetMaxContacts(const Value: Integer);
Protected procedure SetRenderPoint(const Value: TGLRenderPoint);
Protected procedure SetVisible(const Value: Boolean);
Protected procedure SetVisibleAtRunTime(const Value: Boolean);
Protected procedure UnregisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);

Properties

Public property ContactGroup: TdJointGroupID read FContactGroup;
Published property GeomColorDynD: TGLColor read FGeomColorDynD write SetGeomColorDynD;
Published property GeomColorDynE: TGLColor read FGeomColorDynE write SetGeomColorDynE;
Published property GeomColorStat: TGLColor read FGeomColorStat write SetGeomColorStat;
Published property Gravity: TGLCoordinates read FGravity write SetGravity;
Published property Iterations: Integer read FIterations write SetIterations;
Published property MaxContacts: Integer read FMaxContacts write SetMaxContacts;
Public property NumContactJoints: Integer read FNumContactJoints;
Protected property ODEBehaviours[index:Integer]: TGLODEBehaviour read GetODEBehaviour;
Published property OnCollision: TGLODECollisionEvent read FOnCollision write FOnCollision;
Published property OnCustomCollision: TGLODECustomCollisionEvent read FOnCustomCollision write FOnCustomCollision;
Published property RenderPoint: TGLRenderPoint read FRenderPoint write SetRenderPoint;
Published property Solver: TGLODESolverMethod read FSolver write FSolver;
Public property Space: PdxSpace read FSpace;
Published property Visible: Boolean read FVisible write SetVisible;
Published property VisibleAtRunTime: Boolean read FVisibleAtRunTime write SetVisibleAtRunTime;
Public property World: PdxWorld read FWorld;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODECollisionSurface

Class TGLODECollisionSurface

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODECollisionSurface = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLODECollisionSurface

Overview

Fields

Private | FOwner: TPersistent;
Private | FSurfaceParams: TdSurfaceParameters;
Private | FRFCoeff: Single;
Private | FRFEnabled: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent);
Public | function GetOwner: TPersistent; override;
Protected | function GetBounce: TdReal;
Protected | function GetBounce_Vel: TdReal;
Protected | function GetMotion1: TdReal;
Protected | function GetMotion2: TdReal;
Protected | function GetMu: TdReal;
Protected | function GetMu2: TdReal;
Protected | function GetSlip1: TdReal;
Protected | function GetSlip2: TdReal;
Protected | function GetSoftCFM: TdReal;
Protected | function GetSoftERP: TdReal;
Protected | function GetSurfaceMode: TGLODESurfaceModes;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure ReadFromFiler(reader: TReader);
Protected | procedure SetBounce(Value: TdReal);
Protected | procedure SetBounce_Vel(Value: TdReal);
Protected | procedure SetMotion1(Value: TdReal);
Protected | procedure SetMotion2(Value: TdReal);
Protected | procedure SetMu(Value: TdReal);
Protected | procedure SetMu2(Value: TdReal);
Protected | procedure SetSlip1(Value: TdReal);
Protected | procedure SetSlip2(Value: TdReal);
Protected | procedure SetSoftCFM(Value: TdReal);
Protected | procedure SetSoftERP(Value: TdReal);
Protected | procedure SetSurfaceMode(Value: TGLODESurfaceModes);
Protected | procedure WriteToFiler(writer: TWriter);

Properties

Published | property Bounce: TdReal read GetBounce write SetBounce;
Published | property Bounce_Vel: TdReal read GetBounce_Vel write SetBounce_Vel;
Published | property Motion1: TdReal read GetMotion1 write SetMotion1;
Published | property Motion2: TdReal read GetMotion2 write SetMotion2;
Published | property Mu: TdReal read GetMu write SetMu;
Published | property Mu2: TdReal read GetMu2 write SetMu2;
Published | property RollingFrictionCoeff: Single read FRFCoeff write FRFCoeff;
Published | property RollingFrictionEnabled: Boolean read FRFEnabled write FRFEnabled;
Published | property Slip1: TdReal read GetSlip1 write SetSlip1;
Published | property Slip2: TdReal read GetSlip2 write SetSlip2;
Published | property SoftCFM: TdReal read GetSoftCFM write SetSoftCFM;
Published | property SoftERP: TdReal read GetSoftERP write SetSoftERP;
Published | property SurfaceMode: TGLODESurfaceModes read GetSurfaceMode write SetSurfaceMode;

Description

Fields

Private FOwner: TPersistent;
Private FSurfaceParams: TdSurfaceParameters;
Private FRFCoeff: Single;
Private FRFEnabled: Boolean;

Methods

Public constructor Create(AOwner: TPersistent);
Public function GetOwner: TPersistent; override;
Protected function GetBounce: TdReal;
Protected function GetBounce_Vel: TdReal;
Protected function GetMotion1: TdReal;
Protected function GetMotion2: TdReal;
Protected function GetMu: TdReal;
Protected function GetMu2: TdReal;
Protected function GetSlip1: TdReal;
Protected function GetSlip2: TdReal;
Protected function GetSoftCFM: TdReal;
Protected function GetSoftERP: TdReal;
Protected function GetSurfaceMode: TGLODESurfaceModes;
Public procedure Assign(Source: TPersistent); override;
Protected procedure ReadFromFiler(reader: TReader);
Protected procedure SetBounce(Value: TdReal);
Protected procedure SetBounce_Vel(Value: TdReal);
Protected procedure SetMotion1(Value: TdReal);
Protected procedure SetMotion2(Value: TdReal);
Protected procedure SetMu(Value: TdReal);
Protected procedure SetMu2(Value: TdReal);
Protected procedure SetSlip1(Value: TdReal);
Protected procedure SetSlip2(Value: TdReal);
Protected procedure SetSoftCFM(Value: TdReal);
Protected procedure SetSoftERP(Value: TdReal);
Protected procedure SetSurfaceMode(Value: TGLODESurfaceModes);
Protected procedure WriteToFiler(writer: TWriter);

Properties

Published property Bounce: TdReal read GetBounce write SetBounce;
Published property Bounce_Vel: TdReal read GetBounce_Vel write SetBounce_Vel;
Published property Motion1: TdReal read GetMotion1 write SetMotion1;
Published property Motion2: TdReal read GetMotion2 write SetMotion2;
Published property Mu: TdReal read GetMu write SetMu;
Published property Mu2: TdReal read GetMu2 write SetMu2;
Published property RollingFrictionCoeff: Single read FRFCoeff write FRFCoeff;
Published property RollingFrictionEnabled: Boolean read FRFEnabled write FRFEnabled;
Published property Slip1: TdReal read GetSlip1 write SetSlip1;
Published property Slip2: TdReal read GetSlip2 write SetSlip2;
Published property SoftCFM: TdReal read GetSoftCFM write SetSoftCFM;
Published property SoftERP: TdReal read GetSoftERP write SetSoftERP;
Published property SurfaceMode: TGLODESurfaceModes read GetSurfaceMode write SetSurfaceMode;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEBehaviour

Class TGLODEBehaviour

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEBehaviour = class(TGLBehaviour)

Description

Basis structures for behaviour style implementations

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLODEBehaviour

Overview

Fields

Private | FManager: TGLODEManager;
Private | FManagerName: String;
Private | FSurface: TGLODECollisionSurface;
Private | FOnCollision: TGLODEObjectCollisionEvent;
Private | FInitialized: Boolean;
Private | FOwnerBaseSceneObject: TGLBaseSceneObject;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Protected | function GetAbsoluteMatrix: TGLMatrix;
Public | procedure NotifyChange(Sender: TObject);
Public | procedure Reinitialize;
Public | procedure Render(var rci: TGLRenderContextInfo); virtual;
Protected | procedure Finalize; virtual;
Protected | procedure Initialize; virtual;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetManager(Value: TGLODEManager);
Protected | procedure SetSurface(Value: TGLODECollisionSurface);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Public | property AbsoluteMatrix: TGLMatrix read GetAbsoluteMatrix;
Public | property Initialized: Boolean read FInitialized;
Published | property Manager: TGLODEManager read FManager write SetManager;
Published | property OnCollision: TGLODEObjectCollisionEvent read FOnCollision write FOnCollision;
Published | property Surface: TGLODECollisionSurface read FSurface write SetSurface;

Description

Fields

Private FManager: TGLODEManager;
Private FManagerName: String;
Private FSurface: TGLODECollisionSurface;
Private FOnCollision: TGLODEObjectCollisionEvent;
Private FInitialized: Boolean;
Private FOwnerBaseSceneObject: TGLBaseSceneObject;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Protected function GetAbsoluteMatrix: TGLMatrix;
Public procedure NotifyChange(Sender: TObject);
Public procedure Reinitialize;
Public procedure Render(var rci: TGLRenderContextInfo); virtual;
Protected procedure Finalize; virtual;
Protected procedure Initialize; virtual;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetManager(Value: TGLODEManager);
Protected procedure SetSurface(Value: TGLODECollisionSurface);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Public property AbsoluteMatrix: TGLMatrix read GetAbsoluteMatrix;
Public property Initialized: Boolean read FInitialized;
Published property Manager: TGLODEManager read FManager write SetManager;
Published property OnCollision: TGLODEObjectCollisionEvent read FOnCollision write FOnCollision;
Published property Surface: TGLODECollisionSurface read FSurface write SetSurface;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEDynamic

Class TGLODEDynamic

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEDynamic = class(TGLODEBehaviour)

Description

No description available, ancestor TGLODEBehaviour description follows

Basis structures for behaviour style implementations

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLODEBehaviour
  • TGLODEDynamic

Overview

Fields

Private | FBody: PdxBody;
Private | FMass: TdMass;
Private | FElements: TGLODEElements;
Private | FEnabled: Boolean;
Private | FJointRegister: TList;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function AddNewElement(AChild: TGLODEElementClass): TGLODEElementBase; dynamic;
Public | function CalculateMass: TdMass;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Protected | function GetEnabled: Boolean;
Protected | function GetMass: TdMass;
Public | procedure AddForce(Force: TAffineVector);
Public | procedure AddForceAtPos(Force, Pos: TAffineVector);
Public | procedure AddForceAtRelPos(Force, Pos: TAffineVector);
Public | procedure AddRelForce(Force: TAffineVector);
Public | procedure AddRelForceAtPos(Force, Pos: TAffineVector);
Public | procedure AddRelForceAtRelPos(Force, Pos: TAffineVector);
Public | procedure AddRelTorque(Torque: TAffineVector);
Public | procedure AddTorque(Torque: TAffineVector);
Public | procedure AlignObject;
Public | procedure CalibrateCenterOfMass;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure AlignBodyToMatrix(Mat: TGLMatrix);
Protected | procedure Finalize; override;
Protected | procedure Initialize; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure RegisterJoint(Joint: TGLODEJointBase);
Protected | procedure SetEnabled(const Value: Boolean);
Protected | procedure SetMass(const Value: TdMass);
Protected | procedure UnregisterJoint(Joint: TGLODEJointBase);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Public | property Body: PdxBody read FBody;
Published | property Elements: TGLODEElements read FElements;
Published | property Enabled: Boolean read GetEnabled write SetEnabled;
Public | property Mass: TdMass read GetMass write SetMass;

Description

Fields

Private FBody: PdxBody;
Private FMass: TdMass;
Private FElements: TGLODEElements;
Private FEnabled: Boolean;
Private FJointRegister: TList;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public function AddNewElement(AChild: TGLODEElementClass): TGLODEElementBase; dynamic;
Public function CalculateMass: TdMass;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Protected function GetEnabled: Boolean;
Protected function GetMass: TdMass;
Public procedure AddForce(Force: TAffineVector);
Public procedure AddForceAtPos(Force, Pos: TAffineVector);
Public procedure AddForceAtRelPos(Force, Pos: TAffineVector);
Public procedure AddRelForce(Force: TAffineVector);
Public procedure AddRelForceAtPos(Force, Pos: TAffineVector);
Public procedure AddRelForceAtRelPos(Force, Pos: TAffineVector);
Public procedure AddRelTorque(Torque: TAffineVector);
Public procedure AddTorque(Torque: TAffineVector);
Public procedure AlignObject;
Public procedure CalibrateCenterOfMass;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure AlignBodyToMatrix(Mat: TGLMatrix);
Protected procedure Finalize; override;
Protected procedure Initialize; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure RegisterJoint(Joint: TGLODEJointBase);
Protected procedure SetEnabled(const Value: Boolean);
Protected procedure SetMass(const Value: TdMass);
Protected procedure UnregisterJoint(Joint: TGLODEJointBase);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Public property Body: PdxBody read FBody;
Published property Elements: TGLODEElements read FElements;
Published property Enabled: Boolean read GetEnabled write SetEnabled;
Public property Mass: TdMass read GetMass write SetMass;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEStatic

Class TGLODEStatic

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEStatic = class(TGLODEBehaviour)

Description

No description available, ancestor TGLODEBehaviour description follows

Basis structures for behaviour style implementations

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLODEBehaviour
  • TGLODEStatic

Overview

Fields

Private FElements: TGLODEElements;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function AddNewElement(AChild: TGLODEElementClass): TGLODEElementBase; dynamic;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure AlignElements;
Protected | procedure Finalize; override;
Protected | procedure Initialize; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Elements: TGLODEElements read FElements;

Description

Fields

Private FElements: TGLODEElements;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public function AddNewElement(AChild: TGLODEElementClass): TGLODEElementBase; dynamic;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure AlignElements;
Protected procedure Finalize; override;
Protected procedure Initialize; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Elements: TGLODEElements read FElements;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElements

Class TGLODEElements

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElements = class(TXCollection)

Description

No description available, ancestor TXCollection description follows

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLODEElements

Overview

Methods

Public | destructor Destroy; override;
Public | class function ItemsClass: TXCollectionItemClass; override;
Private | function GetElement(index: Integer): TGLODEElementBase;
Public | procedure Finalize;
Public | procedure Initialize;
Public | procedure NotifyChange(Sender: TObject);
Public | procedure Render(var rci: TGLRenderContextInfo);

Properties

Public property Element[index:Integer]: TGLODEElementBase read GetElement;

Description

Methods

Public destructor Destroy; override;
Public class function ItemsClass: TXCollectionItemClass; override;
Private function GetElement(index: Integer): TGLODEElementBase;
Public procedure Finalize;
Public procedure Initialize;
Public procedure NotifyChange(Sender: TObject);
Public procedure Render(var rci: TGLRenderContextInfo);

Properties

Public property Element[index:Integer]: TGLODEElementBase read GetElement;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementBase

Class TGLODEElementBase

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementBase = class(TXCollectionItem)

Description

No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase

Overview

Fields

Private | FMass: TdMass;
Private | FDensity: TdReal;
Private | FGeomTransform: PdxGeom;
Private | FGeomElement: PdxGeom;
Private | FPosition: TGLCoordinates;
Private | FDirection: TGLCoordinates;
Private | FUp: TGLCoordinates;
Private | FLocalMatrix: TGLMatrix;
Private | FRealignODE: Boolean;
Private | FInitialized: Boolean;
Private | FDynamic: Boolean;
Private | FIsCalculating: Boolean;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function AbsoluteMatrix: TGLMatrix;
Public | function AbsolutePosition: TAffineVector;
Protected | function CalculateMass: TdMass; virtual;
Protected | function GetMatrix: TGLMatrix;
Protected | function IsODEInitialized: Boolean;
Public | procedure Render(var rci: TGLRenderContextInfo); virtual;
Protected | procedure AlignGeomElementToMatrix(Mat: TGLMatrix); virtual;
Protected | procedure CoordinateChanged(Sender: TObject);
Protected | procedure Finalize; virtual;
Protected | procedure Initialize; virtual;
Protected | procedure NotifyChange(Sender: TObject);
Protected | procedure ODERebuild; virtual;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure RebuildMatrix;
Protected | procedure RebuildVectors;
Protected | procedure SetDensity(const Value: TdReal);
Protected | procedure SetDirection(const Value: TGLCoordinates);
Protected | procedure SetGeomElement(aGeom: PdxGeom);
Protected | procedure SetMatrix(const Value: TGLMatrix);
Protected | procedure SetPosition(const Value: TGLCoordinates);
Protected | procedure SetUp(const Value: TGLCoordinates);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Density: TdReal read FDensity write SetDensity;
Published | property Direction: TGLCoordinates read FDirection write SetDirection;
Public | property Geom: PdxGeom read FGeomElement;
Public | property GeomTransform: PdxGeom read FGeomTransform;
Public | property Initialized: Boolean read FInitialized;
Public | property Matrix: TGLMatrix read GetMatrix write SetMatrix;
Published | property Position: TGLCoordinates read FPosition write SetPosition;
Published | property Up: TGLCoordinates read FUp write SetUp;

Description

Fields

Private FMass: TdMass;
Private FDensity: TdReal;
Private FGeomTransform: PdxGeom;
Private FGeomElement: PdxGeom;
Private FPosition: TGLCoordinates;
Private FDirection: TGLCoordinates;
Private FUp: TGLCoordinates;
Private FLocalMatrix: TGLMatrix;
Private FRealignODE: Boolean;
Private FInitialized: Boolean;
Private FDynamic: Boolean;
Private FIsCalculating: Boolean;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public function AbsoluteMatrix: TGLMatrix;
Public function AbsolutePosition: TAffineVector;
Protected function CalculateMass: TdMass; virtual;
Protected function GetMatrix: TGLMatrix;
Protected function IsODEInitialized: Boolean;
Public procedure Render(var rci: TGLRenderContextInfo); virtual;
Protected procedure AlignGeomElementToMatrix(Mat: TGLMatrix); virtual;
Protected procedure CoordinateChanged(Sender: TObject);
Protected procedure Finalize; virtual;
Protected procedure Initialize; virtual;
Protected procedure NotifyChange(Sender: TObject);
Protected procedure ODERebuild; virtual;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure RebuildMatrix;
Protected procedure RebuildVectors;
Protected procedure SetDensity(const Value: TdReal);
Protected procedure SetDirection(const Value: TGLCoordinates);
Protected procedure SetGeomElement(aGeom: PdxGeom);
Protected procedure SetMatrix(const Value: TGLMatrix);
Protected procedure SetPosition(const Value: TGLCoordinates);
Protected procedure SetUp(const Value: TGLCoordinates);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Density: TdReal read FDensity write SetDensity;
Published property Direction: TGLCoordinates read FDirection write SetDirection;
Public property Geom: PdxGeom read FGeomElement;
Public property GeomTransform: PdxGeom read FGeomTransform;
Public property Initialized: Boolean read FInitialized;
Public property Matrix: TGLMatrix read GetMatrix write SetMatrix;
Published property Position: TGLCoordinates read FPosition write SetPosition;
Published property Up: TGLCoordinates read FUp write SetUp;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementBox

Class TGLODEElementBox

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementBox = class(TGLODEElementBase)

Description

ODE box implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase
  • TGLODEElementBox

Overview

Fields

Private | FBoxWidth: TdReal;
Private | FBoxHeight: TdReal;
Private | FBoxDepth: TdReal;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function CalculateMass: TdMass; override;
Protected | function GetBoxDepth: TdReal;
Protected | function GetBoxHeight: TdReal;
Protected | function GetBoxWidth: TdReal;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure Initialize; override;
Protected | procedure ODERebuild; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetBoxDepth(const Value: TdReal);
Protected | procedure SetBoxHeight(const Value: TdReal);
Protected | procedure SetBoxWidth(const Value: TdReal);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property BoxDepth: TdReal read GetBoxDepth write SetBoxDepth;
Published | property BoxHeight: TdReal read GetBoxHeight write SetBoxHeight;
Published | property BoxWidth: TdReal read GetBoxWidth write SetBoxWidth;

Description

Fields

Private FBoxWidth: TdReal;
Private FBoxHeight: TdReal;
Private FBoxDepth: TdReal;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function CalculateMass: TdMass; override;
Protected function GetBoxDepth: TdReal;
Protected function GetBoxHeight: TdReal;
Protected function GetBoxWidth: TdReal;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure Initialize; override;
Protected procedure ODERebuild; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetBoxDepth(const Value: TdReal);
Protected procedure SetBoxHeight(const Value: TdReal);
Protected procedure SetBoxWidth(const Value: TdReal);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property BoxDepth: TdReal read GetBoxDepth write SetBoxDepth;
Published property BoxHeight: TdReal read GetBoxHeight write SetBoxHeight;
Published property BoxWidth: TdReal read GetBoxWidth write SetBoxWidth;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementSphere

Class TGLODEElementSphere

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementSphere = class(TGLODEElementBase)

Description

ODE sphere implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase
  • TGLODEElementSphere

Overview

Fields

Private FRadius: TdReal;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function CalculateMass: TdMass; override;
Protected | function GetRadius: TdReal;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure Initialize; override;
Protected | procedure ODERebuild; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetRadius(const Value: TdReal);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Radius: TdReal read GetRadius write SetRadius;

Description

Fields

Private FRadius: TdReal;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function CalculateMass: TdMass; override;
Protected function GetRadius: TdReal;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure Initialize; override;
Protected procedure ODERebuild; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetRadius(const Value: TdReal);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Radius: TdReal read GetRadius write SetRadius;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementCapsule

Class TGLODEElementCapsule

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementCapsule = class(TGLODEElementBase)

Description

ODE capped cylinder implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase
  • TGLODEElementCapsule

Overview

Fields

Private | FRadius: TdReal;
Private | FLength: TdReal;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function CalculateMass: TdMass; override;
Protected | function GetLength: TdReal;
Protected | function GetRadius: TdReal;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure Initialize; override;
Protected | procedure ODERebuild; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetLength(const Value: TdReal);
Protected | procedure SetRadius(const Value: TdReal);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Length: TdReal read GetLength write SetLength;
Published | property Radius: TdReal read GetRadius write SetRadius;

Description

Fields

Private FRadius: TdReal;
Private FLength: TdReal;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function CalculateMass: TdMass; override;
Protected function GetLength: TdReal;
Protected function GetRadius: TdReal;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure Initialize; override;
Protected procedure ODERebuild; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetLength(const Value: TdReal);
Protected procedure SetRadius(const Value: TdReal);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Length: TdReal read GetLength write SetLength;
Published property Radius: TdReal read GetRadius write SetRadius;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementCylinder

Class TGLODEElementCylinder

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementCylinder = class(TGLODEElementBase)

Description

ODE cylinder implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase
  • TGLODEElementCylinder

Overview

Fields

Private | FRadius: TdReal;
Private | FLength: TdReal;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function CalculateMass: TdMass; override;
Protected | function GetLength: TdReal;
Protected | function GetRadius: TdReal;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure Initialize; override;
Protected | procedure ODERebuild; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetLength(const Value: TdReal);
Protected | procedure SetRadius(const Value: TdReal);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Length: TdReal read GetLength write SetLength;
Published | property Radius: TdReal read GetRadius write SetRadius;

Description

Fields

Private FRadius: TdReal;
Private FLength: TdReal;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function CalculateMass: TdMass; override;
Protected function GetLength: TdReal;
Protected function GetRadius: TdReal;
Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure Initialize; override;
Protected procedure ODERebuild; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetLength(const Value: TdReal);
Protected procedure SetRadius(const Value: TdReal);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Length: TdReal read GetLength write SetLength;
Published property Radius: TdReal read GetRadius write SetRadius;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementTriMesh

Class TGLODEElementTriMesh

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementTriMesh = class(TGLODEElementBase)

Description

ODE tri-mesh implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase
  • TGLODEElementTriMesh

Overview

Fields

Private | FTriMeshData: PdxTriMeshData;
Private | FVertices: TAffineVectorList;
Private | FIndices: TIntegerList;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function CalculateMass: TdMass; override;
Public | procedure RefreshTriMeshData;
Protected | procedure Finalize; override;
Protected | procedure Initialize; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetIndices(const Value: TIntegerList);
Protected | procedure SetVertices(const Value: TAffineVectorList);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Public | property Indices: TIntegerList read FIndices write SetIndices;
Public | property Vertices: TAffineVectorList read FVertices write SetVertices;

Description

Fields

Private FTriMeshData: PdxTriMeshData;
Private FVertices: TAffineVectorList;
Private FIndices: TIntegerList;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function CalculateMass: TdMass; override;
Public procedure RefreshTriMeshData;
Protected procedure Finalize; override;
Protected procedure Initialize; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetIndices(const Value: TIntegerList);
Protected procedure SetVertices(const Value: TAffineVectorList);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Public property Indices: TIntegerList read FIndices write SetIndices;
Public property Vertices: TAffineVectorList read FVertices write SetVertices;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEElementPlane

Class TGLODEElementPlane

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEElementPlane = class(TGLODEElementBase)

Description

ODE plane implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEElementBase
  • TGLODEElementPlane

Overview

Methods

Public | class function CanAddTo(collection: TXCollection): Boolean; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | procedure AlignGeomElementToMatrix(Mat: TGLMatrix); override;
Protected | procedure Initialize; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Description

Methods

Public class function CanAddTo(collection: TXCollection): Boolean; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected procedure AlignGeomElementToMatrix(Mat: TGLMatrix); override;
Protected procedure Initialize; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJoints

Class TGLODEJoints

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJoints = class(TXCollection)

Description

An XCollection decendant for ODE Joints

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLODEJoints

Overview

Methods

Public | class function ItemsClass: TXCollectionItemClass; override;
Protected | function GetJoint(index: Integer): TGLODEJointBase;
Public | procedure Finalize;
Public | procedure Initialize;

Properties

Public property Joint[index:Integer]: TGLODEJointBase read GetJoint;

Description

Methods

Public class function ItemsClass: TXCollectionItemClass; override;
Protected function GetJoint(index: Integer): TGLODEJointBase;
Public procedure Finalize;
Public procedure Initialize;

Properties

Public property Joint[index:Integer]: TGLODEJointBase read GetJoint;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointList

Class TGLODEJointList

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointList = class(TComponent)

Description

Component front-end for storing ODE Joints

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLODEJointList

Overview

Fields

Private FJoints: TGLODEJoints;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadJoints(stream: TStream);
Protected | procedure WriteJoints(stream: TStream);

Properties

Published property Joints: TGLODEJoints read FJoints;

Description

Fields

Private FJoints: TGLODEJoints;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadJoints(stream: TStream);
Protected procedure WriteJoints(stream: TStream);

Properties

Published property Joints: TGLODEJoints read FJoints;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointBase

Class TGLODEJointBase

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointBase = class(TXCollectionItem)

Description

Base structures for ODE Joints

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase

Overview

Fields

Private | FJointID: TdJointID;
Private | FObject1: TGLBaseSceneObject;
Private | FObject2: TGLBaseSceneObject;
Private | FManager: TGLODEManager;
Private | FObject1Name: String;
Private | FObject2Name: String;
Private | FManagerName: String;
Private | FInitialized: Boolean;
Private | FEnabled: Boolean;
Private | FJointOptions: TGLODEJointOptions;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function IsAttached: Boolean;
Protected | function IsODEInitialized: Boolean;
Public | procedure DoLoaded;
Public | procedure Finalize; virtual;
Public | procedure Initialize; virtual;
Public | procedure StructureChanged; virtual;
Protected | procedure Attach;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure RegisterJointWithObject(Obj: TGLBaseSceneObject);
Protected | procedure SetEnabled(const Value: Boolean);
Protected | procedure SetJointOptions(const Value : TGLODEJointOptions);
Protected | procedure SetManager(const Value: TGLODEManager);
Protected | procedure SetObject1(const Value: TGLBaseSceneObject);
Protected | procedure SetObject2(const Value: TGLBaseSceneObject);
Protected | procedure UnregisterJointWithObject(Obj: TGLBaseSceneObject);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Enabled: Boolean read FEnabled write SetEnabled;
Public | property Initialized: Boolean read FInitialized;
Public | property JointID: TdJointID read FJointID;
Protected | property JointOptions : TGLODEJointOptions read FJointOptions write SetJointOptions;
Published | property Manager: TGLODEManager read FManager write SetManager;
Published | property Object1: TGLBaseSceneObject read FObject1 write SetObject1;
Published | property Object2: TGLBaseSceneObject read FObject2 write SetObject2;

Description

Fields

Private FJointID: TdJointID;
Private FObject1: TGLBaseSceneObject;
Private FObject2: TGLBaseSceneObject;
Private FManager: TGLODEManager;
Private FObject1Name: String;
Private FObject2Name: String;
Private FManagerName: String;
Private FInitialized: Boolean;
Private FEnabled: Boolean;
Private FJointOptions: TGLODEJointOptions;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public function IsAttached: Boolean;
Protected function IsODEInitialized: Boolean;
Public procedure DoLoaded;
Public procedure Finalize; virtual;
Public procedure Initialize; virtual;
Public procedure StructureChanged; virtual;
Protected procedure Attach;
Protected procedure Loaded; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure RegisterJointWithObject(Obj: TGLBaseSceneObject);
Protected procedure SetEnabled(const Value: Boolean);
Protected procedure SetJointOptions(const Value : TGLODEJointOptions);
Protected procedure SetManager(const Value: TGLODEManager);
Protected procedure SetObject1(const Value: TGLBaseSceneObject);
Protected procedure SetObject2(const Value: TGLBaseSceneObject);
Protected procedure UnregisterJointWithObject(Obj: TGLBaseSceneObject);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Enabled: Boolean read FEnabled write SetEnabled;
Public property Initialized: Boolean read FInitialized;
Public property JointID: TdJointID read FJointID;
Protected property JointOptions : TGLODEJointOptions read FJointOptions write SetJointOptions;
Published property Manager: TGLODEManager read FManager write SetManager;
Published property Object1: TGLBaseSceneObject read FObject1 write SetObject1;
Published property Object2: TGLBaseSceneObject read FObject2 write SetObject2;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointParams

Class TGLODEJointParams

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointParams = class(TPersistent)

Description

Hierarchy

  • TObject
  • TPersistent
  • TGLODEJointParams

Overview

Fields

Private | FOwner: TPersistent;
Private | FSetCallback: TGLODESetParamCallback;
Private | FGetCallback: TGLODEGetParamCallback;
Private | FLoStop: TdReal;
Private | FHiStop: TdReal;
Private | FVel: TdReal;
Private | FFMax: TdReal;
Private | FFudgeFactor: TdReal;
Private | FBounce: TdReal;
Private | FCFM: TdReal;
Private | FStopERP: TdReal;
Private | FStopCFM: TdReal;
Private | FSuspensionERP: TdReal;
Private | FSuspensionCFM: TdReal;
Private | FFlagLoStop: Boolean;
Private | FFlagHiStop: Boolean;
Private | FFlagVel: Boolean;
Private | FFlagFMax: Boolean;
Private | FFlagFudgeFactor: Boolean;
Private | FFlagBounce: Boolean;
Private | FFlagCFM: Boolean;
Private | FFlagStopERP: Boolean;
Private | FFlagStopCFM: Boolean;
Private | FFlagSuspensionERP: Boolean;
Private | FFlagSuspensionCFM: Boolean;

Methods

Public | constructor Create(AOwner: TPersistent);
Public | function GetOwner: TPersistent; override;
Protected | function GetBounce: TdReal;
Protected | function GetCFM: TdReal;
Protected | function GetFMax: TdReal;
Protected | function GetFudgeFactor: TdReal;
Protected | function GetHiStop: TdReal;
Protected | function GetLoStop: TdReal;
Protected | function GetStopCFM: TdReal;
Protected | function GetStopERP: TdReal;
Protected | function GetSuspensionCFM: TdReal;
Protected | function GetSuspensionERP: TdReal;
Protected | function GetVel: TdReal;
Public | procedure ApplyFlagged;
Public | procedure Assign(Source: TPersistent); override;
Protected | procedure ReadFromFiler(reader: TReader);
Protected | procedure SetBounce(const Value: TdReal);
Protected | procedure SetCFM(const Value: TdReal);
Protected | procedure SetFMax(const Value: TdReal);
Protected | procedure SetFudgeFactor(const Value: TdReal);
Protected | procedure SetHiStop(const Value: TdReal);
Protected | procedure SetLoStop(const Value: TdReal);
Protected | procedure SetStopCFM(const Value: TdReal);
Protected | procedure SetStopERP(const Value: TdReal);
Protected | procedure SetSuspensionCFM(const Value: TdReal);
Protected | procedure SetSuspensionERP(const Value: TdReal);
Protected | procedure SetVel(const Value: TdReal);
Protected | procedure WriteToFiler(writer: TWriter);

Properties

Published | property Bounce: TdReal read GetBounce write SetBounce;
Published | property CFM: TdReal read GetCFM write SetCFM;
Published | property FMax: TdReal read GetFMax write SetFMax;
Published | property FudgeFactor: TdReal read GetFudgeFactor write SetFudgeFactor;
Public | property GetCallback: TGLODEGetParamCallback read FGetCallback write FGetCallback;
Published | property HiStop: TdReal read GetHiStop write SetHiStop;
Published | property LoStop: TdReal read GetLoStop write SetLoStop;
Public | property SetCallback: TGLODESetParamCallback read FSetCallback write FSetCallback;
Published | property StopCFM: TdReal read GetStopCFM write SetStopCFM;
Published | property StopERP: TdReal read GetStopERP write SetStopERP;
Published | property SuspensionCFM: TdReal read GetSuspensionCFM write SetSuspensionCFM;
Published | property SuspensionERP: TdReal read GetSuspensionERP write SetSuspensionERP;
Published | property Vel: TdReal read GetVel write SetVel;

Description

Fields

Private FOwner: TPersistent;
Private FSetCallback: TGLODESetParamCallback;
Private FGetCallback: TGLODEGetParamCallback;
Private FLoStop: TdReal;
Private FHiStop: TdReal;
Private FVel: TdReal;
Private FFMax: TdReal;
Private FFudgeFactor: TdReal;
Private FBounce: TdReal;
Private FCFM: TdReal;
Private FStopERP: TdReal;
Private FStopCFM: TdReal;
Private FSuspensionERP: TdReal;
Private FSuspensionCFM: TdReal;
Private FFlagLoStop: Boolean;
Private FFlagHiStop: Boolean;
Private FFlagVel: Boolean;
Private FFlagFMax: Boolean;
Private FFlagFudgeFactor: Boolean;
Private FFlagBounce: Boolean;
Private FFlagCFM: Boolean;
Private FFlagStopERP: Boolean;
Private FFlagStopCFM: Boolean;
Private FFlagSuspensionERP: Boolean;
Private FFlagSuspensionCFM: Boolean;

Methods

Public constructor Create(AOwner: TPersistent);
Public function GetOwner: TPersistent; override;
Protected function GetBounce: TdReal;
Protected function GetCFM: TdReal;
Protected function GetFMax: TdReal;
Protected function GetFudgeFactor: TdReal;
Protected function GetHiStop: TdReal;
Protected function GetLoStop: TdReal;
Protected function GetStopCFM: TdReal;
Protected function GetStopERP: TdReal;
Protected function GetSuspensionCFM: TdReal;
Protected function GetSuspensionERP: TdReal;
Protected function GetVel: TdReal;
Public procedure ApplyFlagged;
Public procedure Assign(Source: TPersistent); override;
Protected procedure ReadFromFiler(reader: TReader);
Protected procedure SetBounce(const Value: TdReal);
Protected procedure SetCFM(const Value: TdReal);
Protected procedure SetFMax(const Value: TdReal);
Protected procedure SetFudgeFactor(const Value: TdReal);
Protected procedure SetHiStop(const Value: TdReal);
Protected procedure SetLoStop(const Value: TdReal);
Protected procedure SetStopCFM(const Value: TdReal);
Protected procedure SetStopERP(const Value: TdReal);
Protected procedure SetSuspensionCFM(const Value: TdReal);
Protected procedure SetSuspensionERP(const Value: TdReal);
Protected procedure SetVel(const Value: TdReal);
Protected procedure WriteToFiler(writer: TWriter);

Properties

Published property Bounce: TdReal read GetBounce write SetBounce;
Published property CFM: TdReal read GetCFM write SetCFM;
Published property FMax: TdReal read GetFMax write SetFMax;
Published property FudgeFactor: TdReal read GetFudgeFactor write SetFudgeFactor;
Public property GetCallback: TGLODEGetParamCallback read FGetCallback write FGetCallback;
Published property HiStop: TdReal read GetHiStop write SetHiStop;
Published property LoStop: TdReal read GetLoStop write SetLoStop;
Public property SetCallback: TGLODESetParamCallback read FSetCallback write FSetCallback;
Published property StopCFM: TdReal read GetStopCFM write SetStopCFM;
Published property StopERP: TdReal read GetStopERP write SetStopERP;
Published property SuspensionCFM: TdReal read GetSuspensionCFM write SetSuspensionCFM;
Published property SuspensionERP: TdReal read GetSuspensionERP write SetSuspensionERP;
Published property Vel: TdReal read GetVel write SetVel;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointHinge

Class TGLODEJointHinge

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointHinge = class(TGLODEJointBase)

Description

ODE hinge joint implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase
  • TGLODEJointHinge

Overview

Fields

Private | FAnchor: TGLCoordinates;
Private | FAxis: TGLCoordinates;
Private | FAxisParams: TGLODEJointParams;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Protected | function GetAxisParam(Param: Integer; var Value: TdReal): Boolean;
Protected | function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
Public | procedure Initialize; override;
Public | procedure StructureChanged; override;
Protected | procedure AnchorChange(Sender: TObject);
Protected | procedure AxisChange(Sender: TObject);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetAnchor(const Value: TGLCoordinates);
Protected | procedure SetAxis(const Value: TGLCoordinates);
Protected | procedure SetAxisParams(const Value: TGLODEJointParams);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Anchor: TGLCoordinates read FAnchor write SetAnchor;
Published | property Axis: TGLCoordinates read FAxis write SetAxis;
Published | property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;

Description

Fields

Private FAnchor: TGLCoordinates;
Private FAxis: TGLCoordinates;
Private FAxisParams: TGLODEJointParams;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Protected function GetAxisParam(Param: Integer; var Value: TdReal): Boolean;
Protected function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
Public procedure Initialize; override;
Public procedure StructureChanged; override;
Protected procedure AnchorChange(Sender: TObject);
Protected procedure AxisChange(Sender: TObject);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetAnchor(const Value: TGLCoordinates);
Protected procedure SetAxis(const Value: TGLCoordinates);
Protected procedure SetAxisParams(const Value: TGLODEJointParams);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Anchor: TGLCoordinates read FAnchor write SetAnchor;
Published property Axis: TGLCoordinates read FAxis write SetAxis;
Published property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointBall

Class TGLODEJointBall

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointBall = class(TGLODEJointBase)

Description

ODE ball joint implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase
  • TGLODEJointBall

Overview

Fields

Private FAnchor: TGLCoordinates;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure Initialize; override;
Public | procedure StructureChanged; override;
Protected | procedure AnchorChange(Sender: TObject);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetAnchor(const Value: TGLCoordinates);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Anchor: TGLCoordinates read FAnchor write SetAnchor;

Description

Fields

Private FAnchor: TGLCoordinates;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure Initialize; override;
Public procedure StructureChanged; override;
Protected procedure AnchorChange(Sender: TObject);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetAnchor(const Value: TGLCoordinates);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Anchor: TGLCoordinates read FAnchor write SetAnchor;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointSlider

Class TGLODEJointSlider

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointSlider = class(TGLODEJointBase)

Description

ODE slider joint implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase
  • TGLODEJointSlider

Overview

Fields

Private | FAxis: TGLCoordinates;
Private | FAxisParams: TGLODEJointParams;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Protected | function GetAxisParam(Param: Integer; var Value: TdReal): Boolean;
Protected | function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
Public | procedure Initialize; override;
Public | procedure StructureChanged; override;
Protected | procedure AxisChange(Sender: TObject);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetAxis(const Value: TGLCoordinates);
Protected | procedure SetAxisParams(const Value: TGLODEJointParams);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Axis: TGLCoordinates read FAxis write SetAxis;
Published | property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;

Description

Fields

Private FAxis: TGLCoordinates;
Private FAxisParams: TGLODEJointParams;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Protected function GetAxisParam(Param: Integer; var Value: TdReal): Boolean;
Protected function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
Public procedure Initialize; override;
Public procedure StructureChanged; override;
Protected procedure AxisChange(Sender: TObject);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetAxis(const Value: TGLCoordinates);
Protected procedure SetAxisParams(const Value: TGLODEJointParams);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Axis: TGLCoordinates read FAxis write SetAxis;
Published property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointFixed

Class TGLODEJointFixed

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointFixed = class(TGLODEJointBase)

Description

ODE fixed joint implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase
  • TGLODEJointFixed

Overview

Methods

Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | procedure Initialize; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Description

Methods

Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public procedure Initialize; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointHinge2

Class TGLODEJointHinge2

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointHinge2 = class(TGLODEJointBase)

Description

ODE hinge2 joint implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase
  • TGLODEJointHinge2

Overview

Fields

Private | FAnchor: TGLCoordinates;
Private | FAxis1: TGLCoordinates;
Private | FAxis2: TGLCoordinates;
Private | FAxis1Params: TGLODEJointParams;
Private | FAxis2Params: TGLODEJointParams;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Protected | function GetAxis1Param(Param: Integer; var Value: TdReal): Boolean;
Protected | function GetAxis2Param(Param: Integer; var Value: TdReal): Boolean;
Protected | function SetAxis1Param(Param: Integer; const Value: TdReal): Boolean;
Protected | function SetAxis2Param(Param: Integer; const Value: TdReal): Boolean;
Public | procedure Initialize; override;
Public | procedure StructureChanged; override;
Protected | procedure AnchorChange(Sender: TObject);
Protected | procedure Axis1Change(Sender: TObject);
Protected | procedure Axis2Change(Sender: TObject);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetAnchor(const Value: TGLCoordinates);
Protected | procedure SetAxis1(const Value: TGLCoordinates);
Protected | procedure SetAxis1Params(const Value: TGLODEJointParams);
Protected | procedure SetAxis2(const Value: TGLCoordinates);
Protected | procedure SetAxis2Params(const Value: TGLODEJointParams);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Anchor: TGLCoordinates read FAnchor write SetAnchor;
Published | property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
Published | property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
Published | property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
Published | property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;

Description

Fields

Private FAnchor: TGLCoordinates;
Private FAxis1: TGLCoordinates;
Private FAxis2: TGLCoordinates;
Private FAxis1Params: TGLODEJointParams;
Private FAxis2Params: TGLODEJointParams;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Protected function GetAxis1Param(Param: Integer; var Value: TdReal): Boolean;
Protected function GetAxis2Param(Param: Integer; var Value: TdReal): Boolean;
Protected function SetAxis1Param(Param: Integer; const Value: TdReal): Boolean;
Protected function SetAxis2Param(Param: Integer; const Value: TdReal): Boolean;
Public procedure Initialize; override;
Public procedure StructureChanged; override;
Protected procedure AnchorChange(Sender: TObject);
Protected procedure Axis1Change(Sender: TObject);
Protected procedure Axis2Change(Sender: TObject);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetAnchor(const Value: TGLCoordinates);
Protected procedure SetAxis1(const Value: TGLCoordinates);
Protected procedure SetAxis1Params(const Value: TGLODEJointParams);
Protected procedure SetAxis2(const Value: TGLCoordinates);
Protected procedure SetAxis2Params(const Value: TGLODEJointParams);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Anchor: TGLCoordinates read FAnchor write SetAnchor;
Published property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
Published property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
Published property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
Published property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEJointUniversal

Class TGLODEJointUniversal

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEJointUniversal = class(TGLODEJointBase)

Description

ODE universal joint implementation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLODEJointBase
  • TGLODEJointUniversal

Overview

Fields

Private | FAnchor: TGLCoordinates;
Private | FAxis1: TGLCoordinates;
Private | FAxis2: TGLCoordinates;
Private | FAxis1Params: TGLODEJointParams;
Private | FAxis2Params: TGLODEJointParams;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Protected | function GetAxis1Param(Param: Integer; var Value: TdReal): Boolean;
Protected | function GetAxis2Param(Param: Integer; var Value: TdReal): Boolean;
Protected | function SetAxis1Param(Param: Integer; const Value: TdReal): Boolean;
Protected | function SetAxis2Param(Param: Integer; const Value: TdReal): Boolean;
Public | procedure Initialize; override;
Public | procedure StructureChanged; override;
Protected | procedure AnchorChange(Sender: TObject);
Protected | procedure Axis1Change(Sender: TObject);
Protected | procedure Axis2Change(Sender: TObject);
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetAnchor(const Value: TGLCoordinates);
Protected | procedure SetAxis1(const Value: TGLCoordinates);
Protected | procedure SetAxis1Params(const Value: TGLODEJointParams);
Protected | procedure SetAxis2(const Value: TGLCoordinates);
Protected | procedure SetAxis2Params(const Value: TGLODEJointParams);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Anchor: TGLCoordinates read FAnchor write SetAnchor;
Published | property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
Published | property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
Published | property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
Published | property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;

Description

Fields

Private FAnchor: TGLCoordinates;
Private FAxis1: TGLCoordinates;
Private FAxis2: TGLCoordinates;
Private FAxis1Params: TGLODEJointParams;
Private FAxis2Params: TGLODEJointParams;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Protected function GetAxis1Param(Param: Integer; var Value: TdReal): Boolean;
Protected function GetAxis2Param(Param: Integer; var Value: TdReal): Boolean;
Protected function SetAxis1Param(Param: Integer; const Value: TdReal): Boolean;
Protected function SetAxis2Param(Param: Integer; const Value: TdReal): Boolean;
Public procedure Initialize; override;
Public procedure StructureChanged; override;
Protected procedure AnchorChange(Sender: TObject);
Protected procedure Axis1Change(Sender: TObject);
Protected procedure Axis2Change(Sender: TObject);
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetAnchor(const Value: TGLCoordinates);
Protected procedure SetAxis1(const Value: TGLCoordinates);
Protected procedure SetAxis1Params(const Value: TGLODEJointParams);
Protected procedure SetAxis2(const Value: TGLCoordinates);
Protected procedure SetAxis2Params(const Value: TGLODEJointParams);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Anchor: TGLCoordinates read FAnchor write SetAnchor;
Published property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
Published property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
Published property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
Published property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEContactPoint

Class TGLODEContactPoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEContactPoint = class(TObject)

Description

Hierarchy

  • TObject
  • TGLODEContactPoint

Overview

Fields

Public | Position: TAffineVector;
Public | Normal: TAffineVector;
Public | Depth: Single;

Description

Fields

Public Position: TAffineVector;
Public Normal: TAffineVector;
Public Depth: Single;


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODECustomCollider

Class TGLODECustomCollider

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODECustomCollider = class(TGLODEBehaviour)

Description

The custom collider is designed for generic contact handling. There is a contact point generator for sphere, box, capped cylinder, cylinder and cone geoms. Once the contact points for a collision are generated the abstract Collide function is called to generate the depth and the contact position and normal. These points are then sorted and the deepest are applied to ODE

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLODEBehaviour
  • TGLODECustomCollider

Overview

Fields

Private | FGeom: PdxGeom;
Private | FContactList: TList;
Private | FContactCache: TList;
Private | FTransform: TGLMatrix;
Private | FContactResolution: Single;
Private | FRenderContacts: Boolean;
Private | FContactRenderPoints: TAffineVectorList;
Private | FPointSize: Single;
Private | FContactColor: TGLColor;

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | destructor Destroy; override;
Protected | function ApplyContacts(o1, o2: PdxGeom; flags: Integer; contact: PdContactGeom; skip: Integer): Integer;
Protected | function Collide(aPos: TAffineVector; var Depth: Single; var cPos, cNorm: TAffineVector): Boolean; virtual; abstract;
Public | procedure Render(var rci: TGLRenderContextInfo); override;
Protected | procedure AddContact(pos: TAffineVector); overload;
Protected | procedure AddContact(x, y, z: TdReal); overload;
Protected | procedure ClearContacts;
Protected | procedure Finalize; override;
Protected | procedure Initialize; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetContactColor(const Value: TGLColor);
Protected | procedure SetContactResolution(const Value: Single);
Protected | procedure SetPointSize(const Value: Single);
Protected | procedure SetRenderContacts(const Value: Boolean);
Protected | procedure SetTransform(ATransform: TGLMatrix);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property ContactColor: TGLColor read FContactColor write SetContactColor;
Published | property ContactResolution: Single read FContactResolution write SetContactResolution;
Public | property Geom: PdxGeom read FGeom;
Published | property PointSize: Single read FPointSize write SetPointSize;
Published | property RenderContacts: Boolean read FRenderContacts write SetRenderContacts;

Description

Fields

Private FGeom: PdxGeom;
Private FContactList: TList;
Private FContactCache: TList;
Private FTransform: TGLMatrix;
Private FContactResolution: Single;
Private FRenderContacts: Boolean;
Private FContactRenderPoints: TAffineVectorList;
Private FPointSize: Single;
Private FContactColor: TGLColor;

Methods

Public constructor Create(AOwner: TXCollection); override;
Public destructor Destroy; override;
Protected function ApplyContacts(o1, o2: PdxGeom; flags: Integer; contact: PdContactGeom; skip: Integer): Integer;

Sort the current contact list and apply the deepest to ODE.

Protected function Collide(aPos: TAffineVector; var Depth: Single; var cPos, cNorm: TAffineVector): Boolean; virtual; abstract;

Test a position for a collision and fill out the contact information.

Public procedure Render(var rci: TGLRenderContextInfo); override;
Protected procedure AddContact(pos: TAffineVector); overload;
Protected procedure AddContact(x, y, z: TdReal); overload;

Add a contact point to the list for ApplyContacts to processes.

Protected procedure ClearContacts;

Clears the contact list so it's ready for another collision.

Protected procedure Finalize; override;
Protected procedure Initialize; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetContactColor(const Value: TGLColor);
Protected procedure SetContactResolution(const Value: Single);
Protected procedure SetPointSize(const Value: Single);
Protected procedure SetRenderContacts(const Value: Boolean);
Protected procedure SetTransform(ATransform: TGLMatrix);

Set the transform used that transforms contact points generated with AddContact

Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property ContactColor: TGLColor read FContactColor write SetContactColor;

Contact point rendering color.

Published property ContactResolution: Single read FContactResolution write SetContactResolution;

Defines the resolution of the contact points created for the colliding Geom. The number of contact points generated change base don the size of the object and the ContactResolution. Lower values generate higher resolution contact boundaries, and thus smoother but slower collisions.

Public property Geom: PdxGeom read FGeom;
Published property PointSize: Single read FPointSize write SetPointSize;

Contact point rendering size (in pixels).

Published property RenderContacts: Boolean read FRenderContacts write SetRenderContacts;

Toggle contact point rendering on and off. (Rendered through the assigned Manager.RenderPoint.


GLSysHelp v.2.1: Physics.ODEManager: Class TGLODEHeightField

Class TGLODEHeightField

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODEManager

Declaration

type TGLODEHeightField = class(TGLODECustomCollider)

Description

Add this behaviour to a TGLHeightField or TGLTerrainRenderer to enable height based collisions for spheres, boxes, capped cylinders, cylinders and cones.

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLODEBehaviour
  • TGLODECustomCollider
  • TGLODEHeightField

Overview

Methods

Public | constructor Create(AOwner: TXCollection); override;
Public | class function CanAddTo(collection: TXCollection): Boolean; override;
Public | class function FriendlyDescription: string; override;
Public | class function FriendlyName: string; override;
Public | class function UniqueItem: Boolean; override;
Protected | function Collide(aPos: TAffineVector; var Depth: Single; var cPos, cNorm: TAffineVector): Boolean; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Description

Methods

Public constructor Create(AOwner: TXCollection); override;
Public class function CanAddTo(collection: TXCollection): Boolean; override;
Public class function FriendlyDescription: string; override;
Public class function FriendlyName: string; override;
Public class function UniqueItem: Boolean; override;
Protected function Collide(aPos: TAffineVector; var Depth: Single; var cPos, cNorm: TAffineVector): Boolean; override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;


GLSysHelp v.2.1: Physics.ODERagdoll

Unit Physics.ODERagdoll

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.VectorTypes
  • GLS.VectorGeometry
  • GLS.Ragdoll
  • GLS.Scene
  • GLS.Objects
  • GLS.Texture
  • GLS.VectorFileObjects
  • Physics.ODEImport
  • Physics.ODEUtils

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLODERagdollCube |
Class TGLODERagdollWorld |
Class TGLODERagdollDummyJoint |
Class TGLODERagdollHingeJoint |
Class TGLODERagdollUniversalJoint |
Class TGLODERagdollBone |
Class TGLODERagdoll |

Constants

cMaxContacts = 4;

Variables

vODERagdoll_cDensity: Single;
vODERagdoll_cMass: Single;

Description

Constants

cMaxContacts = 4;

Variables

vODERagdoll_cDensity: Single;
vODERagdoll_cMass: Single;


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdollCube

Class TGLODERagdollCube

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdollCube = class(TGLCube)

Description

No description available, ancestor TGLCube description follows

A simple cube object. This cube use the same material for each of its faces, ie. all faces look the same. If you want a multi-material cube, use a mesh in conjunction with a TGLFreeForm and a material library. Ref: https://mathworld.wolfram.com/Cube.html

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLUpdateAbleComponent
  • TGLCoordinatesUpdateAbleComponent
  • TGLBaseSceneObject
  • TGLCustomSceneObject
  • TGLSceneObject
  • TGLCube
  • TGLODERagdollCube

Overview

Fields

Public | Bone: TGLODERagdollBone;
Public | Ragdoll: TGLODERagdoll;

Description

Fields

Public Bone: TGLODERagdollBone;
Public Ragdoll: TGLODERagdoll;

Useful in Oncollision Event


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdollWorld

Class TGLODERagdollWorld

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdollWorld = class(TObject)

Description

Hierarchy

  • TObject
  • TGLODERagdollWorld

Overview

Fields

Private | FSpace: PdxSpace;
Private | FWorld: PdxWorld;
Private | FContactGroup: TdJointGroupID;
Private | FRagdoll: TGLODERagdoll;
Private | isWorldCreated: Boolean;

Methods

Public | constructor Create;
Public | constructor CreateFrom(World: PdxWorld; Space: PdxSpace; ContactGroup: TdJointGroupID);
Public | destructor Destroy; override;
Public | procedure WorldUpdate;

Properties

Public | property ContactGroup: TdJointGroupID read FContactGroup;
Public | property Ragdoll: TGLODERagdoll read FRagdoll;
Public | property Space: PdxSpace read FSpace;
Public | property World: PdxWorld read FWorld;

Description

Fields

Private FSpace: PdxSpace;
Private FWorld: PdxWorld;
Private FContactGroup: TdJointGroupID;
Private FRagdoll: TGLODERagdoll;
Private isWorldCreated: Boolean;

Methods

Public constructor Create;

NEW1

Public constructor CreateFrom(World: PdxWorld; Space: PdxSpace; ContactGroup: TdJointGroupID);

Create the world from any existing ODE world

Public destructor Destroy; override;
Public procedure WorldUpdate;

Properties

Public property ContactGroup: TdJointGroupID read FContactGroup;
Public property Ragdoll: TGLODERagdoll read FRagdoll;
Public property Space: PdxSpace read FSpace;
Public property World: PdxWorld read FWorld;


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdollDummyJoint

Class TGLODERagdollDummyJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdollDummyJoint = class(TGLRagdolJoint)

Description

No description available, ancestor TGLRagdolJoint description follows

Hierarchy

  • TObject
  • TGLRagdolJoint
  • TGLODERagdollDummyJoint


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdollHingeJoint

Class TGLODERagdollHingeJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdollHingeJoint = class(TGLRagdolJoint)

Description

No description available, ancestor TGLRagdolJoint description follows

Hierarchy

  • TObject
  • TGLRagdolJoint
  • TGLODERagdollHingeJoint

Overview

Fields

Private | FParamHiStop: Single;
Private | FParamLoStop: Single;
Private | FAxis: TAffineVector;

Methods

Public constructor Create(Axis: TAffineVector; ParamLoStop: Single; ParamHiStop: Single);

Properties

Public | property Axis: TAffineVector read FAxis;
Public | property ParamHiStop: Single read FParamHiStop write FParamHiStop;
Public | property ParamLoStop: Single read FParamLoStop write FParamLoStop;

Description

Fields

Private FParamHiStop: Single;
Private FParamLoStop: Single;
Private FAxis: TAffineVector;

Methods

Public constructor Create(Axis: TAffineVector; ParamLoStop: Single; ParamHiStop: Single);

Properties

Public property Axis: TAffineVector read FAxis;
Public property ParamHiStop: Single read FParamHiStop write FParamHiStop;
Public property ParamLoStop: Single read FParamLoStop write FParamLoStop;


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdollUniversalJoint

Class TGLODERagdollUniversalJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdollUniversalJoint = class(TGLODERagdollHingeJoint)

Description

No description available, ancestor TGLODERagdollHingeJoint description follows
No description available, ancestor TGLRagdolJoint description follows

Hierarchy

  • TObject
  • TGLRagdolJoint
  • TGLODERagdollHingeJoint
  • TGLODERagdollUniversalJoint

Overview

Fields

Private | FParamHiStop2: Single;
Private | FParamLoStop2: Single;
Private | FAxis2: TAffineVector;

Methods

Public constructor Create(Axis: TAffineVector; ParamLoStop: Single; ParamHiStop: Single; Axis2: TAffineVector; ParamLoStop2: Single; ParamHiStop2: Single);

Properties

Public | property Axis2: TAffineVector read FAxis2;
Public | property ParamHiStop2: Single read FParamHiStop2 write FParamHiStop2;
Public | property ParamLoStop2: Single read FParamLoStop2 write FParamLoStop2;

Description

Fields

Private FParamHiStop2: Single;
Private FParamLoStop2: Single;
Private FAxis2: TAffineVector;

Methods

Public constructor Create(Axis: TAffineVector; ParamLoStop: Single; ParamHiStop: Single; Axis2: TAffineVector; ParamLoStop2: Single; ParamHiStop2: Single);

Properties

Public property Axis2: TAffineVector read FAxis2;
Public property ParamHiStop2: Single read FParamHiStop2 write FParamHiStop2;
Public property ParamLoStop2: Single read FParamLoStop2 write FParamLoStop2;


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdollBone

Class TGLODERagdollBone

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdollBone = class(TGLRagdolBone)

Description

No description available, ancestor TGLRagdolBone description follows
No description available, ancestor TGLRagdolBoneList description follows
No description available, ancestor TPersistentObjectList description follows

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TPersistentObjectList
  • TGLRagdolBoneList
  • TGLRagdolBone
  • TGLODERagdollBone

Overview

Fields

Private | FOwner: TGLODERagdollBone;
Private | FRagdoll: TGLODERagdoll;
Private | FBody: PdxBody;
Private | FGeom: PdxGeom;
Private | FJointId: TdJointID;

Methods

Public | constructor Create(Ragdoll: TGLODERagdoll);
Public | constructor CreateOwned(aOwner: TGLODERagdollBone);
Protected | procedure Align; override;
Protected | procedure Start; override;
Protected | procedure Stop; override;
Protected | procedure Update; override;
Private | procedure AlignBodyToMatrix(Mat: TGLMatrix);

Properties

Public | property Body: PdxBody read FBody;
Public | property Geom: PdxGeom read FGeom;

Description

Fields

Private FOwner: TGLODERagdollBone;
Private FRagdoll: TGLODERagdoll;
Private FBody: PdxBody;
Private FGeom: PdxGeom;
Private FJointId: TdJointID;

Methods

Public constructor Create(Ragdoll: TGLODERagdoll);
Public constructor CreateOwned(aOwner: TGLODERagdollBone);
Protected procedure Align; override;
Protected procedure Start; override;
Protected procedure Stop; override;
Protected procedure Update; override;
Private procedure AlignBodyToMatrix(Mat: TGLMatrix);

Properties

Public property Body: PdxBody read FBody;
Public property Geom: PdxGeom read FGeom;


GLSysHelp v.2.1: Physics.ODERagdoll: Class TGLODERagdoll

Class TGLODERagdoll

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODERagdoll

Declaration

type TGLODERagdoll = class(TGLRagdoll)

Description

No description available, ancestor TGLRagdoll description follows
No description available, ancestor TPersistentObject description follows

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLRagdoll
  • TGLODERagdoll

Overview

Fields

Private | FODEWorld: TGLODERagdollWorld;
Private | FGLSceneRoot: TGLBaseSceneObject;
Private | FShowBoundingBoxes: Boolean;
Private | FEnabled: Boolean;

Methods

Public constructor Create(aOwner: TGLBaseMesh);

Properties

Public | property Enabled: Boolean read FEnabled write FEnabled;
Public | property GLSceneRoot: TGLBaseSceneObject read FGLSceneRoot write FGLSceneRoot;
Public | property ODEWorld: TGLODERagdollWorld read FODEWorld write FODEWorld;
Public | property ShowBoundingBoxes: Boolean read FShowBoundingBoxes write FShowBoundingBoxes;

Description

Fields

Private FODEWorld: TGLODERagdollWorld;
Private FGLSceneRoot: TGLBaseSceneObject;
Private FShowBoundingBoxes: Boolean;
Private FEnabled: Boolean;

Methods

Public constructor Create(aOwner: TGLBaseMesh);

Properties

Public property Enabled: Boolean read FEnabled write FEnabled;
Public property GLSceneRoot: TGLBaseSceneObject read FGLSceneRoot write FGLSceneRoot;
Public property ODEWorld: TGLODERagdollWorld read FODEWorld write FODEWorld;
Public property ShowBoundingBoxes: Boolean read FShowBoundingBoxes write FShowBoundingBoxes;


GLSysHelp v.2.1: Physics.ODESkeletonColliders

Unit Physics.ODESkeletonColliders

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.VectorTypes
  • GLS.PersistentClasses
  • GLS.VectorGeometry
  • GLS.VectorFileObjects
  • Physics.ODEImport

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TSCODEBase |
Class TSCODESphere |
Class TSCODECCylinder |
Class TSCODEBox |

Functions and Procedures

procedure AddSCODEGeomsToODESpace(colliders: TGLSkeletonColliderList; Space: PdxSpace);

Description

Functions and Procedures

procedure AddSCODEGeomsToODESpace(colliders: TGLSkeletonColliderList; Space: PdxSpace);

After loading call this function to add all the geoms in a skeleton collider list to a given ODE space


GLSysHelp v.2.1: Physics.ODESkeletonColliders: Class TSCODEBase

Class TSCODEBase

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODESkeletonColliders

Declaration

type TSCODEBase = class(TGLSkeletonCollider)

Description

Base ODE skeleton collider class

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TSCODEBase

Overview

Fields

Private FGeom: PdxGeom;

Methods

Public | procedure AddToSpace(Space: PdxSpace); virtual;
Public | procedure AlignCollider; override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Geom: PdxGeom read FGeom;

Description

Fields

Private FGeom: PdxGeom;

Methods

Public procedure AddToSpace(Space: PdxSpace); virtual;
Public procedure AlignCollider; override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;

Properties

Public property Geom: PdxGeom read FGeom;

The geoms are created through the AddToSpace procedure


GLSysHelp v.2.1: Physics.ODESkeletonColliders: Class TSCODESphere

Class TSCODESphere

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODESkeletonColliders

Declaration

type TSCODESphere = class(TSCODEBase)

Description

Sphere shaped ODE geom in a skeleton collider

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TSCODEBase
  • TSCODESphere

Overview

Fields

Private FRadius: TdReal;

Methods

Public | constructor Create; override;
Public | procedure AddToSpace(Space: PdxSpace); override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetRadius(const val: TdReal);

Properties

Public property Radius: TdReal read FRadius write SetRadius;

Description

Fields

Private FRadius: TdReal;

Methods

Public constructor Create; override;
Public procedure AddToSpace(Space: PdxSpace); override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetRadius(const val: TdReal);

Properties

Public property Radius: TdReal read FRadius write SetRadius;


GLSysHelp v.2.1: Physics.ODESkeletonColliders: Class TSCODECCylinder

Class TSCODECCylinder

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODESkeletonColliders

Declaration

type TSCODECCylinder = class(TSCODEBase)

Description

Capsule (sphere capped cylinder) shaped ODE geom in a skeleton collider

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TSCODEBase
  • TSCODECCylinder

Overview

Fields

Private | FRadius: Single;
Private | FLength: Single;

Methods

Public | constructor Create; override;
Public | procedure AddToSpace(Space: PdxSpace); override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetLength(const val: Single);
Protected | procedure SetRadius(const val: Single);

Properties

Public | property Length: Single read FLength write SetLength;
Public | property Radius: Single read FRadius write SetRadius;

Description

Fields

Private FRadius: Single;
Private FLength: Single;

Methods

Public constructor Create; override;
Public procedure AddToSpace(Space: PdxSpace); override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetLength(const val: Single);
Protected procedure SetRadius(const val: Single);

Properties

Public property Length: Single read FLength write SetLength;
Public property Radius: Single read FRadius write SetRadius;


GLSysHelp v.2.1: Physics.ODESkeletonColliders: Class TSCODEBox

Class TSCODEBox

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.ODESkeletonColliders

Declaration

type TSCODEBox = class(TSCODEBase)

Description

Box shaped ODE geom in a skeleton collider

Hierarchy

  • TObject
  • TPersistent
  • TPersistentObject
  • TGLSkeletonCollider
  • TSCODEBase
  • TSCODEBox

Overview

Fields

Private | FBoxWidth: TdReal;
Private | FBoxHeight: TdReal;
Private | FBoxDepth: TdReal;

Methods

Public | constructor Create; override;
Public | procedure AddToSpace(Space: PdxSpace); override;
Public | procedure ReadFromFiler(reader: TVirtualReader); override;
Public | procedure WriteToFiler(writer: TVirtualWriter); override;
Protected | procedure SetBoxDepth(const val: TdReal);
Protected | procedure SetBoxHeight(const val: TdReal);
Protected | procedure SetBoxWidth(const val: TdReal);

Properties

Public | property BoxDepth: TdReal read FBoxDepth write SetBoxDepth;
Public | property BoxHeight: TdReal read FBoxHeight write SetBoxHeight;
Public | property BoxWidth: TdReal read FBoxWidth write SetBoxWidth;

Description

Fields

Private FBoxWidth: TdReal;
Private FBoxHeight: TdReal;
Private FBoxDepth: TdReal;

Methods

Public constructor Create; override;
Public procedure AddToSpace(Space: PdxSpace); override;
Public procedure ReadFromFiler(reader: TVirtualReader); override;
Public procedure WriteToFiler(writer: TVirtualWriter); override;
Protected procedure SetBoxDepth(const val: TdReal);
Protected procedure SetBoxHeight(const val: TdReal);
Protected procedure SetBoxWidth(const val: TdReal);

Properties

Public property BoxDepth: TdReal read FBoxDepth write SetBoxDepth;
Public property BoxHeight: TdReal read FBoxHeight write SetBoxHeight;
Public property BoxWidth: TdReal read FBoxWidth write SetBoxWidth;


GLSysHelp v.2.1: Physics.ODEUtils

Unit Physics.ODEUtils

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.OpenGL
  • System.SysUtils
  • System.Classes
  • Physics.ODEImport
  • GLS.OpenGLTokens
  • GLS.Context
  • GLS.VectorGeometry
  • GLS.Scene
  • GLS.PersistentClasses
  • GLS.VectorTypes
  • GLS.VectorLists
  • GLS.Coordinates
  • GLS.Objects
  • GLS.VerletClothify
  • GLS.VectorFileObjects

Overview

Functions and Procedures

procedure DrawBox(Sides: TdVector3);
procedure setTransform(pos: TdVector3; R: TdMatrix3);
procedure dsDrawBox(pos: PdVector3; R: PdMatrix3; Sides: TdVector3); overload;
procedure dsDrawBox(pos: TdVector3; R: TdMatrix3; Sides: TdVector3); overload;
procedure ODERToGLSceneMatrix(var m: TGLMatrix; R: TdMatrix3; pos: TdVector3); overload;
procedure ODERToGLSceneMatrix(var m: TGLMatrix; R: PdMatrix3; pos: PdVector3); overload;
procedure ODERToGLSceneMatrix(var m: TGLMatrix; R: TdMatrix3_As3x4; pos: TdVector3); overload;
function GLSceneMatrixToODER(m: TGLMatrix): TdMatrix3;
function ConvertdVector3ToVector3f(R: TdVector3): TVector3f; overload;
function ConvertdVector3ToVector3f(R: PdVector3): TVector3f; overload;
function ConvertdVector3ToVector4f(R: TdVector3): TVector4f; overload;
function ConvertdVector3ToVector4f(R: PdVector3): TVector4f; overload;
function ConvertdVector3ToAffineVector(R: PdVector3): TAffineVector; overload;
function ConvertdVector3ToAffineVector(R: TdVector3): TAffineVector; overload;
function GetBodyPositionAsAffineVector(Body: PdxBody): TAffineVector;
function ConvertVector3fTodVector3(R: TVector3f): TdVector3;
function ConvertVector3fToPdVector3(R: TVector3f): PdVector3;
function ConvertVector4fTodVector3(R: TVector4f): TdVector3;
function ConvertVector4fToPdVector3(R: TVector4f): PdVector3;
function dVector3Length(R: TdVector3): single; overload;
function dVector3Length(R: PdVector3): single; overload;
function dBodyToBodyDistance(Body1, Body2: PdxBody): TdReal;
procedure CopyPosFromGeomToGL(Geom: PdxGeom; GLBaseSceneObject: TGLBaseSceneObject);
procedure PositionSceneObject(GLBaseSceneObject: TGLBaseSceneObject; Geom: PdxGeom);
procedure PositionSceneObjectForGeom(Geom: PdxGeom);
procedure CopyCubeSizeFromBox(Cube: TGLCube; Geom: PdxGeom);
procedure CopyBodyFromCube(Body: PdxBody; var Geom: PdxGeom; Cube: TGLCube; Space: PdxSpace);
function CreateGeomFromCube(Cube: TGLCube; Space: PdxSpace): PdxGeom;
function CreateBodyFromCube(var Geom: PdxGeom; Cube: TGLCube; World: PdxWorld; Space: PdxSpace): PdxBody;
function CreateTriMeshFromBaseMesh( GLBaseMesh: TGLBaseMesh; Space: PdxSpace; var Vertices: PdVector3Array; var Indices: PdIntegerArray): PdxGeom;
function GLMatrixFromGeom(Geom: PdxGeom): TGLMatrix;
function GLDirectionFromGeom(Geom: PdxGeom): TGLVector;
function CreateODEPlaneFromGLPlane(Plane: TGLPlane; Space: PdxSpace): PdxGeom;
procedure RenderGeomList(GeomList: TGeomList);
function RandomColorVector: TGLVector;

Description

Functions and Procedures

procedure DrawBox(Sides: TdVector3);
procedure setTransform(pos: TdVector3; R: TdMatrix3);
procedure dsDrawBox(pos: PdVector3; R: PdMatrix3; Sides: TdVector3); overload;
procedure dsDrawBox(pos: TdVector3; R: TdMatrix3; Sides: TdVector3); overload;
procedure ODERToGLSceneMatrix(var m: TGLMatrix; R: TdMatrix3; pos: TdVector3); overload;
procedure ODERToGLSceneMatrix(var m: TGLMatrix; R: PdMatrix3; pos: PdVector3); overload;
procedure ODERToGLSceneMatrix(var m: TGLMatrix; R: TdMatrix3_As3x4; pos: TdVector3); overload;
function GLSceneMatrixToODER(m: TGLMatrix): TdMatrix3;
function ConvertdVector3ToVector3f(R: TdVector3): TVector3f; overload;

Converting between ODE and GLScene formats

function ConvertdVector3ToVector3f(R: PdVector3): TVector3f; overload;
function ConvertdVector3ToVector4f(R: TdVector3): TVector4f; overload;
function ConvertdVector3ToVector4f(R: PdVector3): TVector4f; overload;
function ConvertdVector3ToAffineVector(R: PdVector3): TAffineVector; overload;
function ConvertdVector3ToAffineVector(R: TdVector3): TAffineVector; overload;
function GetBodyPositionAsAffineVector(Body: PdxBody): TAffineVector;
function ConvertVector3fTodVector3(R: TVector3f): TdVector3;

Converting between GLScene and ODE formats

function ConvertVector3fToPdVector3(R: TVector3f): PdVector3;
function ConvertVector4fTodVector3(R: TVector4f): TdVector3;
function ConvertVector4fToPdVector3(R: TVector4f): PdVector3;
function dVector3Length(R: TdVector3): single; overload;
function dVector3Length(R: PdVector3): single; overload;
function dBodyToBodyDistance(Body1, Body2: PdxBody): TdReal;
procedure CopyPosFromGeomToGL(Geom: PdxGeom; GLBaseSceneObject: TGLBaseSceneObject);
procedure PositionSceneObject(GLBaseSceneObject: TGLBaseSceneObject; Geom: PdxGeom);
procedure PositionSceneObjectForGeom(Geom: PdxGeom);
procedure CopyCubeSizeFromBox(Cube: TGLCube; Geom: PdxGeom);
procedure CopyBodyFromCube(Body: PdxBody; var Geom: PdxGeom; Cube: TGLCube; Space: PdxSpace);
function CreateGeomFromCube(Cube: TGLCube; Space: PdxSpace): PdxGeom;
function CreateBodyFromCube(var Geom: PdxGeom; Cube: TGLCube; World: PdxWorld; Space: PdxSpace): PdxBody;
function CreateTriMeshFromBaseMesh( GLBaseMesh: TGLBaseMesh; Space: PdxSpace; var Vertices: PdVector3Array; var Indices: PdIntegerArray): PdxGeom;

This method requires you to manually deallocate vertices and indices when you're done with the trimesh

function GLMatrixFromGeom(Geom: PdxGeom): TGLMatrix;
function GLDirectionFromGeom(Geom: PdxGeom): TGLVector;
function CreateODEPlaneFromGLPlane(Plane: TGLPlane; Space: PdxSpace): PdxGeom;
procedure RenderGeomList(GeomList: TGeomList);
function RandomColorVector: TGLVector;


GLSysHelp v.2.1: Physics.PhysXImport

Unit Physics.PhysXImport

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows

Overview

Functions and Procedures

procedure SDK_Version(major, minor, bugfix: pdword); stdcall; external PhysXDLL;
procedure InitNx; stdcall; external PhysXDLL;
procedure ReleaseNx; stdcall; external PhysXDLL;
procedure SimulateNx(dt: single); stdcall; external PhysXDLL;
procedure GetResultsNx; stdcall; external PhysXDLL;
procedure ActorCount(count: pdword); stdcall; external PhysXDLL;
procedure GetActor(index: dword; obj: pdword); stdcall; external PhysXDLL;
procedure GetActorGlobalPosition(actor: dword; x,y,z: psingle); stdcall; external PhysXDLL;
procedure SetActorGlobalPosition(actor: dword; x,y,z: single); stdcall; external PhysXDLL;
procedure GetActorGlobalOrientation(actor: dword; x,y,z,w: psingle); stdcall; external PhysXDLL;
procedure SetActorGlobalOrientation(actor: dword; x,y,z,w: single); stdcall; external PhysXDLL;
procedure GetActorCMassGlobalPosition(actor: dword; x,y,z: psingle); stdcall; external PhysXDLL;
procedure SetActorCMassGlobalPosition(actor: dword; x,y,z: single); stdcall; external PhysXDLL;
procedure GetActorMass(actor: dword; m: psingle); stdcall; external PhysXDLL;
procedure SetActorMass(actor: dword; m: single); stdcall; external PhysXDLL;
procedure ActorAddForce(actor: dword; x,y,z: single); stdcall; external PhysXDLL;
procedure CreateGroundPlane(actor: pdword); stdcall; external PhysXDLL;
procedure CreateBox(actor: pdword; sx,sy,sz,dens: single); stdcall; external PhysXDLL;
procedure CreateSphere(actor: pdword; rad: single; dens: single); stdcall; external PhysXDLL;
procedure CreateCylinder(actor: pdword; rad: single; height: single; dens: single); stdcall; external PhysXDLL;

Constants

PhysXDLL = 'PhysXwrap.dll';

Description

Functions and Procedures

procedure SDK_Version(major, minor, bugfix: pdword); stdcall; external PhysXDLL;
procedure InitNx; stdcall; external PhysXDLL;
procedure ReleaseNx; stdcall; external PhysXDLL;
procedure SimulateNx(dt: single); stdcall; external PhysXDLL;
procedure GetResultsNx; stdcall; external PhysXDLL;
procedure ActorCount(count: pdword); stdcall; external PhysXDLL;
procedure GetActor(index: dword; obj: pdword); stdcall; external PhysXDLL;
procedure GetActorGlobalPosition(actor: dword; x,y,z: psingle); stdcall; external PhysXDLL;
procedure SetActorGlobalPosition(actor: dword; x,y,z: single); stdcall; external PhysXDLL;
procedure GetActorGlobalOrientation(actor: dword; x,y,z,w: psingle); stdcall; external PhysXDLL;
procedure SetActorGlobalOrientation(actor: dword; x,y,z,w: single); stdcall; external PhysXDLL;
procedure GetActorCMassGlobalPosition(actor: dword; x,y,z: psingle); stdcall; external PhysXDLL;
procedure SetActorCMassGlobalPosition(actor: dword; x,y,z: single); stdcall; external PhysXDLL;
procedure GetActorMass(actor: dword; m: psingle); stdcall; external PhysXDLL;
procedure SetActorMass(actor: dword; m: single); stdcall; external PhysXDLL;
procedure ActorAddForce(actor: dword; x,y,z: single); stdcall; external PhysXDLL;
procedure CreateGroundPlane(actor: pdword); stdcall; external PhysXDLL;
procedure CreateBox(actor: pdword; sx,sy,sz,dens: single); stdcall; external PhysXDLL;
procedure CreateSphere(actor: pdword; rad: single; dens: single); stdcall; external PhysXDLL;
procedure CreateCylinder(actor: pdword; rad: single; height: single; dens: single); stdcall; external PhysXDLL;

Constants

PhysXDLL = 'PhysXwrap.dll';


GLSysHelp v.2.1: Physics.Register

Unit Physics.Register

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • Physics.ODEManager
  • Physics.NGDManager
  • Physics.SPIManager

Overview

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: Physics.SPIFields

Unit Physics.SPIFields

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • GLS.VectorGeometry
  • GLS.XCollection
  • GLS.Scene
  • GLS.Coordinates
  • GLS.Behaviours
  • Physics.SPIInertias
  • Physics.SPIManager

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLUniformGravityEmitter |
Class TGLRadialGravityEmitter |
Class TGLDampingFieldEmitter |

Constants

GravitationalConstant = 6.6726E-11;

Description

Constants

GravitationalConstant = 6.6726E-11;


GLSysHelp v.2.1: Physics.SPIFields: Class TGLUniformGravityEmitter

Class TGLUniformGravityEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIFields

Declaration

type TGLUniformGravityEmitter = class(TGLBaseForceFieldEmitter)

Description

GLS.RigidBodyInertia

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseForceFieldEmitter
  • TGLUniformGravityEmitter

Overview

Fields

Private fGravity: TGLCoordinates;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForceField(Body: TGLBaseSceneObject) : TAffineVector; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure WriteToFiler(writer: TWriter); override;
Protected | procedure SetGravity(const val: TGLCoordinates);

Properties

Published property Gravity: TGLCoordinates read fGravity write SetGravity;

Description

Fields

Private fGravity: TGLCoordinates;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalculateForceField(Body: TGLBaseSceneObject) : TAffineVector; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(reader: TReader); override;
Public procedure WriteToFiler(writer: TWriter); override;
Protected procedure SetGravity(const val: TGLCoordinates);

Properties

Published property Gravity: TGLCoordinates read fGravity write SetGravity;


GLSysHelp v.2.1: Physics.SPIFields: Class TGLRadialGravityEmitter

Class TGLRadialGravityEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIFields

Declaration

type TGLRadialGravityEmitter = class(TGLBaseForceFieldEmitter)

Description

No description available, ancestor TGLBaseForceFieldEmitter description follows

A base for different types of force-field behaviours

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseForceFieldEmitter
  • TGLRadialGravityEmitter

Overview

Fields

Private | fMass: Real;
Private | fMassOverG: Real;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForceField(Body: TGLBaseSceneObject) : TAffineVector; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Mass: Real read fMass write fMass;

Description

Fields

Private fMass: Real;
Private fMassOverG: Real;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalculateForceField(Body: TGLBaseSceneObject) : TAffineVector; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(reader: TReader); override;
Public procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Mass: Real read fMass write fMass;


GLSysHelp v.2.1: Physics.SPIFields: Class TGLDampingFieldEmitter

Class TGLDampingFieldEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIFields

Declaration

type TGLDampingFieldEmitter = class(TGLBaseForceFieldEmitter)

Description

No description available, ancestor TGLBaseForceFieldEmitter description follows

A base for different types of force-field behaviours

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseForceFieldEmitter
  • TGLDampingFieldEmitter

Overview

Fields

Private fDamping: TGLDamping;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForceField(Body: TGLBaseSceneObject) : TAffineVector; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure WriteToFiler(writer: TWriter); override;
Protected | procedure SetDamping(const val: TGLDamping);

Properties

Published property Damping: TGLDamping read fDamping write SetDamping;

Description

Fields

Private fDamping: TGLDamping;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalculateForceField(Body: TGLBaseSceneObject) : TAffineVector; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(reader: TReader); override;
Public procedure WriteToFiler(writer: TWriter); override;
Protected procedure SetDamping(const val: TGLDamping);

Properties

Published property Damping: TGLDamping read fDamping write SetDamping;


GLSysHelp v.2.1: Physics.SPIForces

Unit Physics.SPIForces

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • Vcl.Dialogs
  • GLS.VectorTypes
  • GLS.XCollection
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Behaviours
  • GLS.Coordinates
  • GLS.Strings

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLForce |
Class TGLHookesSpring |
Class TGLHookesString |

Types

TGLForceType = (...);
TOnCustomForce = procedure() of object;

Description

Types

TGLForceType = (...);
Values
  • ftHookes
  • ftGravitation
  • ftCustom
TOnCustomForce = procedure() of object;


GLSysHelp v.2.1: Physics.SPIForces: Class TGLForce

Class TGLForce

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIForces

Declaration

type TGLForce = class(TXCollectionItem)

Description

No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLForce

Overview

Fields

Private | fObject1: TGLBaseSceneObject;
Private | fObject2: TGLBaseSceneObject;
Private | fposition1: TGLCoordinates;
Private | fposition2: TGLCoordinates;
Private | object1Name: String;
Private | object2Name: String;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForce(): TAffineVector; virtual;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure SetObject1(const val: TGLBaseSceneObject);
Public | procedure SetObject2(const val: TGLBaseSceneObject);
Public | procedure SetPosition1(const val: TGLCoordinates);
Public | procedure SetPosition2(const val: TGLCoordinates);
Public | procedure WriteToFiler(writer: TWriter); override;
Protected | procedure Loaded; override;
Protected | procedure SetName(const val: String); override;

Properties

Published | property Object1: TGLBaseSceneObject read fObject1 write SetObject1;
Published | property Object2: TGLBaseSceneObject read fObject2 write SetObject2;
Published | property Position1: TGLCoordinates read fposition1 write SetPosition1;
Published | property Position2: TGLCoordinates read fposition2 write SetPosition2;

Description

Fields

Private fObject1: TGLBaseSceneObject;
Private fObject2: TGLBaseSceneObject;
Private fposition1: TGLCoordinates;
Private fposition2: TGLCoordinates;
Private object1Name: String;
Private object2Name: String;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalculateForce(): TAffineVector; virtual;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(reader: TReader); override;

Override this function to read subclass data.

Public procedure SetObject1(const val: TGLBaseSceneObject);
Public procedure SetObject2(const val: TGLBaseSceneObject);
Public procedure SetPosition1(const val: TGLCoordinates);
Public procedure SetPosition2(const val: TGLCoordinates);
Public procedure WriteToFiler(writer: TWriter); override;

Override this function to write subclass data.

Protected procedure Loaded; override;

fOnCustomForce: TOnCustomForce;

Protected procedure SetName(const val: String); override;

Properties

Published property Object1: TGLBaseSceneObject read fObject1 write SetObject1;
Published property Object2: TGLBaseSceneObject read fObject2 write SetObject2;
Published property Position1: TGLCoordinates read fposition1 write SetPosition1;
Published property Position2: TGLCoordinates read fposition2 write SetPosition2;


GLSysHelp v.2.1: Physics.SPIForces: Class TGLHookesSpring

Class TGLHookesSpring

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIForces

Declaration

type TGLHookesSpring = class(TGLForce)

Description

No description available, ancestor TGLForce description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLForce
  • TGLHookesSpring

Overview

Fields

Private | fNaturalLength: Real;
Private | fElasticity: Real;
Private | fLength: Real;
Private | fExtension: Real;
Private | fDamping: TGLDamping;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForce(): TAffineVector; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure SetDamping(const val: TGLDamping);
Public | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property Damping: TGLDamping read fDamping write SetDamping;
Published | property Elasticity: Real read fElasticity write fElasticity;
Published | property NaturalLength: Real read fNaturalLength write fNaturalLength;

Description

Fields

Private fNaturalLength: Real;
Private fElasticity: Real;
Private fLength: Real;
Private fExtension: Real;
Private fDamping: TGLDamping;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalculateForce(): TAffineVector; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Public procedure ReadFromFiler(reader: TReader); override;
Public procedure SetDamping(const val: TGLDamping);
Public procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Damping: TGLDamping read fDamping write SetDamping;
Published property Elasticity: Real read fElasticity write fElasticity;
Published property NaturalLength: Real read fNaturalLength write fNaturalLength;


GLSysHelp v.2.1: Physics.SPIForces: Class TGLHookesString

Class TGLHookesString

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIForces

Declaration

type TGLHookesString = class(TGLHookesSpring)

Description

No description available, ancestor TGLHookesSpring description follows
No description available, ancestor TGLForce description follows
No description available, ancestor TXCollectionItem description follows

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLForce
  • TGLHookesSpring
  • TGLHookesString

Overview

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForce(): TAffineVector; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;

Description

Methods

Public constructor Create(aOwner: TXCollection); override;

procedure WriteToFiler(writer : TWriter); override; procedure ReadFromFiler(reader : TReader); override;

Public destructor Destroy; override;
Public function CalculateForce(): TAffineVector; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;


GLSysHelp v.2.1: Physics.SPIInertias

Unit Physics.SPIInertias

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.SysUtils
  • System.Classes
  • Vcl.Dialogs
  • GLS.PersistentClasses
  • GLS.XCollection
  • GLS.Scene
  • GLS.BaseClasses
  • GLS.VectorGeometry
  • GLS.VectorTypes
  • Physics.SPIManager
  • GLS.Coordinates
  • GLS.Strings
  • GLS.Behaviours

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLParticleInertia |
Class TGLInertiaTensor |
Class TGLRigidBodyInertia |

Functions and Procedures

function GetOrCreateParticleInertia(behaviours: TGLBehaviours): TGLParticleInertia; overload;
function GetOrCreateParticleInertia(obj: TGLBaseSceneObject): TGLParticleInertia; overload;
function GetOrCreateRigidBodyInertia(behaviours: TGLBehaviours): TGLRigidBodyInertia; overload;
function GetOrCreateRigidBodyInertia(obj: TGLBaseSceneObject): TGLRigidBodyInertia; overload;

Constants

DebugMode = false;

Description

Functions and Procedures

function GetOrCreateParticleInertia(behaviours: TGLBehaviours): TGLParticleInertia; overload;

Returns or creates the TGLParticleInertia within the given behaviours. This helper function is convenient way to access a TGLParticleInertia.

function GetOrCreateParticleInertia(obj: TGLBaseSceneObject): TGLParticleInertia; overload;

Returns or creates the TGLParticleInertia within the given object's behaviours. This helper function is convenient way to access a TGLParticleInertia.

function GetOrCreateRigidBodyInertia(behaviours: TGLBehaviours): TGLRigidBodyInertia; overload;

Returns or creates the TGLRigidBodyInertia within the given behaviours. This helper function is convenient way to access a TGLRigidBodyInertia.

function GetOrCreateRigidBodyInertia(obj: TGLBaseSceneObject): TGLRigidBodyInertia; overload;

Returns or creates the TGLRigidBodyInertia within the given object's behaviours. This helper function is convenient way to access a TGLRigidBodyInertia.

Constants

DebugMode = false;


GLSysHelp v.2.1: Physics.SPIInertias: Class TGLParticleInertia

Class TGLParticleInertia

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIInertias

Declaration

type TGLParticleInertia = class(TGLBaseInertia)

Description

No description available, ancestor TGLBaseInertia description follows

purpose of TGLBaseInertia is to allow for inertias that may be constrained to 1 or 2 dimensions Shouldn't be used directly, instead use TGLParticleInertia (for a 3D particle) TGLRigidBodyInertia (for a 3D rigid-body) or define a new sub-class e.g. TGL1DParticleInertia, this will allow for faster speed

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseInertia
  • TGLParticleInertia

Overview

Fields

Private | FMass: Single;
Private | FTranslationSpeed: TGLCoordinates;
Private | FTranslationDamping: TGLDamping;
Public | fForce: TAffineVector;
Public | LinearPosition: TAffineVector;
Public | LinearMomentum: TAffineVector;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateKE(): Real; override;
Public | function CalculatePE(): Real; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function UniqueItem: Boolean; override;
Protected | function CalcLinearMomentumDot(): TAffineVector;
Protected | function CalcLinearPositionDot(): TAffineVector;
Public | procedure ApplyDamping(damping: TGLDamping); virtual;
Public | procedure ApplyForce(x, y, z: Real); overload; virtual;
Public | procedure ApplyForce(pos, Force: TAffineVector); overload; virtual;
Public | procedure ApplyForce(Force: TAffineVector); overload; virtual;
Public | procedure ApplyImpulse(j, x, y, z: Real); overload; virtual;
Public | procedure ApplyImpulse(j: Single; normal: TAffineVector); overload; virtual;
Public | procedure ApplyLocalForce(pos, Force: TAffineVector); virtual;
Public | procedure ArrayToState( StateArray: TStateArray; StatePos: Integer); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure CalcAuxiliary(); override;
Public | procedure CalcStateDot(var StateArray: TStateArray; StatePos: Integer); override;
Public | procedure CalculateForceFieldForce(ForceFieldEmitter : TGLBaseForceFieldEmitter); override;
Public | procedure MirrorTranslation;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure RemoveForces(); override;
Public | procedure SetForce(x, y, z: Real); virtual;
Public | procedure SetUpStartingState(); override;
Public | procedure StateToArray(var StateArray: TStateArray; StatePos: Integer); override;
Public | procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: Single);
Public | procedure WriteToFiler(writer: TWriter); override;
Protected | procedure SetTranslationDamping(const val: TGLDamping);
Protected | procedure SetTranslationSpeed(const val: TGLCoordinates);

Properties

Published | property Mass: Single read FMass write FMass;
Published | property TranslationDamping: TGLDamping read FTranslationDamping write SetTranslationDamping;
Published | property TranslationSpeed: TGLCoordinates read FTranslationSpeed write SetTranslationSpeed;

Description

Fields

Private FMass: Single;

modified from TGLBInertia

Private FTranslationSpeed: TGLCoordinates;
Private FTranslationDamping: TGLDamping;
Public fForce: TAffineVector;
Public LinearPosition: TAffineVector;
Public LinearMomentum: TAffineVector;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalculateKE(): Real; override;
Public function CalculatePE(): Real; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function UniqueItem: Boolean; override;
Protected function CalcLinearMomentumDot(): TAffineVector;
Protected function CalcLinearPositionDot(): TAffineVector;
Public procedure ApplyDamping(damping: TGLDamping); virtual;
Public procedure ApplyForce(x, y, z: Real); overload; virtual;
Public procedure ApplyForce(pos, Force: TAffineVector); overload; virtual;
Public procedure ApplyForce(Force: TAffineVector); overload; virtual;
Public procedure ApplyImpulse(j, x, y, z: Real); overload; virtual;
Public procedure ApplyImpulse(j: Single; normal: TAffineVector); overload; virtual;
Public procedure ApplyLocalForce(pos, Force: TAffineVector); virtual;
Public procedure ArrayToState( StateArray: TStateArray; StatePos: Integer); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure CalcAuxiliary(); override;
Public procedure CalcStateDot(var StateArray: TStateArray; StatePos: Integer); override;
Public procedure CalculateForceFieldForce(ForceFieldEmitter : TGLBaseForceFieldEmitter); override;
Public procedure MirrorTranslation;

Inverts the translation vector

Public procedure ReadFromFiler(reader: TReader); override;
Public procedure RemoveForces(); override;
Public procedure SetForce(x, y, z: Real); virtual;
Public procedure SetUpStartingState(); override;
Public procedure StateToArray(var StateArray: TStateArray; StatePos: Integer); override;
Public procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: Single);

Bounce speed as if hitting a surface. restitution is the coefficient of restituted energy (1=no energy loss, 0=no bounce). The normal is NOT assumed to be normalized.

Public procedure WriteToFiler(writer: TWriter); override;
Protected procedure SetTranslationDamping(const val: TGLDamping);
Protected procedure SetTranslationSpeed(const val: TGLCoordinates);

Properties

Published property Mass: Single read FMass write FMass;
Published property TranslationDamping: TGLDamping read FTranslationDamping write SetTranslationDamping;

Damping applied to translation speed.<br> Note that it is not "exactly" applied, ie. if damping would stop your object after 0.5 time unit, and your progression steps are of 1 time unit, there will be an integration error of 0.5 time unit.

Published property TranslationSpeed: TGLCoordinates read FTranslationSpeed write SetTranslationSpeed;


GLSysHelp v.2.1: Physics.SPIInertias: Class TGLInertiaTensor

Class TGLInertiaTensor

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIInertias

Declaration

type TGLInertiaTensor = class(TGLUpdateAbleObject)

Description

Stores Inertia Tensor for TGLRigidBodyInertia model

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TGLUpdateAbleObject
  • TGLInertiaTensor

Overview

Fields

Private | fm11: Single;
Private | fm12: Single;
Private | fm13: Single;
Private | fm21: Single;
Private | fm22: Single;
Private | fm23: Single;
Private | fm31: Single;
Private | fm32: Single;
Private | fm33: Single;

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | destructor Destroy; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure ReadFromFiler(reader: TReader);
Public | procedure WriteToFiler(writer: TWriter);

Properties

Published | property m11: Single read fm11 write fm11;
Published | property m12: Single read fm12 write fm12;
Published | property m13: Single read fm13 write fm13;
Published | property m21: Single read fm21 write fm21;
Published | property m22: Single read fm22 write fm22;
Published | property m23: Single read fm23 write fm23;
Published | property m31: Single read fm31 write fm31;
Published | property m32: Single read fm32 write fm32;
Published | property m33: Single read fm33 write fm33;

Description

Fields

Private fm11: Single;
Private fm12: Single;
Private fm13: Single;
Private fm21: Single;
Private fm22: Single;
Private fm23: Single;
Private fm31: Single;
Private fm32: Single;
Private fm33: Single;

Methods

Public constructor Create(aOwner: TPersistent); override;
Public destructor Destroy; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure ReadFromFiler(reader: TReader);
Public procedure WriteToFiler(writer: TWriter);

Properties

Published property m11: Single read fm11 write fm11;
Published property m12: Single read fm12 write fm12;
Published property m13: Single read fm13 write fm13;
Published property m21: Single read fm21 write fm21;
Published property m22: Single read fm22 write fm22;
Published property m23: Single read fm23 write fm23;
Published property m31: Single read fm31 write fm31;
Published property m32: Single read fm32 write fm32;
Published property m33: Single read fm33 write fm33;


GLSysHelp v.2.1: Physics.SPIInertias: Class TGLRigidBodyInertia

Class TGLRigidBodyInertia

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIInertias

Declaration

type TGLRigidBodyInertia = class(TGLParticleInertia)

Description

A more complex model than TGLBInertia for Inertia

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseInertia
  • TGLParticleInertia
  • TGLRigidBodyInertia

Overview

Fields

Private | fDensity: Real;
Private | fBodyInertiaTensor: TAffineMAtrix;
Private | fBodyInverseInertiaTensor: TAffineMAtrix;
Private | fInertiaTensor: TGLInertiaTensor;
Private | InverseInertiaTensor: TAffineMAtrix;
Private | fRotationSpeed: TGLCoordinates;
Private | FRotationDamping: TGLDamping;
Protected | fTorque: TAffineVector;
Public | AngularOrientation: TQuaternion;
Public | R: TMatrix3f;
Public | AngularMomentum: TAffineVector;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalcAngularOrientationDot(): TQuaternion;
Public | function CalcAngularVelocityDot(): TAffineVector;
Public | function CalculateKE(): Real; override;
Public | function CalculatePE(): Real; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | function QuaternionToString(Quat: TQuaternion): String;
Public | class function UniqueItem: Boolean; override;
Public | procedure ApplyDamping(damping: TGLDamping); override;
Public | procedure ApplyForce(pos, Force: TAffineVector); override;
Public | procedure ApplyImpulse(j: Single; position, normal: TAffineVector); overload;
Public | procedure ApplyImpulse(j, xpos, ypos, zpos, x, y, z: Real); overload;
Public | procedure ApplyLocalForce(pos, Force: TVector3f); override;
Public | procedure ApplyLocalImpulse(xpos, ypos, zpos, x, y, z: Real);
Public | procedure ApplyTorque(x, y, z: Real);
Public | procedure ArrayToState( StateArray: TStateArray; StatePos: Integer); override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure CalcAuxiliary(); override;
Public | procedure CalcStateDot(var StateArray: TStateArray; StatePos: Integer); override;
Public | procedure ReadFromFiler(reader: TReader); override;
Public | procedure RemoveForces(); override;
Public | procedure SetInertiaTensor(newVal: TGLInertiaTensor);
Public | procedure SetRotationDamping(const val: TGLDamping);
Public | procedure SetRotationSpeed(const val: TGLCoordinates);
Public | procedure SetTorque(x, y, z: Real);
Public | procedure SetUpStartingState(); override;
Public | procedure StateToArray(var StateArray: TStateArray; StatePos: Integer); override;
Public | procedure WriteToFiler(writer: TWriter); override;
Protected | procedure SetAngularDamping(const val: TGLDamping);
Protected | procedure SetLinearDamping(const val: TGLDamping);

Properties

Published | property Density: Real read fDensity write fDensity;
Published | property InertiaTensor: TGLInertiaTensor read fInertiaTensor write SetInertiaTensor;
Published | property RotationDamping: TGLDamping read FRotationDamping write SetRotationDamping;
Published | property RotationSpeed: TGLCoordinates read fRotationSpeed write SetRotationSpeed;

Description

Fields

Private fDensity: Real;
Private fBodyInertiaTensor: TAffineMAtrix;
Private fBodyInverseInertiaTensor: TAffineMAtrix;
Private fInertiaTensor: TGLInertiaTensor;
Private InverseInertiaTensor: TAffineMAtrix;
Private fRotationSpeed: TGLCoordinates;

LinearVelocity:TAffineVector;

Private FRotationDamping: TGLDamping;

AngularVelocity:TAffineVector; //rotation about axis, magnitude=speed damping properties

Protected fTorque: TAffineVector;

torques

Public AngularOrientation: TQuaternion;
Public R: TMatrix3f;

As Quat will help improve accuracy

Public AngularMomentum: TAffineVector;

corresponds to AngularOrientation

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;
Public function CalcAngularOrientationDot(): TQuaternion;

function CalcLinearPositionDot():TAffineVector; function CalcLinearMomentumDot():TAffineVector;

Public function CalcAngularVelocityDot(): TAffineVector;
Public function CalculateKE(): Real; override;
Public function CalculatePE(): Real; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public function QuaternionToString(Quat: TQuaternion): String;

function Star(Vector:TAffineVector):TGLMatrix;

Public class function UniqueItem: Boolean; override;
Public procedure ApplyDamping(damping: TGLDamping); override;
Public procedure ApplyForce(pos, Force: TAffineVector); override;
Public procedure ApplyImpulse(j: Single; position, normal: TAffineVector); overload;
Public procedure ApplyImpulse(j, xpos, ypos, zpos, x, y, z: Real); overload;
Public procedure ApplyLocalForce(pos, Force: TVector3f); override;
Public procedure ApplyLocalImpulse(xpos, ypos, zpos, x, y, z: Real);
Public procedure ApplyTorque(x, y, z: Real);
Public procedure ArrayToState( StateArray: TStateArray; StatePos: Integer); override;
Public procedure Assign(Source: TPersistent); override;
Public procedure CalcAuxiliary(); override;
Public procedure CalcStateDot(var StateArray: TStateArray; StatePos: Integer); override;
Public procedure ReadFromFiler(reader: TReader); override;
Public procedure RemoveForces(); override;
Public procedure SetInertiaTensor(newVal: TGLInertiaTensor);
Public procedure SetRotationDamping(const val: TGLDamping);
Public procedure SetRotationSpeed(const val: TGLCoordinates);
Public procedure SetTorque(x, y, z: Real);
Public procedure SetUpStartingState(); override;
Public procedure StateToArray(var StateArray: TStateArray; StatePos: Integer); override;
Public procedure WriteToFiler(writer: TWriter); override;
Protected procedure SetAngularDamping(const val: TGLDamping);
Protected procedure SetLinearDamping(const val: TGLDamping);

Properties

Published property Density: Real read fDensity write fDensity;
Published property InertiaTensor: TGLInertiaTensor read fInertiaTensor write SetInertiaTensor;
Published property RotationDamping: TGLDamping read FRotationDamping write SetRotationDamping;
Published property RotationSpeed: TGLCoordinates read fRotationSpeed write SetRotationSpeed;


GLSysHelp v.2.1: Physics.SPIJoints

Unit Physics.SPIJoints

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • GLS.VectorTypes
  • GLS.Scene
  • GLS.VectorGeometry

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLBaseJoint |
Class TGLBaseLink |
Class TGLJoint |
Class TGLLink |
Class TGLType1Link |
Class TGLType2Link |
Class TGLType3Link |
Class TGLType4Link |
Class TGLType5Link |
Class TGLType6Link |
Class TGLType7Link |
Class TGLType8Link |
Class TGLPrismaticJoint |
Class TGLRevoluteJoint |
Class TGLBallAndSocketJoint |


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLBaseJoint

Class TGLBaseJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLBaseJoint = class(TObject)

Description

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)

Hierarchy

  • TObject
  • TGLBaseJoint


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLBaseLink

Class TGLBaseLink

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLBaseLink = class(TObject)

Description

Hierarchy

  • TObject
  • TGLBaseLink


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLJoint

Class TGLJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLJoint = class(TGLBaseJoint)

Description

No description available, ancestor TGLBaseJoint description follows

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)

Hierarchy

  • TObject
  • TGLBaseJoint
  • TGLJoint

Overview

Fields

Public | Link1: TGLBaseLink;
Public | Link2: TGLBaseLink;

Description

Fields

Public Link1: TGLBaseLink;
Public Link2: TGLBaseLink;

if Link1 is nil, assumed to be base


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLLink

Class TGLLink

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLLink = class(TGLBaseLink)

Description

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink

Overview

Fields

Public | fLinkLength: Real;
Public | fTwistAngle: Real;
Public | fLinkAngle: Real;
Public | fLinkDistance: Real;
Public | A: TGLMatrix;

Methods

Public constructor Create(LinkLength, TwistAngle, LinkAngle, LinkDistance: Real);

Description

Fields

Public fLinkLength: Real;

Link Parameters

Public fTwistAngle: Real;

Length of common normal which is orthogonal to both joint axes Z[n-1] and Z[n] (a.k.a. L)

Public fLinkAngle: Real;

Twist angle between joint axes, if joint frames were coincident (a.k.a. Theta?)

Public fLinkDistance: Real;

Angle between common normals X[n-1] and X[n] (a.k.a. Alpha?)

Public A: TGLMatrix;

// // A-Matrix // [ Cos(Theta) -Sin(Theta)*Cos(Alpha) Sin(Theta)*Sin(Alpha) L*Cos(Theta) ] // [ Sin(Theta) Cos(Theta)*cos(Alpha) -Cos(Theta)*Sin(Alpha) L*Sin(Theta) ] // [ 0 Sin(Alpha) Cos(Alpha) d ] // [ 0 0 0 1 ] //

Methods

Public constructor Create(LinkLength, TwistAngle, LinkAngle, LinkDistance: Real);


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType1Link

Class TGLType1Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType1Link = class(TGLLink)

Description

// Type 1 Two-Link Manipulator // // _ ________ // / \ \ // / \/________/ // / / // / / // / / // / / // / / // \_/ //

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType1Link

Overview

Fields

Public | Length: Real;
Public | Angle: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;
Public Angle: Real;

fixed

Methods

Public constructor Create(Length, Angle: Real);

// A-Matrix // [ C1 -S1 0 L1C1 ] // [ S1 C1 0 L1S1 ] // [ 0 0 1 0 ] // [ 0 0 0 1 ] //


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType2Link

Class TGLType2Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType2Link = class(TGLLink)

Description

// Type 2 Two-Link Manipulator // ___ // / \___________________ // | + |___________________| // \ / // | | // | | // | | // | | // | | // | | // __|_|__ // |___.___| //

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType2Link

Overview

Fields

Public | Length: Real;
Public | Angle: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;
Public Angle: Real;

fixed

Methods

Public constructor Create(Length, Angle: Real);

variable


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType3Link

Class TGLType3Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType3Link = class(TGLLink)

Description

// Type 3 Two-Link Manipulator // _______ // _________| |__ // <-|_________| |__|-> // |__ __| // | | // | | // | | // | | // | | // _|_|_ // |__.__|

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType3Link

Overview

Fields

Public | Length: Real;
Public | Angle: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;
Public Angle: Real;

fixed

Methods

Public constructor Create(Length, Angle: Real);

// A-Matrix // [ 1 0 0 0 ] // [ 0 1 0 0 ] // [ 0 0 1 d2 ] // [ 0 0 0 1 ] //


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType4Link

Class TGLType4Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType4Link = class(TGLLink)

Description

No description available, ancestor TGLLink description follows

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType4Link

Overview

Fields

Public | Length: Real;
Public | Angle: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;
Public Angle: Real;

fixed

Methods

Public constructor Create(Length, Angle: Real);

variable


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType5Link

Class TGLType5Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType5Link = class(TGLLink)

Description

// Type 5 Two-Link Manipulator // // _ // ________|_|__ // <-|_____________|-> // | | // | | // | | // | | // | | // __| |__ // |__| |__| // |_| // | // V //

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType5Link

Overview

Fields

Public Length: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;

Methods

Public constructor Create(Length, Angle: Real);

variable


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType6Link

Class TGLType6Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType6Link = class(TGLLink)

Description

No description available, ancestor TGLLink description follows

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType6Link

Overview

Fields

Public | Length: Real;
Public | Angle: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;
Public Angle: Real;

fixed

Methods

Public constructor Create(Length, Angle: Real);

variable


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType7Link

Class TGLType7Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType7Link = class(TGLLink)

Description

No description available, ancestor TGLLink description follows

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType7Link

Overview

Fields

Public | Length: Real;
Public | Angle: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;
Public Angle: Real;

fixed

Methods

Public constructor Create(Length, Angle: Real);

variable


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLType8Link

Class TGLType8Link

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLType8Link = class(TGLLink)

Description

No description available, ancestor TGLLink description follows

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned

Hierarchy

  • TObject
  • TGLBaseLink
  • TGLLink
  • TGLType8Link

Overview

Fields

Public Length: Real;

Methods

Public constructor Create(Length, Angle: Real);

Description

Fields

Public Length: Real;

Methods

Public constructor Create(Length, Angle: Real);

variable


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLPrismaticJoint

Class TGLPrismaticJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLPrismaticJoint = class(TGLJoint)

Description

No description available, ancestor TGLJoint description follows
No description available, ancestor TGLBaseJoint description follows

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)

Hierarchy

  • TObject
  • TGLBaseJoint
  • TGLJoint
  • TGLPrismaticJoint


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLRevoluteJoint

Class TGLRevoluteJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLRevoluteJoint = class(TGLJoint)

Description

No description available, ancestor TGLJoint description follows
No description available, ancestor TGLBaseJoint description follows

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)

Hierarchy

  • TObject
  • TGLBaseJoint
  • TGLJoint
  • TGLRevoluteJoint


GLSysHelp v.2.1: Physics.SPIJoints: Class TGLBallAndSocketJoint

Class TGLBallAndSocketJoint

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIJoints

Declaration

type TGLBallAndSocketJoint = class(TGLJoint)

Description

No description available, ancestor TGLJoint description follows
No description available, ancestor TGLBaseJoint description follows

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)

Hierarchy

  • TObject
  • TGLBaseJoint
  • TGLJoint
  • TGLBallAndSocketJoint


GLSysHelp v.2.1: Physics.SPIManager

Unit Physics.SPIManager

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Dialogs
  • GLS.XCollection
  • GLS.VectorGeometry
  • GLS.Scene
  • Physics.SPIForces
  • GLS.Behaviours

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TDESolver |
Class TDESolverExplicit |
Class TDESolverEuler |
Class TDESolverRungeKutta4 |
Class TDESolverImplicit |
Class TDESolverVerlet |
Class TGLBaseInertia |
Class TGLBaseForceFieldEmitter |
Class TGLSPIManager |
Class TGLForces |

Types

TDESolverType = (...);
TStateArray = Array of Real;

Description

Types

TDESolverType = (...);

only ssEuler is usable at the moment

Values
  • ssEuler
  • ssRungeKutta4
  • ssVerlet
TStateArray = Array of Real;

TDESolver = procedure((*RigidBody:TGLRigidBody;*)DeltaTime:Real) of object;


GLSysHelp v.2.1: Physics.SPIManager: Class TDESolver

Class TDESolver

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TDESolver = class(TObject)

Description

need to have state array(s) seperate from inertias to allow for implicit & explicit methods

Hierarchy

  • TObject
  • TDESolver

Overview

Fields

Public | StateSize: Integer;
Public | StateArray: TStateArray;
Public | Owner: TGLSPIManager;

Methods

Public | constructor Create(aOwner: TGLSPIManager);
Public | destructor Destroy; override;
Public | function StateToArray(): TStateArray; virtual;
Public | procedure ArrayToState(StateArray: TStateArray); virtual;
Public | procedure Solve(DeltaTime: Real); virtual; abstract;

Description

Fields

Public StateSize: Integer;
Public StateArray: TStateArray;
Public Owner: TGLSPIManager;

Methods

Public constructor Create(aOwner: TGLSPIManager);
Public destructor Destroy; override;

override; //abstract;

Public function StateToArray(): TStateArray; virtual;
Public procedure ArrayToState(StateArray: TStateArray); virtual;
Public procedure Solve(DeltaTime: Real); virtual; abstract;


GLSysHelp v.2.1: Physics.SPIManager: Class TDESolverExplicit

Class TDESolverExplicit

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TDESolverExplicit = class(TDESolver)

Description

explicit e.g. Euler, Mid-point, Runge-Kutta integration

Hierarchy

  • TObject
  • TDESolver
  • TDESolverExplicit

Overview

Fields

Public StateArrayDot: TStateArray;

Methods

Public function CalcStateDot(): TStateArray; virtual;

Description

Fields

Public StateArrayDot: TStateArray;

Methods

Public function CalcStateDot(): TStateArray; virtual;

Velocity stored


GLSysHelp v.2.1: Physics.SPIManager: Class TDESolverEuler

Class TDESolverEuler

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TDESolverEuler = class(TDESolverExplicit)

Description

No description available, ancestor TDESolverExplicit description follows

explicit e.g. Euler, Mid-point, Runge-Kutta integration

Hierarchy

  • TObject
  • TDESolver
  • TDESolverExplicit
  • TDESolverEuler

Overview

Methods

Public procedure Solve(DeltaTime: Real); override;

Description

Methods

Public procedure Solve(DeltaTime: Real); override;


GLSysHelp v.2.1: Physics.SPIManager: Class TDESolverRungeKutta4

Class TDESolverRungeKutta4

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TDESolverRungeKutta4 = class(TDESolverExplicit)

Description

No description available, ancestor TDESolverExplicit description follows

explicit e.g. Euler, Mid-point, Runge-Kutta integration

Hierarchy

  • TObject
  • TDESolver
  • TDESolverExplicit
  • TDESolverRungeKutta4

Overview

Methods

Public procedure Solve(DeltaTime: Real); override;

Description

Methods

Public procedure Solve(DeltaTime: Real); override;


GLSysHelp v.2.1: Physics.SPIManager: Class TDESolverImplicit

Class TDESolverImplicit

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TDESolverImplicit = class(TDESolver)

Description

implicit e.g. Verlet Integration

Hierarchy

  • TObject
  • TDESolver
  • TDESolverImplicit

Overview

Fields

Public LastStateArray: TStateArray;

Description

Fields

Public LastStateArray: TStateArray;


GLSysHelp v.2.1: Physics.SPIManager: Class TDESolverVerlet

Class TDESolverVerlet

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TDESolverVerlet = class(TDESolverImplicit)

Description

No description available, ancestor TDESolverImplicit description follows

implicit e.g. Verlet Integration

Hierarchy

  • TObject
  • TDESolver
  • TDESolverImplicit
  • TDESolverVerlet


GLSysHelp v.2.1: Physics.SPIManager: Class TGLBaseInertia

Class TGLBaseInertia

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TGLBaseInertia = class(TGLBehaviour)

Description

purpose of TGLBaseInertia is to allow for inertias that may be constrained to 1 or 2 dimensions Shouldn't be used directly, instead use TGLParticleInertia (for a 3D particle) TGLRigidBodyInertia (for a 3D rigid-body) or define a new sub-class e.g. TGL1DParticleInertia, this will allow for faster speed

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseInertia

Overview

Fields

Private | FDampingEnabled: Boolean;
Private | FManager: TGLSPIManager;
Private | FManagerName: String;
Public | StateSize: Integer;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateKE(): Real; virtual;
Public | function CalculatePE(): Real; virtual;
Public | procedure ArrayToState( StateArray: TStateArray; StatePos: Integer); virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure CalcAuxiliary(); virtual;
Public | procedure CalcStateDot(var StateArray: TStateArray; StatePos: Integer); virtual;
Public | procedure CalculateForceFieldForce(ForceFieldEmitter : TGLBaseForceFieldEmitter); virtual;
Public | procedure RemoveForces(); virtual;
Public | procedure SetManager(const val: TGLSPIManager);
Public | procedure SetUpStartingState(); virtual;
Public | procedure StateToArray(var StateArray: TStateArray; StatePos: Integer); virtual;
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published | property DampingEnabled: Boolean read FDampingEnabled write FDampingEnabled;
Published | property Manager: TGLSPIManager read FManager write SetManager;

Description

Fields

Private FDampingEnabled: Boolean;
Private FManager: TGLSPIManager;
Private FManagerName: String;
Public StateSize: Integer;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;

abstract;

Public function CalculateKE(): Real; virtual;
Public function CalculatePE(): Real; virtual;
Public procedure ArrayToState( StateArray: TStateArray; StatePos: Integer); virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure CalcAuxiliary(); virtual;
Public procedure CalcStateDot(var StateArray: TStateArray; StatePos: Integer); virtual;
Public procedure CalculateForceFieldForce(ForceFieldEmitter : TGLBaseForceFieldEmitter); virtual;
Public procedure RemoveForces(); virtual;
Public procedure SetManager(const val: TGLSPIManager);
Public procedure SetUpStartingState(); virtual;
Public procedure StateToArray(var StateArray: TStateArray; StatePos: Integer); virtual;

don't re-declare this in sub-classes just initialise it in constructor

Protected procedure Loaded; override;

NOT persistent, temporarily used for persistence

Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property DampingEnabled: Boolean read FDampingEnabled write FDampingEnabled;
Published property Manager: TGLSPIManager read FManager write SetManager;


GLSysHelp v.2.1: Physics.SPIManager: Class TGLBaseForceFieldEmitter

Class TGLBaseForceFieldEmitter

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TGLBaseForceFieldEmitter = class(TGLBehaviour)

Description

A base for different types of force-field behaviours

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLBaseBehaviour
  • TGLBehaviour
  • TGLBaseForceFieldEmitter

Overview

Fields

Private | FManager: TGLSPIManager;
Private | FManagerName: String;

Methods

Public | constructor Create(aOwner: TXCollection); override;
Public | destructor Destroy; override;
Public | function CalculateForceField(Body: TGLBaseSceneObject): TAffineVector; virtual;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure SetManager(const val: TGLSPIManager);
Protected | procedure Loaded; override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Manager: TGLSPIManager read FManager write SetManager;

Description

Fields

Private FManager: TGLSPIManager;
Private FManagerName: String;

Methods

Public constructor Create(aOwner: TXCollection); override;
Public destructor Destroy; override;

abstract;

Public function CalculateForceField(Body: TGLBaseSceneObject): TAffineVector; virtual;
Public procedure Assign(Source: TPersistent); override;
Public procedure SetManager(const val: TGLSPIManager);
Protected procedure Loaded; override;

NOT persistent, temporarily used for persistence

Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Manager: TGLSPIManager read FManager write SetManager;


GLSysHelp v.2.1: Physics.SPIManager: Class TGLSPIManager

Class TGLSPIManager

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TGLSPIManager = class(TComponent)

Description

The Simple Physics Interaction (SPI) manager can only deal with objects from one scene More than one physics manager can be assigned to a scene

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLSPIManager

Overview

Fields

Protected | fInertias: TList;
Protected | fForceFieldEmitters: TList;
Protected | fForces: TGLForces;
Protected | fDESolverType: TDESolverType;
Protected | DESolver: TDESolver;
Protected | fScene: TGLScene;

Methods

Public | constructor Create(aOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CalculateKE(): Real;
Public | function CalculatePE(): Real;
Public | function FindForceFieldEmitterByName(Name: String): TGLBaseSceneObject;
Public | function FindObjectByName(Name: String): TGLBaseSceneObject;
Protected | function GetForces: TGLForces;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure CalculateNextState(DeltaTime: Real);
Public | procedure DeRegisterAllForceFieldEmitters;
Public | procedure DeRegisterAllInertias;
Public | procedure DeRegisterForceFieldEmitter(aForceField: TGLBaseForceFieldEmitter);
Public | procedure DeRegisterInertia(aInertia: TGLBaseInertia);
Public | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public | procedure RegisterForceFieldEmitter(aForceField: TGLBaseForceFieldEmitter);
Public | procedure RegisterInertia(aInertia: TGLBaseInertia);
Public | procedure SetDESolver(SolverType: TDESolverType);
Protected | procedure DefineProperties(Filer: TFiler); override;
Protected | procedure Loaded; override;
Protected | procedure ReadForces(stream: TStream);
Protected | procedure SetForceFieldEmitters(const val: TList);
Protected | procedure SetForces(const val: TGLForces);
Protected | procedure SetInertias(const val: TList);
Protected | procedure SetScene(const val: TGLScene);
Protected | procedure WriteForces(stream: TStream);

Properties

Public | property ForceFieldEmitters: TList read fForceFieldEmitters write SetForceFieldEmitters;
Published | property Forces: TGLForces read GetForces write SetForces;
Public | property Inertias: TList read fInertias write SetInertias;
Published | property Scene: TGLScene read fScene write SetScene;
Published | property Solver: TDESolverType read fDESolverType write SetDESolver;

Description

Fields

Protected fInertias: TList;

StateSize:Integer;

Protected fForceFieldEmitters: TList;

list of all inertias with manager = self

Protected fForces: TGLForces;

list of all forcefield emitters

Protected fDESolverType: TDESolverType;

Collection of forces acting on/between objects

Protected DESolver: TDESolver;
Protected fScene: TGLScene;

Methods

Public constructor Create(aOwner: TComponent); override;
Public destructor Destroy; override;
Public function CalculateKE(): Real;
Public function CalculatePE(): Real;
Public function FindForceFieldEmitterByName(Name: String): TGLBaseSceneObject;
Public function FindObjectByName(Name: String): TGLBaseSceneObject;
Protected function GetForces: TGLForces;
Public procedure Assign(Source: TPersistent); override;
Public procedure CalculateNextState(DeltaTime: Real);
Public procedure DeRegisterAllForceFieldEmitters;
Public procedure DeRegisterAllInertias;
Public procedure DeRegisterForceFieldEmitter(aForceField: TGLBaseForceFieldEmitter);
Public procedure DeRegisterInertia(aInertia: TGLBaseInertia);
Public procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public procedure RegisterForceFieldEmitter(aForceField: TGLBaseForceFieldEmitter);
Public procedure RegisterInertia(aInertia: TGLBaseInertia);
Public procedure SetDESolver(SolverType: TDESolverType);
Protected procedure DefineProperties(Filer: TFiler); override;
Protected procedure Loaded; override;
Protected procedure ReadForces(stream: TStream);
Protected procedure SetForceFieldEmitters(const val: TList);
Protected procedure SetForces(const val: TGLForces);
Protected procedure SetInertias(const val: TList);
Protected procedure SetScene(const val: TGLScene);
Protected procedure WriteForces(stream: TStream);

Properties

Public property ForceFieldEmitters: TList read fForceFieldEmitters write SetForceFieldEmitters;

stored False;

Published property Forces: TGLForces read GetForces write SetForces;

stored False;

Public property Inertias: TList read fInertias write SetInertias;
Published property Scene: TGLScene read fScene write SetScene;
Published property Solver: TDESolverType read fDESolverType write SetDESolver;

stored False;


GLSysHelp v.2.1: Physics.SPIManager: Class TGLForces

Class TGLForces

Description
Hierarchy
Fields
Methods
Properties

Unit

Physics.SPIManager

Declaration

type TGLForces = class(TXCollection)

Description

No description available, ancestor TXCollection description follows

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

Hierarchy

  • TObject
  • TPersistent
  • TXCollection
  • TGLForces

Overview

Methods

Public | constructor Create(aOwner: TPersistent); override;
Public | function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public | class function ItemsClass: TXCollectionItemClass; override;
Protected | function GetForce(index: Integer): TGLForce;

Properties

Public property Force[index:Integer]: TGLForce read GetForce;

Description

Methods

Public constructor Create(aOwner: TPersistent); override;
Public function CanAdd(aClass: TXCollectionItemClass): Boolean; override;
Public class function ItemsClass: TXCollectionItemClass; override;

destructor Destroy;override;

Protected function GetForce(index: Integer): TGLForce;

Properties

Public property Force[index:Integer]: TGLForce read GetForce;


GLSysHelp v.2.1: Pythons.Script

Unit Pythons.Script

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.XCollection
  • GLS.ScriptBase
  • GLS.Manager
  • Python.Engine

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLPythonEngine |
Class TGLScriptPython |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: Pythons.Script: Class TGLPythonEngine

Class TGLPythonEngine

Description
Hierarchy
Fields
Methods
Properties

Unit

Pythons.Script

Declaration

type TGLPythonEngine = class(TPythonEngine)

Description

This class only adds manager registration logic to the TPythonEngine class to enable the XCollection items (ie. TGLScriptPython) retain it's assigned compiler from design to run -time.

Hierarchy

  • TPythonEngine
  • TGLPythonEngine

Overview

Methods

Public | constructor Create(AOnwer: TComponent); override;
Public | destructor Destroy; override;

Description

Methods

Public constructor Create(AOnwer: TComponent); override;
Public destructor Destroy; override;


GLSysHelp v.2.1: Pythons.Script: Class TGLScriptPython

Class TGLScriptPython

Description
Hierarchy
Fields
Methods
Properties

Unit

Pythons.Script

Declaration

type TGLScriptPython = class(TGLScriptBase)

Description

Implements Python scripting functionality through the abstracted GLS.ScriptBase

Hierarchy

  • TObject
  • TPersistent
  • TGLInterfacedPersistent
  • TXCollectionItem
  • TGLScriptBase
  • TGLScriptPython

Overview

Fields

Private | FEngine: TGLPythonEngine;
Private | FEngineName: String;
Private | FCompiled: Boolean;
Private | FStarted: Boolean;

Methods

Public | destructor Destroy; override;
Public | function Call(aName: String; aParams: array of Variant): Variant; override;
Public | class function FriendlyDescription: String; override;
Public | class function FriendlyName: String; override;
Public | class function ItemCategory: String; override;
Protected | function GetState: TGLScriptState; override;
Public | procedure Assign(Source: TPersistent); override;
Public | procedure Compile; override;
Public | procedure Execute; override;
Public | procedure Invalidate; override;
Public | procedure Start; override;
Public | procedure Stop; override;
Protected | procedure Loaded; override;
Protected | procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected | procedure ReadFromFiler(reader: TReader); override;
Protected | procedure SetEngine(const Value: TGLPythonEngine);
Protected | procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Engine: TGLPythonEngine read FEngine write SetEngine;

Description

Fields

Private FEngine: TGLPythonEngine;
Private FEngineName: String;
Private FCompiled: Boolean;
Private FStarted: Boolean;

Methods

Public destructor Destroy; override;
Public function Call(aName: String; aParams: array of Variant): Variant; override;
Public class function FriendlyDescription: String; override;
Public class function FriendlyName: String; override;
Public class function ItemCategory: String; override;
Protected function GetState: TGLScriptState; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure Compile; override;
Public procedure Execute; override;
Public procedure Invalidate; override;
Public procedure Start; override;
Public procedure Stop; override;
Protected procedure Loaded; override;
Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Protected procedure ReadFromFiler(reader: TReader); override;
Protected procedure SetEngine(const Value: TGLPythonEngine);
Protected procedure WriteToFiler(writer: TWriter); override;

Properties

Published property Engine: TGLPythonEngine read FEngine write SetEngine;


GLSysHelp v.2.1: SDL2.Frame

Unit SDL2.Frame

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

================================================================================ == == == ATTENTION: DO NOT LOAD ALL GRAPHICS ON CREATE OR ON SHOW BECAUSE THE == == COMPONENT SDL2FRAME IS NOT YET COMPLETED == == == ================================================================================

Uses

  • Winapi.Windows
  • System.SysUtils
  • System.Classes
  • Vcl.Dialogs
  • Vcl.Controls
  • Vcl.ExtCtrls
  • Vcl.Forms
  • SDL2.Import

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TSDL2Frame |

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: SDL2.Frame: Class TSDL2Frame

Class TSDL2Frame

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Frame

Declaration

type TSDL2Frame = class(TPanel)

Description

Hierarchy

  • TPanel
  • TSDL2Frame

Overview

Fields

Private | FSDLPantalla: PSDLPantalla;
Private | FFlags: UInt32;
Private | FRenderInfo: PSDL_RendererInfo;

Methods

Public | procedure Finalize;
Protected | procedure CreateWnd; override;
Protected | procedure DestroyWnd; override;

Properties

Published | property Flags: UInt32 read FFlags write FFlags;
Public | property SDLPantalla: PSDLPantalla read FSDLPantalla;

Description

Fields

Private FSDLPantalla: PSDLPantalla;
Private FFlags: UInt32;
Private FRenderInfo: PSDL_RendererInfo;

Methods

Public procedure Finalize;
Protected procedure CreateWnd; override;
Protected procedure DestroyWnd; override;

Properties

Published property Flags: UInt32 read FFlags write FFlags;
Public property SDLPantalla: PSDLPantalla read FSDLPantalla;


GLSysHelp v.2.1: SDL2.Image

Unit SDL2.Image

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Uses

  • SDL2.Import

Overview

Functions and Procedures

procedure SDL_IMAGE_VERSION(Out X: TSDL_Version);
function IMG_Linked_Version(): TSDL_Version; cdecl; external SDL_ImageLibName;
function IMG_Init(flags: SInt32): SInt32; cdecl; external SDL_ImageLibName;
procedure IMG_Quit(); cdecl; external SDL_ImageLibName;
function IMG_LoadTyped_RW(src: PSDL_RWops; freesrc: SInt32; _type: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_Load(_file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_Load_RW(src: PSDL_RWops; freesrc: SInt32): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadTexture(renderer: PSDL_Renderer; _file: PChar): PSDL_Texture; cdecl; external SDL_ImageLibName;
function IMG_LoadTexture_RW(renderer: PSDL_Renderer; src: PSDL_RWops; freesrc: SInt32): PSDL_Texture; cdecl; external SDL_ImageLibName;
function IMG_LoadTextureTyped_RW(renderer: PSDL_Renderer; src: PSDL_RWops; freesrc: SInt32; _type: PChar): PSDL_Texture; cdecl; external SDL_ImageLibName;
function IMG_isICO(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isCUR(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isBMP(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isGIF(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isJPG(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isLBM(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isPCX(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isPNG(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isPNM(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isTIF(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isXCF(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isXPM(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isXV(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isWEBP(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_LoadICO_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadCUR_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadBMP_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadGIF_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadJPG_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadLBM_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadPCX_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadPNG_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadPNM_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadTGA_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadTIF_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadXCF_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadXPM_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadXV_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadWEBP_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_ReadXPMFromArray(xpm: PPChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_SavePNG(surface: PSDL_Surface; const _file: PChar): SInt32; cdecl; external SDL_ImageLibName;
function IMG_SavePNG_RW(surface: PSDL_Surface; dst: PSDL_RWops; freedst: SInt32): SInt32; cdecl; external SDL_ImageLibName;
function IMG_SetError(fmt: PChar): SInt32;
function IMG_GetError: PChar;

Types

TIMG_InitFlags = DWord;

Constants

SDL_ImageLibName = 'SDL2_Image.dll';
SDL_IMAGE_MAJOR_VERSION = 2;
SDL_IMAGE_MINOR_VERSION = 0;
SDL_IMAGE_PATCHLEVEL = 0;
IMG_INIT_JPG = $00000001;
IMG_INIT_PNG = $00000002;
IMG_INIT_TIF = $00000004;
IMG_INIT_WEBP = $00000008;

Description

Functions and Procedures

procedure SDL_IMAGE_VERSION(Out X: TSDL_Version);

* This macro can be used to fill a version structure with the compile-time * version of the SDL_image library. *

function IMG_Linked_Version(): TSDL_Version; cdecl; external SDL_ImageLibName;

* This function gets the version of the dynamically linked SDL_image library. it should NOT be used to fill a version structure, instead you should use the SDL_IMAGE_VERSION() macro. *

function IMG_Init(flags: SInt32): SInt32; cdecl; external SDL_ImageLibName;

* Loads dynamic libraries and prepares them for use. Flags should be one or more flags from IMG_InitFlags OR'd together. It returns the flags successfully initialized, or 0 on failure. *

procedure IMG_Quit(); cdecl; external SDL_ImageLibName;

* Unloads libraries loaded with IMG_Init *

function IMG_LoadTyped_RW(src: PSDL_RWops; freesrc: SInt32; _type: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;

* Load an image from an SDL data source. The 'type' may be one of: "BMP", "GIF", "PNG", etc.

If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey); *

function IMG_Load(_file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;

* Convenience functions *

function IMG_Load_RW(src: PSDL_RWops; freesrc: SInt32): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadTexture(renderer: PSDL_Renderer; _file: PChar): PSDL_Texture; cdecl; external SDL_ImageLibName;

* Load an image directly into a render texture. *

function IMG_LoadTexture_RW(renderer: PSDL_Renderer; src: PSDL_RWops; freesrc: SInt32): PSDL_Texture; cdecl; external SDL_ImageLibName;
function IMG_LoadTextureTyped_RW(renderer: PSDL_Renderer; src: PSDL_RWops; freesrc: SInt32; _type: PChar): PSDL_Texture; cdecl; external SDL_ImageLibName;
function IMG_isICO(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;

* Functions to detect a file type, given a seekable source *

function IMG_isCUR(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isBMP(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isGIF(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isJPG(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isLBM(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isPCX(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isPNG(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isPNM(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isTIF(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isXCF(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isXPM(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isXV(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_isWEBP(src: PSDL_RWops): SInt32; cdecl; external SDL_ImageLibName;
function IMG_LoadICO_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;

* Individual loading functions *

function IMG_LoadCUR_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadBMP_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadGIF_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadJPG_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadLBM_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadPCX_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadPNG_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadPNM_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadTGA_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadTIF_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadXCF_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadXPM_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadXV_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_LoadWEBP_RW(src: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_ReadXPMFromArray(xpm: PPChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
function IMG_SavePNG(surface: PSDL_Surface; const _file: PChar): SInt32; cdecl; external SDL_ImageLibName;

* Individual saving functions *

function IMG_SavePNG_RW(surface: PSDL_Surface; dst: PSDL_RWops; freedst: SInt32): SInt32; cdecl; external SDL_ImageLibName;
function IMG_SetError(fmt: PChar): SInt32;

* We'll use SDL for reporting errors *

function IMG_GetError: PChar;

Types

TIMG_InitFlags = DWord;

Constants

SDL_ImageLibName = 'SDL2_Image.dll';
SDL_IMAGE_MAJOR_VERSION = 2;

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_IMAGE_MINOR_VERSION = 0;
SDL_IMAGE_PATCHLEVEL = 0;
IMG_INIT_JPG = $00000001;
IMG_INIT_PNG = $00000002;
IMG_INIT_TIF = $00000004;
IMG_INIT_WEBP = $00000008;


GLSysHelp v.2.1: SDL2.Import

Unit SDL2.Import

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Uses

  • System.SysUtils
  • System.Classes
  • Winapi.Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TSDL_Version |
Record TSDL_Error |
Record TStdio |
Record TMem |
Record TUnknown |
Record TAndroidIO |
Record TWindowsIOBuffer |
Record TWindowsIO |
Packed Record TSDL_RWops |
Record TSDL_AudioSpec |
Record TSDL_AudioCVT |
Record TSDL_Thread |
Record TSDL_Mutex |
Record TSDL_Color |
Record TSDL_Palette |
Record TSDL_PixelFormat |
Record TSDL_Point |
Record TSDL_Rect |
Record TSDL_BlitMap |
Record TSDL_Surface |
Record TSDL_WindowShapeParams |
Record TSDL_WindowShapeMode |
Record TSDL_DisplayMode |
Record TSDL_WindowShaper |
Record TSDL_WindowUserData |
Record TSDL_Window |
Record TSDL_RendererInfo |
Record TSDL_Keysym |
Record TSDL_JoystickGUID |
Record THat |
Record TSDL_GameControllerButtonBind |
Record TSDL_Haptic |
Record TSDL_HapticDirection |
Record TSDL_HapticConstant |
Record TSDL_HapticPeriodic |
Record TSDL_HapticCondition |
Record TSDL_HapticRamp |
Record TSDL_HapticCustom |
Record TSDL_HapticEffect |
Record TSDL_Finger |
Record TSDL_CommonEvent |
Record TSDL_WindowEvent |
Record TSDL_KeyboardEvent |
Record TSDL_TextEditingEvent |
Record TSDL_TextInputEvent |
Record TSDL_MouseMotionEvent |
Record TSDL_MouseButtonEvent |
Record TSDL_MouseWheelEvent |
Record TSDL_JoyAxisEvent |
Record TSDL_JoyBallEvent |
Record TSDL_JoyHatEvent |
Record TSDL_JoyButtonEvent |
Record TSDL_JoyDeviceEvent |
Record TSDL_ControllerAxisEvent |
Record TSDL_ControllerButtonEvent |
Record TSDL_ControllerDeviceEvent |
Record TSDL_TouchFingerEvent |
Record TSDL_MultiGestureEvent |
Record TSDL_DollarGestureEvent |
Record TSDL_DropEvent |
Record TSDL_QuitEvent |
Record TSDL_UserEvent |
Record TSDL_SysWMmsg |
Record TSDL_SysWMinfo |
Record TSDL_SysWMEvent |
Record TSDL_Event |
Record TSDL_MessageBoxButtonData |
Record TSDL_MessageBoxColor |
Record TSDL_MessageBoxColorScheme |
Record TSDL_MessageBoxData |
Record TSDLPantalla |

Functions and Procedures

procedure SDL_VERSION(x: PSDL_Version);
function SDL_VERSIONNUM(X,Y,Z: UInt32): Cardinal;
function SDL_COMPILEDVERSION(): Cardinal;
function SDL_VERSION_ATLEAST(X,Y,Z: Cardinal): Boolean;
procedure SDL_GetVersion(ver: PSDL_Version); cdecl; external SDL_LibName;
function SDL_GetRevision(): PChar; cdecl; external SDL_LibName;
function SDL_GetRevisionNumber(): SInt32; cdecl; external SDL_LibName;
function SDL_SetError(const fmt: PChar): SInt32; cdecl; external SDL_LibName;
function SDL_GetError(): PChar; cdecl; external SDL_LibName;
procedure SDL_ClearError(); cdecl; external SDL_LibName;
function SDL_Error(code: TSDL_ErrorCode): SInt32; cdecl; external SDL_LibName;
function SDL_RWFromFile(const _file: PChar; const mode: PChar): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_RWFromFP(fp: Pointer; autoclose: TSDL_Bool): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_RWFromMem(mem: Pointer; size: SInt32): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_RWFromConstMem(const mem: Pointer; size: SInt32): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_AllocRW(): PSDL_RWops; cdecl; external SDL_LibName;
procedure SDL_FreeRW(area: PSDL_RWops); cdecl; external SDL_LibName;
function SDL_RWsize(ctx: PSDL_RWops): SInt64;
function SDL_RWseek(ctx: PSDL_RWops; offset: SInt64; whence: SInt32): SInt64;
function SDL_RWtell(ctx: PSDL_RWops): SInt64;
function SDL_RWread(ctx: PSDL_RWops; ptr: Pointer; size: size_t; n: size_t): size_t;
function SDL_RWwrite(ctx: PSDL_RWops; ptr: Pointer; size: size_t; n: size_t): size_t;
function SDL_RWclose(ctx: PSDL_RWops): SInt32;
function SDL_ReadU8(src: PSDL_RWops): UInt8; cdecl; external SDL_LibName;
function SDL_ReadLE16(src: PSDL_RWops): UInt16; cdecl; external SDL_LibName;
function SDL_ReadBE16(src: PSDL_RWops): UInt16; cdecl; external SDL_LibName;
function SDL_ReadLE32(src: PSDL_RWops): UInt32; cdecl; external SDL_LibName;
function SDL_ReadBE32(src: PSDL_RWops): UInt32; cdecl; external SDL_LibName;
function SDL_ReadLE64(src: PSDL_RWops): UInt64; cdecl; external SDL_LibName;
function SDL_ReadBE64(src: PSDL_RWops): UInt64; cdecl; external SDL_LibName;
function SDL_WriteU8(dst: PSDL_RWops; value: UInt8): size_t; cdecl; external SDL_LibName;
function SDL_WriteLE16(dst: PSDL_RWops; value: UInt16): size_t; cdecl; external SDL_LibName;
function SDL_WriteBE16(dst: PSDL_RWops; value: UInt16): size_t; cdecl; external SDL_LibName;
function SDL_WriteLE32(dst: PSDL_RWops; value: UInt32): size_t; cdecl; external SDL_LibName;
function SDL_WriteBE32(dst: PSDL_RWops; value: UInt32): size_t; cdecl; external SDL_LibName;
function SDL_WriteLE64(dst: PSDL_RWops; value: UInt64): size_t; cdecl; external SDL_LibName;
function SDL_WriteBE64(dst: PSDL_RWops; value: UInt64): size_t; cdecl; external SDL_LibName;
function SDL_AUDIO_BITSIZE(x: Cardinal): Cardinal;
function SDL_AUDIO_ISFLOAT(x: Cardinal): Cardinal;
function SDL_AUDIO_ISBIGENDIAN(x: Cardinal): Cardinal;
function SDL_AUDIO_ISSIGNED(x: Cardinal): Cardinal;
function SDL_AUDIO_ISINT(x: Cardinal): Cardinal;
function SDL_AUDIO_ISLITTLEENDIAN(x: Cardinal): Cardinal;
function SDL_AUDIO_ISUNSIGNED(x: Cardinal): Cardinal;
function SDL_GetNumAudioDrivers(): Integer; cdecl; external SDL_LibName;
function SDL_GetAudioDriver(index: Integer): PChar; cdecl; external SDL_LibName;
function SDL_AudioInit(driver_name: PChar): Integer; cdecl; external SDL_LibName;
procedure SDL_AudioQuit(); cdecl; external SDL_LibName;
function SDL_GetCurrentAudioDriver(): PChar; cdecl; external SDL_LibName;
function SDL_OpenAudio(desired: PSDL_AudioSpec; obtained: PSDL_AudioSpec): Integer; cdecl; external SDL_LibName;
function SDL_GetNumAudioDevices(iscapture: Integer): Integer; cdecl; external SDL_LibName;
function SDL_GetAudioDeviceName(index: Integer; iscapture: Integer): PChar; cdecl; external SDL_LibName;
function SDL_OpenAudioDevice(device: PChar; iscapture: Integer; desired: PSDL_AudioSpec; obtained: PSDL_AudioSpec; allowed_changes: Integer): TSDL_AudioDeviceID; cdecl; external SDL_LibName;
function SDL_GetAudioStatus(): TSDL_AudioStatus; cdecl; external SDL_LibName;
function SDL_GetAudioDeviceStatus(dev: TSDL_AudioDeviceID): TSDL_AudioStatus; cdecl; external SDL_LibName;
procedure SDL_PauseAudio(pause_on: Integer); cdecl; external SDL_LibName;
procedure SDL_PauseAudioDevice(dev: TSDL_AudioDeviceID; pause_on: Integer); cdecl; external SDL_LibName;
function SDL_LoadWAV_RW(src: PSDL_RWops; freesrc: Integer; spec: PSDL_AudioSpec; audio_buf: PPUInt8; audio_len: PUInt32): PSDL_AudioSpec; cdecl; external SDL_LibName;
function SDL_LoadWAV(_file: PChar; spec: PSDL_AudioSpec; audio_buf: PPUInt8; audio_len: PUInt32): PSDL_AudioSpec;
procedure SDL_FreeWAV(audio_buf: PUInt8); cdecl; external SDL_LibName;
function SDL_BuildAudioCVT(cvt: PSDL_AudioCVT; src_format: TSDL_AudioFormat; src_channels: UInt8; src_rate: Integer; dst_format: TSDL_AudioFormat; dst_channels: UInt8; dst_rate: Integer): Integer; cdecl; external SDL_LibName;
function SDL_ConvertAudio(cvt: PSDL_AudioCVT): Integer; cdecl; external SDL_LibName;
procedure SDL_MixAudio(dst: PUInt8; src: PUInt8; len: UInt32; volume: Integer); cdecl; external SDL_LibName;
procedure SDL_MixAudioFormat(dst: PUInt8; src: PUInt8; format: TSDL_AudioFormat; len: UInt32; volume: Integer); cdecl; external SDL_LibName;
procedure SDL_LockAudio(); cdecl; external SDL_LibName;
procedure SDL_LockAudioDevice(dev: TSDL_AudioDeviceID); cdecl; external SDL_LibName;
procedure SDL_UnlockAudio(); cdecl; external SDL_LibName;
procedure SDL_UnlockAudioDevice(dev: TSDL_AudioDeviceID); cdecl; external SDL_LibName;
procedure SDL_CloseAudio(); cdecl; external SDL_LibName;
procedure SDL_CloseAudioDevice(dev: TSDL_AudioDeviceID); cdecl; external SDL_LibName;
function SDL_AudioDeviceConnected(dev: TSDL_AudioDeviceID): Integer; cdecl; external SDL_LibName;
function SDL_GetPowerInfo(secs: PInt; pct: PInt): TSDL_PowerState; cdecl; external SDL_LibName;
function SDL_CreateThread(fn: TSDL_ThreadFunction; name: PChar; data: Pointer; pfnBeginThread: TpfnSDL_CurrentBeginThread; pfnEndThread: TpfnSDL_CurrentEndThread): PSDL_Thread; cdecl; overload; external SDL_LibName;
function SDL_CreateThread(fn: TSDL_ThreadFunction; name: PChar; data: Pointer): PSDL_Thread; overload;
function SDL_GetThreadName(thread: PSDL_Thread): PChar; cdecl; external SDL_LibName;
function SDL_ThreadID(): TSDL_ThreadID; cdecl; external SDL_LibName;
function SDL_GetThreadID(thread: PSDL_Thread): TSDL_ThreadID; cdecl; external SDL_LibName;
function SDL_SetThreadPriority(priority: TSDL_ThreadPriority): SInt32; cdecl; external SDL_LibName;
procedure SDL_WaitThread(thread: PSDL_Thread; status: PInt); cdecl; external SDL_LibName;
function SDL_TLSCreate(): TSDL_TLSID; cdecl; external SDL_LibName;
function SDL_TLSGet(id: TSDL_TLSID): Pointer; cdecl; external SDL_LibName;
function SDL_TLSSet(id: TSDL_TLSID; value: Pointer; destructor_: Pointer): SInt32; cdecl; external SDL_LibName;
function SDL_CreateMutex(): PSDL_Mutex; cdecl; external SDL_LibName;
function SDL_LockMutex(mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;
function SDL_TryLockMutex(mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;
function SDL_UnlockMutex(mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;
procedure SDL_DestroyMutex(mutex: PSDL_Mutex); cdecl; external SDL_LibName;
function SDL_CreateSemaphore(initial_value: UInt32): PSDL_sem; cdecl; external SDL_LibName;
procedure SDL_DestroySemaphore(sem: PSDL_Sem); cdecl; external SDL_LibName;
function SDL_SemWait(sem: PSDL_Sem): SInt32; cdecl; external SDL_LibName;
function SDL_SemTryWait(sem: PSDL_Sem): SInt32; cdecl; external SDL_LibName;
function SDL_SemWaitTimeout(sem: PSDL_Sem; ms: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_SemPost(sem: PSDL_Sem): SInt32; cdecl; external SDL_LibName;
function SDL_SemValue(sem: PSDL_Sem): UInt32; cdecl; external SDL_LibName;
function SDL_CreateCond(): PSDL_Cond; cdecl; external SDL_LibName;
procedure SDL_DestroyCond(cond: PSDL_Cond); cdecl; external SDL_LibName;
function SDL_CondSignal(cond: PSDL_Cond): SInt32; cdecl; external SDL_LibName;
function SDL_CondBroadcast(cond: PSDL_Cond): SInt32; cdecl; external SDL_LibName;
function SDL_CondWait(cond: PSDL_Cond; mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;
function SDL_CondWaitTimeout(cond: PSDL_Cond; mutex: PSDL_Mutex; ms: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_GetTicks(): UInt32; cdecl; external SDL_LibName;
function SDL_GetPerformanceCounter(): UInt64; cdecl; external SDL_LibName;
function SDL_GetPerformanceFrequency(): UInt64; cdecl; external SDL_LibName;
procedure SDL_Delay(ms: UInt32); cdecl; external SDL_LibName;
function SDL_AddTimer(interval: UInt32; callback: TSDL_TimerCallback; param: Pointer): TSDL_TimerID; cdecl; external SDL_LibName;
function SDL_RemoveTimer(id: TSDL_TimerID): Boolean; cdecl; external SDL_LibName;
function SDL_PIXELFLAG(X: Cardinal): Boolean;
function SDL_PIXELTYPE(X: Cardinal): Boolean;
function SDL_PIXELORDER(X: Cardinal): Boolean;
function SDL_PIXELLAYOUT(X: Cardinal): Boolean;
function SDL_BITSPERPIXEL(X: Cardinal): Boolean;
function SDL_BYTESPERPIXEL(X: Integer): Integer;
function SDL_GetPixelFormatName(format: UInt32): PChar; cdecl; external SDL_LibName;
function SDL_PixelFormatEnumToMasks(format: UInt32; bpp: PInt; Rmask: PUInt32; Gmask: PUInt32; Bmask: PUInt32; Amask: PUInt32): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_MasksToPixelFormatEnum(bpp: SInt32; Rmask: UInt32; Gmask: UInt32; Bmask: UInt32; Amask: UInt32): UInt32; cdecl; external SDL_LibName;
function SDL_AllocFormat(pixel_format: UInt32): PSDL_PixelFormat; cdecl; external SDL_LibName;
procedure SDL_FreeFormat(format: PSDL_PixelFormat); cdecl; external SDL_LibName;
function SDL_AllocPalette(ncolors: SInt32): PSDL_Palette; cdecl; external SDL_LibName;
function SDL_SetPixelFormatPalette(format: PSDL_PixelFormat; palette: PSDL_Palette): SInt32; cdecl; external SDL_LibName;
function SDL_SetPaletteColors(palette: PSDL_Palette; const colors: PSDL_Color; firstcolor: SInt32; ncolors: SInt32): SInt32; cdecl; external SDL_LibName;
procedure SDL_FreePalette(palette: PSDL_Palette); cdecl; external SDL_LibName;
function SDL_MapRGB(const format: PSDL_PixelFormat; r: UInt8; g: UInt8; b: UInt8): UInt32; cdecl; external SDL_LibName;
function SDL_MapRGBA(const format: PSDL_PixelFormat; r: UInt8; g: UInt8; b: UInt8; a: UInt8): UInt32; cdecl; external SDL_LibName;
procedure SDL_GetRGB(pixel: UInt32; const format: PSDL_PixelFormat; r: PUInt8; g: PUInt8; b: PUInt8); cdecl; external SDL_LibName;
procedure SDL_GetRGBA(pixel: UInt32; const format: PSDL_PixelFormat; r: PUInt8; g: PUInt8; b: PUInt8; a: PUInt8); cdecl; external SDL_LibName;
procedure SDL_CalculateGammaRamp(gamma: Float; ramp: PUInt16); cdecl; external SDL_LibName;
function SDL_RectEmpty(X: TSDL_Rect): Boolean;
function SDL_RectEquals(A: TSDL_Rect; B: TSDL_Rect): Boolean;
function SDL_HasIntersection(const A: PSDL_Rect; const B: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_IntersectRect(const A: PSDL_Rect; const B: PSDL_Rect; result: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_UnionRect(const A: PSDL_Rect; const B: PSDL_Rect; result: PSDL_Rect); cdecl; external SDL_LibName;
function SDL_EnclosePoints(const points: PSDL_Point; count: SInt32; const clip: PSDL_Rect; result: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_IntersectRectAndLine(const rect: PSDL_Rect; X1: PInt; Y1: PInt; X2: PInt; Y2: PInt): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_CreateRGBSurface(flags: UInt32; width: SInt32; height: SInt32; depth: SInt32; Rmask: UInt32; Gmask: UInt32; Bmask: UInt32; Amask: UInt32): PSDL_Surface; cdecl; external SDL_LibName;
function SDL_CreateRGBSurfaceFrom(pixels: Pointer; width: SInt32; height: SInt32; depth: SInt32; pitch: SInt32; Rmask: UInt32; Gmask: UInt32; Bmask: UInt32; Amask: UInt32): PSDL_Surface; cdecl; external SDL_LibName;
procedure SDL_FreeSurface(surface: PSDL_Surface); cdecl; external SDL_LibName;
function SDL_SetSurfacePalette(surface: PSDL_Surface; palette: PSDL_Palette): SInt32; cdecl; external SDL_LibName;
function SDL_LockSurface(surface: PSDL_Surface): SInt32; cdecl; external SDL_LibName;
procedure SDL_UnlockSurface(surface: PSDL_Surface); cdecl; external SDL_LibName;
function SDL_LoadBMP_RW(src: PSDL_RWops; freesrc: SInt32): PSDL_Surface; cdecl; external SDL_LibName;
function SDL_LoadBMP(_file: PChar): PSDL_Surface;
function SDL_SaveBMP_RW(surface: PSDL_Surface; dst: PSDL_RWops; freedst: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_SaveBMP(surface: PSDL_Surface; _file: PChar): SInt32;
function SDL_SetSurfaceRLE(surface: PSDL_Surface; flag: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_SetColorKey(surface: PSDL_Surface; flag: SInt32; key: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_GetColorKey(surface: PSDL_Surface; key: PUInt32): SInt32; cdecl; external SDL_LibName;
function SDL_SetSurfaceColorMod(surface: PSDL_Surface; r: UInt8; g: UInt8; b: UInt8): SInt32; cdecl; external SDL_LibName;
function SDL_GetSurfaceColorMod(surface: PSDL_Surface; r: PUInt8; g: PUInt8; b: PUInt8): SInt32; cdecl; external SDL_LibName;
function SDL_SetSurfaceAlphaMod(surface: PSDL_Surface; alpha: UInt8): SInt32; cdecl; external SDL_LibName;
function SDL_GetSurfaceAlphaMod(surface: PSDL_Surface; alpha: PUInt8): SInt32; cdecl; external SDL_LibName;
function SDL_SetSurfaceBlendMode(surface: PSDL_Surface; blendMode: TSDL_BlendMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetSurfaceBlendMode(surface: PSDL_Surface; blendMode: PSDL_BlendMode): SInt32; cdecl; external SDL_LibName;
function SDL_SetClipRect(surface: PSDL_Surface; const rect: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_GetClipRect(surface: PSDL_Surface; rect: PSDL_Rect); cdecl; external SDL_LibName;
function SDL_ConvertSurface(src: PSDL_Surface; fmt: PSDL_PixelFormat; flags: UInt32): PSDL_Surface; cdecl; external SDL_LibName;
function SDL_ConvertSurfaceFormat(src: PSDL_Surface; pixel_format: UInt32; flags: UInt32): PSDL_Surface; cdecl; external SDL_LibName;
function SDL_ConvertPixels(width: SInt32; height: SInt32; src_format: UInt32; const src: Pointer; src_pitch: SInt32; dst_format: UInt32; dst: Pointer; dst_pitch: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_FillRect(dst: PSDL_Surface; const rect: PSDL_Rect; color: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_FillRects(dst: PSDL_Surface; const rects: PSDL_Rect; count: SInt32; color: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_UpperBlit(src: PSDL_Surface; const srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_LowerBlit(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_SoftStretch(src: PSDL_Surface; const srcrect: PSDL_Rect; dst: PSDL_Surface; const dstrect: PSDL_Surface): SInt32; cdecl; external SDL_LibName;
function SDL_UpperBlitScaled(src: PSDL_Surface; const srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_LowerBlitScaled(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_GetShapedWindowMode(window: PSDL_Window; shape_mode: TSDL_WindowShapeMode): SInt32; cdecl; external SDL_LibName;
function SDL_SetWindowShape(window: PSDL_Window; shape: PSDL_Surface; shape_mode: PSDL_WindowShapeMode): SInt32; cdecl; external SDL_LibName;
function SDL_CreateShapedWindow(title: PChar; x: UInt32; y: UInt32; w: UInt32; h: UInt32; flags: UInt32): PSDL_Window; cdecl; external SDL_LibName;
function SDL_IsShapedWindow(window: PSDL_Window): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_WindowPos_IsUndefined(X: Variant): Variant;
function SDL_WindowPos_IsCentered(X: Variant): Variant;
function SDL_GetNumVideoDrivers(): SInt32; cdecl; external SDL_LibName;
function SDL_GetVideoDriver(index: SInt32): PChar; cdecl; external SDL_LibName;
function SDL_VideoInit(const driver_name: PChar): SInt32; cdecl; external SDL_LibName;
procedure SDL_VideoQuit(); cdecl; external SDL_LibName;
function SDL_GetCurrentVideoDriver(): PChar; cdecl; external SDL_LibName;
function SDL_GetNumVideoDisplays(): SInt32; cdecl; external SDL_LibName;
function SDL_GetDisplayName(displayIndex: SInt32): PChar; cdecl; external SDL_LibName;
function SDL_GetDisplayBounds(displayIndex: SInt32; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_GetNumDisplayModes(displayIndex: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_GetDisplayMode(displayIndex: SInt32; modeIndex: SInt32; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetDesktopDisplayMode(displayIndex: SInt32; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetCurrentDisplayMode(displayIndex: SInt32; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetClosestDisplayMode(displayIndex: SInt32; const mode: PSDL_DisplayMode; closest: PSDL_DisplayMode): PSDL_DisplayMode; cdecl; external SDL_LibName;
function SDL_GetWindowDisplayIndex(window: PSDL_Window): SInt32; cdecl; external SDL_LibName;
function SDL_SetWindowDisplayMode(window: PSDL_Window; const mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetWindowDisplayMode(window: PSDL_Window; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetWindowPixelFormat(window: PSDL_Window): UInt32; cdecl; external SDL_LibName;
function SDL_CreateWindow(const title: PChar; x: SInt32; y: SInt32; w: SInt32; h: SInt32; flags: UInt32): PSDL_Window; cdecl; external SDL_LibName;
function SDL_CreateWindowFrom(const data: Pointer): PSDL_Window; cdecl; external SDL_LibName;
function SDL_GetWindowID(window: PSDL_Window): UInt32; cdecl; external SDL_LibName;
function SDL_GetWindowFromID(id: UInt32): PSDL_Window; cdecl; external SDL_LibName;
function SDL_GetWindowFlags(window: PSDL_Window): UInt32; cdecl; external SDL_LibName;
procedure SDL_SetWindowTitle(window: PSDL_Window; const title: PChar); cdecl; external SDL_LibName;
function SDL_GetWindowTitle(window: PSDL_Window): PChar; cdecl; external SDL_LibName;
procedure SDL_SetWindowIcon(window: PSDL_Window; icon: PSDL_Surface); cdecl; external SDL_LibName;
function SDL_SetWindowData(window: PSDL_Window; const name: PChar; userdata: Pointer): Pointer; cdecl; external SDL_LibName;
function SDL_GetWindowData(window: PSDL_Window; const name: PChar): Pointer; cdecl; external SDL_LibName;
procedure SDL_SetWindowPosition(window: PSDL_Window; x: SInt32; y: SInt32); cdecl; external SDL_LibName;
procedure SDL_GetWindowPosition(window: PSDL_Window; x: PInt; y: PInt); cdecl; external SDL_LibName;
procedure SDL_SetWindowSize(window: PSDL_Window; w: SInt32; h: SInt32); cdecl; external SDL_LibName;
procedure SDL_GetWindowSize(window: PSDL_Window; w: PInt; h: PInt); cdecl; external SDL_LibName;
procedure SDL_SetWindowMinimumSize(window: PSDL_Window; min_w: SInt32; min_h: SInt32); cdecl; external SDL_LibName;
procedure SDL_GetWindowMinimumSize(window: PSDL_Window; w: PInt; h: PInt); cdecl; external SDL_LibName;
procedure SDL_SetWindowMaximumSize(window: PSDL_Window; max_w: SInt32; max_h: SInt32); cdecl; external SDL_LibName;
procedure SDL_GetWindowMaximumSize(window: PSDL_Window; w: PInt; h: PInt); cdecl; external SDL_LibName;
procedure SDL_SetWindowBordered(window: PSDL_Window; bordered: TSDL_Bool); cdecl; external SDL_LibName;
procedure SDL_ShowWindow(window: PSDL_Window); cdecl; external SDL_LibName;
procedure SDL_HideWindow(window: PSDL_Window); cdecl; external SDL_LibName;
procedure SDL_RaiseWindow(window: PSDL_Window); cdecl; external SDL_LibName;
procedure SDL_MaximizeWindow(window: PSDL_Window); cdecl; external SDL_LibName;
procedure SDL_MinimizeWindow(window: PSDL_Window); cdecl; external SDL_LibName;
procedure SDL_RestoreWindow(window: PSDL_Window); cdecl; external SDL_LibName;
function SDL_SetWindowFullscreen(window: PSDL_Window; flags: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_GetWindowSurface(window: PSDL_Window): PSDL_Surface; cdecl; external SDL_LibName;
function SDL_UpdateWindowSurface(window: PSDL_Window): SInt32; cdecl; external SDL_LibName;
function SDL_UpdateWindowSurfaceRects(window: PSDL_Window; rects: PSDL_Rect; numrects: SInt32): SInt32; cdecl; external SDL_LibName;
procedure SDL_SetWindowGrab(window: PSDL_Window; grabbed: TSDL_Bool); cdecl; external SDL_LibName;
function SDL_GetWindowGrab(window: PSDL_Window): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_SetWindowBrightness(window: PSDL_Window; brightness: Float): SInt32; cdecl; external SDL_LibName;
function SDL_GetWindowBrightness(window: PSDL_Window): Float; cdecl; external SDL_LibName;
function SDL_SetWindowGammaRamp(window: PSDL_Window; const red: PUInt16; const green: PUInt16; const blue: PUInt16): SInt32; cdecl; external SDL_LibName;
function SDL_GetWindowGammaRamp(window: PSDL_Window; red: PUInt16; green: PUInt16; blue: PUInt16): SInt32; cdecl; external SDL_LibName;
procedure SDL_DestroyWindow(window: PSDL_Window); cdecl; external SDL_LibName;
function SDL_IsScreenSaverEnabled: TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_EnableScreenSaver(); cdecl; external SDL_LibName;
procedure SDL_DisableScreenSaver(); cdecl; external SDL_LibName;
function SDL_GL_LoadLibrary(const path: PChar): SInt32; cdecl; external SDL_LibName;
function SDL_GL_GetProcAddress(const proc: PChar): Pointer; cdecl; external SDL_LibName;
procedure SDL_GL_UnloadLibrary(); cdecl; external SDL_LibName;
function SDL_GL_ExtensionSupported(const extension: PChar): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_GL_SetAttribute(attr: TSDL_GLattr; value: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_GL_GetAttribute(attr: TSDL_GLattr; value: PInt): SInt32; cdecl; external SDL_LibName;
function SDL_GL_CreateContext(window: PSDL_Window): TSDL_GLContext; cdecl; external SDL_LibName;
function SDL_GL_MakeCurrent(window: PSDL_Window; context: TSDL_GLContext): SInt32; cdecl; external SDL_LibName;
function SDL_GL_GetCurrentWindow(): PSDL_Window; cdecl; external SDL_LibName;
function SDL_GL_GetCurrentContext(): TSDL_GLContext; cdecl; external SDL_LibName;
function SDL_GL_SetSwapInterval(interval: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_GL_GetSwapInterval(): SInt32; cdecl; external SDL_LibName;
procedure SDL_GL_SwapWindow(window: PSDL_Window); cdecl; external SDL_LibName;
procedure SDL_GL_DeleteContext(context: TSDL_GLContext); cdecl; external SDL_LibName;
function SDL_GetNumRenderDrivers(): SInt32; cdecl; external SDL_LibName;
function SDL_GetRenderDriverInfo(index: SInt32; info: PSDL_RendererInfo): SInt32; cdecl; external SDL_LibName;
function SDL_CreateWindowAndRenderer(width: SInt32; height: SInt32; window_flags: UInt32; window: PPSDL_Window; renderer: PPSDL_Renderer): SInt32; cdecl; external SDL_LibName;
function SDL_CreateRenderer(window: PSDL_Window; index: SInt32; flags: UInt32): PSDL_Renderer; cdecl; external SDL_LibName;
function SDL_CreateSoftwareRenderer(surface: PSDL_Surface): PSDL_Renderer; cdecl; external SDL_LibName;
function SDL_GetRenderer(window: PSDL_Window): PSDL_Renderer; cdecl; external SDL_LibName;
function SDL_GetRendererInfo(renderer: PSDL_Renderer; info: PSDL_RendererInfo): SInt32; cdecl; external SDL_LibName;
function SDL_GetRendererOutputSize(renderer: PSDL_Renderer; w: PInt; h: PInt): SInt32; cdecl; external SDL_LibName;
function SDL_CreateTexture(renderer: PSDL_Renderer; format: UInt32; access: SInt32; w: SInt32; h: SInt32): PSDL_Texture; cdecl; external SDL_LibName;
function SDL_CreateTextureFromSurface(renderer: PSDL_Renderer; surface: PSDL_Surface): PSDL_Texture; cdecl; external SDL_LibName;
function SDL_QueryTexture(texture: PSDL_Texture; format: PUInt32; access: PInt; w: PInt; h: PInt): SInt32; cdecl; external SDL_LibName;
function SDL_SetTextureColorMod(texture: PSDL_Texture; r: UInt8; g: UInt8; b: UInt8): SInt32; cdecl; external SDL_LibName;
function SDL_GetTextureColorMod(texture: PSDL_Texture; r: PUInt8; g: PUInt8; b: PUInt8): SInt32; cdecl; external SDL_LibName;
function SDL_SetTextureAlphaMod(texture: PSDL_Texture; alpha: UInt8): SInt32; cdecl; external SDL_LibName;
function SDL_GetTextureAlphaMod(texture: PSDL_Texture; alpha: PUInt8): SInt32; cdecl; external SDL_LibName;
function SDL_SetTextureBlendMode(texture: PSDL_Texture; blendMode: TSDL_BlendMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetTextureBlendMode(texture: PSDL_Texture; blendMode: PSDL_BlendMode): SInt32; cdecl; external SDL_LibName;
function SDL_UpdateTexture(texture: PSDL_Texture; rect: PSDL_Rect; pixels: Pointer; pitch: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_LockTexture(texture: PSDL_Texture; rect: PSDL_Rect; pixels: PPointer; pitch: PInt): SInt32; cdecl; external SDL_LibName;
procedure SDL_UnlockTexture(texture: PSDL_Texture); cdecl; external SDL_LibName;
function SDL_RenderTargetSupported(renderer: PSDL_Renderer): Boolean; cdecl; external SDL_LibName;
function SDL_SetRenderTarget(renderer: PSDL_Renderer; texture: PSDL_Texture): SInt32; cdecl; external SDL_LibName;
function SDL_GetRenderTarget(renderer: PSDL_Renderer): PSDL_Texture; cdecl; external SDL_LibName;
function SDL_RenderSetLogicalSize(renderer: PSDL_Renderer; w: SInt32; h: SInt32): SInt32; cdecl; external SDL_LibName;
procedure SDL_RenderGetLogicalSize(renderer: PSDL_Renderer; w: PInt; h: PInt); cdecl; external SDL_LibName;
function SDL_RenderSetViewport(renderer: PSDL_Renderer; const rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
procedure SDL_RenderGetViewport(renderer: PSDL_Renderer; rect: PSDL_Rect); cdecl; external SDL_LibName;
function SDL_RenderSetClipRect(renderer: PSDL_Renderer; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
procedure SDL_RenderGetClipRect(renderer: PSDL_Renderer; rect: PSDL_Rect); cdecl; external SDL_LibName;
function SDL_RenderSetScale(renderer: PSDL_Renderer; scaleX: Float; scaleY: Float): SInt32; cdecl; external SDL_LibName;
procedure SDL_RenderGetScale(renderer: PSDL_Renderer; scaleX: PFloat; scaleY: PFloat); cdecl; external SDL_LibName;
function SDL_SetRenderDrawColor(renderer: PSDL_Renderer; r: UInt8; g: UInt8; b: UInt8; a: UInt8): SInt32; cdecl; external SDL_LibName;
function SDL_GetRenderDrawColor(renderer: PSDL_Renderer; r: PUInt8; g: PUInt8; b: PUInt8; a: PUInt8): SInt32; cdecl; external SDL_LibName;
function SDL_SetRenderDrawBlendMode(renderer: PSDL_Renderer; blendMode: TSDL_BlendMode): SInt32; cdecl; external SDL_LibName;
function SDL_GetRenderDrawBlendMode(renderer: PSDL_Renderer; blendMode: PSDL_BlendMode): SInt32; cdecl; external SDL_LibName;
function SDL_RenderClear(renderer: PSDL_Renderer): SInt32; cdecl; external SDL_LibName;
function SDL_RenderDrawPoint(renderer: PSDL_Renderer; x: SInt32; y: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_RenderDrawPoints(renderer: PSDL_Renderer; points: PSDL_Point; count: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_RenderDrawLine(renderer: PSDL_Renderer; x1: SInt32; y1: SInt32; x2: SInt32; y2: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_RenderDrawLines(renderer: PSDL_Renderer; points: PSDL_Point; count: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_RenderDrawRect(renderer: PSDL_Renderer; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_RenderDrawRects(renderer: PSDL_Renderer; rects: PSDL_Rect; count: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_RenderFillRect(renderer: PSDL_Renderer; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_RenderFillRects(renderer: PSDL_Renderer; rects: PSDL_Rect; count: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_RenderCopy(renderer: PSDL_Renderer; texture: PSDL_Texture; srcrect: PSDL_Rect; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;
function SDL_RenderCopyEx(renderer: PSDL_Renderer; texture: PSDL_Texture; const srcrect: PSDL_Rect; dstrect: PSDL_Rect; angle: Double; center: PSDL_Point; flip: PSDL_RendererFlip): SInt32; cdecl; external SDL_LibName;
function SDL_RenderReadPixels(renderer: PSDL_Renderer; rect: PSDL_Rect; format: UInt32; pixels: Pointer; pitch: SInt32): SInt32; cdecl; external SDL_LibName;
procedure SDL_RenderPresent(renderer: PSDL_Renderer); cdecl; external SDL_LibName;
procedure SDL_DestroyTexture(texture: PSDL_Texture); cdecl; external SDL_LibName;
procedure SDL_DestroyRenderer(renderer: PSDL_Renderer); cdecl; external SDL_LibName;
function SDL_GL_BindTexture(texture: PSDL_Texture; texw: PFloat; texh: PFloat): SInt32; cdecl; external SDL_LibName;
function SDL_GL_UnbindTexture(texture: PSDL_Texture): SInt32; cdecl; external SDL_LibName;
function SDL_GetKeyboardFocus(): PSDL_Window; cdecl; external SDL_LibName;
function SDL_GetKeyboardState(numkeys: PInt): PUInt8; cdecl; external SDL_LibName;
function SDL_GetModState(): TSDL_KeyMod; cdecl; external SDL_LibName;
procedure SDL_SetModState(modstate: TSDL_KeyMod); cdecl; external SDL_LibName;
function SDL_GetKeyFromScancode(scancode: TSDL_ScanCode): TSDL_KeyCode; cdecl; external SDL_LibName;
function SDL_GetScancodeFromKey(key: TSDL_KeyCode): TSDL_ScanCode; cdecl; external SDL_LibName;
function SDL_GetScancodeName(scancode: TSDL_ScanCode): PChar; cdecl; external SDL_LibName;
function SDL_GetScancodeFromName(const name: PChar): TSDL_ScanCode; cdecl; external SDL_LibName;
function SDL_GetKeyName(key: TSDL_ScanCode): PChar; cdecl; external SDL_LibName;
function SDL_GetKeyFromName(const name: PChar): TSDL_KeyCode; cdecl; external SDL_LibName;
procedure SDL_StartTextInput(); cdecl; external SDL_LibName;
function SDL_IsTextInputActive(): TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_StopTextInput(); cdecl; external SDL_LibName;
procedure SDL_SetTextInputRect(rect: PSDL_Rect); cdecl; external SDL_LibName;
function SDL_HasScreenKeyboardSupport(): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_IsScreenKeyboardShown(window: PSDL_Window): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_GetMouseFocus(): PSDL_Window; cdecl; external SDL_LibName;
function SDL_GetMouseState(x: PInt; y: PInt): UInt32; cdecl; external SDL_LibName;
function SDL_GetRelativeMouseState(x: PInt; y: PInt): UInt32; cdecl; external SDL_LibName;
procedure SDL_WarpMouseInWindow(window: PSDL_Window; x: SInt32; y: SInt32); cdecl; external SDL_LibName;
function SDL_SetRelativeMouseMode(enabled: TSDL_Bool): SInt32; cdecl; external SDL_LibName;
function SDL_GetRelativeMouseMode(): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_CreateCursor(const data: PUInt8; const mask: PUInt8; w: SInt32; h: SInt32; hot_x: SInt32; hot_y: SInt32): PSDL_Cursor; cdecl; external SDL_LibName;
function SDL_CreateColorCursor(surface: PSDL_Surface; hot_x: SInt32; hot_y: SInt32): PSDL_Cursor; cdecl; external SDL_LibName;
function SDL_CreateSystemCursor(id: TSDL_SystemCursor): PSDL_Cursor; cdecl; external SDL_LibName;
procedure SDL_SetCursor(cursor: PSDL_Cursor); cdecl; external SDL_LibName;
function SDL_GetCursor(): PSDL_Cursor; cdecl; external SDL_LibName;
procedure SDL_FreeCursor(cursor: PSDL_Cursor); cdecl; external SDL_LibName;
function SDL_ShowCursor(toggle: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_NumJoysticks(): SInt32; cdecl; external SDL_LibName;
function SDL_JoystickNameForIndex(device_index: SInt32): PChar; cdecl; external SDL_LibName;
function SDL_JoystickOpen(device_index: SInt32): PSDL_Joystick; cdecl; external SDL_LibName;
function SDL_JoystickName(joystick: PSDL_Joystick): PChar; cdecl; external SDL_LibName;
function SDL_JoystickGetDeviceGUID(device_index: SInt32): TSDL_JoystickGUID; cdecl; external SDL_LibName;
function SDL_JoystickGetGUID(joystick: PSDL_Joystick): TSDL_JoystickGUID; cdecl; external SDL_LibName;
procedure SDL_JoystickGetGUIDString(guid: TSDL_JoystickGUId; pszGUID: PChar; cbGUID: SInt32); cdecl; external SDL_LibName;
function SDL_JoystickGetGUIDFromString(const pchGUID: PChar): TSDL_JoystickGUID; cdecl; external SDL_LibName;
function SDL_JoystickGetAttached(joystick: PSDL_Joystick): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_JoystickInstanceID(joystick: PSDL_Joystick): TSDL_JoystickID; cdecl; external SDL_LibName;
function SDL_JoystickNumAxes(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;
function SDL_JoystickNumBalls(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;
function SDL_JoystickNumHats(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;
function SDL_JoystickNumButtons(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;
procedure SDL_JoystickUpdate(); cdecl; external SDL_LibName;
function SDL_JoystickEventState(state: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_JoystickGetAxis(joystick: PSDL_Joystick; axis: SInt32): SInt16; cdecl; external SDL_LibName;
function SDL_JoystickGetHat(joystick: PSDL_Joystick; hat: SInt32): UInt8; cdecl; external SDL_LibName;
function SDL_JoystickGetBall(joystick: PSDL_Joystick; ball: SInt32; dx: PInt; dy: PInt): SInt32; cdecl; external SDL_LibName;
function SDL_JoystickGetButton(joystick: PSDL_Joystick; button: SInt32): UInt8; cdecl; external SDL_LibName;
procedure SDL_JoystickClose(joystick: PSDL_Joystick); cdecl; external SDL_LibName;
function SDL_GameControllerAddMapping( mappingString: PChar ): Integer; cdecl; external SDL_LibName;
function SDL_GameControllerMappingForGUID( guid: TSDL_JoystickGUID ): PChar; cdecl; external SDL_LibName;
function SDL_GameControllerMapping( gamecontroller: PSDL_GameController ): PChar; cdecl; external SDL_LibName;
function SDL_IsGameController(joystick_index: Integer): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_GameControllerNameForIndex(joystick_index: Integer): PChar; cdecl; external SDL_LibName;
function SDL_GameControllerOpen(joystick_index: Integer): PSDL_GameController; cdecl; external SDL_LibName;
function SDL_GameControllerName(gamecontroller: PSDL_GameController): PChar; cdecl; external SDL_LibName;
function SDL_GameControllerGetAttached(gamecontroller: PSDL_GameController): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_GameControllerGetJoystick(gamecontroller: PSDL_GameController): PSDL_Joystick; cdecl; external SDL_LibName;
function SDL_GameControllerEventState(state: Integer): Integer; cdecl; external SDL_LibName;
procedure SDL_GameControllerUpdate(); cdecl; external SDL_LibName;
function SDL_GameControllerGetAxisFromString(pchString: PChar): TSDL_GameControllerAxis; cdecl; external SDL_LibName;
function SDL_GameControllerGetStringForAxis(axis: TSDL_GameControllerAxis): PChar; cdecl; external SDL_LibName;
function SDL_GameControllerGetBindForAxis(gamecontroller: PSDL_GameController; axis: TSDL_GameControllerAxis): TSDL_GameControllerButtonBind; cdecl; external SDL_LibName;
function SDL_GameControllerGetAxis(gamecontroller: PSDL_GameController; axis: TSDL_GameControllerAxis): SInt16; cdecl; external SDL_LibName;
function SDL_GameControllerGetButtonFromString(pchString: PChar): TSDL_GameControllerButton; cdecl; external SDL_LibName;
function SDL_GameControllerGetStringForButton(button: TSDL_GameControllerButton): PChar; cdecl; external SDL_LibName;
function SDL_GameControllerGetBindForButton(gamecontroller: PSDL_GameController; button: TSDL_GameControllerButton): TSDL_GameControllerButtonBind; cdecl; external SDL_LibName;
function SDL_GameControllerGetButton(gamecontroller: PSDL_GameController; button: TSDL_GameControllerButton): UInt8; cdecl; external SDL_LibName;
procedure SDL_GameControllerClose(gamecontroller: PSDL_GameController); cdecl; external SDL_LibName;
function SDL_NumHaptics(): Integer; cdecl; external SDL_LibName;
function SDL_HapticName(device_index: Integer): PChar; cdecl; external SDL_LibName;
function SDL_HapticOpen(device_index: Integer): PSDL_Haptic; cdecl; external SDL_LibName;
function SDL_HapticOpened(device_index: Integer): Integer; cdecl; external SDL_LibName;
function SDL_HapticIndex(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_MouseIsHaptic() : Integer; cdecl; external SDL_LibName;
function SDL_HapticOpenFromMouse() : PSDL_Haptic; cdecl; external SDL_LibName;
function SDL_JoystickIsHaptic(joystick: PSDL_Joystick): Integer; cdecl; external SDL_LibName;
function SDL_HapticOpenFromJoystick(joystick: PSDL_Joystick): PSDL_Haptic; cdecl; external SDL_LibName;
procedure SDL_HapticClose(haptic: PSDL_Haptic); cdecl; external SDL_LibName;
function SDL_HapticNumEffects(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticNumEffectsPlaying(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticQuery(haptic: PSDL_Haptic): UInt32; cdecl; external SDL_LibName;
function SDL_HapticNumAxes(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticEffectSupported(haptic: PSDL_Haptic; effect: PSDL_HapticEffect): Integer; cdecl; external SDL_LibName;
function SDL_HapticNewEffect(haptic: PSDL_Haptic; effect: PSDL_HapticEffect): Integer; cdecl; external SDL_LibName;
function SDL_HapticUpdateEffect(haptic: PSDL_Haptic; effect: Integer; data: PSDL_HapticEffect): Integer; cdecl; external SDL_LibName;
function SDL_HapticRunEffect(haptic: PSDL_Haptic; effect: Integer; iterations: UInt32): Integer; cdecl; external SDL_LibName;
function SDL_HapticStopEffect(haptic: PSDL_Haptic; effect: Integer): Integer; cdecl; external SDL_LibName;
procedure SDL_HapticDestroyEffect(haptic: PSDL_Haptic; effect: Integer); cdecl; external SDL_LibName;
function SDL_HapticGetEffectStatus(haptic: PSDL_Haptic; effect: Integer): Integer; cdecl; external SDL_LibName;
function SDL_HapticSetGain(haptic: PSDL_Haptic; gain: Integer): Integer; cdecl; external SDL_LibName;
function SDL_HapticSetAutocenter(haptic: PSDL_Haptic; autocenter: Integer): Integer; cdecl; external SDL_LibName;
function SDL_HapticPause(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticUnpause(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticStopAll(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticRumbleSupported(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticRumbleInit(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_HapticRumblePlay(haptic: PSDL_Haptic; strength: Float; length: UInt32): Integer; cdecl; external SDL_LibName;
function SDL_HapticRumbleStop(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;
function SDL_GetNumTouchDevices(): SInt32; cdecl; external SDL_LibName;
function SDL_GetTouchDevice(index: SInt32): TSDL_TouchID; cdecl; external SDL_LibName;
function SDL_GetNumTouchFingers(touchID: TSDL_TouchID): SInt32; cdecl; external SDL_LibName;
function SDL_GetTouchFinger(touchID: TSDL_TouchID; index: SInt32): PSDL_Finger; cdecl; external SDL_LibName;
function SDL_RecordGesture(touchId: TSDL_TouchID): SInt32; cdecl; external SDL_LibName;
function SDL_SaveAllDollarTemplates(src: PSDL_RWops): SInt32; cdecl; external SDL_LibName;
function SDL_SaveDollarTemplate(gestureId: TSDL_GestureID; src: PSDL_RWops): SInt32; cdecl; external SDL_LibName;
function SDL_LoadDollarTemplates(touchId: TSDL_TouchID; src: PSDL_RWops): SInt32; cdecl; external SDL_LibName;
procedure SDL_PumpEvents(); cdecl; external SDL_LibName;
function SDL_PeepEvents(events: PSDL_Event; numevents: SInt32; action: TSDL_EventAction; minType: UInt32; maxType: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_HasEvent(type_: UInt32): TSDL_Bool; cdecl; external SDL_LibName;
function SDL_HasEvents(minType: UInt32; maxType: UInt32): TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_FlushEvent(type_: UInt32); cdecl; external SDL_LibName;
procedure SDL_FlushEvents(minType: UInt32; maxType: UInt32); cdecl; external SDL_LibName;
function SDL_PollEvent(event: PSDL_Event): SInt32; cdecl; external SDL_LibName;
function SDL_WaitEvent(event: PSDL_Event): SInt32; cdecl; external SDL_LibName;
function SDL_WaitEventTimeout(event: PSDL_Event; timeout: SInt32): SInt32; cdecl; external SDL_LibName;
function SDL_PushEvent(event: PSDL_Event): SInt32; cdecl; external SDL_LibName;
procedure SDL_SetEventFilter(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;
function SDL_GetEventFilter(filter: PSDL_EventFilter; userdata: Pointer): TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_AddEventWatch(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;
procedure SDL_DelEventWatch(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;
procedure SDL_FilterEvents(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;
function SDL_EventState(type_: UInt32; state: SInt32): UInt8; cdecl; external SDL_LibName;
function SDL_GetEventState(type_: UInt32): UInt8;
function SDL_RegisterEvents(numevents: SInt32): UInt32; cdecl; external SDL_LibName;
function SDL_Init(flags: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_InitSubSystem(flags: UInt32): SInt32; cdecl; external SDL_LibName;
procedure SDL_QuitSubSystem(flags: UInt32); cdecl; external SDL_LibName;
function SDL_WasInit(flags: UInt32): UInt32; cdecl; external SDL_LibName;
procedure SDL_Quit(); cdecl; external SDL_LibName;
function SDL_LoadObject(sofile: PChar): Pointer; cdecl; external SDL_LibName;
function SDL_LoadFunction(handle: Pointer; name: PChar): Pointer; cdecl; external SDL_LibName;
procedure SDL_UnloadObject(handle: Pointer); cdecl; external SDL_LibName;
function SDL_GetPlatform(): PChar; cdecl; external SDL_LibName;
function SDL_SetHintWithPriority( const name: PChar; const value: PChar; priority: SDL_HintPriority) : boolean; cdecl; external SDL_LibName;
function SDL_SetHint( const name: PChar; const value: PChar) : boolean; cdecl; external SDL_LibName;
function SDL_GetHint( const name: PChar): PChar; cdecl; external SDL_LibName;
procedure SDL_AddHintCallback(const name: PChar; callback: TSDL_HintCallback; userdata: Pointer); cdecl; external SDL_LibName;
procedure SDL_DelHintCallback(const name: PChar; callback: TSDL_HintCallback; userdata: Pointer); cdecl; external SDL_LibName;
procedure SDL_ClearHints(); cdecl; external SDL_LibName;
function SDL_ShowMessageBox(messageboxdata: PSDL_MessageBoxData; buttonid: PInt): Integer; cdecl; external SDL_LibName;
function SDL_ShowSimpleMessageBox(flags: UInt32; title: PChar; _message: PChar; window: PSDL_Window): Integer; cdecl; external SDL_LibName;
function SDL_Swap32(D: Uint32): Uint32;
function SDLStreamSetup( stream : TStream ) : PSDL_RWops;
function LoadSDLBMPFromStream( Stream : TStream ) : PSDL_Surface;
procedure SaveSDLBMPToStream( SDL_Surface : PSDL_Surface; stream : TStream );
procedure SDLStreamCloseRWops( SDL_RWops : PSDL_RWops );

Types

DWord = LongWord;
Float = Single;
PFloat = ˆFloat;
PInt = ˆLongInt;
PPSDL_Renderer = ˆPSDL_Renderer;
PPSDL_Window = ˆPSDL_Window;
PPUInt8 = ˆPUInt8;
PSDLPantalla = ˆTSDLPantalla;
PSDL_AudioCVT = ˆTSDL_AudioCVT;
PSDL_AudioSpec = ˆTSDL_AudioSpec;
PSDL_BlendMode = ˆTSDL_BlendMode;
PSDL_BlitMap = ˆTSDL_BlitMap;
PSDL_Color = ˆTSDL_Color;
PSDL_Colour = ˆTSDL_Colour;
PSDL_Cond = Pointer;
PSDL_Cursor = Pointer;
PSDL_DisplayMode = ˆTSDL_DisplayMode;
PSDL_Event = ˆTSDL_Event;
PSDL_EventFilter = ˆTSDL_EventFilter;
PSDL_Finger = ˆTSDL_Finger;
PSDL_FingerID = ˆTSDL_FingerID;
PSDL_GameController = ˆTSDL_GameController;
PSDL_Haptic = ˆTSDL_Haptic;
PSDL_HapticEffect = ˆTSDL_HapticEffect;
PSDL_Joystick = Pointer;
PSDL_KeyCode = ˆTSDL_KeyCode;
PSDL_KeyMod = ˆTSDL_KeyMod;
PSDL_Keysym = ˆTSDL_Keysym;
PSDL_MessageBoxButtonData = ˆTSDL_MessageBoxButtonData;
PSDL_MessageBoxColor = ˆTSDL_MessageBoxColor;
PSDL_MessageBoxColorScheme = ˆTSDL_MessageBoxColorScheme;
PSDL_MessageBoxColorType = ˆTSDL_MessageBoxColorType;
PSDL_MessageBoxData = ˆTSDL_MessageBoxData;
PSDL_Mutex = ˆTSDL_Mutex;
PSDL_Palette = ˆTSDL_Palette;
PSDL_PixelFormat = ˆTSDL_PixelFormat;
PSDL_Point = ˆTSDL_Point;
PSDL_Rect = ˆTSDL_Rect;
PSDL_Renderer = Pointer;
PSDL_RendererFlags = ˆTSDL_RendererFlags;
PSDL_RendererFlip = ˆTSDL_RendererFlip;
PSDL_RendererInfo = ˆTSDL_RendererInfo;
PSDL_RWops = ˆTSDL_RWops;
PSDL_ScanCode = ˆTSDL_ScanCode;
PSDL_Sem = Pointer;
PSDL_Surface = ˆTSDL_Surface;
PSDL_SystemCursor = ˆTSDL_SystemCursor;
PSDL_SysWMEvent = ˆTSDL_SysWMEvent;
PSDL_SysWMinfo = ˆTSDL_SysWMinfo;
PSDL_SysWMmsg = ˆTSDL_SysWMmsg;
PSDL_Texture = Pointer;
PSDL_TextureAccess = ˆTSDL_TextureAccess;
PSDL_TextureModulate = ˆTSDL_TextureModulate;
PSDL_Thread = ˆTSDL_Thread;
PSDL_ThreadFunction = ˆTSDL_ThreadFunction;
PSDL_TouchID = ˆTSDL_TouchID;
PSDL_Version = ˆTSDL_Version;
PSDL_Window = ˆTSDL_Window;
PSDL_WindowShapeMode = ˆTSDL_WindowShapeMode;
PSDL_WindowShaper = ˆTSDL_WindowShaper;
PSDL_WindowUserData = ˆTSDL_WindowUserData;
PShortInt = ˆShortInt;
PSInt16 = ˆSInt16;
PSInt64 = ˆSInt64;
PSInt8 = ˆSInt8;
PUInt16 = ˆUInt16;
PUInt32 = ˆUInt32;
PUInt8 = ˆUInt8;
PUInt8Array = ˆTUInt8Array;
SDL_HintPriority = (...);
SInt16 = smallint;
SInt32 = LongInt;
SInt64 = Int64;
SInt8 = Shortint;
size_t = UInt32;
TClose = function(context: PSDL_RWops): SInt32; cdecl;
TpfnSDL_CurrentBeginThread = function(SecurityAttributes: Pointer; StackSize: LongWord; ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord; var ThreadId: TThreadID): Integer;
TpfnSDL_CurrentEndThread = procedure(ExitCode: Integer);
TRead = function(context: PSDL_RWops; ptr: Pointer; size: size_t; maxnum: size_t): size_t; cdecl;
TSDL_AudioCallback = procedure(userdata: Pointer; stream: PUInt8; len: Integer);
TSDL_AudioDeviceID = UInt32;
TSDL_AudioFilter = procedure(cvt: PSDL_AudioCVT; format: TSDL_AudioFormat);
TSDL_AudioFormat = UInt16;
TSDL_AudioStatus = (...);
TSDL_BlendMode = DWord;
TSDL_Blit = function(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32;
TSDL_Bool = (...);
TSDL_Colour = TSDL_Color;
TSDL_ErrorCode = (...);
TSDL_EventAction = Word;
TSDL_EventFilter = function( event: PSDL_Event ): Integer; cdecl;
TSDL_EventType = Word;
TSDL_FingerID = SInt64;
TSDL_GameController = Pointer;
TSDL_GameControllerAxis = Byte;
TSDL_GameControllerBindType = (...);
TSDL_GameControllerButton = Byte;
TSDL_GestureID = SInt64;
TSDL_GLattr = DWord;
TSDL_GLContext = Pointer;
TSDL_GLcontextFlag = DWord;
TSDL_GLprofile = DWord;
TSDL_HintCallback = procedure(userdata: Pointer; const name: PChar; const oldValue: PChar; const newValue: PChar);
TSDL_JoystickID = SInt32;
TSDL_KeyCode = SInt32;
TSDL_KeyMod = Word;
TSDL_MessageBoxButtonFlags = Byte;
TSDL_MessageBoxColorType = (...);
TSDL_MessageBoxFlags = Byte;
TSDL_PowerState = (...);
TSDL_RendererFlags = Word;
TSDL_RendererFlip = (...);
TSDL_ScanCode = DWord;
TSDL_SystemCursor = Word;
TSDL_TextureAccess = (...);
TSDL_TextureModulate = (...);
TSDL_ThreadFunction = function(data: Pointer): Integer; cdecl;
TSDL_ThreadID = LongWord;
TSDL_ThreadPriority = (...);
TSDL_TimerCallback = function(interval: UInt32; param: Pointer): UInt32;
TSDL_TimerID = SInt32;
TSDL_TLSID = Cardinal;
TSDL_TouchID = SInt64;
TSDL_WindowEventID = DWord;
TSDL_WindowFlags = DWord;
TSeek = function(context: PSDL_RWops; offset: SInt64; whence: SInt32): SInt64; cdecl;
TSize = function(context: PSDL_RWops): SInt64; cdecl;
TThreadID = Cardinal;
TUInt8Array = array [0..MAXINT shr 1] of UInt8;
TWindowShapeMode = (...);
TWrite = function(context: PSDL_RWops; const ptr: Pointer; size: size_t; num: size_t): size_t; cdecl;
UInt16 = word;
UInt32 = Cardinal;
UInt8 = Byte;

Constants

SDL_LibName = 'sdl2_32.dll';
SDL_MAJOR_VERSION = 2;
SDL_MINOR_VERSION = 0;
SDL_PATCHLEVEL = 0;
ERR_MAX_STRLEN = 128;
ERR_MAX_ARGS = 5;
SDL_RWOPS_UNKNOWN = 0;
SDL_RWOPS_WINFILE = 1;
SDL_RWOPS_STDFILE = 2;
SDL_RWOPS_JNIFILE = 3;
SDL_RWOPS_MEMORY = 4;
SDL_RWOPS_MEMORY_RO = 5;
RW_SEEK_SET = 0;
RW_SEEK_CUR = 1;
RW_SEEK_END = 2;
SDL_AUDIO_MASK_BITSIZE = ($FF);
SDL_AUDIO_MASK_DATATYPE = (1 shl 8);
SDL_AUDIO_MASK_ENDIAN = (1 shl 12);
SDL_AUDIO_MASK_SIGNED = (1 shl 15);
AUDIO_U8 = $0008;
AUDIO_S8 = $8008;
AUDIO_U16LSB = $0010;
AUDIO_S16LSB = $8010;
AUDIO_U16MSB = $1010;
AUDIO_S16MSB = $9010;
AUDIO_U16 = AUDIO_U16LSB;
AUDIO_S16 = AUDIO_S16LSB;
AUDIO_S32LSB = $8020;
AUDIO_S32MSB = $9020;
AUDIO_S32 = AUDIO_S32LSB;
AUDIO_F32LSB = $8120;
AUDIO_F32MSB = $9120;
AUDIO_F32 = AUDIO_F32LSB;
SDL_AUDIO_ALLOW_FREQUENCY_CHANGE = $00000001;
SDL_AUDIO_ALLOW_FORMAT_CHANGE = $00000002;
SDL_AUDIO_ALLOW_CHANNELS_CHANGE = $00000004;
SDL_AUDIO_ALLOW_ANY_CHANGE = (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE or SDL_AUDIO_ALLOW_FORMAT_CHANGE or SDL_AUDIO_ALLOW_CHANNELS_CHANGE);
SDL_MIX_MAXVOLUME = 128;
SDL_MUTEX_TIMEDOUT = 1;
SDL_ALPHA_OPAQUE = 255;
SDL_ALPHA_TRANSPARENT = 0;
SDL_PIXELTYPE_UNKNOWN = 0;
SDL_PIXELTYPE_INDEX1 = 1;
SDL_PIXELTYPE_INDEX4 = 2;
SDL_PIXELTYPE_INDEX8 = 3;
SDL_PIXELTYPE_PACKED8 = 4;
SDL_PIXELTYPE_PACKED16 = 5;
SDL_PIXELTYPE_PACKED32 = 6;
SDL_PIXELTYPE_ARRAYU8 = 7;
SDL_PIXELTYPE_ARRAYU16 = 8;
SDL_PIXELTYPE_ARRAYU32 = 9;
SDL_PIXELTYPE_ARRAYF16 = 10;
SDL_PIXELTYPE_ARRAYF32 = 11;
SDL_BITMAPORDER_NONE = 0;
SDL_BITMAPORDER_4321 = 1;
SDL_BITMAPORDER_1234 = 2;
SDL_PACKEDORDER_NONE = 0;
SDL_PACKEDORDER_XRGB = 1;
SDL_PACKEDORDER_RGBX = 2;
SDL_PACKEDORDER_ARGB = 3;
SDL_PACKEDORDER_RGBA = 4;
SDL_PACKEDORDER_XBGR = 5;
SDL_PACKEDORDER_BGRX = 6;
SDL_PACKEDORDER_ABGR = 7;
SDL_PACKEDORDER_BGRA = 8;
SDL_ARRAYORDER_NONE = 0;
SDL_ARRAYORDER_RGB = 1;
SDL_ARRAYORDER_RGBA = 2;
SDL_ARRAYORDER_ARGB = 3;
SDL_ARRAYORDER_BGR = 4;
SDL_ARRAYORDER_BGRA = 5;
SDL_ARRAYORDER_ABGR = 6;
SDL_PACKEDLAYOUT_NONE = 0;
SDL_PACKEDLAYOUT_332 = 1;
SDL_PACKEDLAYOUT_4444 = 2;
SDL_PACKEDLAYOUT_1555 = 3;
SDL_PACKEDLAYOUT_5551 = 4;
SDL_PACKEDLAYOUT_565 = 5;
SDL_PACKEDLAYOUT_8888 = 6;
SDL_PACKEDLAYOUT_2101010 = 7;
SDL_PACKEDLAYOUT_1010102 = 8;
SDL_PIXELFORMAT_UNKNOWN = 0;
SDL_PIXELFORMAT_INDEX1LSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX1 shl 24) or (SDL_BITMAPORDER_4321 shl 20) or (0 shl 16) or (1 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX1MSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX1 shl 24) or (SDL_BITMAPORDER_1234 shl 20) or (0 shl 16) or (1 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX4LSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX4 shl 24) or (SDL_BITMAPORDER_4321 shl 20) or (0 shl 16) or (4 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX4MSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX4 shl 24) or (SDL_BITMAPORDER_1234 shl 20) or (0 shl 16) or (4 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX8 = (1 shl 28) or (SDL_PIXELTYPE_PACKED8 shl 24) or (0 shl 20) or (0 shl 16) or (8 shl 8) or (1 shl 0);
SDL_PIXELFORMAT_RGB332 = (1 shl 28) or (SDL_PIXELTYPE_PACKED8 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_332 shl 16) or (8 shl 8) or (1 shl 0);
SDL_PIXELFORMAT_RGB444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (12 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGB555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (15 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGR555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XBGR shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (15 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ARGB4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGBA4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_RGBA shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ABGR4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ABGR shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGRA4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_BGRA shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ARGB1555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGBA5551 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_RGBA shl 20) or (SDL_PACKEDLAYOUT_5551 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ABGR1555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ABGR shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGRA5551 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_BGRA shl 20) or (SDL_PACKEDLAYOUT_5551 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGB565 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_565 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGR565 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XBGR shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGB24 = (1 shl 28) or (SDL_PIXELTYPE_ARRAYU8 shl 24) or (SDL_ARRAYORDER_RGB shl 20) or (0 shl 16) or (24 shl 8) or (3 shl 0);
SDL_PIXELFORMAT_BGR24 = (1 shl 28) or (SDL_PIXELTYPE_ARRAYU8 shl 24) or (SDL_ARRAYORDER_BGR shl 20) or (0 shl 16) or (24 shl 8) or (3 shl 0);
SDL_PIXELFORMAT_RGB888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_RGBX8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_RGBX shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_BGR888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_XBGR shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_BGRX8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_BGRX shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_ARGB8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_RGBA8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_RGBA shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_ABGR8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_ABGR shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_BGRA8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_RGBX shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_ARGB2101010 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_2101010 shl 16)or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_YV12 = (Integer('Y') ) or (Integer('V') shl 8) or (Integer('1') shl 16) or (Integer('2') shl 24);
SDL_PIXELFORMAT_IYUV = (Integer('I') ) or (Integer('Y') shl 8) or (Integer('U') shl 16) or (Integer('V') shl 24);
SDL_PIXELFORMAT_YUY2 = (Integer('Y') ) or (Integer('U') shl 8) or (Integer('Y') shl 16) or (Integer('2') shl 24);
SDL_PIXELFORMAT_UYVY = (Integer('U') ) or (Integer('Y') shl 8) or (Integer('V') shl 16) or (Integer('Y') shl 24);
SDL_PIXELFORMAT_YVYU = (Integer('Y') ) or (Integer('V') shl 8) or (Integer('Y') shl 16) or (Integer('U') shl 24);
SDL_BLENDMODE_NONE = $00000000;
SDL_BLENDMODE_BLEND = $00000001;
SDL_BLENDMODE_ADD = $00000002;
SDL_BLENDMODE_MOD = $00000004;
SDL_SWSURFACE = 0;
SDL_PREALLOC = $00000001;
SDL_RLEACCEL = $00000002;
SDL_DONTFREE = $00000004;
SDL_NONSHAPEABLE_WINDOW = -1;
SDL_INVALID_SHAPE_ARGUMENT = -2;
SDL_WINDOW_LACKS_SHAPE = -3;
SDL_WINDOW_FULLSCREEN = $00000001;
SDL_WINDOW_OPENGL = $00000002;
SDL_WINDOW_SHOWN = $00000004;
SDL_WINDOW_HIDDEN = $00000008;
SDL_WINDOW_BORDERLESS = $00000010;
SDL_WINDOW_RESIZABLE = $00000020;
SDL_WINDOW_MINIMIZED = $00000040;
SDL_WINDOW_MAXIMIZED = $00000080;
SDL_WINDOW_INPUT_GRABBED = $00000100;
SDL_WINDOW_INPUT_FOCUS = $00000200;
SDL_WINDOW_MOUSE_FOCUS = $00000400;
SDL_WINDOW_FULLSCREEN_DESKTOP = SDL_WINDOW_FULLSCREEN or $00001000;
SDL_WINDOW_FOREIGN = $00000800;
SDL_WINDOWPOS_UNDEFINED_MASK = $1FFF0000;
SDL_WINDOWPOS_UNDEFINED = SDL_WINDOWPOS_UNDEFINED_MASK or 0;
SDL_WINDOWPOS_CENTERED_MASK = $2FFF0000;
SDL_WINDOWPOS_CENTERED = SDL_WINDOWPOS_CENTERED_MASK or 0;
SDL_WINDOWEVENT_NONE = 0;
SDL_WINDOWEVENT_SHOWN = 1;
SDL_WINDOWEVENT_HIDDEN = 2;
SDL_WINDOWEVENT_EXPOSED = 3;
SDL_WINDOWEVENT_MOVED = 4;
SDL_WINDOWEVENT_RESIZED = 5;
SDL_WINDOWEVENT_SIZE_CHANGED = 6;
SDL_WINDOWEVENT_MINIMIZED = 7;
SDL_WINDOWEVENT_MAXIMIZED = 8;
SDL_WINDOWEVENT_RESTORED = 9;
SDL_WINDOWEVENT_ENTER = 10;
SDL_WINDOWEVENT_LEAVE = 11;
SDL_WINDOWEVENT_FOCUS_GAINED = 12;
SDL_WINDOWEVENT_FOCUS_LOST = 13;
SDL_WINDOWEVENT_CLOSE = 14;
SDL_GL_RED_SIZE = 0;
SDL_GL_GREEN_SIZE = 1;
SDL_GL_BLUE_SIZE = 2;
SDL_GL_ALPHA_SIZE = 3;
SDL_GL_BUFFER_SIZE = 4;
SDL_GL_DOUBLEBUFFER = 5;
SDL_GL_DEPTH_SIZE = 6;
SDL_GL_STENCIL_SIZE = 7;
SDL_GL_ACCUM_RED_SIZE = 8;
SDL_GL_ACCUM_GREEN_SIZE = 9;
SDL_GL_ACCUM_BLUE_SIZE = 10;
SDL_GL_ACCUM_ALPHA_SIZE = 11;
SDL_GL_STEREO = 12;
SDL_GL_MULTISAMPLEBUFFERS = 13;
SDL_GL_MULTISAMPLESAMPLES = 14;
SDL_GL_ACCELERATED_VISUAL = 15;
SDL_GL_RETAINED_BACKING = 16;
SDL_GL_CONTEXT_MAJOR_VERSION = 17;
SDL_GL_CONTEXT_MINOR_VERSION = 18;
SDL_GL_CONTEXT_EGL = 19;
SDL_GL_CONTEXT_FLAGS = 20;
SDL_GL_CONTEXT_PROFILE_MASK = 21;
SDL_GL_SHARE_WITH_CURRENT_CONTEXT = 22;
SDL_GL_CONTEXT_PROFILE_CORE = $0001;
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = $0002;
SDL_GL_CONTEXT_PROFILE_ES = $0004;
SDL_GL_CONTEXT_DEBUG_FLAG = $0001;
SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = $0002;
SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG = $0004;
SDL_GL_CONTEXT_RESET_ISOLATION_FLAG = $0008;
SDL_RENDERER_SOFTWARE = $00000001;
SDL_RENDERER_ACCELERATED = $00000002;
SDL_RENDERER_PRESENTVSYNC = $00000004;
SDL_RENDERER_TARGETTEXTURE = $00000008;
SDL_SCANCODE_UNKNOWN = 0;
SDL_SCANCODE_A = 4;
SDL_SCANCODE_B = 5;
SDL_SCANCODE_C = 6;
SDL_SCANCODE_D = 7;
SDL_SCANCODE_E = 8;
SDL_SCANCODE_F = 9;
SDL_SCANCODE_G = 10;
SDL_SCANCODE_H = 11;
SDL_SCANCODE_I = 12;
SDL_SCANCODE_J = 13;
SDL_SCANCODE_K = 14;
SDL_SCANCODE_L = 15;
SDL_SCANCODE_M = 16;
SDL_SCANCODE_N = 17;
SDL_SCANCODE_O = 18;
SDL_SCANCODE_P = 19;
SDL_SCANCODE_Q = 20;
SDL_SCANCODE_R = 21;
SDL_SCANCODE_S = 22;
SDL_SCANCODE_T = 23;
SDL_SCANCODE_U = 24;
SDL_SCANCODE_V = 25;
SDL_SCANCODE_W = 26;
SDL_SCANCODE_X = 27;
SDL_SCANCODE_Y = 28;
SDL_SCANCODE_Z = 29;
SDL_SCANCODE_1 = 30;
SDL_SCANCODE_2 = 31;
SDL_SCANCODE_3 = 32;
SDL_SCANCODE_4 = 33;
SDL_SCANCODE_5 = 34;
SDL_SCANCODE_6 = 35;
SDL_SCANCODE_7 = 36;
SDL_SCANCODE_8 = 37;
SDL_SCANCODE_9 = 38;
SDL_SCANCODE_0 = 39;
SDL_SCANCODE_RETURN = 40;
SDL_SCANCODE_ESCAPE = 41;
SDL_SCANCODE_BACKSPACE = 42;
SDL_SCANCODE_TAB = 43;
SDL_SCANCODE_SPACE = 44;
SDL_SCANCODE_MINUS = 45;
SDL_SCANCODE_EQUALS = 46;
SDL_SCANCODE_LEFTBRACKET = 47;
SDL_SCANCODE_RIGHTBRACKET = 48;
SDL_SCANCODE_BACKSLASH = 49;
SDL_SCANCODE_NONUSHASH = 50;
SDL_SCANCODE_SEMICOLON = 51;
SDL_SCANCODE_APOSTROPHE = 52;
SDL_SCANCODE_GRAVE = 53;
SDL_SCANCODE_COMMA = 54;
SDL_SCANCODE_PERIOD = 55;
SDL_SCANCODE_SLASH = 56;
SDL_SCANCODE_CAPSLOCK = 57;
SDL_SCANCODE_F1 = 58;
SDL_SCANCODE_F2 = 59;
SDL_SCANCODE_F3 = 60;
SDL_SCANCODE_F4 = 61;
SDL_SCANCODE_F5 = 62;
SDL_SCANCODE_F6 = 63;
SDL_SCANCODE_F7 = 64;
SDL_SCANCODE_F8 = 65;
SDL_SCANCODE_F9 = 66;
SDL_SCANCODE_F10 = 67;
SDL_SCANCODE_F11 = 68;
SDL_SCANCODE_F12 = 69;
SDL_SCANCODE_PRINTSCREEN = 70;
SDL_SCANCODE_SCROLLLOCK = 71;
SDL_SCANCODE_PAUSE = 72;
SDL_SCANCODE_INSERT = 73;
SDL_SCANCODE_HOME = 74;
SDL_SCANCODE_PAGEUP = 75;
SDL_SCANCODE_DELETE = 76;
SDL_SCANCODE_END = 77;
SDL_SCANCODE_PAGEDOWN = 78;
SDL_SCANCODE_RIGHT = 79;
SDL_SCANCODE_LEFT = 80;
SDL_SCANCODE_DOWN = 81;
SDL_SCANCODE_UP = 82;
SDL_SCANCODE_NUMLOCKCLEAR = 83;
SDL_SCANCODE_KP_DIVIDE = 84;
SDL_SCANCODE_KP_MULTIPLY = 85;
SDL_SCANCODE_KP_MINUS = 86;
SDL_SCANCODE_KP_PLUS = 87;
SDL_SCANCODE_KP_ENTER = 88;
SDL_SCANCODE_KP_1 = 89;
SDL_SCANCODE_KP_2 = 90;
SDL_SCANCODE_KP_3 = 91;
SDL_SCANCODE_KP_4 = 92;
SDL_SCANCODE_KP_5 = 93;
SDL_SCANCODE_KP_6 = 94;
SDL_SCANCODE_KP_7 = 95;
SDL_SCANCODE_KP_8 = 96;
SDL_SCANCODE_KP_9 = 97;
SDL_SCANCODE_KP_0 = 98;
SDL_SCANCODE_KP_PERIOD = 99;
SDL_SCANCODE_NONUSBACKSLASH = 100;
SDL_SCANCODE_APPLICATION = 101;
SDL_SCANCODE_POWER = 102;
SDL_SCANCODE_KP_EQUALS = 103;
SDL_SCANCODE_F13 = 104;
SDL_SCANCODE_F14 = 105;
SDL_SCANCODE_F15 = 106;
SDL_SCANCODE_F16 = 107;
SDL_SCANCODE_F17 = 108;
SDL_SCANCODE_F18 = 109;
SDL_SCANCODE_F19 = 110;
SDL_SCANCODE_F20 = 111;
SDL_SCANCODE_F21 = 112;
SDL_SCANCODE_F22 = 113;
SDL_SCANCODE_F23 = 114;
SDL_SCANCODE_F24 = 115;
SDL_SCANCODE_EXECUTE = 116;
SDL_SCANCODE_HELP = 117;
SDL_SCANCODE_MENU = 118;
SDL_SCANCODE_SELECT = 119;
SDL_SCANCODE_STOP = 120;
SDL_SCANCODE_AGAIN = 121;
SDL_SCANCODE_UNDO = 122;
SDL_SCANCODE_CUT = 123;
SDL_SCANCODE_COPY = 124;
SDL_SCANCODE_PASTE = 125;
SDL_SCANCODE_FIND = 126;
SDL_SCANCODE_MUTE = 127;
SDL_SCANCODE_VOLUMEUP = 128;
SDL_SCANCODE_VOLUMEDOWN = 129;
SDL_SCANCODE_KP_COMMA = 133;
SDL_SCANCODE_KP_EQUALSAS400 = 134;
SDL_SCANCODE_INTERNATIONAL1 = 135;
SDL_SCANCODE_INTERNATIONAL2 = 136;
SDL_SCANCODE_INTERNATIONAL3 = 137;
SDL_SCANCODE_INTERNATIONAL4 = 138;
SDL_SCANCODE_INTERNATIONAL5 = 139;
SDL_SCANCODE_INTERNATIONAL6 = 140;
SDL_SCANCODE_INTERNATIONAL7 = 141;
SDL_SCANCODE_INTERNATIONAL8 = 142;
SDL_SCANCODE_INTERNATIONAL9 = 143;
SDL_SCANCODE_LANG1 = 144;
SDL_SCANCODE_LANG2 = 145;
SDL_SCANCODE_LANG3 = 146;
SDL_SCANCODE_LANG4 = 147;
SDL_SCANCODE_LANG5 = 148;
SDL_SCANCODE_LANG6 = 149;
SDL_SCANCODE_LANG7 = 150;
SDL_SCANCODE_LANG8 = 151;
SDL_SCANCODE_LANG9 = 152;
SDL_SCANCODE_ALTERASE = 153;
SDL_SCANCODE_SYSREQ = 154;
SDL_SCANCODE_CANCEL = 155;
SDL_SCANCODE_CLEAR = 156;
SDL_SCANCODE_PRIOR = 157;
SDL_SCANCODE_RETURN2 = 158;
SDL_SCANCODE_SEPARATOR = 159;
SDL_SCANCODE_OUT = 160;
SDL_SCANCODE_OPER = 161;
SDL_SCANCODE_CLEARAGAIN = 162;
SDL_SCANCODE_CRSEL = 163;
SDL_SCANCODE_EXSEL = 164;
SDL_SCANCODE_KP_00 = 176;
SDL_SCANCODE_KP_000 = 177;
SDL_SCANCODE_THOUSANDSSEPARATOR = 178;
SDL_SCANCODE_DECIMALSEPARATOR = 179;
SDL_SCANCODE_CURRENCYUNIT = 180;
SDL_SCANCODE_CURRENCYSUBUNIT = 181;
SDL_SCANCODE_KP_LEFTPAREN = 182;
SDL_SCANCODE_KP_RIGHTPAREN = 183;
SDL_SCANCODE_KP_LEFTBRACE = 184;
SDL_SCANCODE_KP_RIGHTBRACE = 185;
SDL_SCANCODE_KP_TAB = 186;
SDL_SCANCODE_KP_BACKSPACE = 187;
SDL_SCANCODE_KP_A = 188;
SDL_SCANCODE_KP_B = 189;
SDL_SCANCODE_KP_C = 190;
SDL_SCANCODE_KP_D = 191;
SDL_SCANCODE_KP_E = 192;
SDL_SCANCODE_KP_F = 193;
SDL_SCANCODE_KP_XOR = 194;
SDL_SCANCODE_KP_POWER = 195;
SDL_SCANCODE_KP_PERCENT = 196;
SDL_SCANCODE_KP_LESS = 197;
SDL_SCANCODE_KP_GREATER = 198;
SDL_SCANCODE_KP_AMPERSAND = 199;
SDL_SCANCODE_KP_DBLAMPERSAND = 200;
SDL_SCANCODE_KP_VERTICALBAR = 201;
SDL_SCANCODE_KP_DBLVERTICALBAR = 202;
SDL_SCANCODE_KP_COLON = 203;
SDL_SCANCODE_KP_HASH = 204;
SDL_SCANCODE_KP_SPACE = 205;
SDL_SCANCODE_KP_AT = 206;
SDL_SCANCODE_KP_EXCLAM = 207;
SDL_SCANCODE_KP_MEMSTORE = 208;
SDL_SCANCODE_KP_MEMRECALL = 209;
SDL_SCANCODE_KP_MEMCLEAR = 210;
SDL_SCANCODE_KP_MEMADD = 211;
SDL_SCANCODE_KP_MEMSUBTRACT = 212;
SDL_SCANCODE_KP_MEMMULTIPLY = 213;
SDL_SCANCODE_KP_MEMDIVIDE = 214;
SDL_SCANCODE_KP_PLUSMINUS = 215;
SDL_SCANCODE_KP_CLEAR = 216;
SDL_SCANCODE_KP_CLEARENTRY = 217;
SDL_SCANCODE_KP_BINARY = 218;
SDL_SCANCODE_KP_OCTAL = 219;
SDL_SCANCODE_KP_DECIMAL = 220;
SDL_SCANCODE_KP_HEXADECIMAL = 221;
SDL_SCANCODE_LCTRL = 224;
SDL_SCANCODE_LSHIFT = 225;
SDL_SCANCODE_LALT = 226;
SDL_SCANCODE_LGUI = 227;
SDL_SCANCODE_RCTRL = 228;
SDL_SCANCODE_RSHIFT = 229;
SDL_SCANCODE_RALT = 230;
SDL_SCANCODE_RGUI = 231;
SDL_SCANCODE_MODE = 257;
SDL_SCANCODE_AUDIONEXT = 258;
SDL_SCANCODE_AUDIOPREV = 259;
SDL_SCANCODE_AUDIOSTOP = 260;
SDL_SCANCODE_AUDIOPLAY = 261;
SDL_SCANCODE_AUDIOMUTE = 262;
SDL_SCANCODE_MEDIASELECT = 263;
SDL_SCANCODE_WWW = 264;
SDL_SCANCODE_MAIL = 265;
SDL_SCANCODE_CALCULATOR = 266;
SDL_SCANCODE_COMPUTER = 267;
SDL_SCANCODE_AC_SEARCH = 268;
SDL_SCANCODE_AC_HOME = 269;
SDL_SCANCODE_AC_BACK = 270;
SDL_SCANCODE_AC_FORWARD = 271;
SDL_SCANCODE_AC_STOP = 272;
SDL_SCANCODE_AC_REFRESH = 273;
SDL_SCANCODE_AC_BOOKMARKS = 274;
SDL_SCANCODE_BRIGHTNESSDOWN = 275;
SDL_SCANCODE_BRIGHTNESSUP = 276;
SDL_SCANCODE_DISPLAYSWITCH = 277;
SDL_SCANCODE_KBDILLUMTOGGLE = 278;
SDL_SCANCODE_KBDILLUMDOWN = 279;
SDL_SCANCODE_KBDILLUMUP = 280;
SDL_SCANCODE_EJECT = 281;
SDL_SCANCODE_SLEEP = 282;
SDL_SCANCODE_APP1 = 283;
SDL_SCANCODE_APP2 = 284;
SDL_NUM_SCANCODES = 512;
SDLK_SCANCODE_MASK = 1 shl 30;
SDLK_UNKNOWN = 0;
SDLK_RETURN = '\r';
SDLK_ESCAPE = '\033';
SDLK_BACKSPACE = '\b';
SDLK_TAB = '\t';
SDLK_SPACE = ' ';
SDLK_EXCLAIM = '!';
SDLK_QUOTEDBL = '"';
SDLK_HASH = '#';
SDLK_PERCENT = '%';
SDLK_DOLLAR = '$';
SDLK_AMPERSAND = '&';
SDLK_QUOTE = '\';
SDLK_LEFTPAREN = '(';
SDLK_RIGHTPAREN = ')';
SDLK_ASTERISK = '*';
SDLK_PLUS = '+';
SDLK_COMMA = ';';
SDLK_MINUS = '-';
SDLK_PERIOD = '.';
SDLK_SLASH = '/';
SDLK_0 = '0';
SDLK_1 = '1';
SDLK_2 = '2';
SDLK_3 = '3';
SDLK_4 = '4';
SDLK_5 = '5';
SDLK_6 = '6';
SDLK_7 = '7';
SDLK_8 = '8';
SDLK_9 = '9';
SDLK_COLON = ':';
SDLK_SEMICOLON = ';';
SDLK_LESS = '<';
SDLK_EQUALS = '=';
SDLK_GREATER = '>';
SDLK_QUESTION = '?';
SDLK_AT = '@';
SDLK_LEFTBRACKET = '[';
SDLK_BACKSLASH = '\\';
SDLK_RIGHTBRACKET = ']';
SDLK_CARET = 'ˆ';
SDLK_UNDERSCORE = '_';
SDLK_BACKQUOTE = '`';
SDLK_a = 'a';
SDLK_b = 'b';
SDLK_c = 'c';
SDLK_d = 'd';
SDLK_e = 'e';
SDLK_f = 'f';
SDLK_g = 'g';
SDLK_h = 'h';
SDLK_i = 'i';
SDLK_j = 'j';
SDLK_k = 'k';
SDLK_l = 'l';
SDLK_m = 'm';
SDLK_n = 'n';
SDLK_o = 'o';
SDLK_p = 'p';
SDLK_q = 'q';
SDLK_r = 'r';
SDLK_s = 's';
SDLK_t = 't';
SDLK_u = 'u';
SDLK_v = 'v';
SDLK_w = 'w';
SDLK_x = 'x';
SDLK_y = 'y';
SDLK_z = 'z';
SDLK_CAPSLOCK = SDL_SCANCODE_CAPSLOCK or SDLK_SCANCODE_MASK;
SDLK_F1 = SDL_SCANCODE_F1 or SDLK_SCANCODE_MASK;
SDLK_F2 = SDL_SCANCODE_F2 or SDLK_SCANCODE_MASK;
SDLK_F3 = SDL_SCANCODE_F3 or SDLK_SCANCODE_MASK;
SDLK_F4 = SDL_SCANCODE_F4 or SDLK_SCANCODE_MASK;
SDLK_F5 = SDL_SCANCODE_F5 or SDLK_SCANCODE_MASK;
SDLK_F6 = SDL_SCANCODE_F6 or SDLK_SCANCODE_MASK;
SDLK_F7 = SDL_SCANCODE_F7 or SDLK_SCANCODE_MASK;
SDLK_F8 = SDL_SCANCODE_F8 or SDLK_SCANCODE_MASK;
SDLK_F9 = SDL_SCANCODE_F9 or SDLK_SCANCODE_MASK;
SDLK_F10 = SDL_SCANCODE_F10 or SDLK_SCANCODE_MASK;
SDLK_F11 = SDL_SCANCODE_F11 or SDLK_SCANCODE_MASK;
SDLK_F12 = SDL_SCANCODE_F12 or SDLK_SCANCODE_MASK;
SDLK_PRINTSCREEN = SDL_SCANCODE_PRINTSCREEN or SDLK_SCANCODE_MASK;
SDLK_SCROLLLOCK = SDL_SCANCODE_SCROLLLOCK or SDLK_SCANCODE_MASK;
SDLK_PAUSE = SDL_SCANCODE_PAUSE or SDLK_SCANCODE_MASK;
SDLK_INSERT = SDL_SCANCODE_INSERT or SDLK_SCANCODE_MASK;
SDLK_HOME = SDL_SCANCODE_HOME or SDLK_SCANCODE_MASK;
SDLK_PAGEUP = SDL_SCANCODE_PAGEUP or SDLK_SCANCODE_MASK;
SDLK_DELETE = '\177';
SDLK_END = SDL_SCANCODE_END or SDLK_SCANCODE_MASK;
SDLK_PAGEDOWN = SDL_SCANCODE_PAGEDOWN or SDLK_SCANCODE_MASK;
SDLK_RIGHT = SDL_SCANCODE_RIGHT or SDLK_SCANCODE_MASK;
SDLK_LEFT = SDL_SCANCODE_LEFT or SDLK_SCANCODE_MASK;
SDLK_DOWN = SDL_SCANCODE_DOWN or SDLK_SCANCODE_MASK;
SDLK_UP = SDL_SCANCODE_UP or SDLK_SCANCODE_MASK;
SDLK_NUMLOCKCLEAR = SDL_SCANCODE_NUMLOCKCLEAR or SDLK_SCANCODE_MASK;
SDLK_KP_DIVIDE = SDL_SCANCODE_KP_DIVIDE or SDLK_SCANCODE_MASK;
SDLK_KP_MULTIPLY = SDL_SCANCODE_KP_MULTIPLY or SDLK_SCANCODE_MASK;
SDLK_KP_MINUS = SDL_SCANCODE_KP_MINUS or SDLK_SCANCODE_MASK;
SDLK_KP_PLUS = SDL_SCANCODE_KP_PLUS or SDLK_SCANCODE_MASK;
SDLK_KP_ENTER = SDL_SCANCODE_KP_ENTER or SDLK_SCANCODE_MASK;
SDLK_KP_1 = SDL_SCANCODE_KP_1 or SDLK_SCANCODE_MASK;
SDLK_KP_2 = SDL_SCANCODE_KP_2 or SDLK_SCANCODE_MASK;
SDLK_KP_3 = SDL_SCANCODE_KP_3 or SDLK_SCANCODE_MASK;
SDLK_KP_4 = SDL_SCANCODE_KP_4 or SDLK_SCANCODE_MASK;
SDLK_KP_5 = SDL_SCANCODE_KP_5 or SDLK_SCANCODE_MASK;
SDLK_KP_6 = SDL_SCANCODE_KP_6 or SDLK_SCANCODE_MASK;
SDLK_KP_7 = SDL_SCANCODE_KP_7 or SDLK_SCANCODE_MASK;
SDLK_KP_8 = SDL_SCANCODE_KP_8 or SDLK_SCANCODE_MASK;
SDLK_KP_9 = SDL_SCANCODE_KP_9 or SDLK_SCANCODE_MASK;
SDLK_KP_0 = SDL_SCANCODE_KP_0 or SDLK_SCANCODE_MASK;
SDLK_KP_PERIOD = SDL_SCANCODE_KP_PERIOD or SDLK_SCANCODE_MASK;
SDLK_APPLICATION = SDL_SCANCODE_APPLICATION or SDLK_SCANCODE_MASK;
SDLK_POWER = SDL_SCANCODE_POWER or SDLK_SCANCODE_MASK;
SDLK_KP_EQUALS = SDL_SCANCODE_KP_EQUALS or SDLK_SCANCODE_MASK;
SDLK_F13 = SDL_SCANCODE_F13 or SDLK_SCANCODE_MASK;
SDLK_F14 = SDL_SCANCODE_F14 or SDLK_SCANCODE_MASK;
SDLK_F15 = SDL_SCANCODE_F15 or SDLK_SCANCODE_MASK;
SDLK_F16 = SDL_SCANCODE_F16 or SDLK_SCANCODE_MASK;
SDLK_F17 = SDL_SCANCODE_F17 or SDLK_SCANCODE_MASK;
SDLK_F18 = SDL_SCANCODE_F18 or SDLK_SCANCODE_MASK;
SDLK_F19 = SDL_SCANCODE_F19 or SDLK_SCANCODE_MASK;
SDLK_F20 = SDL_SCANCODE_F20 or SDLK_SCANCODE_MASK;
SDLK_F21 = SDL_SCANCODE_F21 or SDLK_SCANCODE_MASK;
SDLK_F22 = SDL_SCANCODE_F22 or SDLK_SCANCODE_MASK;
SDLK_F23 = SDL_SCANCODE_F23 or SDLK_SCANCODE_MASK;
SDLK_F24 = SDL_SCANCODE_F24 or SDLK_SCANCODE_MASK;
SDLK_EXECUTE = SDL_SCANCODE_EXECUTE or SDLK_SCANCODE_MASK;
SDLK_HELP = SDL_SCANCODE_HELP or SDLK_SCANCODE_MASK;
SDLK_MENU = SDL_SCANCODE_MENU or SDLK_SCANCODE_MASK;
SDLK_SELECT = SDL_SCANCODE_SELECT or SDLK_SCANCODE_MASK;
SDLK_STOP = SDL_SCANCODE_STOP or SDLK_SCANCODE_MASK;
SDLK_AGAIN = SDL_SCANCODE_AGAIN or SDLK_SCANCODE_MASK;
SDLK_UNDO = SDL_SCANCODE_UNDO or SDLK_SCANCODE_MASK;
SDLK_CUT = SDL_SCANCODE_CUT or SDLK_SCANCODE_MASK;
SDLK_COPY = SDL_SCANCODE_COPY or SDLK_SCANCODE_MASK;
SDLK_PASTE = SDL_SCANCODE_PASTE or SDLK_SCANCODE_MASK;
SDLK_FIND = SDL_SCANCODE_FIND or SDLK_SCANCODE_MASK;
SDLK_MUTE = SDL_SCANCODE_MUTE or SDLK_SCANCODE_MASK;
SDLK_VOLUMEUP = SDL_SCANCODE_VOLUMEUP or SDLK_SCANCODE_MASK;
SDLK_VOLUMEDOWN = SDL_SCANCODE_VOLUMEDOWN or SDLK_SCANCODE_MASK;
SDLK_KP_COMMA = SDL_SCANCODE_KP_COMMA or SDLK_SCANCODE_MASK;
SDLK_KP_EQUALSAS400 = SDL_SCANCODE_KP_EQUALSAS400 or SDLK_SCANCODE_MASK;
SDLK_ALTERASE = SDL_SCANCODE_ALTERASE or SDLK_SCANCODE_MASK;
SDLK_SYSREQ = SDL_SCANCODE_SYSREQ or SDLK_SCANCODE_MASK;
SDLK_CANCEL = SDL_SCANCODE_CANCEL or SDLK_SCANCODE_MASK;
SDLK_CLEAR = SDL_SCANCODE_CLEAR or SDLK_SCANCODE_MASK;
SDLK_PRIOR = SDL_SCANCODE_PRIOR or SDLK_SCANCODE_MASK;
SDLK_RETURN2 = SDL_SCANCODE_RETURN2 or SDLK_SCANCODE_MASK;
SDLK_SEPARATOR = SDL_SCANCODE_SEPARATOR or SDLK_SCANCODE_MASK;
SDLK_OUT = SDL_SCANCODE_OUT or SDLK_SCANCODE_MASK;
SDLK_OPER = SDL_SCANCODE_OPER or SDLK_SCANCODE_MASK;
SDLK_CLEARAGAIN = SDL_SCANCODE_CLEARAGAIN or SDLK_SCANCODE_MASK;
SDLK_CRSEL = SDL_SCANCODE_CRSEL or SDLK_SCANCODE_MASK;
SDLK_EXSEL = SDL_SCANCODE_EXSEL or SDLK_SCANCODE_MASK;
SDLK_KP_00 = SDL_SCANCODE_KP_00 or SDLK_SCANCODE_MASK;
SDLK_KP_000 = SDL_SCANCODE_KP_000 or SDLK_SCANCODE_MASK;
SDLK_THOUSANDSSEPARATOR = SDL_SCANCODE_THOUSANDSSEPARATOR or SDLK_SCANCODE_MASK;
SDLK_DECIMALSEPARATOR = SDL_SCANCODE_DECIMALSEPARATOR or SDLK_SCANCODE_MASK;
SDLK_CURRENCYUNIT = SDL_SCANCODE_CURRENCYUNIT or SDLK_SCANCODE_MASK;
SDLK_CURRENCYSUBUNIT = SDL_SCANCODE_CURRENCYSUBUNIT or SDLK_SCANCODE_MASK;
SDLK_KP_LEFTPAREN = SDL_SCANCODE_KP_LEFTPAREN or SDLK_SCANCODE_MASK;
SDLK_KP_RIGHTPAREN = SDL_SCANCODE_KP_RIGHTPAREN or SDLK_SCANCODE_MASK;
SDLK_KP_LEFTBRACE = SDL_SCANCODE_KP_LEFTBRACE or SDLK_SCANCODE_MASK;
SDLK_KP_RIGHTBRACE = SDL_SCANCODE_KP_RIGHTBRACE or SDLK_SCANCODE_MASK;
SDLK_KP_TAB = SDL_SCANCODE_KP_TAB or SDLK_SCANCODE_MASK;
SDLK_KP_BACKSPACE = SDL_SCANCODE_KP_BACKSPACE or SDLK_SCANCODE_MASK;
SDLK_KP_A = SDL_SCANCODE_KP_A or SDLK_SCANCODE_MASK;
SDLK_KP_B = SDL_SCANCODE_KP_B or SDLK_SCANCODE_MASK;
SDLK_KP_C = SDL_SCANCODE_KP_C or SDLK_SCANCODE_MASK;
SDLK_KP_D = SDL_SCANCODE_KP_D or SDLK_SCANCODE_MASK;
SDLK_KP_E = SDL_SCANCODE_KP_E or SDLK_SCANCODE_MASK;
SDLK_KP_F = SDL_SCANCODE_KP_F or SDLK_SCANCODE_MASK;
SDLK_KP_XOR = SDL_SCANCODE_KP_XOR or SDLK_SCANCODE_MASK;
SDLK_KP_POWER = SDL_SCANCODE_KP_POWER or SDLK_SCANCODE_MASK;
SDLK_KP_PERCENT = SDL_SCANCODE_KP_PERCENT or SDLK_SCANCODE_MASK;
SDLK_KP_LESS = SDL_SCANCODE_KP_LESS or SDLK_SCANCODE_MASK;
SDLK_KP_GREATER = SDL_SCANCODE_KP_GREATER or SDLK_SCANCODE_MASK;
SDLK_KP_AMPERSAND = SDL_SCANCODE_KP_AMPERSAND or SDLK_SCANCODE_MASK;
SDLK_KP_DBLAMPERSAND = SDL_SCANCODE_KP_DBLAMPERSAND or SDLK_SCANCODE_MASK;
SDLK_KP_VERTICALBAR = SDL_SCANCODE_KP_VERTICALBAR or SDLK_SCANCODE_MASK;
SDLK_KP_DBLVERTICALBAR = SDL_SCANCODE_KP_DBLVERTICALBAR or SDLK_SCANCODE_MASK;
SDLK_KP_COLON = SDL_SCANCODE_KP_COLON or SDLK_SCANCODE_MASK;
SDLK_KP_HASH = SDL_SCANCODE_KP_HASH or SDLK_SCANCODE_MASK;
SDLK_KP_SPACE = SDL_SCANCODE_KP_SPACE or SDLK_SCANCODE_MASK;
SDLK_KP_AT = SDL_SCANCODE_KP_AT or SDLK_SCANCODE_MASK;
SDLK_KP_EXCLAM = SDL_SCANCODE_KP_EXCLAM or SDLK_SCANCODE_MASK;
SDLK_KP_MEMSTORE = SDL_SCANCODE_KP_MEMSTORE or SDLK_SCANCODE_MASK;
SDLK_KP_MEMRECALL = SDL_SCANCODE_KP_MEMRECALL or SDLK_SCANCODE_MASK;
SDLK_KP_MEMCLEAR = SDL_SCANCODE_KP_MEMCLEAR or SDLK_SCANCODE_MASK;
SDLK_KP_MEMADD = SDL_SCANCODE_KP_MEMADD or SDLK_SCANCODE_MASK;
SDLK_KP_MEMSUBTRACT = SDL_SCANCODE_KP_MEMSUBTRACT or SDLK_SCANCODE_MASK;
SDLK_KP_MEMMULTIPLY = SDL_SCANCODE_KP_MEMMULTIPLY or SDLK_SCANCODE_MASK;
SDLK_KP_MEMDIVIDE = SDL_SCANCODE_KP_MEMDIVIDE or SDLK_SCANCODE_MASK;
SDLK_KP_PLUSMINUS = SDL_SCANCODE_KP_PLUSMINUS or SDLK_SCANCODE_MASK;
SDLK_KP_CLEAR = SDL_SCANCODE_KP_CLEAR or SDLK_SCANCODE_MASK;
SDLK_KP_CLEARENTRY = SDL_SCANCODE_KP_CLEARENTRY or SDLK_SCANCODE_MASK;
SDLK_KP_BINARY = SDL_SCANCODE_KP_BINARY or SDLK_SCANCODE_MASK;
SDLK_KP_OCTAL = SDL_SCANCODE_KP_OCTAL or SDLK_SCANCODE_MASK;
SDLK_KP_DECIMAL = SDL_SCANCODE_KP_DECIMAL or SDLK_SCANCODE_MASK;
SDLK_KP_HEXADECIMAL = SDL_SCANCODE_KP_HEXADECIMAL or SDLK_SCANCODE_MASK;
SDLK_LCTRL = SDL_SCANCODE_LCTRL or SDLK_SCANCODE_MASK;
SDLK_LSHIFT = SDL_SCANCODE_LSHIFT or SDLK_SCANCODE_MASK;
SDLK_LALT = SDL_SCANCODE_LALT or SDLK_SCANCODE_MASK;
SDLK_LGUI = SDL_SCANCODE_LGUI or SDLK_SCANCODE_MASK;
SDLK_RCTRL = SDL_SCANCODE_RCTRL or SDLK_SCANCODE_MASK;
SDLK_RSHIFT = SDL_SCANCODE_RSHIFT or SDLK_SCANCODE_MASK;
SDLK_RALT = SDL_SCANCODE_RALT or SDLK_SCANCODE_MASK;
SDLK_RGUI = SDL_SCANCODE_RGUI or SDLK_SCANCODE_MASK;
SDLK_MODE = SDL_SCANCODE_MODE or SDLK_SCANCODE_MASK;
SDLK_AUDIONEXT = SDL_SCANCODE_AUDIONEXT or SDLK_SCANCODE_MASK;
SDLK_AUDIOPREV = SDL_SCANCODE_AUDIOPREV or SDLK_SCANCODE_MASK;
SDLK_AUDIOSTOP = SDL_SCANCODE_AUDIOSTOP or SDLK_SCANCODE_MASK;
SDLK_AUDIOPLAY = SDL_SCANCODE_AUDIOPLAY or SDLK_SCANCODE_MASK;
SDLK_AUDIOMUTE = SDL_SCANCODE_AUDIOMUTE or SDLK_SCANCODE_MASK;
SDLK_MEDIASELECT = SDL_SCANCODE_MEDIASELECT or SDLK_SCANCODE_MASK;
SDLK_WWW = SDL_SCANCODE_WWW or SDLK_SCANCODE_MASK;
SDLK_MAIL = SDL_SCANCODE_MAIL or SDLK_SCANCODE_MASK;
SDLK_CALCULATOR = SDL_SCANCODE_CALCULATOR or SDLK_SCANCODE_MASK;
SDLK_COMPUTER = SDL_SCANCODE_COMPUTER or SDLK_SCANCODE_MASK;
SDLK_AC_SEARCH = SDL_SCANCODE_AC_SEARCH or SDLK_SCANCODE_MASK;
SDLK_AC_HOME = SDL_SCANCODE_AC_HOME or SDLK_SCANCODE_MASK;
SDLK_AC_BACK = SDL_SCANCODE_AC_BACK or SDLK_SCANCODE_MASK;
SDLK_AC_FORWARD = SDL_SCANCODE_AC_FORWARD or SDLK_SCANCODE_MASK;
SDLK_AC_STOP = SDL_SCANCODE_AC_STOP or SDLK_SCANCODE_MASK;
SDLK_AC_REFRESH = SDL_SCANCODE_AC_REFRESH or SDLK_SCANCODE_MASK;
SDLK_AC_BOOKMARKS = SDL_SCANCODE_AC_BOOKMARKS or SDLK_SCANCODE_MASK;
SDLK_BRIGHTNESSDOWN = SDL_SCANCODE_BRIGHTNESSDOWN or SDLK_SCANCODE_MASK;
SDLK_BRIGHTNESSUP = SDL_SCANCODE_BRIGHTNESSUP or SDLK_SCANCODE_MASK;
SDLK_DISPLAYSWITCH = SDL_SCANCODE_DISPLAYSWITCH or SDLK_SCANCODE_MASK;
SDLK_KBDILLUMTOGGLE = SDL_SCANCODE_KBDILLUMTOGGLE or SDLK_SCANCODE_MASK;
SDLK_KBDILLUMDOWN = SDL_SCANCODE_KBDILLUMDOWN or SDLK_SCANCODE_MASK;
SDLK_KBDILLUMUP = SDL_SCANCODE_KBDILLUMUP or SDLK_SCANCODE_MASK;
SDLK_EJECT = SDL_SCANCODE_EJECT or SDLK_SCANCODE_MASK;
SDLK_SLEEP = SDL_SCANCODE_SLEEP or SDLK_SCANCODE_MASK;
KMOD_NONE = $0000;
KMOD_LSHIFT = $0001;
KMOD_RSHIFT = $0002;
KMOD_LCTRL = $0040;
KMOD_RCTRL = $0080;
KMOD_LALT = $0100;
KMOD_RALT = $0200;
KMOD_LGUI = $0400;
KMOD_RGUI = $0800;
KMOD_NUM = $1000;
KMOD_CAPS = $2000;
KMOD_MODE = $4000;
KMOD_RESERVED = $8000;
KMOD_CTRL = KMOD_LCTRL or KMOD_RCTRL;
KMOD_SHIFT = KMOD_LSHIFT or KMOD_RSHIFT;
KMOD_ALT = KMOD_LALT or KMOD_RALT;
KMOD_GUI = KMOD_LGUI or KMOD_RGUI;
SDL_SYSTEM_CURSOR_ARROW = 0;
SDL_SYSTEM_CURSOR_IBEAM = 1;
SDL_SYSTEM_CURSOR_WAIT = 2;
SDL_SYSTEM_CURSOR_CROSSHAIR = 3;
SDL_SYSTEM_CURSOR_WAITARROW = 4;
SDL_SYSTEM_CURSOR_SIZENWSE = 5;
SDL_SYSTEM_CURSOR_SIZENESW = 6;
SDL_SYSTEM_CURSOR_SIZEWE = 7;
SDL_SYSTEM_CURSOR_SIZENS = 8;
SDL_SYSTEM_CURSOR_SIZEALL = 9;
SDL_SYSTEM_CURSOR_NO = 10;
SDL_SYSTEM_CURSOR_HAND = 11;
SDL_NUM_SYSTEM_CURSORS = 12;
SDL_BUTTON_LEFT = 1;
SDL_BUTTON_MIDDLE = 2;
SDL_BUTTON_RIGHT = 3;
SDL_BUTTON_X1 = 4;
SDL_BUTTON_X2 = 5;
SDL_BUTTON_LMASK = 1 shl ((SDL_BUTTON_LEFT) - 1);
SDL_BUTTON_MMASK = 1 shl ((SDL_BUTTON_MIDDLE) - 1);
SDL_BUTTON_RMASK = 1 shl ((SDL_BUTTON_RIGHT) - 1);
SDL_BUTTON_X1MASK = 1 shl ((SDL_BUTTON_X1) - 1);
SDL_BUTTON_X2MASK = 1 shl ((SDL_BUTTON_X2) - 1);
SDL_HAT_CENTERED = $00;
SDL_HAT_UP = $01;
SDL_HAT_RIGHT = $02;
SDL_HAT_DOWN = $04;
SDL_HAT_LEFT = $08;
SDL_HAT_RIGHTUP = SDL_HAT_RIGHT or SDL_HAT_UP;
SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN;
SDL_HAT_LEFTUP = SDL_HAT_LEFT or SDL_HAT_UP;
SDL_HAT_LEFTDOWN = SDL_HAT_LEFT or SDL_HAT_DOWN;
SDL_CONTROLLER_AXIS_INVALID = -1;
SDL_CONTROLLER_AXIS_LEFTX = 0;
SDL_CONTROLLER_AXIS_LEFTY = 1;
SDL_CONTROLLER_AXIS_RIGHTX = 2;
SDL_CONTROLLER_AXIS_RIGHTY = 3;
SDL_CONTROLLER_AXIS_TRIGGERLEFT = 4;
SDL_CONTROLLER_AXIS_TRIGGERRIGHT = 5;
SDL_CONTROLLER_AXIS_MAX = 6;
SDL_CONTROLLER_BUTTON_INVALID = -1;
SDL_CONTROLLER_BUTTON_A = 0;
SDL_CONTROLLER_BUTTON_B = 1;
SDL_CONTROLLER_BUTTON_X = 2;
SDL_CONTROLLER_BUTTON_Y = 3;
SDL_CONTROLLER_BUTTON_BACK = 4;
SDL_CONTROLLER_BUTTON_GUIDE = 5;
SDL_CONTROLLER_BUTTON_START = 6;
SDL_CONTROLLER_BUTTON_LEFTSTICK = 7;
SDL_CONTROLLER_BUTTON_RIGHTSTICK = 8;
SDL_CONTROLLER_BUTTON_LEFTSHOULDER = 9;
SDL_CONTROLLER_BUTTON_RIGHTSHOULDER = 10;
SDL_CONTROLLER_BUTTON_DPAD_UP = 11;
SDL_CONTROLLER_BUTTON_DPAD_DOWN = 12;
SDL_CONTROLLER_BUTTON_DPAD_LEFT = 13;
SDL_CONTROLLER_BUTTON_DPAD_RIGHT = 14;
SDL_CONTROLLER_BUTTON_MAX = 15;
SDL_HAPTIC_CONSTANT = (1 shl 0);
SDL_HAPTIC_SINE = (1 shl 1);
SDL_HAPTIC_SQUARE = (1 shl 2);
SDL_HAPTIC_TRIANGLE = (1 shl 3);
SDL_HAPTIC_SAWTOOTHUP = (1 shl 4);
SDL_HAPTIC_SAWTOOTHDOWN = (1 shl 5);
SDL_HAPTIC_RAMP = (1 shl 6);
SDL_HAPTIC_SPRING = (1 shl 7);
SDL_HAPTIC_DAMPER = (1 shl 8);
SDL_HAPTIC_INERTIA = (1 shl 9);
SDL_HAPTIC_FRICTION = (1 shl 10);
SDL_HAPTIC_CUSTOM = (1 shl 11);
SDL_HAPTIC_GAIN = (1 shl 12);
SDL_HAPTIC_AUTOCENTER = (1 shl 13);
SDL_HAPTIC_STATUS = (1 shl 14);
SDL_HAPTIC_PAUSE = (1 shl 15);
SDL_HAPTIC_POLAR = 0;
SDL_HAPTIC_CARTESIAN = 1;
SDL_HAPTIC_SPHERICAL = 2;
SDL_HAPTIC_INFINITY = 4294967295;
SDL_TOUCH_MOUSEID = UInt32(-1);
SDL_FIRSTEVENT = 0;
SDL_COMMONEVENT = 1;
SDL_QUITEV = $100;
SDL_APP_TERMINATING = $101;
SDL_APP_LOWMEMORY = $102;
SDL_APP_WILLENTERBACKGROUND = $103;
SDL_APP_DIDENTERBACKGROUND = $104;
SDL_APP_WILLENTERFOREGROUND = $105;
SDL_APP_DIDENTERFOREGROUND = $106;
SDL_WINDOWEVENT = $200;
SDL_SYSWMEVENT = $201;
SDL_KEYDOWN = $300;
SDL_KEYUP = $301;
SDL_TEXTEDITING = $302;
SDL_TEXTINPUT = $303;
SDL_MOUSEMOTION = $400;
SDL_MOUSEBUTTONDOWN = $401;
SDL_MOUSEBUTTONUP = $402;
SDL_MOUSEWHEEL = $403;
SDL_JOYAXISMOTION = $600;
SDL_JOYBALLMOTION = $601;
SDL_JOYHATMOTION = $602;
SDL_JOYBUTTONDOWN = $603;
SDL_JOYBUTTONUP = $604;
SDL_JOYDEVICEADDED = $605;
SDL_JOYDEVICEREMOVED = $606;
SDL_CONTROLLERAXISMOTION = $650;
SDL_CONTROLLERBUTTONDOWN = $651;
SDL_CONTROLLERBUTTONUP = $652;
SDL_CONTROLLERDEVICEADDED = $653;
SDL_CONTROLLERDEVICEREMOVED = $654;
SDL_CONTROLLERDEVICEREMAPPED = $655;
SDL_FINGERDOWN = $700;
SDL_FINGERUP = $701;
SDL_FINGERMOTION = $702;
SDL_DOLLARGESTURE = $800;
SDL_DOLLARRECORD = $801;
SDL_MULTIGESTURE = $802;
SDL_CLIPBOARDUPDATE = $900;
SDL_DROPFILE = $1000;
SDL_USEREVENT = $8000;
SDL_LASTEVENT = $FFFF;
SDL_TEXTEDITINGEVENT_TEXT_SIZE = 32;
SDL_TEXTINPUTEVENT_TEXT_SIZE = 32;
SDL_ADDEVENT = 0;
SDL_PEEKEVENT = 1;
SDL_GETEVENT = 2;
SDL_QUERY = -1;
SDL_IGNORE = 0;
SDL_DISABLE = 0;
SDL_ENABLE = 1;
SDL_INIT_TIMER = $00000001;
SDL_INIT_AUDIO = $00000010;
SDL_INIT_VIDEO = $00000020;
SDL_INIT_JOYSTICK = $00000200;
SDL_INIT_HAPTIC = $00001000;
SDL_INIT_GAMECONTROLLER = $00002000;
SDL_INIT_NOPARACHUTE = $00100000;
SDL_INIT_EVERYTHING = SDL_INIT_TIMER or SDL_INIT_AUDIO or SDL_INIT_VIDEO or SDL_INIT_JOYSTICK or SDL_INIT_HAPTIC or SDL_INIT_GAMECONTROLLER;
SDL_HINT_FRAMEBUFFER_ACCELERATION = 'SDL_FRAMEBUFFER_ACCELERATION';
SDL_HINT_RENDER_DRIVER = 'SDL_RENDER_DRIVER';
SDL_HINT_RENDER_OPENGL_SHADERS = 'SDL_RENDER_OPENGL_SHADERS';
SDL_HINT_RENDER_SCALE_QUALITY = 'SDL_RENDER_SCALE_QUALITY';
SDL_HINT_RENDER_VSYNC = 'SDL_RENDER_VSYNC';
SDL_HINT_VIDEO_X11_XVIDMODE = 'SDL_VIDEO_X11_XVIDMODE';
SDL_HINT_VIDEO_X11_XINERAMA = 'SDL_VIDEO_X11_XINERAMA';
SDL_HINT_VIDEO_X11_XRANDR = 'SDL_VIDEO_X11_XRANDR';
SDL_HINT_GRAB_KEYBOARD = 'SDL_GRAB_KEYBOARD';
SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = 'SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS';
SDL_HINT_IDLE_TIMER_DISABLED = 'SDL_IOS_IDLE_TIMER_DISABLED';
SDL_HINT_ORIENTATIONS = 'SDL_IOS_ORIENTATIONS';
SDL_HINT_XINPUT_ENABLED = 'SDL_XINPUT_ENABLED';
SDL_HINT_GAMECONTROLLERCONFIG = 'SDL_GAMECONTROLLERCONFIG';
SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = 'SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS';
SDL_HINT_ALLOW_TOPMOST = 'SDL_ALLOW_TOPMOST';
SDL_HINT_TIMER_RESOLUTION = 'SDL_TIMER_RESOLUTION';
SDL_HINT_RENDER_DIRECT3D_THREADSAFE = 'SDL_RENDER_DIRECT3D_THREADSAFE';
SDL_LIL_ENDIAN = 1234;
SDL_BIG_ENDIAN = 4321;
SDL_BYTEORDER = SDL_LIL_ENDIAN;
SDL_MESSAGEBOX_ERROR = $00000010;
SDL_MESSAGEBOX_WARNING = $00000020;
SDL_MESSAGEBOX_INFORMATION = $00000040;
SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = $00000001;
SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = $00000002;

Description

Functions and Procedures

procedure SDL_VERSION(x: PSDL_Version);

** * Macro to determine SDL version program was compiled against. * * This macro fills in a SDL_version structure with the version of the * library you compiled against. This is determined by what header the * compiler uses. Note that if you dynamically linked the library, you might * have a slightly newer or older version at runtime. That version can be * determined with SDL_GetVersion(), which, unlike SDL_VERSION(), * is not a macro. * * x A pointer to a SDL_version struct to initialize. * * SDL_version * SDL_GetVersion *

function SDL_VERSIONNUM(X,Y,Z: UInt32): Cardinal;

** * This macro turns the version numbers into a numeric value: * * (1,2,3) -> (1203) * * * This assumes that there will never be more than 100 patchlevels. *

function SDL_COMPILEDVERSION(): Cardinal;

** * This is the version number macro for the current SDL version. *

function SDL_VERSION_ATLEAST(X,Y,Z: Cardinal): Boolean;

** * This macro will evaluate to true if compiled with SDL at least X.Y.Z. *

procedure SDL_GetVersion(ver: PSDL_Version); cdecl; external SDL_LibName;

** * Get the version of SDL that is linked against your program. * * If you are linking to SDL dynamically, then it is possible that the * current version will be different than the version you compiled against. * This function returns the current version, while SDL_VERSION() is a * macro that tells you what version you compiled with. * * * compiled: TSDL_Version; * linked: TSDL_Version; * * SDL_VERSION(@compiled); * SDL_GetVersion(@linked); * WriteLn('We compiled against SDL version: ' + * IntToStr(compiled.major) + * IntToStr(compiled.minor) + * IntToStr(compiled.patch)); * WriteLn('But we linked against SDL version:' + * IntToStr(compiled.major) + * IntToStr(compiled.minor) + * IntToStr(compiled.patch)); * * * This function may be called safely at any time, even before SDL_Init(). * * SDL_VERSION *

function SDL_GetRevision(): PChar; cdecl; external SDL_LibName;

** * Get the code revision of SDL that is linked against your program. * * Returns an arbitrary string (a hash value) uniquely identifying the * exact revision of the SDL library in use, and is only useful in comparing * against other revisions. It is NOT an incrementing number. *

function SDL_GetRevisionNumber(): SInt32; cdecl; external SDL_LibName;

** * Get the revision number of SDL that is linked against your program. * * Returns a number uniquely identifying the exact revision of the SDL * library in use. It is an incrementing number based on commits to * hg.libsdl.org. *

function SDL_SetError(const fmt: PChar): SInt32; cdecl; external SDL_LibName;

* SDL_SetError() unconditionally returns -1. *

function SDL_GetError(): PChar; cdecl; external SDL_LibName;
procedure SDL_ClearError(); cdecl; external SDL_LibName;
function SDL_Error(code: TSDL_ErrorCode): SInt32; cdecl; external SDL_LibName;

* SDL_Error() unconditionally returns -1. *

function SDL_RWFromFile(const _file: PChar; const mode: PChar): PSDL_RWops; cdecl; external SDL_LibName;

** * RWFrom functions * * Functions to create SDL_RWops structures from various data streams. *

function SDL_RWFromFP(fp: Pointer; autoclose: TSDL_Bool): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_RWFromMem(mem: Pointer; size: SInt32): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_RWFromConstMem(const mem: Pointer; size: SInt32): PSDL_RWops; cdecl; external SDL_LibName;
function SDL_AllocRW(): PSDL_RWops; cdecl; external SDL_LibName;

*RWFrom functions*

procedure SDL_FreeRW(area: PSDL_RWops); cdecl; external SDL_LibName;
function SDL_RWsize(ctx: PSDL_RWops): SInt64;

** * Read/write macros * * Macros to easily read and write from an SDL_RWops structure. *

function SDL_RWseek(ctx: PSDL_RWops; offset: SInt64; whence: SInt32): SInt64;
function SDL_RWtell(ctx: PSDL_RWops): SInt64;
function SDL_RWread(ctx: PSDL_RWops; ptr: Pointer; size: size_t; n: size_t): size_t;
function SDL_RWwrite(ctx: PSDL_RWops; ptr: Pointer; size: size_t; n: size_t): size_t;
function SDL_RWclose(ctx: PSDL_RWops): SInt32;
function SDL_ReadU8(src: PSDL_RWops): UInt8; cdecl; external SDL_LibName;

** * Read endian functions * * Read an item of the specified endianness and return in native format. *

function SDL_ReadLE16(src: PSDL_RWops): UInt16; cdecl; external SDL_LibName;
function SDL_ReadBE16(src: PSDL_RWops): UInt16; cdecl; external SDL_LibName;
function SDL_ReadLE32(src: PSDL_RWops): UInt32; cdecl; external SDL_LibName;
function SDL_ReadBE32(src: PSDL_RWops): UInt32; cdecl; external SDL_LibName;
function SDL_ReadLE64(src: PSDL_RWops): UInt64; cdecl; external SDL_LibName;
function SDL_ReadBE64(src: PSDL_RWops): UInt64; cdecl; external SDL_LibName;
function SDL_WriteU8(dst: PSDL_RWops; value: UInt8): size_t; cdecl; external SDL_LibName;

** * Write endian functions * * Write an item of native format to the specified endianness. *

function SDL_WriteLE16(dst: PSDL_RWops; value: UInt16): size_t; cdecl; external SDL_LibName;
function SDL_WriteBE16(dst: PSDL_RWops; value: UInt16): size_t; cdecl; external SDL_LibName;
function SDL_WriteLE32(dst: PSDL_RWops; value: UInt32): size_t; cdecl; external SDL_LibName;
function SDL_WriteBE32(dst: PSDL_RWops; value: UInt32): size_t; cdecl; external SDL_LibName;
function SDL_WriteLE64(dst: PSDL_RWops; value: UInt64): size_t; cdecl; external SDL_LibName;
function SDL_WriteBE64(dst: PSDL_RWops; value: UInt64): size_t; cdecl; external SDL_LibName;
function SDL_AUDIO_BITSIZE(x: Cardinal): Cardinal;
function SDL_AUDIO_ISFLOAT(x: Cardinal): Cardinal;
function SDL_AUDIO_ISBIGENDIAN(x: Cardinal): Cardinal;
function SDL_AUDIO_ISSIGNED(x: Cardinal): Cardinal;
function SDL_AUDIO_ISINT(x: Cardinal): Cardinal;
function SDL_AUDIO_ISLITTLEENDIAN(x: Cardinal): Cardinal;
function SDL_AUDIO_ISUNSIGNED(x: Cardinal): Cardinal;
function SDL_GetNumAudioDrivers(): Integer; cdecl; external SDL_LibName;

** * Driver discovery functions * * These functions return the list of built in audio drivers, in the * order that they are normally initialized by default. *

function SDL_GetAudioDriver(index: Integer): PChar; cdecl; external SDL_LibName;
function SDL_AudioInit(driver_name: PChar): Integer; cdecl; external SDL_LibName;

** * Initialization and cleanup * * These functions are used internally, and should not be used unless * you have a specific need to specify the audio driver you want to * use. You should normally use SDL_Init() or SDL_InitSubSystem(). *

procedure SDL_AudioQuit(); cdecl; external SDL_LibName;
function SDL_GetCurrentAudioDriver(): PChar; cdecl; external SDL_LibName;

** * This function returns the name of the current audio driver, or NULL * if no driver has been initialized. *

function SDL_OpenAudio(desired: PSDL_AudioSpec; obtained: PSDL_AudioSpec): Integer; cdecl; external SDL_LibName;

** * This function opens the audio device with the desired parameters, and * returns 0 if successful, placing the actual hardware parameters in the * structure pointed to by obtained. If obtained is NULL, the audio * data passed to the callback function will be guaranteed to be in the * requested format, and will be automatically converted to the hardware * audio format if necessary. This function returns -1 if it failed * to open the audio device, or couldn't set up the audio thread. * * When filling in the desired audio spec structure, * - desired->freq should be the desired audio frequency in samples-per- * second. * - desired->format should be the desired audio format. * - desired->samples is the desired size of the audio buffer, in * samples. This number should be a power of two, and may be adjusted by * the audio driver to a value more suitable for the hardware. Good values * seem to range between 512 and 8096 inclusive, depending on the * application and CPU speed. Smaller values yield faster response time, * but can lead to underflow if the application is doing heavy processing * and cannot fill the audio buffer in time. A stereo sample consists of * both right and left channels in LR ordering. * Note that the number of samples is directly related to time by the * following formula: ms := (samples*1000)/freq; * - desired->size is the size in bytes of the audio buffer, and is * calculated by SDL_OpenAudio(). * - desired->silence is the value used to set the buffer to silence, * and is calculated by SDL_OpenAudio(). * - desired->callback should be set to a function that will be called * when the audio device is ready for more data. It is passed a pointer * to the audio buffer, and the length in bytes of the audio buffer. * This function usually runs in a separate thread, and so you should * protect data structures that it accesses by calling SDL_LockAudio() * and SDL_UnlockAudio() in your code. * - desired->userdata is passed as the first parameter to your callback * function. * * The audio device starts out playing silence when it's opened, and should * be enabled for playing by calling SDL_PauseAudio(0) when you are ready * for your audio callback function to be called. Since the audio driver * may modify the requested size of the audio buffer, you should allocate * any local mixing buffers after you open the audio device. *

function SDL_GetNumAudioDevices(iscapture: Integer): Integer; cdecl; external SDL_LibName;

** * Get the number of available devices exposed by the current driver. * Only valid after a successfully initializing the audio subsystem. * Returns -1 if an explicit list of devices can't be determined; this is * not an error. For example, if SDL is set up to talk to a remote audio * server, it can't list every one available on the Internet, but it will * still allow a specific host to be specified to SDL_OpenAudioDevice(). * * In many common cases, when this function returns a value <= 0, it can still * successfully open the default device (NULL for first argument of * SDL_OpenAudioDevice()). *

function SDL_GetAudioDeviceName(index: Integer; iscapture: Integer): PChar; cdecl; external SDL_LibName;

** * Get the human-readable name of a specific audio device. * Must be a value between 0 and (number of audio devices-1). * Only valid after a successfully initializing the audio subsystem. * The values returned by this function reflect the latest call to * SDL_GetNumAudioDevices(); recall that function to redetect available * hardware. * * The string returned by this function is UTF-8 encoded, read-only, and * managed internally. You are not to free it. If you need to keep the * string for any length of time, you should make your own copy of it, as it * will be invalid next time any of several other SDL functions is called. *

function SDL_OpenAudioDevice(device: PChar; iscapture: Integer; desired: PSDL_AudioSpec; obtained: PSDL_AudioSpec; allowed_changes: Integer): TSDL_AudioDeviceID; cdecl; external SDL_LibName;

** * Open a specific audio device. Passing in a device name of NULL requests * the most reasonable default (and is equivalent to calling SDL_OpenAudio()). * * The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but * some drivers allow arbitrary and driver-specific strings, such as a * hostname/IP address for a remote audio server, or a filename in the * diskaudio driver. * * 0 on error, a valid device ID that is >= 2 on success. * * SDL_OpenAudio(), unlike this function, always acts on device ID 1. *

function SDL_GetAudioStatus(): TSDL_AudioStatus; cdecl; external SDL_LibName;
function SDL_GetAudioDeviceStatus(dev: TSDL_AudioDeviceID): TSDL_AudioStatus; cdecl; external SDL_LibName;
procedure SDL_PauseAudio(pause_on: Integer); cdecl; external SDL_LibName;

** * Pause audio functions * * These functions pause and unpause the audio callback processing. * They should be called with a parameter of 0 after opening the audio * device to start playing sound. This is so you can safely initialize * data for your callback function after opening the audio device. * Silence will be written to the audio device during the pause. *

procedure SDL_PauseAudioDevice(dev: TSDL_AudioDeviceID; pause_on: Integer); cdecl; external SDL_LibName;
function SDL_LoadWAV_RW(src: PSDL_RWops; freesrc: Integer; spec: PSDL_AudioSpec; audio_buf: PPUInt8; audio_len: PUInt32): PSDL_AudioSpec; cdecl; external SDL_LibName;

** * This function loads a WAVE from the data source, automatically freeing * that source if freesrc is non-zero. For example, to load a WAVE file, * you could do: * * SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); * * * If this function succeeds, it returns the given SDL_AudioSpec, * filled with the audio data format of the wave data, and sets * *audio_buf to a malloc()'d buffer containing the audio data, * and sets *audio_len to the length of that audio buffer, in bytes. * You need to free the audio buffer with SDL_FreeWAV() when you are * done with it. * * This function returns NULL and sets the SDL error message if the * wave file cannot be opened, uses an unknown data format, or is * corrupt. Currently raw and MS-ADPCM WAVE files are supported. *

function SDL_LoadWAV(_file: PChar; spec: PSDL_AudioSpec; audio_buf: PPUInt8; audio_len: PUInt32): PSDL_AudioSpec;

** * Loads a WAV from a file. * Compatibility convenience function. *

procedure SDL_FreeWAV(audio_buf: PUInt8); cdecl; external SDL_LibName;

** * This function frees data previously allocated with SDL_LoadWAV_RW() *

function SDL_BuildAudioCVT(cvt: PSDL_AudioCVT; src_format: TSDL_AudioFormat; src_channels: UInt8; src_rate: Integer; dst_format: TSDL_AudioFormat; dst_channels: UInt8; dst_rate: Integer): Integer; cdecl; external SDL_LibName;

** * This function takes a source format and rate and a destination format * and rate, and initializes the cvt structure with information needed * by SDL_ConvertAudio() to convert a buffer of audio data from one format * to the other. * * -1 if the format conversion is not supported, 0 if there's * no conversion needed, or 1 if the audio filter is set up. *

function SDL_ConvertAudio(cvt: PSDL_AudioCVT): Integer; cdecl; external SDL_LibName;

** * Once you have initialized the cvt structure using SDL_BuildAudioCVT(), * created an audio buffer cvt->buf, and filled it with cvt->len bytes of * audio data in the source format, this function will convert it in-place * to the desired format. * * The data conversion may expand the size of the audio data, so the buffer * cvt->buf should be allocated after the cvt structure is initialized by * SDL_BuildAudioCVT(), and should be cvt->len*cvt->len_mult bytes long. *

procedure SDL_MixAudio(dst: PUInt8; src: PUInt8; len: UInt32; volume: Integer); cdecl; external SDL_LibName;

** * This takes two audio buffers of the playing audio format and mixes * them, performing addition, volume adjustment, and overflow clipping. * The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME * for full audio volume. Note this does not change hardware volume. * This is provided for convenience – you can mix your own audio data. *

procedure SDL_MixAudioFormat(dst: PUInt8; src: PUInt8; format: TSDL_AudioFormat; len: UInt32; volume: Integer); cdecl; external SDL_LibName;

** * This works like SDL_MixAudio(), but you specify the audio format instead of * using the format of audio device 1. Thus it can be used when no audio * device is open at all. *

procedure SDL_LockAudio(); cdecl; external SDL_LibName;

** * Audio lock functions * * The lock manipulated by these functions protects the callback function. * During a SDL_LockAudio()/SDL_UnlockAudio() pair, you can be guaranteed that * the callback function is not running. Do not call these from the callback * function or you will cause deadlock. *

procedure SDL_LockAudioDevice(dev: TSDL_AudioDeviceID); cdecl; external SDL_LibName;
procedure SDL_UnlockAudio(); cdecl; external SDL_LibName;
procedure SDL_UnlockAudioDevice(dev: TSDL_AudioDeviceID); cdecl; external SDL_LibName;
procedure SDL_CloseAudio(); cdecl; external SDL_LibName;

** * This function shuts down audio processing and closes the audio device. *

procedure SDL_CloseAudioDevice(dev: TSDL_AudioDeviceID); cdecl; external SDL_LibName;
function SDL_AudioDeviceConnected(dev: TSDL_AudioDeviceID): Integer; cdecl; external SDL_LibName;

** * 1 if audio device is still functioning, zero if not, -1 on error. *

function SDL_GetPowerInfo(secs: PInt; pct: PInt): TSDL_PowerState; cdecl; external SDL_LibName;

** * Get the current power supply details. * * secs Seconds of battery life left. You can pass a NULL here if * you don't care. Will return -1 if we can't determine a * value, or we're not running on a battery. * * pct Percentage of battery life left, between 0 and 100. You can * pass a NULL here if you don't care. Will return -1 if we * can't determine a value, or we're not running on a battery. * * The state of the battery (if any). *

function SDL_CreateThread(fn: TSDL_ThreadFunction; name: PChar; data: Pointer; pfnBeginThread: TpfnSDL_CurrentBeginThread; pfnEndThread: TpfnSDL_CurrentEndThread): PSDL_Thread; cdecl; overload; external SDL_LibName;

** * Create a thread. *

function SDL_CreateThread(fn: TSDL_ThreadFunction; name: PChar; data: Pointer): PSDL_Thread; overload;

** * Create a thread. *

function SDL_GetThreadName(thread: PSDL_Thread): PChar; cdecl; external SDL_LibName;

** * Get the thread name, as it was specified in SDL_CreateThread(). * This function returns a pointer to a UTF-8 string that names the * specified thread, or NULL if it doesn't have a name. This is internal * memory, not to be free()'d by the caller, and remains valid until the * specified thread is cleaned up by SDL_WaitThread(). *

function SDL_ThreadID(): TSDL_ThreadID; cdecl; external SDL_LibName;

** * Get the thread identifier for the current thread. *

function SDL_GetThreadID(thread: PSDL_Thread): TSDL_ThreadID; cdecl; external SDL_LibName;

** * Get the thread identifier for the specified thread. * * Equivalent to SDL_ThreadID() if the specified thread is NULL. *

function SDL_SetThreadPriority(priority: TSDL_ThreadPriority): SInt32; cdecl; external SDL_LibName;

** * Set the priority for the current thread *

procedure SDL_WaitThread(thread: PSDL_Thread; status: PInt); cdecl; external SDL_LibName;

** * Wait for a thread to finish. * * The return code for the thread function is placed in the area * pointed to by status, if status is not NULL. *

function SDL_TLSCreate(): TSDL_TLSID; cdecl; external SDL_LibName;

* * SDL_TLSGet() * SDL_TLSSet() *

function SDL_TLSGet(id: TSDL_TLSID): Pointer; cdecl; external SDL_LibName;

** * Get the value associated with a thread local storage ID for the current thread. * * id The thread local storage ID * * The value associated with the ID for the current thread, or NULL if no value has been set. * * SDL_TLSCreate() * SDL_TLSSet() *

function SDL_TLSSet(id: TSDL_TLSID; value: Pointer; destructor_: Pointer): SInt32; cdecl; external SDL_LibName;

** * Set the value associated with a thread local storage ID for the current thread. * * id The thread local storage ID * value The value to associate with the ID for the current thread * destructor_ A function called when the thread exits, to free the value. * * 0 on success, -1 on error * * SDL_TLSCreate() * SDL_TLSGet() *

function SDL_CreateMutex(): PSDL_Mutex; cdecl; external SDL_LibName;

** * Create a mutex, initialized unlocked. *

function SDL_LockMutex(mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;

#define SDL_mutexP(m) SDL_LockMutex(m)

function SDL_TryLockMutex(mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;

** * Try to lock the mutex * * 0, SDL_MUTEX_TIMEDOUT, or -1 on error *

function SDL_UnlockMutex(mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;

#define SDL_mutexV(m) SDL_UnlockMutex(m)

procedure SDL_DestroyMutex(mutex: PSDL_Mutex); cdecl; external SDL_LibName;

** * Destroy a mutex. *

function SDL_CreateSemaphore(initial_value: UInt32): PSDL_sem; cdecl; external SDL_LibName;

** * Create a semaphore, initialized with value, returns NULL on failure. *

procedure SDL_DestroySemaphore(sem: PSDL_Sem); cdecl; external SDL_LibName;

** * Destroy a semaphore. *

function SDL_SemWait(sem: PSDL_Sem): SInt32; cdecl; external SDL_LibName;

** * This function suspends the calling thread until the semaphore pointed * to by sem has a positive count. It then atomically decreases the * semaphore count. *

function SDL_SemTryWait(sem: PSDL_Sem): SInt32; cdecl; external SDL_LibName;

** * Non-blocking variant of SDL_SemWait(). * * 0 if the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait would * block, and -1 on error. *

function SDL_SemWaitTimeout(sem: PSDL_Sem; ms: UInt32): SInt32; cdecl; external SDL_LibName;

** * Variant of SDL_SemWait() with a timeout in milliseconds. * * 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not * succeed in the allotted time, and -1 on error. * * On some platforms this function is implemented by looping with a * delay of 1 ms, and so should be avoided if possible. *

function SDL_SemPost(sem: PSDL_Sem): SInt32; cdecl; external SDL_LibName;

** * Atomically increases the semaphore's count (not blocking). * * 0, or -1 on error. *

function SDL_SemValue(sem: PSDL_Sem): UInt32; cdecl; external SDL_LibName;

** * Returns the current count of the semaphore. *

function SDL_CreateCond(): PSDL_Cond; cdecl; external SDL_LibName;

** * Create a condition variable. * * Typical use of condition variables: * * Thread A: * SDL_LockMutex(lock); * while ( not condition ) * begin * SDL_CondWait(cond, lock); * end; * SDL_UnlockMutex(lock); * * Thread B: * SDL_LockMutex(lock); * ... * condition := true; * ... * SDL_CondSignal(cond); * SDL_UnlockMutex(lock); * * There is some discussion whether to signal the condition variable * with the mutex locked or not. There is some potential performance * benefit to unlocking first on some platforms, but there are some * potential race conditions depending on how your code is structured. * * In general it's safer to signal the condition variable while the * mutex is locked. *

procedure SDL_DestroyCond(cond: PSDL_Cond); cdecl; external SDL_LibName;

** * Destroy a condition variable. *

function SDL_CondSignal(cond: PSDL_Cond): SInt32; cdecl; external SDL_LibName;

** * Restart one of the threads that are waiting on the condition variable. * * 0 or -1 on error. *

function SDL_CondBroadcast(cond: PSDL_Cond): SInt32; cdecl; external SDL_LibName;

** * Restart all threads that are waiting on the condition variable. * * 0 or -1 on error. *

function SDL_CondWait(cond: PSDL_Cond; mutex: PSDL_Mutex): SInt32; cdecl; external SDL_LibName;

** * Wait on the condition variable, unlocking the provided mutex. * * The mutex must be locked before entering this function! * * The mutex is re-locked once the condition variable is signaled. * * 0 when it is signaled, or -1 on error. *

function SDL_CondWaitTimeout(cond: PSDL_Cond; mutex: PSDL_Mutex; ms: UInt32): SInt32; cdecl; external SDL_LibName;

** * Waits for at most ms milliseconds, and returns 0 if the condition * variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not * signaled in the allotted time, and -1 on error. * * On some platforms this function is implemented by looping with a * delay of 1 ms, and so should be avoided if possible. *

function SDL_GetTicks(): UInt32; cdecl; external SDL_LibName;

** * Get the number of milliseconds since the SDL library initialization. * * This value wraps if the program runs for more than ˜49 days. *

function SDL_GetPerformanceCounter(): UInt64; cdecl; external SDL_LibName;

** * Get the current value of the high resolution counter *

function SDL_GetPerformanceFrequency(): UInt64; cdecl; external SDL_LibName;

** * Get the count per second of the high resolution counter *

procedure SDL_Delay(ms: UInt32); cdecl; external SDL_LibName;

** * Wait a specified number of milliseconds before returning. *

function SDL_AddTimer(interval: UInt32; callback: TSDL_TimerCallback; param: Pointer): TSDL_TimerID; cdecl; external SDL_LibName;

** * Add a new timer to the pool of timers already running. * * A timer ID, or NULL when an error occurs. *

function SDL_RemoveTimer(id: TSDL_TimerID): Boolean; cdecl; external SDL_LibName;

** * Remove a timer knowing its ID. * * A boolean value indicating success or failure. * * It is not safe to remove a timer multiple times. *

function SDL_PIXELFLAG(X: Cardinal): Boolean;

//todo!! function SDL_DEFINE_PIXELFORMAT(type, order, layour, bit, bytes: UInt32): Result;

function SDL_DEFINE_PIXELFOURCC(A,B,C,D: Variant): Variant;

#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \ ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \ ((bits) << 8) | ((bytes) << 0))

function SDL_PIXELTYPE(X: Cardinal): Boolean;
function SDL_PIXELORDER(X: Cardinal): Boolean;
function SDL_PIXELLAYOUT(X: Cardinal): Boolean;
function SDL_BITSPERPIXEL(X: Cardinal): Boolean;
function SDL_BYTESPERPIXEL(X: Integer): Integer;
function SDL_GetPixelFormatName(format: UInt32): PChar; cdecl; external SDL_LibName;

** * Get the human readable name of a pixel format *

function SDL_PixelFormatEnumToMasks(format: UInt32; bpp: PInt; Rmask: PUInt32; Gmask: PUInt32; Bmask: PUInt32; Amask: PUInt32): TSDL_Bool; cdecl; external SDL_LibName;

** * Convert one of the enumerated pixel formats to a bpp and RGBA masks. * * SDL_TRUE, or SDL_FALSE if the conversion wasn't possible. * * SDL_MasksToPixelFormatEnum() *

function SDL_MasksToPixelFormatEnum(bpp: SInt32; Rmask: UInt32; Gmask: UInt32; Bmask: UInt32; Amask: UInt32): UInt32; cdecl; external SDL_LibName;

** * Convert a bpp and RGBA masks to an enumerated pixel format. * * The pixel format, or SDL_PIXELFORMAT_UNKNOWN if the conversion * wasn't possible. * * SDL_PixelFormatEnumToMasks() *

function SDL_AllocFormat(pixel_format: UInt32): PSDL_PixelFormat; cdecl; external SDL_LibName;

** * Create an SDL_PixelFormat structure from a pixel format enum. *

procedure SDL_FreeFormat(format: PSDL_PixelFormat); cdecl; external SDL_LibName;

** * Free an SDL_PixelFormat structure. *

function SDL_AllocPalette(ncolors: SInt32): PSDL_Palette; cdecl; external SDL_LibName;

** * Create a palette structure with the specified number of color * entries. * * A new palette, or nil if there wasn't enough memory. * * The palette entries are initialized to white. * * SDL_FreePalette() *

function SDL_SetPixelFormatPalette(format: PSDL_PixelFormat; palette: PSDL_Palette): SInt32; cdecl; external SDL_LibName;

** * Set the palette for a pixel format structure. *

function SDL_SetPaletteColors(palette: PSDL_Palette; const colors: PSDL_Color; firstcolor: SInt32; ncolors: SInt32): SInt32; cdecl; external SDL_LibName;

** * Set a range of colors in a palette. * * palette The palette to modify. * colors An array of colors to copy into the palette. * firstcolor The index of the first palette entry to modify. * ncolors The number of entries to modify. * * 0 on success, or -1 if not all of the colors could be set. *

procedure SDL_FreePalette(palette: PSDL_Palette); cdecl; external SDL_LibName;

** * Free a palette created with SDL_AllocPalette(). * * SDL_AllocPalette() *

function SDL_MapRGB(const format: PSDL_PixelFormat; r: UInt8; g: UInt8; b: UInt8): UInt32; cdecl; external SDL_LibName;

** * Maps an RGB triple to an opaque pixel value for a given pixel format. * * SDL_MapRGBA *

function SDL_MapRGBA(const format: PSDL_PixelFormat; r: UInt8; g: UInt8; b: UInt8; a: UInt8): UInt32; cdecl; external SDL_LibName;

** * Maps an RGBA quadruple to a pixel value for a given pixel format. * * SDL_MapRGB *

procedure SDL_GetRGB(pixel: UInt32; const format: PSDL_PixelFormat; r: PUInt8; g: PUInt8; b: PUInt8); cdecl; external SDL_LibName;

** * Get the RGB components from a pixel of the specified format. * * SDL_GetRGBA *

procedure SDL_GetRGBA(pixel: UInt32; const format: PSDL_PixelFormat; r: PUInt8; g: PUInt8; b: PUInt8; a: PUInt8); cdecl; external SDL_LibName;

** * Get the RGBA components from a pixel of the specified format. * * SDL_GetRGB *

procedure SDL_CalculateGammaRamp(gamma: Float; ramp: PUInt16); cdecl; external SDL_LibName;

** * Calculate a 256 entry gamma ramp for a gamma value. *

function SDL_RectEmpty(X: TSDL_Rect): Boolean;

changed from variant(b?????h!) to TSDL_Rect maybe PSDL_Rect?

function SDL_RectEquals(A: TSDL_Rect; B: TSDL_Rect): Boolean;

** * Returns true if the two rectangles are equal. *

function SDL_HasIntersection(const A: PSDL_Rect; const B: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;

** * Determine whether two rectangles intersect. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *

function SDL_IntersectRect(const A: PSDL_Rect; const B: PSDL_Rect; result: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;

** * Calculate the intersection of two rectangles. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *

procedure SDL_UnionRect(const A: PSDL_Rect; const B: PSDL_Rect; result: PSDL_Rect); cdecl; external SDL_LibName;

** * Calculate the union of two rectangles. *

function SDL_EnclosePoints(const points: PSDL_Point; count: SInt32; const clip: PSDL_Rect; result: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;

** * Calculate a minimal rectangle enclosing a set of points * * SDL_TRUE if any points were within the clipping rect *

function SDL_IntersectRectAndLine(const rect: PSDL_Rect; X1: PInt; Y1: PInt; X2: PInt; Y2: PInt): TSDL_Bool; cdecl; external SDL_LibName;

** * Calculate the intersection of a rectangle and line segment. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *

function SDL_CreateRGBSurface(flags: UInt32; width: SInt32; height: SInt32; depth: SInt32; Rmask: UInt32; Gmask: UInt32; Bmask: UInt32; Amask: UInt32): PSDL_Surface; cdecl; external SDL_LibName;

** * Allocate and free an RGB surface. * * If the depth is 4 or 8 bits, an empty palette is allocated for the surface. * If the depth is greater than 8 bits, the pixel format is set using the * flags '[RGB]mask'. * * If the function runs out of memory, it will return NULL. * * flags The flags are obsolete and should be set to 0. *

function SDL_CreateRGBSurfaceFrom(pixels: Pointer; width: SInt32; height: SInt32; depth: SInt32; pitch: SInt32; Rmask: UInt32; Gmask: UInt32; Bmask: UInt32; Amask: UInt32): PSDL_Surface; cdecl; external SDL_LibName;
procedure SDL_FreeSurface(surface: PSDL_Surface); cdecl; external SDL_LibName;
function SDL_SetSurfacePalette(surface: PSDL_Surface; palette: PSDL_Palette): SInt32; cdecl; external SDL_LibName;

** * Set the palette used by a surface. * * 0, or -1 if the surface format doesn't use a palette. * * A single palette can be shared with many surfaces. *

function SDL_LockSurface(surface: PSDL_Surface): SInt32; cdecl; external SDL_LibName;

** * Sets up a surface for directly accessing the pixels. * * Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write * to and read from surface.pixels, using the pixel format stored in * surface.format. Once you are done accessing the surface, you should * use SDL_UnlockSurface() to release it. * * Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates * to 0, then you can read and write to the surface at any time, and the * pixel format of the surface will not change. * * No operating system or library calls should be made between lock/unlock * pairs, as critical system locks may be held during this time. * * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. * * SDL_UnlockSurface() *

procedure SDL_UnlockSurface(surface: PSDL_Surface); cdecl; external SDL_LibName;

** SDL_LockSurface() *

function SDL_LoadBMP_RW(src: PSDL_RWops; freesrc: SInt32): PSDL_Surface; cdecl; external SDL_LibName;

** * Load a surface from a seekable SDL data stream (memory or file). * * If freesrc is non-zero, the stream will be closed after being read. * * The new surface should be freed with SDL_FreeSurface(). * * the new surface, or NULL if there was an error. *

function SDL_LoadBMP(_file: PChar): PSDL_Surface;

** * Load a surface from a file. * * Convenience macro. *

function SDL_SaveBMP_RW(surface: PSDL_Surface; dst: PSDL_RWops; freedst: SInt32): SInt32; cdecl; external SDL_LibName;

** * Save a surface to a seekable SDL data stream (memory or file). * * If freedst is non-zero, the stream will be closed after being written. * * 0 if successful or -1 if there was an error. *

function SDL_SaveBMP(surface: PSDL_Surface; _file: PChar): SInt32;

** * Save a surface to a file. * * Convenience macro. *

function SDL_SetSurfaceRLE(surface: PSDL_Surface; flag: SInt32): SInt32; cdecl; external SDL_LibName;

** * Sets the RLE acceleration hint for a surface. * * 0 on success, or -1 if the surface is not valid * * If RLE is enabled, colorkey and alpha blending blits are much faster, * but the surface must be locked before directly accessing the pixels. *

function SDL_SetColorKey(surface: PSDL_Surface; flag: SInt32; key: UInt32): SInt32; cdecl; external SDL_LibName;

** * Sets the color key (transparent pixel) in a blittable surface. * * surface The surface to update * flag Non-zero to enable colorkey and 0 to disable colorkey * key The transparent pixel in the native surface format * * 0 on success, or -1 if the surface is not valid * * You can pass SDL_RLEACCEL to enable RLE accelerated blits. *

function SDL_GetColorKey(surface: PSDL_Surface; key: PUInt32): SInt32; cdecl; external SDL_LibName;

** * Gets the color key (transparent pixel) in a blittable surface. * * surface The surface to update * key A pointer filled in with the transparent pixel in the native * surface format * * 0 on success, or -1 if the surface is not valid or colorkey is not * enabled. *

function SDL_SetSurfaceColorMod(surface: PSDL_Surface; r: UInt8; g: UInt8; b: UInt8): SInt32; cdecl; external SDL_LibName;

** * Set an additional color value used in blit operations. * * surface The surface to update. * r The red color value multiplied into blit operations. * g The green color value multiplied into blit operations. * b The blue color value multiplied into blit operations. * * 0 on success, or -1 if the surface is not valid. * * SDL_GetSurfaceColorMod() *

function SDL_GetSurfaceColorMod(surface: PSDL_Surface; r: PUInt8; g: PUInt8; b: PUInt8): SInt32; cdecl; external SDL_LibName;

** * Get the additional color value used in blit operations. * * surface The surface to query. * r A pointer filled in with the current red color value. * g A pointer filled in with the current green color value. * b A pointer filled in with the current blue color value. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceColorMod() *

function SDL_SetSurfaceAlphaMod(surface: PSDL_Surface; alpha: UInt8): SInt32; cdecl; external SDL_LibName;

** * Set an additional alpha value used in blit operations. * * surface The surface to update. * alpha The alpha value multiplied into blit operations. * * 0 on success, or -1 if the surface is not valid. * * SDL_GetSurfaceAlphaMod() *

function SDL_GetSurfaceAlphaMod(surface: PSDL_Surface; alpha: PUInt8): SInt32; cdecl; external SDL_LibName;

** * Get the additional alpha value used in blit operations. * * surface The surface to query. * alpha A pointer filled in with the current alpha value. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceAlphaMod() *

function SDL_SetSurfaceBlendMode(surface: PSDL_Surface; blendMode: TSDL_BlendMode): SInt32; cdecl; external SDL_LibName;

** * Set the blend mode used for blit operations. * * surface The surface to update. * blendMode ::SDL_BlendMode to use for blit blending. * * 0 on success, or -1 if the parameters are not valid. * * SDL_GetSurfaceBlendMode() *

function SDL_GetSurfaceBlendMode(surface: PSDL_Surface; blendMode: PSDL_BlendMode): SInt32; cdecl; external SDL_LibName;

** * Get the blend mode used for blit operations. * * surface The surface to query. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceBlendMode() *

function SDL_SetClipRect(surface: PSDL_Surface; const rect: PSDL_Rect): TSDL_Bool; cdecl; external SDL_LibName;

** * Sets the clipping rectangle for the destination surface in a blit. * * If the clip rectangle is NULL, clipping will be disabled. * * If the clip rectangle doesn't intersect the surface, the function will * return SDL_FALSE and blits will be completely clipped. Otherwise the * function returns SDL_TRUE and blits to the surface will be clipped to * the intersection of the surface area and the clipping rectangle. * * Note that blits are automatically clipped to the edges of the source * and destination surfaces. *

procedure SDL_GetClipRect(surface: PSDL_Surface; rect: PSDL_Rect); cdecl; external SDL_LibName;

** * Gets the clipping rectangle for the destination surface in a blit. * * rect must be a pointer to a valid rectangle which will be filled * with the correct values. *

function SDL_ConvertSurface(src: PSDL_Surface; fmt: PSDL_PixelFormat; flags: UInt32): PSDL_Surface; cdecl; external SDL_LibName;

** * Creates a new surface of the specified format, and then copies and maps * the given surface to it so the blit of the converted surface will be as * fast as possible. If this function fails, it returns NULL. * * The flags parameter is passed to SDL_CreateRGBSurface() and has those * semantics. You can also pass SDL_RLEACCEL in the flags parameter and * SDL will try to RLE accelerate colorkey and alpha blits in the resulting * surface. *

function SDL_ConvertSurfaceFormat(src: PSDL_Surface; pixel_format: UInt32; flags: UInt32): PSDL_Surface; cdecl; external SDL_LibName;
function SDL_ConvertPixels(width: SInt32; height: SInt32; src_format: UInt32; const src: Pointer; src_pitch: SInt32; dst_format: UInt32; dst: Pointer; dst_pitch: SInt32): SInt32; cdecl; external SDL_LibName;

** * Copy a block of pixels of one format to another format * * 0 on success, or -1 if there was an error *

function SDL_FillRect(dst: PSDL_Surface; const rect: PSDL_Rect; color: UInt32): SInt32; cdecl; external SDL_LibName;

** * Performs a fast fill of the given rectangle with color. * * If rect is NULL, the whole surface will be filled with color. * * The color should be a pixel of the format used by the surface, and * can be generated by the SDL_MapRGB() function. * * 0 on success, or -1 on error. *

function SDL_FillRects(dst: PSDL_Surface; const rects: PSDL_Rect; count: SInt32; color: UInt32): SInt32; cdecl; external SDL_LibName;
function SDL_UpperBlit(src: PSDL_Surface; const srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * This is the public blit function, SDL_BlitSurface(), and it performs * rectangle validation and clipping before passing it to SDL_LowerBlit() *

function SDL_LowerBlit(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * This is a semi-private blit function and it performs low-level surface * blitting only. *

function SDL_SoftStretch(src: PSDL_Surface; const srcrect: PSDL_Rect; dst: PSDL_Surface; const dstrect: PSDL_Surface): SInt32; cdecl; external SDL_LibName;

** * Perform a fast, low quality, stretch blit between two surfaces of the * same pixel format. * * This function uses a static buffer, and is not thread-safe. *

function SDL_UpperBlitScaled(src: PSDL_Surface; const srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * This is the public scaled blit function, SDL_BlitScaled(), and it performs * rectangle validation and clipping before passing it to SDL_LowerBlitScaled() *

function SDL_LowerBlitScaled(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * This is a semi-private blit function and it performs low-level surface * scaled blitting only. *

function SDL_GetShapedWindowMode(window: PSDL_Window; shape_mode: TSDL_WindowShapeMode): SInt32; cdecl; external SDL_LibName;

** * Get the shape parameters of a shaped window. * * window The shaped window whose parameters should be retrieved. * shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape. * * 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode * data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if * the SDL_Window* given is a shapeable window currently lacking a shape. * * SDL_WindowShapeMode * SDL_SetWindowShape *

function SDL_SetWindowShape(window: PSDL_Window; shape: PSDL_Surface; shape_mode: PSDL_WindowShapeMode): SInt32; cdecl; external SDL_LibName;

** * Set the shape and parameters of a shaped window. * * window The shaped window whose parameters should be set. * shape A surface encoding the desired shape for the window. * shape_mode The parameters to set for the shaped window. * * 0 on success, SDL_INVALID_SHAPE_ARGUMENT on invalid an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW * if the SDL_Window* given does not reference a valid shaped window. * * SDL_WindowShapeMode * SDL_GetShapedWindowMode. *

function SDL_CreateShapedWindow(title: PChar; x: UInt32; y: UInt32; w: UInt32; h: UInt32; flags: UInt32): PSDL_Window; cdecl; external SDL_LibName;

** * Create a window that can be shaped with the specified position, dimensions, and flags. * * title The title of the window, in UTF-8 encoding. * x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * w The width of the window. * h The height of the window. * flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: * SDL_WINDOW_OPENGL, SDL_WINDOW_INPUT_GRABBED, * SDL_WINDOW_SHOWN, SDL_WINDOW_RESIZABLE, * SDL_WINDOW_MAXIMIZED, SDL_WINDOW_MINIMIZED, * SDL_WINDOW_BORDERLESS is always set, and SDL_WINDOW_FULLSCREEN is always unset. * * The window created, or NULL if window creation failed. * * SDL_DestroyWindow() *

function SDL_IsShapedWindow(window: PSDL_Window): TSDL_Bool; cdecl; external SDL_LibName;

** * Return whether the given window is a shaped window. * * window The window to query for being shaped. * * SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL. * SDL_CreateShapedWindow *

function SDL_WindowPos_IsUndefined(X: Variant): Variant;
function SDL_WindowPos_IsCentered(X: Variant): Variant;
function SDL_GetNumVideoDrivers(): SInt32; cdecl; external SDL_LibName;

** * Get the number of video drivers compiled into SDL * * SDL_GetVideoDriver() *

function SDL_GetVideoDriver(index: SInt32): PChar; cdecl; external SDL_LibName;

** * Get the name of a built in video driver. * * The video drivers are presented in the order in which they are * normally checked during initialization. * * SDL_GetNumVideoDrivers() *

function SDL_VideoInit(const driver_name: PChar): SInt32; cdecl; external SDL_LibName;

** * Initialize the video subsystem, optionally specifying a video driver. * * driver_name Initialize a specific driver by name, or nil for the * default video driver. * * 0 on success, -1 on error * * This function initializes the video subsystem; setting up a connection * to the window manager, etc, and determines the available display modes * and pixel formats, but does not initialize a window or graphics mode. * * SDL_VideoQuit() *

procedure SDL_VideoQuit(); cdecl; external SDL_LibName;

** * Shuts down the video subsystem. * * function closes all windows, and restores the original video mode. * * SDL_VideoInit() *

function SDL_GetCurrentVideoDriver(): PChar; cdecl; external SDL_LibName;

** * Returns the name of the currently initialized video driver. * * The name of the current video driver or nil if no driver * has been initialized * * SDL_GetNumVideoDrivers() * SDL_GetVideoDriver() *

function SDL_GetNumVideoDisplays(): SInt32; cdecl; external SDL_LibName;

** * Returns the number of available video displays. * * SDL_GetDisplayBounds() *

function SDL_GetDisplayName(displayIndex: SInt32): PChar; cdecl; external SDL_LibName;

** * Get the name of a display in UTF-8 encoding * * The name of a display, or nil for an invalid display index. * * SDL_GetNumVideoDisplays() *

function SDL_GetDisplayBounds(displayIndex: SInt32; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * Get the desktop area represented by a display, with the primary * display located at 0,0 * * 0 on success, or -1 if the index is out of range. * * SDL_GetNumVideoDisplays() *

function SDL_GetNumDisplayModes(displayIndex: SInt32): SInt32; cdecl; external SDL_LibName;

** * Returns the number of available display modes. * * SDL_GetDisplayMode() *

function SDL_GetDisplayMode(displayIndex: SInt32; modeIndex: SInt32; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;

** * Fill in information about a specific display mode. * * The display modes are sorted in this priority: * bits per pixel -> more colors to fewer colors * width -> largest to smallest * height -> largest to smallest * refresh rate -> highest to lowest * * SDL_GetNumDisplayModes() *

function SDL_GetDesktopDisplayMode(displayIndex: SInt32; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;

** * Fill in information about the desktop display mode. *

function SDL_GetCurrentDisplayMode(displayIndex: SInt32; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;

** * Fill in information about the current display mode. *

function SDL_GetClosestDisplayMode(displayIndex: SInt32; const mode: PSDL_DisplayMode; closest: PSDL_DisplayMode): PSDL_DisplayMode; cdecl; external SDL_LibName;

** * Get the closest match to the requested display mode. * * mode The desired display mode * closest A pointer to a display mode to be filled in with the closest * match of the available display modes. * * The passed in value closest, or nil if no matching video mode * was available. * * The available display modes are scanned, and closest is filled in with the * closest mode matching the requested mode and returned. The mode format and * refresh_rate default to the desktop mode if they are 0. The modes are * scanned with size being first priority, format being second priority, and * finally checking the refresh_rate. If all the available modes are too * small, then nil is returned. * * SDL_GetNumDisplayModes() * SDL_GetDisplayMode() *

function SDL_GetWindowDisplayIndex(window: PSDL_Window): SInt32; cdecl; external SDL_LibName;

** * Get the display index associated with a window. * * the display index of the display containing the center of the * window, or -1 on error. *

function SDL_SetWindowDisplayMode(window: PSDL_Window; const mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;

** * Set the display mode used when a fullscreen window is visible. * * By default the window's dimensions and the desktop format and refresh rate * are used. * * mode The mode to use, or nil for the default mode. * * 0 on success, or -1 if setting the display mode failed. * * SDL_GetWindowDisplayMode() * SDL_SetWindowFullscreen() *

function SDL_GetWindowDisplayMode(window: PSDL_Window; mode: PSDL_DisplayMode): SInt32; cdecl; external SDL_LibName;

** * Fill in information about the display mode used when a fullscreen * window is visible. * * SDL_SetWindowDisplayMode() * SDL_SetWindowFullscreen() *

function SDL_GetWindowPixelFormat(window: PSDL_Window): UInt32; cdecl; external SDL_LibName;

** * Get the pixel format associated with the window. *

function SDL_CreateWindow(const title: PChar; x: SInt32; y: SInt32; w: SInt32; h: SInt32; flags: UInt32): PSDL_Window; cdecl; external SDL_LibName;

** * Create a window with the specified position, dimensions, and flags. * * title The title of the window, in UTF-8 encoding. * x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * w The width of the window. * h The height of the window. * flags The flags for the window, a mask of any of the following: * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, * ::SDL_WINDOW_SHOWN, ::SDL_WINDOW_BORDERLESS, * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED. * * The id of the window created, or zero if window creation failed. * * SDL_DestroyWindow() *

function SDL_CreateWindowFrom(const data: Pointer): PSDL_Window; cdecl; external SDL_LibName;

** * Create an SDL window from an existing native window. * * data A pointer to driver-dependent window creation data * * The id of the window created, or zero if window creation failed. * * SDL_DestroyWindow() *

function SDL_GetWindowID(window: PSDL_Window): UInt32; cdecl; external SDL_LibName;

** * Get the numeric ID of a window, for logging purposes. *

function SDL_GetWindowFromID(id: UInt32): PSDL_Window; cdecl; external SDL_LibName;

** * Get a window from a stored ID, or nil if it doesn't exist. *

function SDL_GetWindowFlags(window: PSDL_Window): UInt32; cdecl; external SDL_LibName;

** * Get the window flags. *

procedure SDL_SetWindowTitle(window: PSDL_Window; const title: PChar); cdecl; external SDL_LibName;

** * Set the title of a window, in UTF-8 format. * * SDL_GetWindowTitle() *

function SDL_GetWindowTitle(window: PSDL_Window): PChar; cdecl; external SDL_LibName;

** * Get the title of a window, in UTF-8 format. * * SDL_SetWindowTitle() *

procedure SDL_SetWindowIcon(window: PSDL_Window; icon: PSDL_Surface); cdecl; external SDL_LibName;

** * Set the icon for a window. * * icon The icon for the window. *

function SDL_SetWindowData(window: PSDL_Window; const name: PChar; userdata: Pointer): Pointer; cdecl; external SDL_LibName;

** * Associate an arbitrary named pointer with a window. * * window The window to associate with the pointer. * name The name of the pointer. * userdata The associated pointer. * * The previous value associated with 'name' * * The name is case-sensitive. * * SDL_GetWindowData() *

function SDL_GetWindowData(window: PSDL_Window; const name: PChar): Pointer; cdecl; external SDL_LibName;

** * Retrieve the data pointer associated with a window. * * window The window to query. * name The name of the pointer. * * The value associated with 'name' * * SDL_SetWindowData() *

procedure SDL_SetWindowPosition(window: PSDL_Window; x: SInt32; y: SInt32); cdecl; external SDL_LibName;

** * Set the position of a window. * * window The window to reposition. * x The x coordinate of the window, SDL_WINDOWPOS_CENTERED, or * SDL_WINDOWPOS_UNDEFINED. * y The y coordinate of the window, SDL_WINDOWPOS_CENTERED, or * SDL_WINDOWPOS_UNDEFINED. * * The window coordinate origin is the upper left of the display. * * SDL_GetWindowPosition() *

procedure SDL_GetWindowPosition(window: PSDL_Window; x: PInt; y: PInt); cdecl; external SDL_LibName;

** * Get the position of a window. * * x Pointer to variable for storing the x position, may be nil * y Pointer to variable for storing the y position, may be nil * * SDL_SetWindowPosition() *

procedure SDL_SetWindowSize(window: PSDL_Window; w: SInt32; h: SInt32); cdecl; external SDL_LibName;

** * Set the size of a window's client area. * * w The width of the window, must be >0 * h The height of the window, must be >0 * * You can't change the size of a fullscreen window, it automatically * matches the size of the display mode. * * SDL_GetWindowSize() *

procedure SDL_GetWindowSize(window: PSDL_Window; w: PInt; h: PInt); cdecl; external SDL_LibName;

** * Get the size of a window's client area. * * w Pointer to variable for storing the width, may be nil * h Pointer to variable for storing the height, may be nil * * SDL_SetWindowSize() *

procedure SDL_SetWindowMinimumSize(window: PSDL_Window; min_w: SInt32; min_h: SInt32); cdecl; external SDL_LibName;

** * Set the minimum size of a window's client area. * * min_w The minimum width of the window, must be >0 * min_h The minimum height of the window, must be >0 * * You can't change the minimum size of a fullscreen window, it * automatically matches the size of the display mode. * * SDL_GetWindowMinimumSize() * SDL_SetWindowMaximumSize() *

procedure SDL_GetWindowMinimumSize(window: PSDL_Window; w: PInt; h: PInt); cdecl; external SDL_LibName;

** * Get the minimum size of a window's client area. * * w Pointer to variable for storing the minimum width, may be nil * h Pointer to variable for storing the minimum height, may be nil * * SDL_GetWindowMaximumSize() * SDL_SetWindowMinimumSize() *

procedure SDL_SetWindowMaximumSize(window: PSDL_Window; max_w: SInt32; max_h: SInt32); cdecl; external SDL_LibName;

** * Set the maximum size of a window's client area. * * max_w The maximum width of the window, must be >0 * max_h The maximum height of the window, must be >0 * * You can't change the maximum size of a fullscreen window, it * automatically matches the size of the display mode. * * SDL_GetWindowMaximumSize() * SDL_SetWindowMinimumSize() *

procedure SDL_GetWindowMaximumSize(window: PSDL_Window; w: PInt; h: PInt); cdecl; external SDL_LibName;

** * Get the maximum size of a window's client area. * * w Pointer to variable for storing the maximum width, may be nil * h Pointer to variable for storing the maximum height, may be nil * * SDL_GetWindowMinimumSize() * SDL_SetWindowMaximumSize() *

procedure SDL_SetWindowBordered(window: PSDL_Window; bordered: TSDL_Bool); cdecl; external SDL_LibName;

** * Set the border state of a window. * * This will add or remove the window's SDL_WINDOW_BORDERLESS flag and * add or remove the border from the actual window. This is a no-op if the * window's border already matches the requested state. * * window The window of which to change the border state. * bordered SDL_FALSE to remove border, SDL_TRUE to add border. * * You can't change the border state of a fullscreen window. * * SDL_GetWindowFlags() *

procedure SDL_ShowWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Show a window. * * SDL_HideWindow() *

procedure SDL_HideWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Hide a window. * * SDL_ShowWindow() *

procedure SDL_RaiseWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Raise a window above other windows and set the input focus. *

procedure SDL_MaximizeWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Make a window as large as possible. * * SDL_RestoreWindow() *

procedure SDL_MinimizeWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Minimize a window to an iconic representation. * * SDL_RestoreWindow() *

procedure SDL_RestoreWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Restore the size and position of a minimized or maximized window. * * SDL_MaximizeWindow() * SDL_MinimizeWindow() *

function SDL_SetWindowFullscreen(window: PSDL_Window; flags: UInt32): SInt32; cdecl; external SDL_LibName;

** * Set a window's fullscreen state. * * 0 on success, or -1 if setting the display mode failed. * * SDL_SetWindowDisplayMode() * SDL_GetWindowDisplayMode() *

function SDL_GetWindowSurface(window: PSDL_Window): PSDL_Surface; cdecl; external SDL_LibName;

** * Get the SDL surface associated with the window. * * The window's framebuffer surface, or nil on error. * * A new surface will be created with the optimal format for the window, * if necessary. This surface will be freed when the window is destroyed. * * You may not combine this with 3D or the rendering API on this window. * * SDL_UpdateWindowSurface() * SDL_UpdateWindowSurfaceRects() *

function SDL_UpdateWindowSurface(window: PSDL_Window): SInt32; cdecl; external SDL_LibName;

** * Copy the window surface to the screen. * * 0 on success, or -1 on error. * * SDL_GetWindowSurface() * SDL_UpdateWindowSurfaceRects() *

function SDL_UpdateWindowSurfaceRects(window: PSDL_Window; rects: PSDL_Rect; numrects: SInt32): SInt32; cdecl; external SDL_LibName;

** * Copy a number of rectangles on the window surface to the screen. * * 0 on success, or -1 on error. * * SDL_GetWindowSurface() * SDL_UpdateWindowSurfaceRect() *

procedure SDL_SetWindowGrab(window: PSDL_Window; grabbed: TSDL_Bool); cdecl; external SDL_LibName;

** * Set a window's input grab mode. * * grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input. * * SDL_GetWindowGrab() *

function SDL_GetWindowGrab(window: PSDL_Window): TSDL_Bool; cdecl; external SDL_LibName;

** * Get a window's input grab mode. * * This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise. * * SDL_SetWindowGrab() *

function SDL_SetWindowBrightness(window: PSDL_Window; brightness: Float): SInt32; cdecl; external SDL_LibName;

** * Set the brightness (gamma correction) for a window. * * 0 on success, or -1 if setting the brightness isn't supported. * * SDL_GetWindowBrightness() * SDL_SetWindowGammaRamp() *

function SDL_GetWindowBrightness(window: PSDL_Window): Float; cdecl; external SDL_LibName;

** * Get the brightness (gamma correction) for a window. * * The last brightness value passed to SDL_SetWindowBrightness() * * SDL_SetWindowBrightness() *

function SDL_SetWindowGammaRamp(window: PSDL_Window; const red: PUInt16; const green: PUInt16; const blue: PUInt16): SInt32; cdecl; external SDL_LibName;

** * Set the gamma ramp for a window. * * red The translation table for the red channel, or nil. * green The translation table for the green channel, or nil. * blue The translation table for the blue channel, or nil. * * 0 on success, or -1 if gamma ramps are unsupported. * * Set the gamma translation table for the red, green, and blue channels * of the video hardware. Each table is an array of 256 16-bit quantities, * representing a mapping between the input and output for that channel. * The input is the index into the array, and the output is the 16-bit * gamma value at that index, scaled to the output color precision. * * SDL_GetWindowGammaRamp() *

function SDL_GetWindowGammaRamp(window: PSDL_Window; red: PUInt16; green: PUInt16; blue: PUInt16): SInt32; cdecl; external SDL_LibName;

** * Get the gamma ramp for a window. * * red A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the red channel, or nil. * green A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the green channel, or nil. * blue A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the blue channel, or nil. * * 0 on success, or -1 if gamma ramps are unsupported. * * SDL_SetWindowGammaRamp() *

procedure SDL_DestroyWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Destroy a window. *

function SDL_IsScreenSaverEnabled: TSDL_Bool; cdecl; external SDL_LibName;

** * Returns whether the screensaver is currently enabled (default on). * * SDL_EnableScreenSaver() * SDL_DisableScreenSaver() *

procedure SDL_EnableScreenSaver(); cdecl; external SDL_LibName;

** * Allow the screen to be blanked by a screensaver * * SDL_IsScreenSaverEnabled() * SDL_DisableScreenSaver() *

procedure SDL_DisableScreenSaver(); cdecl; external SDL_LibName;

** * Prevent the screen from being blanked by a screensaver * * SDL_IsScreenSaverEnabled() * SDL_EnableScreenSaver() *

function SDL_GL_LoadLibrary(const path: PChar): SInt32; cdecl; external SDL_LibName;

** * Dynamically load an OpenGL library. * * path The platform dependent OpenGL library name, or nil to open the * default OpenGL library. * * 0 on success, or -1 if the library couldn't be loaded. * * This should be done after initializing the video driver, but before * creating any OpenGL windows. If no OpenGL library is loaded, the default * library will be loaded upon creation of the first OpenGL window. * * If you do this, you need to retrieve all of the GL functions used in * your program from the dynamic library using SDL_GL_GetProcAddress(). * * SDL_GL_GetProcAddress() * SDL_GL_UnloadLibrary() *

function SDL_GL_GetProcAddress(const proc: PChar): Pointer; cdecl; external SDL_LibName;

** * Get the address of an OpenGL function. *

procedure SDL_GL_UnloadLibrary(); cdecl; external SDL_LibName;

** * Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary(). * * SDL_GL_LoadLibrary() *

function SDL_GL_ExtensionSupported(const extension: PChar): TSDL_Bool; cdecl; external SDL_LibName;

** * Return true if an OpenGL extension is supported for the current * context. *

function SDL_GL_SetAttribute(attr: TSDL_GLattr; value: SInt32): SInt32; cdecl; external SDL_LibName;

** * Set an OpenGL window attribute before window creation. *

function SDL_GL_GetAttribute(attr: TSDL_GLattr; value: PInt): SInt32; cdecl; external SDL_LibName;

** * Get the actual value for an attribute from the current context. *

function SDL_GL_CreateContext(window: PSDL_Window): TSDL_GLContext; cdecl; external SDL_LibName;

** * Create an OpenGL context for use with an OpenGL window, and make it * current. * * SDL_GL_DeleteContext() *

function SDL_GL_MakeCurrent(window: PSDL_Window; context: TSDL_GLContext): SInt32; cdecl; external SDL_LibName;

** * Set up an OpenGL context for rendering into an OpenGL window. * * The context must have been created with a compatible window. *

function SDL_GL_GetCurrentWindow(): PSDL_Window; cdecl; external SDL_LibName;

** * Get the currently active OpenGL window. *

function SDL_GL_GetCurrentContext(): TSDL_GLContext; cdecl; external SDL_LibName;

** * Get the currently active OpenGL context. *

function SDL_GL_SetSwapInterval(interval: SInt32): SInt32; cdecl; external SDL_LibName;

** * Set the swap interval for the current OpenGL context. * * interval 0 for immediate updates, 1 for updates synchronized with the * vertical retrace. If the system supports it, you may * specify -1 to allow late swaps to happen immediately * instead of waiting for the next retrace. * * 0 on success, or -1 if setting the swap interval is not supported. * * SDL_GL_GetSwapInterval() *

function SDL_GL_GetSwapInterval(): SInt32; cdecl; external SDL_LibName;

** * Get the swap interval for the current OpenGL context. * * 0 if there is no vertical retrace synchronization, 1 if the buffer * swap is synchronized with the vertical retrace, and -1 if late * swaps happen immediately instead of waiting for the next retrace. * If the system can't determine the swap interval, or there isn't a * valid current context, this will return 0 as a safe default. * * SDL_GL_SetSwapInterval() *

procedure SDL_GL_SwapWindow(window: PSDL_Window); cdecl; external SDL_LibName;

** * Swap the OpenGL buffers for a window, if double-buffering is * supported. *

procedure SDL_GL_DeleteContext(context: TSDL_GLContext); cdecl; external SDL_LibName;

** * Delete an OpenGL context. * * SDL_GL_CreateContext() *

function SDL_GetNumRenderDrivers(): SInt32; cdecl; external SDL_LibName;

** * Get the number of 2D rendering drivers available for the current * display. * * A render driver is a set of code that handles rendering and texture * management on a particular display. Normally there is only one, but * some drivers may have several available with different capabilities. * * SDL_GetRenderDriverInfo() * SDL_CreateRenderer() *

function SDL_GetRenderDriverInfo(index: SInt32; info: PSDL_RendererInfo): SInt32; cdecl; external SDL_LibName;

** * Get information about a specific 2D rendering driver for the current * display. * * index The index of the driver to query information about. * info A pointer to an SDL_RendererInfo struct to be filled with * information on the rendering driver. * * 0 on success, -1 if the index was out of range. * * SDL_CreateRenderer() *

function SDL_CreateWindowAndRenderer(width: SInt32; height: SInt32; window_flags: UInt32; window: PPSDL_Window; renderer: PPSDL_Renderer): SInt32; cdecl; external SDL_LibName;

** * Create a window and default renderer * * width The width of the window * height The height of the window * window_flags The flags used to create the window * window A pointer filled with the window, or NULL on error * renderer A pointer filled with the renderer, or NULL on error * * 0 on success, or -1 on error *

function SDL_CreateRenderer(window: PSDL_Window; index: SInt32; flags: UInt32): PSDL_Renderer; cdecl; external SDL_LibName;

** * Create a 2D rendering context for a window. * * window The window where rendering is displayed. * index The index of the rendering driver to initialize, or -1 to * initialize the first one supporting the requested flags. * flags ::SDL_RendererFlags. * * A valid rendering context or NULL if there was an error. * * SDL_CreateSoftwareRenderer() * SDL_GetRendererInfo() * SDL_DestroyRenderer() *

function SDL_CreateSoftwareRenderer(surface: PSDL_Surface): PSDL_Renderer; cdecl; external SDL_LibName;

** * Create a 2D software rendering context for a surface. * * surface The surface where rendering is done. * * A valid rendering context or NULL if there was an error. * * SDL_CreateRenderer() * SDL_DestroyRenderer() *

function SDL_GetRenderer(window: PSDL_Window): PSDL_Renderer; cdecl; external SDL_LibName;

** * Get the renderer associated with a window. *

function SDL_GetRendererInfo(renderer: PSDL_Renderer; info: PSDL_RendererInfo): SInt32; cdecl; external SDL_LibName;

** * Get information about a rendering context. *

function SDL_GetRendererOutputSize(renderer: PSDL_Renderer; w: PInt; h: PInt): SInt32; cdecl; external SDL_LibName;

** * Get the output size of a rendering context. *

function SDL_CreateTexture(renderer: PSDL_Renderer; format: UInt32; access: SInt32; w: SInt32; h: SInt32): PSDL_Texture; cdecl; external SDL_LibName;

** * Create a texture for a rendering context. * * renderer The renderer. * format The format of the texture. * access One of the enumerated values in ::SDL_TextureAccess. * w The width of the texture in pixels. * h The height of the texture in pixels. * * The created texture is returned, or 0 if no rendering context was * active, the format was unsupported, or the width or height were out * of range. * * SDL_QueryTexture() * SDL_UpdateTexture() * SDL_DestroyTexture() *

function SDL_CreateTextureFromSurface(renderer: PSDL_Renderer; surface: PSDL_Surface): PSDL_Texture; cdecl; external SDL_LibName;

** * Create a texture from an existing surface. * * renderer The renderer. * surface The surface containing pixel data used to fill the texture. * * The created texture is returned, or 0 on error. * * The surface is not modified or freed by this function. * * SDL_QueryTexture() * SDL_DestroyTexture() *

function SDL_QueryTexture(texture: PSDL_Texture; format: PUInt32; access: PInt; w: PInt; h: PInt): SInt32; cdecl; external SDL_LibName;

** * Query the attributes of a texture * * texture A texture to be queried. * format A pointer filled in with the raw format of the texture. The * actual format may differ, but pixel transfers will use this * format. * access A pointer filled in with the actual access to the texture. * w A pointer filled in with the width of the texture in pixels. * h A pointer filled in with the height of the texture in pixels. * * 0 on success, or -1 if the texture is not valid. *

function SDL_SetTextureColorMod(texture: PSDL_Texture; r: UInt8; g: UInt8; b: UInt8): SInt32; cdecl; external SDL_LibName;

** * Set an additional color value used in render copy operations. * * texture The texture to update. * r The red color value multiplied into copy operations. * g The green color value multiplied into copy operations. * b The blue color value multiplied into copy operations. * * 0 on success, or -1 if the texture is not valid or color modulation * is not supported. * * SDL_GetTextureColorMod() *

function SDL_GetTextureColorMod(texture: PSDL_Texture; r: PUInt8; g: PUInt8; b: PUInt8): SInt32; cdecl; external SDL_LibName;

** * Get the additional color value used in render copy operations. * * texture The texture to query. * r A pointer filled in with the current red color value. * g A pointer filled in with the current green color value. * b A pointer filled in with the current blue color value. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureColorMod() *

function SDL_SetTextureAlphaMod(texture: PSDL_Texture; alpha: UInt8): SInt32; cdecl; external SDL_LibName;

** * Set an additional alpha value used in render copy operations. * * texture The texture to update. * alpha The alpha value multiplied into copy operations. * * 0 on success, or -1 if the texture is not valid or alpha modulation * is not supported. * * SDL_GetTextureAlphaMod() *

function SDL_GetTextureAlphaMod(texture: PSDL_Texture; alpha: PUInt8): SInt32; cdecl; external SDL_LibName;

** * Get the additional alpha value used in render copy operations. * * texture The texture to query. * alpha A pointer filled in with the current alpha value. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureAlphaMod() *

function SDL_SetTextureBlendMode(texture: PSDL_Texture; blendMode: TSDL_BlendMode): SInt32; cdecl; external SDL_LibName;

** * Set the blend mode used for texture copy operations. * * texture The texture to update. * blendMode ::SDL_BlendMode to use for texture blending. * * 0 on success, or -1 if the texture is not valid or the blend mode is * not supported. * * If the blend mode is not supported, the closest supported mode is * chosen. * * SDL_GetTextureBlendMode() *

function SDL_GetTextureBlendMode(texture: PSDL_Texture; blendMode: PSDL_BlendMode): SInt32; cdecl; external SDL_LibName;

** * Get the blend mode used for texture copy operations. * * texture The texture to query. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureBlendMode() *

function SDL_UpdateTexture(texture: PSDL_Texture; rect: PSDL_Rect; pixels: Pointer; pitch: SInt32): SInt32; cdecl; external SDL_LibName;

** * Update the given texture rectangle with new pixel data. * * texture The texture to update * rect A pointer to the rectangle of pixels to update, or NULL to * update the entire texture. * pixels The raw pixel data. * pitch The number of bytes between rows of pixel data. * * 0 on success, or -1 if the texture is not valid. * * This is a fairly slow function. *

function SDL_LockTexture(texture: PSDL_Texture; rect: PSDL_Rect; pixels: PPointer; pitch: PInt): SInt32; cdecl; external SDL_LibName;

** * Lock a portion of the texture for write-only pixel access. * * texture The texture to lock for access, which was created with * SDL_TEXTUREACCESS_STREAMING. * rect A pointer to the rectangle to lock for access. If the rect * is NULL, the entire texture will be locked. * pixels This is filled in with a pointer to the locked pixels, * appropriately offset by the locked area. * pitch This is filled in with the pitch of the locked pixels. * * 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING. * * SDL_UnlockTexture() *

procedure SDL_UnlockTexture(texture: PSDL_Texture); cdecl; external SDL_LibName;

** * Unlock a texture, uploading the changes to video memory, if needed. * * SDL_LockTexture() *

function SDL_RenderTargetSupported(renderer: PSDL_Renderer): Boolean; cdecl; external SDL_LibName;

** * Determines whether a window supports the use of render targets * * renderer The renderer that will be checked * * SDL_TRUE if supported, SDL_FALSE if not. *

function SDL_SetRenderTarget(renderer: PSDL_Renderer; texture: PSDL_Texture): SInt32; cdecl; external SDL_LibName;

** * Set a texture as the current rendering target. * * renderer The renderer. * texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target * * 0 on success, or -1 on error * * SDL_GetRenderTarget() *

function SDL_GetRenderTarget(renderer: PSDL_Renderer): PSDL_Texture; cdecl; external SDL_LibName;

** * Get the current render target or NULL for the default render target. * * The current render target * * SDL_SetRenderTarget() *

function SDL_RenderSetLogicalSize(renderer: PSDL_Renderer; w: SInt32; h: SInt32): SInt32; cdecl; external SDL_LibName;

** * Set device independent resolution for rendering * * renderer The renderer for which resolution should be set. * w The width of the logical resolution * h The height of the logical resolution * * This function uses the viewport and scaling functionality to allow a fixed logical * resolution for rendering, regardless of the actual output resolution. If the actual * output resolution doesn't have the same aspect ratio the output rendering will be * centered within the output display. * * If the output display is a window, mouse events in the window will be filtered * and scaled so they seem to arrive within the logical resolution. * * If this function results in scaling or subpixel drawing by the * rendering backend, it will be handled using the appropriate * quality hints. * * SDL_RenderGetLogicalSize() * SDL_RenderSetScale() * SDL_RenderSetViewport() *

procedure SDL_RenderGetLogicalSize(renderer: PSDL_Renderer; w: PInt; h: PInt); cdecl; external SDL_LibName;

** * Get device independent resolution for rendering * * renderer The renderer from which resolution should be queried. * w A pointer filled with the width of the logical resolution * h A pointer filled with the height of the logical resolution * * SDL_RenderSetLogicalSize() *

function SDL_RenderSetViewport(renderer: PSDL_Renderer; const rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * Set the drawing area for rendering on the current target. * * renderer The renderer for which the drawing area should be set. * rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target. * * The x,y of the viewport rect represents the origin for rendering. * * 0 on success, or -1 on error * * If the window associated with the renderer is resized, the viewport is automatically reset. * * SDL_RenderGetViewport() * SDL_RenderSetLogicalSize() *

procedure SDL_RenderGetViewport(renderer: PSDL_Renderer; rect: PSDL_Rect); cdecl; external SDL_LibName;

** * Get the drawing area for the current target. * * SDL_RenderSetViewport() *

function SDL_RenderSetClipRect(renderer: PSDL_Renderer; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * Set the clip rectangle for the current target. * * renderer The renderer for which clip rectangle should be set. * rect A pointer to the rectangle to set as the clip rectangle, or * NULL to disable clipping. * * 0 on success, or -1 on error * * SDL_RenderGetClipRect() *

procedure SDL_RenderGetClipRect(renderer: PSDL_Renderer; rect: PSDL_Rect); cdecl; external SDL_LibName;

** * Get the clip rectangle for the current target. * * renderer The renderer from which clip rectangle should be queried. * rect A pointer filled in with the current clip rectangle, or * an empty rectangle if clipping is disabled. * * SDL_RenderSetClipRect() *

function SDL_RenderSetScale(renderer: PSDL_Renderer; scaleX: Float; scaleY: Float): SInt32; cdecl; external SDL_LibName;

** * Set the drawing scale for rendering on the current target. * * renderer The renderer for which the drawing scale should be set. * scaleX The horizontal scaling factor * scaleY The vertical scaling factor * * The drawing coordinates are scaled by the x/y scaling factors * before they are used by the renderer. This allows resolution * independent drawing with a single coordinate system. * * If this results in scaling or subpixel drawing by the * rendering backend, it will be handled using the appropriate * quality hints. For best results use integer scaling factors. * * SDL_RenderGetScale() * SDL_RenderSetLogicalSize() *

procedure SDL_RenderGetScale(renderer: PSDL_Renderer; scaleX: PFloat; scaleY: PFloat); cdecl; external SDL_LibName;

** * Get the drawing scale for the current target. * * renderer The renderer from which drawing scale should be queried. * scaleX A pointer filled in with the horizontal scaling factor * scaleY A pointer filled in with the vertical scaling factor * * SDL_RenderSetScale() *

function SDL_SetRenderDrawColor(renderer: PSDL_Renderer; r: UInt8; g: UInt8; b: UInt8; a: UInt8): SInt32; cdecl; external SDL_LibName;

** * Set the color used for drawing operations (Rect, Line and Clear). * * renderer The renderer for which drawing color should be set. * r The red value used to draw on the rendering target. * g The green value used to draw on the rendering target. * b The blue value used to draw on the rendering target. * a The alpha value used to draw on the rendering target, usually * SDL_ALPHA_OPAQUE (255). * * 0 on success, or -1 on error *

function SDL_GetRenderDrawColor(renderer: PSDL_Renderer; r: PUInt8; g: PUInt8; b: PUInt8; a: PUInt8): SInt32; cdecl; external SDL_LibName;

** * Get the color used for drawing operations (Rect, Line and Clear). * * renderer The renderer from which drawing color should be queried. * r A pointer to the red value used to draw on the rendering target. * g A pointer to the green value used to draw on the rendering target. * b A pointer to the blue value used to draw on the rendering target. * a A pointer to the alpha value used to draw on the rendering target, * usually SDL_ALPHA_OPAQUE (255). * * 0 on success, or -1 on error *

function SDL_SetRenderDrawBlendMode(renderer: PSDL_Renderer; blendMode: TSDL_BlendMode): SInt32; cdecl; external SDL_LibName;

** * Set the blend mode used for drawing operations (Fill and Line). * * renderer The renderer for which blend mode should be set. * blendMode SDL_BlendMode to use for blending. * * 0 on success, or -1 on error * * If the blend mode is not supported, the closest supported mode is * chosen. * * SDL_GetRenderDrawBlendMode() *

function SDL_GetRenderDrawBlendMode(renderer: PSDL_Renderer; blendMode: PSDL_BlendMode): SInt32; cdecl; external SDL_LibName;

** * Get the blend mode used for drawing operations. * * renderer The renderer from which blend mode should be queried. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 on error * * SDL_SetRenderDrawBlendMode() *

function SDL_RenderClear(renderer: PSDL_Renderer): SInt32; cdecl; external SDL_LibName;

** * Clear the current rendering target with the drawing color * * This function clears the entire rendering target, ignoring the viewport. * * 0 on success, or -1 on error *

function SDL_RenderDrawPoint(renderer: PSDL_Renderer; x: SInt32; y: SInt32): SInt32; cdecl; external SDL_LibName;

** * Draw a point on the current rendering target. * * renderer The renderer which should draw a point. * x The x coordinate of the point. * y The y coordinate of the point. * * 0 on success, or -1 on error *

function SDL_RenderDrawPoints(renderer: PSDL_Renderer; points: PSDL_Point; count: SInt32): SInt32; cdecl; external SDL_LibName;

** * Draw multiple points on the current rendering target. * * renderer The renderer which should draw multiple points. * points The points to draw * count The number of points to draw * * 0 on success, or -1 on error *

function SDL_RenderDrawLine(renderer: PSDL_Renderer; x1: SInt32; y1: SInt32; x2: SInt32; y2: SInt32): SInt32; cdecl; external SDL_LibName;

** * Draw a line on the current rendering target. * * renderer The renderer which should draw a line. * x1 The x coordinate of the start point. * y1 The y coordinate of the start point. * x2 The x coordinate of the end point. * y2 The y coordinate of the end point. * * 0 on success, or -1 on error *

function SDL_RenderDrawLines(renderer: PSDL_Renderer; points: PSDL_Point; count: SInt32): SInt32; cdecl; external SDL_LibName;

** * \brief Draw a series of connected lines on the current rendering target. * * \param renderer The renderer which should draw multiple lines. * \param points The points along the lines * \param count The number of points, drawing count-1 lines * * \return 0 on success, or -1 on error *

function SDL_RenderDrawRect(renderer: PSDL_Renderer; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * Draw a rectangle on the current rendering target. * * renderer The renderer which should draw a rectangle. * rect A pointer to the destination rectangle, or NULL to outline the entire rendering target. * * 0 on success, or -1 on error *

function SDL_RenderDrawRects(renderer: PSDL_Renderer; rects: PSDL_Rect; count: SInt32): SInt32; cdecl; external SDL_LibName;

** * Draw some number of rectangles on the current rendering target. * * renderer The renderer which should draw multiple rectangles. * rects A pointer to an array of destination rectangles. * count The number of rectangles. * * 0 on success, or -1 on error *

function SDL_RenderFillRect(renderer: PSDL_Renderer; rect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * Fill a rectangle on the current rendering target with the drawing color. * * renderer The renderer which should fill a rectangle. * rect A pointer to the destination rectangle, or NULL for the entire * rendering target. * * 0 on success, or -1 on error *

function SDL_RenderFillRects(renderer: PSDL_Renderer; rects: PSDL_Rect; count: SInt32): SInt32; cdecl; external SDL_LibName;

** * Fill some number of rectangles on the current rendering target with the drawing color. * * renderer The renderer which should fill multiple rectangles. * rects A pointer to an array of destination rectangles. * count The number of rectangles. * * 0 on success, or -1 on error *

function SDL_RenderCopy(renderer: PSDL_Renderer; texture: PSDL_Texture; srcrect: PSDL_Rect; dstrect: PSDL_Rect): SInt32; cdecl; external SDL_LibName;

** * Copy a portion of the texture to the current rendering target. * * renderer The renderer which should copy parts of a texture. * texture The source texture. * srcrect A pointer to the source rectangle, or NULL for the entire * texture. * dstrect A pointer to the destination rectangle, or NULL for the * entire rendering target. * * 0 on success, or -1 on error *

function SDL_RenderCopyEx(renderer: PSDL_Renderer; texture: PSDL_Texture; const srcrect: PSDL_Rect; dstrect: PSDL_Rect; angle: Double; center: PSDL_Point; flip: PSDL_RendererFlip): SInt32; cdecl; external SDL_LibName;

** * Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center * * renderer The renderer which should copy parts of a texture. * texture The source texture. * srcrect A pointer to the source rectangle, or NULL for the entire * texture. * dstrect A pointer to the destination rectangle, or NULL for the * entire rendering target. * angle An angle in degrees that indicates the rotation that will be applied to dstrect * center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done aroud dstrect.w/2, dstrect.h/2) * flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture * * 0 on success, or -1 on error *

function SDL_RenderReadPixels(renderer: PSDL_Renderer; rect: PSDL_Rect; format: UInt32; pixels: Pointer; pitch: SInt32): SInt32; cdecl; external SDL_LibName;

** * Read pixels from the current rendering target. * * renderer The renderer from which pixels should be read. * rect A pointer to the rectangle to read, or NULL for the entire * render target. * format The desired format of the pixel data, or 0 to use the format * of the rendering target * pixels A pointer to be filled in with the pixel data * pitch The pitch of the pixels parameter. * * 0 on success, or -1 if pixel reading is not supported. * * This is a very slow operation, and should not be used frequently. *

procedure SDL_RenderPresent(renderer: PSDL_Renderer); cdecl; external SDL_LibName;

** * Update the screen with rendering performed. *

procedure SDL_DestroyTexture(texture: PSDL_Texture); cdecl; external SDL_LibName;

** * Destroy the specified texture. * * SDL_CreateTexture() * SDL_CreateTextureFromSurface() *

procedure SDL_DestroyRenderer(renderer: PSDL_Renderer); cdecl; external SDL_LibName;

** * Destroy the rendering context for a window and free associated * textures. * * SDL_CreateRenderer() *

function SDL_GL_BindTexture(texture: PSDL_Texture; texw: PFloat; texh: PFloat): SInt32; cdecl; external SDL_LibName;

** * Bind the texture to the current OpenGL/ES/ES2 context for use with * OpenGL instructions. * * texture The SDL texture to bind * texw A pointer to a float that will be filled with the texture width * texh A pointer to a float that will be filled with the texture height * * 0 on success, or -1 if the operation is not supported *

function SDL_GL_UnbindTexture(texture: PSDL_Texture): SInt32; cdecl; external SDL_LibName;

** * Unbind a texture from the current OpenGL/ES/ES2 context. * * texture The SDL texture to unbind * * 0 on success, or -1 if the operation is not supported *

function SDL_GetKeyboardFocus(): PSDL_Window; cdecl; external SDL_LibName;

** * Get the window which currently has keyboard focus. *

function SDL_GetKeyboardState(numkeys: PInt): PUInt8; cdecl; external SDL_LibName;

** * Get a snapshot of the current state of the keyboard. * * numkeys if non-nil, receives the length of the returned array. * * An array of key states. Indexes into this array are obtained by using SDL_Scancode values. * *

function SDL_GetModState(): TSDL_KeyMod; cdecl; external SDL_LibName;

** * Get the current key modifier state for the keyboard. *

procedure SDL_SetModState(modstate: TSDL_KeyMod); cdecl; external SDL_LibName;

** * Set the current key modifier state for the keyboard. * * This does not change the keyboard state, only the key modifier flags. *

function SDL_GetKeyFromScancode(scancode: TSDL_ScanCode): TSDL_KeyCode; cdecl; external SDL_LibName;

** * Get the key code corresponding to the given scancode according * to the current keyboard layout. * * See SDL_Keycode for details. * * SDL_GetKeyName() *

function SDL_GetScancodeFromKey(key: TSDL_KeyCode): TSDL_ScanCode; cdecl; external SDL_LibName;

** * Get the scancode corresponding to the given key code according to the * current keyboard layout. * * See SDL_Scancode for details. * * SDL_GetScancodeName() *

function SDL_GetScancodeName(scancode: TSDL_ScanCode): PChar; cdecl; external SDL_LibName;

** * Get a human-readable name for a scancode. * * A pointer to the name for the scancode. * * If the scancode doesn't have a name, this function returns * an empty string (""). * *

function SDL_GetScancodeFromName(const name: PChar): TSDL_ScanCode; cdecl; external SDL_LibName;

** * Get a scancode from a human-readable name * * scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized * * SDL_Scancode *

function SDL_GetKeyName(key: TSDL_ScanCode): PChar; cdecl; external SDL_LibName;

** * Get a human-readable name for a key. * * A pointer to a UTF-8 string that stays valid at least until the next * call to this function. If you need it around any longer, you must * copy it. If the key doesn't have a name, this function returns an * empty string (""). * * SDL_Key *

function SDL_GetKeyFromName(const name: PChar): TSDL_KeyCode; cdecl; external SDL_LibName;

** * Get a key code from a human-readable name * * key code, or SDLK_UNKNOWN if the name wasn't recognized * * SDL_Keycode *

procedure SDL_StartTextInput(); cdecl; external SDL_LibName;

** * Start accepting Unicode text input events. * This function will show the on-screen keyboard if supported. * * SDL_StopTextInput() * SDL_SetTextInputRect() * SDL_HasScreenKeyboardSupport() *

function SDL_IsTextInputActive(): TSDL_Bool; cdecl; external SDL_LibName;

** * Return whether or not Unicode text input events are enabled. * * SDL_StartTextInput() * SDL_StopTextInput() *

procedure SDL_StopTextInput(); cdecl; external SDL_LibName;

** * Stop receiving any text input events. * This function will hide the on-screen keyboard if supported. * * SDL_StartTextInput() * SDL_HasScreenKeyboardSupport() *

procedure SDL_SetTextInputRect(rect: PSDL_Rect); cdecl; external SDL_LibName;

** * Set the rectangle used to type Unicode text inputs. * This is used as a hint for IME and on-screen keyboard placement. * * SDL_StartTextInput() *

function SDL_HasScreenKeyboardSupport(): TSDL_Bool; cdecl; external SDL_LibName;

** * Returns whether the platform has some screen keyboard support. * * SDL_TRUE if some keyboard support is available else SDL_FALSE. * * Not all screen keyboard functions are supported on all platforms. * * SDL_IsScreenKeyboardShown() *

function SDL_IsScreenKeyboardShown(window: PSDL_Window): TSDL_Bool; cdecl; external SDL_LibName;

** * Returns whether the screen keyboard is shown for given window. * * window The window for which screen keyboard should be queried. * * Result - SDL_TRUE if screen keyboard is shown else SDL_FALSE. * * SDL_HasScreenKeyboardSupport() *

function SDL_GetMouseFocus(): PSDL_Window; cdecl; external SDL_LibName;

** * Get the window which currently has mouse focus. *

function SDL_GetMouseState(x: PInt; y: PInt): UInt32; cdecl; external SDL_LibName;

** * Retrieve the current state of the mouse. * * The current button state is returned as a button bitmask, which can * be tested using the SDL_BUTTON(X) macros, and x and y are set to the * mouse cursor position relative to the focus window for the currently * selected mouse. You can pass nil for either x or y. * * SDL_Button = 1 shl ((X)-1) *

function SDL_GetRelativeMouseState(x: PInt; y: PInt): UInt32; cdecl; external SDL_LibName;

** * Retrieve the relative state of the mouse. * * The current button state is returned as a button bitmask, which can * be tested using the SDL_BUTTON(X) macros, and x and y are set to the * mouse deltas since the last call to SDL_GetRelativeMouseState(). *

procedure SDL_WarpMouseInWindow(window: PSDL_Window; x: SInt32; y: SInt32); cdecl; external SDL_LibName;

** * Moves the mouse to the given position within the window. * * window The window to move the mouse into, or nil for the current mouse focus * x The x coordinate within the window * y The y coordinate within the window * * This function generates a mouse motion event *

function SDL_SetRelativeMouseMode(enabled: TSDL_Bool): SInt32; cdecl; external SDL_LibName;

** * Set relative mouse mode. * * enabled Whether or not to enable relative mode * * 0 on success, or -1 if relative mode is not supported. * * While the mouse is in relative mode, the cursor is hidden, and the * driver will try to report continuous motion in the current window. * Only relative motion events will be delivered, the mouse position * will not change. * * This function will flush any pending mouse motion. * * SDL_GetRelativeMouseMode() *

function SDL_GetRelativeMouseMode(): TSDL_Bool; cdecl; external SDL_LibName;

** * Query whether relative mouse mode is enabled. * * SDL_SetRelativeMouseMode() *

function SDL_CreateCursor(const data: PUInt8; const mask: PUInt8; w: SInt32; h: SInt32; hot_x: SInt32; hot_y: SInt32): PSDL_Cursor; cdecl; external SDL_LibName;

** * Create a cursor, using the specified bitmap data and * mask (in MSB format). * * The cursor width must be a multiple of 8 bits. * * The cursor is created in black and white according to the following: * <table> * <tr><td> data </td><td> mask </td><td> resulting pixel on screen </td></tr> * <tr><td> 0 </td><td> 1 </td><td> White </td></tr> * <tr><td> 1 </td><td> 1 </td><td> Black </td></tr> * <tr><td> 0 </td><td> 0 </td><td> Transparent </td></tr> * <tr><td> 1 </td><td> 0 </td><td> Inverted color if possible, black * if not. </td></tr> * </table> * * SDL_FreeCursor() *

function SDL_CreateColorCursor(surface: PSDL_Surface; hot_x: SInt32; hot_y: SInt32): PSDL_Cursor; cdecl; external SDL_LibName;

** * Create a color cursor. * * SDL_FreeCursor() *

function SDL_CreateSystemCursor(id: TSDL_SystemCursor): PSDL_Cursor; cdecl; external SDL_LibName;

** * Create a system cursor. * * SDL_FreeCursor() *

procedure SDL_SetCursor(cursor: PSDL_Cursor); cdecl; external SDL_LibName;

** * Set the active cursor. *

function SDL_GetCursor(): PSDL_Cursor; cdecl; external SDL_LibName;

** * Return the active cursor. *

procedure SDL_FreeCursor(cursor: PSDL_Cursor); cdecl; external SDL_LibName;

** * Frees a cursor created with SDL_CreateCursor(). * * SDL_CreateCursor() *

function SDL_ShowCursor(toggle: SInt32): SInt32; cdecl; external SDL_LibName;

** * Toggle whether or not the cursor is shown. * * toggle 1 to show the cursor, 0 to hide it, -1 to query the current * state. * * 1 if the cursor is shown, or 0 if the cursor is hidden. *

function SDL_NumJoysticks(): SInt32; cdecl; external SDL_LibName;

** * Count the number of joysticks attached to the system right now *

function SDL_JoystickNameForIndex(device_index: SInt32): PChar; cdecl; external SDL_LibName;

** * Get the implementation dependent name of a joystick. * This can be called before any joysticks are opened. * If no name can be found, this function returns NULL. *

function SDL_JoystickOpen(device_index: SInt32): PSDL_Joystick; cdecl; external SDL_LibName;

** * Open a joystick for use. * The index passed as an argument refers tothe N'th joystick on the system. * This index is the value which will identify this joystick in future joystick * events. * * A joystick identifier, or NULL if an error occurred. *

function SDL_JoystickName(joystick: PSDL_Joystick): PChar; cdecl; external SDL_LibName;

** * Return the name for this currently opened joystick. * If no name can be found, this function returns NULL. *

function SDL_JoystickGetDeviceGUID(device_index: SInt32): TSDL_JoystickGUID; cdecl; external SDL_LibName;

** * Return the GUID for the joystick at this index *

function SDL_JoystickGetGUID(joystick: PSDL_Joystick): TSDL_JoystickGUID; cdecl; external SDL_LibName;

** * Return the GUID for this opened joystick *

procedure SDL_JoystickGetGUIDString(guid: TSDL_JoystickGUId; pszGUID: PChar; cbGUID: SInt32); cdecl; external SDL_LibName;

** * Return a string representation for this guid. pszGUID must point to at least 33 bytes * (32 for the string plus a NULL terminator). *

function SDL_JoystickGetGUIDFromString(const pchGUID: PChar): TSDL_JoystickGUID; cdecl; external SDL_LibName;

** * convert a string into a joystick formatted guid *

function SDL_JoystickGetAttached(joystick: PSDL_Joystick): TSDL_Bool; cdecl; external SDL_LibName;

** * Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. *

function SDL_JoystickInstanceID(joystick: PSDL_Joystick): TSDL_JoystickID; cdecl; external SDL_LibName;

** * Get the instance ID of an opened joystick or -1 if the joystick is invalid. *

function SDL_JoystickNumAxes(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;

** * Get the number of general axis controls on a joystick. *

function SDL_JoystickNumBalls(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;

** * Get the number of trackballs on a joystick. * * Joystick trackballs have only relative motion events associated * with them and their state cannot be polled. *

function SDL_JoystickNumHats(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;

** * Get the number of POV hats on a joystick. *

function SDL_JoystickNumButtons(joystick: PSDL_Joystick): SInt32; cdecl; external SDL_LibName;

** * Get the number of buttons on a joystick. *

procedure SDL_JoystickUpdate(); cdecl; external SDL_LibName;

** * Update the current state of the open joysticks. * * This is called automatically by the event loop if any joystick * events are enabled. *

function SDL_JoystickEventState(state: SInt32): SInt32; cdecl; external SDL_LibName;

** * Enable/disable joystick event polling. * * If joystick events are disabled, you must call SDL_JoystickUpdate() * yourself and check the state of the joystick when you want joystick * information. * * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. *

function SDL_JoystickGetAxis(joystick: PSDL_Joystick; axis: SInt32): SInt16; cdecl; external SDL_LibName;

** * Get the current state of an axis control on a joystick. * * The state is a value ranging from -32768 to 32767. * * The axis indices start at index 0. *

function SDL_JoystickGetHat(joystick: PSDL_Joystick; hat: SInt32): UInt8; cdecl; external SDL_LibName;

** * Get the current state of a POV hat on a joystick. * * The hat indices start at index 0. * * The return value is one of the following positions: * - SDL_HAT_CENTERED * - SDL_HAT_UP * - SDL_HAT_RIGHT * - SDL_HAT_DOWN * - SDL_HAT_LEFT * - SDL_HAT_RIGHTUP * - SDL_HAT_RIGHTDOWN * - SDL_HAT_LEFTUP * - SDL_HAT_LEFTDOWN *

function SDL_JoystickGetBall(joystick: PSDL_Joystick; ball: SInt32; dx: PInt; dy: PInt): SInt32; cdecl; external SDL_LibName;

** * Get the ball axis change since the last poll. * * 0, or -1 if you passed it invalid parameters. * * The ball indices start at index 0. *

function SDL_JoystickGetButton(joystick: PSDL_Joystick; button: SInt32): UInt8; cdecl; external SDL_LibName;

** * Get the current state of a button on a joystick. * * The button indices start at index 0. *

procedure SDL_JoystickClose(joystick: PSDL_Joystick); cdecl; external SDL_LibName;

** * Close a joystick previously opened with SDL_JoystickOpen(). *

function SDL_GameControllerAddMapping( mappingString: PChar ): Integer; cdecl; external SDL_LibName;

** * Add or update an existing mapping configuration * * 1 if mapping is added, 0 if updated, -1 on error *

function SDL_GameControllerMappingForGUID( guid: TSDL_JoystickGUID ): PChar; cdecl; external SDL_LibName;

** * Get a mapping string for a GUID * * the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available *

function SDL_GameControllerMapping( gamecontroller: PSDL_GameController ): PChar; cdecl; external SDL_LibName;

** * Get a mapping string for an open GameController * * the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available *

function SDL_IsGameController(joystick_index: Integer): TSDL_Bool; cdecl; external SDL_LibName;

** * Is the joystick on this index supported by the game controller interface? *

function SDL_GameControllerNameForIndex(joystick_index: Integer): PChar; cdecl; external SDL_LibName;

** * Get the implementation dependent name of a game controller. * This can be called before any controllers are opened. * If no name can be found, this function returns NULL. *

function SDL_GameControllerOpen(joystick_index: Integer): PSDL_GameController; cdecl; external SDL_LibName;

** * Open a game controller for use. * The index passed as an argument refers to the N'th game controller on the system. * This index is the value which will identify this controller in future controller * events. * * A controller identifier, or NULL if an error occurred. *

function SDL_GameControllerName(gamecontroller: PSDL_GameController): PChar; cdecl; external SDL_LibName;

** * Return the name for this currently opened controller *

function SDL_GameControllerGetAttached(gamecontroller: PSDL_GameController): TSDL_Bool; cdecl; external SDL_LibName;

** * Returns SDL_TRUE if the controller has been opened and currently connected, * or SDL_FALSE if it has not. *

function SDL_GameControllerGetJoystick(gamecontroller: PSDL_GameController): PSDL_Joystick; cdecl; external SDL_LibName;

** * Get the underlying joystick object used by a controller *

function SDL_GameControllerEventState(state: Integer): Integer; cdecl; external SDL_LibName;

** * Enable/disable controller event polling. * * If controller events are disabled, you must call SDL_GameControllerUpdate() * yourself and check the state of the controller when you want controller * information. * * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. *

procedure SDL_GameControllerUpdate(); cdecl; external SDL_LibName;

** * Update the current state of the open game controllers. * * This is called automatically by the event loop if any game controller * events are enabled. *

function SDL_GameControllerGetAxisFromString(pchString: PChar): TSDL_GameControllerAxis; cdecl; external SDL_LibName;

** * turn this string into a axis mapping *

function SDL_GameControllerGetStringForAxis(axis: TSDL_GameControllerAxis): PChar; cdecl; external SDL_LibName;

** * turn this axis enum into a string mapping *

function SDL_GameControllerGetBindForAxis(gamecontroller: PSDL_GameController; axis: TSDL_GameControllerAxis): TSDL_GameControllerButtonBind; cdecl; external SDL_LibName;

** * Get the SDL joystick layer binding for this controller button mapping *

function SDL_GameControllerGetAxis(gamecontroller: PSDL_GameController; axis: TSDL_GameControllerAxis): SInt16; cdecl; external SDL_LibName;

** * Get the current state of an axis control on a game controller. * * The state is a value ranging from -32768 to 32767. * * The axis indices start at index 0. *

function SDL_GameControllerGetButtonFromString(pchString: PChar): TSDL_GameControllerButton; cdecl; external SDL_LibName;

** * turn this string into a button mapping *

function SDL_GameControllerGetStringForButton(button: TSDL_GameControllerButton): PChar; cdecl; external SDL_LibName;

** * turn this button enum into a string mapping *

function SDL_GameControllerGetBindForButton(gamecontroller: PSDL_GameController; button: TSDL_GameControllerButton): TSDL_GameControllerButtonBind; cdecl; external SDL_LibName;

** * Get the SDL joystick layer binding for this controller button mapping *

function SDL_GameControllerGetButton(gamecontroller: PSDL_GameController; button: TSDL_GameControllerButton): UInt8; cdecl; external SDL_LibName;

** * Get the current state of a button on a game controller. * * The button indices start at index 0. *

procedure SDL_GameControllerClose(gamecontroller: PSDL_GameController); cdecl; external SDL_LibName;

** * Close a controller previously opened with SDL_GameControllerOpen(). *

function SDL_NumHaptics(): Integer; cdecl; external SDL_LibName;

** * Count the number of haptic devices attached to the system. * * Number of haptic devices detected on the system. *

function SDL_HapticName(device_index: Integer): PChar; cdecl; external SDL_LibName;

** * Get the implementation dependent name of a Haptic device. * * This can be called before any joysticks are opened. * If no name can be found, this function returns NULL. * * device_index Index of the device to get its name. * Name of the device or NULL on error. * * SDL_NumHaptics *

function SDL_HapticOpen(device_index: Integer): PSDL_Haptic; cdecl; external SDL_LibName;

** * Opens a Haptic device for usage. * * The index passed as an argument refers to the N'th Haptic device on this * system. * * When opening a haptic device, its gain will be set to maximum and * autocenter will be disabled. To modify these values use * SDL_HapticSetGain() and SDL_HapticSetAutocenter(). * * device_index Index of the device to open. * Device identifier or NULL on error. * * SDL_HapticIndex * SDL_HapticOpenFromMouse * SDL_HapticOpenFromJoystick * SDL_HapticClose * SDL_HapticSetGain * SDL_HapticSetAutocenter * SDL_HapticPause * SDL_HapticStopAll *

function SDL_HapticOpened(device_index: Integer): Integer; cdecl; external SDL_LibName;

** * Checks if the haptic device at index has been opened. * * device_index Index to check to see if it has been opened. * 1 if it has been opened or 0 if it hasn't. * * SDL_HapticOpen * SDL_HapticIndex *

function SDL_HapticIndex(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Gets the index of a haptic device. * * haptic Haptic device to get the index of. * The index of the haptic device or -1 on error. * * SDL_HapticOpen * SDL_HapticOpened *

function SDL_MouseIsHaptic() : Integer; cdecl; external SDL_LibName;

** * Gets whether or not the current mouse has haptic capabilities. * * SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't. * * SDL_HapticOpenFromMouse *

function SDL_HapticOpenFromMouse() : PSDL_Haptic; cdecl; external SDL_LibName;

** * Tries to open a haptic device from the current mouse. * * The haptic device identifier or NULL on error. * * SDL_MouseIsHaptic * SDL_HapticOpen *

function SDL_JoystickIsHaptic(joystick: PSDL_Joystick): Integer; cdecl; external SDL_LibName;

** * Checks to see if a joystick has haptic features. * * joystick Joystick to test for haptic capabilities. * 1 if the joystick is haptic, 0 if it isn't * or -1 if an error ocurred. * * SDL_HapticOpenFromJoystick *

function SDL_HapticOpenFromJoystick(joystick: PSDL_Joystick): PSDL_Haptic; cdecl; external SDL_LibName;

** * Opens a Haptic device for usage from a Joystick device. * * You must still close the haptic device seperately. It will not be closed * with the joystick. * * When opening from a joystick you should first close the haptic device before * closing the joystick device. If not, on some implementations the haptic * device will also get unallocated and you'll be unable to use force feedback * on that device. * * joystick Joystick to create a haptic device from. * A valid haptic device identifier on success or NULL on error. * * SDL_HapticOpen * SDL_HapticClose *

procedure SDL_HapticClose(haptic: PSDL_Haptic); cdecl; external SDL_LibName;

** * Closes a Haptic device previously opened with SDL_HapticOpen(). * * haptic Haptic device to close. *

function SDL_HapticNumEffects(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Returns the number of effects a haptic device can store. * * On some platforms this isn't fully supported, and therefore is an * approximation. Always check to see if your created effect was actually * created and do not rely solely on SDL_HapticNumEffects(). * * haptic The haptic device to query effect max. * The number of effects the haptic device can store or * -1 on error. * * SDL_HapticNumEffectsPlaying * SDL_HapticQuery *

function SDL_HapticNumEffectsPlaying(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Returns the number of effects a haptic device can play at the same * time. * * This is not supported on all platforms, but will always return a value. * Added here for the sake of completeness. * * haptic The haptic device to query maximum playing effects. * The number of effects the haptic device can play at the same time * or -1 on error. * * SDL_HapticNumEffects * SDL_HapticQuery *

function SDL_HapticQuery(haptic: PSDL_Haptic): UInt32; cdecl; external SDL_LibName;

** * Gets the haptic devices supported features in bitwise matter. * * Example: * * if (SDL_HapticQueryEffects(haptic) & SDL_HAPTIC_CONSTANT) * printf("We have constant haptic effect!"); * * * * haptic The haptic device to query. * Haptic features in bitwise manner (OR'd). * * SDL_HapticNumEffects * SDL_HapticEffectSupported *

function SDL_HapticNumAxes(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Gets the number of haptic axes the device has. * * SDL_HapticDirection *

function SDL_HapticEffectSupported(haptic: PSDL_Haptic; effect: PSDL_HapticEffect): Integer; cdecl; external SDL_LibName;

** * Checks to see if effect is supported by haptic. * * haptic Haptic device to check on. * effect Effect to check to see if it is supported. * SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. * * SDL_HapticQuery * SDL_HapticNewEffect *

function SDL_HapticNewEffect(haptic: PSDL_Haptic; effect: PSDL_HapticEffect): Integer; cdecl; external SDL_LibName;

** * Creates a new haptic effect on the device. * * haptic Haptic device to create the effect on. * effect Properties of the effect to create. * The id of the effect on success or -1 on error. * * SDL_HapticUpdateEffect * SDL_HapticRunEffect * SDL_HapticDestroyEffect *

function SDL_HapticUpdateEffect(haptic: PSDL_Haptic; effect: Integer; data: PSDL_HapticEffect): Integer; cdecl; external SDL_LibName;

** * Updates the properties of an effect. * * Can be used dynamically, although behaviour when dynamically changing * direction may be strange. Specifically the effect may reupload itself * and start playing from the start. You cannot change the type either when * running SDL_HapticUpdateEffect(). * * haptic Haptic device that has the effect. * effect Effect to update. * data New effect properties to use. * The id of the effect on success or -1 on error. * * SDL_HapticNewEffect * SDL_HapticRunEffect * SDL_HapticDestroyEffect *

function SDL_HapticRunEffect(haptic: PSDL_Haptic; effect: Integer; iterations: UInt32): Integer; cdecl; external SDL_LibName;

** * Runs the haptic effect on its associated haptic device. * * If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over * repeating the envelope (attack and fade) every time. If you only want the * effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length * parameter. * * haptic Haptic device to run the effect on. * effect Identifier of the haptic effect to run. * iterations Number of iterations to run the effect. Use * SDL_HAPTIC_INFINITY for infinity. * 0 on success or -1 on error. * * SDL_HapticStopEffect * SDL_HapticDestroyEffect * SDL_HapticGetEffectStatus *

function SDL_HapticStopEffect(haptic: PSDL_Haptic; effect: Integer): Integer; cdecl; external SDL_LibName;

** * Stops the haptic effect on its associated haptic device. * * haptic Haptic device to stop the effect on. * effect Identifier of the effect to stop. * 0 on success or -1 on error. * * SDL_HapticRunEffect * SDL_HapticDestroyEffect *

procedure SDL_HapticDestroyEffect(haptic: PSDL_Haptic; effect: Integer); cdecl; external SDL_LibName;

** * Destroys a haptic effect on the device. * * This will stop the effect if it's running. Effects are automatically * destroyed when the device is closed. * * haptic Device to destroy the effect on. * effect Identifier of the effect to destroy. * * SDL_HapticNewEffect *

function SDL_HapticGetEffectStatus(haptic: PSDL_Haptic; effect: Integer): Integer; cdecl; external SDL_LibName;

** * Gets the status of the current effect on the haptic device. * * Device must support the ::SDL_HAPTIC_STATUS feature. * * haptic Haptic device to query the effect status on. * effect Identifier of the effect to query its status. * 0 if it isn't playing, 1 if it is playing or -1 on error. * * SDL_HapticRunEffect * SDL_HapticStopEffect *

function SDL_HapticSetGain(haptic: PSDL_Haptic; gain: Integer): Integer; cdecl; external SDL_LibName;

** * Sets the global gain of the device. * * Device must support the SDL_HAPTIC_GAIN feature. * * The user may specify the maximum gain by setting the environment variable * SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to * SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the * maximum. * * haptic Haptic device to set the gain on. * gain Value to set the gain to, should be between 0 and 100. * 0 on success or -1 on error. * * SDL_HapticQuery *

function SDL_HapticSetAutocenter(haptic: PSDL_Haptic; autocenter: Integer): Integer; cdecl; external SDL_LibName;

** * Sets the global autocenter of the device. * * Autocenter should be between 0 and 100. Setting it to 0 will disable * autocentering. * * Device must support the ::SDL_HAPTIC_AUTOCENTER feature. * * haptic Haptic device to set autocentering on. * autocenter Value to set autocenter to, 0 disables autocentering. * 0 on success or -1 on error. * * SDL_HapticQuery *

function SDL_HapticPause(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Pauses a haptic device. * * Device must support the SDL_HAPTIC_PAUSE feature. Call * SDL_HapticUnpause() to resume playback. * * Do not modify the effects nor add new ones while the device is paused. * That can cause all sorts of weird errors. * * haptic Haptic device to pause. * 0 on success or -1 on error. * * SDL_HapticUnpause *

function SDL_HapticUnpause(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Unpauses a haptic device. * * Call to unpause after SDL_HapticPause(). * * haptic Haptic device to pause. * 0 on success or -1 on error. * * SDL_HapticPause *

function SDL_HapticStopAll(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Stops all the currently playing effects on a haptic device. * * haptic Haptic device to stop. * 0 on success or -1 on error. *

function SDL_HapticRumbleSupported(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Checks to see if rumble is supported on a haptic device.. * * haptic Haptic device to check to see if it supports rumble. * SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. * * SDL_HapticRumbleInit * SDL_HapticRumblePlay * SDL_HapticRumbleStop *

function SDL_HapticRumbleInit(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Initializes the haptic device for simple rumble playback. * * haptic Haptic device to initialize for simple rumble playback. * 0 on success or -1 on error. * * SDL_HapticOpen * SDL_HapticRumbleSupported * SDL_HapticRumblePlay * SDL_HapticRumbleStop *

function SDL_HapticRumblePlay(haptic: PSDL_Haptic; strength: Float; length: UInt32): Integer; cdecl; external SDL_LibName;

** * Runs simple rumble on a haptic device * * haptic Haptic device to play rumble effect on. * strength Strength of the rumble to play as a 0-1 float value. * length Length of the rumble to play in milliseconds. * 0 on success or -1 on error. * * SDL_HapticRumbleSupported * SDL_HapticRumbleInit * SDL_HapticRumbleStop *

function SDL_HapticRumbleStop(haptic: PSDL_Haptic): Integer; cdecl; external SDL_LibName;

** * Stops the simple rumble on a haptic device. * * haptic Haptic to stop the rumble on. * 0 on success or -1 on error. * * SDL_HapticRumbleSupported * SDL_HapticRumbleInit * SDL_HapticRumblePlay *

function SDL_GetNumTouchDevices(): SInt32; cdecl; external SDL_LibName;

** * Get the number of registered touch devices. *

function SDL_GetTouchDevice(index: SInt32): TSDL_TouchID; cdecl; external SDL_LibName;

** * Get the touch ID with the given index, or 0 if the index is invalid. *

function SDL_GetNumTouchFingers(touchID: TSDL_TouchID): SInt32; cdecl; external SDL_LibName;

** * Get the number of active fingers for a given touch device. *

function SDL_GetTouchFinger(touchID: TSDL_TouchID; index: SInt32): PSDL_Finger; cdecl; external SDL_LibName;

** * Get the finger object of the given touch, with the given index. *

function SDL_RecordGesture(touchId: TSDL_TouchID): SInt32; cdecl; external SDL_LibName;

** * Begin Recording a gesture on the specified touch, or all touches (-1) * * *

function SDL_SaveAllDollarTemplates(src: PSDL_RWops): SInt32; cdecl; external SDL_LibName;

** * Save all currently loaded Dollar Gesture templates * * *

function SDL_SaveDollarTemplate(gestureId: TSDL_GestureID; src: PSDL_RWops): SInt32; cdecl; external SDL_LibName;

** * Save a currently loaded Dollar Gesture template * * *

function SDL_LoadDollarTemplates(touchId: TSDL_TouchID; src: PSDL_RWops): SInt32; cdecl; external SDL_LibName;

** * Load Dollar Gesture templates from a file * * *

procedure SDL_PumpEvents(); cdecl; external SDL_LibName;

** * Pumps the event loop, gathering events from the input devices. * * This function updates the event queue and internal input device state. * * This should only be run in the thread that sets the video mode. *

function SDL_PeepEvents(events: PSDL_Event; numevents: SInt32; action: TSDL_EventAction; minType: UInt32; maxType: UInt32): SInt32; cdecl; external SDL_LibName;

** * Checks the event queue for messages and optionally returns them. * * If action is SDL_ADDEVENT, up to numevents events will be added to * the back of the event queue. * * If action is SDL_PEEKEVENT, up to numevents events at the front * of the event queue, within the specified minimum and maximum type, * will be returned and will not be removed from the queue. * * If action is SDL_GETEVENT, up to numevents events at the front * of the event queue, within the specified minimum and maximum type, * will be returned and will be removed from the queue. * * Result: The number of events actually stored, or -1 if there was an error. * * This function is thread-safe. *

function SDL_HasEvent(type_: UInt32): TSDL_Bool; cdecl; external SDL_LibName;

** * Checks to see if certain event types are in the event queue. *

function SDL_HasEvents(minType: UInt32; maxType: UInt32): TSDL_Bool; cdecl; external SDL_LibName;
procedure SDL_FlushEvent(type_: UInt32); cdecl; external SDL_LibName;

** * This function clears events from the event queue *

procedure SDL_FlushEvents(minType: UInt32; maxType: UInt32); cdecl; external SDL_LibName;
function SDL_PollEvent(event: PSDL_Event): SInt32; cdecl; external SDL_LibName;

** * Polls for currently pending events. * * 1 if there are any pending events, or 0 if there are none available. * * event - If not nil, the next event is removed from the queue and * stored in that area. *

function SDL_WaitEvent(event: PSDL_Event): SInt32; cdecl; external SDL_LibName;

** * Waits indefinitely for the next available event. * * 1, or 0 if there was an error while waiting for events. * * event - If not nil, the next event is removed from the queue and * stored in that area. *

function SDL_WaitEventTimeout(event: PSDL_Event; timeout: SInt32): SInt32; cdecl; external SDL_LibName;

** * Waits until the specified timeout (in milliseconds) for the next * available event. * * 1, or 0 if there was an error while waiting for events. * * event - If not nil, the next event is removed from the queue and * stored in that area. *

function SDL_PushEvent(event: PSDL_Event): SInt32; cdecl; external SDL_LibName;

** * Add an event to the event queue. * * 1 on success, 0 if the event was filtered, or -1 if the event queue * was full or there was some other error. *

procedure SDL_SetEventFilter(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;

** * Sets up a filter to process all events before they change internal state and * are posted to the internal event queue. * * If the filter returns 1, then the event will be added to the internal queue. * If it returns 0, then the event will be dropped from the queue, but the * internal state will still be updated. This allows selective filtering of * dynamically arriving events. * * Be very careful of what you do in the event filter function, as * it may run in a different thread! * * There is one caveat when dealing with the SDL_QUITEVENT event type. The * event filter is only called when the window manager desires to close the * application window. If the event filter returns 1, then the window will * be closed, otherwise the window will remain open if possible. * * If the quit event is generated by an interrupt signal, it will bypass the * internal queue and be delivered to the application at the next event poll. *

function SDL_GetEventFilter(filter: PSDL_EventFilter; userdata: Pointer): TSDL_Bool; cdecl; external SDL_LibName;

** * Return the current event filter - can be used to "chain" filters. * If there is no event filter set, this function returns SDL_FALSE. *

procedure SDL_AddEventWatch(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;

** * Add a function which is called when an event is added to the queue. *

procedure SDL_DelEventWatch(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;

** * Remove an event watch function added with SDL_AddEventWatch() *

procedure SDL_FilterEvents(filter: TSDL_EventFilter; userdata: Pointer); cdecl; external SDL_LibName;

** * Run the filter function on the current event queue, removing any * events for which the filter returns 0. *

function SDL_EventState(type_: UInt32; state: SInt32): UInt8; cdecl; external SDL_LibName;

** * This function allows you to set the state of processing certain events. * - If state is set to SDL_IGNORE, that event will be automatically * dropped from the event queue and will not event be filtered. * - If state is set to SDL_ENABLE, that event will be processed * normally. * - If state is set to SDL_QUERY, SDL_EventState() will return the * current processing state of the specified event. *

function SDL_GetEventState(type_: UInt32): UInt8;
function SDL_RegisterEvents(numevents: SInt32): UInt32; cdecl; external SDL_LibName;

** * This function allocates a set of user-defined events, and returns * the beginning event number for that set of events. * * If there aren't enough user-defined events left, this function * returns (Uint32)-1 *

function SDL_Init(flags: UInt32): SInt32; cdecl; external SDL_LibName;

** * This function initializes the subsystems specified by flags * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup * signal handlers for some commonly ignored fatal signals (like SIGSEGV). *

function SDL_InitSubSystem(flags: UInt32): SInt32; cdecl; external SDL_LibName;

** * This function initializes specific SDL subsystems *

procedure SDL_QuitSubSystem(flags: UInt32); cdecl; external SDL_LibName;

** * This function cleans up specific SDL subsystems *

function SDL_WasInit(flags: UInt32): UInt32; cdecl; external SDL_LibName;

** * This function returns a mask of the specified subsystems which have * previously been initialized. * * If flags is 0, it returns a mask of all initialized subsystems. *

procedure SDL_Quit(); cdecl; external SDL_LibName;

** * This function cleans up all initialized subsystems. You should * call it upon all exit conditions. *

function SDL_LoadObject(sofile: PChar): Pointer; cdecl; external SDL_LibName;

** * This function dynamically loads a shared object and returns a pointer * to the object handle (or NULL if there was an error). * The 'sofile' parameter is a system dependent name of the object file. *

function SDL_LoadFunction(handle: Pointer; name: PChar): Pointer; cdecl; external SDL_LibName;

** * Given an object handle, this function looks up the address of the * named function in the shared object and returns it. This address * is no longer valid after calling SDL_UnloadObject(). *

procedure SDL_UnloadObject(handle: Pointer); cdecl; external SDL_LibName;

** * Unload a shared object from memory. *

function SDL_GetPlatform(): PChar; cdecl; external SDL_LibName;

** * Gets the name of the platform. *

function SDL_SetHintWithPriority( const name: PChar; const value: PChar; priority: SDL_HintPriority) : boolean; cdecl; external SDL_LibName;

/** * \brief Set a hint with a specific priority * * The priority controls the behavior when setting a hint that already * has a value. Hints will replace existing hints of their priority and * lower. Environment variables are considered to have override priority. * * \return SDL_TRUE if the hint was set, SDL_FALSE otherwise */

function SDL_SetHint( const name: PChar; const value: PChar) : boolean; cdecl; external SDL_LibName;

/** * \brief Set a hint with normal priority * * \return SDL_TRUE if the hint was set, SDL_FALSE otherwise */

function SDL_GetHint( const name: PChar): PChar; cdecl; external SDL_LibName;

/** * \brief Get a hint * * \return The string value of a hint variable. */

procedure SDL_AddHintCallback(const name: PChar; callback: TSDL_HintCallback; userdata: Pointer); cdecl; external SDL_LibName;
procedure SDL_DelHintCallback(const name: PChar; callback: TSDL_HintCallback; userdata: Pointer); cdecl; external SDL_LibName;

/** * \brief Remove a function watching a particular hint * * \param name The hint being watched * \param callback The function being called when the hint value changes * \param userdata A pointer being passed to the callback function */

procedure SDL_ClearHints(); cdecl; external SDL_LibName;

/** * \brief Clear all hints * * This function is called during SDL_Quit() to free stored hints. */

function SDL_ShowMessageBox(messageboxdata: PSDL_MessageBoxData; buttonid: PInt): Integer; cdecl; external SDL_LibName;

** * Create a modal message box. * * messageboxdata The SDL_MessageBoxData structure with title, text, etc. * buttonid The pointer to which user id of hit button should be copied. * * -1 on error, otherwise 0 and buttonid contains user id of button * hit or -1 if dialog was closed. * * This function should be called on the thread that created the parent * window, or on the main thread if the messagebox has no parent. It will * block execution of that thread until the user clicks a button or * closes the messagebox. *

function SDL_ShowSimpleMessageBox(flags: UInt32; title: PChar; _message: PChar; window: PSDL_Window): Integer; cdecl; external SDL_LibName;

** * Create a simple modal message box * * flags SDL_MessageBoxFlags * title UTF-8 title text * message UTF-8 message text * window The parent window, or NULL for no parent * * 0 on success, -1 on error * * SDL_ShowMessageBox *

function SDL_Swap32(D: Uint32): Uint32;
function SDLStreamSetup( stream : TStream ) : PSDL_RWops;
function LoadSDLBMPFromStream( Stream : TStream ) : PSDL_Surface;
procedure SaveSDLBMPToStream( SDL_Surface : PSDL_Surface; stream : TStream );
procedure SDLStreamCloseRWops( SDL_RWops : PSDL_RWops );

Types

DWord = LongWord;
Float = Single;
PFloat = ˆFloat;
PInt = ˆLongInt;
PPSDL_Renderer = ˆPSDL_Renderer;

** * A structure representing rendering state *

PPSDL_Window = ˆPSDL_Window;
PPUInt8 = ˆPUInt8;
PSDLPantalla = ˆTSDLPantalla;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// *** KTI *** //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// SDLPantalla contiene la ventana SDL el Render donde se pinta y el zoom de los ejes X e Y

PSDL_AudioCVT = ˆTSDL_AudioCVT;
PSDL_AudioSpec = ˆTSDL_AudioSpec;

** * The calculated values in this structure are calculated by SDL_OpenAudio(). *

PSDL_BlendMode = ˆTSDL_BlendMode;

** * The blend mode used in SDL_RenderCopy() and drawing operations. *

PSDL_BlitMap = ˆTSDL_BlitMap;

** * A collection of pixels used in software blitting. * * This structure should be treated as read-only, except for \c pixels, * which, if not NULL, contains the raw pixel data for the surface. *

PSDL_Color = ˆTSDL_Color;
PSDL_Colour = ˆTSDL_Colour;
PSDL_Cond = Pointer;

* The SDL condition variable structure, defined in SDL_cond.c *

PSDL_Cursor = Pointer;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_mouse.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

PSDL_DisplayMode = ˆTSDL_DisplayMode;

** * The structure that defines a display mode * * SDL_GetNumDisplayModes() * SDL_GetDisplayMode() * SDL_GetDesktopDisplayMode() * SDL_GetCurrentDisplayMode() * SDL_GetClosestDisplayMode() * SDL_SetWindowDisplayMode() * SDL_GetWindowDisplayMode() *

PSDL_Event = ˆTSDL_Event;

** * General event structure *

PSDL_EventFilter = ˆTSDL_EventFilter;
PSDL_Finger = ˆTSDL_Finger;
PSDL_FingerID = ˆTSDL_FingerID;
PSDL_GameController = ˆTSDL_GameController;

* The gamecontroller structure used to identify an SDL game controller *

PSDL_Haptic = ˆTSDL_Haptic;

** * SDL_Haptic * * The haptic structure used to identify an SDL haptic. * * SDL_HapticOpen * SDL_HapticOpenFromJoystick * SDL_HapticClose *

PSDL_HapticEffect = ˆTSDL_HapticEffect;

** * The generic template for any haptic effect. * * All values max at 32767 (0x7FFF). Signed values also can be negative. * Time values unless specified otherwise are in milliseconds. * * You can also pass SDL_HAPTIC_INFINITY to length instead of a 0-32767 * value. Neither delay, interval, attack_length nor fade_length support * SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends. * * Additionally, the SDL_HAPTIC_RAMP effect does not support a duration of * SDL_HAPTIC_INFINITY. * * Button triggers may not be supported on all devices, it is advised to not * use them if possible. Buttons start at index 1 instead of index 0 like * the joystick. * * If both attack_length and fade_level are 0, the envelope is not used, * otherwise both values are used. * * Common parts: * * // Replay - All effects have this * Uint32 length; // Duration of effect (ms). * Uint16 delay; // Delay before starting effect. * * // Trigger - All effects have this * Uint16 button; // Button that triggers effect. * Uint16 interval; // How soon before effect can be triggered again. * * // Envelope - All effects except condition effects have this * Uint16 attack_length; // Duration of the attack (ms). * Uint16 attack_level; // Level at the start of the attack. * Uint16 fade_length; // Duration of the fade out (ms). * Uint16 fade_level; // Level at the end of the fade. * * * * Here we have an example of a constant effect evolution in time: * Strength ˆ | | effect level –> _________________ | / \ | / \ | / \ | / \ | attack_level –> | \ | | | <— fade_level | +————————————————–> Time [–] [—] attack_length fade_length

[——————][———————–] delay length

* * Note either the attack_level or the fade_level may be above the actual * effect level. * * SDL_HapticConstant * SDL_HapticPeriodic * SDL_HapticCondition * SDL_HapticRamp * SDL_HapticCustom *

PSDL_Joystick = Pointer;

* The joystick structure used to identify an SDL joystick *

PSDL_KeyCode = ˆTSDL_KeyCode;

** * The SDL virtual key representation. * * Values of this type are used to represent keyboard keys using the current * layout of the keyboard. These values include Unicode values representing * the unmodified character that would be generated by pressing the key, or * an SDLK_* constant for those keys that do not generate characters. *

PSDL_KeyMod = ˆTSDL_KeyMod;
PSDL_Keysym = ˆTSDL_Keysym;

** * The SDL keysym structure, used in key events. *

PSDL_MessageBoxButtonData = ˆTSDL_MessageBoxButtonData;

** * Individual button data. *

PSDL_MessageBoxColor = ˆTSDL_MessageBoxColor;

** * RGB value used in a message box color scheme *

PSDL_MessageBoxColorScheme = ˆTSDL_MessageBoxColorScheme;

** * A set of colors to use for message box dialogs *

PSDL_MessageBoxColorType = ˆTSDL_MessageBoxColorType;
PSDL_MessageBoxData = ˆTSDL_MessageBoxData;

** * MessageBox structure containing title, text, window, etc. *

PSDL_Mutex = ˆTSDL_Mutex;

PSDL_Mutex = Pointer; //todo!

PSDL_Palette = ˆTSDL_Palette;
PSDL_PixelFormat = ˆTSDL_PixelFormat;

** * Everything in the pixel format structure is read-only. *

PSDL_Point = ˆTSDL_Point;

** * The structure that defines a point * * SDL_EnclosePoints *

PSDL_Rect = ˆTSDL_Rect;

** * A rectangle, with the origin at the upper left. * * SDL_RectEmpty * SDL_RectEquals * SDL_HasIntersection * SDL_IntersectRect * SDL_UnionRect * SDL_EnclosePoints *

PSDL_Renderer = Pointer;
PSDL_RendererFlags = ˆTSDL_RendererFlags;

**< The renderer supports rendering to texture *

PSDL_RendererFlip = ˆTSDL_RendererFlip;

** * Flip constants for SDL_RenderCopyEx *

PSDL_RendererInfo = ˆTSDL_RendererInfo;

** * Information on the capabilities of a render driver or context. *

PSDL_RWops = ˆTSDL_RWops;

* Read-Only memory stream *

PSDL_ScanCode = ˆTSDL_ScanCode;

**< not a key, just marks the number of scancodes for array bounds *

PSDL_Sem = Pointer;

* The SDL semaphore structure, defined in SDL_sem.c *

PSDL_Surface = ˆTSDL_Surface;
PSDL_SystemCursor = ˆTSDL_SystemCursor;
PSDL_SysWMEvent = ˆTSDL_SysWMEvent;

** * A video driver dependent system event (event.syswm.*) * This event is disabled by default, you can enable it with SDL_EventState() * * If you want to use this event, you should include SDL_syswm.h. *

PSDL_SysWMinfo = ˆTSDL_SysWMinfo;

The Windows custom window manager information structure

PSDL_SysWMmsg = ˆTSDL_SysWMmsg;

The windows custom event structure

PSDL_Texture = Pointer;

** * An efficient driver-specific representation of pixel data *

PSDL_TextureAccess = ˆTSDL_TextureAccess;

** * The access pattern allowed for a texture. *

PSDL_TextureModulate = ˆTSDL_TextureModulate;

** * The texture channel modulation used in SDL_RenderCopy(). *

PSDL_Thread = ˆTSDL_Thread;

PSDL_Thread = Pointer;

PSDL_ThreadFunction = ˆTSDL_ThreadFunction;

* The function passed to SDL_CreateThread() It is passed a void* user context parameter and returns an int. *

PSDL_TouchID = ˆTSDL_TouchID;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_touch.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

PSDL_Version = ˆTSDL_Version;

** * Information the version of SDL in use. * * Represents the library's version as three levels: major revision * (increments with massive changes, additions, and enhancements), * minor revision (increments with backwards-compatible changes to the * major revision), and patchlevel (increments with fixes to the minor * revision). * * SDL_VERSION * SDL_GetVersion *

PSDL_Window = ˆTSDL_Window;
PSDL_WindowShapeMode = ˆTSDL_WindowShapeMode;

** A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents. *

PSDL_WindowShaper = ˆTSDL_WindowShaper;

* Define the SDL window-shaper structure *

PSDL_WindowUserData = ˆTSDL_WindowUserData;
PShortInt = ˆShortInt;
PSInt16 = ˆSInt16;
PSInt64 = ˆSInt64;
PSInt8 = ˆSInt8;
PUInt16 = ˆUInt16;
PUInt32 = ˆUInt32;
PUInt8 = ˆUInt8;
PUInt8Array = ˆTUInt8Array;
SDL_HintPriority = (...);

/** * \brief An enumeration of hint priorities */

Values
  • SDL_HINT_DEFAULT
  • SDL_HINT_NORMAL
  • SDL_HINT_OVERRIDE
SInt16 = smallint;
SInt32 = LongInt;
SInt64 = Int64;
SInt8 = Shortint;
size_t = UInt32;
TClose = function(context: PSDL_RWops): SInt32; cdecl;

** * Close and free an allocated SDL_RWops structure. * * 0 if successful or -1 on write error when flushing data. *

TpfnSDL_CurrentBeginThread = function(SecurityAttributes: Pointer; StackSize: LongWord; ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord; var ThreadId: TThreadID): Integer;
TpfnSDL_CurrentEndThread = procedure(ExitCode: Integer);
TRead = function(context: PSDL_RWops; ptr: Pointer; size: size_t; maxnum: size_t): size_t; cdecl;

** * Read up to maxnum objects each of size size from the data * stream to the area pointed at by ptr. * * the number of objects read, or 0 at error or end of file. *

TSDL_AudioCallback = procedure(userdata: Pointer; stream: PUInt8; len: Integer);

** * This function is called when the audio device needs more data. * * userdata An application-specific parameter saved in * the SDL_AudioSpec structure * stream A pointer to the audio data buffer. * len The length of that buffer in bytes. * * Once the callback returns, the buffer will no longer be valid. * Stereo samples are stored in a LRLRLR ordering. *

TSDL_AudioDeviceID = UInt32;

** * SDL Audio Device IDs. * * A successful call to SDL_OpenAudio() is always device id 1, and legacy * SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls * always returns devices >= 2 on success. The legacy calls are good both * for backwards compatibility and when you don't care about multiple, * specific, or capture devices. *

TSDL_AudioFilter = procedure(cvt: PSDL_AudioCVT; format: TSDL_AudioFormat);
TSDL_AudioFormat = UInt16;

** * Audio format flags. * * These are what the 16 bits in SDL_AudioFormat currently mean... * (Unspecified bits are always zero). * * ++———————–sample is signed if set || || ++———–sample is bigendian if set || || || || ++—sample is float if set || || || || || || +—sample bit size—+ || || || | | 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 * * There are macros in SDL 2.0 and later to query these bits. *

TSDL_AudioStatus = (...);

** * Audio state * * Get the current audio state. *

Values
  • SDL_AUDIO_STOPPED
  • SDL_AUDIO_PLAYING
  • SDL_AUDIO_PAUSED
TSDL_BlendMode = DWord;
TSDL_Blit = function(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): SInt32;

** * The type of function used for surface blitting functions. *

TSDL_Bool = (...);

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDLtype_s.h / SDL_stdinc.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

Values
  • SDL_FALSE
  • SDL_TRUE
TSDL_Colour = TSDL_Color;
TSDL_ErrorCode = (...);

#define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param))

Values
  • SDL_ENOMEM
  • SDL_EFREAD
  • SDL_EFWRITE
  • SDL_EFSEEK
  • SDL_UNSUPPORTED
  • SDL_LASTERROR
TSDL_EventAction = Word;
TSDL_EventFilter = function( event: PSDL_Event ): Integer; cdecl;
TSDL_EventType = Word;
TSDL_FingerID = SInt64;
TSDL_GameController = Pointer;
TSDL_GameControllerAxis = Byte;
TSDL_GameControllerBindType = (...);

todo

Values
  • SDL_CONTROLLER_BINDTYPE_NONE
  • SDL_CONTROLLER_BINDTYPE_BUTTON
  • SDL_CONTROLLER_BINDTYPE_AXIS
  • SDL_CONTROLLER_BINDTYPE_HAT
TSDL_GameControllerButton = Byte;
TSDL_GestureID = SInt64;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_gesture.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

TSDL_GLattr = DWord;
TSDL_GLContext = Pointer;

** * An opaque handle to an OpenGL context. *

TSDL_GLcontextFlag = DWord;
TSDL_GLprofile = DWord;
TSDL_HintCallback = procedure(userdata: Pointer; const name: PChar; const oldValue: PChar; const newValue: PChar);

/** * \brief Add a function to watch a particular hint * * \param name The hint to watch * \param callback The function to call when the hint value changes * \param userdata A pointer to pass to the callback function */

TSDL_JoystickID = SInt32;
TSDL_KeyCode = SInt32;
TSDL_KeyMod = Word;
TSDL_MessageBoxButtonFlags = Byte;

**< Marks the default button when escape is hit *

TSDL_MessageBoxColorType = (...);
Values
  • SDL_MESSAGEBOX_COLOR_BACKGROUND
  • SDL_MESSAGEBOX_COLOR_TEXT
  • SDL_MESSAGEBOX_COLOR_BUTTON_BORDER
  • SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND
  • SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED
  • SDL_MESSAGEBOX_COLOR_MAX
TSDL_MessageBoxFlags = Byte;

**< informational dialog *

TSDL_PowerState = (...);

** * The basic state for the system's power supply. *

Values
  • SDL_POWERSTATE_UNKNOWN
  • SDL_POWERSTATE_ON_BATTERY: **< cannot determine power status *
  • SDL_POWERSTATE_NO_BATTERY: **< Not plugged in, running on the battery *
  • SDL_POWERSTATE_CHARGING: **< Plugged in, no battery available *
  • SDL_POWERSTATE_CHARGED: **< Plugged in, charging battery *
TSDL_RendererFlags = Word;
TSDL_RendererFlip = (...);
Values
  • SDL_FLIP_NONE
  • SDL_FLIP_HORIZONTAL: **< Do not flip *
  • SDL_FLIP_VERTICAL: **< flip horizontally *
TSDL_ScanCode = DWord;
TSDL_SystemCursor = Word;
TSDL_TextureAccess = (...);
Values
  • SDL_TEXTUREACCESS_STATIC
  • SDL_TEXTUREACCESS_STREAMING: **< Changes rarely, not lockable *
  • SDL_TEXTUREACCESS_TARGET: **< Changes frequently, lockable *
TSDL_TextureModulate = (...);
Values
  • SDL_TEXTUREMODULATE_NONE
  • SDL_TEXTUREMODULATE_COLOR: **< No modulation *
  • SDL_TEXTUREMODULATE_ALPHA: **< srcC = srcC * color *
TSDL_ThreadFunction = function(data: Pointer): Integer; cdecl;
TSDL_ThreadID = LongWord;

* The SDL thread ID *

TSDL_ThreadPriority = (...);

* The SDL thread priority * * Note: On many systems you require special privileges to set high priority. *

Values
  • SDL_THREAD_PRIORITY_LOW
  • SDL_THREAD_PRIORITY_NORMAL
  • SDL_THREAD_PRIORITY_HIGH
TSDL_TimerCallback = function(interval: UInt32; param: Pointer): UInt32;

** * Function prototype for the timer callback function. * * The callback function is passed the current timer interval and returns * the next timer interval. If the returned value is the same as the one * passed in, the periodic alarm continues, otherwise a new alarm is * scheduled. If the callback returns 0, the periodic alarm is cancelled. *

TSDL_TimerID = SInt32;

** * Definition of the timer ID type. *

TSDL_TLSID = Cardinal;
TSDL_TouchID = SInt64;
TSDL_WindowEventID = DWord;

**< The window manager requests that the window be closed *

TSDL_WindowFlags = DWord;

**< window not created by SDL *

TSeek = function(context: PSDL_RWops; offset: SInt64; whence: SInt32): SInt64; cdecl;

** * Seek to offset relative to whence, one of stdio's whence values: * RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END * * the final offset in the data stream, or -1 on error. *

TSize = function(context: PSDL_RWops): SInt64; cdecl;

** * Return the size of the file in this rwops, or -1 if unknown *

TThreadID = Cardinal;

** * SDL_thread.h * * We compile SDL into a DLL. This means, that it's the DLL which * creates a new thread for the calling process with the SDL_CreateThread() * API. There is a problem with this, that only the RTL of the SDL.DLL will * be initialized for those threads, and not the RTL of the calling * application! * * To solve this, we make a little hack here. * * We'll always use the caller's _beginthread() and _endthread() APIs to * start a new thread. This way, if it's the SDL.DLL which uses this API, * then the RTL of SDL.DLL will be used to create the new thread, and if it's * the application, then the RTL of the application will be used. * * So, in short: * Always use the _beginthread() and _endthread() of the calling runtime * library! *

TUInt8Array = array [0..MAXINT shr 1] of UInt8;
TWindowShapeMode = (...);

** An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. *

Values
  • ShapeModeDefault: ** The default mode, a binarized alpha cutoff of 1. *
  • ShapeModeBinarizeAlpha: ** A binarized alpha cutoff with a given integer value. *
  • ShapeModeReverseBinarizeAlpha: ** A binarized alpha cutoff with a given integer value, but with the opposite comparison. *
  • ShapeModeColorKey: ** A color key is applied. *
TWrite = function(context: PSDL_RWops; const ptr: Pointer; size: size_t; num: size_t): size_t; cdecl;

** * Write exactly num objects each of size size from the area * pointed at by ptr to data stream. * * the number of objects written, or 0 at error or end of file. *

UInt16 = word;
UInt32 = Cardinal;
UInt8 = Byte;

Constants

SDL_LibName = 'sdl2_32.dll';
SDL_MAJOR_VERSION = 2;

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_MINOR_VERSION = 0;
SDL_PATCHLEVEL = 0;
ERR_MAX_STRLEN = 128;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_error.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

ERR_MAX_ARGS = 5;
SDL_RWOPS_UNKNOWN = 0;

* RWops Types *

SDL_RWOPS_WINFILE = 1;

* Unknown stream type *

SDL_RWOPS_STDFILE = 2;

* Win32 file *

SDL_RWOPS_JNIFILE = 3;

* Stdio file *

SDL_RWOPS_MEMORY = 4;

* Android asset *

SDL_RWOPS_MEMORY_RO = 5;

* Memory stream *

RW_SEEK_SET = 0;
RW_SEEK_CUR = 1;

**< Seek from the beginning of data *

RW_SEEK_END = 2;

**< Seek relative to current read point *

SDL_AUDIO_MASK_BITSIZE = ($FF);

** * Audio flags *

SDL_AUDIO_MASK_DATATYPE = (1 shl 8);
SDL_AUDIO_MASK_ENDIAN = (1 shl 12);
SDL_AUDIO_MASK_SIGNED = (1 shl 15);
AUDIO_U8 = $0008;

** * Audio format flags * * Defaults to LSB byte order. *

AUDIO_S8 = $8008;

**< Unsigned 8-bit samples *

AUDIO_U16LSB = $0010;

**< Signed 8-bit samples *

AUDIO_S16LSB = $8010;

**< Unsigned 16-bit samples *

AUDIO_U16MSB = $1010;

**< Signed 16-bit samples *

AUDIO_S16MSB = $9010;

**< As above, but big-endian byte order *

AUDIO_U16 = AUDIO_U16LSB;

**< As above, but big-endian byte order *

AUDIO_S16 = AUDIO_S16LSB;
AUDIO_S32LSB = $8020;

** * int32 support *

AUDIO_S32MSB = $9020;

**< 32-bit integer samples *

AUDIO_S32 = AUDIO_S32LSB;

**< As above, but big-endian byte order *

AUDIO_F32LSB = $8120;

** * float32 support *

AUDIO_F32MSB = $9120;

**< 32-bit floating point samples *

AUDIO_F32 = AUDIO_F32LSB;

**< As above, but big-endian byte order *

SDL_AUDIO_ALLOW_FREQUENCY_CHANGE = $00000001;

** * Allow change flags * * Which audio format changes are allowed when opening a device. *

SDL_AUDIO_ALLOW_FORMAT_CHANGE = $00000002;
SDL_AUDIO_ALLOW_CHANNELS_CHANGE = $00000004;
SDL_AUDIO_ALLOW_ANY_CHANGE = (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE or SDL_AUDIO_ALLOW_FORMAT_CHANGE or SDL_AUDIO_ALLOW_CHANNELS_CHANGE);
SDL_MIX_MAXVOLUME = 128;
SDL_MUTEX_TIMEDOUT = 1;

** * Synchronization functions which can time out return this value * if they time out. *

SDL_ALPHA_OPAQUE = 255;

** * Transparency definitions * * These define alpha as the opacity of a surface. *

SDL_ALPHA_TRANSPARENT = 0;
SDL_PIXELTYPE_UNKNOWN = 0;

** Pixel type. *

SDL_PIXELTYPE_INDEX1 = 1;
SDL_PIXELTYPE_INDEX4 = 2;
SDL_PIXELTYPE_INDEX8 = 3;
SDL_PIXELTYPE_PACKED8 = 4;
SDL_PIXELTYPE_PACKED16 = 5;
SDL_PIXELTYPE_PACKED32 = 6;
SDL_PIXELTYPE_ARRAYU8 = 7;
SDL_PIXELTYPE_ARRAYU16 = 8;
SDL_PIXELTYPE_ARRAYU32 = 9;
SDL_PIXELTYPE_ARRAYF16 = 10;
SDL_PIXELTYPE_ARRAYF32 = 11;
SDL_BITMAPORDER_NONE = 0;

** Bitmap pixel order, high bit -> low bit. *

SDL_BITMAPORDER_4321 = 1;
SDL_BITMAPORDER_1234 = 2;
SDL_PACKEDORDER_NONE = 0;

** Packed component order, high bit -> low bit. *

SDL_PACKEDORDER_XRGB = 1;
SDL_PACKEDORDER_RGBX = 2;
SDL_PACKEDORDER_ARGB = 3;
SDL_PACKEDORDER_RGBA = 4;
SDL_PACKEDORDER_XBGR = 5;
SDL_PACKEDORDER_BGRX = 6;
SDL_PACKEDORDER_ABGR = 7;
SDL_PACKEDORDER_BGRA = 8;
SDL_ARRAYORDER_NONE = 0;

** Array component order, low byte -> high byte. *

SDL_ARRAYORDER_RGB = 1;
SDL_ARRAYORDER_RGBA = 2;
SDL_ARRAYORDER_ARGB = 3;
SDL_ARRAYORDER_BGR = 4;
SDL_ARRAYORDER_BGRA = 5;
SDL_ARRAYORDER_ABGR = 6;
SDL_PACKEDLAYOUT_NONE = 0;

** Packed component layout. *

SDL_PACKEDLAYOUT_332 = 1;
SDL_PACKEDLAYOUT_4444 = 2;
SDL_PACKEDLAYOUT_1555 = 3;
SDL_PACKEDLAYOUT_5551 = 4;
SDL_PACKEDLAYOUT_565 = 5;
SDL_PACKEDLAYOUT_8888 = 6;
SDL_PACKEDLAYOUT_2101010 = 7;
SDL_PACKEDLAYOUT_1010102 = 8;
SDL_PIXELFORMAT_UNKNOWN = 0;

#define SDL_BYTESPERPIXEL(X) \ (SDL_ISPIXELFORMAT_FOURCC(X) ? \ ((((X) == SDL_PIXELFORMAT_YUY2) || \ ((X) == SDL_PIXELFORMAT_UYVY) || \ ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))

#define SDL_ISPIXELFORMAT_INDEXED(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))

#define SDL_ISPIXELFORMAT_ALPHA(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA)))

function SDL_IsPixelFormat_FOURCC(format: Variant);

{* Note: If you modify this list, update SDL_GetPixelFormatName() *

SDL_PIXELFORMAT_INDEX1LSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX1 shl 24) or (SDL_BITMAPORDER_4321 shl 20) or (0 shl 16) or (1 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX1MSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX1 shl 24) or (SDL_BITMAPORDER_1234 shl 20) or (0 shl 16) or (1 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX4LSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX4 shl 24) or (SDL_BITMAPORDER_4321 shl 20) or (0 shl 16) or (4 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX4MSB = (1 shl 28) or (SDL_PIXELTYPE_INDEX4 shl 24) or (SDL_BITMAPORDER_1234 shl 20) or (0 shl 16) or (4 shl 8) or (0 shl 0);
SDL_PIXELFORMAT_INDEX8 = (1 shl 28) or (SDL_PIXELTYPE_PACKED8 shl 24) or (0 shl 20) or (0 shl 16) or (8 shl 8) or (1 shl 0);
SDL_PIXELFORMAT_RGB332 = (1 shl 28) or (SDL_PIXELTYPE_PACKED8 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_332 shl 16) or (8 shl 8) or (1 shl 0);
SDL_PIXELFORMAT_RGB444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (12 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGB555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (15 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGR555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XBGR shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (15 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ARGB4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGBA4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_RGBA shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ABGR4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ABGR shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGRA4444 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_BGRA shl 20) or (SDL_PACKEDLAYOUT_4444 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ARGB1555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGBA5551 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_RGBA shl 20) or (SDL_PACKEDLAYOUT_5551 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_ABGR1555 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_ABGR shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGRA5551 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_BGRA shl 20) or (SDL_PACKEDLAYOUT_5551 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGB565 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_565 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_BGR565 = (1 shl 28) or (SDL_PIXELTYPE_PACKED16 shl 24) or (SDL_PACKEDORDER_XBGR shl 20) or (SDL_PACKEDLAYOUT_1555 shl 16) or (16 shl 8) or (2 shl 0);
SDL_PIXELFORMAT_RGB24 = (1 shl 28) or (SDL_PIXELTYPE_ARRAYU8 shl 24) or (SDL_ARRAYORDER_RGB shl 20) or (0 shl 16) or (24 shl 8) or (3 shl 0);
SDL_PIXELFORMAT_BGR24 = (1 shl 28) or (SDL_PIXELTYPE_ARRAYU8 shl 24) or (SDL_ARRAYORDER_BGR shl 20) or (0 shl 16) or (24 shl 8) or (3 shl 0);
SDL_PIXELFORMAT_RGB888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_XRGB shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_RGBX8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_RGBX shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_BGR888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_XBGR shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_BGRX8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_BGRX shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (24 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_ARGB8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_RGBA8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_RGBA shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_ABGR8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_ABGR shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_BGRA8888 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_RGBX shl 20) or (SDL_PACKEDLAYOUT_8888 shl 16) or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_ARGB2101010 = (1 shl 28) or (SDL_PIXELTYPE_PACKED32 shl 24) or (SDL_PACKEDORDER_ARGB shl 20) or (SDL_PACKEDLAYOUT_2101010 shl 16)or (32 shl 8) or (4 shl 0);
SDL_PIXELFORMAT_YV12 = (Integer('Y') ) or (Integer('V') shl 8) or (Integer('1') shl 16) or (Integer('2') shl 24);

**< Planar mode: Y + V + U (3 planes) *

SDL_PIXELFORMAT_IYUV = (Integer('I') ) or (Integer('Y') shl 8) or (Integer('U') shl 16) or (Integer('V') shl 24);

**< Planar mode: Y + U + V (3 planes) *

SDL_PIXELFORMAT_YUY2 = (Integer('Y') ) or (Integer('U') shl 8) or (Integer('Y') shl 16) or (Integer('2') shl 24);

**< Packed mode: Y0+U0+Y1+V0 (1 plane) *

SDL_PIXELFORMAT_UYVY = (Integer('U') ) or (Integer('Y') shl 8) or (Integer('V') shl 16) or (Integer('Y') shl 24);

**< Packed mode: U0+Y0+V0+Y1 (1 plane) *

SDL_PIXELFORMAT_YVYU = (Integer('Y') ) or (Integer('V') shl 8) or (Integer('Y') shl 16) or (Integer('U') shl 24);

**< Packed mode: Y0+V0+Y1+U0 (1 plane) *

SDL_BLENDMODE_NONE = $00000000;
SDL_BLENDMODE_BLEND = $00000001;

**< No blending *

SDL_BLENDMODE_ADD = $00000002;

**< dst = (src * A) + (dst * (1-A)) *

SDL_BLENDMODE_MOD = $00000004;

**< dst = (src * A) + dst *

SDL_SWSURFACE = 0;

** * Surface flags * * These are the currently supported flags for the ::SDL_surface. * * Used internally (read-only). *

SDL_PREALLOC = $00000001;

**< Just here for compatibility *

SDL_RLEACCEL = $00000002;

**< Surface uses preallocated memory *

SDL_DONTFREE = $00000004;

**< Surface is RLE encoded *

SDL_NONSHAPEABLE_WINDOW = -1;

** SDL_shape.h * * Header file for the shaped window API. *

SDL_INVALID_SHAPE_ARGUMENT = -2;
SDL_WINDOW_LACKS_SHAPE = -3;
SDL_WINDOW_FULLSCREEN = $00000001;

** * The flags on a window * * SDL_GetWindowFlags() *

SDL_WINDOW_OPENGL = $00000002;

**< fullscreen window *

SDL_WINDOW_SHOWN = $00000004;

**< window usable with OpenGL context *

SDL_WINDOW_HIDDEN = $00000008;

**< window is visible *

SDL_WINDOW_BORDERLESS = $00000010;

**< window is not visible *

SDL_WINDOW_RESIZABLE = $00000020;

**< no window decoration *

SDL_WINDOW_MINIMIZED = $00000040;

**< window can be resized *

SDL_WINDOW_MAXIMIZED = $00000080;

**< window is minimized *

SDL_WINDOW_INPUT_GRABBED = $00000100;

**< window is maximized *

SDL_WINDOW_INPUT_FOCUS = $00000200;

**< window has grabbed input focus *

SDL_WINDOW_MOUSE_FOCUS = $00000400;

**< window has input focus *

SDL_WINDOW_FULLSCREEN_DESKTOP = SDL_WINDOW_FULLSCREEN or $00001000;

**< window has mouse focus *

SDL_WINDOW_FOREIGN = $00000800;
SDL_WINDOWPOS_UNDEFINED_MASK = $1FFF0000;

** * Used to indicate that you don't care what the window position is. *

SDL_WINDOWPOS_UNDEFINED = SDL_WINDOWPOS_UNDEFINED_MASK or 0;
SDL_WINDOWPOS_CENTERED_MASK = $2FFF0000;

** * Used to indicate that the window position should be centered. *

SDL_WINDOWPOS_CENTERED = SDL_WINDOWPOS_CENTERED_MASK or 0;
SDL_WINDOWEVENT_NONE = 0;

** * Event subtype for window events *

SDL_WINDOWEVENT_SHOWN = 1;

**< Never used *

SDL_WINDOWEVENT_HIDDEN = 2;

**< Window has been shown *

SDL_WINDOWEVENT_EXPOSED = 3;

**< Window has been hidden *

SDL_WINDOWEVENT_MOVED = 4;

**< Window has been exposed and should be redrawn *

SDL_WINDOWEVENT_RESIZED = 5;

**< Window has been moved to data1; data2 *

SDL_WINDOWEVENT_SIZE_CHANGED = 6;

**< Window has been resized to data1xdata2 *

SDL_WINDOWEVENT_MINIMIZED = 7;

**< The window size has changed; either as a result of an API call or through the system or user changing the window size. *

SDL_WINDOWEVENT_MAXIMIZED = 8;

**< Window has been minimized *

SDL_WINDOWEVENT_RESTORED = 9;

**< Window has been maximized *

SDL_WINDOWEVENT_ENTER = 10;

**< Window has been restored to normal size and position *

SDL_WINDOWEVENT_LEAVE = 11;

**< Window has gained mouse focus *

SDL_WINDOWEVENT_FOCUS_GAINED = 12;

**< Window has lost mouse focus *

SDL_WINDOWEVENT_FOCUS_LOST = 13;

**< Window has gained keyboard focus *

SDL_WINDOWEVENT_CLOSE = 14;

**< Window has lost keyboard focus *

SDL_GL_RED_SIZE = 0;

** * OpenGL configuration attributes *

SDL_GL_GREEN_SIZE = 1;
SDL_GL_BLUE_SIZE = 2;
SDL_GL_ALPHA_SIZE = 3;
SDL_GL_BUFFER_SIZE = 4;
SDL_GL_DOUBLEBUFFER = 5;
SDL_GL_DEPTH_SIZE = 6;
SDL_GL_STENCIL_SIZE = 7;
SDL_GL_ACCUM_RED_SIZE = 8;
SDL_GL_ACCUM_GREEN_SIZE = 9;
SDL_GL_ACCUM_BLUE_SIZE = 10;
SDL_GL_ACCUM_ALPHA_SIZE = 11;
SDL_GL_STEREO = 12;
SDL_GL_MULTISAMPLEBUFFERS = 13;
SDL_GL_MULTISAMPLESAMPLES = 14;
SDL_GL_ACCELERATED_VISUAL = 15;
SDL_GL_RETAINED_BACKING = 16;
SDL_GL_CONTEXT_MAJOR_VERSION = 17;
SDL_GL_CONTEXT_MINOR_VERSION = 18;
SDL_GL_CONTEXT_EGL = 19;
SDL_GL_CONTEXT_FLAGS = 20;
SDL_GL_CONTEXT_PROFILE_MASK = 21;
SDL_GL_SHARE_WITH_CURRENT_CONTEXT = 22;
SDL_GL_CONTEXT_PROFILE_CORE = $0001;
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = $0002;
SDL_GL_CONTEXT_PROFILE_ES = $0004;
SDL_GL_CONTEXT_DEBUG_FLAG = $0001;
SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = $0002;
SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG = $0004;
SDL_GL_CONTEXT_RESET_ISOLATION_FLAG = $0008;
SDL_RENDERER_SOFTWARE = $00000001;

** * Flags used when creating a rendering context *

SDL_RENDERER_ACCELERATED = $00000002;

**< The renderer is a software fallback *

SDL_RENDERER_PRESENTVSYNC = $00000004;

**< The renderer uses hardware acceleration *

SDL_RENDERER_TARGETTEXTURE = $00000008;

**< Present is synchronized with the refresh rate *

SDL_SCANCODE_UNKNOWN = 0;

** * The SDL keyboard scancode representation. * * Values of this type are used to represent keyboard keys, among other places * in the SDL_Keysym.scancode key.keysym.scancode \endlink field of the * SDL_Event structure. * * The values in this enumeration are based on the USB usage page standard: * http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf *

SDL_SCANCODE_A = 4;

** * Usage page $07 * * These values are from usage page $07 (USB keyboard page). *

SDL_SCANCODE_B = 5;
SDL_SCANCODE_C = 6;
SDL_SCANCODE_D = 7;
SDL_SCANCODE_E = 8;
SDL_SCANCODE_F = 9;
SDL_SCANCODE_G = 10;
SDL_SCANCODE_H = 11;
SDL_SCANCODE_I = 12;
SDL_SCANCODE_J = 13;
SDL_SCANCODE_K = 14;
SDL_SCANCODE_L = 15;
SDL_SCANCODE_M = 16;
SDL_SCANCODE_N = 17;
SDL_SCANCODE_O = 18;
SDL_SCANCODE_P = 19;
SDL_SCANCODE_Q = 20;
SDL_SCANCODE_R = 21;
SDL_SCANCODE_S = 22;
SDL_SCANCODE_T = 23;
SDL_SCANCODE_U = 24;
SDL_SCANCODE_V = 25;
SDL_SCANCODE_W = 26;
SDL_SCANCODE_X = 27;
SDL_SCANCODE_Y = 28;
SDL_SCANCODE_Z = 29;
SDL_SCANCODE_1 = 30;
SDL_SCANCODE_2 = 31;
SDL_SCANCODE_3 = 32;
SDL_SCANCODE_4 = 33;
SDL_SCANCODE_5 = 34;
SDL_SCANCODE_6 = 35;
SDL_SCANCODE_7 = 36;
SDL_SCANCODE_8 = 37;
SDL_SCANCODE_9 = 38;
SDL_SCANCODE_0 = 39;
SDL_SCANCODE_RETURN = 40;
SDL_SCANCODE_ESCAPE = 41;
SDL_SCANCODE_BACKSPACE = 42;
SDL_SCANCODE_TAB = 43;
SDL_SCANCODE_SPACE = 44;
SDL_SCANCODE_MINUS = 45;
SDL_SCANCODE_EQUALS = 46;
SDL_SCANCODE_LEFTBRACKET = 47;
SDL_SCANCODE_RIGHTBRACKET = 48;
SDL_SCANCODE_BACKSLASH = 49;
SDL_SCANCODE_NONUSHASH = 50;

**< Located at the lower left of the return * key on ISO keyboards and at the right end * of the QWERTY row on ANSI keyboards. * Produces REVERSE SOLIDUS (backslash) and * VERTICAL LINE in a US layout; REVERSE * SOLIDUS and VERTICAL LINE in a UK Mac * layout; NUMBER SIGN and TILDE in a UK * Windows layout; DOLLAR SIGN and POUND SIGN * in a Swiss German layout; NUMBER SIGN and * APOSTROPHE in a German layout; GRAVE * ACCENT and POUND SIGN in a French Mac * layout; and ASTERISK and MICRO SIGN in a * French Windows layout. *

SDL_SCANCODE_SEMICOLON = 51;

**< ISO USB keyboards actually use this code * instead of 49 for the same key; but all * OSes I've seen treat the two codes * identically. So; as an implementor; unless * your keyboard generates both of those * codes and your OS treats them differently; * you should generate SDL_SCANCODE_BACKSLASH * instead of this code. As a user; you * should not rely on this code because SDL * will never generate it with most (all?) * keyboards. *

SDL_SCANCODE_APOSTROPHE = 52;
SDL_SCANCODE_GRAVE = 53;
SDL_SCANCODE_COMMA = 54;

**< Located in the top left corner (on both ANSI * and ISO keyboards). Produces GRAVE ACCENT and * TILDE in a US Windows layout and in US and UK * Mac layouts on ANSI keyboards; GRAVE ACCENT * and NOT SIGN in a UK Windows layout; SECTION * SIGN and PLUS-MINUS SIGN in US and UK Mac * layouts on ISO keyboards; SECTION SIGN and * DEGREE SIGN in a Swiss German layout (Mac: * only on ISO keyboards); CIRCUMFLEX ACCENT and * DEGREE SIGN in a German layout (Mac: only on * ISO keyboards); SUPERSCRIPT TWO and TILDE in a * French Windows layout; COMMERCIAL AT and * NUMBER SIGN in a French Mac layout on ISO * keyboards; and LESS-THAN SIGN and GREATER-THAN * SIGN in a Swiss German; German; or French Mac * layout on ANSI keyboards. *

SDL_SCANCODE_PERIOD = 55;
SDL_SCANCODE_SLASH = 56;
SDL_SCANCODE_CAPSLOCK = 57;
SDL_SCANCODE_F1 = 58;
SDL_SCANCODE_F2 = 59;
SDL_SCANCODE_F3 = 60;
SDL_SCANCODE_F4 = 61;
SDL_SCANCODE_F5 = 62;
SDL_SCANCODE_F6 = 63;
SDL_SCANCODE_F7 = 64;
SDL_SCANCODE_F8 = 65;
SDL_SCANCODE_F9 = 66;
SDL_SCANCODE_F10 = 67;
SDL_SCANCODE_F11 = 68;
SDL_SCANCODE_F12 = 69;
SDL_SCANCODE_PRINTSCREEN = 70;
SDL_SCANCODE_SCROLLLOCK = 71;
SDL_SCANCODE_PAUSE = 72;
SDL_SCANCODE_INSERT = 73;
SDL_SCANCODE_HOME = 74;

**< insert on PC; help on some Mac keyboards (but does send code 73; not 117) *

SDL_SCANCODE_PAGEUP = 75;
SDL_SCANCODE_DELETE = 76;
SDL_SCANCODE_END = 77;
SDL_SCANCODE_PAGEDOWN = 78;
SDL_SCANCODE_RIGHT = 79;
SDL_SCANCODE_LEFT = 80;
SDL_SCANCODE_DOWN = 81;
SDL_SCANCODE_UP = 82;
SDL_SCANCODE_NUMLOCKCLEAR = 83;
SDL_SCANCODE_KP_DIVIDE = 84;

**< num lock on PC; clear on Mac keyboards *

SDL_SCANCODE_KP_MULTIPLY = 85;
SDL_SCANCODE_KP_MINUS = 86;
SDL_SCANCODE_KP_PLUS = 87;
SDL_SCANCODE_KP_ENTER = 88;
SDL_SCANCODE_KP_1 = 89;
SDL_SCANCODE_KP_2 = 90;
SDL_SCANCODE_KP_3 = 91;
SDL_SCANCODE_KP_4 = 92;
SDL_SCANCODE_KP_5 = 93;
SDL_SCANCODE_KP_6 = 94;
SDL_SCANCODE_KP_7 = 95;
SDL_SCANCODE_KP_8 = 96;
SDL_SCANCODE_KP_9 = 97;
SDL_SCANCODE_KP_0 = 98;
SDL_SCANCODE_KP_PERIOD = 99;
SDL_SCANCODE_NONUSBACKSLASH = 100;
SDL_SCANCODE_APPLICATION = 101;

**< This is the additional key that ISO * keyboards have over ANSI ones; * located between left shift and Y. * Produces GRAVE ACCENT and TILDE in a * US or UK Mac layout; REVERSE SOLIDUS * (backslash) and VERTICAL LINE in a * US or UK Windows layout; and * LESS-THAN SIGN and GREATER-THAN SIGN * in a Swiss German; German; or French * layout. *

SDL_SCANCODE_POWER = 102;

**< windows contextual menu; compose *

SDL_SCANCODE_KP_EQUALS = 103;

**< The USB document says this is a status flag; * not a physical key - but some Mac keyboards * do have a power key. *

SDL_SCANCODE_F13 = 104;
SDL_SCANCODE_F14 = 105;
SDL_SCANCODE_F15 = 106;
SDL_SCANCODE_F16 = 107;
SDL_SCANCODE_F17 = 108;
SDL_SCANCODE_F18 = 109;
SDL_SCANCODE_F19 = 110;
SDL_SCANCODE_F20 = 111;
SDL_SCANCODE_F21 = 112;
SDL_SCANCODE_F22 = 113;
SDL_SCANCODE_F23 = 114;
SDL_SCANCODE_F24 = 115;
SDL_SCANCODE_EXECUTE = 116;
SDL_SCANCODE_HELP = 117;
SDL_SCANCODE_MENU = 118;
SDL_SCANCODE_SELECT = 119;
SDL_SCANCODE_STOP = 120;
SDL_SCANCODE_AGAIN = 121;
SDL_SCANCODE_UNDO = 122;

**< redo *

SDL_SCANCODE_CUT = 123;
SDL_SCANCODE_COPY = 124;
SDL_SCANCODE_PASTE = 125;
SDL_SCANCODE_FIND = 126;
SDL_SCANCODE_MUTE = 127;
SDL_SCANCODE_VOLUMEUP = 128;
SDL_SCANCODE_VOLUMEDOWN = 129;
SDL_SCANCODE_KP_COMMA = 133;

* SDL_SCANCODE_LOCKINGSCROLLLOCK = 132; *

SDL_SCANCODE_KP_EQUALSAS400 = 134;
SDL_SCANCODE_INTERNATIONAL1 = 135;
SDL_SCANCODE_INTERNATIONAL2 = 136;

**< used on Asian keyboards; see footnotes in USB doc *

SDL_SCANCODE_INTERNATIONAL3 = 137;
SDL_SCANCODE_INTERNATIONAL4 = 138;

**< Yen *

SDL_SCANCODE_INTERNATIONAL5 = 139;
SDL_SCANCODE_INTERNATIONAL6 = 140;
SDL_SCANCODE_INTERNATIONAL7 = 141;
SDL_SCANCODE_INTERNATIONAL8 = 142;
SDL_SCANCODE_INTERNATIONAL9 = 143;
SDL_SCANCODE_LANG1 = 144;
SDL_SCANCODE_LANG2 = 145;

**< Hangul{English toggle *

SDL_SCANCODE_LANG3 = 146;

**< Hanja conversion *

SDL_SCANCODE_LANG4 = 147;

**< Katakana *

SDL_SCANCODE_LANG5 = 148;

**< Hiragana *

SDL_SCANCODE_LANG6 = 149;

**< Zenkaku{Hankaku *

SDL_SCANCODE_LANG7 = 150;

**< reserved *

SDL_SCANCODE_LANG8 = 151;

**< reserved *

SDL_SCANCODE_LANG9 = 152;

**< reserved *

SDL_SCANCODE_ALTERASE = 153;

**< reserved *

SDL_SCANCODE_SYSREQ = 154;

**< Erase-Eaze *

SDL_SCANCODE_CANCEL = 155;
SDL_SCANCODE_CLEAR = 156;
SDL_SCANCODE_PRIOR = 157;
SDL_SCANCODE_RETURN2 = 158;
SDL_SCANCODE_SEPARATOR = 159;
SDL_SCANCODE_OUT = 160;
SDL_SCANCODE_OPER = 161;
SDL_SCANCODE_CLEARAGAIN = 162;
SDL_SCANCODE_CRSEL = 163;
SDL_SCANCODE_EXSEL = 164;
SDL_SCANCODE_KP_00 = 176;
SDL_SCANCODE_KP_000 = 177;
SDL_SCANCODE_THOUSANDSSEPARATOR = 178;
SDL_SCANCODE_DECIMALSEPARATOR = 179;
SDL_SCANCODE_CURRENCYUNIT = 180;
SDL_SCANCODE_CURRENCYSUBUNIT = 181;
SDL_SCANCODE_KP_LEFTPAREN = 182;
SDL_SCANCODE_KP_RIGHTPAREN = 183;
SDL_SCANCODE_KP_LEFTBRACE = 184;
SDL_SCANCODE_KP_RIGHTBRACE = 185;
SDL_SCANCODE_KP_TAB = 186;
SDL_SCANCODE_KP_BACKSPACE = 187;
SDL_SCANCODE_KP_A = 188;
SDL_SCANCODE_KP_B = 189;
SDL_SCANCODE_KP_C = 190;
SDL_SCANCODE_KP_D = 191;
SDL_SCANCODE_KP_E = 192;
SDL_SCANCODE_KP_F = 193;
SDL_SCANCODE_KP_XOR = 194;
SDL_SCANCODE_KP_POWER = 195;
SDL_SCANCODE_KP_PERCENT = 196;
SDL_SCANCODE_KP_LESS = 197;
SDL_SCANCODE_KP_GREATER = 198;
SDL_SCANCODE_KP_AMPERSAND = 199;
SDL_SCANCODE_KP_DBLAMPERSAND = 200;
SDL_SCANCODE_KP_VERTICALBAR = 201;
SDL_SCANCODE_KP_DBLVERTICALBAR = 202;
SDL_SCANCODE_KP_COLON = 203;
SDL_SCANCODE_KP_HASH = 204;
SDL_SCANCODE_KP_SPACE = 205;
SDL_SCANCODE_KP_AT = 206;
SDL_SCANCODE_KP_EXCLAM = 207;
SDL_SCANCODE_KP_MEMSTORE = 208;
SDL_SCANCODE_KP_MEMRECALL = 209;
SDL_SCANCODE_KP_MEMCLEAR = 210;
SDL_SCANCODE_KP_MEMADD = 211;
SDL_SCANCODE_KP_MEMSUBTRACT = 212;
SDL_SCANCODE_KP_MEMMULTIPLY = 213;
SDL_SCANCODE_KP_MEMDIVIDE = 214;
SDL_SCANCODE_KP_PLUSMINUS = 215;
SDL_SCANCODE_KP_CLEAR = 216;
SDL_SCANCODE_KP_CLEARENTRY = 217;
SDL_SCANCODE_KP_BINARY = 218;
SDL_SCANCODE_KP_OCTAL = 219;
SDL_SCANCODE_KP_DECIMAL = 220;
SDL_SCANCODE_KP_HEXADECIMAL = 221;
SDL_SCANCODE_LCTRL = 224;
SDL_SCANCODE_LSHIFT = 225;
SDL_SCANCODE_LALT = 226;
SDL_SCANCODE_LGUI = 227;

**< alt; option *

SDL_SCANCODE_RCTRL = 228;

**< windows; command (apple); meta *

SDL_SCANCODE_RSHIFT = 229;
SDL_SCANCODE_RALT = 230;
SDL_SCANCODE_RGUI = 231;

**< alt gr; option *

SDL_SCANCODE_MODE = 257;

**< windows; command (apple); meta *

SDL_SCANCODE_AUDIONEXT = 258;

** * Usage page $0C * * These values are mapped from usage page $0C (USB consumer page). *

SDL_SCANCODE_AUDIOPREV = 259;
SDL_SCANCODE_AUDIOSTOP = 260;
SDL_SCANCODE_AUDIOPLAY = 261;
SDL_SCANCODE_AUDIOMUTE = 262;
SDL_SCANCODE_MEDIASELECT = 263;
SDL_SCANCODE_WWW = 264;
SDL_SCANCODE_MAIL = 265;
SDL_SCANCODE_CALCULATOR = 266;
SDL_SCANCODE_COMPUTER = 267;
SDL_SCANCODE_AC_SEARCH = 268;
SDL_SCANCODE_AC_HOME = 269;
SDL_SCANCODE_AC_BACK = 270;
SDL_SCANCODE_AC_FORWARD = 271;
SDL_SCANCODE_AC_STOP = 272;
SDL_SCANCODE_AC_REFRESH = 273;
SDL_SCANCODE_AC_BOOKMARKS = 274;
SDL_SCANCODE_BRIGHTNESSDOWN = 275;

** * Walther keys * * These are values that Christian Walther added (for mac keyboard?). *

SDL_SCANCODE_BRIGHTNESSUP = 276;
SDL_SCANCODE_DISPLAYSWITCH = 277;
SDL_SCANCODE_KBDILLUMTOGGLE = 278;

**< display mirroring{dual display switch; video mode switch *

SDL_SCANCODE_KBDILLUMDOWN = 279;
SDL_SCANCODE_KBDILLUMUP = 280;
SDL_SCANCODE_EJECT = 281;
SDL_SCANCODE_SLEEP = 282;
SDL_SCANCODE_APP1 = 283;
SDL_SCANCODE_APP2 = 284;
SDL_NUM_SCANCODES = 512;

* Add any other keys here. *

SDLK_SCANCODE_MASK = 1 shl 30;
SDLK_UNKNOWN = 0;
SDLK_RETURN = '\r';
SDLK_ESCAPE = '\033';
SDLK_BACKSPACE = '\b';
SDLK_TAB = '\t';
SDLK_SPACE = ' ';
SDLK_EXCLAIM = '!';
SDLK_QUOTEDBL = '"';
SDLK_HASH = '#';
SDLK_PERCENT = '%';
SDLK_DOLLAR = '$';
SDLK_AMPERSAND = '&';
SDLK_QUOTE = '\';
SDLK_LEFTPAREN = '(';
SDLK_RIGHTPAREN = ')';
SDLK_ASTERISK = '*';
SDLK_PLUS = '+';
SDLK_COMMA = ';';
SDLK_MINUS = '-';
SDLK_PERIOD = '.';
SDLK_SLASH = '/';
SDLK_0 = '0';
SDLK_1 = '1';
SDLK_2 = '2';
SDLK_3 = '3';
SDLK_4 = '4';
SDLK_5 = '5';
SDLK_6 = '6';
SDLK_7 = '7';
SDLK_8 = '8';
SDLK_9 = '9';
SDLK_COLON = ':';
SDLK_SEMICOLON = ';';
SDLK_LESS = '<';
SDLK_EQUALS = '=';
SDLK_GREATER = '>';
SDLK_QUESTION = '?';
SDLK_AT = '@';
SDLK_LEFTBRACKET = '[';

* Skip uppercase letters *

SDLK_BACKSLASH = '\\';
SDLK_RIGHTBRACKET = ']';
SDLK_CARET = 'ˆ';
SDLK_UNDERSCORE = '_';
SDLK_BACKQUOTE = '`';
SDLK_a = 'a';
SDLK_b = 'b';
SDLK_c = 'c';
SDLK_d = 'd';
SDLK_e = 'e';
SDLK_f = 'f';
SDLK_g = 'g';
SDLK_h = 'h';
SDLK_i = 'i';
SDLK_j = 'j';
SDLK_k = 'k';
SDLK_l = 'l';
SDLK_m = 'm';
SDLK_n = 'n';
SDLK_o = 'o';
SDLK_p = 'p';
SDLK_q = 'q';
SDLK_r = 'r';
SDLK_s = 's';
SDLK_t = 't';
SDLK_u = 'u';
SDLK_v = 'v';
SDLK_w = 'w';
SDLK_x = 'x';
SDLK_y = 'y';
SDLK_z = 'z';
SDLK_CAPSLOCK = SDL_SCANCODE_CAPSLOCK or SDLK_SCANCODE_MASK;
SDLK_F1 = SDL_SCANCODE_F1 or SDLK_SCANCODE_MASK;
SDLK_F2 = SDL_SCANCODE_F2 or SDLK_SCANCODE_MASK;
SDLK_F3 = SDL_SCANCODE_F3 or SDLK_SCANCODE_MASK;
SDLK_F4 = SDL_SCANCODE_F4 or SDLK_SCANCODE_MASK;
SDLK_F5 = SDL_SCANCODE_F5 or SDLK_SCANCODE_MASK;
SDLK_F6 = SDL_SCANCODE_F6 or SDLK_SCANCODE_MASK;
SDLK_F7 = SDL_SCANCODE_F7 or SDLK_SCANCODE_MASK;
SDLK_F8 = SDL_SCANCODE_F8 or SDLK_SCANCODE_MASK;
SDLK_F9 = SDL_SCANCODE_F9 or SDLK_SCANCODE_MASK;
SDLK_F10 = SDL_SCANCODE_F10 or SDLK_SCANCODE_MASK;
SDLK_F11 = SDL_SCANCODE_F11 or SDLK_SCANCODE_MASK;
SDLK_F12 = SDL_SCANCODE_F12 or SDLK_SCANCODE_MASK;
SDLK_PRINTSCREEN = SDL_SCANCODE_PRINTSCREEN or SDLK_SCANCODE_MASK;
SDLK_SCROLLLOCK = SDL_SCANCODE_SCROLLLOCK or SDLK_SCANCODE_MASK;
SDLK_PAUSE = SDL_SCANCODE_PAUSE or SDLK_SCANCODE_MASK;
SDLK_INSERT = SDL_SCANCODE_INSERT or SDLK_SCANCODE_MASK;
SDLK_HOME = SDL_SCANCODE_HOME or SDLK_SCANCODE_MASK;
SDLK_PAGEUP = SDL_SCANCODE_PAGEUP or SDLK_SCANCODE_MASK;
SDLK_DELETE = '\177';
SDLK_END = SDL_SCANCODE_END or SDLK_SCANCODE_MASK;
SDLK_PAGEDOWN = SDL_SCANCODE_PAGEDOWN or SDLK_SCANCODE_MASK;
SDLK_RIGHT = SDL_SCANCODE_RIGHT or SDLK_SCANCODE_MASK;
SDLK_LEFT = SDL_SCANCODE_LEFT or SDLK_SCANCODE_MASK;
SDLK_DOWN = SDL_SCANCODE_DOWN or SDLK_SCANCODE_MASK;
SDLK_UP = SDL_SCANCODE_UP or SDLK_SCANCODE_MASK;
SDLK_NUMLOCKCLEAR = SDL_SCANCODE_NUMLOCKCLEAR or SDLK_SCANCODE_MASK;
SDLK_KP_DIVIDE = SDL_SCANCODE_KP_DIVIDE or SDLK_SCANCODE_MASK;
SDLK_KP_MULTIPLY = SDL_SCANCODE_KP_MULTIPLY or SDLK_SCANCODE_MASK;
SDLK_KP_MINUS = SDL_SCANCODE_KP_MINUS or SDLK_SCANCODE_MASK;
SDLK_KP_PLUS = SDL_SCANCODE_KP_PLUS or SDLK_SCANCODE_MASK;
SDLK_KP_ENTER = SDL_SCANCODE_KP_ENTER or SDLK_SCANCODE_MASK;
SDLK_KP_1 = SDL_SCANCODE_KP_1 or SDLK_SCANCODE_MASK;
SDLK_KP_2 = SDL_SCANCODE_KP_2 or SDLK_SCANCODE_MASK;
SDLK_KP_3 = SDL_SCANCODE_KP_3 or SDLK_SCANCODE_MASK;
SDLK_KP_4 = SDL_SCANCODE_KP_4 or SDLK_SCANCODE_MASK;
SDLK_KP_5 = SDL_SCANCODE_KP_5 or SDLK_SCANCODE_MASK;
SDLK_KP_6 = SDL_SCANCODE_KP_6 or SDLK_SCANCODE_MASK;
SDLK_KP_7 = SDL_SCANCODE_KP_7 or SDLK_SCANCODE_MASK;
SDLK_KP_8 = SDL_SCANCODE_KP_8 or SDLK_SCANCODE_MASK;
SDLK_KP_9 = SDL_SCANCODE_KP_9 or SDLK_SCANCODE_MASK;
SDLK_KP_0 = SDL_SCANCODE_KP_0 or SDLK_SCANCODE_MASK;
SDLK_KP_PERIOD = SDL_SCANCODE_KP_PERIOD or SDLK_SCANCODE_MASK;
SDLK_APPLICATION = SDL_SCANCODE_APPLICATION or SDLK_SCANCODE_MASK;
SDLK_POWER = SDL_SCANCODE_POWER or SDLK_SCANCODE_MASK;
SDLK_KP_EQUALS = SDL_SCANCODE_KP_EQUALS or SDLK_SCANCODE_MASK;
SDLK_F13 = SDL_SCANCODE_F13 or SDLK_SCANCODE_MASK;
SDLK_F14 = SDL_SCANCODE_F14 or SDLK_SCANCODE_MASK;
SDLK_F15 = SDL_SCANCODE_F15 or SDLK_SCANCODE_MASK;
SDLK_F16 = SDL_SCANCODE_F16 or SDLK_SCANCODE_MASK;
SDLK_F17 = SDL_SCANCODE_F17 or SDLK_SCANCODE_MASK;
SDLK_F18 = SDL_SCANCODE_F18 or SDLK_SCANCODE_MASK;
SDLK_F19 = SDL_SCANCODE_F19 or SDLK_SCANCODE_MASK;
SDLK_F20 = SDL_SCANCODE_F20 or SDLK_SCANCODE_MASK;
SDLK_F21 = SDL_SCANCODE_F21 or SDLK_SCANCODE_MASK;
SDLK_F22 = SDL_SCANCODE_F22 or SDLK_SCANCODE_MASK;
SDLK_F23 = SDL_SCANCODE_F23 or SDLK_SCANCODE_MASK;
SDLK_F24 = SDL_SCANCODE_F24 or SDLK_SCANCODE_MASK;
SDLK_EXECUTE = SDL_SCANCODE_EXECUTE or SDLK_SCANCODE_MASK;
SDLK_HELP = SDL_SCANCODE_HELP or SDLK_SCANCODE_MASK;
SDLK_MENU = SDL_SCANCODE_MENU or SDLK_SCANCODE_MASK;
SDLK_SELECT = SDL_SCANCODE_SELECT or SDLK_SCANCODE_MASK;
SDLK_STOP = SDL_SCANCODE_STOP or SDLK_SCANCODE_MASK;
SDLK_AGAIN = SDL_SCANCODE_AGAIN or SDLK_SCANCODE_MASK;
SDLK_UNDO = SDL_SCANCODE_UNDO or SDLK_SCANCODE_MASK;
SDLK_CUT = SDL_SCANCODE_CUT or SDLK_SCANCODE_MASK;
SDLK_COPY = SDL_SCANCODE_COPY or SDLK_SCANCODE_MASK;
SDLK_PASTE = SDL_SCANCODE_PASTE or SDLK_SCANCODE_MASK;
SDLK_FIND = SDL_SCANCODE_FIND or SDLK_SCANCODE_MASK;
SDLK_MUTE = SDL_SCANCODE_MUTE or SDLK_SCANCODE_MASK;
SDLK_VOLUMEUP = SDL_SCANCODE_VOLUMEUP or SDLK_SCANCODE_MASK;
SDLK_VOLUMEDOWN = SDL_SCANCODE_VOLUMEDOWN or SDLK_SCANCODE_MASK;
SDLK_KP_COMMA = SDL_SCANCODE_KP_COMMA or SDLK_SCANCODE_MASK;
SDLK_KP_EQUALSAS400 = SDL_SCANCODE_KP_EQUALSAS400 or SDLK_SCANCODE_MASK;
SDLK_ALTERASE = SDL_SCANCODE_ALTERASE or SDLK_SCANCODE_MASK;
SDLK_SYSREQ = SDL_SCANCODE_SYSREQ or SDLK_SCANCODE_MASK;
SDLK_CANCEL = SDL_SCANCODE_CANCEL or SDLK_SCANCODE_MASK;
SDLK_CLEAR = SDL_SCANCODE_CLEAR or SDLK_SCANCODE_MASK;
SDLK_PRIOR = SDL_SCANCODE_PRIOR or SDLK_SCANCODE_MASK;
SDLK_RETURN2 = SDL_SCANCODE_RETURN2 or SDLK_SCANCODE_MASK;
SDLK_SEPARATOR = SDL_SCANCODE_SEPARATOR or SDLK_SCANCODE_MASK;
SDLK_OUT = SDL_SCANCODE_OUT or SDLK_SCANCODE_MASK;
SDLK_OPER = SDL_SCANCODE_OPER or SDLK_SCANCODE_MASK;
SDLK_CLEARAGAIN = SDL_SCANCODE_CLEARAGAIN or SDLK_SCANCODE_MASK;
SDLK_CRSEL = SDL_SCANCODE_CRSEL or SDLK_SCANCODE_MASK;
SDLK_EXSEL = SDL_SCANCODE_EXSEL or SDLK_SCANCODE_MASK;
SDLK_KP_00 = SDL_SCANCODE_KP_00 or SDLK_SCANCODE_MASK;
SDLK_KP_000 = SDL_SCANCODE_KP_000 or SDLK_SCANCODE_MASK;
SDLK_THOUSANDSSEPARATOR = SDL_SCANCODE_THOUSANDSSEPARATOR or SDLK_SCANCODE_MASK;
SDLK_DECIMALSEPARATOR = SDL_SCANCODE_DECIMALSEPARATOR or SDLK_SCANCODE_MASK;
SDLK_CURRENCYUNIT = SDL_SCANCODE_CURRENCYUNIT or SDLK_SCANCODE_MASK;
SDLK_CURRENCYSUBUNIT = SDL_SCANCODE_CURRENCYSUBUNIT or SDLK_SCANCODE_MASK;
SDLK_KP_LEFTPAREN = SDL_SCANCODE_KP_LEFTPAREN or SDLK_SCANCODE_MASK;
SDLK_KP_RIGHTPAREN = SDL_SCANCODE_KP_RIGHTPAREN or SDLK_SCANCODE_MASK;
SDLK_KP_LEFTBRACE = SDL_SCANCODE_KP_LEFTBRACE or SDLK_SCANCODE_MASK;
SDLK_KP_RIGHTBRACE = SDL_SCANCODE_KP_RIGHTBRACE or SDLK_SCANCODE_MASK;
SDLK_KP_TAB = SDL_SCANCODE_KP_TAB or SDLK_SCANCODE_MASK;
SDLK_KP_BACKSPACE = SDL_SCANCODE_KP_BACKSPACE or SDLK_SCANCODE_MASK;
SDLK_KP_A = SDL_SCANCODE_KP_A or SDLK_SCANCODE_MASK;
SDLK_KP_B = SDL_SCANCODE_KP_B or SDLK_SCANCODE_MASK;
SDLK_KP_C = SDL_SCANCODE_KP_C or SDLK_SCANCODE_MASK;
SDLK_KP_D = SDL_SCANCODE_KP_D or SDLK_SCANCODE_MASK;
SDLK_KP_E = SDL_SCANCODE_KP_E or SDLK_SCANCODE_MASK;
SDLK_KP_F = SDL_SCANCODE_KP_F or SDLK_SCANCODE_MASK;
SDLK_KP_XOR = SDL_SCANCODE_KP_XOR or SDLK_SCANCODE_MASK;
SDLK_KP_POWER = SDL_SCANCODE_KP_POWER or SDLK_SCANCODE_MASK;
SDLK_KP_PERCENT = SDL_SCANCODE_KP_PERCENT or SDLK_SCANCODE_MASK;
SDLK_KP_LESS = SDL_SCANCODE_KP_LESS or SDLK_SCANCODE_MASK;
SDLK_KP_GREATER = SDL_SCANCODE_KP_GREATER or SDLK_SCANCODE_MASK;
SDLK_KP_AMPERSAND = SDL_SCANCODE_KP_AMPERSAND or SDLK_SCANCODE_MASK;
SDLK_KP_DBLAMPERSAND = SDL_SCANCODE_KP_DBLAMPERSAND or SDLK_SCANCODE_MASK;
SDLK_KP_VERTICALBAR = SDL_SCANCODE_KP_VERTICALBAR or SDLK_SCANCODE_MASK;
SDLK_KP_DBLVERTICALBAR = SDL_SCANCODE_KP_DBLVERTICALBAR or SDLK_SCANCODE_MASK;
SDLK_KP_COLON = SDL_SCANCODE_KP_COLON or SDLK_SCANCODE_MASK;
SDLK_KP_HASH = SDL_SCANCODE_KP_HASH or SDLK_SCANCODE_MASK;
SDLK_KP_SPACE = SDL_SCANCODE_KP_SPACE or SDLK_SCANCODE_MASK;
SDLK_KP_AT = SDL_SCANCODE_KP_AT or SDLK_SCANCODE_MASK;
SDLK_KP_EXCLAM = SDL_SCANCODE_KP_EXCLAM or SDLK_SCANCODE_MASK;
SDLK_KP_MEMSTORE = SDL_SCANCODE_KP_MEMSTORE or SDLK_SCANCODE_MASK;
SDLK_KP_MEMRECALL = SDL_SCANCODE_KP_MEMRECALL or SDLK_SCANCODE_MASK;
SDLK_KP_MEMCLEAR = SDL_SCANCODE_KP_MEMCLEAR or SDLK_SCANCODE_MASK;
SDLK_KP_MEMADD = SDL_SCANCODE_KP_MEMADD or SDLK_SCANCODE_MASK;
SDLK_KP_MEMSUBTRACT = SDL_SCANCODE_KP_MEMSUBTRACT or SDLK_SCANCODE_MASK;
SDLK_KP_MEMMULTIPLY = SDL_SCANCODE_KP_MEMMULTIPLY or SDLK_SCANCODE_MASK;
SDLK_KP_MEMDIVIDE = SDL_SCANCODE_KP_MEMDIVIDE or SDLK_SCANCODE_MASK;
SDLK_KP_PLUSMINUS = SDL_SCANCODE_KP_PLUSMINUS or SDLK_SCANCODE_MASK;
SDLK_KP_CLEAR = SDL_SCANCODE_KP_CLEAR or SDLK_SCANCODE_MASK;
SDLK_KP_CLEARENTRY = SDL_SCANCODE_KP_CLEARENTRY or SDLK_SCANCODE_MASK;
SDLK_KP_BINARY = SDL_SCANCODE_KP_BINARY or SDLK_SCANCODE_MASK;
SDLK_KP_OCTAL = SDL_SCANCODE_KP_OCTAL or SDLK_SCANCODE_MASK;
SDLK_KP_DECIMAL = SDL_SCANCODE_KP_DECIMAL or SDLK_SCANCODE_MASK;
SDLK_KP_HEXADECIMAL = SDL_SCANCODE_KP_HEXADECIMAL or SDLK_SCANCODE_MASK;
SDLK_LCTRL = SDL_SCANCODE_LCTRL or SDLK_SCANCODE_MASK;
SDLK_LSHIFT = SDL_SCANCODE_LSHIFT or SDLK_SCANCODE_MASK;
SDLK_LALT = SDL_SCANCODE_LALT or SDLK_SCANCODE_MASK;
SDLK_LGUI = SDL_SCANCODE_LGUI or SDLK_SCANCODE_MASK;
SDLK_RCTRL = SDL_SCANCODE_RCTRL or SDLK_SCANCODE_MASK;
SDLK_RSHIFT = SDL_SCANCODE_RSHIFT or SDLK_SCANCODE_MASK;
SDLK_RALT = SDL_SCANCODE_RALT or SDLK_SCANCODE_MASK;
SDLK_RGUI = SDL_SCANCODE_RGUI or SDLK_SCANCODE_MASK;
SDLK_MODE = SDL_SCANCODE_MODE or SDLK_SCANCODE_MASK;
SDLK_AUDIONEXT = SDL_SCANCODE_AUDIONEXT or SDLK_SCANCODE_MASK;
SDLK_AUDIOPREV = SDL_SCANCODE_AUDIOPREV or SDLK_SCANCODE_MASK;
SDLK_AUDIOSTOP = SDL_SCANCODE_AUDIOSTOP or SDLK_SCANCODE_MASK;
SDLK_AUDIOPLAY = SDL_SCANCODE_AUDIOPLAY or SDLK_SCANCODE_MASK;
SDLK_AUDIOMUTE = SDL_SCANCODE_AUDIOMUTE or SDLK_SCANCODE_MASK;
SDLK_MEDIASELECT = SDL_SCANCODE_MEDIASELECT or SDLK_SCANCODE_MASK;
SDLK_WWW = SDL_SCANCODE_WWW or SDLK_SCANCODE_MASK;
SDLK_MAIL = SDL_SCANCODE_MAIL or SDLK_SCANCODE_MASK;
SDLK_CALCULATOR = SDL_SCANCODE_CALCULATOR or SDLK_SCANCODE_MASK;
SDLK_COMPUTER = SDL_SCANCODE_COMPUTER or SDLK_SCANCODE_MASK;
SDLK_AC_SEARCH = SDL_SCANCODE_AC_SEARCH or SDLK_SCANCODE_MASK;
SDLK_AC_HOME = SDL_SCANCODE_AC_HOME or SDLK_SCANCODE_MASK;
SDLK_AC_BACK = SDL_SCANCODE_AC_BACK or SDLK_SCANCODE_MASK;
SDLK_AC_FORWARD = SDL_SCANCODE_AC_FORWARD or SDLK_SCANCODE_MASK;
SDLK_AC_STOP = SDL_SCANCODE_AC_STOP or SDLK_SCANCODE_MASK;
SDLK_AC_REFRESH = SDL_SCANCODE_AC_REFRESH or SDLK_SCANCODE_MASK;
SDLK_AC_BOOKMARKS = SDL_SCANCODE_AC_BOOKMARKS or SDLK_SCANCODE_MASK;
SDLK_BRIGHTNESSDOWN = SDL_SCANCODE_BRIGHTNESSDOWN or SDLK_SCANCODE_MASK;
SDLK_BRIGHTNESSUP = SDL_SCANCODE_BRIGHTNESSUP or SDLK_SCANCODE_MASK;
SDLK_DISPLAYSWITCH = SDL_SCANCODE_DISPLAYSWITCH or SDLK_SCANCODE_MASK;
SDLK_KBDILLUMTOGGLE = SDL_SCANCODE_KBDILLUMTOGGLE or SDLK_SCANCODE_MASK;
SDLK_KBDILLUMDOWN = SDL_SCANCODE_KBDILLUMDOWN or SDLK_SCANCODE_MASK;
SDLK_KBDILLUMUP = SDL_SCANCODE_KBDILLUMUP or SDLK_SCANCODE_MASK;
SDLK_EJECT = SDL_SCANCODE_EJECT or SDLK_SCANCODE_MASK;
SDLK_SLEEP = SDL_SCANCODE_SLEEP or SDLK_SCANCODE_MASK;
KMOD_NONE = $0000;

** * Enumeration of valid key mods (possibly OR'd together). *

KMOD_LSHIFT = $0001;
KMOD_RSHIFT = $0002;
KMOD_LCTRL = $0040;
KMOD_RCTRL = $0080;
KMOD_LALT = $0100;
KMOD_RALT = $0200;
KMOD_LGUI = $0400;
KMOD_RGUI = $0800;
KMOD_NUM = $1000;
KMOD_CAPS = $2000;
KMOD_MODE = $4000;
KMOD_RESERVED = $8000;
KMOD_CTRL = KMOD_LCTRL or KMOD_RCTRL;
KMOD_SHIFT = KMOD_LSHIFT or KMOD_RSHIFT;
KMOD_ALT = KMOD_LALT or KMOD_RALT;
KMOD_GUI = KMOD_LGUI or KMOD_RGUI;
SDL_SYSTEM_CURSOR_ARROW = 0;

** * Cursor types for SDL_CreateSystemCursor. *

SDL_SYSTEM_CURSOR_IBEAM = 1;

Arrow

SDL_SYSTEM_CURSOR_WAIT = 2;

I-beam

SDL_SYSTEM_CURSOR_CROSSHAIR = 3;

Wait

SDL_SYSTEM_CURSOR_WAITARROW = 4;

Crosshair

SDL_SYSTEM_CURSOR_SIZENWSE = 5;

Small wait cursor (or Wait if not available)

SDL_SYSTEM_CURSOR_SIZENESW = 6;

Double arrow pointing northwest and southeast

SDL_SYSTEM_CURSOR_SIZEWE = 7;

Double arrow pointing northeast and southwest

SDL_SYSTEM_CURSOR_SIZENS = 8;

Double arrow pointing west and east

SDL_SYSTEM_CURSOR_SIZEALL = 9;

Double arrow pointing north and south

SDL_SYSTEM_CURSOR_NO = 10;

Four pointed arrow pointing north, south, east, and west

SDL_SYSTEM_CURSOR_HAND = 11;

Slashed circle or crossbones

SDL_NUM_SYSTEM_CURSORS = 12;

Hand

SDL_BUTTON_LEFT = 1;

** * Used as a mask when testing buttons in buttonstate. * - Button 1: Left mouse button * - Button 2: Middle mouse button * - Button 3: Right mouse button *

SDL_BUTTON_MIDDLE = 2;
SDL_BUTTON_RIGHT = 3;
SDL_BUTTON_X1 = 4;
SDL_BUTTON_X2 = 5;
SDL_BUTTON_LMASK = 1 shl ((SDL_BUTTON_LEFT) - 1);
SDL_BUTTON_MMASK = 1 shl ((SDL_BUTTON_MIDDLE) - 1);
SDL_BUTTON_RMASK = 1 shl ((SDL_BUTTON_RIGHT) - 1);
SDL_BUTTON_X1MASK = 1 shl ((SDL_BUTTON_X1) - 1);
SDL_BUTTON_X2MASK = 1 shl ((SDL_BUTTON_X2) - 1);
SDL_HAT_CENTERED = $00;

** * Hat positions *

SDL_HAT_UP = $01;
SDL_HAT_RIGHT = $02;
SDL_HAT_DOWN = $04;
SDL_HAT_LEFT = $08;
SDL_HAT_RIGHTUP = SDL_HAT_RIGHT or SDL_HAT_UP;
SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN;
SDL_HAT_LEFTUP = SDL_HAT_LEFT or SDL_HAT_UP;
SDL_HAT_LEFTDOWN = SDL_HAT_LEFT or SDL_HAT_DOWN;
SDL_CONTROLLER_AXIS_INVALID = -1;

** * The list of axes available from a controller *

SDL_CONTROLLER_AXIS_LEFTX = 0;
SDL_CONTROLLER_AXIS_LEFTY = 1;
SDL_CONTROLLER_AXIS_RIGHTX = 2;
SDL_CONTROLLER_AXIS_RIGHTY = 3;
SDL_CONTROLLER_AXIS_TRIGGERLEFT = 4;
SDL_CONTROLLER_AXIS_TRIGGERRIGHT = 5;
SDL_CONTROLLER_AXIS_MAX = 6;
SDL_CONTROLLER_BUTTON_INVALID = -1;

** * The list of buttons available from a controller *

SDL_CONTROLLER_BUTTON_A = 0;
SDL_CONTROLLER_BUTTON_B = 1;
SDL_CONTROLLER_BUTTON_X = 2;
SDL_CONTROLLER_BUTTON_Y = 3;
SDL_CONTROLLER_BUTTON_BACK = 4;
SDL_CONTROLLER_BUTTON_GUIDE = 5;
SDL_CONTROLLER_BUTTON_START = 6;
SDL_CONTROLLER_BUTTON_LEFTSTICK = 7;
SDL_CONTROLLER_BUTTON_RIGHTSTICK = 8;
SDL_CONTROLLER_BUTTON_LEFTSHOULDER = 9;
SDL_CONTROLLER_BUTTON_RIGHTSHOULDER = 10;
SDL_CONTROLLER_BUTTON_DPAD_UP = 11;
SDL_CONTROLLER_BUTTON_DPAD_DOWN = 12;
SDL_CONTROLLER_BUTTON_DPAD_LEFT = 13;
SDL_CONTROLLER_BUTTON_DPAD_RIGHT = 14;
SDL_CONTROLLER_BUTTON_MAX = 15;
SDL_HAPTIC_CONSTANT = (1 shl 0);

** * Constant effect supported. * * Constant haptic effect. * * SDL_HapticCondition *

SDL_HAPTIC_SINE = (1 shl 1);

** * Sine wave effect supported. * * Periodic haptic effect that simulates sine waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_SQUARE = (1 shl 2);

** * Square wave effect supported. * * Periodic haptic effect that simulates square waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_TRIANGLE = (1 shl 3);

** * Triangle wave effect supported. * * Periodic haptic effect that simulates triangular waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_SAWTOOTHUP = (1 shl 4);

** * Sawtoothup wave effect supported. * * Periodic haptic effect that simulates saw tooth up waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_SAWTOOTHDOWN = (1 shl 5);

** * Sawtoothdown wave effect supported. * * Periodic haptic effect that simulates saw tooth down waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_RAMP = (1 shl 6);

** * Ramp effect supported. * * Ramp haptic effect. * * SDL_HapticRamp *

SDL_HAPTIC_SPRING = (1 shl 7);

** * Spring effect supported - uses axes position. * * Condition haptic effect that simulates a spring. Effect is based on the * axes position. * * SDL_HapticCondition *

SDL_HAPTIC_DAMPER = (1 shl 8);

** * Damper effect supported - uses axes velocity. * * Condition haptic effect that simulates dampening. Effect is based on the * axes velocity. * * SDL_HapticCondition *

SDL_HAPTIC_INERTIA = (1 shl 9);

** * Inertia effect supported - uses axes acceleration. * * Condition haptic effect that simulates inertia. Effect is based on the axes * acceleration. * * SDL_HapticCondition *

SDL_HAPTIC_FRICTION = (1 shl 10);

** * Friction effect supported - uses axes movement. * * Condition haptic effect that simulates friction. Effect is based on the * axes movement. * * SDL_HapticCondition *

SDL_HAPTIC_CUSTOM = (1 shl 11);

** * Custom effect is supported. * * User defined custom haptic effect. *

SDL_HAPTIC_GAIN = (1 shl 12);

** * Device can set global gain. * * Device supports setting the global gain. * * SDL_HapticSetGain *

SDL_HAPTIC_AUTOCENTER = (1 shl 13);

** * Device can set autocenter. * * Device supports setting autocenter. * * SDL_HapticSetAutocenter *

SDL_HAPTIC_STATUS = (1 shl 14);

** * Device can be queried for effect status. * * Device can be queried for effect status. * * SDL_HapticGetEffectStatus *

SDL_HAPTIC_PAUSE = (1 shl 15);

** * Device can be paused. * * SDL_HapticPause * SDL_HapticUnpause *

SDL_HAPTIC_POLAR = 0;

** * Uses polar coordinates for the direction. * * SDL_HapticDirection *

SDL_HAPTIC_CARTESIAN = 1;

** * Uses cartesian coordinates for the direction. * * SDL_HapticDirection *

SDL_HAPTIC_SPHERICAL = 2;

** * Uses spherical coordinates for the direction. * * SDL_HapticDirection *

SDL_HAPTIC_INFINITY = 4294967295;

SDL_HAPTIC_INFINITY = 4294967295U;

SDL_TOUCH_MOUSEID = UInt32(-1);

* Used as the device ID for mouse events simulated with touch input *

SDL_FIRSTEVENT = 0;

** * The types of events that can be delivered. *

SDL_COMMONEVENT = 1;

Unused (do not remove) (needed in pascal?)

SDL_QUITEV = $100;

Application events

SDL_APP_TERMINATING = $101;

* These application events have special meaning on iOS, see README.iOS for details *

SDL_APP_LOWMEMORY = $102;

**< The application is being terminated by the OS Called on iOS in applicationWillTerminate() Called on Android in onDestroy() *

SDL_APP_WILLENTERBACKGROUND = $103;

**< The application is low on memory, free memory if possible. Called on iOS in applicationDidReceiveMemoryWarning() Called on Android in onLowMemory() *

SDL_APP_DIDENTERBACKGROUND = $104;

**< The application is about to enter the background Called on iOS in applicationWillResignActive() Called on Android in onPause() *

SDL_APP_WILLENTERFOREGROUND = $105;

**< The application did enter the background and may not get CPU for some time Called on iOS in applicationDidEnterBackground() Called on Android in onPause() *

SDL_APP_DIDENTERFOREGROUND = $106;

**< The application is about to enter the foreground Called on iOS in applicationWillEnterForeground() Called on Android in onResume() *

SDL_WINDOWEVENT = $200;

Window events

SDL_SYSWMEVENT = $201;

Window state change

SDL_KEYDOWN = $300;

Keyboard events

SDL_KEYUP = $301;

Key pressed

SDL_TEXTEDITING = $302;

Key released

SDL_TEXTINPUT = $303;

Keyboard text editing (composition)

SDL_MOUSEMOTION = $400;

Mouse events

SDL_MOUSEBUTTONDOWN = $401;

Mouse moved

SDL_MOUSEBUTTONUP = $402;

Mouse button pressed

SDL_MOUSEWHEEL = $403;

Mouse button released

SDL_JOYAXISMOTION = $600;

Joystick events

SDL_JOYBALLMOTION = $601;

Joystick axis motion

SDL_JOYHATMOTION = $602;

Joystick trackball motion

SDL_JOYBUTTONDOWN = $603;

Joystick hat position change

SDL_JOYBUTTONUP = $604;

Joystick button pressed

SDL_JOYDEVICEADDED = $605;

Joystick button released

SDL_JOYDEVICEREMOVED = $606;

A new joystick has been inserted into the system

SDL_CONTROLLERAXISMOTION = $650;

Game controller events

SDL_CONTROLLERBUTTONDOWN = $651;

Game controller axis motion

SDL_CONTROLLERBUTTONUP = $652;

Game controller button pressed

SDL_CONTROLLERDEVICEADDED = $653;

Game controller button released

SDL_CONTROLLERDEVICEREMOVED = $654;

A new Game controller has been inserted into the system

SDL_CONTROLLERDEVICEREMAPPED = $655;

An opened Game controller has been removed

SDL_FINGERDOWN = $700;

Touch events

SDL_FINGERUP = $701;
SDL_FINGERMOTION = $702;
SDL_DOLLARGESTURE = $800;

Gesture events

SDL_DOLLARRECORD = $801;
SDL_MULTIGESTURE = $802;
SDL_CLIPBOARDUPDATE = $900;

Clipboard events

SDL_DROPFILE = $1000;

Drag and drop events

SDL_USEREVENT = $8000;

** Events SDL_USEREVENT through SDL_LASTEVENT are for your use, * and should be allocated with SDL_RegisterEvents() *

SDL_LASTEVENT = $FFFF;

** * This last event is only for bounding internal arrays (needed in pascal ??) *

SDL_TEXTEDITINGEVENT_TEXT_SIZE = 32;
SDL_TEXTINPUTEVENT_TEXT_SIZE = 32;
SDL_ADDEVENT = 0;
SDL_PEEKEVENT = 1;
SDL_GETEVENT = 2;
SDL_QUERY = -1;
SDL_IGNORE = 0;
SDL_DISABLE = 0;
SDL_ENABLE = 1;
SDL_INIT_TIMER = $00000001;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

SDL_INIT_AUDIO = $00000010;
SDL_INIT_VIDEO = $00000020;
SDL_INIT_JOYSTICK = $00000200;
SDL_INIT_HAPTIC = $00001000;
SDL_INIT_GAMECONTROLLER = $00002000;
SDL_INIT_NOPARACHUTE = $00100000;

turn on game controller also implicitly does JOYSTICK

SDL_INIT_EVERYTHING = SDL_INIT_TIMER or SDL_INIT_AUDIO or SDL_INIT_VIDEO or SDL_INIT_JOYSTICK or SDL_INIT_HAPTIC or SDL_INIT_GAMECONTROLLER;

Don't catch fatal signals

SDL_HINT_FRAMEBUFFER_ACCELERATION = 'SDL_FRAMEBUFFER_ACCELERATION';

* * \brief A variable controlling how 3D acceleration is used to accelerate the SDL screen surface. * * SDL can try to accelerate the SDL screen surface by using streaming * textures with a 3D rendering engine. This variable controls whether and * how this is done. * * This variable can be set to the following values: * "0" - Disable 3D acceleration * "1" - Enable 3D acceleration, using the default renderer. * "X" - Enable 3D acceleration, using X where X is one of the valid rendering drivers. (e.g. "direct3d", "opengl", etc.) * * By default SDL tries to make a best guess for each platform whether * to use acceleration or not.

SDL_HINT_RENDER_DRIVER = 'SDL_RENDER_DRIVER';

/** * \brief A variable specifying which render driver to use. * * If the application doesn't pick a specific renderer to use, this variable * specifies the name of the preferred renderer. If the preferred renderer * can't be initialized, the normal default renderer is used. * * This variable is case insensitive and can be set to the following values: * "direct3d" * "opengl" * "opengles2" * "opengles" * "software" * * The default varies by platform, but it's the first one in the list that * is available on the current platform. */

SDL_HINT_RENDER_OPENGL_SHADERS = 'SDL_RENDER_OPENGL_SHADERS';

/** * \brief A variable controlling whether the OpenGL render driver uses shaders if they are available. * * This variable can be set to the following values: * "0" - Disable shaders * "1" - Enable shaders * * By default shaders are used if OpenGL supports them. */

SDL_HINT_RENDER_SCALE_QUALITY = 'SDL_RENDER_SCALE_QUALITY';

/** * \brief A variable controlling the scaling quality * * This variable can be set to the following values: * "0" or "nearest" - Nearest pixel sampling * "1" or "linear" - Linear filtering (supported by OpenGL and Direct3D) * "2" or "best" - Currently this is the same as "linear" * * By default nearest pixel sampling is used */

SDL_HINT_RENDER_VSYNC = 'SDL_RENDER_VSYNC';

/** * \brief A variable controlling whether updates to the SDL screen surface should be synchronized with the vertical refresh, to avoid tearing. * * This variable can be set to the following values: * "0" - Disable vsync * "1" - Enable vsync * * By default SDL does not sync screen surface updates with vertical refresh. */

SDL_HINT_VIDEO_X11_XVIDMODE = 'SDL_VIDEO_X11_XVIDMODE';

/** * \brief A variable controlling whether the X11 VidMode extension should be used. * * This variable can be set to the following values: * "0" - Disable XVidMode * "1" - Enable XVidMode * * By default SDL will use XVidMode if it is available. */

SDL_HINT_VIDEO_X11_XINERAMA = 'SDL_VIDEO_X11_XINERAMA';

/** * \brief A variable controlling whether the X11 Xinerama extension should be used. * * This variable can be set to the following values: * "0" - Disable Xinerama * "1" - Enable Xinerama * * By default SDL will use Xinerama if it is available. */

SDL_HINT_VIDEO_X11_XRANDR = 'SDL_VIDEO_X11_XRANDR';

/** * \brief A variable controlling whether the X11 XRandR extension should be used. * * This variable can be set to the following values: * "0" - Disable XRandR * "1" - Enable XRandR * * By default SDL will not use XRandR because of window manager issues. */

SDL_HINT_GRAB_KEYBOARD = 'SDL_GRAB_KEYBOARD';

/** * \brief A variable controlling whether grabbing input grabs the keyboard * * This variable can be set to the following values: * "0" - Grab will affect only the mouse * "1" - Grab will affect mouse and keyboard * * By default SDL will not grab the keyboard so system shortcuts still work. */

SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = 'SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS';

/** * \brief Minimize your SDL_Window if it loses key focus when in Fullscreen mode. Defaults to true. * */

SDL_HINT_IDLE_TIMER_DISABLED = 'SDL_IOS_IDLE_TIMER_DISABLED';

/** * \brief A variable controlling whether the idle timer is disabled on iOS. * * When an iOS app does not receive touches for some time, the screen is * dimmed automatically. For games where the accelerometer is the only input * this is problematic. This functionality can be disabled by setting this * hint. * * This variable can be set to the following values: * "0" - Enable idle timer * "1" - Disable idle timer */

SDL_HINT_ORIENTATIONS = 'SDL_IOS_ORIENTATIONS';

/** * \brief A variable controlling which orientations are allowed on iOS. * * In some circumstances it is necessary to be able to explicitly control * which UI orientations are allowed. * * This variable is a space delimited list of the following values: * "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown" */

SDL_HINT_XINPUT_ENABLED = 'SDL_XINPUT_ENABLED';

/** * \brief A variable that lets you disable the detection and use of Xinput gamepad devices * * The variable can be set to the following values: * "0" - Disable XInput timer (only uses direct input) * "1" - Enable XInput timer (the default) */

SDL_HINT_GAMECONTROLLERCONFIG = 'SDL_GAMECONTROLLERCONFIG';

/** * \brief A variable that lets you manually hint extra gamecontroller db entries * * The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h * * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping() */

SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = 'SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS';

/** * \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background. * * The variable can be set to the following values: * "0" - Disable joystick & gamecontroller input events when the * application is in the background. * "1" - Enable joystick & gamecontroller input events when the * application is in the backgroumd. * * The default value is "0". This hint may be set at any time. */

SDL_HINT_ALLOW_TOPMOST = 'SDL_ALLOW_TOPMOST';

/** * \brief If set to 0 then never set the top most bit on a SDL Window, even if the video mode expects it. * This is a debugging aid for developers and not expected to be used by end users. The default is "1" * * This variable can be set to the following values: * "0" - don't allow topmost * "1" - allow topmost */

SDL_HINT_TIMER_RESOLUTION = 'SDL_TIMER_RESOLUTION';

/** * \brief A variable that controls the timer resolution, in milliseconds. * * The higher resolution the timer, the more frequently the CPU services * timer interrupts, and the more precise delays are, but this takes up * power and CPU time. This hint is only used on Windows 7 and earlier. * * See this blog post for more information: * http://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/ * * If this variable is set to "0", the system timer resolution is not set. * * The default value is "1". This hint may be set at any time. */

SDL_HINT_RENDER_DIRECT3D_THREADSAFE = 'SDL_RENDER_DIRECT3D_THREADSAFE';

/** * \brief A hint that specifies whether the Direct3D device is initialized for thread-safe operations. * * By default the Direct3D device is created with thread-safety disabled. * * This variable can be set to the following values: * "0" - disable thread-safety (faster) * "1" - enable thread-safety (slower) */

SDL_LIL_ENDIAN = 1234;

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_byteorder.h //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// SDL_byteorder.h constants The two types of endianness

SDL_BIG_ENDIAN = 4321;
SDL_BYTEORDER = SDL_LIL_ENDIAN;
SDL_MESSAGEBOX_ERROR = $00000010;

** * SDL_MessageBox flags. If supported will display warning icon, etc. *

SDL_MESSAGEBOX_WARNING = $00000020;

**< error dialog *

SDL_MESSAGEBOX_INFORMATION = $00000040;

**< warning dialog *

SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = $00000001;

** * Flags for SDL_MessageBoxButtonData. *

SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = $00000002;

**< Marks the default button when return is hit *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Version

Record TSDL_Version

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Version = record

Description

Overview

Fields

Public | major: UInt8;
Public | minor: UInt8;
Public | patch: UInt8;

Description

Fields

Public major: UInt8;
Public minor: UInt8;

**< major version *

Public patch: UInt8;

**< minor version *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Error

Record TSDL_Error

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Error = record

Description

Overview

Fields

Public | error: SInt32;
Public | key: array [0..ERR_MAX_STRLEN] of Char;
Public | argc: SInt32;
Public | value_c: Byte;
Public | value_ptr: Pointer;
Public | value_i: SInt32;
Public | value_f: Double;
Public | buf: array [0..ERR_MAX_STRLEN] of Char;

Description

Fields

Public error: SInt32;

* This is a numeric value corresponding to the current error *

Public key: array [0..ERR_MAX_STRLEN] of Char;

* This is a key used to index into a language hashtable containing internationalized versions of the SDL error messages. If the key is not in the hashtable, or no hashtable is available, the key is used directly as an error message format string. *

Public argc: SInt32;

* These are the arguments for the error functions *

Public value_c: Byte;

* What is a character anyway? (UNICODE issues) *

Public value_ptr: Pointer;
Public value_i: SInt32;
Public value_f: Double;
Public buf: array [0..ERR_MAX_STRLEN] of Char;


GLSysHelp v.2.1: SDL2.Import: Record TStdio

Record TStdio

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TStdio = record

Description

Overview

Fields

Public | autoclose: TSDL_Bool;
Public | fp: file;

Description

Fields

Public autoclose: TSDL_Bool;
Public fp: file;


GLSysHelp v.2.1: SDL2.Import: Record TMem

Record TMem

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TMem = record

Description

Overview

Fields

Public | base: PUInt8;
Public | here: PUInt8;
Public | stop: PUInt8;

Description

Fields

Public base: PUInt8;
Public here: PUInt8;
Public stop: PUInt8;


GLSysHelp v.2.1: SDL2.Import: Record TUnknown

Record TUnknown

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TUnknown = record

Description

Overview

Fields

Public data1: Pointer;

Description

Fields

Public data1: Pointer;


GLSysHelp v.2.1: SDL2.Import: Record TAndroidIO

Record TAndroidIO

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TAndroidIO = record

Description

Overview

Fields

Public | fileNameRef: Pointer;
Public | inputStreamRef: Pointer;
Public | readableByteChannelRef: Pointer;
Public | readMethod: Pointer;
Public | assetFileDescriptorRef: Pointer;
Public | position: LongInt;
Public | size: LongInt;
Public | offset: LongInt;
Public | fd: SInt32;

Description

Fields

Public fileNameRef: Pointer;
Public inputStreamRef: Pointer;
Public readableByteChannelRef: Pointer;
Public readMethod: Pointer;
Public assetFileDescriptorRef: Pointer;
Public position: LongInt;
Public size: LongInt;
Public offset: LongInt;
Public fd: SInt32;


GLSysHelp v.2.1: SDL2.Import: Record TWindowsIOBuffer

Record TWindowsIOBuffer

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TWindowsIOBuffer = record

Description

Overview

Fields

Public | data: Pointer;
Public | size: size_t;
Public | left: size_t;

Description

Fields

Public data: Pointer;
Public size: size_t;
Public left: size_t;


GLSysHelp v.2.1: SDL2.Import: Record TWindowsIO

Record TWindowsIO

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TWindowsIO = record

Description

Overview

Fields

Public | append: TSDL_Bool;
Public | h: Pointer;
Public | buffer: TWindowsIOBuffer;

Description

Fields

Public append: TSDL_Bool;
Public h: Pointer;
Public buffer: TWindowsIOBuffer;


GLSysHelp v.2.1: SDL2.Import: Packed Record TSDL_RWops

Packed Record TSDL_RWops

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_RWops = packed record

Description

Overview

Fields

Public | size: TSize;
Public | seek: TSeek;
Public | read: TRead;
Public | write: TWrite;
Public | close: TClose;
Public | _type: UInt32;
Public | stdio: TStdio
Public | mem: TMem
Public | unknown: TUnknown
Public | windowsio: TWindowsIO

Description

Fields

Public size: TSize;
Public seek: TSeek;
Public read: TRead;
Public write: TWrite;
Public close: TClose;
Public _type: UInt32;
Public stdio: TStdio
Public mem: TMem
Public unknown: TUnknown
Public windowsio: TWindowsIO


GLSysHelp v.2.1: SDL2.Import: Record TSDL_AudioSpec

Record TSDL_AudioSpec

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_AudioSpec = record

Description

Overview

Fields

Public | freq: Integer;
Public | format: TSDL_AudioFormat;
Public | channels: UInt8;
Public | silence: UInt8;
Public | samples: UInt16;
Public | padding: UInt16;
Public | size: UInt32;
Public | callback: TSDL_AudioCallback;
Public | userdata: Pointer;

Description

Fields

Public freq: Integer;
Public format: TSDL_AudioFormat;

**< DSP frequency – samples per second *

Public channels: UInt8;

**< Audio data format *

Public silence: UInt8;

**< Number of channels: 1 mono, 2 stereo *

Public samples: UInt16;

**< Audio buffer silence value (calculated) *

Public padding: UInt16;

**< Audio buffer size in samples (power of 2) *

Public size: UInt32;

**< Necessary for some compile environments *

Public callback: TSDL_AudioCallback;

**< Audio buffer size in bytes (calculated) *

Public userdata: Pointer;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_AudioCVT

Record TSDL_AudioCVT

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_AudioCVT = record

Description

** * A structure to hold a set of audio conversion filters and buffers. *

Overview

Fields

Public | needed: Integer;
Public | src_format: TSDL_AudioFormat;
Public | dst_format: TSDL_AudioFormat;
Public | rate_incr: Double;
Public | buf: PUInt8;
Public | len: Integer;
Public | len_cvt: Integer;
Public | len_mult: Integer;
Public | len_ratio: Double;
Public | filters: array[0..9] of TSDL_AudioFilter;
Public | filter_index: Integer;

Description

Fields

Public needed: Integer;
Public src_format: TSDL_AudioFormat;

**< Set to 1 if conversion possible *

Public dst_format: TSDL_AudioFormat;

**< Source audio format *

Public rate_incr: Double;

**< Target audio format *

Public buf: PUInt8;

**< Rate conversion increment *

Public len: Integer;

**< Buffer to hold entire audio data *

Public len_cvt: Integer;

**< Length of original audio buffer *

Public len_mult: Integer;

**< Length of converted audio buffer *

Public len_ratio: Double;

**< buffer must be len*len_mult big *

Public filters: array[0..9] of TSDL_AudioFilter;

**< Given len, final size is len*len_ratio *

Public filter_index: Integer;

**< Filter list *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Thread

Record TSDL_Thread

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Thread = record

Description

Overview

Fields

Public | threadid: TSDL_ThreadID;
Public | handle: THandle;
Public | status: SInt32;
Public | errbuf: TSDL_Error;
Public | name: PChar;
Public | data: Pointer;

Description

Fields

Public threadid: TSDL_ThreadID;
Public handle: THandle;
Public status: SInt32;
Public errbuf: TSDL_Error;
Public name: PChar;
Public data: Pointer;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Mutex

Record TSDL_Mutex

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Mutex = record

Description

***KTI***

Overview

Fields

Public id: THANDLE;

Description

Fields

Public id: THANDLE;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Color

Record TSDL_Color

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Color = record

Description

Overview

Fields

Public | r: UInt8;
Public | g: UInt8;
Public | b: UInt8;
Public | unused: UInt8;

Description

Fields

Public r: UInt8;
Public g: UInt8;
Public b: UInt8;
Public unused: UInt8;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Palette

Record TSDL_Palette

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Palette = record

Description

Overview

Fields

Public | ncolors: SInt32;
Public | colors: PSDL_Color;
Public | version: UInt32;
Public | refcount: SInt32;

Description

Fields

Public ncolors: SInt32;
Public colors: PSDL_Color;
Public version: UInt32;
Public refcount: SInt32;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_PixelFormat

Record TSDL_PixelFormat

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_PixelFormat = record

Description

Overview

Fields

Public | format: UInt32;
Public | palette: PSDL_Palette;
Public | BitsPerPixel: UInt8;
Public | BytesPerPixel: UInt8;
Public | padding: array[0..1] of UInt8;
Public | Rmask: UInt32;
Public | Gmask: UInt32;
Public | Bmask: UInt32;
Public | Amask: UInt32;
Public | Rloss: UInt8;
Public | Gloss: UInt8;
Public | Bloss: UInt8;
Public | Aloss: UInt8;
Public | Rshift: UInt8;
Public | Gshift: UInt8;
Public | Bshift: UInt8;
Public | Ashift: UInt8;
Public | refcount: SInt32;
Public | next: PSDL_PixelFormat;

Description

Fields

Public format: UInt32;
Public palette: PSDL_Palette;
Public BitsPerPixel: UInt8;
Public BytesPerPixel: UInt8;
Public padding: array[0..1] of UInt8;
Public Rmask: UInt32;
Public Gmask: UInt32;
Public Bmask: UInt32;
Public Amask: UInt32;
Public Rloss: UInt8;
Public Gloss: UInt8;
Public Bloss: UInt8;
Public Aloss: UInt8;
Public Rshift: UInt8;
Public Gshift: UInt8;
Public Bshift: UInt8;
Public Ashift: UInt8;
Public refcount: SInt32;
Public next: PSDL_PixelFormat;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Point

Record TSDL_Point

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Point = record

Description

Overview

Fields

Public | x: SInt32;
Public | y: SInt32;

Description

Fields

Public x: SInt32;
Public y: SInt32;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Rect

Record TSDL_Rect

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Rect = record

Description

Overview

Fields

Public | x: SInt32;
Public | y: SInt32;
Public | w: SInt32;
Public | h: SInt32;

Description

Fields

Public x: SInt32;
Public y: SInt32;
Public w: SInt32;
Public h: SInt32;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_BlitMap

Record TSDL_BlitMap

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_BlitMap = record

Description

Overview

Fields

Public map: Pointer;

Description

Fields

Public map: Pointer;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Surface

Record TSDL_Surface

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Surface = record

Description

Overview

Fields

Public | flags: UInt32;
Public | format: PSDL_PixelFormat;
Public | w: SInt32;
Public | h: SInt32;
Public | pitch: SInt32;
Public | pixels: Pointer;
Public | userdata: Pointer;
Public | locked: SInt32;
Public | lock_data: Pointer;
Public | clip_rect: PSDL_Rect;
Public | map: Pointer;
Public | refcount: SInt32;

Description

Fields

Public flags: UInt32;
Public format: PSDL_PixelFormat;

**< Read-only *

Public w: SInt32;

**< Read-only *

Public h: SInt32;

**< Read-only *

Public pitch: SInt32;

**< Read-only *

Public pixels: Pointer;

**< Read-only *

Public userdata: Pointer;

** Application data associated with the surface *

Public locked: SInt32;

** information needed for surfaces requiring locks *

Public lock_data: Pointer;

**< Read-only *

Public clip_rect: PSDL_Rect;

** clipping information *

Public map: Pointer;

** info for fast blit mapping to other surfaces *

Public refcount: SInt32;

** Reference count – used when freeing surface *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_WindowShapeParams

Record TSDL_WindowShapeParams

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_WindowShapeParams = record

Description

** A union containing parameters for shaped windows. *

Overview

Fields

Public | binarizationCutoff: UInt8;
Public | colorKey: TSDL_Color;

Description

Fields

Public binarizationCutoff: UInt8;

** a cutoff alpha value for binarization of the window shape's alpha channel. *

Public colorKey: TSDL_Color;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_WindowShapeMode

Record TSDL_WindowShapeMode

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_WindowShapeMode = record

Description

Overview

Fields

Public | mode: TWindowShapeMode;
Public | parameters: TSDL_WindowShapeParams;

Description

Fields

Public mode: TWindowShapeMode;

** The mode of these window-shape parameters. *

Public parameters: TSDL_WindowShapeParams;

** Window-shape parameters. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_DisplayMode

Record TSDL_DisplayMode

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_DisplayMode = record

Description

Overview

Fields

Public | format: UInt32;
Public | w: SInt32;
Public | h: SInt32;
Public | refresh_rate: SInt32;
Public | driverdata: Pointer;

Description

Fields

Public format: UInt32;
Public w: SInt32;

**< pixel format *

Public h: SInt32;

**< width *

Public refresh_rate: SInt32;

**< height *

Public driverdata: Pointer;

**< refresh rate (or zero for unspecified) *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_WindowShaper

Record TSDL_WindowShaper

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_WindowShaper = record

Description

Overview

Fields

Public | window: PSDL_Window;
Public | userx: UInt32;
Public | usery: UInt32;
Public | mode: TSDL_WindowShapeMode;
Public | hasshape: TSDL_Bool;
Public | driverdata: Pointer;

Description

Fields

Public window: PSDL_Window;

* The window associated with the shaper *

Public userx: UInt32;

* The user's specified coordinates for the window, for once we give it a shape. *

Public usery: UInt32;

* The user's specified coordinates for the window, for once we give it a shape. *

Public mode: TSDL_WindowShapeMode;

* The parameters for shape calculation. *

Public hasshape: TSDL_Bool;

* Has this window been assigned a shape? *

Public driverdata: Pointer;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_WindowUserData

Record TSDL_WindowUserData

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_WindowUserData = record

Description

Overview

Fields

Public | name: PChar;
Public | data: Pointer;
Public | next: PSDL_WindowUserData;

Description

Fields

Public name: PChar;
Public data: Pointer;
Public next: PSDL_WindowUserData;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Window

Record TSDL_Window

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Window = record

Description

* Define the SDL window structure, corresponding to toplevel windows *

Overview

Fields

Public | magic: Pointer;
Public | id: UInt32;
Public | title: PChar;
Public | fin_UTF8_title: SInt32;
Public | x: SInt32;
Public | y: SInt32;
Public | w: SInt32;
Public | h: SInt32;
Public | min_w: SInt32;
Public | min_h: SInt32;
Public | max_w: SInt32;
Public | max_h: SInt32;
Public | flags: UInt32;
Public | windowed: TSDL_Rect;
Public | fullscreen_mode: TSDL_DisplayMode;
Public | brightness: Float;
Public | gamma: PUInt16;
Public | saved_gamma: PUInt16;
Public | surface: PSDL_Surface;
Public | surface_valid: TSDL_Bool;
Public | shaper: PSDL_WindowShaper;
Public | data: PSDL_WindowUserData;
Public | driverdata: Pointer;
Public | prev: PSDL_Window;
Public | next: PSDL_Window;

Description

Fields

Public magic: Pointer;
Public id: UInt32;
Public title: PChar;
Public fin_UTF8_title: SInt32;
Public x: SInt32;

esta variable está puesta porque la última versión SDL2.dll devuelve un caracter de más en el title y se desplazan todos los otros campos

Public y: SInt32;

esta variable está puesta porque la última versión SDL2.dll devuelve un caracter de más en el title y se desplazan todos los otros campos

Public w: SInt32;
Public h: SInt32;
Public min_w: SInt32;
Public min_h: SInt32;
Public max_w: SInt32;
Public max_h: SInt32;
Public flags: UInt32;
Public windowed: TSDL_Rect;

* Stored position and size for windowed mode *

Public fullscreen_mode: TSDL_DisplayMode;
Public brightness: Float;
Public gamma: PUInt16;
Public saved_gamma: PUInt16;
Public surface: PSDL_Surface;

* (just offset into gamma) *

Public surface_valid: TSDL_Bool;
Public shaper: PSDL_WindowShaper;
Public data: PSDL_WindowUserData;
Public driverdata: Pointer;
Public prev: PSDL_Window;
Public next: PSDL_Window;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_RendererInfo

Record TSDL_RendererInfo

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_RendererInfo = record

Description

Overview

Fields

Public | name: PChar;
Public | flags: UInt32;
Public | num_texture_formats: UInt32;
Public | texture_formats: array[0..15] of UInt32;
Public | max_texture_width: SInt32;
Public | max_texture_height: SInt32;

Description

Fields

Public name: PChar;
Public flags: UInt32;

**< The name of the renderer *

Public num_texture_formats: UInt32;

**< Supported ::SDL_RendererFlags *

Public texture_formats: array[0..15] of UInt32;

**< The number of available texture formats *

Public max_texture_width: SInt32;

**< The available texture formats *

Public max_texture_height: SInt32;

**< The maximimum texture width *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Keysym

Record TSDL_Keysym

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Keysym = record

Description

Overview

Fields

Public | scancode: TSDL_ScanCode;
Public | sym: TSDL_KeyCode;
Public | _mod: UInt16;
Public | unicode: UInt32;

Description

Fields

Public scancode: TSDL_ScanCode;
Public sym: TSDL_KeyCode;

SDL physical key code - see SDL_Scancode for details

Public _mod: UInt16;

SDL virtual key code - see SDL_Keycode for details

Public unicode: UInt32;

current key modifiers


GLSysHelp v.2.1: SDL2.Import: Record TSDL_JoystickGUID

Record TSDL_JoystickGUID

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_JoystickGUID = record

Description

* A structure that encodes the stable unique id for a joystick device *

Overview

Fields

Public data: array[0..15] of UInt8;

Description

Fields

Public data: array[0..15] of UInt8;


GLSysHelp v.2.1: SDL2.Import: Record THat

Record THat

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type THat = record

Description

** * Get the SDL joystick layer binding for this controller button/axis mapping *

Overview

Fields

Public | hat: Integer;
Public | hat_mask: Integer;

Description

Fields

Public hat: Integer;
Public hat_mask: Integer;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_GameControllerButtonBind

Record TSDL_GameControllerButtonBind

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_GameControllerButtonBind = record

Description

Overview

Fields

Public | bindType: TSDL_GameControllerBindType;
Public | button: Integer;
Public | axis: Integer;
Public | hat: THat;

Description

Fields

Public bindType: TSDL_GameControllerBindType;
Public button: Integer;
Public axis: Integer;
Public hat: THat;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Haptic

Record TSDL_Haptic

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Haptic = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticDirection

Record TSDL_HapticDirection

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticDirection = record

Description

** * Structure that represents a haptic direction. * * Directions can be specified by: * - SDL_HAPTIC_POLAR : Specified by polar coordinates. * - SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates. * - SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates. * * Cardinal directions of the haptic device are relative to the positioning * of the device. North is considered to be away from the user. * * The following diagram represents the cardinal directions: * .–. |__| .——-. |=.| |.—–.| |–| || || | | |'—–'| |__|˜')_____(' [ COMPUTER ]

North (0,-1) ˆ | | (1,0) West <—-[ HAPTIC ]—-> East (-1,0) | | v South (0,1)

[ USER ] \|||/ (o o) —ooO-(_)-Ooo—

* * If type is SDL_HAPTIC_POLAR, direction is encoded by hundredths of a * degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses * the first dir parameter. The cardinal directions would be: * - North: 0 (0 degrees) * - East: 9000 (90 degrees) * - South: 18000 (180 degrees) * - West: 27000 (270 degrees) * * If type is SDL_HAPTIC_CARTESIAN, direction is encoded by three positions * (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses * the first three dir parameters. The cardinal directions would be: * - North: 0,-1, 0 * - East: -1, 0, 0 * - South: 0, 1, 0 * - West: 1, 0, 0 * * The Z axis represents the height of the effect if supported, otherwise * it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you * can use any multiple you want, only the direction matters. * * If type is SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations. * The first two dir parameters are used. The dir parameters are as * follows (all values are in hundredths of degrees): * - Degrees from (1, 0) rotated towards (0, 1). * - Degrees towards (0, 0, 1) (device needs at least 3 axes). * * * Example of force coming from the south with all encodings (force coming * from the south means the user will have to pull the stick to counteract): * * SDL_HapticDirection direction; * * // Cartesian directions * direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding. * direction.dir[0] = 0; // X position * direction.dir[1] = 1; // Y position * // Assuming the device has 2 axes, we don't need to specify third parameter. * * // Polar directions * direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding. * direction.dir[0] = 18000; // Polar only uses first parameter * * // Spherical coordinates * direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding * direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters. * * * SDL_HAPTIC_POLAR * SDL_HAPTIC_CARTESIAN * SDL_HAPTIC_SPHERICAL * SDL_HapticEffect * SDL_HapticNumAxes *

Overview

Fields

Public | _type: UInt8;
Public | dir: array[0..2] of SInt32;

Description

Fields

Public _type: UInt8;
Public dir: array[0..2] of SInt32;

**< The type of encoding. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticConstant

Record TSDL_HapticConstant

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticConstant = record

Description

** * A structure containing a template for a Constant effect. * * The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect. * * A constant effect applies a constant force in the specified direction * to the joystick. * * SDL_HAPTIC_CONSTANT * SDL_HapticEffect *

Overview

Fields

Public | _type: UInt16;
Public | direction: TSDL_HapticDirection;
Public | length: UInt32;
Public | delay: UInt16;
Public | button: UInt16;
Public | interval: UInt16;
Public | level: SInt16;
Public | attack_length: UInt16;
Public | attack_level: UInt16;
Public | fade_length: UInt16;
Public | fade_level: UInt16;

Description

Fields

Public _type: UInt16;

* Header *

Public direction: TSDL_HapticDirection;

**< SDL_HAPTIC_CONSTANT *

Public length: UInt32;

* Replay *

Public delay: UInt16;

**< Duration of the effect. *

Public button: UInt16;

* Trigger *

Public interval: UInt16;

**< Button that triggers the effect. *

Public level: SInt16;

* Constant *

Public attack_length: UInt16;

* Envelope *

Public attack_level: UInt16;

**< Duration of the attack. *

Public fade_length: UInt16;

**< Level at the start of the attack. *

Public fade_level: UInt16;

**< Duration of the fade. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticPeriodic

Record TSDL_HapticPeriodic

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticPeriodic = record

Description

** * A structure containing a template for a Periodic effect. * * The struct handles the following effects: * - SDL_HAPTIC_SINE * - SDL_HAPTIC_SQUARE * - SDL_HAPTIC_TRIANGLE * - SDL_HAPTIC_SAWTOOTHUP * - SDL_HAPTIC_SAWTOOTHDOWN * * A periodic effect consists in a wave-shaped effect that repeats itself * over time. The type determines the shape of the wave and the parameters * determine the dimensions of the wave. * * Phase is given by hundredth of a cycle meaning that giving the phase a value * of 9000 will displace it 25% of its period. Here are sample values: * - 0: No phase displacement. * - 9000: Displaced 25% of its period. * - 18000: Displaced 50% of its period. * - 27000: Displaced 75% of its period. * - 36000: Displaced 100% of its period, same as 0, but 0 is preferred. * * Examples: * SDL_HAPTIC_SINE __ __ __ __ / \ / \ / \ / / \__/ \__/ \__/

SDL_HAPTIC_SQUARE __ __ __ __ __ | | | | | | | | | | | |__| |__| |__| |__| |

SDL_HAPTIC_TRIANGLE /\ /\ /\ /\ /\ / \ / \ / \ / \ / / \/ \/ \/ \/

SDL_HAPTIC_SAWTOOTHUP /| /| /| /| /| /| /| / | / | / | / | / | / | / | / |/ |/ |/ |/ |/ |/ |

SDL_HAPTIC_SAWTOOTHDOWN \ |\ |\ |\ |\ |\ |\ | \ | \ | \ | \ | \ | \ | \ | \| \| \| \| \| \| \|

* * SDL_HAPTIC_SINE * SDL_HAPTIC_SQUARE * SDL_HAPTIC_TRIANGLE * SDL_HAPTIC_SAWTOOTHUP * SDL_HAPTIC_SAWTOOTHDOWN * SDL_HapticEffect *

Overview

Fields

Public | _type: UInt16;
Public | direction: TSDL_HapticDirection;
Public | length: UInt32;
Public | delay: UInt16;
Public | button: UInt16;
Public | interval: UInt16;
Public | period: UInt16;
Public | magnitude: SInt16;
Public | offset: SInt16;
Public | phase: UInt16;
Public | attack_length: UInt16;
Public | attack_level: UInt16;
Public | fade_length: UInt16;
Public | fade_level: UInt16;

Description

Fields

Public _type: UInt16;

Header *

Public direction: TSDL_HapticDirection;

**< SDL_HAPTIC_SINE, SDL_HAPTIC_SQUARE, SDL_HAPTIC_TRIANGLE, SDL_HAPTIC_SAWTOOTHUP or SDL_HAPTIC_SAWTOOTHDOWN *

Public length: UInt32;

* Replay *

Public delay: UInt16;

**< Duration of the effect. *

Public button: UInt16;

* Trigger *

Public interval: UInt16;

**< Button that triggers the effect. *

Public period: UInt16;

* Periodic *

Public magnitude: SInt16;

**< Period of the wave. *

Public offset: SInt16;

**< Peak value. *

Public phase: UInt16;

**< Mean value of the wave. *

Public attack_length: UInt16;

* Envelope *

Public attack_level: UInt16;

**< Duration of the attack. *

Public fade_length: UInt16;

**< Level at the start of the attack. *

Public fade_level: UInt16;

**< Duration of the fade. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticCondition

Record TSDL_HapticCondition

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticCondition = record

Description

** * A structure containing a template for a Condition effect. * * The struct handles the following effects: * - SDL_HAPTIC_SPRING: Effect based on axes position. * - SDL_HAPTIC_DAMPER: Effect based on axes velocity. * - SDL_HAPTIC_INERTIA: Effect based on axes acceleration. * - SDL_HAPTIC_FRICTION: Effect based on axes movement. * * Direction is handled by condition internals instead of a direction member. * The condition effect specific members have three parameters. The first * refers to the X axis, the second refers to the Y axis and the third * refers to the Z axis. The right terms refer to the positive side of the * axis and the left terms refer to the negative side of the axis. Please * refer to the ::SDL_HapticDirection diagram for which side is positive and * which is negative. * * SDL_HapticDirection * SDL_HAPTIC_SPRING * SDL_HAPTIC_DAMPER * SDL_HAPTIC_INERTIA * SDL_HAPTIC_FRICTION * SDL_HapticEffect *

Overview

Fields

Public | _type: UInt16;
Public | direction: TSDL_HapticDirection;
Public | length: UInt32;
Public | delay: UInt16;
Public | button: UInt16;
Public | interval: UInt16;
Public | right_sat: array[0..2] of UInt16;
Public | left_sat: array[0..2] of UInt16;
Public | right_coeff: array[0..2] of SInt16;
Public | left_coeff: array[0..2] of SInt16;
Public | deadband: array[0..2] of UInt16;
Public | center: array[0..2] of SInt16;

Description

Fields

Public _type: UInt16;

* Header *

Public direction: TSDL_HapticDirection;

**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER, SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION *

Public length: UInt32;

* Replay *

Public delay: UInt16;

**< Duration of the effect. *

Public button: UInt16;

* Trigger *

Public interval: UInt16;

**< Button that triggers the effect. *

Public right_sat: array[0..2] of UInt16;

* Condition *

Public left_sat: array[0..2] of UInt16;

**< Level when joystick is to the positive side. *

Public right_coeff: array[0..2] of SInt16;

**< Level when joystick is to the negative side. *

Public left_coeff: array[0..2] of SInt16;

**< How fast to increase the force towards the positive side. *

Public deadband: array[0..2] of UInt16;

**< How fast to increase the force towards the negative side. *

Public center: array[0..2] of SInt16;

**< Size of the dead zone. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticRamp

Record TSDL_HapticRamp

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticRamp = record

Description

** * A structure containing a template for a Ramp effect. * * This struct is exclusively for the ::SDL_HAPTIC_RAMP effect. * * The ramp effect starts at start strength and ends at end strength. * It augments in linear fashion. If you use attack and fade with a ramp * the effects get added to the ramp effect making the effect become * quadratic instead of linear. * * SDL_HAPTIC_RAMP * SDL_HapticEffect *

Overview

Fields

Public | _type: UInt16;
Public | direction: TSDL_HapticDirection;
Public | length: UInt32;
Public | delay: UInt16;
Public | button: UInt16;
Public | interval: UInt16;
Public | start: SInt16;
Public | _end: SInt16;
Public | attack_length: UInt16;
Public | attack_level: UInt16;
Public | fade_length: UInt16;
Public | fade_level: UInt16;

Description

Fields

Public _type: UInt16;

* Header *

Public direction: TSDL_HapticDirection;

**< SDL_HAPTIC_RAMP *

Public length: UInt32;

* Replay *

Public delay: UInt16;

**< Duration of the effect. *

Public button: UInt16;

* Trigger *

Public interval: UInt16;

**< Button that triggers the effect. *

Public start: SInt16;

* Ramp *

Public _end: SInt16;

**< Beginning strength level. *

Public attack_length: UInt16;

* Envelope *

Public attack_level: UInt16;

**< Duration of the attack. *

Public fade_length: UInt16;

**< Level at the start of the attack. *

Public fade_level: UInt16;

**< Duration of the fade. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticCustom

Record TSDL_HapticCustom

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticCustom = record

Description

** * A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect. * * A custom force feedback effect is much like a periodic effect, where the * application can define its exact shape. You will have to allocate the * data yourself. Data should consist of channels * samples Uint16 samples. * * If channels is one, the effect is rotated using the defined direction. * Otherwise it uses the samples in data for the different axes. * * SDL_HAPTIC_CUSTOM * SDL_HapticEffect *

Overview

Fields

Public | _type: UInt16;
Public | direction: TSDL_HapticDirection;
Public | length: UInt32;
Public | delay: UInt16;
Public | button: UInt16;
Public | interval: UInt16;
Public | channels: UInt8;
Public | period: UInt16;
Public | samples: UInt16;
Public | data: PUInt16;
Public | attack_length: UInt16;
Public | attack_level: UInt16;
Public | fade_length: UInt16;
Public | fade_level: UInt16;

Description

Fields

Public _type: UInt16;

* Header *

Public direction: TSDL_HapticDirection;

**< SDL_HAPTIC_CUSTOM *

Public length: UInt32;

* Replay *

Public delay: UInt16;

**< Duration of the effect. *

Public button: UInt16;

* Trigger *

Public interval: UInt16;

**< Button that triggers the effect. *

Public channels: UInt8;

* Custom *

Public period: UInt16;

**< Axes to use, minimum of one. *

Public samples: UInt16;

**< Sample periods. *

Public data: PUInt16;

**< Amount of samples. *

Public attack_length: UInt16;

* Envelope *

Public attack_level: UInt16;

**< Duration of the attack. *

Public fade_length: UInt16;

**< Level at the start of the attack. *

Public fade_level: UInt16;

**< Duration of the fade. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_HapticEffect

Record TSDL_HapticEffect

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_HapticEffect = record

Description

Overview

Fields

Public | _type: UInt16;
Public | constant: TSDL_HapticConstant;
Public | periodic: TSDL_HapticPeriodic;
Public | condition: TSDL_HapticCondition;
Public | ramp: TSDL_HapticRamp;
Public | custom: TSDL_HapticCustom;

Description

Fields

Public _type: UInt16;

* Common for all force feedback effects *

Public constant: TSDL_HapticConstant;

**< Effect type. *

Public periodic: TSDL_HapticPeriodic;

**< Constant effect. *

Public condition: TSDL_HapticCondition;

**< Periodic effect. *

Public ramp: TSDL_HapticRamp;

**< Condition effect. *

Public custom: TSDL_HapticCustom;

**< Ramp effect. *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Finger

Record TSDL_Finger

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Finger = record

Description

Overview

Fields

Public | id: TSDL_FingerID;
Public | x: Float;
Public | y: Float;
Public | pressure: Float;

Description

Fields

Public id: TSDL_FingerID;
Public x: Float;
Public y: Float;
Public pressure: Float;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_CommonEvent

Record TSDL_CommonEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_CommonEvent = record

Description

** * Fields shared by every event *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_WindowEvent

Record TSDL_WindowEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_WindowEvent = record

Description

** * Window state change event data (event.window.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | event: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;
Public | padding3: UInt8;
Public | data1: SInt32;
Public | data2: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_WINDOWEVENT

Public windowID: UInt32;
Public event: UInt8;

The associated window

Public padding1: UInt8;

SDL_WindowEventID

Public padding2: UInt8;
Public padding3: UInt8;
Public data1: SInt32;
Public data2: SInt32;

event dependent data


GLSysHelp v.2.1: SDL2.Import: Record TSDL_KeyboardEvent

Record TSDL_KeyboardEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_KeyboardEvent = record

Description

** * Keyboard button event structure (event.key.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | state: UInt8;
Public | _repeat: UInt8;
Public | padding2: UInt8;
Public | padding3: UInt8;
Public | keysym: TSDL_KeySym;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_KEYDOWN or SDL_KEYUP

Public windowID: UInt32;
Public state: UInt8;

The window with keyboard focus, if any

Public _repeat: UInt8;

SDL_PRESSED or SDL_RELEASED

Public padding2: UInt8;

Non-zero if this is a key repeat

Public padding3: UInt8;
Public keysym: TSDL_KeySym;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_TextEditingEvent

Record TSDL_TextEditingEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_TextEditingEvent = record

Description

** * Keyboard text editing event structure (event.edit.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | text: array[0..SDL_TEXTEDITINGEVENT_TEXT_SIZE] of Char;
Public | start: SInt32;
Public | length: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_TEXTEDITING

Public windowID: UInt32;
Public text: array[0..SDL_TEXTEDITINGEVENT_TEXT_SIZE] of Char;

The window with keyboard focus, if any

Public start: SInt32;

The editing text

Public length: SInt32;

The start cursor of selected editing text


GLSysHelp v.2.1: SDL2.Import: Record TSDL_TextInputEvent

Record TSDL_TextInputEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_TextInputEvent = record

Description

** * Keyboard text input event structure (event.text.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | text: array[0..SDL_TEXTINPUTEVENT_TEXT_SIZE] of Char;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_TEXTINPUT

Public windowID: UInt32;
Public text: array[0..SDL_TEXTINPUTEVENT_TEXT_SIZE] of Char;

The window with keyboard focus, if any


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MouseMotionEvent

Record TSDL_MouseMotionEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MouseMotionEvent = record

Description

** * Mouse motion event structure (event.motion.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | which: UInt32;
Public | state: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;
Public | padding3: UInt8;
Public | x: SInt32;
Public | y: SInt32;
Public | xrel: SInt32;
Public | yrel: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_MOUSEMOTION

Public windowID: UInt32;
Public which: UInt32;

The window with mouse focus, if any

Public state: UInt8;

The mouse instance id, or SDL_TOUCH_MOUSEID

Public padding1: UInt8;

The current button state

Public padding2: UInt8;
Public padding3: UInt8;
Public x: SInt32;
Public y: SInt32;

X coordinate, relative to window

Public xrel: SInt32;

Y coordinate, relative to window

Public yrel: SInt32;

The relative motion in the X direction


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MouseButtonEvent

Record TSDL_MouseButtonEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MouseButtonEvent = record

Description

** * Mouse button event structure (event.button.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | which: UInt32;
Public | button: UInt8;
Public | state: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;
Public | x: SInt32;
Public | y: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP

Public windowID: UInt32;
Public which: UInt32;

The window with mouse focus, if any

Public button: UInt8;

The mouse instance id, or SDL_TOUCH_MOUSEID

Public state: UInt8;

The mouse button index

Public padding1: UInt8;

SDL_PRESSED or SDL_RELEASED

Public padding2: UInt8;
Public x: SInt32;
Public y: SInt32;

X coordinate, relative to window


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MouseWheelEvent

Record TSDL_MouseWheelEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MouseWheelEvent = record

Description

** * Mouse wheel event structure (event.wheel.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | which: UInt32;
Public | x: SInt32;
Public | y: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_MOUSEWHEEL

Public windowID: UInt32;
Public which: UInt32;

The window with mouse focus, if any

Public x: SInt32;

The mouse instance id, or SDL_TOUCH_MOUSEID

Public y: SInt32;

The amount scrolled horizontally


GLSysHelp v.2.1: SDL2.Import: Record TSDL_JoyAxisEvent

Record TSDL_JoyAxisEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_JoyAxisEvent = record

Description

** * Joystick axis motion event structure (event.jaxis.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: TSDL_JoystickID;
Public | axis: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;
Public | padding3: UInt8;
Public | value: SInt16;
Public | padding4: UInt16;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_JOYAXISMOTION

Public which: TSDL_JoystickID;
Public axis: UInt8;

The joystick instance id

Public padding1: UInt8;

The joystick axis index

Public padding2: UInt8;
Public padding3: UInt8;
Public value: SInt16;
Public padding4: UInt16;

The axis value (range: -32768 to 32767)


GLSysHelp v.2.1: SDL2.Import: Record TSDL_JoyBallEvent

Record TSDL_JoyBallEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_JoyBallEvent = record

Description

** * Joystick trackball motion event structure (event.jball.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: TSDL_JoystickID;
Public | ball: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;
Public | padding3: UInt8;
Public | xrel: SInt16;
Public | yrel: SInt16;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_JOYBALLMOTION

Public which: TSDL_JoystickID;
Public ball: UInt8;

The joystick instance id

Public padding1: UInt8;

The joystick trackball index

Public padding2: UInt8;
Public padding3: UInt8;
Public xrel: SInt16;
Public yrel: SInt16;

The relative motion in the X direction


GLSysHelp v.2.1: SDL2.Import: Record TSDL_JoyHatEvent

Record TSDL_JoyHatEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_JoyHatEvent = record

Description

** * Joystick hat position change event structure (event.jhat.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: TSDL_JoystickID;
Public | hat: UInt8;
Public | value: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_JOYHATMOTION

Public which: TSDL_JoystickID;
Public hat: UInt8;

The joystick instance id

Public value: UInt8;

The joystick hat index

Public padding1: UInt8;

* The hat position value. * SDL_HAT_LEFTUP SDL_HAT_UP SDL_HAT_RIGHTUP * SDL_HAT_LEFT SDL_HAT_CENTERED SDL_HAT_RIGHT * SDL_HAT_LEFTDOWN SDL_HAT_DOWN SDL_HAT_RIGHTDOWN * * Note that zero means the POV is centered. *

Public padding2: UInt8;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_JoyButtonEvent

Record TSDL_JoyButtonEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_JoyButtonEvent = record

Description

** * Joystick button event structure (event.jbutton.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: TSDL_JoystickID;
Public | button: UInt8;
Public | state: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP

Public which: TSDL_JoystickID;
Public button: UInt8;

The joystick instance id

Public state: UInt8;

The joystick button index

Public padding1: UInt8;

SDL_PRESSED or SDL_RELEASED

Public padding2: UInt8;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_JoyDeviceEvent

Record TSDL_JoyDeviceEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_JoyDeviceEvent = record

Description

** * Joystick device event structure (event.jdevice.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_JOYDEVICEADDED or SDL_JOYDEVICEREMOVED

Public which: SInt32;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_ControllerAxisEvent

Record TSDL_ControllerAxisEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_ControllerAxisEvent = record

Description

** * Game controller axis motion event structure (event.caxis.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: TSDL_JoystickID;
Public | axis: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;
Public | padding3: UInt8;
Public | value: SInt16;
Public | padding4: UInt16;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_CONTROLLERAXISMOTION

Public which: TSDL_JoystickID;
Public axis: UInt8;

The joystick instance id

Public padding1: UInt8;

The controller axis (SDL_GameControllerAxis)

Public padding2: UInt8;
Public padding3: UInt8;
Public value: SInt16;
Public padding4: UInt16;

The axis value (range: -32768 to 32767)


GLSysHelp v.2.1: SDL2.Import: Record TSDL_ControllerButtonEvent

Record TSDL_ControllerButtonEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_ControllerButtonEvent = record

Description

** * Game controller button event structure (event.cbutton.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: TSDL_JoystickID;
Public | button: UInt8;
Public | state: UInt8;
Public | padding1: UInt8;
Public | padding2: UInt8;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_CONTROLLERBUTTONDOWN or SDL_CONTROLLERBUTTONUP

Public which: TSDL_JoystickID;
Public button: UInt8;

The joystick instance id

Public state: UInt8;

The controller button (SDL_GameControllerButton)

Public padding1: UInt8;

SDL_PRESSED or SDL_RELEASED

Public padding2: UInt8;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_ControllerDeviceEvent

Record TSDL_ControllerDeviceEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_ControllerDeviceEvent = record

Description

** * Controller device event structure (event.cdevice.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | which: SInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_CONTROLLERDEVICEADDED, SDL_CONTROLLERDEVICEREMOVED, or SDL_CONTROLLERDEVICEREMAPPED

Public which: SInt32;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_TouchFingerEvent

Record TSDL_TouchFingerEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_TouchFingerEvent = record

Description

** * Touch finger event structure (event.tfinger.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | touchId: TSDL_TouchID;
Public | fingerId: TSDL_FingerID;
Public | x: Float;
Public | y: Float;
Public | dx: Float;
Public | dy: Float;
Public | pressure: Float;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_FINGERMOTION or SDL_FINGERDOWN or SDL_FINGERUP

Public touchId: TSDL_TouchID;
Public fingerId: TSDL_FingerID;

The touch device id

Public x: Float;
Public y: Float;

Normalized in the range 0...1

Public dx: Float;

Normalized in the range 0...1

Public dy: Float;

Normalized in the range 0...1

Public pressure: Float;

Normalized in the range 0...1


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MultiGestureEvent

Record TSDL_MultiGestureEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MultiGestureEvent = record

Description

** * Multiple Finger Gesture Event (event.mgesture.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | touchId: TSDL_TouchID;
Public | dTheta: Float;
Public | dDist: Float;
Public | x: Float;
Public | y: Float;
Public | numFingers: UInt16;
Public | padding: UInt16;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_MULTIGESTURE

Public touchId: TSDL_TouchID;
Public dTheta: Float;

The touch device index

Public dDist: Float;
Public x: Float;
Public y: Float;
Public numFingers: UInt16;
Public padding: UInt16;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_DollarGestureEvent

Record TSDL_DollarGestureEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_DollarGestureEvent = record

Description

* (event.dgesture.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | touchId: TSDL_TouchID;
Public | gestureId: TSDL_GestureID;
Public | numFingers: UInt32;
Public | error: Float;
Public | x: Float;
Public | y: Float;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_DOLLARGESTURE

Public touchId: TSDL_TouchID;
Public gestureId: TSDL_GestureID;

The touch device id

Public numFingers: UInt32;
Public error: Float;
Public x: Float;
Public y: Float;

Normalized center of gesture


GLSysHelp v.2.1: SDL2.Import: Record TSDL_DropEvent

Record TSDL_DropEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_DropEvent = record

Description

** * An event used to request a file open by the system (event.drop.*) * This event is disabled by default, you can enable it with SDL_EventState() * If you enable this event, you must free the filename in the event. *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | _file: PChar;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_DROPFILE

Public _file: PChar;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_QuitEvent

Record TSDL_QuitEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_QuitEvent = record

Description

** * The "quit requested" event *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_QUIT


GLSysHelp v.2.1: SDL2.Import: Record TSDL_UserEvent

Record TSDL_UserEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_UserEvent = record

Description

** * A user-defined event type (event.user.*) *

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | windowID: UInt32;
Public | code: SInt32;
Public | data1: Pointer;
Public | data2: Pointer;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_USEREVENT through SDL_NUMEVENTS-1

Public windowID: UInt32;
Public code: SInt32;

The associated window if any

Public data1: Pointer;

User defined event code

Public data2: Pointer;

User defined data pointer


GLSysHelp v.2.1: SDL2.Import: Record TSDL_SysWMmsg

Record TSDL_SysWMmsg

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_SysWMmsg = record

Description

Overview

Fields

Public | version: TSDL_Version;
Public | h_wnd: HWND;
Public | msg: UInt32;
Public | w_Param: WPARAM;
Public | lParam: LPARAM;

Description

Fields

Public version: TSDL_Version;
Public h_wnd: HWND;
Public msg: UInt32;

The window for the message

Public w_Param: WPARAM;

The type of message

Public lParam: LPARAM;

WORD message parameter


GLSysHelp v.2.1: SDL2.Import: Record TSDL_SysWMinfo

Record TSDL_SysWMinfo

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_SysWMinfo = record

Description

Overview

Fields

Public | version: TSDL_Version;
Public | window: HWnd;

Description

Fields

Public version: TSDL_Version;
Public window: HWnd;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_SysWMEvent

Record TSDL_SysWMEvent

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_SysWMEvent = record

Description

Overview

Fields

Public | type_: UInt32;
Public | timestamp: UInt32;
Public | msg: PSDL_SysWMmsg;

Description

Fields

Public type_: UInt32;
Public timestamp: UInt32;

SDL_SYSWMEVENT

Public msg: PSDL_SysWMmsg;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_Event

Record TSDL_Event

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_Event = record

Description

Overview

Fields

Public | type_: UInt32
Public | common: TSDL_CommonEvent
Public | window: TSDL_WindowEvent
Public | key: TSDL_KeyboardEvent
Public | edit: TSDL_TextEditingEvent
Public | text: TSDL_TextInputEvent
Public | motion: TSDL_MouseMotionEvent
Public | button: TSDL_MouseButtonEvent
Public | wheel: TSDL_MouseWheelEvent
Public | jaxis: TSDL_JoyAxisEvent
Public | jball: TSDL_JoyBallEvent
Public | jhat: TSDL_JoyHatEvent
Public | jbutton: TSDL_JoyButtonEvent
Public | jdevice: TSDL_JoyDeviceEvent
Public | caxis: TSDL_ControllerAxisEvent
Public | cbutton: TSDL_ControllerButtonEvent
Public | cdevice: TSDL_ControllerDeviceEvent
Public | quit: TSDL_QuitEvent
Public | user: TSDL_UserEvent
Public | syswm: TSDL_SysWMEvent
Public | tfinger: TSDL_TouchFingerEvent
Public | mgesture: TSDL_MultiGestureEvent
Public | dgesture: TSDL_DollarGestureEvent
Public | drop: TSDL_DropEvent

Description

Fields

Public type_: UInt32
Public common: TSDL_CommonEvent
Public window: TSDL_WindowEvent
Public key: TSDL_KeyboardEvent
Public edit: TSDL_TextEditingEvent
Public text: TSDL_TextInputEvent
Public motion: TSDL_MouseMotionEvent
Public button: TSDL_MouseButtonEvent
Public wheel: TSDL_MouseWheelEvent
Public jaxis: TSDL_JoyAxisEvent
Public jball: TSDL_JoyBallEvent
Public jhat: TSDL_JoyHatEvent
Public jbutton: TSDL_JoyButtonEvent
Public jdevice: TSDL_JoyDeviceEvent
Public caxis: TSDL_ControllerAxisEvent
Public cbutton: TSDL_ControllerButtonEvent
Public cdevice: TSDL_ControllerDeviceEvent
Public quit: TSDL_QuitEvent
Public user: TSDL_UserEvent
Public syswm: TSDL_SysWMEvent
Public tfinger: TSDL_TouchFingerEvent
Public mgesture: TSDL_MultiGestureEvent
Public dgesture: TSDL_DollarGestureEvent
Public drop: TSDL_DropEvent


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MessageBoxButtonData

Record TSDL_MessageBoxButtonData

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MessageBoxButtonData = record

Description

Overview

Fields

Public | flags: UInt32;
Public | buttonid: Integer;
Public | text: PChar;

Description

Fields

Public flags: UInt32;
Public buttonid: Integer;

**< ::SDL_MessageBoxButtonFlags *

Public text: PChar;

**< User defined button id (value returned via SDL_ShowMessageBox) *


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MessageBoxColor

Record TSDL_MessageBoxColor

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MessageBoxColor = record

Description

Overview

Fields

Public | r: UInt8;
Public | g: UInt8;
Public | b: UInt8;

Description

Fields

Public r: UInt8;
Public g: UInt8;
Public b: UInt8;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MessageBoxColorScheme

Record TSDL_MessageBoxColorScheme

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MessageBoxColorScheme = record

Description

Overview

Fields

Public colors: array[0..4] of TSDL_MessageBoxColor;

Description

Fields

Public colors: array[0..4] of TSDL_MessageBoxColor;

colors: array[0..SDL_MESSAGEBOX_COLOR_MAX-1] of TSDL_MessageBoxColor;


GLSysHelp v.2.1: SDL2.Import: Record TSDL_MessageBoxData

Record TSDL_MessageBoxData

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDL_MessageBoxData = record

Description

Overview

Fields

Public | flags: UInt32;
Public | window: PSDL_Window;
Public | title: PChar;
Public | _message: PChar;
Public | numbuttons: Integer;
Public | buttons: PSDL_MessageBoxButtonData;
Public | colorScheme: PSDL_MessageBoxColorScheme;

Description

Fields

Public flags: UInt32;
Public window: PSDL_Window;

**< SDL_MessageBoxFlags *

Public title: PChar;

**< Parent window, can be NULL *

Public _message: PChar;

**< UTF-8 title *

Public numbuttons: Integer;

**< UTF-8 message text *

Public buttons: PSDL_MessageBoxButtonData;
Public colorScheme: PSDL_MessageBoxColorScheme;


GLSysHelp v.2.1: SDL2.Import: Record TSDLPantalla

Record TSDLPantalla

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Import

Declaration

type TSDLPantalla = record

Description

Overview

Fields

Public | Window: PSDL_Window;
Public | Renderer: PSDL_Renderer;
Public | rx: Integer;
Public | ry: Integer;
Public | lw: Integer;
Public | lh: Integer;
Public | sx: Float;
Public | sy: Float;
Public | max_texture_width: SInt32;
Public | max_texture_height: SInt32;
Public | hardware: Boolean;
Public | render_name: String;

Description

Fields

Public Window: PSDL_Window;
Public Renderer: PSDL_Renderer;
Public rx: Integer;
Public ry: Integer;

X donde empieza el render (para los ClipRect y el ratón) expresado en resolución lógica

Public lw: Integer;

Y donde empieza el render (para los ClipRect y el ratón)

Public lh: Integer;

ancho de la ventana en resolución lógica

Public sx: Float;

alto de la ventana en resolución lógica

Public sy: Float;

multiplicador para pasar de resolución lógica a resolución real

Public max_texture_width: SInt32;

multiplicador para pasar de resolución lógica a resolución real

Public max_texture_height: SInt32;

ancho máximo de las texturas

Public hardware: Boolean;

alto máximo de las texturas

Public render_name: String;

indica si usamos aceleración hardware


GLSysHelp v.2.1: SDL2.Mixer

Unit SDL2.Mixer

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Uses

  • SDL2.Import

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TMix_Chunk |
Record TMix_Music |

Functions and Procedures

procedure SDL_MIXER_VERSION(X: PSDL_Version);
procedure MIX_VERSION(X: PSDL_Version);
function Mix_Linked_Version(): PSDL_Version; cdecl; external SDL_MixerLibName;
function Mix_Init(flags: Integer): Integer; cdecl; external SDL_MixerLibName;
procedure Mix_Quit(); cdecl; external SDL_MixerLibName;
function Mix_OpenAudio(frequency: Integer; format: UInt16; channels: Integer; chunksize: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_AllocateChannels(numchans: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_QuerySpec(frequency: PInt; format: PUInt16; channels: PInt): Integer; cdecl; external SDL_MixerLibName;
function Mix_LoadWAV_RW(src: PSDL_RWops; freesrc: Integer): PMix_Chunk; cdecl; external SDL_MixerLibName;
function Mix_LoadWAV(_file: PChar): PMix_Chunk;
function Mix_LoadMUS(_file: PChar): PMix_Music; cdecl; external SDL_MixerLibName;
function Mix_LoadMUS_RW(src: PSDL_RWops; freesrc: Integer): PMix_Music; cdecl; external SDL_MixerLibName;
function Mix_LoadMUSType_RW(src: PSDL_RWops; _type: TMix_MusicType; freesrc: Integer): PMix_Music; cdecl; external SDL_MixerLibName;
function Mix_QuickLoad_WAV(mem: PUInt8): PMix_Chunk; cdecl; external SDL_MixerLibName;
function Mix_QuickLoad_RAW(mem: PUInt8; len: UInt32): PMix_Chunk; cdecl; external SDL_MixerLibName;
procedure Mix_FreeChunk(chunk: PMix_Chunk); cdecl; external SDL_MixerLibName;
procedure Mix_FreeMusic(music: PMix_Music); cdecl; external SDL_MixerLibName;
function Mix_GetNumChunkDecoders: Integer; cdecl; external SDL_MixerLibName;
function Mix_GetChunkDecoder(index: Integer): PChar; cdecl; external SDL_MixerLibName;
function Mix_GetNumMusicDecoders: Integer; cdecl; external SDL_MixerLibName;
function Mix_GetMusicDecoder(index: Integer): PChar; cdecl; external SDL_MixerLibName;
function Mix_GetMusicType(music: TMix_Music): TMix_MusicType; cdecl; external SDL_MixerLibName;
procedure Mix_SetPostMix(func: TMix_Func; arg: Pointer); cdecl; external SDL_MixerLibName;
procedure Mix_HookMusic(func: TMix_Func; arg: Pointer); cdecl; external SDL_MixerLibName;
procedure Mix_HookMusicFinished(music_finished: PMix_Music_Finished); cdecl; external SDL_MixerLibName;
function Mix_GetMusicHookData(): Pointer; cdecl; external SDL_MixerLibName;
procedure Mix_ChannelFinished(channel_finished: TMix_Channel_Finished); cdecl; external SDL_MixerLibName;
function Mix_RegisterEffect(chan: Integer; f: TMix_EffectFunc_t; d: TMix_EffectDone_t; arg: Pointer): Integer; cdecl; external SDL_MixerLibName;
function Mix_UnregisterEffect(channel: Integer; f: TMix_EffectFunc_t): Integer; cdecl; external SDL_MixerLibName;
function Mix_UnregisterAllEffects(channel: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetPanning(channel: Integer; left: UInt8; right: UInt8): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetPosition(channel: Integer; angle: SInt16; distance: UInt8): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetDistance(channel: Integer; distance: UInt8): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetReverseStereo(channel: Integer; flip: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_ReserveChannels(num: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GroupChannel(which: Integer; tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GroupChannels(from: Integer; _to: Integer; tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GroupAvailable(tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GroupCount(tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GroupOldest(tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GroupNewer(tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_PlayChannel(channel: Integer; chunk: PMix_Chunk; loops: Integer): Integer;
function Mix_PlayChannelTimed(channel: Integer; chunk: PMix_Chunk; loops: Integer; ticks: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_PlayMusic(music: PMix_Music; loops: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeInMusic(music: PMix_Music; loops: Integer; ms: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeInMusicPos(music: PMix_Music; loops: Integer; ms: Integer; position: Double): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeInChannel(channel: Integer; chunk: PMix_Chunk; loops: Integer; ms: Integer): Integer;
function Mix_FadeInChannelTimed(channel: Integer; chunk: PMix_Chunk; loops: Integer; ms: Integer; ticks: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_Volume(channel: Integer; volume: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_VolumeChunk(chunk: PMix_Chunk; volume: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_VolumeMusic(volume: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_HaltChannel(channel: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_HaltGroup(tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_HaltMusic(): Integer; cdecl; external SDL_MixerLibName;
function Mix_ExpireChannel(channel: Integer; ticks: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeOutChannel(which: Integer; ms: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeOutGroup(tag: Integer; ms: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeOutMusic(ms: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadingMusic(): TMix_Fading; cdecl; external SDL_MixerLibName;
function Mix_FadingChannel(which: Integer): TMix_Fading; cdecl; external SDL_MixerLibName;
procedure Mix_Pause(channel: Integer); cdecl; external SDL_MixerLibName;
procedure Mix_Resume(channel: Integer); cdecl; external SDL_MixerLibName;
function Mix_Paused(channel: Integer): Integer; cdecl; external SDL_MixerLibName;
procedure Mix_PauseMusic(); cdecl; external SDL_MixerLibName;
procedure Mix_ResumeMusic(); cdecl; external SDL_MixerLibName;
procedure Mix_RewindMusic(); cdecl; external SDL_MixerLibName;
function Mix_PausedMusic(): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetMusicPosition(position: Double): Integer; cdecl; external SDL_MixerLibName;
function Mix_Playing(channel: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_PlayingMusic(): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetMusicCMD(command: PChar): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetSynchroValue(value: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GetSynchroValue(): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetSoundFonts(paths: PChar): Integer; cdecl; external SDL_MixerLibName;
function Mix_GetSoundFonts(): PChar; cdecl; external SDL_MixerLibName;
function Mix_EachSoundFont(func: TMix_SoundFunc; data: Pointer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GetChunk(channel: Integer): PMix_Chunk; cdecl; external SDL_MixerLibName;
procedure Mix_CloseAudio(); cdecl; external SDL_MixerLibName;
function Mix_SetError(const fmt: PChar): SInt32;
function Mix_GetError: PChar;

Types

PMix_Chunk = ˆTMix_Chunk;
PMix_Music = ˆTMix_Music;
PMix_Music_Finished = ˆTMix_Music_Finished;
TMix_Channel_Finished = procedure(channel: Integer);
TMix_EffectDone_t = procedure(chan: Integer; udata: Pointer);
TMix_EffectFunc_t = procedure(chan: Integer; stream: Pointer; len: Integer; udata: Pointer);
TMix_Fading = (...);
TMix_Func = procedure(udata: Pointer; stream: PUInt8; len: Integer);
TMIX_InitFlags = Byte;
TMix_MusicType = (...);
TMix_Music_Finished = procedure();
TMix_SoundFunc = function(c: PChar; p: Pointer): Integer;

Constants

SDL_MixerLibName = 'SDL2_mixer.dll';
SDL_MIXER_MAJOR_VERSION = 2;
SDL_MIXER_MINOR_VERSION = 0;
SDL_MIXER_PATCHLEVEL = 0;
MIX_MAJOR_VERSION = SDL_MIXER_MAJOR_VERSION;
MIX_MINOR_VERSION = SDL_MIXER_MINOR_VERSION;
MIX_PATCHLEVEL = SDL_MIXER_PATCHLEVEL;
MIX_INIT_FLAC = $00000001;
MIX_INIT_MOD = $00000002;
MIX_INIT_MODPLUG = $00000004;
MIX_INIT_MP3 = $00000008;
MIX_INIT_OGG = $00000010;
MIX_INIT_FLUIDSYNTH = $00000020;
MIX_CHANNELS = 8;
MIX_DEFAULT_FREQUENCY = 22050;
MIX_DEFAULT_FORMAT = AUDIO_S16LSB;
MIX_DEFAULT_CHANNELS = 2;
MIX_MAX_VOLUME = 128;
MIX_CHANNEL_POST = -2;
MIX_EFFECTSMAXSPEED = 'MIX_EFFECTSMAXSPEED';

Description

Functions and Procedures

procedure SDL_MIXER_VERSION(X: PSDL_Version);

* This macro can be used to fill a version structure with the compile-time * version of the SDL_mixer library. *

procedure MIX_VERSION(X: PSDL_Version);
function Mix_Linked_Version(): PSDL_Version; cdecl; external SDL_MixerLibName;

* This function gets the version of the dynamically linked SDL_mixer library. it should NOT be used to fill a version structure, instead you should use the SDL_MIXER_VERSION() macro. *

function Mix_Init(flags: Integer): Integer; cdecl; external SDL_MixerLibName;

* Loads dynamic libraries and prepares them for use. Flags should be one or more flags from MIX_InitFlags OR'd together. It returns the flags successfully initialized, or 0 on failure. *

procedure Mix_Quit(); cdecl; external SDL_MixerLibName;

* Unloads libraries loaded with Mix_Init *

function Mix_OpenAudio(frequency: Integer; format: UInt16; channels: Integer; chunksize: Integer): Integer; cdecl; external SDL_MixerLibName;

* Open the mixer with a certain audio format *

function Mix_AllocateChannels(numchans: Integer): Integer; cdecl; external SDL_MixerLibName;

* Dynamically change the number of channels managed by the mixer. If decreasing the number of channels, the upper channels are stopped. This function returns the new number of allocated channels. *

function Mix_QuerySpec(frequency: PInt; format: PUInt16; channels: PInt): Integer; cdecl; external SDL_MixerLibName;

* Find out what the actual audio device parameters are. This function returns 1 if the audio has been opened, 0 otherwise. *

function Mix_LoadWAV_RW(src: PSDL_RWops; freesrc: Integer): PMix_Chunk; cdecl; external SDL_MixerLibName;

* Load a wave file or a music (.mod .s3m .it .xm) file *

function Mix_LoadWAV(_file: PChar): PMix_Chunk;
function Mix_LoadMUS(_file: PChar): PMix_Music; cdecl; external SDL_MixerLibName;
function Mix_LoadMUS_RW(src: PSDL_RWops; freesrc: Integer): PMix_Music; cdecl; external SDL_MixerLibName;

* Load a music file from an SDL_RWop object (Ogg and MikMod specific currently) Matt Campbell (matt@campbellhome.dhs.org) April 2000 *

function Mix_LoadMUSType_RW(src: PSDL_RWops; _type: TMix_MusicType; freesrc: Integer): PMix_Music; cdecl; external SDL_MixerLibName;

* Load a music file from an SDL_RWop object assuming a specific format *

function Mix_QuickLoad_WAV(mem: PUInt8): PMix_Chunk; cdecl; external SDL_MixerLibName;

* Load a wave file of the mixer format from a memory buffer *

function Mix_QuickLoad_RAW(mem: PUInt8; len: UInt32): PMix_Chunk; cdecl; external SDL_MixerLibName;

* Load raw audio data of the mixer format from a memory buffer *

procedure Mix_FreeChunk(chunk: PMix_Chunk); cdecl; external SDL_MixerLibName;

* Free an audio chunk previously loaded *

procedure Mix_FreeMusic(music: PMix_Music); cdecl; external SDL_MixerLibName;
function Mix_GetNumChunkDecoders: Integer; cdecl; external SDL_MixerLibName;

* Get a list of chunk/music decoders that this build of SDL_mixer provides. This list can change between builds AND runs of the program, if external libraries that add functionality become available. You must successfully call Mix_OpenAudio() before calling these functions. This API is only available in SDL_mixer 1.2.9 and later.

// usage... int i; const int total = Mix_GetNumChunkDecoders(); for (i = 0; i < total; i++) printf("Supported chunk decoder: [%s]\n", Mix_GetChunkDecoder(i));

Appearing in this list doesn't promise your specific audio file will decode...but it's handy to know if you have, say, a functioning Timidity install.

These return values are static, read-only data; do not modify or free it. The pointers remain valid until you call Mix_CloseAudio(). *

function Mix_GetChunkDecoder(index: Integer): PChar; cdecl; external SDL_MixerLibName;
function Mix_GetNumMusicDecoders: Integer; cdecl; external SDL_MixerLibName;
function Mix_GetMusicDecoder(index: Integer): PChar; cdecl; external SDL_MixerLibName;
function Mix_GetMusicType(music: TMix_Music): TMix_MusicType; cdecl; external SDL_MixerLibName;

* Find out the music format of a mixer music, or the currently playing music, if 'music' is NULL. *

procedure Mix_SetPostMix(func: TMix_Func; arg: Pointer); cdecl; external SDL_MixerLibName;
procedure Mix_HookMusic(func: TMix_Func; arg: Pointer); cdecl; external SDL_MixerLibName;

* Add your own music player or additional mixer function. If 'mix_func' is NULL, the default music player is re-enabled. *

procedure Mix_HookMusicFinished(music_finished: PMix_Music_Finished); cdecl; external SDL_MixerLibName;
function Mix_GetMusicHookData(): Pointer; cdecl; external SDL_MixerLibName;

* Get a pointer to the user data for the current music hook *

procedure Mix_ChannelFinished(channel_finished: TMix_Channel_Finished); cdecl; external SDL_MixerLibName;
function Mix_RegisterEffect(chan: Integer; f: TMix_EffectFunc_t; d: TMix_EffectDone_t; arg: Pointer): Integer; cdecl; external SDL_MixerLibName;

* Register a special effect function. At mixing time, the channel data is * copied into a buffer and passed through each registered effect function. * After it passes through all the functions, it is mixed into the final * output stream. The copy to buffer is performed once, then each effect * function performs on the output of the previous effect. Understand that * this extra copy to a buffer is not performed if there are no effects * registered for a given chunk, which saves CPU cycles, and any given * effect will be extra cycles, too, so it is crucial that your code run * fast. Also note that the data that your function is given is in the * format of the sound device, and not the format you gave to Mix_OpenAudio(), * although they may in reality be the same. This is an unfortunate but * necessary speed concern. Use Mix_QuerySpec() to determine if you can * handle the data before you register your effect, and take appropriate * actions. * You may also specify a callback (Mix_EffectDone_t) that is called when * the channel finishes playing. This gives you a more fine-grained control * than Mix_ChannelFinished(), in case you need to free effect-specific * resources, etc. If you don't need this, you can specify NULL. * You may set the callbacks before or after calling Mix_PlayChannel(). * Things like Mix_SetPanning() are just internal special effect functions, * so if you are using that, you've already incurred the overhead of a copy * to a separate buffer, and that these effects will be in the queue with * any functions you've registered. The list of registered effects for a * channel is reset when a chunk finishes playing, so you need to explicitly * set them with each call to Mix_PlayChannel*(). * You may also register a special effect function that is to be run after * final mixing occurs. The rules for these callbacks are identical to those * in Mix_RegisterEffect, but they are run after all the channels and the * music have been mixed into a single stream, whereas channel-specific * effects run on a given channel before any other mixing occurs. These * global effect callbacks are call "posteffects". Posteffects only have * their Mix_EffectDone_t function called when they are unregistered (since * the main output stream is never "done" in the same sense as a channel). * You must unregister them manually when you've had enough. Your callback * will be told that the channel being mixed is (MIX_CHANNEL_POST) if the * processing is considered a posteffect. * * After all these effects have finished processing, the callback registered * through Mix_SetPostMix() runs, and then the stream goes to the audio * device. * * DO NOT EVER call SDL_LockAudio() from your callback function! * * returns zero if error (no such channel), nonzero if added. * Error messages can be retrieved from Mix_GetError(). *

function Mix_UnregisterEffect(channel: Integer; f: TMix_EffectFunc_t): Integer; cdecl; external SDL_MixerLibName;

* You may not need to call this explicitly, unless you need to stop an * effect from processing in the middle of a chunk's playback. * Posteffects are never implicitly unregistered as they are for channels, * but they may be explicitly unregistered through this function by * specifying MIX_CHANNEL_POST for a channel. * returns zero if error (no such channel or effect), nonzero if removed. * Error messages can be retrieved from Mix_GetError(). *

function Mix_UnregisterAllEffects(channel: Integer): Integer; cdecl; external SDL_MixerLibName;

* You may not need to call this explicitly, unless you need to stop all * effects from processing in the middle of a chunk's playback. Note that * this will also shut off some internal effect processing, since * Mix_SetPanning() and others may use this API under the hood. This is * called internally when a channel completes playback. * Posteffects are never implicitly unregistered as they are for channels, * but they may be explicitly unregistered through this function by * specifying MIX_CHANNEL_POST for a channel. * returns zero if error (no such channel), nonzero if all effects removed. * Error messages can be retrieved from Mix_GetError(). *

function Mix_SetPanning(channel: Integer; left: UInt8; right: UInt8): Integer; cdecl; external SDL_MixerLibName;

* Set the panning of a channel. The left and right channels are specified * as integers between 0 and 255, quietest to loudest, respectively. * * Technically, this is just individual volume control for a sample with * two (stereo) channels, so it can be used for more than just panning. * If you want real panning, call it like this: * * Mix_SetPanning(channel, left, 255 - left); * * ...which isn't so hard. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the panning will be done to the final mixed stream before passing it on * to the audio device. * * This uses the Mix_RegisterEffect() API internally, and returns without * registering the effect function if the audio device is not configured * for stereo output. Setting both (left) and (right) to 255 causes this * effect to be unregistered, since that is the data's normal state. * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if panning effect enabled. Note that an audio device in mono * mode is a no-op, but this call will return successful in that case. * Error messages can be retrieved from Mix_GetError(). *

function Mix_SetPosition(channel: Integer; angle: SInt16; distance: UInt8): Integer; cdecl; external SDL_MixerLibName;

* Set the position of a channel. (angle) is an integer from 0 to 360, that * specifies the location of the sound in relation to the listener. (angle) * will be reduced as neccesary (540 becomes 180 degrees, -100 becomes 260). * Angle 0 is due north, and rotates clockwise as the value increases. * For efficiency, the precision of this effect may be limited (angles 1 * through 7 might all produce the same effect, 8 through 15 are equal, etc). * (distance) is an integer between 0 and 255 that specifies the space * between the sound and the listener. The larger the number, the further * away the sound is. Using 255 does not guarantee that the channel will be * culled from the mixing process or be completely silent. For efficiency, * the precision of this effect may be limited (distance 0 through 5 might * all produce the same effect, 6 through 10 are equal, etc). Setting (angle) * and (distance) to 0 unregisters this effect, since the data would be * unchanged. * * If you need more precise positional audio, consider using OpenAL for * spatialized effects instead of SDL_mixer. This is only meant to be a * basic effect for simple "3D" games. * * If the audio device is configured for mono output, then you won't get * any effectiveness from the angle; however, distance attenuation on the * channel will still occur. While this effect will function with stereo * voices, it makes more sense to use voices with only one channel of sound, * so when they are mixed through this effect, the positioning will sound * correct. You can convert them to mono through SDL before giving them to * the mixer in the first place if you like. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the positioning will be done to the final mixed stream before passing it * on to the audio device. * * This is a convenience wrapper over Mix_SetDistance() and Mix_SetPanning(). * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if position effect is enabled. * Error messages can be retrieved from Mix_GetError(). *

function Mix_SetDistance(channel: Integer; distance: UInt8): Integer; cdecl; external SDL_MixerLibName;

* Set the "distance" of a channel. (distance) is an integer from 0 to 255 * that specifies the location of the sound in relation to the listener. * Distance 0 is overlapping the listener, and 255 is as far away as possible * A distance of 255 does not guarantee silence; in such a case, you might * want to try changing the chunk's volume, or just cull the sample from the * mixing process with Mix_HaltChannel(). * For efficiency, the precision of this effect may be limited (distances 1 * through 7 might all produce the same effect, 8 through 15 are equal, etc). * (distance) is an integer between 0 and 255 that specifies the space * between the sound and the listener. The larger the number, the further * away the sound is. * Setting (distance) to 0 unregisters this effect, since the data would be * unchanged. * If you need more precise positional audio, consider using OpenAL for * spatialized effects instead of SDL_mixer. This is only meant to be a * basic effect for simple "3D" games. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the distance attenuation will be done to the final mixed stream before * passing it on to the audio device. * * This uses the Mix_RegisterEffect() API internally. * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if position effect is enabled. * Error messages can be retrieved from Mix_GetError(). *

function Mix_SetReverseStereo(channel: Integer; flip: Integer): Integer; cdecl; external SDL_MixerLibName;

* Causes a channel to reverse its stereo. This is handy if the user has his * speakers hooked up backwards, or you would like to have a minor bit of * psychedelia in your sound code. :) Calling this function with (flip) * set to non-zero reverses the chunks's usual channels. If (flip) is zero, * the effect is unregistered. * * This uses the Mix_RegisterEffect() API internally, and thus is probably * more CPU intensive than having the user just plug in his speakers * correctly. Mix_SetReverseStereo() returns without registering the effect * function if the audio device is not configured for stereo output. * * If you specify MIX_CHANNEL_POST for (channel), then this the effect is used * on the final mixed stream before sending it on to the audio device (a * posteffect). * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if reversing effect is enabled. Note that an audio device in mono * mode is a no-op, but this call will return successful in that case. * Error messages can be retrieved from Mix_GetError(). *

function Mix_ReserveChannels(num: Integer): Integer; cdecl; external SDL_MixerLibName;

* Reserve the first channels (0 -> n-1) for the application, i.e. don't allocate them dynamically to the next sample if requested with a -1 value below. Returns the number of reserved channels. *

function Mix_GroupChannel(which: Integer; tag: Integer): Integer; cdecl; external SDL_MixerLibName;

* Attach a tag to a channel. A tag can be assigned to several mixer channels, to form groups of channels. If 'tag' is -1, the tag is removed (actually -1 is the tag used to represent the group of all the channels). Returns true if everything was OK. *

function Mix_GroupChannels(from: Integer; _to: Integer; tag: Integer): Integer; cdecl; external SDL_MixerLibName;

* Assign several consecutive channels to a group *

function Mix_GroupAvailable(tag: Integer): Integer; cdecl; external SDL_MixerLibName;

* Finds the first available channel in a group of channels, returning -1 if none are available. *

function Mix_GroupCount(tag: Integer): Integer; cdecl; external SDL_MixerLibName;

* Returns the number of channels in a group. This is also a subtle way to get the total number of channels when 'tag' is -1 *

function Mix_GroupOldest(tag: Integer): Integer; cdecl; external SDL_MixerLibName;

* Finds the "oldest" sample playing in a group of channels *

function Mix_GroupNewer(tag: Integer): Integer; cdecl; external SDL_MixerLibName;

* Finds the "most recent" (i.e. last) sample playing in a group of channels *

function Mix_PlayChannel(channel: Integer; chunk: PMix_Chunk; loops: Integer): Integer;

* Play an audio chunk on a specific channel. If the specified channel is -1, play on the first free channel. If 'loops' is greater than zero, loop the sound that many times. If 'loops' is -1, loop inifinitely (˜65000 times). Returns which channel was used to play the sound. *

function Mix_PlayChannelTimed(channel: Integer; chunk: PMix_Chunk; loops: Integer; ticks: Integer): Integer; cdecl; external SDL_MixerLibName;

* The same as above, but the sound is played at most 'ticks' milliseconds *

function Mix_PlayMusic(music: PMix_Music; loops: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeInMusic(music: PMix_Music; loops: Integer; ms: Integer): Integer; cdecl; external SDL_MixerLibName;

* Fade in music or a channel over "ms" milliseconds, same semantics as the "Play" functions *

function Mix_FadeInMusicPos(music: PMix_Music; loops: Integer; ms: Integer; position: Double): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeInChannel(channel: Integer; chunk: PMix_Chunk; loops: Integer; ms: Integer): Integer;
function Mix_FadeInChannelTimed(channel: Integer; chunk: PMix_Chunk; loops: Integer; ms: Integer; ticks: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_Volume(channel: Integer; volume: Integer): Integer; cdecl; external SDL_MixerLibName;

* Set the volume in the range of 0-128 of a specific channel or chunk. If the specified channel is -1, set volume for all channels. Returns the original volume. If the specified volume is -1, just return the current volume. *

function Mix_VolumeChunk(chunk: PMix_Chunk; volume: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_VolumeMusic(volume: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_HaltChannel(channel: Integer): Integer; cdecl; external SDL_MixerLibName;

* Halt playing of a particular channel *

function Mix_HaltGroup(tag: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_HaltMusic(): Integer; cdecl; external SDL_MixerLibName;
function Mix_ExpireChannel(channel: Integer; ticks: Integer): Integer; cdecl; external SDL_MixerLibName;

* Change the expiration delay for a particular channel. The sample will stop playing after the 'ticks' milliseconds have elapsed, or remove the expiration if 'ticks' is -1 *

function Mix_FadeOutChannel(which: Integer; ms: Integer): Integer; cdecl; external SDL_MixerLibName;

* Halt a channel, fading it out progressively till it's silent The ms parameter indicates the number of milliseconds the fading will take. *

function Mix_FadeOutGroup(tag: Integer; ms: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadeOutMusic(ms: Integer): Integer; cdecl; external SDL_MixerLibName;
function Mix_FadingMusic(): TMix_Fading; cdecl; external SDL_MixerLibName;

* Query the fading status of a channel *

function Mix_FadingChannel(which: Integer): TMix_Fading; cdecl; external SDL_MixerLibName;
procedure Mix_Pause(channel: Integer); cdecl; external SDL_MixerLibName;

* Pause/Resume a particular channel *

procedure Mix_Resume(channel: Integer); cdecl; external SDL_MixerLibName;
function Mix_Paused(channel: Integer): Integer; cdecl; external SDL_MixerLibName;
procedure Mix_PauseMusic(); cdecl; external SDL_MixerLibName;

* Pause/Resume the music stream *

procedure Mix_ResumeMusic(); cdecl; external SDL_MixerLibName;
procedure Mix_RewindMusic(); cdecl; external SDL_MixerLibName;
function Mix_PausedMusic(): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetMusicPosition(position: Double): Integer; cdecl; external SDL_MixerLibName;

* Set the current position in the music stream. This returns 0 if successful, or -1 if it failed or isn't implemented. This function is only implemented for MOD music formats (set pattern order number) and for OGG, FLAC, MP3_MAD, and MODPLUG music (set position in seconds), at the moment. *

function Mix_Playing(channel: Integer): Integer; cdecl; external SDL_MixerLibName;

* Check the status of a specific channel. If the specified channel is -1, check all channels. *

function Mix_PlayingMusic(): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetMusicCMD(command: PChar): Integer; cdecl; external SDL_MixerLibName;

* Stop music and set external music playback command *

function Mix_SetSynchroValue(value: Integer): Integer; cdecl; external SDL_MixerLibName;

* Synchro value is set by MikMod from modules while playing *

function Mix_GetSynchroValue(): Integer; cdecl; external SDL_MixerLibName;
function Mix_SetSoundFonts(paths: PChar): Integer; cdecl; external SDL_MixerLibName;

* Set/Get/Iterate SoundFonts paths to use by supported MIDI backends *

function Mix_GetSoundFonts(): PChar; cdecl; external SDL_MixerLibName;
function Mix_EachSoundFont(func: TMix_SoundFunc; data: Pointer): Integer; cdecl; external SDL_MixerLibName;
function Mix_GetChunk(channel: Integer): PMix_Chunk; cdecl; external SDL_MixerLibName;

* Get the Mix_Chunk currently associated with a mixer channel Returns NULL if it's an invalid channel, or there's no chunk associated. *

procedure Mix_CloseAudio(); cdecl; external SDL_MixerLibName;

* Close the mixer, halting all playing audio *

function Mix_SetError(const fmt: PChar): SInt32;

* We'll use SDL for reporting errors *

function Mix_GetError: PChar;

Types

PMix_Chunk = ˆTMix_Chunk;

* The internal format for an audio chunk *

PMix_Music = ˆTMix_Music;

* The internal format for a music chunk interpreted via mikmod *

PMix_Music_Finished = ˆTMix_Music_Finished;

* Add your own callback when the music has finished playing. This callback is only called if the music finishes naturally. *

TMix_Channel_Finished = procedure(channel: Integer);

* * Add your own callback when a channel has finished playing. NULL * to disable callback. The callback may be called from the mixer's audio * callback or it could be called as a result of Mix_HaltChannel(), etc. * do not call SDL_LockAudio() from this callback; you will either be * inside the audio callback, or SDL_mixer will explicitly lock the audio * before calling your callback. *

TMix_EffectDone_t = procedure(chan: Integer; udata: Pointer);

* * This is a callback that signifies that a channel has finished all its * loops and has completed playback. This gets called if the buffer * plays out normally, or if you call Mix_HaltChannel(), implicitly stop * a channel via Mix_AllocateChannels(), or unregister a callback while * it's still playing. * * DO NOT EVER call SDL_LockAudio() from your callback function! *

TMix_EffectFunc_t = procedure(chan: Integer; stream: Pointer; len: Integer; udata: Pointer);

* This is the format of a special effect callback: * * myeffect(int chan, void *stream, int len, void *udata); * * (chan) is the channel number that your effect is affecting. (stream) is * the buffer of data to work upon. (len) is the size of (stream), and * (udata) is a user-defined bit of data, which you pass as the last arg of * Mix_RegisterEffect(), and is passed back unmolested to your callback. * Your effect changes the contents of (stream) based on whatever parameters * are significant, or just leaves it be, if you prefer. You can do whatever * you like to the buffer, though, and it will continue in its changed state * down the mixing pipeline, through any other effect functions, then finally * to be mixed with the rest of the channels and music for the final output * stream. * * DO NOT EVER call SDL_LockAudio() from your callback function! *

TMix_Fading = (...);

* The different fading types supported *

Values
  • MIX_NO_FADING
  • MIX_FADING_OUT
  • MIX_FADING_IN
TMix_Func = procedure(udata: Pointer; stream: PUInt8; len: Integer);

* Set a function that is called after all mixing is performed. This can be used to provide real-time visual display of the audio stream or add a custom mixer filter for the stream data. *

TMIX_InitFlags = Byte;
TMix_MusicType = (...);
Values
  • MUS_NONE
  • MUS_CMD
  • MUS_WAV
  • MUS_MOD
  • MUS_MID
  • MUS_OGG
  • MUS_MP3
  • MUS_MP3_MAD
  • MUS_FLAC
  • MUS_MODPLUG
TMix_Music_Finished = procedure();
TMix_SoundFunc = function(c: PChar; p: Pointer): Integer;

Constants

SDL_MixerLibName = 'SDL2_mixer.dll';
SDL_MIXER_MAJOR_VERSION = 2;

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_MIXER_MINOR_VERSION = 0;
SDL_MIXER_PATCHLEVEL = 0;
MIX_MAJOR_VERSION = SDL_MIXER_MAJOR_VERSION;

* Backwards compatibility *

MIX_MINOR_VERSION = SDL_MIXER_MINOR_VERSION;
MIX_PATCHLEVEL = SDL_MIXER_PATCHLEVEL;
MIX_INIT_FLAC = $00000001;
MIX_INIT_MOD = $00000002;
MIX_INIT_MODPLUG = $00000004;
MIX_INIT_MP3 = $00000008;
MIX_INIT_OGG = $00000010;
MIX_INIT_FLUIDSYNTH = $00000020;
MIX_CHANNELS = 8;

* The default mixer has 8 simultaneous mixing channels *

MIX_DEFAULT_FREQUENCY = 22050;

* Good default values for a PC soundcard *

MIX_DEFAULT_FORMAT = AUDIO_S16LSB;
MIX_DEFAULT_CHANNELS = 2;
MIX_MAX_VOLUME = 128;
MIX_CHANNEL_POST = -2;

* Special Effects API by ryan c. gordon. (icculus@icculus.org) *

MIX_EFFECTSMAXSPEED = 'MIX_EFFECTSMAXSPEED';


GLSysHelp v.2.1: SDL2.Mixer: Record TMix_Chunk

Record TMix_Chunk

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Mixer

Declaration

type TMix_Chunk = record

Description

Overview

Fields

Public | allocated: Integer;
Public | abuf: PUInt8;
Public | alen: UInt32;
Public | volume: UInt8;

Description

Fields

Public allocated: Integer;
Public abuf: PUInt8;
Public alen: UInt32;
Public volume: UInt8;


GLSysHelp v.2.1: SDL2.Mixer: Record TMix_Music

Record TMix_Music

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Mixer

Declaration

type TMix_Music = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: SDL2.Net

Unit SDL2.Net

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Uses

  • Winapi.Windows
  • SDL2.Import

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TIPAddress |
Record TTCPSocket |
Record TUDP_Channel |
Record TUDPSocket |
Record TUDPpacket |
Record TSDLNet_Socket |
Record TSDLNet_SocketSet |
Record TSDLNet_GenericSocket |

Functions and Procedures

procedure SDL_NET_VERSION( var X : TSDL_version );
function SDLNet_Init() : integer; cdecl; external SDL_NetLibName;
procedure SDLNet_Quit(); cdecl; external SDL_NetLibName;
function SDLNet_ResolveHost( var address : TIPaddress; host : PChar; port : Uint16 ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_ResolveIP( var ip : TIPaddress ) : PChar; cdecl; external SDL_NetLibName;
function SDLNet_TCP_Open( var ip : TIPaddress ) : PTCPSocket; cdecl; external SDL_NetLibName;
function SDLNet_TCP_Accept( server : PTCPsocket ) : PTCPSocket; cdecl; external SDL_NetLibName;
function SDLNet_TCP_GetPeerAddress( sock : PTCPsocket ) : PIPAddress; cdecl; external SDL_NetLibName;
function SDLNet_TCP_Send( sock : PTCPsocket; data : Pointer; len : integer ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_TCP_Recv( sock : PTCPsocket; data : Pointer; maxlen : integer ) : integer; cdecl; external SDL_NetLibName;
procedure SDLNet_TCP_Close( sock : PTCPsocket ); cdecl; external SDL_NetLibName;
function SDLNet_AllocPacket( size : integer ) : PUDPpacket; cdecl; external SDL_NetLibName;
function SDLNet_ResizePacket( packet : PUDPpacket; newsize : integer ) : integer; cdecl; external SDL_NetLibName;
procedure SDLNet_FreePacket( packet : PUDPpacket ); cdecl; external SDL_NetLibName;
function SDLNet_AllocPacketV( howmany : integer; size : integer ) : PUDPpacket; cdecl; external SDL_NetLibName;
procedure SDLNet_FreePacketV( packetV : PUDPpacket ); cdecl; external SDL_NetLibName;
function SDLNet_UDP_Open( port : Uint16 ) : PUDPsocket; cdecl; external SDL_NetLibName;
function SDLNet_UDP_Bind( sock : PUDPsocket; channel : integer; var address : TIPaddress ) : integer; cdecl; external SDL_NetLibName;
procedure SDLNet_UDP_Unbind( sock : PUDPsocket; channel : integer ); cdecl; external SDL_NetLibName;
function SDLNet_UDP_GetPeerAddress( sock : PUDPsocket; channel : integer ) : PIPAddress; cdecl; external SDL_NetLibName;
function SDLNet_UDP_SendV( sock : PUDPsocket; packets : PPUDPpacket; npackets : integer ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_UDP_Send( sock : PUDPsocket; channel : integer; packet : PUDPpacket ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_UDP_RecvV( sock : PUDPsocket; packets : PPUDPpacket ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_UDP_Recv( sock : PUDPsocket; packet : PUDPpacket ) : integer; cdecl; external SDL_NetLibName;
procedure SDLNet_UDP_Close( sock : PUDPsocket ); cdecl; external SDL_NetLibName;
function SDLNet_AllocSocketSet( maxsockets : integer ) : PSDLNet_SocketSet; cdecl; external SDL_NetLibName;
function SDLNet_AddSocket( set_ : PSDLNet_SocketSet; sock : PSDLNet_GenericSocket ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_TCP_AddSocket( set_ : PSDLNet_SocketSet; sock : PTCPSocket ) : integer;
function SDLNet_UDP_AddSocket( set_ : PSDLNet_SocketSet; sock : PUDPSocket ) : integer;
function SDLNet_DelSocket( set_ : PSDLNet_SocketSet; sock : PSDLNet_GenericSocket ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_TCP_DelSocket( set_ : PSDLNet_SocketSet; sock : PTCPSocket ) : integer;
function SDLNet_UDP_DelSocket( set_ : PSDLNet_SocketSet; sock : PUDPSocket ) : integer;
function SDLNet_CheckSockets( set_ : PSDLNet_SocketSet; timeout : Sint32 ) : integer; cdecl; external SDL_NetLibName;
function SDLNet_SocketReady( sock : PSDLNet_GenericSocket ) : boolean;
procedure SDLNet_FreeSocketSet( set_ : PSDLNet_SocketSet ); cdecl; external SDL_NetLibName;
procedure SDLNet_Write16( value : Uint16; area : Pointer ); cdecl; external SDL_NetLibName;
procedure SDLNet_Write32( value : Uint32; area : Pointer ); cdecl; external SDL_NetLibName;
function SDLNet_Read16( area : Pointer ) : Uint16; cdecl; external SDL_NetLibName;
function SDLNet_Read32( area : Pointer ) : Uint32; cdecl; external SDL_NetLibName;
procedure SDLNet_SetError( fmt : PChar );
function SDLNet_GetError() : PChar;

Types

PIPAddress = ˆTIPAddress;
PPUDPpacket = ˆPUDPpacket;
PSDLNet_GenericSocket = ˆTSDLNet_GenericSocket;
PSDLNet_Socket = ˆTSDLNet_Socket;
PSDLNet_SocketSet = ˆTSDLNet_SocketSet;
PTCPSocket = ˆTTCPSocket;
PUDPpacket = ˆTUDPpacket;
PUDPSocket = ˆTUDPSocket;
PUDP_Channel = ˆTUDP_Channel;

Constants

SDL_NetLibName = 'SDL2_net.dll';
SDL_NET_MAJOR_VERSION = 1;
SDL_NET_MINOR_VERSION = 2;
SDL_NET_PATCHLEVEL = 7;
INADDR_ANY = $00000000;
INADDR_NONE = $FFFFFFFF;
SDLNET_MAX_UDPCHANNELS = 32;
SDLNET_MAX_UDPADDRESSES = 4;

Description

Functions and Procedures

procedure SDL_NET_VERSION( var X : TSDL_version );

This macro can be used to fill a version structure with the compile-time version of the SDL_net library.

function SDLNet_Init() : integer; cdecl; external SDL_NetLibName;

* Initialize/Cleanup the network API SDL must be initialized before calls to functions in this library, because this library uses utility functions from the SDL library. *

procedure SDLNet_Quit(); cdecl; external SDL_NetLibName;
function SDLNet_ResolveHost( var address : TIPaddress; host : PChar; port : Uint16 ) : integer; cdecl; external SDL_NetLibName;

* Resolve a host name and port to an IP address in network form. If the function succeeds, it will return 0. If the host couldn't be resolved, the host portion of the returned address will be INADDR_NONE, and the function will return -1. If 'host' is NULL, the resolved host will be set to INADDR_ANY. *

function SDLNet_ResolveIP( var ip : TIPaddress ) : PChar; cdecl; external SDL_NetLibName;

* Resolve an ip address to a host name in canonical form. If the ip couldn't be resolved, this function returns NULL, otherwise a pointer to a static buffer containing the hostname is returned. Note that this function is not thread-safe. *

function SDLNet_TCP_Open( var ip : TIPaddress ) : PTCPSocket; cdecl; external SDL_NetLibName;

* Open a TCP network socket If ip.host is INADDR_NONE, this creates a local server socket on the given port, otherwise a TCP connection to the remote host and port is attempted. The address passed in should already be swapped to network byte order (addresses returned from SDLNet_ResolveHost() are already in the correct form). The newly created socket is returned, or NULL if there was an error. *

function SDLNet_TCP_Accept( server : PTCPsocket ) : PTCPSocket; cdecl; external SDL_NetLibName;

* Accept an incoming connection on the given server socket. The newly created socket is returned, or NULL if there was an error. *

function SDLNet_TCP_GetPeerAddress( sock : PTCPsocket ) : PIPAddress; cdecl; external SDL_NetLibName;

* Get the IP address of the remote system associated with the socket. If the socket is a server socket, this function returns NULL. *

function SDLNet_TCP_Send( sock : PTCPsocket; data : Pointer; len : integer ) : integer; cdecl; external SDL_NetLibName;

* Send 'len' bytes of 'data' over the non-server socket 'sock' This function returns the actual amount of data sent. If the return value is less than the amount of data sent, then either the remote connection was closed, or an unknown socket error occurred. *

function SDLNet_TCP_Recv( sock : PTCPsocket; data : Pointer; maxlen : integer ) : integer; cdecl; external SDL_NetLibName;

* Receive up to 'maxlen' bytes of data over the non-server socket 'sock', and store them in the buffer pointed to by 'data'. This function returns the actual amount of data received. If the return value is less than or equal to zero, then either the remote connection was closed, or an unknown socket error occurred. *

procedure SDLNet_TCP_Close( sock : PTCPsocket ); cdecl; external SDL_NetLibName;

* Close a TCP network socket *

function SDLNet_AllocPacket( size : integer ) : PUDPpacket; cdecl; external SDL_NetLibName;

* Allocate/resize/free a single UDP packet 'size' bytes long. The new packet is returned, or NULL if the function ran out of memory. *

function SDLNet_ResizePacket( packet : PUDPpacket; newsize : integer ) : integer; cdecl; external SDL_NetLibName;
procedure SDLNet_FreePacket( packet : PUDPpacket ); cdecl; external SDL_NetLibName;
function SDLNet_AllocPacketV( howmany : integer; size : integer ) : PUDPpacket; cdecl; external SDL_NetLibName;

* Allocate/Free a UDP packet vector (array of packets) of 'howmany' packets, each 'size' bytes long. A pointer to the first packet in the array is returned, or NULL if the function ran out of memory. *

procedure SDLNet_FreePacketV( packetV : PUDPpacket ); cdecl; external SDL_NetLibName;
function SDLNet_UDP_Open( port : Uint16 ) : PUDPsocket; cdecl; external SDL_NetLibName;

* Open a UDP network socket If 'port' is non-zero, the UDP socket is bound to a local port. This allows other systems to send to this socket via a known port. *

function SDLNet_UDP_Bind( sock : PUDPsocket; channel : integer; var address : TIPaddress ) : integer; cdecl; external SDL_NetLibName;

* Bind the address 'address' to the requested channel on the UDP socket. If the channel is -1, then the first unbound channel will be bound with the given address as it's primary address. If the channel is already bound, this new address will be added to the list of valid source addresses for packets arriving on the channel. If the channel is not already bound, then the address becomes the primary address, to which all outbound packets on the channel are sent. This function returns the channel which was bound, or -1 on error. *

procedure SDLNet_UDP_Unbind( sock : PUDPsocket; channel : integer ); cdecl; external SDL_NetLibName;

* Unbind all addresses from the given channel *

function SDLNet_UDP_GetPeerAddress( sock : PUDPsocket; channel : integer ) : PIPAddress; cdecl; external SDL_NetLibName;

* Get the primary IP address of the remote system associated with the socket and channel. If the channel is -1, then the primary IP port of the UDP socket is returned – this is only meaningful for sockets opened with a specific port. If the channel is not bound and not -1, this function returns NULL. *

function SDLNet_UDP_SendV( sock : PUDPsocket; packets : PPUDPpacket; npackets : integer ) : integer; cdecl; external SDL_NetLibName;

* Send a vector of packets to the the channels specified within the packet. If the channel specified in the packet is -1, the packet will be sent to the address in the 'src' member of the packet. Each packet will be updated with the status of the packet after it has been sent, -1 if the packet send failed. This function returns the number of packets sent. *

function SDLNet_UDP_Send( sock : PUDPsocket; channel : integer; packet : PUDPpacket ) : integer; cdecl; external SDL_NetLibName;

* Send a single packet to the specified channel. If the channel specified in the packet is -1, the packet will be sent to the address in the 'src' member of the packet. The packet will be updated with the status of the packet after it has been sent. This function returns 1 if the packet was sent, or 0 on error. *

function SDLNet_UDP_RecvV( sock : PUDPsocket; packets : PPUDPpacket ) : integer; cdecl; external SDL_NetLibName;

* Receive a vector of pending packets from the UDP socket. The returned packets contain the source address and the channel they arrived on. If they did not arrive on a bound channel, the the channel will be set to -1. The channels are checked in highest to lowest order, so if an address is bound to multiple channels, the highest channel with the source address bound will be returned. This function returns the number of packets read from the network, or -1 on error. This function does not block, so can return 0 packets pending. *

function SDLNet_UDP_Recv( sock : PUDPsocket; packet : PUDPpacket ) : integer; cdecl; external SDL_NetLibName;

* Receive a single packet from the UDP socket. The returned packet contains the source address and the channel it arrived on. If it did not arrive on a bound channel, the the channel will be set to -1. The channels are checked in highest to lowest order, so if an address is bound to multiple channels, the highest channel with the source address bound will be returned. This function returns the number of packets read from the network, or -1 on error. This function does not block, so can return 0 packets pending. *

procedure SDLNet_UDP_Close( sock : PUDPsocket ); cdecl; external SDL_NetLibName;

* Close a UDP network socket *

function SDLNet_AllocSocketSet( maxsockets : integer ) : PSDLNet_SocketSet; cdecl; external SDL_NetLibName;

* Allocate a socket set for use with SDLNet_CheckSockets() This returns a socket set for up to 'maxsockets' sockets, or NULL if the function ran out of memory. *

function SDLNet_AddSocket( set_ : PSDLNet_SocketSet; sock : PSDLNet_GenericSocket ) : integer; cdecl; external SDL_NetLibName;

* Add a socket to a set of sockets to be checked for available data *

function SDLNet_TCP_AddSocket( set_ : PSDLNet_SocketSet; sock : PTCPSocket ) : integer;
function SDLNet_UDP_AddSocket( set_ : PSDLNet_SocketSet; sock : PUDPSocket ) : integer;
function SDLNet_DelSocket( set_ : PSDLNet_SocketSet; sock : PSDLNet_GenericSocket ) : integer; cdecl; external SDL_NetLibName;

* Remove a socket from a set of sockets to be checked for available data *

function SDLNet_TCP_DelSocket( set_ : PSDLNet_SocketSet; sock : PTCPSocket ) : integer;
function SDLNet_UDP_DelSocket( set_ : PSDLNet_SocketSet; sock : PUDPSocket ) : integer;
function SDLNet_CheckSockets( set_ : PSDLNet_SocketSet; timeout : Sint32 ) : integer; cdecl; external SDL_NetLibName;

* This function checks to see if data is available for reading on the given set of sockets. If 'timeout' is 0, it performs a quick poll, otherwise the function returns when either data is available for reading, or the timeout in milliseconds has elapsed, which ever occurs first. This function returns the number of sockets ready for reading, or -1 if there was an error with the select() system call. *

function SDLNet_SocketReady( sock : PSDLNet_GenericSocket ) : boolean;

* After calling SDLNet_CheckSockets(), you can use this function on a socket that was in the socket set, to find out if data is available for reading. *

procedure SDLNet_FreeSocketSet( set_ : PSDLNet_SocketSet ); cdecl; external SDL_NetLibName;

* Free a set of sockets allocated by SDL_NetAllocSocketSet() *

procedure SDLNet_Write16( value : Uint16; area : Pointer ); cdecl; external SDL_NetLibName;

* Write a 16/32 bit value to network packet buffer *

procedure SDLNet_Write32( value : Uint32; area : Pointer ); cdecl; external SDL_NetLibName;
function SDLNet_Read16( area : Pointer ) : Uint16; cdecl; external SDL_NetLibName;

* Read a 16/32 bit value from network packet buffer *

function SDLNet_Read32( area : Pointer ) : Uint32; cdecl; external SDL_NetLibName;

{$IFNDEF CPUARM} {$ENDIF}

procedure SDLNet_SetError( fmt : PChar );

* We'll use SDL's functions for error reporting *

function SDLNet_GetError() : PChar;

Types

PIPAddress = ˆTIPAddress;

***********************************************************************

PPUDPpacket = ˆPUDPpacket;
PSDLNet_GenericSocket = ˆTSDLNet_GenericSocket;

* Any network socket can be safely cast to this socket type *

PSDLNet_Socket = ˆTSDLNet_Socket;

***********************************************************************

PSDLNet_SocketSet = ˆTSDLNet_SocketSet;
PTCPSocket = ˆTTCPSocket;

***********************************************************************

PUDPpacket = ˆTUDPpacket;
PUDPSocket = ˆTUDPSocket;
PUDP_Channel = ˆTUDP_Channel;

***********************************************************************

Constants

SDL_NetLibName = 'SDL2_net.dll';
SDL_NET_MAJOR_VERSION = 1;

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_NET_MINOR_VERSION = 2;
SDL_NET_PATCHLEVEL = 7;
INADDR_ANY = $00000000;

* Resolve a host name and port to an IP address in network form. If the function succeeds, it will return 0. If the host couldn't be resolved, the host portion of the returned address will be INADDR_NONE, and the function will return -1. If 'host' is NULL, the resolved host will be set to INADDR_ANY. *

INADDR_NONE = $FFFFFFFF;
SDLNET_MAX_UDPCHANNELS = 32;

* The maximum channels on a a UDP socket *

SDLNET_MAX_UDPADDRESSES = 4;

* The maximum addresses bound to a single UDP socket channel *


GLSysHelp v.2.1: SDL2.Net: Record TIPAddress

Record TIPAddress

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TIPAddress = record

Description

Overview

Fields

Public | host: Uint32;
Public | port: Uint16;

Description

Fields

Public host: Uint32;
Public port: Uint16;

32-bit IPv4 host address */


GLSysHelp v.2.1: SDL2.Net: Record TTCPSocket

Record TTCPSocket

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TTCPSocket = record

Description

Overview

Fields

Public | ready: integer;
Public | channel: integer;
Public | remoteAddress: TIPaddress;
Public | localAddress: TIPaddress;
Public | sflag: integer;

Description

Fields

Public ready: integer;
Public channel: integer;

{$IFDEF MSWINDOWS}

Public remoteAddress: TIPaddress;

{$ENDIF}

Public localAddress: TIPaddress;
Public sflag: integer;


GLSysHelp v.2.1: SDL2.Net: Record TUDP_Channel

Record TUDP_Channel

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TUDP_Channel = record

Description

Overview

Fields

Public | numbound: integer;
Public | address: array[ 0..SDLNET_MAX_UDPADDRESSES - 1 ] of TIPAddress;

Description

Fields

Public numbound: integer;
Public address: array[ 0..SDLNET_MAX_UDPADDRESSES - 1 ] of TIPAddress;


GLSysHelp v.2.1: SDL2.Net: Record TUDPSocket

Record TUDPSocket

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TUDPSocket = record

Description

Overview

Fields

Public | ready: integer;
Public | channel: integer;
Public | address: TIPAddress;
Public | binding: array[ 0..SDLNET_MAX_UDPCHANNELS - 1 ] of TUDP_Channel;

Description

Fields

Public ready: integer;
Public channel: integer;

{$IFDEF MSWINDOWS}

Public address: TIPAddress;

{$ENDIF}

Public binding: array[ 0..SDLNET_MAX_UDPCHANNELS - 1 ] of TUDP_Channel;


GLSysHelp v.2.1: SDL2.Net: Record TUDPpacket

Record TUDPpacket

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TUDPpacket = record

Description

Overview

Fields

Public | channel: integer;
Public | data: PUint8;
Public | len: integer;
Public | maxlen: integer;
Public | status: integer;
Public | address: TIPAddress;

Description

Fields

Public channel: integer;
Public data: PUint8;

* The src/dst channel of the packet *

Public len: integer;

* The packet data *

Public maxlen: integer;

* The length of the packet data *

Public status: integer;

* The size of the data buffer *

Public address: TIPAddress;

* packet status after sending *


GLSysHelp v.2.1: SDL2.Net: Record TSDLNet_Socket

Record TSDLNet_Socket

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TSDLNet_Socket = record

Description

Overview

Fields

Public | ready: integer;
Public | channel: integer;

Description

Fields

Public ready: integer;
Public channel: integer;

{$IFDEF MSWINDOWS}


GLSysHelp v.2.1: SDL2.Net: Record TSDLNet_SocketSet

Record TSDLNet_SocketSet

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TSDLNet_SocketSet = record

Description

Overview

Fields

Public | numsockets: integer;
Public | maxsockets: integer;
Public | sockets: PSDLNet_Socket;

Description

Fields

Public numsockets: integer;
Public maxsockets: integer;
Public sockets: PSDLNet_Socket;


GLSysHelp v.2.1: SDL2.Net: Record TSDLNet_GenericSocket

Record TSDLNet_GenericSocket

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Net

Declaration

type TSDLNet_GenericSocket = record

Description

Overview

Fields

Public ready: integer;

Description

Fields

Public ready: integer;


GLSysHelp v.2.1: SDL2.Ttf

Unit SDL2.Ttf

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Uses

  • Winapi.Windows
  • SDL2.Import

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TTTF_Font |

Functions and Procedures

function TTF_Linked_Version(): TSDL_Version; cdecl; external SDL_ttfLibName;
procedure TTF_ByteSwappedUNICODE(swapped: Integer); cdecl; external SDL_ttfLibName;
function TTF_Init(): Integer; cdecl; external SDL_ttfLibName;
function TTF_OpenFont(_file: PChar; ptsize: Integer): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_OpenFontIndex(_file: PChar; ptsize: Integer; index: LongInt): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_OpenFontRW(src: PSDL_RWops; freesrc: Integer; ptsize: LongInt): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_OpenFontIndexRW(src: PSDL_RWops; freesrc: Integer; ptsize: Integer; index: LongInt): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_GetFontStyle(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontStyle(font: PTTF_Font; style: Integer); cdecl; external SDL_ttfLibName;
function TTF_GetFontOutline(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontOutline(font: PTTF_Font; outline: Integer); cdecl; external SDL_ttfLibName;
function TTF_GetFontHinting(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontHinting(font: PTTF_Font; hinting: Integer); cdecl; external SDL_ttfLibName;
function TTF_FontHeight(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
function TTF_FontAscent(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
function TTF_FontDescent(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
function TTF_FontLineSkip(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
function TTF_GetFontKerning(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontKerning(font: PTTF_Font; allowed: Integer); cdecl; external SDL_ttfLibName;
function TTF_FontFaces(font: PTTF_Font): LongInt; cdecl; external SDL_ttfLibName;
function TTF_FontFaceIsFixedWidth(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
function TTF_FontFaceFamilyName(font: PTTF_Font): PChar; cdecl; external SDL_ttfLibName;
function TTF_FontFaceStyleName(font: PTTF_Font): PChar; cdecl; external SDL_ttfLibName;
function TTF_GlyphIsProvided(font: PTTF_Font; ch: UInt16): Integer; cdecl; external SDL_ttfLibName;
function TTF_GlyphMetrics(font: PTTF_Font; ch: UInt16; minx, maxx: PInt; miny, maxy: PInt; advance: PInt): Integer; cdecl; external SDL_ttfLibName;
function TTF_SizeText(font: PTTF_Font; text: PChar; w, h: PInt): Integer; cdecl; external SDL_ttfLibName;
function TTF_SizeUTF8(font: PTTF_Font; text: PChar; w, h: PInt): Integer; cdecl; external SDL_ttfLibName;
function TTF_SizeUNICODE(font: PTTF_Font; text: PUInt16; w, h: PInt): Integer; cdecl; external SDL_ttfLibName;
function TTF_RenderText_Solid(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUTF8_Solid(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Solid(font: PTTF_Font; text: PUInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderGlyph_Solid(font: PTTF_Font; ch: UInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderText_Shaded(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUTF8_Shaded(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Shaded(font: PTTF_Font; text: PUInt16; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderGlyph_Shaded(font: PTTF_Font; ch: UInt16; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderText_Blended(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUTF8_Blended(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Blended(font: PTTF_Font; text: UInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderText_Blended_Wrapped(font: PTTF_Font; text: PChar; fg: TSDL_Color; wrapLength: UInt32): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUTF8_Blended_Wrapped(font: PTTF_Font; text: PChar; fg: TSDL_Color; wrapLength: UInt32): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Blended_Wrapped(font: PTTF_Font; text: PUInt16; fg: TSDL_Color; wrapLength: UInt32): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderGlyph_Blended(font: PTTF_Font; ch: UInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderText(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface;
function TTF_RenderUTF8(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface;
function TTF_RenderUNICODE(font: PTTF_Font; text: PUInt16; fg, bg: TSDL_Color): PSDL_Surface;
procedure TTF_CloseFont(font: PTTF_Font); cdecl; external SDL_ttfLibName;
procedure TTF_Quit(); cdecl; external SDL_ttfLibName;
function TTF_WasInit(): Boolean; cdecl; external SDL_ttfLibName;
function TTF_GetFontKerningSize(font: PTTF_Font; prev_index, index: Integer): Integer; cdecl; external SDL_ttfLibName;
function TTF_SetError(const fmt: PChar): SInt32;
function TTF_GetError: PChar;

Types

PTTF_Font = ˆTTTF_Font;

Constants

SDL_ttfLibName = 'SDL2_ttf.dll';
SDL_TTF_MAJOR_VERSION = 2;
SDL_TTF_MINOR_VERSION = 0;
SDL_TTF_PATCHLEVEL = 12;
TTF_MAJOR_VERSION = SDL_TTF_MAJOR_VERSION;
TTF_MINOR_VERSION = SDL_TTF_MINOR_VERSION;
TTF_PATCHLEVEL = SDL_TTF_PATCHLEVEL;
UNICODE_BOM_NATIVE = $FEFF;
UNICODE_BOM_SWAPPED = $FFFE;
TTF_STYLE_NORMAL = $00;
TTF_STYLE_BOLD = $01;
TTF_STYLE_ITALIC = $02;
TTF_STYLE_UNDERLINE = $04;
TTF_STYLE_STRIKETHROUGH = $08;
TTF_HINTING_NORMAL = 0;
TTF_HINTING_LIGHT = 1;
TTF_HINTING_MONO = 2;
TTF_HINTING_NONE = 3;

Description

Functions and Procedures

function TTF_Linked_Version(): TSDL_Version; cdecl; external SDL_ttfLibName;

* This function gets the version of the dynamically linked SDL_ttf library. it should NOT be used to fill a version structure, instead you should use the SDL_TTF_VERSION() macro. *

procedure TTF_ByteSwappedUNICODE(swapped: Integer); cdecl; external SDL_ttfLibName;

* This function tells the library whether UNICODE text is generally byteswapped. A UNICODE BOM character in a string will override this setting for the remainder of that string. *

function TTF_Init(): Integer; cdecl; external SDL_ttfLibName;

* Initialize the TTF engine - returns 0 if successful, -1 on error *

function TTF_OpenFont(_file: PChar; ptsize: Integer): PTTF_Font; cdecl; external SDL_ttfLibName;

* Open a font file and create a font of the specified point size. * Some .fon fonts will have several sizes embedded in the file, so the * point size becomes the index of choosing which size. If the value * is too high, the last indexed size will be the default. *

function TTF_OpenFontIndex(_file: PChar; ptsize: Integer; index: LongInt): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_OpenFontRW(src: PSDL_RWops; freesrc: Integer; ptsize: LongInt): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_OpenFontIndexRW(src: PSDL_RWops; freesrc: Integer; ptsize: Integer; index: LongInt): PTTF_Font; cdecl; external SDL_ttfLibName;
function TTF_GetFontStyle(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontStyle(font: PTTF_Font; style: Integer); cdecl; external SDL_ttfLibName;
function TTF_GetFontOutline(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontOutline(font: PTTF_Font; outline: Integer); cdecl; external SDL_ttfLibName;
function TTF_GetFontHinting(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;
procedure TTF_SetFontHinting(font: PTTF_Font; hinting: Integer); cdecl; external SDL_ttfLibName;
function TTF_FontHeight(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;

* Get the total height of the font - usually equal to point size *

function TTF_FontAscent(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;

* Get the offset from the baseline to the top of the font This is a positive value, relative to the baseline. *

function TTF_FontDescent(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;

* Get the offset from the baseline to the bottom of the font This is a negative value, relative to the baseline. *

function TTF_FontLineSkip(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;

* Get the recommended spacing between lines of text for this font *

function TTF_GetFontKerning(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;

* Get/Set whether or not kerning is allowed for this font *

procedure TTF_SetFontKerning(font: PTTF_Font; allowed: Integer); cdecl; external SDL_ttfLibName;
function TTF_FontFaces(font: PTTF_Font): LongInt; cdecl; external SDL_ttfLibName;

* Get the number of faces of the font *

function TTF_FontFaceIsFixedWidth(font: PTTF_Font): Integer; cdecl; external SDL_ttfLibName;

* Get the font face attributes, if any *

function TTF_FontFaceFamilyName(font: PTTF_Font): PChar; cdecl; external SDL_ttfLibName;
function TTF_FontFaceStyleName(font: PTTF_Font): PChar; cdecl; external SDL_ttfLibName;
function TTF_GlyphIsProvided(font: PTTF_Font; ch: UInt16): Integer; cdecl; external SDL_ttfLibName;

* Check wether a glyph is provided by the font or not *

function TTF_GlyphMetrics(font: PTTF_Font; ch: UInt16; minx, maxx: PInt; miny, maxy: PInt; advance: PInt): Integer; cdecl; external SDL_ttfLibName;

* Get the metrics (dimensions) of a glyph To understand what these metrics mean, here is a useful link: http://freetype.sourceforge.net/freetype2/docs/tutorial/step2.html *

function TTF_SizeText(font: PTTF_Font; text: PChar; w, h: PInt): Integer; cdecl; external SDL_ttfLibName;

* Get the dimensions of a rendered string of text *

function TTF_SizeUTF8(font: PTTF_Font; text: PChar; w, h: PInt): Integer; cdecl; external SDL_ttfLibName;
function TTF_SizeUNICODE(font: PTTF_Font; text: PUInt16; w, h: PInt): Integer; cdecl; external SDL_ttfLibName;
function TTF_RenderText_Solid(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create an 8-bit palettized surface and render the given text at fast quality with the given font and color. The 0 pixel is the colorkey, giving a transparent background, and the 1 pixel is set to the text color. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderUTF8_Solid(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Solid(font: PTTF_Font; text: PUInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderGlyph_Solid(font: PTTF_Font; ch: UInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create an 8-bit palettized surface and render the given glyph at fast quality with the given font and color. The 0 pixel is the colorkey, giving a transparent background, and the 1 pixel is set to the text color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderText_Shaded(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create an 8-bit palettized surface and render the given text at high quality with the given font and colors. The 0 pixel is background, while other pixels have varying degrees of the foreground color. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderUTF8_Shaded(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Shaded(font: PTTF_Font; text: PUInt16; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderGlyph_Shaded(font: PTTF_Font; ch: UInt16; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create an 8-bit palettized surface and render the given glyph at high quality with the given font and colors. The 0 pixel is background, while other pixels have varying degrees of the foreground color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderText_Blended(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderUTF8_Blended(font: PTTF_Font; text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Blended(font: PTTF_Font; text: UInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderText_Blended_Wrapped(font: PTTF_Font; text: PChar; fg: TSDL_Color; wrapLength: UInt32): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. Text is wrapped to multiple lines on line endings and on word boundaries if it extends beyond wrapLength in pixels. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderUTF8_Blended_Wrapped(font: PTTF_Font; text: PChar; fg: TSDL_Color; wrapLength: UInt32): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderUNICODE_Blended_Wrapped(font: PTTF_Font; text: PUInt16; fg: TSDL_Color; wrapLength: UInt32): PSDL_Surface; cdecl; external SDL_ttfLibName;
function TTF_RenderGlyph_Blended(font: PTTF_Font; ch: UInt16; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_ttfLibName;

* Create a 32-bit ARGB surface and render the given glyph at high quality, using alpha blending to dither the font with the given color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *

function TTF_RenderText(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface;

* For compatibility with previous versions, here are the old functions *

function TTF_RenderUTF8(font: PTTF_Font; text: PChar; fg, bg: TSDL_Color): PSDL_Surface;
function TTF_RenderUNICODE(font: PTTF_Font; text: PUInt16; fg, bg: TSDL_Color): PSDL_Surface;
procedure TTF_CloseFont(font: PTTF_Font); cdecl; external SDL_ttfLibName;

* Close an opened font file *

procedure TTF_Quit(); cdecl; external SDL_ttfLibName;

* De-initialize the TTF engine *

function TTF_WasInit(): Boolean; cdecl; external SDL_ttfLibName;

* Check if the TTF engine is initialized *

function TTF_GetFontKerningSize(font: PTTF_Font; prev_index, index: Integer): Integer; cdecl; external SDL_ttfLibName;

* Get the kerning size of two glyphs *

function TTF_SetError(const fmt: PChar): SInt32;

* We'll use SDL for reporting errors *

function TTF_GetError: PChar;

Types

PTTF_Font = ˆTTTF_Font;

* The internal structure containing font information *

Constants

SDL_ttfLibName = 'SDL2_ttf.dll';
SDL_TTF_MAJOR_VERSION = 2;

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_TTF_MINOR_VERSION = 0;
SDL_TTF_PATCHLEVEL = 12;
TTF_MAJOR_VERSION = SDL_TTF_MAJOR_VERSION;

* Backwards compatibility *

TTF_MINOR_VERSION = SDL_TTF_MINOR_VERSION;
TTF_PATCHLEVEL = SDL_TTF_PATCHLEVEL;
UNICODE_BOM_NATIVE = $FEFF;

* ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) *

UNICODE_BOM_SWAPPED = $FFFE;
TTF_STYLE_NORMAL = $00;

* Set and retrieve the font style *

TTF_STYLE_BOLD = $01;
TTF_STYLE_ITALIC = $02;
TTF_STYLE_UNDERLINE = $04;
TTF_STYLE_STRIKETHROUGH = $08;
TTF_HINTING_NORMAL = 0;

* Set and retrieve FreeType hinter settings *

TTF_HINTING_LIGHT = 1;
TTF_HINTING_MONO = 2;
TTF_HINTING_NONE = 3;


GLSysHelp v.2.1: SDL2.Ttf: Record TTTF_Font

Record TTTF_Font

Description
Hierarchy
Fields
Methods
Properties

Unit

SDL2.Ttf

Declaration

type TTTF_Font = record

Description

Generated by PasDoc 0.16.0.


GLSysHelp v.2.1: Sounds.BASS

Unit Sounds.BASS

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Forms
  • GLS.Sound
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • Sounds.BASSImport

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSMBASS |

Types

TBASS3DAlgorithm = (...);

Description

Types

TBASS3DAlgorithm = (...);
Values
  • algDefault
  • algOff
  • algFull
  • algLight


GLSysHelp v.2.1: Sounds.BASS: Class TGLSMBASS

Class TGLSMBASS

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASS

Declaration

type TGLSMBASS = class(TGLSoundManager)

Description

No description available, ancestor TGLSoundManager description follows

Base class for sound manager components. The sound manager component is the interface to a low-level audio API (like DirectSound), there can only be one active manager at any time (this class takes care of this). Subclass should override the DoActivate and DoDeActivate protected methods to "initialize/unitialize" their sound layer, actual data releases should occur in destructor however.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLSoundManager
  • TGLSMBASS

Overview

Fields

Private | FActivated: Boolean;
Private | FAlgorithm3D: TBASS3DAlgorithm;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CPUUsagePercent: Single; override;
Public | function EAXSupported: Boolean; override;
Protected | function DoActivate: Boolean; override;
Protected | function GetDefaultFrequency(aSource: TGLBaseSoundSource): Integer;
Public | procedure UpdateSources; override;
Protected | procedure DoDeActivate; override;
Protected | procedure KillSource(aSource: TGLBaseSoundSource); override;
Protected | procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); override;
Protected | procedure Notify3DFactorsChanged; override;
Protected | procedure NotifyEnvironmentChanged; override;
Protected | procedure NotifyMasterVolumeChange; override;
Protected | procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); override;
Protected | procedure UpdateSource(aSource: TGLBaseSoundSource); override;

Properties

Published property Algorithm3D: TBASS3DAlgorithm read FAlgorithm3D write FAlgorithm3D default algDefault;

Description

Fields

Private FActivated: Boolean;
Private FAlgorithm3D: TBASS3DAlgorithm;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CPUUsagePercent: Single; override;
Public function EAXSupported: Boolean; override;
Protected function DoActivate: Boolean; override;
Protected function GetDefaultFrequency(aSource: TGLBaseSoundSource): Integer;
Public procedure UpdateSources; override;
Protected procedure DoDeActivate; override;
Protected procedure KillSource(aSource: TGLBaseSoundSource); override;
Protected procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); override;
Protected procedure Notify3DFactorsChanged; override;
Protected procedure NotifyEnvironmentChanged; override;
Protected procedure NotifyMasterVolumeChange; override;
Protected procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); override;
Protected procedure UpdateSource(aSource: TGLBaseSoundSource); override;

Properties

Published property Algorithm3D: TBASS3DAlgorithm read FAlgorithm3D write FAlgorithm3D default algDefault;


GLSysHelp v.2.1: Sounds.BASSImport

Unit Sounds.BASSImport

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

BASS 2.4 Delphi unit Copyright (c) 1999-2021 Un4seen Developments Ltd. http://www.un4seen.com/music/, free for freeware

See the BASS.CHM file for more detailed documentation

How to install ————– Copy BASS.PAS to the \LIB subdirectory of your Delphi path or your project dir

NOTE: Delphi users should use the BASS_UNICODE flag where possible

Uses

  • Winapi.Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record BASS_DEVICEINFO |
Record BASS_INFO |
Record BASS_RECORDINFO |
Record BASS_SAMPLE |
Record BASS_CHANNELINFO |
Record BASS_PLUGINFORM |
Record BASS_PLUGININFO |
Record BASS_3DVECTOR |
Record BASS_FILEPROCS |
Record TAG_ID3 |
Record TAG_APE_BINARY |
Packed Record TAG_BEXT |
Record BASS_DX8_CHORUS |
Record BASS_DX8_COMPRESSOR |
Record BASS_DX8_DISTORTION |
Record BASS_DX8_ECHO |
Record BASS_DX8_FLANGER |
Record BASS_DX8_GARGLE |
Record BASS_DX8_I3DL2REVERB |
Record BASS_DX8_PARAMEQ |
Record BASS_DX8_REVERB |

Functions and Procedures

function BASS_SPEAKER_N(n: DWORD): DWORD;
function BASS_SetEAXPreset(env: LongInt): BOOL;
function BASS_Load(LibName: PChar ): Boolean;
procedure BASS_UnLoad;
function BASS_IsLoaded:boolean;

Types

BOOL = LongBool;
DOWNLOADPROC = procedure(buffer: Pointer; length: DWORD; user: Pointer); stdcall;
DSPPROC = procedure(handle: HDSP; channel: DWORD; buffer: Pointer; length: DWORD; user: Pointer); stdcall;
DWORD = LongWord;
FILECLOSEPROC = procedure(user: Pointer); stdcall;
FILELENPROC = function(user: Pointer): QWORD; stdcall;
FILEREADPROC = function(buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;
FILESEEKPROC = function(offset: QWORD; user: Pointer): BOOL; stdcall;
HCHANNEL = DWORD;
HDSP = DWORD;
HFX = DWORD;
HMUSIC = DWORD;
HPLUGIN = DWORD;
HRECORD = DWORD;
HSAMPLE = DWORD;
HSTREAM = DWORD;
HSYNC = DWORD;
PBASS_PLUGINFORMS = ˆTBASS_PLUGINFORMS;
PBASS_PLUGININFO = ˆBASS_PLUGININFO;
PTAG_APE_BINARY = ˆTAG_APE_BINARY;
PTAG_BEXT = ˆTAG_BEXT;
PTAG_ID3 = ˆTAG_ID3;
QWORD = Int64;
RECORDPROC = function(handle: HRECORD; buffer: Pointer; length: DWORD; user: Pointer): BOOL; stdcall;
STREAMPROC = function(handle: HSTREAM; buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;
SYNCPROC = procedure(handle: HSYNC; channel, data: DWORD; user: Pointer); stdcall;
TBASSModuleHandle = HINST;
TBASS_PLUGINFORMS = array[0..maxInt div sizeOf(BASS_PLUGINFORM) - 1] of BASS_PLUGINFORM;

Constants

bassdll = 'bass32.dll';
BASSVERSION = $204;
BASSVERSIONTEXT = '2.4';
DW_ERROR = LongWord(-1);
QW_ERROR = Int64(-1);
BASS_OK = 0;
BASS_ERROR_MEM = 1;
BASS_ERROR_FILEOPEN = 2;
BASS_ERROR_DRIVER = 3;
BASS_ERROR_BUFLOST = 4;
BASS_ERROR_HANDLE = 5;
BASS_ERROR_FORMAT = 6;
BASS_ERROR_POSITION = 7;
BASS_ERROR_INIT = 8;
BASS_ERROR_START = 9;
BASS_ERROR_ALREADY = 14;
BASS_ERROR_NOCHAN = 18;
BASS_ERROR_ILLTYPE = 19;
BASS_ERROR_ILLPARAM = 20;
BASS_ERROR_NO3D = 21;
BASS_ERROR_NOEAX = 22;
BASS_ERROR_DEVICE = 23;
BASS_ERROR_NOPLAY = 24;
BASS_ERROR_FREQ = 25;
BASS_ERROR_NOTFILE = 27;
BASS_ERROR_NOHW = 29;
BASS_ERROR_EMPTY = 31;
BASS_ERROR_NONET = 32;
BASS_ERROR_CREATE = 33;
BASS_ERROR_NOFX = 34;
BASS_ERROR_NOTAVAIL = 37;
BASS_ERROR_DECODE = 38;
BASS_ERROR_DX = 39;
BASS_ERROR_TIMEOUT = 40;
BASS_ERROR_FILEFORM = 41;
BASS_ERROR_SPEAKER = 42;
BASS_ERROR_VERSION = 43;
BASS_ERROR_CODEC = 44;
BASS_ERROR_ENDED = 45;
BASS_ERROR_BUSY = 46;
BASS_ERROR_UNKNOWN = -1;
BASS_CONFIG_BUFFER = 0;
BASS_CONFIG_UPDATEPERIOD = 1;
BASS_CONFIG_GVOL_SAMPLE = 4;
BASS_CONFIG_GVOL_STREAM = 5;
BASS_CONFIG_GVOL_MUSIC = 6;
BASS_CONFIG_CURVE_VOL = 7;
BASS_CONFIG_CURVE_PAN = 8;
BASS_CONFIG_FLOATDSP = 9;
BASS_CONFIG_3DALGORITHM = 10;
BASS_CONFIG_NET_TIMEOUT = 11;
BASS_CONFIG_NET_BUFFER = 12;
BASS_CONFIG_PAUSE_NOPLAY = 13;
BASS_CONFIG_NET_PREBUF = 15;
BASS_CONFIG_NET_PASSIVE = 18;
BASS_CONFIG_REC_BUFFER = 19;
BASS_CONFIG_NET_PLAYLIST = 21;
BASS_CONFIG_MUSIC_VIRTUAL = 22;
BASS_CONFIG_VERIFY = 23;
BASS_CONFIG_UPDATETHREADS = 24;
BASS_CONFIG_DEV_BUFFER = 27;
BASS_CONFIG_VISTA_TRUEPOS = 30;
BASS_CONFIG_IOS_MIXAUDIO = 34;
BASS_CONFIG_DEV_DEFAULT = 36;
BASS_CONFIG_NET_READTIMEOUT = 37;
BASS_CONFIG_VISTA_SPEAKERS = 38;
BASS_CONFIG_IOS_SPEAKER = 39;
BASS_CONFIG_MF_DISABLE = 40;
BASS_CONFIG_HANDLES = 41;
BASS_CONFIG_UNICODE = 42;
BASS_CONFIG_SRC = 43;
BASS_CONFIG_SRC_SAMPLE = 44;
BASS_CONFIG_ASYNCFILE_BUFFER = 45;
BASS_CONFIG_OGG_PRESCAN = 47;
BASS_CONFIG_MF_VIDEO = 48;
BASS_CONFIG_AIRPLAY = 49;
BASS_CONFIG_DEV_NONSTOP = 50;
BASS_CONFIG_IOS_NOCATEGORY = 51;
BASS_CONFIG_VERIFY_NET = 52;
BASS_CONFIG_DEV_PERIOD = 53;
BASS_CONFIG_FLOAT = 54;
BASS_CONFIG_NET_AGENT = 16;
BASS_CONFIG_NET_PROXY = 17;
BASS_DEVICE_8BITS = 1;
BASS_DEVICE_MONO = 2;
BASS_DEVICE_3D = 4;
BASS_DEVICE_16BITS = 8;
BASS_DEVICE_LATENCY = $100;
BASS_DEVICE_CPSPEAKERS = $400;
BASS_DEVICE_SPEAKERS = $800;
BASS_DEVICE_NOSPEAKER = $1000;
BASS_DEVICE_DMIX = $2000;
BASS_DEVICE_FREQ = $4000;
BASS_DEVICE_STEREO = $8000;
BASS_OBJECT_DS = 1;
BASS_OBJECT_DS3DL = 2;
BASS_DEVICE_ENABLED = 1;
BASS_DEVICE_DEFAULT = 2;
BASS_DEVICE_INIT = 4;
BASS_DEVICE_TYPE_MASK = $ff000000;
BASS_DEVICE_TYPE_NETWORK = $01000000;
BASS_DEVICE_TYPE_SPEAKERS = $02000000;
BASS_DEVICE_TYPE_LINE = $03000000;
BASS_DEVICE_TYPE_HEADPHONES = $04000000;
BASS_DEVICE_TYPE_MICROPHONE = $05000000;
BASS_DEVICE_TYPE_HEADSET = $06000000;
BASS_DEVICE_TYPE_HANDSET = $07000000;
BASS_DEVICE_TYPE_DIGITAL = $08000000;
BASS_DEVICE_TYPE_SPDIF = $09000000;
BASS_DEVICE_TYPE_HDMI = $0a000000;
BASS_DEVICE_TYPE_DISPLAYPORT = $40000000;
BASS_DEVICES_AIRPLAY = $1000000;
DSCAPS_CONTINUOUSRATE = $00000010;
DSCAPS_EMULDRIVER = $00000020;
DSCAPS_CERTIFIED = $00000040;
DSCAPS_SECONDARYMONO = $00000100;
DSCAPS_SECONDARYSTEREO = $00000200;
DSCAPS_SECONDARY8BIT = $00000400;
DSCAPS_SECONDARY16BIT = $00000800;
DSCCAPS_EMULDRIVER = DSCAPS_EMULDRIVER;
DSCCAPS_CERTIFIED = DSCAPS_CERTIFIED;
BASS_SAMPLE_8BITS = 1;
BASS_SAMPLE_FLOAT = 256;
BASS_SAMPLE_MONO = 2;
BASS_SAMPLE_LOOP = 4;
BASS_SAMPLE_3D = 8;
BASS_SAMPLE_SOFTWARE = 16;
BASS_SAMPLE_MUTEMAX = 32;
BASS_SAMPLE_VAM = 64;
BASS_SAMPLE_FX = 128;
BASS_SAMPLE_OVER_VOL = $10000;
BASS_SAMPLE_OVER_POS = $20000;
BASS_SAMPLE_OVER_DIST = $30000;
BASS_STREAM_PRESCAN = $20000;
BASS_MP3_SETPOS = BASS_STREAM_PRESCAN;
BASS_STREAM_AUTOFREE = $40000;
BASS_STREAM_RESTRATE = $80000;
BASS_STREAM_BLOCK = $100000;
BASS_STREAM_DECODE = $200000;
BASS_STREAM_STATUS = $800000;
BASS_MUSIC_FLOAT = BASS_SAMPLE_FLOAT;
BASS_MUSIC_MONO = BASS_SAMPLE_MONO;
BASS_MUSIC_LOOP = BASS_SAMPLE_LOOP;
BASS_MUSIC_3D = BASS_SAMPLE_3D;
BASS_MUSIC_FX = BASS_SAMPLE_FX;
BASS_MUSIC_AUTOFREE = BASS_STREAM_AUTOFREE;
BASS_MUSIC_DECODE = BASS_STREAM_DECODE;
BASS_MUSIC_PRESCAN = BASS_STREAM_PRESCAN;
BASS_MUSIC_CALCLEN = BASS_MUSIC_PRESCAN;
BASS_MUSIC_RAMP = $200;
BASS_MUSIC_RAMPS = $400;
BASS_MUSIC_SURROUND = $800;
BASS_MUSIC_SURROUND2 = $1000;
BASS_MUSIC_FT2PAN = $2000;
BASS_MUSIC_FT2MOD = $2000;
BASS_MUSIC_PT1MOD = $4000;
BASS_MUSIC_NONINTER = $10000;
BASS_MUSIC_SINCINTER = $800000;
BASS_MUSIC_POSRESET = $8000;
BASS_MUSIC_POSRESETEX = $400000;
BASS_MUSIC_STOPBACK = $80000;
BASS_MUSIC_NOSAMPLE = $100000;
BASS_SPEAKER_FRONT = $1000000;
BASS_SPEAKER_REAR = $2000000;
BASS_SPEAKER_CENLFE = $3000000;
BASS_SPEAKER_REAR2 = $4000000;
BASS_SPEAKER_LEFT = $10000000;
BASS_SPEAKER_RIGHT = $20000000;
BASS_SPEAKER_FRONTLEFT = BASS_SPEAKER_FRONT or BASS_SPEAKER_LEFT;
BASS_SPEAKER_FRONTRIGHT = BASS_SPEAKER_FRONT or BASS_SPEAKER_RIGHT;
BASS_SPEAKER_REARLEFT = BASS_SPEAKER_REAR or BASS_SPEAKER_LEFT;
BASS_SPEAKER_REARRIGHT = BASS_SPEAKER_REAR or BASS_SPEAKER_RIGHT;
BASS_SPEAKER_CENTER = BASS_SPEAKER_CENLFE or BASS_SPEAKER_LEFT;
BASS_SPEAKER_LFE = BASS_SPEAKER_CENLFE or BASS_SPEAKER_RIGHT;
BASS_SPEAKER_REAR2LEFT = BASS_SPEAKER_REAR2 or BASS_SPEAKER_LEFT;
BASS_SPEAKER_REAR2RIGHT = BASS_SPEAKER_REAR2 or BASS_SPEAKER_RIGHT;
BASS_ASYNCFILE = $40000000;
BASS_UNICODE = $80000000;
BASS_RECORD_PAUSE = $8000;
BASS_VAM_HARDWARE = 1;
BASS_VAM_SOFTWARE = 2;
BASS_VAM_TERM_TIME = 4;
BASS_VAM_TERM_DIST = 8;
BASS_VAM_TERM_PRIO = 16;
BASS_CTYPE_SAMPLE = 1;
BASS_CTYPE_RECORD = 2;
BASS_CTYPE_STREAM = $10000;
BASS_CTYPE_STREAM_OGG = $10002;
BASS_CTYPE_STREAM_MP1 = $10003;
BASS_CTYPE_STREAM_MP2 = $10004;
BASS_CTYPE_STREAM_MP3 = $10005;
BASS_CTYPE_STREAM_AIFF = $10006;
BASS_CTYPE_STREAM_WAV = $40000;
BASS_CTYPE_STREAM_WAV_PCM = $50001;
BASS_CTYPE_STREAM_WAV_FLOAT = $50003;
BASS_CTYPE_MUSIC_MOD = $20000;
BASS_CTYPE_MUSIC_MTM = $20001;
BASS_CTYPE_MUSIC_S3M = $20002;
BASS_CTYPE_MUSIC_XM = $20003;
BASS_CTYPE_MUSIC_IT = $20004;
BASS_CTYPE_MUSIC_MO3 = $00100;
BASS_3DMODE_NORMAL = 0;
BASS_3DMODE_RELATIVE = 1;
BASS_3DMODE_OFF = 2;
BASS_3DALG_DEFAULT = 0;
BASS_3DALG_OFF = 1;
BASS_3DALG_FULL = 2;
BASS_3DALG_LIGHT = 3;
EAX_ENVIRONMENT_GENERIC = 0;
EAX_ENVIRONMENT_PADDEDCELL = 1;
EAX_ENVIRONMENT_ROOM = 2;
EAX_ENVIRONMENT_BATHROOM = 3;
EAX_ENVIRONMENT_LIVINGROOM = 4;
EAX_ENVIRONMENT_STONEROOM = 5;
EAX_ENVIRONMENT_AUDITORIUM = 6;
EAX_ENVIRONMENT_CONCERTHALL = 7;
EAX_ENVIRONMENT_CAVE = 8;
EAX_ENVIRONMENT_ARENA = 9;
EAX_ENVIRONMENT_HANGAR = 10;
EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
EAX_ENVIRONMENT_HALLWAY = 12;
EAX_ENVIRONMENT_STONECORRIDOR = 13;
EAX_ENVIRONMENT_ALLEY = 14;
EAX_ENVIRONMENT_FOREST = 15;
EAX_ENVIRONMENT_CITY = 16;
EAX_ENVIRONMENT_MOUNTAINS = 17;
EAX_ENVIRONMENT_QUARRY = 18;
EAX_ENVIRONMENT_PLAIN = 19;
EAX_ENVIRONMENT_PARKINGLOT = 20;
EAX_ENVIRONMENT_SEWERPIPE = 21;
EAX_ENVIRONMENT_UNDERWATER = 22;
EAX_ENVIRONMENT_DRUGGED = 23;
EAX_ENVIRONMENT_DIZZY = 24;
EAX_ENVIRONMENT_PSYCHOTIC = 25;
EAX_ENVIRONMENT_COUNT = 26;
BASS_STREAMPROC_END = $80000000;
STREAMFILE_NOBUFFER = 0;
STREAMFILE_BUFFER = 1;
STREAMFILE_BUFFERPUSH = 2;
BASS_FILEDATA_END = 0;
BASS_FILEPOS_CURRENT = 0;
BASS_FILEPOS_DECODE = BASS_FILEPOS_CURRENT;
BASS_FILEPOS_DOWNLOAD = 1;
BASS_FILEPOS_END = 2;
BASS_FILEPOS_START = 3;
BASS_FILEPOS_CONNECTED = 4;
BASS_FILEPOS_BUFFER = 5;
BASS_FILEPOS_SOCKET = 6;
BASS_FILEPOS_ASYNCBUF = 7;
BASS_FILEPOS_SIZE = 8;
BASS_SYNC_POS = 0;
BASS_SYNC_END = 2;
BASS_SYNC_META = 4;
BASS_SYNC_SLIDE = 5;
BASS_SYNC_STALL = 6;
BASS_SYNC_DOWNLOAD = 7;
BASS_SYNC_FREE = 8;
BASS_SYNC_SETPOS = 11;
BASS_SYNC_MUSICPOS = 10;
BASS_SYNC_MUSICINST = 1;
BASS_SYNC_MUSICFX = 3;
BASS_SYNC_OGG_CHANGE = 12;
BASS_SYNC_MIXTIME = $40000000;
BASS_SYNC_ONETIME = $80000000;
BASS_ACTIVE_STOPPED = 0;
BASS_ACTIVE_PLAYING = 1;
BASS_ACTIVE_STALLED = 2;
BASS_ACTIVE_PAUSED = 3;
BASS_ATTRIB_FREQ = 1;
BASS_ATTRIB_VOL = 2;
BASS_ATTRIB_PAN = 3;
BASS_ATTRIB_EAXMIX = 4;
BASS_ATTRIB_NOBUFFER = 5;
BASS_ATTRIB_VBR = 6;
BASS_ATTRIB_CPU = 7;
BASS_ATTRIB_SRC = 8;
BASS_ATTRIB_NET_RESUME = 9;
BASS_ATTRIB_SCANINFO = 10;
BASS_ATTRIB_NORAMP = 11;
BASS_ATTRIB_BITRATE = 12;
BASS_ATTRIB_MUSIC_AMPLIFY = $100;
BASS_ATTRIB_MUSIC_PANSEP = $101;
BASS_ATTRIB_MUSIC_PSCALER = $102;
BASS_ATTRIB_MUSIC_BPM = $103;
BASS_ATTRIB_MUSIC_SPEED = $104;
BASS_ATTRIB_MUSIC_VOL_GLOBAL = $105;
BASS_ATTRIB_MUSIC_ACTIVE = $106;
BASS_ATTRIB_MUSIC_VOL_CHAN = $200;
BASS_ATTRIB_MUSIC_VOL_INST = $300;
BASS_DATA_AVAILABLE = 0;
BASS_DATA_FIXED = $20000000;
BASS_DATA_FLOAT = $40000000;
BASS_DATA_FFT256 = $80000000;
BASS_DATA_FFT512 = $80000001;
BASS_DATA_FFT1024 = $80000002;
BASS_DATA_FFT2048 = $80000003;
BASS_DATA_FFT4096 = $80000004;
BASS_DATA_FFT8192 = $80000005;
BASS_DATA_FFT16384 = $80000006;
BASS_DATA_FFT32768 = $80000007;
BASS_DATA_FFT_INDIVIDUAL = $10;
BASS_DATA_FFT_NOWINDOW = $20;
BASS_DATA_FFT_REMOVEDC = $40;
BASS_DATA_FFT_COMPLEX = $80;
BASS_LEVEL_MONO = 1;
BASS_LEVEL_STEREO = 2;
BASS_LEVEL_RMS = 4;
BASS_TAG_ID3 = 0;
BASS_TAG_ID3V2 = 1;
BASS_TAG_OGG = 2;
BASS_TAG_HTTP = 3;
BASS_TAG_ICY = 4;
BASS_TAG_META = 5;
BASS_TAG_APE = 6;
BASS_TAG_MP4 = 7;
BASS_TAG_WMA = 8;
BASS_TAG_VENDOR = 9;
BASS_TAG_LYRICS3 = 10;
BASS_TAG_CA_CODEC = 11;
BASS_TAG_MF = 13;
BASS_TAG_WAVEFORMAT = 14;
BASS_TAG_RIFF_INFO = $100;
BASS_TAG_RIFF_BEXT = $101;
BASS_TAG_RIFF_CART = $102;
BASS_TAG_RIFF_DISP = $103;
BASS_TAG_APE_BINARY = $1000;
BASS_TAG_MUSIC_NAME = $10000;
BASS_TAG_MUSIC_MESSAGE = $10001;
BASS_TAG_MUSIC_ORDERS = $10002;
BASS_TAG_MUSIC_AUTH = $10003;
BASS_TAG_MUSIC_INST = $10100;
BASS_TAG_MUSIC_SAMPLE = $10300;
BASS_POS_BYTE = 0;
BASS_POS_MUSIC_ORDER = 1;
BASS_POS_OGG = 3;
BASS_POS_INEXACT = $8000000;
BASS_POS_DECODE = $10000000;
BASS_POS_DECODETO = $20000000;
BASS_POS_SCAN = $40000000;
BASS_INPUT_OFF = $10000;
BASS_INPUT_ON = $20000;
BASS_INPUT_TYPE_MASK = $FF000000;
BASS_INPUT_TYPE_UNDEF = $00000000;
BASS_INPUT_TYPE_DIGITAL = $01000000;
BASS_INPUT_TYPE_LINE = $02000000;
BASS_INPUT_TYPE_MIC = $03000000;
BASS_INPUT_TYPE_SYNTH = $04000000;
BASS_INPUT_TYPE_CD = $05000000;
BASS_INPUT_TYPE_PHONE = $06000000;
BASS_INPUT_TYPE_SPEAKER = $07000000;
BASS_INPUT_TYPE_WAVE = $08000000;
BASS_INPUT_TYPE_AUX = $09000000;
BASS_INPUT_TYPE_ANALOG = $0A000000;
BASS_FX_DX8_CHORUS = 0;
BASS_FX_DX8_COMPRESSOR = 1;
BASS_FX_DX8_DISTORTION = 2;
BASS_FX_DX8_ECHO = 3;
BASS_FX_DX8_FLANGER = 4;
BASS_FX_DX8_GARGLE = 5;
BASS_FX_DX8_I3DL2REVERB = 6;
BASS_FX_DX8_PARAMEQ = 7;
BASS_FX_DX8_REVERB = 8;
BASS_DX8_PHASE_NEG_180 = 0;
BASS_DX8_PHASE_NEG_90 = 1;
BASS_DX8_PHASE_ZERO = 2;
BASS_DX8_PHASE_90 = 3;
BASS_DX8_PHASE_180 = 4;
STREAMPROC_DUMMY = Pointer(0);
STREAMPROC_PUSH = Pointer(-1);

Variables

BASS_SetConfig: function(option, value: DWORD): BOOL; stdcall;
BASS_GetConfig: function(option: DWORD): DWORD; stdcall;
BASS_SetConfigPtr: function(option: DWORD; value: Pointer): BOOL; stdcall;
BASS_GetConfigPtr: function(option: DWORD): Pointer; stdcall;
BASS_GetVersion: function(): DWORD; stdcall;
BASS_ErrorGetCode: function(): LongInt; stdcall;
BASS_GetDeviceInfo: function(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall;
BASS_Init: function(device: LongInt; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; stdcall;
BASS_SetDevice: function(device: DWORD): BOOL; stdcall;
BASS_GetDevice: function():DWORD; stdcall;
BASS_Free: function():BOOL; stdcall;
BASS_GetDSoundObject: function(obj: DWORD): Pointer; stdcall;
BASS_GetInfo: function(var info: BASS_INFO): BOOL; stdcall;
BASS_Update: function(length: DWORD): BOOL; stdcall;
BASS_GetCPU: function():Single; stdcall;
BASS_Start: function():BOOL; stdcall;
BASS_Stop: function():BOOL; stdcall;
BASS_Pause: function():BOOL; stdcall;
BASS_SetVolume: function(volume: Single): BOOL; stdcall;
BASS_GetVolume: function():Single; stdcall;
BASS_PluginLoad: function(filename: PChar; flags: DWORD): HPLUGIN; stdcall;
BASS_PluginFree: function(handle: HPLUGIN): BOOL; stdcall;
BASS_PluginGetInfo: function(handle: HPLUGIN): PBASS_PLUGININFO; stdcall;
BASS_Set3DFactors: function(distf, rollf, doppf: Single): BOOL; stdcall;
BASS_Get3DFactors: function(var distf, rollf, doppf: Single): BOOL; stdcall;
BASS_Set3DPosition: function(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall;
BASS_Get3DPosition: function(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall;
BASS_Apply3D: procedure(); stdcall;
BASS_SetEAXParameters: function(env: LongInt; vol, decay, damp: Single): BOOL; stdcall;
BASS_GetEAXParameters: function(var env: DWORD; var vol, decay, damp: Single): BOOL; stdcall;
BASS_MusicLoad: function(mem: BOOL; f: Pointer; offset: QWORD; length, flags, freq: DWORD): HMUSIC; stdcall;
BASS_MusicFree: function(handle: HMUSIC): BOOL; stdcall;
BASS_SampleLoad: function(mem: BOOL; f: Pointer; offset: QWORD; length, max, flags: DWORD): HSAMPLE; stdcall;
BASS_SampleCreate: function(length, freq, chans, max, flags: DWORD): HSAMPLE; stdcall;
BASS_SampleFree: function(handle: HSAMPLE): BOOL; stdcall;
BASS_SampleSetData: function(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall;
BASS_SampleGetData: function(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall;
BASS_SampleGetInfo: function(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall;
BASS_SampleSetInfo: function(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall;
BASS_SampleGetChannel: function(handle: HSAMPLE; onlynew: BOOL): HCHANNEL; stdcall;
BASS_SampleGetChannels: function(handle: HSAMPLE; channels: Pointer): DWORD; stdcall;
BASS_SampleStop: function(handle: HSAMPLE): BOOL; stdcall;
BASS_StreamCreate: function(freq, chans, flags: DWORD; proc: STREAMPROC; user: Pointer): HSTREAM; stdcall;
BASS_StreamCreateFile: function(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM; stdcall;
BASS_StreamCreateURL: function(url: PAnsiChar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):HSTREAM; stdcall;
BASS_StreamCreateFileUser: function(system, flags: DWORD; var procs: BASS_FILEPROCS; user: Pointer): HSTREAM; stdcall;
BASS_StreamFree: function(handle: HSTREAM): BOOL; stdcall;
BASS_StreamGetFilePosition: function(handle: HSTREAM; mode: DWORD): QWORD; stdcall;
BASS_StreamPutData: function(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall;
BASS_StreamPutFileData: function(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall;
BASS_RecordGetDeviceInfo: function(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall;
BASS_RecordInit: function(device: LongInt):BOOL; stdcall;
BASS_RecordSetDevice: function(device: DWORD): BOOL; stdcall;
BASS_RecordGetDevice: function():DWORD; stdcall;
BASS_RecordFree: function():BOOL; stdcall;
BASS_RecordGetInfo: function(var info: BASS_RECORDINFO): BOOL; stdcall;
BASS_RecordGetInputName: function(input: LongInt): PAnsiChar; stdcall;
BASS_RecordSetInput: function(input: LongInt; flags: DWORD; volume: Single): BOOL; stdcall;
BASS_RecordGetInput: function(input: LongInt; var volume: Single): DWORD; stdcall;
BASS_RecordStart: function(freq, chans, flags: DWORD; proc: RECORDPROC; user: Pointer): HRECORD; stdcall;
BASS_ChannelBytes2Seconds: function(handle: DWORD; pos: QWORD): Double; stdcall;
BASS_ChannelSeconds2Bytes: function(handle: DWORD; pos: Double): QWORD; stdcall;
BASS_ChannelGetDevice: function(handle: DWORD): DWORD; stdcall;
BASS_ChannelSetDevice: function(handle, device: DWORD): BOOL; stdcall;
BASS_ChannelIsActive: function(handle: DWORD): DWORD; stdcall;
BASS_ChannelGetInfo: function(handle: DWORD; var info: BASS_CHANNELINFO):BOOL; stdcall;
BASS_ChannelGetTags: function(handle: HSTREAM; tags: DWORD): PAnsiChar; stdcall;
BASS_ChannelFlags: function(handle, flags, mask: DWORD): DWORD; stdcall;
BASS_ChannelUpdate: function(handle, length: DWORD): BOOL; stdcall;
BASS_ChannelLock: function(handle: DWORD; lock: BOOL): BOOL; stdcall;
BASS_ChannelPlay: function(handle: DWORD; restart: BOOL): BOOL; stdcall;
BASS_ChannelStop: function(handle: DWORD): BOOL; stdcall;
BASS_ChannelPause: function(handle: DWORD): BOOL; stdcall;
BASS_ChannelSetAttribute: function(handle, attrib: DWORD; value: Single): BOOL; stdcall;
BASS_ChannelGetAttribute: function(handle, attrib: DWORD; var value: Single): BOOL; stdcall;
BASS_ChannelSlideAttribute: function(handle, attrib: DWORD; value: Single; time: DWORD): BOOL; stdcall;
BASS_ChannelIsSliding: function(handle, attrib: DWORD): BOOL; stdcall;
BASS_ChannelSetAttributeEx: function(handle, attrib: DWORD; value: Pointer; size: DWORD): BOOL; stdcall;
BASS_ChannelGetAttributeEx: function(handle, attrib: DWORD; value: Pointer; size: DWORD): DWORD; stdcall;
BASS_ChannelSet3DAttributes: function(handle: DWORD; mode: LongInt; min, max: Single; iangle, oangle, outvol: LongInt): BOOL; stdcall;
BASS_ChannelGet3DAttributes: function(handle: DWORD; var mode: DWORD; var min, max: Single; var iangle, oangle, outvol: DWORD): BOOL; stdcall;
BASS_ChannelSet3DPosition: function(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall;
BASS_ChannelGet3DPosition: function(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall;
BASS_ChannelGetLength: function(handle, mode: DWORD): QWORD; stdcall;
BASS_ChannelSetPosition: function(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; stdcall;
BASS_ChannelGetPosition: function(handle, mode: DWORD): QWORD; stdcall;
BASS_ChannelGetLevel: function(handle: DWORD): DWORD; stdcall;
BASS_ChannelGetLevelEx: function(handle: DWORD; levels: PSingle; length: Single; flags: DWORD): BOOL; stdcall;
BASS_ChannelGetData: function(handle: DWORD; buffer: Pointer; length: DWORD): DWORD; stdcall;
BASS_ChannelSetSync: function(handle: DWORD; type_: DWORD; param: QWORD; proc: SYNCPROC; user: Pointer): HSYNC; stdcall;
BASS_ChannelRemoveSync: function(handle: DWORD; sync: HSYNC): BOOL; stdcall;
BASS_ChannelSetDSP: function(handle: DWORD; proc: DSPPROC; user: Pointer; priority: LongInt): HDSP; stdcall;
BASS_ChannelRemoveDSP: function(handle: DWORD; dsp: HDSP): BOOL; stdcall;
BASS_ChannelSetLink: function(handle, chan: DWORD): BOOL; stdcall;
BASS_ChannelRemoveLink: function(handle, chan: DWORD): BOOL; stdcall;
BASS_ChannelSetFX: function(handle, type_: DWORD; priority: LongInt): HFX; stdcall;
BASS_ChannelRemoveFX: function(handle: DWORD; fx: HFX): BOOL; stdcall;
BASS_FXSetParameters: function(handle: HFX; par: Pointer): BOOL; stdcall;
BASS_FXGetParameters: function(handle: HFX; par: Pointer): BOOL; stdcall;
BASS_FXReset: function(handle: HFX): BOOL; stdcall;
BASS_FXSetPriority: function(handle: HFX; priority: LongInt): BOOL; stdcall;

Description

Functions and Procedures

function BASS_SPEAKER_N(n: DWORD): DWORD;

external bassdll;

function BASS_SetEAXPreset(env: LongInt): BOOL;
function BASS_Load(LibName: PChar ): Boolean;
procedure BASS_UnLoad;
function BASS_IsLoaded:boolean;

Types

BOOL = LongBool;
DOWNLOADPROC = procedure(buffer: Pointer; length: DWORD; user: Pointer); stdcall;

User file stream callback function. action : The action to perform, one of BASS_FILE_xxx values. param1 : Depends on "action" param2 : Depends on "action" user : The 'user' parameter value given when calling BASS_StreamCreate RETURN : Depends on "action"

DSPPROC = procedure(handle: HDSP; channel: DWORD; buffer: Pointer; length: DWORD; user: Pointer); stdcall;

Sync callback function. NOTE: a sync callback function should be very quick as other syncs cannot be processed until it has finished. If the sync is a "mixtime" sync, then other streams and MOD musics can not be mixed until it's finished either. handle : The sync that has occured channel: Channel that the sync occured in data : Additional data associated with the sync's occurance user : The 'user' parameter given when calling BASS_ChannelSetSync

DWORD = LongWord;
FILECLOSEPROC = procedure(user: Pointer); stdcall;

User file stream callback functions

FILELENPROC = function(user: Pointer): QWORD; stdcall;
FILEREADPROC = function(buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;
FILESEEKPROC = function(offset: QWORD; user: Pointer): BOOL; stdcall;
HCHANNEL = DWORD;

sample handle

HDSP = DWORD;

synchronizer handle

HFX = DWORD;

DSP handle

HMUSIC = DWORD;
HPLUGIN = DWORD;

DX8 effect handle

HRECORD = DWORD;

sample stream handle

HSAMPLE = DWORD;

MOD music handle

HSTREAM = DWORD;

playing sample's channel handle

HSYNC = DWORD;

recording handle

PBASS_PLUGINFORMS = ˆTBASS_PLUGINFORMS;
PBASS_PLUGININFO = ˆBASS_PLUGININFO;
PTAG_APE_BINARY = ˆTAG_APE_BINARY;

Binary APEv2 tag structure

PTAG_BEXT = ˆTAG_BEXT;

BWF "bext" tag structure

PTAG_ID3 = ˆTAG_ID3;

ID3v1 tag structure

QWORD = Int64;
RECORDPROC = function(handle: HRECORD; buffer: Pointer; length: DWORD; user: Pointer): BOOL; stdcall;

DSP callback function. NOTE: A DSP function should obviously be as quick as possible... other DSP functions, streams and MOD musics can not be processed until it's finished. handle : The DSP handle channel: Channel that the DSP is being applied to buffer : Buffer to apply the DSP to length : Number of bytes in the buffer user : The 'user' parameter given when calling BASS_ChannelSetDSP

STREAMPROC = function(handle: HSTREAM; buffer: Pointer; length: DWORD; user: Pointer): DWORD; stdcall;

callback function types

SYNCPROC = procedure(handle: HSYNC; channel, data: DWORD; user: Pointer); stdcall;

Internet stream download callback function. buffer : Buffer containing the downloaded data... NULL=end of download length : Number of bytes in the buffer user : The 'user' parameter value given when calling BASS_StreamCreateURL

TBASSModuleHandle = HINST;

This function is defined in the implementation part of this unit. It is not part of BASS.DLL but an extra function which makes it easier to set the predefined EAX environments. env : a EAX_ENVIRONMENT_xxx constant

TBASS_PLUGINFORMS = array[0..maxInt div sizeOf(BASS_PLUGINFORM) - 1] of BASS_PLUGINFORM;

Constants

bassdll = 'bass32.dll';

Functions

BASSVERSION = $204;
BASSVERSIONTEXT = '2.4';

API version

DW_ERROR = LongWord(-1);

Use these to test for error from functions that return a DWORD or QWORD

QW_ERROR = Int64(-1);

-1 (DWORD)

BASS_OK = 0;

-1 (QWORD) Error codes returned by BASS_ErrorGetCode()

BASS_ERROR_MEM = 1;

all is OK

BASS_ERROR_FILEOPEN = 2;

memory error

BASS_ERROR_DRIVER = 3;

can't open the file

BASS_ERROR_BUFLOST = 4;

can't find a free sound driver

BASS_ERROR_HANDLE = 5;

the sample buffer was lost

BASS_ERROR_FORMAT = 6;

invalid handle

BASS_ERROR_POSITION = 7;

unsupported sample format

BASS_ERROR_INIT = 8;

invalid position

BASS_ERROR_START = 9;

BASS_Init has not been successfully called

BASS_ERROR_ALREADY = 14;

BASS_Start has not been successfully called

BASS_ERROR_NOCHAN = 18;

already initialized/paused/whatever

BASS_ERROR_ILLTYPE = 19;

can't get a free channel

BASS_ERROR_ILLPARAM = 20;

an illegal type was specified

BASS_ERROR_NO3D = 21;

an illegal parameter was specified

BASS_ERROR_NOEAX = 22;

no 3D support

BASS_ERROR_DEVICE = 23;

no EAX support

BASS_ERROR_NOPLAY = 24;

illegal device number

BASS_ERROR_FREQ = 25;

not playing

BASS_ERROR_NOTFILE = 27;

illegal sample rate

BASS_ERROR_NOHW = 29;

the stream is not a file stream

BASS_ERROR_EMPTY = 31;

no hardware voices available

BASS_ERROR_NONET = 32;

the MOD music has no sequence data

BASS_ERROR_CREATE = 33;

no internet connection could be opened

BASS_ERROR_NOFX = 34;

couldn't create the file

BASS_ERROR_NOTAVAIL = 37;

effects are not available

BASS_ERROR_DECODE = 38;

requested data is not available

BASS_ERROR_DX = 39;

the channel is/isn't a "decoding channel"

BASS_ERROR_TIMEOUT = 40;

a sufficient DirectX version is not installed

BASS_ERROR_FILEFORM = 41;

connection timedout

BASS_ERROR_SPEAKER = 42;

unsupported file format

BASS_ERROR_VERSION = 43;

unavailable speaker

BASS_ERROR_CODEC = 44;

invalid BASS version (used by add-ons)

BASS_ERROR_ENDED = 45;

codec is not available/supported

BASS_ERROR_BUSY = 46;

the channel/file has ended

BASS_ERROR_UNKNOWN = -1;

the device is busy

BASS_CONFIG_BUFFER = 0;

some other mystery problem BASS_SetConfig options

BASS_CONFIG_UPDATEPERIOD = 1;
BASS_CONFIG_GVOL_SAMPLE = 4;
BASS_CONFIG_GVOL_STREAM = 5;
BASS_CONFIG_GVOL_MUSIC = 6;
BASS_CONFIG_CURVE_VOL = 7;
BASS_CONFIG_CURVE_PAN = 8;
BASS_CONFIG_FLOATDSP = 9;
BASS_CONFIG_3DALGORITHM = 10;
BASS_CONFIG_NET_TIMEOUT = 11;
BASS_CONFIG_NET_BUFFER = 12;
BASS_CONFIG_PAUSE_NOPLAY = 13;
BASS_CONFIG_NET_PREBUF = 15;
BASS_CONFIG_NET_PASSIVE = 18;
BASS_CONFIG_REC_BUFFER = 19;
BASS_CONFIG_NET_PLAYLIST = 21;
BASS_CONFIG_MUSIC_VIRTUAL = 22;
BASS_CONFIG_VERIFY = 23;
BASS_CONFIG_UPDATETHREADS = 24;
BASS_CONFIG_DEV_BUFFER = 27;
BASS_CONFIG_VISTA_TRUEPOS = 30;
BASS_CONFIG_IOS_MIXAUDIO = 34;
BASS_CONFIG_DEV_DEFAULT = 36;
BASS_CONFIG_NET_READTIMEOUT = 37;
BASS_CONFIG_VISTA_SPEAKERS = 38;
BASS_CONFIG_IOS_SPEAKER = 39;
BASS_CONFIG_MF_DISABLE = 40;
BASS_CONFIG_HANDLES = 41;
BASS_CONFIG_UNICODE = 42;
BASS_CONFIG_SRC = 43;
BASS_CONFIG_SRC_SAMPLE = 44;
BASS_CONFIG_ASYNCFILE_BUFFER = 45;
BASS_CONFIG_OGG_PRESCAN = 47;
BASS_CONFIG_MF_VIDEO = 48;
BASS_CONFIG_AIRPLAY = 49;
BASS_CONFIG_DEV_NONSTOP = 50;
BASS_CONFIG_IOS_NOCATEGORY = 51;
BASS_CONFIG_VERIFY_NET = 52;
BASS_CONFIG_DEV_PERIOD = 53;
BASS_CONFIG_FLOAT = 54;
BASS_CONFIG_NET_AGENT = 16;

BASS_SetConfigPtr options

BASS_CONFIG_NET_PROXY = 17;
BASS_DEVICE_8BITS = 1;

BASS_Init flags

BASS_DEVICE_MONO = 2;

8 bit resolution, else 16 bit

BASS_DEVICE_3D = 4;

mono, else stereo

BASS_DEVICE_16BITS = 8;

enable 3D functionality

BASS_DEVICE_LATENCY = $100;

If the BASS_DEVICE_3D flag is not specified when initilizing BASS, then the 3D flags (BASS_SAMPLE_3D and BASS_MUSIC_3D) are ignored when loading/creating a sample/stream/music.

BASS_DEVICE_CPSPEAKERS = $400;

calculate device latency (BASS_INFO struct)

BASS_DEVICE_SPEAKERS = $800;

detect speakers via Windows control panel

BASS_DEVICE_NOSPEAKER = $1000;

force enabling of speaker assignment

BASS_DEVICE_DMIX = $2000;

ignore speaker arrangement

BASS_DEVICE_FREQ = $4000;

use ALSA "dmix" plugin

BASS_DEVICE_STEREO = $8000;

set device sample rate

BASS_OBJECT_DS = 1;

limit output to stereo DirectSound interfaces (for use with BASS_GetDSoundObject)

BASS_OBJECT_DS3DL = 2;

IDirectSound

BASS_DEVICE_ENABLED = 1;

IDirectSound3DListener BASS_DEVICEINFO flags

BASS_DEVICE_DEFAULT = 2;
BASS_DEVICE_INIT = 4;
BASS_DEVICE_TYPE_MASK = $ff000000;
BASS_DEVICE_TYPE_NETWORK = $01000000;
BASS_DEVICE_TYPE_SPEAKERS = $02000000;
BASS_DEVICE_TYPE_LINE = $03000000;
BASS_DEVICE_TYPE_HEADPHONES = $04000000;
BASS_DEVICE_TYPE_MICROPHONE = $05000000;
BASS_DEVICE_TYPE_HEADSET = $06000000;
BASS_DEVICE_TYPE_HANDSET = $07000000;
BASS_DEVICE_TYPE_DIGITAL = $08000000;
BASS_DEVICE_TYPE_SPDIF = $09000000;
BASS_DEVICE_TYPE_HDMI = $0a000000;
BASS_DEVICE_TYPE_DISPLAYPORT = $40000000;
BASS_DEVICES_AIRPLAY = $1000000;

BASS_GetDeviceInfo flags

DSCAPS_CONTINUOUSRATE = $00000010;

BASS_INFO flags (from DSOUND.H)

DSCAPS_EMULDRIVER = $00000020;

supports all sample rates between min/maxrate

DSCAPS_CERTIFIED = $00000040;

device does NOT have hardware DirectSound support

DSCAPS_SECONDARYMONO = $00000100;

The following flags tell what type of samples are supported by HARDWARE mixing, all these formats are supported by SOFTWARE mixing

DSCAPS_SECONDARYSTEREO = $00000200;

mono

DSCAPS_SECONDARY8BIT = $00000400;

stereo

DSCAPS_SECONDARY16BIT = $00000800;

8 bit

DSCCAPS_EMULDRIVER = DSCAPS_EMULDRIVER;

16 bit BASS_RECORDINFO flags (from DSOUND.H)

DSCCAPS_CERTIFIED = DSCAPS_CERTIFIED;

device does NOT have hardware DirectSound recording support

BASS_SAMPLE_8BITS = 1;

WAVE_FORMAT_1M08 = $00000001; // 11.025 kHz, Mono, 8-bit WAVE_FORMAT_1S08 = $00000002; // 11.025 kHz, Stereo, 8-bit WAVE_FORMAT_1M16 = $00000004; // 11.025 kHz, Mono, 16-bit WAVE_FORMAT_1S16 = $00000008; // 11.025 kHz, Stereo, 16-bit WAVE_FORMAT_2M08 = $00000010; // 22.05 kHz, Mono, 8-bit WAVE_FORMAT_2S08 = $00000020; // 22.05 kHz, Stereo, 8-bit WAVE_FORMAT_2M16 = $00000040; // 22.05 kHz, Mono, 16-bit WAVE_FORMAT_2S16 = $00000080; // 22.05 kHz, Stereo, 16-bit WAVE_FORMAT_4M08 = $00000100; // 44.1 kHz, Mono, 8-bit WAVE_FORMAT_4S08 = $00000200; // 44.1 kHz, Stereo, 8-bit WAVE_FORMAT_4M16 = $00000400; // 44.1 kHz, Mono, 16-bit WAVE_FORMAT_4S16 = $00000800; // 44.1 kHz, Stereo, 16-bit

BASS_SAMPLE_FLOAT = 256;

8 bit

BASS_SAMPLE_MONO = 2;

32 bit floating-point

BASS_SAMPLE_LOOP = 4;

mono

BASS_SAMPLE_3D = 8;

looped

BASS_SAMPLE_SOFTWARE = 16;

3D functionality

BASS_SAMPLE_MUTEMAX = 32;

not using hardware mixing

BASS_SAMPLE_VAM = 64;

mute at max distance (3D only)

BASS_SAMPLE_FX = 128;

DX7 voice allocation & management

BASS_SAMPLE_OVER_VOL = $10000;

old implementation of DX8 effects

BASS_SAMPLE_OVER_POS = $20000;

override lowest volume

BASS_SAMPLE_OVER_DIST = $30000;

override longest playing

BASS_STREAM_PRESCAN = $20000;

override furthest from listener (3D only)

BASS_MP3_SETPOS = BASS_STREAM_PRESCAN;

enable pin-point seeking/length (MP3/MP2/MP1)

BASS_STREAM_AUTOFREE = $40000;
BASS_STREAM_RESTRATE = $80000;

automatically free the stream when it stop/ends

BASS_STREAM_BLOCK = $100000;

restrict the download rate of internet file streams

BASS_STREAM_DECODE = $200000;

download/play internet file stream in small blocks

BASS_STREAM_STATUS = $800000;

don't play the stream, only decode (BASS_ChannelGetData)

BASS_MUSIC_FLOAT = BASS_SAMPLE_FLOAT;

give server status info (HTTP/ICY tags) in DOWNLOADPROC

BASS_MUSIC_MONO = BASS_SAMPLE_MONO;

32-bit floating-point

BASS_MUSIC_LOOP = BASS_SAMPLE_LOOP;

force mono mixing (less CPU usage)

BASS_MUSIC_3D = BASS_SAMPLE_3D;

loop music

BASS_MUSIC_FX = BASS_SAMPLE_FX;

enable 3D functionality

BASS_MUSIC_AUTOFREE = BASS_STREAM_AUTOFREE;

enable old implementation of DX8 effects

BASS_MUSIC_DECODE = BASS_STREAM_DECODE;

automatically free the music when it stop/ends

BASS_MUSIC_PRESCAN = BASS_STREAM_PRESCAN;

don't play the music, only decode (BASS_ChannelGetData)

BASS_MUSIC_CALCLEN = BASS_MUSIC_PRESCAN;

calculate playback length

BASS_MUSIC_RAMP = $200;
BASS_MUSIC_RAMPS = $400;

normal ramping

BASS_MUSIC_SURROUND = $800;

sensitive ramping

BASS_MUSIC_SURROUND2 = $1000;

surround sound

BASS_MUSIC_FT2PAN = $2000;

surround sound (mode 2)

BASS_MUSIC_FT2MOD = $2000;

apply FastTracker 2 panning to XM files

BASS_MUSIC_PT1MOD = $4000;

play .MOD as FastTracker 2 does

BASS_MUSIC_NONINTER = $10000;

play .MOD as ProTracker 1 does

BASS_MUSIC_SINCINTER = $800000;

non-interpolated sample mixing

BASS_MUSIC_POSRESET = $8000;

sinc interpolated sample mixing

BASS_MUSIC_POSRESETEX = $400000;

stop all notes when moving position

BASS_MUSIC_STOPBACK = $80000;

stop all notes and reset bmp/etc when moving position

BASS_MUSIC_NOSAMPLE = $100000;

stop the music on a backwards jump effect

BASS_SPEAKER_FRONT = $1000000;

don't load the samples Speaker assignment flags

BASS_SPEAKER_REAR = $2000000;

front speakers

BASS_SPEAKER_CENLFE = $3000000;

rear/side speakers

BASS_SPEAKER_REAR2 = $4000000;

center & LFE speakers (5.1)

BASS_SPEAKER_LEFT = $10000000;

rear center speakers (7.1)

BASS_SPEAKER_RIGHT = $20000000;

modifier: left

BASS_SPEAKER_FRONTLEFT = BASS_SPEAKER_FRONT or BASS_SPEAKER_LEFT;

modifier: right

BASS_SPEAKER_FRONTRIGHT = BASS_SPEAKER_FRONT or BASS_SPEAKER_RIGHT;
BASS_SPEAKER_REARLEFT = BASS_SPEAKER_REAR or BASS_SPEAKER_LEFT;
BASS_SPEAKER_REARRIGHT = BASS_SPEAKER_REAR or BASS_SPEAKER_RIGHT;
BASS_SPEAKER_CENTER = BASS_SPEAKER_CENLFE or BASS_SPEAKER_LEFT;
BASS_SPEAKER_LFE = BASS_SPEAKER_CENLFE or BASS_SPEAKER_RIGHT;
BASS_SPEAKER_REAR2LEFT = BASS_SPEAKER_REAR2 or BASS_SPEAKER_LEFT;
BASS_SPEAKER_REAR2RIGHT = BASS_SPEAKER_REAR2 or BASS_SPEAKER_RIGHT;
BASS_ASYNCFILE = $40000000;
BASS_UNICODE = $80000000;
BASS_RECORD_PAUSE = $8000;
BASS_VAM_HARDWARE = 1;

start recording paused DX7 voice allocation & management flags

BASS_VAM_SOFTWARE = 2;

Play the sample in hardware. If no hardware voices are available then the "play" call will fail

BASS_VAM_TERM_TIME = 4;

These flags enable hardware resource stealing... if the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. NOTE: only samples loaded/created with the BASS_SAMPLE_VAM flag are considered for termination by the DX7 voice management.

BASS_VAM_TERM_DIST = 8;

If there are no free hardware voices, the buffer to be terminated will be the one with the least time left to play.

BASS_VAM_TERM_PRIO = 16;

If there are no free hardware voices, the buffer to be terminated will be one that was loaded/created with the BASS_SAMPLE_MUTEMAX flag and is beyond it's max distance. If there are no buffers that match this criteria, then the "play" call will fail.

BASS_CTYPE_SAMPLE = 1;

BASS_CHANNELINFO types

BASS_CTYPE_RECORD = 2;
BASS_CTYPE_STREAM = $10000;
BASS_CTYPE_STREAM_OGG = $10002;
BASS_CTYPE_STREAM_MP1 = $10003;
BASS_CTYPE_STREAM_MP2 = $10004;
BASS_CTYPE_STREAM_MP3 = $10005;
BASS_CTYPE_STREAM_AIFF = $10006;
BASS_CTYPE_STREAM_WAV = $40000;
BASS_CTYPE_STREAM_WAV_PCM = $50001;

WAVE flag, LOWORD=codec

BASS_CTYPE_STREAM_WAV_FLOAT = $50003;
BASS_CTYPE_MUSIC_MOD = $20000;
BASS_CTYPE_MUSIC_MTM = $20001;
BASS_CTYPE_MUSIC_S3M = $20002;
BASS_CTYPE_MUSIC_XM = $20003;
BASS_CTYPE_MUSIC_IT = $20004;
BASS_CTYPE_MUSIC_MO3 = $00100;
BASS_3DMODE_NORMAL = 0;

MO3 flag 3D channel modes

BASS_3DMODE_RELATIVE = 1;

normal 3D processing

BASS_3DMODE_OFF = 2;

The channel's 3D position (position/velocity/ orientation) are relative to the listener. When the listener's position/velocity/orientation is changed with BASS_Set3DPosition, the channel's position relative to the listener does not change.

BASS_3DALG_DEFAULT = 0;

software 3D mixing algorithms (used with BASS_CONFIG_3DALGORITHM)

BASS_3DALG_OFF = 1;

default algorithm (currently translates to BASS_3DALG_OFF)

BASS_3DALG_FULL = 2;

Uses normal left and right panning. The vertical axis is ignored except for scaling of volume due to distance. Doppler shift and volume scaling are still applied, but the 3D filtering is not performed. This is the most CPU efficient software implementation, but provides no virtual 3D audio effect. Head Related Transfer Function processing will not be done. Since only normal stereo panning is used, a channel using this algorithm may be accelerated by a 2D hardware voice if no free 3D hardware voices are available.

BASS_3DALG_LIGHT = 3;

This algorithm gives the highest quality 3D audio effect, but uses more CPU. Requires Windows 98 2nd Edition or Windows 2000 that uses WDM drivers, if this mode is not available then BASS_3DALG_OFF will be used instead.

EAX_ENVIRONMENT_GENERIC = 0;

EAX environments, use with BASS_SetEAXParameters

EAX_ENVIRONMENT_PADDEDCELL = 1;
EAX_ENVIRONMENT_ROOM = 2;
EAX_ENVIRONMENT_BATHROOM = 3;
EAX_ENVIRONMENT_LIVINGROOM = 4;
EAX_ENVIRONMENT_STONEROOM = 5;
EAX_ENVIRONMENT_AUDITORIUM = 6;
EAX_ENVIRONMENT_CONCERTHALL = 7;
EAX_ENVIRONMENT_CAVE = 8;
EAX_ENVIRONMENT_ARENA = 9;
EAX_ENVIRONMENT_HANGAR = 10;
EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
EAX_ENVIRONMENT_HALLWAY = 12;
EAX_ENVIRONMENT_STONECORRIDOR = 13;
EAX_ENVIRONMENT_ALLEY = 14;
EAX_ENVIRONMENT_FOREST = 15;
EAX_ENVIRONMENT_CITY = 16;
EAX_ENVIRONMENT_MOUNTAINS = 17;
EAX_ENVIRONMENT_QUARRY = 18;
EAX_ENVIRONMENT_PLAIN = 19;
EAX_ENVIRONMENT_PARKINGLOT = 20;
EAX_ENVIRONMENT_SEWERPIPE = 21;
EAX_ENVIRONMENT_UNDERWATER = 22;
EAX_ENVIRONMENT_DRUGGED = 23;
EAX_ENVIRONMENT_DIZZY = 24;
EAX_ENVIRONMENT_PSYCHOTIC = 25;
EAX_ENVIRONMENT_COUNT = 26;

total number of environments

BASS_STREAMPROC_END = $80000000;
STREAMFILE_NOBUFFER = 0;

end of user stream flag BASS_StreamCreateFileUser file systems

STREAMFILE_BUFFER = 1;
STREAMFILE_BUFFERPUSH = 2;
BASS_FILEDATA_END = 0;

BASS_StreamPutFileData options

BASS_FILEPOS_CURRENT = 0;

end & close the file BASS_StreamGetFilePosition modes

BASS_FILEPOS_DECODE = BASS_FILEPOS_CURRENT;
BASS_FILEPOS_DOWNLOAD = 1;
BASS_FILEPOS_END = 2;
BASS_FILEPOS_START = 3;
BASS_FILEPOS_CONNECTED = 4;
BASS_FILEPOS_BUFFER = 5;
BASS_FILEPOS_SOCKET = 6;
BASS_FILEPOS_ASYNCBUF = 7;
BASS_FILEPOS_SIZE = 8;
BASS_SYNC_POS = 0;

Sync types (with BASS_ChannelSetSync() "param" and SYNCPROC "data" definitions) & flags.

BASS_SYNC_END = 2;

Sync when a channel reaches a position. param: position in bytes data : not used

BASS_SYNC_META = 4;

Sync when a channel reaches the end. param: not used data : not used

BASS_SYNC_SLIDE = 5;

Sync when metadata is received in a stream. param: not used data : pointer to the metadata

BASS_SYNC_STALL = 6;

Sync when an attribute slide is completed. param: not used data : the type of slide completed (one of the BASS_SLIDE_xxx values)

BASS_SYNC_DOWNLOAD = 7;

Sync when playback has stalled. param: not used data : 0=stalled, 1=resumed

BASS_SYNC_FREE = 8;

Sync when downloading of an internet (or "buffered" user file) stream has ended. param: not used data : not used

BASS_SYNC_SETPOS = 11;

Sync when a channel is freed. param: not used data : not used

BASS_SYNC_MUSICPOS = 10;

Sync when a channel's position is set. param: not used data : 0 = playback buffer not flushed, 1 = playback buffer flushed

BASS_SYNC_MUSICINST = 1;

Sync when a MOD music reaches an order:row position. param: LOWORD=order (0=first, -1=all) HIWORD=row (0=first, -1=all) data : LOWORD=order HIWORD=row

BASS_SYNC_MUSICFX = 3;

Sync when an instrument (sample for the non-instrument based formats) is played in a MOD music (not including retrigs). param: LOWORD=instrument (1=first) HIWORD=note (0=c0...119=b9, -1=all) data : LOWORD=note HIWORD=volume (0-64)

BASS_SYNC_OGG_CHANGE = 12;

Sync when the "sync" effect (XM/MTM/MOD: E8x/Wxx, IT/S3M: S2x) is used. param: 0:data=pos, 1:data="x" value data : param=0: LOWORD=order HIWORD=row, param=1: "x" value

BASS_SYNC_MIXTIME = $40000000;

FLAG: post a Windows message (instead of callback) When using a window message "callback", the message to post is given in the "proc" parameter of BASS_ChannelSetSync, and is posted to the window specified in the BASS_Init call. The message parameters are: WPARAM = data, LPARAM = user.

BASS_SYNC_ONETIME = $80000000;

FLAG: sync at mixtime, else at playtime

BASS_ACTIVE_STOPPED = 0;

FLAG: sync only once, else continuously BASS_ChannelIsActive return values

BASS_ACTIVE_PLAYING = 1;
BASS_ACTIVE_STALLED = 2;
BASS_ACTIVE_PAUSED = 3;
BASS_ATTRIB_FREQ = 1;

Channel attributes

BASS_ATTRIB_VOL = 2;
BASS_ATTRIB_PAN = 3;
BASS_ATTRIB_EAXMIX = 4;
BASS_ATTRIB_NOBUFFER = 5;
BASS_ATTRIB_VBR = 6;
BASS_ATTRIB_CPU = 7;
BASS_ATTRIB_SRC = 8;
BASS_ATTRIB_NET_RESUME = 9;
BASS_ATTRIB_SCANINFO = 10;
BASS_ATTRIB_NORAMP = 11;
BASS_ATTRIB_BITRATE = 12;
BASS_ATTRIB_MUSIC_AMPLIFY = $100;
BASS_ATTRIB_MUSIC_PANSEP = $101;
BASS_ATTRIB_MUSIC_PSCALER = $102;
BASS_ATTRIB_MUSIC_BPM = $103;
BASS_ATTRIB_MUSIC_SPEED = $104;
BASS_ATTRIB_MUSIC_VOL_GLOBAL = $105;
BASS_ATTRIB_MUSIC_ACTIVE = $106;
BASS_ATTRIB_MUSIC_VOL_CHAN = $200;
BASS_ATTRIB_MUSIC_VOL_INST = $300;

+ channel #

BASS_DATA_AVAILABLE = 0;

+ instrument # BASS_ChannelGetData flags

BASS_DATA_FIXED = $20000000;

query how much data is buffered

BASS_DATA_FLOAT = $40000000;

flag: return 8.24 fixed-point data

BASS_DATA_FFT256 = $80000000;

flag: return floating-point sample data

BASS_DATA_FFT512 = $80000001;

256 sample FFT

BASS_DATA_FFT1024 = $80000002;

512 FFT

BASS_DATA_FFT2048 = $80000003;

1024 FFT

BASS_DATA_FFT4096 = $80000004;

2048 FFT

BASS_DATA_FFT8192 = $80000005;

4096 FFT

BASS_DATA_FFT16384 = $80000006;

8192 FFT

BASS_DATA_FFT32768 = $80000007;

16384 FFT

BASS_DATA_FFT_INDIVIDUAL = $10;

32768 FFT

BASS_DATA_FFT_NOWINDOW = $20;

FFT flag: FFT for each channel, else all combined

BASS_DATA_FFT_REMOVEDC = $40;

FFT flag: no Hanning window

BASS_DATA_FFT_COMPLEX = $80;

FFT flag: pre-remove DC bias

BASS_LEVEL_MONO = 1;

FFT flag: return complex data BASS_ChannelGetLevelEx flags

BASS_LEVEL_STEREO = 2;
BASS_LEVEL_RMS = 4;
BASS_TAG_ID3 = 0;

BASS_ChannelGetTags types : what's returned

BASS_TAG_ID3V2 = 1;

ID3v1 tags : TAG_ID3 structure

BASS_TAG_OGG = 2;

ID3v2 tags : variable length block

BASS_TAG_HTTP = 3;

OGG comments : series of null-terminated UTF-8 strings

BASS_TAG_ICY = 4;

HTTP headers : series of null-terminated ANSI strings

BASS_TAG_META = 5;

ICY headers : series of null-terminated ANSI strings

BASS_TAG_APE = 6;

ICY metadata : ANSI string

BASS_TAG_MP4 = 7;

APEv2 tags : series of null-terminated UTF-8 strings

BASS_TAG_WMA = 8;

MP4/iTunes metadata : series of null-terminated UTF-8 strings

BASS_TAG_VENDOR = 9;

WMA tags : series of null-terminated UTF-8 strings

BASS_TAG_LYRICS3 = 10;

OGG encoder : UTF-8 string

BASS_TAG_CA_CODEC = 11;

Lyric3v2 tag : ASCII string

BASS_TAG_MF = 13;

CoreAudio codec info : TAG_CA_CODEC structure

BASS_TAG_WAVEFORMAT = 14;

Media Foundation tags : series of null-terminated UTF-8 strings

BASS_TAG_RIFF_INFO = $100;

WAVE format : WAVEFORMATEEX structure

BASS_TAG_RIFF_BEXT = $101;

RIFF "INFO" tags : series of null-terminated ANSI strings

BASS_TAG_RIFF_CART = $102;

RIFF/BWF "bext" tags : TAG_BEXT structure

BASS_TAG_RIFF_DISP = $103;

RIFF/BWF "cart" tags : TAG_CART structure

BASS_TAG_APE_BINARY = $1000;

RIFF "DISP" text tag : ANSI string

BASS_TAG_MUSIC_NAME = $10000;

+ index #, binary APEv2 tag : TAG_APE_BINARY structure

BASS_TAG_MUSIC_MESSAGE = $10001;

MOD music name : ANSI string

BASS_TAG_MUSIC_ORDERS = $10002;

MOD message : ANSI string

BASS_TAG_MUSIC_AUTH = $10003;

MOD order list : BYTE array of pattern numbers

BASS_TAG_MUSIC_INST = $10100;

MOD author : UTF-8 string

BASS_TAG_MUSIC_SAMPLE = $10300;

+ instrument #, MOD instrument name : ANSI string

BASS_POS_BYTE = 0;

+ sample #, MOD sample name : ANSI string BASS_ChannelGetLength/GetPosition/SetPosition modes

BASS_POS_MUSIC_ORDER = 1;

byte position

BASS_POS_OGG = 3;

order.row position, MAKELONG(order,row)

BASS_POS_INEXACT = $8000000;

OGG bitstream number

BASS_POS_DECODE = $10000000;

flag: allow seeking to inexact position

BASS_POS_DECODETO = $20000000;

flag: get the decoding (not playing) position

BASS_POS_SCAN = $40000000;

flag: decode to the position instead of seeking

BASS_INPUT_OFF = $10000;

flag: scan to the position BASS_RecordSetInput flags

BASS_INPUT_ON = $20000;
BASS_INPUT_TYPE_MASK = $FF000000;
BASS_INPUT_TYPE_UNDEF = $00000000;
BASS_INPUT_TYPE_DIGITAL = $01000000;
BASS_INPUT_TYPE_LINE = $02000000;
BASS_INPUT_TYPE_MIC = $03000000;
BASS_INPUT_TYPE_SYNTH = $04000000;
BASS_INPUT_TYPE_CD = $05000000;
BASS_INPUT_TYPE_PHONE = $06000000;
BASS_INPUT_TYPE_SPEAKER = $07000000;
BASS_INPUT_TYPE_WAVE = $08000000;
BASS_INPUT_TYPE_AUX = $09000000;
BASS_INPUT_TYPE_ANALOG = $0A000000;
BASS_FX_DX8_CHORUS = 0;
BASS_FX_DX8_COMPRESSOR = 1;
BASS_FX_DX8_DISTORTION = 2;
BASS_FX_DX8_ECHO = 3;
BASS_FX_DX8_FLANGER = 4;
BASS_FX_DX8_GARGLE = 5;
BASS_FX_DX8_I3DL2REVERB = 6;
BASS_FX_DX8_PARAMEQ = 7;
BASS_FX_DX8_REVERB = 8;
BASS_DX8_PHASE_NEG_180 = 0;
BASS_DX8_PHASE_NEG_90 = 1;
BASS_DX8_PHASE_ZERO = 2;
BASS_DX8_PHASE_90 = 3;
BASS_DX8_PHASE_180 = 4;
STREAMPROC_DUMMY = Pointer(0);

special STREAMPROCs

STREAMPROC_PUSH = Pointer(-1);

"dummy" stream

Variables

BASS_SetConfig: function(option, value: DWORD): BOOL; stdcall;

Recording callback function. handle : The recording handle buffer : Buffer containing the recorded sample data length : Number of bytes user : The 'user' parameter value given when calling BASS_RecordStart RETURN : TRUE = continue recording, FALSE = stop

BASS_GetConfig: function(option: DWORD): DWORD; stdcall;

external bassdll;

BASS_SetConfigPtr: function(option: DWORD; value: Pointer): BOOL; stdcall;

external bassdll;

BASS_GetConfigPtr: function(option: DWORD): Pointer; stdcall;

external bassdll;

BASS_GetVersion: function(): DWORD; stdcall;

external bassdll;

BASS_ErrorGetCode: function(): LongInt; stdcall;

external bassdll;

BASS_GetDeviceInfo: function(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall;

external bassdll;

BASS_Init: function(device: LongInt; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; stdcall;

external bassdll;

BASS_SetDevice: function(device: DWORD): BOOL; stdcall;

external bassdll;

BASS_GetDevice: function():DWORD; stdcall;

external bassdll;

BASS_Free: function():BOOL; stdcall;

external bassdll;

BASS_GetDSoundObject: function(obj: DWORD): Pointer; stdcall;

external bassdll;

BASS_GetInfo: function(var info: BASS_INFO): BOOL; stdcall;

external bassdll;

BASS_Update: function(length: DWORD): BOOL; stdcall;

external bassdll;

BASS_GetCPU: function():Single; stdcall;

external bassdll;

BASS_Start: function():BOOL; stdcall;

external bassdll;

BASS_Stop: function():BOOL; stdcall;

external bassdll;

BASS_Pause: function():BOOL; stdcall;

external bassdll;

BASS_SetVolume: function(volume: Single): BOOL; stdcall;

external bassdll;

BASS_GetVolume: function():Single; stdcall;

external bassdll;

BASS_PluginLoad: function(filename: PChar; flags: DWORD): HPLUGIN; stdcall;

external bassdll;

BASS_PluginFree: function(handle: HPLUGIN): BOOL; stdcall;

external bassdll;

BASS_PluginGetInfo: function(handle: HPLUGIN): PBASS_PLUGININFO; stdcall;

external bassdll;

BASS_Set3DFactors: function(distf, rollf, doppf: Single): BOOL; stdcall;

external bassdll;

BASS_Get3DFactors: function(var distf, rollf, doppf: Single): BOOL; stdcall;

external bassdll;

BASS_Set3DPosition: function(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall;

external bassdll;

BASS_Get3DPosition: function(var pos, vel, front, top: BASS_3DVECTOR): BOOL; stdcall;

external bassdll;

BASS_Apply3D: procedure(); stdcall;

external bassdll;

BASS_SetEAXParameters: function(env: LongInt; vol, decay, damp: Single): BOOL; stdcall;

external bassdll;

BASS_GetEAXParameters: function(var env: DWORD; var vol, decay, damp: Single): BOOL; stdcall;

external bassdll;

BASS_MusicLoad: function(mem: BOOL; f: Pointer; offset: QWORD; length, flags, freq: DWORD): HMUSIC; stdcall;

external bassdll;

BASS_MusicFree: function(handle: HMUSIC): BOOL; stdcall;

external bassdll;

BASS_SampleLoad: function(mem: BOOL; f: Pointer; offset: QWORD; length, max, flags: DWORD): HSAMPLE; stdcall;

external bassdll;

BASS_SampleCreate: function(length, freq, chans, max, flags: DWORD): HSAMPLE; stdcall;

external bassdll;

BASS_SampleFree: function(handle: HSAMPLE): BOOL; stdcall;

external bassdll;

BASS_SampleSetData: function(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall;

external bassdll;

BASS_SampleGetData: function(handle: HSAMPLE; buffer: Pointer): BOOL; stdcall;

external bassdll;

BASS_SampleGetInfo: function(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall;

external bassdll;

BASS_SampleSetInfo: function(handle: HSAMPLE; var info: BASS_SAMPLE): BOOL; stdcall;

external bassdll;

BASS_SampleGetChannel: function(handle: HSAMPLE; onlynew: BOOL): HCHANNEL; stdcall;

external bassdll;

BASS_SampleGetChannels: function(handle: HSAMPLE; channels: Pointer): DWORD; stdcall;

external bassdll;

BASS_SampleStop: function(handle: HSAMPLE): BOOL; stdcall;

external bassdll;

BASS_StreamCreate: function(freq, chans, flags: DWORD; proc: STREAMPROC; user: Pointer): HSTREAM; stdcall;

external bassdll;

BASS_StreamCreateFile: function(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM; stdcall;

external bassdll;

BASS_StreamCreateURL: function(url: PAnsiChar; offset: DWORD; flags: DWORD; proc: DOWNLOADPROC; user: Pointer):HSTREAM; stdcall;

external bassdll;

BASS_StreamCreateFileUser: function(system, flags: DWORD; var procs: BASS_FILEPROCS; user: Pointer): HSTREAM; stdcall;

external bassdll;

BASS_StreamFree: function(handle: HSTREAM): BOOL; stdcall;

external bassdll;

BASS_StreamGetFilePosition: function(handle: HSTREAM; mode: DWORD): QWORD; stdcall;

external bassdll;

BASS_StreamPutData: function(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall;

external bassdll;

BASS_StreamPutFileData: function(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; stdcall;

external bassdll;

BASS_RecordGetDeviceInfo: function(device: DWORD; var info: BASS_DEVICEINFO): BOOL; stdcall;

external bassdll;

BASS_RecordInit: function(device: LongInt):BOOL; stdcall;

external bassdll;

BASS_RecordSetDevice: function(device: DWORD): BOOL; stdcall;

external bassdll;

BASS_RecordGetDevice: function():DWORD; stdcall;

external bassdll;

BASS_RecordFree: function():BOOL; stdcall;

external bassdll;

BASS_RecordGetInfo: function(var info: BASS_RECORDINFO): BOOL; stdcall;

external bassdll;

BASS_RecordGetInputName: function(input: LongInt): PAnsiChar; stdcall;

external bassdll;

BASS_RecordSetInput: function(input: LongInt; flags: DWORD; volume: Single): BOOL; stdcall;

external bassdll;

BASS_RecordGetInput: function(input: LongInt; var volume: Single): DWORD; stdcall;

external bassdll;

BASS_RecordStart: function(freq, chans, flags: DWORD; proc: RECORDPROC; user: Pointer): HRECORD; stdcall;

external bassdll;

BASS_ChannelBytes2Seconds: function(handle: DWORD; pos: QWORD): Double; stdcall;

external bassdll;

BASS_ChannelSeconds2Bytes: function(handle: DWORD; pos: Double): QWORD; stdcall;

external bassdll;

BASS_ChannelGetDevice: function(handle: DWORD): DWORD; stdcall;

external bassdll;

BASS_ChannelSetDevice: function(handle, device: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelIsActive: function(handle: DWORD): DWORD; stdcall;

external bassdll;

BASS_ChannelGetInfo: function(handle: DWORD; var info: BASS_CHANNELINFO):BOOL; stdcall;

external bassdll;

BASS_ChannelGetTags: function(handle: HSTREAM; tags: DWORD): PAnsiChar; stdcall;

external bassdll;

BASS_ChannelFlags: function(handle, flags, mask: DWORD): DWORD; stdcall;

external bassdll;

BASS_ChannelUpdate: function(handle, length: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelLock: function(handle: DWORD; lock: BOOL): BOOL; stdcall;

external bassdll;

BASS_ChannelPlay: function(handle: DWORD; restart: BOOL): BOOL; stdcall;

external bassdll;

BASS_ChannelStop: function(handle: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelPause: function(handle: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelSetAttribute: function(handle, attrib: DWORD; value: Single): BOOL; stdcall;

external bassdll;

BASS_ChannelGetAttribute: function(handle, attrib: DWORD; var value: Single): BOOL; stdcall;

external bassdll;

BASS_ChannelSlideAttribute: function(handle, attrib: DWORD; value: Single; time: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelIsSliding: function(handle, attrib: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelSetAttributeEx: function(handle, attrib: DWORD; value: Pointer; size: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelGetAttributeEx: function(handle, attrib: DWORD; value: Pointer; size: DWORD): DWORD; stdcall;

external bassdll;

BASS_ChannelSet3DAttributes: function(handle: DWORD; mode: LongInt; min, max: Single; iangle, oangle, outvol: LongInt): BOOL; stdcall;

external bassdll;

BASS_ChannelGet3DAttributes: function(handle: DWORD; var mode: DWORD; var min, max: Single; var iangle, oangle, outvol: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelSet3DPosition: function(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall;

external bassdll;

BASS_ChannelGet3DPosition: function(handle: DWORD; var pos, orient, vel: BASS_3DVECTOR): BOOL; stdcall;

external bassdll;

BASS_ChannelGetLength: function(handle, mode: DWORD): QWORD; stdcall;

external bassdll;

BASS_ChannelSetPosition: function(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelGetPosition: function(handle, mode: DWORD): QWORD; stdcall;

external bassdll;

BASS_ChannelGetLevel: function(handle: DWORD): DWORD; stdcall;

external bassdll;

BASS_ChannelGetLevelEx: function(handle: DWORD; levels: PSingle; length: Single; flags: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelGetData: function(handle: DWORD; buffer: Pointer; length: DWORD): DWORD; stdcall;

external bassdll;

BASS_ChannelSetSync: function(handle: DWORD; type_: DWORD; param: QWORD; proc: SYNCPROC; user: Pointer): HSYNC; stdcall;

external bassdll;

BASS_ChannelRemoveSync: function(handle: DWORD; sync: HSYNC): BOOL; stdcall;

external bassdll;

BASS_ChannelSetDSP: function(handle: DWORD; proc: DSPPROC; user: Pointer; priority: LongInt): HDSP; stdcall;

external bassdll;

BASS_ChannelRemoveDSP: function(handle: DWORD; dsp: HDSP): BOOL; stdcall;

external bassdll;

BASS_ChannelSetLink: function(handle, chan: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelRemoveLink: function(handle, chan: DWORD): BOOL; stdcall;

external bassdll;

BASS_ChannelSetFX: function(handle, type_: DWORD; priority: LongInt): HFX; stdcall;

external bassdll;

BASS_ChannelRemoveFX: function(handle: DWORD; fx: HFX): BOOL; stdcall;

external bassdll;

BASS_FXSetParameters: function(handle: HFX; par: Pointer): BOOL; stdcall;

external bassdll;

BASS_FXGetParameters: function(handle: HFX; par: Pointer): BOOL; stdcall;

external bassdll;

BASS_FXReset: function(handle: HFX): BOOL; stdcall;

external bassdll;

BASS_FXSetPriority: function(handle: HFX; priority: LongInt): BOOL; stdcall;

external bassdll;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DEVICEINFO

Record BASS_DEVICEINFO

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DEVICEINFO = record

Description

Plugin handle Device info structure

Overview

Fields

Public | name: PAnsiChar;
Public | driver: PAnsiChar;
Public | flags: DWORD;

Description

Fields

Public name: PAnsiChar;
Public driver: PAnsiChar;

description

Public flags: DWORD;

driver


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_INFO

Record BASS_INFO

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_INFO = record

Description

Overview

Fields

Public | flags: DWORD;
Public | hwsize: DWORD;
Public | hwfree: DWORD;
Public | freesam: DWORD;
Public | free3d: DWORD;
Public | minrate: DWORD;
Public | maxrate: DWORD;
Public | eax: BOOL;
Public | minbuf: DWORD;
Public | dsver: DWORD;
Public | latency: DWORD;
Public | initflags: DWORD;
Public | speakers: DWORD;
Public | freq: DWORD;

Description

Fields

Public flags: DWORD;
Public hwsize: DWORD;

device capabilities (DSCAPS_xxx flags)

Public hwfree: DWORD;

size of total device hardware memory

Public freesam: DWORD;

size of free device hardware memory

Public free3d: DWORD;

number of free sample slots in the hardware

Public minrate: DWORD;

number of free 3D sample slots in the hardware

Public maxrate: DWORD;

min sample rate supported by the hardware

Public eax: BOOL;

max sample rate supported by the hardware

Public minbuf: DWORD;

device supports EAX? (always FALSE if BASS_DEVICE_3D was not used)

Public dsver: DWORD;

recommended minimum buffer length in ms (requires BASS_DEVICE_LATENCY)

Public latency: DWORD;

DirectSound version

Public initflags: DWORD;

delay (in ms) before start of playback (requires BASS_DEVICE_LATENCY)

Public speakers: DWORD;

BASS_Init "flags" parameter

Public freq: DWORD;

number of speakers available


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_RECORDINFO

Record BASS_RECORDINFO

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_RECORDINFO = record

Description

Recording device info structure

Overview

Fields

Public | flags: DWORD;
Public | formats: DWORD;
Public | inputs: DWORD;
Public | singlein: BOOL;
Public | freq: DWORD;

Description

Fields

Public flags: DWORD;
Public formats: DWORD;

device capabilities (DSCCAPS_xxx flags)

Public inputs: DWORD;

supported standard formats (WAVE_FORMAT_xxx flags)

Public singlein: BOOL;

number of inputs

Public freq: DWORD;

only 1 input can be set at a time


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_SAMPLE

Record BASS_SAMPLE

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_SAMPLE = record

Description

Sample info structure

Overview

Fields

Public | freq: DWORD;
Public | volume: Single;
Public | pan: Single;
Public | flags: DWORD;
Public | length: DWORD;
Public | max: DWORD;
Public | origres: DWORD;
Public | chans: DWORD;
Public | mingap: DWORD;
Public | mode3d: DWORD;
Public | mindist: Single;
Public | maxdist: Single;
Public | iangle: DWORD;
Public | oangle: DWORD;
Public | outvol: Single;
Public | vam: DWORD;
Public | priority: DWORD;

Description

Fields

Public freq: DWORD;
Public volume: Single;

default playback rate

Public pan: Single;

default volume (0-100)

Public flags: DWORD;

default pan (-100=left, 0=middle, 100=right)

Public length: DWORD;

BASS_SAMPLE_xxx flags

Public max: DWORD;

length (in samples, not bytes)

Public origres: DWORD;

maximum simultaneous playbacks

Public chans: DWORD;

original resolution

Public mingap: DWORD;

number of channels

Public mode3d: DWORD;

The following are the sample's default 3D attributes (if the sample is 3D, BASS_SAMPLE_3D is in flags) see BASS_ChannelSet3DAttributes

Public mindist: Single;

BASS_3DMODE_xxx mode

Public maxdist: Single;

minimum distance

Public iangle: DWORD;

maximum distance

Public oangle: DWORD;

angle of inside projection cone

Public outvol: Single;

angle of outside projection cone

Public vam: DWORD;

The following are the defaults used if the sample uses the DirectX 7 voice allocation/management features.

Public priority: DWORD;

voice allocation/management flags (BASS_VAM_xxx)


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_CHANNELINFO

Record BASS_CHANNELINFO

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_CHANNELINFO = record

Description

Channel info structure

Overview

Fields

Public | freq: DWORD;
Public | chans: DWORD;
Public | flags: DWORD;
Public | ctype: DWORD;
Public | origres: DWORD;
Public | plugin: HPLUGIN;
Public | sample: HSAMPLE;
Public | filename: PChar;

Description

Fields

Public freq: DWORD;
Public chans: DWORD;

default playback rate

Public flags: DWORD;

channels

Public ctype: DWORD;

BASS_SAMPLE/STREAM/MUSIC/SPEAKER flags

Public origres: DWORD;

type of channel

Public plugin: HPLUGIN;

original resolution

Public sample: HSAMPLE;

plugin

Public filename: PChar;

sample


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_PLUGINFORM

Record BASS_PLUGINFORM

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_PLUGINFORM = record

Description

Overview

Fields

Public | ctype: DWORD;
Public | name: PAnsiChar;
Public | exts: PAnsiChar;

Description

Fields

Public ctype: DWORD;
Public name: PAnsiChar;

channel type

Public exts: PAnsiChar;

format description


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_PLUGININFO

Record BASS_PLUGININFO

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_PLUGININFO = record

Description

Overview

Fields

Public | version: DWORD;
Public | formatc: DWORD;
Public | formats: PBASS_PLUGINFORMS;

Description

Fields

Public version: DWORD;
Public formatc: DWORD;

version (same form as BASS_GetVersion)

Public formats: PBASS_PLUGINFORMS;

number of formats


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_3DVECTOR

Record BASS_3DVECTOR

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_3DVECTOR = record

Description

3D vector (for 3D positions/velocities/orientations)

Overview

Fields

Public | x: Single;
Public | y: Single;
Public | z: Single;

Description

Fields

Public x: Single;
Public y: Single;

+=right, -=left

Public z: Single;

+=up, -=down


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_FILEPROCS

Record BASS_FILEPROCS

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_FILEPROCS = record

Description

Overview

Fields

Public | close: FILECLOSEPROC;
Public | length: FILELENPROC;
Public | read: FILEREADPROC;
Public | seek: FILESEEKPROC;

Description

Fields

Public close: FILECLOSEPROC;
Public length: FILELENPROC;
Public read: FILEREADPROC;
Public seek: FILESEEKPROC;


GLSysHelp v.2.1: Sounds.BASSImport: Record TAG_ID3

Record TAG_ID3

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type TAG_ID3 = record

Description

Overview

Fields

Public | id: Array[0..2] of AnsiChar;
Public | title: Array[0..29] of AnsiChar;
Public | artist: Array[0..29] of AnsiChar;
Public | album: Array[0..29] of AnsiChar;
Public | year: Array[0..3] of AnsiChar;
Public | comment: Array[0..29] of AnsiChar;
Public | genre: Byte;

Description

Fields

Public id: Array[0..2] of AnsiChar;
Public title: Array[0..29] of AnsiChar;
Public artist: Array[0..29] of AnsiChar;
Public album: Array[0..29] of AnsiChar;
Public year: Array[0..3] of AnsiChar;
Public comment: Array[0..29] of AnsiChar;
Public genre: Byte;


GLSysHelp v.2.1: Sounds.BASSImport: Record TAG_APE_BINARY

Record TAG_APE_BINARY

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type TAG_APE_BINARY = record

Description

Overview

Fields

Public | key: PAnsiChar;
Public | data: PAnsiChar;
Public | length: DWORD;

Description

Fields

Public key: PAnsiChar;
Public data: PAnsiChar;
Public length: DWORD;


GLSysHelp v.2.1: Sounds.BASSImport: Packed Record TAG_BEXT

Packed Record TAG_BEXT

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type TAG_BEXT = packed record

Description

Overview

Fields

Public | Description: Array[0..255] of AnsiChar;
Public | Originator: Array[0..31] of AnsiChar;
Public | OriginatorReference: Array[0..31] of AnsiChar;
Public | OriginationDate: Array[0..9] of AnsiChar;
Public | OriginationTime: Array[0..7] of AnsiChar;
Public | TimeReference: QWORD;
Public | Version: Word;
Public | UMID: Array[0..63] of Byte;
Public | Reserved: Array[0..189] of Byte;
Public | CodingHistory: Array[0..maxInt div 2 - 1] of AnsiChar;

Description

Fields

Public Description: Array[0..255] of AnsiChar;
Public Originator: Array[0..31] of AnsiChar;

description

Public OriginatorReference: Array[0..31] of AnsiChar;

name of the originator

Public OriginationDate: Array[0..9] of AnsiChar;

reference of the originator

Public OriginationTime: Array[0..7] of AnsiChar;

date of creation (yyyy-mm-dd)

Public TimeReference: QWORD;

time of creation (hh-mm-ss)

Public Version: Word;

first sample count since midnight (little-endian)

Public UMID: Array[0..63] of Byte;

BWF version (little-endian)

Public Reserved: Array[0..189] of Byte;

SMPTE UMID

Public CodingHistory: Array[0..maxInt div 2 - 1] of AnsiChar;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_CHORUS

Record BASS_DX8_CHORUS

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_CHORUS = record

Description

Overview

Fields

Public | fWetDryMix: Single;
Public | fDepth: Single;
Public | fFeedback: Single;
Public | fFrequency: Single;
Public | lWaveform: DWORD;
Public | fDelay: Single;
Public | lPhase: DWORD;

Description

Fields

Public fWetDryMix: Single;
Public fDepth: Single;
Public fFeedback: Single;
Public fFrequency: Single;
Public lWaveform: DWORD;
Public fDelay: Single;

0=triangle, 1=sine

Public lPhase: DWORD;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_COMPRESSOR

Record BASS_DX8_COMPRESSOR

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_COMPRESSOR = record

Description

Overview

Fields

Public | fGain: Single;
Public | fAttack: Single;
Public | fRelease: Single;
Public | fThreshold: Single;
Public | fRatio: Single;
Public | fPredelay: Single;

Description

Fields

Public fGain: Single;
Public fAttack: Single;
Public fRelease: Single;
Public fThreshold: Single;
Public fRatio: Single;
Public fPredelay: Single;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_DISTORTION

Record BASS_DX8_DISTORTION

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_DISTORTION = record

Description

Overview

Fields

Public | fGain: Single;
Public | fEdge: Single;
Public | fPostEQCenterFrequency: Single;
Public | fPostEQBandwidth: Single;
Public | fPreLowpassCutoff: Single;

Description

Fields

Public fGain: Single;
Public fEdge: Single;
Public fPostEQCenterFrequency: Single;
Public fPostEQBandwidth: Single;
Public fPreLowpassCutoff: Single;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_ECHO

Record BASS_DX8_ECHO

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_ECHO = record

Description

Overview

Fields

Public | fWetDryMix: Single;
Public | fFeedback: Single;
Public | fLeftDelay: Single;
Public | fRightDelay: Single;
Public | lPanDelay: BOOL;

Description

Fields

Public fWetDryMix: Single;
Public fFeedback: Single;
Public fLeftDelay: Single;
Public fRightDelay: Single;
Public lPanDelay: BOOL;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_FLANGER

Record BASS_DX8_FLANGER

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_FLANGER = record

Description

Overview

Fields

Public | fWetDryMix: Single;
Public | fDepth: Single;
Public | fFeedback: Single;
Public | fFrequency: Single;
Public | lWaveform: DWORD;
Public | fDelay: Single;
Public | lPhase: DWORD;

Description

Fields

Public fWetDryMix: Single;
Public fDepth: Single;
Public fFeedback: Single;
Public fFrequency: Single;
Public lWaveform: DWORD;
Public fDelay: Single;

0=triangle, 1=sine

Public lPhase: DWORD;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_GARGLE

Record BASS_DX8_GARGLE

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_GARGLE = record

Description

Overview

Fields

Public | dwRateHz: DWORD;
Public | dwWaveShape: DWORD;

Description

Fields

Public dwRateHz: DWORD;
Public dwWaveShape: DWORD;

Rate of modulation in hz


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_I3DL2REVERB

Record BASS_DX8_I3DL2REVERB

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_I3DL2REVERB = record

Description

Overview

Fields

Public | lRoom: LongInt;
Public | lRoomHF: LongInt;
Public | flRoomRolloffFactor: Single;
Public | flDecayTime: Single;
Public | flDecayHFRatio: Single;
Public | lReflections: LongInt;
Public | flReflectionsDelay: Single;
Public | lReverb: LongInt;
Public | flReverbDelay: Single;
Public | flDiffusion: Single;
Public | flDensity: Single;
Public | flHFReference: Single;

Description

Fields

Public lRoom: LongInt;
Public lRoomHF: LongInt;

[-10000, 0] default: -1000 mB

Public flRoomRolloffFactor: Single;

[-10000, 0] default: 0 mB

Public flDecayTime: Single;

[0.0, 10.0] default: 0.0

Public flDecayHFRatio: Single;

[0.1, 20.0] default: 1.49s

Public lReflections: LongInt;

[0.1, 2.0] default: 0.83

Public flReflectionsDelay: Single;

[-10000, 1000] default: -2602 mB

Public lReverb: LongInt;

[0.0, 0.3] default: 0.007 s

Public flReverbDelay: Single;

[-10000, 2000] default: 200 mB

Public flDiffusion: Single;

[0.0, 0.1] default: 0.011 s

Public flDensity: Single;

[0.0, 100.0] default: 100.0 %

Public flHFReference: Single;

[0.0, 100.0] default: 100.0 %


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_PARAMEQ

Record BASS_DX8_PARAMEQ

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_PARAMEQ = record

Description

Overview

Fields

Public | fCenter: Single;
Public | fBandwidth: Single;
Public | fGain: Single;

Description

Fields

Public fCenter: Single;
Public fBandwidth: Single;
Public fGain: Single;


GLSysHelp v.2.1: Sounds.BASSImport: Record BASS_DX8_REVERB

Record BASS_DX8_REVERB

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.BASSImport

Declaration

type BASS_DX8_REVERB = record

Description

Overview

Fields

Public | fInGain: Single;
Public | fReverbMix: Single;
Public | fReverbTime: Single;
Public | fHighFreqRTRatio: Single;

Description

Fields

Public fInGain: Single;
Public fReverbMix: Single;

[-96.0,0.0] default: 0.0 dB

Public fReverbTime: Single;

[-96.0,0.0] default: 0.0 db

Public fHighFreqRTRatio: Single;

[0.001,3000.0] default: 1000.0 ms


GLSysHelp v.2.1: Sounds.FMOD

Unit Sounds.FMOD

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • GLS.Sound
  • GLS.Scene
  • GLS.VectorTypes
  • GLS.VectorGeometry
  • Sounds.FMODImport
  • Sounds.FMODTypes
  • Sounds.FMODPresets

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSMFMOD |


GLSysHelp v.2.1: Sounds.FMOD: Class TGLSMFMOD

Class TGLSMFMOD

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.FMOD

Declaration

type TGLSMFMOD = class(TGLSoundManager)

Description

No description available, ancestor TGLSoundManager description follows

Base class for sound manager components. The sound manager component is the interface to a low-level audio API (like DirectSound), there can only be one active manager at any time (this class takes care of this). Subclass should override the DoActivate and DoDeActivate protected methods to "initialize/unitialize" their sound layer, actual data releases should occur in destructor however.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLSoundManager
  • TGLSMFMOD

Overview

Fields

Private | FActivated: Boolean;
Private | FEAXCapable: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function CPUUsagePercent: Single; override;
Public | function EAXSupported: Boolean; override;
Protected | function DoActivate: Boolean; override;
Protected | function GetDefaultFrequency(aSource: TGLBaseSoundSource): Integer;
Public | procedure UpdateSources; override;
Protected | procedure DoDeActivate; override;
Protected | procedure KillSource(aSource: TGLBaseSoundSource); override;
Protected | procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); override;
Protected | procedure Notify3DFactorsChanged; override;
Protected | procedure NotifyEnvironmentChanged; override;
Protected | procedure NotifyMasterVolumeChange; override;
Protected | procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); override;
Protected | procedure UpdateSource(aSource: TGLBaseSoundSource); override;

Properties

Published property MaxChannels default 32;

Description

Fields

Private FActivated: Boolean;
Private FEAXCapable: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function CPUUsagePercent: Single; override;
Public function EAXSupported: Boolean; override;
Protected function DoActivate: Boolean; override;

not persistent

Protected function GetDefaultFrequency(aSource: TGLBaseSoundSource): Integer;
Public procedure UpdateSources; override;
Protected procedure DoDeActivate; override;
Protected procedure KillSource(aSource: TGLBaseSoundSource); override;
Protected procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); override;
Protected procedure Notify3DFactorsChanged; override;
Protected procedure NotifyEnvironmentChanged; override;
Protected procedure NotifyMasterVolumeChange; override;
Protected procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); override;
Protected procedure UpdateSource(aSource: TGLBaseSoundSource); override;

Properties

Published property MaxChannels default 32;


GLSysHelp v.2.1: Sounds.FMODerrors

Unit Sounds.FMODerrors

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Sounds.FMODtypes

Overview

Functions and Procedures

function FMOD_ErrorString(ErrorCode: TFModErrors): PChar;

Description

Functions and Procedures

function FMOD_ErrorString(ErrorCode: TFModErrors): PChar;

Disable warning for unsafe types in Delphi 7


GLSysHelp v.2.1: Sounds.FMODImport

Unit Sounds.FMODImport

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.Windows
  • Sounds.FMODtypes

Overview

Functions and Procedures

function FMOD_Load(LibName: PChar): Boolean;
procedure FMOD_Unload;
function FSOUND_SetOutput(OutputType: TFSoundOutputTypes): ByteBool; stdcall;
function FSOUND_SetDriver(Driver: Integer): ByteBool; stdcall;
function FSOUND_SetMixer(Mixer: TFSoundMixerTypes): ByteBool; stdcall;
function FSOUND_SetBufferSize(LenMs: Integer): ByteBool; stdcall;
function FSOUND_SetHWND(Hwnd: THandle): ByteBool; stdcall;
function FSOUND_SetMinHardwareChannels(Min: Integer): ByteBool; stdcall;
function FSOUND_SetMaxHardwareChannels(Max: Integer): ByteBool; stdcall;
function FSOUND_SetMemorySystem(Pool: Pointer; PoolLen: Integer; UserAlloc: TFSoundAllocCallback; UserRealloc: TFSoundReallocCallback; UserFree: TFSoundFreeCallback): ByteBool; stdcall;
function FSOUND_Init(MixRate: Integer; MaxSoftwareChannels: Integer; Flags: Cardinal): ByteBool; stdcall;
procedure FSOUND_Close; stdcall;
procedure FSOUND_Update; stdcall;
procedure FSOUND_SetSpeakerMode(SpeakerMode: Cardinal); stdcall;
procedure FSOUND_SetSFXMasterVolume(Volume: Integer); stdcall;
procedure FSOUND_SetPanSeperation(PanSep: Single); stdcall;
procedure FSOUND_File_SetCallbacks(OpenCallback: TFSoundOpenCallback; CloseCallback: TFSoundCloseCallback; ReadCallback: TFSoundReadCallback; SeekCallback: TFSoundSeekCallback; TellCallback: TFSoundTellCallback); stdcall;
function FSOUND_GetError: TFModErrors; stdcall;
function FSOUND_GetVersion: Single; stdcall;
function FSOUND_GetOutput: TFSoundOutputTypes; stdcall;
function FSOUND_GetOutputHandle: Pointer; stdcall;
function FSOUND_GetDriver: Integer; stdcall;
function FSOUND_GetMixer: TFSoundMixerTypes; stdcall;
function FSOUND_GetNumDrivers: Integer; stdcall;
function FSOUND_GetDriverName(Id: Integer): PAnsiChar; stdcall;
function FSOUND_GetDriverCaps(Id: Integer; var Caps: Cardinal): ByteBool; stdcall;
function FSOUND_GetOutputRate: Integer; stdcall;
function FSOUND_GetMaxChannels: Integer; stdcall;
function FSOUND_GetMaxSamples: Integer; stdcall;
function FSOUND_GetSFXMasterVolume: Integer; stdcall;
function FSOUND_GetNumHWChannels(var num2d: Integer; var num3d: Integer; var total: Integer): ByteBool; stdcall;
function FSOUND_GetChannelsPlaying: Integer; stdcall;
function FSOUND_GetCPUUsage: Single; stdcall;
procedure FSOUND_GetMemoryStats(var CurrentAlloced: Cardinal; var MaxAlloced: Cardinal); stdcall;
function FSOUND_Sample_Load(Index: Integer; const NameOrData: PAnsiChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundSample; stdcall;
function FSOUND_Sample_Alloc(Index: Integer; Length: Integer; Mode: Cardinal; DefFreq: Integer; DefVol: Integer; DefPan: Integer; DefPri: Integer): PFSoundSample; stdcall;
procedure FSOUND_Sample_Free(Sptr: PFSoundSample); stdcall;
function FSOUND_Sample_Upload(Sptr: PFSoundSample; SrcData: Pointer; Mode: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_Lock(Sptr: PFSoundSample; Offset: Integer; Length: Integer; var Ptr1: Pointer; var Ptr2: Pointer; var Len1: Cardinal; var Len2: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_Unlock(Sptr: PFSoundSample; Ptr1: Pointer; Ptr2: Pointer; Len1: Cardinal; Len2: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_SetMode(Sptr: PFSoundSample; Mode: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_SetLoopPoints(Sptr: PFSoundSample; LoopStart, LoopEnd: Integer): ByteBool; stdcall;
function FSOUND_Sample_SetDefaults(Sptr: PFSoundSample; DefFreq, DefVol, DefPan, DefPri: Integer): ByteBool; stdcall;
function FSOUND_Sample_SetDefaultsEx(Sptr: PFSoundSample; DefFreq, DefVol, DefPan, DefPri, VarFreq, VarVol, VarPan: Integer): ByteBool; stdcall;
function FSOUND_Sample_SetMinMaxDistance(Sptr: PFSoundSample; Min, Max: Single): ByteBool; stdcall;
function FSOUND_Sample_SetMaxPlaybacks(Sptr: PFSoundSample; Max: Integer): ByteBool; stdcall;
function FSOUND_Sample_Get(SampNo: Integer): PFSoundSample; stdcall;
function FSOUND_Sample_GetName(Sptr: PFSoundSample): PAnsiChar; stdcall;
function FSOUND_Sample_GetLength(Sptr: PFSoundSample): Cardinal; stdcall;
function FSOUND_Sample_GetLoopPoints(Sptr: PFSoundSample; var LoopStart: Integer; var LoopEnd: Integer): ByteBool; stdcall;
function FSOUND_Sample_GetDefaults(Sptr: PFSoundSample; var DefFreq: Integer; var DefVol: Integer; var DefPan: Integer; var DefPri: Integer): ByteBool; stdcall;
function FSOUND_Sample_GetDefaultsEx(Sptr: PFSoundSample; var DefFreq: Integer; var DefVol: Integer; var DefPan: Integer; var DefPri: Integer;var VarFreq: Integer; var VarVol: Integer; var VarPan: Integer): ByteBool; stdcall;
function FSOUND_Sample_GetMode(Sptr: PFSoundSample): Cardinal; stdcall;
function FSOUND_Sample_GetMinMaxDistance(Sptr: PFSoundSample; var Min: Single; var Max: Single): ByteBool; stdcall;
function FSOUND_PlaySound(Channel: Integer; Sptr: PFSoundSample): Integer; stdcall;
function FSOUND_PlaySoundEx(Channel: Integer; Sptr: PFSoundSample; Dsp: PFSoundDSPUnit; StartPaused: ByteBool): Integer; stdcall;
function FSOUND_StopSound(Channel: Integer): ByteBool; stdcall;
function FSOUND_SetFrequency(Channel: Integer; Freq: Integer): ByteBool; stdcall;
function FSOUND_SetVolume(Channel: Integer; Vol: Integer): ByteBool; stdcall;
function FSOUND_SetVolumeAbsolute(Channel: Integer; Vol: Integer): ByteBool; stdcall;
function FSOUND_SetPan(Channel: Integer; Pan: Integer): ByteBool; stdcall;
function FSOUND_SetSurround(Channel: Integer; Surround: ByteBool): ByteBool; stdcall;
function FSOUND_SetMute(Channel: Integer; Mute: ByteBool): ByteBool; stdcall;
function FSOUND_SetPriority(Channel: Integer; Priority: Integer): ByteBool; stdcall;
function FSOUND_SetReserved(Channel: Integer; Reserved: ByteBool): ByteBool; stdcall;
function FSOUND_SetPaused(Channel: Integer; Paused: ByteBool): ByteBool; stdcall;
function FSOUND_SetLoopMode(Channel: Integer; LoopMode: Cardinal): ByteBool; stdcall;
function FSOUND_SetCurrentPosition(Channel: Integer; Offset: Cardinal): ByteBool; stdcall;
function FSOUND_3D_SetAttributes(Channel: Integer; Pos: PFSoundVector; Vel: PFSoundVector): ByteBool; stdcall;
function FSOUND_3D_SetMinMaxDistance(Channel: Integer; Min: Single; Max: Single): ByteBool; stdcall;
function FSOUND_IsPlaying(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetFrequency(Channel: Integer): Integer; stdcall;
function FSOUND_GetVolume(Channel: Integer): Integer; stdcall;
function FSOUND_GetAmplitude(Channel: Integer): Integer; stdcall;
function FSOUND_GetPan(Channel: Integer): Integer; stdcall;
function FSOUND_GetSurround(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetMute(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetPriority(Channel: Integer): Integer; stdcall;
function FSOUND_GetReserved(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetPaused(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetLoopMode(Channel: Integer): Cardinal; stdcall;
function FSOUND_GetCurrentPosition(Channel: Integer): Cardinal; stdcall;
function FSOUND_GetCurrentSample(Channel: Integer): PFSoundSample; stdcall;
function FSOUND_GetCurrentLevels(Channel: Integer; l, r: PSingle): ByteBool; stdcall;
function FSOUND_GetNumSubChannels(Channel: Integer): Integer; stdcall;
function FSOUND_GetSubChannel(Channel: Integer; SubChannel: Integer): Integer; stdcall;
function FSOUND_3D_GetAttributes(Channel: Integer; Pos: PFSoundVector; Vel: PFSoundVector): ByteBool; stdcall;
function FSOUND_3D_GetMinMaxDistance(Channel: Integer; var Min: Single; var Max: Single): ByteBool; stdcall;
procedure FSOUND_3D_Listener_SetCurrent(current: Integer); stdcall;
procedure FSOUND_3D_Listener_SetAttributes(Pos: PFSoundVector; Vel: PFSoundVector; fx: Single; fy: Single; fz: Single; tx: Single; ty: Single; tz: Single); stdcall;
procedure FSOUND_3D_Listener_GetAttributes(Pos: PFSoundVector; Vel: PFSoundVector; fx: PSingle; fy: PSingle; fz: PSingle; tx: PSingle; ty: PSingle; tz: PSingle); stdcall;
procedure FSOUND_3D_SetDopplerFactor(Scale: Single); stdcall;
procedure FSOUND_3D_SetDistanceFactor(Scale: Single); stdcall;
procedure FSOUND_3D_SetRolloffFactor(Scale: Single); stdcall;
function FSOUND_FX_Enable(Channel: Integer; Fx: TFSoundFXModes): Integer; stdcall;
function FSOUND_FX_Disable(Channel: Integer): ByteBool; stdcall;
function FSOUND_FX_SetChorus(FXId: Integer; WetDryMix, Depth, Feedback, Frequency: Single; Waveform: Integer; Delay: Single; Phase: Integer): ByteBool; stdcall;
function FSOUND_FX_SetCompressor(FXId: Integer; Gain, Attack, Release, Threshold, Ratio, Predelay: Single): ByteBool; stdcall;
function FSOUND_FX_SetDistortion(FXId: Integer; Gain, Edge, PostEQCenterFrequency, PostEQBandwidth, PreLowpassCutoff: Single): ByteBool; stdcall;
function FSOUND_FX_SetEcho(FXId: Integer; WetDryMix, Feedback, LeftDelay, RightDelay: Single; PanDelay: Integer): ByteBool; stdcall;
function FSOUND_FX_SetFlanger(FXId: Integer; WetDryMix, Depth, Feedback, Frequency: Single; Waveform: Integer; Delay: Single; Phase: Integer): ByteBool; stdcall;
function FSOUND_FX_SetGargle(FXId, RateHz, WaveShape: Integer): ByteBool; stdcall;
function FSOUND_FX_SetI3DL2Reverb(FXId, Room, RoomHF: Integer; RoomRolloffFactor, DecayTime, DecayHFRatio: Single; Reflections: Integer; ReflectionsDelay: Single; Reverb: Integer; ReverbDelay, Diffusion, Density, HFReference: Single): ByteBool; stdcall;
function FSOUND_FX_SetParamEQ(FXId: Integer; Center, Bandwidth, Gain: Single): ByteBool; stdcall;
function FSOUND_FX_SetWavesReverb(FXId: Integer; InGain, ReverbMix, ReverbTime, HighFreqRTRatio: Single): ByteBool; stdcall;
function FSOUND_Stream_SetBufferSize(Ms: Integer): ByteBool; stdcall;
function FSOUND_Stream_Open(const name_or_data: PAnsiChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundStream; stdcall;
function FSOUND_Stream_Create(Callback: TFSoundStreamCallback; Length: Integer; Mode: Cardinal; SampleRate: Integer; UserData: Integer): PFSoundStream; stdcall;
function FSOUND_Stream_Close(Stream: PFSoundStream): ByteBool; stdcall;
function FSOUND_Stream_Play(Channel: Integer; Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_PlayEx(Channel: Integer; Stream: PFSoundStream; Dsp: PFSoundDSPUnit; StartPaused: ByteBool): Integer; stdcall;
function FSOUND_Stream_Stop(Stream: PFSoundStream): ByteBool; stdcall;
function FSOUND_Stream_SetPosition(Stream: PFSoundStream; Position: Cardinal): ByteBool; stdcall;
function FSOUND_Stream_GetPosition(Stream: PFSoundStream): Cardinal; stdcall;
function FSOUND_Stream_SetTime(Stream: PFSoundStream; Ms: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetTime(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetLength(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetLengthMs(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_SetMode(Stream: PFSoundStream; mode: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetMode(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_SetLoopPoints(Stream: PFSoundStream; LoopStartPCM, LoopEndPCM: Integer): ByteBool; stdcall;
function FSOUND_Stream_SetLoopCount(Stream: PFSoundStream; Count: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetOpenState(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetSample(Stream: PFSoundStream): PFSoundSample; stdcall;
function FSOUND_Stream_CreateDSP(Stream: PFSoundStream; Callback: TFSoundDSPCallback; Priority: Integer; Param: Integer): PFSoundDSPUnit; stdcall;
function FSOUND_Stream_SetEndCallback(Stream: PFSoundStream; Callback: TFSoundStreamCallback; UserData: Integer): ByteBool; stdcall;
function FSOUND_Stream_SetSyncCallback(Stream: PFSoundStream; Callback: TFSoundStreamCallback; UserData: Integer): ByteBool; stdcall;
function FSOUND_Stream_AddSyncPoint(Stream: PFSoundStream; PCMOffset: Cardinal; Name: PAnsiChar): PFSyncPoint; stdcall;
function FSOUND_Stream_DeleteSyncPoint(Point: PFSyncPoint): ByteBool; stdcall;
function FSOUND_Stream_GetNumSyncPoints(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetSyncPoint(Stream: PFSoundStream; Index: Integer): PFSyncPoint; stdcall;
function FSOUND_Stream_GetSyncPointInfo(Point: PFSyncPoint; var PCMOffset: Cardinal): PAnsiChar; stdcall;
function FSOUND_Stream_SetSubStream(Stream: PFSoundStream; Index: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetNumSubStreams(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_SetSubStreamSentence(Stream: PFSoundStream; var SentenceList: Cardinal; NumItems: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetNumTagFields(Stream: PFSoundStream; var Num: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetTagField(Stream: PFSoundStream; Num: Integer; var TagType: TFSoundTagFieldType; var Name: PAnsiChar; var Value: Pointer; var Length: Integer): ByteBool; stdcall;
function FSOUND_Stream_FindTagField(Stream: PFSoundStream; TagType: TFSoundTagFieldType; Name: PAnsiChar; var Value: Pointer; var Length: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_SetProxy(Proxy: PAnsiChar): ByteBool; stdcall;
function FSOUND_Stream_Net_GetLastServerStatus(): PAnsiChar; stdcall;
function FSOUND_Stream_Net_SetBufferProperties(BufferSize: Integer; PreBuffer_Percent: Integer; ReBuffer_Percent: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_GetBufferProperties(var Buffersize: Integer; var PreBuffer_Percent: Integer; var ReBuffer_Percent: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_SetMetadataCallback(Stream: PFSoundStream; Callback: TFMetaDataCallback; UserData: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_GetStatus(Stream: PFSoundStream; var Status: TFSoundStreamNetStatus; var BufferPercentUsed: Integer; var BitRate: Integer; var Flags: Cardinal): ByteBool; stdcall;
function FSOUND_CD_Play(Drive: Byte; Track: Integer): ByteBool; stdcall;
procedure FSOUND_CD_SetPlayMode(Drive: Byte; Mode: Integer); stdcall;
function FSOUND_CD_Stop(Drive: Byte): ByteBool; stdcall;
function FSOUND_CD_SetPaused(Drive: Byte; Paused: ByteBool): ByteBool; stdcall;
function FSOUND_CD_SetVolume(Drive: Byte; Volume: Integer): ByteBool; stdcall;
function FSOUND_CD_SetTrackTime(Drive: Byte; ms: Integer): ByteBool; stdcall;
function FSOUND_CD_OpenTray(Drive: Byte; Open: Byte): ByteBool; stdcall;
function FSOUND_CD_GetPaused(Drive: Byte): ByteBool; stdcall;
function FSOUND_CD_GetTrack(Drive: Byte): Integer; stdcall;
function FSOUND_CD_GetNumTracks(Drive: Byte): Integer; stdcall;
function FSOUND_CD_GetVolume(Drive: Byte): Integer; stdcall;
function FSOUND_CD_GetTrackLength(Drive: Byte; Track: Integer): Integer; stdcall;
function FSOUND_CD_GetTrackTime(Drive: Byte): Integer; stdcall;
function FSOUND_DSP_Create(Callback: TFSoundDSPCallback; Priority: Integer; Param: Integer): PFSoundDSPUnit; stdcall;
procedure FSOUND_DSP_Free(DSPUnit: PFSoundDSPUnit); stdcall;
procedure FSOUND_DSP_SetPriority(DSPUnit: PFSoundDSPUnit; Priority: Integer); stdcall;
function FSOUND_DSP_GetPriority(DSPUnit: PFSoundDSPUnit): Integer; stdcall;
procedure FSOUND_DSP_SetActive(DSPUnit: PFSoundDSPUnit; Active: ByteBool); stdcall;
function FSOUND_DSP_GetActive(DSPUnit: PFSoundDSPUnit): ByteBool; stdcall;
function FSOUND_DSP_GetClearUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetSFXUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetMusicUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetFFTUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetClipAndCopyUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_MixBuffers(DestBuffer: Pointer; SrcBuffer: Pointer; Len: Integer; Freq: Integer; Vol: Integer; Pan: Integer; Mode: Cardinal): ByteBool; stdcall;
procedure FSOUND_DSP_ClearMixBuffer; stdcall;
function FSOUND_DSP_GetBufferLength: Integer; stdcall;
function FSOUND_DSP_GetBufferLengthTotal: Integer; stdcall;
function FSOUND_DSP_GetSpectrum: PSingle; stdcall;
function FSOUND_Reverb_SetProperties(var Prop: TFSoundReverbProperties): ByteBool; stdcall;
function FSOUND_Reverb_GetProperties(var Prop: TFSoundReverbProperties): ByteBool; stdcall;
function FSOUND_Reverb_SetChannelProperties(Channel: Integer; var Prop: TFSoundReverbChannelProperties): ByteBool; stdcall;
function FSOUND_Reverb_GetChannelProperties(Channel: Integer; var Prop: TFSoundReverbChannelProperties): ByteBool; stdcall;
function FSOUND_Record_SetDriver(OutputType: Integer): ByteBool; stdcall;
function FSOUND_Record_GetNumDrivers: Integer; stdcall;
function FSOUND_Record_GetDriverName(Id: Integer): PAnsiChar; stdcall;
function FSOUND_Record_GetDriver: Integer; stdcall;
function FSOUND_Record_StartSample(Sptr: PFSoundSample; Loop: ByteBool): ByteBool; stdcall;
function FSOUND_Record_Stop: ByteBool; stdcall;
function FSOUND_Record_GetPosition: Integer; stdcall;
function FMUSIC_LoadSong(const Name: PAnsiChar): PFMusicModule; stdcall;
function FMUSIC_LoadSongEx(Name_Or_Data: Pointer; Offset: Integer; Length: Integer; Mode: Cardinal; var SampleList: Integer; SampleListNum: Integer): PFMusicModule; stdcall;
function FMUSIC_GetOpenState(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_FreeSong(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_PlaySong(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_StopSong(Module: PFMusicModule): ByteBool; stdcall;
procedure FMUSIC_StopAllSongs; stdcall;
function FMUSIC_SetZxxCallback(Module: PFMusicModule; Callback: TFMusicCallback): ByteBool; stdcall;
function FMUSIC_SetRowCallback(Module: PFMusicModule; Callback: TFMusicCallback; RowStep: Integer): ByteBool; stdcall;
function FMUSIC_SetOrderCallback(Module: PFMusicModule; Callback: TFMusicCallback; OrderStep: Integer): ByteBool; stdcall;
function FMUSIC_SetInstCallback(Module: PFMusicModule; Callback: TFMusicCallback; Instrument: Integer): ByteBool; stdcall;
function FMUSIC_SetSample(Module: PFMusicModule; SampNo: Integer; Sptr: PFSoundSample): ByteBool; stdcall;
function FMUSIC_SetUserData(Module: PFMusicModule; userdata: Integer): ByteBool; stdcall;
function FMUSIC_OptimizeChannels(Module: PFMusicModule; MaxChannels: Integer; MinVolume: Integer): ByteBool; stdcall;
function FMUSIC_SetReverb(Reverb: ByteBool): ByteBool; stdcall;
function FMUSIC_SetLooping(Module: PFMusicModule; Looping: ByteBool): ByteBool; stdcall;
function FMUSIC_SetOrder(Module: PFMusicModule; Order: Integer): ByteBool; stdcall;
function FMUSIC_SetPaused(Module: PFMusicModule; Pause: ByteBool): ByteBool; stdcall;
function FMUSIC_SetMasterVolume(Module: PFMusicModule; Volume: Integer): ByteBool; stdcall;
function FMUSIC_SetMasterSpeed(Module: PFMusicModule; speed: Single): ByteBool; stdcall;
function FMUSIC_SetPanSeperation(Module: PFMusicModule; PanSep: Single): ByteBool; stdcall;
function FMUSIC_GetName(Module: PFMusicModule): PAnsiChar; stdcall;
function FMUSIC_GetType(Module: PFMusicModule): TFMusicTypes; stdcall;
function FMUSIC_GetNumOrders(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumPatterns(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumInstruments(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumSamples(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumChannels(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetSample(Module: PFMusicModule; SampNo: Integer): PFSoundSample; stdcall;
function FMUSIC_GetPatternLength(Module: PFMusicModule; OrderNo: Integer): Integer; stdcall;
function FMUSIC_IsFinished(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_IsPlaying(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_GetMasterVolume(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetGlobalVolume(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetOrder(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetPattern(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetSpeed(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetBPM(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetRow(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetPaused(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_GetTime(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetRealChannel(Module: PFMusicModule; modchannel: Integer): Integer; stdcall;
function FMUSIC_GetUserData(Module: PFMusicModule): Integer; stdcall;

Constants

FMOD_DLL = 'fmod32.dll';

Description

Functions and Procedures

function FMOD_Load(LibName: PChar): Boolean;

If no library name is passed to FMOD_Load, then the default library name used. These are stub functions.

procedure FMOD_Unload;
function FSOUND_SetOutput(OutputType: TFSoundOutputTypes): ByteBool; stdcall;

PRE - FSOUND_Init functions. These can't be called after FSOUND_Init is called (they will fail). They set up FMOD system functionality.

function FSOUND_SetDriver(Driver: Integer): ByteBool; stdcall;
function FSOUND_SetMixer(Mixer: TFSoundMixerTypes): ByteBool; stdcall;
function FSOUND_SetBufferSize(LenMs: Integer): ByteBool; stdcall;
function FSOUND_SetHWND(Hwnd: THandle): ByteBool; stdcall;
function FSOUND_SetMinHardwareChannels(Min: Integer): ByteBool; stdcall;
function FSOUND_SetMaxHardwareChannels(Max: Integer): ByteBool; stdcall;
function FSOUND_SetMemorySystem(Pool: Pointer; PoolLen: Integer; UserAlloc: TFSoundAllocCallback; UserRealloc: TFSoundReallocCallback; UserFree: TFSoundFreeCallback): ByteBool; stdcall;
function FSOUND_Init(MixRate: Integer; MaxSoftwareChannels: Integer; Flags: Cardinal): ByteBool; stdcall;

Main initialization / closedown functions. Note : Use FSOUND_INIT_USEDEFAULTMIDISYNTH with FSOUND_Init for software override with MIDI playback. : Use FSOUND_INIT_GLOBALFOCUS with FSOUND_Init to make sound audible no matter which window is in focus. (FSOUND_OUTPUT_DSOUND only)

procedure FSOUND_Close; stdcall;
procedure FSOUND_Update; stdcall;

Runtime system level functions

procedure FSOUND_SetSpeakerMode(SpeakerMode: Cardinal); stdcall;

This is called to update 3d sound / non-realtime output

procedure FSOUND_SetSFXMasterVolume(Volume: Integer); stdcall;
procedure FSOUND_SetPanSeperation(PanSep: Single); stdcall;
procedure FSOUND_File_SetCallbacks(OpenCallback: TFSoundOpenCallback; CloseCallback: TFSoundCloseCallback; ReadCallback: TFSoundReadCallback; SeekCallback: TFSoundSeekCallback; TellCallback: TFSoundTellCallback); stdcall;
function FSOUND_GetError: TFModErrors; stdcall;

System information functions

function FSOUND_GetVersion: Single; stdcall;
function FSOUND_GetOutput: TFSoundOutputTypes; stdcall;
function FSOUND_GetOutputHandle: Pointer; stdcall;
function FSOUND_GetDriver: Integer; stdcall;
function FSOUND_GetMixer: TFSoundMixerTypes; stdcall;
function FSOUND_GetNumDrivers: Integer; stdcall;
function FSOUND_GetDriverName(Id: Integer): PAnsiChar; stdcall;
function FSOUND_GetDriverCaps(Id: Integer; var Caps: Cardinal): ByteBool; stdcall;
function FSOUND_GetOutputRate: Integer; stdcall;
function FSOUND_GetMaxChannels: Integer; stdcall;
function FSOUND_GetMaxSamples: Integer; stdcall;
function FSOUND_GetSFXMasterVolume: Integer; stdcall;

function FSOUND_GetSpeakerMode: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};

function FSOUND_GetNumHWChannels(var num2d: Integer; var num3d: Integer; var total: Integer): ByteBool; stdcall;
function FSOUND_GetChannelsPlaying: Integer; stdcall;
function FSOUND_GetCPUUsage: Single; stdcall;
procedure FSOUND_GetMemoryStats(var CurrentAlloced: Cardinal; var MaxAlloced: Cardinal); stdcall;
function FSOUND_Sample_Load(Index: Integer; const NameOrData: PAnsiChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundSample; stdcall;

Sample creation and management functions Note : Use FSOUND_LOADMEMORY flag with FSOUND_Sample_Load to load from memory. Use FSOUND_LOADRAW flag with FSOUND_Sample_Load to treat as as raw pcm data.

function FSOUND_Sample_Alloc(Index: Integer; Length: Integer; Mode: Cardinal; DefFreq: Integer; DefVol: Integer; DefPan: Integer; DefPri: Integer): PFSoundSample; stdcall;
procedure FSOUND_Sample_Free(Sptr: PFSoundSample); stdcall;
function FSOUND_Sample_Upload(Sptr: PFSoundSample; SrcData: Pointer; Mode: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_Lock(Sptr: PFSoundSample; Offset: Integer; Length: Integer; var Ptr1: Pointer; var Ptr2: Pointer; var Len1: Cardinal; var Len2: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_Unlock(Sptr: PFSoundSample; Ptr1: Pointer; Ptr2: Pointer; Len1: Cardinal; Len2: Cardinal): ByteBool; stdcall;
function FSOUND_Sample_SetMode(Sptr: PFSoundSample; Mode: Cardinal): ByteBool; stdcall;

Sample control functions

function FSOUND_Sample_SetLoopPoints(Sptr: PFSoundSample; LoopStart, LoopEnd: Integer): ByteBool; stdcall;
function FSOUND_Sample_SetDefaults(Sptr: PFSoundSample; DefFreq, DefVol, DefPan, DefPri: Integer): ByteBool; stdcall;
function FSOUND_Sample_SetDefaultsEx(Sptr: PFSoundSample; DefFreq, DefVol, DefPan, DefPri, VarFreq, VarVol, VarPan: Integer): ByteBool; stdcall;
function FSOUND_Sample_SetMinMaxDistance(Sptr: PFSoundSample; Min, Max: Single): ByteBool; stdcall;
function FSOUND_Sample_SetMaxPlaybacks(Sptr: PFSoundSample; Max: Integer): ByteBool; stdcall;
function FSOUND_Sample_Get(SampNo: Integer): PFSoundSample; stdcall;

Sample information functions

function FSOUND_Sample_GetName(Sptr: PFSoundSample): PAnsiChar; stdcall;
function FSOUND_Sample_GetLength(Sptr: PFSoundSample): Cardinal; stdcall;
function FSOUND_Sample_GetLoopPoints(Sptr: PFSoundSample; var LoopStart: Integer; var LoopEnd: Integer): ByteBool; stdcall;
function FSOUND_Sample_GetDefaults(Sptr: PFSoundSample; var DefFreq: Integer; var DefVol: Integer; var DefPan: Integer; var DefPri: Integer): ByteBool; stdcall;
function FSOUND_Sample_GetDefaultsEx(Sptr: PFSoundSample; var DefFreq: Integer; var DefVol: Integer; var DefPan: Integer; var DefPri: Integer;var VarFreq: Integer; var VarVol: Integer; var VarPan: Integer): ByteBool; stdcall;
function FSOUND_Sample_GetMode(Sptr: PFSoundSample): Cardinal; stdcall;
function FSOUND_Sample_GetMinMaxDistance(Sptr: PFSoundSample; var Min: Single; var Max: Single): ByteBool; stdcall;
function FSOUND_PlaySound(Channel: Integer; Sptr: PFSoundSample): Integer; stdcall;

Playing and stopping sounds. Note : Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you. Use FSOUND_ALL as the 'channel' variable to control ALL channels with one function call!

function FSOUND_PlaySoundEx(Channel: Integer; Sptr: PFSoundSample; Dsp: PFSoundDSPUnit; StartPaused: ByteBool): Integer; stdcall;
function FSOUND_StopSound(Channel: Integer): ByteBool; stdcall;
function FSOUND_SetFrequency(Channel: Integer; Freq: Integer): ByteBool; stdcall;

Functions to control playback of a channel. Note : FSOUND_ALL can be used on most of these functions as a channel value.

function FSOUND_SetVolume(Channel: Integer; Vol: Integer): ByteBool; stdcall;
function FSOUND_SetVolumeAbsolute(Channel: Integer; Vol: Integer): ByteBool; stdcall;
function FSOUND_SetPan(Channel: Integer; Pan: Integer): ByteBool; stdcall;
function FSOUND_SetSurround(Channel: Integer; Surround: ByteBool): ByteBool; stdcall;
function FSOUND_SetMute(Channel: Integer; Mute: ByteBool): ByteBool; stdcall;
function FSOUND_SetPriority(Channel: Integer; Priority: Integer): ByteBool; stdcall;
function FSOUND_SetReserved(Channel: Integer; Reserved: ByteBool): ByteBool; stdcall;
function FSOUND_SetPaused(Channel: Integer; Paused: ByteBool): ByteBool; stdcall;
function FSOUND_SetLoopMode(Channel: Integer; LoopMode: Cardinal): ByteBool; stdcall;
function FSOUND_SetCurrentPosition(Channel: Integer; Offset: Cardinal): ByteBool; stdcall;
function FSOUND_3D_SetAttributes(Channel: Integer; Pos: PFSoundVector; Vel: PFSoundVector): ByteBool; stdcall;
function FSOUND_3D_SetMinMaxDistance(Channel: Integer; Min: Single; Max: Single): ByteBool; stdcall;
function FSOUND_IsPlaying(Channel: Integer): ByteBool; stdcall;

Channel information functions

function FSOUND_GetFrequency(Channel: Integer): Integer; stdcall;
function FSOUND_GetVolume(Channel: Integer): Integer; stdcall;
function FSOUND_GetAmplitude(Channel: Integer): Integer; stdcall;
function FSOUND_GetPan(Channel: Integer): Integer; stdcall;
function FSOUND_GetSurround(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetMute(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetPriority(Channel: Integer): Integer; stdcall;
function FSOUND_GetReserved(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetPaused(Channel: Integer): ByteBool; stdcall;
function FSOUND_GetLoopMode(Channel: Integer): Cardinal; stdcall;
function FSOUND_GetCurrentPosition(Channel: Integer): Cardinal; stdcall;
function FSOUND_GetCurrentSample(Channel: Integer): PFSoundSample; stdcall;
function FSOUND_GetCurrentLevels(Channel: Integer; l, r: PSingle): ByteBool; stdcall;
function FSOUND_GetNumSubChannels(Channel: Integer): Integer; stdcall;
function FSOUND_GetSubChannel(Channel: Integer; SubChannel: Integer): Integer; stdcall;
function FSOUND_3D_GetAttributes(Channel: Integer; Pos: PFSoundVector; Vel: PFSoundVector): ByteBool; stdcall;
function FSOUND_3D_GetMinMaxDistance(Channel: Integer; var Min: Single; var Max: Single): ByteBool; stdcall;
procedure FSOUND_3D_Listener_SetCurrent(current: Integer); stdcall;

See also 3d sample and channel based functions above. Call FSOUND_Update once a frame to process 3d information.

procedure FSOUND_3D_Listener_SetAttributes(Pos: PFSoundVector; Vel: PFSoundVector; fx: Single; fy: Single; fz: Single; tx: Single; ty: Single; tz: Single); stdcall;
procedure FSOUND_3D_Listener_GetAttributes(Pos: PFSoundVector; Vel: PFSoundVector; fx: PSingle; fy: PSingle; fz: PSingle; tx: PSingle; ty: PSingle; tz: PSingle); stdcall;
procedure FSOUND_3D_SetDopplerFactor(Scale: Single); stdcall;
procedure FSOUND_3D_SetDistanceFactor(Scale: Single); stdcall;
procedure FSOUND_3D_SetRolloffFactor(Scale: Single); stdcall;
function FSOUND_FX_Enable(Channel: Integer; Fx: TFSoundFXModes): Integer; stdcall;

Functions to control DX8 only effects processing.

- FX enabled samples can only be played once at a time, not multiple times at once. - Sounds have to be created with FSOUND_HW2D or FSOUND_HW3D for this to work. - FSOUND_INIT_ENABLESYSTEMCHANNELFX can be used to apply hardware effect processing to the global mixed output of FMOD's software channels. - FSOUND_FX_Enable returns an FX handle that you can use to alter fx parameters. - FSOUND_FX_Enable can be called multiple times in a row, even on the same FX type, it will return a unique handle for each FX. - FSOUND_FX_Enable cannot be called if the sound is playing or locked. - FSOUND_FX_Disable must be called to reset/clear the FX from a channel.

function FSOUND_FX_Disable(Channel: Integer): ByteBool; stdcall;
function FSOUND_FX_SetChorus(FXId: Integer; WetDryMix, Depth, Feedback, Frequency: Single; Waveform: Integer; Delay: Single; Phase: Integer): ByteBool; stdcall;
function FSOUND_FX_SetCompressor(FXId: Integer; Gain, Attack, Release, Threshold, Ratio, Predelay: Single): ByteBool; stdcall;
function FSOUND_FX_SetDistortion(FXId: Integer; Gain, Edge, PostEQCenterFrequency, PostEQBandwidth, PreLowpassCutoff: Single): ByteBool; stdcall;
function FSOUND_FX_SetEcho(FXId: Integer; WetDryMix, Feedback, LeftDelay, RightDelay: Single; PanDelay: Integer): ByteBool; stdcall;
function FSOUND_FX_SetFlanger(FXId: Integer; WetDryMix, Depth, Feedback, Frequency: Single; Waveform: Integer; Delay: Single; Phase: Integer): ByteBool; stdcall;
function FSOUND_FX_SetGargle(FXId, RateHz, WaveShape: Integer): ByteBool; stdcall;
function FSOUND_FX_SetI3DL2Reverb(FXId, Room, RoomHF: Integer; RoomRolloffFactor, DecayTime, DecayHFRatio: Single; Reflections: Integer; ReflectionsDelay: Single; Reverb: Integer; ReverbDelay, Diffusion, Density, HFReference: Single): ByteBool; stdcall;
function FSOUND_FX_SetParamEQ(FXId: Integer; Center, Bandwidth, Gain: Single): ByteBool; stdcall;
function FSOUND_FX_SetWavesReverb(FXId: Integer; InGain, ReverbMix, ReverbTime, HighFreqRTRatio: Single): ByteBool; stdcall;
function FSOUND_Stream_SetBufferSize(Ms: Integer): ByteBool; stdcall;

Note : Use FSOUND_LOADMEMORY flag with FSOUND_Stream_Open to stream from memory. Use FSOUND_LOADRAW flag with FSOUND_Stream_Open to treat stream as raw pcm data. Use FSOUND_MPEGACCURATE flag with FSOUND_Stream_Open to open mpegs in 'accurate mode' for settime/gettime/getlengthms. Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you.

function FSOUND_Stream_Open(const name_or_data: PAnsiChar; Mode: Cardinal; Offset: Integer; Length: Integer): PFSoundStream; stdcall;
function FSOUND_Stream_Create(Callback: TFSoundStreamCallback; Length: Integer; Mode: Cardinal; SampleRate: Integer; UserData: Integer): PFSoundStream; stdcall;
function FSOUND_Stream_Close(Stream: PFSoundStream): ByteBool; stdcall;
function FSOUND_Stream_Play(Channel: Integer; Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_PlayEx(Channel: Integer; Stream: PFSoundStream; Dsp: PFSoundDSPUnit; StartPaused: ByteBool): Integer; stdcall;
function FSOUND_Stream_Stop(Stream: PFSoundStream): ByteBool; stdcall;
function FSOUND_Stream_SetPosition(Stream: PFSoundStream; Position: Cardinal): ByteBool; stdcall;
function FSOUND_Stream_GetPosition(Stream: PFSoundStream): Cardinal; stdcall;
function FSOUND_Stream_SetTime(Stream: PFSoundStream; Ms: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetTime(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetLength(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetLengthMs(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_SetMode(Stream: PFSoundStream; mode: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetMode(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_SetLoopPoints(Stream: PFSoundStream; LoopStartPCM, LoopEndPCM: Integer): ByteBool; stdcall;
function FSOUND_Stream_SetLoopCount(Stream: PFSoundStream; Count: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetOpenState(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetSample(Stream: PFSoundStream): PFSoundSample; stdcall;
function FSOUND_Stream_CreateDSP(Stream: PFSoundStream; Callback: TFSoundDSPCallback; Priority: Integer; Param: Integer): PFSoundDSPUnit; stdcall;
function FSOUND_Stream_SetEndCallback(Stream: PFSoundStream; Callback: TFSoundStreamCallback; UserData: Integer): ByteBool; stdcall;
function FSOUND_Stream_SetSyncCallback(Stream: PFSoundStream; Callback: TFSoundStreamCallback; UserData: Integer): ByteBool; stdcall;
function FSOUND_Stream_AddSyncPoint(Stream: PFSoundStream; PCMOffset: Cardinal; Name: PAnsiChar): PFSyncPoint; stdcall;
function FSOUND_Stream_DeleteSyncPoint(Point: PFSyncPoint): ByteBool; stdcall;
function FSOUND_Stream_GetNumSyncPoints(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_GetSyncPoint(Stream: PFSoundStream; Index: Integer): PFSyncPoint; stdcall;
function FSOUND_Stream_GetSyncPointInfo(Point: PFSyncPoint; var PCMOffset: Cardinal): PAnsiChar; stdcall;
function FSOUND_Stream_SetSubStream(Stream: PFSoundStream; Index: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetNumSubStreams(Stream: PFSoundStream): Integer; stdcall;
function FSOUND_Stream_SetSubStreamSentence(Stream: PFSoundStream; var SentenceList: Cardinal; NumItems: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetNumTagFields(Stream: PFSoundStream; var Num: Integer): ByteBool; stdcall;
function FSOUND_Stream_GetTagField(Stream: PFSoundStream; Num: Integer; var TagType: TFSoundTagFieldType; var Name: PAnsiChar; var Value: Pointer; var Length: Integer): ByteBool; stdcall;
function FSOUND_Stream_FindTagField(Stream: PFSoundStream; TagType: TFSoundTagFieldType; Name: PAnsiChar; var Value: Pointer; var Length: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_SetProxy(Proxy: PAnsiChar): ByteBool; stdcall;

Internet streaming functions

function FSOUND_Stream_Net_GetLastServerStatus(): PAnsiChar; stdcall;
function FSOUND_Stream_Net_SetBufferProperties(BufferSize: Integer; PreBuffer_Percent: Integer; ReBuffer_Percent: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_GetBufferProperties(var Buffersize: Integer; var PreBuffer_Percent: Integer; var ReBuffer_Percent: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_SetMetadataCallback(Stream: PFSoundStream; Callback: TFMetaDataCallback; UserData: Integer): ByteBool; stdcall;
function FSOUND_Stream_Net_GetStatus(Stream: PFSoundStream; var Status: TFSoundStreamNetStatus; var BufferPercentUsed: Integer; var BitRate: Integer; var Flags: Cardinal): ByteBool; stdcall;
function FSOUND_CD_Play(Drive: Byte; Track: Integer): ByteBool; stdcall;

Note : 0 = default cdrom. Otherwise specify the drive letter, for example. 'D'.

procedure FSOUND_CD_SetPlayMode(Drive: Byte; Mode: Integer); stdcall;
function FSOUND_CD_Stop(Drive: Byte): ByteBool; stdcall;
function FSOUND_CD_SetPaused(Drive: Byte; Paused: ByteBool): ByteBool; stdcall;
function FSOUND_CD_SetVolume(Drive: Byte; Volume: Integer): ByteBool; stdcall;
function FSOUND_CD_SetTrackTime(Drive: Byte; ms: Integer): ByteBool; stdcall;
function FSOUND_CD_OpenTray(Drive: Byte; Open: Byte): ByteBool; stdcall;
function FSOUND_CD_GetPaused(Drive: Byte): ByteBool; stdcall;
function FSOUND_CD_GetTrack(Drive: Byte): Integer; stdcall;
function FSOUND_CD_GetNumTracks(Drive: Byte): Integer; stdcall;
function FSOUND_CD_GetVolume(Drive: Byte): Integer; stdcall;
function FSOUND_CD_GetTrackLength(Drive: Byte; Track: Integer): Integer; stdcall;
function FSOUND_CD_GetTrackTime(Drive: Byte): Integer; stdcall;
function FSOUND_DSP_Create(Callback: TFSoundDSPCallback; Priority: Integer; Param: Integer): PFSoundDSPUnit; stdcall;

DSP Unit control and information functions.

procedure FSOUND_DSP_Free(DSPUnit: PFSoundDSPUnit); stdcall;
procedure FSOUND_DSP_SetPriority(DSPUnit: PFSoundDSPUnit; Priority: Integer); stdcall;
function FSOUND_DSP_GetPriority(DSPUnit: PFSoundDSPUnit): Integer; stdcall;
procedure FSOUND_DSP_SetActive(DSPUnit: PFSoundDSPUnit; Active: ByteBool); stdcall;
function FSOUND_DSP_GetActive(DSPUnit: PFSoundDSPUnit): ByteBool; stdcall;
function FSOUND_DSP_GetClearUnit: PFSoundDSPUnit; stdcall;

Functions to get hold of FSOUND 'system DSP unit' handles.

function FSOUND_DSP_GetSFXUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetMusicUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetFFTUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_GetClipAndCopyUnit: PFSoundDSPUnit; stdcall;
function FSOUND_DSP_MixBuffers(DestBuffer: Pointer; SrcBuffer: Pointer; Len: Integer; Freq: Integer; Vol: Integer; Pan: Integer; Mode: Cardinal): ByteBool; stdcall;

Miscellaneous DSP functions Note for the spectrum analysis function to work, you have to enable the FFT DSP unit with the following code FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit(), TRUE); It is off by default to save cpu usage.

procedure FSOUND_DSP_ClearMixBuffer; stdcall;
function FSOUND_DSP_GetBufferLength: Integer; stdcall;
function FSOUND_DSP_GetBufferLengthTotal: Integer; stdcall;

Length of each DSP update

function FSOUND_DSP_GetSpectrum: PSingle; stdcall;

Total buffer length due to FSOUND_SetBufferSize

function FSOUND_Reverb_SetProperties(var Prop: TFSoundReverbProperties): ByteBool; stdcall;

See structures above for definitions and information on the reverb parameters.

function FSOUND_Reverb_GetProperties(var Prop: TFSoundReverbProperties): ByteBool; stdcall;
function FSOUND_Reverb_SetChannelProperties(Channel: Integer; var Prop: TFSoundReverbChannelProperties): ByteBool; stdcall;
function FSOUND_Reverb_GetChannelProperties(Channel: Integer; var Prop: TFSoundReverbChannelProperties): ByteBool; stdcall;
function FSOUND_Record_SetDriver(OutputType: Integer): ByteBool; stdcall;

Recording initialization functions

function FSOUND_Record_GetNumDrivers: Integer; stdcall;
function FSOUND_Record_GetDriverName(Id: Integer): PAnsiChar; stdcall;
function FSOUND_Record_GetDriver: Integer; stdcall;
function FSOUND_Record_StartSample(Sptr: PFSoundSample; Loop: ByteBool): ByteBool; stdcall;

Recording functionality. Only one recording session will work at a time.

function FSOUND_Record_Stop: ByteBool; stdcall;
function FSOUND_Record_GetPosition: Integer; stdcall;
function FMUSIC_LoadSong(const Name: PAnsiChar): PFMusicModule; stdcall;

Song management / playback functions.

function FMUSIC_LoadSongEx(Name_Or_Data: Pointer; Offset: Integer; Length: Integer; Mode: Cardinal; var SampleList: Integer; SampleListNum: Integer): PFMusicModule; stdcall;
function FMUSIC_GetOpenState(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_FreeSong(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_PlaySong(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_StopSong(Module: PFMusicModule): ByteBool; stdcall;
procedure FMUSIC_StopAllSongs; stdcall;
function FMUSIC_SetZxxCallback(Module: PFMusicModule; Callback: TFMusicCallback): ByteBool; stdcall;
function FMUSIC_SetRowCallback(Module: PFMusicModule; Callback: TFMusicCallback; RowStep: Integer): ByteBool; stdcall;
function FMUSIC_SetOrderCallback(Module: PFMusicModule; Callback: TFMusicCallback; OrderStep: Integer): ByteBool; stdcall;
function FMUSIC_SetInstCallback(Module: PFMusicModule; Callback: TFMusicCallback; Instrument: Integer): ByteBool; stdcall;
function FMUSIC_SetSample(Module: PFMusicModule; SampNo: Integer; Sptr: PFSoundSample): ByteBool; stdcall;
function FMUSIC_SetUserData(Module: PFMusicModule; userdata: Integer): ByteBool; stdcall;
function FMUSIC_OptimizeChannels(Module: PFMusicModule; MaxChannels: Integer; MinVolume: Integer): ByteBool; stdcall;
function FMUSIC_SetReverb(Reverb: ByteBool): ByteBool; stdcall;

Runtime song functions.

function FMUSIC_SetLooping(Module: PFMusicModule; Looping: ByteBool): ByteBool; stdcall;
function FMUSIC_SetOrder(Module: PFMusicModule; Order: Integer): ByteBool; stdcall;
function FMUSIC_SetPaused(Module: PFMusicModule; Pause: ByteBool): ByteBool; stdcall;
function FMUSIC_SetMasterVolume(Module: PFMusicModule; Volume: Integer): ByteBool; stdcall;
function FMUSIC_SetMasterSpeed(Module: PFMusicModule; speed: Single): ByteBool; stdcall;
function FMUSIC_SetPanSeperation(Module: PFMusicModule; PanSep: Single): ByteBool; stdcall;
function FMUSIC_GetName(Module: PFMusicModule): PAnsiChar; stdcall;

Static song information functions.

function FMUSIC_GetType(Module: PFMusicModule): TFMusicTypes; stdcall;
function FMUSIC_GetNumOrders(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumPatterns(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumInstruments(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumSamples(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetNumChannels(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetSample(Module: PFMusicModule; SampNo: Integer): PFSoundSample; stdcall;
function FMUSIC_GetPatternLength(Module: PFMusicModule; OrderNo: Integer): Integer; stdcall;
function FMUSIC_IsFinished(Module: PFMusicModule): ByteBool; stdcall;

Runtime song information.

function FMUSIC_IsPlaying(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_GetMasterVolume(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetGlobalVolume(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetOrder(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetPattern(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetSpeed(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetBPM(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetRow(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetPaused(Module: PFMusicModule): ByteBool; stdcall;
function FMUSIC_GetTime(Module: PFMusicModule): Integer; stdcall;
function FMUSIC_GetRealChannel(Module: PFMusicModule; modchannel: Integer): Integer; stdcall;
function FMUSIC_GetUserData(Module: PFMusicModule): Integer; stdcall;

Constants

FMOD_DLL = 'fmod32.dll';


GLSysHelp v.2.1: Sounds.FMODpresets

Unit Sounds.FMODpresets

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Sounds.FMODtypes

Overview

Constants

FSOUND_PRESET_OFF: TFSoundReverbProperties = (Environment: 0; EnvSize: 7.5; EnvDiffusion: 1.00; Room: -10000; RoomHF: -10000; RoomLF: 0; DecayTime: 1.00; DecayHFRatio: 1.00; DecayLFRatio: 1.0; Reflections: -2602; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 200; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 0.0; Density: 0.0; Flags: $33f);
FSOUND_PRESET_GENERIC: TFSoundReverbProperties = (Environment: 0; EnvSize: 7.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -100; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.83; DecayLFRatio: 1.0; Reflections: -2602; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 200; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_PADDEDCELL: TFSoundReverbProperties = (Environment: 1; EnvSize: 1.4; EnvDiffusion: 1.00; Room: -1000; RoomHF: -6000; RoomLF: 0; DecayTime: 0.17; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -1204; ReflectionsDelay: 0.001; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 207; ReverbDelay: 0.002; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_ROOM: TFSoundReverbProperties = (Environment: 2; EnvSize: 1.9; EnvDiffusion: 1.00; Room: -1000; RoomHF: -454; RoomLF: 0; DecayTime: 0.40; DecayHFRatio: 0.83; DecayLFRatio: 1.0; Reflections: -1646; ReflectionsDelay: 0.002; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 53; ReverbDelay: 0.003; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_BATHROOM: TFSoundReverbProperties = (Environment: 3; EnvSize: 1.4; EnvDiffusion: 1.00; Room: -1000; RoomHF: -1200; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.54; DecayLFRatio: 1.0; Reflections: -370; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 1030; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 60.0; Flags: $3f);
FSOUND_PRESET_LIVINGROOM: TFSoundReverbProperties = (Environment: 4; EnvSize: 2.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -6000; RoomLF: 0; DecayTime: 0.50; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -1376; ReflectionsDelay: 0.003; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1104; ReverbDelay: 0.004; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_STONEROOM: TFSoundReverbProperties = (Environment: 5; EnvSize: 11.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: -300; RoomLF: 0; DecayTime: 2.31; DecayHFRatio: 0.64; DecayLFRatio: 1.0; Reflections: -711; ReflectionsDelay: 0.012; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 83; ReverbDelay: 0.017; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_AUDITORIUM: TFSoundReverbProperties = (Environment: 6; EnvSize: 21.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: -476; RoomLF: 0; DecayTime: 4.32; DecayHFRatio: 0.59; DecayLFRatio: 1.0; Reflections: -789; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-289; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CONCERTHALL: TFSoundReverbProperties = (Environment: 7; EnvSize: 19.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: -500; RoomLF: 0; DecayTime: 3.92; DecayHFRatio: 0.70; DecayLFRatio: 1.0; Reflections: -1230; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-2; ReverbDelay: 0.029; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CAVE: TFSoundReverbProperties = (Environment: 8; EnvSize: 14.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: 0; RoomLF: 0; DecayTime: 2.91; DecayHFRatio: 1.30; DecayLFRatio: 1.0; Reflections: -602; ReflectionsDelay: 0.015; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-302; ReverbDelay: 0.022; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_ARENA: TFSoundReverbProperties = (Environment: 9; EnvSize: 36.2; EnvDiffusion: 1.00; Room: -1000; RoomHF: -698; RoomLF: 0; DecayTime: 7.24; DecayHFRatio: 0.33; DecayLFRatio: 1.0; Reflections: -1166; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 16; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_HANGAR: TFSoundReverbProperties = (Environment: 10; EnvSize: 50.3; EnvDiffusion: 1.00; Room: -1000; RoomHF: -1000; RoomLF: 0; DecayTime: 10.05; DecayHFRatio: 0.23; DecayLFRatio: 1.0; Reflections: -602; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 198; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CARPETTEDHALLWAY: TFSoundReverbProperties = (Environment: 11; EnvSize: 1.9; EnvDiffusion: 1.00; Room: -1000; RoomHF: -4000; RoomLF: 0; DecayTime: 0.30; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -1831; ReflectionsDelay: 0.002; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1630; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_HALLWAY: TFSoundReverbProperties = (Environment: 12; EnvSize: 1.8; EnvDiffusion: 1.00; Room: -1000; RoomHF: -300; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.59; DecayLFRatio: 1.0; Reflections: -1219; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 441; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_STONECORRIDOR: TFSoundReverbProperties = (Environment: 13; EnvSize: 13.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -237; RoomLF: 0; DecayTime: 2.70; DecayHFRatio: 0.79; DecayLFRatio: 1.0; Reflections: -1214; ReflectionsDelay: 0.013; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 395; ReverbDelay: 0.020; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_ALLEY: TFSoundReverbProperties = (Environment: 14; EnvSize: 7.5; EnvDiffusion: 0.30; Room: -1000; RoomHF: -270; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.86; DecayLFRatio: 1.0; Reflections: -1204; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-4; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.125; EchoDepth: 0.95; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_FOREST: TFSoundReverbProperties = (Environment: 15; EnvSize: 38.0; EnvDiffusion: 0.30; Room: -1000; RoomHF: -3300; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.54; DecayLFRatio: 1.0; Reflections: -2560; ReflectionsDelay: 0.162; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-229; ReverbDelay: 0.088; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.125; EchoDepth: 1.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 79.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CITY: TFSoundReverbProperties = (Environment: 16; EnvSize: 7.5; EnvDiffusion: 0.50; Room: -1000; RoomHF: -800; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.67; DecayLFRatio: 1.0; Reflections: -2273; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1691; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 50.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_MOUNTAINS: TFSoundReverbProperties = (Environment: 17; EnvSize: 100.0; EnvDiffusion: 0.27; Room: -1000; RoomHF: -2500; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.21; DecayLFRatio: 1.0; Reflections: -2780; ReflectionsDelay: 0.300; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1434; ReverbDelay: 0.100; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 1.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 27.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_QUARRY: TFSoundReverbProperties = (Environment: 18; EnvSize: 17.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -1000; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.83; DecayLFRatio: 1.0; Reflections: -10000;ReflectionsDelay: 0.061; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 500; ReverbDelay: 0.025; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.125; EchoDepth: 0.70; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_PLAIN: TFSoundReverbProperties = (Environment: 19; EnvSize: 42.5; EnvDiffusion: 0.21; Room: -1000; RoomHF: -2000; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.50; DecayLFRatio: 1.0; Reflections: -2466; ReflectionsDelay: 0.179; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1926; ReverbDelay: 0.100; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 1.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 21.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_PARKINGLOT: TFSoundReverbProperties = (Environment: 20; EnvSize: 8.3; EnvDiffusion: 1.00; Room: -1000; RoomHF: 0; RoomLF: 0; DecayTime: 1.65; DecayHFRatio: 1.50; DecayLFRatio: 1.0; Reflections: -1363; ReflectionsDelay: 0.008; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1153; ReverbDelay: 0.012; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_SEWERPIPE: TFSoundReverbProperties = (Environment: 21; EnvSize: 1.7; EnvDiffusion: 0.80; Room: -1000; RoomHF: -1000; RoomLF: 0; DecayTime: 2.81; DecayHFRatio: 0.14; DecayLFRatio: 1.0; Reflections: 429; ReflectionsDelay: 0.014; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 1023; ReverbDelay: 0.021; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 80.0; Density: 60.0; Flags: $3f);
FSOUND_PRESET_UNDERWATER: TFSoundReverbProperties = (Environment: 22; EnvSize: 1.8; EnvDiffusion: 1.00; Room: -1000; RoomHF: -4000; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -449; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 1700; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 1.18; ModulationDepth: 0.348; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_DRUGGED: TFSoundReverbProperties = (Environment: 23; EnvSize: 1.9; EnvDiffusion: 0.50; Room: -1000; RoomHF: 0; RoomLF: 0; DecayTime: 8.39; DecayHFRatio: 1.39; DecayLFRatio: 1.0; Reflections: -115; ReflectionsDelay: 0.002; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 985; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 1.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_DIZZY: TFSoundReverbProperties = (Environment: 24; EnvSize: 1.8; EnvDiffusion: 0.60; Room: -1000; RoomHF: -400; RoomLF: 0; DecayTime: 17.23; DecayHFRatio: 0.56; DecayLFRatio: 1.0; Reflections: -1713; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-613; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 1.00; ModulationTime: 0.81; ModulationDepth: 0.310; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_PSYCHOTIC: TFSoundReverbProperties = (Environment: 25; EnvSize: 1.0; EnvDiffusion: 0.50; Room: -1000; RoomHF: -151; RoomLF: 0; DecayTime: 7.56; DecayHFRatio: 0.91; DecayLFRatio: 1.0; Reflections: -626; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 774; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 4.00; ModulationDepth: 1.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);

Description

Constants

FSOUND_PRESET_OFF: TFSoundReverbProperties = (Environment: 0; EnvSize: 7.5; EnvDiffusion: 1.00; Room: -10000; RoomHF: -10000; RoomLF: 0; DecayTime: 1.00; DecayHFRatio: 1.00; DecayLFRatio: 1.0; Reflections: -2602; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 200; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 0.0; Density: 0.0; Flags: $33f);

[DEFINE_START] [ [NAME] FSOUND_REVERB_PRESETS

[DESCRIPTION] A set of predefined environment PARAMETERS, created by Creative Labs These are used to initialize an FSOUND_REVERB_PROPERTIES structure statically. ie FSOUND_REVERB_PROPERTIES prop = FSOUND_PRESET_GENERIC;

[SEE_ALSO] FSOUND_Reverb_SetProperties ]

FSOUND_PRESET_GENERIC: TFSoundReverbProperties = (Environment: 0; EnvSize: 7.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -100; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.83; DecayLFRatio: 1.0; Reflections: -2602; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 200; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_PADDEDCELL: TFSoundReverbProperties = (Environment: 1; EnvSize: 1.4; EnvDiffusion: 1.00; Room: -1000; RoomHF: -6000; RoomLF: 0; DecayTime: 0.17; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -1204; ReflectionsDelay: 0.001; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 207; ReverbDelay: 0.002; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_ROOM: TFSoundReverbProperties = (Environment: 2; EnvSize: 1.9; EnvDiffusion: 1.00; Room: -1000; RoomHF: -454; RoomLF: 0; DecayTime: 0.40; DecayHFRatio: 0.83; DecayLFRatio: 1.0; Reflections: -1646; ReflectionsDelay: 0.002; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 53; ReverbDelay: 0.003; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_BATHROOM: TFSoundReverbProperties = (Environment: 3; EnvSize: 1.4; EnvDiffusion: 1.00; Room: -1000; RoomHF: -1200; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.54; DecayLFRatio: 1.0; Reflections: -370; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 1030; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 60.0; Flags: $3f);
FSOUND_PRESET_LIVINGROOM: TFSoundReverbProperties = (Environment: 4; EnvSize: 2.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -6000; RoomLF: 0; DecayTime: 0.50; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -1376; ReflectionsDelay: 0.003; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1104; ReverbDelay: 0.004; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_STONEROOM: TFSoundReverbProperties = (Environment: 5; EnvSize: 11.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: -300; RoomLF: 0; DecayTime: 2.31; DecayHFRatio: 0.64; DecayLFRatio: 1.0; Reflections: -711; ReflectionsDelay: 0.012; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 83; ReverbDelay: 0.017; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_AUDITORIUM: TFSoundReverbProperties = (Environment: 6; EnvSize: 21.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: -476; RoomLF: 0; DecayTime: 4.32; DecayHFRatio: 0.59; DecayLFRatio: 1.0; Reflections: -789; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-289; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CONCERTHALL: TFSoundReverbProperties = (Environment: 7; EnvSize: 19.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: -500; RoomLF: 0; DecayTime: 3.92; DecayHFRatio: 0.70; DecayLFRatio: 1.0; Reflections: -1230; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-2; ReverbDelay: 0.029; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CAVE: TFSoundReverbProperties = (Environment: 8; EnvSize: 14.6; EnvDiffusion: 1.00; Room: -1000; RoomHF: 0; RoomLF: 0; DecayTime: 2.91; DecayHFRatio: 1.30; DecayLFRatio: 1.0; Reflections: -602; ReflectionsDelay: 0.015; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-302; ReverbDelay: 0.022; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_ARENA: TFSoundReverbProperties = (Environment: 9; EnvSize: 36.2; EnvDiffusion: 1.00; Room: -1000; RoomHF: -698; RoomLF: 0; DecayTime: 7.24; DecayHFRatio: 0.33; DecayLFRatio: 1.0; Reflections: -1166; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 16; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_HANGAR: TFSoundReverbProperties = (Environment: 10; EnvSize: 50.3; EnvDiffusion: 1.00; Room: -1000; RoomHF: -1000; RoomLF: 0; DecayTime: 10.05; DecayHFRatio: 0.23; DecayLFRatio: 1.0; Reflections: -602; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 198; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CARPETTEDHALLWAY: TFSoundReverbProperties = (Environment: 11; EnvSize: 1.9; EnvDiffusion: 1.00; Room: -1000; RoomHF: -4000; RoomLF: 0; DecayTime: 0.30; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -1831; ReflectionsDelay: 0.002; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1630; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_HALLWAY: TFSoundReverbProperties = (Environment: 12; EnvSize: 1.8; EnvDiffusion: 1.00; Room: -1000; RoomHF: -300; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.59; DecayLFRatio: 1.0; Reflections: -1219; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 441; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_STONECORRIDOR: TFSoundReverbProperties = (Environment: 13; EnvSize: 13.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -237; RoomLF: 0; DecayTime: 2.70; DecayHFRatio: 0.79; DecayLFRatio: 1.0; Reflections: -1214; ReflectionsDelay: 0.013; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 395; ReverbDelay: 0.020; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_ALLEY: TFSoundReverbProperties = (Environment: 14; EnvSize: 7.5; EnvDiffusion: 0.30; Room: -1000; RoomHF: -270; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.86; DecayLFRatio: 1.0; Reflections: -1204; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-4; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.125; EchoDepth: 0.95; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_FOREST: TFSoundReverbProperties = (Environment: 15; EnvSize: 38.0; EnvDiffusion: 0.30; Room: -1000; RoomHF: -3300; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.54; DecayLFRatio: 1.0; Reflections: -2560; ReflectionsDelay: 0.162; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-229; ReverbDelay: 0.088; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.125; EchoDepth: 1.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 79.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_CITY: TFSoundReverbProperties = (Environment: 16; EnvSize: 7.5; EnvDiffusion: 0.50; Room: -1000; RoomHF: -800; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.67; DecayLFRatio: 1.0; Reflections: -2273; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1691; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 50.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_MOUNTAINS: TFSoundReverbProperties = (Environment: 17; EnvSize: 100.0; EnvDiffusion: 0.27; Room: -1000; RoomHF: -2500; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.21; DecayLFRatio: 1.0; Reflections: -2780; ReflectionsDelay: 0.300; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1434; ReverbDelay: 0.100; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 1.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 27.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_QUARRY: TFSoundReverbProperties = (Environment: 18; EnvSize: 17.5; EnvDiffusion: 1.00; Room: -1000; RoomHF: -1000; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.83; DecayLFRatio: 1.0; Reflections: -10000;ReflectionsDelay: 0.061; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 500; ReverbDelay: 0.025; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.125; EchoDepth: 0.70; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_PLAIN: TFSoundReverbProperties = (Environment: 19; EnvSize: 42.5; EnvDiffusion: 0.21; Room: -1000; RoomHF: -2000; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.50; DecayLFRatio: 1.0; Reflections: -2466; ReflectionsDelay: 0.179; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1926; ReverbDelay: 0.100; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 1.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 21.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_PARKINGLOT: TFSoundReverbProperties = (Environment: 20; EnvSize: 8.3; EnvDiffusion: 1.00; Room: -1000; RoomHF: 0; RoomLF: 0; DecayTime: 1.65; DecayHFRatio: 1.50; DecayLFRatio: 1.0; Reflections: -1363; ReflectionsDelay: 0.008; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-1153; ReverbDelay: 0.012; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_SEWERPIPE: TFSoundReverbProperties = (Environment: 21; EnvSize: 1.7; EnvDiffusion: 0.80; Room: -1000; RoomHF: -1000; RoomLF: 0; DecayTime: 2.81; DecayHFRatio: 0.14; DecayLFRatio: 1.0; Reflections: 429; ReflectionsDelay: 0.014; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 1023; ReverbDelay: 0.021; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 0.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 80.0; Density: 60.0; Flags: $3f);
FSOUND_PRESET_UNDERWATER: TFSoundReverbProperties = (Environment: 22; EnvSize: 1.8; EnvDiffusion: 1.00; Room: -1000; RoomHF: -4000; RoomLF: 0; DecayTime: 1.49; DecayHFRatio: 0.10; DecayLFRatio: 1.0; Reflections: -449; ReflectionsDelay: 0.007; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 1700; ReverbDelay: 0.011; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 1.18; ModulationDepth: 0.348; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $3f);
FSOUND_PRESET_DRUGGED: TFSoundReverbProperties = (Environment: 23; EnvSize: 1.9; EnvDiffusion: 0.50; Room: -1000; RoomHF: 0; RoomLF: 0; DecayTime: 8.39; DecayHFRatio: 1.39; DecayLFRatio: 1.0; Reflections: -115; ReflectionsDelay: 0.002; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 985; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 0.25; ModulationDepth: 1.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);

Non I3DL2 presets

FSOUND_PRESET_DIZZY: TFSoundReverbProperties = (Environment: 24; EnvSize: 1.8; EnvDiffusion: 0.60; Room: -1000; RoomHF: -400; RoomLF: 0; DecayTime: 17.23; DecayHFRatio: 0.56; DecayLFRatio: 1.0; Reflections: -1713; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb:-613; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 1.00; ModulationTime: 0.81; ModulationDepth: 0.310; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);
FSOUND_PRESET_PSYCHOTIC: TFSoundReverbProperties = (Environment: 25; EnvSize: 1.0; EnvDiffusion: 0.50; Room: -1000; RoomHF: -151; RoomLF: 0; DecayTime: 7.56; DecayHFRatio: 0.91; DecayLFRatio: 1.0; Reflections: -626; ReflectionsDelay: 0.020; ReflectionsPan: (0.0, 0.0, 0.0); Reverb: 774; ReverbDelay: 0.030; ReverbPan: (0.0, 0.0, 0.0); EchoTime: 0.250; EchoDepth: 0.00; ModulationTime: 4.00; ModulationDepth: 1.000; AirAbsorptionHF: -5.0; HFReference: 5000.0; LFReference: 250.0; RoomRolloffFactor: 0.0; Diffusion: 100.0; Density: 100.0; Flags: $1f);


GLSysHelp v.2.1: Sounds.FMODtypes

Unit Sounds.FMODtypes

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Record TFSoundVector |
Record TFSoundReverbProperties |
Record TFSoundReverbChannelProperties |
Record TFSoundTOCTag |

Types

FSOUND_SPEAKERMODES = TFSoundSpeakerModes;
PFMusicModule = Pointer;
PFSoundDSPUnit = Pointer;
PFSoundSample = Pointer;
PFSoundStream = Pointer;
PFSoundVector = ˆTFSoundVector;
PFSyncPoint = Pointer;
TFMetaDataCallback = function(Name: PChar; Value: PChar; userdata: Integer): ByteBool; stdcall;
TFModErrors = (...);
TFMusicCallback = procedure (Module: PFMusicModule; Param: Byte); stdcall;
TFMusicTypes = (...);
TFSoundAllocCallback = function(Size: Cardinal): Pointer; stdcall;
TFSoundCloseCallback = procedure (Handle: Cardinal); stdcall;
TFSoundDSPCallback = function (OriginalBuffer: Pointer; NewBuffer: Pointer; Length, Param: Integer): Pointer; stdcall;
TFSoundFreeCallback = procedure(Ptr: Pointer); stdcall;
TFSoundFXModes = (...);
TFSoundMixerTypes = (...);
TFSoundOpenCallback = function (Name: PChar): Cardinal; stdcall;
TFSoundOutputTypes = (...);
TFSoundReadCallback = function (Buffer: Pointer; Size: Cardinal; Handle: Cardinal): Cardinal; stdcall;
TFSoundReallocCallback = function(Ptr: Pointer; Size: Cardinal): Pointer; stdcall;
TFSoundSeekCallback = procedure (Handle: Cardinal; Pos: Cardinal; Mode: Byte); stdcall;
TFSoundSpeakerModes = (...);
TFSoundStreamCallback = function (Stream: PFSoundStream; Buff: Pointer; Length, Param: Integer): ByteBool; stdcall;
TFSoundStreamNetStatus = (...);
TFSoundTagFieldType = (...);
TFSoundTellCallback = function (Handle: Cardinal): Cardinal; stdcall;

Constants

FMOD_VERSION: Single = 3.75;
FSOUND_DSP_DEFAULTPRIORITY_CLEARUNIT = 0;
FSOUND_DSP_DEFAULTPRIORITY_SFXUNIT = 100;
FSOUND_DSP_DEFAULTPRIORITY_MUSICUNIT = 200;
FSOUND_DSP_DEFAULTPRIORITY_USER = 300;
FSOUND_DSP_DEFAULTPRIORITY_FFTUNIT = 900;
FSOUND_DSP_DEFAULTPRIORITY_CLIPANDCOPYUNIT = 1000;
FSOUND_CAPS_HARDWARE = $1;
FSOUND_CAPS_EAX2 = $2;
FSOUND_CAPS_EAX3 = $10;
FSOUND_LOOP_OFF = $00000001;
FSOUND_LOOP_NORMAL = $00000002;
FSOUND_LOOP_BIDI = $00000004;
FSOUND_8BITS = $00000008;
FSOUND_16BITS = $00000010;
FSOUND_MONO = $00000020;
FSOUND_STEREO = $00000040;
FSOUND_UNSIGNED = $00000080;
FSOUND_SIGNED = $00000100;
FSOUND_DELTA = $00000200;
FSOUND_IT214 = $00000400;
FSOUND_IT215 = $00000800;
FSOUND_HW3D = $00001000;
FSOUND_2D = $00002000;
FSOUND_STREAMABLE = $00004000;
FSOUND_LOADMEMORY = $00008000;
FSOUND_LOADRAW = $00010000;
FSOUND_MPEGACCURATE = $00020000;
FSOUND_FORCEMONO = $00040000;
FSOUND_HW2D = $00080000;
FSOUND_ENABLEFX = $00100000;
FSOUND_MPEGHALFRATE = $00200000;
FSOUND_XADPCM = $00400000;
FSOUND_VAG = $00800000;
FSOUND_NONBLOCKING = $01000000;
FSOUND_GCADPCM = $02000000;
FSOUND_MULTICHANNEL = $04000000;
FSOUND_USECORE0 = $08000000;
FSOUND_USECORE1 = $10000000;
FSOUND_LOADMEMORYIOP = $20000000;
FSOUND_NORMAL = (FSOUND_16BITS or FSOUND_SIGNED or FSOUND_MONO);
FSOUND_CD_PLAYCONTINUOUS = 0;
FSOUND_CD_PLAYONCE = 1;
FSOUND_CD_PLAYLOOPED = 2;
FSOUND_CD_PLAYRANDOM = 3;
FSOUND_FREE = -1;
FSOUND_UNMANAGED = -2;
FSOUND_ALL = -3;
FSOUND_STEREOPAN = -1;
FSOUND_SYSTEMCHANNEL = -1000;
FSOUND_SYSTEMSAMPLE = -1000;
FSOUND_REVERBFLAGS_DECAYTIMESCALE = $00000001;
FSOUND_REVERBFLAGS_REFLECTIONSSCALE = $00000002;
FSOUND_REVERBFLAGS_REFLECTIONSDELAYSCALE = $00000004;
FSOUND_REVERBFLAGS_REVERBSCALE = $00000008;
FSOUND_REVERBFLAGS_REVERBDELAYSCALE = $00000010;
FSOUND_REVERBFLAGS_DECAYHFLIMIT = $00000020;
FSOUND_REVERBFLAGS_ECHOTIMESCALE = $00000040;
FSOUND_REVERBFLAGS_MODULATIONTIMESCALE = $00000080;
FSOUND_REVERB_FLAGS_CORE0 = $00000100;
FSOUND_REVERB_FLAGS_CORE1 = $00000200;
FSOUND_REVERBFLAGS_DEFAULT = FSOUND_REVERBFLAGS_DECAYTIMESCALE or FSOUND_REVERBFLAGS_REFLECTIONSSCALE or FSOUND_REVERBFLAGS_REFLECTIONSDELAYSCALE or FSOUND_REVERBFLAGS_REVERBSCALE or FSOUND_REVERBFLAGS_REVERBDELAYSCALE or FSOUND_REVERBFLAGS_DECAYHFLIMIT or FSOUND_REVERB_FLAGS_CORE0 or FSOUND_REVERB_FLAGS_CORE1;
FSOUND_REVERB_CHANNELFLAGS_DIRECTHFAUTO = $01;
FSOUND_REVERB_CHANNELFLAGS_ROOMAUTO = $02;
FSOUND_REVERB_CHANNELFLAGS_ROOMHFAUTO = $04;
FSOUND_REVERB_CHANNELFLAGS_DEFAULT = FSOUND_REVERB_CHANNELFLAGS_DIRECTHFAUTO or FSOUND_REVERB_CHANNELFLAGS_ROOMAUTO or FSOUND_REVERB_CHANNELFLAGS_ROOMHFAUTO;
FSOUND_INIT_USEDEFAULTMIDISYNTH = $01;
FSOUND_INIT_GLOBALFOCUS = $02;
FSOUND_INIT_ENABLESYSTEMCHANNELFX = $04;
FSOUND_INIT_ACCURATEVULEVELS = $08;
FSOUND_INIT_PS2_DISABLECORE0REVERB = $10;
FSOUND_INIT_PS2_DISABLECORE1REVERB = $20;
FSOUND_INIT_PS2_SWAPDMACORES = $40;
FSOUND_INIT_DONTLATENCYADJUST = $80;
FSOUND_INIT_GC_INITLIBS = $100;
FSOUND_INIT_STREAM_FROM_MAIN_THREAD = $200;
FSOUND_INIT_PS2_USEVOLUMERAMPING = $400;
FSOUND_INIT_DSOUND_DEFERRED = $800;
FSOUND_INIT_DSOUND_HRTF_LIGHT = $1000;
FSOUND_INIT_DSOUND_HRTF_FULL = $2000;
FSOUND_INIT_XBOX_REMOVEHEADROOM = $4000;
FSOUND_INIT_PSP_SILENCEONUNDERRUN = $8000;
FSOUND_PROTOCOL_SHOUTCAST = $00000001;
FSOUND_PROTOCOL_ICECAST = $00000002;
FSOUND_PROTOCOL_HTTP = $00000004;
FSOUND_FORMAT_MPEG = $00010000;
FSOUND_FORMAT_OGGVORBIS = $00020000;

Description

Types

FSOUND_SPEAKERMODES = TFSoundSpeakerModes;

The audio is played through a speaker arrangement of surround speakers with a subwoofer.

PFMusicModule = Pointer;
PFSoundDSPUnit = Pointer;
PFSoundSample = Pointer;

FMOD defined types

PFSoundStream = Pointer;
PFSoundVector = ˆTFSoundVector;
PFSyncPoint = Pointer;
TFMetaDataCallback = function(Name: PChar; Value: PChar; userdata: Integer): ByteBool; stdcall;
TFModErrors = (...);

[ENUM] [ [DESCRIPTION] On failure of commands in FMOD, use FSOUND_GetError to attain what happened.

[SEE_ALSO] FSOUND_GetError ]

Values
  • FMOD_ERR_NONE
  • FMOD_ERR_BUSY: No errors
  • FMOD_ERR_UNINITIALIZED: Cannot call this command after FSOUND_Init. Call FSOUND_Close first.
  • FMOD_ERR_INIT: This command failed because FSOUND_Init was not called
  • FMOD_ERR_ALLOCATED: Error initializing output device.
  • FMOD_ERR_PLAY: Error initializing output device, but more specifically, the output device is already in use and cannot be reused.
  • FMOD_ERR_OUTPUT_FORMAT: Playing the sound failed.
  • FMOD_ERR_COOPERATIVELEVEL: Soundcard does not support the features needed for this soundsystem (16bit stereo output)
  • FMOD_ERR_CREATEBUFFER: Error setting cooperative level for hardware.
  • FMOD_ERR_FILE_NOTFOUND: Error creating hardware sound buffer.
  • FMOD_ERR_FILE_FORMAT: File not found
  • FMOD_ERR_FILE_BAD: Unknown file format
  • FMOD_ERR_MEMORY: Error loading file
  • FMOD_ERR_VERSION: Not enough memory or resources
  • FMOD_ERR_INVALID_PARAM: The version number of this file format is not supported
  • FMOD_ERR_NO_EAX: An invalid parameter was passed to this function
  • FMOD_ERR_CHANNEL_ALLOC: Tried to use an EAX command on a non EAX enabled channel or output.
  • FMOD_ERR_RECORD: Failed to allocate a new channel
  • FMOD_ERR_MEDIAPLAYER: Recording is not supported on this machine
  • FMOD_ERR_CDDEVICE: Windows Media Player not installed so cannot play wma or use internet streaming. */
TFMusicCallback = procedure (Module: PFMusicModule; Param: Byte); stdcall;
TFMusicTypes = (...);

[ENUM] [ [DESCRIPTION] These definitions describe the type of song being played.

[SEE_ALSO] FMUSIC_GetType ]

Values
  • FMUSIC_TYPE_NONE
  • FMUSIC_TYPE_MOD
  • FMUSIC_TYPE_S3M: Protracker / FastTracker
  • FMUSIC_TYPE_XM: ScreamTracker 3
  • FMUSIC_TYPE_IT: FastTracker 2
  • FMUSIC_TYPE_MIDI: Impulse Tracker
  • FMUSIC_TYPE_FSB: MIDI file
TFSoundAllocCallback = function(Size: Cardinal): Pointer; stdcall;
TFSoundCloseCallback = procedure (Handle: Cardinal); stdcall;
TFSoundDSPCallback = function (OriginalBuffer: Pointer; NewBuffer: Pointer; Length, Param: Integer): Pointer; stdcall;
TFSoundFreeCallback = procedure(Ptr: Pointer); stdcall;
TFSoundFXModes = (...);

[ENUM] [ [DESCRIPTION] These values are used with FSOUND_FX_Enable to enable DirectX 8 FX for a channel.

[SEE_ALSO] FSOUND_FX_Enable FSOUND_FX_Disable FSOUND_FX_SetChorus FSOUND_FX_SetCompressor FSOUND_FX_SetDistortion FSOUND_FX_SetEcho FSOUND_FX_SetFlanger FSOUND_FX_SetGargle FSOUND_FX_SetI3DL2Reverb FSOUND_FX_SetParamEQ FSOUND_FX_SetWavesReverb ]

Values
  • FSOUND_FX_CHORUS
  • FSOUND_FX_COMPRESSOR
  • FSOUND_FX_DISTORTION
  • FSOUND_FX_ECHO
  • FSOUND_FX_FLANGER
  • FSOUND_FX_GARGLE
  • FSOUND_FX_I3DL2REVERB
  • FSOUND_FX_PARAMEQ
  • FSOUND_FX_WAVES_REVERB
  • FSOUND_FX_MAX
TFSoundMixerTypes = (...);

[ENUM] [ [DESCRIPTION] These mixer types are used with FSOUND_SetMixer, to choose which mixer to use, or to act upon for other reasons using FSOUND_GetMixer. It is not necessary to set the mixer. FMOD will autodetect the best mixer for you.

[SEE_ALSO] FSOUND_SetMixer FSOUND_GetMixer ]

Values
  • FSOUND_MIXER_AUTODETECT
  • FSOUND_MIXER_BLENDMODE: CE/PS2/GC Only - Non interpolating/low quality mixer.
  • FSOUND_MIXER_MMXP5: Removed / obsolete
  • FSOUND_MIXER_MMXP6: Removed / obsolete
  • FSOUND_MIXER_QUALITY_AUTODETECT: Removed / obsolete
  • FSOUND_MIXER_QUALITY_FPU: All platforms - Autodetect the fastest quality mixer based on your cpu.
  • FSOUND_MIXER_QUALITY_MMXP5: Win32/Linux only - Interpolating/volume ramping FPU mixer.
  • FSOUND_MIXER_QUALITY_MMXP6: Win32/Linux only - Interpolating/volume ramping P5 MMX mixer.
  • FSOUND_MIXER_MONO: Win32/Linux only - Interpolating/volume ramping ppro+ MMX mixer.
  • FSOUND_MIXER_QUALITY_MONO: CE/PS2/GC only - MONO non interpolating/low quality mixer. For speed
  • FSOUND_MIXER_MAX: CE/PS2/GC only - MONO Interpolating mixer. For speed
TFSoundOpenCallback = function (Name: PChar): Cardinal; stdcall;
TFSoundOutputTypes = (...);

[ENUM] [ [DESCRIPTION] These output types are used with FSOUND_SetOutput, to choose which output driver to use.

FSOUND_OUTPUT_DSOUND will not support hardware 3d acceleration if the sound card driver does not support DirectX 6 Voice Manager Extensions.

FSOUND_OUTPUT_WINMM is recommended for NT and CE.

[SEE_ALSO] FSOUND_SetOutput FSOUND_GetOutput ]

Values
  • FSOUND_OUTPUT_NOSOUND
  • FSOUND_OUTPUT_WINMM: NoSound driver, all calls to this succeed but do nothing.
  • FSOUND_OUTPUT_DSOUND: Windows Multimedia driver.
  • FSOUND_OUTPUT_A3D: DirectSound driver. You need this to get EAX2 or EAX3 support, or FX api support.
  • FSOUND_OUTPUT_OSS: A3D driver.
  • FSOUND_OUTPUT_ESD: Linux/Unix OSS (Open Sound System) driver, i.e. the kernel sound drivers.
  • FSOUND_OUTPUT_ALSA: Linux/Unix ESD (Enlightment Sound Daemon) driver.
  • FSOUND_OUTPUT_ASIO: Linux Alsa driver.
  • FSOUND_OUTPUT_XBOX: Low latency ASIO driver.
  • FSOUND_OUTPUT_PS2: Xbox driver.
  • FSOUND_OUTPUT_MAC: PlayStation 2 driver.
  • FSOUND_OUTPUT_GC: Mac SoundMager driver.
  • FSOUND_OUTPUT_PSP: Gamecube driver.
  • FSOUND_OUTPUT_NOSOUND_NONREALTIME: PlayStation Portable driver.
TFSoundReadCallback = function (Buffer: Pointer; Size: Cardinal; Handle: Cardinal): Cardinal; stdcall;
TFSoundReallocCallback = function(Ptr: Pointer; Size: Cardinal): Pointer; stdcall;
TFSoundSeekCallback = procedure (Handle: Cardinal; Pos: Cardinal; Mode: Byte); stdcall;
TFSoundSpeakerModes = (...);

[ENUM] [ [DESCRIPTION] These are speaker types defined for use with the FSOUND_SetSpeakerMode command. Note - Only reliably works with FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_XBOX output modes. Other output modes will only interpret FSOUND_SPEAKERMODE_MONO and set everything else to be stereo.

[SEE_ALSO] FSOUND_SetSpeakerMode

[REMARKS] Note - Only reliably works with FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_XBOX output modes. Other output modes will only interpret FSOUND_SPEAKERMODE_MONO and set everything else to be stereo.

Using either DolbyDigital or DTS will use whatever 5.1 digital mode is available if destination hardware is unsure. ]

Values
  • FSOUND_SPEAKERMODE_DOLBYDIGITAL
  • FSOUND_SPEAKERMODE_HEADPHONES: The audio is played through a speaker arrangement of surround speakers with a subwoofer.
  • FSOUND_SPEAKERMODE_MONO: The speakers are headphones.
  • FSOUND_SPEAKERMODE_QUAD: The speakers are monaural.
  • FSOUND_SPEAKERMODE_STEREO: The speakers are quadraphonic.
  • FSOUND_SPEAKERMODE_SURROUND: The speakers are stereo (default value).
  • FSOUND_SPEAKERMODE_DTS: The speakers are surround sound.
TFSoundStreamCallback = function (Stream: PFSoundStream; Buff: Pointer; Length, Param: Integer): ByteBool; stdcall;

Callback types

TFSoundStreamNetStatus = (...);

[ENUM] [ [DESCRIPTION] Status values for internet streams. Use FSOUND_Stream_Net_GetStatus to get the current status of an internet stream.

[SEE_ALSO] FSOUND_Stream_Net_GetStatus ]

Values
  • FSOUND_STREAM_NET_NOTCONNECTED
  • FSOUND_STREAM_NET_CONNECTING: Stream hasn't connected yet
  • FSOUND_STREAM_NET_BUFFERING: Stream is connecting to remote host
  • FSOUND_STREAM_NET_READY: Stream is buffering data
  • FSOUND_STREAM_NET_ERROR: Stream is ready to play
TFSoundTagFieldType = (...);

[ENUM] [ [DESCRIPTION] Describes the type of a particular tag field.

[SEE_ALSO] FSOUND_Stream_GetNumTagFields FSOUND_Stream_GetTagField FSOUND_Stream_FindTagField ]

Values
  • FSOUND_TAGFIELD_VORBISCOMMENT
  • FSOUND_TAGFIELD_ID3V1: A vorbis comment
  • FSOUND_TAGFIELD_ID3V2: Part of an ID3v1 tag
  • FSOUND_TAGFIELD_SHOUTCAST: An ID3v2 frame
  • FSOUND_TAGFIELD_ICECAST: A SHOUTcast header line
  • FSOUND_TAGFIELD_ASF: An Icecast header line
TFSoundTellCallback = function (Handle: Cardinal): Cardinal; stdcall;

Constants

FMOD_VERSION: Single = 3.75;

Force four-byte enums

FSOUND_DSP_DEFAULTPRIORITY_CLEARUNIT = 0;

[DEFINE_START] [ [NAME] FSOUND_DSP_PRIORITIES

[DESCRIPTION] These default priorities are used by FMOD internal system DSP units. They describe the position of the DSP chain, and the order of how audio processing is executed. You can actually through the use of FSOUND_DSP_GetxxxUnit (where xxx is the name of the DSP unit), disable or even change the priority of a DSP unit.

[SEE_ALSO] FSOUND_DSP_Create FSOUND_DSP_SetPriority FSOUND_DSP_GetSpectrum ]

FSOUND_DSP_DEFAULTPRIORITY_SFXUNIT = 100;

DSP CLEAR unit - done first

FSOUND_DSP_DEFAULTPRIORITY_MUSICUNIT = 200;

DSP SFX unit - done second

FSOUND_DSP_DEFAULTPRIORITY_USER = 300;

DSP MUSIC unit - done third

FSOUND_DSP_DEFAULTPRIORITY_FFTUNIT = 900;

User priority, use this as reference for your own DSP units

FSOUND_DSP_DEFAULTPRIORITY_CLIPANDCOPYUNIT = 1000;

This reads data for FSOUND_DSP_GetSpectrum, so it comes after user units

FSOUND_CAPS_HARDWARE = $1;

[DEFINE_START] [ [NAME] FSOUND_CAPS

[DESCRIPTION] Driver description bitfields. Use FSOUND_Driver_GetCaps to determine if a driver enumerated has the settings you are after. The enumerated driver depends on the output mode, see FSOUND_OUTPUTTYPES

[SEE_ALSO] FSOUND_GetDriverCaps FSOUND_OUTPUTTYPES ]

FSOUND_CAPS_EAX2 = $2;

This driver supports hardware accelerated 3d sound.

FSOUND_CAPS_EAX3 = $10;

This driver supports EAX 2 reverb

FSOUND_LOOP_OFF = $00000001;

[DEFINE_START] [ [NAME] FSOUND_MODES

[DESCRIPTION] Sample description bitfields, OR them together for loading and describing samples. NOTE. If the file format being loaded already has a defined format, such as WAV or MP3, then trying to override the pre-defined format with a new set of format flags will not work. For example, an 8 bit WAV file will not load as 16bit if you specify FSOUND_16BITS. It will just ignore the flag and go ahead loading it as 8bits. For these type of formats the only flags you can specify that will really alter the behaviour of how it is loaded, are the following.

Looping behaviour - FSOUND_LOOP_OFF, FSOUND_LOOP_NORMAL, FSOUND_LOOP_BIDI Load destination - FSOUND_HW3D, FSOUND_HW2D, FSOUND_2D Loading behaviour - FSOUND_NONBLOCKING, FSOUND_LOADMEMORY, FSOUND_LOADRAW, FSOUND_MPEGACCURATE, FSOUND_MPEGHALFRATE, FSOUND_FORCEMONO Playback behaviour - FSOUND_STREAMABLE, FSOUND_ENABLEFX PlayStation 2 only - FSOUND_USECORE0, FSOUND_USECORE1, FSOUND_LOADMEMORYIOP

See flag descriptions for what these do. ]

FSOUND_LOOP_NORMAL = $00000002;

For non looping samples.

FSOUND_LOOP_BIDI = $00000004;

For forward looping samples.

FSOUND_8BITS = $00000008;

For bidirectional looping samples. (no effect if in hardware).

FSOUND_16BITS = $00000010;

For 8 bit samples.

FSOUND_MONO = $00000020;

For 16 bit samples.

FSOUND_STEREO = $00000040;

For mono samples.

FSOUND_UNSIGNED = $00000080;

For stereo samples.

FSOUND_SIGNED = $00000100;

For user created source data containing unsigned samples.

FSOUND_DELTA = $00000200;

For user created source data containing signed data.

FSOUND_IT214 = $00000400;

For user created source data stored as delta values.

FSOUND_IT215 = $00000800;

For user created source data stored using IT214 compression.

FSOUND_HW3D = $00001000;

For user created source data stored using IT215 compression.

FSOUND_2D = $00002000;

Attempts to make samples use 3d hardware acceleration. (if the card supports it)

FSOUND_STREAMABLE = $00004000;

Ignores any 3d processing. Overrides FSOUND_HW3D. Located in software.

FSOUND_LOADMEMORY = $00008000;

For a streamimg sound where you feed the data to it. */

FSOUND_LOADRAW = $00010000;

"name" will be interpreted as a pointer to data for streaming and samples.

FSOUND_MPEGACCURATE = $00020000;

Will ignore file format and treat as raw pcm.

FSOUND_FORCEMONO = $00040000;

For FSOUND_Stream_OpenFile - for accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_OpenFile for inital opening time performance issues.

FSOUND_HW2D = $00080000;

For forcing stereo streams and samples to be mono - needed if using FSOUND_HW3D and stereo data - incurs a small speed hit for streams

FSOUND_ENABLEFX = $00100000;

2D hardware sounds. allows hardware specific effects

FSOUND_MPEGHALFRATE = $00200000;

Allows DX8 FX to be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, or have a changing frequency

FSOUND_XADPCM = $00400000;

For FMODCE only - decodes mpeg streams using a lower quality decode, but faster execution

FSOUND_VAG = $00800000;

For XBOX only - Contents are compressed as XADPCM */

FSOUND_NONBLOCKING = $01000000;

For PS2 only - Contents are compressed as Sony VAG format */

FSOUND_GCADPCM = $02000000;

For FSOUND_Stream_OpenFile - Causes stream to open in the background and not block the foreground app - stream plays only when ready.

FSOUND_MULTICHANNEL = $04000000;

For Gamecube only - Contents are compressed as Gamecube DSP-ADPCM format

FSOUND_USECORE0 = $08000000;

For PS2 only - Contents are interleaved into a multi-channel (more than stereo) format

FSOUND_USECORE1 = $10000000;

For PS2 only - Sample/Stream is forced to use hardware voices 00-23

FSOUND_LOADMEMORYIOP = $20000000;

For PS2 only - Sample/Stream is forced to use hardware voices 24-47

FSOUND_NORMAL = (FSOUND_16BITS or FSOUND_SIGNED or FSOUND_MONO);

For PS2 only - "name" will be interpreted as a pointer to data for streaming and samples. The address provided will be an IOP address

FSOUND_CD_PLAYCONTINUOUS = 0;

[DEFINE_START] [ [NAME] FSOUND_CDPLAYMODES

[DESCRIPTION] Playback method for a CD Audio track, using FSOUND_CD_SetPlayMode

[SEE_ALSO] FSOUND_CD_SetPlayMode FSOUND_CD_Play ]

FSOUND_CD_PLAYONCE = 1;

Starts from the current track and plays to end of CD.

FSOUND_CD_PLAYLOOPED = 2;

Plays the specified track then stops.

FSOUND_CD_PLAYRANDOM = 3;

Plays the specified track looped, forever until stopped manually.

FSOUND_FREE = -1;

[DEFINE_START] [ [NAME] FSOUND_CHANNELSAMPLEMODE

[DESCRIPTION] Miscellaneous values for FMOD functions.

[SEE_ALSO] FSOUND_PlaySound FSOUND_PlaySoundEx FSOUND_Sample_Alloc FSOUND_Sample_Load FSOUND_SetPan ]

FSOUND_UNMANAGED = -2;

value to play on any free channel, or to allocate a sample in a free sample slot.

FSOUND_ALL = -3;

value to allocate a sample that is NOT managed by FSOUND or placed in a sample slot.

FSOUND_STEREOPAN = -1;

for a channel index , this flag will affect ALL channels available! Not supported by every function.

FSOUND_SYSTEMCHANNEL = -1000;

value for FSOUND_SetPan so that stereo sounds are not played at half volume. See FSOUND_SetPan for more on this.

FSOUND_SYSTEMSAMPLE = -1000;

special 'channel' ID for all channel based functions that want to alter the global FSOUND software mixing output

FSOUND_REVERBFLAGS_DECAYTIMESCALE = $00000001;

[DEFINE_START] [ [NAME] FSOUND_REVERB_FLAGS

[DESCRIPTION] Values for the Flags member of the FSOUND_REVERB_PROPERTIES structure.

[SEE_ALSO] FSOUND_REVERB_PROPERTIES ]

FSOUND_REVERBFLAGS_REFLECTIONSSCALE = $00000002;

EnvironmentSize affects reverberation decay time

FSOUND_REVERBFLAGS_REFLECTIONSDELAYSCALE = $00000004;

EnvironmentSize affects reflection level

FSOUND_REVERBFLAGS_REVERBSCALE = $00000008;

EnvironmentSize affects initial reflection delay time

FSOUND_REVERBFLAGS_REVERBDELAYSCALE = $00000010;

EnvironmentSize affects reflections level

FSOUND_REVERBFLAGS_DECAYHFLIMIT = $00000020;

EnvironmentSize affects late reverberation delay time

FSOUND_REVERBFLAGS_ECHOTIMESCALE = $00000040;

AirAbsorptionHF affects DecayHFRatio

FSOUND_REVERBFLAGS_MODULATIONTIMESCALE = $00000080;

EnvironmentSize affects echo time

FSOUND_REVERB_FLAGS_CORE0 = $00000100;

EnvironmentSize affects modulation time

FSOUND_REVERB_FLAGS_CORE1 = $00000200;

PS2 Only - Reverb is applied to CORE0 (hw voices 0-23)

FSOUND_REVERBFLAGS_DEFAULT = FSOUND_REVERBFLAGS_DECAYTIMESCALE or FSOUND_REVERBFLAGS_REFLECTIONSSCALE or FSOUND_REVERBFLAGS_REFLECTIONSDELAYSCALE or FSOUND_REVERBFLAGS_REVERBSCALE or FSOUND_REVERBFLAGS_REVERBDELAYSCALE or FSOUND_REVERBFLAGS_DECAYHFLIMIT or FSOUND_REVERB_FLAGS_CORE0 or FSOUND_REVERB_FLAGS_CORE1;

PS2 Only - Reverb is applied to CORE1 (hw voices 24-47)

FSOUND_REVERB_CHANNELFLAGS_DIRECTHFAUTO = $01;

[DEFINE_START] [ [NAME] FSOUND_REVERB_CHANNELFLAGS

[DESCRIPTION] Values for the Flags member of the FSOUND_REVERB_CHANNELPROPERTIES structure.

[SEE_ALSO] FSOUND_REVERB_CHANNELPROPERTIES ]

FSOUND_REVERB_CHANNELFLAGS_ROOMAUTO = $02;

Automatic setting of 'Direct' due to distance from listener

FSOUND_REVERB_CHANNELFLAGS_ROOMHFAUTO = $04;

Automatic setting of 'Room' due to distance from listener

FSOUND_REVERB_CHANNELFLAGS_DEFAULT = FSOUND_REVERB_CHANNELFLAGS_DIRECTHFAUTO or FSOUND_REVERB_CHANNELFLAGS_ROOMAUTO or FSOUND_REVERB_CHANNELFLAGS_ROOMHFAUTO;

Automatic setting of 'RoomHF' due to distance from listener

FSOUND_INIT_USEDEFAULTMIDISYNTH = $01;

[DEFINE_START] [ [NAME] FSOUND_INIT_FLAGS

[DESCRIPTION] Initialization flags. Use them with FSOUND_Init in the flags parameter to change various behaviour.

FSOUND_INIT_ENABLESYSTEMCHANNELFX Is an init mode which enables the FSOUND mixer buffer to be affected by DirectX 8 effects. Note that due to limitations of DirectSound, FSOUND_Init may fail if this is enabled because the buffersize is too small. This can be fixed with FSOUND_SetBufferSize. Increase the BufferSize until it works. When it is enabled you can use the FSOUND_FX api, and use FSOUND_SYSTEMCHANNEL as the channel id when setting parameters.

[SEE_ALSO] FSOUND_Init ]

FSOUND_INIT_GLOBALFOCUS = $02;

Causes MIDI playback to force software decoding.

FSOUND_INIT_ENABLESYSTEMCHANNELFX = $04;

For DirectSound output - sound is not muted when window is out of focus.

FSOUND_INIT_ACCURATEVULEVELS = $08;

For DirectSound output - Allows FSOUND_FX api to be used on global software mixer output!

FSOUND_INIT_PS2_DISABLECORE0REVERB = $10;

This latency adjusts FSOUND_GetCurrentLevels, but incurs a small cpu and memory hit.

FSOUND_INIT_PS2_DISABLECORE1REVERB = $20;

PS2 only - Disable reverb on CORE 0 to regain SRAM.

FSOUND_INIT_PS2_SWAPDMACORES = $40;

PS2 only - Disable reverb on CORE 1 to regain SRAM.

FSOUND_INIT_DONTLATENCYADJUST = $80;

PS2 only - By default FMOD uses DMA CH0 for mixing, CH1 for uploads, this flag swaps them around.

FSOUND_INIT_GC_INITLIBS = $100;

Callbacks are not latency adjusted, and are called at mix time. Also information functions are immediate.

FSOUND_INIT_STREAM_FROM_MAIN_THREAD = $200;

Gamecube only - Initializes GC audio libraries.

FSOUND_INIT_PS2_USEVOLUMERAMPING = $400;

Turns off fmod streamer thread, and makes streaming update from FSOUND_Update called by the user.

FSOUND_INIT_DSOUND_DEFERRED = $800;

PS2 only - Turns on volume ramping system to remove hardware clicks.

FSOUND_INIT_DSOUND_HRTF_LIGHT = $1000;

Win32 only - For DirectSound output. 3D commands are batched together and executed at FSOUND_Update.

FSOUND_INIT_DSOUND_HRTF_FULL = $2000;

Win32 only - For DirectSound output. FSOUND_HW3D buffers use a slightly higher quality algorithm when 3d hardware acceleration is not present.

FSOUND_INIT_XBOX_REMOVEHEADROOM = $4000;

Win32 only - For DirectSound output. FSOUND_HW3D buffers use full quality 3d playback when 3d hardware acceleration is not present.

FSOUND_INIT_PSP_SILENCEONUNDERRUN = $8000;

XBox only - By default directsound attenuates all sound by 6db to avoid clipping/distortion. CAUTION. If you use this flag you are responsible for the final mix to make sure clipping / distortion doesn't happen.

FSOUND_PROTOCOL_SHOUTCAST = $00000001;

[DEFINE_START] [ [NAME] FSOUND_STATUS_FLAGS

[DESCRIPTION] These values describe the protocol and format of an internet stream. Use FSOUND_Stream_Net_GetStatus to retrieve this information for an open internet stream.

[SEE_ALSO] FSOUND_Stream_Net_GetStatus ]

FSOUND_PROTOCOL_ICECAST = $00000002;
FSOUND_PROTOCOL_HTTP = $00000004;
FSOUND_FORMAT_MPEG = $00010000;
FSOUND_FORMAT_OGGVORBIS = $00020000;


GLSysHelp v.2.1: Sounds.FMODtypes: Record TFSoundVector

Record TFSoundVector

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.FMODtypes

Declaration

type TFSoundVector = record

Description

Overview

Fields

Public | x: Single;
Public | y: Single;
Public | z: Single;

Description

Fields

Public x: Single;
Public y: Single;
Public z: Single;


GLSysHelp v.2.1: Sounds.FMODtypes: Record TFSoundReverbProperties

Record TFSoundReverbProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.FMODtypes

Declaration

type TFSoundReverbProperties = record

Description

[STRUCT_START] [ [NAME] FSOUND_REVERB_PROPERTIES

[DESCRIPTION] Structure defining a reverb environment.

[REMARKS] For more indepth descriptions of the reverb properties under win32, please see the EAX2/EAX3 documentation at http://developer.creative.com/ under the 'downloads' section. If they do not have the EAX3 documentation, then most information can be attained from the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of EAX2. Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset. Note that integer values that typically range from -10,000 to 1000 are represented in decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear. PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox). Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then the reverb should product a similar effect on either platform. Only WIN32 supports the reverb api.

The numerical values listed below are the maximum, minimum and default values for each variable respectively.

[SEE_ALSO] FSOUND_Reverb_SetProperties FSOUND_Reverb_GetProperties FSOUND_REVERB_PRESETS FSOUND_REVERB_FLAGS ]

Overview

Fields

Public | Environment: Cardinal;
Public | EnvSize: Single;
Public | EnvDiffusion: Single;
Public | Room: Integer;
Public | RoomHF: Integer;
Public | RoomLF: Integer;
Public | DecayTime: Single;
Public | DecayHFRatio: Single;
Public | DecayLFRatio: Single;
Public | Reflections: Integer;
Public | ReflectionsDelay: Single;
Public | ReflectionsPan: array [0..2] of Single;
Public | Reverb: Integer;
Public | ReverbDelay: Single;
Public | ReverbPan: array [0..2] of Single;
Public | EchoTime: Single;
Public | EchoDepth: Single;
Public | ModulationTime: Single;
Public | ModulationDepth: Single;
Public | AirAbsorptionHF: Single;
Public | HFReference: Single;
Public | LFReference: Single;
Public | RoomRolloffFactor: Single;
Public | Diffusion: Single;
Public | Density: Single;
Public | Flags: Cardinal;

Description

Fields

Public Environment: Cardinal;

MIN MAX DEFAULT DESCRIPTION

Public EnvSize: Single;

0 25 0 sets all listener properties (win32 only)

Public EnvDiffusion: Single;

1.0 100.0 7.5 environment size in meters (win32 only)

Public Room: Integer;

0.0 1.0 1.0 environment diffusion (win32/xbox)

Public RoomHF: Integer;

-10000 0 -1000 room effect level (at mid frequencies) (win32/xbox)

Public RoomLF: Integer;

-10000 0 -100 relative room effect level at high frequencies (win32/xbox)

Public DecayTime: Single;

-10000 0 0 relative room effect level at low frequencies (win32 only)

Public DecayHFRatio: Single;

0.1 20.0 1.49 reverberation decay time at mid frequencies (win32/xbox)

Public DecayLFRatio: Single;

0.1 2.0 0.83 high-frequency to mid-frequency decay time ratio (win32/xbox)

Public Reflections: Integer;

0.1 2.0 1.0 low-frequency to mid-frequency decay time ratio (win32 only)

Public ReflectionsDelay: Single;

-10000 1000 -2602 early reflections level relative to room effect (win32/xbox)

Public ReflectionsPan: array [0..2] of Single;

0.0 0.3 0.007 initial reflection delay time (win32/xbox)

Public Reverb: Integer;

0,0,0 early reflections panning vector (win32 only)

Public ReverbDelay: Single;

-10000 2000 200 late reverberation level relative to room effect (win32/xbox)

Public ReverbPan: array [0..2] of Single;

0.0 0.1 0.011 late reverberation delay time relative to initial reflection (win32/xbox)

Public EchoTime: Single;

0,0,0 late reverberation panning vector (win32 only)

Public EchoDepth: Single;

.075 0.25 0.25 echo time (win32 only)

Public ModulationTime: Single;

0.0 1.0 0.0 echo depth (win32 only)

Public ModulationDepth: Single;

0.04 4.0 0.25 modulation time (win32 only)

Public AirAbsorptionHF: Single;

0.0 1.0 0.0 modulation depth (win32 only)

Public HFReference: Single;

-100 0.0 -5.0 change in level per meter at high frequencies (win32 only)

Public LFReference: Single;

1000.0 20000 5000.0 reference high frequency (hz) (win32/xbox)

Public RoomRolloffFactor: Single;

20.0 1000.0 250.0 reference low frequency (hz) (win32 only)

Public Diffusion: Single;

0.0 10.0 0.0 like FSOUND_3D_SetRolloffFactor but for room effect (win32/xbox)

Public Density: Single;

0.0 100.0 100.0 Value that controls the echo density in the late reverberation decay. (xbox only)

Public Flags: Cardinal;

0.0 100.0 100.0 Value that controls the modal density in the late reverberation decay (xbox only)


GLSysHelp v.2.1: Sounds.FMODtypes: Record TFSoundReverbChannelProperties

Record TFSoundReverbChannelProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.FMODtypes

Declaration

type TFSoundReverbChannelProperties = record

Description

[STRUCTURE] [ [DESCRIPTION] Structure defining the properties for a reverb source, related to a FSOUND channel. For more indepth descriptions of the reverb properties under win32, please see the EAX3 documentation at http://developer.creative.com/ under the 'downloads' section. If they do not have the EAX3 documentation, then most information can be attained from the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of EAX2.

Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset. Note that integer values that typically range from -10,000 to 1000 are represented in decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear. PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox). Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then the reverb should product a similar effect on either platform. Linux and FMODCE do not support the reverb api.

The numerical values listed below are the maximum, minimum and default values for each variable respectively.

[SEE_ALSO] FSOUND_Reverb_SetChannelProperties FSOUND_Reverb_GetChannelProperties FSOUND_REVERB_CHANNELFLAGS ]

Overview

Fields

Public | Direct: Integer;
Public | DirectHF: Integer;
Public | Room: Integer;
Public | RoomHF: Integer;
Public | Obstruction: Integer;
Public | ObstructionLFRatio: Single;
Public | Occlusion: Integer;
Public | OcclusionLFRatio: Single;
Public | OcclusionRoomRatio: Single;
Public | OcclusionDirectRatio: Single;
Public | Exclusion: Integer;
Public | ExclusionLFRatio: Single;
Public | OutsideVolumeHF: Integer;
Public | DopplerFactor: Single;
Public | RolloffFactor: Single;
Public | RoomRolloffFactor: Single;
Public | AirAbsorptionFactor: Single;
Public | Flags: Integer;

Description

Fields

Public Direct: Integer;

MIN MAX DEFAULT

Public DirectHF: Integer;

-10000 1000 0 direct path level (at low and mid frequencies) (win32/xbox)

Public Room: Integer;

-10000 0 0 relative direct path level at high frequencies (win32/xbox)

Public RoomHF: Integer;

-10000 1000 0 room effect level (at low and mid frequencies) (win32/xbox)

Public Obstruction: Integer;

-10000 0 0 relative room effect level at high frequencies (win32/xbox)

Public ObstructionLFRatio: Single;

-10000 0 0 main obstruction control (attenuation at high frequencies) (win32/xbox)

Public Occlusion: Integer;

0.0 1.0 0.0 obstruction low-frequency level re. main control (win32/xbox)

Public OcclusionLFRatio: Single;

-10000 0 0 main occlusion control (attenuation at high frequencies) (win32/xbox)

Public OcclusionRoomRatio: Single;

0.0 1.0 0.25 occlusion low-frequency level re. main control (win32/xbox)

Public OcclusionDirectRatio: Single;

0.0 10.0 1.5 relative occlusion control for room effect (win32)

Public Exclusion: Integer;

0.0 10.0 1.0 relative occlusion control for direct path (win32)

Public ExclusionLFRatio: Single;

-10000 0 0 main exlusion control (attenuation at high frequencies) (win32)

Public OutsideVolumeHF: Integer;

0.0 1.0 1.0 exclusion low-frequency level re. main control (win32)

Public DopplerFactor: Single;

-10000 0 0 outside sound cone level at high frequencies (win32)

Public RolloffFactor: Single;

0.0 10.0 0.0 like DS3D flDopplerFactor but per source (win32)

Public RoomRolloffFactor: Single;

0.0 10.0 0.0 like DS3D flRolloffFactor but per source (win32)

Public AirAbsorptionFactor: Single;

0.0 10.0 0.0 like DS3D flRolloffFactor but for room effect (win32/xbox)

Public Flags: Integer;

0.0 10.0 1.0 multiplies AirAbsorptionHF member of FSOUND_REVERB_PROPERTIES (win32)


GLSysHelp v.2.1: Sounds.FMODtypes: Record TFSoundTOCTag

Record TFSoundTOCTag

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.FMODtypes

Declaration

type TFSoundTOCTag = record

Description

[STRUCTURE] [ [DESCRIPTION] Structure defining a CD table of contents. This structure is returned as a tag from FSOUND_Stream_FindTagField when the tag name "CD_TOC" is specified. Note: All tracks on the CD - including data tracks- will be represented in this structure so it's use for anything other than generating disc id information is not recommended. See the cdda example program for info on retrieving and using this structure.

[SEE_ALSO] FSOUND_Stream_Open FSOUND_Stream_FindTagField ]

Overview

Fields

Public | Name: array [0..3] of AnsiChar;
Public | NumTracks: Integer;
Public | Min: array [0..99] of Integer;
Public | Sec: array [0..99] of Integer;
Public | Frame: array [0..99] of Integer;

Description

Fields

Public Name: array [0..3] of AnsiChar;
Public NumTracks: Integer;

The string "TOC" (4th character is 0), just in case this structure is accidentally treated as a string.

Public Min: array [0..99] of Integer;

The number of tracks on the CD.

Public Sec: array [0..99] of Integer;

The start offset of each track in minutes.

Public Frame: array [0..99] of Integer;

The start offset of each track in seconds.


GLSysHelp v.2.1: Sounds.OpenAL

Unit Sounds.OpenAL

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • System.SysUtils
  • Vcl.Forms
  • Vcl.Dialogs
  • GLS.VectorTypes
  • GLS.Scene
  • GLS.VectorGeometry
  • GLS.Coordinates
  • GLS.Sound
  • GLS.SoundFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSMOpenAL |

Types

EOpenALError = Exception;

Description

Types

EOpenALError = Exception;


GLSysHelp v.2.1: Sounds.OpenAL: Class TGLSMOpenAL

Class TGLSMOpenAL

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.OpenAL

Declaration

type TGLSMOpenAL = class(TGLSoundManager)

Description

No description available, ancestor TGLSoundManager description follows

Base class for sound manager components. The sound manager component is the interface to a low-level audio API (like DirectSound), there can only be one active manager at any time (this class takes care of this). Subclass should override the DoActivate and DoDeActivate protected methods to "initialize/unitialize" their sound layer, actual data releases should occur in destructor however.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLSoundManager
  • TGLSMOpenAL

Overview

Fields

Private FActivated: Boolean;

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Public | function EAXSupported: Boolean; override;
Protected | function DoActivate: Boolean; override;
Protected | function GetALFormat(sampling: TGLSoundSampling): Integer;
Protected | function GetDefaultFrequency(aSource: TGLBaseSoundSource): Integer;
Public | procedure UpdateSources; override;
Protected | procedure DoDeActivate; override;
Protected | procedure KillSource(aSource: TGLBaseSoundSource); override;
Protected | procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); override;
Protected | procedure Notify3DFactorsChanged; override;
Protected | procedure NotifyEnvironmentChanged; override;
Protected | procedure NotifyMasterVolumeChange; override;
Protected | procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); override;
Protected | procedure UpdateSource(aSource: TGLBaseSoundSource); override;

Description

Fields

Private FActivated: Boolean;

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function EAXSupported: Boolean; override;
Protected function DoActivate: Boolean; override;
Protected function GetALFormat(sampling: TGLSoundSampling): Integer;
Protected function GetDefaultFrequency(aSource: TGLBaseSoundSource): Integer;
Public procedure UpdateSources; override;
Protected procedure DoDeActivate; override;
Protected procedure KillSource(aSource: TGLBaseSoundSource); override;
Protected procedure MuteSource(aSource: TGLBaseSoundSource; muted: Boolean); override;
Protected procedure Notify3DFactorsChanged; override;
Protected procedure NotifyEnvironmentChanged; override;
Protected procedure NotifyMasterVolumeChange; override;
Protected procedure PauseSource(aSource: TGLBaseSoundSource; paused: Boolean); override;
Protected procedure UpdateSource(aSource: TGLBaseSoundSource); override;


GLSysHelp v.2.1: Sounds.OpenALImport

Unit Sounds.OpenALImport

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is OpenAL1.0 - Headertranslation to Object Pascal. * * The Initial Developer of the Original Code is * Delphi OpenAL Translation Team. * Portions created by the Initial Developer are Copyright (C) 2001-2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Tom Nuydens (delphi3d@gamedeveloper.org) * Dean Ellis (dean.ellis@sxmedia.co.uk) * Amresh Ramachandran (amreshr@hotmail.com) * Pranav Joshi (pranavjosh@yahoo.com) * Marten van der Honing (mvdhoning@noeska.com) * Benjamin Rosseaux (BeRo) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL.

Uses

  • System.SysUtils
  • Winapi.Windows

Overview

Classes, Interfaces, Objects and Records

Name | Description
Packed Record TEaxListenerProperties |
Packed Record TEaxBufferProperties |
Packed Record _EFXEAXREVERBPROPERTIES |
Packed Record _EFXLOWPASSFILTER |

Functions and Procedures

procedure alutInit(argc: PALint; argv: array of PALbyte);
procedure alutExit;
procedure alutLoadWAVFile(fname: string; var format: TALenum; var data: TALvoid; var size: TALsizei; var freq: TALsizei; var loop: TALint);
procedure alutLoadWAVMemory(memory: PALbyte; var format: TALenum; var data: TALvoid; var size: TALsizei; var freq: TALsizei; var loop: TALint);
procedure alutUnloadWAV(format: TALenum; data: TALvoid; size: TALsizei; freq: TALsizei);
function InitOpenAL(LibName: String = callibname): Boolean;
procedure ReadOpenALExtensions;

Types

DSPROPERTY_EAX_BUFFERPROPERTY = LongWORD;
DSPROPERTY_EAX_LISTENERPROPERTY = LongWORD;
EFXEAXREVERBPROPERTIES = _EFXEAXREVERBPROPERTIES;
EFXLOWPASSFILTER = _EFXLOWPASSFILTER;
HMODULE = THandle;
PALbitfield = ˆTALbitfield;
PALboolean = ˆTALboolean;
PALbyte = ˆTALbyte;
PALCboolean = ˆTALCboolean;
PALCbyte = ˆTALCbyte;
PALCchar = PAnsiChar;
PALCcontext = ˆTALCcontext;
PALCdevice = ˆTALCdevice;
PALCdouble = ˆTALCdouble;
PALCenum = ˆTALCenum;
PALCfloat = ˆTALCfloat;
PALchar = PAnsiChar;
PALCint = ˆTALCint;
PALclampd = ˆTALclampd;
PALclampf = ˆTALclampf;
PALCshort = ˆTALCshort;
PALCsizei = ˆTALCsizei;
PALCubyte = PAnsiChar;
PALCuint = ˆTALCuint;
PALCushort = ˆTALCushort;
PALCvoid = ˆTALCvoid;
PALdouble = ˆTALdouble;
PALenum = ˆTALenum;
PALfloat = ˆTALfloat;
PALint = ˆTALint;
PALshort = ˆTALshort;
PALsizei = ˆTALsizei;
PALuByte = PAnsiChar;
PALuint = ˆTALuint;
PALushort = ˆTALushort;
PALvoid = ˆTALvoid;
PEaxBufferProperties = ˆTEaxBufferProperties;
PEaxListenerProperties = ˆTEaxListenerProperties;
PEFXEAXREVERBPROPERTIES = ˆ_EFXEAXREVERBPROPERTIES;
PEFXLOWPASSFILTER = ˆ_EFXLOWPASSFILTER;
PPALvoid = ˆPALvoid;
TALbitfield = Cardinal;
TALboolean = Boolean;
TALbyte = ShortInt;
TALCboolean = boolean;
TALCbyte = ShortInt;
TALCchar = char;
TALCcontext = TALCvoid;
TALCdevice = TALCvoid;
TALCdouble = double;
TALCenum = integer;
TALCfloat = single;
TALchar = char;
TALCint = integer;
TALclampd = TALdouble;
TALclampf = TALfloat;
TALCshort = smallint;
TALCsizei = integer;
TALCubyte = Char;
TALCuint = Cardinal;
TALCushort = Word;
TALCvoid = Pointer;
TALdouble = Double;
TALenum = Integer;
TALfloat = Single;
TALint = Integer;
TALshort = SmallInt;
TALsizei = Cardinal;
TALuByte = Char;
TALuint = Cardinal;
TALushort = Word;
TALvoid = Pointer;

Constants

callibname='OpenAL32.dll';
calutlibname='Alut.dll';
AL_INVALID = -1;
AL_NONE = 0;
AL_FALSE = 0;
AL_TRUE = 1;
AL_SOURCE_ABSOLUTE = $201;
AL_SOURCE_RELATIVE = $202;
AL_CONE_INNER_ANGLE = $1001;
AL_CONE_OUTER_ANGLE = $1002;
AL_PITCH =$1003;
AL_POSITION =$1004;
AL_DIRECTION =$1005;
AL_VELOCITY =$1006;
AL_LOOPING =$1007;
AL_BUFFER =$1009;
AL_GAIN =$100A;
AL_MIN_GAIN =$100D;
AL_MAX_GAIN =$100E;
AL_ORIENTATION =$100F;
AL_CHANNEL_MASK =$3000;
AL_SOURCE_STATE =$1010;
AL_INITIAL =$1011;
AL_PLAYING =$1012;
AL_PAUSED =$1013;
AL_STOPPED =$1014;
AL_BUFFERS_QUEUED =$1015;
AL_BUFFERS_PROCESSED =$1016;
AL_SEC_OFFSET = $1024;
AL_SAMPLE_OFFSET = $1025;
AL_BYTE_OFFSET = $1026;
AL_SOURCE_TYPE = $1027;
AL_STATIC = $1028;
AL_STREAMING = $1029;
AL_UNDETERMINED = $1030;
AL_FORMAT_MONO8 =$1100;
AL_FORMAT_MONO16 =$1101;
AL_FORMAT_STEREO8 =$1102;
AL_FORMAT_STEREO16 =$1103;
AL_REFERENCE_DISTANCE =$1020;
AL_ROLLOFF_FACTOR =$1021;
AL_CONE_OUTER_GAIN =$1022;
AL_MAX_DISTANCE =$1023;
AL_FREQUENCY =$2001;
AL_BITS =$2002;
AL_CHANNELS =$2003;
AL_SIZE =$2004;
AL_UNUSED =$2010;
AL_PENDING =$2011;
AL_PROCESSED =$2012;
AL_NO_ERROR =AL_FALSE;
AL_INVALID_NAME =$A001;
AL_ILLEGAL_ENUM =$A002;
AL_INVALID_ENUM =$A002;
AL_INVALID_VALUE =$A003;
AL_ILLEGAL_COMMAND =$A004;
AL_INVALID_OPERATION =$A004;
AL_OUT_OF_MEMORY =$A005;
AL_VENDOR =$B001;
AL_VERSION =$B002;
AL_RENDERER =$B003;
AL_EXTENSIONS =$B004;
AL_DOPPLER_FACTOR =$C000;
AL_DOPPLER_VELOCITY =$C001;
AL_SPEED_OF_SOUND = $C003;
AL_DISTANCE_MODEL =$D000;
AL_INVERSE_DISTANCE =$D001;
AL_INVERSE_DISTANCE_CLAMPED =$D002;
AL_LINEAR_DISTANCE =$D003;
AL_LINEAR_DISTANCE_CLAMPED =$D004;
AL_EXPONENT_DISTANCE =$D005;
AL_EXPONENT_DISTANCE_CLAMPED =$D006;
ALC_INVALID =0;
ALC_FALSE =0;
ALC_TRUE =1;
ALC_FREQUENCY =$1007;
ALC_REFRESH =$1008;
ALC_SYNC =$1009;
ALC_MONO_SOURCES =$1010;
ALC_STEREO_SOURCES =$1011;
ALC_NO_ERROR =ALC_FALSE;
ALC_INVALID_DEVICE =$A001;
ALC_INVALID_CONTEXT =$A002;
ALC_INVALID_ENUM =$A003;
ALC_INVALID_VALUE =$A004;
ALC_OUT_OF_MEMORY =$A005;
ALC_DEFAULT_DEVICE_SPECIFIER =$1004;
ALC_DEVICE_SPECIFIER =$1005;
ALC_EXTENSIONS =$1006;
ALC_MAJOR_VERSION =$1000;
ALC_MINOR_VERSION =$1001;
ALC_ATTRIBUTES_SIZE =$1002;
ALC_ALL_ATTRIBUTES =$1003;
ALC_DEFAULT_ALL_DEVICES_SPECIFIER =$1012;
ALC_ALL_DEVICES_SPECIFIER =$1013;
ALC_CAPTURE_DEVICE_SPECIFIER =$310;
ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER =$311;
ALC_CAPTURE_SAMPLES =$312;
ALC_EXT_EFX_NAME ='ALC_EXT_EFX';
ALC_EFX_MAJOR_VERSION =$20001;
ALC_EFX_MINOR_VERSION =$20002;
ALC_MAX_AUXILIARY_SENDS =$20003;
AL_METERS_PER_UNIT =$20004;
AL_DIRECT_FILTER =$20005;
AL_AUXILIARY_SEND_FILTER =$20006;
AL_AIR_ABSORPTION_FACTOR =$20007;
AL_ROOM_ROLLOFF_FACTOR =$20008;
AL_CONE_OUTER_GAINHF =$20009;
AL_DIRECT_FILTER_GAINHF_AUTO =$2000A;
AL_AUXILIARY_SEND_FILTER_GAIN_AUTO =$2000B;
AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO =$2000C;
AL_REVERB_DENSITY =$0001;
AL_REVERB_DIFFUSION =$0002;
AL_REVERB_GAIN =$0003;
AL_REVERB_GAINHF =$0004;
AL_REVERB_DECAY_TIME =$0005;
AL_REVERB_DECAY_HFRATIO =$0006;
AL_REVERB_REFLECTIONS_GAIN =$0007;
AL_REVERB_REFLECTIONS_DELAY =$0008;
AL_REVERB_LATE_REVERB_GAIN =$0009;
AL_REVERB_LATE_REVERB_DELAY =$000A;
AL_REVERB_AIR_ABSORPTION_GAINHF =$000B;
AL_REVERB_ROOM_ROLLOFF_FACTOR =$000C;
AL_REVERB_DECAY_HFLIMIT =$000D;
AL_CHORUS_WAVEFORM =$0001;
AL_CHORUS_PHASE =$0002;
AL_CHORUS_RATE =$0003;
AL_CHORUS_DEPTH =$0004;
AL_CHORUS_FEEDBACK =$0005;
AL_CHORUS_DELAY =$0006;
AL_DISTORTION_EDGE =$0001;
AL_DISTORTION_GAIN =$0002;
AL_DISTORTION_LOWPASS_CUTOFF =$0003;
AL_DISTORTION_EQCENTER =$0004;
AL_DISTORTION_EQBANDWIDTH =$0005;
AL_ECHO_DELAY =$0001;
AL_ECHO_LRDELAY =$0002;
AL_ECHO_DAMPING =$0003;
AL_ECHO_FEEDBACK =$0004;
AL_ECHO_SPREAD =$0005;
AL_FLANGER_WAVEFORM =$0001;
AL_FLANGER_PHASE =$0002;
AL_FLANGER_RATE =$0003;
AL_FLANGER_DEPTH =$0004;
AL_FLANGER_FEEDBACK =$0005;
AL_FLANGER_DELAY =$0006;
AL_FREQUENCY_SHIFTER_FREQUENCY =$0001;
AL_FREQUENCY_SHIFTER_LEFT_DIRECTION =$0002;
AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION =$0003;
AL_VOCAL_MORPHER_PHONEMEA =$0001;
AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING =$0002;
AL_VOCAL_MORPHER_PHONEMEB =$0003;
AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING =$0004;
AL_VOCAL_MORPHER_WAVEFORM =$0005;
AL_VOCAL_MORPHER_RATE =$0006;
AL_PITCH_SHIFTER_COARSE_TUNE =$0001;
AL_PITCH_SHIFTER_FINE_TUNE =$0002;
AL_RING_MODULATOR_FREQUENCY =$0001;
AL_RING_MODULATOR_HIGHPASS_CUTOFF =$0002;
AL_RING_MODULATOR_WAVEFORM =$0003;
AL_AUTOWAH_ATTACK_TIME =$0001;
AL_AUTOWAH_RELEASE_TIME =$0002;
AL_AUTOWAH_RESONANCE =$0003;
AL_AUTOWAH_PEAK_GAIN =$0004;
AL_COMPRESSOR_ONOFF =$0001;
AL_EQUALIZER_LOW_GAIN =$0001;
AL_EQUALIZER_LOW_CUTOFF =$0002;
AL_EQUALIZER_MID1_GAIN =$0003;
AL_EQUALIZER_MID1_CENTER =$0004;
AL_EQUALIZER_MID1_WIDTH =$0005;
AL_EQUALIZER_MID2_GAIN =$0006;
AL_EQUALIZER_MID2_CENTER =$0007;
AL_EQUALIZER_MID2_WIDTH =$0008;
AL_EQUALIZER_HIGH_GAIN =$0009;
AL_EQUALIZER_HIGH_CUTOFF =$000A;
AL_EFFECT_FIRST_PARAMETER =$0000;
AL_EFFECT_LAST_PARAMETER =$8000;
AL_EFFECT_TYPE =$8001;
AL_EFFECT_NULL =$0000;
AL_EFFECT_REVERB =$0001;
AL_EFFECT_CHORUS =$0002;
AL_EFFECT_DISTORTION =$0003;
AL_EFFECT_ECHO =$0004;
AL_EFFECT_FLANGER =$0005;
AL_EFFECT_FREQUENCY_SHIFTER =$0006;
AL_EFFECT_VOCAL_MORPHER =$0007;
AL_EFFECT_PITCH_SHIFTER =$0008;
AL_EFFECT_RING_MODULATOR =$0009;
AL_EFFECT_AUTOWAH =$000A;
AL_EFFECT_COMPRESSOR =$000B;
AL_EFFECT_EQUALIZER =$000C;
AL_EFFECTSLOT_EFFECT =$0001;
AL_EFFECTSLOT_GAIN =$0002;
AL_EFFECTSLOT_AUXILIARY_SEND_AUTO =$0003;
AL_EFFECTSLOT_NULL =$0000;
AL_LOWPASS_GAIN =$0001;
AL_LOWPASS_GAINHF =$0002;
AL_HIGHPASS_GAIN =$0001;
AL_HIGHPASS_GAINLF =$0002;
AL_BANDPASS_GAIN =$0001;
AL_BANDPASS_GAINLF =$0002;
AL_BANDPASS_GAINHF =$0003;
AL_FILTER_FIRST_PARAMETER =$0000;
AL_FILTER_LAST_PARAMETER =$8000;
AL_FILTER_TYPE =$8001;
AL_FILTER_NULL =$0000;
AL_FILTER_LOWPASS =$0001;
AL_FILTER_HIGHPASS =$0002;
AL_FILTER_BANDPASS =$0003;
LOWPASS_MIN_GAIN =0.0;
LOWPASS_MAX_GAIN =1.0;
LOWPASS_DEFAULT_GAIN =1.0;
LOWPASS_MIN_GAINHF =0.0;
LOWPASS_MAX_GAINHF =1.0;
LOWPASS_DEFAULT_GAINHF =1.0;
HIGHPASS_MIN_GAIN =0.0;
HIGHPASS_MAX_GAIN =1.0;
HIGHPASS_DEFAULT_GAIN =1.0;
HIGHPASS_MIN_GAINLF =0.0;
HIGHPASS_MAX_GAINLF =1.0;
HIGHPASS_DEFAULT_GAINLF =1.0;
BANDPASS_MIN_GAIN =0.0;
BANDPASS_MAX_GAIN =1.0;
BANDPASS_DEFAULT_GAIN =1.0;
BANDPASS_MIN_GAINHF =0.0;
BANDPASS_MAX_GAINHF =1.0;
BANDPASS_DEFAULT_GAINHF =1.0;
BANDPASS_MIN_GAINLF =0.0;
BANDPASS_MAX_GAINLF =1.0;
BANDPASS_DEFAULT_GAINLF =1.0;
AL_REVERB_MIN_DENSITY =0.0;
AL_REVERB_MAX_DENSITY =1.0;
AL_REVERB_DEFAULT_DENSITY =1.0;
AL_REVERB_MIN_DIFFUSION =0.0;
AL_REVERB_MAX_DIFFUSION =1.0;
AL_REVERB_DEFAULT_DIFFUSION =1.0;
AL_REVERB_MIN_GAIN =0.0;
AL_REVERB_MAX_GAIN =1.0;
AL_REVERB_DEFAULT_GAIN =0.32;
AL_REVERB_MIN_GAINHF =0.0;
AL_REVERB_MAX_GAINHF =1.0;
AL_REVERB_DEFAULT_GAINHF =0.89;
AL_REVERB_MIN_DECAY_TIME =0.1;
AL_REVERB_MAX_DECAY_TIME =20.0;
AL_REVERB_DEFAULT_DECAY_TIME =1.49;
AL_REVERB_MIN_DECAY_HFRATIO =0.1;
AL_REVERB_MAX_DECAY_HFRATIO =2.0;
AL_REVERB_DEFAULT_DECAY_HFRATIO =0.83;
AL_REVERB_MIN_REFLECTIONS_GAIN =0.0;
AL_REVERB_MAX_REFLECTIONS_GAIN =3.16;
AL_REVERB_DEFAULT_REFLECTIONS_GAIN =0.05;
AL_REVERB_MIN_REFLECTIONS_DELAY =0.0;
AL_REVERB_MAX_REFLECTIONS_DELAY =0.3;
AL_REVERB_DEFAULT_REFLECTIONS_DELAY =0.007;
AL_REVERB_MIN_LATE_REVERB_GAIN =0.0;
AL_REVERB_MAX_LATE_REVERB_GAIN =10.0;
AL_REVERB_DEFAULT_LATE_REVERB_GAIN =1.26;
AL_REVERB_MIN_LATE_REVERB_DELAY =0.0;
AL_REVERB_MAX_LATE_REVERB_DELAY =0.1;
AL_REVERB_DEFAULT_LATE_REVERB_DELAY =0.011;
AL_REVERB_MIN_AIR_ABSORPTION_GAINHF =0.892;
AL_REVERB_MAX_AIR_ABSORPTION_GAINHF =1.0;
AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF =0.994;
AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR =0.0;
AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR =10.0;
AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR =0.0;
AL_REVERB_MIN_DECAY_HFLIMIT =AL_FALSE;
AL_REVERB_MAX_DECAY_HFLIMIT =AL_TRUE;
AL_REVERB_DEFAULT_DECAY_HFLIMIT =AL_TRUE;
AL_CHORUS_MIN_WAVEFORM =0;
AL_CHORUS_MAX_WAVEFORM =1;
AL_CHORUS_DEFAULT_WAVEFORM =1;
AL_CHORUS_WAVEFORM_SINUSOID =0;
AL_CHORUS_WAVEFORM_TRIANGLE =1;
AL_CHORUS_MIN_PHASE =-180;
AL_CHORUS_MAX_PHASE =180;
AL_CHORUS_DEFAULT_PHASE =90;
AL_CHORUS_MIN_RATE =0.0;
AL_CHORUS_MAX_RATE =10.0;
AL_CHORUS_DEFAULT_RATE =1.1;
AL_CHORUS_MIN_DEPTH =0.0;
AL_CHORUS_MAX_DEPTH =1.0;
AL_CHORUS_DEFAULT_DEPTH =0.1;
AL_CHORUS_MIN_FEEDBACK =-1.0;
AL_CHORUS_MAX_FEEDBACK =1.0;
AL_CHORUS_DEFAULT_FEEDBACK =0.25;
AL_CHORUS_MIN_DELAY =0.0;
AL_CHORUS_MAX_DELAY =0.016;
AL_CHORUS_DEFAULT_DELAY =0.016;
AL_DISTORTION_MIN_EDGE =0.0;
AL_DISTORTION_MAX_EDGE =1.0;
AL_DISTORTION_DEFAULT_EDGE =0.2;
AL_DISTORTION_MIN_GAIN =0.01;
AL_DISTORTION_MAX_GAIN =1.0;
AL_DISTORTION_DEFAULT_GAIN =0.05;
AL_DISTORTION_MIN_LOWPASS_CUTOFF =80.0;
AL_DISTORTION_MAX_LOWPASS_CUTOFF =24000.0;
AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF =8000.0;
AL_DISTORTION_MIN_EQCENTER =80.0;
AL_DISTORTION_MAX_EQCENTER =24000.0;
AL_DISTORTION_DEFAULT_EQCENTER =3600.0;
AL_DISTORTION_MIN_EQBANDWIDTH =80.0;
AL_DISTORTION_MAX_EQBANDWIDTH =24000.0;
AL_DISTORTION_DEFAULT_EQBANDWIDTH =3600.0;
AL_ECHO_MIN_DELAY =0.0;
AL_ECHO_MAX_DELAY =0.207;
AL_ECHO_DEFAULT_DELAY =0.1;
AL_ECHO_MIN_LRDELAY =0.0;
AL_ECHO_MAX_LRDELAY =0.404;
AL_ECHO_DEFAULT_LRDELAY =0.1;
AL_ECHO_MIN_DAMPING =0.0;
AL_ECHO_MAX_DAMPING =0.99;
AL_ECHO_DEFAULT_DAMPING =0.5;
AL_ECHO_MIN_FEEDBACK =0.0;
AL_ECHO_MAX_FEEDBACK =1.0;
AL_ECHO_DEFAULT_FEEDBACK =0.5;
AL_ECHO_MIN_SPREAD =-1.0;
AL_ECHO_MAX_SPREAD =1.0;
AL_ECHO_DEFAULT_SPREAD =-1.0;
AL_FLANGER_MIN_WAVEFORM =0;
AL_FLANGER_MAX_WAVEFORM =1;
AL_FLANGER_DEFAULT_WAVEFORM =1;
AL_FLANGER_WAVEFORM_SINUSOID =0;
AL_FLANGER_WAVEFORM_TRIANGLE =1;
AL_FLANGER_MIN_PHASE =-180;
AL_FLANGER_MAX_PHASE =180;
AL_FLANGER_DEFAULT_PHASE =0;
AL_FLANGER_MIN_RATE =0.0;
AL_FLANGER_MAX_RATE =10.0;
AL_FLANGER_DEFAULT_RATE =0.27;
AL_FLANGER_MIN_DEPTH =0.0;
AL_FLANGER_MAX_DEPTH =1.0;
AL_FLANGER_DEFAULT_DEPTH =1.0;
AL_FLANGER_MIN_FEEDBACK =-1.0;
AL_FLANGER_MAX_FEEDBACK =1.0;
AL_FLANGER_DEFAULT_FEEDBACK =-0.5;
AL_FLANGER_MIN_DELAY =0.0;
AL_FLANGER_MAX_DELAY =0.004;
AL_FLANGER_DEFAULT_DELAY =0.002;
AL_FREQUENCY_SHIFTER_MIN_FREQUENCY =0.0;
AL_FREQUENCY_SHIFTER_MAX_FREQUENCY =24000.0;
AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY =0.0;
AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION =2;
AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION =2;
AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_DIRECTION_DOWN =0;
AL_FREQUENCY_SHIFTER_DIRECTION_UP =1;
AL_FREQUENCY_SHIFTER_DIRECTION_OFF =2;
AL_VOCAL_MORPHER_MIN_PHONEMEA =0;
AL_VOCAL_MORPHER_MAX_PHONEMEA =29;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEA =0;
AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING =-24;
AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING =24;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING =0;
AL_VOCAL_MORPHER_MIN_PHONEMEB =0;
AL_VOCAL_MORPHER_MAX_PHONEMEB =29;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEB =10;
AL_VOCAL_MORPHER_PHONEME_A =0;
AL_VOCAL_MORPHER_PHONEME_E =1;
AL_VOCAL_MORPHER_PHONEME_I =2;
AL_VOCAL_MORPHER_PHONEME_O =3;
AL_VOCAL_MORPHER_PHONEME_U =4;
AL_VOCAL_MORPHER_PHONEME_AA =5;
AL_VOCAL_MORPHER_PHONEME_AE =6;
AL_VOCAL_MORPHER_PHONEME_AH =7;
AL_VOCAL_MORPHER_PHONEME_AO =8;
AL_VOCAL_MORPHER_PHONEME_EH =9;
AL_VOCAL_MORPHER_PHONEME_ER =10;
AL_VOCAL_MORPHER_PHONEME_IH =11;
AL_VOCAL_MORPHER_PHONEME_IY =12;
AL_VOCAL_MORPHER_PHONEME_UH =13;
AL_VOCAL_MORPHER_PHONEME_UW =14;
AL_VOCAL_MORPHER_PHONEME_B =15;
AL_VOCAL_MORPHER_PHONEME_D =16;
AL_VOCAL_MORPHER_PHONEME_F =17;
AL_VOCAL_MORPHER_PHONEME_G =18;
AL_VOCAL_MORPHER_PHONEME_J =19;
AL_VOCAL_MORPHER_PHONEME_K =20;
AL_VOCAL_MORPHER_PHONEME_L =21;
AL_VOCAL_MORPHER_PHONEME_M =22;
AL_VOCAL_MORPHER_PHONEME_N =23;
AL_VOCAL_MORPHER_PHONEME_P =24;
AL_VOCAL_MORPHER_PHONEME_R =25;
AL_VOCAL_MORPHER_PHONEME_S =26;
AL_VOCAL_MORPHER_PHONEME_T =27;
AL_VOCAL_MORPHER_PHONEME_V =28;
AL_VOCAL_MORPHER_PHONEME_Z =29;
AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING =-24;
AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING =24;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING =0;
AL_VOCAL_MORPHER_MIN_WAVEFORM =0;
AL_VOCAL_MORPHER_MAX_WAVEFORM =2;
AL_VOCAL_MORPHER_DEFAULT_WAVEFORM =0;
AL_VOCAL_MORPHER_WAVEFORM_SINUSOID =0;
AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE =1;
AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH =2;
AL_VOCAL_MORPHER_MIN_RATE =0.0;
AL_VOCAL_MORPHER_MAX_RATE =10.0;
AL_VOCAL_MORPHER_DEFAULT_RATE =1.41;
AL_PITCH_SHIFTER_MIN_COARSE_TUNE =-12;
AL_PITCH_SHIFTER_MAX_COARSE_TUNE =12;
AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE =12;
AL_PITCH_SHIFTER_MIN_FINE_TUNE =-50;
AL_PITCH_SHIFTER_MAX_FINE_TUNE =50;
AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE =0;
AL_RING_MODULATOR_MIN_FREQUENCY =0.0;
AL_RING_MODULATOR_MAX_FREQUENCY =8000.0;
AL_RING_MODULATOR_DEFAULT_FREQUENCY =440.0;
AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF =0.0;
AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF =24000.0;
AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF =800.0;
AL_RING_MODULATOR_MIN_WAVEFORM =0;
AL_RING_MODULATOR_MAX_WAVEFORM =2;
AL_RING_MODULATOR_DEFAULT_WAVEFORM =0;
AL_RING_MODULATOR_SINUSOID =0;
AL_RING_MODULATOR_SAWTOOTH =1;
AL_RING_MODULATOR_SQUARE =2;
AL_AUTOWAH_MIN_ATTACK_TIME =0.0001;
AL_AUTOWAH_MAX_ATTACK_TIME =1.0;
AL_AUTOWAH_DEFAULT_ATTACK_TIME =0.06;
AL_AUTOWAH_MIN_RELEASE_TIME =0.0001;
AL_AUTOWAH_MAX_RELEASE_TIME =1.0;
AL_AUTOWAH_DEFAULT_RELEASE_TIME =0.06;
AL_AUTOWAH_MIN_RESONANCE =2.0;
AL_AUTOWAH_MAX_RESONANCE =1000.0;
AL_AUTOWAH_DEFAULT_RESONANCE =1000.0;
AL_AUTOWAH_MIN_PEAK_GAIN =0.00003;
AL_AUTOWAH_MAX_PEAK_GAIN =31621.0;
AL_AUTOWAH_DEFAULT_PEAK_GAIN =11.22;
AL_COMPRESSOR_MIN_ONOFF =0;
AL_COMPRESSOR_MAX_ONOFF =1;
AL_COMPRESSOR_DEFAULT_ONOFF =1;
AL_EQUALIZER_MIN_LOW_GAIN =0.126;
AL_EQUALIZER_MAX_LOW_GAIN =7.943;
AL_EQUALIZER_DEFAULT_LOW_GAIN =1.0;
AL_EQUALIZER_MIN_LOW_CUTOFF =50.0;
AL_EQUALIZER_MAX_LOW_CUTOFF =800.0;
AL_EQUALIZER_DEFAULT_LOW_CUTOFF =200.0;
AL_EQUALIZER_MIN_MID1_GAIN =0.126;
AL_EQUALIZER_MAX_MID1_GAIN =7.943;
AL_EQUALIZER_DEFAULT_MID1_GAIN =1.0;
AL_EQUALIZER_MIN_MID1_CENTER =200.0;
AL_EQUALIZER_MAX_MID1_CENTER =3000.0;
AL_EQUALIZER_DEFAULT_MID1_CENTER =500.0;
AL_EQUALIZER_MIN_MID1_WIDTH =0.01;
AL_EQUALIZER_MAX_MID1_WIDTH =1.0;
AL_EQUALIZER_DEFAULT_MID1_WIDTH =1.0;
AL_EQUALIZER_MIN_MID2_GAIN =0.126;
AL_EQUALIZER_MAX_MID2_GAIN =7.943;
AL_EQUALIZER_DEFAULT_MID2_GAIN =1.0;
AL_EQUALIZER_MIN_MID2_CENTER =1000.0;
AL_EQUALIZER_MAX_MID2_CENTER =8000.0;
AL_EQUALIZER_DEFAULT_MID2_CENTER =3000.0;
AL_EQUALIZER_MIN_MID2_WIDTH =0.01;
AL_EQUALIZER_MAX_MID2_WIDTH =1.0;
AL_EQUALIZER_DEFAULT_MID2_WIDTH =1.0;
AL_EQUALIZER_MIN_HIGH_GAIN =0.126;
AL_EQUALIZER_MAX_HIGH_GAIN =7.943;
AL_EQUALIZER_DEFAULT_HIGH_GAIN =1.0;
AL_EQUALIZER_MIN_HIGH_CUTOFF =4000.0;
AL_EQUALIZER_MAX_HIGH_CUTOFF =16000.0;
AL_EQUALIZER_DEFAULT_HIGH_CUTOFF =6000.0;
AL_MIN_AIR_ABSORPTION_FACTOR =0.0;
AL_MAX_AIR_ABSORPTION_FACTOR =10.0;
AL_DEFAULT_AIR_ABSORPTION_FACTOR =0.0;
AL_MIN_ROOM_ROLLOFF_FACTOR =0.0;
AL_MAX_ROOM_ROLLOFF_FACTOR =10.0;
AL_DEFAULT_ROOM_ROLLOFF_FACTOR =0.0;
AL_MIN_CONE_OUTER_GAINHF =0.0;
AL_MAX_CONE_OUTER_GAINHF =1.0;
AL_DEFAULT_CONE_OUTER_GAINHF =1.0;
AL_MIN_DIRECT_FILTER_GAINHF_AUTO =AL_FALSE;
AL_MAX_DIRECT_FILTER_GAINHF_AUTO =AL_TRUE;
AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO =AL_TRUE;
AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO =AL_FALSE;
AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO =AL_TRUE;
AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO =AL_TRUE;
AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO =AL_FALSE;
AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO =AL_TRUE;
AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO =AL_TRUE;
AL_DEFAULT_METERS_PER_UNIT =1.0;
AL_EAXREVERB_DENSITY =$0001;
AL_EAXREVERB_DIFFUSION =$0002;
AL_EAXREVERB_GAIN =$0003;
AL_EAXREVERB_GAINHF =$0004;
AL_EAXREVERB_GAINLF =$0005;
AL_EAXREVERB_DECAY_TIME =$0006;
AL_EAXREVERB_DECAY_HFRATIO =$0007;
AL_EAXREVERB_DECAY_LFRATIO =$0008;
AL_EAXREVERB_REFLECTIONS_GAIN =$0009;
AL_EAXREVERB_REFLECTIONS_DELAY =$000A;
AL_EAXREVERB_REFLECTIONS_PAN =$000B;
AL_EAXREVERB_LATE_REVERB_GAIN =$000C;
AL_EAXREVERB_LATE_REVERB_DELAY =$000D;
AL_EAXREVERB_LATE_REVERB_PAN =$000E;
AL_EAXREVERB_ECHO_TIME =$000F;
AL_EAXREVERB_ECHO_DEPTH =$0010;
AL_EAXREVERB_MODULATION_TIME =$0011;
AL_EAXREVERB_MODULATION_DEPTH =$0012;
AL_EAXREVERB_AIR_ABSORPTION_GAINHF =$0013;
AL_EAXREVERB_HFREFERENCE =$0014;
AL_EAXREVERB_LFREFERENCE =$0015;
AL_EAXREVERB_ROOM_ROLLOFF_FACTOR =$0016;
AL_EAXREVERB_DECAY_HFLIMIT =$0017;
AL_EFFECT_EAXREVERB =$8000;
AL_EAXREVERB_MIN_DENSITY =0.0;
AL_EAXREVERB_MAX_DENSITY =1.0;
AL_EAXREVERB_DEFAULT_DENSITY =1.0;
AL_EAXREVERB_MIN_DIFFUSION =0.0;
AL_EAXREVERB_MAX_DIFFUSION =1.0;
AL_EAXREVERB_DEFAULT_DIFFUSION =1.0;
AL_EAXREVERB_MIN_GAIN =0.0;
AL_EAXREVERB_MAX_GAIN =1.0;
AL_EAXREVERB_DEFAULT_GAIN =0.32;
AL_EAXREVERB_MIN_GAINHF =0.0;
AL_EAXREVERB_MAX_GAINHF =1.0;
AL_EAXREVERB_DEFAULT_GAINHF =0.89;
AL_EAXREVERB_MIN_GAINLF =0.0;
AL_EAXREVERB_MAX_GAINLF =1.0;
AL_EAXREVERB_DEFAULT_GAINLF =1.0;
AL_EAXREVERB_MIN_DECAY_TIME =0.1;
AL_EAXREVERB_MAX_DECAY_TIME =20.0;
AL_EAXREVERB_DEFAULT_DECAY_TIME =1.49;
AL_EAXREVERB_MIN_DECAY_HFRATIO =0.1;
AL_EAXREVERB_MAX_DECAY_HFRATIO =2.0;
AL_EAXREVERB_DEFAULT_DECAY_HFRATIO =0.83;
AL_EAXREVERB_MIN_DECAY_LFRATIO =0.1;
AL_EAXREVERB_MAX_DECAY_LFRATIO =2.0;
AL_EAXREVERB_DEFAULT_DECAY_LFRATIO =1.0;
AL_EAXREVERB_MIN_REFLECTIONS_GAIN =0.0;
AL_EAXREVERB_MAX_REFLECTIONS_GAIN =3.16;
AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN =0.05;
AL_EAXREVERB_MIN_REFLECTIONS_DELAY =0.0;
AL_EAXREVERB_MAX_REFLECTIONS_DELAY =0.3;
AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY =0.007;
AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN: array[0..2] of TALFloat = (0.0, 0.0, 0.0);
AL_EAXREVERB_MIN_LATE_REVERB_GAIN =0.0;
AL_EAXREVERB_MAX_LATE_REVERB_GAIN =10.0;
AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN =1.26;
AL_EAXREVERB_MIN_LATE_REVERB_DELAY =0.0;
AL_EAXREVERB_MAX_LATE_REVERB_DELAY =0.1;
AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY =0.011;
AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN: array[0..2] of TALFloat = (0.0, 0.0, 0.0);
AL_EAXREVERB_MIN_ECHO_TIME =0.075;
AL_EAXREVERB_MAX_ECHO_TIME =0.25;
AL_EAXREVERB_DEFAULT_ECHO_TIME =0.25;
AL_EAXREVERB_MIN_ECHO_DEPTH =0.0;
AL_EAXREVERB_MAX_ECHO_DEPTH =1.0;
AL_EAXREVERB_DEFAULT_ECHO_DEPTH =0.0;
AL_EAXREVERB_MIN_MODULATION_TIME =0.04;
AL_EAXREVERB_MAX_MODULATION_TIME =4.0;
AL_EAXREVERB_DEFAULT_MODULATION_TIME =0.25;
AL_EAXREVERB_MIN_MODULATION_DEPTH =0.0;
AL_EAXREVERB_MAX_MODULATION_DEPTH =1.0;
AL_EAXREVERB_DEFAULT_MODULATION_DEPTH =0.0;
AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF =0.892;
AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF =1.0;
AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF =0.994;
AL_EAXREVERB_MIN_HFREFERENCE =1000.0;
AL_EAXREVERB_MAX_HFREFERENCE =20000.0;
AL_EAXREVERB_DEFAULT_HFREFERENCE =5000.0;
AL_EAXREVERB_MIN_LFREFERENCE =20.0;
AL_EAXREVERB_MAX_LFREFERENCE =1000.0;
AL_EAXREVERB_DEFAULT_LFREFERENCE =250.0;
AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR =0.0;
AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR =10.0;
AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR =0.0;
AL_EAXREVERB_MIN_DECAY_HFLIMIT = AL_FALSE;
AL_EAXREVERB_MAX_DECAY_HFLIMIT = AL_TRUE;
AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT = AL_TRUE;
DSPROPSETID_EAX20_ListenerProperties : TGuid = '{0306A6A8-B224-11d2-99E5-0000E8D8C722}';
DSPROPSETID_EAX20_BufferProperties : TGuid = '{0306A6A7-B224-11d2-99E5-0000E8D8C722}';
DSPROPERTY_EAXLISTENER_NONE = 0;
DSPROPERTY_EAXLISTENER_ALLPARAMETERS = 1;
DSPROPERTY_EAXLISTENER_ROOM = 2;
DSPROPERTY_EAXLISTENER_ROOMHF = 3;
DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR = 4;
DSPROPERTY_EAXLISTENER_DECAYTIME = 5;
DSPROPERTY_EAXLISTENER_DECAYHFRATIO = 6;
DSPROPERTY_EAXLISTENER_REFLECTIONS = 7;
DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY = 8;
DSPROPERTY_EAXLISTENER_REVERB = 9;
DSPROPERTY_EAXLISTENER_REVERBDELAY = 10;
DSPROPERTY_EAXLISTENER_ENVIRONMENT = 11;
DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE = 12;
DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION = 13;
DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF = 14;
DSPROPERTY_EAXLISTENER_FLAGS = 15;
DSPROPERTY_EAXLISTENER_IMMEDIATE = $00000000;
DSPROPERTY_EAXLISTENER_DEFERRED = LongWORD($80000000);
DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS = (DSPROPERTY_EAXLISTENER_NONE or DSPROPERTY_EAXLISTENER_IMMEDIATE);
EAX_ENVIRONMENT_GENERIC = 0;
EAX_ENVIRONMENT_PADDEDCELL = 1;
EAX_ENVIRONMENT_ROOM = 2;
EAX_ENVIRONMENT_BATHROOM = 3;
EAX_ENVIRONMENT_LIVINGROOM = 4;
EAX_ENVIRONMENT_STONEROOM = 5;
EAX_ENVIRONMENT_AUDITORIUM = 6;
EAX_ENVIRONMENT_CONCERTHALL = 7;
EAX_ENVIRONMENT_CAVE = 8;
EAX_ENVIRONMENT_ARENA = 9;
EAX_ENVIRONMENT_HANGAR = 10;
EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
EAX_ENVIRONMENT_HALLWAY = 12;
EAX_ENVIRONMENT_STONECORRIDOR = 13;
EAX_ENVIRONMENT_ALLEY = 14;
EAX_ENVIRONMENT_FOREST = 15;
EAX_ENVIRONMENT_CITY = 16;
EAX_ENVIRONMENT_MOUNTAINS = 17;
EAX_ENVIRONMENT_QUARRY = 18;
EAX_ENVIRONMENT_PLAIN = 19;
EAX_ENVIRONMENT_PARKINGLOT = 20;
EAX_ENVIRONMENT_SEWERPIPE = 21;
EAX_ENVIRONMENT_UNDERWATER = 22;
EAX_ENVIRONMENT_DRUGGED = 23;
EAX_ENVIRONMENT_DIZZY = 24;
EAX_ENVIRONMENT_PSYCHOTIC = 25;
EAX_ENVIRONMENT_COUNT = 26;
EAXLISTENERFLAGS_DECAYTIMESCALE = $00000001;
EAXLISTENERFLAGS_REFLECTIONSSCALE = $00000002;
EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE = $00000004;
EAXLISTENERFLAGS_REVERBSCALE = $00000008;
EAXLISTENERFLAGS_REVERBDELAYSCALE = $00000010;
EAXLISTENERFLAGS_DECAYHFLIMIT = $00000020;
EAXLISTENERFLAGS_RESERVED = $FFFFFFC0;
EAXLISTENER_MINROOM = -10000;
EAXLISTENER_MAXROOM = 0;
EAXLISTENER_DEFAULTROOM = -1000;
EAXLISTENER_MINROOMHF = -10000;
EAXLISTENER_MAXROOMHF = 0;
EAXLISTENER_DEFAULTROOMHF = -100;
EAXLISTENER_MINROOMROLLOFFFACTOR = 0.0;
EAXLISTENER_MAXROOMROLLOFFFACTOR = 10.0;
EAXLISTENER_DEFAULTROOMROLLOFFFACTOR = 0.0;
EAXLISTENER_MINDECAYTIME = 0.1;
EAXLISTENER_MAXDECAYTIME = 20.0;
EAXLISTENER_DEFAULTDECAYTIME = 1.49;
EAXLISTENER_MINDECAYHFRATIO = 0.1;
EAXLISTENER_MAXDECAYHFRATIO = 2.0;
EAXLISTENER_DEFAULTDECAYHFRATIO = 0.83;
EAXLISTENER_MINREFLECTIONS = -10000;
EAXLISTENER_MAXREFLECTIONS = 1000;
EAXLISTENER_DEFAULTREFLECTIONS = -2602;
EAXLISTENER_MINREFLECTIONSDELAY = 0.0;
EAXLISTENER_MAXREFLECTIONSDELAY = 0.3;
EAXLISTENER_DEFAULTREFLECTIONSDELAY = 0.007;
EAXLISTENER_MINREVERB = -10000;
EAXLISTENER_MAXREVERB = 2000;
EAXLISTENER_DEFAULTREVERB = 200;
EAXLISTENER_MINREVERBDELAY = 0.0;
EAXLISTENER_MAXREVERBDELAY = 0.1;
EAXLISTENER_DEFAULTREVERBDELAY = 0.011;
EAXLISTENER_MINENVIRONMENT = 0;
EAXLISTENER_MAXENVIRONMENT = EAX_ENVIRONMENT_COUNT - 1;
EAXLISTENER_DEFAULTENVIRONMENT = EAX_ENVIRONMENT_GENERIC;
EAXLISTENER_MINENVIRONMENTSIZE = 1.0;
EAXLISTENER_MAXENVIRONMENTSIZE = 100.0;
EAXLISTENER_DEFAULTENVIRONMENTSIZE = 7.5;
EAXLISTENER_MINENVIRONMENTDIFFUSION = 0.0;
EAXLISTENER_MAXENVIRONMENTDIFFUSION = 1.0;
EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION = 1.0;
EAXLISTENER_MINAIRABSORPTIONHF = -100.0;
EAXLISTENER_MAXAIRABSORPTIONHF = 0.0;
EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0;
EAXLISTENER_DEFAULTFLAGS = EAXLISTENERFLAGS_DECAYTIMESCALE or EAXLISTENERFLAGS_REFLECTIONSSCALE or EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE or EAXLISTENERFLAGS_REVERBSCALE or EAXLISTENERFLAGS_REVERBDELAYSCALE or EAXLISTENERFLAGS_DECAYHFLIMIT;
DSPROPERTY_EAXBUFFER_NONE = 0;
DSPROPERTY_EAXBUFFER_ALLPARAMETERS = 1;
DSPROPERTY_EAXBUFFER_DIRECT = 2;
DSPROPERTY_EAXBUFFER_DIRECTHF = 3;
DSPROPERTY_EAXBUFFER_ROOM = 4;
DSPROPERTY_EAXBUFFER_ROOMHF = 5;
DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR = 6;
DSPROPERTY_EAXBUFFER_OBSTRUCTION = 7;
DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO = 8;
DSPROPERTY_EAXBUFFER_OCCLUSION = 9;
DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO = 10;
DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO = 11;
DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF = 12;
DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR = 13;
DSPROPERTY_EAXBUFFER_FLAG = 14;
DSPROPERTY_EAXBUFFER_IMMEDIATE = $00000000;
DSPROPERTY_EAXBUFFER_DEFERRED = LongWORD($80000000);
DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS = DSPROPERTY_EAXBUFFER_NONE or DSPROPERTY_EAXBUFFER_IMMEDIATE;
EAXBUFFERFLAGS_DIRECTHFAUTO = $00000001;
EAXBUFFERFLAGS_ROOMAUTO = $00000002;
EAXBUFFERFLAGS_ROOMHFAUTO = $00000004;
EAXBUFFERFLAGS_RESERVED = $FFFFFFF8;
EAXBUFFER_MINDIRECT = -10000;
EAXBUFFER_MAXDIRECT = 1000;
EAXBUFFER_DEFAULTDIRECT = 0;
EAXBUFFER_MINDIRECTHF = -10000;
EAXBUFFER_MAXDIRECTHF = 0;
EAXBUFFER_DEFAULTDIRECTHF = 0;
EAXBUFFER_MINROOM = -10000;
EAXBUFFER_MAXROOM = 1000;
EAXBUFFER_DEFAULTROOM = 0;
EAXBUFFER_MINROOMHF = -10000;
EAXBUFFER_MAXROOMHF = 0;
EAXBUFFER_DEFAULTROOMHF = 0;
EAXBUFFER_MINROOMROLLOFFFACTOR = 0.0;
EAXBUFFER_MAXROOMROLLOFFFACTOR = 10.;
EAXBUFFER_DEFAULTROOMROLLOFFFACTOR = 0.0;
EAXBUFFER_MINOBSTRUCTION = -10000;
EAXBUFFER_MAXOBSTRUCTION = 0;
EAXBUFFER_DEFAULTOBSTRUCTION = 0;
EAXBUFFER_MINOBSTRUCTIONLFRATIO = 0.0;
EAXBUFFER_MAXOBSTRUCTIONLFRATIO = 1.0;
EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO = 0.0;
EAXBUFFER_MINOCCLUSION = -10000;
EAXBUFFER_MAXOCCLUSION = 0;
EAXBUFFER_DEFAULTOCCLUSION = 0;
EAXBUFFER_MINOCCLUSIONLFRATIO = 0.0;
EAXBUFFER_MAXOCCLUSIONLFRATIO = 1.0;
EAXBUFFER_DEFAULTOCCLUSIONLFRATIO = 0.25;
EAXBUFFER_MINOCCLUSIONROOMRATIO = 0.0;
EAXBUFFER_MAXOCCLUSIONROOMRATIO = 10.0;
EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO = 0.5;
EAXBUFFER_MINOUTSIDEVOLUMEHF = -10000;
EAXBUFFER_MAXOUTSIDEVOLUMEHF = 0;
EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF = 0;
EAXBUFFER_MINAIRABSORPTIONFACTOR = 0.0;
EAXBUFFER_MAXAIRABSORPTIONFACTOR = 10.0;
EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR = 1.0;
EAXBUFFER_DEFAULTFLAGS = EAXBUFFERFLAGS_DIRECTHFAUTO or EAXBUFFERFLAGS_ROOMAUTO or EAXBUFFERFLAGS_ROOMHFAUTO;
EAX_MATERIAL_SINGLEWINDOW = -2800;
EAX_MATERIAL_SINGLEWINDOWLF = 0.71;
EAX_MATERIAL_SINGLEWINDOWROOMRATIO = 0.43;
EAX_MATERIAL_DOUBLEWINDOW = -5000;
EAX_MATERIAL_DOUBLEWINDOWHF = 0.40;
EAX_MATERIAL_DOUBLEWINDOWROOMRATIO = 0.24;
EAX_MATERIAL_THINDOOR = -1800;
EAX_MATERIAL_THINDOORLF = 0.66;
EAX_MATERIAL_THINDOORROOMRATIO = 0.66;
EAX_MATERIAL_THICKDOOR = -4400;
EAX_MATERIAL_THICKDOORLF = 0.64;
EAX_MATERIAL_THICKDOORROOMRTATION = 0.27;
EAX_MATERIAL_WOODWALL = -4000;
EAX_MATERIAL_WOODWALLLF = 0.50;
EAX_MATERIAL_WOODWALLROOMRATIO = 0.30;
EAX_MATERIAL_BRICKWALL = -5000;
EAX_MATERIAL_BRICKWALLLF = 0.60;
EAX_MATERIAL_BRICKWALLROOMRATIO = 0.24;
EAX_MATERIAL_STONEWALL = -6000;
EAX_MATERIAL_STONEWALLLF = 0.68;
EAX_MATERIAL_STONEWALLROOMRATIO = 0.20;
EAX_MATERIAL_CURTAIN = -1200;
EAX_MATERIAL_CURTAINLF = 0.15;
EAX_MATERIAL_CURTAINROOMRATIO = 1.00;

Variables

alEnable: procedure(capability: TALenum); cdecl;
alDisable: procedure(capability: TALenum); cdecl;
alIsEnabled: function(capability: TALenum): TALboolean; cdecl;
alHint: procedure(target, mode: TALenum); cdecl;
alGetBooleanv: procedure(param: TALenum; data: PALboolean); cdecl;
alGetIntegerv: procedure(param: TALenum; data: PALint); cdecl;
alGetFloatv: procedure(param: TALenum; data: PALfloat); cdecl;
alGetDoublev: procedure(param: TALenum; data: PALdouble); cdecl;
alGetString: function(param: TALenum): PALubyte; cdecl;
alGetBoolean: function(param: TALenum): TALboolean; cdecl;
alGetInteger: function(param: TALenum): TALint; cdecl;
alGetFloat: function(param: TALenum): TALfloat; cdecl;
alGetDouble: function(param: TALenum): TALdouble; cdecl;
alGetError: function: TALenum; cdecl;
alIsExtensionPresent: function(fname: PAnsiChar): TALboolean; cdecl;
alGetProcAddress: function(fname: PALuByte): Pointer; cdecl;
alGetEnumValue: function(ename: PALuByte): TALenum; cdecl;
alListenerf: procedure(param: TALenum; value: TALfloat); cdecl;
alListener3f: procedure(param: TALenum; f1: TALfloat; f2: TALfloat; f3: TALfloat); cdecl;
alListenerfv: procedure(param: TALenum; values: PALfloat); cdecl;
alListeneri: procedure(param: TAlenum; value: TALint); cdecl;
alListener3i: procedure(param: TALenum; value1: TALint; value2: TALint; value3: TALint );
alListeneriv: procedure(param: TALenum; const values: PALint );
alGetListeneriv: procedure(param: TALenum; values: PALint); cdecl;
alGetListenerfv: procedure(param: TALenum; values: PALfloat); cdecl;
alGenSources: procedure(n: TALsizei; sources: PALuint); cdecl;
alDeleteSources: procedure(n: TALsizei; sources: PALuint); cdecl;
alIsSource: function(id: TALuint): TALboolean; cdecl;
alSourcei: procedure(source: TALuint; param: TALenum; value: TALint); cdecl;
alSource3i: procedure(source: TALuint; param: TALenum; v1: TALint; v2: TALint; v3: TALint); cdecl;
alSourceiv: procedure(source: TALuint; param: TALenum; values: PALint); cdecl;
alSourcef: procedure(source: TALuint; param: TALenum; value: TALfloat); cdecl;
alSource3f: procedure(source: TALuint; param: TALenum; v1: TALfloat; v2: TALfloat; v3: TALfloat); cdecl;
alSourcefv: procedure(source: TALuint; param: TALenum; values: PALfloat); cdecl;
alGetSourcei: procedure(source: TALuint; param: TALenum; value: PALint); cdecl;
alGetSource3i: procedure(source: TALuint; param: TALenum; v1: PALint; v2: PALint; v3: PALint); cdecl;
alGetSourceiv: procedure(source: TALuint; param: TALenum; values: PALint); cdecl;
alGetSourcef: procedure(source: TALuint; param: TALenum; value: PALfloat); cdecl;
alGetSource3f: procedure(source: TALuint; param: TALenum; v1: PALfloat; v2: PALfloat; v3: PALfloat); cdecl;
alGetSourcefv: procedure(source: TALuint; param: TALenum; values: PALfloat); cdecl;
alSourcePlay: procedure(source: TALuint); cdecl;
alSourcePause: procedure(source: TALuint); cdecl;
alSourceStop: procedure(source: TALuint); cdecl;
alSourceRewind: procedure(source: TALuint); cdecl;
alSourcePlayv: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourceStopv: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourceRewindv: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourcePausev: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourceQueueBuffers: procedure(source: TALuint; n: TALsizei; buffers: PALuint); cdecl;
alSourceUnqueueBuffers: procedure(source: TALuint; n: TALsizei; buffers: PALuint); cdecl;
alGenBuffers: procedure(n: TALsizei; buffers: PALuint); cdecl;
alDeleteBuffers: procedure(n: TALsizei; buffers: PALuint); cdecl;
alIsBuffer: function(buffer: TALuint): TALboolean; cdecl;
alBufferData: procedure(buffer: TALuint; format: TALenum; data: Pointer; size, freq: TALsizei); cdecl;
alBufferi: procedure(buffer: TALuint; param: TALenum; value: TALint); cdecl;
alBuffer3i: procedure(buffer: TALuint; param: TALenum; v1: TALint; v2: TALint; v3: TALint); cdecl;
alBufferiv: procedure(buffer: TALuint; param: TALenum; values: PALint); cdecl;
alBufferf: procedure(buffer: TALuint; param: TALenum; value: TALfloat); cdecl;
alBuffer3f: procedure(buffer: TALuint; param: TALenum; v1: TALfloat; v2: TALfloat; v3: TALfloat); cdecl;
alBufferfv: procedure(buffer: TALuint; param: TALenum; values: PALfloat); cdecl;
alGetBufferi: procedure(buffer: TALuint; param: TALenum; value: PALint); cdecl;
alGetBuffer3i: procedure(buffer: TALuint; param: TALenum; v1: PALint; v2: PALint; v3: PALint); cdecl;
alGetBufferiv: procedure(buffer: TALuint; param: TALenum; values: PALint); cdecl;
alGetBufferf: procedure(buffer: TALuint; param: TALenum; value: PALfloat); cdecl;
alGetBuffer3f: procedure(buffer: TALuint; param: TALenum; v1: PALfloat; v2: PALfloat; v3: PALfloat); cdecl;
alGetBufferfv: procedure(buffer: TALuint; param: TALenum; values: PALfloat); cdecl;
alDistanceModel: procedure(value: TALenum); cdecl;
alDopplerFactor: procedure(value: TALfloat); cdecl;
alDopplerVelocity: procedure(value: TALfloat); cdecl;
alSpeedOfSound: procedure( value: TALfloat ); cdecl;
alcCreateContext: function(device: TALCdevice; attrlist: PALCint): TALCcontext; cdecl;
alcMakeContextCurrent: function(context: TALCcontext): TALCenum; cdecl;
alcProcessContext: procedure(context: TALCcontext); cdecl;
alcSuspendContext: procedure(context: TALCcontext); cdecl;
alcDestroyContext: procedure(context: TALCcontext); cdecl;
alcGetCurrentContext: function: TALCcontext; cdecl;
alcGetContextsDevice: function(context: TALCcontext): TALCdevice; cdecl;
alcOpenDevice: function(deviceName: PALCuByte): TALCdevice; cdecl;
alcCloseDevice: procedure(device: TALCdevice); cdecl;
alcGetError: function(device: TALCdevice): TALCenum; cdecl;
alcIsExtensionPresent: function(device: TALCdevice; extName: PALuByte): TALCboolean; cdecl;
alcGetProcAddress: function(device: TALCdevice; funcName: PALuByte): TALCvoid; cdecl;
alcGetEnumValue: function(device: TALCdevice; enumName: PALuByte): TALCenum; cdecl;
alcGetString: function(device: TALCdevice; param: TALCenum): PALCubyte; cdecl;
alcGetIntegerv: procedure(device: TALCdevice; param: TALCenum; size: TALCsizei; data: PALCint); cdecl;
alcCaptureOpenDevice: function( const devicename: PALCchar; frequency: TALCuint; format: TALCenum; buffersize: TALCsizei): PALCdevice; cdecl;
alcCaptureCloseDevice: function( device: PALCdevice ): TALCboolean; cdecl;
alcCaptureStart: procedure( device: PALCdevice ); cdecl;
alcCaptureStop: procedure( device: PALCdevice ); cdecl;
alcCaptureSamples: procedure( device: PALCdevice; buffer: TALCvoid; samples: TALCsizei ); cdecl;
EAXSet: Function(const Guid: TGUID; ALuint1: TALuint; ALuint2: TALuint; point: Pointer; ALuint3: TALuint): TALenum; cdecl;
EAXGet: Function(const Guid: TGUID; ALuint1: TALuint; ALuint2: TALuint; point: Pointer; ALuint3: TALuint): TALenum; cdecl;
AL_EAX_RAM_SIZE: TALEnum;
AL_EAX_RAM_FREE: TALEnum;
AL_STORAGE_AUTOMATIC: TALEnum;
AL_STORAGE_HARDWARE: TALEnum;
AL_STORAGE_ACCESSIBLE: TALEnum;
EAXSetBufferMode: function(n: TALsizei;buffers: PALuint; value: TALint ): TALboolean; cdecl;
EAXGetBufferMode: function(buffer: TALuint; value: PALint ): TALenum; cdecl;
ALGENEFFECTS: procedure( n: TALsizei; effects: PALuint ); cdecl;
ALDELETEEFFECTS: procedure( n: TALsizei; effects: PALuint ); cdecl;
ALISEFFECT: function( eid: TALuint ): TALboolean; cdecl;
ALEFFECTI: procedure( eid: TALuint; param: TALCenum; value: TALint); cdecl;
ALEFFECTIV: procedure( eid: TALuint; param: TALenum; values: PALint ); cdecl;
ALEFFECTF: procedure( eid: TALuint; param: TALenum; value: TALfloat); cdecl;
ALEFFECTFV: procedure( eid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGETEFFECTI: procedure( eid: TALuint; param: TALenum; value: PALint ); cdecl;
ALGETEFFECTIV: procedure( eid: TALuint; param: TALenum; values: PALint ); cdecl;
ALGETEFFECTF: procedure( eid: TALuint; param: TALenum; value: PALfloat ); cdecl;
ALGETEFFECTFV: procedure( eid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGENFILTERS: procedure( n: TALsizei; filters: PALuint ); cdecl;
ALDELETEFILTERS: procedure( n: TALsizei; filters: PALuint ); cdecl;
ALISFILTER: function( fid: TALuint ): TALboolean; cdecl;
ALFILTERI: procedure( fid: TALuint; param: TALenum; value: TALint ); cdecl;
ALFILTERIV: procedure( fid: TALuint; param: TALenum; values: PALint ); cdecl;
ALFILTERF: procedure( fid: TALuint; param: TALenum; value: TALfloat); cdecl;
ALFILTERFV: procedure( fid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGETFILTERI: procedure( fid: TALuint; param: TALenum; value: PALint ); cdecl;
ALGETFILTERIV: procedure( fid: TALuint; param: TALenum; values: PALint ); cdecl;
ALGETFILTERF: procedure( fid: TALuint; param: TALenum; value: PALfloat ); cdecl;
ALGETFILTERFV: procedure( fid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGENAUXILIARYEFFECTSLOTS: procedure( n: TALsizei; slots: PALuint ); cdecl;
ALDELETEAUXILIARYEFFECTSLOTS: procedure( n: TALsizei; slots: PALuint ); cdecl;
ALISAUXILIARYEFFECTSLOT: function( slot: TALuint ): TALboolean; cdecl;
ALAUXILIARYEFFECTSLOTI: procedure( asid: TALuint; param: TALenum; value: TALint ); cdecl;
ALAUXILIARYEFFECTSLOTIV: procedure( asid: TALuint; param: TALenum; values: PALint ); cdecl;
ALAUXILIARYEFFECTSLOTF: procedure( asid: TALuint; param: TALenum; value: TALfloat ); cdecl;
ALAUXILIARYEFFECTSLOTFV: procedure( asid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGETAUXILIARYEFFECTSLOTI: procedure( asid: TALuint; param: TALenum; value: PALint ); cdecl;
ALGETAUXILIARYEFFECTSLOTIV: procedure( asid: TALuint; param: TALenum; values: PALint ); cdecl;
ALGETAUXILIARYEFFECTSLOTF: procedure( asid: TALuint; param: TALenum; value: PALfloat ); cdecl;
ALGETAUXILIARYEFFECTSLOTFV: procedure( asid: TALuint; param: TALenum; values: PALfloat ); cdecl;
LibHandle: THandle = 0;
EFXUtilLibHandle: THandle = 0;

Description

Functions and Procedures

procedure alutInit(argc: PALint; argv: array of PALbyte);

Internal Alut functions

procedure alutExit;
procedure alutLoadWAVFile(fname: string; var format: TALenum; var data: TALvoid; var size: TALsizei; var freq: TALsizei; var loop: TALint);
procedure alutLoadWAVMemory(memory: PALbyte; var format: TALenum; var data: TALvoid; var size: TALsizei; var freq: TALsizei; var loop: TALint);
procedure alutUnloadWAV(format: TALenum; data: TALvoid; size: TALsizei; freq: TALsizei);
function InitOpenAL(LibName: String = callibname): Boolean;
procedure ReadOpenALExtensions;

Types

DSPROPERTY_EAX_BUFFERPROPERTY = LongWORD;
DSPROPERTY_EAX_LISTENERPROPERTY = LongWORD;

EAX extension

EFXEAXREVERBPROPERTIES = _EFXEAXREVERBPROPERTIES;
EFXLOWPASSFILTER = _EFXLOWPASSFILTER;
HMODULE = THandle;
PALbitfield = ˆTALbitfield;
PALboolean = ˆTALboolean;
PALbyte = ˆTALbyte;
PALCboolean = ˆTALCboolean;
PALCbyte = ˆTALCbyte;
PALCchar = PAnsiChar;
PALCcontext = ˆTALCcontext;
PALCdevice = ˆTALCdevice;
PALCdouble = ˆTALCdouble;
PALCenum = ˆTALCenum;
PALCfloat = ˆTALCfloat;
PALchar = PAnsiChar;
PALCint = ˆTALCint;
PALclampd = ˆTALclampd;
PALclampf = ˆTALclampf;
PALCshort = ˆTALCshort;
PALCsizei = ˆTALCsizei;
PALCubyte = PAnsiChar;
PALCuint = ˆTALCuint;
PALCushort = ˆTALCushort;
PALCvoid = ˆTALCvoid;
PALdouble = ˆTALdouble;
PALenum = ˆTALenum;
PALfloat = ˆTALfloat;
PALint = ˆTALint;
PALshort = ˆTALshort;
PALsizei = ˆTALsizei;
PALuByte = PAnsiChar;
PALuint = ˆTALuint;
PALushort = ˆTALushort;
PALvoid = ˆTALvoid;
PEaxBufferProperties = ˆTEaxBufferProperties;
PEaxListenerProperties = ˆTEaxListenerProperties;
PEFXEAXREVERBPROPERTIES = ˆ_EFXEAXREVERBPROPERTIES;
PEFXLOWPASSFILTER = ˆ_EFXLOWPASSFILTER;
PPALvoid = ˆPALvoid;
TALbitfield = Cardinal;

OpenAL bitfields.

TALboolean = Boolean;

OpenAL boolean type.

TALbyte = ShortInt;

OpenAL 8bit signed byte.

TALCboolean = boolean;

ALC boolean type.

TALCbyte = ShortInt;

ALC 8bit signed byte.

TALCchar = char;

ALC character type

TALCcontext = TALCvoid;

ALC context

TALCdevice = TALCvoid;

ALC device

TALCdouble = double;

ALC 64bit double point type.

TALCenum = integer;

ALC enumerations.

TALCfloat = single;

ALC 32bit floating point type.

TALchar = char;

character

TALCint = integer;

ALC 32bit signed integer type.

TALclampd = TALdouble;

Openal clamped double.

TALclampf = TALfloat;

OpenAL clamped float.

TALCshort = smallint;

ALC 16bit signed short integer type.

TALCsizei = integer;

ALC 32bit type.

TALCubyte = Char;

ALC 8bit unsigned byte.

TALCuint = Cardinal;

ALC 32bit unsigned integer type.

TALCushort = Word;

ALC 16bit unsigned short integer type.

TALCvoid = Pointer;

ALC void type

TALdouble = Double;

OpenAL 64bit double point type.

TALenum = Integer;

OpenAL enumerations.

TALfloat = Single;

OpenAL 32bit floating point type.

TALint = Integer;

OpenAL 32bit signed integer type.

TALshort = SmallInt;

OpenAL 16bit signed short integer type.

TALsizei = Cardinal;

OpenAL 32bit type.

TALuByte = Char;

OpenAL 8bit unsigned byte.

TALuint = Cardinal;

OpenAL 32bit unsigned integer type.

TALushort = Word;

OpenAL 16bit unsigned short integer type.

TALvoid = Pointer;

OpenAL void type

Constants

callibname='OpenAL32.dll';

define ALUT to use alut.dll

calutlibname='Alut.dll';
AL_INVALID = -1;

END EAX Extension bad value

AL_NONE = 0;
AL_FALSE = 0;

Boolean False.

AL_TRUE = 1;

Boolean True.

AL_SOURCE_ABSOLUTE = $201;

Indicate the type of AL_SOURCE. Sources can be spatialized AL_SOURCE_TYPE = $200; Indicate source has absolute coordinates.

AL_SOURCE_RELATIVE = $202;

Indicate Source has relative coordinates.

AL_CONE_INNER_ANGLE = $1001;

Directional source, inner cone angle, in degrees. Range: [0-360] Default: 360

AL_CONE_OUTER_ANGLE = $1002;

Directional source, outer cone angle, in degrees. Range: [0-360] Default: 360

AL_PITCH =$1003;

Specify the pitch to be applied, either at source, or on mixer results, at listener. Range: [0.5-2.0] Default: 1.0

AL_POSITION =$1004;

Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system.

AL_DIRECTION =$1005;

Specify the current direction.

AL_VELOCITY =$1006;

Specify the current velocity in three dimensional space.

AL_LOOPING =$1007;

Indicate whether source is looping. Type: ALboolean? Range: [AL_TRUE, AL_FALSE] Default: FALSE.

AL_BUFFER =$1009;

Indicate the buffer to provide sound samples. Type: ALuint. Range: any valid Buffer id.

AL_GAIN =$100A;

Indicate the gain (volume amplification) applied. Type: ALfloat. Range: ]0.0- ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0 is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled.

AL_MIN_GAIN =$100D;

Indicate minimum source attenuation Type: ALfloat Range: [0.0 - 1.0] Logarthmic

AL_MAX_GAIN =$100E;

Indicate maximum source attenuation Type: ALfloat Range: [0.0 - 1.0] Logarthmic

AL_ORIENTATION =$100F;

Indicate listener orientation. at/up

AL_CHANNEL_MASK =$3000;

Specify the channel mask. (Creative) Type: ALuint Range: [0 - 255]

AL_SOURCE_STATE =$1010;

Source state information.

AL_INITIAL =$1011;
AL_PLAYING =$1012;
AL_PAUSED =$1013;
AL_STOPPED =$1014;
AL_BUFFERS_QUEUED =$1015;

Buffer Queue params

AL_BUFFERS_PROCESSED =$1016;
AL_SEC_OFFSET = $1024;

Source buffer position information

AL_SAMPLE_OFFSET = $1025;
AL_BYTE_OFFSET = $1026;
AL_SOURCE_TYPE = $1027;

Source type (Static, Streaming or undetermined) Source is Static if a Buffer has been attached using AL_BUFFER Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers Source is undetermined when it has the NULL buffer attached

AL_STATIC = $1028;
AL_STREAMING = $1029;
AL_UNDETERMINED = $1030;
AL_FORMAT_MONO8 =$1100;

Sound samples: format specifier.

AL_FORMAT_MONO16 =$1101;
AL_FORMAT_STEREO8 =$1102;
AL_FORMAT_STEREO16 =$1103;
AL_REFERENCE_DISTANCE =$1020;

source specific reference distance Type: ALfloat Range: 0.0 - +inf At 0.0, no distance attenuation occurs. Default is 1.0.

AL_ROLLOFF_FACTOR =$1021;

source specific rolloff factor Type: ALfloat Range: 0.0 - +inf

AL_CONE_OUTER_GAIN =$1022;

Directional source, outer cone gain. Default: 0.0 Range: [0.0 - 1.0] Logarithmic

AL_MAX_DISTANCE =$1023;

Indicate distance above which sources are not attenuated using the inverse clamped distance model. Default: +inf Type: ALfloat Range: 0.0 - +inf

AL_FREQUENCY =$2001;

Sound samples: frequency, in units of Hertz [Hz]. This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component.

AL_BITS =$2002;
AL_CHANNELS =$2003;
AL_SIZE =$2004;
AL_UNUSED =$2010;

AL_DATA =$2005; Buffer state. Not supported for public use (yet).

AL_PENDING =$2011;
AL_PROCESSED =$2012;
AL_NO_ERROR =AL_FALSE;

Errors: No Error.

AL_INVALID_NAME =$A001;

Invalid Name paramater passed to AL call.

AL_ILLEGAL_ENUM =$A002;

Invalid parameter passed to AL call.

AL_INVALID_ENUM =$A002;
AL_INVALID_VALUE =$A003;

Invalid enum parameter value.

AL_ILLEGAL_COMMAND =$A004;

Illegal call.

AL_INVALID_OPERATION =$A004;
AL_OUT_OF_MEMORY =$A005;

No mojo.

AL_VENDOR =$B001;

Context strings: Vendor Name.

AL_VERSION =$B002;
AL_RENDERER =$B003;
AL_EXTENSIONS =$B004;
AL_DOPPLER_FACTOR =$C000;

Global tweakage. Doppler scale. Default 1.0

AL_DOPPLER_VELOCITY =$C001;

Tweaks speed of propagation.

AL_SPEED_OF_SOUND = $C003;

Speed of Sound in units per second

AL_DISTANCE_MODEL =$D000;

Distance models

used in conjunction with DistanceModel

implicit: NONE, which disances distance attenuation.

AL_INVERSE_DISTANCE =$D001;
AL_INVERSE_DISTANCE_CLAMPED =$D002;
AL_LINEAR_DISTANCE =$D003;
AL_LINEAR_DISTANCE_CLAMPED =$D004;
AL_EXPONENT_DISTANCE =$D005;
AL_EXPONENT_DISTANCE_CLAMPED =$D006;
ALC_INVALID =0;

bad value

ALC_FALSE =0;

Boolean False.

ALC_TRUE =1;

Boolean True.

ALC_FREQUENCY =$1007;

followed by <int> Hz

ALC_REFRESH =$1008;

followed by <int> Hz

ALC_SYNC =$1009;

followed by AL_TRUE, AL_FALSE

ALC_MONO_SOURCES =$1010;

followed by <int> Num of requested Mono (3D) Sources

ALC_STEREO_SOURCES =$1011;

followed by <int> Num of requested Stereo Sources

ALC_NO_ERROR =ALC_FALSE;

errors No error

ALC_INVALID_DEVICE =$A001;

No device

ALC_INVALID_CONTEXT =$A002;

invalid context ID

ALC_INVALID_ENUM =$A003;

bad enum

ALC_INVALID_VALUE =$A004;

bad value

ALC_OUT_OF_MEMORY =$A005;

Out of memory.

ALC_DEFAULT_DEVICE_SPECIFIER =$1004;

The Specifier string for default device

ALC_DEVICE_SPECIFIER =$1005;
ALC_EXTENSIONS =$1006;
ALC_MAJOR_VERSION =$1000;
ALC_MINOR_VERSION =$1001;
ALC_ATTRIBUTES_SIZE =$1002;
ALC_ALL_ATTRIBUTES =$1003;
ALC_DEFAULT_ALL_DEVICES_SPECIFIER =$1012;

ALC_ENUMERATE_ALL_EXT enums

ALC_ALL_DEVICES_SPECIFIER =$1013;
ALC_CAPTURE_DEVICE_SPECIFIER =$310;

Capture extension

ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER =$311;
ALC_CAPTURE_SAMPLES =$312;
ALC_EXT_EFX_NAME ='ALC_EXT_EFX';

EFX Extension

ALC_EFX_MAJOR_VERSION =$20001;

Context definitions to be used with alcCreateContext. These values must be unique and not conflict with other al context values.

ALC_EFX_MINOR_VERSION =$20002;
ALC_MAX_AUXILIARY_SENDS =$20003;
AL_METERS_PER_UNIT =$20004;

Listener definitions to be used with alListener functions. These values must be unique and not conflict with other al listener values.

AL_DIRECT_FILTER =$20005;

Source definitions to be used with alSource functions. These values must be unique and not conflict with other al source values.

AL_AUXILIARY_SEND_FILTER =$20006;
AL_AIR_ABSORPTION_FACTOR =$20007;
AL_ROOM_ROLLOFF_FACTOR =$20008;
AL_CONE_OUTER_GAINHF =$20009;
AL_DIRECT_FILTER_GAINHF_AUTO =$2000A;
AL_AUXILIARY_SEND_FILTER_GAIN_AUTO =$2000B;
AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO =$2000C;
AL_REVERB_DENSITY =$0001;

Effect object definitions to be used with alEffect functions. Effect parameter value definitions, ranges, and defaults appear farther down in this file. Reverb Parameters

AL_REVERB_DIFFUSION =$0002;
AL_REVERB_GAIN =$0003;
AL_REVERB_GAINHF =$0004;
AL_REVERB_DECAY_TIME =$0005;
AL_REVERB_DECAY_HFRATIO =$0006;
AL_REVERB_REFLECTIONS_GAIN =$0007;
AL_REVERB_REFLECTIONS_DELAY =$0008;
AL_REVERB_LATE_REVERB_GAIN =$0009;
AL_REVERB_LATE_REVERB_DELAY =$000A;
AL_REVERB_AIR_ABSORPTION_GAINHF =$000B;
AL_REVERB_ROOM_ROLLOFF_FACTOR =$000C;
AL_REVERB_DECAY_HFLIMIT =$000D;
AL_CHORUS_WAVEFORM =$0001;

Chorus Parameters

AL_CHORUS_PHASE =$0002;
AL_CHORUS_RATE =$0003;
AL_CHORUS_DEPTH =$0004;
AL_CHORUS_FEEDBACK =$0005;
AL_CHORUS_DELAY =$0006;
AL_DISTORTION_EDGE =$0001;

Distortion Parameters

AL_DISTORTION_GAIN =$0002;
AL_DISTORTION_LOWPASS_CUTOFF =$0003;
AL_DISTORTION_EQCENTER =$0004;
AL_DISTORTION_EQBANDWIDTH =$0005;
AL_ECHO_DELAY =$0001;

Echo Parameters

AL_ECHO_LRDELAY =$0002;
AL_ECHO_DAMPING =$0003;
AL_ECHO_FEEDBACK =$0004;
AL_ECHO_SPREAD =$0005;
AL_FLANGER_WAVEFORM =$0001;

Flanger Parameters

AL_FLANGER_PHASE =$0002;
AL_FLANGER_RATE =$0003;
AL_FLANGER_DEPTH =$0004;
AL_FLANGER_FEEDBACK =$0005;
AL_FLANGER_DELAY =$0006;
AL_FREQUENCY_SHIFTER_FREQUENCY =$0001;

Frequencyshifter Parameters

AL_FREQUENCY_SHIFTER_LEFT_DIRECTION =$0002;
AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION =$0003;
AL_VOCAL_MORPHER_PHONEMEA =$0001;

Vocalmorpher Parameters

AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING =$0002;
AL_VOCAL_MORPHER_PHONEMEB =$0003;
AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING =$0004;
AL_VOCAL_MORPHER_WAVEFORM =$0005;
AL_VOCAL_MORPHER_RATE =$0006;
AL_PITCH_SHIFTER_COARSE_TUNE =$0001;

Pitchshifter Parameters

AL_PITCH_SHIFTER_FINE_TUNE =$0002;
AL_RING_MODULATOR_FREQUENCY =$0001;

Ringmodulator Parameters

AL_RING_MODULATOR_HIGHPASS_CUTOFF =$0002;
AL_RING_MODULATOR_WAVEFORM =$0003;
AL_AUTOWAH_ATTACK_TIME =$0001;

Autowah Parameters

AL_AUTOWAH_RELEASE_TIME =$0002;
AL_AUTOWAH_RESONANCE =$0003;
AL_AUTOWAH_PEAK_GAIN =$0004;
AL_COMPRESSOR_ONOFF =$0001;

Compressor Parameters

AL_EQUALIZER_LOW_GAIN =$0001;

Equalizer Parameters

AL_EQUALIZER_LOW_CUTOFF =$0002;
AL_EQUALIZER_MID1_GAIN =$0003;
AL_EQUALIZER_MID1_CENTER =$0004;
AL_EQUALIZER_MID1_WIDTH =$0005;
AL_EQUALIZER_MID2_GAIN =$0006;
AL_EQUALIZER_MID2_CENTER =$0007;
AL_EQUALIZER_MID2_WIDTH =$0008;
AL_EQUALIZER_HIGH_GAIN =$0009;
AL_EQUALIZER_HIGH_CUTOFF =$000A;
AL_EFFECT_FIRST_PARAMETER =$0000;

Effect type

AL_EFFECT_LAST_PARAMETER =$8000;
AL_EFFECT_TYPE =$8001;
AL_EFFECT_NULL =$0000;

Effect type definitions to be used with AL_EFFECT_TYPE.

AL_EFFECT_REVERB =$0001;

Can also be used as an Effect Object ID

AL_EFFECT_CHORUS =$0002;
AL_EFFECT_DISTORTION =$0003;
AL_EFFECT_ECHO =$0004;
AL_EFFECT_FLANGER =$0005;
AL_EFFECT_FREQUENCY_SHIFTER =$0006;
AL_EFFECT_VOCAL_MORPHER =$0007;
AL_EFFECT_PITCH_SHIFTER =$0008;
AL_EFFECT_RING_MODULATOR =$0009;
AL_EFFECT_AUTOWAH =$000A;
AL_EFFECT_COMPRESSOR =$000B;
AL_EFFECT_EQUALIZER =$000C;
AL_EFFECTSLOT_EFFECT =$0001;

Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.

AL_EFFECTSLOT_GAIN =$0002;
AL_EFFECTSLOT_AUXILIARY_SEND_AUTO =$0003;
AL_EFFECTSLOT_NULL =$0000;

Value to be used as an Auxiliary Slot ID to disable a source send..

AL_LOWPASS_GAIN =$0001;

Filter object definitions to be used with alFilter functions. Lowpass parameters.

AL_LOWPASS_GAINHF =$0002;
AL_HIGHPASS_GAIN =$0001;

Highpass Parameters

AL_HIGHPASS_GAINLF =$0002;
AL_BANDPASS_GAIN =$0001;

Bandpass Parameters

AL_BANDPASS_GAINLF =$0002;
AL_BANDPASS_GAINHF =$0003;
AL_FILTER_FIRST_PARAMETER =$0000;

Filter type

AL_FILTER_LAST_PARAMETER =$8000;
AL_FILTER_TYPE =$8001;
AL_FILTER_NULL =$0000;

Filter type definitions to be used with AL_FILTER_TYPE.

AL_FILTER_LOWPASS =$0001;

Can also be used as a Filter Object ID

AL_FILTER_HIGHPASS =$0002;
AL_FILTER_BANDPASS =$0003;
LOWPASS_MIN_GAIN =0.0;

Filter ranges and defaults. Lowpass filter

LOWPASS_MAX_GAIN =1.0;
LOWPASS_DEFAULT_GAIN =1.0;
LOWPASS_MIN_GAINHF =0.0;
LOWPASS_MAX_GAINHF =1.0;
LOWPASS_DEFAULT_GAINHF =1.0;
HIGHPASS_MIN_GAIN =0.0;

Highpass filter

HIGHPASS_MAX_GAIN =1.0;
HIGHPASS_DEFAULT_GAIN =1.0;
HIGHPASS_MIN_GAINLF =0.0;
HIGHPASS_MAX_GAINLF =1.0;
HIGHPASS_DEFAULT_GAINLF =1.0;
BANDPASS_MIN_GAIN =0.0;

Bandpass filter

BANDPASS_MAX_GAIN =1.0;
BANDPASS_DEFAULT_GAIN =1.0;
BANDPASS_MIN_GAINHF =0.0;
BANDPASS_MAX_GAINHF =1.0;
BANDPASS_DEFAULT_GAINHF =1.0;
BANDPASS_MIN_GAINLF =0.0;
BANDPASS_MAX_GAINLF =1.0;
BANDPASS_DEFAULT_GAINLF =1.0;
AL_REVERB_MIN_DENSITY =0.0;

Effect parameter structures, value definitions, ranges and defaults. AL reverb effect parameter ranges and defaults

AL_REVERB_MAX_DENSITY =1.0;
AL_REVERB_DEFAULT_DENSITY =1.0;
AL_REVERB_MIN_DIFFUSION =0.0;
AL_REVERB_MAX_DIFFUSION =1.0;
AL_REVERB_DEFAULT_DIFFUSION =1.0;
AL_REVERB_MIN_GAIN =0.0;
AL_REVERB_MAX_GAIN =1.0;
AL_REVERB_DEFAULT_GAIN =0.32;
AL_REVERB_MIN_GAINHF =0.0;
AL_REVERB_MAX_GAINHF =1.0;
AL_REVERB_DEFAULT_GAINHF =0.89;
AL_REVERB_MIN_DECAY_TIME =0.1;
AL_REVERB_MAX_DECAY_TIME =20.0;
AL_REVERB_DEFAULT_DECAY_TIME =1.49;
AL_REVERB_MIN_DECAY_HFRATIO =0.1;
AL_REVERB_MAX_DECAY_HFRATIO =2.0;
AL_REVERB_DEFAULT_DECAY_HFRATIO =0.83;
AL_REVERB_MIN_REFLECTIONS_GAIN =0.0;
AL_REVERB_MAX_REFLECTIONS_GAIN =3.16;
AL_REVERB_DEFAULT_REFLECTIONS_GAIN =0.05;
AL_REVERB_MIN_REFLECTIONS_DELAY =0.0;
AL_REVERB_MAX_REFLECTIONS_DELAY =0.3;
AL_REVERB_DEFAULT_REFLECTIONS_DELAY =0.007;
AL_REVERB_MIN_LATE_REVERB_GAIN =0.0;
AL_REVERB_MAX_LATE_REVERB_GAIN =10.0;
AL_REVERB_DEFAULT_LATE_REVERB_GAIN =1.26;
AL_REVERB_MIN_LATE_REVERB_DELAY =0.0;
AL_REVERB_MAX_LATE_REVERB_DELAY =0.1;
AL_REVERB_DEFAULT_LATE_REVERB_DELAY =0.011;
AL_REVERB_MIN_AIR_ABSORPTION_GAINHF =0.892;
AL_REVERB_MAX_AIR_ABSORPTION_GAINHF =1.0;
AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF =0.994;
AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR =0.0;
AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR =10.0;
AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR =0.0;
AL_REVERB_MIN_DECAY_HFLIMIT =AL_FALSE;
AL_REVERB_MAX_DECAY_HFLIMIT =AL_TRUE;
AL_REVERB_DEFAULT_DECAY_HFLIMIT =AL_TRUE;
AL_CHORUS_MIN_WAVEFORM =0;

AL chorus effect parameter ranges and defaults

AL_CHORUS_MAX_WAVEFORM =1;
AL_CHORUS_DEFAULT_WAVEFORM =1;
AL_CHORUS_WAVEFORM_SINUSOID =0;
AL_CHORUS_WAVEFORM_TRIANGLE =1;
AL_CHORUS_MIN_PHASE =-180;
AL_CHORUS_MAX_PHASE =180;
AL_CHORUS_DEFAULT_PHASE =90;
AL_CHORUS_MIN_RATE =0.0;
AL_CHORUS_MAX_RATE =10.0;
AL_CHORUS_DEFAULT_RATE =1.1;
AL_CHORUS_MIN_DEPTH =0.0;
AL_CHORUS_MAX_DEPTH =1.0;
AL_CHORUS_DEFAULT_DEPTH =0.1;
AL_CHORUS_MIN_FEEDBACK =-1.0;
AL_CHORUS_MAX_FEEDBACK =1.0;
AL_CHORUS_DEFAULT_FEEDBACK =0.25;
AL_CHORUS_MIN_DELAY =0.0;
AL_CHORUS_MAX_DELAY =0.016;
AL_CHORUS_DEFAULT_DELAY =0.016;
AL_DISTORTION_MIN_EDGE =0.0;

AL distortion effect parameter ranges and defaults

AL_DISTORTION_MAX_EDGE =1.0;
AL_DISTORTION_DEFAULT_EDGE =0.2;
AL_DISTORTION_MIN_GAIN =0.01;
AL_DISTORTION_MAX_GAIN =1.0;
AL_DISTORTION_DEFAULT_GAIN =0.05;
AL_DISTORTION_MIN_LOWPASS_CUTOFF =80.0;
AL_DISTORTION_MAX_LOWPASS_CUTOFF =24000.0;
AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF =8000.0;
AL_DISTORTION_MIN_EQCENTER =80.0;
AL_DISTORTION_MAX_EQCENTER =24000.0;
AL_DISTORTION_DEFAULT_EQCENTER =3600.0;
AL_DISTORTION_MIN_EQBANDWIDTH =80.0;
AL_DISTORTION_MAX_EQBANDWIDTH =24000.0;
AL_DISTORTION_DEFAULT_EQBANDWIDTH =3600.0;
AL_ECHO_MIN_DELAY =0.0;

AL echo effect parameter ranges and defaults

AL_ECHO_MAX_DELAY =0.207;
AL_ECHO_DEFAULT_DELAY =0.1;
AL_ECHO_MIN_LRDELAY =0.0;
AL_ECHO_MAX_LRDELAY =0.404;
AL_ECHO_DEFAULT_LRDELAY =0.1;
AL_ECHO_MIN_DAMPING =0.0;
AL_ECHO_MAX_DAMPING =0.99;
AL_ECHO_DEFAULT_DAMPING =0.5;
AL_ECHO_MIN_FEEDBACK =0.0;
AL_ECHO_MAX_FEEDBACK =1.0;
AL_ECHO_DEFAULT_FEEDBACK =0.5;
AL_ECHO_MIN_SPREAD =-1.0;
AL_ECHO_MAX_SPREAD =1.0;
AL_ECHO_DEFAULT_SPREAD =-1.0;
AL_FLANGER_MIN_WAVEFORM =0;

AL flanger effect parameter ranges and defaults

AL_FLANGER_MAX_WAVEFORM =1;
AL_FLANGER_DEFAULT_WAVEFORM =1;
AL_FLANGER_WAVEFORM_SINUSOID =0;
AL_FLANGER_WAVEFORM_TRIANGLE =1;
AL_FLANGER_MIN_PHASE =-180;
AL_FLANGER_MAX_PHASE =180;
AL_FLANGER_DEFAULT_PHASE =0;
AL_FLANGER_MIN_RATE =0.0;
AL_FLANGER_MAX_RATE =10.0;
AL_FLANGER_DEFAULT_RATE =0.27;
AL_FLANGER_MIN_DEPTH =0.0;
AL_FLANGER_MAX_DEPTH =1.0;
AL_FLANGER_DEFAULT_DEPTH =1.0;
AL_FLANGER_MIN_FEEDBACK =-1.0;
AL_FLANGER_MAX_FEEDBACK =1.0;
AL_FLANGER_DEFAULT_FEEDBACK =-0.5;
AL_FLANGER_MIN_DELAY =0.0;
AL_FLANGER_MAX_DELAY =0.004;
AL_FLANGER_DEFAULT_DELAY =0.002;
AL_FREQUENCY_SHIFTER_MIN_FREQUENCY =0.0;

AL frequency shifter effect parameter ranges and defaults

AL_FREQUENCY_SHIFTER_MAX_FREQUENCY =24000.0;
AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY =0.0;
AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION =2;
AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION =2;
AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION =0;
AL_FREQUENCY_SHIFTER_DIRECTION_DOWN =0;
AL_FREQUENCY_SHIFTER_DIRECTION_UP =1;
AL_FREQUENCY_SHIFTER_DIRECTION_OFF =2;
AL_VOCAL_MORPHER_MIN_PHONEMEA =0;

AL vocal morpher effect parameter ranges and defaults

AL_VOCAL_MORPHER_MAX_PHONEMEA =29;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEA =0;
AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING =-24;
AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING =24;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING =0;
AL_VOCAL_MORPHER_MIN_PHONEMEB =0;
AL_VOCAL_MORPHER_MAX_PHONEMEB =29;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEB =10;
AL_VOCAL_MORPHER_PHONEME_A =0;
AL_VOCAL_MORPHER_PHONEME_E =1;
AL_VOCAL_MORPHER_PHONEME_I =2;
AL_VOCAL_MORPHER_PHONEME_O =3;
AL_VOCAL_MORPHER_PHONEME_U =4;
AL_VOCAL_MORPHER_PHONEME_AA =5;
AL_VOCAL_MORPHER_PHONEME_AE =6;
AL_VOCAL_MORPHER_PHONEME_AH =7;
AL_VOCAL_MORPHER_PHONEME_AO =8;
AL_VOCAL_MORPHER_PHONEME_EH =9;
AL_VOCAL_MORPHER_PHONEME_ER =10;
AL_VOCAL_MORPHER_PHONEME_IH =11;
AL_VOCAL_MORPHER_PHONEME_IY =12;
AL_VOCAL_MORPHER_PHONEME_UH =13;
AL_VOCAL_MORPHER_PHONEME_UW =14;
AL_VOCAL_MORPHER_PHONEME_B =15;
AL_VOCAL_MORPHER_PHONEME_D =16;
AL_VOCAL_MORPHER_PHONEME_F =17;
AL_VOCAL_MORPHER_PHONEME_G =18;
AL_VOCAL_MORPHER_PHONEME_J =19;
AL_VOCAL_MORPHER_PHONEME_K =20;
AL_VOCAL_MORPHER_PHONEME_L =21;
AL_VOCAL_MORPHER_PHONEME_M =22;
AL_VOCAL_MORPHER_PHONEME_N =23;
AL_VOCAL_MORPHER_PHONEME_P =24;
AL_VOCAL_MORPHER_PHONEME_R =25;
AL_VOCAL_MORPHER_PHONEME_S =26;
AL_VOCAL_MORPHER_PHONEME_T =27;
AL_VOCAL_MORPHER_PHONEME_V =28;
AL_VOCAL_MORPHER_PHONEME_Z =29;
AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING =-24;
AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING =24;
AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING =0;
AL_VOCAL_MORPHER_MIN_WAVEFORM =0;
AL_VOCAL_MORPHER_MAX_WAVEFORM =2;
AL_VOCAL_MORPHER_DEFAULT_WAVEFORM =0;
AL_VOCAL_MORPHER_WAVEFORM_SINUSOID =0;
AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE =1;
AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH =2;
AL_VOCAL_MORPHER_MIN_RATE =0.0;
AL_VOCAL_MORPHER_MAX_RATE =10.0;
AL_VOCAL_MORPHER_DEFAULT_RATE =1.41;
AL_PITCH_SHIFTER_MIN_COARSE_TUNE =-12;

AL pitch shifter effect parameter ranges and defaults

AL_PITCH_SHIFTER_MAX_COARSE_TUNE =12;
AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE =12;
AL_PITCH_SHIFTER_MIN_FINE_TUNE =-50;
AL_PITCH_SHIFTER_MAX_FINE_TUNE =50;
AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE =0;
AL_RING_MODULATOR_MIN_FREQUENCY =0.0;

AL ring modulator effect parameter ranges and defaults

AL_RING_MODULATOR_MAX_FREQUENCY =8000.0;
AL_RING_MODULATOR_DEFAULT_FREQUENCY =440.0;
AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF =0.0;
AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF =24000.0;
AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF =800.0;
AL_RING_MODULATOR_MIN_WAVEFORM =0;
AL_RING_MODULATOR_MAX_WAVEFORM =2;
AL_RING_MODULATOR_DEFAULT_WAVEFORM =0;
AL_RING_MODULATOR_SINUSOID =0;
AL_RING_MODULATOR_SAWTOOTH =1;
AL_RING_MODULATOR_SQUARE =2;
AL_AUTOWAH_MIN_ATTACK_TIME =0.0001;

AL autowah effect parameter ranges and defaults

AL_AUTOWAH_MAX_ATTACK_TIME =1.0;
AL_AUTOWAH_DEFAULT_ATTACK_TIME =0.06;
AL_AUTOWAH_MIN_RELEASE_TIME =0.0001;
AL_AUTOWAH_MAX_RELEASE_TIME =1.0;
AL_AUTOWAH_DEFAULT_RELEASE_TIME =0.06;
AL_AUTOWAH_MIN_RESONANCE =2.0;
AL_AUTOWAH_MAX_RESONANCE =1000.0;
AL_AUTOWAH_DEFAULT_RESONANCE =1000.0;
AL_AUTOWAH_MIN_PEAK_GAIN =0.00003;
AL_AUTOWAH_MAX_PEAK_GAIN =31621.0;
AL_AUTOWAH_DEFAULT_PEAK_GAIN =11.22;
AL_COMPRESSOR_MIN_ONOFF =0;

AL compressor effect parameter ranges and defaults

AL_COMPRESSOR_MAX_ONOFF =1;
AL_COMPRESSOR_DEFAULT_ONOFF =1;
AL_EQUALIZER_MIN_LOW_GAIN =0.126;

AL equalizer effect parameter ranges and defaults

AL_EQUALIZER_MAX_LOW_GAIN =7.943;
AL_EQUALIZER_DEFAULT_LOW_GAIN =1.0;
AL_EQUALIZER_MIN_LOW_CUTOFF =50.0;
AL_EQUALIZER_MAX_LOW_CUTOFF =800.0;
AL_EQUALIZER_DEFAULT_LOW_CUTOFF =200.0;
AL_EQUALIZER_MIN_MID1_GAIN =0.126;
AL_EQUALIZER_MAX_MID1_GAIN =7.943;
AL_EQUALIZER_DEFAULT_MID1_GAIN =1.0;
AL_EQUALIZER_MIN_MID1_CENTER =200.0;
AL_EQUALIZER_MAX_MID1_CENTER =3000.0;
AL_EQUALIZER_DEFAULT_MID1_CENTER =500.0;
AL_EQUALIZER_MIN_MID1_WIDTH =0.01;
AL_EQUALIZER_MAX_MID1_WIDTH =1.0;
AL_EQUALIZER_DEFAULT_MID1_WIDTH =1.0;
AL_EQUALIZER_MIN_MID2_GAIN =0.126;
AL_EQUALIZER_MAX_MID2_GAIN =7.943;
AL_EQUALIZER_DEFAULT_MID2_GAIN =1.0;
AL_EQUALIZER_MIN_MID2_CENTER =1000.0;
AL_EQUALIZER_MAX_MID2_CENTER =8000.0;
AL_EQUALIZER_DEFAULT_MID2_CENTER =3000.0;
AL_EQUALIZER_MIN_MID2_WIDTH =0.01;
AL_EQUALIZER_MAX_MID2_WIDTH =1.0;
AL_EQUALIZER_DEFAULT_MID2_WIDTH =1.0;
AL_EQUALIZER_MIN_HIGH_GAIN =0.126;
AL_EQUALIZER_MAX_HIGH_GAIN =7.943;
AL_EQUALIZER_DEFAULT_HIGH_GAIN =1.0;
AL_EQUALIZER_MIN_HIGH_CUTOFF =4000.0;
AL_EQUALIZER_MAX_HIGH_CUTOFF =16000.0;
AL_EQUALIZER_DEFAULT_HIGH_CUTOFF =6000.0;
AL_MIN_AIR_ABSORPTION_FACTOR =0.0;

Source parameter value definitions, ranges and defaults.

AL_MAX_AIR_ABSORPTION_FACTOR =10.0;
AL_DEFAULT_AIR_ABSORPTION_FACTOR =0.0;
AL_MIN_ROOM_ROLLOFF_FACTOR =0.0;
AL_MAX_ROOM_ROLLOFF_FACTOR =10.0;
AL_DEFAULT_ROOM_ROLLOFF_FACTOR =0.0;
AL_MIN_CONE_OUTER_GAINHF =0.0;
AL_MAX_CONE_OUTER_GAINHF =1.0;
AL_DEFAULT_CONE_OUTER_GAINHF =1.0;
AL_MIN_DIRECT_FILTER_GAINHF_AUTO =AL_FALSE;
AL_MAX_DIRECT_FILTER_GAINHF_AUTO =AL_TRUE;
AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO =AL_TRUE;
AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO =AL_FALSE;
AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO =AL_TRUE;
AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO =AL_TRUE;
AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO =AL_FALSE;
AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO =AL_TRUE;
AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO =AL_TRUE;
AL_DEFAULT_METERS_PER_UNIT =1.0;

Listener parameter value definitions, ranges and defaults. AL_MIN_METERS_PER_UNIT =FLT_MIN; AL_MAX_METERS_PER_UNIT =FLT_MAX;

AL_EAXREVERB_DENSITY =$0001;

EFX AEX extenstion Effect object definitions to be used with alEffect functions. Effect parameter value definitions, ranges, and defaults appear farther down in this file. AL EAXReverb effect parameters.

AL_EAXREVERB_DIFFUSION =$0002;
AL_EAXREVERB_GAIN =$0003;
AL_EAXREVERB_GAINHF =$0004;
AL_EAXREVERB_GAINLF =$0005;
AL_EAXREVERB_DECAY_TIME =$0006;
AL_EAXREVERB_DECAY_HFRATIO =$0007;
AL_EAXREVERB_DECAY_LFRATIO =$0008;
AL_EAXREVERB_REFLECTIONS_GAIN =$0009;
AL_EAXREVERB_REFLECTIONS_DELAY =$000A;
AL_EAXREVERB_REFLECTIONS_PAN =$000B;
AL_EAXREVERB_LATE_REVERB_GAIN =$000C;
AL_EAXREVERB_LATE_REVERB_DELAY =$000D;
AL_EAXREVERB_LATE_REVERB_PAN =$000E;
AL_EAXREVERB_ECHO_TIME =$000F;
AL_EAXREVERB_ECHO_DEPTH =$0010;
AL_EAXREVERB_MODULATION_TIME =$0011;
AL_EAXREVERB_MODULATION_DEPTH =$0012;
AL_EAXREVERB_AIR_ABSORPTION_GAINHF =$0013;
AL_EAXREVERB_HFREFERENCE =$0014;
AL_EAXREVERB_LFREFERENCE =$0015;
AL_EAXREVERB_ROOM_ROLLOFF_FACTOR =$0016;
AL_EAXREVERB_DECAY_HFLIMIT =$0017;
AL_EFFECT_EAXREVERB =$8000;

Effect type definitions to be used with AL_EFFECT_TYPE.

AL_EAXREVERB_MIN_DENSITY =0.0;

Effect parameter structures, value definitions, ranges and defaults. AL reverb effect parameter ranges and defaults

AL_EAXREVERB_MAX_DENSITY =1.0;
AL_EAXREVERB_DEFAULT_DENSITY =1.0;
AL_EAXREVERB_MIN_DIFFUSION =0.0;
AL_EAXREVERB_MAX_DIFFUSION =1.0;
AL_EAXREVERB_DEFAULT_DIFFUSION =1.0;
AL_EAXREVERB_MIN_GAIN =0.0;
AL_EAXREVERB_MAX_GAIN =1.0;
AL_EAXREVERB_DEFAULT_GAIN =0.32;
AL_EAXREVERB_MIN_GAINHF =0.0;
AL_EAXREVERB_MAX_GAINHF =1.0;
AL_EAXREVERB_DEFAULT_GAINHF =0.89;
AL_EAXREVERB_MIN_GAINLF =0.0;
AL_EAXREVERB_MAX_GAINLF =1.0;
AL_EAXREVERB_DEFAULT_GAINLF =1.0;
AL_EAXREVERB_MIN_DECAY_TIME =0.1;
AL_EAXREVERB_MAX_DECAY_TIME =20.0;
AL_EAXREVERB_DEFAULT_DECAY_TIME =1.49;
AL_EAXREVERB_MIN_DECAY_HFRATIO =0.1;
AL_EAXREVERB_MAX_DECAY_HFRATIO =2.0;
AL_EAXREVERB_DEFAULT_DECAY_HFRATIO =0.83;
AL_EAXREVERB_MIN_DECAY_LFRATIO =0.1;
AL_EAXREVERB_MAX_DECAY_LFRATIO =2.0;
AL_EAXREVERB_DEFAULT_DECAY_LFRATIO =1.0;
AL_EAXREVERB_MIN_REFLECTIONS_GAIN =0.0;
AL_EAXREVERB_MAX_REFLECTIONS_GAIN =3.16;
AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN =0.05;
AL_EAXREVERB_MIN_REFLECTIONS_DELAY =0.0;
AL_EAXREVERB_MAX_REFLECTIONS_DELAY =0.3;
AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY =0.007;
AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN: array[0..2] of TALFloat = (0.0, 0.0, 0.0);
AL_EAXREVERB_MIN_LATE_REVERB_GAIN =0.0;
AL_EAXREVERB_MAX_LATE_REVERB_GAIN =10.0;
AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN =1.26;
AL_EAXREVERB_MIN_LATE_REVERB_DELAY =0.0;
AL_EAXREVERB_MAX_LATE_REVERB_DELAY =0.1;
AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY =0.011;
AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN: array[0..2] of TALFloat = (0.0, 0.0, 0.0);
AL_EAXREVERB_MIN_ECHO_TIME =0.075;
AL_EAXREVERB_MAX_ECHO_TIME =0.25;
AL_EAXREVERB_DEFAULT_ECHO_TIME =0.25;
AL_EAXREVERB_MIN_ECHO_DEPTH =0.0;
AL_EAXREVERB_MAX_ECHO_DEPTH =1.0;
AL_EAXREVERB_DEFAULT_ECHO_DEPTH =0.0;
AL_EAXREVERB_MIN_MODULATION_TIME =0.04;
AL_EAXREVERB_MAX_MODULATION_TIME =4.0;
AL_EAXREVERB_DEFAULT_MODULATION_TIME =0.25;
AL_EAXREVERB_MIN_MODULATION_DEPTH =0.0;
AL_EAXREVERB_MAX_MODULATION_DEPTH =1.0;
AL_EAXREVERB_DEFAULT_MODULATION_DEPTH =0.0;
AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF =0.892;
AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF =1.0;
AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF =0.994;
AL_EAXREVERB_MIN_HFREFERENCE =1000.0;
AL_EAXREVERB_MAX_HFREFERENCE =20000.0;
AL_EAXREVERB_DEFAULT_HFREFERENCE =5000.0;
AL_EAXREVERB_MIN_LFREFERENCE =20.0;
AL_EAXREVERB_MAX_LFREFERENCE =1000.0;
AL_EAXREVERB_DEFAULT_LFREFERENCE =250.0;
AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR =0.0;
AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR =10.0;
AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR =0.0;
AL_EAXREVERB_MIN_DECAY_HFLIMIT = AL_FALSE;
AL_EAXREVERB_MAX_DECAY_HFLIMIT = AL_TRUE;
AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT = AL_TRUE;
DSPROPSETID_EAX20_ListenerProperties : TGuid = '{0306A6A8-B224-11d2-99E5-0000E8D8C722}';

END EFX extension EAX extension

DSPROPSETID_EAX20_BufferProperties : TGuid = '{0306A6A7-B224-11d2-99E5-0000E8D8C722}';
DSPROPERTY_EAXLISTENER_NONE = 0;

For compatibility with future EAX versions: DSPROPSETID_EAX_ListenerProperties = DSPROPSETID_EAX20_ListenerProperties; DSPROPSETID_EAX_SourceProperties = DSPROPSETID_EAX20_BufferProperties; Enumerations DSPROPERTY_EAX_LISTENERPROPERTY

DSPROPERTY_EAXLISTENER_ALLPARAMETERS = 1;
DSPROPERTY_EAXLISTENER_ROOM = 2;
DSPROPERTY_EAXLISTENER_ROOMHF = 3;
DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR = 4;
DSPROPERTY_EAXLISTENER_DECAYTIME = 5;
DSPROPERTY_EAXLISTENER_DECAYHFRATIO = 6;
DSPROPERTY_EAXLISTENER_REFLECTIONS = 7;
DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY = 8;
DSPROPERTY_EAXLISTENER_REVERB = 9;
DSPROPERTY_EAXLISTENER_REVERBDELAY = 10;
DSPROPERTY_EAXLISTENER_ENVIRONMENT = 11;
DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE = 12;
DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION = 13;
DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF = 14;
DSPROPERTY_EAXLISTENER_FLAGS = 15;
DSPROPERTY_EAXLISTENER_IMMEDIATE = $00000000;

OR these flags with property id

DSPROPERTY_EAXLISTENER_DEFERRED = LongWORD($80000000);

changes take effect immediately

DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS = (DSPROPERTY_EAXLISTENER_NONE or DSPROPERTY_EAXLISTENER_IMMEDIATE);
EAX_ENVIRONMENT_GENERIC = 0;

used by DSPROPERTY_EAXLISTENER_ENVIRONMENT Enummetation

EAX_ENVIRONMENT_PADDEDCELL = 1;
EAX_ENVIRONMENT_ROOM = 2;
EAX_ENVIRONMENT_BATHROOM = 3;
EAX_ENVIRONMENT_LIVINGROOM = 4;
EAX_ENVIRONMENT_STONEROOM = 5;
EAX_ENVIRONMENT_AUDITORIUM = 6;
EAX_ENVIRONMENT_CONCERTHALL = 7;
EAX_ENVIRONMENT_CAVE = 8;
EAX_ENVIRONMENT_ARENA = 9;
EAX_ENVIRONMENT_HANGAR = 10;
EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
EAX_ENVIRONMENT_HALLWAY = 12;
EAX_ENVIRONMENT_STONECORRIDOR = 13;
EAX_ENVIRONMENT_ALLEY = 14;
EAX_ENVIRONMENT_FOREST = 15;
EAX_ENVIRONMENT_CITY = 16;
EAX_ENVIRONMENT_MOUNTAINS = 17;
EAX_ENVIRONMENT_QUARRY = 18;
EAX_ENVIRONMENT_PLAIN = 19;
EAX_ENVIRONMENT_PARKINGLOT = 20;
EAX_ENVIRONMENT_SEWERPIPE = 21;
EAX_ENVIRONMENT_UNDERWATER = 22;
EAX_ENVIRONMENT_DRUGGED = 23;
EAX_ENVIRONMENT_DIZZY = 24;
EAX_ENVIRONMENT_PSYCHOTIC = 25;
EAX_ENVIRONMENT_COUNT = 26;
EAXLISTENERFLAGS_DECAYTIMESCALE = $00000001;

Used by DSPROPERTY_EAXLISTENER_FLAGS

Note: The number and order of flags may change in future EAX versions. It is recommended to use the flag defines as follows: myFlags = EAXLISTENERFLAGS_DECAYTIMESCALE | EAXLISTENERFLAGS_REVERBSCALE; instead of: myFlags = 0x00000009;

These flags determine what properties are affected by environment size.

EAXLISTENERFLAGS_REFLECTIONSSCALE = $00000002;

reverberation decay time

EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE = $00000004;

reflection level

EAXLISTENERFLAGS_REVERBSCALE = $00000008;

initial reflection delay time

EAXLISTENERFLAGS_REVERBDELAYSCALE = $00000010;

reflections level

EAXLISTENERFLAGS_DECAYHFLIMIT = $00000020;

late reverberation delay time This flag limits high-frequency decay time according to air absorption.

EAXLISTENERFLAGS_RESERVED = $FFFFFFC0;
EAXLISTENER_MINROOM = -10000;

reserved future use property ranges and defaults:

EAXLISTENER_MAXROOM = 0;
EAXLISTENER_DEFAULTROOM = -1000;
EAXLISTENER_MINROOMHF = -10000;
EAXLISTENER_MAXROOMHF = 0;
EAXLISTENER_DEFAULTROOMHF = -100;
EAXLISTENER_MINROOMROLLOFFFACTOR = 0.0;
EAXLISTENER_MAXROOMROLLOFFFACTOR = 10.0;
EAXLISTENER_DEFAULTROOMROLLOFFFACTOR = 0.0;
EAXLISTENER_MINDECAYTIME = 0.1;
EAXLISTENER_MAXDECAYTIME = 20.0;
EAXLISTENER_DEFAULTDECAYTIME = 1.49;
EAXLISTENER_MINDECAYHFRATIO = 0.1;
EAXLISTENER_MAXDECAYHFRATIO = 2.0;
EAXLISTENER_DEFAULTDECAYHFRATIO = 0.83;
EAXLISTENER_MINREFLECTIONS = -10000;
EAXLISTENER_MAXREFLECTIONS = 1000;
EAXLISTENER_DEFAULTREFLECTIONS = -2602;
EAXLISTENER_MINREFLECTIONSDELAY = 0.0;
EAXLISTENER_MAXREFLECTIONSDELAY = 0.3;
EAXLISTENER_DEFAULTREFLECTIONSDELAY = 0.007;
EAXLISTENER_MINREVERB = -10000;
EAXLISTENER_MAXREVERB = 2000;
EAXLISTENER_DEFAULTREVERB = 200;
EAXLISTENER_MINREVERBDELAY = 0.0;
EAXLISTENER_MAXREVERBDELAY = 0.1;
EAXLISTENER_DEFAULTREVERBDELAY = 0.011;
EAXLISTENER_MINENVIRONMENT = 0;
EAXLISTENER_MAXENVIRONMENT = EAX_ENVIRONMENT_COUNT - 1;
EAXLISTENER_DEFAULTENVIRONMENT = EAX_ENVIRONMENT_GENERIC;
EAXLISTENER_MINENVIRONMENTSIZE = 1.0;
EAXLISTENER_MAXENVIRONMENTSIZE = 100.0;
EAXLISTENER_DEFAULTENVIRONMENTSIZE = 7.5;
EAXLISTENER_MINENVIRONMENTDIFFUSION = 0.0;
EAXLISTENER_MAXENVIRONMENTDIFFUSION = 1.0;
EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION = 1.0;
EAXLISTENER_MINAIRABSORPTIONHF = -100.0;
EAXLISTENER_MAXAIRABSORPTIONHF = 0.0;
EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0;
EAXLISTENER_DEFAULTFLAGS = EAXLISTENERFLAGS_DECAYTIMESCALE or EAXLISTENERFLAGS_REFLECTIONSSCALE or EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE or EAXLISTENERFLAGS_REVERBSCALE or EAXLISTENERFLAGS_REVERBDELAYSCALE or EAXLISTENERFLAGS_DECAYHFLIMIT;
DSPROPERTY_EAXBUFFER_NONE = 0;

For compatibility with future EAX versions: DSPROPSETID_EAX_BufferProperties = DSPROPSETID_EAX20_BufferProperties; Enumeration DSPROPERTY_EAX_BUFFERPROPERTY

DSPROPERTY_EAXBUFFER_ALLPARAMETERS = 1;
DSPROPERTY_EAXBUFFER_DIRECT = 2;
DSPROPERTY_EAXBUFFER_DIRECTHF = 3;
DSPROPERTY_EAXBUFFER_ROOM = 4;
DSPROPERTY_EAXBUFFER_ROOMHF = 5;
DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR = 6;
DSPROPERTY_EAXBUFFER_OBSTRUCTION = 7;
DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO = 8;
DSPROPERTY_EAXBUFFER_OCCLUSION = 9;
DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO = 10;
DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO = 11;
DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF = 12;
DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR = 13;
DSPROPERTY_EAXBUFFER_FLAG = 14;
DSPROPERTY_EAXBUFFER_IMMEDIATE = $00000000;

OR these flags with property id

DSPROPERTY_EAXBUFFER_DEFERRED = LongWORD($80000000);

changes take effect immediately

DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS = DSPROPERTY_EAXBUFFER_NONE or DSPROPERTY_EAXBUFFER_IMMEDIATE;
EAXBUFFERFLAGS_DIRECTHFAUTO = $00000001;

Used by DSPROPERTY_EAXBUFFER_FLAGS TRUE: value is computed automatically - property is an offset FALSE: value is used directly

Note: The number and order of flags may change in future EAX versions. To insure future compatibility, use flag defines as follows: myFlags = EAXBUFFERFLAGS_DIRECTHFAUTO | EAXBUFFERFLAGS_ROOMAUTO; instead of: myFlags = 0x00000003;

EAXBUFFERFLAGS_ROOMAUTO = $00000002;

affects DSPROPERTY_EAXBUFFER_DIRECTHF

EAXBUFFERFLAGS_ROOMHFAUTO = $00000004;

affects DSPROPERTY_EAXBUFFER_ROOM

EAXBUFFERFLAGS_RESERVED = $FFFFFFF8;

affects DSPROPERTY_EAXBUFFER_ROOMHF

EAXBUFFER_MINDIRECT = -10000;

reserved future use property ranges and defaults:

EAXBUFFER_MAXDIRECT = 1000;
EAXBUFFER_DEFAULTDIRECT = 0;
EAXBUFFER_MINDIRECTHF = -10000;
EAXBUFFER_MAXDIRECTHF = 0;
EAXBUFFER_DEFAULTDIRECTHF = 0;
EAXBUFFER_MINROOM = -10000;
EAXBUFFER_MAXROOM = 1000;
EAXBUFFER_DEFAULTROOM = 0;
EAXBUFFER_MINROOMHF = -10000;
EAXBUFFER_MAXROOMHF = 0;
EAXBUFFER_DEFAULTROOMHF = 0;
EAXBUFFER_MINROOMROLLOFFFACTOR = 0.0;
EAXBUFFER_MAXROOMROLLOFFFACTOR = 10.;
EAXBUFFER_DEFAULTROOMROLLOFFFACTOR = 0.0;
EAXBUFFER_MINOBSTRUCTION = -10000;
EAXBUFFER_MAXOBSTRUCTION = 0;
EAXBUFFER_DEFAULTOBSTRUCTION = 0;
EAXBUFFER_MINOBSTRUCTIONLFRATIO = 0.0;
EAXBUFFER_MAXOBSTRUCTIONLFRATIO = 1.0;
EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO = 0.0;
EAXBUFFER_MINOCCLUSION = -10000;
EAXBUFFER_MAXOCCLUSION = 0;
EAXBUFFER_DEFAULTOCCLUSION = 0;
EAXBUFFER_MINOCCLUSIONLFRATIO = 0.0;
EAXBUFFER_MAXOCCLUSIONLFRATIO = 1.0;
EAXBUFFER_DEFAULTOCCLUSIONLFRATIO = 0.25;
EAXBUFFER_MINOCCLUSIONROOMRATIO = 0.0;
EAXBUFFER_MAXOCCLUSIONROOMRATIO = 10.0;
EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO = 0.5;
EAXBUFFER_MINOUTSIDEVOLUMEHF = -10000;
EAXBUFFER_MAXOUTSIDEVOLUMEHF = 0;
EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF = 0;
EAXBUFFER_MINAIRABSORPTIONFACTOR = 0.0;
EAXBUFFER_MAXAIRABSORPTIONFACTOR = 10.0;
EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR = 1.0;
EAXBUFFER_DEFAULTFLAGS = EAXBUFFERFLAGS_DIRECTHFAUTO or EAXBUFFERFLAGS_ROOMAUTO or EAXBUFFERFLAGS_ROOMHFAUTO;
EAX_MATERIAL_SINGLEWINDOW = -2800;

Material transmission presets 3 values in this order: 1: occlusion (or obstruction) 2: occlusion LF Ratio (or obstruction LF Ratio) 3: occlusion Room Ratio Single window material preset

EAX_MATERIAL_SINGLEWINDOWLF = 0.71;
EAX_MATERIAL_SINGLEWINDOWROOMRATIO = 0.43;
EAX_MATERIAL_DOUBLEWINDOW = -5000;

Double window material preset

EAX_MATERIAL_DOUBLEWINDOWHF = 0.40;
EAX_MATERIAL_DOUBLEWINDOWROOMRATIO = 0.24;
EAX_MATERIAL_THINDOOR = -1800;

Thin door material preset

EAX_MATERIAL_THINDOORLF = 0.66;
EAX_MATERIAL_THINDOORROOMRATIO = 0.66;
EAX_MATERIAL_THICKDOOR = -4400;

Thick door material preset

EAX_MATERIAL_THICKDOORLF = 0.64;
EAX_MATERIAL_THICKDOORROOMRTATION = 0.27;
EAX_MATERIAL_WOODWALL = -4000;

Wood wall material preset

EAX_MATERIAL_WOODWALLLF = 0.50;
EAX_MATERIAL_WOODWALLROOMRATIO = 0.30;
EAX_MATERIAL_BRICKWALL = -5000;

Brick wall material preset

EAX_MATERIAL_BRICKWALLLF = 0.60;
EAX_MATERIAL_BRICKWALLROOMRATIO = 0.24;
EAX_MATERIAL_STONEWALL = -6000;

Stone wall material preset

EAX_MATERIAL_STONEWALLLF = 0.68;
EAX_MATERIAL_STONEWALLROOMRATIO = 0.20;
EAX_MATERIAL_CURTAIN = -1200;

Curtain material preset

EAX_MATERIAL_CURTAINLF = 0.15;
EAX_MATERIAL_CURTAINROOMRATIO = 1.00;

Variables

alEnable: procedure(capability: TALenum); cdecl;

END EAX extension OpenAL Maintenance Functions State Management and Query. Error Handling. Extension Support. Renderer State management.

alDisable: procedure(capability: TALenum); cdecl;
alIsEnabled: function(capability: TALenum): TALboolean; cdecl;
alHint: procedure(target, mode: TALenum); cdecl;

Application preferences for driver performance choices.

alGetBooleanv: procedure(param: TALenum; data: PALboolean); cdecl;

State retrieval.

alGetIntegerv: procedure(param: TALenum; data: PALint); cdecl;
alGetFloatv: procedure(param: TALenum; data: PALfloat); cdecl;
alGetDoublev: procedure(param: TALenum; data: PALdouble); cdecl;
alGetString: function(param: TALenum): PALubyte; cdecl;
alGetBoolean: function(param: TALenum): TALboolean; cdecl;

State retrieval.through return value ( for compatibility )

alGetInteger: function(param: TALenum): TALint; cdecl;
alGetFloat: function(param: TALenum): TALfloat; cdecl;
alGetDouble: function(param: TALenum): TALdouble; cdecl;
alGetError: function: TALenum; cdecl;

ERROR support. Obtain the most recent error generated in the AL state machine.

alIsExtensionPresent: function(fname: PAnsiChar): TALboolean; cdecl;

EXTENSION support. Obtain the address of a function (usually an extension) with the name fname. All addresses are context-independent.

alGetProcAddress: function(fname: PALuByte): Pointer; cdecl;

Obtain the address of a function (usually an extension) with the name fname. All addresses are context-independent.

alGetEnumValue: function(ename: PALuByte): TALenum; cdecl;

Obtain the integer value of an enumeration (usually an extension) with the name ename.

alListenerf: procedure(param: TALenum; value: TALfloat); cdecl;

LISTENER Listener is the sample position for a given context. The multi-channel (usually stereo) output stream generated by the mixer is parametrized by this Listener object: its position and velocity relative to Sources, within occluder and reflector geometry. Listener Gain: default 1.0f.

alListener3f: procedure(param: TALenum; f1: TALfloat; f2: TALfloat; f3: TALfloat); cdecl;

Listener Position. Listener Velocity.

alListenerfv: procedure(param: TALenum; values: PALfloat); cdecl;

Listener Position: array [0..2] of TALfloat Listener Velocity: array [0..2] of TALfloat Listener Orientation: array [0..5] of TALfloat forward and up vector.

alListeneri: procedure(param: TAlenum; value: TALint); cdecl;

Listener Environment: default 0.

alListener3i: procedure(param: TALenum; value1: TALint; value2: TALint; value3: TALint );
alListeneriv: procedure(param: TALenum; const values: PALint );
alGetListeneriv: procedure(param: TALenum; values: PALint); cdecl;

TODO: verder ontbrekende functies toevoegen. Retrieve listener information

alGetListenerfv: procedure(param: TALenum; values: PALfloat); cdecl;
alGenSources: procedure(n: TALsizei; sources: PALuint); cdecl;

SOURCE Source objects are by default localized. Sources take the PCM data provided in the specified Buffer, apply Source-specific modifications, and then submit them to be mixed according to spatial arrangement etc. Create Source objects.

alDeleteSources: procedure(n: TALsizei; sources: PALuint); cdecl;

Delete Source objects.

alIsSource: function(id: TALuint): TALboolean; cdecl;

Verify a handle is a valid Source.

alSourcei: procedure(source: TALuint; param: TALenum; value: TALint); cdecl;

Set an integer parameter for a Source object.

alSource3i: procedure(source: TALuint; param: TALenum; v1: TALint; v2: TALint; v3: TALint); cdecl;

Set an 3 integer parameter for a Source object.

alSourceiv: procedure(source: TALuint; param: TALenum; values: PALint); cdecl;

Set an integer vector parameter for a Source object.

alSourcef: procedure(source: TALuint; param: TALenum; value: TALfloat); cdecl;

Set a float parameter for a Source object.

alSource3f: procedure(source: TALuint; param: TALenum; v1: TALfloat; v2: TALfloat; v3: TALfloat); cdecl;

Set a 3 float parameter for a Source object.

alSourcefv: procedure(source: TALuint; param: TALenum; values: PALfloat); cdecl;

Set a float vector parameter for a Source object.

alGetSourcei: procedure(source: TALuint; param: TALenum; value: PALint); cdecl;

Get an integer scalar parameter for a Source object.

alGetSource3i: procedure(source: TALuint; param: TALenum; v1: PALint; v2: PALint; v3: PALint); cdecl;

Get three integer scalar parameter for a Source object.

alGetSourceiv: procedure(source: TALuint; param: TALenum; values: PALint); cdecl;

Get a integer vector parameter for a Source object.

alGetSourcef: procedure(source: TALuint; param: TALenum; value: PALfloat); cdecl;

Get a float scalar parameter for a Source object.

alGetSource3f: procedure(source: TALuint; param: TALenum; v1: PALfloat; v2: PALfloat; v3: PALfloat); cdecl;

Get three float scalar parameter for a Source object.

alGetSourcefv: procedure(source: TALuint; param: TALenum; values: PALfloat); cdecl;

Get a float vector parameter for a Source object.

alSourcePlay: procedure(source: TALuint); cdecl;

Activate a source, start replay.

alSourcePause: procedure(source: TALuint); cdecl;

Pause a source, temporarily remove it from the mixer list.

alSourceStop: procedure(source: TALuint); cdecl;

Stop a source, temporarily remove it from the mixer list, and reset its internal state to pre-Play. To remove a Source completely, it has to be deleted following Stop, or before Play.

alSourceRewind: procedure(source: TALuint); cdecl;

Rewind a souce. Stopped paused and playing sources, resets the offset into the PCM data and sets state to AL_INITIAL.

alSourcePlayv: procedure(n: TALsizei; sources: PALuint); cdecl;

vector forms of those functions we all love

alSourceStopv: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourceRewindv: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourcePausev: procedure(n: TALsizei; sources: PALuint); cdecl;
alSourceQueueBuffers: procedure(source: TALuint; n: TALsizei; buffers: PALuint); cdecl;

Queue stuff

alSourceUnqueueBuffers: procedure(source: TALuint; n: TALsizei; buffers: PALuint); cdecl;
alGenBuffers: procedure(n: TALsizei; buffers: PALuint); cdecl;

BUFFER Buffer objects are storage space for sample data. Buffers are referred to by Sources. There can be more than one Source using the same Buffer data. If Buffers have to be duplicated on a per-Source basis, the driver has to take care of allocation, copying, and deallocation as well as propagating buffer data changes. Buffer object generation.

alDeleteBuffers: procedure(n: TALsizei; buffers: PALuint); cdecl;
alIsBuffer: function(buffer: TALuint): TALboolean; cdecl;
alBufferData: procedure(buffer: TALuint; format: TALenum; data: Pointer; size, freq: TALsizei); cdecl;

Specify the data to be filled into a buffer.

alBufferi: procedure(buffer: TALuint; param: TALenum; value: TALint); cdecl;

set parameter for an buffer object

alBuffer3i: procedure(buffer: TALuint; param: TALenum; v1: TALint; v2: TALint; v3: TALint); cdecl;
alBufferiv: procedure(buffer: TALuint; param: TALenum; values: PALint); cdecl;
alBufferf: procedure(buffer: TALuint; param: TALenum; value: TALfloat); cdecl;
alBuffer3f: procedure(buffer: TALuint; param: TALenum; v1: TALfloat; v2: TALfloat; v3: TALfloat); cdecl;
alBufferfv: procedure(buffer: TALuint; param: TALenum; values: PALfloat); cdecl;
alGetBufferi: procedure(buffer: TALuint; param: TALenum; value: PALint); cdecl;

read parameter for an buffer object

alGetBuffer3i: procedure(buffer: TALuint; param: TALenum; v1: PALint; v2: PALint; v3: PALint); cdecl;
alGetBufferiv: procedure(buffer: TALuint; param: TALenum; values: PALint); cdecl;
alGetBufferf: procedure(buffer: TALuint; param: TALenum; value: PALfloat); cdecl;
alGetBuffer3f: procedure(buffer: TALuint; param: TALenum; v1: PALfloat; v2: PALfloat; v3: PALfloat); cdecl;
alGetBufferfv: procedure(buffer: TALuint; param: TALenum; values: PALfloat); cdecl;
alDistanceModel: procedure(value: TALenum); cdecl;

Global Parameters

alDopplerFactor: procedure(value: TALfloat); cdecl;
alDopplerVelocity: procedure(value: TALfloat); cdecl;
alSpeedOfSound: procedure( value: TALfloat ); cdecl;
alcCreateContext: function(device: TALCdevice; attrlist: PALCint): TALCcontext; cdecl;

alc functions Context Support

alcMakeContextCurrent: function(context: TALCcontext): TALCenum; cdecl;
alcProcessContext: procedure(context: TALCcontext); cdecl;
alcSuspendContext: procedure(context: TALCcontext); cdecl;
alcDestroyContext: procedure(context: TALCcontext); cdecl;
alcGetCurrentContext: function: TALCcontext; cdecl;
alcGetContextsDevice: function(context: TALCcontext): TALCdevice; cdecl;
alcOpenDevice: function(deviceName: PALCuByte): TALCdevice; cdecl;

Device Management

alcCloseDevice: procedure(device: TALCdevice); cdecl;
alcGetError: function(device: TALCdevice): TALCenum; cdecl;

Error Support Obtain the most recent Context error

alcIsExtensionPresent: function(device: TALCdevice; extName: PALuByte): TALCboolean; cdecl;

Extension support. Query for the presence of an extension, and obtain any appropriate function pointers and enum values.

alcGetProcAddress: function(device: TALCdevice; funcName: PALuByte): TALCvoid; cdecl;
alcGetEnumValue: function(device: TALCdevice; enumName: PALuByte): TALCenum; cdecl;
alcGetString: function(device: TALCdevice; param: TALCenum): PALCubyte; cdecl;

Query functions

alcGetIntegerv: procedure(device: TALCdevice; param: TALCenum; size: TALCsizei; data: PALCint); cdecl;
alcCaptureOpenDevice: function( const devicename: PALCchar; frequency: TALCuint; format: TALCenum; buffersize: TALCsizei): PALCdevice; cdecl;

Capture functions

alcCaptureCloseDevice: function( device: PALCdevice ): TALCboolean; cdecl;
alcCaptureStart: procedure( device: PALCdevice ); cdecl;
alcCaptureStop: procedure( device: PALCdevice ); cdecl;
alcCaptureSamples: procedure( device: PALCdevice; buffer: TALCvoid; samples: TALCsizei ); cdecl;
EAXSet: Function(const Guid: TGUID; ALuint1: TALuint; ALuint2: TALuint; point: Pointer; ALuint3: TALuint): TALenum; cdecl;

EAX functions

EAXGet: Function(const Guid: TGUID; ALuint1: TALuint; ALuint2: TALuint; point: Pointer; ALuint3: TALuint): TALenum; cdecl;
AL_EAX_RAM_SIZE: TALEnum;

X-RAM enums

AL_EAX_RAM_FREE: TALEnum;
AL_STORAGE_AUTOMATIC: TALEnum;
AL_STORAGE_HARDWARE: TALEnum;
AL_STORAGE_ACCESSIBLE: TALEnum;
EAXSetBufferMode: function(n: TALsizei;buffers: PALuint; value: TALint ): TALboolean; cdecl;

X-RAM functions

EAXGetBufferMode: function(buffer: TALuint; value: PALint ): TALenum; cdecl;
ALGENEFFECTS: procedure( n: TALsizei; effects: PALuint ); cdecl;

EFX functions Effect object functions. Create Effect objects.

ALDELETEEFFECTS: procedure( n: TALsizei; effects: PALuint ); cdecl;

Delete Effect objects.

ALISEFFECT: function( eid: TALuint ): TALboolean; cdecl;

Verify a handle is a valid Effect.

ALEFFECTI: procedure( eid: TALuint; param: TALCenum; value: TALint); cdecl;

Set an integer parameter for an Effect object.

ALEFFECTIV: procedure( eid: TALuint; param: TALenum; values: PALint ); cdecl;
ALEFFECTF: procedure( eid: TALuint; param: TALenum; value: TALfloat); cdecl;

Set a floating point parameter for an Effect object.

ALEFFECTFV: procedure( eid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGETEFFECTI: procedure( eid: TALuint; param: TALenum; value: PALint ); cdecl;

Get an integer parameter for an Effect object.

ALGETEFFECTIV: procedure( eid: TALuint; param: TALenum; values: PALint ); cdecl;
ALGETEFFECTF: procedure( eid: TALuint; param: TALenum; value: PALfloat ); cdecl;

Get a floating point parameter for an Effect object.

ALGETEFFECTFV: procedure( eid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGENFILTERS: procedure( n: TALsizei; filters: PALuint ); cdecl;

Filter object functions Creates Filter objects.

ALDELETEFILTERS: procedure( n: TALsizei; filters: PALuint ); cdecl;

Delete Filter objects.

ALISFILTER: function( fid: TALuint ): TALboolean; cdecl;

Verify a handle is a valid Filter.

ALFILTERI: procedure( fid: TALuint; param: TALenum; value: TALint ); cdecl;

Set an integer parameter for a Filter object.

ALFILTERIV: procedure( fid: TALuint; param: TALenum; values: PALint ); cdecl;
ALFILTERF: procedure( fid: TALuint; param: TALenum; value: TALfloat); cdecl;

Set a floating point parameter for an Filter object.

ALFILTERFV: procedure( fid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGETFILTERI: procedure( fid: TALuint; param: TALenum; value: PALint ); cdecl;

Get an integer parameter for a Filter object.

ALGETFILTERIV: procedure( fid: TALuint; param: TALenum; values: PALint ); cdecl;
ALGETFILTERF: procedure( fid: TALuint; param: TALenum; value: PALfloat ); cdecl;

Get a floating point parameter for a Filter object.

ALGETFILTERFV: procedure( fid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGENAUXILIARYEFFECTSLOTS: procedure( n: TALsizei; slots: PALuint ); cdecl;

Auxiliary Slot object functions Creates Auxiliary Slot objects.

ALDELETEAUXILIARYEFFECTSLOTS: procedure( n: TALsizei; slots: PALuint ); cdecl;

Delete Auxiliary Slot objects.

ALISAUXILIARYEFFECTSLOT: function( slot: TALuint ): TALboolean; cdecl;

Verify a handle is a valid Auxiliary Slot.

ALAUXILIARYEFFECTSLOTI: procedure( asid: TALuint; param: TALenum; value: TALint ); cdecl;

Set an integer parameter for a Auxiliary Slot object.

ALAUXILIARYEFFECTSLOTIV: procedure( asid: TALuint; param: TALenum; values: PALint ); cdecl;
ALAUXILIARYEFFECTSLOTF: procedure( asid: TALuint; param: TALenum; value: TALfloat ); cdecl;

Set a floating point parameter for an Auxiliary Slot object.

ALAUXILIARYEFFECTSLOTFV: procedure( asid: TALuint; param: TALenum; values: PALfloat ); cdecl;
ALGETAUXILIARYEFFECTSLOTI: procedure( asid: TALuint; param: TALenum; value: PALint ); cdecl;

Get an integer parameter for a Auxiliary Slot object.

ALGETAUXILIARYEFFECTSLOTIV: procedure( asid: TALuint; param: TALenum; values: PALint ); cdecl;
ALGETAUXILIARYEFFECTSLOTF: procedure( asid: TALuint; param: TALenum; value: PALfloat ); cdecl;

Get a floating point parameter for a Auxiliary Slot object.

ALGETAUXILIARYEFFECTSLOTFV: procedure( asid: TALuint; param: TALenum; values: PALfloat ); cdecl;
LibHandle: THandle = 0;
EFXUtilLibHandle: THandle = 0;


GLSysHelp v.2.1: Sounds.OpenALImport: Packed Record TEaxListenerProperties

Packed Record TEaxListenerProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.OpenALImport

Declaration

type TEaxListenerProperties = packed record

Description

Use this structure for DSPROPERTY_EAXLISTENER_ALLPARAMETERS - all levels are hundredths of decibels - all times are in seconds - the reference for high frequency controls is 5 kHz

NOTE: This structure may change in future EAX versions. It is recommended to initialize fields by name: myListener.lRoom = -1000; myListener.lRoomHF = -100; ... myListener.dwFlags = myFlags /* see EAXLISTENERFLAGS below */ ; instead of: myListener = { -1000, -100, ... , 0x00000009 }; If you want to save and load presets in binary form, you should define your own structure to insure future compatibility.

Overview

Fields

Public | lRoom: integer;
Public | lRoomHF: integer;
Public | flRoomRolloffFactor: double;
Public | flDecayTime: double;
Public | flDecayHFRatio: double;
Public | lReflections: integer;
Public | flReflectionsDelay: double;
Public | lReverb: integer;
Public | flReverbDelay: double;
Public | dwEnvironment: cardinal;
Public | flEnvironmentSize: double;
Public | flEnvironmentDiffusion: double;
Public | flAirAbsorptionHF: double;
Public | dwFlags: cardinal;

Description

Fields

Public lRoom: integer;
Public lRoomHF: integer;

room effect level at low frequencies

Public flRoomRolloffFactor: double;

room effect high-frequency level re. low frequency levelimplementation

Public flDecayTime: double;

like DS3D flRolloffFactor but for room effect

Public flDecayHFRatio: double;

reverberation decay time at low frequenciesend.

Public lReflections: integer;

high-frequency to low-frequency decay time ratio

Public flReflectionsDelay: double;

early reflections level relative to room effect

Public lReverb: integer;

initial reflection delay time

Public flReverbDelay: double;

late reverberation level relative to room effect

Public dwEnvironment: cardinal;

late reverberation delay time relative to initial reflection

Public flEnvironmentSize: double;

sets all listener properties

Public flEnvironmentDiffusion: double;

environment size in meters

Public flAirAbsorptionHF: double;

environment diffusion

Public dwFlags: cardinal;

change in level per meter at 5 kHz


GLSysHelp v.2.1: Sounds.OpenALImport: Packed Record TEaxBufferProperties

Packed Record TEaxBufferProperties

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.OpenALImport

Declaration

type TEaxBufferProperties = packed record

Description

Use this structure for DSPROPERTY_EAXBUFFER_ALLPARAMETERS - all levels are hundredths of decibels

NOTE: This structure may change in future EAX versions. It is recommended to initialize fields by name: myBuffer.lDirect = 0; myBuffer.lDirectHF = -200; ... myBuffer.dwFlags = myFlags /* see EAXBUFFERFLAGS below */ ; instead of: myBuffer = { 0, -200, ... , 0x00000003 };

Overview

Fields

Public | lDirect: integer;
Public | lDirectHF: integer;
Public | lRoom: integer;
Public | lRoomHF: integer;
Public | flRoomRolloffFactor: double;
Public | lObstruction: integer;
Public | flObstructionLFRatio: double;
Public | lOcclusion: integer;
Public | flOcclusionLFRatio: double;
Public | flOcclusionRoomRatio: double;
Public | lOutsideVolumeHF: integer;
Public | flAirAbsorptionFactor: double;
Public | dwFlags: Cardinal;

Description

Fields

Public lDirect: integer;
Public lDirectHF: integer;

direct path level

Public lRoom: integer;

direct path level at high frequencies

Public lRoomHF: integer;

room effect level

Public flRoomRolloffFactor: double;

room effect level at high frequencies

Public lObstruction: integer;

like DS3D flRolloffFactor but for room effect

Public flObstructionLFRatio: double;

main obstruction control (attenuation at high frequencies)

Public lOcclusion: integer;

obstruction low-frequency level re. main control

Public flOcclusionLFRatio: double;

main occlusion control (attenuation at high frequencies)

Public flOcclusionRoomRatio: double;

occlusion low-frequency level re. main control

Public lOutsideVolumeHF: integer;

occlusion room effect level re. main control

Public flAirAbsorptionFactor: double;

outside sound cone level at high frequencies

Public dwFlags: Cardinal;

multiplies DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF


GLSysHelp v.2.1: Sounds.OpenALImport: Packed Record _EFXEAXREVERBPROPERTIES

Packed Record _EFXEAXREVERBPROPERTIES

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.OpenALImport

Declaration

type _EFXEAXREVERBPROPERTIES = packed record

Description

END EFX AEX extension EFX utils version 1.0

Overview

Fields

Public | flDensity: single;
Public | flDiffusion: single;
Public | flGain: single;
Public | flGainHF: single;
Public | flGainLF: single;
Public | flDecayTime: single;
Public | flDecayHFRatio: single;
Public | flDecayLFRatio: single;
Public | flReflectionsGain: single;
Public | flReflectionsDelay: single;
Public | flReflectionsPan: packed[0..2] of single;
Public | flLateReverbGain: single;
Public | flLateReverbDelay: single;
Public | flLateReverbPan: packed[0..2] of single;
Public | flEchoTime: single;
Public | flEchoDepth: single;
Public | flModulationTime: single;
Public | flModulationDepth: single;
Public | flAirAbsorptionGainHF: single;
Public | flHFReference: single;
Public | flLFReference: single;
Public | flRoomRolloffFactor: single;
Public | iDecayHFLimit: integer;

Description

Fields

Public flDensity: single;
Public flDiffusion: single;
Public flGain: single;
Public flGainHF: single;
Public flGainLF: single;
Public flDecayTime: single;
Public flDecayHFRatio: single;
Public flDecayLFRatio: single;
Public flReflectionsGain: single;
Public flReflectionsDelay: single;
Public flReflectionsPan: packed[0..2] of single;
Public flLateReverbGain: single;
Public flLateReverbDelay: single;
Public flLateReverbPan: packed[0..2] of single;
Public flEchoTime: single;
Public flEchoDepth: single;
Public flModulationTime: single;
Public flModulationDepth: single;
Public flAirAbsorptionGainHF: single;
Public flHFReference: single;
Public flLFReference: single;
Public flRoomRolloffFactor: single;
Public iDecayHFLimit: integer;


GLSysHelp v.2.1: Sounds.OpenALImport: Packed Record _EFXLOWPASSFILTER

Packed Record _EFXLOWPASSFILTER

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.OpenALImport

Declaration

type _EFXLOWPASSFILTER = packed record

Description

Overview

Fields

Public | flGain: single;
Public | flGainHF: single;

Description

Fields

Public flGain: single;
Public flGainHF: single;


GLSysHelp v.2.1: Sounds.SoundRegister

Unit Sounds.SoundRegister

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • System.Classes
  • Sounds.BASS
  • Sounds.FMOD
  • Sounds.OpenAL
  • Sounds.WaveOut

Overview

Functions and Procedures

procedure Register;

Description

Functions and Procedures

procedure Register;


GLSysHelp v.2.1: Sounds.WaveOut

Unit Sounds.WaveOut

Description
Uses
Classes, Interfaces, Objects and Records
Functions and Procedures
Types
Constants
Variables

Description

The graphics rendering engine GLScene http://glscene.org

Uses

  • Winapi.MMSystem
  • System.Classes
  • System.SysUtils
  • GLS.Sound
  • GLS.SoundFileObjects

Overview

Classes, Interfaces, Objects and Records

Name | Description
Class TGLSMWaveOut |

Functions and Procedures

procedure PlayOnWaveOut(pcmData: Pointer; lengthInBytes: Integer; sampling: TGLSoundSampling); overload;
function PlayOnWaveOut(pcmData: Pointer; lengthInBytes: Integer; waveFormat: TWaveFormatEx): HWaveOut; overload;

Description

Functions and Procedures

procedure PlayOnWaveOut(pcmData: Pointer; lengthInBytes: Integer; sampling: TGLSoundSampling); overload;
function PlayOnWaveOut(pcmData: Pointer; lengthInBytes: Integer; waveFormat: TWaveFormatEx): HWaveOut; overload;


GLSysHelp v.2.1: Sounds.WaveOut: Class TGLSMWaveOut

Class TGLSMWaveOut

Description
Hierarchy
Fields
Methods
Properties

Unit

Sounds.WaveOut

Declaration

type TGLSMWaveOut = class(TGLSoundManager)

Description

Basic sound manager based on WinMM waveOut function. This manager has NO 3D miximing capacity, this is merely a default manager that should work on any windows based system, and help showcasing/testing basic GLSS core functionality. Apart from 3D, mute, pause, priority and volume are ignored too, and only sampling conversions supported by the windows ACM driver are supported (ie. no 4bits samples playback etc.).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TGLCadenceAbleComponent
  • TGLSoundManager
  • TGLSMWaveOut

Overview

Methods

Public | constructor Create(AOwner: TComponent); override;
Public | destructor Destroy; override;
Protected | function DoActivate: Boolean; override;
Public | procedure UpdateSources; override;
Protected | procedure DoDeActivate; override;
Protected | procedure KillSource(aSource: TGLBaseSoundSource); override;

Properties

Published property MaxChannels default 4;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Protected function DoActivate: Boolean; override;
Public procedure UpdateSources; override;
Protected procedure DoDeActivate; override;
Protected procedure KillSource(aSource: TGLBaseSoundSource); override;

Properties

Published property MaxChannels default 4;


GLSysHelp v.2.1: Class Hierarchy

Class Hierarchy

  • IInterface
    • IGLCoordinatesUpdateAble
    • IGLInitializable
    • IGLMaterialLibrarySupported
    • IGLNotifyAble
      • IGLTextureNotifyAble
    • IGLPostShader
    • IGLProgessAble
    • IGLShaderDescription
    • IPersistentObject
    • IShaderParameter
  • IUnknown
    • IAVIEditStream
    • IAVIFile
    • IAVIStream
    • IAVIStreaming
    • IGetFrame
  • TBitmap
    • TDDSImage
    • THDRImage
    • TO3TCImage
    • TTGAImage
  • TClassProperty
    • TGLColorProperty
    • TGLCoordinatesProperty
    • TGLImageClassProperty
    • TGLMaterialProperty
    • TGLShaderEditorProperty
    • TGLSoundFileProperty
    • TGLTextureImageProperty
    • TGLTextureProperty
    • TXCollectionProperty
  • TComponentEditor
    • TGLCUDACompilerEditor
    • TGLCUDAEditor
    • TGLGUILayoutEditor
    • TGLReuseableDefaultEditor
      • TGLMaterialLibraryEditor
      • TGLSArchiveManagerEditor
    • TGLSceneEditor
    • TGLSceneViewerEditor
  • TCustomAttribute
    • TGLDim
  • TCustomControl
    • TGLSMemoAbstractScrollableObject
      • TGLSCustomMemo
        • TGLSMemo
        • TGLSSynHiMemo
  • TDelphiWebScript
    • TGLDelphiWebScript
  • TdwsUnitComponent
    • TdwsClassesUnit
    • TdwsGLSceneUnit
    • TdwsOpenGLUnit
    • TdwsVectorGeometryUnit
  • TEvent
    • TFinishTaskEvent
  • TForm
    • TGLCUDAEditorForm
    • TGLInfoForm
    • TGLLayoutEditorForm
    • TGLLibMaterialPickerForm
    • TGLMaterialEditorForm
    • TGLPlugInManagerEditorForm
    • TGLSceneEditorForm
    • TGLSceneForm
    • TGLShaderUniformEditor
    • TGLSkinEditorForm
    • TGLVectorEditorForm
    • TShaderMemoForm
    • TXCollectionEditorForm
  • TFrame
    • TRColorEditor
    • TRFaceEditor
    • TRMaterialPreview
    • TRTextureEdit
  • TObject
    • CUDAContextManager
    • Exception
      • EDDSException
      • EFilerException
      • EGLAtmosphereException
      • EGLCameraController
      • EGLConsoleException
      • EGLContext
        • EGLShader
      • EGLFile3DS
      • EGLImageUtils
      • EGLMotionBlurException
      • EGLOBJFileError
      • EGLPostShaderHolderException
      • EGLProxyException
      • EGLROAMException
      • EGLShaderException
        • ECgShaderException
          • ECgBombShaderException
        • EGLCustomShaderException
          • EGLSLShaderException
            • EGLSLBumpShaderException
            • EGLSLDiffuseSpecularShaderException
      • EGLUtilsException
      • EInvalidArchiveFile
      • EInvalidFileSignature
      • EInvalidRasterFile
      • EInvalidVectorFile
      • EOpenGLError
      • EPasJSONMergeError
      • EPasJSONSyntaxError
      • EPBuffer
      • ESDLError
      • ETexture
      • ETextureCombinerError
      • ETGAException
      • EZBufferException
    • GCUDAHostElementAccess
    • TArchiveFileFormat
    • TB3DMaterial
    • TB3DNode
    • TB3DTexture
    • TBoneMatrixObj
    • TBSPClusterVisibility
    • TCgParameter
    • TCubicSpline
    • TCUDAContext
    • TCUDAModuleInfo
    • TDESolver
      • TDESolverExplicit
        • TDESolverEuler
        • TDESolverRungeKutta4
      • TDESolverImplicit
        • TDESolverVerlet
    • TDXFile
    • TECPlane
    • TFile3DS
    • TFileB3D
    • TFileGLA
    • TFileGLM
    • TFileMD2
    • TFileMD3
    • TFileNMF
    • TGLAbstractMemoObject
      • TGLSMemoScrollBar
    • TGLArray
    • TGLASEFace
    • TGLASEFaceList
    • TGLASEMaterial
    • TGLASEMaterialList
    • TGLASEMeshObject
    • TGLBaseConnectivity
      • TGLBaseMeshConnectivity
      • TGLConnectivity
        • TGLFaceGroupConnectivity
    • TGLBaseJoint
      • TGLJoint
        • TGLBallAndSocketJoint
        • TGLPrismaticJoint
        • TGLRevoluteJoint
    • TGLBaseLink
      • TGLLink
        • TGLType1Link
        • TGLType2Link
        • TGLType3Link
        • TGLType4Link
        • TGLType5Link
        • TGLType6Link
        • TGLType7Link
        • TGLType8Link
    • TGLBasePerlinOctav
      • TGL2DPerlinOctav
    • TGLBaseSelectTechnique
      • TGLSelectRenderModeTechnique
    • TGLBuffer
      • TGLBufferI
      • TGLBufferU
      • TGLBufferV
    • TGLCameraJob
      • TGLMoveToPosJob
      • TGLOrbitToPosAdvJob
        • TGLSmoothOrbitToPosAdvJob
      • TGLOrbitToPosJob
        • TGLSmoothOrbitToPos
      • TGLZoomToDistanceJob
    • TGLCanvas
    • TGLCollisionState
    • TGLContext
      • TGLScreenControlingContext
        • TSDLContext
      • TGLWindowsContext
    • TGLContextHandle
      • TGLARBProgramHandle
        • TGLARBFragmentProgramHandle
        • TGLARBGeometryProgramHandle
        • TGLARBVertexProgramHandle
      • TGLBufferObjectHandle
        • TGLPackPBOHandle
        • TGLTextureBufferHandle
        • TGLTransformFeedbackBufferHandle
        • TGLUniformBufferHandle
        • TGLUnpackPBOHandle
        • TGLVBOHandle
          • TGLVBOArrayBufferHandle
          • TGLVBOElementArrayHandle
      • TGLFramebufferHandle
      • TGLListHandle
      • TGLQueryHandle
        • TGLBooleanOcclusionQueryHandle
        • TGLOcclusionQueryHandle
        • TGLPrimitiveQueryHandle
        • TGLTimerQueryHandle
      • TGLRenderbufferHandle
      • TGLSamplerHandle
      • TGLSLHandle
        • TGLProgramHandle
        • TGLShaderHandle
          • TGLFragmentShaderHandle
          • TGLGeometryShaderHandle
          • TGLTessControlShaderHandle
          • TGLTessEvaluationShaderHandle
          • TGLVertexShaderHandle
      • TGLTextureHandle
      • TGLVertexArrayHandle
      • TGLVirtualHandle
        • TGLVirtualHandleTransf
    • TGLContextManager
    • TGLCustomShaderParameter
      • TGLAsmShaderParameter
      • TGLSLShaderParameter
    • TGLDelaunay2D
    • TGLEdge
    • TGLExtensionsAndEntryPoints
    • TGLFace
    • TGLFaceExtractor
      • TGLEdgeDetector
    • TGLFrameBuffer
    • TGLHeightTileFile
    • TGLIsoline
    • TGLLanguage
      • TGLLanguageExt
    • TGLMarchingCube
    • TGLMultitextureCoordinator
    • TGLOctree
    • TGLODEContactPoint
    • TGLODERagdollWorld
    • TGLOpenGL
    • TGLPerlin3DNoise
    • TGLProgram
    • TGLRagdolJoint
      • TGLODERagdollDummyJoint
      • TGLODERagdollHingeJoint
        • TGLODERagdollUniversalJoint
    • TGLRasterFileFormat
    • TGLRenderbuffer
      • TGLDepthRBO
      • TGLStencilRBO
    • TGLROAMPatch
    • TGLShader
      • TCustomCgShader
        • TCadencableCustomCgShader
          • TCgCustomBombShader
            • TCgBombShader
        • TCgShader
        • TGLCustomCGPostTransformationShader
          • TGLCGPostTransformationShader
      • TGLBumpShader
      • TGLCelShader
      • TGLCustomShader
        • TGLCustomAsmShader
          • TGLAsmShader
          • TGLPhongShader
        • TGLCustomGLSLShader
          • TGLBaseCustomGLSLBumpShader
            • TGLBaseCustomGLSLBumpShaderMT
              • TGLCustomGLSLBumpShaderAM
                • TGLSLBumpShaderAM
              • TGLCustomGLSLBumpShaderMT
                • TGLSLBumpShaderMT
              • TGLCustomGLSLMLBumpShaderMT
                • TGLSLMLBumpShaderMT
            • TGLCustomGLSLBumpShader
              • TGLSLBumpShader
            • TGLCustomGLSLMLBumpShader
              • TGLSLMLBumpShader
          • TGLBaseCustomGLSLDiffuseSpecular
            • TGLBaseGLSLDiffuseSpecularShaderMT
              • TGLCustomGLSLDiffuseSpecularShaderMT
                • TGLSLDiffuseSpecularShaderMT
              • TGLCustomGLSLMLDiffuseSpecularShaderMT
                • TGLSLMLDiffuseSpecularShaderMT
            • TGLCustomGLSLDiffuseSpecularShader
              • TGLSLDiffuseSpecularShader
            • TGLCustomGLSLMLDiffuseSpecularShader
              • TGLSLMLDiffuseSpecularShader
          • TGLCustomGLSLFurShader
            • TGLSLFurShader
          • TGLCustomGLSLGlassShader
            • TGLSLGlassShader
          • TGLCustomGLSLIvoryShader
            • TGLSLIvoryShader
          • TGLCustomGLSLPostBlurShader
            • TGLSLPostBlurShader
          • TGLCustomGLSLPostDreamVisionShader
            • TGLSLPostDreamVisionShader
          • TGLCustomGLSLPostFrostShader
            • TGLSLPostFrostShader
          • TGLCustomGLSLPostNightVisionShader
            • TGLSLPostNightVisionShader
          • TGLCustomGLSLPostPixelateShader
            • TGLSLPostPixelateShader
          • TGLCustomGLSLPostPosterizeShader
            • TGLSLPostPosterizeShader
          • TGLCustomGLSLPostThermalVisionShader
            • TGLSLPostThermalVisionShader
          • TGLCustomGLSLPostTroubleShader
            • TGLSLPostTroubleShader
          • TGLCustomGLSLSemShader
            • TGLSLSemShader
          • TGLCustomGLSLSimpleErosionShader
            • TGLSLSimpleErosionShader
          • TGLCustomGLSLSimpleGoochShader
            • TGLSLSimpleGoochShader
          • TGLCustomGLSLSimpleLatticeShader
            • TGLCustomGLSLLatticeShader
              • TGLSLLatticeShader
            • TGLSLSimpleLatticeShader
          • TGLCustomGLSLToonShader
            • TGLSLToonShader
          • TGLCustomGLSLVertexDisplacementShader
            • TGLSLVertexDisplacementShader
          • TGLSLShader
      • TGLCustomShaderCombiner
        • TGLShaderCombiner
      • TGLHiddenLineShader
      • TGLMultiMaterialShader
      • TGLOutlineShader
      • TGLShaderF
      • TGLShaderG
      • TGLShaderV
      • TGLTexCombineShader
      • TGLTextureSharingShader
      • TGLUserShader
    • TGLSilhouette
    • TGLSMemoGutter
    • TGLSMemoUndo
      • TGLSMemoDelCharUndo
      • TGLSMEmoDelLineUndo
      • TGLSMemoInsCharUndo
      • TGLSMemoPasteUndo
      • TGLSMemoSelUndo
        • TGLSMemoDeleteBufUndo
    • TGLStateCache
    • TGLTextureImageEditor
      • TGLBlankTIE
      • TGLPersistentTIE
      • TGLPicFileTIE
      • TGLProcTextureNoiseTIE
    • TGLTransformation
    • TGLTreeBranch
    • TGLTreeBranches
    • TGLTreeBranchNoise
    • TGLTreeLeaves
    • TGLVectorFileFormat
    • TGLVerletConstraint
      • TGLVerletDualConstraint
        • TGLVerletSlider
        • TGLVerletStick
      • TGLVerletGlobalConstraint
        • TGLVerletGlobalFrictionConstraint
          • TGLVerletFrictionCylinder
          • TGLVerletGlobalFrictionConstraintSP
            • TGLVerletFloor
              • TGLVerletHeightField
            • TGLVerletGlobalFrictionConstraintBox
              • TGLVerletFrictionCube
            • TGLVerletGlobalFrictionConstraintSphere
              • TGLVerletFrictionCapsule
              • TGLVerletFrictionSphere
      • TGLVerletGroupConstraint
        • TGLVerletRigidBody
    • TGLVerletForce
      • TGLVerletDualForce
        • TGLVerletSpring
      • TGLVerletGlobalForce
        • TGLVerletAirResistance
        • TGLVerletGravity
      • TGLVerletGroupForce
    • TGLVerletHair
    • TGLVerletWorld
    • TImposter
      • TStaticImposter
    • TIsoSurfaceExtractor
    • TKeyFramer
    • TLineProp
    • TList
      • TBodyList
      • TDXNode
        • TDXFrame
        • TDXMaterialList
        • TDXMesh
      • TFontManager
      • TGeomList
      • TGLCollisionStates
      • TGLColorManager
      • TGLEdgeList
      • TGLFaceList
      • TGLInitializableObjectList
      • TGLNGDBehaviourList
      • TGLSMemoUndoList
      • TGLSoundFileFormatsList
      • TGLVectorPool
      • TGLVerletConstraintList
      • TGLVerletEdgeList
      • TGLVerletForceList
      • TGLVerletNodeList
      • TLWChunkList
      • TMS3DCommentList
      • TStyleList
      • TVertexWeightList
    • TLWContentDir
    • TLWObjectFile
    • TMaterialList
    • TMD3TagList
    • TMS3DGroup
    • TNewtonRagdoll
    • TObjectList
      • TGLCameraJobList
    • TOCTFile
    • TPasJSON
    • TPasJSONItem
      • TPasJSONItemArray
      • TPasJSONItemBoolean
      • TPasJSONItemNull
      • TPasJSONItemNumber
      • TPasJSONItemObject
      • TPasJSONItemString
    • TPasJSONItemObjectProperty
    • TPersistent
      • TCharStyle
      • TCollection
        • TGLActorAnimations
        • TGLBitmapFontRanges
        • TGLConsoleCommandList
        • TGLEParticleMasks
        • TGLSkyDomeBands
        • TGLSkyDomeStars
        • TGLSLTextureEmitters
        • TGLSoundSamples
        • TGLSoundSources
        • TGLTextureEmitters
        • TGLTextureEx
        • TOwnedCollection
          • TGLAbstractLibMaterials
            • TGLLibMaterials
            • TGLLibMaterialsEx
          • TGLGizmoExActionHistoryCollection
          • TGLGizmoExObjectCollection
          • TGLGizmoUndoCollection
          • TGLGuiComponentList
          • TGLGuiElementList
          • TGLMaterialLibraryItems
          • TGLMaterialMultiProxyMasters
          • TGLMovementPaths
          • TGLMultiProxyMasters
          • TGLNodes
            • TGLContourNodes
            • TGLLinesNodes
              • TGLPipeNodes
            • TLineNodes
          • TGLNotifyCollection
            • TGLContours
          • TGLPathNodes
          • TGLPostShaderCollection
          • TGLShaderItems
          • TGLShadowVolumeCasters
          • TGLSimpleNavigationKeyCombinations
          • TGLStaticImposterBuilderCoronas
          • TGLTextureSharingShaderMaterials
          • TGLVertexAttributes
          • TLibArchives
          • TLineCollection
          • TPFXLifeColors
        • TTimeEvents
      • TCollectionItem
        • TGLAbstractLibMaterial
          • TGLLibMaterial
          • TGLLibMaterialEx
        • TGLActorAnimation
        • TGLBaseSoundSource
          • TGLSoundSource
        • TGLBitmapFontRange
        • TGLConsoleCommand
        • TGLContour
        • TGLEParticleMask
        • TGLGizmoExActionHistoryItem
        • TGLGizmoExObjectItem
        • TGLGizmoUndoItem
        • TGLGuiComponent
        • TGLGuiElement
        • TGLInterfacedCollectionItem
          • TGLMaterialMultiProxyMaster
          • TGLTextureSharingShaderMaterial
        • TGLMaterialLibraryItem
        • TGLMovementPath
        • TGLMultiProxyMaster
        • TGLNGDJoint
        • TGLNGDSurfaceItem
        • TGLNGDSurfacePair
        • TGLNode
          • TGLLinesNode
          • TGLPipeNode
          • TLineNode
        • TGLPathNode
        • TGLPostShaderCollectionItem
        • TGLShaderItem
        • TGLShadowVolumeCaster
          • TGLShadowVolumeLight
          • TGLShadowVolumeOccluder
        • TGLSimpleNavigationKeyCombination
        • TGLSkyDomeBand
        • TGLSkyDomeStar
        • TGLSLTextureEmitterItem
        • TGLSoundSample
        • TGLStaticImposterBuilderCorona
        • TGLTextureEmitterItem
        • TGLTextureExItem
        • TGLVertexAttribute
        • TLibArchive
        • TLineItem
        • TPFXLifeColor
        • TTimeEvent
      • TComponent
        • TCUDAHandlesMaster
          • TCUDAComponent
            • TCUDAFFTPlan
            • TCUDAFunction
            • TCUDAGraphicResource
              • TCUDAGeometryResource
              • TCUDAImageResource
            • TCUDAMemData
            • TCUDAModule
            • TCUDATexture
            • TCUDAUniform
              • TCUDAConstant
              • TCUDAFuncParam
            • TGLCUDA
        • TGLApplicationFileIO
        • TGLAsyncTimer
        • TGLAVIRecorder
        • TGLBaseAnimationControler
          • TGLAnimationControler
        • TGLBasePerlin
          • TGL1DPerlin
          • TGL2DPerlin
        • TGLCadenceAbleComponent
          • TGLAbstractMaterialLibrary
            • TGLMaterialLibrary
            • TGLMaterialLibraryEx
          • TGLFireFXManager
          • TGLSoundManager
            • TGLSMBASS
            • TGLSMFMOD
            • TGLSMOpenAL
            • TGLSMWaveOut
          • TGLThorFXManager
          • TGLUpdateAbleComponent
            • TGLCoordinatesUpdateAbleComponent
              • TGLBaseSceneObject
                • TCUDACustomFeedBackMesh
                  • TCUDAFeedbackMesh
                • TGLAnimatedSprite
                • TGLBaseGuiObject
                  • TGLBaseComponent
                    • TGLBaseControl
                      • TGLBaseFontControl
                        • TGLBaseTextControl
                          • TGLFocusControl
                            • TGLAdvancedLabel
                            • TGLButton
                            • TGLCustomControl
                            • TGLEdit
                            • TGLPopupMenu
                            • TGLScrollbar
                            • TGLStringGrid
                          • TGLForm
                          • TGLLabel
                      • TGLCheckBox
                      • TGLPanel
                • TGLCamera
                  • TGLFile3DSCamera
                • TGLCustomAtmosphere
                  • TGLAtmosphere
                • TGLCustomConsole
                  • TGLConsole
                • TGLCustomSceneObject
                  • TGLImmaterialSceneObject
                    • TGLCameraInvariantObject
                      • TGLDummyCube
                      • TGLSkyBox
                      • TGLSkyDome
                        • TGLEarthSkyDome
                    • TGLDirectOpenGL
                    • TGLFlatText
                      • TGLGizmoExUIFlatText
                    • TGLHUDText
                      • TGLAbsoluteHUDText
                      • TGLResolutionIndependantHUDText
                    • TGLImposter
                    • TGLLineBase
                      • TGLNodedLines
                        • TGLLines
                          • TGLGizmoExUILines
                          • TGLIsolines
                      • TGLXYZGrid
                    • TGLParticles
                    • TGLPoints
                    • TGLProjectedTextures
                    • TGLRenderPoint
                    • TGLShadowVolume
                    • TGLTilePlane
                    • TGLTree
                  • TGLMotionBlur
                  • TGLSceneObject
                    • TGLBaseMesh
                      • TGLActor
                        • TGLFile3DSActor
                      • TGLDodecahedron
                      • TGLFreeForm
                        • TGLFile3DSFreeForm
                        • TGLMeshLines
                      • TGLHexahedron
                      • TGLIcosahedron
                      • TGLOctahedron
                      • TGLPortal
                      • TGLTetrahedron
                    • TGLCapsule
                    • TGLCube
                      • TGLGizmoPickCube
                      • TGLODERagdollCube
                    • TGLFrustrum
                      • TGLGizmoExUIFrustrum
                    • TGLGameMenu
                    • TGLHeightField
                    • TGLMesh
                      • TGLTrail
                    • TGLMirror
                    • TGLMultiPolygonBase
                      • TGLExtrusionSolid
                      • TGLMultiPolygon
                    • TGLMultiProxy
                    • TGLPlane
                      • TGLShadowPlane
                    • TGLPolygonBase
                      • TGLPipe
                      • TGLPolygon
                        • TGLGizmoExUIPolygon
                      • TGLRevolutionSolid
                    • TGLQuadricObject
                      • TGLCylinderBase
                        • TGLAnnulus
                        • TGLArrowArc
                        • TGLArrowLine
                          • TGLGizmoExUIArrowLine
                        • TGLCone
                        • TGLCylinder
                      • TGLDisk
                        • TGLGizmoExUIDisk
                      • TGLSphere
                        • TGLGizmoExUISphere
                      • TGLSuperellipsoid
                    • TGLSLProjectedTextures
                    • TGLSpaceText
                    • TGLSprite
                      • TGLHUDSprite
                        • TGLBlur
                    • TGLTeapot
                    • TGLTerrainRenderer
                    • TGLTextureEmitter
                    • TGLTorus
                      • TGLGizmoExUITorus
                      • TGLGizmoPickTorus
                    • TGLWaterPlane
                • TGLFBORenderer
                • TGLFeedback
                • TGLLensFlare
                • TGLLightSource
                  • TGLFile3DSLight
                • TGLMaterialMultiProxy
                • TGLNaviCube
                • TGLParticleFXRenderer
                • TGLPostEffect
                • TGLPostShaderHolder
                • TGLProxyObject
                  • TGLActorProxy
                  • TGLColorProxy
                  • TGLFreeFormProxy
                  • TGLMaterialProxy
                • TGLSceneRootObject
                • TGLSLTextureEmitter
                • TGLTextureLensFlare
                • TGLZShadows
            • TGLCustomBitmapFont
              • TGLBitmapFont
              • TGLWindowsBitmapFont
            • TGLCustomCadencedComponent
              • TGLCadencedComponent
                • TGLParticleFXManager
                  • TGLDynamicPFXManager
                    • TGLLifeColoredPFXManager
                      • TGLBaseSpritePFXManager
                        • TGLCustomSpritePFXManager
                        • TGLPerlinPFXManager
                        • TGLPointLightPFXManager
                      • TGLCustomPFXManager
                      • TGLLinePFXManager
                      • TGLPolygonPFXManager
            • TGLGuiLayout
            • TGLImposterBuilder
              • TGLDynamicImposterBuilder
              • TGLStaticImposterBuilder
            • TGLScene
            • TGLTimeEventsMGR
        • TGLCadencer
        • TGLCameraController
        • TGLCollisionManager
        • TGLCUDACompiler
        • TGLCUDADevice
        • TGLDCEManager
        • TGLEParticleMasksManager
        • TGLFPSMovementManager
        • TGLGizmo
        • TGLGizmoEx
        • TGLHeightDataSource
          • TGLBaseRandomHDS
            • TGLCustomRandomHDS
              • TGLFractalHDS
            • TGLTiledRndLandscape
              • TGLFractalArchipelago
          • TGLBitmapHDS
          • TGLCustomHDS
          • TGLHeightDataSourceFilter
            • TGLAsyncHDS
            • TGLBumpmapHDS
            • TGLShadowHDS
          • TGLHeightTileFileHDS
          • TGLPerlinHDS
          • TGLTerrainBaseHDS
          • TGLTexturedHDS
        • TGLJoystick
        • TGLMaterialScripter
        • TGLNavigator
          • TGLSmoothNavigator
        • TGLNGDManager
        • TGLNonVisualViewer
          • TGLFullScreenViewer
          • TGLMemoryViewer
          • TSDLViewer
        • TGLObjectManager
        • TGLODEJointList
        • TGLODEManager
        • TGLPlugInManager
        • TGLResourceManager
        • TGLSArchiveManager
        • TGLScreenSaver
        • TGLScriptLibrary
        • TGLSimpleNavigation
        • TGLSLanguage
        • TGLSLogger
        • TGLSmoothUserInterface
        • TGLSoundLibrary
        • TGLSPIManager
        • TGLUserInterface
        • TGLVfsPAK
        • TSDLWindow
      • TCUDADevice
      • TGLConsoleControls
      • TGLDisplayOptions
      • TGLFullScreenVideoMode
      • TGLGizmoRayCastHitData
      • TGLInterfacedPersistent
        • TGLUpdateAbleObject
          • TCgProgram
            • TCgFragmentProgram
            • TCgVertexProgram
          • TCUDADimensions
          • TGLAbstractShaderUniform
            • TGLShaderUniform
              • TGLShaderUniformDSA
              • TGLShaderUniformTexture
          • TGLBlendingParameters
          • TGLColor
          • TGLCustomCoordinates
            • TGLCoordinates2
            • TGLCoordinates3
            • TGLCoordinates4
            • TLightmapBounds
          • TGLDamping
          • TGLDataFile
            • TGLBaseArchive
              • TPAKArchive
              • TZLibArchive
            • TGLBaseImage
              • TGLBMPImage
              • TGLDDSImage
              • TGLHDRImage
              • TGLImage
              • TGLJPEGImage
              • TGLO3TCImage
              • TGLPGMImage
              • TGLPNGImage
              • TGLTGAImage
            • TGLSoundFile
              • TGLMP3File
              • TGLWAVFile
            • TGLVectorFile
              • TGL3DSVectorFile
              • TGLASEVectorFile
              • TGLAVectorFile
              • TGLB3DVectorFile
              • TGLBVectorFile
              • TGLDELVectorFile
              • TGLDXFVectorFile
              • TGLGRDVectorFile
              • TGLGTSVectorFile
              • TGLIDTFVectorFile
                • TGLU3DVectorFile
              • TGLLMTSVectorFile
              • TGLLWOVectorFile
              • TGLMD2VectorFile
              • TGLMD3VectorFile
              • TGLMD5VectorFile
              • TGLMDCVectorFile
              • TGLMS3DVectorFile
              • TGLMVectorFile
              • TGLNMFVectorFile
              • TGLNurbsVectorFile
              • TGLOBJVectorFile
              • TGLOCTGLVectorFile
              • TGLPLYVectorFile
              • TGLQ3BSPVectorFile
              • TGLSMDVectorFile
              • TGLSMVectorFile
              • TglSTLVectorFile
              • TGLTFVectorFile
              • TGLTINVectorFile
              • TGLVORVectorFile
              • TGLVRMLVectorFile
              • TGLXVectorFile
          • TGLDepthProperties
          • TGLFaceProperties
          • TGLFlareGradient
          • TGLFogEnvironment
          • TGLHeightData
          • TGLInertiaTensor
          • TGLLibMaterialProperty
            • TGLBaseShaderModel
              • TGLShaderModel3
              • TGLShaderModel4
              • TGLShaderModel5
            • TGLFixedFunctionProperties
            • TGLMultitexturingProperties
            • TGLTextureProperties
          • TGLLineSettings
          • TGLMaterial
          • TGLPointParameters
          • TGLSamplingScale
          • TGLSceneBuffer
          • TGLTexture
          • TGLTextureImage
            • TGLBlankImage
              • TGLDynamicTextureImage
            • TGLCompositeImage
            • TGLCubeMapImage
            • TGLMultisampleImage
            • TGLPictureImage
              • TGLPersistentImage
              • TGLPicFileImage
            • TGLProcTextureNoise
          • TGLTextureSwizzling
          • TGLVertexList
        • TXCollectionItem
          • TGLBaseBehaviour
            • TGLBehaviour
              • TGLBAcceleration
              • TGLBaseForceFieldEmitter
                • TGLDampingFieldEmitter
                • TGLRadialGravityEmitter
                • TGLUniformGravityEmitter
              • TGLBaseInertia
                • TGLParticleInertia
                  • TGLRigidBodyInertia
              • TGLBCollision
              • TGLBFPSMovement
              • TGLBInertia
              • TGLBSoundEmitter
              • TGLDCEDynamic
              • TGLDCEStatic
              • TGLDWSActiveBehaviour
              • TGLMovement
              • TGLNGDBehaviour
                • TGLNGDDynamic
                • TGLNGDStatic
              • TGLODEBehaviour
                • TGLODECustomCollider
                  • TGLODEHeightField
                • TGLODEDynamic
                • TGLODEStatic
            • TGLEffect
              • TGLObjectAfterEffect
              • TGLObjectPostEffect
                • TGLBFireFX
                • TGLBThorFX
                • TGLParticleFXEffect
                  • TGLSourcePFXEffect
              • TGLObjectPreEffect
                • TGLBExplosionFX
          • TGLBaseMaterialCollectionItem
            • TGLAbstractTexture
              • TGLFrameBufferAttachment
              • TGLTextureImageEx
            • TGLASMVertexProgram
            • TGLShaderEx
            • TGLTextureCombiner
            • TGLTextureSampler
          • TGLForce
            • TGLHookesSpring
              • TGLHookesString
          • TGLMapCollectionItem
          • TGLNavigatorSmoothChangeItem
            • TGLNavigatorSmoothChangeSingle
            • TGLNavigatorSmoothChangeVector
          • TGLODEElementBase
            • TGLODEElementBox
            • TGLODEElementCapsule
            • TGLODEElementCylinder
            • TGLODEElementPlane
            • TGLODEElementSphere
            • TGLODEElementTriMesh
          • TGLODEJointBase
            • TGLODEJointBall
            • TGLODEJointFixed
            • TGLODEJointHinge
            • TGLODEJointHinge2
            • TGLODEJointSlider
            • TGLODEJointUniversal
          • TGLScriptBase
            • TGLScriptDWS
            • TGLScriptPython
          • TGLSpriteAnimation
          • TGLSpriteAnimFrame
      • TGLNavigatorAbstractParameters
        • TGLNavigatorAdjustDistanceParameters
        • TGLNavigatorAdjustDistanceParametersEx
      • TGLNavigatorGeneralParameters
      • TGLNavigatorInertiaParameters
      • TGLNavigatorMoveAroundParameters
      • TGLNGDDebugOption
      • TGLNGDJointKinematicController
      • TGLNGDJointPivot
        • TGLNGDJointBallAndSocket
        • TGLNGDJointPin
          • TGLNGDJointHinge
          • TGLNGDJointPin2
          • TGLNGDJointSlider
      • TGLODECollisionSurface
      • TGLODEJointParams
      • TGLOwnedPersistent
      • TGLShaderProgram
        • TGLFragmentProgram
        • TGLGeometryProgram
        • TGLVertexProgram
      • TGLSoundSampling
      • TGLSpriteAnimMargins
      • TGLTextAdjust
      • TGLzBuffer
      • TLogSession
      • TLWChunk
        • TLWParentChunk
          • TLWClip
          • TLWLayr
          • TLWPnts
          • TLWPols
          • TLWSurf
        • TLWPTag
        • TLWSubChunk
        • TLWTags
        • TLWVMap
      • TPersistentObject
        • TBaseList
          • T4ByteList
          • TBaseVectorList
            • TAffineVectorList
            • TQuaternionList
            • TTexPointList
            • TVectorList
          • TByteList
          • TDoubleList
          • TIntegerList
          • TLongWordList
          • TSingleList
        • TBaseSpacePartition
          • TLeavedSpacePartition
            • TSectoredSpacePartition
              • TOctreeSpacePartition
              • TQuadtreeSpacePartition
        • TDXMaterial
        • TGLBaseMeshObject
          • TGLMeshMorphTarget
          • TGLMeshObject
            • TBSPMeshObject
            • TGLMorphableMeshObject
              • TGLFile3DSDummyObject
                • TGLFile3DSCameraObject
                • TGLFile3DSMeshObject
                • TGLFile3DSOmniLightObject
                  • TGLFile3DSSpotLightObject
              • TGLSectorMeshObject
              • TGLSkeletonMeshObject
            • TMOParametricSurface
        • TGLFaceGroup
          • TFGBezierSurface
          • TFGVertexIndexList
            • TFGBSPNode
            • TFGIndexTexCoordList
            • TFGVertexNormalTexIndexList
              • TFGPolygon
                • TFGPortalPolygon
        • TGLFile3DSAnimationKeyList
        • TGLFile3DSAnimationKeys
          • TGLFile3DSColorAnimationKeys
          • TGLFile3DSLightHotSpotAnimationKeys
          • TGLFile3DSPositionAnimationKeys
          • TGLFile3DSRollAnimationKeys
          • TGLFile3DSRotationAnimationKeys
          • TGLFile3DSScaleAnimationKeys
          • TGLFile3DSSpotLightCutOffAnimationKeys
          • TTGLFile3DSPositionAnimationKeys
        • TGLParticle
          • TGLLineParticle
        • TGLParticleList
        • TGLRagdoll
          • TGLODERagdoll
        • TGLSkeleton
        • TGLSkeletonCollider
          • TGLVerletSkeletonCollider
            • TGLVerletCapsule
            • TGLVerletSphere
          • TSCODEBase
            • TSCODEBox
            • TSCODECCylinder
            • TSCODESphere
        • TGLSkeletonFrame
        • TGLTiledArea
        • TGLTiledAreaRow
        • TPersistentObjectList
          • TGLArchiveFileFormatsList
          • TGLFaceGroups
          • TGLMeshMorphTargetList
          • TGLMeshObjectList
            • TGLPortalMeshObjectList
          • TGLPickList
          • TGLPolygonList
          • TGLRagdolBoneList
            • TGLRagdolBone
              • TGLODERagdollBone
          • TGLRasterFileFormatsList
          • TGLSkeletonBoneList
            • TGLSkeletonBone
            • TGLSkeletonRootBoneList
          • TGLSkeletonColliderList
          • TGLSkeletonFrameList
          • TGLVectorFileFormatsList
          • TSpacePartitionLeafList
        • TSpacePartitionLeaf
          • TGLBaseVerletNode
            • TGLVerletNode
              • TGLMeshObjectVerletNode
          • TGLVerletEdge
          • TSceneObj
      • TStrings
        • TStringList
          • TGLConsoleStringList
          • TGLMTLFile
          • TGLPlugInList
          • TGLSMemoStringList
          • TGLSMemoStrings
      • TXCollection
        • TGLBehaviours
        • TGLEffects
        • TGLForces
        • TGLMapCollection
        • TGLMatLibComponents
        • TGLNavigatorSmoothChangeItems
        • TGLODEElements
        • TGLODEJoints
        • TGLScripts
        • TGLSpriteAnimationList
        • TGLSpriteAnimFrameList
    • TPickRecord
    • TQ3BSP
    • TSectorNode
      • TSPOctreeNode
        • TSPQuadtreeNode
    • TThread
      • TGLHeightDataThread
        • TGLAsyncHDThread
        • TGLPerlinHDSThread
      • TLogBufferFlushThread
      • TLogCheckSizeThread
    • TVirtualReader
      • TGLBinaryReader
      • TGLTextReader
    • TVirtualWriter
      • TGLBinaryWriter
      • TGLTextWriter
    • TVRMLNode
      • TVRMLIntegerArray
      • TVRMLMaterial
      • TVRMLShapeHints
      • TVRMLSingleArray
      • TVRMLTransform
      • TVRMLUse
    • TVRMLParser
  • TPanel
    • TSDL2Frame
  • TPropertyEditor
    • TGLResolutionProperty
    • TUniformAutoSetProperty
  • TPythonEngine
    • TGLPythonEngine
  • TSelectionEditor
    • TGLBaseSceneObjectSelectionEditor
    • TGLSoundLibrarySelectionEditor
  • TStringProperty
    • TAsmProgFileProperty
    • TGLAnimationNameProperty
    • TGLCUDACompilerSourceProperty
    • TGLCUDADeviceProperty
    • TGLLibMaterialNameProperty
    • TGLMaterialComponentNameProperty
      • TGLLibAsmProgNameProperty
      • TGLLibAttachmentNameProperty
      • TGLLibCombinerNameProperty
      • TGLLibSamplerNameProperty
      • TGLLibShaderNameProperty
      • TGLLibTextureNameProperty
    • TGLSoundNameProperty
    • TPictureFileProperty
    • TShaderFileProperty
  • TWinControl
    • TGLSceneViewer


GLSysHelp v.2.1: All Classes, Interfaces, Objects and Records

All Classes, Interfaces, Objects and Records

Name Unit Description
BASS_3DVECTOR Sounds.BASSImport

3D vector (for 3D positions/velocities/orientations)
BASS_CHANNELINFO Sounds.BASSImport

Channel info structure
BASS_DEVICEINFO Sounds.BASSImport

Plugin handle Device info structure
BASS_DX8_CHORUS Sounds.BASSImport

BASS_DX8_COMPRESSOR Sounds.BASSImport

BASS_DX8_DISTORTION Sounds.BASSImport

BASS_DX8_ECHO Sounds.BASSImport

BASS_DX8_FLANGER Sounds.BASSImport

BASS_DX8_GARGLE Sounds.BASSImport

BASS_DX8_I3DL2REVERB Sounds.BASSImport

BASS_DX8_PARAMEQ Sounds.BASSImport

BASS_DX8_REVERB Sounds.BASSImport

BASS_FILEPROCS Sounds.BASSImport

BASS_INFO Sounds.BASSImport

BASS_PLUGINFORM Sounds.BASSImport

BASS_PLUGININFO Sounds.BASSImport

BASS_RECORDINFO Sounds.BASSImport

Recording device info structure
BASS_SAMPLE Sounds.BASSImport

Sample info structure
CUDAContextManager CUDA.Context

Static class of CUDA contexts manager.
DTriangle GLS.Triangulation

Created Triangles, vv# are the vertex pointers
DVertex GLS.Triangulation

Points (Vertices)
DXT3AlphaBlock Formats.DXTC

DXT5AlphaBlock Formats.DXTC

DXTColBlock Formats.DXTC

ECgBombShaderException Cg.BombShader

ECgShaderException Cg.Shader

Define OutputCompilerWarnings to output Cg compiler warnings to a file. Useful for detecting bugs caused by using uninitialized value, implicit type cast, etc.
EDDSException Formats.DDSImage

EFilerException GLS.PersistentClasses

Usually triggered when a filing error is detected.
EFilerException GLS.XCollection

EGLAtmosphereException GLS.Atmosphere

EGLCameraController GLS.CameraController

EGLConsoleException GLS.Console

EGLContext GLS.Context

EGLCustomShaderException GLSL.CustomShader

EGLFile3DS GLS.File3DS

EGLImageUtils GLS.ImageUtils

EGLMotionBlurException GLS.Blur

EGLOBJFileError GLS.FileOBJ

EGLPostShaderHolderException GLSL.PostEffects

EGLProxyException GLS.ProxyObjects

EGLROAMException GLS.ROAMPatch

Exception use by splitter for SafeTesselation
EGLShader GLS.Context

EGLShaderException GLS.Texture

EGLSLBumpShaderException GLSL.BumpShaders

EGLSLDiffuseSpecularShaderException GLSL.DiffuseSpecularShader

EGLSLShaderException GLSL.Shader

EGLUtilsException GLS.Utils

EInvalidArchiveFile GLS.ArchiveManager

EInvalidFileSignature GLS.PersistentClasses

Triggered when file signature does not match.
EInvalidRasterFile GLS.Graphics

EInvalidVectorFile GLS.VectorFileObjects

EOpenGLError GLS.OpenGLAdapter

EPasJSONMergeError PasJSON

EPasJSONSyntaxError PasJSON

EPBuffer GLS.Context

ESDLError GLS.SDLWindow

Generic SDL or SDLWindow exception
ETexture GLS.Texture

ETextureCombinerError GLS.TextureCombiners

ETGAException GLS.FileTGA

EZBufferException GLS.zBuffer

GCUDAHostElementAccess CUDA.DataAccess

IAVIEditStream Formats.VFW

IAVIFile Formats.VFW

– AVIFile ——————————————————————
IAVIStream Formats.VFW

- - - - - - - - */

/****** AVI Stream Interface ******************************************
IAVIStreaming Formats.VFW

IGetFrame Formats.VFW

The functions 'BeginExtraction' and 'EndExtraction' have actually the names 'Begin' and 'End', but we cannot use that identifiers for obvious reasons.
IGLCoordinatesUpdateAble GLS.Coordinates

Actually Sender should be TGLCustomCoordinates, but that would require changes in a some other GLScene units and some other projects that use TGLCoordinatesUpdateAbleComponent
IGLInitializable GLS.Scene

Interface to objects that need initialization
IGLMaterialLibrarySupported GLS.Material

an interface for proper TGLLibMaterialNameProperty support
IGLNotifyAble GLS.BaseClasses

IGLPostShader GLSL.CustomShader

Used in the TGLPostShaderHolder component.
IGLProgessAble GLS.BaseClasses

IGLShaderDescription GLSL.CustomShader

This interface describes user shaders, in order to be able to access them via a unified interface. If user shader does not support some option, don't raise an axception, just ignore it.
IGLTextureNotifyAble GLS.Texture

IPersistentObject GLS.PersistentClasses

Interface for persistent objects. This interface does not really allow polymorphic persistence, but is rather intended as a way to unify persistence calls for iterators
IShaderParameter GLSL.ShaderParameter

T4ByteData GLS.VectorLists

4 byte union contain access like Integer, Single and four Byte
T4ByteList GLS.VectorLists

A list of T4ByteData
TAABB GLS.GeometryBB

Structure for storing Axis Aligned Bounding Boxes
TACubic3DS Formats.m3DSTypes

TAffineVectorList GLS.VectorLists

A list of TAffineVector. Similar to TList, but using TAffineVector as items. The list has stack-like push/pop methods
TAG_APE_BINARY Sounds.BASSImport

TAG_BEXT Sounds.BASSImport

TAG_ID3 Sounds.BASSImport

TAndroidIO SDL2.Import

TANIMChunk Formats.B3D

TArchiveFileFormat GLS.ArchiveManager

The type to record a registered class
TAsmProgFileProperty GLS.SceneRegister

TAtmosphere3DS Formats.m3DSTypes

TAVICOMPRESSOPTIONS Formats.VFW

TAVIFileInfoA Formats.VFW

TAVIFileInfoW Formats.VFW

TAVIINDEXENTRY Formats.VFW

TAVIPALCHANGE Formats.VFW

TAVIStreamHeader Formats.VFW

TAVIStreamInfoA Formats.VFW

TAVIStreamInfoW Formats.VFW

TB3DChunk Formats.B3D

TB3DMaterial Formats.B3D

TB3DNode Formats.B3D

TB3DTexture Formats.B3D

TBackground3DS Formats.m3DSTypes

TBaseList GLS.VectorLists

Base class for lists, introduces common behaviours
TBaseSpacePartition GLS.SpacePartition

Basic space partition, does not implement any actual space partitioning
TBaseVectorList GLS.VectorLists

Base class for vector lists, introduces common behaviours
TBB3DChunk Formats.B3D

TBitmap3DS Formats.m3DSTypes

TBodyList Physics.ODEImport

TBONEChunk Formats.B3D

TBoneMatrixObj GLS.ProxyObjects

An object containing the bone matrix for TGLActorProxy.
TBoundBox Formats.m3DSTypes

TBRUSChunk Formats.B3D

TBSPClusterVisibility GLS.MeshBSP

TBSPCullingSphere GLS.MeshBSP

TBSPFace Formats.Q3BSP

TBSPHeader Formats.Q3BSP

TBSphere GLS.GeometryBB

Structure for storing BoundingSpheres. Similar to TAABB
TBSPLeaf Formats.Q3BSP

TBSPLightmap Formats.Q3BSP

TBSPLump Formats.Q3BSP

TBSPMeshObject GLS.MeshBSP

A BSP mesh object. Stores the geometry information, BSP rendering options and offers some basic BSP utility methods. Geometry information is indexed in the facegroups, the 1st facegroup (of index 0) being the root node of the BSP tree.
TBSPModel Formats.Q3BSP

TBSPNode Formats.Q3BSP

TBSPRenderContextInfo GLS.MeshBSP

TBSPTexture Formats.Q3BSP

TBSPVertex Formats.Q3BSP

TBSPVisData Formats.Q3BSP

TByteList GLS.VectorLists

A list of bytes. Similar to TList, but using Byte as items
TCadencableCustomCgShader Cg.Shader

Allows to use a Cadencer, which is used for noise generation in many shaders.
TCamera3DS Formats.m3DSTypes

TCamRanges Formats.m3DSTypes

TCamRanges3DS Formats.m3DSTypes

TCAPDRIVERCAPS Formats.VFW

TCAPINFOCHUNK Formats.VFW

TCAPSTATUS Formats.VFW

TCAPTUREPARMS Formats.VFW

TCellPos GLS.Memo

TCellSize GLS.Memo

TCgBombShader Cg.BombShader

TCgCustomBombShader Cg.BombShader

Just a good-looking shader.
TCgFragmentProgram Cg.Shader

TCgParameter Cg.Shader

Wrapper around a Cg parameter of the main program.
TCgProgram Cg.Shader

Wrapper around a Cg program.
TCgShader Cg.Shader

TCgVertexProgram Cg.Shader

TChannelTypeAndNum CUDA.APIComps

TCHANNEL_CAPS Formats.VFW

TCharInfo GLS.BitmapFont

TCharStyle GLS.Memo

TChunk3DS Formats.m3DSTypes

finally the chunk definition
TChunkData Formats.m3DSTypes

to avoid zillion type casts, we use this variant record for chunk data, effectively this defines the same pointer differently for different chunk types this is only possible because all types are just pointers
TChunkList3DS Formats.m3DSTypes

list of cross references
TChunkListEntry3DS Formats.m3DSTypes

cross reference between Name and Chunk
Tcl_buffer_region OpenCL.Import

Tcl_image_desc OpenCL.Import

Tcl_image_format OpenCL.Import

TColor24 Formats.m3DSTypes

TColorF Formats.m3DSTypes

TColTrackTag Formats.m3DSTypes

TCombinerCommand GLS.TextureCombiners

TCOMPVARS Formats.VFW

TCoronaTangentLookup GLS.Imposter

TCUarray CUDA.Import

TCubicSpline GLS.Spline

3D cubic spline handler class. This class allows to describe and calculate values of a time-based, three-dimensionnal cubic spline. Cubic spline pass through all given points and tangent on point N is given by the (N-1) to (N+1) vector. Note : X, Y & Z are actually interpolated independently.
TCUcontext CUDA.Import

TcudaArray CUDA.Runtime

+//DEVICE_BUILTIN*/
TCudaChannelFormatDesc CUDA.Runtime

TCUDAComponent CUDA.APIComps

TCUDAConstant CUDA.APIComps

TCUDAConstantInfo CUDA.Parser

TCUDAContext CUDA.Context

TCUDACustomFeedBackMesh CUDA.Graphics

TCUDADevice CUDA.Context

TCudaDeviceProp CUDA.Runtime

TCUDADimensions CUDA.Context

TcudaExtent CUDA.Runtime

+//DEVICE_BUILTIN*/
TCUDAFeedbackMesh CUDA.Graphics

TCUDAFFTPlan CUDA.FFTPlan

TCUDAFuncArgInfo CUDA.Parser

TcudaFuncAttributes CUDA.Import

* CUDA function attributes
TCUDAFuncInfo CUDA.Parser

TCUDAFuncParam CUDA.APIComps

TCUDAFunction CUDA.APIComps

TCUDAGeometryResource CUDA.Graphics

TCUDAGraphicResource CUDA.APIComps

Abstract class of graphic resources.
TCUDAHandlesMaster CUDA.Context

TCUDAImageResource CUDA.Graphics

TcudaMemcpy3DParms CUDA.Runtime

+//DEVICE_BUILTIN*/
TCUDAMemData CUDA.APIComps

TCUDAModule CUDA.APIComps

TCUDAModuleInfo CUDA.Parser

TcudaPitchedPtr CUDA.Runtime

+//DEVICE_BUILTIN*/
TcudaPos CUDA.Runtime

+//DEVICE_BUILTIN*/
TCUDATexRefInfo CUDA.Parser

TCUDATexture CUDA.APIComps

TCUDAUniform CUDA.APIComps

TCUDA_ARRAY3D_DESCRIPTOR CUDA.Import

3D array descriptor
TCUDA_ARRAY_DESCRIPTOR CUDA.Import

TCUDA_MEMCPY2D CUDA.Import

TCUDA_MEMCPY3D CUDA.Import

3D memory copy parameters
TCUdevprop CUDA.Import

Legacy device properties
TCUDPPConfiguration CUDA.ParallelPrimitives

Placeholder at end of enum
TCUevent CUDA.Import

TCUfunction CUDA.Import

TCUgraphicsResource CUDA.Import

TCUmodule CUDA.Import

TCustomCgShader Cg.Shader

TCUstream CUDA.Import

TCUtexref CUDA.Import

TD3DMatrix GLS.VectorTypes

TD3DVector GLS.VectorTypes

TDatabase3DS Formats.m3DSTypes

file database
TDCECollision GLS.DCE

TdContact Physics.ODEImport

TdContactGeom Physics.ODEImport

TDCueSettings3DS Formats.m3DSTypes

distance cue atmosphere parameters
TDDPIXELFORMAT Formats.DXTC

TDDSHeader Formats.DXTC

TDDSImage Formats.DDSImage

TDDSURFACEDESC2 Formats.DXTC

TDDS_HEADER_DXT10 Formats.DXTC

);
TDESolver Physics.SPIManager

need to have state array(s) seperate from inertias to allow for implicit & explicit methods
TDESolverEuler Physics.SPIManager

TDESolverExplicit Physics.SPIManager

explicit e.g. Euler, Mid-point, Runge-Kutta integration
TDESolverImplicit Physics.SPIManager

implicit e.g. Verlet Integration
TDESolverRungeKutta4 Physics.SPIManager

TDESolverVerlet Physics.SPIManager

TdGeomClass Physics.ODEImport

typedef struct dGeomClass { int bytes; dGetColliderFnFn *collider; dGetAABBFn *aabb; dAABBTestFn *aabb_test; dGeomDtorFn *dtor; } dGeomClass;
TdGeomSpaceData Physics.ODEImport

typedef struct dGeomSpaceData { dGeomID next; } dGeomSpaceData;
TDistanceCue Formats.m3DSTypes

TdJointFeedback Physics.ODEImport

TDlLocalShadow2 Formats.m3DSTypes

TDlSpotlight Formats.m3DSTypes

TdMass Physics.ODEImport

TdObject Physics.ODEImport

TDoubleList GLS.VectorLists

A list of Double. Similar to TList, but using Double as items. The list has stack-like push/pop methods
TDRAWDIBTIME Formats.VFW

TdSurfaceParameters Physics.ODEImport

TdwsClassesUnit DWS.Classes

TdwsGLSceneUnit DWS.Scene

TdwsOpenGLUnit DWS.OpenGL

TdwsVectorGeometryUnit DWS.VectorGeometry

TdxAutoDisable Physics.ODEImport

TdxBody Physics.ODEImport

TdxContactParameters Physics.ODEImport

TdxDampingParameters Physics.ODEImport

TDXFile Formats.X

TDXFileHeader Formats.X

TDXFrame Formats.X

TdxGeom Physics.ODEImport

// common data for all geometry objects. the class-specific data area follows // this structure. pos and R will either point to a separately allocated // buffer (if body is 0 - pos points to the dxPosR object) or to the pos and // R of the body (if body nonzero). struct dxGeom { // a dGeomID is a pointer to this dxGeomClass *_class; // class of this object void *data; // user data pointer dBodyID body; // dynamics body associated with this object (if any) dReal *pos; // pointer to object's position vector dReal *R; // pointer to object's rotation matrix dSpaceID spaceid; // the space this object is in dGeomSpaceData space; // reserved for use by space this object is in dReal *space_aabb; // ptr to aabb array held by dSpaceCollide() fn // class-specific data follows here, with proper alignment. };
TdxHashSpace Physics.ODEImport

Copies settings from TdxSpace, beacause pascal doeasn't do inheritance for records
TdxHeightfieldData Physics.ODEImport

TdxJoint Physics.ODEImport

TdxJointAMotor Physics.ODEImport

TdxJointBall Physics.ODEImport

TdxJointFixed Physics.ODEImport

TdxJointGroup Physics.ODEImport

TdxJointHinge Physics.ODEImport

TdxJointHinge2 Physics.ODEImport

TdxJointLimitMotor Physics.ODEImport

TdxJointLMotor Physics.ODEImport

TdxJointNode Physics.ODEImport

TdxJointPiston Physics.ODEImport

TdxJointPlane2D Physics.ODEImport

TdxJointPR Physics.ODEImport

TdxJointSlider Physics.ODEImport

TdxJointUniversial Physics.ODEImport

TDXMaterial Formats.X

TDXMaterialList Formats.X

TDXMesh Formats.X

TDXNode Formats.X

TdxPosR Physics.ODEImport

TdxQuadTreeSpace Physics.ODEImport

TdxQuickStepParameters Physics.ODEImport

TdxSpace Physics.ODEImport

TdxTriMeshData Physics.ODEImport

struct dxTriMeshData{ Model BVTree; MeshInterface Mesh;

dxTriMeshData(); ˜dxTriMeshData();

void Build(const void* Vertices, int VertexStide, int VertexCount, const void* Indices, int IndexCount, int TriStride, const void* Normals, bool Single);

/* aabb in model space */ dVector3 AABBCenter; dVector3 AABBExtents;

/* data for use in collison resolution */ const void* Normals; Matrix4x4 last_trans; };
TdxWorld Physics.ODEImport

struct dxWorld : public dBase { dxBody *firstbody; // body linked list dxJoint *firstjoint; // joint linked list int nb,nj; // number of bodies and joints in lists dVector3 gravity; // gravity vector (m/s/s) dReal global_erp; // global error reduction parameter dReal global_cfm; // global costraint force mixing parameter };
TEaxBufferProperties Sounds.OpenALImport

Use this structure for DSPROPERTY_EAXBUFFER_ALLPARAMETERS - all levels are hundredths of decibels

NOTE: This structure may change in future EAX versions. It is recommended to initialize fields by name: myBuffer.lDirect = 0; myBuffer.lDirectHF = -200; ... myBuffer.dwFlags = myFlags /* see EAXBUFFERFLAGS below */ ; instead of: myBuffer = { 0, -200, ... , 0x00000003 };
TEaxListenerProperties Sounds.OpenALImport

Use this structure for DSPROPERTY_EAXLISTENER_ALLPARAMETERS - all levels are hundredths of decibels - all times are in seconds - the reference for high frequency controls is 5 kHz

NOTE: This structure may change in future EAX versions. It is recommended to initialize fields by name: myListener.lRoom = -1000; myListener.lRoomHF = -100; ... myListener.dwFlags = myFlags /* see EAXLISTENERFLAGS below */ ; instead of: myListener = { -1000, -100, ... , 0x00000009 }; If you want to save and load presets in binary form, you should define your own structure to insure future compatibility.
TECCollider GLS.EllipseCollision

TECCollisionPacket GLS.EllipseCollision

TECContact GLS.EllipseCollision

TECFreeForm GLS.EllipseCollision

Ellipsoid collision FreeForm
TECMovePack GLS.EllipseCollision

TECObjectInfo GLS.EllipseCollision

Object collision properties
TECPlane GLS.EllipseCollision

The Ellipsoid collision class
TECTriangle GLS.EllipseCollision

Ellipsoid collision Triangle
TECTriMesh GLS.EllipseCollision

Ellipsoid collision Mesh
TFace3DS Formats.m3DSTypes

Face List element
TFaceArray Formats.m3DSTypes

TFallTrackTag Formats.m3DSTypes

TFColor3DS Formats.m3DSTypes

RGB Color components
TFGBezierSurface GLS.ParametricSurfaces

A 3d bezier surface implemented through facegroups. The ControlPointIndices is an index to control points stored in the MeshObject.Vertices affine vector list. Similarly the TexCoordIndices point to the owner MeshObject.TexCoords, one for each control point. CountU and CountV define the width and height of the surface. Resolution sets the detail level of the mesh evaluation. MinU, MaxU, MinV and MaxV define the region of the surface to be rendered, this is especially useful for blending with neighbouring patches.
TFGBSPNode GLS.MeshBSP

A node in the BSP tree. The description does not explicitly differentiates nodes and leafs, nodes are referred by their index.
TFGIndexTexCoordList GLS.VectorFileObjects

Adds per index texture coordinates to its ancestor. Per index texture coordinates allows having different texture coordinates per triangle, depending on the face it is used in.
TFGPolygon GLS.Portal

A portal polygon. This is the base class for portal polygons, the TFGPortalPolygon class implements the portal.
TFGPortalPolygon GLS.Portal

A portal polygon. This is the base class for portal polygons, the TFGPortalPolygon class implements the portal.
TFGVertexIndexList GLS.VectorFileObjects

A face group based on an indexlist. The index list refers to items in the mesh object (vertices, normals, etc.), that are all considered in sync, the render is obtained issueing the items in the order given by the vertices.
TFGVertexNormalTexIndexList GLS.VectorFileObjects

Adds normals and texcoords indices. Allows very compact description of a mesh. The Normals ad TexCoords indices are optionnal, if missing (empty), VertexIndices will be used.
TFile3DS Formats.m3DS

The main class that supplies the user with all available data from a specific 3DS file. The data is currently read only, but the class might be finished sometime later...
TFileB3D Formats.B3D

TFileGLA Formats.GL2

Ghoul2 Animation structure
TFileGLM Formats.GL2

Ghoul2 Model structure
TFileMD2 Formats.MD2

TFileMD3 Formats.MD3

MD3 Main file class
TFileNMF GLS.FileNMF

TFileSection GLS.FilePAK

TFileSection GLS.FileVfsPAK

TFileSection GLS.FileZLIB

TFinishTaskEvent GLS.Context

TFog Formats.m3DSTypes

TFogSettings3DS Formats.m3DSTypes

Fog atmosphere parameters
TFontEntry GLS.SpaceText

TFontManager GLS.SpaceText

Manages a list of fonts for which display lists were created.
TFovTrackTag Formats.m3DSTypes

TFractionErosion GLS.RandomHDS

TFrustum GLS.VectorGeometry

TFSoundReverbChannelProperties Sounds.FMODtypes

[STRUCTURE] [ [DESCRIPTION] Structure defining the properties for a reverb source, related to a FSOUND channel. For more indepth descriptions of the reverb properties under win32, please see the EAX3 documentation at http://developer.creative.com/ under the 'downloads' section. If they do not have the EAX3 documentation, then most information can be attained from the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of EAX2.

Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset. Note that integer values that typically range from -10,000 to 1000 are represented in decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear. PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox). Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then the reverb should product a similar effect on either platform. Linux and FMODCE do not support the reverb api.

The numerical values listed below are the maximum, minimum and default values for each variable respectively.

[SEE_ALSO] FSOUND_Reverb_SetChannelProperties FSOUND_Reverb_GetChannelProperties FSOUND_REVERB_CHANNELFLAGS ]
TFSoundReverbProperties Sounds.FMODtypes

[STRUCT_START] [ [NAME] FSOUND_REVERB_PROPERTIES

[DESCRIPTION] Structure defining a reverb environment.

[REMARKS] For more indepth descriptions of the reverb properties under win32, please see the EAX2/EAX3 documentation at http://developer.creative.com/ under the 'downloads' section. If they do not have the EAX3 documentation, then most information can be attained from the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of EAX2. Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset. Note that integer values that typically range from -10,000 to 1000 are represented in decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear. PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox). Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then the reverb should product a similar effect on either platform. Only WIN32 supports the reverb api.

The numerical values listed below are the maximum, minimum and default values for each variable respectively.

[SEE_ALSO] FSOUND_Reverb_SetProperties FSOUND_Reverb_GetProperties FSOUND_REVERB_PRESETS FSOUND_REVERB_FLAGS ]
TFSoundTOCTag Sounds.FMODtypes

[STRUCTURE] [ [DESCRIPTION] Structure defining a CD table of contents. This structure is returned as a tag from FSOUND_Stream_FindTagField when the tag name "CD_TOC" is specified. Note: All tracks on the CD - including data tracks- will be represented in this structure so it's use for anything other than generating disc id information is not recommended. See the cdda example program for info on retrieving and using this structure.

[SEE_ALSO] FSOUND_Stream_Open FSOUND_Stream_FindTagField ]
TFSoundVector Sounds.FMODtypes

TFullPos GLS.Memo

TGeomList Physics.ODEImport

TGL1DPerlin GLS.Perlin

TGL2DPerlin GLS.Perlin

TGL2DPerlinOctav GLS.Perlin

TGL3DSVectorFile GLS.File3DS

The 3DStudio vector file. Uses an upgraded version if a 3DS import library by Mike Lischke. (http://www.lishcke-online.de). A 3DS file may contain material information and require textures when loading.
TGLAbsoluteHUDText GLS.HUDObjects

Position (X, Y and X) is in absolute coordinates. This component converts them to screen coordinates and renderes text there.
TGLAbstractLibMaterial GLS.Material

TGLAbstractLibMaterials GLS.Material

TGLAbstractMaterialLibrary GLS.Material

TGLAbstractMemoObject GLS.Memo

TGLAbstractShaderUniform GLS.MaterialEx

TGLAbstractTexture GLS.MaterialEx

TGLActiveAttrib GLSL.Shader

TGLActor GLS.VectorFileObjects

Mesh class specialized in animated meshes. The TGLActor provides a quick interface to animated meshes based on morph or skeleton frames, it is capable of performing frame interpolation and animation blending (via TGLAnimationControler components).
TGLActorAnimation GLS.VectorFileObjects

An actor animation sequence. An animation sequence is a named set of contiguous frames that can be used for animating an actor. The referred frames can be either morph or skeletal frames (choose which via the Reference property). An animation can be directly "played" by the actor by selecting it with SwitchAnimation, and can also be "blended" via a TGLAnimationControler.
TGLActorAnimations GLS.VectorFileObjects

Collection of actor animations sequences.
TGLActorProxy GLS.ProxyObjects

A proxy object specialized for Actors.
TGLAdvancedLabel GLS.Windows

TGLAHeader Formats.GL2

TGLAnimatedSprite GLS.AnimatedSprite

An animated version for using offset texture coordinate animation.
TGLAnimationControler GLS.VectorFileObjects

Controls the blending of an additionnal skeletal animation into an actor. The animation controler allows animating an actor with several animations at a time, for instance, you could use a "run" animation as base animation (in TGLActor), blend an animation that makes the arms move differently depending on what the actor is carrying, along with an animation that will make the head turn toward a target.
TGLAnimationNameProperty GLS.SceneRegister

TGLAnnulus GLS.GeomObjects

An annulus is a cylinder that can be made hollow (pipe-like)
TGLApplicationFileIO GLS.ApplicationFileIO

Allows specifying a custom behaviour for CreateFileStream. The component should be considered a helper only, you can directly specify a function via the vAFIOCreateFileStream variable. If multiple ApplicationFileIO components exist in the application, the last one created will be the active one.
TGLARBFragmentProgramHandle GLS.Context

TGLARBGeometryProgramHandle GLS.Context

TGLARBProgramHandle GLS.Context

TGLARBVertexProgramHandle GLS.Context

TGLArchiveFileFormatsList GLS.ArchiveManager

The list of registered classes
TGLArray GLS.OpenGLVCL

TGLArrowArc GLS.GeomObjects

Draws an arrowhead (Sliced Torus + cone). The arrow head is a cone that shares the attributes of the Torus (ie stacks/slices, materials etc). This is useful for displaying a movement (eg twist) or other arc arrows that might be required. By default the bottom arrow is off
TGLArrowLine GLS.GeomObjects

Draws an arrowhead (cylinder + cone). The arrow head is a cone that shares the attributes of the cylinder (ie stacks/slices, materials etc). Seems to work ok. This is useful for displaying a vector based field (eg velocity) or other arrows that might be required. By default the bottom arrow is off
TGLASEFace GLS.FileASE

ASE mesh face
TGLASEFaceList GLS.FileASE

ASE mesh faces list
TGLASEFaceTexure GLS.FileASE

maximum texture maps face texture channel indices
TGLASEFaceTexureChannels GLS.FileASE

face texture channels
TGLASEMaterial GLS.FileASE

TGLASEMaterialList GLS.FileASE

TGLASEMaterialTextureMap GLS.FileASE

TGLASEMaterialTextureMaps GLS.FileASE

TGLASEMeshObject GLS.FileASE

ASE geom object, represents single mesh object; contains: vertices, faces, verice indices, faces and vertices normals, channels of texture coordinates and indices, scaling and location info; this object used only to store ASE data temporary to copy supported piece of it into GLScene TGLMeshObject
TGLASESmoothingGroups GLS.FileASE

TGLASESubMaterial GLS.FileASE

TGLASESubMaterialList GLS.FileASE

TGLASEVectorFile GLS.FileASE

ASE vector file parser
TGLASkeleton Formats.GL2

TGLAsmShader GLSL.AsmShader

TGLAsmShaderParameter GLSL.AsmShader

TGLASMVertexProgram GLS.MaterialEx

TGLAsyncHDS GLS.AsyncHDS

TGLAsyncHDThread GLS.AsyncHDS

TGLAsyncTimer GLS.AsyncTimer

Asynchronous timer component (actual 1 ms resolution, if CPU fast enough). Keep in mind timer resolution is obtained in-between events, but events are not triggered every x ms. For instance if you set the interval to 5 ms, and your Timer event takes 1 ms to complete, Timer events will actually be triggered every 5+1=6 ms (that's why it's "asynchronous"). This component is based on ThreadedTimer by Carlos Barbosa.
TGLAtmosphere GLS.Atmosphere

TGLAVectorFile GLS.FileGL2

TGLAVIRecorder GLS.AVIRecorder

Component to make it easy to record GLScene frames into an AVI file.
TGLB3DVectorFile GLS.FileB3D

TGLBAcceleration GLS.Behaviours

Applies a constant acceleration to a TGLBInertia.
TGLBallAndSocketJoint Physics.SPIJoints

TGLBaseAnimationControler GLS.VectorFileObjects

Base class for skeletal animation control.
TGLBaseArchive GLS.ArchiveManager

BaseArchive class
TGLBaseBehaviour GLS.Scene

Base class for implementing behaviours in TGLScene. Behaviours are regrouped in a collection attached to a TGLBaseSceneObject, and are part of the "Progress" chain of events. Behaviours allows clean application of time-based alterations to objects (movements, shape or texture changes...). Since behaviours are implemented as classes, there are basicly two kinds of strategies for subclasses : stand-alone : the subclass does it all, and holds all necessary data (covers animation, inertia etc.) proxy : the subclass is an interface to and external, shared operator (like gravity, force-field effects etc.)

Some behaviours may be cooperative (like force-fields affects inertia) or unique (e.g. only one inertia behaviour per object). NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function
TGLBaseComponent GLS.Windows

TGLBaseConnectivity GLS.Silhouette

TGLBaseControl GLS.Windows

TGLBaseCustomGLSLBumpShader GLSL.BumpShaders

An abstract class.
TGLBaseCustomGLSLBumpShaderMT GLSL.BumpShaders

An abstract class.
TGLBaseCustomGLSLDiffuseSpecular GLSL.DiffuseSpecularShader

Abstract class.
TGLBaseFontControl GLS.Windows

TGLBaseForceFieldEmitter Physics.SPIManager

A base for different types of force-field behaviours
TGLBaseGLSLDiffuseSpecularShaderMT GLSL.DiffuseSpecularShader

Abstract class.
TGLBaseGuiObject GLS.Gui

TGLBaseImage GLS.Graphics

TGLBaseInertia Physics.SPIManager

purpose of TGLBaseInertia is to allow for inertias that may be constrained to 1 or 2 dimensions Shouldn't be used directly, instead use TGLParticleInertia (for a 3D particle) TGLRigidBodyInertia (for a 3D rigid-body) or define a new sub-class e.g. TGL1DParticleInertia, this will allow for faster speed
TGLBaseJoint Physics.SPIJoints

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)
TGLBaseLink Physics.SPIJoints

TGLBaseMaterialCollectionItem GLS.MaterialEx

TGLBaseMesh GLS.VectorFileObjects

Base class for mesh objects.
TGLBaseMeshConnectivity GLS.BaseMeshSilhouette

TGLBaseMeshObject GLS.VectorFileObjects

A base class for mesh objects. The class introduces a set of vertices and normals for the object but does no rendering of its own
TGLBasePerlin GLS.Perlin

TGLBasePerlinOctav GLS.Perlin

TGLBaseRandomHDS GLS.RandomHDS

This class introduces all the basic properties of random landscape. No method implemented though. It is used as a descendant for - TGLCustomRandomLandscape: one tile landscape (cyclic or not) - TGLTiledRndLandscape: "infinite" landscapes (grids of TGLCustomRandomLandscape)
TGLBaseSceneObject GLS.Scene

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged
TGLBaseSceneObjectSelectionEditor GLS.SceneRegister

Selection editor for TGLBaseSceneObject. Allows units to be added to the uses clause automatically when behaviours/effects are added to a TGLBaseSceneObject at design-time.
TGLBaseSelectTechnique GLS.Selection

TGLBaseShaderModel GLS.MaterialEx

TGLBaseSoundSource GLS.Sound

Base class for origin of sound playback.
TGLBaseSpritePFXManager GLS.ParticleFX

Base class for sprite-based particles FX managers. The particles are made of optionally centered single-textured quads.
TGLBaseTextControl GLS.Windows

TGLBaseVerletNode GLS.VerletTypes

Basic Verlet Node
TGLBCollision GLS.Collision

Collision detection behaviour. Allows an object to register to a TCollisionManager and be accounted for in collision-detection and distance calculation mechanisms. An object may have multiple TGLBCollision, registered to multiple collision managers, however if multiple behaviours share the same manager, only one of them will be accounted for, others will be ignored.
TGLBehaviour GLS.Scene

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".
TGLBehaviours GLS.Scene

Holds a list of TGLBehaviour objects. This object expects itself to be owned by a TGLBaseSceneObject. As a TXCollection (and contrary to a TCollection), this list can contain objects of varying class, the only constraint being that they should all be TGLBehaviour subclasses.
TGLBExplosionFX GLS.ExplosionFx

TGLBFireFX GLS.FireFX

Fire special effect. This effect works as a client of TFireFXManager
TGLBFPSMovement GLS.FPSMovement

TGLBinaryReader GLS.PersistentClasses

Wraps a TReader-compatible reader.
TGLBinaryWriter GLS.PersistentClasses

Wraps a TWriter-compatible writer.
TGLBInertia GLS.Behaviours

Simple translation and rotation Inertia behaviour. Stores translation and rotation speeds, to which you can apply accelerations. Note that the rotation model is not physical, so feel free to contribute a "realworld" inertia class with realistic, axis-free, rotation inertia if this approximation does not suits your needs :).
TGLBitmapFont GLS.BitmapFont

See TGLCustomBitmapFont. This class only publuishes some of the properties.
TGLBitmapFontRange GLS.BitmapFont

An individual character range in a bitmap font. A range allows mapping ASCII characters to character tiles in a font bitmap, tiles are enumerated line then column (raster).
TGLBitmapFontRanges GLS.BitmapFont

TGLBitmapHDS GLS.HeightData

Bitmap-based Height Data Source. The image is automatically wrapped if requested data is out of picture Size, or if requested data is larger than the picture. The internal format is an 8 bit bitmap whose dimensions are a power of two, if the original image does not comply, it is StretchDraw'ed on a monochrome (gray) bitmap.
TGLBlankImage GLS.Texture

A texture image with no specified content, only a size. This texture image type is of use if the context of your texture is calculated at run-time (with a TGLMemoryViewer for instance).
TGLBlankTIE GLS.TextureImageEditors

TGLBlendedLerpInfo GLS.VectorFileObjects

Small structure to store a weighted lerp for use in blending
TGLBlendingParameters GLS.Material

TGLBlur GLS.Blur

TGLBMPImage GLS.FileBMP

TGLBooleanOcclusionQueryHandle GLS.Context

TGLBoxRec GLS.VectorTypesExt

TGLBSoundEmitter GLS.Sound

A sound emitter behaviour, plug it on any object to make it noisy. This behaviour is just an interface to a TGLSoundSource, for editing convenience.
TGLBThorFX GLS.ThorFX

Thor special effect
TGLBuffer GLS.OpenGLVCL

TGLBufferI GLS.OpenGLVCL

TGLBufferObjectHandle GLS.Context

Manages a handle to a Buffer Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user.
TGLBufferU GLS.OpenGLVCL

TGLBufferV GLS.OpenGLVCL

TGLBumpmapHDS GLS.BumpmapHDS

An Height Data Source that generates elevation bumpmaps automatically. The HDS must be connected to another HDS, which will provide the elevation data, and to a MaterialLibrary where bumpmaps will be placed.
TGLBumpShader GLSL.BumpShaders

A generic bump shader.
TGLButton GLS.Windows

TGLBVectorFile GLS.FileGLB

The GLB binary glTF format is a runtime asset delivery format for GL APIs: WebGL, OpenGL ES OpenGL and Vulkan.
TGLCadenceAbleComponent GLS.BaseClasses

A base class describing the "cadenceing" interface.
TGLCadencedComponent GLS.Cadencer

TGLCadencer GLS.Cadencer

This component allows auto-progression of animation. Basicly dropping this component and linking it to your TGLScene will send it real-time progression events (time will be measured in seconds) while keeping the CPU 100% busy if possible (ie. if things change in your scene). The progression time (the one you'll see in you progression events) is calculated using (CurrentTime-OriginTime)*TimeMultiplier, CurrentTime being either manually or automatically updated using TimeReference (setting CurrentTime does NOT trigger progression).
TGLCamera GLS.Scene

Camera object. This object is commonly referred by TGLSceneViewer and defines a position, direction, focal length, depth of view... all the properties needed for defining a point of view and optical characteristics.
TGLCameraController GLS.CameraController

TGLCameraInvariantObject GLS.Scene

Base class for camera invariant objects. Camera invariant objects bypass camera settings, such as camera position (object is always centered on camera) or camera orientation (object always has same orientation as camera).
TGLCameraJob GLS.CameraController

TGLCameraJobList GLS.CameraController

TGLCanvas GLS.Canvas

A simple Canvas-like interface for OpenGL. This class implements a small "shell" for 2D operations in OpenGL, it operates over the current OpenGL context and provides methods for drawing lines, ellipses and points. This class is typically used by creating an instance, using it for drawing, and freeing the instance. When drawing (0, 0) is the top left corner. All coordinates are internally maintained with floating point precision. Several states are cached and it is of primary importance not to invoke OpenGL directly throughout the life of an instance (at the cost of unespected behaviour).
TGLCapsule GLS.GeomObjects

Capsule object, can also be used to make truncated cones
TGLCelShader GLSL.ShapeShaders

A generic cel shader.
TGLCGPostTransformationShader Cg.PostTransformationShader

TGLCheckBox GLS.Windows

TGLClipRect GLS.GeometryBB

TGLCollisionManager GLS.Collision

TGLCollisionState GLS.FPSMovement

TGLCollisionStates GLS.FPSMovement

TGLColor GLS.Color

Wraps an OpenGL color.
TGLColorEntry GLS.Color

TGLColorManager GLS.Color

TGLColorProperty GLS.SceneRegister

TGLColorProxy GLS.ProxyObjects

A proxy object with its own color. This proxy object can have a unique color. Note that multi-material objects (Freeforms linked to a material library f.i.) won't honour the color.
TGLCompositeImage GLS.CompositeImage

TGLCone GLS.GeomObjects

A cone object
TGLConeSP GLS.SpacePartition

Describes a cone, and is used for cone collision
TGLConnectivity GLS.Silhouette

TGLConsole GLS.Console

TGLConsoleCommand GLS.Console

A wrapper for a console command.
TGLConsoleCommandList GLS.Console

TGLConsoleControls GLS.Console

TGLConsoleStringList GLS.Console

A class that checks for duplicates.
TGLContactPoint GLS.FPSMovement

TGLContext GLS.Context

Wrapper around an OpenGL rendering context. The aim of this class is to offer platform-independant initialization, activation and management of OpenGL rendering context. The class also offers notifications event and error/problems detection. This is a virtual abstract a class, and platform-specific subclasses must be used. All rendering context share the same lists
TGLContextHandle GLS.Context

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses
TGLContextManager GLS.Context

Stores and manages all the TGLContext objects.
TGLContextNotification GLS.Context

TGLContour GLS.MultiPolygon

TGLContourNodes GLS.MultiPolygon

TGLContours GLS.MultiPolygon

TGLCoordinates2 GLS.Coordinates

A TGLCustomCoordinates that publishes X, Y properties.
TGLCoordinates3 GLS.Coordinates

A TGLCustomCoordinates that publishes X, Y, Z properties.
TGLCoordinates4 GLS.Coordinates

A TGLCustomCoordinates that publishes X, Y, Z, W properties.
TGLCoordinatesProperty GLS.SceneRegister

TGLCoordinatesUpdateAbleComponent GLS.Coordinates

TGLCube GLS.Objects

A simple cube object. This cube use the same material for each of its faces, ie. all faces look the same. If you want a multi-material cube, use a mesh in conjunction with a TGLFreeForm and a material library. Ref: https://mathworld.wolfram.com/Cube.html
TGLCubeMapImage GLS.Texture

A texture image used for specifying and stroing a cube map. Not unlike TGLPictureImage, but storing 6 of them instead of just one. Saving & loading as a whole currently not supported.
TGLCUDA CUDA.APIComps

TGLCUDACompiler CUDA.Compiler

TGLCUDACompilerEditor CUDA.PropEditors

TGLCUDACompilerSourceProperty CUDA.PropEditors

TGLCUDADevice CUDA.Context

TGLCUDADeviceProperty CUDA.PropEditors

TGLCUDAEditor CUDA.PropEditors

TGLCUDAEditorForm CUDA.EditorFm

TGLCustomAsmShader GLSL.AsmShader

TGLCustomAtmosphere GLS.Atmosphere

This class imitates an atmosphere around a planet
TGLCustomBitmapFont GLS.BitmapFont

Provides access to individual characters in a BitmapFont. Only fixed-width bitmap fonts are supported, the characters are enumerated in a raster fashion (line then column). Transparency is all or nothing, the transparent color being that of the top left pixel of the Glyphs bitmap. Performance note: as usual, for best performance, you base font bitmap dimensions should be close to a power of two, and have at least 1 pixel spacing between characters (horizontally and vertically) to avoid artefacts when rendering with linear filtering.
TGLCustomCadencedComponent GLS.Cadencer

Adds a property to connect/subscribe to a cadencer.
TGLCustomCGPostTransformationShader Cg.PostTransformationShader

TGLCustomConsole GLS.Console

TGLCustomControl GLS.Windows

TGLCustomCoordinates GLS.Coordinates

Stores any homogeneous vector. This class is basicly a container for a TGLVector, allowing proper use of property editors and editing in the IDE. Vector/Coordinates manipulation methods are only minimal. Handles dynamic default values to save resource file space.
TGLCustomGLSLBumpShader GLSL.BumpShaders

TGLCustomGLSLBumpShaderAM GLSL.BumpShaders

One Light shaders.
TGLCustomGLSLBumpShaderMT GLSL.BumpShaders

TGLCustomGLSLDiffuseSpecularShader GLSL.DiffuseSpecularShader

******** Single Light ************
TGLCustomGLSLDiffuseSpecularShaderMT GLSL.DiffuseSpecularShader

TGLCustomGLSLFurShader GLSL.ShapeShaders

Custom class for Fur Shader
TGLCustomGLSLGlassShader GLSL.ShapeShaders

Custom class for Glass shader: Environment mapping and refraction mapping using the fresnel terms
TGLCustomGLSLIvoryShader GLSL.ShapeShaders

Custom class for a shader that simulate Ivory Material
TGLCustomGLSLLatticeShader GLSL.ShapeShaders

Custom class for GLSLLatticeShader. A shader that simulate Lattice with Diffuse/Specular and support Texture
TGLCustomGLSLMLBumpShader GLSL.BumpShaders

MultiLight shaders.
TGLCustomGLSLMLBumpShaderMT GLSL.BumpShaders

TGLCustomGLSLMLDiffuseSpecularShader GLSL.DiffuseSpecularShader

TGLCustomGLSLMLDiffuseSpecularShaderMT GLSL.DiffuseSpecularShader

TGLCustomGLSLPostBlurShader GLSL.PostShaders

Custom class for GLSLPostBlurShader. A shader that blurs the entire scene
TGLCustomGLSLPostDreamVisionShader GLSL.PostShaders

Custom class for GLSLPostDreamVisionShader. A shader that simulate a grayscale threshold vision (aka dream) of the entire scene
TGLCustomGLSLPostFrostShader GLSL.PostShaders

Custom class for GLSLPostFrostShader. A shader that frost of the entire scene
TGLCustomGLSLPostNightVisionShader GLSL.PostShaders

Custom class for GLSLPostNightVisionShader. A shader that simulate a Night Vision of the scene throw a mask if enabled, or of the entire scene
TGLCustomGLSLPostPixelateShader GLSL.PostShaders

Custom class for GLSLPostPixelateShader. A shader that pixelate of the entire scene
TGLCustomGLSLPostPosterizeShader GLSL.PostShaders

Custom class for GLSLPostPosterizeShader. A shader that posterize of the entire scene
TGLCustomGLSLPostThermalVisionShader GLSL.PostShaders

A shader that simulate a Thermal Vision of the entire scene
TGLCustomGLSLPostTroubleShader GLSL.PostShaders

Custom class for GLSLPostTroubleShader. A shader that trouble of the entire scene. v2 This Shader is experimental it can do smooth the scene or double the scene and it's depends of PixelX, PixelY and Freq values if they are less than 1 or greater the effects will be very different
TGLCustomGLSLSemShader GLSL.ShapeShaders

Custom class for SEM Shader : Spherical Environment Mapping
TGLCustomGLSLShader GLSL.Shader

TGLCustomGLSLSimpleErosionShader GLSL.ShapeShaders

Custom class for a shader that Erode surface object
TGLCustomGLSLSimpleGoochShader GLSL.ShapeShaders

Custom class for Gooch Shader
TGLCustomGLSLSimpleLatticeShader GLSL.ShapeShaders

Custom class for a shader that simulate Lattice
TGLCustomGLSLToonShader GLSL.ShapeShaders

Custom class for Toon Shader
TGLCustomGLSLVertexDisplacementShader GLSL.ShapeShaders

VertexDisplacement shader: Basic Vertex Displacement with Perlin Noise You can Improved it: The vertex displacement can be done by reading a 2D or 3D texture. It can be done along the normal or the tangent. It can be scaled, twisted, modulated, inverted... Converted from : https://www.clicktorelease.com/blog/vertex-displacement-noise-3d-webgl-glsl-three-js At this time only one light source is supported
TGLCustomHDS GLS.HeightData

An Height Data Source for custom use. Provides event handlers for the various requests to be implemented application-side (for application-specific needs).
TGLCustomPFXManager GLS.ParticleFX

A particles FX manager offering events for customization/experimentation. This manager essentially surfaces the PFX methods as events, and is best suited when you have specific particles that don't fall into any existing category, or when you want to experiment with particles and later plan to wrap things up in a full-blown manager. If the events aren't handled, nothing will be rendered.
TGLCustomRandomHDS GLS.RandomHDS

Base structure for all random landscape objects. It can't be used directly since its BuildHeightField procedure is abstract. Use one of its descendants instead.
TGLCustomSceneObject GLS.Scene

Extended base scene object class with a material property. The material allows defining a color and texture for the object, see TGLMaterial
TGLCustomShader GLSL.CustomShader

A pure abstract class, must be overriden.
TGLCustomShaderCombiner GLSL.ShaderCombiner

TGLCustomShaderParameter GLSL.CustomShader

Wrapper around a parameter of the main program.
TGLCustomSpritePFXManager GLS.ParticleFX

A sprite-based particles FX managers using user-specified code to prepare the texture
TGLCylinder GLS.GeomObjects

Cylinder object, can also be used to make truncated cones
TGLCylinderBase GLS.GeomObjects

Base class to cylinder-like objects that introduces the basic cylinder description properties. Be aware teh default slices and stacks make up for a high-poly cylinder, unless you're after high-quality lighting it is recommended to reduce the Stacks property to 1.
TGLDamping GLS.Behaviours

Holds parameters for a basic damping model by calculating a force from the speed, this force can then be transformed to an acceleration is you know the object's mass. Formulas: damping = constant + linear * Speed + quadratic * Speedˆ2 accel = damping / Mass That's just basic physics. A note on the components: constant: use it for solid friction (will stop abruptly an object after decreasing its speed. linear: linear friction damping. quadratic: expresses viscosity
TGLDampingFieldEmitter Physics.SPIFields

TGLDataFile GLS.ApplicationFileIO

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.
TGLDCEDynamic GLS.DCE

TGLDCEManager GLS.DCE

The Dynamic Collision Engine Manager class
TGLDCEStatic GLS.DCE

TGLDDSImage GLS.FileDDS

TGLDelaunay2D GLS.Triangulation

TGLDelaunay2D is a class for Delaunay triangulation of arbitrary points Credit to Paul Bourke (http://paulbourke.net/) for the original Fortran 77 Program :)) Conversion to Visual Basic by EluZioN (EluZioN@casesladder.com) Conversion from VB to Delphi6 by Dr Steve Evans (steve@lociuk.com) June 2002 Update by Dr Steve Evans: Heap memory allocation added to prevent stack overflow when MaxVertices and MaxTriangles are very large. Additional Updates in June 2002: Bug in InCircle function fixed. Radius r := Sqrt(rsqr). Check for duplicate points added when inserting new point. For speed, all points pre-sorted in x direction using quicksort algorithm and triangles flagged when no longer needed. The circumcircle centre and radius of the triangles are now stored to improve calculation time. You can use this code however you like providing the above credits remain in tact
TGLDelphiWebScript DWS.Script

This class only adds manager registration logic to the TDelphiWebScriptII class to enable the XCollection items (ie. TGLScriptDWS) retain it's assigned compiler from design to run -time.
TGLDELVectorFile GLS.FileDEL

The DEL vector file (tetrahedra irregular network)
TGLDepthProperties GLS.Material

TGLDepthRBO GLS.FBORenderer

TGLDim GLS.VectorTypesExt

TGLDirectOpenGL GLS.Scene

Provides a way to issue direct OpenGL calls during the rendering. You can use this object to do your specific rendering task in its OnRender event. The OpenGL calls shall restore the OpenGL states they found when entering, or exclusively use the GLMisc utility functions to alter the states.
TGLDisk GLS.GeomObjects

A Disk object that may not be complete, it can have a hole (controlled by the InnerRadius property) and can only be a slice (controlled by the StartAngle and SweepAngle properties).
TGLDisplayOptions GLS.Screen

TGLDodecahedron GLS.GeomObjects

The dodecahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.
TGLDummyCube GLS.Objects

A simple cube, invisible at run-time. This is a usually non-visible object -except at design-time- used for building hierarchies or groups, when some kind of joint or movement mechanism needs be described, you can use DummyCubes. DummyCube's barycenter is its children's barycenter. The DummyCube can optionnally amalgamate all its children into a single display list (see Amalgamate property).
TGLDWSActiveBehaviour DWS.Objects

A DelphiWebScript enabled behaviour. This behaviour also calls on the OnProgress and OnBeginProgram procedures in the script if they are found. Once compiled and executed the program remains active until killed, deactivated or the script is invalidated.
TGLDXFVectorFile GLS.FileDXF

TGLDynamicImposterBuilder GLS.Imposter

TGLDynamicPFXManager GLS.ParticleFX

An abstract PFX manager for simple dynamic particles. Adds properties and progress implementation for handling moving particles (simple velocity and const acceleration integration).
TGLDynamicTextureImage GLS.DynamicTexture

Allows for fast updating of the texture at runtime
TGLEarthSkyDome GLS.SkyDome

Render a skydome like what can be seen on earth. Color is based on sun position and turbidity, to "mimic" atmospheric Rayleigh and Mie scatterings. The colors can be adjusted to render weird/exoplanet atmospheres too. The default slices/stacks values make for an average quality rendering, for a very clean rendering, use 64/64 (more is overkill in most cases). The complexity is quite high though, making a T&L 3D board a necessity for using TGLEarthSkyDome.
TGLEdge GLS.VerletClothify

TGLEdgeDetector GLS.VerletClothify

TGLEdgeList GLS.VerletClothify

TGLEdit GLS.Windows

TGLEffect GLS.Scene

A rendering effect that can be applied to SceneObjects. ObjectEffect is a subclass of behaviour that gets a chance to Render an object-related special effect. TGLEffect should not be used as base class for custom effects, instead you should use the following base classes : TGLObjectPreEffect is rendered before owner object render TGLObjectPostEffect is rendered after the owner object render TGLObjectAfterEffect is rendered at the end of the scene rendering NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function
TGLEffects GLS.Scene

Holds a list of object effects. This object expects itself to be owned by a TGLBaseSceneObject.
TGLEParticleMask GLS.EParticleMasksManager

TGLEParticleMasks GLS.EParticleMasksManager

TGLEParticleMasksManager GLS.EParticleMasksManager

TGLExtendedFrustum GLS.SpacePartition

Extended frustum, used for fast intersection testing
TGLExtensionsAndEntryPoints GLS.OpenGLAdapter

TGLExtrusionSolid GLS.Extrusion

Extrudes a complex Polygon into Z direction. For contour description see TGLMultiPolygonBase. properties Parts, Height (or should we better cal it Depth, because its in Z?), Stacks, Normals and NormalDirection are equivalent to TGLRevolutionSolid. If Normals=nsSmooth and the angle between two consecutive normals along the contour is less than MinSmoothAngle, smoothing is done, otherweise flat normals are used. This makes it possible to have smooth normals on sharp edged contours.
TGLFace GLS.VerletClothify

Class that represents a face. This structure is not used for rendering, but for extracting info from meshes
TGLFaceExtractor GLS.VerletClothify

Class that extracts faces from a GLBaseMesh
TGLFaceGroup GLS.VectorFileObjects

Describes a face group of a TGLMeshObject. Face groups should be understood as "a way to use mesh data to render a part or the whole mesh object". Subclasses implement the actual behaviours, and should have at least one "Add" method, taking in parameters all that is required to describe a single base facegroup element.
TGLFaceGroupConnectivity GLS.BaseMeshSilhouette

TGLFaceGroups GLS.VectorFileObjects

A list of TGLFaceGroup objects.
TGLFaceList GLS.VerletClothify

List of faces
TGLFaceProperties GLS.Material

Stores basic face lighting properties. The lighting is described with the standard ambient/diffuse/emission/specular properties that behave like those of most rendering tools. You also have control over shininess (governs specular lighting) and polygon mode (lines / fill).
TGLFaceRec GLS.VectorTypesExt

TGLFBORenderer GLS.FBORenderer

TGLFeedback GLS.Feedback

An object encapsulating the OpenGL feedback rendering mode.
TGLFile3DSActor GLS.File3DSSceneObjects

TGLFile3DSAnimationData GLS.File3DS

A record that holds all the information that is used during 3ds animation.
TGLFile3DSAnimationKeyList GLS.File3DS

TGLFile3DSAnimationKeys GLS.File3DS

An abstract class that describes how to interpolate animation keys.
TGLFile3DSCamera GLS.File3DSSceneObjects

TGLFile3DSCameraObject GLS.File3DS

A 3ds-specific camera.
TGLFile3DSColorAnimationKeys GLS.File3DS

TGLFile3DSDummyObject GLS.File3DS

A 3ds-specific TGLMorphableMeshObject.
TGLFile3DSFreeForm GLS.File3DSSceneObjects

TGLFile3DSLight GLS.File3DSSceneObjects

TGLFile3DSLightHotSpotAnimationKeys GLS.File3DS

TGLFile3DSMeshObject GLS.File3DS

A 3ds-specific mesh object.
TGLFile3DSOmniLightObject GLS.File3DS

A 3ds-specific omni light.
TGLFile3DSPositionAnimationKeys GLS.File3DS

TGLFile3DSRollAnimationKeys GLS.File3DS

TGLFile3DSRotationAnimationKeys GLS.File3DS

TGLFile3DSScaleAnimationKeys GLS.File3DS

TGLFile3DSSpotLightCutOffAnimationKeys GLS.File3DS

TGLFile3DSSpotLightObject GLS.File3DS

A 3ds-specific spot light.
TGLFireFXManager GLS.FireFX

Fire special effect manager. Defines the looks and behaviour of a particle system that can be made to look fire-like.
TGLFireParticle GLS.FireFX

TGLFixedFunctionProperties GLS.MaterialEx

TGLFlareGradient GLS.LensFlare

The actual gradients between two colors are, of course, calculated by OpenGL. The start and end colors of a gradient are stored to represent the color of lens flare elements.
TGLFlatText GLS.BitmapFont

A 2D text displayed and positionned in 3D coordinates. The FlatText uses a character font defined and stored by a TGLBitmapFont component. Default character scale is 1 font pixel = 1 space unit.
TGLFocusControl GLS.Windows

TGLFogEnvironment GLS.Scene

Parameters for fog environment in a scene. The fog descibed by this object is a distance-based fog, ie. the "intensity" of the fog is given by a formula depending solely on the distance, this intensity is used for blending to a fixed color.
TGLForce Physics.SPIForces

TGLForces Physics.SPIManager

TGLForm GLS.Windows

TGLFPSMovementManager GLS.FPSMovement

TGLFractalArchipelago GLS.RandomHDS

TGLFractalHDS GLS.RandomHDS

Random landscape based on the middle-point displacement algorithm
TGLFragmentProgram GLSL.CustomShader

TGLFragmentShaderHandle GLS.Context

Manages a handle to a Fragment Shader Object
TGLFrameBuffer GLS.FBORenderer

TGLFrameBufferAttachment GLS.MaterialEx

TGLFramebufferHandle GLS.Context

Manages a handle to a Framebuffer Object (FBO). Framebuffer objects provide a way of drawing to rendering destinations other than the buffers provided to the GL by the window-system. One or more "framebuffer-attachable images" can be attached to a Framebuffer for uses such as: offscreen rendering, "render to texture" + "multiple render targets" (MRT). There are several types of framebuffer-attachable images: - The image of a renderbuffer object, which is always 2D. - A single level of a 1D texture, which is treated as a 2D image with a height of one. - A single level of a 2D or rectangle texture. - A single face of a cube map texture level, which is treated as a 2D image. - A single layer of a 1D or 2D array texture or 3D texture, which is treated as a 2D image. Additionally, an entire level of a 3D texture, cube map texture, or 1D or 2D array texture can be attached to an attachment point. Such attachments are treated as an array of 2D images, arranged in layers, and the corresponding attachment point is considered to be layered
TGLFreeForm GLS.VectorFileObjects

Container objects for a vector file mesh. FreeForms allows loading and rendering vector files (like 3DStudio ".3DS" file) in GLScene. Meshes can be loaded with the LoadFromFile method. A FreeForm may contain more than one mesh, but they will all be handled as a single object in a scene.
TGLFreeFormProxy GLS.ProxyObjects

A proxy object specialized for FreeForms.
TGLFrustrum GLS.GeomObjects

A frustrum is a pyramid with the top chopped off. The height of the imaginary pyramid is ApexHeight, the height of the frustrum is Height. If ApexHeight and Height are the same, the frustrum degenerates into a pyramid. Height cannot be greater than ApexHeight.
TGLFullScreenVideoMode GLS.SceneForm

Screen mode settings
TGLFullScreenViewer GLS.FullScreenViewer

A FullScreen viewer. This non visual viewer will, when activated, use the full screen as rendering surface. It will also switch/restore videomode depending on the required width/height. This is performed by creating an underlying TForm and using its surface for rendering OpenGL, "decent" ICDs will automatically use PageFlipping instead of BlockTransfer (slower buffer flipping mode used for windowed OpenGL). Note: if you terminate the application either via a kill or in the IDE, the original resolution isn't restored.
TGLGameMenu GLS.GameMenu

Classic game menu interface made of several lines.
TGLGeometryProgram GLSL.CustomShader

TGLGeometryShaderHandle GLS.Context

Manages a handle to a Geometry Shader Object
TGLGizmo GLS.Gizmo

TGLGizmoEx GLS.GizmoEx

TGLGizmoExActionHistoryCollection GLS.GizmoEx

TGLGizmoExActionHistoryItem GLS.GizmoEx

TGLGizmoExObjectCollection GLS.GizmoEx

TGLGizmoExObjectItem GLS.GizmoEx

TGLGizmoExUIArrowLine GLS.GizmoEx

TGLGizmoExUIDisk GLS.GizmoEx

TGLGizmoExUIFlatText GLS.GizmoEx

TGLGizmoExUIFrustrum GLS.GizmoEx

Gizmo objects
TGLGizmoExUILines GLS.GizmoEx

TGLGizmoExUIPolygon GLS.GizmoEx

TGLGizmoExUISphere GLS.GizmoEx

TGLGizmoExUITorus GLS.GizmoEx

TGLGizmoPickCube GLS.Gizmo

TGLGizmoPickTorus GLS.Gizmo

TGLGizmoRayCastHitData GLS.Gizmo

TGLGizmoUndoCollection GLS.Gizmo

TGLGizmoUndoItem GLS.Gizmo

TGLGRDVectorFile GLS.FileGRD

The GRD file represents ascii grid formats in 2D/3D. This is a format for storing regular grid values as a matrices of cell centers. The format supports variations and subformats. This importer works for Sutfer, ArcInfo and GMS formats
TGLGTSVectorFile GLS.FileGTS

The GTS vector file (GNU Triangulated Surface library). It is a simple text format, with indexed vertices. The first line contains the number of vertices, the number of edges and the number of faces separated by spaces. Following lines contain the x/y/z coordinates of vertices, then the edges (two indices) and the faces (three indices). http://gts.sourceforge.net/
TGLGuiComponent GLS.Gui

TGLGuiComponentList GLS.Gui

TGLGuiElement GLS.Gui

TGLGuiElementList GLS.Gui

TGLGuiLayout GLS.Gui

TGLGUILayoutEditor GLS.SceneRegister

TGLHDRImage GLS.FileHDR

TGLHeightData GLS.HeightData

TGLHeightData = class (TObject)
TGLHeightDataSource GLS.HeightData

Base class for height datasources. This class is abstract and presents the standard interfaces for height data retrieval (TGLHeightData objects). The class offers the following features (that a subclass may decide to implement or not, what follow is the complete feature set, check subclass doc to see what is actually supported): Pooling / Cacheing (return a TGLHeightData with its "Release" method) Pre-loading : specify a list of TGLHeightData you want to preload Multi-threaded preload/queueing : specified list can be loaded in a background task.
TGLHeightDataSourceFilter GLS.HeightData

Height Data Source Filter. This component sits between the TGLTerrainRenderer, and a real TGLHeightDataSource. i.e. TGLTerrainRenderer links to this. This links to the real TGLHeightDataSource. Use the 'HeightDataSource' property, to link to a source HDS. The 'OnSourceDataFetched' event then gives you the opportunity to make any changes, or link in a texture to the TGLHeightData object, BEFORE it is cached. It bypasses the cache of the source HDS, by calling the source's StartPreparingData procedure directly. The TGLHeightData objects are then cached by THIS component, AFTER you have made your changes. This eliminates the need to copy and release the TGLHeightData object from the Source HDS's cache, before linking your texture. See the new version of TGLBumpmapHDS for an example. (LIN) To create your own HDSFilters, Derive from this component, and override the PreparingData procedure.
TGLHeightDataThread GLS.HeightData

A thread specialized for processing TGLHeightData in background. Requirements: must have FreeOnTerminate set to true, must check and honour Terminated swiftly
TGLHeightDataUser GLS.HeightData

TGLHeightField GLS.Graph

Renders a sampled height-field. HeightFields are used to materialize z=f(x, y) surfaces, you can use it to render anything from math formulas to statistics. Most important properties of an height field are its sampling scales (X & Y) that determine the extents and the resolution of the base grid. The component will then invoke it OnGetHeight event to retrieve Z values for all of the grid points (values are retrieved only once for each point). Each point may have an additionnal color and texture coordinate.
TGLHeightTile GLS.HeightTileFileHDS

TGLHeightTileFile GLS.HeightTileFileHDS

Interfaces a Tiled file
TGLHeightTileFileHDS GLS.HeightTileFileHDS

—————- TGLHeightTileFileHDS class ———————– An Height Data Source for the HTF format.
TGLHeightTileInfo GLS.HeightTileFileHDS

TGLHexahedron GLS.GeomObjects

The hexahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.
TGLHiddenLineShader GLSL.LineShaders

TGLHookesSpring Physics.SPIForces

TGLHookesString Physics.SPIForces

TGLHUDSprite GLS.HUDObjects

A rectangular area, NOT perspective projected. (x, y) coordinates map directly to the viewport (in pixels) and refer the center of the area. The coordinate system is that of an equivalent TCanvas, ie. top-left point is the origin (0, 0). The z component is ignored and Z-Buffer is disabled when rendering. Using TGLHUDSprite in 2D only scenes : The most convenient way to use a TGLHUDSprite as a simple 2D sprite with blending capabilities (transparency or additive), is to set the texture mode to tmModulate, in FrontProperties, to use the Emission color to control coloring/intensity, and finally use the Diffuse color's alpha to control transparency (while setting the other RGB components to 0). You can also control aplha-blending by defining a <1 value in the sprite's AlphaChannel field. This provides you with hardware accelerated, alpha-blended blitting. Note : since TGLHUDSprite works in absolute coordinates, TGLProxyObject can't be used to duplicate an hud sprite.
TGLHUDText GLS.HUDObjects

A 2D text displayed and positionned in 2D coordinates. The HUDText uses a character font defined and stored by a TGLBitmapFont component. The text can be scaled and rotated (2D), the layout and alignment can also be controled.
TGLIcosahedron GLS.GeomObjects

The icosahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.
TGLIDTFVectorFile GLS.File3DPDF

The IDTF vector file (Intermediate Data Text File). Used for converting to IDTF -> U3D -> 3D PDF
TGLImage GLS.Graphics

Contains and manipulates a 32 bits (24+8) bitmap. This is the base class for preparing and manipulating textures in GLS.Scene, this function does not rely on a windows handle and should be used for in-memory manipulations only. 16 bits textures are automatically converted to 24 bits and an opaque (255) alpha channel is assumed for all planes, the byte order is as specified in GL_RGBA. If 32 bits is used in this class, it can however output 16 bits texture data for use in OpenGL. The class has support for registering its content as a texture, as well as for directly drawing/reading from the current OpenGL buffer.
TGLImageClassProperty GLS.SceneRegister

TGLImageDataFormat Formats.DXTC

TGLImageLevelDesc GLS.Graphics

TGLImmaterialSceneObject GLS.Scene

Base class for objects that do not have a published "material". Note that the material is available in public properties, but isn't applied automatically before invoking BuildList. Subclassing should be reserved to structural objects and objects that have no material of their own.
TGLImposter GLS.Imposter

TGLImposterBuilder GLS.Imposter

Abstract ImposterBuilder class.
TGLInertiaTensor Physics.SPIInertias

Stores Inertia Tensor for TGLRigidBodyInertia model
TGLInfoForm FmInfo

TGLInitializableObjectList GLS.Scene

Just a list of objects that support IGLInitializable.
TGLInterfacedCollectionItem GLS.PersistentClasses

TCollectionItem thet inplements IInterface.
TGLInterfacedPersistent GLS.PersistentClasses

TPersistent that inplements IInterface.
TGLIsoline GLS.Isolines

TGLIsolines GLS.Isolines

TGLJoint Physics.SPIJoints

TGLJoystick GLS.Joystick

A component interfacing the Joystick via the (regular) windows API.
TGLJPEGImage GLS.FileJPEG

TGLLabel GLS.Windows

TGLLanguage GLS.Language

Class TGLLanguage is used only for downloading and translation, as in the final product it's no need for the text processing
TGLLanguageEntry GLS.Language

TGLLanguageExt GLS.Language

Advanced class is designed for loading and processing, will be useful for language editors
TGLLayoutEditorForm FmGuiLayoutEditor

TGLLensFlare GLS.LensFlare

TGLLibAsmProgNameProperty GLS.SceneRegister

TGLLibAttachmentNameProperty GLS.SceneRegister

TGLLibCombinerNameProperty GLS.SceneRegister

TGLLibMaterial GLS.Material

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).
TGLLibMaterialEx GLS.MaterialEx

TGLLibMaterialNameProperty GLS.SceneRegister

TGLLibMaterialPickerForm FLibMaterialPicker

TGLLibMaterialPickerForm FmLibMaterialPicker

TGLLibMaterialProperty GLS.MaterialEx

TGLLibMaterials GLS.Material

A collection of materials, mainly used in material libraries.
TGLLibMaterialsEx GLS.MaterialEx

TGLLibSamplerNameProperty GLS.SceneRegister

TGLLibShaderNameProperty GLS.SceneRegister

TGLLibTextureNameProperty GLS.SceneRegister

TGLLifeColoredPFXManager GLS.ParticleFX

Base PFX manager for particles with life colors. Particles have a core and edge color, for subclassing.
TGLLightSource GLS.Scene

Standard light source. The standard GLScene light source covers spotlights, omnidirectionnal and parallel sources (see TLightStyle). Lights are colored, have distance attenuation parameters and are turned on/off through their Shining property. Lightsources are managed in a specific object by the TGLScene for rendering purposes. The maximum number of light source in a scene is limited by the OpenGL implementation (8 lights are supported under most ICDs), though the more light you use, the slower rendering may get. If you want to render many more light/lightsource, you may have to resort to other techniques like lightmapping.
TGLLightSourceState GLS.State

TGLLineBase GLS.Objects

Base class for line objects. Introduces line style properties (width, color...)
TGLLineParticle GLS.LinePFX

Linear particle.
TGLLinePFXManager GLS.LinePFX

Polygonal particles FX manager. The particles of this manager are made of N-face regular polygon with a core and edge color. No texturing is available. If you render large particles and don't have T&L acceleration, consider using TGLPointLightPFXManager.
TGLLines GLS.Objects

Set of 3D line segments. You define a 3D Line by adding its nodes in the "Nodes" property. The line may be rendered as a set of segment or as a curve (nodes then act as spline control points). Alternatively, you can also use it to render a set of spacial nodes (points in space), just make the lines transparent and the nodes visible by picking the node aspect that suits you.
TGLLineSettings GLSL.LineShaders

TGLLinesNode GLS.Objects

Specialized Node for use in a TGLLines objects. Adds a Color property (TGLColor) }
TGLLinesNodes GLS.Objects

Specialized collection for Nodes in a TGLLines objects. Stores TGLLinesNode items
TGLLink Physics.SPIJoints

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned
TGLListHandle GLS.Context

Manages a handle to a display list
TGLLMTSVectorFile GLS.FileLMTS

TGLLWOVectorFile GLS.FileLWO

TGLMapCollection GLS.FPSMovement

TGLMapCollectionItem GLS.FPSMovement

TGLMarchingCube GLS.Isosurface

TGLMat GLS.VectorTypesExt

TGLMat2D GLS.VectorTypesExt

TGLMat3D GLS.VectorTypesExt

TGLMaterial GLS.Material

Describes a rendering material. A material is basically a set of face properties (front and back) that take care of standard material rendering parameters (diffuse, ambient, emission and specular) and texture mapping. An instance of this class is available for almost all objects in GLScene to allow quick definition of material properties. It can link to a TGLLibMaterial (taken for a material library). The TGLLibMaterial has more advanced properties (like texture transforms) and provides a standard way of sharing definitions and texture maps.
TGLMaterialComponentNameProperty GLS.SceneRegister

TGLMaterialEditorForm FmMaterialEditor

TGLMaterialLibrary GLS.Material

Stores a set of materials, to be used and shared by scene objects. Use a material libraries for storing commonly used materials, it provides an efficient way to share texture and material data among many objects, thus reducing memory needs and rendering time. Materials in a material library also feature advanced control properties like texture coordinates transforms.
TGLMaterialLibraryEditor GLS.SceneRegister

Editor for material library.
TGLMaterialLibraryEx GLS.MaterialEx

TGLMaterialLibraryItem GLS.MaterialScript

TGLMaterialLibraryItems GLS.MaterialScript

TGLMaterialMultiProxy GLS.MaterialMultiProxy

Multiple Proxy object. This proxy has multiple Master objects, which are individually made visible depending on a Distance to the camera criterion. It can be used to implement discreet level of detail directly for static objects, or objects that go through cyclic animation. For dimensionsn raycasting and silhouette purposes, the first Master is used (item zero in the MasterObjects collection).
TGLMaterialMultiProxyMaster GLS.MaterialMultiProxy

MasterObject description for a MultiProxy object.
TGLMaterialMultiProxyMasters GLS.MaterialMultiProxy

Collection of TGLMaterialMultiProxyMaster.
TGLMaterialProperty GLS.SceneRegister

TGLMaterialProxy GLS.ProxyObjects

A proxy object with its own material. This proxy object can take a mesh from one master and a materia from a material library.
TGLMaterialScripter GLS.MaterialScript

TGLMatLibComponents GLS.MaterialEx

TGLMD2VectorFile GLS.FileMD2

The MD2 vector file (Quake2 actor file). Stores a set of "frames" describing the different postures of the actor, it may be animated by TGLActor. The "Skin" must be loaded indepentendly (the whole mesh uses a single texture bitmap). Based on code by Roger Cao.
TGLMD3VectorFile GLS.FileMD3

TGLMD5VectorFile GLS.FileMD5

TGLMDCVectorFile GLS.FileMDC

TGLMemoryViewer GLS.Scene

Component to render a scene to memory only. This component curently requires that the OpenGL ICD supports the WGL_ARB_pbuffer extension (indirectly).
TGLMesh GLS.Mesh

Basic mesh object. Each mesh holds a set of vertices and a Mode value defines how they make up the mesh (triangles, strips...)
TGLMesh2DVert GLS.VectorTypesExt

————————– Mesh simple record types ————————–
TGLMesh3DVert GLS.VectorTypesExt

TGLMeshLines GLS.MeshLines

TGLMeshMorphTarget GLS.VectorFileObjects

A morph target, stores alternate lists of vertices and normals.
TGLMeshMorphTargetList GLS.VectorFileObjects

A list of TGLMeshMorphTarget objects.
TGLMeshObject GLS.VectorFileObjects

Base mesh class. Introduces base methods and properties for mesh objects. Subclasses are named "TGLMOxxx".
TGLMeshObjectList GLS.VectorFileObjects

A list of TGLMeshObject objects.
TGLMeshObjectVerletNode GLS.VerletClothify

TGLMHeader Formats.GL2

TGLMirror GLS.Mirror

A simple plane mirror. This mirror requires a stencil buffer for optimal rendering! The object is a mix between a plane and a proxy object, in that the plane defines the mirror's surface, while the proxy part is used to reference the objects that should be mirrored (it is legal to self-mirror, but no self-mirror visuals will be rendered). It is strongly recommended to read and understand the explanations in the materials/mirror demo before using this component.
TGLMLODInfo Formats.GL2

TGLMLODs Formats.GL2

TGLMorphableMeshObject GLS.VectorFileObjects

Mesh object with support for morph targets. The morph targets allow to change vertices and normals according to pre-existing "morph targets".
TGLMotionBlur GLS.Blur

This component blurs everything thatis rendered BEFORE it. So if you want part of your scene blured, the other not blured, make sure that the other part is rendered after this component. It is fast and does not require shaders. Note: it is FPS-dependant. Also also can produce a "blury trail effect", which stays on the screen until something new is rendered over it. It can be overcome by changing the Material.FrontProperties.Diffuse property. This, however, also has a drawback - the picture becomes more blured altogether. For example, if your backgroud color is Black, set the Material.FrontProperties.Diffuse to White. If it is White, set Material.FrontProperties.Diffuse to Black. I haven't tried any others, but I hope you get the idea ;) I've seen this effect in different Bruring components, even in shaders, but if anyone knows another way to fix this issue - please post it on the glscene newsgroup.
TGLMovement GLS.Movement

TGLMovementPath GLS.Movement

TGLMovementPaths GLS.Movement

TGLMoveToPosJob GLS.CameraController

TGLMP3File GLS.FileMP3

Support for MP3 format. *Partial* support only, access to PCMData is NOT supported.
TGLMS3DVectorFile GLS.FileMS3D

The MilkShape vector file. By Mattias Fagerlund, mattias@cambrianlabs.com. Yada yada. Eric rules!
TGLMSurface Formats.GL2

TGLMSurfaceHeader Formats.GL2

TGLMSurfaceHeirachy Formats.GL2

TGLMTLFile GLS.FileOBJ

A simple class that know how to extract infos from a mtl file. mtl files are companion files of the obj, they store material information. Guessed content (imported ones denoted with a '*', please help if you know more): materials begin with a 'newmtl' command followed by material name *Kd command defines the diffuse color *map_Kd command defines the diffuse texture image *Ka/map_Ka define the ambient color and texmap *Ks/map_Ks define the specular color and texmap *Ke/map_Ke define the self-illumination/lightmap texmap map_Bump specifies the bump map *d specifies transparency (alpha-channel, range [0; 1]) map_d specifies the opcaity texture map Ns defines the specular exponent or shininess or phong specular (?) Ni is the refraction index (greater than 1) *illum defines the illumination model (0 for no lighting, 1 for ambient and diffuse, 2 for full lighting)
TGLMTriangle Formats.GL2

TGLMultiMaterialShader GLSL.MultiMaterialShader

TGLMultiPolygon GLS.MultiPolygon

A polygon that can have holes and multiple contours. Use the Path property to access a contour or one of the AddNode methods to add a node to a contour (contours are allocated automatically).
TGLMultiPolygonBase GLS.MultiPolygon

Multipolygon is defined with multiple contours. The contours have to be in the X-Y plane, otherwise they are projected to it (this is done automatically by the tesselator). The plane normal is pointing in +Z. All contours are automatically closed, so there is no need to specify the last node equal to the first one. Contours should be defined counterclockwise, the first contour (index = 0) is taken as is, all following are reversed. This means you can define the outer contour first and the holes and cutouts after that. If you give the following contours in clockwise order, the first contour is extended. TGLMultiPolygonBase will take the input contours and let the tesselator make an outline from it (this is done in RetreiveOutline). This outline is used for Rendering. Only when there are changes in the contours, the outline will be recalculated. The ouline in fact is a list of GLS.VectorLists.
TGLMultiProxy GLS.MultiProxy

Multiple Proxy object. This proxy has multiple master objects, which are individually made visible depending on a distance to the camera criterion. It can be used to implement discreet level of detail directly for static objects, or objects that go through cyclic animation. For dimensionsn raycasting and silhouette purposes, the first master is used (item zero in the MasterObjects collection).
TGLMultiProxyMaster GLS.MultiProxy

MasterObject description for a MultiProxy object.
TGLMultiProxyMasters GLS.MultiProxy

Collection of TGLMultiProxyMaster.
TGLMultisampleImage GLS.MultiSampleImage

TGLMultitextureCoordinator GLS.XOpenGL

TGLMultitexturingProperties GLS.MaterialEx

TGLMVectorFile GLS.FileGL2

TGLMVertex Formats.GL2

TGLNaviCube GLS.Navigator

TGLNavigator GLS.Navigator

TGLNavigator is the component for moving a TGLBaseSceneObject, and all Classes based on it, this includes all the objects from the Scene Editor. The four calls to get you started is TurnHorisontal : it turns left and right. TurnVertical : it turns up and down. MoveForward : moves back and forth. FlyForward : moves back and forth in the movingobject's direction The three properties to get you started is MovingObject : The Object that you are moving. UseVirtualUp : When UseVirtualUp is set you navigate Quake style. If it isn't more like Descent. AngleLock : Allows you to block the Vertical angles. Should only be used in conjunction with UseVirtualUp. MoveUpWhenMovingForward : Changes movement from Quake to Arcade Airplane...(no tilt and flying) InvertHorizontalSteeringWhenUpsideDown : When using virtual up, and vertically rotating beyond 90 degrees, will make steering seem inverted, so we "invert" back to normal
TGLNavigatorAbstractParameters GLS.SmoothNavigator

Includes a basic set of parameters that control the smoothness of movement.
TGLNavigatorAdjustDistanceParameters GLS.SmoothNavigator

The wrapper for all parameters that affect how the AdjustDisanceTo[...] methods work
TGLNavigatorAdjustDistanceParametersEx GLS.SmoothNavigator

The wrapper for all parameters that affect how the AdjustDisanceTo[...]Ex methods work You need to set the TargetObject and desired distance to it, then call AdjustDisanceTo[...]Ex() in your Cadencer.OnProgress code.
TGLNavigatorGeneralParameters GLS.SmoothNavigator

The wrapper for all general inertia parameters. These properties mean that if ExpectedMaxFPS is 100, FAutoScaleMin is 0.1, FAutoScaleMax is 0.75 then the "safe range" for it to change is [10..75]. If these bounds are violated, then ExpectedMaxFPS is automaticly increased or decreased by AutoScaleMult.
TGLNavigatorInertiaParameters GLS.SmoothNavigator

The wrapper for all parameters that affect the smoothness of movement
TGLNavigatorMoveAroundParameters GLS.SmoothNavigator

The wrapper for all parameters that effect how the TGLBaseSceneObject.MoveObjectAround() procedure works
TGLNavigatorSmoothChangeItem GLS.SmoothNavigator

Includes a basic set of parameters that control the smoothness of movement.
TGLNavigatorSmoothChangeItems GLS.SmoothNavigator

XCollection of TGLNavigatorSmoothChangeItem.
TGLNavigatorSmoothChangeSingle GLS.SmoothNavigator

Smoothly change any Single value, so it will become TargetValue in the end.
TGLNavigatorSmoothChangeVector GLS.SmoothNavigator

Smoothly change any Vector4f value, so it will become TargetValue in the end.
TGLNGDBehaviour Physics.NGDManager

Basis structures for Behaviour style implementations.
TGLNGDBehaviourList Physics.NGDManager

TGLNGDDebugOption Physics.NGDManager

TGLNGDDynamic Physics.NGDManager

TGLNGDHeightField Physics.NGDManager

TGLNGDJoint Physics.NGDManager

TGLNGDJointBallAndSocket Physics.NGDManager

TGLNGDJointHinge Physics.NGDManager

TGLNGDJointKinematicController Physics.NGDManager

TGLNGDJointPin Physics.NGDManager

TGLNGDJointPin2 Physics.NGDManager

TGLNGDJointPivot Physics.NGDManager

TGLNGDJointSlider Physics.NGDManager

TGLNGDManager Physics.NGDManager

TGLNGDStatic Physics.NGDManager

TGLNGDSurfaceItem Physics.NGDManager

TGLNGDSurfacePair Physics.NGDManager

TGLNMFVectorFile GLS.FileNMF

TGLNode GLS.Nodes

TGLNodedLines GLS.Objects

Class that defines lines via a series of nodes. Base class, does not render anything
TGLNodes GLS.Nodes

TGLNonVisualViewer GLS.Scene

Base class for non-visual viewer. Non-visual viewer may actually render visuals, but they are non-visual (ie. non interactive) at design time. Such viewers include memory or full-screen viewers.
TGLNotifyCollection GLS.BaseClasses

TGLNurbsVectorFile GLS.FileNurbs

TGLO3TCImage GLS.FileO3TC

TGLObjectAfterEffect GLS.Scene

An object effect that gets rendered at scene's end. No particular OpenGL matrices or material should be assumed.
TGLObjectManager GLS.ObjectManager

TGLObjectPostEffect GLS.Scene

An object effect that gets rendered after owner object's render. The current OpenGL matrices and material are that of the owner object.
TGLObjectPreEffect GLS.Scene

An object effect that gets rendered before owner object's render. The current OpenGL matrices and material are that of the owner object.
TGLOBJVectorFile GLS.FileOBJ

TGLOcclusionQueryHandle GLS.Context

Manages a handle to an occlusion query. Requires OpenGL 1.5+ Does *NOT* check for extension availability, this is assumed to have been checked by the user.
TGLOctahedron GLS.GeomObjects

The octahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.
TGLOCTGLVectorFile GLS.FileOCT

The OCT vector file (FSRad output).
TGLOctree GLS.Octree

Manages an Octree containing references to triangles.
TGLODEBehaviour Physics.ODEManager

Basis structures for behaviour style implementations
TGLODECollisionSurface Physics.ODEManager

TGLODEContactPoint Physics.ODEManager

TGLODECustomCollider Physics.ODEManager

The custom collider is designed for generic contact handling. There is a contact point generator for sphere, box, capped cylinder, cylinder and cone geoms. Once the contact points for a collision are generated the abstract Collide function is called to generate the depth and the contact position and normal. These points are then sorted and the deepest are applied to ODE
TGLODEDynamic Physics.ODEManager

TGLODEElementBase Physics.ODEManager

TGLODEElementBox Physics.ODEManager

ODE box implementation
TGLODEElementCapsule Physics.ODEManager

ODE capped cylinder implementation
TGLODEElementCylinder Physics.ODEManager

ODE cylinder implementation
TGLODEElementPlane Physics.ODEManager

ODE plane implementation
TGLODEElements Physics.ODEManager

TGLODEElementSphere Physics.ODEManager

ODE sphere implementation
TGLODEElementTriMesh Physics.ODEManager

ODE tri-mesh implementation
TGLODEHeightField Physics.ODEManager

Add this behaviour to a TGLHeightField or TGLTerrainRenderer to enable height based collisions for spheres, boxes, capped cylinders, cylinders and cones.
TGLODEJointBall Physics.ODEManager

ODE ball joint implementation
TGLODEJointBase Physics.ODEManager

Base structures for ODE Joints
TGLODEJointFixed Physics.ODEManager

ODE fixed joint implementation
TGLODEJointHinge Physics.ODEManager

ODE hinge joint implementation
TGLODEJointHinge2 Physics.ODEManager

ODE hinge2 joint implementation
TGLODEJointList Physics.ODEManager

Component front-end for storing ODE Joints
TGLODEJointParams Physics.ODEManager

TGLODEJoints Physics.ODEManager

An XCollection decendant for ODE Joints
TGLODEJointSlider Physics.ODEManager

ODE slider joint implementation
TGLODEJointUniversal Physics.ODEManager

ODE universal joint implementation
TGLODEManager Physics.ODEManager

The visual component to manage behaviours of ODE objects
TGLODERagdoll Physics.ODERagdoll

TGLODERagdollBone Physics.ODERagdoll

TGLODERagdollCube Physics.ODERagdoll

TGLODERagdollDummyJoint Physics.ODERagdoll

TGLODERagdollHingeJoint Physics.ODERagdoll

TGLODERagdollUniversalJoint Physics.ODERagdoll

TGLODERagdollWorld Physics.ODERagdoll

TGLODEStatic Physics.ODEManager

TGLOpenGL GLS.OpenGLVCL

TGLOrbitToPosAdvJob GLS.CameraController

TGLOrbitToPosJob GLS.CameraController

TGLOutlineShader GLSL.LineShaders

TGLOwnedPersistent GLS.PersistentClasses

TPersistent which has knowledge of its owner.
TGLPackPBOHandle GLS.Context

Manages a handle to PBO Pixel Pack Buffer. When bound, commands such as ReadPixels write their data into a buffer object.
TGLPanel GLS.Windows

TGLParticle GLS.ParticleFX

Base class for particles. The class implements properties for position, velocity and time, whatever you need in excess of that will have to be placed in subclasses (this class should remain as compact as possible).
TGLParticleFXEffect GLS.ParticleFX

Base class for linking scene objects to a particle FX manager.
TGLParticleFXManager GLS.ParticleFX

Base class for particle FX managers. Managers take care of life and death of particles for a particular particles FX system. You can have multiple scene-wide particle FX managers in a scene, handled by the same ParticleFxRenderer. Before subclassing, make sure you understood how the Initialize/Finalize Rendering, Begin/End Particles and RenderParticles methods (and also understood that rendering of manager's particles may be interwoven).
TGLParticleFXRenderer GLS.ParticleFX

Rendering interface for scene-wide particle FX. A renderer can take care of rendering any number of particle systems, its main task being to depth-sort the particles so that they are blended appropriately. This object will usually be placed at the end of the scene hierarchy, just before the HUD overlays, its position, rotation etc. is of no importance and has no effect on the rendering of the particles.
TGLParticleInertia Physics.SPIInertias

TGLParticleList GLS.ParticleFX

List of particles. This list is managed with particles and performance in mind, make sure to check methods doc.
TGLParticles GLS.Particles

Manager object of a particle system. Particles in a TGLParticles system are described as normal scene objects, however their children are to be : "particle template" : the first object (index=0), this one will be duplicated to create new particles, it does not receive progression events and is visible at design-time only. "live particle" : the other objects (index>0), this ones are rendered and receive progression events. TGLParticles may also maintain an internal, non-persistent ("freezed") set of objects : the allocated objects pool. Why ? Creating and freeing objects takes cpu-cycles, especially for the TComponent class, and GLScene objects are TComponent. To reduce this load (and at the expense of memory space), the particle systems can move "dead" particles to a pool instead of freeing them, and will pick in the pool instead of creating new objects when new particles are requested. To take advantage of this behaviour, you should set the ParticlePoolSize property to a non-null value and use the KillParticle function instead of "Free" to kill a particle. All direct access to a TGLParticles children should be avoided. For high-performance particle systems of basic particles, you should look into GLParticleFX instead, TGLParticles being rather focused on complex particles.
TGLPathNode GLS.Movement

TGLPathNodes GLS.Movement

TGLPerlin3DNoise GLS.PerlinPFX

Generates Perlin Noise in the [-1; 1] range. 2D noise requests are taken in the Z=0 slice
TGLPerlinHDS GLS.Perlin

TGLPerlinHDSThread GLS.Perlin

TGLPerlinPFXManager GLS.PerlinPFX

A sprite-based particles FX manager using perlin-based sprites. This PFX manager is more suited for smoke or fire effects, and with proper tweaking of the texture and perlin parameters, may help render a convincing effect with less particles. The sprite generate by this manager is the composition of a distance-based intensity and a perlin noise.
TGLPersistentImage GLS.Texture

Stores any image compatible with Delphi's TPicture mechanism. The picture's data is actually stored into the DFM, the original picture name or path is not remembered. It is similar in behaviour of TImage. Note that if original image is for instance JPEG format, only the JPEG data will be stored in the DFM (compact)
TGLPersistentTIE GLS.TextureImageEditors

TGLPGMImage GLS.FilePGM

TGLPhongShader GLSL.PhongShader

TGLPicFileImage GLS.Texture

Uses a picture whose data is found in a file (only filename is stored). The image is unloaded after upload to OpenGL.
TGLPicFileTIE GLS.TextureImageEditors

TGLPickList GLS.Selection

List class for object picking. This list is used to store the results of a PickObjects call.
TGLPictureImage GLS.Texture

Base class for image data classes internally based on a TPicture.
TGLPipe GLS.Extrusion

A solid object generated by extruding a circle along a trajectory. Texture coordinates NOT supported yet.
TGLPipeNode GLS.Extrusion

TGLPipeNodes GLS.Extrusion

TGLPixel24 GLS.Graphics

GLS.OpenGLTokens,
TGLPixel32 GLS.Graphics

TGLPlane GLS.Objects

A simple plane object. Note that a plane is always made of a single quad (two triangles) and the tiling is only applied to texture coordinates.
TGLPlugInEntry GLS.PlugInManager

TGLPlugInList GLS.PlugInManager

TGLPlugInManager GLS.PlugInManager

TGLPlugInManagerEditorForm FmPlugInManagerEditor

TGLPLYVectorFile GLS.FilePLY

The PLY vector file aka Stanford Triangle Format. This is a format for storing graphical objects that are described as a collection of polygons. The format is extensible, supports variations and subformats. This importer only works for the simplest variant (triangles without specified normals, and will ignore most header specifications.
TGLPNGImage GLS.FilePNG

TGLPoint2D GLS.VectorTypesExt

TGLPoint3D GLS.VectorTypesExt

TGLPointLightPFXManager GLS.ParticleFX

A sprite-based particles FX managers using point light maps. The texture map is a round, distance-based transparency map (center "opaque"), you can adjust the quality (size) of the underlying texture map with the TexMapSize property. This PFX manager renders particles similar to what you can get with TGLPolygonPFXManager but stresses fillrate more than T&L rate (and will usually be slower than the PolygonPFX when nbSides is low or T&L acceleration available). Consider this implementation as a sample for your own PFX managers that may use particles with more complex textures.
TGLPointParameters GLS.Objects

Point parameters as in ARB_point_parameters. Make sure to read the ARB_point_parameters spec if you want to understand what each parameter does.
TGLPoints GLS.Objects

Renders a set of non-transparent colored points. The points positions and their color are defined through the Positions and Colors properties
TGLPolygon GLS.GeomObjects

A basic polygon object. The curve is described by the Nodes and SplineMode properties, should be planar and is automatically tessellated. Texture coordinates are deduced from X and Y coordinates only. This object allows only for polygons described by a single curve, if you need "complex polygons" with holes, patches and cutouts, see GLS.MultiPolygon.
TGLPolygonBase GLS.Objects

Base class for objects based on a polygon
TGLPolygonList GLS.MultiPolygon

TGLPolygonPFXManager GLS.ParticleFX

Polygonal particles FX manager. The particles of this manager are made of N-face regular polygon with a core and edge color. No texturing is available. If you render large particles and don't have T&L acceleration, consider using TGLPointLightPFXManager.
TGLPopupMenu GLS.Windows

TGLPortal GLS.Portal

Portal Renderer class.
TGLPortalMeshObjectList GLS.Portal

A mesh object list that handles portal rendering. The items are treated as being sectors.
TGLPostEffect GLSL.PostEffects

Provides a simple way to producing post-effects without shaders. It is slow as hell, but it's worth it in some cases.
TGLPostEffectColor GLSL.PostEffects

TGLPostShaderCollection GLSL.PostEffects

TGLPostShaderCollectionItem GLSL.PostEffects

TGLPostShaderHolder GLSL.PostEffects

A class that allows several post-shaders to be applied to the scene, one after another. It does not provide any optimizations related to multi-shader rendering, just a convenient interface.
TGLPrimitiveQueryHandle GLS.Context

Manages a handle to a primitive query. Requires OpenGL 3.0+ Does *NOT* check for extension availability, this is assumed to have been checked by the user.
TGLPrismaticJoint Physics.SPIJoints

TGLProcTextureNoise GLS.ProcTextures

TGLProcTextureNoiseTIE GLS.TextureImageEditors

TGLProgram GLS.OpenGLVCL

TGLProgramHandle GLS.Context

Manages a GLSL Program Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user
TGLProgressTimes GLS.BaseClasses

TGLProjectedTextures GLS.ProjectedTextures

Projected Textures Manager. Specifies active texture Emitters (whose texture will be projected) and receivers (children of this object).
TGLProxyObject GLS.Scene

A full proxy object. This object literally uses another object's Render method to do its own rendering, however, it has a coordinate system and a life of its own. Use it for duplicates of an object.
TGLPythonEngine GLS.PythonScript

This class only adds manager registration logic to the TPythonEngine class to enable the XCollection items (ie. TGLScriptPython) retain it's assigned compiler from design to run -time.
TGLPythonEngine Pythons.Script

This class only adds manager registration logic to the TPythonEngine class to enable the XCollection items (ie. TGLScriptPython) retain it's assigned compiler from design to run -time.
TGLQ3BSPVectorFile GLS.FileQ3BSP

The Q3BSP vector file (Quake III BSP).
TGLQuadricObject GLS.Objects

Base class for quadric objects. Introduces some basic Quadric interaction functions (the actual quadric math is part of the GLU library).
TGLQuat GLS.VectorTypesExt

replace with BigDecimals
TGLQuat3D GLS.VectorTypesExt

————————– Quaternion record types ————————–
TGLQuatHelper GLS.VectorTypesExt

TGLQueryHandle GLS.Context

Manages a handle to a query. Do not use this class directly, use one of its subclasses instead.
TGLRadialGravityEmitter Physics.SPIFields

TGLRagdolBone GLS.Ragdoll

TGLRagdolBoneList GLS.Ragdoll

TGLRagdolJoint GLS.Ragdoll

TGLRagdoll GLS.Ragdoll

TGLRasterFileFormat GLS.Graphics

TGLRasterFileFormatsList GLS.Graphics

Stores registered raster file formats.
TGLRCHandle GLS.Context

TGLRenderbuffer GLS.FBORenderer

TGLRenderbufferHandle GLS.Context

Manages a handle to a Renderbuffer Object. A Renderbuffer is a "framebuffer-attachable image" for generalized offscreen rendering and it also provides a means to support rendering to GL logical buffer types which have no corresponding texture format (stencil, accum, etc).
TGLRenderContextInfo GLS.RenderContextInfo

Stores contextual info useful during rendering methods.
TGLRenderPoint GLS.Scene

Scene object that allows other objects to issue rendering at some point. This object is used to specify a render point for which other components have (rendering) tasks to perform. It doesn't render anything itself and is invisible, but other components can register and be notified when the point is reached in the rendering phase. Callbacks must be explicitly unregistered.
TGLResolutionIndependantHUDText GLS.HUDObjects

Position (X and Y) is expected in a [0..1] range (from Screen size) This component converts this position to the actual screen position and renders the text there. This way a HUD text always appears to be in the the same place, regardless of the currect screen resolution. Note: this still does not solve the font scaling problem.
TGLResolutionProperty GLS.SceneRegister

TGLResourceManager GLS.PlugInManager

TGLReuseableDefaultEditor GLS.SceneRegister

Editor copied from DsgnIntf. Could have been avoided, if only that guy at Borland didn't chose to publish only half of the stuff (and that's not the only class with that problem, most of the subitems handling code in TGLSceneBaseObject is here for the same reason...), the "protected" wasn't meant just to lure programmers into code they can't reuse... Arrr! and he did that again in D6! Grrr...
TGLRevoluteJoint Physics.SPIJoints

TGLRevolutionSolid GLS.Extrusion

A solid object generated by rotating a curve along the Y axis. The curve is described by the Nodes and SplineMode properties, and it is rotated in the trigonometrical direction (CCW when seen from Y->INF). The TGLRevolutionSolid can also be used to render regular helicoidions, by setting a non-null YOffsetPerTurn, and adjusting start/finish angles to make more than one revolution. If you want top/bottom caps, just add a first/last node that will make the curve start/finish on the Y axis.
TGLRigidBodyInertia Physics.SPIInertias

A more complex model than TGLBInertia for Inertia
TGLROAMPatch GLS.ROAMPatch

TGLSamplerHandle GLS.Context

Manages a handle to a sampler
TGLSamplingScale GLS.Graph

TGLSArchiveManager GLS.ArchiveManager

ArchiveManager class
TGLSArchiveManagerEditor GLS.SceneRegister

Editor for Archive Manager
TGLScene GLS.Scene

Scene component class. The scene contains the scene description (lights, geometry...), which is basicly a hierarchical scene graph made of TGLBaseSceneObject. It will usually contain one or more TGLCamera object, which can be referred by a Viewer component for rendering purposes. The scene's objects can be accessed directly from code (as regular components), but those are edited with a specific editor (double-click on the TGLScene component at design-time to invoke it). To add objects at runtime, use the AddNewChild method of TGLBaseSceneObject.
TGLSceneBuffer GLS.Scene

Encapsulates a frame/rendering buffer.
TGLSceneEditor GLS.SceneRegister

TGLSceneEditorForm FmSceneEditor

TGLSceneForm GLS.SceneForm

TGLSceneObject GLS.Scene

Base class for standard scene objects. Publishes the Material property.
TGLSceneObjectEntry GLS.ObjectManager

holds a relation between an scene object class, its global identification, its location in the object stock and its icon reference
TGLSceneRootObject GLS.Scene

This class shall be used only as a hierarchy root. It exists only as a container and shall never be rotated/scaled etc. as the class type is used in parenting optimizations. Shall never implement or add any functionality, the "Create" override only take cares of disabling the build list.
TGLSceneViewer GLS.SceneViewer

Component where the GLScene objects get rendered. This component delimits the area where OpenGL renders the scene, it represents the 3D scene viewed from a camera (specified in the camera property). This component can also render to a file or to a bitmap. It is primarily a windowed component, but it can handle full-screen operations : simply make this component fit the whole screen (use a borderless form). This viewer also allows to define rendering options such a fog, face culling, depth testing, etc. and can take care of framerate calculation.
TGLSceneViewerEditor GLS.SceneRegister

TGLScreenControlingContext GLS.Context

A TGLContext with screen control property and methods. This variety of contexts is for drivers that access windows and OpenGL through an intermediate opaque cross-platform API. TGLSceneViewer won't use them, TGLMemoryViewer may be able to use them, but most of the time they will be accessed through a specific viewer class/subclass
TGLScreenSaver GLS.ScreenSaver

Drop this component on your main form to make it a screensaver. You'll also need to change the extension from ".exe" to ".scr" (in the project options / application tab). How this component works : At design-time, the only event you may want to hook is OnPropertiesRequested (to diplay your screen-saver's config dialog, if you don't have one, at least fill in the AboutString property and it will be used in a ShowMessage) At run-time, once its props are loaded, this component will parse the command line and trigger relevant events Basicly, you only need to care about drawing in your main form's client area (in a resolution/size independant way if possible) There is no real difference between execution and preview modes, except for the events fired... and the size of the form :).
TGLScriptBase GLS.ScriptBase

The base script class that defines the abstract functions and properties. Don't use this class directly, use the script classes descended from this base class.
TGLScriptDWS DWS.Script

Implements DelphiWebScript scripting functionality through the abstracted GLS.ScriptBase
TGLScriptLibrary GLS.ScriptBase

Encapsulation of the scripts XCollection to help with script handling at design-time. Links the scripts to Delphi's persistence model.
TGLScriptPython GLS.PythonScript

Implements Python scripting functionality through the abstracted GLS.ScriptBase
TGLScriptPython Pythons.Script

Implements Python scripting functionality through the abstracted GLS.ScriptBase
TGLScripts GLS.ScriptBase

XCollection descendant for storing and handling scripts.
TGLScrollbar GLS.Windows

TGLSCustomMemo GLS.Memo

TGLSectorMeshObject GLS.Portal

A portal renderer sector.
TGLSelectRenderModeTechnique GLS.Selection

TGLShader GLS.Material

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.
TGLShader GLS.OpenGLVCL

TGLShaderCombiner GLSL.ShaderCombiner

TGLShaderEditorProperty GLS.SceneRegister

TGLShaderEx GLS.MaterialEx

TGLShaderF GLS.OpenGLVCL

TGLShaderG GLS.OpenGLVCL

TGLShaderHandle GLS.Context

Manages a handle to a Shader Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user. Do not use this class directly, use one of its subclasses instead
TGLShaderItem GLS.MaterialScript

TGLShaderItems GLS.MaterialScript

TGLShaderLightSourceState GLS.State

TGLShaderModel3 GLS.MaterialEx

TGLShaderModel4 GLS.MaterialEx

TGLShaderModel5 GLS.MaterialEx

TGLShaderProgram GLSL.CustomShader

A custom shader program.
TGLShaderUniform GLS.MaterialEx

TGLShaderUniformDSA GLS.MaterialEx

TGLShaderUniformEditor FmShaderUniformEditor

TGLShaderUniformTexture GLS.MaterialEx

TGLShaderV GLS.OpenGLVCL

TGLShadowHDS GLS.ShadowHDS

An Height Data Source that generates terrain shadow maps automatically. The HDS must be connected to another HDS, which will provide the elevation data, and to a MaterialLibrary where shadowmaps will be placed.
TGLShadowPlane GLS.ShadowPlane

A simple shadow plane. This mirror requires a stencil buffer for optimal rendering! The object is a mix between a plane and a proxy object, in that the plane defines where the shadows are cast, while the proxy part is used to reference the objects that should be shadowing (it is legal to self-shadow, but no self-shadow visuals will be rendered). If stenciling isn't used, the shadow will 'paint' the ShadowColor instead of blending it transparently. You can have lower quality shadow geometry: add a dummycube, set it to invisible (so it won't be rendered in the "regular" pass), and under it place another visible dummycube under which you have all your low quality objects, use it as shadowing object. Apply the same movements to the low-quality objects that you apply to the visible, high-quality ones
TGLShadowVolume GLS.ShadowVolume

Simple shadow volumes. Shadow receiving objects are the ShadowVolume's children, shadow casters (opaque objects or lights) must be explicitly specified in the Casters collection. Shadow volumes require that the buffer allows stencil buffers, GLSceneViewer.Buffer.ContextOptions contain roStencinBuffer. Without stencil buffers, shadow volumes will not work properly. Another issue to look out for is the fact that shadow volume capping requires that the camera depth of view is either very high (fi 1e9) or that the camera style is csInfinitePerspective.
TGLShadowVolumeCaster GLS.ShadowVolume

Specifies an individual shadow caster. Can be a light or an opaque object.
TGLShadowVolumeCasters GLS.ShadowVolume

Collection of TGLShadowVolumeCaster.
TGLShadowVolumeLight GLS.ShadowVolume

Specifies an individual shadow casting light.
TGLShadowVolumeOccluder GLS.ShadowVolume

Specifies an individual shadow casting occluder.
TGLSilhouette GLS.Silhouette

Base class storing a volume silhouette. Made of a set of indexed vertices defining an outline, and another set of indexed vertices defining a capping volume. Coordinates system is the object's unscaled local coordinates system. This is the base class, you can use the TGLSilhouette subclass if you need some helper methods for generating the indexed sets.
TGLSilhouetteParameters GLS.Silhouette

Silouhette generation parameters. SeenFrom and LightDirection are expected in local coordinates.
TGLSimpleNavigation GLS.SimpleNavigation

TGLSimpleNavigationKeyCombination GLS.SimpleNavigation

TGLSimpleNavigationKeyCombinations GLS.SimpleNavigation

TGLSize GLS.RenderContextInfo

TGLSkeleton GLS.VectorFileObjects

Main skeleton object. This class stores the bones hierarchy and animation frames. It is also responsible for maintaining the "CurrentFrame" and allowing various frame blending operations.
TGLSkeletonBone GLS.VectorFileObjects

A skeleton bone or node and its children. This class is the base item of the bones hierarchy in a skeletal model. The joint values are stored in a TGLSkeletonFrame, but the calculated bone matrices are stored here.
TGLSkeletonBoneList GLS.VectorFileObjects

A list of skeleton bones
TGLSkeletonCollider GLS.VectorFileObjects

A general class storing the base level info required for skeleton based collision methods. This class is meant to be inherited from to create skeleton driven Verlet Constraints, ODE Geoms, etc. Overriden classes should be named as TSCxxxxx.
TGLSkeletonColliderList GLS.VectorFileObjects

List class for storing TGLSkeletonCollider objects
TGLSkeletonFrame GLS.VectorFileObjects

Stores position and rotation for skeleton joints. If you directly alter some values, make sure to call FlushLocalMatrixList so that the local matrices will be recalculated (the call to Flush does not recalculate the matrices, but marks the current ones as dirty)
TGLSkeletonFrameList GLS.VectorFileObjects

A list of TGLSkeletonFrame objects
TGLSkeletonMeshObject GLS.VectorFileObjects

A mesh object with vertice bone attachments. The class adds per vertex bone weights to the standard morphable mesh. The TVertexBoneWeight structures are accessed via VerticesBonesWeights, they must be initialized by adjusting the BonesPerVertex and VerticeBoneWeightCount properties, you can also add vertex by vertex by using the AddWeightedBone method. When BonesPerVertex is 1, the weight is ignored (set to 1.0).
TGLSkeletonRootBoneList GLS.VectorFileObjects

This list store skeleton root bones exclusively
TGLSkinEditorForm FmGuiSkinEditor

TGLSkyBox GLS.SkyDome

TGLSkyDome GLS.SkyDome

Renders a sky dome always centered on the camera. If you use this object make sure it is rendered *first*, as it ignores depth buffering and overwrites everything. All children of a skydome are rendered in the skydome's coordinate system. The skydome is described by "bands", each "band" is an horizontal cut of a sphere, and you can have as many bands as you wish
TGLSkyDomeBand GLS.SkyDome

——————— SkyDome classes —————————–
TGLSkyDomeBands GLS.SkyDome

TGLSkyDomeStar GLS.SkyDome

TGLSkyDomeStars GLS.SkyDome

TGLSLanguage GLS.Language

Abstract class for control Language
TGLSLBumpShader GLSL.BumpShaders

TGLSLBumpShaderAM GLSL.BumpShaders

TGLSLBumpShaderMT GLSL.BumpShaders

One light shaders.
TGLSLDiffuseSpecularShader GLSL.DiffuseSpecularShader

TGLSLDiffuseSpecularShaderMT GLSL.DiffuseSpecularShader

******** Published Stuff ************
TGLSLFurShader GLSL.ShapeShaders

TGLSLGlassShader GLSL.ShapeShaders

TGLSLHandle GLS.Context

Base class for GLSL handles (programs and shaders). Do not use this class directly, use one of its subclasses instead
TGLSLIvoryShader GLSL.ShapeShaders

TGLSLLatticeShader GLSL.ShapeShaders

TGLSLMLBumpShader GLSL.BumpShaders

Multi light shaders.
TGLSLMLBumpShaderMT GLSL.BumpShaders

TGLSLMLDiffuseSpecularShader GLSL.DiffuseSpecularShader

TGLSLMLDiffuseSpecularShaderMT GLSL.DiffuseSpecularShader

TGLSLogger GLS.Logger

Abstract class for control logging.
TGLSLPostBlurShader GLSL.PostShaders

TGLSLPostDreamVisionShader GLSL.PostShaders

TGLSLPostFrostShader GLSL.PostShaders

TGLSLPostNightVisionShader GLSL.PostShaders

TGLSLPostPixelateShader GLSL.PostShaders

TGLSLPostPosterizeShader GLSL.PostShaders

TGLSLPostThermalVisionShader GLSL.PostShaders

TGLSLPostTroubleShader GLSL.PostShaders

TGLSLProjectedTextures GLSL.ProjectedTextures

Projected Texture Manager. Specifies active Emitters and receivers (children of this object). At the moment, only 1 texture can be used.
TGLSLSemShader GLSL.ShapeShaders

TGLSLShader GLSL.Shader

TGLSLShaderParameter GLSL.Shader

Wrapper around a parameter of a GLSL program.
TGLSLSimpleErosionShader GLSL.ShapeShaders

TGLSLSimpleGoochShader GLSL.ShapeShaders

TGLSLSimpleLatticeShader GLSL.ShapeShaders

TGLSLTextureEmitter GLSL.ProjectedTextures

A projected texture emmiter. Can be places anywhere in the scene. Used to generate a modelview and texture matrix for the shader
TGLSLTextureEmitterItem GLSL.ProjectedTextures

Specifies an item on the TGLSLTextureEmitters collection.
TGLSLTextureEmitters GLSL.ProjectedTextures

Collection of TGLSLTextureEmitter.
TGLSLToonShader GLSL.ShapeShaders

TGLSLVertexDisplacementShader GLSL.ShapeShaders

TGLSMBASS Sounds.BASS

TGLSMDVectorFile GLS.FileSMD

The SMD vector file is Half-life's skeleton format. The SMD is a text-based file format. They come in two flavors: one that old Skeleton and triangle (mesh) data, and animation files that store Skeleton frames. This reader curently reads both, but requires that the main file (the one with mesh data) be read first.
TGLSMemo GLS.Memo

TGLSMemoAbstractScrollableObject GLS.Memo

TGLSMemoDelCharUndo GLS.Memo

TGLSMemoDeleteBufUndo GLS.Memo

TGLSMEmoDelLineUndo GLS.Memo

TGLSMemoGutter GLS.Memo

TGLSMemoInsCharUndo GLS.Memo

TGLSMemoPasteUndo GLS.Memo

TGLSMemoScrollBar GLS.Memo

TGLSMemoSelUndo GLS.Memo

TGLSMemoStringList GLS.Memo

TGLSMemoStrings GLS.Memo

TGLSMemoUndo GLS.Memo

TGLSMemoUndoList GLS.Memo

TGLSMFMOD Sounds.FMOD

TGLSmoothNavigator GLS.SmoothNavigator

The component for moving a TGLBaseSceneObject, and all classes based on it, this includes all the objects from the Scene Editor. It uses complex smoothing algorithms, most of which are FPS-dependant. Make sure your limit your FPS and set MaxExpectedDeltaTime to a value that is aproximatly 5 times less than your usual deltatime.
TGLSmoothOrbitToPos GLS.CameraController

TGLSmoothOrbitToPosAdvJob GLS.CameraController

TGLSmoothUserInterface GLS.SmoothNavigator

The component which reads the userinput and transform it into action. Mouselook(ADeltaTime: double) : handles mouse look... Should be called in the Cadencer event. (Though it works everywhere!) The four properties to get you started are: InvertMouse : Inverts the mouse Y axis. AutoUpdateMouse : If enabled (by defaul), than handles all mouse updates. GLNavigator : The Navigator which receives the user movement. GLVertNavigator : The Navigator which if set receives the vertical user movement. Used mostly for cameras....
TGLSMOpenAL Sounds.OpenAL

TGLSMVectorFile GLS.VectorFileObjects

GLSM (GLScene Mesh) vector file. This corresponds to the 'native' GLScene format, and object persistence stream, which should be the 'fastest' of all formats to load, and supports all of GLScene features.
TGLSMWaveOut Sounds.WaveOut

Basic sound manager based on WinMM waveOut function. This manager has NO 3D miximing capacity, this is merely a default manager that should work on any windows based system, and help showcasing/testing basic GLSS core functionality. Apart from 3D, mute, pause, priority and volume are ignored too, and only sampling conversions supported by the windows ACM driver are supported (ie. no 4bits samples playback etc.).
TGLSoundFile GLS.SoundFileObjects

Abstract base class for different Sound file formats. The actual implementation for these files (WAV, RAW...) must be done seperately. The concept for TGLSoundFile is very similar to TGraphic (see Delphi Help). Default implementation for LoadFromFile/SaveToFile are to directly call the relevent stream-based methods, ie. you will just have to override the stream methods in most cases.
TGLSoundFileFormat GLS.SoundFileObjects

TGLSoundFileFormatsList GLS.SoundFileObjects

TGLSoundFileProperty GLS.SceneRegister

TGLSoundLibrary GLS.Sound

TGLSoundLibrarySelectionEditor GLS.SceneRegister

Selection editor for TGLSoundLibrary Allows units to be added to the uses clause automatically when sound files are loaded into a TGLSoundLibrary at design-time.
TGLSoundManager GLS.Sound

Base class for sound manager components. The sound manager component is the interface to a low-level audio API (like DirectSound), there can only be one active manager at any time (this class takes care of this). Subclass should override the DoActivate and DoDeActivate protected methods to "initialize/unitialize" their sound layer, actual data releases should occur in destructor however.
TGLSoundNameProperty GLS.SceneRegister

TGLSoundSample GLS.Sound

Platform Specific

by default, GLX is not supported on windows, although windows implementations do exist .NET Stores a single PCM coded sound sample.
TGLSoundSamples GLS.Sound

TGLSoundSampling GLS.SoundFileObjects

Defines a sound sampling quality.
TGLSoundSource GLS.Sound

Origin of sound playback. Just publishes the 'Origin' property. Note that the "orientation" is the the source's Direction, ie. the "Z" vector.
TGLSoundSources GLS.Sound

TGLSourcePFXEffect GLS.ParticleFX

Simple Particles Source.
TGLSpaceText GLS.SpaceText

Renders a text in 3D.
TGLSphere GLS.Objects

A sphere object. The sphere can have to and bottom caps, as well as being just a slice of sphere. Ref: https://mathworld.wolfram.com/Sphere.html Ref: https://mathworld.wolfram.com/GeodesicDome.html
TGLSPIManager Physics.SPIManager

The Simple Physics Interaction (SPI) manager can only deal with objects from one scene More than one physics manager can be assigned to a scene
TGLSprite GLS.Objects

A rectangular area, perspective projected, but always facing the camera. A TGLSprite is perspective projected and as such is scaled with distance, if you want a 2D sprite that does not get scaled, see TGLHUDSprite.
TGLSpriteAnimation GLS.AnimatedSprite

Animations define how the texture coordinates for each offset are to be determined.
TGLSpriteAnimationList GLS.AnimatedSprite

A collection for storing SpriteAnimation objects.
TGLSpriteAnimFrame GLS.AnimatedSprite

Used by the SpriteAnimation when Dimensions are set manual. The animation will use the offsets, width and height to determine the texture coodinates for this frame.
TGLSpriteAnimFrameList GLS.AnimatedSprite

TGLSpriteAnimMargins GLS.AnimatedSprite

Used to mask the auto generated frames. The Left, Top, Right and Bottom properties determines the number of pixels to be cropped from each corresponding side of the frame. Only applicable to auto dimensions.
TGLSSynHiMemo GLS.Memo

————————————————————– SYNTAX MEMO - declaration ————————————————————–
TGLStarRecord GLS.SkyDome

TGLStateCache GLS.State

Manages an application-side cache of OpenGL states and parameters. Purpose of this class is to eliminate redundant state and parameter changes, and there will typically be no more than one state cache per OpenGL context
TGLStaticImposterBuilder GLS.Imposter

Builds imposters whose texture is a catalog of prerendered views.
TGLStaticImposterBuilderCorona GLS.Imposter

Describes a set of orientation in a corona fashion.
TGLStaticImposterBuilderCoronas GLS.Imposter

TGLStencilRBO GLS.FBORenderer

TglSTLVectorFile GLS.FileSTL

TGLStringGrid GLS.Windows

TGLSuperellipsoid GLS.Objects

A Superellipsoid object. The Superellipsoid can have top and bottom caps, as well as being just a slice of Superellipsoid. Ref: https://mathworld.wolfram.com/Superellipse.html
TGLTeapot GLS.GeomObjects

The classic teapot. The only use of this object is as placeholder for testing...
TGLTerrainBaseHDS GLS.HeightData

TerrainBase-based Height Data Source. This component takes its data from the TerrainBase Gobal Terrain Model. Though it can be used directly, the resolution of the TerrainBase dataset isn't high enough for accurate short-range representation and the data should rather be used as basis for further (fractal) refinement. TerrainBase is freely available from the National Geophysical Data Center and World Data Center web site (http://ngdc.noaa.com). (this component expects to find "tbase.bin" in the current directory).
TGLTerrainRenderer GLS.TerrainRenderer

Basic terrain renderer. This renderer uses no sophisticated meshing, it just builds and maintains a set of terrain tiles, performs basic visibility culling and renders its stuff. You can use it has a base class/sample for more specialized terrain renderers. The Terrain heightdata is retrieved directly from a TGLHeightDataSource, and expressed as z=f(x, y) data.
TGLTessControlShaderHandle GLS.Context

Manages a handle to a Tessellation Control Shader Object
TGLTessEvaluationShaderHandle GLS.Context

Manages a handle to a Tessellation Evaluation Shader Object
TGLTetrahedron GLS.GeomObjects

The tetrahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.
TGLTexCombineShader GLSL.TextureShaders

A shader that can setup the texture combiner.
TGLTextAdjust GLS.SpaceText

TGLTextReader GLS.PersistentClasses

Reads object persistence in Text format.
TGLTexture GLS.Texture

Defines basic texturing properties. You can control texture wrapping, smoothing/filtering and of course define the texture map (note that texturing is disabled by default). A built-in mechanism (through ImageAlpha) allows auto-generation of an Alpha channel for all bitmaps (see TGLTextureImageAlpha).
TGLTextureBufferHandle GLS.Context

Manages a handle to a Buffer Texture. (TBO)
TGLTextureCombiner GLS.MaterialEx

TGLTexturedHDS GLS.TexturedHDS

TGLTextureEmitter GLS.ProjectedTextures

A projected texture emmiter. It's material property will be used as the projected texture. Can be places anywhere in the scene.
TGLTextureEmitterItem GLS.ProjectedTextures

Specifies an item on the TGLTextureEmitters collection.
TGLTextureEmitters GLS.ProjectedTextures

Collection of TGLTextureEmitter.
TGLTextureEx GLS.Texture

TGLTextureExItem GLS.Texture

TGLTextureHandle GLS.Context

Manages a handle to a texture
TGLTextureImage GLS.Texture

Base class for texture image data. Basicly, subclasses are to be considered as different ways of getting a HBitmap (interfacing the actual source). SubClasses should be registered using RegisterGLTextureImageClass to allow proper persistence and editability in the IDE experts.
TGLTextureImageEditor GLS.TextureImageEditors

TGLTextureImageEx GLS.MaterialEx

TGLTextureImageProperty GLS.SceneRegister

TGLTextureLensFlare GLS.TexLensFlare

TGLTextureProperties GLS.MaterialEx

TGLTextureProperty GLS.SceneRegister

TGLTextureSampler GLS.MaterialEx

TGLTextureSharingShader GLSL.TextureShaders

TGLTextureSharingShaderMaterial GLSL.TextureShaders

TGLTextureSharingShaderMaterials GLSL.TextureShaders

TGLTextureSwizzling GLS.MaterialEx

Swizzle the components of a texture fetches in shader or fixed-function pipeline.
TGLTextWriter GLS.PersistentClasses

Writes object persistence in Text format.
TGLTFVectorFile GLS.FileGLTF

The glTF format is a runtime asset delivery format for GL APIs: WebGL, OpenGL ES OpenGL and Vulkan.
TGLTGAImage Formats.TGA

TGLThorFXManager GLS.ThorFX

Thor special effect manager.
TGLTiledArea GLS.TilePlane

Stores tile information in a tiled area. Each tile stores an integer value with zero the default value, assumed as "empty".
TGLTiledAreaRow GLS.TilePlane

Stores row information for a tiled area.
TGLTiledRndLandscape GLS.RandomHDS

TGLTilePlane GLS.TilePlane

A tiled textured plane. This plane object stores and displays texture tiles that composes it, and is optimized to minimize texture switches when rendering. Its bounding dimensions are determined by its painted tile.
TGLTimeEventsMGR GLS.TimeEventsMgr

TGLTimerQueryHandle GLS.Context

Manages a handle to a timer query. Requires GL_EXT_timer_query extension. Does *NOT* check for extension availability, this is assumed to have been checked by the user.
TGLTINVectorFile GLS.FileTIN

The TIN vector file (triangle irregular network). It is a simple text format, with one triangle record per line, no materials, no texturing (there may be more, but I never saw anything in this files). This format is encountered in the DEM/DTED world and used in place of grids.
TGLTorus GLS.GeomObjects

A Torus object
TGLTrail GLS.Trail

TGLTransformation GLS.PipelineTransformation

TGLTransformFeedbackBufferHandle GLS.Context

Manages a handle to a Transform Feedback Buffer Object. Transform feedback buffers can be used to capture vertex data from the vertex or geometry shader stage to perform further processing without going on to the fragment shader stage.
TGLTree GLS.Tree

TGLTreeBranch GLS.Tree

TGLTreeBranches GLS.Tree

TGLTreeBranchNoise GLS.Tree

TGLTreeLeaves GLS.Tree

TGLTrianRec GLS.VectorTypesExt

TGLType1Link Physics.SPIJoints

// Type 1 Two-Link Manipulator // // _ ________ // / \ \ // / \/________/ // / / // / / // / / // / / // / / // \_/ //
TGLType2Link Physics.SPIJoints

// Type 2 Two-Link Manipulator // ___ // / \___________________ // | + |___________________| // \ / // | | // | | // | | // | | // | | // | | // __|_|__ // |___.___| //
TGLType3Link Physics.SPIJoints

// Type 3 Two-Link Manipulator // _______ // _________| |__ // <-|_________| |__|-> // |__ __| // | | // | | // | | // | | // | | // _|_|_ // |__.__|
TGLType4Link Physics.SPIJoints

TGLType5Link Physics.SPIJoints

// Type 5 Two-Link Manipulator // // _ // ________|_|__ // <-|_____________|-> // | | // | | // | | // | | // | | // __| |__ // |__| |__| // |_| // | // V //
TGLType6Link Physics.SPIJoints

TGLType7Link Physics.SPIJoints

TGLType8Link Physics.SPIJoints

TGLU3DVectorFile GLS.File3DPDF

The U3D vector file (using IDTF and U3DConverter).
TGLUniformBufferHandle GLS.Context

Manages a handle to a Uniform Buffer Object (UBO). Uniform buffer objects store "uniform blocks"; groups of uniforms that can be passed as a group into a GLSL program
TGLUniformGravityEmitter Physics.SPIFields

GLS.RigidBodyInertia
TGLUnpackPBOHandle GLS.Context

Manages a handle to PBO Pixel Unpack Buffer. When bound, commands such as DrawPixels read their data from a buffer object
TGLUNurbs GLS.OpenGLTokens

——————- OpenGL Utility (GLU) types —————- GLU types
TGLUpdateAbleComponent GLS.BaseClasses

A base class describing the "update" interface.
TGLUpdateAbleObject GLS.BaseClasses

An abstract class describing the "update" interface.
TGLUQuadric GLS.OpenGLTokens

TGLUserInputCommand GLS.Console

Stores info on a command. A command is a parsed input line. Should be transformed into a class, I think...
TGLUserInterface GLS.Navigator

TGLUserInterface is the component which reads the user input and transform it into action. The four calls to get you started is MouseLookActivate : set us up the bomb. MouseLookDeActivate : defuses it. Mouselook(deltaTime: double) : handles mouse look... Should be called in the Cadencer event. (Though it works every where!) MouseUpdate : Resets mouse position so that you don't notice that the mouse is limited to the screen should be called after Mouselook. The four properties to get you started are: InvertMouse : Inverts the mouse Y axis. MouseSpeed : Also known as mouse sensitivity. GLNavigator : The Navigator which receives the user movement. GLVertNavigator : The Navigator which if set receives the vertical user movement. Used mostly for cameras....
TGLUserShader GLSL.UserShader

TGLUTesselator GLS.OpenGLTokens

TGLVBOArrayBufferHandle GLS.Context

Manages a handle to VBO Array Buffer. Typically used to store vertices, normals, texcoords, etc.
TGLVBOElementArrayHandle GLS.Context

Manages a handle to VBO Element Array Buffer. Typically used to store vertex indices.
TGLVBOHandle GLS.Context

Manages a handle to an Vertex Buffer Object, VBO. Does *NOT* check for extension availability, this is assumed to have been checked by the user. Do not use this class directly, use one of its subclasses instead.
TGLVec GLS.VectorTypesExt

TGLVec2D GLS.VectorTypesExt

TGLVec3D GLS.VectorTypesExt

TGLVecHelper GLS.VectorTypesExt

TGLVectorEditorForm FmVectorEditor

TGLVectorFile GLS.VectorFileObjects

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic
TGLVectorFileFormat GLS.VectorFileObjects

TGLVectorFileFormatsList GLS.VectorFileObjects

Stores registered vector file formats
TGLVectorPool GLS.MultiPolygon

Page oriented pointer array, with persistent pointer target memory. In TVectorList a pointer to a vector will not be valid any more after a call to SetCapacity, which might be done implicitely during Add. The TGLVectorPool keeps memory in its original position during its whole lifetime.
TGLVerletAirResistance GLS.VerletTypes

TGLVerletCapsule GLS.VerletTypes

Capsule shaped verlet constraint in a skeleton collider
TGLVerletConstraint GLS.VerletTypes

TGLVerletConstraintList GLS.VerletTypes

TGLVerletDualConstraint GLS.VerletTypes

TGLVerletDualForce GLS.VerletTypes

A verlet force that applies to two specified nodes.
TGLVerletEdge GLS.VerletTypes

Verlet edges simulate rigid collission edges
TGLVerletEdgeList GLS.VerletTypes

TGLVerletFloor GLS.VerletTypes

Floor Collision Constraint
TGLVerletForce GLS.VerletTypes

Generic verlet force.
TGLVerletForceList GLS.VerletTypes

TGLVerletFrictionCapsule GLS.VerletTypes

Capsule collision Friction Constraint.
TGLVerletFrictionCube GLS.VerletTypes

Cube Сollision Friction Constraint.
TGLVerletFrictionCylinder GLS.VerletTypes

Cylinder collision Friction Constraint. The cylinder is considered infinite by this constraint.
TGLVerletFrictionSphere GLS.VerletTypes

Sphere Сollision Friction Constraint
TGLVerletGlobalConstraint GLS.VerletTypes

TGLVerletGlobalForce GLS.VerletTypes

A global force (applied to all verlet nodes).
TGLVerletGlobalFrictionConstraint GLS.VerletTypes

TGLVerletGlobalFrictionConstraintBox GLS.VerletTypes

TGLVerletGlobalFrictionConstraintSP GLS.VerletTypes

TGLVerletGlobalFrictionConstraintSphere GLS.VerletTypes

TGLVerletGravity GLS.VerletTypes

TGLVerletGroupConstraint GLS.VerletTypes

TGLVerletGroupForce GLS.VerletTypes

A verlet force that applies to a specified group of nodes.
TGLVerletHair GLS.VerletTypes

Verlet Hair class
TGLVerletHeightField GLS.VerletTypes

HeightField collision constraint (punctual!)
TGLVerletNode GLS.VerletTypes

Specialized verlet node that can be anchored to a GLScene object. If it's anchored and has the property "NailedDown" set, it will remain in the same relative position to the GLScene object.
TGLVerletNodeList GLS.VerletTypes

TGLVerletRigidBody GLS.VerletTypes

Rigid body verlet Collision constraint. Regroups several nodes in a rigid body conformation, somewhat similar to a stick but for multiple nodes. EXPERIMENTAL, STILL DOES NOT WORK!
TGLVerletSkeletonCollider GLS.VerletTypes

Base Verlet Skeleton Collider class.
TGLVerletSlider GLS.VerletTypes

Slider constraint. Imposes that two nodes be aligned on a defined direction, on which they can slide freely. Note that the direction is fixed and won't rotate with the verlet assembly!.
TGLVerletSphere GLS.VerletTypes

Sphere shaped verlet constraint in a skeleton collider
TGLVerletSpring GLS.VerletTypes

TGLVerletStick GLS.VerletTypes

Stick Verlet Collision Constraint. Imposes a fixed distance between two nodes
TGLVerletWorld GLS.VerletTypes

TGLVertexArrayHandle GLS.Context

Manages a handle to a Vertex Array Object (VAO). Vertex array objects are used to rapidly switch between large sets of array state
TGLVertexAttribute CUDA.Graphics

TGLVertexAttributes CUDA.Graphics

TGLVertexData GLS.Mesh

TGLVertexList GLS.Mesh

Stores an interlaced vertex list for direct use in OpenGL. Locking (hardware passthrough) is supported, see "Locked" property for details.
TGLVertexProgram GLSL.CustomShader

TGLVertexRec GLS.Objects

TGLVertexShaderHandle GLS.Context

Manages a handle to a Vertex Shader Object
TGLVertRec GLS.VectorTypesExt

TGLVfsPAK GLS.FileVfsPAK

TGLVirtualHandle GLS.Context

A context handle with event-based handle allocation and destruction
TGLVirtualHandleTransf GLS.Context

Transferable virtual handle
TGLVORVectorFile GLS.FileVOR

TGLVoxel GLS.VectorTypesExt

TGLVRMLVectorFile GLS.FileVRML

TGLWaterPlane GLS.WaterPlane

TGLWAVFile GLS.FileWAV

Support for Windows WAV format.
TGLWindowsBitmapFont GLS.WindowsFont

A bitmap font automatically built from a TFont. It works like a TGLBitmapfont, you set ranges and which chars are assigned to which indexes, however here you also set the Font property to any TFont available to the system and it renders in GLScene as close to that font as posible, on some font types this is 100% on some a slight difference in spacing can occur at most 1 pixel per char on some char combinations. Ranges must be sorted in ascending ASCII order and should not overlap. As the font texture is automatically layed out, the Ranges StartGlyphIdx property is ignored and replaced appropriately.
TGLWindowsContext GLS.WindowsContext

A context driver for standard Windows OpenGL (via MS OpenGL).
TGLXVectorFile GLS.FileX

TGLXYZGrid GLS.Graph

An XYZ Grid object. Renders an XYZ grid using lines
TGLzBuffer GLS.zBuffer

TGLZoomToDistanceJob GLS.CameraController

TGLZShadows GLS.zBuffer

TGPUDEVICE GLS.OpenGLTokens

TGUIRect GLS.Gui

THat SDL2.Import

** * Get the SDL joystick layer binding for this controller button/axis mapping *
THDRImage Formats.HDRImage

THideTrackTag Formats.m3DSTypes

THmgBoundingBox GLS.GeometryBB

THotTrackTag Formats.m3DSTypes

THTFHeader GLS.HeightTileFileHDS

TICCOMPRESS Formats.VFW

TICCOMPRESSFRAMES Formats.VFW

TICDECOMPRESS Formats.VFW

TICDECOMPRESSEX Formats.VFW

TICDRAW Formats.VFW

TICDRAWBEGIN Formats.VFW

TICDRAWSUGGEST Formats.VFW

TICINFO Formats.VFW

TICOPEN Formats.VFW

TICPALETTE Formats.VFW

TICSETSTATUSPROC Formats.VFW

TImposter GLS.Imposter

Base class for imposters manipulation and handling. Rendering imposters is performed by three methods, BeginRender must be invoked first, then Render for each of the impostr This class assumes a single impostor per texture.

Note: Remeber to enable Destination Alpha on your viewer.
TIntegerList GLS.VectorLists

A list of Integers. Similar to TList, but using TTexPoint as items. The list has stack-like push/pop methods.
TIntermediateFormat GLS.ImageUtils

Relative sample radius for filtering
TIPAddress SDL2.Net

TIpasData Formats.m3DSTypes

TIsoSurfaceExtractor GLS.Isosurface

3D isosurface extractor class. This class allows to calculate and exctract isosurfaces from scalar field voxel models using a given isovalue
TJointInfo1 Physics.ODEImport

info returned by getInfo1 function. the constraint dimension is m (<=6). i.e. that is the total number of rows in the jacobian. `nub' is the number of unbounded variables (which have lo,hi = -/+ infinity).
TJointInfo2 Physics.ODEImport

info returned by getInfo2 function
TKeyFramer Formats.m3DS

TKeyHeader3DS Formats.m3DSTypes

Animation key settings
TKEYSChunk Formats.B3D

TKFAmbient3DS Formats.m3DSTypes

TKFCamera3DS Formats.m3DSTypes

TKFHdr Formats.m3DSTypes

TKFKeyInfo3DS Formats.m3DSTypes

TKFMesh3DS Formats.m3DSTypes

TKFOmni3DS Formats.m3DSTypes

TKFRotKey3DS Formats.m3DSTypes

Rotation key
TKFSeg Formats.m3DSTypes

TKFSegment3DS Formats.m3DSTypes

TKFSets3DS Formats.m3DSTypes

TKFSpot3DS Formats.m3DSTypes

TLandTileInfo GLS.RandomHDS

TLayerFog Formats.m3DSTypes

TLayerFogSettings3DS Formats.m3DSTypes

layered Fog atmosphere parameters
TLeavedSpacePartition GLS.SpacePartition

Implements a list of all leaves added to the space partition, _not_ a good solution, but it can be used as a benchmark against more complex methods
TLibArchive GLS.ArchiveManager

Using the collection item for simultaneous work with several archives
TLibArchives GLS.ArchiveManager

TLifeErosion GLS.RandomHDS

TLight3DS Formats.m3DSTypes

TLightmapBounds GLS.MeshLines

TLightRecord GLSL.DiffuseSpecularShader

Note: probably LightCount should be replaced by LightSources, like in GLSLBumpShader.pas
TLineCollection GLS.MeshLines

TLineItem GLS.MeshLines

TLineNode GLS.MeshLines

Specialized Node for use in a TGLLines objects. Adds a Width property
TLineNodes GLS.MeshLines

Specialized collection for Nodes in TGLMeshLines objects. Stores TLineNode items.
TLineProp GLS.Memo

TLiteAttenuate3DS Formats.m3DSTypes

TLMTS GLS.FileLMTS

TLMTS_Header GLS.FileLMTS

TLMTS_Subset GLS.FileLMTS

TLMTS_TexData GLS.FileLMTS

TLMTS_Vertex GLS.FileLMTS

TLogBufferFlushThread GLS.Logger

Thread that periodically flushes the buffer to disk.
TLogCheckSizeThread GLS.Logger

Thread that checks file size and splits the file if nessesary.
TLogSession GLS.Logger

Abstract Logger class
TLongWordList GLS.VectorLists

TLWChunk Formats.LWO

TLWChunkList Formats.LWO

TLWChunkRec Formats.LWO

TLWClip Formats.LWO

TLWContentDir Formats.LWO

TLWLayr Formats.LWO

TLWObjectFile Formats.LWO

TLWParentChunk Formats.LWO

TLWPnts Formats.LWO

TLWPntsInfo Formats.LWO

TLWPols Formats.LWO

TLWPolsInfo Formats.LWO

TLWPolyTagMap Formats.LWO

TLWPTag Formats.LWO

TLWSubChunk Formats.LWO

TLWSubChunkRec Formats.LWO

TLWSurf Formats.LWO

TLWTags Formats.LWO

TLWVertexMap Formats.LWO

Value Map
TLWVMap Formats.LWO

TMainAVIHeader Formats.VFW

TMapInfo3DS Formats.m3DSTypes

TMapSet3DS Formats.m3DSTypes

TMatAcubic Formats.m3DSTypes

TMaterial3DS Formats.m3DSTypes

TMaterialInfo GLS.FileLMTS

TMaterialList Formats.m3DS

Progress : TProgressBar;

This allows to use something like that:

procedure TSomeForm.CreateForm(Sender: TObject); begin .... 3DSReader.OnProgress := LoadProgress; .... end; procedure TSomeForm.LoadProgress(StreamPos, StreamMax : Longint); begin if StreamMax <> 0 then Progress.MaxValue := StreamMax; Progress.Position := StreamPos; end; —– support classes —– All structure data of a 3DS file is actually held in TFile3DS.FDatabase as a tree with lots of links across the various chunks. For convinience and speed the data of the chunks is collected into some special structures (FMaterialList etc.) and presented to the user by the following helper classes:
TMatrix2b GLS.VectorTypes

TMatrix2d GLS.VectorTypes

=========== Matrices ============
TMatrix2e GLS.VectorTypes

TMatrix2f GLS.VectorTypes

TMatrix2i GLS.VectorTypes

TMatrix2p GLS.VectorTypes

TMatrix2s GLS.VectorTypes

TMatrix2w GLS.VectorTypes

TMatrix3b GLS.VectorTypes

TMatrix3d GLS.VectorTypes

TMatrix3e GLS.VectorTypes

TMatrix3f GLS.VectorTypes

TMatrix3i GLS.VectorTypes

TMatrix3p GLS.VectorTypes

TMatrix3s GLS.VectorTypes

TMatrix3w GLS.VectorTypes

TMatrix4b GLS.VectorTypes

TMatrix4d GLS.VectorTypes

TMatrix4e GLS.VectorTypes

TMatrix4f GLS.VectorTypes

TMatrix4i GLS.VectorTypes

TMatrix4p GLS.VectorTypes

TMatrix4s GLS.VectorTypes

TMatrix4w GLS.VectorTypes

TMD2AliasFrame Formats.MD2

TMD2Header Formats.MD2

TMD2Triangle Formats.MD2

TMD2TriangleVertex Formats.MD2

TMD2VertexIndex Formats.MD2

TMD3Bone Formats.MD3

TMD3Frame = record min_bound,max_bounds, local_origin : TVector3f; radius : single; name : array[0..15] of char; end;
TMD3Face Formats.MD3

TMD3Header Formats.MD3

TMD3MeshData Formats.MD3

TMD3MeshHeader Formats.MD3

TMD3Skin Formats.MD3

TMD3Tag Formats.MD3

Quake3 MD3 structure types
TMD3TagList GLS.FileQ3MD3

This class is used to extract the tag transform information stored in the MD3 files. The data is used to offset each part of the model based on the parent parts animation state.
TMD3TexCoord Formats.MD3

TMD3Triangle Formats.MD3

TMDCBaseFrame GLS.FileMDC

TMDCBorderFrame GLS.FileMDC

TMDCCompFrame GLS.FileMDC

TMDCFileHeader GLS.FileMDC

TMDCSkin GLS.FileMDC

TMDCSurfaceHeader GLS.FileMDC

TMDCTag GLS.FileMDC

TMDCTagFrame GLS.FileMDC

TMDCTagName GLS.FileMDC

TMem SDL2.Import

TMesh3DS Formats.m3DSTypes

TMESHChunk Formats.B3D

TMeshSet3DS Formats.m3DSTypes

TMeshTextureInfo Formats.m3DSTypes

TMix_Chunk SDL2.Mixer

TMix_Music SDL2.Mixer

TMOParametricSurface GLS.ParametricSurfaces

TMorphTrackTag Formats.m3DSTypes

TMS3DComment GLS.FileMS3D

TMS3DCommentList GLS.FileMS3D

TMS3DGroup GLS.FileMS3D

typedef struct (* byte flags; // SELECTED | HIDDEN char name[32]; // word numtriangles; // word triangleIndices[numtriangles]; // the groups group the triangles char materialIndex; // -1 = no material *) ms3d_group_t;
TMS3DHeader GLS.FileMS3D

typdef struct (* char id[10]; // always "MS3D000000" int version; // 4 *) ms3d_header_t;
TMS3DJoint GLS.FileMS3D

TMS3DJointBase GLS.FileMS3D

typedef struct (* byte flags; // SELECTED | DIRTY char name[32]; // char parentName[32]; // float rotation[3]; // local reference matrix float position[3];

word numKeyFramesRot; // word numKeyFramesTrans; //

ms3d_keyframe_rot_t keyFramesRot[numKeyFramesRot]; // local animation matrices ms3d_keyframe_pos_t keyFramesTrans[numKeyFramesTrans]; // local animation matrices *) ms3d_joint_t;
TMS3DKeyframePosition GLS.FileMS3D

typedef struct (* float time; // time in seconds float position[3]; // local position *) ms3d_keyframe_pos_t;
TMS3DKeyframeRotation GLS.FileMS3D

typedef struct (* float time; // time in seconds float rotation[3]; // x, y, z angles *) ms3d_keyframe_rot_t;
TMS3DMaterial GLS.FileMS3D

typedef struct (* char name[32]; // float ambient[4]; // float diffuse[4]; // float specular[4]; // float emissive[4]; // float shininess; // 0.0f - 128.0f float transparency; // 0.0f - 1.0f char mode; // 0, 1, 2 is unused now char texture[128]; // texture.bmp char alphamap[128]; // alpha.bmp *) ms3d_material_t;
TMS3DTriangle GLS.FileMS3D

typedef struct (* word flags; // SELECTED | SELECTED2 | HIDDEN word vertexIndices[3]; // float vertexNormals[3][3]; // float s[3]; // float t[3]; // byte smoothingGroup; // 1 - 32 byte groupIndex; // *) ms3d_triangle_t;
TMS3DVertex GLS.FileMS3D

typedef struct (* byte flags; // SELECTED | SELECTED2 | HIDDEN float vertex[3]; // char boneId; // -1 = no bone byte referenceCount; *) ms3d_vertex_t;
TMS3D_vertex_ex_t GLS.FileMS3D

TMshMatGroup Formats.m3DSTypes

TNCamera Formats.m3DSTypes

TNewtonBoxParam Physics.NewtonImport

TNewtonCapsuleParam Physics.NewtonImport

TNewtonChamferCylinderParam Physics.NewtonImport

TNewtonCollisionInfoRecord Physics.NewtonImport

TNewtonCollisionMaterial Physics.NewtonImport

TNewtonCollisionNullParam Physics.NewtonImport

TNewtonCollisionTreeParam Physics.NewtonImport

TNewtonCompoundCollisionParam Physics.NewtonImport

TNewtonConeParam Physics.NewtonImport

TNewtonConvexHullParam Physics.NewtonImport

TNewtonCylinderParam Physics.NewtonImport

TNewtonDeformableMeshParam Physics.NewtonImport

TNewtonFuncLinkRecord Physics.NewtonImport

PNewtonSerializeHandle = ˆPointer; PNewtonMeshHandle = ˆPointer; PNewtonMeshVertex = ˆPointer; PNewtonMeshPoint = ˆPointer; PNewtonMeshEdge = ˆPointer; PNewtonMeshFace = ˆPointer; PNewtonListener = ˆPointer;
TNewtonHeightFieldCollisionParam Physics.NewtonImport

TNewtonHingeSliderUpdateDesc Physics.NewtonImport

TNewtonImmediateModeConstraint Physics.NewtonImport

TNewtonJointRecord Physics.NewtonImport

TNewtonMaterialData Physics.NewtonImport

TNewtonMeshDoubleData Physics.NewtonImport

data structure for interfacing with NewtonMesh
TNewtonMeshFloatData Physics.NewtonImport

TNewtonMeshVertexFormat Physics.NewtonImport

TNewtonRagdoll Physics.NGDRagdoll

TNewtonSceneCollisionParam Physics.NewtonImport

TNewtonSphereParam Physics.NewtonImport

TNewtonTaperedCapsuleParam Physics.NewtonImport

TNewtonTaperedCylinderParam Physics.NewtonImport

TNewtonUserContactPoint Physics.NewtonImport

TNewtonUserMeshCollisionCollideDesc Physics.NewtonImport

TNewtonUserMeshCollisionRayHitDesc Physics.NewtonImport

TNewtonWorldConvexCastReturnInfo Physics.NewtonImport

TNmHeader GLS.FileNMF

TNmRawTriangle GLS.FileNMF

TNODEChunk Formats.B3D

TNodeHdr Formats.m3DSTypes

TNodeList Formats.m3DSTypes

TO3TCImage GLS.FileO3TCImage

TObjectList Formats.m3DS

TObjMat3DS Formats.m3DSTypes

TOCTFace Formats.OCT

TOCTFile Formats.OCT

TOCTHeader Formats.OCT

TOCTLight Formats.OCT

TOCTLightmap Formats.OCT

TOctreeNode GLS.Octree

TOctreeSpacePartition GLS.SpacePartition

Implements octrees
TOctreeTriangleInfo GLS.Octree

TOCTTexture Formats.OCT

TOCTVertex Formats.OCT

TOrthoView3DS Formats.m3DSTypes

Used to describe Top, Bottom, left, right, front and back views
TPAKArchive GLS.FilePAK

TPakHeader GLS.FilePAK

TPakHeader GLS.FileVfsPAK

TParticleReference GLS.ParticleFX

PFX region rendering structures
TPasJSON PasJSON

TPasJSONItem PasJSON

TPasJSONItemArray PasJSON

TPasJSONItemArray.TPasJSONItemArrayEnumerator PasJSON

TPasJSONItemBoolean PasJSON

TPasJSONItemNull PasJSON

TPasJSONItemNumber PasJSON

TPasJSONItemObject PasJSON

TPasJSONItemObject.TPasJSONItemObjectEnumerator PasJSON

TPasJSONItemObjectProperty PasJSON

TPasJSONItemString PasJSON

TPersistentObject GLS.PersistentClasses

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting
TPersistentObjectList GLS.PersistentClasses

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList
TPFXLifeColor GLS.ParticleFX

TPFXLifeColors GLS.ParticleFX

TPFXRegion GLS.ParticleFX

TPickRecord GLS.Selection

TPictureFileProperty GLS.SceneRegister

TPoint3DS Formats.m3DSTypes

3D point structure
TPointArray Formats.m3DSTypes

TPointFlagArray Formats.m3DSTypes

TPosTrackTag Formats.m3DSTypes

TQ3BSP Formats.Q3BSP

TQuadtreeSpacePartition GLS.SpacePartition

Implements quadtrees. Quadtrees are hardcoded to completely ignore the Y axis, only using X and Z to determine positioning. This means that they're well suited for 2d-ish situations (landscapes with trees for instance) but not for fully 3d situations (space fighting)
TQuaternion GLS.VectorGeometry

TQuaternionList GLS.VectorLists

A list of TQuaternion. Similar to TList, but using TQuaternion as items. The list has stack-like push/pop methods
TRainErosion GLS.RandomHDS

TRColorEditor FRColorEditor

TRectangle GLS.VectorGeometry

TRelativeCoordinate GLS.RandomHDS

TRenderContextClippingInfo GLS.RenderContextInfo

TResManagerEntry GLS.PlugInManager

TRFaceEditor FRFaceEditor

TRGBPixel GLS.Blur

TRMapSet3DS Formats.m3DSTypes

TRMaterialPreview FRMaterialPreview

TROAMRenderPoint GLS.ROAMPatch

TROAMTriangleNode GLS.ROAMPatch

TRollTrackTag Formats.m3DSTypes

TRotTrackTag Formats.m3DSTypes

TRTextureEdit FRTextureEdit

TScaleTrackTag Formats.m3DSTypes

TSceneObj GLS.SpacePartition

Object for holding glscene objects in a spatial partitioning
TSCODEBase Physics.ODESkeletonColliders

Base ODE skeleton collider class
TSCODEBox Physics.ODESkeletonColliders

Box shaped ODE geom in a skeleton collider
TSCODECCylinder Physics.ODESkeletonColliders

Capsule (sphere capped cylinder) shaped ODE geom in a skeleton collider
TSCODESphere Physics.ODESkeletonColliders

Sphere shaped ODE geom in a skeleton collider
TSDL2Frame SDL2.Frame

TSDLContext GLS.SDLContext

A context driver for OpenGL via SDL (libsdl.org). Due to limitations of SDL: you may have only one SDL window opened at any time (you cannot have memory viewers) closing the SDL window will terminate the application
TSDLNet_GenericSocket SDL2.Net

TSDLNet_Socket SDL2.Net

TSDLNet_SocketSet SDL2.Net

TSDLPantalla SDL2.Import

TSDLViewer GLS.SDLContext

A viewer using SDL. Beware: only one at a time, no other viewers allowed! Will also close the application when the window is closed!
TSDLWindow GLS.SDLWindow

A basic SDL-based window (non-visual component). Only a limited subset of SDL's features are available, and this window is heavily oriented toward using it for OpenGL rendering. Be aware SDL is currently limited to a single window at any time... so you may have multiple components, but only one can be used
TSDL_AudioCVT SDL2.Import

** * A structure to hold a set of audio conversion filters and buffers. *
TSDL_AudioSpec SDL2.Import

TSDL_BlitMap SDL2.Import

TSDL_Color SDL2.Import

TSDL_CommonEvent SDL2.Import

** * Fields shared by every event *
TSDL_ControllerAxisEvent SDL2.Import

** * Game controller axis motion event structure (event.caxis.*) *
TSDL_ControllerButtonEvent SDL2.Import

** * Game controller button event structure (event.cbutton.*) *
TSDL_ControllerDeviceEvent SDL2.Import

** * Controller device event structure (event.cdevice.*) *
TSDL_DisplayMode SDL2.Import

TSDL_DollarGestureEvent SDL2.Import

* (event.dgesture.*) *
TSDL_DropEvent SDL2.Import

** * An event used to request a file open by the system (event.drop.*) * This event is disabled by default, you can enable it with SDL_EventState() * If you enable this event, you must free the filename in the event. *
TSDL_Error SDL2.Import

TSDL_Event SDL2.Import

TSDL_Finger SDL2.Import

TSDL_GameControllerButtonBind SDL2.Import

TSDL_Haptic SDL2.Import

TSDL_HapticCondition SDL2.Import

** * A structure containing a template for a Condition effect. * * The struct handles the following effects: * - SDL_HAPTIC_SPRING: Effect based on axes position. * - SDL_HAPTIC_DAMPER: Effect based on axes velocity. * - SDL_HAPTIC_INERTIA: Effect based on axes acceleration. * - SDL_HAPTIC_FRICTION: Effect based on axes movement. * * Direction is handled by condition internals instead of a direction member. * The condition effect specific members have three parameters. The first * refers to the X axis, the second refers to the Y axis and the third * refers to the Z axis. The right terms refer to the positive side of the * axis and the left terms refer to the negative side of the axis. Please * refer to the ::SDL_HapticDirection diagram for which side is positive and * which is negative. * * SDL_HapticDirection * SDL_HAPTIC_SPRING * SDL_HAPTIC_DAMPER * SDL_HAPTIC_INERTIA * SDL_HAPTIC_FRICTION * SDL_HapticEffect *
TSDL_HapticConstant SDL2.Import

** * A structure containing a template for a Constant effect. * * The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect. * * A constant effect applies a constant force in the specified direction * to the joystick. * * SDL_HAPTIC_CONSTANT * SDL_HapticEffect *
TSDL_HapticCustom SDL2.Import

** * A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect. * * A custom force feedback effect is much like a periodic effect, where the * application can define its exact shape. You will have to allocate the * data yourself. Data should consist of channels * samples Uint16 samples. * * If channels is one, the effect is rotated using the defined direction. * Otherwise it uses the samples in data for the different axes. * * SDL_HAPTIC_CUSTOM * SDL_HapticEffect *
TSDL_HapticDirection SDL2.Import

** * Structure that represents a haptic direction. * * Directions can be specified by: * - SDL_HAPTIC_POLAR : Specified by polar coordinates. * - SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates. * - SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates. * * Cardinal directions of the haptic device are relative to the positioning * of the device. North is considered to be away from the user. * * The following diagram represents the cardinal directions: * .–. |__| .——-. |=.| |.—–.| |–| || || | | |'—–'| |__|˜')_____(' [ COMPUTER ]

North (0,-1) ˆ | | (1,0) West <—-[ HAPTIC ]—-> East (-1,0) | | v South (0,1)

[ USER ] \|||/ (o o) —ooO-(_)-Ooo—

* * If type is SDL_HAPTIC_POLAR, direction is encoded by hundredths of a * degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses * the first dir parameter. The cardinal directions would be: * - North: 0 (0 degrees) * - East: 9000 (90 degrees) * - South: 18000 (180 degrees) * - West: 27000 (270 degrees) * * If type is SDL_HAPTIC_CARTESIAN, direction is encoded by three positions * (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses * the first three dir parameters. The cardinal directions would be: * - North: 0,-1, 0 * - East: -1, 0, 0 * - South: 0, 1, 0 * - West: 1, 0, 0 * * The Z axis represents the height of the effect if supported, otherwise * it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you * can use any multiple you want, only the direction matters. * * If type is SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations. * The first two dir parameters are used. The dir parameters are as * follows (all values are in hundredths of degrees): * - Degrees from (1, 0) rotated towards (0, 1). * - Degrees towards (0, 0, 1) (device needs at least 3 axes). * * * Example of force coming from the south with all encodings (force coming * from the south means the user will have to pull the stick to counteract): * * SDL_HapticDirection direction; * * // Cartesian directions * direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding. * direction.dir[0] = 0; // X position * direction.dir[1] = 1; // Y position * // Assuming the device has 2 axes, we don't need to specify third parameter. * * // Polar directions * direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding. * direction.dir[0] = 18000; // Polar only uses first parameter * * // Spherical coordinates * direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding * direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters. * * * SDL_HAPTIC_POLAR * SDL_HAPTIC_CARTESIAN * SDL_HAPTIC_SPHERICAL * SDL_HapticEffect * SDL_HapticNumAxes *
TSDL_HapticEffect SDL2.Import

TSDL_HapticPeriodic SDL2.Import

** * A structure containing a template for a Periodic effect. * * The struct handles the following effects: * - SDL_HAPTIC_SINE * - SDL_HAPTIC_SQUARE * - SDL_HAPTIC_TRIANGLE * - SDL_HAPTIC_SAWTOOTHUP * - SDL_HAPTIC_SAWTOOTHDOWN * * A periodic effect consists in a wave-shaped effect that repeats itself * over time. The type determines the shape of the wave and the parameters * determine the dimensions of the wave. * * Phase is given by hundredth of a cycle meaning that giving the phase a value * of 9000 will displace it 25% of its period. Here are sample values: * - 0: No phase displacement. * - 9000: Displaced 25% of its period. * - 18000: Displaced 50% of its period. * - 27000: Displaced 75% of its period. * - 36000: Displaced 100% of its period, same as 0, but 0 is preferred. * * Examples: * SDL_HAPTIC_SINE __ __ __ __ / \ / \ / \ / / \__/ \__/ \__/

SDL_HAPTIC_SQUARE __ __ __ __ __ | | | | | | | | | | | |__| |__| |__| |__| |

SDL_HAPTIC_TRIANGLE /\ /\ /\ /\ /\ / \ / \ / \ / \ / / \/ \/ \/ \/

SDL_HAPTIC_SAWTOOTHUP /| /| /| /| /| /| /| / | / | / | / | / | / | / | / |/ |/ |/ |/ |/ |/ |

SDL_HAPTIC_SAWTOOTHDOWN \ |\ |\ |\ |\ |\ |\ | \ | \ | \ | \ | \ | \ | \ | \| \| \| \| \| \| \|

* * SDL_HAPTIC_SINE * SDL_HAPTIC_SQUARE * SDL_HAPTIC_TRIANGLE * SDL_HAPTIC_SAWTOOTHUP * SDL_HAPTIC_SAWTOOTHDOWN * SDL_HapticEffect *
TSDL_HapticRamp SDL2.Import

** * A structure containing a template for a Ramp effect. * * This struct is exclusively for the ::SDL_HAPTIC_RAMP effect. * * The ramp effect starts at start strength and ends at end strength. * It augments in linear fashion. If you use attack and fade with a ramp * the effects get added to the ramp effect making the effect become * quadratic instead of linear. * * SDL_HAPTIC_RAMP * SDL_HapticEffect *
TSDL_JoyAxisEvent SDL2.Import

** * Joystick axis motion event structure (event.jaxis.*) *
TSDL_JoyBallEvent SDL2.Import

** * Joystick trackball motion event structure (event.jball.*) *
TSDL_JoyButtonEvent SDL2.Import

** * Joystick button event structure (event.jbutton.*) *
TSDL_JoyDeviceEvent SDL2.Import

** * Joystick device event structure (event.jdevice.*) *
TSDL_JoyHatEvent SDL2.Import

** * Joystick hat position change event structure (event.jhat.*) *
TSDL_JoystickGUID SDL2.Import

* A structure that encodes the stable unique id for a joystick device *
TSDL_KeyboardEvent SDL2.Import

** * Keyboard button event structure (event.key.*) *
TSDL_Keysym SDL2.Import

TSDL_MessageBoxButtonData SDL2.Import

TSDL_MessageBoxColor SDL2.Import

TSDL_MessageBoxColorScheme SDL2.Import

TSDL_MessageBoxData SDL2.Import

TSDL_MouseButtonEvent SDL2.Import

** * Mouse button event structure (event.button.*) *
TSDL_MouseMotionEvent SDL2.Import

** * Mouse motion event structure (event.motion.*) *
TSDL_MouseWheelEvent SDL2.Import

** * Mouse wheel event structure (event.wheel.*) *
TSDL_MultiGestureEvent SDL2.Import

** * Multiple Finger Gesture Event (event.mgesture.*) *
TSDL_Mutex SDL2.Import

***KTI***
TSDL_Palette SDL2.Import

TSDL_PixelFormat SDL2.Import

TSDL_Point SDL2.Import

TSDL_QuitEvent SDL2.Import

** * The "quit requested" event *
TSDL_Rect SDL2.Import

TSDL_RendererInfo SDL2.Import

TSDL_RWops SDL2.Import

TSDL_Surface SDL2.Import

TSDL_SysWMEvent SDL2.Import

TSDL_SysWMinfo SDL2.Import

TSDL_SysWMmsg SDL2.Import

TSDL_TextEditingEvent SDL2.Import

** * Keyboard text editing event structure (event.edit.*) *
TSDL_TextInputEvent SDL2.Import

** * Keyboard text input event structure (event.text.*) *
TSDL_Thread SDL2.Import

TSDL_TouchFingerEvent SDL2.Import

** * Touch finger event structure (event.tfinger.*) *
TSDL_UserEvent SDL2.Import

** * A user-defined event type (event.user.*) *
TSDL_Version SDL2.Import

TSDL_Window SDL2.Import

* Define the SDL window structure, corresponding to toplevel windows *
TSDL_WindowEvent SDL2.Import

** * Window state change event data (event.window.*) *
TSDL_WindowShapeMode SDL2.Import

TSDL_WindowShapeParams SDL2.Import

** A union containing parameters for shaped windows. *
TSDL_WindowShaper SDL2.Import

TSDL_WindowUserData SDL2.Import

TSeaErosion GLS.RandomHDS

TSectoredSpacePartition GLS.SpacePartition

TSectorNode GLS.SpacePartition

Implements a SectorNode node. Each node can have 0 or 8 children, each child being a portion of the size of the parent. For quadtrees, that's 1/4, for octrees, it's 1/8
TServiceContextTask GLS.Context

TShaderFileProperty GLS.SceneRegister

TShaderMemoForm FmShaderMemo

TShadowSets3DS Formats.m3DSTypes

global Shadow settings
TSingleList GLS.VectorLists

A list of Single. Similar to TList, but using Single as items. The list has stack-like push/pop methods
TSmoothGroup Formats.m3DSTypes

TSpacePartitionLeaf GLS.SpacePartition

Used to store the actual objects in the SpacePartition
TSpacePartitionLeafList GLS.SpacePartition

List for storing space partition leaves
TSPOctreeNode GLS.SpacePartition

** OCTTREE Implements sector node that handles octrees
TSpotCone3DS Formats.m3DSTypes

TSpotLight3DS Formats.m3DSTypes

TSpotProjector3DS Formats.m3DSTypes

TSpotShadow3DS Formats.m3DSTypes

TSPQuadtreeNode GLS.SpacePartition

** QUADTREE Implements sector node that handles quadtrees
TStateRecord GLS.State

TStaticImposter GLS.Imposter

Imposter class whose texture contains several views from different angles.
TStdio SDL2.Import

TSteps GLS.RandomHDS

TSTLFace GLS.FileSTL

TSTLHeader GLS.FileSTL

TStyleList GLS.Memo

TTCPSocket SDL2.Net

TTexPoint GLS.VectorGeometry

TTexPointList GLS.VectorLists

A list of TTexPoint. Similar to TList, but using TTexPoint as items. The list has stack-like push/pop methods.
TTEXSChunk Formats.B3D

TTextureReference CUDA.Runtime

TTexVert3DS Formats.m3DSTypes

Texture assignment coordinate
TTexVerts Formats.m3DSTypes

TTGAImage GLS.FileTGA

TGA image load/save capable class. TGA formats supported : 24 and 32 bits uncompressed or RLE compressed, saves only to uncompressed TGA.
TTGLFile3DSPositionAnimationKeys GLS.File3DS

TThorpoint GLS.ThorFX

TTimeEvent GLS.TimeEventsMgr

TTimeEvents GLS.TimeEventsMgr

TTrackHeader3DS Formats.m3DSTypes

Global track settings
TTransformationRec GLS.PipelineTransformation

TTRISChunk Formats.B3D

TTTF_Font SDL2.Ttf

TUBOStates GLS.State

TUDPpacket SDL2.Net

TUDPSocket SDL2.Net

TUDP_Channel SDL2.Net

TUniformAutoSetProperty GLS.SceneRegister

TUnknown SDL2.Import

TUserView3DS Formats.m3DSTypes

TVector2b GLS.VectorTypes

TVector2d GLS.VectorTypes

=========== Vectors ============ 2
TVector2e GLS.VectorTypes

TVector2f GLS.VectorTypes

TVector2h GLS.VectorTypes

TVector2i GLS.VectorTypes

TVector2p GLS.VectorTypes

TVector2s GLS.VectorTypes

TVector2sb GLS.VectorTypes

TVector2ui GLS.VectorTypes

TVector2w GLS.VectorTypes

TVector3b GLS.VectorTypes

TVector3d GLS.VectorTypes

3
TVector3e GLS.VectorTypes

TVector3f GLS.VectorTypes

TVector3h GLS.VectorTypes

TVector3i GLS.VectorTypes

TVector3p GLS.VectorTypes

TVector3s GLS.VectorTypes

TVector3sb GLS.VectorTypes

TVector3ui GLS.VectorTypes

TVector3w GLS.VectorTypes

TVector4b GLS.VectorTypes

TVector4d GLS.VectorTypes

4
TVector4e GLS.VectorTypes

TVector4f GLS.VectorTypes

TVector4h GLS.VectorTypes

TVector4i GLS.VectorTypes

TVector4p GLS.VectorTypes

TVector4s GLS.VectorTypes

TVector4sb GLS.VectorTypes

TVector4ui GLS.VectorTypes

TVector4w GLS.VectorTypes

TVectorList GLS.VectorLists

A list of TGLVectors. Similar to TList, but using TGLVector as items. The list has stack-like push/pop methods
TVertexBoneWeight GLS.VectorFileObjects

TVertexData Formats.B3D

TVertexWeightList GLS.FileMS3D

TVGradientBgnd3DS Formats.m3DSTypes

TVIDEOHDR Formats.VFW

TVideoMode GLS.Screen

TViewport3DS Formats.m3DSTypes

Viewport structure details the kind of View in a viewport
TViewportData Formats.m3DSTypes

TViewportLayout Formats.m3DSTypes

TViewportSize Formats.m3DSTypes

TViewSize3DS Formats.m3DSTypes

TViewStandard Formats.m3DSTypes

TViewUser Formats.m3DSTypes

TVirtualReader GLS.PersistentClasses

Virtual layer similar to VCL's TReader (but reusable)
TVirtualWriter GLS.PersistentClasses

Virtual layer similar to VCL's TWriter (but reusable)
TVORFace GLS.FileVOR

TVORHeader GLS.FileVOR

TVRMLIntegerArray Formats.VRML

TVRMLMaterial Formats.VRML

TVRMLNode Formats.VRML

TVRMLParser Formats.VRML

TVRMLShapeHints Formats.VRML

TVRMLSingleArray Formats.VRML

TVRMLTransform Formats.VRML

TVRMLUse Formats.VRML

TVRTSChunk Formats.B3D

TWindowsIO SDL2.Import

TWindowsIOBuffer SDL2.Import

TXCollection GLS.XCollection

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility
TXCollectionEditorForm FmXCollectionEditor

TXCollectionItem GLS.XCollection

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation
TXCollectionProperty GLS.XCollectionRegister

TXDataEntry Formats.m3DSTypes

TXDataRaw3DS Formats.m3DSTypes

TZLibArchive GLS.FileZLIB

TZLibHeader GLS.FileZLIB

Signature for compressed zlib.
T_cl_command_queue OpenCL.Import

T_cl_context GLS.VectorTypes

These OpenCL's types are compatible with cl_context and cl_event
T_cl_context OpenCL.Import

T_cl_device_id OpenCL.Import

T_cl_event GLS.VectorTypes

T_cl_event OpenCL.Import

T_cl_kernel OpenCL.Import

T_cl_mem OpenCL.Import

T_cl_platform_id OpenCL.Import

T_cl_program OpenCL.Import

T_cl_sampler OpenCL.Import

_CGcontext Cg.Import

_CGparameter Cg.Import

_CGprogram Cg.Import

_EFXEAXREVERBPROPERTIES Sounds.OpenALImport

END EFX AEX extension EFX utils version 1.0
_EFXLOWPASSFILTER Sounds.OpenALImport

_WGLSWAP GLS.VectorTypes

__GLsync OpenCL.GL


GLSysHelp v.2.1: All Types

All Types

Name Unit Description
BOOL Sounds.BASSImport

ByteElement CUDA.DataAccess

CGbool Cg.Import

CGcontext Cg.Import

CGenum Cg.Import

CGerror Cg.Import

CGerrorCallbackFunc Cg.Import

CGGLenum Cg.GL

CGLAbstractShaderUniform GLS.MaterialEx

CGLBaseMaterialCollectionItem GLS.MaterialEx

CGparameter Cg.Import

CGprofile Cg.Import

CGprogram Cg.Import

CGresource Cg.Import

CGtype Cg.Import

CG_DATATYPE_MACRO(Bool4x4,bool4x4,CG_BOOL4x4,4,4)
CLogSession GLS.Logger

Class reference to log session class
cudaError_t CUDA.Runtime

+//DEVICE_BUILTIN*/
cudaEvent_t CUDA.Runtime

+//DEVICE_BUILTIN*/
cudaStream_t CUDA.Runtime

+//DEVICE_BUILTIN*/
dFloat Physics.NewtonImport

dFloat64 Physics.NewtonImport

dLong Physics.NewtonImport

DoubleElement CUDA.DataAccess

DOWNLOADPROC Sounds.BASSImport

User file stream callback function. action : The action to perform, one of BASS_FILE_xxx values. param1 : Depends on "action" param2 : Depends on "action" user : The 'user' parameter value given when calling BASS_StreamCreate RETURN : Depends on "action"
DSPPROC Sounds.BASSImport

Sync callback function. NOTE: a sync callback function should be very quick as other syncs cannot be processed until it has finished. If the sync is a "mixtime" sync, then other streams and MOD musics can not be mixed until it's finished either. handle : The sync that has occured channel: Channel that the sync occured in data : Additional data associated with the sync's occurance user : The 'user' parameter given when calling BASS_ChannelSetSync
DSPROPERTY_EAX_BUFFERPROPERTY Sounds.OpenALImport

DSPROPERTY_EAX_LISTENERPROPERTY Sounds.OpenALImport

EAX extension
DWord SDL2.Import

DWORD Sounds.BASSImport

EFXEAXREVERBPROPERTIES Sounds.OpenALImport

EFXLOWPASSFILTER Sounds.OpenALImport

EGLOSError GLS.Utils

EOpenALError Sounds.OpenAL

FILECLOSEPROC Sounds.BASSImport

User file stream callback functions
FILELENPROC Sounds.BASSImport

FILEREADPROC Sounds.BASSImport

FILESEEKPROC Sounds.BASSImport

Float Physics.NewtonImport

Float SDL2.Import

FloatElement CUDA.DataAccess

FSOUND_SPEAKERMODES Sounds.FMODtypes

The audio is played through a speaker arrangement of surround speakers with a subwoofer.
GLSDOMNode GLS.CrossXML

GLSXMLDocument GLS.CrossXML

GLSXMLNode GLS.CrossXML

HalfElement CUDA.DataAccess

HCHANNEL Sounds.BASSImport

sample handle
HDRAWDIB Formats.VFW

************************************************************************* * * DRAWDIB - Routines for drawing to the display. * ************************************************************************
HDSP Sounds.BASSImport

synchronizer handle
HFX Sounds.BASSImport

DSP handle
HGPUNV CUDA.Import

HGPUNV GLS.OpenGLTokens

HIC Formats.VFW

HMODULE Sounds.OpenALImport

HMUSIC Sounds.BASSImport

HPBUFFERARB GLS.VectorTypes

HPLUGIN Sounds.BASSImport

DX8 effect handle
HRECORD Sounds.BASSImport

sample stream handle
HSAMPLE Sounds.BASSImport

MOD music handle
HSTREAM Sounds.BASSImport

playing sample's channel handle
HSYNC Sounds.BASSImport

recording handle
HVIDEO Formats.VFW

== VIDEO - Video capture driver interface ===================================
HVIDEOINPUTDEVICENV GLS.OpenGLTokens

int Formats.VFW

IntElement CUDA.DataAccess

intptr_t OpenCL.Platform

LONG Formats.VFW

NewtonAllocMemory Physics.NewtonImport

Newton callback functions
NewtonApplyForceAndTorque Physics.NewtonImport

NewtonBallCallback Physics.NewtonImport

NewtonBodyDestructor Physics.NewtonImport

NewtonBodyIterator Physics.NewtonImport

NewtonCollisionCopyConstructionCallback Physics.NewtonImport

NewtonCollisionDestructorCallback Physics.NewtonImport

NewtonCollisionIterator Physics.NewtonImport

NewtonCollisionTreeRayCastCallback Physics.NewtonImport

NewtonConstraintDestructor Physics.NewtonImport

NewtonContactsProcess Physics.NewtonImport

NewtonCorkscrewCallback Physics.NewtonImport

NewtonCreateContactCallback Physics.NewtonImport

NewtonDeserializeCallback Physics.NewtonImport

NewtonDestroyContactCallback Physics.NewtonImport

NewtonFractureCompoundCollisionOnEmitChunk Physics.NewtonImport

NewtonFractureCompoundCollisionOnEmitCompoundFractured Physics.NewtonImport

NewtonFractureCompoundCollisionReconstructMainMeshCallBack Physics.NewtonImport

NewtonFreeMemory Physics.NewtonImport

NewtonGetTimeInMicrosencondsCallback Physics.NewtonImport

NewtonHeightFieldRayCastCallback Physics.NewtonImport

NewtonHingeCallback Physics.NewtonImport

NewtonIslandUpdate Physics.NewtonImport

NewtonJobTask Physics.NewtonImport

NewtonJointIterator Physics.NewtonImport

NewtonOnAABBOverlap Physics.NewtonImport

NewtonOnBodyDeserializationCallback Physics.NewtonImport

NewtonOnBodySerializationCallback Physics.NewtonImport

NewtonOnCompoundSubCollisionAABBOverlap Physics.NewtonImport

NewtonOnContactGeneration Physics.NewtonImport

NewtonOnJointDeserializationCallback Physics.NewtonImport

NewtonOnJointSerializationCallback Physics.NewtonImport

NewtonOnUserCollisionSerializationCallback Physics.NewtonImport

user collision callbacks
NewtonPostUpdateCallback Physics.NewtonImport

NewtonReportProgress Physics.NewtonImport

NewtonSerializeCallback Physics.NewtonImport

NewtonSetTransform Physics.NewtonImport

NewtonSliderCallback Physics.NewtonImport

NewtonTreeCollisionCallback Physics.NewtonImport

NewtonTreeCollisionFaceCallback Physics.NewtonImport

NewtonUniversalCallback Physics.NewtonImport

NewtonUserBilateralCallback Physics.NewtonImport

NewtonUserBilateralGetInfoCallback Physics.NewtonImport

NewtonUserMeshCollisionAABBTest Physics.NewtonImport

NewtonUserMeshCollisionCollideCallback Physics.NewtonImport

NewtonUserMeshCollisionDestroyCallback Physics.NewtonImport

NewtonUserMeshCollisionGetCollisionInfo Physics.NewtonImport

NewtonUserMeshCollisionGetFacesInAABB Physics.NewtonImport

NewtonUserMeshCollisionRayHitCallback Physics.NewtonImport

NewtonWorldDestroyListenerCallback Physics.NewtonImport

NewtonWorldDestructorCallback Physics.NewtonImport

NewtonWorldListenerBodyDestroyCallback Physics.NewtonImport

NewtonWorldListenerDebugCallback Physics.NewtonImport

NewtonWorldRayFilterCallback Physics.NewtonImport

NewtonWorldRayPrefilterCallback Physics.NewtonImport

NewtonWorldUpdateListenerCallback Physics.NewtonImport

NGDFloat Physics.NGDManager

TComponent TList TWriter TReader TPersistent System utilities Samevalue isZero to compare single Imports.NGD_Joints, Import.Newton, // new version PGLVector TGLVector TGLMatrix PGLMatrix NullHmgVector... TAffineVectorList for Tree TXCollection file function For show debug cube cone freeform...
P4ByteArrayList GLS.VectorLists

PAABB GLS.GeometryBB

PAArray GLS.zBuffer

PACubic3DS Formats.m3DSTypes

used by AddMaterial3DS
PAffineByteVector GLS.VectorGeometry

PAffineDblVector GLS.VectorGeometry

PAffineExtVector GLS.VectorGeometry

PAffineFltVector GLS.VectorGeometry

PAffineIntVector GLS.VectorGeometry

PAffineMatrix GLS.VectorGeometry

PAffinePtrVector GLS.VectorGeometry

PAffineVector GLS.VectorGeometry

PAffineVectorArray GLS.VectorGeometry

Arrays of vectors
PAffineWordVector GLS.VectorGeometry

PALbitfield Sounds.OpenALImport

PALboolean Sounds.OpenALImport

PALbyte Sounds.OpenALImport

PALCboolean Sounds.OpenALImport

PALCbyte Sounds.OpenALImport

PALCchar Sounds.OpenALImport

PALCcontext Sounds.OpenALImport

PALCdevice Sounds.OpenALImport

PALCdouble Sounds.OpenALImport

PALCenum Sounds.OpenALImport

PALCfloat Sounds.OpenALImport

PALchar Sounds.OpenALImport

PALCint Sounds.OpenALImport

PALclampd Sounds.OpenALImport

PALclampf Sounds.OpenALImport

PALCshort Sounds.OpenALImport

PALCsizei Sounds.OpenALImport

PALCubyte Sounds.OpenALImport

PALCuint Sounds.OpenALImport

PALCushort Sounds.OpenALImport

PALCvoid Sounds.OpenALImport

PALdouble Sounds.OpenALImport

PALenum Sounds.OpenALImport

PALfloat Sounds.OpenALImport

PALint Sounds.OpenALImport

PALshort Sounds.OpenALImport

PALsizei Sounds.OpenALImport

PALuByte Sounds.OpenALImport

PALuint Sounds.OpenALImport

PALushort Sounds.OpenALImport

PALvoid Sounds.OpenALImport

PANG4 Formats.LWO

PANIMChunk Formats.B3D

PAtmosphere3DS Formats.m3DSTypes

PAVICOMPRESSOPTIONS Formats.VFW

Make sure it matches the AutoDoc in avisave.c !!!
PAVIFileInfo Formats.VFW

PAVIFileInfoA Formats.VFW

PAVIFileInfoW Formats.VFW

– AVIFILEINFO ————————————————————–
PAVIINDEXENTRY Formats.VFW

these bits are for compressor use
PAVIPALCHANGE Formats.VFW

– Palette change chunk (used in video streams) —————————–
PAVIStream GLS.AVIRecorder

PAVIStreamHeader Formats.VFW

PAVIStreamInfo Formats.VFW

PAVIStreamInfoA Formats.VFW

PAVIStreamInfoW Formats.VFW

for Unicode/Ansi thunking we need to declare three versions of this!
PB3DChunk Formats.B3D

PBackground3DS Formats.m3DSTypes

PBASS_PLUGINFORMS Sounds.BASSImport

PBASS_PLUGININFO Sounds.BASSImport

PBB3DChunk Formats.B3D

PBitmap3DS Formats.m3DSTypes

Cubic reflection Map defintion
PBitmapBgnd3DS Formats.m3DSTypes

PBitMapName Formats.m3DSTypes

PBONEChunk Formats.B3D

PBoundBox Formats.m3DSTypes

PBRUSChunk Formats.B3D

PBSPFace Formats.Q3BSP

PBSPLightmap Formats.Q3BSP

PBSPTexture Formats.Q3BSP

PBSPVertex Formats.Q3BSP

PByte GLS.HeightTileFileHDS

Access to large tiled height data files. Performance vs Raw file accesses (for perfect tile match): Cached data: "Smooth" terrain 1:2 to 1:10 Random terrain 1:1

Non-cached data: "Smooth" terrain 1:100 to 1:1000 Random terrain 1:100
PByteArray GLS.VectorGeometry

PByteRaster GLS.HeightData

PByteVector GLS.VectorGeometry

Types to specify continous streams of a specific type switch off range checking to access values beyond the limits
PCamera3DS Formats.m3DSTypes

PCamRanges Formats.m3DSTypes

PCamRanges3DS Formats.m3DSTypes

Camera atomosphere Ranges
PCAPDRIVERCAPS Formats.VFW

– Structures —————————————————————
PCAPINFOCHUNK Formats.VFW

No master
PCAPSTATUS Formats.VFW

PCAPTUREPARMS Formats.VFW

Default values in parenthesis
PCardinalArray Formats.m3DSTypes

PCardinalArray GLS.VectorGeometry

PCardinalVector GLS.VectorGeometry

PCGcontext Cg.Import

PCGerror Cg.Import

* The following macro invocations define error codes returned by various cg * API functions. * * The macros have the form : * * CG_ERROR_MACRO(code, enum_name, message) * * code : The integer error code associated with the error. * enum_name : The name of enumerant of the error code in the API. * message : A description string associated with the error. *
PCGparameter Cg.Import

PCGprogram Cg.Import

PCHANNEL_CAPS Formats.VFW

– Channel capabilities structure ——————————————-
PChar3DS Formats.m3DSTypes

PCharCG Cg.Import

***********************************************************************
PCharInfo GLS.BitmapFont

PChunk3DS Formats.m3DSTypes

PChunkList Formats.m3DSTypes

PChunkList3DS Formats.m3DSTypes

PChunkListEntry3DS Formats.m3DSTypes

internal database representation of file information
Pcl_addressing_mode OpenCL.Import

Pcl_bitfield OpenCL.Import

Pcl_bool OpenCL.Import

* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. *//
Pcl_buffer_create_type OpenCL.Import

Pcl_buffer_region OpenCL.Import

Pcl_build_status OpenCL.Import

Pcl_channel_order OpenCL.Import

Pcl_channel_type OpenCL.Import

Pcl_char OpenCL.Platform

Pcl_command_queue OpenCL.Import

Pcl_command_queue_info OpenCL.Import

Pcl_command_queue_properties OpenCL.Import

Pcl_command_type OpenCL.Import

Pcl_context OpenCL.Import

Pcl_context_info OpenCL.Import

Pcl_context_properties OpenCL.Import

Pcl_device_affinity_domain OpenCL.Import

Pcl_device_exec_capabilities OpenCL.Import

Pcl_device_fp_config OpenCL.Import

Pcl_device_id OpenCL.Import

Pcl_device_info OpenCL.Import

Pcl_device_local_mem_type OpenCL.Import

Pcl_device_mem_cache_type OpenCL.Import

Pcl_device_partition_property OpenCL.Import

Pcl_device_svm_capabilities OpenCL.Import

Pcl_device_type OpenCL.Import

Pcl_double OpenCL.Platform

Pcl_event OpenCL.Import

Pcl_event_info OpenCL.Import

Pcl_filter_mode OpenCL.Import

Pcl_float OpenCL.Platform

Pcl_GLsync OpenCL.GL

Pcl_gl_context_info OpenCL.GL

Pcl_gl_object_type OpenCL.GL

Pcl_gl_platform_info OpenCL.GL

Pcl_gl_texture_info OpenCL.GL

Pcl_half OpenCL.Platform

Pcl_image_desc OpenCL.Import

Pcl_image_format OpenCL.Import

Pcl_image_info OpenCL.Import

Pcl_int OpenCL.Platform

Pcl_kernel OpenCL.Import

Pcl_kernel_arg_access_qualifier OpenCL.Import

Pcl_kernel_arg_address_qualifier OpenCL.Import

Pcl_kernel_arg_info OpenCL.Import

Pcl_kernel_arg_type_qualifier OpenCL.Import

Pcl_kernel_exec_info OpenCL.Import

Pcl_kernel_info OpenCL.Import

Pcl_kernel_sub_group_info OpenCL.Import

Pcl_kernel_work_group_info OpenCL.Import

Pcl_long OpenCL.Platform

Pcl_map_flags OpenCL.Import

Pcl_mem OpenCL.Import

Pcl_mem_flags OpenCL.Import

Pcl_mem_info OpenCL.Import

Pcl_mem_migration_flag OpenCL.Import

Pcl_mem_object_type OpenCL.Import

Pcl_pipe_info OpenCL.Import

Pcl_pipe_properties OpenCL.Import

Pcl_platform_id OpenCL.Import

Pcl_platform_info OpenCL.Import

Pcl_profiling_info OpenCL.Import

Pcl_program OpenCL.Import

Pcl_program_binary_type OpenCL.Import

Pcl_program_build_info OpenCL.Import

Pcl_program_info OpenCL.Import

Pcl_queue_properties OpenCL.Import

Pcl_sampler OpenCL.Import

Pcl_sampler_info OpenCL.Import

Pcl_sampler_properties OpenCL.Import

Pcl_short OpenCL.Platform

Pcl_svm_mem_flags OpenCL.Import

Pcl_uchar OpenCL.Platform

Pcl_uint OpenCL.Platform

Pcl_ulong OpenCL.Platform

Pcl_ushort OpenCL.Platform

PColor24 Formats.m3DSTypes

PColorF Formats.m3DSTypes

inner datatypes not followed by a '3DS' to show they are locally used (mostly as a part of another chunk or while collecting specific data)
PColr12 Formats.LWO

PColr4 Formats.LWO

PColTrackTag Formats.m3DSTypes

PCOMPVARS Formats.VFW

Structure used by ICSeqCompressFrame and ICCompressorChoose routines Make sure this matches the autodoc in icm.c!
PCUarray CUDA.Import

CUDA array
PCUcontext CUDA.Import

CUDA context
PcudaArray CUDA.Runtime

PcudaChannelFormatDesc CUDA.Runtime

+//DEVICE_BUILTIN*/
PCudaDeviceProp CUDA.Runtime

+//DEVICE_BUILTIN*/
PCUDA_ARRAY_DESCRIPTOR CUDA.Import

Array descriptor
PCUDA_MEMCPY2D CUDA.Import

2D memory copy parameters
PCUevent CUDA.Import

CUDA event
PcufftComplex CUDA.FourierTransform

PcufftDoubleComplex CUDA.FourierTransform

PcufftDoubleReal CUDA.FourierTransform

PcufftReal CUDA.FourierTransform

PCUfunction CUDA.Import

CUDA function
PCUgraphicsResource CUDA.Import

PCUmodule CUDA.Import

CUDA module
PCUstream CUDA.Import

CUDA stream
PCUtexref CUDA.Import

CUDA texture reference
Pd3Axis Physics.ODEImport

PDatabase3DS Formats.m3DSTypes

PdContact Physics.ODEImport

PdContactGeom Physics.ODEImport

PDCueSettings3DS Formats.m3DSTypes

PdFloat Physics.NewtonImport

PdFloat64 Physics.NewtonImport

PdGeomClass Physics.ODEImport

PdInteger3 Physics.ODEImport

PdIntegerArray Physics.ODEImport

PDistanceCue Formats.m3DSTypes

PDlExclude Formats.m3DSTypes

PDlInnerRange Formats.m3DSTypes

PDlLocalShadow2 Formats.m3DSTypes

PDlMultiplier Formats.m3DSTypes

PdLong Physics.NewtonImport

PDlOuterRange Formats.m3DSTypes

PDlRayBias Formats.m3DSTypes

PDlSpotAspect Formats.m3DSTypes

PDlSpotlight Formats.m3DSTypes

PDlSpotProjector Formats.m3DSTypes

PDlSpotRoll Formats.m3DSTypes

PdMass Physics.ODEImport

PdMatrix3 Physics.ODEImport

PdMatrix3_As3x4 Physics.ODEImport

PdMatrix4 Physics.ODEImport

PdMatrix6 Physics.ODEImport

PdObject Physics.ODEImport

PDoubleArray GLS.VectorGeometry

PDoubleArrayList GLS.VectorLists

PDoubleVector GLS.VectorGeometry

PdQuaternion Physics.ODEImport

array[0..3] of TdReal;
PDRAWDIBTIME Formats.VFW

– DrawDibTime() - for debugging purposes only ——————————
PdReal Physics.ODEImport

PdRealArray Physics.ODEImport

PdRealHugeArray Physics.ODEImport

PdVector3 Physics.ODEImport

Q: Why isn't TdVector3 = array[0..2] of TdReal? A: Because of SIMD alignment.
PdVector3Array Physics.ODEImport

PdVector4 Physics.ODEImport

PdxBody Physics.ODEImport

PdxGeom Physics.ODEImport

PdxHashSpace Physics.ODEImport

//currently the space 'container' is just a list of the geoms in the space. struct dxHashSpace : public dxSpace { dxGeom *first; int global_minlevel; // smallest hash table level to put AABBs in int global_maxlevel; // objects that need a level larger than this will be // put in a "big objects" list instead of a hash table void destroy(); void add (dGeomID); void remove (dGeomID); void collide (void *data, dNearCallback *callback); int query (dGeomID); };
PdxHeightfieldData Physics.ODEImport

PdxJoint Physics.ODEImport

PdxJointBall Physics.ODEImport

PdxJointGroup Physics.ODEImport

Pointers to internal ODE structures to reproduce C++ classes in Delphi
PdxJointHinge Physics.ODEImport

PdxJointHinge2 Physics.ODEImport

PdxJointLimitMotor Physics.ODEImport

PdxJointLimitMotor3 Physics.ODEImport

PdxJointNode Physics.ODEImport

PdxJointPiston Physics.ODEImport

PdxJointPR Physics.ODEImport

PdxJointSlider Physics.ODEImport

PdxJointUniversial Physics.ODEImport

PdxPosR Physics.ODEImport

position vector and rotation matrix for geometry objects that are not connected to bodies.
PdxSimpleSpace Physics.ODEImport

//simple space - reports all nˆ2 object intersections struct dxSimpleSpace : public dxSpace { dGeomID first; void destroy(); void add (dGeomID); void remove (dGeomID); void collide (void *data, dNearCallback *callback); int query (dGeomID); };
PdxSpace Physics.ODEImport

struct dxSpace : public dBase { int type; // don't want to use RTTI virtual void destroy()=0; virtual void add (dGeomID)=0; virtual void remove (dGeomID)=0; virtual void collide (void *data, dNearCallback *callback)=0; virtual int query (dGeomID)=0; };
PDXT3AlphaBlock Formats.DXTC

PDXT5AlphaBlock Formats.DXTC

PDXTColBlock Formats.DXTC

PdxTriMeshData Physics.ODEImport

PdxWorld Physics.ODEImport

PEaxBufferProperties Sounds.OpenALImport

PEaxListenerProperties Sounds.OpenALImport

PEFXEAXREVERBPROPERTIES Sounds.OpenALImport

PEFXLOWPASSFILTER Sounds.OpenALImport

PExtendedArray GLS.VectorGeometry

PExtendedVector GLS.VectorGeometry

PF4 Formats.LWO

PF4Array Formats.LWO

PFace3DS Formats.m3DSTypes

PFaceArray Formats.m3DSTypes

PFaceList Formats.m3DSTypes

PFallTrackTag Formats.m3DSTypes

PFastCollisionChecker GLS.Collision

PFColor3DS Formats.m3DSTypes

PFColorList Formats.m3DSTypes

PFloat GLS.VectorGeometry

Data types needed for 3D graphics calculation, included are 'C like' aliases for each type (to be conformal with OpenGL types)
PFloat Physics.NewtonImport

PFloat SDL2.Import

PFloatArray GLS.VectorGeometry

PFloatPercentage Formats.m3DSTypes

PFloatVector GLS.VectorGeometry

PFMusicModule Sounds.FMODtypes

PFNGLACTIVESHADERPROGRAMPROC GLS.OpenGLTokens

PFNGLACTIVESTENCILFACEEXTPROC GLS.OpenGLTokens

GL_EXT_stencil_two_side (EXT #268)
PFNGLACTIVETEXTUREARBPROC GLS.OpenGLTokens

GL_ARB_multitexture (ARB #1)
PFNGLACTIVETEXTUREPROC GLS.OpenGLTokens

deprecated; core 1.3 promoted to core v1.3 from GL_ARB_multitexture (#1)
PFNGLACTIVEVARYINGNVPROC GLS.OpenGLTokens

PFNGLADDSWAPHINTRECTWINPROC GLS.OpenGLTokens

GL_WIN_swap_hint (extension # not found)
PFNGLAREPROGRAMSRESIDENTNVPROC GLS.OpenGLTokens

GL_NV_vertex_program (EXT #233)
PFNGLARETEXTURESRESIDENTEXTPROC GLS.OpenGLTokens

PFNGLARRAYELEMENTARRAYEXTPROC GLS.OpenGLTokens

EXT/Vendor extensions Unknown Vendor/EXT functions
PFNGLATTACHOBJECTARBPROC GLS.OpenGLTokens

PFNGLATTACHSHADERPROC GLS.OpenGLTokens

promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)
PFNGLBEGINCONDITIONALRENDERNVPROC GLS.OpenGLTokens

GL_NV_conditional_render (EXT #346)
PFNGLBEGINCONDITIONALRENDERPROC GLS.OpenGLTokens

promoted to core v3.0 from GL_NV_conditional_render
PFNGLBEGINOCCLUSIONQUERYNVPROC GLS.OpenGLTokens

PFNGLBEGINQUERYARBPROC GLS.OpenGLTokens

PFNGLBEGINQUERYINDEXEDPROC GLS.OpenGLTokens

PFNGLBEGINQUERYPROC GLS.OpenGLTokens

PFNGLBEGINSCENEEXTPROC GLS.OpenGLTokens

GL_EXT_scene_marker (EXT #120)
PFNGLBEGINTRANSFORMFEEDBACKEXTPROC GLS.OpenGLTokens

PFNGLBEGINTRANSFORMFEEDBACKNVPROC GLS.OpenGLTokens

PFNGLBEGINTRANSFORMFEEDBACKPROC GLS.OpenGLTokens

PFNGLBINDATTRIBLOCATIONARBPROC GLS.OpenGLTokens

GL_ARB_vertex_shader (ARB #31)
PFNGLBINDATTRIBLOCATIONPROC GLS.OpenGLTokens

PFNGLBINDBUFFERARBPROC GLS.OpenGLTokens

GL_ARB_vertex_buffer_object (ARB #28)
PFNGLBINDBUFFERBASEEXTPROC GLS.OpenGLTokens

PFNGLBINDBUFFERBASENVPROC GLS.OpenGLTokens

PFNGLBINDBUFFERBASEPROC GLS.OpenGLTokens

PFNGLBINDBUFFEROFFSETEXTPROC GLS.OpenGLTokens

PFNGLBINDBUFFEROFFSETNVPROC GLS.OpenGLTokens

PFNGLBINDBUFFERPROC GLS.OpenGLTokens

promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)
PFNGLBINDBUFFERRANGEEXTPROC GLS.OpenGLTokens

GL_EXT_transform_feedback (EXT #352)
PFNGLBINDBUFFERRANGENVPROC GLS.OpenGLTokens

GL_NV_transform_feedback (EXT #341)
PFNGLBINDBUFFERRANGEPROC GLS.OpenGLTokens

promoted to core v3.0 from GL_EXT_transform_feedback
PFNGLBindBuffersBase GLS.OpenGLTokens

PFNGLBindBuffersRange GLS.OpenGLTokens

PFNGLBINDFRAGDATALOCATIONEXTPROC GLS.OpenGLTokens

PFNGLBINDFRAGDATALOCATIONINDEXEDPROC GLS.OpenGLTokens

GL_ARB_blend_func_extended (ARB #78)
PFNGLBINDFRAGDATALOCATIONPROC GLS.OpenGLTokens

PFNGLBINDFRAMEBUFFEREXTPROC GLS.OpenGLTokens

PFNGLBINDFRAMEBUFFERPROC GLS.OpenGLTokens

PFNGLBindImageTextures GLS.OpenGLTokens

PFNGLBINDMULTITEXTUREEXTPROC GLS.OpenGLTokens

PFNGLBINDPROGRAMARBPROC GLS.OpenGLTokens

PFNGLBINDPROGRAMNVPROC GLS.OpenGLTokens

PFNGLBINDPROGRAMPIPELINEPROC GLS.OpenGLTokens

PFNGLBINDRENDERBUFFEREXTPROC GLS.OpenGLTokens

PFNGLBINDRENDERBUFFERPROC GLS.OpenGLTokens

PFNGLBINDSAMPLERPROC GLS.OpenGLTokens

PFNGLBindSamplers GLS.OpenGLTokens

PFNGLBINDTEXTUREEXTPROC GLS.OpenGLTokens

PFNGLBindTextures GLS.OpenGLTokens

PFNGLBINDTRANSFORMFEEDBACKPROC GLS.OpenGLTokens

GL_ARB_transform_feedback2 (ARB #93)
PFNGLBINDVERTEXARRAYPROC GLS.OpenGLTokens

GL_ARB_vertex_array_object (ARB #54)
PFNGLBindVertexBuffer GLS.OpenGLTokens

GL_ARB_vertex_attrib_binding (ARB #125)
PFNGLBindVertexBuffers GLS.OpenGLTokens

PFNGLBLENDCOLOREXTPROC GLS.OpenGLTokens

GL_EXT_blend_color (EXT #2)
PFNGLBLENDCOLORPROC GLS.OpenGLTokens

====================================================================== core 1.2 promoted to core v1.2 from GL_EXT_blend_color (#2)
PFNGLBLENDEQUATIONEXTPROC GLS.OpenGLTokens

GL_EXT_blend_minmax (EXT #37)
PFNGLBLENDEQUATIONIARBPROC GLS.OpenGLTokens

GL_ARB_draw_buffers_blend (ARB #69)
PFNGLBLENDEQUATIONIPROC GLS.OpenGLTokens

Core 4.0 promoted to core v4.0 from GL_ARB_draw_buffers_blend (ARB #69)
PFNGLBLENDEQUATIONPROC GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_blend_minmax (#37)
PFNGLBLENDEQUATIONSEPARATEEXTPROC GLS.OpenGLTokens

GL_EXT_blend_equation_separate (EXT #299)
PFNGLBLENDEQUATIONSEPARATEIARBPROC GLS.OpenGLTokens

PFNGLBLENDEQUATIONSEPARATEIPROC GLS.OpenGLTokens

PFNGLBLENDEQUATIONSEPARATEPROC GLS.OpenGLTokens

core 2.0 promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)
PFNGLBLENDFUNCIARBPROC GLS.OpenGLTokens

PFNGLBLENDFUNCIPROC GLS.OpenGLTokens

PFNGLBLENDFUNCSEPARATEEXTPROC GLS.OpenGLTokens

GL_EXT_blend_func_separate (EXT #173)
PFNGLBLENDFUNCSEPARATEIARBPROC GLS.OpenGLTokens

PFNGLBLENDFUNCSEPARATEIPROC GLS.OpenGLTokens

PFNGLBLENDFUNCSEPARATEPROC GLS.OpenGLTokens

deprecated; core 1.4 promoted to core v1.4 from GL_EXT_blend_func_separate (#173)
PFNGLBLITFRAMEBUFFEREXTPROC GLS.OpenGLTokens

GL_EXT_framebuffer_blit (EXT #316)
PFNGLBLITFRAMEBUFFERPROC GLS.OpenGLTokens

PFNGLBUFFERADDRESSRANGENVPROC GLS.OpenGLTokens

GL_NV_vertex_buffer_unified_memory (EXT #380)
PFNGLBUFFERDATAARBPROC GLS.OpenGLTokens

PFNGLBUFFERDATAPROC GLS.OpenGLTokens

PFNGLBufferStorage GLS.OpenGLTokens

PFNGLBUFFERSUBDATAARBPROC GLS.OpenGLTokens

PFNGLBUFFERSUBDATAPROC GLS.OpenGLTokens

PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC GLS.OpenGLTokens

PFNGLCHECKFRAMEBUFFERSTATUSPROC GLS.OpenGLTokens

PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC GLS.OpenGLTokens

PFNGLCLAMPCOLORARBPROC GLS.OpenGLTokens

GL_ARB_color_buffer_float (ARB #39)
PFNGLCLAMPCOLORPROC GLS.OpenGLTokens

promoted to core v3.0 from GL_ARB_color_buffer_float
PFNGLClearBufferData GLS.OpenGLTokens

GL_ARB_clear_buffer_object (ARB #121)
PFNGLCLEARBUFFERFIPROC GLS.OpenGLTokens

PFNGLCLEARBUFFERFVPROC GLS.OpenGLTokens

PFNGLCLEARBUFFERIVPROC GLS.OpenGLTokens

New commands in OpenGL 3.0
PFNGLClearBufferSubData GLS.OpenGLTokens

PFNGLCLEARBUFFERUIVPROC GLS.OpenGLTokens

PFNGLCLEARCOLORIIEXTPROC GLS.OpenGLTokens

GL_EXT_texture_integer (EXT #343)
PFNGLCLEARCOLORIUIEXTPROC GLS.OpenGLTokens

PFNGLCLEARDEPTHFPROC GLS.OpenGLTokens

PFNGLClearNamedBufferData GLS.OpenGLTokens

PFNGLClearNamedBufferSubData GLS.OpenGLTokens

PFNGLClearTexImage GLS.OpenGLTokens

PFNGLClearTexSubImage GLS.OpenGLTokens

PFNGLCLIENTACTIVETEXTUREARBPROC GLS.OpenGLTokens

PFNGLCLIENTACTIVETEXTUREPROC GLS.OpenGLTokens

core 1.3 deprecated promoted to core v1.3 from GL_ARB_multitexture (#1)
PFNGLCLIENTATTRIBDEFAULTEXTPROC GLS.OpenGLTokens

GL_EXT_direct_state_access
PFNGLCLIENTWAITSYNCPROC GLS.OpenGLTokens

PFNGLCOLORFORMATNVPROC GLS.OpenGLTokens

PFNGLCOLORMASKINDEXEDEXTPROC GLS.OpenGLTokens

GL_EXT_draw_buffers2 (EXT #340)
PFNGLCOLORMASKIPROC GLS.OpenGLTokens

promoted to core v3.0 from GL_EXT_draw_buffers2
PFNGLCOLORP3UIPROC GLS.OpenGLTokens

PFNGLCOLORP3UIVPROC GLS.OpenGLTokens

PFNGLCOLORP4UIPROC GLS.OpenGLTokens

PFNGLCOLORP4UIVPROC GLS.OpenGLTokens

PFNGLCOLORSUBTABLEEXTPROC GLS.OpenGLTokens

PFNGLCOLORSUBTABLEPROC GLS.OpenGLTokens

deprecated; promoted to core v1.2 from GL_EXT_color_subtable (#74)
PFNGLCOLORTABLEEXTPROC GLS.OpenGLTokens

GL_EXT_paletted_texture (EXT #78)
PFNGLCOLORTABLEPARAMETERFVPROC GLS.OpenGLTokens

deprecated;
PFNGLCOLORTABLEPARAMETERIVPROC GLS.OpenGLTokens

deprecated;
PFNGLCOLORTABLEPROC GLS.OpenGLTokens

core 1.2 deprecated promoted to core v1.2 from GL_SGI_color_table (#14)
PFNGLCOMBINERINPUTNVPROC GLS.OpenGLTokens

PFNGLCOMBINEROUTPUTNVPROC GLS.OpenGLTokens

PFNGLCOMBINERPARAMETERFNVPROC GLS.OpenGLTokens

PFNGLCOMBINERPARAMETERFVNVPROC GLS.OpenGLTokens

GL_NV_register_combiners (EXT #191)
PFNGLCOMBINERPARAMETERINVPROC GLS.OpenGLTokens

PFNGLCOMBINERPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLCOMPILESHADERARBPROC GLS.OpenGLTokens

PFNGLCOMPILESHADERPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE1DARBPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE1DPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE2DARBPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE2DPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE3DARBPROC GLS.OpenGLTokens

GL_ARB_texture_compression (ARB #12)
PFNGLCOMPRESSEDTEXIMAGE3DPROC GLS.OpenGLTokens

promoted to core v1.3 from GL_ARB_texture_compression (#12)
PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCONVOLUTIONFILTER1DPROC GLS.OpenGLTokens

deprecated; promoted to core v1.2 from GL_EXT_convolution (#12)
PFNGLCONVOLUTIONFILTER2DPROC GLS.OpenGLTokens

deprecated;
PFNGLCONVOLUTIONPARAMETERFPROC GLS.OpenGLTokens

deprecated;
PFNGLCONVOLUTIONPARAMETERFVPROC GLS.OpenGLTokens

deprecated;
PFNGLCONVOLUTIONPARAMETERIPROC GLS.OpenGLTokens

deprecated;
PFNGLCONVOLUTIONPARAMETERIVPROC GLS.OpenGLTokens

deprecated;
PFNGLCOPYBUFFERSUBDATAPROC GLS.OpenGLTokens

GL_ARB_copy_buffer (ARB #59)
PFNGLCOPYCOLORSUBTABLEPROC GLS.OpenGLTokens

deprecated;
PFNGLCOPYCOLORTABLEPROC GLS.OpenGLTokens

deprecated;
PFNGLCOPYCONVOLUTIONFILTER1DPROC GLS.OpenGLTokens

deprecated;
PFNGLCOPYCONVOLUTIONFILTER2DPROC GLS.OpenGLTokens

deprecated;
PFNGLCopyImageSubData GLS.OpenGLTokens

GL_ARB_copy_image (ARB #123)
PFNGLCOPYIMAGESUBDATANVPROC GLS.OpenGLTokens

GL_NV_copy_image (EXT #376)
PFNGLCOPYMULTITEXIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOPYMULTITEXIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCOPYPATHNVPROC GLS.OpenGLTokens

PFNGLCOPYTEXIMAGE1DEXTPROC GLS.OpenGLTokens

GL_EXT_copy_texture (EXT #10)
PFNGLCOPYTEXIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE3DPROC GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_copy_texture
PFNGLCOPYTEXTUREIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXTUREIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLCOVERFILLPATHINSTANCEDNVPROC GLS.OpenGLTokens

PFNGLCOVERFILLPATHNVPROC GLS.OpenGLTokens

PFNGLCOVERSTROKEPATHINSTANCEDNVPROC GLS.OpenGLTokens

PFNGLCOVERSTROKEPATHNVPROC GLS.OpenGLTokens

PFNGLCREATEPROGRAMOBJECTARBPROC GLS.OpenGLTokens

PFNGLCREATEPROGRAMPROC GLS.OpenGLTokens

PFNGLCREATESHADEROBJECTARBPROC GLS.OpenGLTokens

PFNGLCREATESHADERPROC GLS.OpenGLTokens

PFNGLCREATESHADERPROGRAMVPROC GLS.OpenGLTokens

PFNGLCreateSyncFromCLevent GLS.OpenGLTokens

GL_ARB_robustness_isolation (ARB #126) (no entry points) GL_ARB_cl_event (ARB #103)
PFNGLCURRENTPALETTEMATRIXARBPROC GLS.OpenGLTokens

GL_ARB_matrix_palette (ARB #16) {deprecated?}
PFNGLDEBUGMESSAGECALLBACKARBPROC GLS.OpenGLTokens

PFNGLDEBUGMESSAGECONTROLARBPROC GLS.OpenGLTokens

GL_ARB_debug_output (ARB #104)
PFNGLDEBUGMESSAGEINSERTARBPROC GLS.OpenGLTokens

PFNGLDELETEBUFFERSARBPROC GLS.OpenGLTokens

PFNGLDELETEBUFFERSPROC GLS.OpenGLTokens

PFNGLDELETEFENCESNVPROC GLS.OpenGLTokens

PFNGLDELETEFRAMEBUFFERSEXTPROC GLS.OpenGLTokens

PFNGLDELETEFRAMEBUFFERSPROC GLS.OpenGLTokens

PFNGLDELETEOBJECTARBPROC GLS.OpenGLTokens

GL_ARB_shader_objects (ARB #30)
PFNGLDELETEOCCLUSIONQUERIESNVPROC GLS.OpenGLTokens

PFNGLDELETEPATHSNVPROC GLS.OpenGLTokens

PFNGLDELETEPROGRAMPIPELINESPROC GLS.OpenGLTokens

PFNGLDELETEPROGRAMPROC GLS.OpenGLTokens

PFNGLDELETEPROGRAMSARBPROC GLS.OpenGLTokens

PFNGLDELETEPROGRAMSNVPROC GLS.OpenGLTokens

PFNGLDELETEQUERIESARBPROC GLS.OpenGLTokens

PFNGLDELETEQUERIESPROC GLS.OpenGLTokens

PFNGLDELETERENDERBUFFERSEXTPROC GLS.OpenGLTokens

PFNGLDELETERENDERBUFFERSPROC GLS.OpenGLTokens

PFNGLDELETESAMPLERSPROC GLS.OpenGLTokens

PFNGLDELETESHADERPROC GLS.OpenGLTokens

PFNGLDELETESYNCPROC GLS.OpenGLTokens

PFNGLDELETETEXTURESEXTPROC GLS.OpenGLTokens

PFNGLDELETETRANSFORMFEEDBACKSPROC GLS.OpenGLTokens

PFNGLDELETEVERTEXARRAYSPROC GLS.OpenGLTokens

PFNGLDEPTHBOUNDSEXTPROC GLS.OpenGLTokens

GL_EXT_depth_bounds_test (EXT #297)
PFNGLDEPTHRANGEARRAYVPROC GLS.OpenGLTokens

PFNGLDEPTHRANGEFPROC GLS.OpenGLTokens

PFNGLDEPTHRANGEINDEXEDPROC GLS.OpenGLTokens

PFNGLDETACHOBJECTARBPROC GLS.OpenGLTokens

PFNGLDETACHSHADERPROC GLS.OpenGLTokens

PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC GLS.OpenGLTokens

PFNGLDISABLEINDEXEDEXTPROC GLS.OpenGLTokens

PFNGLDISABLEIPROC GLS.OpenGLTokens

PFNGLDISABLEVERTEXATTRIBARRAYARBPROC GLS.OpenGLTokens

PFNGLDISABLEVERTEXATTRIBARRAYPROC GLS.OpenGLTokens

PFNGLDispatchCompute GLS.OpenGLTokens

GL_ARB_compute_shader (ARB #122)
PFNGLDispatchComputeIndirect GLS.OpenGLTokens

PFNGLDRAWARRAYSINDIRECTPROC GLS.OpenGLTokens

GL_ARB_draw_indirect (ARB #87)
PFNGLDRAWARRAYSINSTANCEDARBPROC GLS.OpenGLTokens

GL_ARB_draw_instanced (ARB #44)
PFNGLDRAWARRAYSINSTANCEDEXTPROC GLS.OpenGLTokens

GL_EXT_draw_instanced (EXT #327)
PFNGLDRAWARRAYSINSTANCEDPROC GLS.OpenGLTokens

Core 3.1 New commands in OpenGL 3.1
PFNGLDRAWBUFFERSARBPROC GLS.OpenGLTokens

GL_ARB_DrawBuffers (ARB #37)
PFNGLDRAWBUFFERSATIPROC GLS.OpenGLTokens

GL_ATI_draw_buffers (EXT #277)
PFNGLDRAWBUFFERSPROC GLS.OpenGLTokens

promoted to core v2.0 from GL_ARB_draw_buffers (#37)
PFNGLDRAWELEMENTSBASEVERTEXPROC GLS.OpenGLTokens

GL_ARB_draw_elements_base_vertex (ARB #62)
PFNGLDRAWELEMENTSINDIRECTPROC GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDARBPROC GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDEXTPROC GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDPROC GLS.OpenGLTokens

PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC GLS.OpenGLTokens

PFNGLDRAWRANGEELEMENTSEXTPROC GLS.OpenGLTokens

GL_EXT_draw_range_elements (EXT #112)
PFNGLDRAWRANGEELEMENTSPROC GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_draw_range_elements (#112)
PFNGLDRAWTRANSFORMFEEDBACKPROC GLS.OpenGLTokens

PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC GLS.OpenGLTokens

GL_ARB_transform_feedback3 (ARB #94)
PFNGLEDGEFLAGFORMATNVPROC GLS.OpenGLTokens

PFNGLENABLECLIENTSTATEINDEXEDEXTPROC GLS.OpenGLTokens

PFNGLENABLEINDEXEDEXTPROC GLS.OpenGLTokens

PFNGLENABLEIPROC GLS.OpenGLTokens

PFNGLENABLEVERTEXATTRIBARRAYARBPROC GLS.OpenGLTokens

PFNGLENABLEVERTEXATTRIBARRAYPROC GLS.OpenGLTokens

PFNGLENDCONDITIONALRENDERNVPROC GLS.OpenGLTokens

PFNGLENDCONDITIONALRENDERPROC GLS.OpenGLTokens

PFNGLENDOCCLUSIONQUERYNVPROC GLS.OpenGLTokens

PFNGLENDQUERYARBPROC GLS.OpenGLTokens

PFNGLENDQUERYINDEXEDPROC GLS.OpenGLTokens

PFNGLENDQUERYPROC GLS.OpenGLTokens

PFNGLENDSCENEEXTPROC GLS.OpenGLTokens

PFNGLENDTRANSFORMFEEDBACKEXTPROC GLS.OpenGLTokens

PFNGLENDTRANSFORMFEEDBACKNVPROC GLS.OpenGLTokens

PFNGLENDTRANSFORMFEEDBACKPROC GLS.OpenGLTokens

PFNGLEXECUTEPROGRAMNVPROC GLS.OpenGLTokens

PFNGLFENCESYNCPROC GLS.OpenGLTokens

GL_ARB_sync (ARB #66)
PFNGLFINALCOMBINERINPUTNVPROC GLS.OpenGLTokens

PFNGLFINISHFENCENVPROC GLS.OpenGLTokens

PFNGLFLUSHMAPPEDBUFFERRANGEPROC GLS.OpenGLTokens

PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC GLS.OpenGLTokens

PFNGLFLUSHVERTEXARRAYRANGENVPROC GLS.OpenGLTokens

GL_NV_vertex_array_range (EXT #190)
PFNGLFOGCOORDDEXTPROC GLS.OpenGLTokens

PFNGLFOGCOORDDPROC GLS.OpenGLTokens

deprecated;
PFNGLFOGCOORDDVEXTPROC GLS.OpenGLTokens

PFNGLFOGCOORDDVPROC GLS.OpenGLTokens

deprecated;
PFNGLFOGCOORDFEXTPROC GLS.OpenGLTokens

GL_EXT_fog_coord (EXT #149)
PFNGLFOGCOORDFORMATNVPROC GLS.OpenGLTokens

PFNGLFOGCOORDFPROC GLS.OpenGLTokens

core 1.4 deprecated promoted to core v1.4 from GL_EXT_fog_coord (#149)
PFNGLFOGCOORDFVEXTPROC GLS.OpenGLTokens

PFNGLFOGCOORDFVPROC GLS.OpenGLTokens

deprecated;
PFNGLFOGCOORDPOINTEREXTPROC GLS.OpenGLTokens

PFNGLFOGCOORDPOINTERPROC GLS.OpenGLTokens

deprecated;
PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC GLS.OpenGLTokens

PFNGLFramebufferParameteri GLS.OpenGLTokens

GL_ARB_debug_group ARB_debug_group reuses entry points from KHR_debug GL_ARB_debug_label ARB_debug_label reuses entry points from KHR_debug GL_ARB_debug_output2 GL_ARB_ES3_compatibility GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments (ARB #130)
PFNGLFRAMEBUFFERREADBUFFEREXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERRENDERBUFFERPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE1DEXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE1DPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE2DEXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE2DPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE3DEXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE3DPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREARBPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREEXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREFACEARBPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURELAYERARBPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURELAYERPROC GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREPROC GLS.OpenGLTokens

PFNGLFRAMETERMINATORGREMEDYPROC GLS.OpenGLTokens

GL_GREMEDY_frame_terminator (EXT #345)
PFNGLGENBUFFERSARBPROC GLS.OpenGLTokens

PFNGLGENBUFFERSPROC GLS.OpenGLTokens

PFNGLGENERATEMIPMAPEXTPROC GLS.OpenGLTokens

PFNGLGENERATEMIPMAPPROC GLS.OpenGLTokens

PFNGLGENERATEMULTITEXMIPMAPEXTPROC GLS.OpenGLTokens

PFNGLGENERATETEXTUREMIPMAPEXTPROC GLS.OpenGLTokens

PFNGLGENFENCESNVPROC GLS.OpenGLTokens

GL_NV_fence (EXT #222)
PFNGLGENFRAMEBUFFERSEXTPROC GLS.OpenGLTokens

PFNGLGENFRAMEBUFFERSPROC GLS.OpenGLTokens

PFNGLGENOCCLUSIONQUERIESNVPROC GLS.OpenGLTokens

GL_NV_occlusion_query (EXT #261)
PFNGLGENPATHSNVPROC GLS.OpenGLTokens

GL_NV_path_rendering
PFNGLGENPROGRAMPIPELINESPROC GLS.OpenGLTokens

PFNGLGENPROGRAMSARBPROC GLS.OpenGLTokens

PFNGLGENPROGRAMSNVPROC GLS.OpenGLTokens

PFNGLGENQUERIESARBPROC GLS.OpenGLTokens

GL_ARB_occlusion_query (ARB #29)
PFNGLGENQUERIESPROC GLS.OpenGLTokens

deprecated; core 1.5 promoted to core v1.5 from GL_ARB_occlusion_query (#29)
PFNGLGENRENDERBUFFERSEXTPROC GLS.OpenGLTokens

PFNGLGENRENDERBUFFERSPROC GLS.OpenGLTokens

PFNGLGENSAMPLERSPROC GLS.OpenGLTokens

GL_ARB_sampler_objects (ARB #81)
PFNGLGENTEXTURESEXTPROC GLS.OpenGLTokens

GL_EXT_texture_object (EXT #20)
PFNGLGENTRANSFORMFEEDBACKSPROC GLS.OpenGLTokens

PFNGLGENVERTEXARRAYSPROC GLS.OpenGLTokens

PFNGLGETACTIVEATTRIBARBPROC GLS.OpenGLTokens

PFNGLGETACTIVEATTRIBPROC GLS.OpenGLTokens

PFNGLGETACTIVESUBROUTINENAMEPROC GLS.OpenGLTokens

PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC GLS.OpenGLTokens

PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMARBPROC GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMBLOCKIVPROC GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMNAMEPROC GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMPROC GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMSIVPROC GLS.OpenGLTokens

PFNGLGETACTIVEVARYINGNVPROC GLS.OpenGLTokens

PFNGLGETATTACHEDOBJECTSARBPROC GLS.OpenGLTokens

PFNGLGETATTACHEDSHADERSPROC GLS.OpenGLTokens

PFNGLGETATTRIBLOCATIONARBPROC GLS.OpenGLTokens

PFNGLGETATTRIBLOCATIONPROC GLS.OpenGLTokens

PFNGLGETBOOLEANINDEXEDVEXTPROC GLS.OpenGLTokens

PFNGLGETBOOLEANI_VPROC GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERI64VPROC GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERIVARBPROC GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERIVPROC GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERUI64VNVPROC GLS.OpenGLTokens

PFNGLGETBUFFERPOINTERVARBPROC GLS.OpenGLTokens

PFNGLGETBUFFERPOINTERVPROC GLS.OpenGLTokens

PFNGLGETBUFFERSUBDATAARBPROC GLS.OpenGLTokens

PFNGLGETBUFFERSUBDATAPROC GLS.OpenGLTokens

PFNGLGETCOLORTABLEEXTPROC GLS.OpenGLTokens

PFNGLGETCOLORTABLEPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLGETCOLORTABLEPARAMETERFVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETCOLORTABLEPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETCOLORTABLEPARAMETERIVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETCOLORTABLEPROC GLS.OpenGLTokens

deprecated;
PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC GLS.OpenGLTokens

PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC GLS.OpenGLTokens

PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC GLS.OpenGLTokens

PFNGLGETCOMPRESSEDTEXIMAGEARBPROC GLS.OpenGLTokens

PFNGLGETCOMPRESSEDTEXIMAGEPROC GLS.OpenGLTokens

PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC GLS.OpenGLTokens

PFNGLGETCONVOLUTIONFILTERPROC GLS.OpenGLTokens

deprecated;
PFNGLGETCONVOLUTIONPARAMETERFVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETCONVOLUTIONPARAMETERIVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETDEBUGMESSAGELOGARBPROC GLS.OpenGLTokens

PFNGLGETDOUBLEINDEXEDVEXTPROC GLS.OpenGLTokens

PFNGLGETDOUBLEI_VPROC GLS.OpenGLTokens

PFNGLGETFENCEIVNVPROC GLS.OpenGLTokens

PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC GLS.OpenGLTokens

PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLGETFLOATINDEXEDVEXTPROC GLS.OpenGLTokens

PFNGLGETFLOATI_VPROC GLS.OpenGLTokens

PFNGLGETFRAGDATAINDEXPROC GLS.OpenGLTokens

PFNGLGETFRAGDATALOCATIONEXTPROC GLS.OpenGLTokens

PFNGLGETFRAGDATALOCATIONPROC GLS.OpenGLTokens

PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GLS.OpenGLTokens

PFNGLGetFramebufferParameteriv GLS.OpenGLTokens

PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETGRAPHICSRESETSTATUSARBPROC GLS.OpenGLTokens

GL_ARB_robustness (ARB #105)
PFNGLGETHANDLEARBPROC GLS.OpenGLTokens

PFNGLGETHISTOGRAMPARAMETERFVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETHISTOGRAMPARAMETERIVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETHISTOGRAMPROC GLS.OpenGLTokens

deprecated; promoted to core v1.2 from GL_EXT_histogram (#11)
PFNGLGETINFOLOGARBPROC GLS.OpenGLTokens

PFNGLGETINTEGER64I_VPROC GLS.OpenGLTokens

Core 3.2
PFNGLGETINTEGER64VPROC GLS.OpenGLTokens

PFNGLGETINTEGERINDEXEDVEXTPROC GLS.OpenGLTokens

PFNGLGETINTEGERI_VPROC GLS.OpenGLTokens

PFNGLGETINTEGERUI64I_VNVPROC GLS.OpenGLTokens

PFNGLGETINTEGERUI64VNVPROC GLS.OpenGLTokens

PFNGLGetInternalformati64v GLS.OpenGLTokens

GL_ARB_internalformat_query2 (ARB #131)
PFNGLGETMINMAXPARAMETERFVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETMINMAXPARAMETERIVPROC GLS.OpenGLTokens

deprecated;
PFNGLGETMINMAXPROC GLS.OpenGLTokens

deprecated;
PFNGLGETMULTISAMPLEFVPROC GLS.OpenGLTokens

PFNGLGETMULTITEXENVFVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXENVIVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXGENDVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXGENFVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXGENIVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXIMAGEEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERPOINTERVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERSUBDATAEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGetNamedFramebufferParameteriv GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMIVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMSTRINGEXTPROC GLS.OpenGLTokens

PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETNCOLORTABLEARBPROC GLS.OpenGLTokens

PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC GLS.OpenGLTokens

PFNGLGETNCONVOLUTIONFILTERARBPROC GLS.OpenGLTokens

PFNGLGETNHISTOGRAMARBPROC GLS.OpenGLTokens

PFNGLGETNMAPDVARBPROC GLS.OpenGLTokens

PFNGLGETNMAPFVARBPROC GLS.OpenGLTokens

PFNGLGETNMAPIVARBPROC GLS.OpenGLTokens

PFNGLGETNMINMAXARBPROC GLS.OpenGLTokens

PFNGLGETNPIXELMAPFVARBPROC GLS.OpenGLTokens

PFNGLGETNPIXELMAPUIVARBPROC GLS.OpenGLTokens

PFNGLGETNPIXELMAPUSVARBPROC GLS.OpenGLTokens

PFNGLGETNPOLYGONSTIPPLEARBPROC GLS.OpenGLTokens

PFNGLGETNSEPARABLEFILTERARBPROC GLS.OpenGLTokens

PFNGLGETNTEXIMAGEARBPROC GLS.OpenGLTokens

PFNGLGETNUNIFORMDVARBPROC GLS.OpenGLTokens

PFNGLGETNUNIFORMFVARBPROC GLS.OpenGLTokens

PFNGLGETNUNIFORMIVARBPROC GLS.OpenGLTokens

PFNGLGETNUNIFORMUIVARBPROC GLS.OpenGLTokens

PFNGLGetObjectLabel GLS.OpenGLTokens

PFNGLGETOBJECTPARAMETERFVARBPROC GLS.OpenGLTokens

PFNGLGETOBJECTPARAMETERIVARBPROC GLS.OpenGLTokens

PFNGLGetObjectPtrLabel GLS.OpenGLTokens

PFNGLGETOCCLUSIONQUERYIVNVPROC GLS.OpenGLTokens

PFNGLGETOCCLUSIONQUERYUIVNVPROC GLS.OpenGLTokens

PFNGLGETPATHCOLORGENFVNVPROC GLS.OpenGLTokens

PFNGLGETPATHCOLORGENIVNVPROC GLS.OpenGLTokens

PFNGLGETPATHCOMMANDSNVPROC GLS.OpenGLTokens

PFNGLGETPATHCOORDSNVPROC GLS.OpenGLTokens

PFNGLGETPATHDASHARRAYNVPROC GLS.OpenGLTokens

PFNGLGETPATHLENGTHNVPROC GLS.OpenGLTokens

PFNGLGETPATHMETRICRANGENVPROC GLS.OpenGLTokens

PFNGLGETPATHMETRICSNVPROC GLS.OpenGLTokens

PFNGLGETPATHPARAMETERFVNVPROC GLS.OpenGLTokens

PFNGLGETPATHPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLGETPATHSPACINGNVPROC GLS.OpenGLTokens

PFNGLGETPATHTEXGENFVNVPROC GLS.OpenGLTokens

PFNGLGETPATHTEXGENIVNVPROC GLS.OpenGLTokens

PFNGLGETPOINTERINDEXEDVEXTPROC GLS.OpenGLTokens

PFNGLGETPROGRAMBINARYPROC GLS.OpenGLTokens

GL_ARB_get_program_binary (ARB #96)
PFNGLGETPROGRAMENVPARAMETERDVARBPROC GLS.OpenGLTokens

PFNGLGETPROGRAMENVPARAMETERFVARBPROC GLS.OpenGLTokens

PFNGLGETPROGRAMINFOLOGPROC GLS.OpenGLTokens

PFNGLGetProgramInterfaceiv GLS.OpenGLTokens

GL_ARB_program_interface_query (ARB #134)
PFNGLGETPROGRAMIVARBPROC GLS.OpenGLTokens

PFNGLGETPROGRAMIVNVPROC GLS.OpenGLTokens

PFNGLGETPROGRAMIVPROC GLS.OpenGLTokens

PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC GLS.OpenGLTokens

PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC GLS.OpenGLTokens

PFNGLGETPROGRAMPARAMETERDVNVPROC GLS.OpenGLTokens

PFNGLGETPROGRAMPARAMETERFVNVPROC GLS.OpenGLTokens

PFNGLGETPROGRAMPIPELINEINFOLOGPROC GLS.OpenGLTokens

PFNGLGETPROGRAMPIPELINEIVPROC GLS.OpenGLTokens

PFNGLGetProgramResourceIndex GLS.OpenGLTokens

PFNGLGetProgramResourceiv GLS.OpenGLTokens

PFNGLGetProgramResourceLocation GLS.OpenGLTokens

PFNGLGetProgramResourceLocationIndex GLS.OpenGLTokens

PFNGLGetProgramResourceName GLS.OpenGLTokens

PFNGLGETPROGRAMSTAGEIVPROC GLS.OpenGLTokens

PFNGLGETPROGRAMSTRINGARBPROC GLS.OpenGLTokens

PFNGLGETPROGRAMSTRINGNVPROC GLS.OpenGLTokens

PFNGLGETQUERYINDEXEDIVPROC GLS.OpenGLTokens

PFNGLGETQUERYIVARBPROC GLS.OpenGLTokens

PFNGLGETQUERYIVPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTI64VEXTPROC GLS.OpenGLTokens

GL_EXT_timer_query (EXT #319)
PFNGLGETQUERYOBJECTI64VPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTIVARBPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTIVPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUI64VEXTPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUI64VPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUIVARBPROC GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUIVPROC GLS.OpenGLTokens

PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETRENDERBUFFERPARAMETERIVPROC GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERFVPROC GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERIFVPROC GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERIIVPROC GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERIVPROC GLS.OpenGLTokens

PFNGLGETSEPARABLEFILTERPROC GLS.OpenGLTokens

deprecated;
PFNGLGETSHADERINFOLOGPROC GLS.OpenGLTokens

PFNGLGETSHADERIVPROC GLS.OpenGLTokens

PFNGLGETSHADERPRECISIONFORMATPROC GLS.OpenGLTokens

PFNGLGETSHADERSOURCEARBPROC GLS.OpenGLTokens

PFNGLGETSHADERSOURCEPROC GLS.OpenGLTokens

PFNGLGETSTRINGIPROC GLS.OpenGLTokens

PFNGLGETSUBROUTINEINDEXPROC GLS.OpenGLTokens

PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC GLS.OpenGLTokens

GL_ARB_shader_subroutine (ARB #90)
PFNGLGETSYNCIVPROC GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIIVPROC GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIUIVPROC GLS.OpenGLTokens

PFNGLGETTEXTUREIMAGEEXTPROC GLS.OpenGLTokens

PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLGETTRACKMATRIXIVNVPROC GLS.OpenGLTokens

PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC GLS.OpenGLTokens

PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC GLS.OpenGLTokens

PFNGLGETTRANSFORMFEEDBACKVARYINGPROC GLS.OpenGLTokens

PFNGLGETUNIFORMBLOCKINDEXPROC GLS.OpenGLTokens

PFNGLGETUNIFORMBUFFERSIZEEXTPROC GLS.OpenGLTokens

PFNGLGETUNIFORMDVPROC GLS.OpenGLTokens

PFNGLGETUNIFORMFVARBPROC GLS.OpenGLTokens

PFNGLGETUNIFORMFVPROC GLS.OpenGLTokens

PFNGLGETUNIFORMINDICESPROC GLS.OpenGLTokens

GL_ARB_uniform_buffer_object (ARB #57)
PFNGLGETUNIFORMIVARBPROC GLS.OpenGLTokens

PFNGLGETUNIFORMIVPROC GLS.OpenGLTokens

PFNGLGETUNIFORMLOCATIONARBPROC GLS.OpenGLTokens

PFNGLGETUNIFORMLOCATIONPROC GLS.OpenGLTokens

PFNGLGETUNIFORMOFFSETEXTPROC GLS.OpenGLTokens

PFNGLGETUNIFORMSUBROUTINEUIVPROC GLS.OpenGLTokens

PFNGLGETUNIFORMUI64VNVPROC GLS.OpenGLTokens

PFNGLGETUNIFORMUIVEXTPROC GLS.OpenGLTokens

PFNGLGETUNIFORMUIVPROC GLS.OpenGLTokens

PFNGLGETVARYINGLOCATIONNVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBDVARBPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBDVNVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBDVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBFVARBPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBFVNVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBFVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIIVEXTPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIIVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIUIVEXTPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIUIVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIVARBPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIVNVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBLDVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBPOINTERVARBPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBPOINTERVNVPROC GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBPOINTERVPROC GLS.OpenGLTokens

PFNGLHISTOGRAMPROC GLS.OpenGLTokens

deprecated;
PFNGLINDEXFORMATNVPROC GLS.OpenGLTokens

PFNGLINDEXFUNCEXTPROC GLS.OpenGLTokens

GL_EXT_index_func (EXT #95)
PFNGLINDEXMATERIALEXTPROC GLS.OpenGLTokens

glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall; glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall; GL_EXT_index_material (EXT #94)
PFNGLINTERPOLATEPATHSNVPROC GLS.OpenGLTokens

PFNGLInvalidateBufferData GLS.OpenGLTokens

PFNGLInvalidateBufferSubData GLS.OpenGLTokens

PFNGLInvalidateFramebuffer GLS.OpenGLTokens

PFNGLInvalidateSubFramebuffer GLS.OpenGLTokens

PFNGLInvalidateTexImage GLS.OpenGLTokens

PFNGLInvalidateTexSubImage GLS.OpenGLTokens

GL_ARB_invalidate_subdata (ARB #132)
PFNGLISBUFFERARBPROC GLS.OpenGLTokens

PFNGLISBUFFERPROC GLS.OpenGLTokens

PFNGLISBUFFERRESIDENTNVPROC GLS.OpenGLTokens

PFNGLISENABLEDINDEXEDEXTPROC GLS.OpenGLTokens

PFNGLISENABLEDIPROC GLS.OpenGLTokens

PFNGLISFENCENVPROC GLS.OpenGLTokens

PFNGLISFRAMEBUFFEREXTPROC GLS.OpenGLTokens

PFNGLISFRAMEBUFFERPROC GLS.OpenGLTokens

PFNGLISNAMEDBUFFERRESIDENTNVPROC GLS.OpenGLTokens

PFNGLISOCCLUSIONQUERYNVPROC GLS.OpenGLTokens

PFNGLISPATHNVPROC GLS.OpenGLTokens

PFNGLISPOINTINFILLPATHNVPROC GLS.OpenGLTokens

PFNGLISPOINTINSTROKEPATHNVPROC GLS.OpenGLTokens

PFNGLISPROGRAMARBPROC GLS.OpenGLTokens

PFNGLISPROGRAMNVPROC GLS.OpenGLTokens

PFNGLISPROGRAMPIPELINEPROC GLS.OpenGLTokens

PFNGLISPROGRAMPROC GLS.OpenGLTokens

PFNGLISQUERYARBPROC GLS.OpenGLTokens

PFNGLISQUERYPROC GLS.OpenGLTokens

PFNGLISRENDERBUFFEREXTPROC GLS.OpenGLTokens

GL_EXT_framebuffer_object (EXT #310)
PFNGLISRENDERBUFFERPROC GLS.OpenGLTokens

GL_ARB_framebuffer_object (ARB #45)
PFNGLISSAMPLERPROC GLS.OpenGLTokens

PFNGLISSHADERPROC GLS.OpenGLTokens

PFNGLISSYNCPROC GLS.OpenGLTokens

PFNGLISTEXTUREEXTPROC GLS.OpenGLTokens

PFNGLISTRANSFORMFEEDBACKPROC GLS.OpenGLTokens

PFNGLISVERTEXARRAYPROC GLS.OpenGLTokens

PFNGLLINKPROGRAMARBPROC GLS.OpenGLTokens

PFNGLLINKPROGRAMPROC GLS.OpenGLTokens

PFNGLLOADPROGRAMNVPROC GLS.OpenGLTokens

PFNGLLOADTRANSPOSEMATRIXDARBPROC GLS.OpenGLTokens

PFNGLLOADTRANSPOSEMATRIXDPROC GLS.OpenGLTokens

deprecated;
PFNGLLOADTRANSPOSEMATRIXFARBPROC GLS.OpenGLTokens

GL_ARB_transpose_matrix (ARB #3)
PFNGLLOADTRANSPOSEMATRIXFPROC GLS.OpenGLTokens

deprecated; promoted to core v1.3 from GL_ARB_transpose_matrix
PFNGLLOCKARRAYSEXTPROC GLS.OpenGLTokens

GL_EXT_compiled_vertex_array (EXT #97)
PFNGLMAKEBUFFERNONRESIDENTNVPROC GLS.OpenGLTokens

PFNGLMAKEBUFFERRESIDENTNVPROC GLS.OpenGLTokens

GL_NV_shader_buffer_load (EXT #379)
PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC GLS.OpenGLTokens

PFNGLMAKENAMEDBUFFERRESIDENTNVPROC GLS.OpenGLTokens

PFNGLMAPBUFFERARBPROC GLS.OpenGLTokens

PFNGLMAPBUFFERPROC GLS.OpenGLTokens

PFNGLMAPBUFFERRANGEPROC GLS.OpenGLTokens

GL_ARB_map_buffer_range (ARB #50)
PFNGLMAPNAMEDBUFFEREXTPROC GLS.OpenGLTokens

PFNGLMAPNAMEDBUFFERRANGEEXTPROC GLS.OpenGLTokens

PFNGLMATRIXFRUSTUMEXTPROC GLS.OpenGLTokens

PFNGLMATRIXINDEXPOINTERARBPROC GLS.OpenGLTokens

PFNGLMATRIXINDEXUBVARBPROC GLS.OpenGLTokens

PFNGLMATRIXINDEXUIVARBPROC GLS.OpenGLTokens

PFNGLMATRIXINDEXUSVARBPROC GLS.OpenGLTokens

PFNGLMATRIXLOADDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXLOADFEXTPROC GLS.OpenGLTokens

PFNGLMATRIXLOADIDENTITYEXTPROC GLS.OpenGLTokens

PFNGLMATRIXLOADTRANSPOSEDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXLOADTRANSPOSEFEXTPROC GLS.OpenGLTokens

PFNGLMATRIXMULTDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXMULTFEXTPROC GLS.OpenGLTokens

PFNGLMATRIXMULTTRANSPOSEDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXMULTTRANSPOSEFEXTPROC GLS.OpenGLTokens

PFNGLMATRIXORTHOEXTPROC GLS.OpenGLTokens

PFNGLMATRIXPOPEXTPROC GLS.OpenGLTokens

PFNGLMATRIXPUSHEXTPROC GLS.OpenGLTokens

PFNGLMATRIXROTATEDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXROTATEFEXTPROC GLS.OpenGLTokens

PFNGLMATRIXSCALEDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXSCALEFEXTPROC GLS.OpenGLTokens

PFNGLMATRIXTRANSLATEDEXTPROC GLS.OpenGLTokens

PFNGLMATRIXTRANSLATEFEXTPROC GLS.OpenGLTokens

PFNGLMINMAXPROC GLS.OpenGLTokens

deprecated;
PFNGLMINSAMPLESHADINGARBPROC GLS.OpenGLTokens

GL_ARB_sample_shading (ARB #70)
PFNGLMINSAMPLESHADINGPROC GLS.OpenGLTokens

promoted to core v4.0 from GL_ARB_sample_shading (ARB #70)
PFNGLMULTIDRAWARRAYSEXTPROC GLS.OpenGLTokens

GL_EXT_multi_draw_arrays (EXT #148)
PFNGLMultiDrawArraysIndirect GLS.OpenGLTokens

GL_ARB_multi_draw_indirect (ARB #133)
PFNGLMULTIDRAWARRAYSPROC GLS.OpenGLTokens

promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC GLS.OpenGLTokens

PFNGLMULTIDRAWELEMENTSEXTPROC GLS.OpenGLTokens

PFNGLMultiDrawElementsIndirect GLS.OpenGLTokens

PFNGLMULTIDRAWELEMENTSPROC GLS.OpenGLTokens

PFNGLMULTITEXBUFFEREXTPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1DARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1DPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1DVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1DVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1FARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1FPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1FVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1FVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1IARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1IPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1IVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1IVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1SARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1SPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD1SVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD1SVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2DARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2DPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2DVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2DVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2FARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2FPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2FVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2FVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2IARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2IPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2IVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2IVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2SARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2SPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD2SVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD2SVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3DARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3DPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3DVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3DVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3FARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3FPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3FVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3FVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3IARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3IPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3IVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3IVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3SARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3SPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD3SVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD3SVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4DARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4DPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4DVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4DVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4FARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4FPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4FVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4FVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4IARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4IPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4IVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4IVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4SARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4SPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORD4SVARBPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORD4SVPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTITEXCOORDP1UIPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP1UIVPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP2UIPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP2UIVPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP3UIPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP3UIVPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP4UIPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDP4UIVPROC GLS.OpenGLTokens

PFNGLMULTITEXCOORDPOINTEREXTPROC GLS.OpenGLTokens

PFNGLMULTITEXENVFEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXENVFVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXENVIEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXENVIVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXGENDEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXGENDVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXGENFEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXGENFVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXGENIEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXGENIVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERFEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXRENDERBUFFEREXTPROC GLS.OpenGLTokens

PFNGLMULTITEXSUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXSUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLMULTITEXSUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLMULTTRANSPOSEMATRIXDARBPROC GLS.OpenGLTokens

PFNGLMULTTRANSPOSEMATRIXDPROC GLS.OpenGLTokens

deprecated;
PFNGLMULTTRANSPOSEMATRIXFARBPROC GLS.OpenGLTokens

PFNGLMULTTRANSPOSEMATRIXFPROC GLS.OpenGLTokens

deprecated;
PFNGLNAMEDBUFFERDATAEXTPROC GLS.OpenGLTokens

PFNGLNAMEDBUFFERSUBDATAEXTPROC GLS.OpenGLTokens

PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC GLS.OpenGLTokens

PFNGLNamedFramebufferParameteri GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC GLS.OpenGLTokens

PFNGLNAMEDPROGRAMSTRINGEXTPROC GLS.OpenGLTokens

PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC GLS.OpenGLTokens

PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC GLS.OpenGLTokens

PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC GLS.OpenGLTokens

PFNGLNORMALFORMATNVPROC GLS.OpenGLTokens

PFNGLNORMALP3UIPROC GLS.OpenGLTokens

PFNGLNORMALP3UIVPROC GLS.OpenGLTokens

PFNGLObjectLabel GLS.OpenGLTokens

PFNGLObjectPtrLabel GLS.OpenGLTokens

PFNGLPATCHPARAMETERFVPROC GLS.OpenGLTokens

PFNGLPATCHPARAMETERIPROC GLS.OpenGLTokens

GL_ARB_tessellation_shader (ARB #91)
PFNGLPATHCOLORGENNVPROC GLS.OpenGLTokens

PFNGLPATHCOMMANDSNVPROC GLS.OpenGLTokens

PFNGLPATHCOORDSNVPROC GLS.OpenGLTokens

PFNGLPATHCOVERDEPTHFUNCNVPROC GLS.OpenGLTokens

PFNGLPATHDASHARRAYNVPROC GLS.OpenGLTokens

PFNGLPATHFOGGENNVPROC GLS.OpenGLTokens

PFNGLPATHGLYPHRANGENVPROC GLS.OpenGLTokens

PFNGLPATHGLYPHSNVPROC GLS.OpenGLTokens

PFNGLPATHPARAMETERFNVPROC GLS.OpenGLTokens

PFNGLPATHPARAMETERFVNVPROC GLS.OpenGLTokens

PFNGLPATHPARAMETERINVPROC GLS.OpenGLTokens

PFNGLPATHPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLPATHSTENCILDEPTHOFFSETNVPROC GLS.OpenGLTokens

PFNGLPATHSTENCILFUNCNVPROC GLS.OpenGLTokens

PFNGLPATHSTRINGNVPROC GLS.OpenGLTokens

PFNGLPATHSUBCOMMANDSNVPROC GLS.OpenGLTokens

PFNGLPATHSUBCOORDSNVPROC GLS.OpenGLTokens

PFNGLPATHTEXGENNVPROC GLS.OpenGLTokens

PFNGLPAUSETRANSFORMFEEDBACKPROC GLS.OpenGLTokens

PFNGLPOINTALONGPATHNVPROC GLS.OpenGLTokens

PFNGLPOINTPARAMETERFARBPROC GLS.OpenGLTokens

GL_ARB_point_parameter (ARB #14)
PFNGLPOINTPARAMETERFPROC GLS.OpenGLTokens

promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)
PFNGLPOINTPARAMETERFVARBPROC GLS.OpenGLTokens

PFNGLPOINTPARAMETERFVPROC GLS.OpenGLTokens

PFNGLPOINTPARAMETERINVPROC GLS.OpenGLTokens

GL_NV_point_sprite (EXT #262)
PFNGLPOINTPARAMETERIPROC GLS.OpenGLTokens

PFNGLPOINTPARAMETERIVNVPROC GLS.OpenGLTokens

PFNGLPOINTPARAMETERIVPROC GLS.OpenGLTokens

PFNGLPOLYGONOFFSETEXTPROC GLS.OpenGLTokens

GL_EXT_polygon_offset (EXT #3)
PFNGLPopDebugGroup GLS.OpenGLTokens

PFNGLPRIMITIVERESTARTINDEXNVPROC GLS.OpenGLTokens

PFNGLPRIMITIVERESTARTINDEXPROC GLS.OpenGLTokens

PFNGLPRIMITIVERESTARTNVPROC GLS.OpenGLTokens

GL_NV_primitive_restart (EXT #285)
PFNGLPRIORITIZETEXTURESEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMBINARYPROC GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4DARBPROC GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4DVARBPROC GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4FARBPROC GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4FVARBPROC GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETERS4FVEXTPROC GLS.OpenGLTokens

GL_EXT_gpu_program_parameters (EXT #320)
PFNGLPROGRAMLOCALPARAMETER4DARBPROC GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETER4DVARBPROC GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETER4FARBPROC GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETER4FVARBPROC GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4DNVPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4DVNVPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4FNVPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4FVNVPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETERIARBPROC GLS.OpenGLTokens

GL_ARB_geometry_shader4 (ARB #47)
PFNGLPROGRAMPARAMETERIEXTPROC GLS.OpenGLTokens

GL_EXT_geometry_shader4 (EXT #324)
PFNGLPROGRAMPARAMETERIPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETERS4DVNVPROC GLS.OpenGLTokens

PFNGLPROGRAMPARAMETERS4FVNVPROC GLS.OpenGLTokens

PFNGLPROGRAMSTRINGARBPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1FPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1IPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1IVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1UIPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1UIVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2FPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2IPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2IVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2UIPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2UIVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3FPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3IPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3IVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3UIPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3UIVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4FPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4IPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4IVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4UIPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4UIVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMUI64NVPROC GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMUI64VNVPROC GLS.OpenGLTokens

PFNGLPROGRAMVERTEXLIMITNVPROC GLS.OpenGLTokens

GL_NV_geometry_program4 (EXT #323)
PFNGLPROVOKINGVERTEXPROC GLS.OpenGLTokens

GL_ARB_provoking_vertex (ARB #64)
PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC GLS.OpenGLTokens

PFNGLPushDebugGroup GLS.OpenGLTokens

GL_ARB_shader_stencil_export (ARB #106) (no entry points) GL_KHR_debug (ARB #119)
PFNGLQUERYCOUNTERPROC GLS.OpenGLTokens

GL_ARB_timer_query (ARB #85)
PFNGLREADNPIXELSARBPROC GLS.OpenGLTokens

PFNGLRELEASESHADERCOMPILERPROC GLS.OpenGLTokens

GL_ARB_ES2_compatibility (ARB #95)
PFNGLRENDERBUFFERSTORAGEEXTPROC GLS.OpenGLTokens

PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC GLS.OpenGLTokens

GL_EXT_framebuffer_multisample (EXT #317)
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC GLS.OpenGLTokens

PFNGLRENDERBUFFERSTORAGEPROC GLS.OpenGLTokens

PFNGLREQUESTRESIDENTPROGRAMSNVPROC GLS.OpenGLTokens

PFNGLRESETHISTOGRAMPROC GLS.OpenGLTokens

deprecated;
PFNGLRESETMINMAXPROC GLS.OpenGLTokens

deprecated;
PFNGLRESIZEBUFFERSMESAPROC GLS.OpenGLTokens

GL_MESA_resize_buffers (EXT #196)
PFNGLRESUMETRANSFORMFEEDBACKPROC GLS.OpenGLTokens

PFNGLSAMPLECOVERAGEARBPROC GLS.OpenGLTokens

GL_ARB_multisample (ARB #5)
PFNGLSAMPLECOVERAGEPROC GLS.OpenGLTokens

promoted to core v1.3 from GL_ARB_multisample (#5)
PFNGLSAMPLEMASKEXTPROC GLS.OpenGLTokens

GL_EXT_multisample (EXT #209)
PFNGLSAMPLEMASKIPROC GLS.OpenGLTokens

PFNGLSAMPLEMASKSGISPROC GLS.OpenGLTokens

GL_SGIS_multisample (EXT #25)
PFNGLSAMPLEPASSARBPROC GLS.OpenGLTokens

ARB Extensions unknown ARB extension
PFNGLSAMPLEPATTERNEXTPROC GLS.OpenGLTokens

PFNGLSAMPLEPATTERNSGISPROC GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERFPROC GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERFVPROC GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIIVPROC GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIPROC GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIUIVPROC GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIVPROC GLS.OpenGLTokens

PFNGLSCISSORARRAYVPROC GLS.OpenGLTokens

PFNGLSCISSORINDEXEDPROC GLS.OpenGLTokens

PFNGLSCISSORINDEXEDVPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3BEXTPROC GLS.OpenGLTokens

GL_EXT_secondary_color (EXT #145)
PFNGLSECONDARYCOLOR3BPROC GLS.OpenGLTokens

deprecated; promoted to core v1.4 from GL_EXT_secondary_color (#145)
PFNGLSECONDARYCOLOR3BVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3BVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3DEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3DPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3DVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3DVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3FEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3FPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3FVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3FVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3IEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3IPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3IVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3IVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3SEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3SPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3SVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3SVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3UBEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UBPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3UBVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UBVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3UIEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UIPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3UIVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UIVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3USEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3USPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLOR3USVEXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3USVPROC GLS.OpenGLTokens

deprecated;
PFNGLSECONDARYCOLORFORMATNVPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLORP3UIPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLORP3UIVPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLORPOINTEREXTPROC GLS.OpenGLTokens

PFNGLSECONDARYCOLORPOINTERPROC GLS.OpenGLTokens

deprecated;
PFNGLSEPARABLEFILTER2DPROC GLS.OpenGLTokens

deprecated;
PFNGLSETFENCENVPROC GLS.OpenGLTokens

PFNGLSHADERBINARYPROC GLS.OpenGLTokens

PFNGLSHADERSOURCEARBPROC GLS.OpenGLTokens

PFNGLSHADERSOURCEPROC GLS.OpenGLTokens

PFNGLShaderStorageBlockBinding GLS.OpenGLTokens

GL_ARB_robust_buffer_access_behavior (ARB #135) (no entry points) GL_ARB_shader_image_size (ARB #136) (no entry points) GL_ARB_shader_storage_buffer_object (ARB #137)
PFNGLSTENCILCLEARTAGEXTPROC GLS.OpenGLTokens

GL_EXT_stencil_clear_tag (EXT #314)
PFNGLSTENCILFILLPATHINSTANCEDNVPROC GLS.OpenGLTokens

PFNGLSTENCILFILLPATHNVPROC GLS.OpenGLTokens

PFNGLSTENCILFUNCSEPARATEPROC GLS.OpenGLTokens

PFNGLSTENCILMASKSEPARATEPROC GLS.OpenGLTokens

PFNGLSTENCILOPSEPARATEPROC GLS.OpenGLTokens

promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)
PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC GLS.OpenGLTokens

PFNGLSTENCILSTROKEPATHNVPROC GLS.OpenGLTokens

PFNGLSTRINGMARKERGREMEDYPROC GLS.OpenGLTokens

GL_GREMEDY_string_marker (EXT #311)
PFNGLTBUFFERMASK3DFXPROC GLS.OpenGLTokens

GL_3DFX_tbuffer (EXT #208)
PFNGLTESSELLATIONFACTORAMDPROC GLS.OpenGLTokens

GL_AMD_vertex_shader_tessellator (EXT #363)
PFNGLTESSELLATIONMODEAMDPROC GLS.OpenGLTokens

PFNGLTESTFENCENVPROC GLS.OpenGLTokens

PFNGLTEXBUFFERARBPROC GLS.OpenGLTokens

GL_ARB_texture_buffer_object (ARB #51)
PFNGLTEXBUFFEREXTPROC GLS.OpenGLTokens

GL_EXT_packed_float (EXT #328) WGL_EXT_pixel_format_packed_float GLX_EXT_fbconfig_packed_float GL_EXT_texture_array (EXT #329) glFramebufferTextureLayerEXT: procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); GL_EXT_texture_buffer_object (EXT #330)
PFNGLTEXBUFFERPROC GLS.OpenGLTokens

PFNGLTexBufferRange GLS.OpenGLTokens

GL_ARB_stencil_texturing (ARB #138) (no entry points) GL_ARB_texture_buffer_range (ARB #139)
PFNGLTEXCOORDFORMATNVPROC GLS.OpenGLTokens

PFNGLTEXCOORDP1UIPROC GLS.OpenGLTokens

PFNGLTEXCOORDP1UIVPROC GLS.OpenGLTokens

PFNGLTEXCOORDP2UIPROC GLS.OpenGLTokens

PFNGLTEXCOORDP2UIVPROC GLS.OpenGLTokens

PFNGLTEXCOORDP3UIPROC GLS.OpenGLTokens

PFNGLTEXCOORDP3UIVPROC GLS.OpenGLTokens

PFNGLTEXCOORDP4UIPROC GLS.OpenGLTokens

PFNGLTEXCOORDP4UIVPROC GLS.OpenGLTokens

PFNGLTEXIMAGE2DMULTISAMPLEPROC GLS.OpenGLTokens

GL_ARB_texture_multisample (ARB #67)
PFNGLTEXIMAGE3DEXTPROC GLS.OpenGLTokens

GL_EXT_texture3D (EXT #6)
PFNGLTEXIMAGE3DMULTISAMPLEPROC GLS.OpenGLTokens

PFNGLTEXIMAGE3DPROC GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_texture3D (#6)
PFNGLTEXPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLTEXPARAMETERIIVPROC GLS.OpenGLTokens

promoted to core v3.0 from GL_EXT_texture_integer
PFNGLTEXPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLTEXPARAMETERIUIVPROC GLS.OpenGLTokens

PFNGLTexStorage2DMultisample GLS.OpenGLTokens

GL_ARB_texture_query_levels (ARB #140) (no entry points) GL_ARB_texture_storage_multisample (ARB #141)
PFNGLTexStorage3DMultisample GLS.OpenGLTokens

PFNGLTEXSUBIMAGE1DEXTPROC GLS.OpenGLTokens

GL_EXT_subtexture (EXT #9)
PFNGLTEXSUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLTEXSUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLTEXSUBIMAGE3DPROC GLS.OpenGLTokens

PFNGLTEXTUREBUFFEREXTPROC GLS.OpenGLTokens

PFNGLTextureBufferRange GLS.OpenGLTokens

PFNGLTEXTURECOLORMASKSGISPROC GLS.OpenGLTokens

GL_SGIS_texture_color_mask (EXT #214)
PFNGLTEXTUREIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERFVEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIIVEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIUIVEXTPROC GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIVEXTPROC GLS.OpenGLTokens

PFNGLTEXTURERENDERBUFFEREXTPROC GLS.OpenGLTokens

PFNGLTextureStorage2DMultisample GLS.OpenGLTokens

PFNGLTextureStorage3DMultisample GLS.OpenGLTokens

PFNGLTEXTURESUBIMAGE1DEXTPROC GLS.OpenGLTokens

PFNGLTEXTURESUBIMAGE2DEXTPROC GLS.OpenGLTokens

PFNGLTEXTURESUBIMAGE3DEXTPROC GLS.OpenGLTokens

PFNGLTextureView GLS.OpenGLTokens

GL_ARB_texture_view (ARB #124)
PFNGLTRACKMATRIXNVPROC GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKVARYINGSPROC GLS.OpenGLTokens

PFNGLTRANSFORMPATHNVPROC GLS.OpenGLTokens

PFNGLUDELETENURBSTESSELLATOREXTPROC GLS.OpenGLTokens

PFNGLUNEWNURBSTESSELLATOREXTPROC GLS.OpenGLTokens

PFNGLUNIFORM1DPROC GLS.OpenGLTokens

GL_ARB_gpu_shader_fp64 (ARB #89)
PFNGLUNIFORM1DVPROC GLS.OpenGLTokens

PFNGLUNIFORM1FARBPROC GLS.OpenGLTokens

PFNGLUNIFORM1FPROC GLS.OpenGLTokens

PFNGLUNIFORM1FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM1FVPROC GLS.OpenGLTokens

PFNGLUNIFORM1IARBPROC GLS.OpenGLTokens

PFNGLUNIFORM1IPROC GLS.OpenGLTokens

PFNGLUNIFORM1IVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM1IVPROC GLS.OpenGLTokens

PFNGLUNIFORM1UIEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM1UIPROC GLS.OpenGLTokens

PFNGLUNIFORM1UIVEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM1UIVPROC GLS.OpenGLTokens

PFNGLUNIFORM2DPROC GLS.OpenGLTokens

PFNGLUNIFORM2DVPROC GLS.OpenGLTokens

PFNGLUNIFORM2FARBPROC GLS.OpenGLTokens

PFNGLUNIFORM2FPROC GLS.OpenGLTokens

PFNGLUNIFORM2FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM2FVPROC GLS.OpenGLTokens

PFNGLUNIFORM2IARBPROC GLS.OpenGLTokens

PFNGLUNIFORM2IPROC GLS.OpenGLTokens

PFNGLUNIFORM2IVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM2IVPROC GLS.OpenGLTokens

PFNGLUNIFORM2UIEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM2UIPROC GLS.OpenGLTokens

PFNGLUNIFORM2UIVEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM2UIVPROC GLS.OpenGLTokens

PFNGLUNIFORM3DPROC GLS.OpenGLTokens

PFNGLUNIFORM3DVPROC GLS.OpenGLTokens

PFNGLUNIFORM3FARBPROC GLS.OpenGLTokens

PFNGLUNIFORM3FPROC GLS.OpenGLTokens

PFNGLUNIFORM3FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM3FVPROC GLS.OpenGLTokens

PFNGLUNIFORM3IARBPROC GLS.OpenGLTokens

PFNGLUNIFORM3IPROC GLS.OpenGLTokens

PFNGLUNIFORM3IVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM3IVPROC GLS.OpenGLTokens

PFNGLUNIFORM3UIEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM3UIPROC GLS.OpenGLTokens

PFNGLUNIFORM3UIVEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM3UIVPROC GLS.OpenGLTokens

PFNGLUNIFORM4DPROC GLS.OpenGLTokens

PFNGLUNIFORM4DVPROC GLS.OpenGLTokens

PFNGLUNIFORM4FARBPROC GLS.OpenGLTokens

PFNGLUNIFORM4FPROC GLS.OpenGLTokens

PFNGLUNIFORM4FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM4FVPROC GLS.OpenGLTokens

PFNGLUNIFORM4IARBPROC GLS.OpenGLTokens

PFNGLUNIFORM4IPROC GLS.OpenGLTokens

PFNGLUNIFORM4IVARBPROC GLS.OpenGLTokens

PFNGLUNIFORM4IVPROC GLS.OpenGLTokens

PFNGLUNIFORM4UIEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM4UIPROC GLS.OpenGLTokens

PFNGLUNIFORM4UIVEXTPROC GLS.OpenGLTokens

PFNGLUNIFORM4UIVPROC GLS.OpenGLTokens

PFNGLUNIFORMBLOCKBINDINGPROC GLS.OpenGLTokens

PFNGLUNIFORMBUFFEREXTPROC GLS.OpenGLTokens

GL_EXT_bindable_uniform (EXT #342)
PFNGLUNIFORMMATRIX2DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2X3DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2X3FVPROC GLS.OpenGLTokens

core 2.1 new commands in OpenGL 2.1
PFNGLUNIFORMMATRIX2X4DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2X4FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X2DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X2FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X4DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X4FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4FVARBPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X2DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X2FVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X3DVPROC GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X3FVPROC GLS.OpenGLTokens

PFNGLUNIFORMSUBROUTINESUIVPROC GLS.OpenGLTokens

PFNGLUNIFORMUI64NVPROC GLS.OpenGLTokens

PFNGLUNIFORMUI64VNVPROC GLS.OpenGLTokens

PFNGLUNLOCKARRAYSEXTPROC GLS.OpenGLTokens

PFNGLUNMAPBUFFERARBPROC GLS.OpenGLTokens

PFNGLUNMAPBUFFERPROC GLS.OpenGLTokens

PFNGLUNMAPNAMEDBUFFEREXTPROC GLS.OpenGLTokens

PFNGLUNURBSCALLBACKDATAEXTPROC GLS.OpenGLTokens

GLU extensions (might not be same naming as c versions?)
PFNGLUSEPROGRAMOBJECTARBPROC GLS.OpenGLTokens

PFNGLUSEPROGRAMPROC GLS.OpenGLTokens

PFNGLUSEPROGRAMSTAGESPROC GLS.OpenGLTokens

GL_ARB_separate_shader_objects (ARB #97)
PFNGLVALIDATEPROGRAMARBPROC GLS.OpenGLTokens

PFNGLVALIDATEPROGRAMPIPELINEPROC GLS.OpenGLTokens

PFNGLVALIDATEPROGRAMPROC GLS.OpenGLTokens

PFNGLVertexArrayBindVertexBuffer GLS.OpenGLTokens

PFNGLVERTEXARRAYRANGENVPROC GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribBinding GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribFormat GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribIFormat GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribLFormat GLS.OpenGLTokens

PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC GLS.OpenGLTokens

VertexArrayVertexAttribLOffsetEXT only valid if EXT_direct_state_access is available
PFNGLVertexArrayVertexBindingDivisor GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DARBPROC GLS.OpenGLTokens

GL_ARB_vertex_program (ARB #26)
PFNGLVERTEXATTRIB1DNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4BVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4BVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4IVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4IVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NBVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NBVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NIVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NSVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NSVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUIVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUSVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUSVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UBVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UBVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UBVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UIVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4USVARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIB4USVPROC GLS.OpenGLTokens

PFNGLVertexAttribBinding GLS.OpenGLTokens

PFNGLVERTEXATTRIBDIVISORARBPROC GLS.OpenGLTokens

GL_ARB_instanced_arrays (ARB #49)
PFNGLVERTEXATTRIBDIVISORPROC GLS.OpenGLTokens

Core 3.3
PFNGLVertexAttribFormat GLS.OpenGLTokens

PFNGLVERTEXATTRIBFORMATNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1IEXTPROC GLS.OpenGLTokens

GL_EXT_gpu_shader4 (EXT #326)
PFNGLVERTEXATTRIBI1IPROC GLS.OpenGLTokens

Core 3.0 promoted to core v3.0 from GL_EXT_gpu_shader4
PFNGLVERTEXATTRIBI1IVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1IVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4BVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4BVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4SVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4SVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UBVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UBVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4USVEXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4USVPROC GLS.OpenGLTokens

PFNGLVertexAttribIFormat GLS.OpenGLTokens

PFNGLVERTEXATTRIBIFORMATNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBIPOINTEREXTPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBIPOINTERPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL1DPROC GLS.OpenGLTokens

GL_ARB_shader_precision (ARB #98) (no entry points) GL_ARB_vertex_attrib_64bit (ARB #99)
PFNGLVERTEXATTRIBL1DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL2DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL2DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL3DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL3DVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL4DPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBL4DVPROC GLS.OpenGLTokens

PFNGLVertexAttribLFormat GLS.OpenGLTokens

PFNGLVERTEXATTRIBLPOINTERPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP1UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP1UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP2UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP2UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP3UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP3UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP4UIPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBP4UIVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBPOINTERARBPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBPOINTERNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBPOINTERPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS1DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS1FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS1SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS2DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS2FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS2SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS3DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS3FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS3SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4DVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4FVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4SVNVPROC GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4UBVNVPROC GLS.OpenGLTokens

PFNGLVertexBindingDivisor GLS.OpenGLTokens

PFNGLVERTEXBLENDARBPROC GLS.OpenGLTokens

PFNGLVERTEXFORMATNVPROC GLS.OpenGLTokens

PFNGLVERTEXP2UIPROC GLS.OpenGLTokens

GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)
PFNGLVERTEXP2UIVPROC GLS.OpenGLTokens

PFNGLVERTEXP3UIPROC GLS.OpenGLTokens

PFNGLVERTEXP3UIVPROC GLS.OpenGLTokens

PFNGLVERTEXP4UIPROC GLS.OpenGLTokens

PFNGLVERTEXP4UIVPROC GLS.OpenGLTokens

PFNGLVIEWPORTARRAYVPROC GLS.OpenGLTokens

GL_ARB_viewport_array (ARB #100)
PFNGLVIEWPORTINDEXEDFPROC GLS.OpenGLTokens

PFNGLVIEWPORTINDEXEDFVPROC GLS.OpenGLTokens

PFNGLWAITSYNCPROC GLS.OpenGLTokens

PFNGLWEIGHTBVARBPROC GLS.OpenGLTokens

GL_ARB_vertex_blend (ARB #15) {deprecated?}
PFNGLWEIGHTDVARBPROC GLS.OpenGLTokens

PFNGLWEIGHTFVARBPROC GLS.OpenGLTokens

PFNGLWEIGHTIVARBPROC GLS.OpenGLTokens

PFNGLWEIGHTPATHSNVPROC GLS.OpenGLTokens

PFNGLWEIGHTPOINTERARBPROC GLS.OpenGLTokens

PFNGLWEIGHTSVARBPROC GLS.OpenGLTokens

PFNGLWEIGHTUBVARBPROC GLS.OpenGLTokens

PFNGLWEIGHTUIVARBPROC GLS.OpenGLTokens

PFNGLWEIGHTUSVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2DARBPROC GLS.OpenGLTokens

GL_ARB_window_pos (ARB #25)
PFNGLWINDOWPOS2DPROC GLS.OpenGLTokens

deprecated; promoted to core v1.4 from GL_ARB_window_pos (#25)
PFNGLWINDOWPOS2DVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2DVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS2FARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2FPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS2FVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2FVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS2IARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2IPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS2IVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2IVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS2SARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2SPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS2SVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS2SVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3DARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3DPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3DVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3DVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3FARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3FPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3FVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3FVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3IARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3IPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3IVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3IVPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3SARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3SPROC GLS.OpenGLTokens

deprecated;
PFNGLWINDOWPOS3SVARBPROC GLS.OpenGLTokens

PFNGLWINDOWPOS3SVPROC GLS.OpenGLTokens

deprecated;
PFNWGLALLOCATEMEMORYNVPROC GLS.OpenGLTokens

PFNWGLBINDTEXIMAGEARBPROC GLS.OpenGLTokens

WGL_ARB_render_texture (ARB #20)
PFNWGLCHOOSEPIXELFORMATARBPROC GLS.OpenGLTokens

PFNWGLCREATEAFFINITYDCNVPROC GLS.OpenGLTokens

PFNWGLCREATEBUFFERREGIONARBPROC GLS.OpenGLTokens

WGL WGL - ARB WGL_buffer_region (ARB #4)
PFNWGLCREATECONTEXTATTRIBSARBPROC GLS.OpenGLTokens

WGL_ARB_create_context (ARB #55)
PFNWGLCREATEPBUFFERARBPROC GLS.OpenGLTokens

WGL_ARB_pbuffer (ARB #11)
PFNWGLDELETEBUFFERREGIONARBPROC GLS.OpenGLTokens

PFNWGLDELETEDCNVPROC GLS.OpenGLTokens

PFNWGLDESTROYPBUFFERARBPROC GLS.OpenGLTokens

PFNWGLDXCLOSEDEVICEPROC GLS.OpenGLTokens

PFNWGLDXLOCKOBJECTSPROC GLS.OpenGLTokens

PFNWGLDXOBJECTACCESSPROC GLS.OpenGLTokens

PFNWGLDXOPENDEVICEPROC GLS.OpenGLTokens

PFNWGLDXREGISTEROBJECTPROC GLS.OpenGLTokens

PFNWGLDXSETRESOURCESHAREHANDLEPROC GLS.OpenGLTokens

WGL_NV_DX_interop (EXT #407)
PFNWGLDXUNLOCKOBJECTSNVPROC GLS.OpenGLTokens

PFNWGLDXUNREGISTEROBJECTPROC GLS.OpenGLTokens

PFNWGLENUMGPUDEVICESNVPROC GLS.OpenGLTokens

PFNWGLENUMGPUSFROMAFFINITYDCNVPROC GLS.OpenGLTokens

PFNWGLENUMGPUSNVPROC GLS.OpenGLTokens

WGL_NV_gpu_affinity (EXT #355)
PFNWGLFREEMEMORYNVPROC GLS.OpenGLTokens

PFNWGLGETCURRENTREADDCARBPROC GLS.OpenGLTokens

PFNWGLGETEXTENSIONSSTRINGARBPROC GLS.OpenGLTokens

WGL_ARB_extensions_string (ARB #8)
PFNWGLGETPBUFFERDCARBPROC GLS.OpenGLTokens

PFNWGLGETPIXELFORMATATTRIBFVARBPROC GLS.OpenGLTokens

PFNWGLGETPIXELFORMATATTRIBIVARBPROC GLS.OpenGLTokens

WGL_ARB_pixel_format (ARB #9)
PFNWGLGETSWAPINTERVALEXTPROC GLS.OpenGLTokens

PFNWGLMAKECONTEXTCURRENTARBPROC GLS.OpenGLTokens

WGL_make_current_read (ARB #10)
PFNWGLQUERYPBUFFERARBPROC GLS.OpenGLTokens

PFNWGLRELEASEPBUFFERDCARBPROC GLS.OpenGLTokens

PFNWGLRELEASETEXIMAGEARBPROC GLS.OpenGLTokens

PFNWGLRESTOREBUFFERREGIONARBPROC GLS.OpenGLTokens

PFNWGLSAVEBUFFERREGIONARBPROC GLS.OpenGLTokens

PFNWGLSETPBUFFERATTRIBARBPROC GLS.OpenGLTokens

PFNWGLSWAPINTERVALEXTPROC GLS.OpenGLTokens

WGL - EXT WGL_EXT_swap_control (EXT #172)
PFog Formats.m3DSTypes

PFogSettings3DS Formats.m3DSTypes

FallOff to the Bottom
PFontEntry GLS.SpaceText

holds an entry in the font manager list (used in TGLSpaceText)
PFovTrackTag Formats.m3DSTypes

PFrustum GLS.VectorGeometry

PFSoundDSPUnit Sounds.FMODtypes

PFSoundSample Sounds.FMODtypes

FMOD defined types
PFSoundStream Sounds.FMODtypes

PFSoundVector Sounds.FMODtypes

PFSyncPoint Sounds.FMODtypes

PFXPointerList GLS.ParticleFX

PGLbitfield GLS.VectorTypes

PGLboolean GLS.VectorTypes

PGLbyte GLS.VectorTypes

PGLchar GLS.VectorTypes

PGLclampd GLS.VectorTypes

PGLclampf GLS.VectorTypes

PGLColorEntry GLS.Color

PGLColorVector GLS.Color

PGLdouble GLS.VectorTypes

PGLenum GLS.VectorTypes

PGLFireParticle GLS.FireFX

PGLFireParticleArray GLS.FireFX

PGLfloat GLS.OpenGLTokens

PGLhalf GLS.VectorTypes

PGLhandleARB GLS.VectorTypes

PGLint GLS.VectorTypes

PGLint64 GLS.VectorTypes

PGLint64EXT GLS.VectorTypes

PGLintptr GLS.VectorTypes

PGLIsoline GLS.Isolines

PGLMat GLS.VectorTypesExt

PGLMatrix GLS.VectorTypes

PGLParticleArray GLS.ParticleFX

PGLPCharArray GLS.VectorTypes

PGLPixel24 GLS.Graphics

PGLPixel32 GLS.Graphics

PGLPixel32Array GLS.Graphics

PGLPoint2D GLS.VectorTypesExt

PGLPoint3D GLS.VectorTypesExt

PGLPointer GLS.VectorTypes

PGLRCHandle GLS.Context

PGLshort GLS.VectorTypes

PGLsizei GLS.VectorTypes

PGLsizeiptr GLS.VectorTypes

PGLStarRecord GLS.SkyDome

PGLsync GLS.VectorTypes

PGLTrianRecArray GLS.VectorTypesExt

PGLubyte GLS.VectorTypes

PGLuint GLS.VectorTypes

PGLuint OpenCL.GL

PGLuint64 GLS.VectorTypes

PGLuint64EXT GLS.VectorTypes

PGLUNurbs GLS.OpenGLTokens

PGLUNurbsObj GLS.OpenGLTokens

PGLUQuadric GLS.OpenGLTokens

PGLUQuadricObj GLS.OpenGLTokens

PGLushort GLS.VectorTypes

PGLUTesselator GLS.OpenGLTokens

PGLUTesselatorObj GLS.OpenGLTokens

PGLUTriangulatorObj GLS.OpenGLTokens

PGLvdpauSurfaceNV GLS.OpenGLTokens

PGLVec GLS.VectorTypesExt

PGLVector GLS.VectorTypes

PGLVertArray GLS.VectorTypesExt

PGLVertexData GLS.Mesh

PGLVertexDataArray GLS.Mesh

PGLVertexRec GLS.Objects

PGLvoid GLS.VectorTypes

PGLVoxel GLS.VectorTypesExt

PGLVoxelData GLS.VectorTypesExt

PGNGLGETBUFFERPARAMETERUI64VNV GLS.OpenGLTokens

PGPUDEVICE GLS.OpenGLTokens

PHalfFloat GLS.Utils

PHeightTile GLS.HeightTileFileHDS

PHeightTileInfo GLS.HeightTileFileHDS

PHGPUNV GLS.OpenGLTokens

It's should be here!
PHideTrackTag Formats.m3DSTypes

PHiShadowBias Formats.m3DSTypes

PHmgBoundingBox GLS.GeometryBB

Structure for storing Bounding Boxes
PHomogeneousByteVector GLS.VectorGeometry

Common vector and matrix types with predefined limits indices correspond like: x -> 0 y -> 1 z -> 2 w -> 3
PHomogeneousDblVector GLS.VectorGeometry

PHomogeneousExtVector GLS.VectorGeometry

PHomogeneousFltVector GLS.VectorGeometry

PHomogeneousIntVector GLS.VectorGeometry

PHomogeneousMatrix GLS.VectorGeometry

PHomogeneousPtrVector GLS.VectorGeometry

PHomogeneousVector GLS.VectorGeometry

some simplified names
PHomogeneousWordVector GLS.VectorGeometry

PHotTrackTag Formats.m3DSTypes

PHVIDEO Formats.VFW

PHVIDEOINPUTDEVICENV GLS.OpenGLTokens

PI1 Formats.LWO

PI2 Formats.LWO

PI4 Formats.LWO

PICCOMPRESS Formats.VFW

PICCOMPRESSFRAMES Formats.VFW

PICDECOMPRESS Formats.VFW

this frame is not a key frame
PICDECOMPRESSEX Formats.VFW

PICDRAW Formats.VFW

this frame is not a key frame
PICDRAWBEGIN Formats.VFW

please buffer this data offscreen, we will need to update it
PICDRAWSUGGEST Formats.VFW

PICINFO Formats.VFW

*********************************************************************** ***********************************************************************
PICOPEN Formats.VFW

*********************************************************************** ***********************************************************************
PICPALETTE Formats.VFW

*********************************************************************** ***********************************************************************
PICSETSTATUSPROC Formats.VFW

PID4 Formats.LWO

PInstanceName Formats.m3DSTypes

PInt SDL2.Import

PInteger GLS.HeightTileFileHDS

PInteger Physics.NewtonImport

PIntegerArray Formats.m3DSTypes

PIntegerArray GLS.HeightTileFileHDS

PIntegerArray GLS.VectorGeometry

PIntegerVector GLS.VectorGeometry

PIntermediateFormatArray GLS.ImageUtils

PIntPercentage Formats.m3DSTypes

Pintptr_t OpenCL.Platform

PIPAddress SDL2.Net

***********************************************************************
PIpasData Formats.m3DSTypes

PKeyHeader3DS Formats.m3DSTypes

PKeyHeaderList Formats.m3DSTypes

PKEYSChunk Formats.B3D

PKFAmbient3DS Formats.m3DSTypes

Ambient Light animation
PKFCamera3DS Formats.m3DSTypes

PKFCurtime Formats.m3DSTypes

PKFHdr Formats.m3DSTypes

PKFId Formats.m3DSTypes

PKFKeyInfo3DS Formats.m3DSTypes

PKFMesh3DS Formats.m3DSTypes

used by ObjectMotion3DS
PKFMorphKey3DS Formats.m3DSTypes

PKFMorphKeyList Formats.m3DSTypes

Name of Target Morph object
PKFOmni3DS Formats.m3DSTypes

used by OmnilightMotion3DS
PKFRotKey3DS Formats.m3DSTypes

PKFRotKeyList Formats.m3DSTypes

PKFSeg Formats.m3DSTypes

PKFSegment3DS Formats.m3DSTypes

PKFSets3DS Formats.m3DSTypes

PKFSpot3DS Formats.m3DSTypes

PLayerFog Formats.m3DSTypes

PLayerFogSettings3DS Formats.m3DSTypes

PLight3DS Formats.m3DSTypes

omni and spotlight settings
PLinColor24 Formats.m3DSTypes

PLinColorF Formats.m3DSTypes

PLiteAttenuate3DS Formats.m3DSTypes

Light Attenuation settings
PLMTS GLS.FileLMTS

PLMTS_Header GLS.FileLMTS

max texture filename length
PLMTS_Subset GLS.FileLMTS

PLMTS_TexData GLS.FileLMTS

PLMTS_Vertex GLS.FileLMTS

PLONG Formats.VFW

PLongWordArray GLS.VectorGeometry

PLongWordVector GLS.VectorGeometry

PLoShadowBias Formats.m3DSTypes

PLWChunkRec Formats.LWO

Lightwave Chunk Struct - Used in TLWOReadCallback
PLWPolyTagMap Formats.LWO

PLWSubChunkRec Formats.LWO

Lightwave SubChunk Struct - Used in TLWOReadCallback
PM3dVersion Formats.m3DSTypes

PMainAVIHeader Formats.VFW

size of AVI header list
PMapInfo3DS Formats.m3DSTypes

Texture Map icon placement
PMapSet3DS Formats.m3DSTypes

Bit Map definition Structure to all Map settings
PMasterScale Formats.m3DSTypes

PMatAcubic Formats.m3DSTypes

PMatBumpPercent Formats.m3DSTypes

PMaterial3DS Formats.m3DSTypes

PMatMapAng Formats.m3DSTypes

PMatMapBCol Formats.m3DSTypes

PMatMapCol1 Formats.m3DSTypes

PMatMapCol2 Formats.m3DSTypes

PMatMapGCol Formats.m3DSTypes

PMatMapname Formats.m3DSTypes

PMatMapRCol Formats.m3DSTypes

PMatMapTexblur Formats.m3DSTypes

PMatMapTiling Formats.m3DSTypes

PMatMapUOffset Formats.m3DSTypes

PMatMapUScale Formats.m3DSTypes

PMatMapVOffset Formats.m3DSTypes

PMatMapVScale Formats.m3DSTypes

PMatName Formats.m3DSTypes

PMatrixArray GLS.VectorGeometry

PMatShading Formats.m3DSTypes

PMatWireSize Formats.m3DSTypes

PMD2AliasFrame Formats.MD2

PMD2VertexIndex Formats.MD2

PMDCTagFrame GLS.FileMDC

PMDCTagName GLS.FileMDC

PMesh3DS Formats.m3DSTypes

Mesh object definition
PMESHChunk Formats.B3D

PMeshColor Formats.m3DSTypes

PMeshMatrix Formats.m3DSTypes

Mesh definition
PMeshSet3DS Formats.m3DSTypes

PMeshTextureInfo Formats.m3DSTypes

PMeshVersion Formats.m3DSTypes

PMix_Chunk SDL2.Mixer

* The internal format for an audio chunk *
PMix_Music SDL2.Mixer

* The internal format for a music chunk interpreted via mikmod *
PMix_Music_Finished SDL2.Mixer

* Add your own callback when the music has finished playing. This callback is only called if the music finishes naturally. *
PMorphSmooth Formats.m3DSTypes

PMorphTrackTag Formats.m3DSTypes

pMS3DComment GLS.FileMS3D

PMS3DJointArray GLS.FileMS3D

PMS3DKeyframePositionArray GLS.FileMS3D

PMS3DKeyframeRotationArray GLS.FileMS3D

PMS3DTriangleArray GLS.FileMS3D

PMS3DVertexArray GLS.FileMS3D

pMS3D_vertex_ex_t GLS.FileMS3D

PMshBoxmap Formats.m3DSTypes

PMshMatGroup Formats.m3DSTypes

PNamedObject Formats.m3DSTypes

PNCamera Formats.m3DSTypes

PNDirectLight Formats.m3DSTypes

PNewtonAcyclicArticulation Physics.NewtonImport

PNewtonAllocMemory Physics.NewtonImport

PNewtonApplyForceAndTorque Physics.NewtonImport

PNewtonBallCallback Physics.NewtonImport

PNewtonBody Physics.NewtonImport

PNewtonBodyDestructor Physics.NewtonImport

PNewtonBodyIterator Physics.NewtonImport

PNewtonBoxParam Physics.NewtonImport

PNewtonCapsuleParam Physics.NewtonImport

PNewtonChamferCylinderParam Physics.NewtonImport

PNewtonCollision Physics.NewtonImport

PNewtonCollisionCopyConstructionCallback Physics.NewtonImport

PNewtonCollisionDestructorCallback Physics.NewtonImport

PNewtonCollisionInfoRecord Physics.NewtonImport

PNewtonCollisionIterator Physics.NewtonImport

PNewtonCollisionMaterial Physics.NewtonImport

PNewtonCollisionTreeParam Physics.NewtonImport

PNewtonCollisionTreeRayCastCallback Physics.NewtonImport

PNewtonCompoundCollisionParam Physics.NewtonImport

PNewtonConeParam Physics.NewtonImport

PNewtonConstraintDestructor Physics.NewtonImport

PNewtonContactsProcess Physics.NewtonImport

PNewtonConvexHullParam Physics.NewtonImport

PNewtonCorkscrewCallback Physics.NewtonImport

PNewtonCreateContactCallback Physics.NewtonImport

PNewtonCylinderParam Physics.NewtonImport

PNewtonDeformableMeshParam Physics.NewtonImport

PNewtonDeformableMeshSegment Physics.NewtonImport

PNewtonDeserializeCallback Physics.NewtonImport

PNewtonDestroyContactCallback Physics.NewtonImport

PNewtonFractureCompoundCollisionOnEmitChunk Physics.NewtonImport

PNewtonFractureCompoundCollisionOnEmitCompoundFractured Physics.NewtonImport

PNewtonFractureCompoundCollisionReconstructMainMeshCallBack Physics.NewtonImport

PNewtonFracturedCompoundMeshPart Physics.NewtonImport

PNewtonFreeMemory Physics.NewtonImport

PNewtonGetTimeInMicrosencondsCallback Physics.NewtonImport

PNewtonHeightFieldCollisionParam Physics.NewtonImport

PNewtonHeightFieldRayCastCallback Physics.NewtonImport

PNewtonHingeCallback Physics.NewtonImport

PNewtonHingeSliderUpdateDesc Physics.NewtonImport

PNewtonImmediateModeConstraint Physics.NewtonImport

PNewtonInverseDynamics Physics.NewtonImport

PNewtonIslandUpdate Physics.NewtonImport

PNewtonJobTask Physics.NewtonImport

PNewtonJoint Physics.NewtonImport

PNewtonJointIterator Physics.NewtonImport

PNewtonJointRecord Physics.NewtonImport

PNewtonMaterial Physics.NewtonImport

PNewtonMaterialData Physics.NewtonImport

PNewtonMesh Physics.NewtonImport

PNewtonMeshDoubleData Physics.NewtonImport

PNewtonMeshFloatData Physics.NewtonImport

PNewtonMeshVertexFormat Physics.NewtonImport

PNewtonOnAABBOverlap Physics.NewtonImport

PNewtonOnBodyDeserializationCallback Physics.NewtonImport

PNewtonOnBodySerializationCallback Physics.NewtonImport

PNewtonOnCompoundSubCollisionAABBOverlap Physics.NewtonImport

PNewtonOnContactGeneration Physics.NewtonImport

PNewtonOnJointDeserializationCallback Physics.NewtonImport

PNewtonOnJointSerializationCallback Physics.NewtonImport

PNewtonOnUserCollisionSerializationCallback Physics.NewtonImport

PNewtonPostUpdateCallback Physics.NewtonImport

PNewtonReportProgress Physics.NewtonImport

PNewtonSceneCollisionParam Physics.NewtonImport

PNewtonSceneProxy Physics.NewtonImport

PNewtonSerializeCallback Physics.NewtonImport

PNewtonSetTransform Physics.NewtonImport

PNewtonSliderCallback Physics.NewtonImport

PNewtonSphereParam Physics.NewtonImport

PNewtonTaperedCapsuleParam Physics.NewtonImport

PNewtonTaperedCylinderParam Physics.NewtonImport

PNewtonTreeCollisionCallback Physics.NewtonImport

PNewtonTreeCollisionFaceCallback Physics.NewtonImport

PNewtonUniversalCallback Physics.NewtonImport

PNewtonUserBilateralCallback Physics.NewtonImport

PNewtonUserBilateralGetInfoCallback Physics.NewtonImport

PNewtonUserContactPoint Physics.NewtonImport

PNewtonUserMeshCollisionAABBTest Physics.NewtonImport

PNewtonUserMeshCollisionCollideCallback Physics.NewtonImport

PNewtonUserMeshCollisionCollideDesc Physics.NewtonImport

PNewtonUserMeshCollisionDestroyCallback Physics.NewtonImport

PNewtonUserMeshCollisionGetCollisionInfo Physics.NewtonImport

PNewtonUserMeshCollisionGetFacesInAABB Physics.NewtonImport

PNewtonUserMeshCollisionRayHitCallback Physics.NewtonImport

PNewtonUserMeshCollisionRayHitDesc Physics.NewtonImport

PNewtonWorld Physics.NewtonImport

PNewtonWorldConvexCastReturnInfo Physics.NewtonImport

PNewtonWorldDestroyListenerCallback Physics.NewtonImport

PNewtonWorldDestructorCallback Physics.NewtonImport

PNewtonWorldListenerBodyDestroyCallback Physics.NewtonImport

PNewtonWorldListenerDebugCallback Physics.NewtonImport

PNewtonWorldRayFilterCallback Physics.NewtonImport

PNewtonWorldRayPrefilterCallback Physics.NewtonImport

PNewtonWorldUpdateListenerCallback Physics.NewtonImport

PNGDFloat Physics.NGDManager

PNODEChunk Formats.B3D

PNodeHdr Formats.m3DSTypes

PNodeList Formats.m3DSTypes

3D Studio .MLI file
PObject GLS.PersistentClasses

PObjMat3DS Formats.m3DSTypes

Material assignments by face
PObjMatList Formats.m3DSTypes

POConsts Formats.m3DSTypes

POCTFace Formats.OCT

POCTLightmap Formats.OCT

POctreeNode GLS.Octree

POctreeTriangleInfo GLS.Octree

Stores information about an intersected triangle
POrthoView3DS Formats.m3DSTypes

PPALvoid Sounds.OpenALImport

PParticleReference GLS.ParticleFX

PParticleReferenceArray GLS.ParticleFX

PPasDblStrUtilsBoolean PasDblStrUtils

PPasDblStrUtilsChar PasDblStrUtils

PPasDblStrUtilsDouble PasDblStrUtils

PPasDblStrUtilsInt16 PasDblStrUtils

PPasDblStrUtilsInt32 PasDblStrUtils

PPasDblStrUtilsInt64 PasDblStrUtils

PPasDblStrUtilsInt8 PasDblStrUtils

PPasDblStrUtilsNativeInt PasDblStrUtils

PPasDblStrUtilsNativeUInt PasDblStrUtils

PPasDblStrUtilsPointer PasDblStrUtils

PPasDblStrUtilsPtrInt PasDblStrUtils

PPasDblStrUtilsPtrUInt PasDblStrUtils

PPasDblStrUtilsRawByteChar PasDblStrUtils

PPasDblStrUtilsRawByteCharSet PasDblStrUtils

PPasDblStrUtilsRawByteString PasDblStrUtils

PPasDblStrUtilsRoundingMode PasDblStrUtils

PPasDblStrUtilsString PasDblStrUtils

PPasDblStrUtilsUInt16 PasDblStrUtils

PPasDblStrUtilsUInt32 PasDblStrUtils

PPasDblStrUtilsUInt64 PasDblStrUtils

PPasDblStrUtilsUInt8 PasDblStrUtils

PPasDblStrUtilsUTF16Char PasDblStrUtils

PPasDblStrUtilsUTF16String PasDblStrUtils

PPasDblStrUtilsUTF8Char PasDblStrUtils

PPasDblStrUtilsUTF8String PasDblStrUtils

PPasJSONChar PasJSON

PPasJSONDouble PasJSON

PPasJSONEncoding PasJSON

PPasJSONFloat PasJSON

PPasJSONInt16 PasJSON

PPasJSONInt32 PasJSON

PPasJSONInt64 PasJSON

PPasJSONInt8 PasJSON

PPasJSONModeFlag PasJSON

PPasJSONModeFlags PasJSON

PPasJSONNativeInt PasJSON

PPasJSONNativeUInt PasJSON

PPasJSONPointer PasJSON

PPasJSONPointers PasJSON

PPasJSONPtrDiff PasJSON

PPasJSONPtrInt PasJSON

PPasJSONPtrUInt PasJSON

PPasJSONRawByteChar PasJSON

PPasJSONRawByteString PasJSON

PPasJSONSize PasJSON

PPasJSONSizeInt PasJSON

PPasJSONSizeUInt PasJSON

PPasJSONUInt16 PasJSON

PPasJSONUInt32 PasJSON

PPasJSONUInt64 PasJSON

PPasJSONUInt8 PasJSON

PPasJSONUInt8Array PasJSON

PPasJSONUTF16Char PasJSON

PPasJSONUTF16String PasJSON

PPasJSONUTF8String PasJSON

PPasJSONVoid PasJSON

PPCharCG Cg.Import

PPCUgraphicsResource CUDA.Import

CUDA graphics interop resource
PPdObject Physics.ODEImport

PPdxGeom Physics.ODEImport

PPFXRegion GLS.ParticleFX

PPHeightTileInfo GLS.HeightTileFileHDS

PPivot Formats.m3DSTypes

PPlugInEntry GLS.PlugInManager

PPoint3DS Formats.m3DSTypes

PPointArray Formats.m3DSTypes

PPointer Physics.NewtonImport

PPointerArray GLS.VectorGeometry

PPointerObjectList GLS.PersistentClasses

PPointerVector GLS.VectorGeometry

PPointFlagArray Formats.m3DSTypes

PPointList Formats.m3DSTypes

PPosTrackTag Formats.m3DSTypes

PPPasJSONChar PasJSON

PPPasJSONDouble PasJSON

PPPasJSONFloat PasJSON

PPPasJSONInt16 PasJSON

PPPasJSONInt32 PasJSON

PPPasJSONInt64 PasJSON

PPPasJSONInt8 PasJSON

PPPasJSONNativeInt PasJSON

PPPasJSONNativeUInt PasJSON

PPPasJSONPointer PasJSON

PPPasJSONPointers PasJSON

PPPasJSONPtrDiff PasJSON

PPPasJSONPtrInt PasJSON

PPPasJSONPtrUInt PasJSON

PPPasJSONRawByteChar PasJSON

PPPasJSONRawByteString PasJSON

PPPasJSONSize PasJSON

PPPasJSONSizeInt PasJSON

PPPasJSONSizeUInt PasJSON

PPPasJSONUInt16 PasJSON

PPPasJSONUInt32 PasJSON

PPPasJSONUInt64 PasJSON

PPPasJSONUInt8 PasJSON

PPPasJSONUInt8Array PasJSON

PPPasJSONUTF16Char PasJSON

PPPasJSONUTF16String PasJSON

PPPasJSONUTF8String PasJSON

PPPasJSONVoid PasJSON

PProcName Formats.m3DSTypes

PPSDL_Renderer SDL2.Import

** * A structure representing rendering state *
PPSDL_Window SDL2.Import

PPUDPpacket SDL2.Net

PPUInt8 SDL2.Import

PQuaternion GLS.VectorGeometry

q = ([x, y, z], w)
PQuaternionArray GLS.VectorGeometry

PRayBias Formats.m3DSTypes

PRenderContextInfo GLS.RenderContextInfo

PResManagerEntry GLS.PlugInManager

PRGBA32F GLS.ImageUtils

PRGBColor GLS.Color

PROAMTriangleNode GLS.ROAMPatch

PRollTrackTag Formats.m3DSTypes

PRotTrackTag Formats.m3DSTypes

PScaleTrackTag Formats.m3DSTypes

PSceneObjectEntry GLS.ObjectManager

PSDLNet_GenericSocket SDL2.Net

* Any network socket can be safely cast to this socket type *
PSDLNet_Socket SDL2.Net

***********************************************************************
PSDLNet_SocketSet SDL2.Net

PSDLPantalla SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// *** KTI *** //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// SDLPantalla contiene la ventana SDL el Render donde se pinta y el zoom de los ejes X e Y
PSDL_AudioCVT SDL2.Import

PSDL_AudioSpec SDL2.Import

** * The calculated values in this structure are calculated by SDL_OpenAudio(). *
PSDL_BlendMode SDL2.Import

** * The blend mode used in SDL_RenderCopy() and drawing operations. *
PSDL_BlitMap SDL2.Import

** * A collection of pixels used in software blitting. * * This structure should be treated as read-only, except for \c pixels, * which, if not NULL, contains the raw pixel data for the surface. *
PSDL_Color SDL2.Import

PSDL_Colour SDL2.Import

PSDL_Cond SDL2.Import

* The SDL condition variable structure, defined in SDL_cond.c *
PSDL_Cursor SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_mouse.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
PSDL_DisplayMode SDL2.Import

** * The structure that defines a display mode * * SDL_GetNumDisplayModes() * SDL_GetDisplayMode() * SDL_GetDesktopDisplayMode() * SDL_GetCurrentDisplayMode() * SDL_GetClosestDisplayMode() * SDL_SetWindowDisplayMode() * SDL_GetWindowDisplayMode() *
PSDL_Event SDL2.Import

** * General event structure *
PSDL_EventFilter SDL2.Import

PSDL_Finger SDL2.Import

PSDL_FingerID SDL2.Import

PSDL_GameController SDL2.Import

* The gamecontroller structure used to identify an SDL game controller *
PSDL_Haptic SDL2.Import

** * SDL_Haptic * * The haptic structure used to identify an SDL haptic. * * SDL_HapticOpen * SDL_HapticOpenFromJoystick * SDL_HapticClose *
PSDL_HapticEffect SDL2.Import

** * The generic template for any haptic effect. * * All values max at 32767 (0x7FFF). Signed values also can be negative. * Time values unless specified otherwise are in milliseconds. * * You can also pass SDL_HAPTIC_INFINITY to length instead of a 0-32767 * value. Neither delay, interval, attack_length nor fade_length support * SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends. * * Additionally, the SDL_HAPTIC_RAMP effect does not support a duration of * SDL_HAPTIC_INFINITY. * * Button triggers may not be supported on all devices, it is advised to not * use them if possible. Buttons start at index 1 instead of index 0 like * the joystick. * * If both attack_length and fade_level are 0, the envelope is not used, * otherwise both values are used. * * Common parts: * * // Replay - All effects have this * Uint32 length; // Duration of effect (ms). * Uint16 delay; // Delay before starting effect. * * // Trigger - All effects have this * Uint16 button; // Button that triggers effect. * Uint16 interval; // How soon before effect can be triggered again. * * // Envelope - All effects except condition effects have this * Uint16 attack_length; // Duration of the attack (ms). * Uint16 attack_level; // Level at the start of the attack. * Uint16 fade_length; // Duration of the fade out (ms). * Uint16 fade_level; // Level at the end of the fade. * * * * Here we have an example of a constant effect evolution in time: * Strength ˆ | | effect level –> _________________ | / \ | / \ | / \ | / \ | attack_level –> | \ | | | <— fade_level | +————————————————–> Time [–] [—] attack_length fade_length

[——————][———————–] delay length

* * Note either the attack_level or the fade_level may be above the actual * effect level. * * SDL_HapticConstant * SDL_HapticPeriodic * SDL_HapticCondition * SDL_HapticRamp * SDL_HapticCustom *
PSDL_Joystick SDL2.Import

* The joystick structure used to identify an SDL joystick *
PSDL_KeyCode SDL2.Import

** * The SDL virtual key representation. * * Values of this type are used to represent keyboard keys using the current * layout of the keyboard. These values include Unicode values representing * the unmodified character that would be generated by pressing the key, or * an SDLK_* constant for those keys that do not generate characters. *
PSDL_KeyMod SDL2.Import

PSDL_Keysym SDL2.Import

** * The SDL keysym structure, used in key events. *
PSDL_MessageBoxButtonData SDL2.Import

** * Individual button data. *
PSDL_MessageBoxColor SDL2.Import

** * RGB value used in a message box color scheme *
PSDL_MessageBoxColorScheme SDL2.Import

** * A set of colors to use for message box dialogs *
PSDL_MessageBoxColorType SDL2.Import

PSDL_MessageBoxData SDL2.Import

** * MessageBox structure containing title, text, window, etc. *
PSDL_Mutex SDL2.Import

PSDL_Mutex = Pointer; //todo!
PSDL_Palette SDL2.Import

PSDL_PixelFormat SDL2.Import

** * Everything in the pixel format structure is read-only. *
PSDL_Point SDL2.Import

** * The structure that defines a point * * SDL_EnclosePoints *
PSDL_Rect SDL2.Import

** * A rectangle, with the origin at the upper left. * * SDL_RectEmpty * SDL_RectEquals * SDL_HasIntersection * SDL_IntersectRect * SDL_UnionRect * SDL_EnclosePoints *
PSDL_Renderer SDL2.Import

PSDL_RendererFlags SDL2.Import

**< The renderer supports rendering to texture *
PSDL_RendererFlip SDL2.Import

** * Flip constants for SDL_RenderCopyEx *
PSDL_RendererInfo SDL2.Import

** * Information on the capabilities of a render driver or context. *
PSDL_RWops SDL2.Import

* Read-Only memory stream *
PSDL_ScanCode SDL2.Import

**< not a key, just marks the number of scancodes for array bounds *
PSDL_Sem SDL2.Import

* The SDL semaphore structure, defined in SDL_sem.c *
PSDL_Surface SDL2.Import

PSDL_SystemCursor SDL2.Import

PSDL_SysWMEvent SDL2.Import

** * A video driver dependent system event (event.syswm.*) * This event is disabled by default, you can enable it with SDL_EventState() * * If you want to use this event, you should include SDL_syswm.h. *
PSDL_SysWMinfo SDL2.Import

The Windows custom window manager information structure
PSDL_SysWMmsg SDL2.Import

The windows custom event structure
PSDL_Texture SDL2.Import

** * An efficient driver-specific representation of pixel data *
PSDL_TextureAccess SDL2.Import

** * The access pattern allowed for a texture. *
PSDL_TextureModulate SDL2.Import

** * The texture channel modulation used in SDL_RenderCopy(). *
PSDL_Thread SDL2.Import

PSDL_Thread = Pointer;
PSDL_ThreadFunction SDL2.Import

* The function passed to SDL_CreateThread() It is passed a void* user context parameter and returns an int. *
PSDL_TouchID SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_touch.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
PSDL_Version SDL2.Import

** * Information the version of SDL in use. * * Represents the library's version as three levels: major revision * (increments with massive changes, additions, and enhancements), * minor revision (increments with backwards-compatible changes to the * major revision), and patchlevel (increments with fixes to the minor * revision). * * SDL_VERSION * SDL_GetVersion *
PSDL_Window SDL2.Import

PSDL_WindowShapeMode SDL2.Import

** A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents. *
PSDL_WindowShaper SDL2.Import

* Define the SDL window-shaper structure *
PSDL_WindowUserData SDL2.Import

PShadowFilter Formats.m3DSTypes

PShadowMapSize Formats.m3DSTypes

PShadowRange Formats.m3DSTypes

PShadowSamples Formats.m3DSTypes

PShadowSets3DS Formats.m3DSTypes

PShortInt GLS.HeightTileFileHDS

PShortInt SDL2.Import

PShortIntArray GLS.HeightTileFileHDS

PSingleArray GLS.VectorGeometry

PSingleArrayList GLS.VectorLists

PSingleList Formats.m3DSTypes

PSingleRaster GLS.HeightData

PSInt16 SDL2.Import

PSInt64 SDL2.Import

PSInt8 SDL2.Import

Psize_t OpenCL.Platform

PSmallInt GLS.HeightTileFileHDS

Psmallint Physics.NewtonImport

PSmallIntArray GLS.HeightData

PSmallIntArray GLS.HeightTileFileHDS

PSmallIntRaster GLS.HeightData

PSmoothGroup Formats.m3DSTypes

PSoundFileFormat GLS.SoundFileObjects

PSpotCone3DS Formats.m3DSTypes

Cone visibility settings
PSpotLight3DS Formats.m3DSTypes

spotlight settings
PSpotProjector3DS Formats.m3DSTypes

spotlight projectio Bitmap
PSpotShadow3DS Formats.m3DSTypes

Spotlight shadow settings
PSqrt255Array GLS.Utils

PTAG_APE_BINARY Sounds.BASSImport

Binary APEv2 tag structure
PTAG_BEXT Sounds.BASSImport

BWF "bext" tag structure
PTAG_ID3 Sounds.BASSImport

ID3v1 tag structure
PTCPSocket SDL2.Net

***********************************************************************
PTdJointFeedback Physics.ODEImport

PTexPoint GLS.VectorGeometry

PTexPointArray GLS.VectorGeometry

PTEXSChunk Formats.B3D

PTextureReference CUDA.Runtime

PTexVert3DS Formats.m3DSTypes

PTexVertList Formats.m3DSTypes

PTexVerts Formats.m3DSTypes

PThorpoint GLS.ThorFX

PThorpointArray GLS.ThorFX

PTrackHeader3DS Formats.m3DSTypes

PTransformationRec GLS.PipelineTransformation

PTRISChunk Formats.B3D

PTTF_Font SDL2.Ttf

* The internal structure containing font information *
PU1 Formats.LWO

PU2 Formats.LWO

PU2Array Formats.LWO

PU4 Formats.LWO

PU4Array Formats.LWO

PUDPpacket SDL2.Net

PUDPSocket SDL2.Net

PUDP_Channel SDL2.Net

***********************************************************************
PUInt16 SDL2.Import

PUInt32 SDL2.Import

PUInt8 SDL2.Import

PUInt8Array SDL2.Import

PUnknown Formats.VFW

PUserView3DS Formats.m3DSTypes

PVec12 Formats.LWO

PVec12Array Formats.LWO

PVector2f GLS.VectorGeometry

PVectorArray GLS.VectorGeometry

PVertex GLS.VectorGeometry

PVertex2DArr GLS.Isolines

PVertexBoneWeightArray GLS.VectorFileObjects

PVertexData Formats.B3D

PVerticesBoneWeights GLS.VectorFileObjects

PVGradient Formats.m3DSTypes

PVGradientBgnd3DS Formats.m3DSTypes

Color of Solid background
PVIDEOHDR Formats.VFW

– Video data block header ————————————————–
PVideoMode GLS.Screen

PViewCamera Formats.m3DSTypes

PViewport3DS Formats.m3DSTypes

PViewportData Formats.m3DSTypes

PViewportData3 Formats.m3DSTypes

PViewportLayout Formats.m3DSTypes

PViewportSize Formats.m3DSTypes

PViewSize3DS Formats.m3DSTypes

PViewStandard Formats.m3DSTypes

PViewUser Formats.m3DSTypes

PVOID Formats.VFW

*************************************************************************** * * types * **************************************************************************
PVRTSChunk Formats.B3D

PWGLswap GLS.VectorTypes

========= Windows types ==============
PWordList Formats.m3DSTypes

PWordVector GLS.VectorGeometry

PXDataAppName Formats.m3DSTypes

PXDataDouble Formats.m3DSTypes

PXDataEntry Formats.m3DSTypes

PXDataFloat Formats.m3DSTypes

PXDataLong Formats.m3DSTypes

PXDataRaw3DS Formats.m3DSTypes

PXDataShort Formats.m3DSTypes

PXDataString Formats.m3DSTypes

PXDataVoid Formats.m3DSTypes

PZArray GLS.zBuffer

P_cl_context GLS.VectorTypes

P_cl_event GLS.VectorTypes

QWORD Sounds.BASSImport

RECORDPROC Sounds.BASSImport

DSP callback function. NOTE: A DSP function should obviously be as quick as possible... other DSP functions, streams and MOD musics can not be processed until it's finished. handle : The DSP handle channel: Channel that the DSP is being applied to buffer : Buffer to apply the DSP to length : Number of bytes in the buffer user : The 'user' parameter given when calling BASS_ChannelSetDSP
SDL_HintPriority SDL2.Import

/** * \brief An enumeration of hint priorities */
ShortElement CUDA.DataAccess

SInt16 SDL2.Import

SInt32 SDL2.Import

SInt64 SDL2.Import

SInt8 SDL2.Import

size_t SDL2.Import

STREAMPROC Sounds.BASSImport

callback function types
String3DS Formats.m3DSTypes

String64 Formats.m3DSTypes

StringCG Cg.Import

SYNCPROC Sounds.BASSImport

Internet stream download callback function. buffer : Buffer containing the downloaded data... NULL=end of download length : Number of bytes in the buffer user : The 'user' parameter value given when calling BASS_StreamCreateURL
T1DPerlinArray GLS.Perlin

T2DPerlinArray GLS.Perlin

T48BitBlock GLS.ImageUtils

T4ByteArrayList GLS.VectorLists

TAABBCorners GLS.GeometryBB

Structure for storing the corners of an AABB, used with ExtractAABBCorners
TAABBOverlapEvent Physics.NGDManager

TAArray GLS.zBuffer

TAArrayIdx GLS.zBuffer

TAffineByteMatrix GLS.VectorGeometry

TAffineByteVector GLS.VectorGeometry

TAffineDblMatrix GLS.VectorGeometry

TAffineDblVector GLS.VectorGeometry

TAffineExtMatrix GLS.VectorGeometry

TAffineExtVector GLS.VectorGeometry

TAffineFltMatrix GLS.VectorGeometry

TAffineFltVector GLS.VectorGeometry

TAffineIntMatrix GLS.VectorGeometry

TAffineIntVector GLS.VectorGeometry

TAffineMatrix GLS.VectorGeometry

TAffinePtrVector GLS.VectorGeometry

TAffineVector GLS.VectorGeometry

TAffineVectorArray GLS.VectorGeometry

TAffineWordMatrix GLS.VectorGeometry

TAffineWordVector GLS.VectorGeometry

TAFIOCreateFileStream GLS.ApplicationFileIO

TAFIOFileStreamEvent GLS.ApplicationFileIO

TAFIOFileStreamExists GLS.ApplicationFileIO

TAFIOFileStreamExistsEvent GLS.ApplicationFileIO

TALbitfield Sounds.OpenALImport

OpenAL bitfields.
TALboolean Sounds.OpenALImport

OpenAL boolean type.
TALbyte Sounds.OpenALImport

OpenAL 8bit signed byte.
TALCboolean Sounds.OpenALImport

ALC boolean type.
TALCbyte Sounds.OpenALImport

ALC 8bit signed byte.
TALCchar Sounds.OpenALImport

ALC character type
TALCcontext Sounds.OpenALImport

ALC context
TALCdevice Sounds.OpenALImport

ALC device
TALCdouble Sounds.OpenALImport

ALC 64bit double point type.
TALCenum Sounds.OpenALImport

ALC enumerations.
TALCfloat Sounds.OpenALImport

ALC 32bit floating point type.
TALchar Sounds.OpenALImport

character
TALCint Sounds.OpenALImport

ALC 32bit signed integer type.
TALclampd Sounds.OpenALImport

Openal clamped double.
TALclampf Sounds.OpenALImport

OpenAL clamped float.
TALCshort Sounds.OpenALImport

ALC 16bit signed short integer type.
TALCsizei Sounds.OpenALImport

ALC 32bit type.
TALCubyte Sounds.OpenALImport

ALC 8bit unsigned byte.
TALCuint Sounds.OpenALImport

ALC 32bit unsigned integer type.
TALCushort Sounds.OpenALImport

ALC 16bit unsigned short integer type.
TALCvoid Sounds.OpenALImport

ALC void type
TALdouble Sounds.OpenALImport

OpenAL 64bit double point type.
TALenum Sounds.OpenALImport

OpenAL enumerations.
TALfloat Sounds.OpenALImport

OpenAL 32bit floating point type.
TALint Sounds.OpenALImport

OpenAL 32bit signed integer type.
TALshort Sounds.OpenALImport

OpenAL 16bit signed short integer type.
TALsizei Sounds.OpenALImport

OpenAL 32bit type.
TALuByte Sounds.OpenALImport

OpenAL 8bit unsigned byte.
TALuint Sounds.OpenALImport

OpenAL 32bit unsigned integer type.
TALushort Sounds.OpenALImport

OpenAL 16bit unsigned short integer type.
TALvoid Sounds.OpenALImport

OpenAL void type
TANG4 Formats.LWO

TApplyForceAndTorqueEvent Physics.NGDManager

TArrowArcPart GLS.GeomObjects

TASETextureMap GLS.FileASE

TAtmosphereType3DS Formats.m3DSTypes

TAVICompressor GLS.AVIRecorder

TAVIFileInfo Formats.VFW

TAVIImageRetrievalMode GLS.AVIRecorder

Image retrieval mode for frame capture. Following modes are supported: irmSnapShot : retrieve OpenGL framebuffer content using glReadPixels irmRenderToBitmap : renders the whole scene to a bitmap, this is the slowest mode, but it won't be affected by driver-side specifics. irmBitBlt : tranfers the framebuffer using the BitBlt function, usually the fastest solution
TAVIRecorderPostProcessEvent GLS.AVIRecorder

TAVIRecorderState GLS.AVIRecorder

TAVISAVECALLBACK Formats.VFW

TAVISizeRestriction GLS.AVIRecorder

Frame size restriction. Forces frame dimensions to be a multiple of 2, 4, or 8. Some compressors require this. e.g. DivX 5.2.1 requires mutiples of 2.
TAVIStreamInfo Formats.VFW

TB3DChunkType Formats.B3D

TBackgroundType3DS Formats.m3DSTypes

enumerate list of possible backgrounds used in file
TBaseListOption GLS.VectorLists

TBaseListOptions GLS.VectorLists

TBASS3DAlgorithm Sounds.BASS

TBASSModuleHandle Sounds.BASSImport

This function is defined in the implementation part of this unit. It is not part of BASS.DLL but an extra function which makes it easier to set the predefined EAX environments. env : a EAX_ENVIRONMENT_xxx constant
TBASS_PLUGINFORMS Sounds.BASSImport

TBitmapBgnd3DS Formats.m3DSTypes

TBodyFlags Physics.ODEImport

Change: New Type added, syntax enforcement
TBorderType GLS.Memo

TBSPBBox Formats.Q3BSP

TBSplineContinuity GLS.CurvesAndSurfaces

TBSPRenderSort GLS.MeshBSP

TBumpMethod GLSL.BumpShaders

TBumpOption GLSL.BumpShaders

TBumpOptions GLSL.BumpShaders

Enable parallax offset mapping
TBumpSpace GLSL.BumpShaders

TByteArray GLS.HeightData

to CreateMonochromeBitmap
TByteMatrixArr GLS.Isolines

TByteRaster GLS.HeightData

TByteVector GLS.VectorGeometry

TByteVectorArr GLS.Isolines

TCalcPointEvent GLS.ThorFX

TCAPCONTROLCALLBACK Formats.VFW

TCAPERRORCALLBACK Formats.VFW

TCAPERRORCALLBACKA Formats.VFW

TCAPERRORCALLBACKW Formats.VFW

TCAPSTATUSCALLBACK Formats.VFW

TCAPSTATUSCALLBACKA Formats.VFW

TCAPSTATUSCALLBACKW Formats.VFW

TCAPVIDEOCALLBACK Formats.VFW

TCAPWAVECALLBACK Formats.VFW

TCAPYIELDCALLBACK Formats.VFW

– Callback definitions —————————————————–
TCardinalArray Formats.m3DSTypes

TCardinalVector GLS.VectorGeometry

TCastArray GLS.Isolines

TCgApplyEvent Cg.Shader

TCGbool Cg.Import

TCGenum Cg.Import

"Connecting the parameters failed because The type of the source parameter is not defined within the given program or does not match the type with the same name in the program."
TCGerror Cg.Import

TCGerrorCallbackFunc Cg.Import

TCgFPProfile Cg.Shader

Available fragment program profile
TCGGLenum Cg.GL

***************************************************************************
TCGprofile Cg.Import

* The following macro invocations define the supported CG profiles. * * The macros have the form : * * CG_PROFILE_MACRO(name, compiler_id, compiler_opt) * * name : The name of the profile. Used consistently with the API. * compiler_id : The identifier string for the profile used by the compiler. * compiler_id_caps : compiler_id in caps. * compiler_opt : The command-line switch used to force compilation into * the profile. * int_id : Integer enumerant associated with this bind location. * vertex_profile : Non-zero if this is a vertex profile, otherwise it * is considered to be a fragment profile. * *
TcgProgramType Cg.Shader

TCGresource Cg.Import

* The following macro invocations define the supported CG basic hardware * bind locations. * * The macros have the form : * * CG_BINDLOCATION_MACRO(name, compiler_name, enum_int) * * name : The name of the location. * enum_name : The C enumerant. * compiler_name : The name of the location within the compiler syntax. * int_id : Integer enumerant associated with this bind location. * addressable : The bind location must have an integer address * associated with it. * ParamType : the cgParamType of this register. *
TCgShaderEvent Cg.Shader

TCGtype Cg.Import

* The following macro invocations define the supported CG basic data types. * * The macros have the form : * * CG_DATATYPE_MACRO(name, compiler_name, nrows, ncols) * * name : The name of the data type. * compiler_name : The name of the data type within the compiler syntax. * enum_name : The C enumerant. * nrows : Number of rows for matrix types. Should be 0 other-wise. * ncols : Number of columns for matrix types. Should be 0 * other-wise. *
TCgUnApplyEvent Cg.Shader

TCgVPProfile Cg.Shader

Available vertex program profile
TChunkList Formats.m3DSTypes

TClose SDL2.Import

** * Close and free an allocated SDL_RWops structure. * * 0 if successful or -1 on write error when flushing data. *
Tcl_addressing_mode OpenCL.Import

Tcl_bitfield OpenCL.Import

Tcl_bool OpenCL.Import

Tcl_buffer_create_type OpenCL.Import

Tcl_build_status OpenCL.Import

Tcl_channel_order OpenCL.Import

Tcl_channel_type OpenCL.Import

Tcl_char OpenCL.Platform

scalar types
Tcl_char16 OpenCL.Platform

Tcl_char2 OpenCL.Platform

* Vector types * * Note: OpenCL requires that all types be naturally aligned. * This means that vector types must be naturally aligned. * For example, a vector of four floats must be aligned to * a 16 byte boundary (calculated as 4 * the natural 4-byte * alignment of the float). The alignment qualifiers here * will only function properly if your compiler supports them * and if you don't actively work to defeat them. For example, * in order for a cl_float4 to be 16 byte aligned in a struct, * the start of the struct must itself be 16-byte aligned. * * Maintaining proper alignment is the user's responsibility.
Tcl_char4 OpenCL.Platform

Tcl_char8 OpenCL.Platform

Tcl_command_queue OpenCL.Import

Tcl_command_queue_info OpenCL.Import

Tcl_command_queue_properties OpenCL.Import

Tcl_command_type OpenCL.Import

Tcl_context OpenCL.Import

Tcl_context_info OpenCL.Import

Tcl_context_notify OpenCL.Import

CL_API_SUFFIX__VERSION_2_1 * Context APIs *//
Tcl_context_properties OpenCL.Import

Tcl_destructor_notify OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
Tcl_device_affinity_domain OpenCL.Import

Tcl_device_exec_capabilities OpenCL.Import

Tcl_device_fp_config OpenCL.Import

Tcl_device_id OpenCL.Import

Tcl_device_info OpenCL.Import

Tcl_device_local_mem_type OpenCL.Import

Tcl_device_mem_cache_type OpenCL.Import

Tcl_device_partition_property OpenCL.Import

Tcl_device_svm_capabilities OpenCL.Import

Tcl_device_type OpenCL.Import

Tcl_double OpenCL.Platform

Tcl_double16 OpenCL.Platform

Tcl_double2 OpenCL.Platform

Tcl_double4 OpenCL.Platform

Tcl_double8 OpenCL.Platform

Tcl_EnqueueNativeKernel OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
Tcl_EnqueueSVM_fn OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
Tcl_event OpenCL.Import

Tcl_event_info OpenCL.Import

Tcl_event_notify OpenCL.Import

CL_API_SUFFIX__VERSION_1_1
Tcl_filter_mode OpenCL.Import

Tcl_float OpenCL.Platform

Tcl_float16 OpenCL.Platform

Tcl_float2 OpenCL.Platform

Tcl_float4 OpenCL.Platform

Tcl_float8 OpenCL.Platform

Tcl_gl_context_info OpenCL.GL

Tcl_gl_object_type OpenCL.GL

Tcl_gl_platform_info OpenCL.GL

Tcl_gl_texture_info OpenCL.GL

Tcl_half OpenCL.Platform

Tcl_image_info OpenCL.Import

Tcl_int OpenCL.Platform

Tcl_int16 OpenCL.Platform

Tcl_int2 OpenCL.Platform

Tcl_int4 OpenCL.Platform

Tcl_int8 OpenCL.Platform

Tcl_kernel OpenCL.Import

Tcl_kernel_arg_access_qualifier OpenCL.Import

Tcl_kernel_arg_address_qualifier OpenCL.Import

Tcl_kernel_arg_info OpenCL.Import

Tcl_kernel_arg_type_qualifier OpenCL.Import

Tcl_kernel_exec_info OpenCL.Import

Tcl_kernel_info OpenCL.Import

Tcl_kernel_sub_group_info OpenCL.Import

Tcl_kernel_work_group_info OpenCL.Import

Tcl_long OpenCL.Platform

Tcl_long16 OpenCL.Platform

Tcl_long2 OpenCL.Platform

Tcl_long4 OpenCL.Platform

Tcl_long8 OpenCL.Platform

Tcl_map_flags OpenCL.Import

Tcl_mem OpenCL.Import

Tcl_mem_flags OpenCL.Import

Tcl_mem_info OpenCL.Import

Tcl_mem_migration_flag OpenCL.Import

Tcl_mem_object_type OpenCL.Import

Tcl_pipe_info OpenCL.Import

Tcl_pipe_properties OpenCL.Import

Tcl_platform_id OpenCL.Import

Tcl_platform_info OpenCL.Import

Tcl_profiling_info OpenCL.Import

Tcl_program OpenCL.Import

Tcl_programbuilt_notify OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
Tcl_program_binary_type OpenCL.Import

Tcl_program_build_info OpenCL.Import

Tcl_program_info OpenCL.Import

Tcl_queue_properties OpenCL.Import

Tcl_sampler OpenCL.Import

Tcl_sampler_info OpenCL.Import

Tcl_sampler_properties OpenCL.Import

Tcl_short OpenCL.Platform

Tcl_short16 OpenCL.Platform

Tcl_short2 OpenCL.Platform

Tcl_short4 OpenCL.Platform

Tcl_short8 OpenCL.Platform

Tcl_svm_mem_flags OpenCL.Import

Tcl_uchar OpenCL.Platform

Tcl_uchar16 OpenCL.Platform

Tcl_uchar2 OpenCL.Platform

Tcl_uchar4 OpenCL.Platform

Tcl_uchar8 OpenCL.Platform

Tcl_uint OpenCL.Platform

Tcl_uint16 OpenCL.Platform

Tcl_uint2 OpenCL.Platform

Tcl_uint4 OpenCL.Platform

Tcl_uint8 OpenCL.Platform

Tcl_ulong OpenCL.Platform

Tcl_ulong16 OpenCL.Platform

Tcl_ulong2 OpenCL.Platform

Tcl_ulong4 OpenCL.Platform

Tcl_ulong8 OpenCL.Platform

Tcl_ushort OpenCL.Platform

Tcl_ushort16 OpenCL.Platform

Tcl_ushort2 OpenCL.Platform

Tcl_ushort4 OpenCL.Platform

Tcl_ushort8 OpenCL.Platform

TCollisionBoundingMode GLS.Collision

Defines how fine collision bounding is for a particular object. Possible values are : cbmPoint : the object is punctual and may only collide with volumes cbmSphere : the object is defined by its bounding sphere (radius is the max of axis-aligned dimensions) cbmEllipsoid the object is defined by its bounding axis-aligned ellipsoid cbmCube : the object is defined by a bounding axis-aligned "cube" cbmFaces : the object is defined by its faces (needs object-level support, if unavailable, uses cbmCube code)
TCollisionConstraintTypes GLS.VerletTypes

TCollisionConstraintTypesSet GLS.VerletTypes

TCollisionIteratorEvent Physics.NGDManager

Events for Newton Callback
TColr12 Formats.LWO

TColr12DynArray Formats.LWO

TColr4 Formats.LWO

TCombinerCache GLS.TextureCombiners

TCommand GLS.Memo

TCompressionLevel GLS.ArchiveManager

TConeStyle3DS Formats.m3DSTypes

Spotlight projection cone shape
TContactProcessEvent Physics.NGDManager

TCSGOperation GLS.MeshCSG

TCuAddresMode CUDA.APIComps

TCUaddress_mode CUDA.Import

Texture reference addressing modes
TcuArray3DCreate CUDA.Import

TcuArray3DGetDescriptor CUDA.Import

TcuArrayCreate CUDA.Import

TcuArrayDestroy CUDA.Import

TcuArrayGetDescriptor CUDA.Import

TCUarray_cubemap_face CUDA.Import

Array indices for cube faces
TCUarray_format CUDA.Import

Array formats
TCubicSplineMatrix GLS.Spline

Platform Specific

by default, GLX is not supported on windows, although windows implementations do exist .NET
TCUcomputemode CUDA.Import

Compute Modes
TcuCtxAttach CUDA.Import

TcuCtxCreate CUDA.Import

TcuCtxDestroy CUDA.Import

TcuCtxDetach CUDA.Import

TcuCtxGetDevice CUDA.Import

TcuCtxPopCurrent CUDA.Import

TcuCtxPushCurrent CUDA.Import

TcuCtxSynchronize CUDA.Import

TCUctx_flags CUDA.Import

Context creation flags
TCUDAChange CUDA.APIComps

TCUDAChanges CUDA.APIComps

TCudaChannelFormatKind CUDA.Runtime

+//DEVICE_BUILTIN*/
TCUDAChannelNum CUDA.APIComps

TCUDAChannelType CUDA.APIComps

TCUDAComponentClass CUDA.APIComps

TCUDAContextList CUDA.Context

TCUDADeviceList CUDA.Context

TcudaError CUDA.Runtime

TCUDAFFTdir CUDA.FFTPlan

TCUDAFFTransform CUDA.FFTPlan

TcudaFuncCache CUDA.Import

* * CUDA function cache configurations
TCudaGLMapFlags CUDA.Runtime

TCUDAHandleList CUDA.Context

TcudaLimit CUDA.Import

* * CUDA Limits
TCUDAMapping CUDA.APIComps

TcudaMemcpyKind CUDA.Runtime

+//DEVICE_BUILTIN*/
TCUDAMemMapFlag CUDA.APIComps

TCUDAMemMapFlags CUDA.APIComps

Fast write, slow read
TCUDAMemType CUDA.APIComps

TcudaRoundMode CUDA.FourierTransform

TcudaTextureAddressMode CUDA.Runtime

TcudaTextureFilterMode CUDA.Runtime

TcudaTextureReadMode CUDA.Runtime

TCUDAType CUDA.Parser

TCUdevice CUDA.Import

CUDA device
TcuDeviceComputeCapability CUDA.Import

TcuDeviceGet CUDA.Import

TcuDeviceGetAttribute CUDA.Import

TcuDeviceGetCount CUDA.Import

TcuDeviceGetName CUDA.Import

TcuDeviceGetProperties CUDA.Import

TCUdeviceptr CUDA.Import

CUDA device pointer
TcuDeviceTotalMem CUDA.Import

TCUdevice_attribute CUDA.Import

Device properties
TCUDPPAlgorithm CUDA.ParallelPrimitives

Maximum of two operands
TCUDPPDatatype CUDA.ParallelPrimitives

Each key has an associated value
TCUDPPHandle CUDA.ParallelPrimitives

TCUDPPOperator CUDA.ParallelPrimitives

Float type (C float)
TCUDPPOption CUDA.ParallelPrimitives

Unknown or untraceable error.
TCUDPPResult CUDA.ParallelPrimitives

TcuDriverGetVersion CUDA.Import

TcuEventCreate CUDA.Import

TcuEventDestroy CUDA.Import

TcuEventElapsedTime CUDA.Import

TcuEventQuery CUDA.Import

TcuEventRecord CUDA.Import

TcuEventSynchronize CUDA.Import

TCUevent_flags CUDA.Import

Event creation flags
TcufftCompatibility CUDA.FourierTransform

Certain R2C and C2R transforms go much more slowly when FFTW memory layout and behaviour is required. The default is "best performance", which means not-compatible-with-fftw. Use the cufftSetCompatibilityMode API to enable exact FFTW-like behaviour.

These flags can be ORed together to select precise FFTW compatibility behaviour. The two levels presently supported are:

CUFFT_COMPATIBILITY_FFTW_PADDING Inserts extra padding between packed in-place transforms for batched transforms with power-of-2 size.

CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC Guarantees FFTW-compatible output for non-symmetric complex inputs for transforms with power-of-2 size. This is only useful for artificial (i.e. random) datasets as actual data will always be symmetric if it has come from the real plane. If you don't understand what this means, you probably don't have to use it.

CUFFT_COMPATIBILITY_FFTW For convenience, enables all FFTW compatibility modes at once.
TcufftComplex CUDA.FourierTransform

TcufftDestroy CUDA.FourierTransform

TcufftDoubleComplex CUDA.FourierTransform

TcufftDoubleReal CUDA.FourierTransform

TcufftExecC2C CUDA.FourierTransform

TcufftExecC2R CUDA.FourierTransform

TcufftExecD2Z CUDA.FourierTransform

TcufftExecR2C CUDA.FourierTransform

TcufftExecZ2D CUDA.FourierTransform

TcufftExecZ2Z CUDA.FourierTransform

TcufftHandle CUDA.FourierTransform

CUFFT API function return values CUFFT defines and supports the following data types cufftHandle is a handle type used to store and access CUFFT plans.
TcufftPlan1d CUDA.FourierTransform

TcufftPlan2d CUDA.FourierTransform

TcufftPlan3d CUDA.FourierTransform

TcufftPlanMany CUDA.FourierTransform

TcufftReal CUDA.FourierTransform

TcufftRealfloat CUDA.FourierTransform

TcufftResult CUDA.FourierTransform

TcufftSetCompatibilityMode CUDA.FourierTransform

TcufftSetStream CUDA.FourierTransform

TcufftType CUDA.FourierTransform

TCuFilterMode CUDA.APIComps

TCUfilter_mode CUDA.Import

Texture reference filtering modes
TcuFuncGetAttribute CUDA.Import

TcuFuncSetBlockShape CUDA.Import

TcuFuncSetSharedSize CUDA.Import

TCUfunction_attribute CUDA.Import

Function properties
TcuGLCtxCreate CUDA.Import

TcuGLInit CUDA.Import

TcuGLMapBufferObject CUDA.Import

TcuGLMapBufferObjectAsync CUDA.Import

TCUGLmap_flags CUDA.Import

Flags to map or unmap a resource
TcuGLRegisterBufferObject CUDA.Import

TcuGLSetBufferObjectMapFlags CUDA.Import

TcuGLUnmapBufferObject CUDA.Import

TcuGLUnmapBufferObjectAsync CUDA.Import

TcuGLUnregisterBufferObject CUDA.Import

TcuGraphicsGLRegisterBuffer CUDA.Import

TcuGraphicsGLRegisterImage CUDA.Import

TCUgraphicsMapResourceFlags CUDA.Import

Flags for mapping and unmapping interop resources
TcuGraphicsMapResources CUDA.Import

TCUgraphicsRegisterFlags CUDA.Import

Flags to register a graphics resource
TcuGraphicsResourceGetMappedPointer CUDA.Import

TcuGraphicsResourceSetMapFlags CUDA.Import

TcuGraphicsSubResourceGetMappedArray CUDA.Import

TcuGraphicsUnmapResources CUDA.Import

TcuGraphicsUnregisterResource CUDA.Import

TcuInit CUDA.Import

TCUjit_fallback CUDA.Import

Cubin matching fallback strategies
TCUjit_option CUDA.Import

Online compiler options
TCUjit_target CUDA.Import

Online compilation targets
TcuLaunch CUDA.Import

TcuLaunchGrid CUDA.Import

TcuLaunchGridAsync CUDA.Import

TCullingMode GLS.SpacePartition

TcuMemAlloc CUDA.Import

TcuMemAllocHost CUDA.Import

TcuMemAllocPitch CUDA.Import

TcuMemcpy2D CUDA.Import

TcuMemcpy2DAsync CUDA.Import

TcuMemcpy2DUnaligned CUDA.Import

TcuMemcpy3D CUDA.Import

TcuMemcpy3DAsync CUDA.Import

TcuMemcpyAtoA CUDA.Import

TcuMemcpyAtoD CUDA.Import

TcuMemcpyAtoH CUDA.Import

TcuMemcpyAtoHAsync CUDA.Import

TcuMemcpyDtoA CUDA.Import

TcuMemcpyDtoD CUDA.Import

TcuMemcpyDtoDAsync CUDA.Import

TcuMemcpyDtoH CUDA.Import

TcuMemcpyDtoHAsync CUDA.Import

TcuMemcpyHtoA CUDA.Import

TcuMemcpyHtoAAsync CUDA.Import

TcuMemcpyHtoD CUDA.Import

TcuMemcpyHtoDAsync CUDA.Import

TcuMemFree CUDA.Import

TcuMemFreeHost CUDA.Import

TcuMemGetAddressRange CUDA.Import

TcuMemGetInfo CUDA.Import

TcuMemHostAlloc CUDA.Import

TcuMemHostGetDevicePointer CUDA.Import

TcuMemHostGetFlags CUDA.Import

TCUmemorytype CUDA.Import

Memory types
TcuMemsetD16 CUDA.Import

TcuMemsetD2D16 CUDA.Import

TcuMemsetD2D32 CUDA.Import

TcuMemsetD2D8 CUDA.Import

TcuMemsetD32 CUDA.Import

TcuMemsetD8 CUDA.Import

TcuModuleGetFunction CUDA.Import

TcuModuleGetGlobal CUDA.Import

TcuModuleGetTexRef CUDA.Import

TcuModuleLoad CUDA.Import

TcuModuleLoadData CUDA.Import

TcuModuleLoadDataEx CUDA.Import

TcuModuleLoadFatBinary CUDA.Import

TcuModuleUnload CUDA.Import

TcuParamSetf CUDA.Import

TcuParamSeti CUDA.Import

TcuParamSetSize CUDA.Import

TcuParamSetTexRef CUDA.Import

TcuParamSetv CUDA.Import

TCUresult CUDA.Import

************************************ ** ** Error codes ** ***********************************/ Error codes
TcuStreamCreate CUDA.Import

TcuStreamDestroy CUDA.Import

TcuStreamQuery CUDA.Import

TcuStreamSynchronize CUDA.Import

TcuTexRefCreate CUDA.Import

TcuTexRefDestroy CUDA.Import

TcuTexRefGetAddress CUDA.Import

TcuTexRefGetAddressMode CUDA.Import

TcuTexRefGetArray CUDA.Import

TcuTexRefGetFilterMode CUDA.Import

TcuTexRefGetFlags CUDA.Import

TcuTexRefGetFormat CUDA.Import

TcuTexRefSetAddress CUDA.Import

TcuTexRefSetAddress2D CUDA.Import

TcuTexRefSetAddressMode CUDA.Import

TcuTexRefSetArray CUDA.Import

TcuTexRefSetFilterMode CUDA.Import

TcuTexRefSetFlags CUDA.Import

TcuTexRefSetFormat CUDA.Import

TcuWGLGetDevice CUDA.Import

Td3Axis Physics.ODEImport

TdAABB Physics.ODEImport

No typedef for AABB
TdAABBTestFn Physics.ODEImport

TdAngularMotorModeNumbers Physics.ODEImport

TDBType3DS Formats.m3DSTypes

Database type settings
TDCECollisionEvent GLS.DCE

TDCECollisionSelection GLS.DCE

Indicates which type of layer comparison is made when trying to detect collisions between 2 bodies (A and B). Possible values are: ccsDCEStandard: Collides bodies if A.layer <= B.layer ccsCollisionStandard: Collides bodies if either A or B have layer equal to zero or if their layers are different. ccsHybrid: Collides bodies if either one of the previous checks would pass (i.e. if the layer of either body is equal to 0 or if A.layer <= B.layer) *and* if both layers are positive (that is, turns off collision for bodies whose layer is < 0)
TDCEObjectCollisionEvent GLS.DCE

TDCEShape GLS.DCE

Only csEllipsoid can have dynamic behaviour
TDCESlideOrBounce GLS.DCE

TdColliderFn Physics.ODEImport

TDComplete GLS.Triangulation

TdContactType Physics.ODEImport

Change: New Type added, syntax enforcement
TDebugProc GLS.OpenGLTokens

TDebugProcAMD GLS.OpenGLTokens

TDEdges GLS.Triangulation

TDelimiters GLS.Memo

TdErrorType Physics.ODEImport

TDeSerializeEvent Physics.NGDManager

TDESolverType Physics.SPIManager

only ssEuler is usable at the moment
TdGeomDtorFn Physics.ODEImport

TdGetAABBFn Physics.ODEImport

TdGetColliderFnFn Physics.ODEImport

TDim3 CUDA.Import

TdInteger3 Physics.ODEImport

TdIntegerArray Physics.ODEImport

Tri-list collider
TDirPlan GLS.GeometryBB

TdJointGroupID Physics.ODEImport

TdJointID Physics.ODEImport

TdJointTypeNumbers Physics.ODEImport

TDlInnerRange Formats.m3DSTypes

TDlMultiplier Formats.m3DSTypes

TDlOuterRange Formats.m3DSTypes

TDlRayBias Formats.m3DSTypes

TDlSpotAspect Formats.m3DSTypes

TDlSpotRoll Formats.m3DSTypes

TdMatrix3 Physics.ODEImport

typedef dReal dMatrix3[4*3];
TdMatrix3_As3x4 Physics.ODEImport

TdMatrix4 Physics.ODEImport

typedef dReal dMatrix4[4*4];
TdMatrix6 Physics.ODEImport

typedef dReal dMatrix6[8*6];
TdMovedCallback Physics.ODEImport

Whenever a body has its position or rotation changed during the timestep, the callback will be called (with body as the argument). Use it to know which body may need an update in an external structure (like a 3D engine).
TdNearCallback Physics.ODEImport

Collission callback structure
TDoubleArray GLS.Polynomials

TDoubleArrayList GLS.VectorLists

TDoubleHmgPlane GLS.VectorGeometry

TDoubleVector GLS.VectorGeometry

TDProgressEvent GLS.Triangulation

TdQuaternion Physics.ODEImport

typedef dReal dQuaternion[4];
TDrawState GLS.RenderContextInfo

TdReal Physics.ODEImport

body is not influenced by gravity
TdRealArray Physics.ODEImport

TdRealHugeArray Physics.ODEImport

TDTriangle GLS.Triangulation

TdTriArrayCallback Physics.ODEImport

Per object callback. Allows the user to get the list of triangles in 1 shot. Maybe we should remove this one.
TdTriCallback Physics.ODEImport

Per triangle callback. Allows the user to say if he wants a collision with a particular triangle.
TdTriRayCallback Physics.ODEImport

Allows the user to say if a ray collides with a triangle on barycentric coords. The user can for example sample a texture with alpha transparency to determine if a collision should occur.
TDumpLevel Formats.m3DSTypes

for TStringList —————- commonly used structures ———————————-
TdVector3 Physics.ODEImport

typedef dReal dVector33[4];
TdVector3Array Physics.ODEImport

TdVector4 Physics.ODEImport

typedef dReal dVector4[4];
TDVertex GLS.Triangulation

TdxJointLimitMotor3 Physics.ODEImport

TdxJointNull Physics.ODEImport

TdxSimpleSpace Physics.ODEImport

Copies settings from TdxSpace, beacause pascal doeasn't do inheritance for records
TEarthSkydomeOption GLS.SkyDome

TEarthSkydomeOptions GLS.SkyDome

TEaseType GLS.AnimationUtils

TECColliderList GLS.EllipseCollision

TECColliderShape GLS.EllipseCollision

TECContactList GLS.EllipseCollision

TECFreeFormList GLS.EllipseCollision

TECTriMeshList GLS.EllipseCollision

TEnumCallBack GLS.PlugInManager

TEnumResourceNames GLS.PlugInManager

TEulerOrder GLS.VectorGeometry

—————————————————————————- Quaternion functions —————————————————————————-
TExtendedVector GLS.VectorGeometry

TF4 Formats.LWO

TF4Array Formats.LWO

TF4DynArray Formats.LWO

TFaceList Formats.m3DSTypes

TFastCollisionChecker GLS.Collision

TFColorList Formats.m3DSTypes

TFeedBackMeshLaunching CUDA.Graphics

TFeedBackMeshPrimitive CUDA.Graphics

TFilterType3DS Formats.m3DSTypes

TFindCuFileFunc CUDA.Compiler

TFloatPercentage Formats.m3DSTypes

TFloatVector GLS.VectorGeometry

TFMetaDataCallback Sounds.FMODtypes

TFModErrors Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] On failure of commands in FMOD, use FSOUND_GetError to attain what happened.

[SEE_ALSO] FSOUND_GetError ]
TFMusicCallback Sounds.FMODtypes

TFMusicTypes Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These definitions describe the type of song being played.

[SEE_ALSO] FMUSIC_GetType ]
TFogDistance GLS.Scene

Fog distance calculation mode. fdDefault: let OpenGL use its default formula fdEyeRadial: uses radial "true" distance (best quality) fdEyePlane: uses the distance to the projection plane (same as Z-Buffer, faster) Requires support of GL_NV_fog_distance extension, otherwise, it is ignored.
TFogMode GLS.Scene

TFOURCC Formats.DXTC

TFSoundAllocCallback Sounds.FMODtypes

TFSoundCloseCallback Sounds.FMODtypes

TFSoundDSPCallback Sounds.FMODtypes

TFSoundFreeCallback Sounds.FMODtypes

TFSoundFXModes Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These values are used with FSOUND_FX_Enable to enable DirectX 8 FX for a channel.

[SEE_ALSO] FSOUND_FX_Enable FSOUND_FX_Disable FSOUND_FX_SetChorus FSOUND_FX_SetCompressor FSOUND_FX_SetDistortion FSOUND_FX_SetEcho FSOUND_FX_SetFlanger FSOUND_FX_SetGargle FSOUND_FX_SetI3DL2Reverb FSOUND_FX_SetParamEQ FSOUND_FX_SetWavesReverb ]
TFSoundMixerTypes Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These mixer types are used with FSOUND_SetMixer, to choose which mixer to use, or to act upon for other reasons using FSOUND_GetMixer. It is not necessary to set the mixer. FMOD will autodetect the best mixer for you.

[SEE_ALSO] FSOUND_SetMixer FSOUND_GetMixer ]
TFSoundOpenCallback Sounds.FMODtypes

TFSoundOutputTypes Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These output types are used with FSOUND_SetOutput, to choose which output driver to use.

FSOUND_OUTPUT_DSOUND will not support hardware 3d acceleration if the sound card driver does not support DirectX 6 Voice Manager Extensions.

FSOUND_OUTPUT_WINMM is recommended for NT and CE.

[SEE_ALSO] FSOUND_SetOutput FSOUND_GetOutput ]
TFSoundReadCallback Sounds.FMODtypes

TFSoundReallocCallback Sounds.FMODtypes

TFSoundSeekCallback Sounds.FMODtypes

TFSoundSpeakerModes Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These are speaker types defined for use with the FSOUND_SetSpeakerMode command. Note - Only reliably works with FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_XBOX output modes. Other output modes will only interpret FSOUND_SPEAKERMODE_MONO and set everything else to be stereo.

[SEE_ALSO] FSOUND_SetSpeakerMode

[REMARKS] Note - Only reliably works with FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_XBOX output modes. Other output modes will only interpret FSOUND_SPEAKERMODE_MONO and set everything else to be stereo.

Using either DolbyDigital or DTS will use whatever 5.1 digital mode is available if destination hardware is unsure. ]
TFSoundStreamCallback Sounds.FMODtypes

Callback types
TFSoundStreamNetStatus Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] Status values for internet streams. Use FSOUND_Stream_Net_GetStatus to get the current status of an internet stream.

[SEE_ALSO] FSOUND_Stream_Net_GetStatus ]
TFSoundTagFieldType Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] Describes the type of a particular tag field.

[SEE_ALSO] FSOUND_Stream_GetNumTagFields FSOUND_Stream_GetTagField FSOUND_Stream_FindTagField ]
TFSoundTellCallback Sounds.FMODtypes

TFXPointerList GLS.ParticleFX

TGetDescription GLS.PlugInManager

TGetLineAttrsEvent GLS.Memo

TGetServices GLS.PlugInManager

TGetTerrainBoundsEvent GLS.TerrainRenderer

TGetVendor GLS.PlugInManager

TGetVersion GLS.PlugInManager

TGLABone Formats.GL2

TGLAcceptMouseQuery GLS.Windows

TGLACompQuatBone Formats.GL2

TGLActiveAttribArray GLSL.Shader

TGLActorAnimationMode GLS.VectorFileObjects

Defines how an actor plays between its StartFrame and EndFrame. aamNone : no animation is performed aamPlayOnce : play from current frame to EndFrame, once end frame has been reached, switches to aamNone aamLoop : play from current frame to EndFrame, once end frame has been reached, sets CurrentFrame to StartFrame aamBounceForward : play from current frame to EndFrame, once end frame has been reached, switches to aamBounceBackward aamBounceBackward : play from current frame to StartFrame, once start frame has been reached, switches to aamBounceForward aamExternal : Allows for external animation control
TGLActorAnimationName GLS.VectorFileObjects

TGLActorAnimationReference GLS.VectorFileObjects

TGLActorFrameInterpolation GLS.VectorFileObjects

Actor frame-interpolation mode. - afpNone : no interpolation, display CurrentFrame only - afpLinear : perform linear interpolation between current and next frame
TGLActorOption GLS.VectorFileObjects

Miscellanious actor options. aoSkeletonNormalizeNormals : if set the normals of a skeleton-animated mesh will be normalized, this is not required if no normals-based texture coordinates generation occurs, and thus may be unset to improve performance.
TGLActorOptions GLS.VectorFileObjects

TGLActorProxyAnimationMode GLS.ProxyObjects

pamLoop mode was too difficalt to implement, so it was discarded ...for now. pamPlayOnce only works if Actor.AnimationMode <> aamNone.
TGLAdvancedBlurImagePrepareEvent GLS.Blur

TGlAlphaFunc GLS.Material

TGLAngleLimit180 GLS.Objects

TGLAngleLimit360 GLS.Objects

TGLAnnulusPart GLS.GeomObjects

TGLAnnulusParts GLS.GeomObjects

TGLAntiAliasing GLS.Context

TGLApplicationResource GLS.ApplicationFileIO

TGLArcDirection GLS.Canvas

TGLArrowArcPart GLS.GeomObjects

TGLArrowHeadStyle GLS.GeomObjects

TGLArrowLinePart GLS.GeomObjects

TGLArrowLineParts GLS.GeomObjects

TGLASkeletonOffsets Formats.GL2

14 bytes
TGLAsmShaderEvent GLSL.AsmShader

TGLAsmShaderUnUplyEvent GLSL.AsmShader

TGLAtmosphereBlendingMode GLS.Atmosphere

With atmosphere options: - aabmOneMinusSrcAlpha is transparent to other objects, but has problems, which are best seen when the Atmosphere radius is big; - bmOneMinusDstColor atmosphere doesn't have these problems, but offers limited transparency (when you look closely on the side).
TGLBaseArchiveClass GLS.ArchiveManager

TGLBaseImageClass GLS.Graphics

TGLBaseSelectTechniqueClass GLS.Selection

TGLBehaviourClass GLS.Scene

TGLBigMatrix GLS.VectorTypesExt

TGLBigMatrixExt GLS.VectorTypesExt

replace with BigDecimals
TGLbitfield GLS.VectorTypes

TGLBitmap32 GLS.Graphics

TGLBlendEquation GLS.State

TGLBlendFunction GLS.State

TGLBlendingMode GLS.Material

Simplified blending options. bmOpaque : disable blending bmTransparency : uses standard alpha blending bmAdditive : activates additive blending (with saturation) bmAlphaTest50 : uses opaque blending, with alpha-testing at 50% (full transparency if alpha is below 0.5, full opacity otherwise) bmAlphaTest100 : uses opaque blending, with alpha-testing at 100% bmModulate : uses modulation blending bmCustom : uses TGLBlendingParameters options
TGLBlendingModeEx GLSL.CustomShader

Adds two more blending modes to standard ones. Not sure how to name them or if they should be included in TBlending mode, so I created a new type here.
TGLBlurkind GLS.Blur

TGLBlurPreset GLS.Blur

TGLboolean GLS.VectorTypes

=========== OpenGL types ============
TGLBufferBindingTarget GLS.State

TGLbyte GLS.VectorTypes

TGLCadencerMode GLS.Cadencer

Determines how the TGLCadencer operates. - cmManual : you must trigger progress manually (in your code) - cmASAP : progress is triggered As Soon As Possible after a previous progress (uses windows messages). - cmApplicationIdle : will hook Application.OnIdle, this will overwrite any previous event handle, and only one cadencer may be in this mode.
TGLCadencerTimeReference GLS.Cadencer

Determines which time reference the TGLCadencer should use. - cmRTC : the Real Time Clock is used (precise over long periods, but not accurate to the millisecond, may limit your effective framerate to less than 50 FPS on some systems) - cmPerformanceCounter : the windows performance counter is used (nice precision, may derive over long periods, this is the default option as it allows the smoothest animation on fast systems) - cmExternal : the CurrentTime property is used
TGLCameraInvarianceMode GLS.Scene

TGLCameraJobEvent GLS.CameraController

TGLCameraKeepFOVMode GLS.Scene

TGLCameraStyle GLS.Scene

TGLCapType GLS.Objects

TGLCelShaderGetIntensity GLSL.ShapeShaders

An event for user defined cel intensity.
TGLCelShaderOption GLSL.ShapeShaders

A shader that applies cel shading through a vertex program and shade definition texture. Cel shading options: csoOutlines: Render a second outline pass. csoTextured: Allows for a primary texture that the cel shading is modulated with and forces the shade definition to render as a second texture.
TGLCelShaderOptions GLSL.ShapeShaders

TGLCgBombShaderTextureSource Cg.BombShader

TGLchar GLS.VectorTypes

TGLclampd GLS.VectorTypes

TGLColorComponent GLS.State

TSingleCullFaceMode = cmFront..cmBack;
TGLColorDepth GLS.Scene

TGLColorMask GLS.State

TGLColorVector GLS.Color

TGLComparisonFunction GLS.State

TGLConePart GLS.GeomObjects

TGLConeParts GLS.GeomObjects

TGLConsoleMatchList GLS.Console

TGLConsoleOption GLS.Console

TGLConsoleOptions GLS.Console

remove quotes when a command line is parsed
TGLContextAcceleration GLS.Context

TGLContextClass GLS.Context

TGLContextLayer GLS.Context

TGLContextOption GLS.Scene

Options for the rendering context. roSoftwareMode: force software rendering. roDoubleBuffer: enables double-buffering. roRenderToWindows: ignored (legacy). roTwoSideLighting: enables two-side lighting model. roStereo: enables stereo support in the driver (dunno if it works, I don't have a stereo device to test...) roDestinationAlpha: request an Alpha channel for the rendered output roNoColorBuffer: don't request a color buffer (color depth setting ignored) roNoColorBufferClear: do not clear the color buffer automatically, if the whole viewer is fully repainted each frame, this can improve framerate roNoSwapBuffers: don't perform RenderingContext.SwapBuffers after rendering roNoDepthBufferClear: do not clear the depth buffer automatically. Useful for early-z culling. roForwardContext: force OpenGL forward context
TGLContextOptions GLS.Scene

TGLContourClass GLS.MultiPolygon

TGLCoordinates GLS.Coordinates

TGLCoordinatesStyle GLS.Coordinates

Identifies the type of data stored within a TGLCustomCoordinates. csPoint2D : a simple 2D point (Z=0, W=0) csPoint : a point (W=1) csVector : a vector (W=0) csUnknown : no constraint
TGLCubeMapTarget GLS.Texture

TGLCubePart GLS.Objects

TGLCubeParts GLS.Objects

TGLCUDACompilerOutput CUDA.Compiler

TGLCUDARealArch CUDA.Compiler

sm_10 ISA_1 Basic features sm_11 + atomic memory operations on global memory sm_12 + atomic memory operations on shared memory + vote instructions sm_13 + double precision floating point support sm_20 + FERMI support. sm_21 + Unknown
TGLCUDARealArchs CUDA.Compiler

TGLCUDAVirtArch CUDA.Compiler

compute_10 Basic features compute_11 + atomic memory operations on global memory compute_12 + atomic memory operations on shared memory + vote instructions compute_13 + double precision floating point support Compute_20 + FERMI support
TGLCullFaceMode GLS.State

TGLCustomRenderEvent GLS.Windows

TGLCylinderAlignment GLS.GeomObjects

TGLCylinderPart GLS.GeomObjects

TGLCylinderParts GLS.GeomObjects

TGLDataFileCapabilities GLS.ApplicationFileIO

TGLDataFileCapability GLS.ApplicationFileIO

TGLDataFileClass GLS.ApplicationFileIO

TGLDDSDetailLevels GLS.FileDDS

TGLDEBUGPROCARB GLS.OpenGLTokens

TGLDepthCompareFunc GLS.Texture

Specifies the depth comparison function.
TGLDepthFunction GLS.State

TGLDepthPrecision GLS.Scene

TGLDepthTextureMode GLS.Texture

Specifies how depth values should be treated during filtering and texture application
TGLDirectRenderEvent GLS.Scene

Event for user-specific rendering in a TGLDirectOpenGL object.
TGLdouble GLS.VectorTypes

TGLDstBlendFunction GLS.State

TGLEffectClass GLS.Scene

TGLEnabledRenderBuffer GLS.FBORenderer

———————– GLS.FBORenderer classes ————————–
TGLEnabledRenderBuffers GLS.FBORenderer

TGLenum GLS.VectorTypes

TGLEProjectedParticleMask GLS.EParticleMasksManager

TGLExtrusionSolidPart GLS.Extrusion

TGLExtrusionSolidParts GLS.Extrusion

TGLFaceCulling GLS.Material

TGLFaceGroupMeshMode GLS.VectorFileObjects

Known descriptions for face group mesh modes. - fgmmTriangles : issue all vertices with GL_TRIANGLES. - fgmmTriangleStrip : issue all vertices with GL_TRIANGLE_STRIP. - fgmmFlatTriangles : same as fgmmTriangles, but take advantage of having the same normal for all vertices of a triangle. - fgmmTriangleFan : issue all vertices with GL_TRIANGLE_FAN. - fgmmQuads : issue all vertices with GL_QUADS.
TGLFaceWinding GLS.State

Describe what kind of winding has a front face
TGLFBOClearOption GLS.FBORenderer

TGLFBOClearOptions GLS.FBORenderer

TGLFBOTargetVisibility GLS.FBORenderer

TGLFeedbackMode GLS.Feedback

TGLFile3DSAnimKeysClassType GLS.File3DS

Used only for serialization. There probably is a more efficient way to do it.
TGLFireParticleArray GLS.FireFX

TGLFlareElement GLS.LensFlare

TGLFlareElements GLS.LensFlare

TGLFlatTextOption GLS.BitmapFont

TGLFlatTextOptions GLS.BitmapFont

TGLfloat GLS.VectorTypes

TGLForceType Physics.SPIForces

TGLFormCanClose GLS.Windows

TGLFormCanRequest GLS.Windows

TGLFormCloseOptions GLS.Windows

TGLFormMove GLS.Windows

TGLFormNotify GLS.Windows

TGLFramebufferStatus GLS.Context

TGLFrustrumPart GLS.GeomObjects

TGLFrustrumParts GLS.GeomObjects

TGLFullScreenResolution GLS.SceneForm

Defines how GLSceneForm will handle fullscreen request fcWindowMaximize: Use current resolution (just maximize form and hide OS bars) fcNearestResolution: Change to nearest valid resolution from current window size fcManualResolution: Use FFullScreenVideoMode settings
TGLGameMenuScale GLS.GameMenu

TGLGizmoAcceptEvent GLS.Gizmo

TGLGizmoAxis GLS.Gizmo

TGLGizmoElement GLS.Gizmo

TGLGizmoElements GLS.Gizmo

TGLGizmoExAcceptEvent GLS.GizmoEx

TGLGizmoExAxis GLS.GizmoEx

TGLGizmoExAxisSelected GLS.GizmoEx

TGLGizmoExOperation GLS.GizmoEx

TGLGizmoExOperationMode GLS.GizmoEx

TGLGizmoExPickMode GLS.GizmoEx

TGLGizmoExReferenceCoordinateSystem GLS.GizmoEx

TGLGizmoExSelectionRegion GLS.GizmoEx

TGLGizmoExSelRec GLS.GizmoEx

TGLGizmoExVisibleInfoLabel GLS.GizmoEx

TGLGizmoExVisibleInfoLabels GLS.GizmoEx

TGLGizmoOperation GLS.Gizmo

TGLGizmoPickMode GLS.Gizmo

TGLGizmoUpdateEvent GLS.Gizmo

TGLGizmoVisibleInfoLabel GLS.Gizmo

TGLGizmoVisibleInfoLabels GLS.Gizmo

TGLgsInTypes GLSL.ShaderParameter

TGLgsOutTypes GLSL.ShaderParameter

TGLGuiComponentName GLS.Gui

TGLGuiElementName GLS.Gui

TGLhalf GLS.VectorTypes

TGLhandleARB GLS.VectorTypes

TGLHeightDataClass GLS.HeightData

TGLHeightDataPostRenderEvent GLS.TerrainRenderer

TGLHeightDataState GLS.HeightData

Possible states for a TGLHeightData. hdsQueued : the data has been queued for loading hdsPreparing : the data is currently loading or being prepared for use hdsReady : the data is fully loaded and ready for use hdsNone : the height data does not exist for this tile
TGLHeightDataType GLS.HeightData

Determines the type of data stored in a TGLHeightData. There are 3 data types (8 bits unsigned, signed 16 bits and 32 bits). Conversions: (128*(ByteValue-128)) = SmallIntValue = Round(SingleValue). The 'hdtDefault' type is used for request only, and specifies that the default type for the source should be used.
TGLHeightFieldColorMode GLS.Graph

TGLHeightFieldGetHeight2Event GLS.Graph

TGLHeightFieldGetHeightEvent GLS.Graph

TGLHeightFieldOption GLS.Graph

TGLHeightFieldOptions GLS.Graph

TGLHintType GLS.State

TGLImageLODRange GLS.Graphics

TGLImagePiramid GLS.Graphics

TGLint GLS.VectorTypes

TGLint64 GLS.VectorTypes

TGLint64EXT GLS.VectorTypes

TGLInternalCompression GLS.TextureFormat

Texture compression option. If OpenGL supports it, this will activate a compressed texture format: tcDefault : uses global default compression option tcNone : do not use compression tcStandard : use standard compression, average quality, average rate tcHighQuality : choose a high-quality, low-speed compression tcHighSpeed : choose a high-speed, low-quality compression
TGLInternalFormat GLS.TextureFormat

TGLInterpolationType GLS.VectorGeometry

TGLintptr GLS.VectorTypes

the size of these depend on platform (32bit or 64bit)
TGLIsolineState GLS.Isolines

TGLLandTile GLS.RandomHDS

TMapOfLandscapes :array of array of TGLBaseRandomHDS;
TGLLanguageEntryArray GLS.Language

TGLlConsoleEvent GLS.Console

Event called when used presses the "Enter"
TGLLibMaterialName GLS.Material

TGLLightSourceEnum GLSL.CustomShader

TGLLightSourceSet GLSL.CustomShader

TGLLightStyle GLS.Scene

Defines the various styles for lightsources. lsSpot : a spot light, oriented and with a cutoff zone (note that if cutoff is 180, the spot is rendered as an omni source) lsOmni : an omnidirectionnal source, punctual and sending light in all directions uniformously lsParallel : a parallel light, oriented as the light source is (this type of light can help speed up rendering)
TGLLimitType GLS.Scene

IDs for limit determination
TGLLineNodesAspect GLS.Objects

Possible aspects for the nodes of a TLine.
TGLLinesOption GLS.Objects

TGLLinesOptions GLS.Objects

TGLLineSplineMode GLS.Objects

Available spline modes for a TLine.
TGLLODStreamingState GLS.Graphics

TGLLogicOp GLS.State

TGLMagFilter GLS.Texture

TGLMapCollectionItemClass GLS.FPSMovement

TGLMat2DArray GLS.VectorTypesExt

Matrix Arrays
TGLMat2DType GLS.VectorTypesExt

———————– Matrix types ———————–
TGLMat3DArray GLS.VectorTypesExt

TGLMat3DType GLS.VectorTypesExt

TGLMaterialComponentName GLS.MaterialEx

TGLMaterialLevel GLS.State

TGLMaterialOption GLS.Material

Control special rendering options for a material. moIgnoreFog : fog is deactivated when the material is rendered
TGLMaterialOptions GLS.Material

TGLMatrix GLS.VectorTypes

TGLMesh2DArray GLS.VectorTypesExt

TGLMesh3DArray GLS.VectorTypesExt

TGLMeshAutoCentering GLS.VectorFileObjects

TGLMeshAutoCenterings GLS.VectorFileObjects

TGLMeshMode GLS.Mesh

TGLMeshNormalsOrientation GLS.VectorFileObjects

Determines how normals orientation is defined in a mesh. - mnoDefault : uses default orientation - mnoInvert : inverse of default orientation - mnoAutoSolid : autocalculate to make the mesh globally solid - mnoAutoHollow : autocalculate to make the mesh globally hollow
TGLMeshObjectListClass GLS.VectorFileObjects

TGLMeshObjectMode GLS.VectorFileObjects

TGLMeshObjectRenderingOption GLS.VectorFileObjects

Rendering options per TGLMeshObject.moroGroupByMaterial : if set, the facegroups will be rendered by material in batchs, this will optimize rendering by reducing material switches, but also implies that facegroups will not be rendered in the order they are in the list
TGLMeshObjectRenderingOptions GLS.VectorFileObjects

TGLMeshOptimizerOption GLS.MeshBuilder

—————- Mesh optimization routines —————
TGLMeshOptimizerOptions GLS.MeshBuilder

TGLMeshPrimitive GLS.State

TGLMeshPrimitives GLS.State

TGLMinFilter GLS.Texture

TGLMirrorOption GLS.Mirror

TGLMirrorOptions GLS.Mirror

TGLMLODSurfaceOffsets Formats.GL2

TGLMouseAction GLS.Windows

TGLMovementRotationMode GLS.Movement

TGLMSurfaceHeirachyOffsets Formats.GL2

TGLNavigatorSmoothChangeItemClass GLS.SmoothNavigator

TGLNavigatorSmoothChangeSingleGetEvent GLS.SmoothNavigator

TGLNavigatorSmoothChangeSingleSetEvent GLS.SmoothNavigator

TGLNavigatorSmoothChangeVectorGetEvent GLS.SmoothNavigator

TGLNavigatorSmoothChangeVectorSetEvent GLS.SmoothNavigator

TGLNGDCollisions Physics.NGDManager

TGLNGDFrictionModels Physics.NGDManager

TGLNGDJoints Physics.NGDManager

TGLNGDManagerDebug Physics.NGDManager

TGLNGDManagerDebugs Physics.NGDManager

TGLNGDPickedActions Physics.NGDManager

TGLNGDSolverModels Physics.NGDManager

TGLNodesClass GLS.Nodes

TGLNormalDirection GLS.Scene

TGLNormalMapSpace GLS.BumpmapHDS

TGLNormalSmoothing GLS.Objects

Determines how and if normals are smoothed. - nsFlat : facetted look - nsSmooth : smooth look - nsNone : unlighted rendering, usefull for decla texturing
TGLObjectBBChange GLS.Scene

TGLObjectBBChanges GLS.Scene

TGLObjectChange GLS.Scene

Used to describe the changes in an object, which have to be reflected in the scene
TGLObjectChanges GLS.Scene

TGLObjectsSorting GLS.RenderContextInfo

Determines if objects are sorted, and how. Sorting is done level by level (and not for all entities), values are : osInherited : use inherited sorting mode, defaults to osRenderFarthestFirst osNone : do not sort objects. osRenderFarthestFirst : render objects whose Position is the farthest from the camera first. osRenderBlendedLast : opaque objects are not sorted and rendered first, blended ones are rendered afterwards and depth sorted. osRenderNearestFirst : render objects whose Position is the nearest to the camera first.
TGLObjectStyle GLS.Scene

Possible styles/options for a GLScene object. Allowed styles are: osDirectDraw : object shall not make use of compiled call lists, but issue direct calls each time a render should be performed. osIgnoreDepthBuffer : object is rendered with depth test disabled, this is true for its children too. osNoVisibilityCulling : whatever the VisibilityCulling setting, it will be ignored and the object rendered
TGLObjectStyles GLS.Scene

TGLODECollisionEvent Physics.ODEManager

TGLODECollisionSurfaceMode Physics.ODEManager

TGLODECustomCollisionEvent Physics.ODEManager

TGLODEElementClass Physics.ODEManager

TGLODEGetParamCallback Physics.ODEManager

TGLODEJointOption Physics.ODEManager

TGLODEJointOptions Physics.ODEManager

TGLODEObjectCollisionEvent Physics.ODEManager

TGLODESetParamCallback Physics.ODEManager

TGLODESolverMethod Physics.ODEManager

TGLODESurfaceModes Physics.ODEManager

TGLOnCustomPostEffectEvent GLSL.PostEffects

TGLOnLightsChanged GLS.State

TGLParticleArray GLS.ParticleFX

TGLParticleClass GLS.ParticleFX

TGLParticleEvent GLS.Particles

TGLPerlinInterpolation GLS.Perlin

TGLPerlinOctav GLS.Perlin

TGLPipelineTransformationState GLS.PipelineTransformation

TGLPipelineTransformationStates GLS.PipelineTransformation

TGLPixel32Array GLS.Graphics

TGLPlaneStyle GLS.Objects

TGLPlaneStyles GLS.Objects

TGLPoint2DArray GLS.VectorTypesExt

TGLPoint3DArray GLS.VectorTypesExt

TGLPointStyle GLS.Objects

TGLPolygon2D GLS.VectorTypesExt

———————– Polygon types ———————–
TGLPolygon3D GLS.VectorTypesExt

TGLPolygonMode GLS.State

TGLPolygonPart GLS.GeomObjects

TGLPolygonParts GLS.GeomObjects

TGLPolyhedron GLS.VectorTypesExt

———————– Polyhedron types ———————–
TGLPopupMenuClick GLS.Windows

TGLPostEffectBuffer GLSL.PostEffects

TGLPostEffectPreset GLSL.PostEffects

Some presets for TGLPostEffect: pepNone - does nothing. pepGray - makes picture gray. pepNegative - inverts all colors. pepDistort - simulates shaky TV image. pepNoise - just adds random niose. pepNightVision - simulates nightvision goggles. pepBlur - blurs the scene. pepCustom - calls the OnCustomEffect event.
TGLProgressEvent GLS.BaseClasses

Progression event for time-base animations/simulations. deltaTime is the time delta since last progress and newTime is the new time after the progress event is completed.
TGLProjectedTexturesStyle GLS.ProjectedTextures

Possible styles of texture projection. Possible values: ptsOriginal: Original projection method (first pass, is default scene render, second pass is texture projection). ptsInverse: Inverse projection method (first pass is texture projection, sencond pass is regular scene render). This method is useful if you want to simulate lighting only through projected textures (the textures of the scene are "masked" into the white areas of the projection textures).
TGLProxyObjectClass GLS.Scene

TGLProxyObjectOption GLS.Scene

Defines which features are taken from the master object.
TGLProxyObjectOptions GLS.Scene

TGLQuatArray GLS.VectorTypesExt

TGLQueryType GLS.State

TGLRCOption GLS.Context

TGLRCOptions GLS.Context

TGLResourceStream GLS.ApplicationFileIO

TGLResourceType CUDA.APIComps

TGLRevolutionSolidPart GLS.Extrusion

TGLRevolutionSolidParts GLS.Extrusion

TGLScalarField GLS.VectorTypesExt

replaced with BigDecimals
TGLScalarFieldInt GLS.VectorTypesExt

If data are made on integer XYZ index replaced with BigIntegers
TGLScalarValue GLS.VectorTypesExt

———————– Point types ———————–
TGLSceneObjectClass GLS.Scene

TGLSceneOperation GLS.Scene

Flags for design notification
TGLSceneViewerMode GLS.Scene

TGLScreenDepth GLS.FullScreenViewer

TGLScriptState GLS.ScriptBase

TGLSeparateTextureWrap GLS.TextureFormat

Texture addressing rules
TGLShadeModel GLS.Scene

TGLShaderClass GLS.Material

TGLShaderCombinerType GLSL.ShaderCombiner

MP - multipass, SP-singlepass, AP - anypass (single or multi) One-Two or Two-One determines the order of how the shaders should be applied For example, sctTwoMPOneSP means that first one will be applied Shader Two, which can be a multipass shader, then Shader One is applied, which should be a singlepass shader. sctOneMPTwoSP and sctTwoMPOneSP modes are actualy quite Str@nge, because... well look at the code yourself

TODO: Add more modes here, including sctOneAPTwoAP, which should be the default one.
TGLShaderEvent GLSL.CustomShader

TGLShaderFailedInitAction GLS.Material

Defines what to do if for some reason shader failed to initialize. fiaSilentdisable: just disable it fiaRaiseHandledException: raise an exception, and handle it right away (usefull, when debigging within Delphi) fiaRaiseStardardException: raises the exception with a string from this function GetStardardNotSupportedMessage fiaReRaiseException: Re-raises the exception fiaGenerateEvent: Handles the exception, but generates an event that user can respond to. For example, he can try to compile a substitude shader, or replace it by a material. Note: HandleFailedInitialization does *not* create this event, it is left to user shaders which may chose to override this procedure. Commented out, because not sure if this option should exist, let other generations of developers decide ;)
TGLShaderFogSupport GLSL.CustomShader

TGLShaderHandleClass GLS.Context

TGLShaderStyle GLS.Material

Define GLShader style application relatively to a material. ssHighLevel: shader is applied before material application, and unapplied after material unapplication ssLowLevel: shader is applied after material application, and unapplied before material unapplication ssReplace: shader is applied in place of the material (and material is completely ignored)
TGLShaderType GLS.MaterialEx

TGLShaderUnAplyEvent GLSL.CustomShader

TGLShadowCastingMode GLS.ShadowVolume

Determines when a caster should actually produce a shadow; scmAlways : Caster always produces a shadow, ignoring visibility scmVisible : Caster casts shadow if the object has visible=true scmRecursivelyVisible : Caster casts shadow if ancestors up the hierarchy all have visible=true scmParentVisible : Caster produces shadow if parent has visible=true scmParentRecursivelyVisible : Caster casts shadow if ancestors up the hierarchy all have visible=true, starting from the parent (ignoring own visible setting)
TGLShadowVolumeCapping GLS.ShadowVolume

Determines when a shadow volume should generate a cap at the beginning and end of the volume. This is ONLY necessary when there's a chance that the camera could end up inside the shadow _or_ between the light source and the camera. If those two situations can't occur then not using capping is the best option. Note that if you use the capping, you must either set the depth of view of your camera to something very large (f.i. 1e9), or you could use the infinite mode (csInfinitePerspective) of your camera.

svcDefault : Default behaviour svcAlways : Always generates caps svcNever : Never generates caps
TGLShadowVolumeMode GLS.ShadowVolume

Shadow rendering modes. svmAccurate : will render the scene with ambient lighting only, then for each light will make a diffuse+specular pass svmDarkening : renders the scene with lighting on as usual, then darkens shadowed areas (i.e. inaccurate lighting, but will "shadow" objects that don't honour to diffuse or specular lighting) svmOff : no shadowing will take place
TGLShadowVolumeOption GLS.ShadowVolume

Shadow volume rendering options/optimizations. svoShowVolumes : make the shadow volumes visible svoDesignVisible : the shadow are visible at design-time svoCacheSilhouettes : cache shadow volume silhouettes, beneficial when some objects are static relatively to their light(s) svoScissorClips : use scissor clipping per light, beneficial when lights are attenuated and don't illuminate the whole scene svoWorldScissorClip : use scissor clipping for the world, beneficial when shadow receivers don't cover the whole viewer surface
TGLShadowVolumeOptions GLS.ShadowVolume

TGLShininess GLS.Material

TGLshort GLS.VectorTypes

TGLSilhouetteStyle GLS.Silhouette

TGLSimpleNavigationAction GLS.SimpleNavigation

TGLSimpleNavigationCustomActionEvent GLS.SimpleNavigation

TGLSimpleNavigationOption GLS.SimpleNavigation

TGLSimpleNavigationOptions GLS.SimpleNavigation

Show FPS
TGLsizei GLS.VectorTypes

TGLsizeiptr GLS.VectorTypes

TGLSkeletonFrameTransform GLS.VectorFileObjects

TGLSkyBoxStyle GLS.SkyDome

————————- SkyBox class ————————-
TGLSkyDomeOption GLS.SkyDome

TGLSkyDomeOptions GLS.SkyDome

TGLSLDataType GLSL.ShaderParameter

TGLSLProjectedTexturesStyle GLSL.ProjectedTextures

TGLSLSamplerType GLSL.ShaderParameter

TGLSLShaderEvent GLSL.Shader

TGLSLShaderEventEx GLSL.Shader

TGLSLShaderUnApplyEvent GLSL.Shader

TGLSoundEnvironment GLS.Sound

EAX standard sound environments.
TGLSoundFileClass GLS.SoundFileObjects

TGLSoundSourceChange GLS.Sound

TGLSoundSourceChanges GLS.Sound

TGLSourcePFXDispersionMode GLS.ParticleFX

TGLSourcePFXPositionMode GLS.ParticleFX

TGLSourcePFXVelocityMode GLS.ParticleFX

TGLSpaceTextCharRange GLS.SpaceText

TGLSpriteAnimationMode GLS.AnimatedSprite

Sets the current animation playback mode: samNone - No playback, the animation does not progress. samPlayOnce - Plays the animation once then switches to samNone. samLoop - Play the animation forward in a continuous loop. samLoopBackward - Same as samLoop but reversed direction. samBounceForward - Plays forward and switches to samBounceBackward when EndFrame is reached. samBounceBackward - Plays backward and switches to samBounceForward when StartFrame is reached.
TGLSpriteFrameDimensions GLS.AnimatedSprite

Determines if the texture coordinates are Automatically generated from the Animations properties or if they are Manually set through the Frames collection.
TGLState GLS.State

Reflects all relevant (binary) states of OpenGL subsystem
TGLStates GLS.State

TGLStateType GLS.State

TGLStateTypes GLS.State

TGLStencilFunction GLS.State

TGLStencilOp GLS.State

TGLStencilPrecision GLS.FBORenderer

TGLStiffnessSetVH GLS.VerletTypes

TGLStiffnessVH GLS.VerletTypes

TGLsync GLS.VectorTypes

TGLTextHorzAdjust GLS.SpaceText

Note: haAligned, haCentrically, haFitIn have not been implemented!
TGLTextureArray GLS.FBORenderer

TGLTextureChange GLS.Texture

TGLTextureChanges GLS.Texture

TGLTextureCompareMode GLS.TextureFormat

Specifies the texture comparison mode for currently bound depth textures. That is, a texture whose internal format is tfDEPTH_COMPONENT*
TGLTextureCompression GLS.Texture

TGLTextureFilteringQuality GLS.TextureFormat

Filtering quality
TGLTextureFormat GLS.Texture

Texture format for OpenGL (rendering) use. Internally, GLScene handles all "base" images as 32 Bits RGBA, but you can specify a generic format to reduce OpenGL texture memory use:
TGLTextureImageAlpha GLS.Texture

Defines how and if Alpha channel is defined for a texture image. tiaDefault : uses the alpha channel in the image if any tiaAlphaFromIntensity : the alpha channel value is deduced from other RGB components intensity (the brighter, the more opaque) tiaSuperBlackTransparent : pixels with a RGB color of (0, 0, 0) are completely transparent, others are completely opaque tiaLuminance : the luminance value is calculated for each pixel and used for RGB and Alpha values tiaLuminanceSqrt : same as tiaLuminance but with an Sqrt(Luminance) tiaOpaque : alpha channel is uniformously set to 1.0 tiaTopLeftPointColorTransparent : points of the same color as the top left point of the bitmap are transparent, others are opaque.
TGLTextureImageClass GLS.Texture

TGLTextureImageEditorClass GLS.TextureImageEditors

TGLTextureMappingMode GLS.Texture

TGLTextureMode GLS.Texture

TGLTextureNeededEvent GLS.Texture

TGLTextureSwizzle GLS.TextureFormat

TGLTextureTarget GLS.TextureFormat

TGLTextureWrap GLS.Texture

TGLTextVertAdjust GLS.SpaceText

TGLTorusPart GLS.GeomObjects

TGLTorusParts GLS.GeomObjects

TGLTransformFeedBackMode GLSL.CustomShader

TGLTrianRecArray GLS.VectorTypesExt

TGLubyte GLS.VectorTypes

TGLuint GLS.VectorTypes

TGLuint64 GLS.VectorTypes

TGLuint64EXT GLS.VectorTypes

TGLUNurbsErrorProc GLS.OpenGLTokens

TGLUNurbsObj GLS.OpenGLTokens

backwards compatibility
TGLUQuadricErrorProc GLS.OpenGLTokens

Callback function prototypes
TGLUQuadricObj GLS.OpenGLTokens

TGLushort GLS.VectorTypes

TGLUTessBeginDataProc GLS.OpenGLTokens

TGLUTessBeginProc GLS.OpenGLTokens

TGLUTessCombineDataProc GLS.OpenGLTokens

TGLUTessCombineProc GLS.OpenGLTokens

TGLUTessEdgeFlagDataProc GLS.OpenGLTokens

TGLUTessEdgeFlagProc GLS.OpenGLTokens

TGLUTesselatorObj GLS.OpenGLTokens

TGLUTessEndDataProc GLS.OpenGLTokens

TGLUTessEndProc GLS.OpenGLTokens

TGLUTessErrorDataProc GLS.OpenGLTokens

TGLUTessErrorProc GLS.OpenGLTokens

TGLUTessVertexDataProc GLS.OpenGLTokens

TGLUTessVertexProc GLS.OpenGLTokens

TGLUTriangulatorObj GLS.OpenGLTokens

TGLVBOBuffer GLS.VectorFileObjects

TGLVBOBuffers GLS.VectorFileObjects

TGLvdpauSurfaceNV GLS.OpenGLTokens

TGLVec2DArray GLS.VectorTypesExt

Vector Arrays
TGLVec2DType GLS.VectorTypesExt

———————– Vector types ———————–
TGLVec3DArray GLS.VectorTypesExt

TGLVec3DType GLS.VectorTypesExt

TGLVector GLS.VectorTypes

TGLVectorFileClass GLS.VectorFileObjects

TGLVerletHeightFieldOnNeedHeight GLS.VerletTypes

TGLVerletNodeClass GLS.VerletTypes

TGLVertArray GLS.VectorTypesExt

TGLVertexDataArray GLS.Mesh

TGLVertexList Formats.MD2

TGLVertexMode GLS.Mesh

TGLVirtualHandleEvent GLS.Context

TGLVisibilityCulling GLS.RenderContextInfo

Determines the visibility culling mode. Culling is done level by level, allowed values are: vcInherited : use inherited culling value, if selected for the root level, defaults to vcNone vcNone : no visibility culling is performed vcObjectBased : culling is done on a per-object basis, each object may or may not be culled base on its own AxisAlignedDimensions, culling has no impact on the visibility of its children vcHierarchical : culling is performed hierarchically, using hierarchical bounding boxes, if a parent is culled, all of its children, whatever their culling options are invisible. Depending on the structure of your scene the most efficient culling method will be either vcObjectBased or vcHierarchical. Also note that if you use many objects with "static" geometry and have a T&amp;L graphics board, it may be faster not to cull at all (ie. leave this to the hardware).
TGLVisibilityDeterminationEvent GLS.Objects

TGLVoxelData GLS.VectorTypesExt

TGLVoxelStatus GLS.VectorTypesExt

Voxel types
TGLVSyncMode GLS.Context

TGLWaterPlaneOption GLS.WaterPlane

TGLWaterPlaneOptions GLS.WaterPlane

TGLXYZGridLinesStyle GLS.Graph

Rendering Style for grid lines. - glsLine : a single line is used for each grid line (from Min to Max), this provides the fastest rendering - glsSegments : line segments are used between each node of the grid, this enhances perspective and quality, at the expense of computing power.
TGLXYZGridPart GLS.Graph

TGLXYZGridParts GLS.Graph

TGrowMethod GLS.SpacePartition

Implements sectored space partitioning, sectored space partitions include Octrees, Quadtrees and BSP-trees
TGUIAlignments GLS.Gui

TGUIDrawResult GLS.Gui

TGutterClickEvent GLS.Memo

————————————————————–
TGutterDrawEvent GLS.Memo

THalfFloat GLS.Utils

THDTextureCoordinatesMode GLS.HeightData

THiShadowBias Formats.m3DSTypes

THmgPlane GLS.VectorGeometry

A plane equation. Defined by its equation A.x+B.y+C.z+D , a plane can be mapped to the homogeneous space coordinates, and this is what we are doing here. The typename is just here for easing up data manipulation
THomogeneousByteMatrix GLS.VectorGeometry

Matrices
THomogeneousByteVector GLS.VectorGeometry

THomogeneousDblMatrix GLS.VectorGeometry

THomogeneousDblVector GLS.VectorGeometry

THomogeneousExtMatrix GLS.VectorGeometry

THomogeneousExtVector GLS.VectorGeometry

THomogeneousFltMatrix GLS.VectorGeometry

THomogeneousFltVector GLS.VectorGeometry

THomogeneousIntMatrix GLS.VectorGeometry

THomogeneousIntVector GLS.VectorGeometry

THomogeneousMatrix GLS.VectorGeometry

THomogeneousPtrVector GLS.VectorGeometry

THomogeneousVector GLS.VectorGeometry

THomogeneousWordMatrix GLS.VectorGeometry

THomogeneousWordVector GLS.VectorGeometry

TI1 Formats.LWO

TI2 Formats.LWO

TI4 Formats.LWO

TICCompressProc Formats.VFW

TICStatusProc Formats.VFW

return nonzero means abort operation in progress
TID4 Formats.LWO

TID4DynArray Formats.LWO

TIDELogProc GLS.Logger

TIdleEvent GLS.AsyncHDS

TImageAlphaProc GLS.ImageUtils

TImageFilterFunction GLS.ImageUtils

TIMG_InitFlags SDL2.Image

TImposterLoadedEvent GLS.Imposter

Used CPPB procedure instead of Delphi function TLoadingImposterEvent = procedure (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter; var result : TGLBitmap32) of object;
TImposterOption GLS.Imposter

Imposter rendering options. Following options are supported: impoBlended : the imposters are transparently blended during renders, this will smooth their edges but requires them to be rendered sorted from back to front impoAlphaTest : alpha test is used to eliminate transparent pixels, the alpha treshold is adjusted by the AlphaTreshold property impoNearestFiltering : use nearest texture filtering (the alternative is linear filtering) impoPerspectiveCorrection : activates a special imposter rendering projection suitable for distorting the sprites when seen from a level angle of view with a wide focal camera (think trees/grass when walking in a forest), if not active, the imposter sprites are camera-facing
TImposterOptions GLS.Imposter

TImposterReference GLS.Imposter

TIndexList Formats.MD2

TInfoLabelCoordType GLS.GizmoEx

TIntegerArray Formats.m3DSTypes

TIntegerArray GLS.HeightTileFileHDS

TIntegerArray GLS.Isosurface

TIntegerClamp GLS.RandomHDS

TIntegerVector GLS.VectorGeometry

TIntermediateFormatArray GLS.ImageUtils

TIntPercentage Formats.m3DSTypes

TInvokeInfoForm GLS.Scene

TIsDefaultTile GLS.RandomHDS

TJointFlag Physics.ODEImport

Change: New Type added, syntax enforcement
TJointParams Physics.ODEImport

TJointParams = ( parameters for limits and motors Change: New Type added, sintax enforcement
TJoyAxis GLS.Joystick

TJoyPos GLS.Joystick

TJoystickButton GLS.Joystick

TJoystickButtons GLS.Joystick

TJoystickDesignMode GLS.Joystick

TJoystickEvent GLS.Joystick

TJoystickID GLS.Joystick

TKeyHeaderList Formats.m3DSTypes

TKFCurtime Formats.m3DSTypes

TKFId Formats.m3DSTypes

TKFMorphKey3DS Formats.m3DSTypes

Object Morph key
TKFMorphKeyList Formats.m3DSTypes

TKFRotKeyList Formats.m3DSTypes

TLayerFogFalloff3DS Formats.m3DSTypes

distance cue atmospheric
TLightDir2TexEnvColor GLS.MaterialEx

TLinColor24 Formats.m3DSTypes

TLinColorF Formats.m3DSTypes

TLoadingImposterEvent GLS.Imposter

Imposter loading events
TLoadProgress Formats.m3DS

TLogBufferingMode GLS.Logger

How log is buffered.
TLogLevel GLS.Logger

Levels of importance of log messages
TLogLevels GLS.Logger

Log level setting type
TLogMessageLimitAction GLS.Logger

What to do when number of messages exceeds message limit.
TLogTimeFormat GLS.Logger

Log date and time setting type
TLongWordVector GLS.VectorGeometry

TLoShadowBias Formats.m3DSTypes

TLWChunkClass Formats.LWO

TLWChunkFind Formats.LWO

TLWContentNotify Formats.LWO

TLWOReadCallback Formats.LWO

TLWPntsInfoDynArray Formats.LWO

TLWPolsDynArray Formats.LWO

TLWPolsInfoDynArray Formats.LWO

TLWPolyTagMapDynArray Formats.LWO

TLWVertexMapDynArray Formats.LWO

TM3dVersion Formats.m3DSTypes

TMapOfSingle GLS.RandomHDS

TMapOfVector GLS.RandomHDS

TMapTexCoordMode GLS.XOpenGL

TMarkDirtyEvent GLS.HeightData

TMarkStyle GLS.Trail

TMasterScale Formats.m3DSTypes

TMatBumpPercent Formats.m3DSTypes

TMatMapAng Formats.m3DSTypes

TMatMapBCol Formats.m3DSTypes

TMatMapCol1 Formats.m3DSTypes

TMatMapCol2 Formats.m3DSTypes

TMatMapGCol Formats.m3DSTypes

TMatMapRCol Formats.m3DSTypes

TMatMapTexblur Formats.m3DSTypes

TMatMapTiling Formats.m3DSTypes

TMatMapUOffset Formats.m3DSTypes

TMatMapUScale Formats.m3DSTypes

TMatMapVOffset Formats.m3DSTypes

TMatMapVScale Formats.m3DSTypes

TMatrixArr GLS.Isolines

TMatrixArray GLS.VectorGeometry

Some simplified names
TMatShading Formats.m3DSTypes

TMatWireSize Formats.m3DSTypes

TMaxCLODTrianglesReachedEvent GLS.TerrainRenderer

TMDCAngle GLS.FileMDC

TMDCBaseVertex GLS.FileMDC

TMDCCompVertex GLS.FileMDC

TMDCPoint GLS.FileMDC

3/64;
TMDCTexCoord GLS.FileMDC

TMDCTriangle GLS.FileMDC

TMeshColor Formats.m3DSTypes

TMeshMatrix Formats.m3DSTypes

TMeshVersion Formats.m3DSTypes

TMipmapGenerationMode GLS.MaterialEx

TMirrorShapes GLS.Mirror

TMix_Channel_Finished SDL2.Mixer

* * Add your own callback when a channel has finished playing. NULL * to disable callback. The callback may be called from the mixer's audio * callback or it could be called as a result of Mix_HaltChannel(), etc. * do not call SDL_LockAudio() from this callback; you will either be * inside the audio callback, or SDL_mixer will explicitly lock the audio * before calling your callback. *
TMix_EffectDone_t SDL2.Mixer

* * This is a callback that signifies that a channel has finished all its * loops and has completed playback. This gets called if the buffer * plays out normally, or if you call Mix_HaltChannel(), implicitly stop * a channel via Mix_AllocateChannels(), or unregister a callback while * it's still playing. * * DO NOT EVER call SDL_LockAudio() from your callback function! *
TMix_EffectFunc_t SDL2.Mixer

* This is the format of a special effect callback: * * myeffect(int chan, void *stream, int len, void *udata); * * (chan) is the channel number that your effect is affecting. (stream) is * the buffer of data to work upon. (len) is the size of (stream), and * (udata) is a user-defined bit of data, which you pass as the last arg of * Mix_RegisterEffect(), and is passed back unmolested to your callback. * Your effect changes the contents of (stream) based on whatever parameters * are significant, or just leaves it be, if you prefer. You can do whatever * you like to the buffer, though, and it will continue in its changed state * down the mixing pipeline, through any other effect functions, then finally * to be mixed with the rest of the channels and music for the final output * stream. * * DO NOT EVER call SDL_LockAudio() from your callback function! *
TMix_Fading SDL2.Mixer

* The different fading types supported *
TMix_Func SDL2.Mixer

* Set a function that is called after all mixing is performed. This can be used to provide real-time visual display of the audio stream or add a custom mixer filter for the stream data. *
TMIX_InitFlags SDL2.Mixer

TMix_MusicType SDL2.Mixer

TMix_Music_Finished SDL2.Mixer

TMix_SoundFunc SDL2.Mixer

TModuleHandle GLS.ModuleLoader

Handle to a loaded DLL
TMorphSmooth Formats.m3DSTypes

TMS3DJointArray GLS.FileMS3D

TMS3DKeyframePositionArray GLS.FileMS3D

TMS3DKeyframeRotationArray GLS.FileMS3D

TMS3DTriangleArray GLS.FileMS3D

TMS3DVertexArray GLS.FileMS3D

TMshBoxmap Formats.m3DSTypes

TNDirectLight Formats.m3DSTypes

TNewTilePreparedEvent GLS.AsyncHDS

TNewTilePreparedEvent GLS.BumpmapHDS

TNewTilePreparedEvent GLS.ShadowHDS

TObjectCollisionEvent GLS.Collision

TObjectListSortCompare GLS.PersistentClasses

TObjMatList Formats.m3DSTypes

TOConsts Formats.m3DSTypes

TOnAsmProgSetting GLS.MaterialEx

TOnBeforeKernelLaunch CUDA.Graphics

TOnCreateLandTile GLS.RandomHDS

TOnCustomForce Physics.SPIForces

TOnCustomPerspective GLS.Scene

TOnDoApplyEvent GLSL.UserShader

TOnDoUnApplyEvent GLSL.UserShader

TOnDrawTexture GLS.RandomHDS

Function type to use for topography-based texture
TOnHeightDataDirtyEvent GLS.HeightData

TOnMatricesPush GLS.PipelineTransformation

TOnOpenGLInteropInit CUDA.Context

TOnPrepareHandleData GLS.Context

TOnUniformInitialize GLS.MaterialEx

TOnUniformSetting GLS.MaterialEx

TOptimise GLS.zBuffer

TPackedRotationMatrix GLS.VectorGeometry

TParametricSurfaceBasis GLS.ParametricSurfaces

psbBezier indicates building the surface with Bernstein basis functions, no knot or order properties are used. psbBSpline indicates building the surface using BSpline basis functions, these require orders and knot vectors to define the control point influences on the surface.
TParametricSurfaceRenderer GLS.ParametricSurfaces

psrGLScene tells the surface to render using GLScene code to build the mesh, whereas, psrOpenGL uses glEvalMesh2 or gluNurbsRenderer calls to render the surface.
TParticleReferenceArray GLS.ParticleFX

TPasDblStrUtilsBoolean PasDblStrUtils

TPasDblStrUtilsChar PasDblStrUtils

TPasDblStrUtilsDouble PasDblStrUtils

TPasDblStrUtilsInt16 PasDblStrUtils

TPasDblStrUtilsInt32 PasDblStrUtils

TPasDblStrUtilsInt64 PasDblStrUtils

TPasDblStrUtilsInt8 PasDblStrUtils

TPasDblStrUtilsNativeInt PasDblStrUtils

TPasDblStrUtilsNativeUInt PasDblStrUtils

TPasDblStrUtilsOutputMode PasDblStrUtils

TPasDblStrUtilsPointer PasDblStrUtils

TPasDblStrUtilsPtrInt PasDblStrUtils

TPasDblStrUtilsPtrUInt PasDblStrUtils

TPasDblStrUtilsRawByteChar PasDblStrUtils

TPasDblStrUtilsRawByteCharSet PasDblStrUtils

TPasDblStrUtilsRawByteString PasDblStrUtils

TPasDblStrUtilsRoundingMode PasDblStrUtils

TPasDblStrUtilsString PasDblStrUtils

TPasDblStrUtilsUInt16 PasDblStrUtils

TPasDblStrUtilsUInt32 PasDblStrUtils

TPasDblStrUtilsUInt64 PasDblStrUtils

TPasDblStrUtilsUInt8 PasDblStrUtils

TPasDblStrUtilsUTF16Char PasDblStrUtils

TPasDblStrUtilsUTF16String PasDblStrUtils

TPasDblStrUtilsUTF8Char PasDblStrUtils

TPasDblStrUtilsUTF8String PasDblStrUtils

TPasJSONChar PasJSON

TPasJSONDouble PasJSON

TPasJSONEncoding PasJSON

TPasJSONFloat PasJSON

TPasJSONFloats PasJSON

TPasJSONInt16 PasJSON

TPasJSONInt32 PasJSON

TPasJSONInt64 PasJSON

TPasJSONInt8 PasJSON

TPasJSONItemObjectProperties PasJSON

TPasJSONItems PasJSON

TPasJSONMergeFlag PasJSON

TPasJSONMergeFlags PasJSON

TPasJSONModeFlag PasJSON

TPasJSONModeFlags PasJSON

TPasJSONNativeInt PasJSON

TPasJSONNativeUInt PasJSON

TPasJSONPointer PasJSON

TPasJSONPointers PasJSON

TPasJSONPtrDiff PasJSON

TPasJSONPtrInt PasJSON

TPasJSONPtrUInt PasJSON

TPasJSONRawByteChar PasJSON

TPasJSONRawByteString PasJSON

TPasJSONSize PasJSON

TPasJSONSizeInt PasJSON

TPasJSONSizeUInt PasJSON

TPasJSONUInt16 PasJSON

TPasJSONUInt32 PasJSON

TPasJSONUInt64 PasJSON

TPasJSONUInt8 PasJSON

TPasJSONUInt8Array PasJSON

TPasJSONUTF16Char PasJSON

TPasJSONUTF16String PasJSON

TPasJSONUTF8String PasJSON

TPatchPostRenderEvent GLS.TerrainRenderer

TPathTravelStartEvent GLS.Movement

Event for path related event
TPathTravelStopEvent GLS.Movement

TPersistentObjectClass GLS.PersistentClasses

TpfnSDL_CurrentBeginThread SDL2.Import

TpfnSDL_CurrentEndThread SDL2.Import

TPFXCreateParticleEvent GLS.ParticleFX

TPFXDirectRenderEvent GLS.ParticleFX

TPFXGetParticleCountEvent GLS.ParticleFX

TPFXParticleProgress GLS.ParticleFX

TPFXPrepareTextureImageEvent GLS.ParticleFX

TPFXProgressEvent GLS.ParticleFX

TPFXSortAccuracy GLS.ParticleFX

TPickSortType GLS.Selection

TPickSubObjects GLS.Selection

TPipeNodesColorMode GLS.Extrusion

TPipeNormalMode GLS.Extrusion

TPipePart GLS.Extrusion

TPipeParts GLS.Extrusion

TPipeTexCoordMode GLS.Extrusion

TPIServices GLS.PlugInManager

TPIServiceType GLS.PlugInManager

TPivot Formats.m3DSTypes

TPlanBB GLS.GeometryBB

TPlanIndices GLS.GeometryBB

TPointerArray GLS.ImageUtils

TPointerObjectList GLS.PersistentClasses

TPointerVector GLS.VectorGeometry

TPointList Formats.m3DSTypes

TPrecisionSetting Cg.Shader

TProcAffineAffineAffine GLS.Octree

TProcInt GLS.Octree

TProjectTargetNameFunc GLS.Utils

TQuaternionArray GLS.VectorGeometry

TRayBias Formats.m3DSTypes

TRead SDL2.Import

** * Read up to maxnum objects each of size size from the data * stream to the area pointed at by ptr. * * the number of objects read, or 0 at error or end of file. *
TReleaseLevel Formats.m3DSTypes

TResolution GLS.Screen

TRGBColor GLS.Color

TRGBPixelBuffer GLS.Blur

TsbState GLS.Memo

TScreenSaverOption GLS.ScreenSaver

Options d'automatisation du screen-saver. ssoAutoAdjustFormProperties : all relevant properties of main form will be auto-adjusted (form style, border style, form size and for preview, ParentWindow). ssoAutoHookKeyboardEvents : hooks to main form's OnKeyPress and closes screen saver when a key is pressed (form's KeyPreview is also set to True) ssoAutoHookMouseEvents : hooks to main form's OnMouseMove and closes screen saver when mouse is moved (you mays have to handle other mouse move events manually if you have placed components on the form) ssoEnhancedMouseMoveDetection : gets the mouse position every half-second and closes the saver if position changed (uses GetCursorPos and a TTimer)
TScreenSaverOptions GLS.ScreenSaver

TScreenSaverPreviewEvent GLS.ScreenSaver

This event is fired when screen saver should start in preview mode. The passed hwnd is that of the small preview window in Windows Display Properties (or any other screen-saver previewing utility, so don't assume width/height is constant/universal or whatever).
TScrollMode GLS.Memo

TSDLEvent GLS.SDLWindow

TSDLWindowOption GLS.SDLWindow

Specifies optional settings for the SDL window. Those options are a simplified subset of the SDL options: voDoubleBuffer: create a double-buffered window voOpenGL: requires OpenGL capability for the window voResizable: window should be resizable voFullScreen: requires a full screen "window" (screen resolution may be changed) voStencilBuffer: requires a stencil buffer (8bits, use along voOpenGL)
TSDLWindowOptions GLS.SDLWindow

TSDLWindowPixelDepth GLS.SDLWindow

Pixel Depth options. vpd16bits: 16bpp graphics (565) (and 16 bits depth buffer for OpenGL) vpd24bits: 24bpp graphics (565) (and 24 bits depth buffer for OpenGL)
TSDL_AudioCallback SDL2.Import

** * This function is called when the audio device needs more data. * * userdata An application-specific parameter saved in * the SDL_AudioSpec structure * stream A pointer to the audio data buffer. * len The length of that buffer in bytes. * * Once the callback returns, the buffer will no longer be valid. * Stereo samples are stored in a LRLRLR ordering. *
TSDL_AudioDeviceID SDL2.Import

** * SDL Audio Device IDs. * * A successful call to SDL_OpenAudio() is always device id 1, and legacy * SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls * always returns devices >= 2 on success. The legacy calls are good both * for backwards compatibility and when you don't care about multiple, * specific, or capture devices. *
TSDL_AudioFilter SDL2.Import

TSDL_AudioFormat SDL2.Import

** * Audio format flags. * * These are what the 16 bits in SDL_AudioFormat currently mean... * (Unspecified bits are always zero). * * ++———————–sample is signed if set || || ++———–sample is bigendian if set || || || || ++—sample is float if set || || || || || || +—sample bit size—+ || || || | | 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 * * There are macros in SDL 2.0 and later to query these bits. *
TSDL_AudioStatus SDL2.Import

** * Audio state * * Get the current audio state. *
TSDL_BlendMode SDL2.Import

TSDL_Blit SDL2.Import

** * The type of function used for surface blitting functions. *
TSDL_Bool SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDLtype_s.h / SDL_stdinc.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
TSDL_Colour SDL2.Import

TSDL_ErrorCode SDL2.Import

#define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param))
TSDL_EventAction SDL2.Import

TSDL_EventFilter SDL2.Import

TSDL_EventType SDL2.Import

TSDL_FingerID SDL2.Import

TSDL_GameController SDL2.Import

TSDL_GameControllerAxis SDL2.Import

TSDL_GameControllerBindType SDL2.Import

todo
TSDL_GameControllerButton SDL2.Import

TSDL_GestureID SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_gesture.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
TSDL_GLattr SDL2.Import

TSDL_GLContext SDL2.Import

** * An opaque handle to an OpenGL context. *
TSDL_GLcontextFlag SDL2.Import

TSDL_GLprofile SDL2.Import

TSDL_HintCallback SDL2.Import

/** * \brief Add a function to watch a particular hint * * \param name The hint to watch * \param callback The function to call when the hint value changes * \param userdata A pointer to pass to the callback function */
TSDL_JoystickID SDL2.Import

TSDL_KeyCode SDL2.Import

TSDL_KeyMod SDL2.Import

TSDL_MessageBoxButtonFlags SDL2.Import

**< Marks the default button when escape is hit *
TSDL_MessageBoxColorType SDL2.Import

TSDL_MessageBoxFlags SDL2.Import

**< informational dialog *
TSDL_PowerState SDL2.Import

** * The basic state for the system's power supply. *
TSDL_RendererFlags SDL2.Import

TSDL_RendererFlip SDL2.Import

TSDL_ScanCode SDL2.Import

TSDL_SystemCursor SDL2.Import

TSDL_TextureAccess SDL2.Import

TSDL_TextureModulate SDL2.Import

TSDL_ThreadFunction SDL2.Import

TSDL_ThreadID SDL2.Import

* The SDL thread ID *
TSDL_ThreadPriority SDL2.Import

* The SDL thread priority * * Note: On many systems you require special privileges to set high priority. *
TSDL_TimerCallback SDL2.Import

** * Function prototype for the timer callback function. * * The callback function is passed the current timer interval and returns * the next timer interval. If the returned value is the same as the one * passed in, the periodic alarm continues, otherwise a new alarm is * scheduled. If the callback returns 0, the periodic alarm is cancelled. *
TSDL_TimerID SDL2.Import

** * Definition of the timer ID type. *
TSDL_TLSID SDL2.Import

TSDL_TouchID SDL2.Import

TSDL_WindowEventID SDL2.Import

**< The window manager requests that the window be closed *
TSDL_WindowFlags SDL2.Import

**< window not created by SDL *
TSectorNodeArray GLS.SpacePartition

TSeek SDL2.Import

** * Seek to offset relative to whence, one of stdio's whence values: * RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END * * the final offset in the data stream, or -1 on error. *
TSerializeEvent Physics.NGDManager

TSetSubItemsEvent FmSceneEditor

TSetTextureTargetsEvent GLS.FBORenderer

TSetTransformEvent Physics.NGDManager

TShadeType3DS Formats.m3DSTypes

used for shading field in TMaterial3DS structure
TShadowFilter Formats.m3DSTypes

TShadowMapSize Formats.m3DSTypes

TShadowPlaneOption GLS.ShadowPlane

TShadowPlaneOptions GLS.ShadowPlane

TShadowRange Formats.m3DSTypes

TShadowSamples Formats.m3DSTypes

TShadowStyle3DS Formats.m3DSTypes

TShortIntArray GLS.HeightTileFileHDS

TSIBLigthing GLS.Imposter

TSingle3DArray GLS.Isosurface

TSingleArray GLS.VectorGeometry

TSingleArrayList GLS.VectorLists

TSingleClamp GLS.RandomHDS

TSingleList Formats.m3DSTypes

TSingleRaster GLS.HeightData

TSize SDL2.Import

** * Return the size of the file in this rwops, or -1 if unknown *
Tsize_t OpenCL.Platform

TSmallintArray GLS.HeightData

TSmallIntArray GLS.HeightTileFileHDS

TSmallIntRaster GLS.HeightData

TSolidBgnd3DS Formats.m3DSTypes

Name of background Bitmap
TSourceDataFetchedEvent GLS.HeightData

TSpaceContains GLS.GeometryBB

Result type for space intersection tests, like AABBContainsAABB or BSphereContainsAABB
TSpecularMode GLSL.BumpShaders

TSpriteColorMode GLS.ParticleFX

Sprite color modes. scmFade: vertex coloring is used to fade inner-outer scmInner: vertex coloring uses inner color only scmOuter: vertex coloring uses outer color only scmNone: vertex coloring is NOT used (colors are ignored)
TSpritesPerTexture GLS.ParticleFX

Sprites per sprite texture for the SpritePFX.
TSqrt255Array GLS.Utils

TStartPreparingDataEvent GLS.HeightData

TStateArray Physics.SPIManager

TDESolver = procedure((*RigidBody:TGLRigidBody;*)DeltaTime:Real) of object;
TSTLVertex GLS.FileSTL

TSubdivideEdgeEvent GLS.MeshUtils

TSwizzleVector GLS.TextureFormat

TTargetType3DS Formats.m3DSTypes

TTaskProcedure GLS.Context

TTerrainHighResStyle GLS.TerrainRenderer

TTerrainOcclusionTesselate GLS.TerrainRenderer

TTexPointArray GLS.VectorGeometry

TTexVertList Formats.m3DSTypes

TThorpointArray GLS.ThorFX

TThreadBmp32 GLS.ShadowHDS

TThreadID SDL2.Import

** * SDL_thread.h * * We compile SDL into a DLL. This means, that it's the DLL which * creates a new thread for the calling process with the SDL_CreateThread() * API. There is a problem with this, that only the RTL of the SDL.DLL will * be initialized for those threads, and not the RTL of the calling * application! * * To solve this, we make a little hack here. * * We'll always use the caller's _beginthread() and _endthread() APIs to * start a new thread. This way, if it's the SDL.DLL which uses this API, * then the RTL of SDL.DLL will be used to create the new thread, and if it's * the application, then the RTL of the application will be used. * * So, in short: * Always use the _beginthread() and _endthread() of the calling runtime * library! *
TTileManagementFlag GLS.TerrainRenderer

TTileManagementFlags GLS.TerrainRenderer

TTileType3DS Formats.m3DSTypes

used for tiling field in TBitmap3DS structure
TTimeEventProc GLS.TimeEventsMgr

TTimeEventType GLS.TimeEventsMgr

TTintType3DS Formats.m3DSTypes

TTokenType GLS.Memo

TTouchEvent GLS.SceneViewer

TTransformations GLS.VectorGeometry

Used to describe a sequence of transformations in following order: [Sx][Sy][Sz][ShearXY][ShearXZ][ShearZY][Rx][Ry][Rz][Tx][Ty][Tz][P(x,y,z,w)] constants are declared for easier access (see MatrixDecompose below)
TTransType GLS.VectorGeometry

TU1 Formats.LWO

TU1DynArray Formats.LWO

TU2 Formats.LWO

TU2Array Formats.LWO

TU2DynArray Formats.LWO

TU4 Formats.LWO

TU48BitBlock GLS.ImageUtils

TU4Array Formats.LWO

TU4DynArray Formats.LWO

TUInt8Array SDL2.Import

TUndoChangeEvent GLS.Memo

TUniformAutoSetMethod GLSL.ShaderParameter

TUpdateSpacePartion GLS.VerletTypes

TUseDirtyTiles GLS.AsyncHDS

Determines if/how dirty tiles are displayed and when they are released. When a tile is maked as dirty, a replacement is queued immediately. However, the replacement cant be used until the HDThread has finished preparing it. Dirty tiles can be deleted as soon as they are no longer used/displayed. Possible states for a TUseDirtyTiles. hdsNever : Dirty tiles get released immediately, leaving a hole in the terrain, until the replacement is hdsReady. hdsUntilReplaced : Dirty tiles are used, until the HDThread has finished preparing the queued replacement. hdsUntilAllReplaced : Waits until the HDSThread has finished preparing ALL queued tiles, before allowing the renderer to switch over to the new set of tiles. (This prevents a fading checkerbox effect.)
TVec12 Formats.LWO

TS0 = PAnsiChar;
TVec12Array Formats.LWO

TVec12DynArray Formats.LWO

TVectorArr GLS.Isolines

TVectorArray GLS.VectorGeometry

TVectorL4D GLS.Isolines

TVectorL4I GLS.Isolines

TVertex GLS.VectorGeometry

TVertex2DArr GLS.Isolines

TVertexArray GLS.Isosurface

TVertexBoneWeightArray GLS.VectorFileObjects

TVertexBoneWeightDynArray GLS.VectorFileObjects

TVerticesBoneWeights GLS.VectorFileObjects

TVGradient Formats.m3DSTypes

TViewportData3 Formats.m3DSTypes

TViewType3DS Formats.m3DSTypes

TVirtualKeyCode GLS.Keyboard

TVirtualReaderClass GLS.PersistentClasses

TVirtualWriterClass GLS.PersistentClasses

TVORVertex GLS.FileVOR

TWGLswap GLS.VectorTypes

TWindowAttribute GLS.Screen

window attributes
TWindowAttributes GLS.Screen

TWindowFitting GLS.Screen

window-to-screen fitting
TWindowShapeMode SDL2.Import

** An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. *
TWOCC Formats.VFW

TWordList Formats.m3DSTypes

TWordVector GLS.VectorGeometry

TWrite SDL2.Import

** * Write exactly num objects each of size size from the area * pointed at by ptr to data stream. * * the number of objects written, or 0 at error or end of file. *
TXCollectionItemClass GLS.XCollection

TXDataDouble Formats.m3DSTypes

TXDataFloat Formats.m3DSTypes

TXDataLong Formats.m3DSTypes

TXDataShort Formats.m3DSTypes

TXDataVoid Formats.m3DSTypes

TZArray GLS.zBuffer

TZArrayIdx GLS.zBuffer

TZCompressedMode GLS.FileVfsPAK

Signature for compressed pak.
UByteElement CUDA.DataAccess

UInt16 SDL2.Import

UInt32 SDL2.Import

UInt8 SDL2.Import

UIntElement CUDA.DataAccess

UShortElement CUDA.DataAccess

WGLSWAP GLS.VectorTypes


GLSysHelp v.2.1: All Variables

All Variables

Name Unit Description
ActiveVfsPAK GLS.FileVfsPAK

ALAUXILIARYEFFECTSLOTF Sounds.OpenALImport

Set a floating point parameter for an Auxiliary Slot object.
ALAUXILIARYEFFECTSLOTFV Sounds.OpenALImport

ALAUXILIARYEFFECTSLOTI Sounds.OpenALImport

Set an integer parameter for a Auxiliary Slot object.
ALAUXILIARYEFFECTSLOTIV Sounds.OpenALImport

alBuffer3f Sounds.OpenALImport

alBuffer3i Sounds.OpenALImport

alBufferData Sounds.OpenALImport

Specify the data to be filled into a buffer.
alBufferf Sounds.OpenALImport

alBufferfv Sounds.OpenALImport

alBufferi Sounds.OpenALImport

set parameter for an buffer object
alBufferiv Sounds.OpenALImport

alcCaptureCloseDevice Sounds.OpenALImport

alcCaptureOpenDevice Sounds.OpenALImport

Capture functions
alcCaptureSamples Sounds.OpenALImport

alcCaptureStart Sounds.OpenALImport

alcCaptureStop Sounds.OpenALImport

alcCloseDevice Sounds.OpenALImport

alcCreateContext Sounds.OpenALImport

alc functions Context Support
alcDestroyContext Sounds.OpenALImport

alcGetContextsDevice Sounds.OpenALImport

alcGetCurrentContext Sounds.OpenALImport

alcGetEnumValue Sounds.OpenALImport

alcGetError Sounds.OpenALImport

Error Support Obtain the most recent Context error
alcGetIntegerv Sounds.OpenALImport

alcGetProcAddress Sounds.OpenALImport

alcGetString Sounds.OpenALImport

Query functions
alcIsExtensionPresent Sounds.OpenALImport

Extension support. Query for the presence of an extension, and obtain any appropriate function pointers and enum values.
alcMakeContextCurrent Sounds.OpenALImport

alcOpenDevice Sounds.OpenALImport

Device Management
alcProcessContext Sounds.OpenALImport

alcSuspendContext Sounds.OpenALImport

ALDELETEAUXILIARYEFFECTSLOTS Sounds.OpenALImport

Delete Auxiliary Slot objects.
alDeleteBuffers Sounds.OpenALImport

ALDELETEEFFECTS Sounds.OpenALImport

Delete Effect objects.
ALDELETEFILTERS Sounds.OpenALImport

Delete Filter objects.
alDeleteSources Sounds.OpenALImport

Delete Source objects.
alDisable Sounds.OpenALImport

alDistanceModel Sounds.OpenALImport

Global Parameters
alDopplerFactor Sounds.OpenALImport

alDopplerVelocity Sounds.OpenALImport

ALEFFECTF Sounds.OpenALImport

Set a floating point parameter for an Effect object.
ALEFFECTFV Sounds.OpenALImport

ALEFFECTI Sounds.OpenALImport

Set an integer parameter for an Effect object.
ALEFFECTIV Sounds.OpenALImport

alEnable Sounds.OpenALImport

END EAX extension OpenAL Maintenance Functions State Management and Query. Error Handling. Extension Support. Renderer State management.
ALFILTERF Sounds.OpenALImport

Set a floating point parameter for an Filter object.
ALFILTERFV Sounds.OpenALImport

ALFILTERI Sounds.OpenALImport

Set an integer parameter for a Filter object.
ALFILTERIV Sounds.OpenALImport

ALGENAUXILIARYEFFECTSLOTS Sounds.OpenALImport

Auxiliary Slot object functions Creates Auxiliary Slot objects.
alGenBuffers Sounds.OpenALImport

BUFFER Buffer objects are storage space for sample data. Buffers are referred to by Sources. There can be more than one Source using the same Buffer data. If Buffers have to be duplicated on a per-Source basis, the driver has to take care of allocation, copying, and deallocation as well as propagating buffer data changes. Buffer object generation.
ALGENEFFECTS Sounds.OpenALImport

EFX functions Effect object functions. Create Effect objects.
ALGENFILTERS Sounds.OpenALImport

Filter object functions Creates Filter objects.
alGenSources Sounds.OpenALImport

SOURCE Source objects are by default localized. Sources take the PCM data provided in the specified Buffer, apply Source-specific modifications, and then submit them to be mixed according to spatial arrangement etc. Create Source objects.
ALGETAUXILIARYEFFECTSLOTF Sounds.OpenALImport

Get a floating point parameter for a Auxiliary Slot object.
ALGETAUXILIARYEFFECTSLOTFV Sounds.OpenALImport

ALGETAUXILIARYEFFECTSLOTI Sounds.OpenALImport

Get an integer parameter for a Auxiliary Slot object.
ALGETAUXILIARYEFFECTSLOTIV Sounds.OpenALImport

alGetBoolean Sounds.OpenALImport

State retrieval.through return value ( for compatibility )
alGetBooleanv Sounds.OpenALImport

State retrieval.
alGetBuffer3f Sounds.OpenALImport

alGetBuffer3i Sounds.OpenALImport

alGetBufferf Sounds.OpenALImport

alGetBufferfv Sounds.OpenALImport

alGetBufferi Sounds.OpenALImport

read parameter for an buffer object
alGetBufferiv Sounds.OpenALImport

alGetDouble Sounds.OpenALImport

alGetDoublev Sounds.OpenALImport

ALGETEFFECTF Sounds.OpenALImport

Get a floating point parameter for an Effect object.
ALGETEFFECTFV Sounds.OpenALImport

ALGETEFFECTI Sounds.OpenALImport

Get an integer parameter for an Effect object.
ALGETEFFECTIV Sounds.OpenALImport

alGetEnumValue Sounds.OpenALImport

Obtain the integer value of an enumeration (usually an extension) with the name ename.
alGetError Sounds.OpenALImport

ERROR support. Obtain the most recent error generated in the AL state machine.
ALGETFILTERF Sounds.OpenALImport

Get a floating point parameter for a Filter object.
ALGETFILTERFV Sounds.OpenALImport

ALGETFILTERI Sounds.OpenALImport

Get an integer parameter for a Filter object.
ALGETFILTERIV Sounds.OpenALImport

alGetFloat Sounds.OpenALImport

alGetFloatv Sounds.OpenALImport

alGetInteger Sounds.OpenALImport

alGetIntegerv Sounds.OpenALImport

alGetListenerfv Sounds.OpenALImport

alGetListeneriv Sounds.OpenALImport

TODO: verder ontbrekende functies toevoegen. Retrieve listener information
alGetProcAddress Sounds.OpenALImport

Obtain the address of a function (usually an extension) with the name fname. All addresses are context-independent.
alGetSource3f Sounds.OpenALImport

Get three float scalar parameter for a Source object.
alGetSource3i Sounds.OpenALImport

Get three integer scalar parameter for a Source object.
alGetSourcef Sounds.OpenALImport

Get a float scalar parameter for a Source object.
alGetSourcefv Sounds.OpenALImport

Get a float vector parameter for a Source object.
alGetSourcei Sounds.OpenALImport

Get an integer scalar parameter for a Source object.
alGetSourceiv Sounds.OpenALImport

Get a integer vector parameter for a Source object.
alGetString Sounds.OpenALImport

alHint Sounds.OpenALImport

Application preferences for driver performance choices.
ALISAUXILIARYEFFECTSLOT Sounds.OpenALImport

Verify a handle is a valid Auxiliary Slot.
alIsBuffer Sounds.OpenALImport

ALISEFFECT Sounds.OpenALImport

Verify a handle is a valid Effect.
alIsEnabled Sounds.OpenALImport

alIsExtensionPresent Sounds.OpenALImport

EXTENSION support. Obtain the address of a function (usually an extension) with the name fname. All addresses are context-independent.
ALISFILTER Sounds.OpenALImport

Verify a handle is a valid Filter.
alIsSource Sounds.OpenALImport

Verify a handle is a valid Source.
alListener3f Sounds.OpenALImport

Listener Position. Listener Velocity.
alListener3i Sounds.OpenALImport

alListenerf Sounds.OpenALImport

LISTENER Listener is the sample position for a given context. The multi-channel (usually stereo) output stream generated by the mixer is parametrized by this Listener object: its position and velocity relative to Sources, within occluder and reflector geometry. Listener Gain: default 1.0f.
alListenerfv Sounds.OpenALImport

Listener Position: array [0..2] of TALfloat Listener Velocity: array [0..2] of TALfloat Listener Orientation: array [0..5] of TALfloat forward and up vector.
alListeneri Sounds.OpenALImport

Listener Environment: default 0.
alListeneriv Sounds.OpenALImport

alSource3f Sounds.OpenALImport

Set a 3 float parameter for a Source object.
alSource3i Sounds.OpenALImport

Set an 3 integer parameter for a Source object.
alSourcef Sounds.OpenALImport

Set a float parameter for a Source object.
alSourcefv Sounds.OpenALImport

Set a float vector parameter for a Source object.
alSourcei Sounds.OpenALImport

Set an integer parameter for a Source object.
alSourceiv Sounds.OpenALImport

Set an integer vector parameter for a Source object.
alSourcePause Sounds.OpenALImport

Pause a source, temporarily remove it from the mixer list.
alSourcePausev Sounds.OpenALImport

alSourcePlay Sounds.OpenALImport

Activate a source, start replay.
alSourcePlayv Sounds.OpenALImport

vector forms of those functions we all love
alSourceQueueBuffers Sounds.OpenALImport

Queue stuff
alSourceRewind Sounds.OpenALImport

Rewind a souce. Stopped paused and playing sources, resets the offset into the PCM data and sets state to AL_INITIAL.
alSourceRewindv Sounds.OpenALImport

alSourceStop Sounds.OpenALImport

Stop a source, temporarily remove it from the mixer list, and reset its internal state to pre-Play. To remove a Source completely, it has to be deleted following Stop, or before Play.
alSourceStopv Sounds.OpenALImport

alSourceUnqueueBuffers Sounds.OpenALImport

alSpeedOfSound Sounds.OpenALImport

AL_EAX_RAM_FREE Sounds.OpenALImport

AL_EAX_RAM_SIZE Sounds.OpenALImport

X-RAM enums
AL_STORAGE_ACCESSIBLE Sounds.OpenALImport

AL_STORAGE_AUTOMATIC Sounds.OpenALImport

AL_STORAGE_HARDWARE Sounds.OpenALImport

BASS_Apply3D Sounds.BASSImport

external bassdll;
BASS_ChannelBytes2Seconds Sounds.BASSImport

external bassdll;
BASS_ChannelFlags Sounds.BASSImport

external bassdll;
BASS_ChannelGet3DAttributes Sounds.BASSImport

external bassdll;
BASS_ChannelGet3DPosition Sounds.BASSImport

external bassdll;
BASS_ChannelGetAttribute Sounds.BASSImport

external bassdll;
BASS_ChannelGetAttributeEx Sounds.BASSImport

external bassdll;
BASS_ChannelGetData Sounds.BASSImport

external bassdll;
BASS_ChannelGetDevice Sounds.BASSImport

external bassdll;
BASS_ChannelGetInfo Sounds.BASSImport

external bassdll;
BASS_ChannelGetLength Sounds.BASSImport

external bassdll;
BASS_ChannelGetLevel Sounds.BASSImport

external bassdll;
BASS_ChannelGetLevelEx Sounds.BASSImport

external bassdll;
BASS_ChannelGetPosition Sounds.BASSImport

external bassdll;
BASS_ChannelGetTags Sounds.BASSImport

external bassdll;
BASS_ChannelIsActive Sounds.BASSImport

external bassdll;
BASS_ChannelIsSliding Sounds.BASSImport

external bassdll;
BASS_ChannelLock Sounds.BASSImport

external bassdll;
BASS_ChannelPause Sounds.BASSImport

external bassdll;
BASS_ChannelPlay Sounds.BASSImport

external bassdll;
BASS_ChannelRemoveDSP Sounds.BASSImport

external bassdll;
BASS_ChannelRemoveFX Sounds.BASSImport

external bassdll;
BASS_ChannelRemoveLink Sounds.BASSImport

external bassdll;
BASS_ChannelRemoveSync Sounds.BASSImport

external bassdll;
BASS_ChannelSeconds2Bytes Sounds.BASSImport

external bassdll;
BASS_ChannelSet3DAttributes Sounds.BASSImport

external bassdll;
BASS_ChannelSet3DPosition Sounds.BASSImport

external bassdll;
BASS_ChannelSetAttribute Sounds.BASSImport

external bassdll;
BASS_ChannelSetAttributeEx Sounds.BASSImport

external bassdll;
BASS_ChannelSetDevice Sounds.BASSImport

external bassdll;
BASS_ChannelSetDSP Sounds.BASSImport

external bassdll;
BASS_ChannelSetFX Sounds.BASSImport

external bassdll;
BASS_ChannelSetLink Sounds.BASSImport

external bassdll;
BASS_ChannelSetPosition Sounds.BASSImport

external bassdll;
BASS_ChannelSetSync Sounds.BASSImport

external bassdll;
BASS_ChannelSlideAttribute Sounds.BASSImport

external bassdll;
BASS_ChannelStop Sounds.BASSImport

external bassdll;
BASS_ChannelUpdate Sounds.BASSImport

external bassdll;
BASS_ErrorGetCode Sounds.BASSImport

external bassdll;
BASS_Free Sounds.BASSImport

external bassdll;
BASS_FXGetParameters Sounds.BASSImport

external bassdll;
BASS_FXReset Sounds.BASSImport

external bassdll;
BASS_FXSetParameters Sounds.BASSImport

external bassdll;
BASS_FXSetPriority Sounds.BASSImport

external bassdll;
BASS_Get3DFactors Sounds.BASSImport

external bassdll;
BASS_Get3DPosition Sounds.BASSImport

external bassdll;
BASS_GetConfig Sounds.BASSImport

external bassdll;
BASS_GetConfigPtr Sounds.BASSImport

external bassdll;
BASS_GetCPU Sounds.BASSImport

external bassdll;
BASS_GetDevice Sounds.BASSImport

external bassdll;
BASS_GetDeviceInfo Sounds.BASSImport

external bassdll;
BASS_GetDSoundObject Sounds.BASSImport

external bassdll;
BASS_GetEAXParameters Sounds.BASSImport

external bassdll;
BASS_GetInfo Sounds.BASSImport

external bassdll;
BASS_GetVersion Sounds.BASSImport

external bassdll;
BASS_GetVolume Sounds.BASSImport

external bassdll;
BASS_Init Sounds.BASSImport

external bassdll;
BASS_MusicFree Sounds.BASSImport

external bassdll;
BASS_MusicLoad Sounds.BASSImport

external bassdll;
BASS_Pause Sounds.BASSImport

external bassdll;
BASS_PluginFree Sounds.BASSImport

external bassdll;
BASS_PluginGetInfo Sounds.BASSImport

external bassdll;
BASS_PluginLoad Sounds.BASSImport

external bassdll;
BASS_RecordFree Sounds.BASSImport

external bassdll;
BASS_RecordGetDevice Sounds.BASSImport

external bassdll;
BASS_RecordGetDeviceInfo Sounds.BASSImport

external bassdll;
BASS_RecordGetInfo Sounds.BASSImport

external bassdll;
BASS_RecordGetInput Sounds.BASSImport

external bassdll;
BASS_RecordGetInputName Sounds.BASSImport

external bassdll;
BASS_RecordInit Sounds.BASSImport

external bassdll;
BASS_RecordSetDevice Sounds.BASSImport

external bassdll;
BASS_RecordSetInput Sounds.BASSImport

external bassdll;
BASS_RecordStart Sounds.BASSImport

external bassdll;
BASS_SampleCreate Sounds.BASSImport

external bassdll;
BASS_SampleFree Sounds.BASSImport

external bassdll;
BASS_SampleGetChannel Sounds.BASSImport

external bassdll;
BASS_SampleGetChannels Sounds.BASSImport

external bassdll;
BASS_SampleGetData Sounds.BASSImport

external bassdll;
BASS_SampleGetInfo Sounds.BASSImport

external bassdll;
BASS_SampleLoad Sounds.BASSImport

external bassdll;
BASS_SampleSetData Sounds.BASSImport

external bassdll;
BASS_SampleSetInfo Sounds.BASSImport

external bassdll;
BASS_SampleStop Sounds.BASSImport

external bassdll;
BASS_Set3DFactors Sounds.BASSImport

external bassdll;
BASS_Set3DPosition Sounds.BASSImport

external bassdll;
BASS_SetConfig Sounds.BASSImport

Recording callback function. handle : The recording handle buffer : Buffer containing the recorded sample data length : Number of bytes user : The 'user' parameter value given when calling BASS_RecordStart RETURN : TRUE = continue recording, FALSE = stop
BASS_SetConfigPtr Sounds.BASSImport

external bassdll;
BASS_SetDevice Sounds.BASSImport

external bassdll;
BASS_SetEAXParameters Sounds.BASSImport

external bassdll;
BASS_SetVolume Sounds.BASSImport

external bassdll;
BASS_Start Sounds.BASSImport

external bassdll;
BASS_Stop Sounds.BASSImport

external bassdll;
BASS_StreamCreate Sounds.BASSImport

external bassdll;
BASS_StreamCreateFile Sounds.BASSImport

external bassdll;
BASS_StreamCreateFileUser Sounds.BASSImport

external bassdll;
BASS_StreamCreateURL Sounds.BASSImport

external bassdll;
BASS_StreamFree Sounds.BASSImport

external bassdll;
BASS_StreamGetFilePosition Sounds.BASSImport

external bassdll;
BASS_StreamPutData Sounds.BASSImport

external bassdll;
BASS_StreamPutFileData Sounds.BASSImport

external bassdll;
BASS_Update Sounds.BASSImport

external bassdll;
cuArray3DCreate CUDA.Import

cuArray3DGetDescriptor CUDA.Import

cuArrayCreate CUDA.Import

cuArrayDestroy CUDA.Import

cuArrayGetDescriptor CUDA.Import

cuCtxAttach CUDA.Import

cuCtxCreate CUDA.Import

cuCtxDestroy CUDA.Import

cuCtxDetach CUDA.Import

cuCtxGetDevice CUDA.Import

cuCtxPopCurrent CUDA.Import

cuCtxPushCurrent CUDA.Import

cuCtxSynchronize CUDA.Import

cudaBindTexture CUDA.Runtime

*****************************************************************************
cudaBindTexture2D CUDA.Runtime

cudaBindTextureToArray CUDA.Runtime

cudaChooseDevice CUDA.Runtime

cudaConfigureCall CUDA.Runtime

***************************************************************************** * * * ****************************************************************************
cudaCreateChannelDesc CUDA.Runtime

cudaDriverGetVersion CUDA.Runtime

cudaEventCreate CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************
cudaEventCreateWithFlags CUDA.Runtime

cudaEventDestroy CUDA.Runtime

cudaEventElapsedTime CUDA.Runtime

cudaEventQuery CUDA.Runtime

cudaEventRecord CUDA.Runtime

cudaEventSynchronize CUDA.Runtime

cudaFree CUDA.Runtime

cudaFreeArray CUDA.Runtime

cudaFreeHost CUDA.Runtime

cudaFuncGetAttributes CUDA.Runtime

cudaFuncSetCacheConfig CUDA.Runtime

cudaGetChannelDesc CUDA.Runtime

cudaGetDevice CUDA.Runtime

cudaGetDeviceCount CUDA.Runtime

=*****************************************************************************
cudaGetDeviceProperties CUDA.Runtime

cudaGetErrorString CUDA.Runtime

cudaGetLastError CUDA.Runtime

=*******************************************************************************/
cudaGetSymbolAddress CUDA.Runtime

**************************************************************************** * * * * * * ****************************************************************************
cudaGetSymbolSize CUDA.Runtime

cudaGetTextureAlignmentOffset CUDA.Runtime

cudaGetTextureReference CUDA.Runtime

cudaGLMapBufferObject CUDA.Runtime

cudaGLMapBufferObjectAsync CUDA.Runtime

cudaGLRegisterBufferObject CUDA.Runtime

cudaGLSetBufferObjectMapFlags CUDA.Runtime

cudaGLSetGLDevice CUDA.Runtime

=*******************************************************************************/
cudaGLUnmapBufferObject CUDA.Runtime

cudaGLUnmapBufferObjectAsync CUDA.Runtime

cudaGLUnregisterBufferObject CUDA.Runtime

cudaGraphicsGLRegisterBuffer CUDA.Runtime

cudaGraphicsGLRegisterImage CUDA.Runtime

cudaGraphicsMapResources CUDA.Runtime

cudaGraphicsResourceGetMappedPointer CUDA.Runtime

cudaGraphicsResourceSetMapFlags CUDA.Runtime

cudaGraphicsSubResourceGetMappedArray CUDA.Runtime

cudaGraphicsUnmapResources CUDA.Runtime

cudaGraphicsUnregisterResource CUDA.Runtime

cudaHostAlloc CUDA.Runtime

cudaHostGetDevicePointer CUDA.Runtime

cudaHostGetFlags CUDA.Runtime

cudaLaunch CUDA.Runtime

cudaMalloc CUDA.Runtime

cudaMalloc3D CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************
cudaMalloc3DArray CUDA.Runtime

cudaMallocArray CUDA.Runtime

cudaMallocHost CUDA.Runtime

cudaMallocPitch CUDA.Runtime

cudaMemcpy CUDA.Runtime

cudaMemcpy2D CUDA.Runtime

cudaMemcpy2DArrayToArray CUDA.Runtime

cudaMemcpy2DAsync CUDA.Runtime

cudaMemcpy2DFromArray CUDA.Runtime

cudaMemcpy2DFromArrayAsync CUDA.Runtime

cudaMemcpy2DToArray CUDA.Runtime

cudaMemcpy2DToArrayAsync CUDA.Runtime

cudaMemcpy3D CUDA.Runtime

cudaMemcpy3DAsync CUDA.Runtime

cudaMemcpyArrayToArray CUDA.Runtime

cudaMemcpyAsync CUDA.Runtime

=*****************************************************************************
cudaMemcpyFromArray CUDA.Runtime

cudaMemcpyFromArrayAsync CUDA.Runtime

cudaMemcpyFromSymbol CUDA.Runtime

cudaMemcpyFromSymbolAsync CUDA.Runtime

cudaMemcpyToArray CUDA.Runtime

cudaMemcpyToArrayAsync CUDA.Runtime

cudaMemcpyToSymbol CUDA.Runtime

cudaMemcpyToSymbolAsync CUDA.Runtime

cudaMemGetInfo CUDA.Runtime

cudaMemset CUDA.Runtime

***************************************************************************** * * * * * * ****************************************************************************
cudaMemset2D CUDA.Runtime

cudaMemset3D CUDA.Runtime

cudaRuntimeGetVersion CUDA.Runtime

cudaSetDevice CUDA.Runtime

cudaSetDeviceFlags CUDA.Runtime

cudaSetDoubleForDevice CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************
cudaSetDoubleForHost CUDA.Runtime

cudaSetupArgument CUDA.Runtime

cudaSetValidDevices CUDA.Runtime

cudaStreamCreate CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************
cudaStreamDestroy CUDA.Runtime

cudaStreamQuery CUDA.Runtime

cudaStreamSynchronize CUDA.Runtime

cudaThreadExit CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************
cudaThreadGetLimit CUDA.Runtime

cudaThreadSetLimit CUDA.Runtime

cudaThreadSynchronize CUDA.Runtime

cudaUnbindTexture CUDA.Runtime

cudaWGLGetDevice CUDA.Runtime

cuDeviceComputeCapability CUDA.Import

cuDeviceGet CUDA.Import

cuDeviceGetAttribute CUDA.Import

cuDeviceGetCount CUDA.Import

cuDeviceGetName CUDA.Import

cuDeviceGetProperties CUDA.Import

cuDeviceTotalMem CUDA.Import

cuDriverGetVersion CUDA.Import

cuEventCreate CUDA.Import

cuEventDestroy CUDA.Import

cuEventElapsedTime CUDA.Import

cuEventQuery CUDA.Import

cuEventRecord CUDA.Import

cuEventSynchronize CUDA.Import

cufftDestroy CUDA.FourierTransform

cufftExecC2C CUDA.FourierTransform

cufftExecC2R CUDA.FourierTransform

cufftExecD2Z CUDA.FourierTransform

cufftExecR2C CUDA.FourierTransform

cufftExecZ2D CUDA.FourierTransform

cufftExecZ2Z CUDA.FourierTransform

cufftPlan1d CUDA.FourierTransform

cufftPlan2d CUDA.FourierTransform

cufftPlan3d CUDA.FourierTransform

cufftPlanMany CUDA.FourierTransform

cufftSetCompatibilityMode CUDA.FourierTransform

cufftSetStream CUDA.FourierTransform

cuFuncGetAttribute CUDA.Import

cuFuncSetBlockShape CUDA.Import

cuFuncSetSharedSize CUDA.Import

cuGLCtxCreate CUDA.Import

cuGLInit CUDA.Import

cuGLMapBufferObject CUDA.Import

cuGLMapBufferObjectAsync CUDA.Import

cuGLRegisterBufferObject CUDA.Import

cuGLSetBufferObjectMapFlags CUDA.Import

cuGLUnmapBufferObject CUDA.Import

cuGLUnmapBufferObjectAsync CUDA.Import

cuGLUnregisterBufferObject CUDA.Import

cuGraphicsGLRegisterBuffer CUDA.Import

cuGraphicsGLRegisterImage CUDA.Import

cuGraphicsMapResources CUDA.Import

cuGraphicsResourceGetMappedPointer CUDA.Import

cuGraphicsResourceSetMapFlags CUDA.Import

cuGraphicsSubResourceGetMappedArray CUDA.Import

cuGraphicsUnmapResources CUDA.Import

cuGraphicsUnregisterResource CUDA.Import

cuInit CUDA.Import

cuLaunch CUDA.Import

cuLaunchGrid CUDA.Import

cuLaunchGridAsync CUDA.Import

cuMemAlloc CUDA.Import

cuMemAllocHost CUDA.Import

cuMemAllocPitch CUDA.Import

cuMemcpy2D CUDA.Import

cuMemcpy2DAsync CUDA.Import

cuMemcpy2DUnaligned CUDA.Import

cuMemcpy3D CUDA.Import

cuMemcpy3DAsync CUDA.Import

cuMemcpyAtoA CUDA.Import

cuMemcpyAtoD CUDA.Import

cuMemcpyAtoH CUDA.Import

cuMemcpyAtoHAsync CUDA.Import

cuMemcpyDtoA CUDA.Import

cuMemcpyDtoD CUDA.Import

cuMemcpyDtoDAsync CUDA.Import

cuMemcpyDtoH CUDA.Import

cuMemcpyDtoHAsync CUDA.Import

cuMemcpyHtoA CUDA.Import

cuMemcpyHtoAAsync CUDA.Import

cuMemcpyHtoD CUDA.Import

cuMemcpyHtoDAsync CUDA.Import

cuMemFree CUDA.Import

cuMemFreeHost CUDA.Import

cuMemGetAddressRange CUDA.Import

cuMemGetInfo CUDA.Import

cuMemHostAlloc CUDA.Import

cuMemHostGetDevicePointer CUDA.Import

cuMemHostGetFlags CUDA.Import

cuMemsetD16 CUDA.Import

cuMemsetD2D16 CUDA.Import

cuMemsetD2D32 CUDA.Import

cuMemsetD2D8 CUDA.Import

cuMemsetD32 CUDA.Import

cuMemsetD8 CUDA.Import

cuModuleGetFunction CUDA.Import

cuModuleGetGlobal CUDA.Import

cuModuleGetTexRef CUDA.Import

cuModuleLoad CUDA.Import

cuModuleLoadData CUDA.Import

cuModuleLoadDataEx CUDA.Import

cuModuleLoadFatBinary CUDA.Import

cuModuleUnload CUDA.Import

cuParamSetf CUDA.Import

cuParamSeti CUDA.Import

cuParamSetSize CUDA.Import

cuParamSetTexRef CUDA.Import

cuParamSetv CUDA.Import

cuStreamCreate CUDA.Import

cuStreamDestroy CUDA.Import

cuStreamQuery CUDA.Import

cuStreamSynchronize CUDA.Import

cutComparef CUDA.Utility

cutComparefe CUDA.Utility

cutComparefet CUDA.Utility

cutComparei CUDA.Utility

cutCompareL2fe CUDA.Utility

cutCompareub CUDA.Utility

cutCompareube CUDA.Utility

cutCompareubt CUDA.Utility

cutCompareuit CUDA.Utility

cutCreateTimer CUDA.Utility

cutDeleteTimer CUDA.Utility

cuTexRefCreate CUDA.Import

cuTexRefDestroy CUDA.Import

cuTexRefGetAddress CUDA.Import

cuTexRefGetAddressMode CUDA.Import

cuTexRefGetArray CUDA.Import

cuTexRefGetFilterMode CUDA.Import

cuTexRefGetFlags CUDA.Import

cuTexRefGetFormat CUDA.Import

cuTexRefSetAddress CUDA.Import

cuTexRefSetAddress2D CUDA.Import

cuTexRefSetAddressMode CUDA.Import

cuTexRefSetArray CUDA.Import

cuTexRefSetFilterMode CUDA.Import

cuTexRefSetFlags CUDA.Import

cuTexRefSetFormat CUDA.Import

cutFindFilePath CUDA.Utility

cutFree CUDA.Utility

cutGetAverageTimerValue CUDA.Utility

cutGetTimerValue CUDA.Utility

cutLoadPGMf CUDA.Utility

cutLoadPGMi CUDA.Utility

cutLoadPGMs CUDA.Utility

cutLoadPGMub CUDA.Utility

cutLoadPPM4ub CUDA.Utility

cutLoadPPMub CUDA.Utility

cutResetTimer CUDA.Utility

cutSavePGMf CUDA.Utility

cutSavePGMi CUDA.Utility

cutSavePGMs CUDA.Utility

cutSavePGMub CUDA.Utility

cutSavePPM4ub CUDA.Utility

cutSavePPMub CUDA.Utility

cutStartTimer CUDA.Utility

cutStopTimer CUDA.Utility

cuWGLGetDevice CUDA.Import

dBoxClass Physics.ODEImport

dCapsuleClass Physics.ODEImport

dConvexClass Physics.ODEImport

dCylinderClass Physics.ODEImport

Debug_Tri GLS.EllipseCollision

.$DEFINE DEBUG
dFirstSpaceClass Physics.ODEImport

dFirstUserClass Physics.ODEImport

dGeomNumClasses Physics.ODEImport

dGeomTransformClass Physics.ODEImport

dHashSpaceClass Physics.ODEImport

dHeightFieldClass Physics.ODEImport

DisabledDebugCollision Physics.ODEImport

DisabledDebugGeom Physics.ODEImport

dLastSpaceClass Physics.ODEImport

dLastUserClass Physics.ODEImport

dPlaneClass Physics.ODEImport

dQuadTreeSpaceClass Physics.ODEImport

dRayClass Physics.ODEImport

dSimpleSpaceClass Physics.ODEImport

dSphereClass Physics.ODEImport

dSweepAndPruneSpaceClass Physics.ODEImport

dTriMeshClass Physics.ODEImport

EAXGet Sounds.OpenALImport

EAXGetBufferMode Sounds.OpenALImport

EAXSet Sounds.OpenALImport

EAX functions
EAXSetBufferMode Sounds.OpenALImport

X-RAM functions
EFXUtilLibHandle Sounds.OpenALImport

GL GLS.Context

GLContextManager GLS.Context

GLOpenGL GLS.OpenGLVCL

GLSkinEditorForm FmGuiSkinEditor

GLwithoutContext GLS.Context

IDTFConverterFileName GLS.File3DPDF

global variable for accing the IDTF->U3D converter
IncludeFilePath Cg.Shader

Set IncludeFilePath to indicate where to find your include file for your Cg source files. This avoids error from the Cg Compiler when the current directory is not the right path as the shader is being compiled.
IsDesignTime GLS.Utils

IsODEInitialized Physics.ODEImport

Language GLS.Strings

String constants that are used for internationalization

To build your project with a single language's translations in the executable itself, define one of the next languages

Language $DEFINE 2-character locale id ——————- ———- ——————— English LANG_EN en French LANG_FR fr German LANG_DE de Italian LANG_IT it Japanese LANG_JP jp Russian LANG_RU ru Spanish LANG_ES es
LibHandle Sounds.OpenALImport

lkPrefix GLS.Logger

llMessageLimit GLS.Logger

sH2 GLS.Navigator

STLUseEmbeddedColors GLS.FileSTL

sW2 GLS.Navigator

vAFIOCreateFileStream GLS.ApplicationFileIO

vAFIOFileStreamExists GLS.ApplicationFileIO

vContextActivationFailureOccurred GLS.Context

vCounterFrequency GLS.Scene

vCurrentGLContext GLS.Context

vCurrentRenderingObject GLS.Scene

vCurrentVideoMode GLS.Screen

vCustomColliderClass Physics.ODEManager

vCustomColliderClassNum Physics.ODEManager

vDDSDetailLevel GLS.FileDDS

Variable determines which resolution to use textures, high - it loads all levels, midle - skipped the first level, low - skipped the first two levels.
vDefaultMeshOptimizerOptions GLS.MeshBuilder

vDefaultTextureCompression GLS.TextureFormat

vDefaultTextureFormat GLS.TextureFormat

vEdgeInfoReserveSize GLS.MeshUtils

vFindCuFileFunc CUDA.Compiler

vFontManagerMsgID GLS.SpaceText

vGhoul2LevelOfDetail GLS.FileGL2

vGhoul2MaxBonesPerVertex GLS.FileGL2

Highest detail level by default
vGLFile3DSSceneObjects_RenderCameraAndLights GLS.File3DSSceneObjects

vGLFile3DS_EnableAnimation GLS.File3DS

If enabled, allows 3ds animation and fixes loading of some 3ds models, but has a few bugs: - TGLFreeForm.AutoCentering does now work correctly. - TGLMeshObject.vertices return values different from TGLMeshObject.ExtractTriangles()
vGLFile3DS_FixDefaultUpAxisY GLS.File3DS

If enabled, a -90 degrees (-PI/2) rotation will occured on X Axis. By design 3dsmax has a Z Up-Axis, after the rotation the Up axis will be Y. (Note: you need vGLFile3DS_EnableAnimation = true)
vGLFile3DS_LoadedStaticFrame GLS.File3DS

If >= 0, then the vertices list will be updated with selected frame animation data. (Note: you need vGLFile3DS_EnableAnimation = true). Be aware that in that case animation will not be usable, it is made to be used with a static mesh like GLFreeForm.
vGLFile3DS_UseTextureEx GLS.File3DS

If enabled, advanced parameters will be loaded from a 3ds file (TextureScale, TextureOffset), but it might break backwards compatibility. If disabled, it won't break anything, but some parameters will not be loaded correctly from a 3ds file. Also there is a significant drop in FPS when this option is on (for unknown reasons), so it is off by default.
vGLFileOBJ_SplitMesh GLS.FileOBJ

If enabled, main mesh will be splitted into multiple mesh from facegroup data.
vGLFileOCTAllocateMaterials GLS.FileOCT

Scaling factor, 1.0 = unchanged
vGLFileOCTLightmapBrightness GLS.FileOCT

vGLFileOCTLightmapGammaCorrection GLS.FileOCT

Scaling factor, 1.0 = unchanged
vGLFileQ3BSPLoadMaterials GLS.FileQ3BSP

scaling factor, 1.0 = unchanged
vGLVectorFileObjectsAllocateMaterials GLS.VectorFileObjects

vGLVectorFileObjectsEnableVBOByDefault GLS.VectorFileObjects

Flag to avoid loading materials (useful for IDE Extentions or scene editors)
vIDELogProc GLS.Logger

vIgnoreOpenGLErrors GLS.Context

vImageScaleFilterWidth GLS.ImageUtils

vImprovedFixingOpenTriangleEdge GLS.MeshUtils

vLastWheelDelta GLS.Keyboard

vMainThread GLS.Context

vMD5TextureExtensions GLS.FileMD5

vNumberVideoModes GLS.Screen

vODEObjectRegister Physics.ODEManager

vODERagdoll_cDensity Physics.ODERagdoll

vODERagdoll_cMass Physics.ODERagdoll

VORUseEmbeddedColors GLS.FileVOR

vProjectTargetName GLS.Utils

vQ3BSPLightmapBrightness GLS.FileQ3BSP

vQ3BSPLightmapGammaCorrection GLS.FileQ3BSP

Q3 lightmaps are quite dark, we brighten them a lot by default
vSIMD GLS.VectorGeometry

This var is adjusted during "initialization", current values are + 0 : use standard optimized FPU code + 1 : use 3DNow! optimized code (requires K6-2/3 CPU) + 2 : use Intel SSE code (Pentium III, NOT IMPLEMENTED YET !)
vUseDefaultColorSets GLS.Color

Specifies if TGLColor should allocate memory for their default values (ie. design-time) or not (run-time)
VUseDefaultCoordinateSets GLS.Coordinates

Specifies if TGLCustomCoordinates should allocate memory for their default values (ie. design-time) or not (run-time)
vUseWindowTrackingHook GLS.WindowsContext

This boolean controls a hook-based tracking of top-level forms destruction, with the purpose of being able to properly release OpenGL contexts before they are (improperly) released by some drivers upon top-level form destruction
vVerboseGLSMErrors GLS.Sound

If this variable is true, errors in GLSM may be displayed to the user
vVerticalFlipDDS GLS.Graphics

vVideoModes GLS.Screen

xgl GLS.Context


GLSysHelp v.2.1: All Constants

All Constants

Name Unit Description
ACubicFirst3DS Formats.m3DSConst

maximum reflection map aliasing used with TAcubic3DS structure
ACubicFlat3DS Formats.m3DSConst

ALC_ALL_ATTRIBUTES Sounds.OpenALImport

ALC_ALL_DEVICES_SPECIFIER Sounds.OpenALImport

ALC_ATTRIBUTES_SIZE Sounds.OpenALImport

ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER Sounds.OpenALImport

ALC_CAPTURE_DEVICE_SPECIFIER Sounds.OpenALImport

Capture extension
ALC_CAPTURE_SAMPLES Sounds.OpenALImport

ALC_DEFAULT_ALL_DEVICES_SPECIFIER Sounds.OpenALImport

ALC_ENUMERATE_ALL_EXT enums
ALC_DEFAULT_DEVICE_SPECIFIER Sounds.OpenALImport

The Specifier string for default device
ALC_DEVICE_SPECIFIER Sounds.OpenALImport

ALC_EFX_MAJOR_VERSION Sounds.OpenALImport

Context definitions to be used with alcCreateContext. These values must be unique and not conflict with other al context values.
ALC_EFX_MINOR_VERSION Sounds.OpenALImport

ALC_EXTENSIONS Sounds.OpenALImport

ALC_EXT_EFX_NAME Sounds.OpenALImport

EFX Extension
ALC_FALSE Sounds.OpenALImport

Boolean False.
ALC_FREQUENCY Sounds.OpenALImport

followed by <int> Hz
ALC_INVALID Sounds.OpenALImport

bad value
ALC_INVALID_CONTEXT Sounds.OpenALImport

invalid context ID
ALC_INVALID_DEVICE Sounds.OpenALImport

No device
ALC_INVALID_ENUM Sounds.OpenALImport

bad enum
ALC_INVALID_VALUE Sounds.OpenALImport

bad value
ALC_MAJOR_VERSION Sounds.OpenALImport

ALC_MAX_AUXILIARY_SENDS Sounds.OpenALImport

ALC_MINOR_VERSION Sounds.OpenALImport

ALC_MONO_SOURCES Sounds.OpenALImport

followed by <int> Num of requested Mono (3D) Sources
ALC_NO_ERROR Sounds.OpenALImport

errors No error
ALC_OUT_OF_MEMORY Sounds.OpenALImport

Out of memory.
ALC_REFRESH Sounds.OpenALImport

followed by <int> Hz
ALC_STEREO_SOURCES Sounds.OpenALImport

followed by <int> Num of requested Stereo Sources
ALC_SYNC Sounds.OpenALImport

followed by AL_TRUE, AL_FALSE
ALC_TRUE Sounds.OpenALImport

Boolean True.
ALLOC_SIZE GLS.Isosurface

AL_AIR_ABSORPTION_FACTOR Sounds.OpenALImport

AL_AUTOWAH_ATTACK_TIME Sounds.OpenALImport

Autowah Parameters
AL_AUTOWAH_DEFAULT_ATTACK_TIME Sounds.OpenALImport

AL_AUTOWAH_DEFAULT_PEAK_GAIN Sounds.OpenALImport

AL_AUTOWAH_DEFAULT_RELEASE_TIME Sounds.OpenALImport

AL_AUTOWAH_DEFAULT_RESONANCE Sounds.OpenALImport

AL_AUTOWAH_MAX_ATTACK_TIME Sounds.OpenALImport

AL_AUTOWAH_MAX_PEAK_GAIN Sounds.OpenALImport

AL_AUTOWAH_MAX_RELEASE_TIME Sounds.OpenALImport

AL_AUTOWAH_MAX_RESONANCE Sounds.OpenALImport

AL_AUTOWAH_MIN_ATTACK_TIME Sounds.OpenALImport

AL autowah effect parameter ranges and defaults
AL_AUTOWAH_MIN_PEAK_GAIN Sounds.OpenALImport

AL_AUTOWAH_MIN_RELEASE_TIME Sounds.OpenALImport

AL_AUTOWAH_MIN_RESONANCE Sounds.OpenALImport

AL_AUTOWAH_PEAK_GAIN Sounds.OpenALImport

AL_AUTOWAH_RELEASE_TIME Sounds.OpenALImport

AL_AUTOWAH_RESONANCE Sounds.OpenALImport

AL_AUXILIARY_SEND_FILTER Sounds.OpenALImport

AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_AUXILIARY_SEND_FILTER_GAIN_AUTO Sounds.OpenALImport

AL_BANDPASS_GAIN Sounds.OpenALImport

Bandpass Parameters
AL_BANDPASS_GAINHF Sounds.OpenALImport

AL_BANDPASS_GAINLF Sounds.OpenALImport

AL_BITS Sounds.OpenALImport

AL_BUFFER Sounds.OpenALImport

Indicate the buffer to provide sound samples. Type: ALuint. Range: any valid Buffer id.
AL_BUFFERS_PROCESSED Sounds.OpenALImport

AL_BUFFERS_QUEUED Sounds.OpenALImport

Buffer Queue params
AL_BYTE_OFFSET Sounds.OpenALImport

AL_CHANNELS Sounds.OpenALImport

AL_CHANNEL_MASK Sounds.OpenALImport

Specify the channel mask. (Creative) Type: ALuint Range: [0 - 255]
AL_CHORUS_DEFAULT_DELAY Sounds.OpenALImport

AL_CHORUS_DEFAULT_DEPTH Sounds.OpenALImport

AL_CHORUS_DEFAULT_FEEDBACK Sounds.OpenALImport

AL_CHORUS_DEFAULT_PHASE Sounds.OpenALImport

AL_CHORUS_DEFAULT_RATE Sounds.OpenALImport

AL_CHORUS_DEFAULT_WAVEFORM Sounds.OpenALImport

AL_CHORUS_DELAY Sounds.OpenALImport

AL_CHORUS_DEPTH Sounds.OpenALImport

AL_CHORUS_FEEDBACK Sounds.OpenALImport

AL_CHORUS_MAX_DELAY Sounds.OpenALImport

AL_CHORUS_MAX_DEPTH Sounds.OpenALImport

AL_CHORUS_MAX_FEEDBACK Sounds.OpenALImport

AL_CHORUS_MAX_PHASE Sounds.OpenALImport

AL_CHORUS_MAX_RATE Sounds.OpenALImport

AL_CHORUS_MAX_WAVEFORM Sounds.OpenALImport

AL_CHORUS_MIN_DELAY Sounds.OpenALImport

AL_CHORUS_MIN_DEPTH Sounds.OpenALImport

AL_CHORUS_MIN_FEEDBACK Sounds.OpenALImport

AL_CHORUS_MIN_PHASE Sounds.OpenALImport

AL_CHORUS_MIN_RATE Sounds.OpenALImport

AL_CHORUS_MIN_WAVEFORM Sounds.OpenALImport

AL chorus effect parameter ranges and defaults
AL_CHORUS_PHASE Sounds.OpenALImport

AL_CHORUS_RATE Sounds.OpenALImport

AL_CHORUS_WAVEFORM Sounds.OpenALImport

Chorus Parameters
AL_CHORUS_WAVEFORM_SINUSOID Sounds.OpenALImport

AL_CHORUS_WAVEFORM_TRIANGLE Sounds.OpenALImport

AL_COMPRESSOR_DEFAULT_ONOFF Sounds.OpenALImport

AL_COMPRESSOR_MAX_ONOFF Sounds.OpenALImport

AL_COMPRESSOR_MIN_ONOFF Sounds.OpenALImport

AL compressor effect parameter ranges and defaults
AL_COMPRESSOR_ONOFF Sounds.OpenALImport

Compressor Parameters
AL_CONE_INNER_ANGLE Sounds.OpenALImport

Directional source, inner cone angle, in degrees. Range: [0-360] Default: 360
AL_CONE_OUTER_ANGLE Sounds.OpenALImport

Directional source, outer cone angle, in degrees. Range: [0-360] Default: 360
AL_CONE_OUTER_GAIN Sounds.OpenALImport

Directional source, outer cone gain. Default: 0.0 Range: [0.0 - 1.0] Logarithmic
AL_CONE_OUTER_GAINHF Sounds.OpenALImport

AL_DEFAULT_AIR_ABSORPTION_FACTOR Sounds.OpenALImport

AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO Sounds.OpenALImport

AL_DEFAULT_CONE_OUTER_GAINHF Sounds.OpenALImport

AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_DEFAULT_METERS_PER_UNIT Sounds.OpenALImport

Listener parameter value definitions, ranges and defaults. AL_MIN_METERS_PER_UNIT =FLT_MIN; AL_MAX_METERS_PER_UNIT =FLT_MAX;
AL_DEFAULT_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_DIRECTION Sounds.OpenALImport

Specify the current direction.
AL_DIRECT_FILTER Sounds.OpenALImport

Source definitions to be used with alSource functions. These values must be unique and not conflict with other al source values.
AL_DIRECT_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_DISTANCE_MODEL Sounds.OpenALImport

Distance models

used in conjunction with DistanceModel

implicit: NONE, which disances distance attenuation.
AL_DISTORTION_DEFAULT_EDGE Sounds.OpenALImport

AL_DISTORTION_DEFAULT_EQBANDWIDTH Sounds.OpenALImport

AL_DISTORTION_DEFAULT_EQCENTER Sounds.OpenALImport

AL_DISTORTION_DEFAULT_GAIN Sounds.OpenALImport

AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF Sounds.OpenALImport

AL_DISTORTION_EDGE Sounds.OpenALImport

Distortion Parameters
AL_DISTORTION_EQBANDWIDTH Sounds.OpenALImport

AL_DISTORTION_EQCENTER Sounds.OpenALImport

AL_DISTORTION_GAIN Sounds.OpenALImport

AL_DISTORTION_LOWPASS_CUTOFF Sounds.OpenALImport

AL_DISTORTION_MAX_EDGE Sounds.OpenALImport

AL_DISTORTION_MAX_EQBANDWIDTH Sounds.OpenALImport

AL_DISTORTION_MAX_EQCENTER Sounds.OpenALImport

AL_DISTORTION_MAX_GAIN Sounds.OpenALImport

AL_DISTORTION_MAX_LOWPASS_CUTOFF Sounds.OpenALImport

AL_DISTORTION_MIN_EDGE Sounds.OpenALImport

AL distortion effect parameter ranges and defaults
AL_DISTORTION_MIN_EQBANDWIDTH Sounds.OpenALImport

AL_DISTORTION_MIN_EQCENTER Sounds.OpenALImport

AL_DISTORTION_MIN_GAIN Sounds.OpenALImport

AL_DISTORTION_MIN_LOWPASS_CUTOFF Sounds.OpenALImport

AL_DOPPLER_FACTOR Sounds.OpenALImport

Global tweakage. Doppler scale. Default 1.0
AL_DOPPLER_VELOCITY Sounds.OpenALImport

Tweaks speed of propagation.
AL_EAXREVERB_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_EAXREVERB_DECAY_HFLIMIT Sounds.OpenALImport

AL_EAXREVERB_DECAY_HFRATIO Sounds.OpenALImport

AL_EAXREVERB_DECAY_LFRATIO Sounds.OpenALImport

AL_EAXREVERB_DECAY_TIME Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_HFRATIO Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_LFRATIO Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_TIME Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DENSITY Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DIFFUSION Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_ECHO_DEPTH Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_ECHO_TIME Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_GAIN Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_GAINHF Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_GAINLF Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_HFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_MODULATION_DEPTH Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_MODULATION_TIME Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_EAXREVERB_DENSITY Sounds.OpenALImport

EFX AEX extenstion Effect object definitions to be used with alEffect functions. Effect parameter value definitions, ranges, and defaults appear farther down in this file. AL EAXReverb effect parameters.
AL_EAXREVERB_DIFFUSION Sounds.OpenALImport

AL_EAXREVERB_ECHO_DEPTH Sounds.OpenALImport

AL_EAXREVERB_ECHO_TIME Sounds.OpenALImport

AL_EAXREVERB_GAIN Sounds.OpenALImport

AL_EAXREVERB_GAINHF Sounds.OpenALImport

AL_EAXREVERB_GAINLF Sounds.OpenALImport

AL_EAXREVERB_HFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_LATE_REVERB_DELAY Sounds.OpenALImport

AL_EAXREVERB_LATE_REVERB_GAIN Sounds.OpenALImport

AL_EAXREVERB_LATE_REVERB_PAN Sounds.OpenALImport

AL_EAXREVERB_LFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_HFLIMIT Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_HFRATIO Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_LFRATIO Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_TIME Sounds.OpenALImport

AL_EAXREVERB_MAX_DENSITY Sounds.OpenALImport

AL_EAXREVERB_MAX_DIFFUSION Sounds.OpenALImport

AL_EAXREVERB_MAX_ECHO_DEPTH Sounds.OpenALImport

AL_EAXREVERB_MAX_ECHO_TIME Sounds.OpenALImport

AL_EAXREVERB_MAX_GAIN Sounds.OpenALImport

AL_EAXREVERB_MAX_GAINHF Sounds.OpenALImport

AL_EAXREVERB_MAX_GAINLF Sounds.OpenALImport

AL_EAXREVERB_MAX_HFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_MAX_LATE_REVERB_DELAY Sounds.OpenALImport

AL_EAXREVERB_MAX_LATE_REVERB_GAIN Sounds.OpenALImport

AL_EAXREVERB_MAX_LFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_MAX_MODULATION_DEPTH Sounds.OpenALImport

AL_EAXREVERB_MAX_MODULATION_TIME Sounds.OpenALImport

AL_EAXREVERB_MAX_REFLECTIONS_DELAY Sounds.OpenALImport

AL_EAXREVERB_MAX_REFLECTIONS_GAIN Sounds.OpenALImport

AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_HFLIMIT Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_HFRATIO Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_LFRATIO Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_TIME Sounds.OpenALImport

AL_EAXREVERB_MIN_DENSITY Sounds.OpenALImport

Effect parameter structures, value definitions, ranges and defaults. AL reverb effect parameter ranges and defaults
AL_EAXREVERB_MIN_DIFFUSION Sounds.OpenALImport

AL_EAXREVERB_MIN_ECHO_DEPTH Sounds.OpenALImport

AL_EAXREVERB_MIN_ECHO_TIME Sounds.OpenALImport

AL_EAXREVERB_MIN_GAIN Sounds.OpenALImport

AL_EAXREVERB_MIN_GAINHF Sounds.OpenALImport

AL_EAXREVERB_MIN_GAINLF Sounds.OpenALImport

AL_EAXREVERB_MIN_HFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_MIN_LATE_REVERB_DELAY Sounds.OpenALImport

AL_EAXREVERB_MIN_LATE_REVERB_GAIN Sounds.OpenALImport

AL_EAXREVERB_MIN_LFREFERENCE Sounds.OpenALImport

AL_EAXREVERB_MIN_MODULATION_DEPTH Sounds.OpenALImport

AL_EAXREVERB_MIN_MODULATION_TIME Sounds.OpenALImport

AL_EAXREVERB_MIN_REFLECTIONS_DELAY Sounds.OpenALImport

AL_EAXREVERB_MIN_REFLECTIONS_GAIN Sounds.OpenALImport

AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_EAXREVERB_MODULATION_DEPTH Sounds.OpenALImport

AL_EAXREVERB_MODULATION_TIME Sounds.OpenALImport

AL_EAXREVERB_REFLECTIONS_DELAY Sounds.OpenALImport

AL_EAXREVERB_REFLECTIONS_GAIN Sounds.OpenALImport

AL_EAXREVERB_REFLECTIONS_PAN Sounds.OpenALImport

AL_EAXREVERB_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_ECHO_DAMPING Sounds.OpenALImport

AL_ECHO_DEFAULT_DAMPING Sounds.OpenALImport

AL_ECHO_DEFAULT_DELAY Sounds.OpenALImport

AL_ECHO_DEFAULT_FEEDBACK Sounds.OpenALImport

AL_ECHO_DEFAULT_LRDELAY Sounds.OpenALImport

AL_ECHO_DEFAULT_SPREAD Sounds.OpenALImport

AL_ECHO_DELAY Sounds.OpenALImport

Echo Parameters
AL_ECHO_FEEDBACK Sounds.OpenALImport

AL_ECHO_LRDELAY Sounds.OpenALImport

AL_ECHO_MAX_DAMPING Sounds.OpenALImport

AL_ECHO_MAX_DELAY Sounds.OpenALImport

AL_ECHO_MAX_FEEDBACK Sounds.OpenALImport

AL_ECHO_MAX_LRDELAY Sounds.OpenALImport

AL_ECHO_MAX_SPREAD Sounds.OpenALImport

AL_ECHO_MIN_DAMPING Sounds.OpenALImport

AL_ECHO_MIN_DELAY Sounds.OpenALImport

AL echo effect parameter ranges and defaults
AL_ECHO_MIN_FEEDBACK Sounds.OpenALImport

AL_ECHO_MIN_LRDELAY Sounds.OpenALImport

AL_ECHO_MIN_SPREAD Sounds.OpenALImport

AL_ECHO_SPREAD Sounds.OpenALImport

AL_EFFECTSLOT_AUXILIARY_SEND_AUTO Sounds.OpenALImport

AL_EFFECTSLOT_EFFECT Sounds.OpenALImport

Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.
AL_EFFECTSLOT_GAIN Sounds.OpenALImport

AL_EFFECTSLOT_NULL Sounds.OpenALImport

Value to be used as an Auxiliary Slot ID to disable a source send..
AL_EFFECT_AUTOWAH Sounds.OpenALImport

AL_EFFECT_CHORUS Sounds.OpenALImport

AL_EFFECT_COMPRESSOR Sounds.OpenALImport

AL_EFFECT_DISTORTION Sounds.OpenALImport

AL_EFFECT_EAXREVERB Sounds.OpenALImport

Effect type definitions to be used with AL_EFFECT_TYPE.
AL_EFFECT_ECHO Sounds.OpenALImport

AL_EFFECT_EQUALIZER Sounds.OpenALImport

AL_EFFECT_FIRST_PARAMETER Sounds.OpenALImport

Effect type
AL_EFFECT_FLANGER Sounds.OpenALImport

AL_EFFECT_FREQUENCY_SHIFTER Sounds.OpenALImport

AL_EFFECT_LAST_PARAMETER Sounds.OpenALImport

AL_EFFECT_NULL Sounds.OpenALImport

Effect type definitions to be used with AL_EFFECT_TYPE.
AL_EFFECT_PITCH_SHIFTER Sounds.OpenALImport

AL_EFFECT_REVERB Sounds.OpenALImport

Can also be used as an Effect Object ID
AL_EFFECT_RING_MODULATOR Sounds.OpenALImport

AL_EFFECT_TYPE Sounds.OpenALImport

AL_EFFECT_VOCAL_MORPHER Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_HIGH_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_HIGH_GAIN Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_LOW_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_LOW_GAIN Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID1_CENTER Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID1_GAIN Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID1_WIDTH Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID2_CENTER Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID2_GAIN Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID2_WIDTH Sounds.OpenALImport

AL_EQUALIZER_HIGH_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_HIGH_GAIN Sounds.OpenALImport

AL_EQUALIZER_LOW_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_LOW_GAIN Sounds.OpenALImport

Equalizer Parameters
AL_EQUALIZER_MAX_HIGH_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_MAX_HIGH_GAIN Sounds.OpenALImport

AL_EQUALIZER_MAX_LOW_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_MAX_LOW_GAIN Sounds.OpenALImport

AL_EQUALIZER_MAX_MID1_CENTER Sounds.OpenALImport

AL_EQUALIZER_MAX_MID1_GAIN Sounds.OpenALImport

AL_EQUALIZER_MAX_MID1_WIDTH Sounds.OpenALImport

AL_EQUALIZER_MAX_MID2_CENTER Sounds.OpenALImport

AL_EQUALIZER_MAX_MID2_GAIN Sounds.OpenALImport

AL_EQUALIZER_MAX_MID2_WIDTH Sounds.OpenALImport

AL_EQUALIZER_MID1_CENTER Sounds.OpenALImport

AL_EQUALIZER_MID1_GAIN Sounds.OpenALImport

AL_EQUALIZER_MID1_WIDTH Sounds.OpenALImport

AL_EQUALIZER_MID2_CENTER Sounds.OpenALImport

AL_EQUALIZER_MID2_GAIN Sounds.OpenALImport

AL_EQUALIZER_MID2_WIDTH Sounds.OpenALImport

AL_EQUALIZER_MIN_HIGH_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_MIN_HIGH_GAIN Sounds.OpenALImport

AL_EQUALIZER_MIN_LOW_CUTOFF Sounds.OpenALImport

AL_EQUALIZER_MIN_LOW_GAIN Sounds.OpenALImport

AL equalizer effect parameter ranges and defaults
AL_EQUALIZER_MIN_MID1_CENTER Sounds.OpenALImport

AL_EQUALIZER_MIN_MID1_GAIN Sounds.OpenALImport

AL_EQUALIZER_MIN_MID1_WIDTH Sounds.OpenALImport

AL_EQUALIZER_MIN_MID2_CENTER Sounds.OpenALImport

AL_EQUALIZER_MIN_MID2_GAIN Sounds.OpenALImport

AL_EQUALIZER_MIN_MID2_WIDTH Sounds.OpenALImport

AL_EXPONENT_DISTANCE Sounds.OpenALImport

AL_EXPONENT_DISTANCE_CLAMPED Sounds.OpenALImport

AL_EXTENSIONS Sounds.OpenALImport

AL_FALSE Sounds.OpenALImport

Boolean False.
AL_FILTER_BANDPASS Sounds.OpenALImport

AL_FILTER_FIRST_PARAMETER Sounds.OpenALImport

Filter type
AL_FILTER_HIGHPASS Sounds.OpenALImport

AL_FILTER_LAST_PARAMETER Sounds.OpenALImport

AL_FILTER_LOWPASS Sounds.OpenALImport

Can also be used as a Filter Object ID
AL_FILTER_NULL Sounds.OpenALImport

Filter type definitions to be used with AL_FILTER_TYPE.
AL_FILTER_TYPE Sounds.OpenALImport

AL_FLANGER_DEFAULT_DELAY Sounds.OpenALImport

AL_FLANGER_DEFAULT_DEPTH Sounds.OpenALImport

AL_FLANGER_DEFAULT_FEEDBACK Sounds.OpenALImport

AL_FLANGER_DEFAULT_PHASE Sounds.OpenALImport

AL_FLANGER_DEFAULT_RATE Sounds.OpenALImport

AL_FLANGER_DEFAULT_WAVEFORM Sounds.OpenALImport

AL_FLANGER_DELAY Sounds.OpenALImport

AL_FLANGER_DEPTH Sounds.OpenALImport

AL_FLANGER_FEEDBACK Sounds.OpenALImport

AL_FLANGER_MAX_DELAY Sounds.OpenALImport

AL_FLANGER_MAX_DEPTH Sounds.OpenALImport

AL_FLANGER_MAX_FEEDBACK Sounds.OpenALImport

AL_FLANGER_MAX_PHASE Sounds.OpenALImport

AL_FLANGER_MAX_RATE Sounds.OpenALImport

AL_FLANGER_MAX_WAVEFORM Sounds.OpenALImport

AL_FLANGER_MIN_DELAY Sounds.OpenALImport

AL_FLANGER_MIN_DEPTH Sounds.OpenALImport

AL_FLANGER_MIN_FEEDBACK Sounds.OpenALImport

AL_FLANGER_MIN_PHASE Sounds.OpenALImport

AL_FLANGER_MIN_RATE Sounds.OpenALImport

AL_FLANGER_MIN_WAVEFORM Sounds.OpenALImport

AL flanger effect parameter ranges and defaults
AL_FLANGER_PHASE Sounds.OpenALImport

AL_FLANGER_RATE Sounds.OpenALImport

AL_FLANGER_WAVEFORM Sounds.OpenALImport

Flanger Parameters
AL_FLANGER_WAVEFORM_SINUSOID Sounds.OpenALImport

AL_FLANGER_WAVEFORM_TRIANGLE Sounds.OpenALImport

AL_FORMAT_MONO16 Sounds.OpenALImport

AL_FORMAT_MONO8 Sounds.OpenALImport

Sound samples: format specifier.
AL_FORMAT_STEREO16 Sounds.OpenALImport

AL_FORMAT_STEREO8 Sounds.OpenALImport

AL_FREQUENCY Sounds.OpenALImport

Sound samples: frequency, in units of Hertz [Hz]. This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component.
AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DIRECTION_DOWN Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DIRECTION_OFF Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DIRECTION_UP Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_FREQUENCY Sounds.OpenALImport

Frequencyshifter Parameters
AL_FREQUENCY_SHIFTER_LEFT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MAX_FREQUENCY Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MIN_FREQUENCY Sounds.OpenALImport

AL frequency shifter effect parameter ranges and defaults
AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION Sounds.OpenALImport

AL_GAIN Sounds.OpenALImport

Indicate the gain (volume amplification) applied. Type: ALfloat. Range: ]0.0- ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0 is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled.
AL_HIGHPASS_GAIN Sounds.OpenALImport

Highpass Parameters
AL_HIGHPASS_GAINLF Sounds.OpenALImport

AL_ILLEGAL_COMMAND Sounds.OpenALImport

Illegal call.
AL_ILLEGAL_ENUM Sounds.OpenALImport

Invalid parameter passed to AL call.
AL_INITIAL Sounds.OpenALImport

AL_INVALID Sounds.OpenALImport

END EAX Extension bad value
AL_INVALID_ENUM Sounds.OpenALImport

AL_INVALID_NAME Sounds.OpenALImport

Invalid Name paramater passed to AL call.
AL_INVALID_OPERATION Sounds.OpenALImport

AL_INVALID_VALUE Sounds.OpenALImport

Invalid enum parameter value.
AL_INVERSE_DISTANCE Sounds.OpenALImport

AL_INVERSE_DISTANCE_CLAMPED Sounds.OpenALImport

AL_LINEAR_DISTANCE Sounds.OpenALImport

AL_LINEAR_DISTANCE_CLAMPED Sounds.OpenALImport

AL_LOOPING Sounds.OpenALImport

Indicate whether source is looping. Type: ALboolean? Range: [AL_TRUE, AL_FALSE] Default: FALSE.
AL_LOWPASS_GAIN Sounds.OpenALImport

Filter object definitions to be used with alFilter functions. Lowpass parameters.
AL_LOWPASS_GAINHF Sounds.OpenALImport

AL_MAX_AIR_ABSORPTION_FACTOR Sounds.OpenALImport

AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO Sounds.OpenALImport

AL_MAX_CONE_OUTER_GAINHF Sounds.OpenALImport

AL_MAX_DIRECT_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_MAX_DISTANCE Sounds.OpenALImport

Indicate distance above which sources are not attenuated using the inverse clamped distance model. Default: +inf Type: ALfloat Range: 0.0 - +inf
AL_MAX_GAIN Sounds.OpenALImport

Indicate maximum source attenuation Type: ALfloat Range: [0.0 - 1.0] Logarthmic
AL_MAX_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_METERS_PER_UNIT Sounds.OpenALImport

Listener definitions to be used with alListener functions. These values must be unique and not conflict with other al listener values.
AL_MIN_AIR_ABSORPTION_FACTOR Sounds.OpenALImport

Source parameter value definitions, ranges and defaults.
AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO Sounds.OpenALImport

AL_MIN_CONE_OUTER_GAINHF Sounds.OpenALImport

AL_MIN_DIRECT_FILTER_GAINHF_AUTO Sounds.OpenALImport

AL_MIN_GAIN Sounds.OpenALImport

Indicate minimum source attenuation Type: ALfloat Range: [0.0 - 1.0] Logarthmic
AL_MIN_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_NONE Sounds.OpenALImport

AL_NO_ERROR Sounds.OpenALImport

Errors: No Error.
AL_ORIENTATION Sounds.OpenALImport

Indicate listener orientation. at/up
AL_OUT_OF_MEMORY Sounds.OpenALImport

No mojo.
AL_PAUSED Sounds.OpenALImport

AL_PENDING Sounds.OpenALImport

AL_PITCH Sounds.OpenALImport

Specify the pitch to be applied, either at source, or on mixer results, at listener. Range: [0.5-2.0] Default: 1.0
AL_PITCH_SHIFTER_COARSE_TUNE Sounds.OpenALImport

Pitchshifter Parameters
AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE Sounds.OpenALImport

AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE Sounds.OpenALImport

AL_PITCH_SHIFTER_FINE_TUNE Sounds.OpenALImport

AL_PITCH_SHIFTER_MAX_COARSE_TUNE Sounds.OpenALImport

AL_PITCH_SHIFTER_MAX_FINE_TUNE Sounds.OpenALImport

AL_PITCH_SHIFTER_MIN_COARSE_TUNE Sounds.OpenALImport

AL pitch shifter effect parameter ranges and defaults
AL_PITCH_SHIFTER_MIN_FINE_TUNE Sounds.OpenALImport

AL_PLAYING Sounds.OpenALImport

AL_POSITION Sounds.OpenALImport

Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system.
AL_PROCESSED Sounds.OpenALImport

AL_REFERENCE_DISTANCE Sounds.OpenALImport

source specific reference distance Type: ALfloat Range: 0.0 - +inf At 0.0, no distance attenuation occurs. Default is 1.0.
AL_RENDERER Sounds.OpenALImport

AL_REVERB_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_REVERB_DECAY_HFLIMIT Sounds.OpenALImport

AL_REVERB_DECAY_HFRATIO Sounds.OpenALImport

AL_REVERB_DECAY_TIME Sounds.OpenALImport

AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_REVERB_DEFAULT_DECAY_HFLIMIT Sounds.OpenALImport

AL_REVERB_DEFAULT_DECAY_HFRATIO Sounds.OpenALImport

AL_REVERB_DEFAULT_DECAY_TIME Sounds.OpenALImport

AL_REVERB_DEFAULT_DENSITY Sounds.OpenALImport

AL_REVERB_DEFAULT_DIFFUSION Sounds.OpenALImport

AL_REVERB_DEFAULT_GAIN Sounds.OpenALImport

AL_REVERB_DEFAULT_GAINHF Sounds.OpenALImport

AL_REVERB_DEFAULT_LATE_REVERB_DELAY Sounds.OpenALImport

AL_REVERB_DEFAULT_LATE_REVERB_GAIN Sounds.OpenALImport

AL_REVERB_DEFAULT_REFLECTIONS_DELAY Sounds.OpenALImport

AL_REVERB_DEFAULT_REFLECTIONS_GAIN Sounds.OpenALImport

AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_REVERB_DENSITY Sounds.OpenALImport

Effect object definitions to be used with alEffect functions. Effect parameter value definitions, ranges, and defaults appear farther down in this file. Reverb Parameters
AL_REVERB_DIFFUSION Sounds.OpenALImport

AL_REVERB_GAIN Sounds.OpenALImport

AL_REVERB_GAINHF Sounds.OpenALImport

AL_REVERB_LATE_REVERB_DELAY Sounds.OpenALImport

AL_REVERB_LATE_REVERB_GAIN Sounds.OpenALImport

AL_REVERB_MAX_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_REVERB_MAX_DECAY_HFLIMIT Sounds.OpenALImport

AL_REVERB_MAX_DECAY_HFRATIO Sounds.OpenALImport

AL_REVERB_MAX_DECAY_TIME Sounds.OpenALImport

AL_REVERB_MAX_DENSITY Sounds.OpenALImport

AL_REVERB_MAX_DIFFUSION Sounds.OpenALImport

AL_REVERB_MAX_GAIN Sounds.OpenALImport

AL_REVERB_MAX_GAINHF Sounds.OpenALImport

AL_REVERB_MAX_LATE_REVERB_DELAY Sounds.OpenALImport

AL_REVERB_MAX_LATE_REVERB_GAIN Sounds.OpenALImport

AL_REVERB_MAX_REFLECTIONS_DELAY Sounds.OpenALImport

AL_REVERB_MAX_REFLECTIONS_GAIN Sounds.OpenALImport

AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_REVERB_MIN_AIR_ABSORPTION_GAINHF Sounds.OpenALImport

AL_REVERB_MIN_DECAY_HFLIMIT Sounds.OpenALImport

AL_REVERB_MIN_DECAY_HFRATIO Sounds.OpenALImport

AL_REVERB_MIN_DECAY_TIME Sounds.OpenALImport

AL_REVERB_MIN_DENSITY Sounds.OpenALImport

Effect parameter structures, value definitions, ranges and defaults. AL reverb effect parameter ranges and defaults
AL_REVERB_MIN_DIFFUSION Sounds.OpenALImport

AL_REVERB_MIN_GAIN Sounds.OpenALImport

AL_REVERB_MIN_GAINHF Sounds.OpenALImport

AL_REVERB_MIN_LATE_REVERB_DELAY Sounds.OpenALImport

AL_REVERB_MIN_LATE_REVERB_GAIN Sounds.OpenALImport

AL_REVERB_MIN_REFLECTIONS_DELAY Sounds.OpenALImport

AL_REVERB_MIN_REFLECTIONS_GAIN Sounds.OpenALImport

AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_REVERB_REFLECTIONS_DELAY Sounds.OpenALImport

AL_REVERB_REFLECTIONS_GAIN Sounds.OpenALImport

AL_REVERB_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_RING_MODULATOR_DEFAULT_FREQUENCY Sounds.OpenALImport

AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF Sounds.OpenALImport

AL_RING_MODULATOR_DEFAULT_WAVEFORM Sounds.OpenALImport

AL_RING_MODULATOR_FREQUENCY Sounds.OpenALImport

Ringmodulator Parameters
AL_RING_MODULATOR_HIGHPASS_CUTOFF Sounds.OpenALImport

AL_RING_MODULATOR_MAX_FREQUENCY Sounds.OpenALImport

AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF Sounds.OpenALImport

AL_RING_MODULATOR_MAX_WAVEFORM Sounds.OpenALImport

AL_RING_MODULATOR_MIN_FREQUENCY Sounds.OpenALImport

AL ring modulator effect parameter ranges and defaults
AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF Sounds.OpenALImport

AL_RING_MODULATOR_MIN_WAVEFORM Sounds.OpenALImport

AL_RING_MODULATOR_SAWTOOTH Sounds.OpenALImport

AL_RING_MODULATOR_SINUSOID Sounds.OpenALImport

AL_RING_MODULATOR_SQUARE Sounds.OpenALImport

AL_RING_MODULATOR_WAVEFORM Sounds.OpenALImport

AL_ROLLOFF_FACTOR Sounds.OpenALImport

source specific rolloff factor Type: ALfloat Range: 0.0 - +inf
AL_ROOM_ROLLOFF_FACTOR Sounds.OpenALImport

AL_SAMPLE_OFFSET Sounds.OpenALImport

AL_SEC_OFFSET Sounds.OpenALImport

Source buffer position information
AL_SIZE Sounds.OpenALImport

AL_SOURCE_ABSOLUTE Sounds.OpenALImport

Indicate the type of AL_SOURCE. Sources can be spatialized AL_SOURCE_TYPE = $200; Indicate source has absolute coordinates.
AL_SOURCE_RELATIVE Sounds.OpenALImport

Indicate Source has relative coordinates.
AL_SOURCE_STATE Sounds.OpenALImport

Source state information.
AL_SOURCE_TYPE Sounds.OpenALImport

Source type (Static, Streaming or undetermined) Source is Static if a Buffer has been attached using AL_BUFFER Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers Source is undetermined when it has the NULL buffer attached
AL_SPEED_OF_SOUND Sounds.OpenALImport

Speed of Sound in units per second
AL_STATIC Sounds.OpenALImport

AL_STOPPED Sounds.OpenALImport

AL_STREAMING Sounds.OpenALImport

AL_TRUE Sounds.OpenALImport

Boolean True.
AL_UNDETERMINED Sounds.OpenALImport

AL_UNUSED Sounds.OpenALImport

AL_DATA =$2005; Buffer state. Not supported for public use (yet).
AL_VELOCITY Sounds.OpenALImport

Specify the current velocity in three dimensional space.
AL_VENDOR Sounds.OpenALImport

Context strings: Vendor Name.
AL_VERSION Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEA Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEB Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_RATE Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_WAVEFORM Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEA Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEB Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_RATE Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_WAVEFORM Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_PHONEMEA Sounds.OpenALImport

AL vocal morpher effect parameter ranges and defaults
AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_PHONEMEB Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_RATE Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_WAVEFORM Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEMEA Sounds.OpenALImport

Vocalmorpher Parameters
AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEMEB Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_A Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AA Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AE Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AH Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AO Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_B Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_D Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_E Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_EH Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_ER Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_F Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_G Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_I Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_IH Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_IY Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_J Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_K Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_L Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_M Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_N Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_O Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_P Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_R Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_S Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_T Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_U Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_UH Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_UW Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_V Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_Z Sounds.OpenALImport

AL_VOCAL_MORPHER_RATE Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM_SINUSOID Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE Sounds.OpenALImport

AMBIENT_LIGHT Formats.m3DSConst

AMBIENT_NODE_TAG Formats.m3DSConst

ATKEY1 Formats.m3DSConst

ATKEY2 Formats.m3DSConst

ATKEY3 Formats.m3DSConst

ATKEY4 Formats.m3DSConst

ATKEY5 Formats.m3DSConst

ATKEYFLAGS Formats.m3DSConst

AUDIO_F32 SDL2.Import

**< As above, but big-endian byte order *
AUDIO_F32LSB SDL2.Import

** * float32 support *
AUDIO_F32MSB SDL2.Import

**< 32-bit floating point samples *
AUDIO_S16 SDL2.Import

AUDIO_S16LSB SDL2.Import

**< Unsigned 16-bit samples *
AUDIO_S16MSB SDL2.Import

**< As above, but big-endian byte order *
AUDIO_S32 SDL2.Import

**< As above, but big-endian byte order *
AUDIO_S32LSB SDL2.Import

** * int32 support *
AUDIO_S32MSB SDL2.Import

**< 32-bit integer samples *
AUDIO_S8 SDL2.Import

**< Unsigned 8-bit samples *
AUDIO_U16 SDL2.Import

**< As above, but big-endian byte order *
AUDIO_U16LSB SDL2.Import

**< Signed 8-bit samples *
AUDIO_U16MSB SDL2.Import

**< Signed 16-bit samples *
AUDIO_U8 SDL2.Import

** * Audio format flags * * Defaults to LSB byte order. *
AVICOMPRESSF_DATARATE Formats.VFW

interleave
AVICOMPRESSF_INTERLEAVE Formats.VFW

Defines for the dwFlags field of the AVICOMPRESSOPTIONS struct Each of these flags determines if the appropriate field in the structure (dwInterleaveEvery, dwBytesPerSecond, and dwKeyFrameEvery) is payed attention to. See the autodoc in avisave.c for details.
AVICOMPRESSF_KEYFRAMES Formats.VFW

use a data rate
AVICOMPRESSF_VALID Formats.VFW

use keyframes
AVIERR_BADFLAGS Formats.VFW

MAKE_AVIERR(104)
AVIERR_BADFORMAT Formats.VFW

MAKE_AVIERR(101)
AVIERR_BADHANDLE Formats.VFW

MAKE_AVIERR(107)
AVIERR_BADPARAM Formats.VFW

MAKE_AVIERR(105)
AVIERR_BADSIZE Formats.VFW

MAKE_AVIERR(106)
AVIERR_BUFFERTOOSMALL Formats.VFW

MAKE_AVIERR(115)
AVIERR_CANTCOMPRESS Formats.VFW

MAKE_AVIERR(116)
AVIERR_COMPRESSOR Formats.VFW

MAKE_AVIERR(111)
AVIERR_ERROR Formats.VFW

MAKE_AVIERR(198)
AVIERR_FILEOPEN Formats.VFW

MAKE_AVIERR(110)
AVIERR_FILEREAD Formats.VFW

MAKE_AVIERR(108)
AVIERR_FILEWRITE Formats.VFW

MAKE_AVIERR(109)
AVIERR_INTERNAL Formats.VFW

MAKE_AVIERR(103)
AVIERR_MEMORY Formats.VFW

MAKE_AVIERR(102)
AVIERR_NOCOMPRESSOR Formats.VFW

MAKE_AVIERR(112)
AVIERR_NODATA Formats.VFW

MAKE_AVIERR(114)
AVIERR_OK Formats.VFW

– Error handling ———————————————————–
AVIERR_READONLY Formats.VFW

MAKE_AVIERR(113)
AVIERR_UNSUPPORTED Formats.VFW

!!! Questions to be answered: How can you get a string form of these errors? Which of these errors should be replaced by errors in SCODE.H?
AVIERR_USERABORT Formats.VFW

MAKE_AVIERR(117)
AVIFILECAPS_ALLKEYFRAMES Formats.VFW

AVIFILECAPS_CANREAD Formats.VFW

– Flags for dwCaps ———————————————————
AVIFILECAPS_CANWRITE Formats.VFW

AVIFILECAPS_NOCOMPRESSION Formats.VFW

AVIFILEHANDLER_CANACCEPTNONRGB Formats.VFW

AVIFILEHANDLER_CANREAD Formats.VFW

AVIFILEHANDLER_CANWRITE Formats.VFW

AVIFILEINFO_COPYRIGHTED Formats.VFW

AVIFILEINFO_HASINDEX Formats.VFW

– Flags for dwFlags ——————————————————–
AVIFILEINFO_ISINTERLEAVED Formats.VFW

AVIFILEINFO_MUSTUSEINDEX Formats.VFW

AVIFILEINFO_WASCAPTUREFILE Formats.VFW

AVIF_COPYRIGHTED Formats.VFW

AVIF_HASINDEX Formats.VFW

– flags for use in <dwFlags> in AVIFileHdr ———————————
AVIF_ISINTERLEAVED Formats.VFW

AVIF_MUSTUSEINDEX Formats.VFW

Index at end of file?
AVIF_TRUSTCKTYPE Formats.VFW

AVIF_WASCAPTUREFILE Formats.VFW

Use CKType to find key frames?
AVIGETFRAMEF_BESTDISPLAYFMT Formats.VFW

Ansi - Unicode thunking.

Unicode or Ansi-only apps can call the avifile APIs. any Win32 app who wants to use any of the AVI COM interfaces must be UNICODE - the AVISTREAMINFO and AVIFILEINFO structures used in the Info methods of these interfaces are the unicode variants, and no thunking to or from ansi takes place except in the AVIFILE api entrypoints.

For Ansi/Unicode thunking: for each entrypoint or structure that uses chars or strings, two versions are declared in the Win32 version, ApiNameW and ApiNameA. The default name ApiName is #defined to one or other of these depending on whether UNICODE is defined (during compilation of the app that is including this header). The source will contain ApiName and ApiNameA (with ApiName being the Win16 implementation, and also #defined to ApiNameW, and ApiNameA being the thunk entrypoint).

For GetFrame::SetFormat - use the best format for the display
AVIIF_COMPUSE Formats.VFW

this frame doesn't take any time
AVIIF_KEYFRAME Formats.VFW

AVIIF_LIST Formats.VFW

– Flags for AVI file index ————————————————-
AVIIF_NOTIME Formats.VFW

– Flags for index ———————————————————-
AVIIF_TWOCC Formats.VFW

AVISF_DISABLED Formats.VFW

– Stream header ————————————————————
AVISF_VIDEO_PALCHANGES Formats.VFW

AVISTREAMINFO_DISABLED Formats.VFW

AVISTREAMINFO_FORMATCHANGES Formats.VFW

AVISTREAMREAD_CONVENIENT Formats.VFW

AVI_HEADERSIZE Formats.VFW

– The AVI File Header LIST chunk should be padded to this size ————-
AVSTREAMMASTER_AUDIO Formats.VFW

Since Audio and Video streams generally use non-synchronized capture clocks, this flag determines whether the audio stream is to be considered the master or controlling clock when writing the AVI file:

AVSTREAMMASTER_AUDIO - Audio is master, video frame duration is forced to match audio duration (VFW 1.0, 1.1 default) AVSTREAMMASTER_NONE - No master, audio and video streams may be of different lengths
AVSTREAMMASTER_NONE Formats.VFW

Audio master (VFW 1.0, 1.1)
BANDPASS_DEFAULT_GAIN Sounds.OpenALImport

BANDPASS_DEFAULT_GAINHF Sounds.OpenALImport

BANDPASS_DEFAULT_GAINLF Sounds.OpenALImport

BANDPASS_MAX_GAIN Sounds.OpenALImport

BANDPASS_MAX_GAINHF Sounds.OpenALImport

BANDPASS_MAX_GAINLF Sounds.OpenALImport

BANDPASS_MIN_GAIN Sounds.OpenALImport

Bandpass filter
BANDPASS_MIN_GAINHF Sounds.OpenALImport

BANDPASS_MIN_GAINLF Sounds.OpenALImport

bassdll Sounds.BASSImport

Functions
BASSVERSION Sounds.BASSImport

BASSVERSIONTEXT Sounds.BASSImport

API version
BASS_3DALG_DEFAULT Sounds.BASSImport

software 3D mixing algorithms (used with BASS_CONFIG_3DALGORITHM)
BASS_3DALG_FULL Sounds.BASSImport

Uses normal left and right panning. The vertical axis is ignored except for scaling of volume due to distance. Doppler shift and volume scaling are still applied, but the 3D filtering is not performed. This is the most CPU efficient software implementation, but provides no virtual 3D audio effect. Head Related Transfer Function processing will not be done. Since only normal stereo panning is used, a channel using this algorithm may be accelerated by a 2D hardware voice if no free 3D hardware voices are available.
BASS_3DALG_LIGHT Sounds.BASSImport

This algorithm gives the highest quality 3D audio effect, but uses more CPU. Requires Windows 98 2nd Edition or Windows 2000 that uses WDM drivers, if this mode is not available then BASS_3DALG_OFF will be used instead.
BASS_3DALG_OFF Sounds.BASSImport

default algorithm (currently translates to BASS_3DALG_OFF)
BASS_3DMODE_NORMAL Sounds.BASSImport

MO3 flag 3D channel modes
BASS_3DMODE_OFF Sounds.BASSImport

The channel's 3D position (position/velocity/ orientation) are relative to the listener. When the listener's position/velocity/orientation is changed with BASS_Set3DPosition, the channel's position relative to the listener does not change.
BASS_3DMODE_RELATIVE Sounds.BASSImport

normal 3D processing
BASS_ACTIVE_PAUSED Sounds.BASSImport

BASS_ACTIVE_PLAYING Sounds.BASSImport

BASS_ACTIVE_STALLED Sounds.BASSImport

BASS_ACTIVE_STOPPED Sounds.BASSImport

FLAG: sync only once, else continuously BASS_ChannelIsActive return values
BASS_ASYNCFILE Sounds.BASSImport

BASS_ATTRIB_BITRATE Sounds.BASSImport

BASS_ATTRIB_CPU Sounds.BASSImport

BASS_ATTRIB_EAXMIX Sounds.BASSImport

BASS_ATTRIB_FREQ Sounds.BASSImport

Channel attributes
BASS_ATTRIB_MUSIC_ACTIVE Sounds.BASSImport

BASS_ATTRIB_MUSIC_AMPLIFY Sounds.BASSImport

BASS_ATTRIB_MUSIC_BPM Sounds.BASSImport

BASS_ATTRIB_MUSIC_PANSEP Sounds.BASSImport

BASS_ATTRIB_MUSIC_PSCALER Sounds.BASSImport

BASS_ATTRIB_MUSIC_SPEED Sounds.BASSImport

BASS_ATTRIB_MUSIC_VOL_CHAN Sounds.BASSImport

BASS_ATTRIB_MUSIC_VOL_GLOBAL Sounds.BASSImport

BASS_ATTRIB_MUSIC_VOL_INST Sounds.BASSImport

+ channel #
BASS_ATTRIB_NET_RESUME Sounds.BASSImport

BASS_ATTRIB_NOBUFFER Sounds.BASSImport

BASS_ATTRIB_NORAMP Sounds.BASSImport

BASS_ATTRIB_PAN Sounds.BASSImport

BASS_ATTRIB_SCANINFO Sounds.BASSImport

BASS_ATTRIB_SRC Sounds.BASSImport

BASS_ATTRIB_VBR Sounds.BASSImport

BASS_ATTRIB_VOL Sounds.BASSImport

BASS_CONFIG_3DALGORITHM Sounds.BASSImport

BASS_CONFIG_AIRPLAY Sounds.BASSImport

BASS_CONFIG_ASYNCFILE_BUFFER Sounds.BASSImport

BASS_CONFIG_BUFFER Sounds.BASSImport

some other mystery problem BASS_SetConfig options
BASS_CONFIG_CURVE_PAN Sounds.BASSImport

BASS_CONFIG_CURVE_VOL Sounds.BASSImport

BASS_CONFIG_DEV_BUFFER Sounds.BASSImport

BASS_CONFIG_DEV_DEFAULT Sounds.BASSImport

BASS_CONFIG_DEV_NONSTOP Sounds.BASSImport

BASS_CONFIG_DEV_PERIOD Sounds.BASSImport

BASS_CONFIG_FLOAT Sounds.BASSImport

BASS_CONFIG_FLOATDSP Sounds.BASSImport

BASS_CONFIG_GVOL_MUSIC Sounds.BASSImport

BASS_CONFIG_GVOL_SAMPLE Sounds.BASSImport

BASS_CONFIG_GVOL_STREAM Sounds.BASSImport

BASS_CONFIG_HANDLES Sounds.BASSImport

BASS_CONFIG_IOS_MIXAUDIO Sounds.BASSImport

BASS_CONFIG_IOS_NOCATEGORY Sounds.BASSImport

BASS_CONFIG_IOS_SPEAKER Sounds.BASSImport

BASS_CONFIG_MF_DISABLE Sounds.BASSImport

BASS_CONFIG_MF_VIDEO Sounds.BASSImport

BASS_CONFIG_MUSIC_VIRTUAL Sounds.BASSImport

BASS_CONFIG_NET_AGENT Sounds.BASSImport

BASS_SetConfigPtr options
BASS_CONFIG_NET_BUFFER Sounds.BASSImport

BASS_CONFIG_NET_PASSIVE Sounds.BASSImport

BASS_CONFIG_NET_PLAYLIST Sounds.BASSImport

BASS_CONFIG_NET_PREBUF Sounds.BASSImport

BASS_CONFIG_NET_PROXY Sounds.BASSImport

BASS_CONFIG_NET_READTIMEOUT Sounds.BASSImport

BASS_CONFIG_NET_TIMEOUT Sounds.BASSImport

BASS_CONFIG_OGG_PRESCAN Sounds.BASSImport

BASS_CONFIG_PAUSE_NOPLAY Sounds.BASSImport

BASS_CONFIG_REC_BUFFER Sounds.BASSImport

BASS_CONFIG_SRC Sounds.BASSImport

BASS_CONFIG_SRC_SAMPLE Sounds.BASSImport

BASS_CONFIG_UNICODE Sounds.BASSImport

BASS_CONFIG_UPDATEPERIOD Sounds.BASSImport

BASS_CONFIG_UPDATETHREADS Sounds.BASSImport

BASS_CONFIG_VERIFY Sounds.BASSImport

BASS_CONFIG_VERIFY_NET Sounds.BASSImport

BASS_CONFIG_VISTA_SPEAKERS Sounds.BASSImport

BASS_CONFIG_VISTA_TRUEPOS Sounds.BASSImport

BASS_CTYPE_MUSIC_IT Sounds.BASSImport

BASS_CTYPE_MUSIC_MO3 Sounds.BASSImport

BASS_CTYPE_MUSIC_MOD Sounds.BASSImport

BASS_CTYPE_MUSIC_MTM Sounds.BASSImport

BASS_CTYPE_MUSIC_S3M Sounds.BASSImport

BASS_CTYPE_MUSIC_XM Sounds.BASSImport

BASS_CTYPE_RECORD Sounds.BASSImport

BASS_CTYPE_SAMPLE Sounds.BASSImport

BASS_CHANNELINFO types
BASS_CTYPE_STREAM Sounds.BASSImport

BASS_CTYPE_STREAM_AIFF Sounds.BASSImport

BASS_CTYPE_STREAM_MP1 Sounds.BASSImport

BASS_CTYPE_STREAM_MP2 Sounds.BASSImport

BASS_CTYPE_STREAM_MP3 Sounds.BASSImport

BASS_CTYPE_STREAM_OGG Sounds.BASSImport

BASS_CTYPE_STREAM_WAV Sounds.BASSImport

BASS_CTYPE_STREAM_WAV_FLOAT Sounds.BASSImport

BASS_CTYPE_STREAM_WAV_PCM Sounds.BASSImport

WAVE flag, LOWORD=codec
BASS_DATA_AVAILABLE Sounds.BASSImport

+ instrument # BASS_ChannelGetData flags
BASS_DATA_FFT1024 Sounds.BASSImport

512 FFT
BASS_DATA_FFT16384 Sounds.BASSImport

8192 FFT
BASS_DATA_FFT2048 Sounds.BASSImport

1024 FFT
BASS_DATA_FFT256 Sounds.BASSImport

flag: return floating-point sample data
BASS_DATA_FFT32768 Sounds.BASSImport

16384 FFT
BASS_DATA_FFT4096 Sounds.BASSImport

2048 FFT
BASS_DATA_FFT512 Sounds.BASSImport

256 sample FFT
BASS_DATA_FFT8192 Sounds.BASSImport

4096 FFT
BASS_DATA_FFT_COMPLEX Sounds.BASSImport

FFT flag: pre-remove DC bias
BASS_DATA_FFT_INDIVIDUAL Sounds.BASSImport

32768 FFT
BASS_DATA_FFT_NOWINDOW Sounds.BASSImport

FFT flag: FFT for each channel, else all combined
BASS_DATA_FFT_REMOVEDC Sounds.BASSImport

FFT flag: no Hanning window
BASS_DATA_FIXED Sounds.BASSImport

query how much data is buffered
BASS_DATA_FLOAT Sounds.BASSImport

flag: return 8.24 fixed-point data
BASS_DEVICES_AIRPLAY Sounds.BASSImport

BASS_GetDeviceInfo flags
BASS_DEVICE_16BITS Sounds.BASSImport

enable 3D functionality
BASS_DEVICE_3D Sounds.BASSImport

mono, else stereo
BASS_DEVICE_8BITS Sounds.BASSImport

BASS_Init flags
BASS_DEVICE_CPSPEAKERS Sounds.BASSImport

calculate device latency (BASS_INFO struct)
BASS_DEVICE_DEFAULT Sounds.BASSImport

BASS_DEVICE_DMIX Sounds.BASSImport

ignore speaker arrangement
BASS_DEVICE_ENABLED Sounds.BASSImport

IDirectSound3DListener BASS_DEVICEINFO flags
BASS_DEVICE_FREQ Sounds.BASSImport

use ALSA "dmix" plugin
BASS_DEVICE_INIT Sounds.BASSImport

BASS_DEVICE_LATENCY Sounds.BASSImport

If the BASS_DEVICE_3D flag is not specified when initilizing BASS, then the 3D flags (BASS_SAMPLE_3D and BASS_MUSIC_3D) are ignored when loading/creating a sample/stream/music.
BASS_DEVICE_MONO Sounds.BASSImport

8 bit resolution, else 16 bit
BASS_DEVICE_NOSPEAKER Sounds.BASSImport

force enabling of speaker assignment
BASS_DEVICE_SPEAKERS Sounds.BASSImport

detect speakers via Windows control panel
BASS_DEVICE_STEREO Sounds.BASSImport

set device sample rate
BASS_DEVICE_TYPE_DIGITAL Sounds.BASSImport

BASS_DEVICE_TYPE_DISPLAYPORT Sounds.BASSImport

BASS_DEVICE_TYPE_HANDSET Sounds.BASSImport

BASS_DEVICE_TYPE_HDMI Sounds.BASSImport

BASS_DEVICE_TYPE_HEADPHONES Sounds.BASSImport

BASS_DEVICE_TYPE_HEADSET Sounds.BASSImport

BASS_DEVICE_TYPE_LINE Sounds.BASSImport

BASS_DEVICE_TYPE_MASK Sounds.BASSImport

BASS_DEVICE_TYPE_MICROPHONE Sounds.BASSImport

BASS_DEVICE_TYPE_NETWORK Sounds.BASSImport

BASS_DEVICE_TYPE_SPDIF Sounds.BASSImport

BASS_DEVICE_TYPE_SPEAKERS Sounds.BASSImport

BASS_DX8_PHASE_180 Sounds.BASSImport

BASS_DX8_PHASE_90 Sounds.BASSImport

BASS_DX8_PHASE_NEG_180 Sounds.BASSImport

BASS_DX8_PHASE_NEG_90 Sounds.BASSImport

BASS_DX8_PHASE_ZERO Sounds.BASSImport

BASS_ERROR_ALREADY Sounds.BASSImport

BASS_Start has not been successfully called
BASS_ERROR_BUFLOST Sounds.BASSImport

can't find a free sound driver
BASS_ERROR_BUSY Sounds.BASSImport

the channel/file has ended
BASS_ERROR_CODEC Sounds.BASSImport

invalid BASS version (used by add-ons)
BASS_ERROR_CREATE Sounds.BASSImport

no internet connection could be opened
BASS_ERROR_DECODE Sounds.BASSImport

requested data is not available
BASS_ERROR_DEVICE Sounds.BASSImport

no EAX support
BASS_ERROR_DRIVER Sounds.BASSImport

can't open the file
BASS_ERROR_DX Sounds.BASSImport

the channel is/isn't a "decoding channel"
BASS_ERROR_EMPTY Sounds.BASSImport

no hardware voices available
BASS_ERROR_ENDED Sounds.BASSImport

codec is not available/supported
BASS_ERROR_FILEFORM Sounds.BASSImport

connection timedout
BASS_ERROR_FILEOPEN Sounds.BASSImport

memory error
BASS_ERROR_FORMAT Sounds.BASSImport

invalid handle
BASS_ERROR_FREQ Sounds.BASSImport

not playing
BASS_ERROR_HANDLE Sounds.BASSImport

the sample buffer was lost
BASS_ERROR_ILLPARAM Sounds.BASSImport

an illegal type was specified
BASS_ERROR_ILLTYPE Sounds.BASSImport

can't get a free channel
BASS_ERROR_INIT Sounds.BASSImport

invalid position
BASS_ERROR_MEM Sounds.BASSImport

all is OK
BASS_ERROR_NO3D Sounds.BASSImport

an illegal parameter was specified
BASS_ERROR_NOCHAN Sounds.BASSImport

already initialized/paused/whatever
BASS_ERROR_NOEAX Sounds.BASSImport

no 3D support
BASS_ERROR_NOFX Sounds.BASSImport

couldn't create the file
BASS_ERROR_NOHW Sounds.BASSImport

the stream is not a file stream
BASS_ERROR_NONET Sounds.BASSImport

the MOD music has no sequence data
BASS_ERROR_NOPLAY Sounds.BASSImport

illegal device number
BASS_ERROR_NOTAVAIL Sounds.BASSImport

effects are not available
BASS_ERROR_NOTFILE Sounds.BASSImport

illegal sample rate
BASS_ERROR_POSITION Sounds.BASSImport

unsupported sample format
BASS_ERROR_SPEAKER Sounds.BASSImport

unsupported file format
BASS_ERROR_START Sounds.BASSImport

BASS_Init has not been successfully called
BASS_ERROR_TIMEOUT Sounds.BASSImport

a sufficient DirectX version is not installed
BASS_ERROR_UNKNOWN Sounds.BASSImport

the device is busy
BASS_ERROR_VERSION Sounds.BASSImport

unavailable speaker
BASS_FILEDATA_END Sounds.BASSImport

BASS_StreamPutFileData options
BASS_FILEPOS_ASYNCBUF Sounds.BASSImport

BASS_FILEPOS_BUFFER Sounds.BASSImport

BASS_FILEPOS_CONNECTED Sounds.BASSImport

BASS_FILEPOS_CURRENT Sounds.BASSImport

end & close the file BASS_StreamGetFilePosition modes
BASS_FILEPOS_DECODE Sounds.BASSImport

BASS_FILEPOS_DOWNLOAD Sounds.BASSImport

BASS_FILEPOS_END Sounds.BASSImport

BASS_FILEPOS_SIZE Sounds.BASSImport

BASS_FILEPOS_SOCKET Sounds.BASSImport

BASS_FILEPOS_START Sounds.BASSImport

BASS_FX_DX8_CHORUS Sounds.BASSImport

BASS_FX_DX8_COMPRESSOR Sounds.BASSImport

BASS_FX_DX8_DISTORTION Sounds.BASSImport

BASS_FX_DX8_ECHO Sounds.BASSImport

BASS_FX_DX8_FLANGER Sounds.BASSImport

BASS_FX_DX8_GARGLE Sounds.BASSImport

BASS_FX_DX8_I3DL2REVERB Sounds.BASSImport

BASS_FX_DX8_PARAMEQ Sounds.BASSImport

BASS_FX_DX8_REVERB Sounds.BASSImport

BASS_INPUT_OFF Sounds.BASSImport

flag: scan to the position BASS_RecordSetInput flags
BASS_INPUT_ON Sounds.BASSImport

BASS_INPUT_TYPE_ANALOG Sounds.BASSImport

BASS_INPUT_TYPE_AUX Sounds.BASSImport

BASS_INPUT_TYPE_CD Sounds.BASSImport

BASS_INPUT_TYPE_DIGITAL Sounds.BASSImport

BASS_INPUT_TYPE_LINE Sounds.BASSImport

BASS_INPUT_TYPE_MASK Sounds.BASSImport

BASS_INPUT_TYPE_MIC Sounds.BASSImport

BASS_INPUT_TYPE_PHONE Sounds.BASSImport

BASS_INPUT_TYPE_SPEAKER Sounds.BASSImport

BASS_INPUT_TYPE_SYNTH Sounds.BASSImport

BASS_INPUT_TYPE_UNDEF Sounds.BASSImport

BASS_INPUT_TYPE_WAVE Sounds.BASSImport

BASS_LEVEL_MONO Sounds.BASSImport

FFT flag: return complex data BASS_ChannelGetLevelEx flags
BASS_LEVEL_RMS Sounds.BASSImport

BASS_LEVEL_STEREO Sounds.BASSImport

BASS_MP3_SETPOS Sounds.BASSImport

enable pin-point seeking/length (MP3/MP2/MP1)
BASS_MUSIC_3D Sounds.BASSImport

loop music
BASS_MUSIC_AUTOFREE Sounds.BASSImport

enable old implementation of DX8 effects
BASS_MUSIC_CALCLEN Sounds.BASSImport

calculate playback length
BASS_MUSIC_DECODE Sounds.BASSImport

automatically free the music when it stop/ends
BASS_MUSIC_FLOAT Sounds.BASSImport

give server status info (HTTP/ICY tags) in DOWNLOADPROC
BASS_MUSIC_FT2MOD Sounds.BASSImport

apply FastTracker 2 panning to XM files
BASS_MUSIC_FT2PAN Sounds.BASSImport

surround sound (mode 2)
BASS_MUSIC_FX Sounds.BASSImport

enable 3D functionality
BASS_MUSIC_LOOP Sounds.BASSImport

force mono mixing (less CPU usage)
BASS_MUSIC_MONO Sounds.BASSImport

32-bit floating-point
BASS_MUSIC_NONINTER Sounds.BASSImport

play .MOD as ProTracker 1 does
BASS_MUSIC_NOSAMPLE Sounds.BASSImport

stop the music on a backwards jump effect
BASS_MUSIC_POSRESET Sounds.BASSImport

sinc interpolated sample mixing
BASS_MUSIC_POSRESETEX Sounds.BASSImport

stop all notes when moving position
BASS_MUSIC_PRESCAN Sounds.BASSImport

don't play the music, only decode (BASS_ChannelGetData)
BASS_MUSIC_PT1MOD Sounds.BASSImport

play .MOD as FastTracker 2 does
BASS_MUSIC_RAMP Sounds.BASSImport

BASS_MUSIC_RAMPS Sounds.BASSImport

normal ramping
BASS_MUSIC_SINCINTER Sounds.BASSImport

non-interpolated sample mixing
BASS_MUSIC_STOPBACK Sounds.BASSImport

stop all notes and reset bmp/etc when moving position
BASS_MUSIC_SURROUND Sounds.BASSImport

sensitive ramping
BASS_MUSIC_SURROUND2 Sounds.BASSImport

surround sound
BASS_OBJECT_DS Sounds.BASSImport

limit output to stereo DirectSound interfaces (for use with BASS_GetDSoundObject)
BASS_OBJECT_DS3DL Sounds.BASSImport

IDirectSound
BASS_OK Sounds.BASSImport

-1 (QWORD) Error codes returned by BASS_ErrorGetCode()
BASS_POS_BYTE Sounds.BASSImport

+ sample #, MOD sample name : ANSI string BASS_ChannelGetLength/GetPosition/SetPosition modes
BASS_POS_DECODE Sounds.BASSImport

flag: allow seeking to inexact position
BASS_POS_DECODETO Sounds.BASSImport

flag: get the decoding (not playing) position
BASS_POS_INEXACT Sounds.BASSImport

OGG bitstream number
BASS_POS_MUSIC_ORDER Sounds.BASSImport

byte position
BASS_POS_OGG Sounds.BASSImport

order.row position, MAKELONG(order,row)
BASS_POS_SCAN Sounds.BASSImport

flag: decode to the position instead of seeking
BASS_RECORD_PAUSE Sounds.BASSImport

BASS_SAMPLE_3D Sounds.BASSImport

looped
BASS_SAMPLE_8BITS Sounds.BASSImport

WAVE_FORMAT_1M08 = $00000001; // 11.025 kHz, Mono, 8-bit WAVE_FORMAT_1S08 = $00000002; // 11.025 kHz, Stereo, 8-bit WAVE_FORMAT_1M16 = $00000004; // 11.025 kHz, Mono, 16-bit WAVE_FORMAT_1S16 = $00000008; // 11.025 kHz, Stereo, 16-bit WAVE_FORMAT_2M08 = $00000010; // 22.05 kHz, Mono, 8-bit WAVE_FORMAT_2S08 = $00000020; // 22.05 kHz, Stereo, 8-bit WAVE_FORMAT_2M16 = $00000040; // 22.05 kHz, Mono, 16-bit WAVE_FORMAT_2S16 = $00000080; // 22.05 kHz, Stereo, 16-bit WAVE_FORMAT_4M08 = $00000100; // 44.1 kHz, Mono, 8-bit WAVE_FORMAT_4S08 = $00000200; // 44.1 kHz, Stereo, 8-bit WAVE_FORMAT_4M16 = $00000400; // 44.1 kHz, Mono, 16-bit WAVE_FORMAT_4S16 = $00000800; // 44.1 kHz, Stereo, 16-bit
BASS_SAMPLE_FLOAT Sounds.BASSImport

8 bit
BASS_SAMPLE_FX Sounds.BASSImport

DX7 voice allocation & management
BASS_SAMPLE_LOOP Sounds.BASSImport

mono
BASS_SAMPLE_MONO Sounds.BASSImport

32 bit floating-point
BASS_SAMPLE_MUTEMAX Sounds.BASSImport

not using hardware mixing
BASS_SAMPLE_OVER_DIST Sounds.BASSImport

override longest playing
BASS_SAMPLE_OVER_POS Sounds.BASSImport

override lowest volume
BASS_SAMPLE_OVER_VOL Sounds.BASSImport

old implementation of DX8 effects
BASS_SAMPLE_SOFTWARE Sounds.BASSImport

3D functionality
BASS_SAMPLE_VAM Sounds.BASSImport

mute at max distance (3D only)
BASS_SPEAKER_CENLFE Sounds.BASSImport

rear/side speakers
BASS_SPEAKER_CENTER Sounds.BASSImport

BASS_SPEAKER_FRONT Sounds.BASSImport

don't load the samples Speaker assignment flags
BASS_SPEAKER_FRONTLEFT Sounds.BASSImport

modifier: right
BASS_SPEAKER_FRONTRIGHT Sounds.BASSImport

BASS_SPEAKER_LEFT Sounds.BASSImport

rear center speakers (7.1)
BASS_SPEAKER_LFE Sounds.BASSImport

BASS_SPEAKER_REAR Sounds.BASSImport

front speakers
BASS_SPEAKER_REAR2 Sounds.BASSImport

center & LFE speakers (5.1)
BASS_SPEAKER_REAR2LEFT Sounds.BASSImport

BASS_SPEAKER_REAR2RIGHT Sounds.BASSImport

BASS_SPEAKER_REARLEFT Sounds.BASSImport

BASS_SPEAKER_REARRIGHT Sounds.BASSImport

BASS_SPEAKER_RIGHT Sounds.BASSImport

modifier: left
BASS_STREAMPROC_END Sounds.BASSImport

BASS_STREAM_AUTOFREE Sounds.BASSImport

BASS_STREAM_BLOCK Sounds.BASSImport

restrict the download rate of internet file streams
BASS_STREAM_DECODE Sounds.BASSImport

download/play internet file stream in small blocks
BASS_STREAM_PRESCAN Sounds.BASSImport

override furthest from listener (3D only)
BASS_STREAM_RESTRATE Sounds.BASSImport

automatically free the stream when it stop/ends
BASS_STREAM_STATUS Sounds.BASSImport

don't play the stream, only decode (BASS_ChannelGetData)
BASS_SYNC_DOWNLOAD Sounds.BASSImport

Sync when playback has stalled. param: not used data : 0=stalled, 1=resumed
BASS_SYNC_END Sounds.BASSImport

Sync when a channel reaches a position. param: position in bytes data : not used
BASS_SYNC_FREE Sounds.BASSImport

Sync when downloading of an internet (or "buffered" user file) stream has ended. param: not used data : not used
BASS_SYNC_META Sounds.BASSImport

Sync when a channel reaches the end. param: not used data : not used
BASS_SYNC_MIXTIME Sounds.BASSImport

FLAG: post a Windows message (instead of callback) When using a window message "callback", the message to post is given in the "proc" parameter of BASS_ChannelSetSync, and is posted to the window specified in the BASS_Init call. The message parameters are: WPARAM = data, LPARAM = user.
BASS_SYNC_MUSICFX Sounds.BASSImport

Sync when an instrument (sample for the non-instrument based formats) is played in a MOD music (not including retrigs). param: LOWORD=instrument (1=first) HIWORD=note (0=c0...119=b9, -1=all) data : LOWORD=note HIWORD=volume (0-64)
BASS_SYNC_MUSICINST Sounds.BASSImport

Sync when a MOD music reaches an order:row position. param: LOWORD=order (0=first, -1=all) HIWORD=row (0=first, -1=all) data : LOWORD=order HIWORD=row
BASS_SYNC_MUSICPOS Sounds.BASSImport

Sync when a channel's position is set. param: not used data : 0 = playback buffer not flushed, 1 = playback buffer flushed
BASS_SYNC_OGG_CHANGE Sounds.BASSImport

Sync when the "sync" effect (XM/MTM/MOD: E8x/Wxx, IT/S3M: S2x) is used. param: 0:data=pos, 1:data="x" value data : param=0: LOWORD=order HIWORD=row, param=1: "x" value
BASS_SYNC_ONETIME Sounds.BASSImport

FLAG: sync at mixtime, else at playtime
BASS_SYNC_POS Sounds.BASSImport

Sync types (with BASS_ChannelSetSync() "param" and SYNCPROC "data" definitions) & flags.
BASS_SYNC_SETPOS Sounds.BASSImport

Sync when a channel is freed. param: not used data : not used
BASS_SYNC_SLIDE Sounds.BASSImport

Sync when metadata is received in a stream. param: not used data : pointer to the metadata
BASS_SYNC_STALL Sounds.BASSImport

Sync when an attribute slide is completed. param: not used data : the type of slide completed (one of the BASS_SLIDE_xxx values)
BASS_TAG_APE Sounds.BASSImport

ICY metadata : ANSI string
BASS_TAG_APE_BINARY Sounds.BASSImport

RIFF "DISP" text tag : ANSI string
BASS_TAG_CA_CODEC Sounds.BASSImport

Lyric3v2 tag : ASCII string
BASS_TAG_HTTP Sounds.BASSImport

OGG comments : series of null-terminated UTF-8 strings
BASS_TAG_ICY Sounds.BASSImport

HTTP headers : series of null-terminated ANSI strings
BASS_TAG_ID3 Sounds.BASSImport

BASS_ChannelGetTags types : what's returned
BASS_TAG_ID3V2 Sounds.BASSImport

ID3v1 tags : TAG_ID3 structure
BASS_TAG_LYRICS3 Sounds.BASSImport

OGG encoder : UTF-8 string
BASS_TAG_META Sounds.BASSImport

ICY headers : series of null-terminated ANSI strings
BASS_TAG_MF Sounds.BASSImport

CoreAudio codec info : TAG_CA_CODEC structure
BASS_TAG_MP4 Sounds.BASSImport

APEv2 tags : series of null-terminated UTF-8 strings
BASS_TAG_MUSIC_AUTH Sounds.BASSImport

MOD order list : BYTE array of pattern numbers
BASS_TAG_MUSIC_INST Sounds.BASSImport

MOD author : UTF-8 string
BASS_TAG_MUSIC_MESSAGE Sounds.BASSImport

MOD music name : ANSI string
BASS_TAG_MUSIC_NAME Sounds.BASSImport

+ index #, binary APEv2 tag : TAG_APE_BINARY structure
BASS_TAG_MUSIC_ORDERS Sounds.BASSImport

MOD message : ANSI string
BASS_TAG_MUSIC_SAMPLE Sounds.BASSImport

+ instrument #, MOD instrument name : ANSI string
BASS_TAG_OGG Sounds.BASSImport

ID3v2 tags : variable length block
BASS_TAG_RIFF_BEXT Sounds.BASSImport

RIFF "INFO" tags : series of null-terminated ANSI strings
BASS_TAG_RIFF_CART Sounds.BASSImport

RIFF/BWF "bext" tags : TAG_BEXT structure
BASS_TAG_RIFF_DISP Sounds.BASSImport

RIFF/BWF "cart" tags : TAG_CART structure
BASS_TAG_RIFF_INFO Sounds.BASSImport

WAVE format : WAVEFORMATEEX structure
BASS_TAG_VENDOR Sounds.BASSImport

WMA tags : series of null-terminated UTF-8 strings
BASS_TAG_WAVEFORMAT Sounds.BASSImport

Media Foundation tags : series of null-terminated UTF-8 strings
BASS_TAG_WMA Sounds.BASSImport

MP4/iTunes metadata : series of null-terminated UTF-8 strings
BASS_UNICODE Sounds.BASSImport

BASS_VAM_HARDWARE Sounds.BASSImport

start recording paused DX7 voice allocation & management flags
BASS_VAM_SOFTWARE Sounds.BASSImport

Play the sample in hardware. If no hardware voices are available then the "play" call will fail
BASS_VAM_TERM_DIST Sounds.BASSImport

If there are no free hardware voices, the buffer to be terminated will be the one with the least time left to play.
BASS_VAM_TERM_PRIO Sounds.BASSImport

If there are no free hardware voices, the buffer to be terminated will be one that was loaded/created with the BASS_SAMPLE_MUTEMAX flag and is beyond it's max distance. If there are no buffers that match this criteria, then the "play" call will fail.
BASS_VAM_TERM_TIME Sounds.BASSImport

These flags enable hardware resource stealing... if the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. NOTE: only samples loaded/created with the BASS_SAMPLE_VAM flag are considered for termination by the DX7 voice management.
BEHAVIOURS_SELECTED FmSceneEditor

BinormalAttributeName GLS.Objects

BitMapStrMax3DS Formats.m3DSConst

inclusive maximum value for shadow filter BITMAP chunk
BIT_MAP Formats.m3DSConst

BI_1632 Formats.VFW

Handle to an Installable Compressor

this code in biCompression means the DIB must be accesed via 48 bit pointers! using *ONLY* the selector given.
BottomFalloff Formats.m3DSConst

BOUNDBOX Formats.m3DSConst

BufSize GLS.FileOBJ

Load input data in chunks of BufSize Bytes.
c180 GLS.VectorGeometry

c180divPI GLS.VectorGeometry

c2PI GLS.VectorGeometry

c360 GLS.VectorGeometry

c3PIdiv2 GLS.VectorGeometry

c3PIdiv4 GLS.VectorGeometry

cAllAttribBits GLS.State

cAllColorComponents GLS.State

cAllFrustrumParts GLS.GeomObjects

callibname Sounds.OpenALImport

define ALUT to use alut.dll
cAllMeshPrimitive GLS.State

cAllStatesChanged GLS.PipelineTransformation

calutlibname Sounds.OpenALImport

CAMERA_NODE_TAG Formats.m3DSConst

CAM_RANGES Formats.m3DSConst

CAM_SEE_CONE Formats.m3DSConst

CBBBack GLS.GeometryBB

CBBBottom GLS.GeometryBB

CBBFront GLS.GeometryBB

CBBLeft GLS.GeometryBB

CBBPlans GLS.GeometryBB

CBBRight GLS.GeometryBB

CBBTop GLS.GeometryBB

cColinearBias GLS.VectorGeometry

cDefaultFlareElements GLS.LensFlare

cDefaultGLActorOptions GLS.VectorFileObjects

cDefaultImposterOptions GLS.Imposter

cDefaultMirrorOptions GLS.Mirror

cDefaultNormalMapScale GLS.Color

cDefaultNormalMapScale GLS.Texture

cDefaultPointSize GLS.Objects

cDefaultProxyOptions GLS.Scene

cDefaultScreenSaverOptions GLS.ScreenSaver

cDefaultSDLWindowOptions GLS.SDLWindow

cDefaultShadowPlaneOptions GLS.ShadowPlane

cDefaultSwizzleVector GLS.TextureFormat

cDefaultWaterPlaneOptions GLS.WaterPlane

cDEFAULT_CONSTRAINT_FRICTION GLS.VerletTypes

cDEFAULT_TIMER_INTERVAL GLS.AsyncTimer

CDirPlan GLS.GeometryBB

cECCloseDistance GLS.EllipseCollision

CgGLlibrary Cg.GL

cGLBlendEquationToGLEnum GLS.State

valid for src only
cGLBlendFunctionToGLEnum GLS.State

cGLBufferBindingTarget GLS.State

cGLComparisonFunctionToGLEnum GLS.State

cGLCullFaceModeToGLEnum GLS.State

cGLFaceWindingToGLEnum GLS.State

cGLgsInTypes GLSL.ShaderParameter

cGLgsOutTypes GLSL.ShaderParameter

cGLHintToGLEnum GLS.State

CgLibrary Cg.Import

Platform Specific

by default, GLX is not supported on windows, although windows implementations do exist .NET
cGLLogicOpToGLEnum GLS.State

cGLPolygonModeToGLEnum GLS.State

cGLQueryTypeToGLEnum GLS.State

cGLSLSamplerString GLSL.ShaderParameter

cGLSLTypeString GLSL.ShaderParameter

cGLStateToGLEnum GLS.State

cGLStateTypeToGLEnum GLS.State

cGLStencilOpToGLEnum GLS.State

cGLTexTypeToGLEnum GLS.State

CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR Cg.Import

"Cannot bind the given parameters. Array types do not match."
CG_ARRAY_HAS_WRONG_DIMENSION_ERROR Cg.Import

"Cannot bind the given parameters. Array dimensions do not match."
CG_ARRAY_PARAM_ERROR Cg.Import

"The dimension value is invalid."
CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR Cg.Import

"Cannot bind the given parameters. Binding will form a cycle."
CG_BIND_CREATES_CYCLE_ERROR Cg.Import

"The size value is invalid."
CG_CANNOT_DESTROY_PARAMETER_ERROR Cg.Import

"The parameter could not be changed to the given variability."
CG_COMPILER_ERROR Cg.Import

"No error has occurred."
CG_CONFLICTING_PARAMETER_TYPES_ERROR Cg.Import

"A type being added to the context conflicts with an existing type."
CG_CONFLICTING_TYPES_ERROR Cg.Import

"Index into the array is out of bounds."
CG_FALSE Cg.Import

CG_FILE_READ_ERROR Cg.Import

"The parameter must be a 4x4 matrix type."
CG_FILE_WRITE_ERROR Cg.Import

"The file could not be read."
CG_GL_FRAGMENT Cg.GL

CG_GL_MATRIX_IDENTITY Cg.GL

CG_GL_MATRIX_INVERSE Cg.GL

CG_GL_MATRIX_INVERSE_TRANSPOSE Cg.GL

CG_GL_MATRIX_TRANSPOSE Cg.GL

CG_GL_MODELVIEW_MATRIX Cg.GL

CG_GL_MODELVIEW_PROJECTION_MATRIX Cg.GL

CG_GL_PROJECTION_MATRIX Cg.GL

CG_GL_TEXTURE_MATRIX Cg.GL

CG_GL_VERTEX Cg.GL

CG_INVALID_CONTEXT_HANDLE_ERROR Cg.Import

"Memory allocation failed."
CG_INVALID_DIMENSION_ERROR Cg.Import

"The variable arguments were specified incorrectly."
CG_INVALID_ENUMERANT_ERROR Cg.Import

"The parameter is not of matrix type."
CG_INVALID_PARAMETER_ERROR Cg.Import

"The compile returned an error."
CG_INVALID_PARAMETER_TYPE_ERROR Cg.Import

"The parameter is not a program parameter."
CG_INVALID_PARAMETER_VARIABILITY_ERROR Cg.Import

"The parameter must be global."
CG_INVALID_PARAM_HANDLE_ERROR Cg.Import

"Invalid program handle."
CG_INVALID_PROFILE_ERROR Cg.Import

"The parameter used is invalid."
CG_INVALID_PROGRAM_HANDLE_ERROR Cg.Import

"Invalid context handle."
CG_INVALID_SIZE_ERROR Cg.Import

"The parameter must be a resizable array."
CG_INVALID_VALUE_TYPE_ERROR Cg.Import

"An unsupported GL extension was required to perform this operation."
CG_IS_NOT_PROGRAM_PARAMETER_ERROR Cg.Import

"The two parameters being bound do not match."
CG_MEMORY_ALLOC_ERROR Cg.Import

"nvparse could not successfully parse the output from the Cg compiler backend."
CG_NOT_4x4_MATRIX_ERROR Cg.Import

"The enumerant parameter has an invalid value."
CG_NOT_MATRIX_PARAM_ERROR Cg.Import

"An unknown value type was assigned to a parameter."
CG_NOT_ROOT_PARAMETER_ERROR Cg.Import

"Cannot destroy the parameter. It is bound to other parameters or is not a root parameter."
CG_NO_ERROR Cg.Import

# define CG_ERROR_MACRO(code, enum_name, new_enum_name, message) \ new_enum_name = code,
CG_NVPARSE_ERROR Cg.Import

"The file could not be written."
CG_OUT_OF_ARRAY_BOUNDS_ERROR Cg.Import

"The parameter must be an array."
CG_PARAMETERS_DO_NOT_MATCH_ERROR Cg.Import

"The parameter is not a root parameter."
CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR Cg.Import

"The type of the parameter is invalid."
CG_PARAMETER_IS_NOT_SHARED_ERROR Cg.Import

"The parameters being bound have conflicting types."
CG_PROGRAM_BIND_ERROR Cg.Import

"The program did could not load."
CG_PROGRAM_LOAD_ERROR Cg.Import

"The profile is not supported."
CG_PROGRAM_NOT_LOADED_ERROR Cg.Import

"The program could not bind."
CG_TRUE Cg.Import

CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR Cg.Import

"The array is has the wrong dimension."
CG_UNKNOWN_PROFILE_ERROR Cg.Import

"Invalid parameter handle."
CG_UNSUPPORTED_GL_EXTENSION_ERROR Cg.Import

"The program must be loaded before this operation may be used."
CG_VAR_ARG_ERROR Cg.Import

"The specified profile is unknown."
CG_VERSION_1_2 Cg.Import

CG_VERSION_NUM Cg.Import

cHTFHashTableSize GLS.HeightTileFileHDS

cHTFQuadTableSize GLS.HeightTileFileHDS

ChunkType Formats.m3DSConst

Trick Chunk Flags For ChunkSyntax function
ChunkUnique Formats.m3DSConst

cImageDataFormat16bits Formats.DXTC

cImageDataFormat24bits Formats.DXTC

cImageDataFormat32bits Formats.DXTC

cImageDataFormat8bits Formats.DXTC

cInv2PI GLS.VectorGeometry

cInv360 GLS.VectorGeometry

ckidAVIMAINHDR Formats.VFW

mmioFOURCC('h', 'd', 'r', 'l')
ckidAVINEWINDEX Formats.VFW

mmioFOURCC('r', 'e', 'c', ' ')
ckidAVIPADDING Formats.VFW

– Chunk id to use for extra chunks for padding —————————–
ckidSTREAMFORMAT Formats.VFW

mmioFOURCC('s', 't', 'r', 'h')
ckidSTREAMHANDLERDATA Formats.VFW

mmioFOURCC('s', 't', 'r', 'f')
ckidSTREAMHEADER Formats.VFW

mmioFOURCC('s', 't', 'r', 'l')
ckidSTREAMNAME Formats.VFW

mmioFOURCC('s', 't', 'r', 'd')
cktypeDIBbits Formats.VFW

– Basic chunk types ——————————————————–
cktypeDIBcompressed Formats.VFW

aviTWOCC('d', 'b')
cktypePALchange Formats.VFW

aviTWOCC('d', 'c')
cktypeWAVEbytes Formats.VFW

aviTWOCC('p', 'c')
clActiveBackground GLS.Color

clActiveBase GLS.Color

clActiveBrightText GLS.Color

clActiveButton GLS.Color

clActiveButtonText GLS.Color

clActiveDark GLS.Color

clActiveForeground GLS.Color

Active, mapped, pseudo, rgb values
clActiveHighlight GLS.Color

clActiveHighlightedText GLS.Color

clActiveLight GLS.Color

clActiveMid GLS.Color

clActiveMidlight GLS.Color

clActiveShadow GLS.Color

clActiveText GLS.Color

clBackground GLS.Color

clBase GLS.Color

clBrightText GLS.Color

clButton GLS.Color

clButtonText GLS.Color

clDark GLS.Color

clDisabledBackground GLS.Color

clDisabledBase GLS.Color

clDisabledBrightText GLS.Color

clDisabledButton GLS.Color

clDisabledButtonText GLS.Color

clDisabledDark GLS.Color

clDisabledForeground GLS.Color

Disabled, mapped, pseudo, rgb values
clDisabledHighlight GLS.Color

clDisabledHighlightedText GLS.Color

clDisabledLight GLS.Color

clDisabledMid GLS.Color

clDisabledMidlight GLS.Color

clDisabledShadow GLS.Color

clDisabledText GLS.Color

clDontMask GLS.Color

clFirstSpecialColor GLS.Color

clForeground GLS.Color

color definitions Some extra colors, not declared in Vcl.Graphics.pas
clHighlight GLS.Color

clHighlightedText GLS.Color

clLight GLS.Color

clMask GLS.Color

clMid GLS.Color

clMidlight GLS.Color

cLn10 GLS.VectorGeometry

clNormalBackground GLS.Color

clNormalBase GLS.Color

clNormalBrightText GLS.Color

clNormalButton GLS.Color

clNormalButtonText GLS.Color

clNormalDark GLS.Color

clNormalForeground GLS.Color

Normal, mapped, pseudo, rgb values
clNormalHighlight GLS.Color

clNormalHighlightedText GLS.Color

clNormalLight GLS.Color

clNormalMid GLS.Color

clNormalMidlight GLS.Color

clNormalShadow GLS.Color

clNormalText GLS.Color

cloActive GLS.Color

cloDisabled GLS.Color

cloNormal GLS.Color

Mapped role offsets
ClosedPolygon2D GLS.VectorTypesExt

TGLPolygon3D = record Vertices: array of TGLPoint3D; function Length; end;
ClosedPolygon3D GLS.VectorTypesExt

clr3DDkShadow GLS.Color

clr3DLight GLS.Color

clrActiveBorder GLS.Color

clrActiveCaption GLS.Color

clrAppWorkSpace GLS.Color

clrAqua GLS.Color

colors en masse
clrAquamarine GLS.Color

clrBackground GLS.Color

clrBakersChoc GLS.Color

clrBlack GLS.Color

clrBlue GLS.Color

clrBlueViolet GLS.Color

clrBrass GLS.Color

clrBrightGold GLS.Color

clrBronze GLS.Color

clrBronze2 GLS.Color

clrBrown GLS.Color

clrBtnFace GLS.Color

clrBtnHighlight GLS.Color

clrBtnShadow GLS.Color

clrBtnText GLS.Color

clrCadetBlue GLS.Color

clrCaptionText GLS.Color

clrCoolCopper GLS.Color

clrCopper GLS.Color

clrCoral GLS.Color

clrCornflowerBlue GLS.Color

clrDarkBrown GLS.Color

clrDarkGreen GLS.Color

clrDarkOliveGreen GLS.Color

clrDarkOrchid GLS.Color

clrDarkPurple GLS.Color

clrDarkSlateBlue GLS.Color

clrDarkSlateGray GLS.Color

clrDarkSlateGrey GLS.Color

clrDarkTan GLS.Color

clrDarkTurquoise GLS.Color

clrDarkWood GLS.Color

clrDimGray GLS.Color

other grays
clrDkGreenCopper GLS.Color

clrDustyRose GLS.Color

clrFeldspar GLS.Color

clrFirebrick GLS.Color

clrFlesh GLS.Color

clrForestGreen GLS.Color

clrFuchsia GLS.Color

clrGold GLS.Color

clrGoldenrod GLS.Color

clrGray GLS.Color

clrGray05 GLS.Color

clrGray10 GLS.Color

clrGray15 GLS.Color

clrGray20 GLS.Color

clrGray25 GLS.Color

clrGray30 GLS.Color

clrGray35 GLS.Color

clrGray40 GLS.Color

clrGray45 GLS.Color

clrGray50 GLS.Color

clrGray55 GLS.Color

clrGray60 GLS.Color

clrGray65 GLS.Color

clrGray70 GLS.Color

clrGray75 GLS.Color

clrGray80 GLS.Color

clrGray85 GLS.Color

clrGray90 GLS.Color

clrGray95 GLS.Color

clrGrayText GLS.Color

clrGreen GLS.Color

clrGreenCopper GLS.Color

clrGreenYellow GLS.Color

clrHighlight GLS.Color

clrHighlightText GLS.Color

clrHuntersGreen GLS.Color

clrInactiveBorder GLS.Color

clrInactiveCaption GLS.Color

clrInactiveCaptionText GLS.Color

clrIndian GLS.Color

clrInfoBk GLS.Color

clrInfoText GLS.Color

clrKhaki GLS.Color

clrLightBlue GLS.Color

clrLightGray GLS.Color

clrLightPurple GLS.Color

clrLightSteelBlue GLS.Color

clrLightWood GLS.Color

clrLime GLS.Color

clrLimeGreen GLS.Color

clrMandarinOrange GLS.Color

clrMaroon GLS.Color

clrMediumAquamarine GLS.Color

clrMediumBlue GLS.Color

clrMediumForestGreen GLS.Color

clrMediumGoldenrod GLS.Color

clrMediumOrchid GLS.Color

clrMediumPurple GLS.Color

clrMediumSeaGreen GLS.Color

clrMediumSlateBlue GLS.Color

clrMediumSpringGreen GLS.Color

clrMediumTurquoise GLS.Color

clrMediumViolet GLS.Color

clrMediumWood GLS.Color

clrMenu GLS.Color

clrMenuText GLS.Color

clrMidnightBlue GLS.Color

clrNavy GLS.Color

clrNavyBlue GLS.Color

clrNeonBlue GLS.Color

clrNeonPink GLS.Color

clrNewMidnightBlue GLS.Color

clrNewTan GLS.Color

clrOldGold GLS.Color

clrOlive GLS.Color

clrOrange GLS.Color

clrOrangeRed GLS.Color

clrOrchid GLS.Color

clrPaleGreen GLS.Color

clrPink GLS.Color

clrPlum GLS.Color

clrPurple GLS.Color

clrQuartz GLS.Color

clrRed GLS.Color

clrRichBlue GLS.Color

clrSalmon GLS.Color

clrScarlet GLS.Color

clrScrollBar GLS.Color

Window's colors (must be filled at program startup, since they depend on the desktop scheme)
clrSeaGreen GLS.Color

clrSemiSweetChoc GLS.Color

clrSienna GLS.Color

clrSilver GLS.Color

clrSkyBlue GLS.Color

clrSlateBlue GLS.Color

clrSpicyPink GLS.Color

clrSpringGreen GLS.Color

clrSteelBlue GLS.Color

clrSummerSky GLS.Color

clrTan GLS.Color

clrTeal GLS.Color

clrThistle GLS.Color

clrTransparent GLS.Color

'static' color definitions sort of grays
clrTurquoise GLS.Color

clrVeryDarkBrown GLS.Color

clrVeryLightPurple GLS.Color

clrViolet GLS.Color

clrVioletRed GLS.Color

clrWheat GLS.Color

clrWhite GLS.Color

clrWindow GLS.Color

clrWindowFrame GLS.Color

clrWindowText GLS.Color

clrYellow GLS.Color

clrYellowGreen GLS.Color

clShadow GLS.Color

CLSID_AVIFile Formats.VFW

CLSID_AVISimpleUnMarshal Formats.VFW

clText GLS.Color

CL_A OpenCL.Import

CL_ABGR OpenCL.Import

CL_ADDRESS_CLAMP OpenCL.Import

CL_ADDRESS_CLAMP_TO_EDGE OpenCL.Import

CL_ADDRESS_MIRRORED_REPEAT OpenCL.Import

CL_ADDRESS_NONE OpenCL.Import

cl_addressing_mode
CL_ADDRESS_REPEAT OpenCL.Import

CL_APT_CALL OpenCL.Platform

*************************************************************************** * Copyright (c) 2008-2020 The Khronos Group Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and/or associated documentation files (the * "Materials"), to deal in the Materials without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Materials, and to * permit persons to whom the Materials are furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Materials. * * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS * KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT * https://www.khronos.org/registry/ * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. *************************************************************************
CL_ARGB OpenCL.Import

CL_BGRA OpenCL.Import

CL_BLOCKING OpenCL.Import

CL_BUFFER_CREATE_TYPE_REGION OpenCL.Import

cl_buffer_create_type
CL_BUILD_ERROR OpenCL.Import

CL_BUILD_IN_PROGRESS OpenCL.Import

CL_BUILD_NONE OpenCL.Import

CL_BUILD_PROGRAM_FAILURE OpenCL.Import

CL_BUILD_SUCCESS OpenCL.Import

cl_build_status
CL_CALLBACK OpenCL.Platform

CL_CGL_SHAREGROUP_KHR OpenCL.GL

CL_CHAR_BIT OpenCL.Platform

Macro names and corresponding values defined by OpenCL
CL_CHAR_MAX OpenCL.Platform

CL_CHAR_MIN OpenCL.Platform

CL_COMMAND_ACQUIRE_GL_OBJECTS OpenCL.Import

CL_COMMAND_BARRIER OpenCL.Import

CL_COMMAND_COPY_BUFFER OpenCL.Import

CL_COMMAND_COPY_BUFFER_RECT OpenCL.Import

CL_COMMAND_COPY_BUFFER_TO_IMAGE OpenCL.Import

CL_COMMAND_COPY_IMAGE OpenCL.Import

CL_COMMAND_COPY_IMAGE_TO_BUFFER OpenCL.Import

CL_COMMAND_FILL_BUFFER OpenCL.Import

CL_COMMAND_FILL_IMAGE OpenCL.Import

CL_COMMAND_MAP_BUFFER OpenCL.Import

CL_COMMAND_MAP_IMAGE OpenCL.Import

CL_COMMAND_MARKER OpenCL.Import

CL_COMMAND_MIGRATE_MEM_OBJECTS OpenCL.Import

CL_COMMAND_NATIVE_KERNEL OpenCL.Import

CL_COMMAND_NDRANGE_KERNEL OpenCL.Import

cl_command_type
CL_COMMAND_READ_BUFFER OpenCL.Import

CL_COMMAND_READ_BUFFER_RECT OpenCL.Import

CL_COMMAND_READ_IMAGE OpenCL.Import

CL_COMMAND_RELEASE_GL_OBJECTS OpenCL.Import

CL_COMMAND_SVM_FREE OpenCL.Import

CL_COMMAND_SVM_MAP OpenCL.Import

CL_COMMAND_SVM_MEMCPY OpenCL.Import

CL_COMMAND_SVM_MEMFILL OpenCL.Import

CL_COMMAND_SVM_UNMAP OpenCL.Import

CL_COMMAND_TASK OpenCL.Import

CL_COMMAND_UNMAP_MEM_OBJECT OpenCL.Import

CL_COMMAND_USER OpenCL.Import

CL_COMMAND_WRITE_BUFFER OpenCL.Import

CL_COMMAND_WRITE_BUFFER_RECT OpenCL.Import

CL_COMMAND_WRITE_IMAGE OpenCL.Import

CL_COMPILER_NOT_AVAILABLE OpenCL.Import

CL_COMPILE_PROGRAM_FAILURE OpenCL.Import

CL_COMPLETE OpenCL.Import

command execution status
CL_CONTEXT_DEVICES OpenCL.Import

CL_CONTEXT_INTEROP_USER_SYNC OpenCL.Import

CL_CONTEXT_NUM_DEVICES OpenCL.Import

CL_CONTEXT_PLATFORM OpenCL.Import

cl_context_properties
CL_CONTEXT_PROPERTIES OpenCL.Import

CL_CONTEXT_REFERENCE_COUNT OpenCL.Import

cl_context_info
CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR OpenCL.GL

* cl_gl_context_info *//
CL_DBL_DIG OpenCL.Platform

0x1.0p-23f;
CL_DBL_EPSILON OpenCL.Platform

0x1.0p-1022;
CL_DBL_MANT_DIG OpenCL.Platform

CL_DBL_MAX OpenCL.Platform

CL_DBL_MAX_10_EXP OpenCL.Platform

CL_DBL_MAX_EXP OpenCL.Platform

CL_DBL_MIN OpenCL.Platform

0x1.fffffffffffffp1023;
CL_DBL_MIN_10_EXP OpenCL.Platform

CL_DBL_MIN_EXP OpenCL.Platform

CL_DBL_RADIX OpenCL.Platform

CL_DEPTH OpenCL.Import

CL_DEPTH_STENCIL OpenCL.Import

CL_DEVICES_FOR_GL_CONTEXT_KHR OpenCL.GL

CL_DEVICE_ADDRESS_BITS OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_NUMA OpenCL.Import

cl_device_affinity_domain
CL_DEVICE_AVAILABLE OpenCL.Import

CL_DEVICE_BUILT_IN_KERNELS OpenCL.Import

CL_DEVICE_COMPILER_AVAILABLE OpenCL.Import

CL_DEVICE_DOUBLE_FP_CONFIG OpenCL.Import

CL_DEVICE_ENDIAN_LITTLE OpenCL.Import

CL_DEVICE_ERROR_CORRECTION_SUPPORT OpenCL.Import

CL_DEVICE_EXECUTION_CAPABILITIES OpenCL.Import

CL_DEVICE_EXTENSIONS OpenCL.Import

CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE OpenCL.Import

CL_DEVICE_GLOBAL_MEM_CACHE_SIZE OpenCL.Import

CL_DEVICE_GLOBAL_MEM_CACHE_TYPE OpenCL.Import

CL_DEVICE_GLOBAL_MEM_SIZE OpenCL.Import

CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE OpenCL.Import

CL_DEVICE_HALF_FP_CONFIG OpenCL.Import

CL_DEVICE_HOST_UNIFIED_MEMORY OpenCL.Import

CL_DEVICE_IL_VERSION OpenCL.Import

CL_DEVICE_IMAGE2D_MAX_HEIGHT OpenCL.Import

CL_DEVICE_IMAGE2D_MAX_WIDTH OpenCL.Import

CL_DEVICE_IMAGE3D_MAX_DEPTH OpenCL.Import

CL_DEVICE_IMAGE3D_MAX_HEIGHT OpenCL.Import

CL_DEVICE_IMAGE3D_MAX_WIDTH OpenCL.Import

CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT OpenCL.Import

CL_DEVICE_IMAGE_MAX_ARRAY_SIZE OpenCL.Import

CL_DEVICE_IMAGE_MAX_BUFFER_SIZE OpenCL.Import

CL_DEVICE_IMAGE_PITCH_ALIGNMENT OpenCL.Import

CL_DEVICE_IMAGE_SUPPORT OpenCL.Import

CL_DEVICE_LINKER_AVAILABLE OpenCL.Import

CL_DEVICE_LOCAL_MEM_SIZE OpenCL.Import

CL_DEVICE_LOCAL_MEM_TYPE OpenCL.Import

CL_DEVICE_MAX_CLOCK_FREQUENCY OpenCL.Import

CL_DEVICE_MAX_COMPUTE_UNITS OpenCL.Import

CL_DEVICE_MAX_CONSTANT_ARGS OpenCL.Import

CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE OpenCL.Import

CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE OpenCL.Import

CL_DEVICE_MAX_MEM_ALLOC_SIZE OpenCL.Import

CL_DEVICE_MAX_NUM_SUB_GROUPS OpenCL.Import

CL_DEVICE_MAX_ON_DEVICE_EVENTS OpenCL.Import

CL_DEVICE_MAX_ON_DEVICE_QUEUES OpenCL.Import

CL_DEVICE_MAX_PARAMETER_SIZE OpenCL.Import

CL_DEVICE_MAX_PIPE_ARGS OpenCL.Import

CL_DEVICE_MAX_READ_IMAGE_ARGS OpenCL.Import

CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS OpenCL.Import

CL_DEVICE_MAX_SAMPLERS OpenCL.Import

CL_DEVICE_MAX_WORK_GROUP_SIZE OpenCL.Import

CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS OpenCL.Import

CL_DEVICE_MAX_WORK_ITEM_SIZES OpenCL.Import

CL_DEVICE_MAX_WRITE_IMAGE_ARGS OpenCL.Import

CL_DEVICE_MEM_BASE_ADDR_ALIGN OpenCL.Import

CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE OpenCL.Import

CL_DEVICE_NAME OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR OpenCL.Import

deprecated
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_INT OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT OpenCL.Import

CL_DEVICE_NOT_AVAILABLE OpenCL.Import

CL_DEVICE_NOT_FOUND OpenCL.Import

CL_DEVICE_OPENCL_C_VERSION OpenCL.Import

CL_DEVICE_PARENT_DEVICE OpenCL.Import

CL_DEVICE_PARTITION_AFFINITY_DOMAIN OpenCL.Import

CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN OpenCL.Import

CL_DEVICE_PARTITION_BY_COUNTS OpenCL.Import

CL_DEVICE_PARTITION_BY_COUNTS_LIST_END OpenCL.Import

CL_DEVICE_PARTITION_EQUALLY OpenCL.Import

cl_device_partition_property
CL_DEVICE_PARTITION_FAILED OpenCL.Import

CL_DEVICE_PARTITION_MAX_SUB_DEVICES OpenCL.Import

CL_DEVICE_PARTITION_PROPERTIES OpenCL.Import

CL_DEVICE_PARTITION_TYPE OpenCL.Import

CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS OpenCL.Import

CL_DEVICE_PIPE_MAX_PACKET_SIZE OpenCL.Import

CL_DEVICE_PLATFORM OpenCL.Import

CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT OpenCL.Import

CL_DEVICE_PREFERRED_INTEROP_USER_SYNC OpenCL.Import

CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT OpenCL.Import

CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT OpenCL.Import

CL_DEVICE_PRINTF_BUFFER_SIZE OpenCL.Import

CL_DEVICE_PROFILE OpenCL.Import

CL_DEVICE_PROFILING_TIMER_RESOLUTION OpenCL.Import

CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE OpenCL.Import

CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE OpenCL.Import

CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES OpenCL.Import

CL_DEVICE_QUEUE_ON_HOST_PROPERTIES OpenCL.Import

deprecated
CL_DEVICE_QUEUE_PROPERTIES OpenCL.Import

CL_DEVICE_REFERENCE_COUNT OpenCL.Import

CL_DEVICE_SINGLE_FP_CONFIG OpenCL.Import

CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS OpenCL.Import

CL_DEVICE_SVM_ATOMICS OpenCL.Import

CL_DEVICE_SVM_CAPABILITIES OpenCL.Import

CL_DEVICE_SVM_COARSE_GRAIN_BUFFER OpenCL.Import

cl_device_svm_capabilities
CL_DEVICE_SVM_FINE_GRAIN_BUFFER OpenCL.Import

CL_DEVICE_SVM_FINE_GRAIN_SYSTEM OpenCL.Import

CL_DEVICE_TYPE OpenCL.Import

cl_device_info
CL_DEVICE_TYPE_ACCELERATOR OpenCL.Import

CL_DEVICE_TYPE_ALL OpenCL.Import

CL_DEVICE_TYPE_CPU OpenCL.Import

CL_DEVICE_TYPE_CUSTOM OpenCL.Import

CL_DEVICE_TYPE_DEFAULT OpenCL.Import

cl_device_type - bitfield
CL_DEVICE_TYPE_GPU OpenCL.Import

CL_DEVICE_VENDOR OpenCL.Import

CL_DEVICE_VENDOR_ID OpenCL.Import

CL_DEVICE_VERSION OpenCL.Import

CL_DRIVER_VERSION OpenCL.Import

CL_EGL_DISPLAY_KHR OpenCL.GL

CL_EVENT_COMMAND_EXECUTION_STATUS OpenCL.Import

CL_EVENT_COMMAND_QUEUE OpenCL.Import

cl_event_info
CL_EVENT_COMMAND_TYPE OpenCL.Import

CL_EVENT_CONTEXT OpenCL.Import

CL_EVENT_REFERENCE_COUNT OpenCL.Import

CL_EXEC_KERNEL OpenCL.Import

cl_device_exec_capabilities - bitfield
CL_EXEC_NATIVE_KERNEL OpenCL.Import

CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST OpenCL.Import

CL_FALSE OpenCL.Import

cl_bool
CL_FILTER_LINEAR OpenCL.Import

CL_FILTER_NEAREST OpenCL.Import

cl_filter_mode
CL_FLOAT OpenCL.Import

CL_FLT_DIG OpenCL.Platform

CL_FLT_EPSILON OpenCL.Platform

0x1.0p-126f;
CL_FLT_MANT_DIG OpenCL.Platform

CL_FLT_MAX OpenCL.Platform

CL_FLT_MAX_10_EXP OpenCL.Platform

CL_FLT_MAX_EXP OpenCL.Platform

CL_FLT_MIN OpenCL.Platform

0x1.fffffep127f;
CL_FLT_MIN_10_EXP OpenCL.Platform

CL_FLT_MIN_EXP OpenCL.Platform

CL_FLT_RADIX OpenCL.Platform

CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT OpenCL.Import

CL_FP_DENORM OpenCL.Import

cl_device_fp_config - bitfield
CL_FP_FMA OpenCL.Import

CL_FP_INF_NAN OpenCL.Import

CL_FP_ROUND_TO_INF OpenCL.Import

CL_FP_ROUND_TO_NEAREST OpenCL.Import

CL_FP_ROUND_TO_ZERO OpenCL.Import

CL_FP_SOFT_FLOAT OpenCL.Import

CL_GLOBAL OpenCL.Import

CL_GLX_DISPLAY_KHR OpenCL.GL

CL_GL_CONTEXT_KHR OpenCL.GL

* Additional cl_context_properties *//
CL_GL_MIPMAP_LEVEL OpenCL.GL

CL_GL_NUM_SAMPLES OpenCL.GL

CL_GL_OBJECT_BUFFER OpenCL.GL

* cl_gl_object_type = 0x2000 - 0x200F enum values are currently taken *//
CL_GL_OBJECT_RENDERBUFFER OpenCL.GL

CL_GL_OBJECT_TEXTURE1D OpenCL.GL

CL_GL_OBJECT_TEXTURE1D_ARRAY OpenCL.GL

CL_GL_OBJECT_TEXTURE2D OpenCL.GL

CL_GL_OBJECT_TEXTURE2D_ARRAY OpenCL.GL

CL_GL_OBJECT_TEXTURE3D OpenCL.GL

CL_GL_OBJECT_TEXTURE_BUFFER OpenCL.GL

CL_GL_TEXTURE_TARGET OpenCL.GL

* cl_gl_texture_info *//
CL_HALF_FLOAT OpenCL.Import

CL_HUGE_VAL OpenCL.Platform

CL_HUGE_VALF OpenCL.Platform

(CL_INFINITY - CL_INFINITY);
CL_IMAGE_ARRAY_SIZE OpenCL.Import

CL_IMAGE_BUFFER OpenCL.Import

CL_IMAGE_DEPTH OpenCL.Import

CL_IMAGE_ELEMENT_SIZE OpenCL.Import

CL_IMAGE_FORMAT OpenCL.Import

cl_image_info
CL_IMAGE_FORMAT_MISMATCH OpenCL.Import

CL_IMAGE_FORMAT_NOT_SUPPORTED OpenCL.Import

CL_IMAGE_HEIGHT OpenCL.Import

CL_IMAGE_NUM_MIP_LEVELS OpenCL.Import

CL_IMAGE_NUM_SAMPLES OpenCL.Import

CL_IMAGE_ROW_PITCH OpenCL.Import

CL_IMAGE_SLICE_PITCH OpenCL.Import

CL_IMAGE_WIDTH OpenCL.Import

CL_INFINITY OpenCL.Platform

CL_INTENSITY OpenCL.Import

CL_INT_MAX OpenCL.Platform

CL_INT_MIN OpenCL.Platform

CL_INVALID_ARG_INDEX OpenCL.Import

CL_INVALID_ARG_SIZE OpenCL.Import

CL_INVALID_ARG_VALUE OpenCL.Import

CL_INVALID_BINARY OpenCL.Import

CL_INVALID_BUFFER_SIZE OpenCL.Import

CL_INVALID_BUILD_OPTIONS OpenCL.Import

CL_INVALID_COMMAND_QUEUE OpenCL.Import

CL_INVALID_COMPILER_OPTIONS OpenCL.Import

CL_INVALID_CONTEXT OpenCL.Import

CL_INVALID_DEVICE OpenCL.Import

CL_INVALID_DEVICE_PARTITION_COUNT OpenCL.Import

CL_INVALID_DEVICE_QUEUE OpenCL.Import

CL_INVALID_DEVICE_TYPE OpenCL.Import

CL_INVALID_EVENT OpenCL.Import

CL_INVALID_EVENT_WAIT_LIST OpenCL.Import

CL_INVALID_GLOBAL_OFFSET OpenCL.Import

CL_INVALID_GLOBAL_WORK_SIZE OpenCL.Import

CL_INVALID_GL_OBJECT OpenCL.Import

CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR OpenCL.GL

* Additional Error Codes *//
CL_INVALID_HOST_PTR OpenCL.Import

CL_INVALID_IMAGE_DESCRIPTOR OpenCL.Import

CL_INVALID_IMAGE_FORMAT_DESCRIPTOR OpenCL.Import

CL_INVALID_IMAGE_SIZE OpenCL.Import

CL_INVALID_KERNEL OpenCL.Import

CL_INVALID_KERNEL_ARGS OpenCL.Import

CL_INVALID_KERNEL_DEFINITION OpenCL.Import

CL_INVALID_KERNEL_NAME OpenCL.Import

CL_INVALID_LINKER_OPTIONS OpenCL.Import

CL_INVALID_MEM_OBJECT OpenCL.Import

CL_INVALID_MIP_LEVEL OpenCL.Import

CL_INVALID_OPERATION OpenCL.Import

CL_INVALID_PIPE_SIZE OpenCL.Import

CL_INVALID_PLATFORM OpenCL.Import

CL_INVALID_PROGRAM OpenCL.Import

CL_INVALID_PROGRAM_EXECUTABLE OpenCL.Import

CL_INVALID_PROPERTY OpenCL.Import

CL_INVALID_QUEUE_PROPERTIES OpenCL.Import

CL_INVALID_SAMPLER OpenCL.Import

CL_INVALID_SPEC_ID OpenCL.Import

CL_INVALID_VALUE OpenCL.Import

CL_INVALID_WORK_DIMENSION OpenCL.Import

CL_INVALID_WORK_GROUP_SIZE OpenCL.Import

CL_INVALID_WORK_ITEM_SIZE OpenCL.Import

CL_KERNEL_ARG_ACCESS_NONE OpenCL.Import

CL_KERNEL_ARG_ACCESS_QUALIFIER OpenCL.Import

CL_KERNEL_ARG_ACCESS_READ_ONLY OpenCL.Import

cl_kernel_arg_access_qualifier
CL_KERNEL_ARG_ACCESS_READ_WRITE OpenCL.Import

CL_KERNEL_ARG_ACCESS_WRITE_ONLY OpenCL.Import

CL_KERNEL_ARG_ADDRESS_CONSTANT OpenCL.Import

CL_KERNEL_ARG_ADDRESS_GLOBAL OpenCL.Import

cl_kernel_arg_address_qualifier
CL_KERNEL_ARG_ADDRESS_LOCAL OpenCL.Import

CL_KERNEL_ARG_ADDRESS_PRIVATE OpenCL.Import

CL_KERNEL_ARG_ADDRESS_QUALIFIER OpenCL.Import

cl_kernel_arg_info
CL_KERNEL_ARG_INFO_NOT_AVAILABLE OpenCL.Import

CL_KERNEL_ARG_NAME OpenCL.Import

CL_KERNEL_ARG_TYPE_CONST OpenCL.Import

CL_KERNEL_ARG_TYPE_NAME OpenCL.Import

CL_KERNEL_ARG_TYPE_NONE OpenCL.Import

cl_kernel_arg_type_qualifer
CL_KERNEL_ARG_TYPE_PIPE OpenCL.Import

CL_KERNEL_ARG_TYPE_QUALIFIER OpenCL.Import

CL_KERNEL_ARG_TYPE_RESTRICT OpenCL.Import

CL_KERNEL_ARG_TYPE_VOLATILE OpenCL.Import

CL_KERNEL_ATTRIBUTES OpenCL.Import

CL_KERNEL_COMPILE_NUM_SUB_GROUPS OpenCL.Import

CL_KERNEL_COMPILE_WORK_GROUP_SIZE OpenCL.Import

CL_KERNEL_CONTEXT OpenCL.Import

CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM OpenCL.Import

CL_KERNEL_EXEC_INFO_SVM_PTRS OpenCL.Import

cl_kernel_exec_info
CL_KERNEL_FUNCTION_NAME OpenCL.Import

cl_kernel_info
CL_KERNEL_GLOBAL_WORK_SIZE OpenCL.Import

CL_KERNEL_LOCAL_MEM_SIZE OpenCL.Import

CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT OpenCL.Import

CL_KERNEL_MAX_NUM_SUB_GROUPS OpenCL.Import

CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE OpenCL.Import

cl_kernel_sub_group_info
CL_KERNEL_NUM_ARGS OpenCL.Import

CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE OpenCL.Import

CL_KERNEL_PRIVATE_MEM_SIZE OpenCL.Import

CL_KERNEL_PROGRAM OpenCL.Import

CL_KERNEL_REFERENCE_COUNT OpenCL.Import

CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE OpenCL.Import

CL_KERNEL_WORK_GROUP_SIZE OpenCL.Import

cl_kernel_work_group_info
cl_khr_gl_sharing OpenCL.GL

* cl_khr_gl_sharing extension *//
CL_LINKER_NOT_AVAILABLE OpenCL.Import

CL_LINK_PROGRAM_FAILURE OpenCL.Import

CL_LOCAL OpenCL.Import

cl_device_local_mem_type
CL_LONG_MAX OpenCL.Platform

CL_LONG_MIN OpenCL.Platform

CL_LUMINANCE OpenCL.Import

CL_MAP_FAILURE OpenCL.Import

CL_MAP_READ OpenCL.Import

cl_map_flags - bitfield
CL_MAP_WRITE OpenCL.Import

CL_MAP_WRITE_INVALIDATE_REGION OpenCL.Import

CL_MAXFLOAT OpenCL.Platform

CL_MAX_SIZE_RESTRICTION_EXCEEDED OpenCL.Import

CL_MEM_ALLOC_HOST_PTR OpenCL.Import

CL_MEM_ASSOCIATED_MEMOBJECT OpenCL.Import

CL_MEM_CONTEXT OpenCL.Import

CL_MEM_COPY_HOST_PTR OpenCL.Import

CL_MEM_COPY_OVERLAP OpenCL.Import

CL_MEM_FLAGS OpenCL.Import

CL_MEM_HOST_NO_ACCESS OpenCL.Import

CL_MEM_HOST_PTR OpenCL.Import

CL_MEM_HOST_READ_ONLY OpenCL.Import

CL_MEM_HOST_WRITE_ONLY OpenCL.Import

reserved (1 shl 6);
CL_MEM_KERNEL_READ_AND_WRITE OpenCL.Import

used by cl_svm_mem_flags only
CL_MEM_MAP_COUNT OpenCL.Import

CL_MEM_OBJECT_ALLOCATION_FAILURE OpenCL.Import

CL_MEM_OBJECT_BUFFER OpenCL.Import

cl_mem_object_type
CL_MEM_OBJECT_IMAGE1D OpenCL.Import

CL_MEM_OBJECT_IMAGE1D_ARRAY OpenCL.Import

CL_MEM_OBJECT_IMAGE1D_BUFFER OpenCL.Import

CL_MEM_OBJECT_IMAGE2D OpenCL.Import

CL_MEM_OBJECT_IMAGE2D_ARRAY OpenCL.Import

CL_MEM_OBJECT_IMAGE3D OpenCL.Import

CL_MEM_OBJECT_PIPE OpenCL.Import

CL_MEM_OFFSET OpenCL.Import

CL_MEM_READ_ONLY OpenCL.Import

CL_MEM_READ_WRITE OpenCL.Import

cl_mem_flags - bitfield
CL_MEM_REFERENCE_COUNT OpenCL.Import

CL_MEM_SIZE OpenCL.Import

CL_MEM_SVM_ATOMICS OpenCL.Import

used by cl_svm_mem_flags only
CL_MEM_SVM_FINE_GRAIN_BUFFER OpenCL.Import

CL_MEM_TYPE OpenCL.Import

cl_mem_info
CL_MEM_USES_SVM_POINTER OpenCL.Import

CL_MEM_USE_HOST_PTR OpenCL.Import

CL_MEM_WRITE_ONLY OpenCL.Import

CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED OpenCL.Import

CL_MIGRATE_MEM_OBJECT_HOST OpenCL.Import

cl_mem_migration_flags - bitfield
CL_MISALIGNED_SUB_BUFFER_OFFSET OpenCL.Import

CL_M_1_PI OpenCL.Platform

CL_M_1_PI_F OpenCL.Platform

CL_M_2_PI OpenCL.Platform

CL_M_2_PI_F OpenCL.Platform

CL_M_2_SQRTPI OpenCL.Platform

CL_M_2_SQRTPI_F OpenCL.Platform

CL_M_E OpenCL.Platform

0x1.0p-52;
CL_M_E_F OpenCL.Platform

CL_M_LN10 OpenCL.Platform

CL_M_LN10_F OpenCL.Platform

CL_M_LN2 OpenCL.Platform

CL_M_LN2_F OpenCL.Platform

CL_M_LOG10E OpenCL.Platform

CL_M_LOG10E_F OpenCL.Platform

CL_M_LOG2E OpenCL.Platform

CL_M_LOG2E_F OpenCL.Platform

CL_M_PI OpenCL.Platform

CL_M_PI_2 OpenCL.Platform

CL_M_PI_2_F OpenCL.Platform

CL_M_PI_4 OpenCL.Platform

CL_M_PI_4_F OpenCL.Platform

CL_M_PI_F OpenCL.Platform

CL_M_SQRT1_2 OpenCL.Platform

CL_M_SQRT1_2_F OpenCL.Platform

CL_M_SQRT2 OpenCL.Platform

CL_M_SQRT2_F OpenCL.Platform

CL_NAN OpenCL.Platform

CL_NONE OpenCL.Import

cl_device_mem_cache_type
CL_NON_BLOCKING OpenCL.Import

CL_OUT_OF_HOST_MEMORY OpenCL.Import

CL_OUT_OF_RESOURCES OpenCL.Import

CL_PIPE_MAX_PACKETS OpenCL.Import

CL_PIPE_PACKET_SIZE OpenCL.Import

cl_pipe_info
CL_PLATFORM_EXTENSIONS OpenCL.Import

CL_PLATFORM_HOST_TIMER_RESOLUTION OpenCL.Import

CL_PLATFORM_NAME OpenCL.Import

CL_PLATFORM_PROFILE OpenCL.Import

cl_platform_info
CL_PLATFORM_VENDOR OpenCL.Import

CL_PLATFORM_VERSION OpenCL.Import

CL_PROFILING_COMMAND_COMPLETE OpenCL.Import

CL_PROFILING_COMMAND_END OpenCL.Import

CL_PROFILING_COMMAND_QUEUED OpenCL.Import

cl_profiling_info
CL_PROFILING_COMMAND_START OpenCL.Import

CL_PROFILING_COMMAND_SUBMIT OpenCL.Import

CL_PROFILING_INFO_NOT_AVAILABLE OpenCL.Import

CL_PROGBRAM_BINARY_TYPE_NONE OpenCL.Import

cl_program_binary_type
CL_PROGRAM_BINARIES OpenCL.Import

CL_PROGRAM_BINARY_SIZES OpenCL.Import

CL_PROGRAM_BINARY_TYPE OpenCL.Import

CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT OpenCL.Import

CL_PROGRAM_BINARY_TYPE_EXECUTABLE OpenCL.Import

CL_PROGRAM_BINARY_TYPE_LIBRARY OpenCL.Import

CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE OpenCL.Import

CL_PROGRAM_BUILD_LOG OpenCL.Import

CL_PROGRAM_BUILD_OPTIONS OpenCL.Import

CL_PROGRAM_BUILD_STATUS OpenCL.Import

cl_program_build_info
CL_PROGRAM_CONTEXT OpenCL.Import

CL_PROGRAM_DEVICES OpenCL.Import

CL_PROGRAM_IL OpenCL.Import

CL_PROGRAM_KERNEL_NAMES OpenCL.Import

CL_PROGRAM_NUM_DEVICES OpenCL.Import

CL_PROGRAM_NUM_KERNELS OpenCL.Import

CL_PROGRAM_REFERENCE_COUNT OpenCL.Import

cl_program_info
CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT OpenCL.Import

CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT OpenCL.Import

CL_PROGRAM_SOURCE OpenCL.Import

CL_QUEUED OpenCL.Import

CL_QUEUE_CONTEXT OpenCL.Import

cl_command_queue_info
CL_QUEUE_DEVICE OpenCL.Import

CL_QUEUE_DEVICE_DEFAULT OpenCL.Import

CL_QUEUE_ON_DEVICE OpenCL.Import

CL_QUEUE_ON_DEVICE_DEFAULT OpenCL.Import

CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE OpenCL.Import

cl_command_queue_properties - bitfield
CL_QUEUE_PROFILING_ENABLE OpenCL.Import

CL_QUEUE_PROPERTIES OpenCL.Import

CL_QUEUE_REFERENCE_COUNT OpenCL.Import

CL_QUEUE_SIZE OpenCL.Import

CL_R OpenCL.Import

cl_channel_order
CL_RA OpenCL.Import

CL_READ_ONLY_CACHE OpenCL.Import

CL_READ_WRITE_CACHE OpenCL.Import

CL_RG OpenCL.Import

CL_RGB OpenCL.Import

CL_RGBA OpenCL.Import

CL_RGBx OpenCL.Import

CL_RGx OpenCL.Import

CL_RUNNING OpenCL.Import

CL_Rx OpenCL.Import

CL_SAMPLER_ADDRESSING_MODE OpenCL.Import

CL_SAMPLER_CONTEXT OpenCL.Import

CL_SAMPLER_FILTER_MODE OpenCL.Import

CL_SAMPLER_LOD_MAX OpenCL.Import

CL_SAMPLER_LOD_MIN OpenCL.Import

CL_SAMPLER_MIP_FILTER_MODE OpenCL.Import

CL_SAMPLER_NORMALIZED_COORDS OpenCL.Import

CL_SAMPLER_REFERENCE_COUNT OpenCL.Import

cl_sampler_info
CL_sBGRA OpenCL.Import

CL_SCHAR_MAX OpenCL.Platform

CL_SCHAR_MIN OpenCL.Platform

CL_SHRT_MAX OpenCL.Platform

CL_SHRT_MIN OpenCL.Platform

CL_SIGNED_INT16 OpenCL.Import

CL_SIGNED_INT32 OpenCL.Import

CL_SIGNED_INT8 OpenCL.Import

CL_SNORM_INT16 OpenCL.Import

CL_SNORM_INT8 OpenCL.Import

* cl_channel_type *//
CL_sRGB OpenCL.Import

CL_sRGBA OpenCL.Import

CL_sRGBx OpenCL.Import

CL_SUBMITTED OpenCL.Import

CL_SUCCESS OpenCL.Import

Error Codes
CL_TRUE OpenCL.Import

CL_UCHAR_MAX OpenCL.Platform

CL_UINT_MAX OpenCL.Platform

CL_ULONG_MAX OpenCL.Platform

CL_UNORM_INT16 OpenCL.Import

CL_UNORM_INT24 OpenCL.Import

CL_UNORM_INT8 OpenCL.Import

CL_UNORM_INT_101010 OpenCL.Import

CL_UNORM_INT_101010_2 OpenCL.Import

CL_UNORM_SHORT_555 OpenCL.Import

CL_UNORM_SHORT_565 OpenCL.Import

CL_UNSIGNED_INT16 OpenCL.Import

CL_UNSIGNED_INT32 OpenCL.Import

CL_UNSIGNED_INT8 OpenCL.Import

CL_USHRT_MAX OpenCL.Platform

CL_VERSION_1_0 OpenCL.Import

OpenCL Version
CL_VERSION_1_1 OpenCL.Import

CL_VERSION_1_2 OpenCL.Import

CL_VERSION_2_0 OpenCL.Import

CL_VERSION_2_1 OpenCL.Import

CL_VERSION_2_2 OpenCL.Import

CL_WGL_HDC_KHR OpenCL.GL

CMAGIC Formats.m3DSConst

cMaxArray GLS.VectorGeometry

cMaxContacts Physics.ODERagdoll

cMaxVerts GLS.Trail

cMeshModeToGLEnum GLS.Mesh

CmtNX GLS.Texture

CmtNY GLS.Texture

CmtNZ GLS.Texture

CmtPX GLS.Texture

CmtPY GLS.Texture

CmtPZ GLS.Texture

COctree_GROW_GRAVY GLS.SpacePartition

COctree_LEAF_TRHESHOLD GLS.SpacePartition

COctree_MAX_TREE_DEPTH GLS.SpacePartition

ColorFMax3DS Formats.m3DSConst

minimum color value in a channel
ColorFMin3DS Formats.m3DSConst

maximum shadow map size COLOR_F
COLOR_24 Formats.m3DSConst

COLOR_F Formats.m3DSConst

ColTrackTagMax3DS Formats.m3DSConst

Minimum color value
ColTrackTagMin3DS Formats.m3DSConst

Minimum number of keys in a track COL_TRACK_TAG_KEY
COL_TRACK_TAG Formats.m3DSConst

COL_TRACK_TAG_KEY Formats.m3DSConst

comptypeDIB Formats.VFW

== AVISave routines and structures ==========================================
cOneHalf GLS.VectorGeometry

CONSOLE_MAX_COMMANDS GLS.Console

CONTACTS_UNIMPORTANT Physics.ODEImport

Just generate any contacts (disables any contact refining).
Container Formats.m3DSConst

CONTROLCALLBACK_CAPTURING Formats.VFW

Waiting to start capture
CONTROLCALLBACK_PREROLL Formats.VFW

– CapControlCallback states ————————————————
cPERLIN_TABLE_SIZE GLS.PerlinPFX

cPFXGranularity GLS.ParticleFX

number of distance regions
cPFXNbRegions GLS.ParticleFX

cPI GLS.VectorGeometry

cPIdiv180 GLS.VectorGeometry

cPIdiv2 GLS.VectorGeometry

cPIdiv4 GLS.VectorGeometry

cTilesHashSize GLS.TerrainRenderer

CUDAAPIDLL CUDA.Import

CUDARTDLLNAMES CUDA.Runtime

CUDART_2_OVER_PI CUDA.Runtime

CUDART_2_OVER_PI_F CUDA.Runtime

CUDART_3PIO4 CUDA.Runtime

CUDART_3PIO4_F CUDA.Runtime

CUDART_INF CUDA.Runtime

double precision constants */
CUDART_INF_F CUDA.Runtime

single precision constants
CUDART_L2E CUDA.Runtime

CUDART_L2E_F CUDA.Runtime

CUDART_L2E_HI CUDA.Runtime

CUDART_L2E_LO CUDA.Runtime

CUDART_L2T CUDA.Runtime

CUDART_L2T_F CUDA.Runtime

CUDART_LG2 CUDA.Runtime

CUDART_LG2_F CUDA.Runtime

CUDART_LG2_HI CUDA.Runtime

CUDART_LG2_LO CUDA.Runtime

CUDART_LG2_X_1024 CUDA.Runtime

CUDART_LG2_X_1075 CUDA.Runtime

CUDART_LGE CUDA.Runtime

CUDART_LGE_F CUDA.Runtime

CUDART_LGE_HI CUDA.Runtime

CUDART_LGE_LO CUDA.Runtime

CUDART_LN2 CUDA.Runtime

CUDART_LN2_F CUDA.Runtime

CUDART_LN2_HI CUDA.Runtime

CUDART_LN2_LO CUDA.Runtime

CUDART_LN2_X_1024 CUDA.Runtime

CUDART_LN2_X_1025 CUDA.Runtime

CUDART_LN2_X_1075 CUDA.Runtime

CUDART_LNPI CUDA.Runtime

CUDART_LNPI_F CUDA.Runtime

CUDART_LNT CUDA.Runtime

CUDART_LNT_F CUDA.Runtime

CUDART_LNT_HI CUDA.Runtime

CUDART_LNT_LO CUDA.Runtime

CUDART_MAX_NORMAL_F CUDA.Runtime

CUDART_MIN_DENORM CUDA.Runtime

CUDART_MIN_DENORM_F CUDA.Runtime

CUDART_NAN CUDA.Runtime

CUDART_NAN_F CUDA.Runtime

CUDART_NEG_ZERO CUDA.Runtime

CUDART_NEG_ZERO_F CUDA.Runtime

CUDART_NORM_HUGE_F CUDA.Runtime

CUDART_ONE CUDA.Runtime

CUDART_ONE_F CUDA.Runtime

CUDART_PI CUDA.Runtime

CUDART_PIO2 CUDA.Runtime

CUDART_PIO2_F CUDA.Runtime

CUDART_PIO2_HI CUDA.Runtime

CUDART_PIO2_LO CUDA.Runtime

CUDART_PIO4 CUDA.Runtime

CUDART_PIO4_F CUDA.Runtime

CUDART_PIO4_HI CUDA.Runtime

CUDART_PIO4_LO CUDA.Runtime

CUDART_PI_F CUDA.Runtime

CUDART_PI_HI CUDA.Runtime

CUDART_PI_LO CUDA.Runtime

CUDART_REMQUO_BITS_F CUDA.Runtime

CUDART_REMQUO_MASK_F CUDA.Runtime

CUDART_SQRT_2PI_HI CUDA.Runtime

CUDART_SQRT_2PI_LO CUDA.Runtime

CUDART_SQRT_HALF CUDA.Runtime

CUDART_SQRT_HALF_F CUDA.Runtime

CUDART_SQRT_PIO2_HI CUDA.Runtime

CUDART_SQRT_PIO2_LO CUDA.Runtime

CUDART_SQRT_TWO CUDA.Runtime

CUDART_SQRT_TWO_F CUDA.Runtime

CUDART_THIRD CUDA.Runtime

CUDART_THIRD_F CUDA.Runtime

CUDART_TRIG_PLOSS CUDA.Runtime

CUDART_TRIG_PLOSS_F CUDA.Runtime

CUDART_TWOTHIRD CUDA.Runtime

CUDART_TWO_TO_126_F CUDA.Runtime

CUDART_TWO_TO_23 CUDA.Runtime

CUDART_TWO_TO_23_F CUDA.Runtime

CUDART_TWO_TO_24_F CUDA.Runtime

CUDART_TWO_TO_31_F CUDA.Runtime

CUDART_TWO_TO_32_F CUDA.Runtime

CUDART_TWO_TO_52 CUDA.Runtime

CUDART_TWO_TO_54 CUDA.Runtime

CUDART_TWO_TO_M1022 CUDA.Runtime

CUDART_TWO_TO_M126_F CUDA.Runtime

CUDART_TWO_TO_M54 CUDA.Runtime

CUDART_ZERO CUDA.Runtime

CUDART_ZERO_F CUDA.Runtime

CUDA_ERROR_ALREADY_ACQUIRED CUDA.Import

< No binary for GPU
CUDA_ERROR_ALREADY_MAPPED CUDA.Import

< Array is mapped
CUDA_ERROR_ARRAY_IS_MAPPED CUDA.Import

< Unmap failed
CUDA_ERROR_CONTEXT_ALREADY_CURRENT CUDA.Import

< Invalid context
CUDA_ERROR_DEINITIALIZED CUDA.Import

< Driver not initialized
CUDA_ERROR_FILE_NOT_FOUND CUDA.Import

< Invalid source
CUDA_ERROR_INVALID_CONTEXT CUDA.Import

< Invalid kernel image
CUDA_ERROR_INVALID_DEVICE CUDA.Import

< No CUDA-capable device available
CUDA_ERROR_INVALID_HANDLE CUDA.Import

< File not found
CUDA_ERROR_INVALID_IMAGE CUDA.Import

< Invalid device
CUDA_ERROR_INVALID_SOURCE CUDA.Import

< Mapped resource not available for access as a pointer
CUDA_ERROR_INVALID_VALUE CUDA.Import

< No errors
CUDA_ERROR_LAUNCH_FAILED CUDA.Import

< CUDA not ready
CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING CUDA.Import

< Launch exceeded timeout
CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES CUDA.Import

< Launch failed
CUDA_ERROR_LAUNCH_TIMEOUT CUDA.Import

< Launch exceeded resources
CUDA_ERROR_MAP_FAILED CUDA.Import

< Context already current
CUDA_ERROR_NOT_FOUND CUDA.Import

< Invalid handle
CUDA_ERROR_NOT_INITIALIZED CUDA.Import

< Out of memory
CUDA_ERROR_NOT_MAPPED CUDA.Import

< Already acquired
CUDA_ERROR_NOT_MAPPED_AS_ARRAY CUDA.Import

< Not mapped
CUDA_ERROR_NOT_MAPPED_AS_POINTER CUDA.Import

< Mapped resource not available for access as an array
CUDA_ERROR_NOT_READY CUDA.Import

< Not found
CUDA_ERROR_NO_BINARY_FOR_GPU CUDA.Import

< Already mapped
CUDA_ERROR_NO_DEVICE CUDA.Import

< Driver deinitialized
CUDA_ERROR_OUT_OF_MEMORY CUDA.Import

< Invalid value
CUDA_ERROR_POINTER_IS_64BIT CUDA.Import

< Launch with incompatible texturing
CUDA_ERROR_SIZE_IS_64BIT CUDA.Import

< Attempted to retrieve 64-bit pointer via 32-bit API function
CUDA_ERROR_UNKNOWN CUDA.Import

< Attempted to retrieve 64-bit size via 32-bit API function
CUDA_ERROR_UNMAP_FAILED CUDA.Import

< Map failed
CUDA_SUCCESS CUDA.Import

CUDPPDLL CUDA.ParallelPrimitives

————————————————————- cuDPP – CUDA Data Parallel Primitives library ————————————————————- $Revision: 4567 $ $Date: 2020-05-17 ————————————————————- This source code is distributed under the terms of license.txt in the root directory of this source distribution. ————————————————————-
CUDPP_INVALID_HANDLE CUDA.ParallelPrimitives

CUFFTDLLNAMES CUDA.FourierTransform

CUFFT_ALLOC_FAILED CUDA.FourierTransform

CUFFT_C2C CUDA.FourierTransform

Complex (interleaved) to Real
CUFFT_C2R CUDA.FourierTransform

Real to Complex (interleaved)
CUFFT_COMPATIBILITY_FFTW CUDA.FourierTransform

CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC CUDA.FourierTransform

CUFFT_COMPATIBILITY_FFTW_PADDING CUDA.FourierTransform

The default value
CUFFT_COMPATIBILITY_NORMAL CUDA.FourierTransform

CUFFT_D2Z CUDA.FourierTransform

Complex to Complex, interleaved
CUFFT_EXEC_FAILED CUDA.FourierTransform

CUFFT_FORWARD CUDA.FourierTransform

CUFFT transform directions
CUFFT_INTERNAL_ERROR CUDA.FourierTransform

CUFFT_INVALID_PLAN CUDA.FourierTransform

CUFFT_INVALID_SIZE CUDA.FourierTransform

CUFFT_INVALID_TYPE CUDA.FourierTransform

CUFFT_INVALID_VALUE CUDA.FourierTransform

CUFFT_INVERSE CUDA.FourierTransform

Forward FFT
CUFFT_R2C CUDA.FourierTransform

Inverse FFT CUFFT supports the following transform types
CUFFT_SETUP_FAILED CUDA.FourierTransform

CUFFT_SUCCESS CUDA.FourierTransform

CUFFT_Z2D CUDA.FourierTransform

Double to Double-Complex
CUFFT_Z2Z CUDA.FourierTransform

Double-Complex to Double
CURV_CONTINUITY_FIRST Formats.LWO

CURV_CONTINUITY_LAST Formats.LWO

CUTILDLL CUDA.Utility

CU_MEMHOSTALLOC_DEVICEMAP CUDA.Import

* If set, host memory is mapped into CUDA address space and * ::cuMemHostGetDevicePointer() may be called on the host pointer. * Flag for ::cuMemHostAlloc()
CU_MEMHOSTALLOC_PORTABLE CUDA.Import

* If set, host memory is portable between CUDA contexts. * Flag for ::cuMemHostAlloc()
CU_MEMHOSTALLOC_WRITECOMBINED CUDA.Import

* If set, host memory is allocated as write-combined - fast to write, * faster to DMA, slow to read except via SSE4 streaming load instruction * (MOVNTDQA). * Flag for ::cuMemHostAlloc()
CU_PARAM_TR_DEFAULT CUDA.Import

* For texture references loaded into the module, use default texunit from * texture reference.
CU_TRSA_OVERRIDE_FORMAT CUDA.Import

* Override the texref format with a format inferred from the array. * Flag for ::cuTexRefSetArray()
CU_TRSF_NORMALIZED_COORDINATES CUDA.Import

* Use normalized texture coordinates in the range [0,1) instead of [0,dim). * Flag for ::cuTexRefSetFlags()
CU_TRSF_READ_AS_INTEGER CUDA.Import

* Read the texture as integers rather than promoting the values to floats * in the range [0,1]. * Flag for ::cuTexRefSetFlags()
cVertexModeToGLEnum GLS.Mesh

C_ALL_LINES Formats.m3DSConst

C_ALPHA_SPLIT Formats.m3DSConst

C_ANG_THRESH Formats.m3DSConst

C_ANIMLENGTH Formats.m3DSConst

C_APPLY_DISP_GAMMA Formats.m3DSConst

C_APPLY_FBUF_GAMMA Formats.m3DSConst

OBSOLETE
C_APPLY_FILE_GAMMA Formats.m3DSConst

OBSOLETE
C_ARCH_DENOM Formats.m3DSConst

C_ASNAPS Formats.m3DSConst

C_AUTO_REFLECT Formats.m3DSConst

C_AUTO_SMOOTH Formats.m3DSConst

C_AUTO_UNIFY Formats.m3DSConst

C_AUTO_WELD Formats.m3DSConst

C_BACKUP_FILE Formats.m3DSConst

system options
C_BACK_TYPE Formats.m3DSConst

C_BGND_METHOD Formats.m3DSConst

C_BGND_PRES_RATIO Formats.m3DSConst

C_BGTYPE Formats.m3DSConst

C_BIAS_DEFAULT Formats.m3DSConst

C_BITMAP_DRAWER Formats.m3DSConst

C_BLUR_DUR Formats.m3DSConst

C_BLUR_FRAMES Formats.m3DSConst

C_BLUR_SAMPLES Formats.m3DSConst

C_BOOLTYPE Formats.m3DSConst

C_BOOLWELD Formats.m3DSConst

Booleans
C_CAMNAME Formats.m3DSConst

C_COMM_PORT Formats.m3DSConst

C_CONESEGS Formats.m3DSConst

C_CONESIDES Formats.m3DSConst

C_CONSTS Formats.m3DSConst

C_CONT_DEFAULT Formats.m3DSConst

C_CUBDRAWER Formats.m3DSConst

C_CURMTL_FROM_MESH Formats.m3DSConst

C_CURTIME Formats.m3DSConst

C_CUR_MNAME Formats.m3DSConst

C_DETAIL Formats.m3DSConst

C_DISP_GAMMA Formats.m3DSConst

C_DITHER_24 Formats.m3DSConst

C_DITHER_256 Formats.m3DSConst

C_DXFNAME_SRC Formats.m3DSConst

C_DXF_SMOOTH_ANG Formats.m3DSConst

C_EDITOR_OK Formats.m3DSConst

C_ETAPE Formats.m3DSConst

C_FBUF_GAMMA Formats.m3DSConst

C_FILE_IN_GAMMA Formats.m3DSConst

C_FILE_OUT_GAMMA Formats.m3DSConst

C_FLIDRAWER Formats.m3DSConst

C_FLIFILE Formats.m3DSConst

C_FONTSEL Formats.m3DSConst

C_FORCE_WIRE Formats.m3DSConst

OBSOLETE
C_FROZ_DISPLAY Formats.m3DSConst

3d frozen display
C_GAMMA_CORRECT Formats.m3DSConst

C_GEOSMOOTH Formats.m3DSConst

C_GET_SHAPE_MAKE_FACES Formats.m3DSConst

C_GRIDS Formats.m3DSConst

C_GRID_RANGE Formats.m3DSConst

C_HEBOT Formats.m3DSConst

C_HEDEG Formats.m3DSConst

C_HEDIR Formats.m3DSConst

C_HEHT Formats.m3DSConst

C_HEMISEGS Formats.m3DSConst

C_HESEG Formats.m3DSConst

C_HETOP Formats.m3DSConst

C_HETURNS Formats.m3DSConst

C_HI_CONTRAST Formats.m3DSConst

C_HOT_CHECK Formats.m3DSConst

C_HOT_METHOD Formats.m3DSConst

C_IN_DEVICE Formats.m3DSConst

C_JPEG_COMPRESSION Formats.m3DSConst

C_KEYFRAMER_OK Formats.m3DSConst

C_KF_SHOW_BACKFACE Formats.m3DSConst

C_KTAPE Formats.m3DSConst

C_LMTS_ID GLS.FileLMTS

C_LMTS_SUBS GLS.FileLMTS

C_LMTS_TEXFNLEN GLS.FileLMTS

C_LMTS_TEXT GLS.FileLMTS

C_LMTS_TRIS GLS.FileLMTS

C_LMTS_VER GLS.FileLMTS

C_LOFTER_OK Formats.m3DSConst

C_LOFT_L_REPEAT Formats.m3DSConst

C_LOFT_UV_NORMALIZE Formats.m3DSConst

C_LOFT_WITH_TEXTURE Formats.m3DSConst

C_LOFT_W_REPEAT Formats.m3DSConst

C_LO_CONTRAST Formats.m3DSConst

Contrast
C_LTAPE Formats.m3DSConst

C_LTNAME Formats.m3DSConst

C_MAPDRAWER Formats.m3DSConst

C_MAPDRAWER1 Formats.m3DSConst

C_MAPDRAWER2 Formats.m3DSConst

C_MAPDRAWER3 Formats.m3DSConst

C_MAPDRAWER4 Formats.m3DSConst

C_MAPDRAWER5 Formats.m3DSConst

C_MAPDRAWER6 Formats.m3DSConst

C_MAPDRAWER7 Formats.m3DSConst

C_MAPDRAWER8 Formats.m3DSConst

C_MAPDRAWER9 Formats.m3DSConst

C_MAPDRAWER_ENTRY Formats.m3DSConst

C_MAPTYPE Formats.m3DSConst

C_MAP_DISPLAY Formats.m3DSConst

C_MAP_MATRIX Formats.m3DSConst

C_MAP_MATRIX_OLD Formats.m3DSConst

C_MAP_SCALE Formats.m3DSConst

C_MAP_WID_HT Formats.m3DSConst

C_MAP_XYZ Formats.m3DSConst

C_MASTER_AMBIENT Formats.m3DSConst

C_MASTER_SCALES Formats.m3DSConst

C_MBLUR_DITHER Formats.m3DSConst

C_MDRAWER Formats.m3DSConst

C_MD_CE Formats.m3DSConst

C_MD_CS Formats.m3DSConst

C_MD_PDET Formats.m3DSConst

C_MD_SDET Formats.m3DSConst

C_MD_SML Formats.m3DSConst

C_MD_SMW Formats.m3DSConst

C_MEDTILE Formats.m3DSConst

C_MESHSEL Formats.m3DSConst

C_MESHUNSEL Formats.m3DSConst

C_MFILE Formats.m3DSConst

C_MFTSYM Formats.m3DSConst

C_MODDRAWER Formats.m3DSConst

C_MODFILE Formats.m3DSConst

C_MODICOUNT Formats.m3DSConst

C_MODMODEL Formats.m3DSConst

C_MODWMODE Formats.m3DSConst

C_MSCALE Formats.m3DSConst

C_MSCSYM Formats.m3DSConst

C_MSHAX Formats.m3DSConst

C_MSHCP Formats.m3DSConst

C_MSHLOCAL Formats.m3DSConst

C_MTLDRAWER Formats.m3DSConst

C_MTLFILE Formats.m3DSConst

C_MTTSYM Formats.m3DSConst

C_NET_FIELD_ORDER Formats.m3DSConst

C_NET_USE_GAMMA Formats.m3DSConst

C_NET_USE_VPOST Formats.m3DSConst

Special network-use chunks
C_NGPARMS Formats.m3DSConst

C_NTH_SERIAL_NUM Formats.m3DSConst

C_NUM_FORMAT Formats.m3DSConst

C_OBJECT_MBLUR Formats.m3DSConst

C_OBNAME Formats.m3DSConst

C_OPTIMIZE_LOFT Formats.m3DSConst

C_PALFILE Formats.m3DSConst

C_PAL_TYPE Formats.m3DSConst

C_PDRAWER Formats.m3DSConst

C_PFILE Formats.m3DSConst

C_PICKSIZE Formats.m3DSConst

C_PIXEL_SIZE Formats.m3DSConst

C_POLYSEL Formats.m3DSConst

C_POLYUNSEL Formats.m3DSConst

C_PREVMODE Formats.m3DSConst

C_PRISMSEGS Formats.m3DSConst

C_PRISMSIDES Formats.m3DSConst

C_PROGMODE Formats.m3DSConst

C_PTHLEVEL Formats.m3DSConst

C_PV_DOFNUM Formats.m3DSConst

C_PV_FPS Formats.m3DSConst

C_PV_FROM Formats.m3DSConst

C_PV_METHOD Formats.m3DSConst

C_PV_NTH Formats.m3DSConst

C_PV_RNG Formats.m3DSConst

C_PV_TO Formats.m3DSConst

C_PV_TYPE Formats.m3DSConst

C_QUIKSTUFF Formats.m3DSConst

C_RAX Formats.m3DSConst

C_RAY_SHADOWS Formats.m3DSConst

C_REFLIP Formats.m3DSConst

C_RENDER_ALL Formats.m3DSConst

C_RENDTYPE Formats.m3DSConst

C_REND_FIELDS Formats.m3DSConst

C_REND_FROM Formats.m3DSConst

C_REND_NTH Formats.m3DSConst

C_REND_TO Formats.m3DSConst

C_REND_TSTEP Formats.m3DSConst

C_RGB_AA Formats.m3DSConst

C_RGB_ANIMTYPE Formats.m3DSConst

C_RGB_COMPRESS Formats.m3DSConst

C_RGB_DISPDEV Formats.m3DSConst

C_RGB_FILE Formats.m3DSConst

C_RGB_HARDDEV Formats.m3DSConst

C_RGB_HIDE Formats.m3DSConst

C_RGB_MAPSW Formats.m3DSConst

C_RGB_OUTPUT Formats.m3DSConst

C_RGB_OVASPECT Formats.m3DSConst

C_RGB_OVH Formats.m3DSConst

C_RGB_OVW Formats.m3DSConst

C_RGB_PATH Formats.m3DSConst

C_RGB_PICTYPE Formats.m3DSConst

C_RGB_RMODE Formats.m3DSConst

C_RGB_SHADOW Formats.m3DSConst

C_RGB_TODISK Formats.m3DSConst

C_RGB_TWOSIDE Formats.m3DSConst

C_RIPDRAWER Formats.m3DSConst

C_RIPFILE Formats.m3DSConst

C_RND_MIP Formats.m3DSConst

C_RND_TURBO Formats.m3DSConst

C_SAFE_FRAME Formats.m3DSConst

C_SAVE_LAST Formats.m3DSConst

C_SEE_3D Formats.m3DSConst

C_SEE_CAMERAS Formats.m3DSConst

C_SEE_LIGHTS Formats.m3DSConst

C_SEG_END Formats.m3DSConst

C_SEG_START Formats.m3DSConst

C_SEL_ITEMTOG Formats.m3DSConst

C_SEL_RESET Formats.m3DSConst

C_SHAPER_OK Formats.m3DSConst

C_SHOOK Formats.m3DSConst

C_SHOW_1STVERT Formats.m3DSConst

C_SHPDRAWER Formats.m3DSConst

C_SHPFILE Formats.m3DSConst

C_SHPLOCAL Formats.m3DSConst

C_SMOOTHING Formats.m3DSConst

C_SMOOTH_ANG Formats.m3DSConst

C_SNAPS Formats.m3DSConst

C_SPHSEGS Formats.m3DSConst

C_SRDEG Formats.m3DSConst

C_SRDIAM Formats.m3DSConst

C_SRDIR Formats.m3DSConst

C_SRSEG Formats.m3DSConst

C_SS_THRESH Formats.m3DSConst

C_STAPE Formats.m3DSConst

C_STICKY_KEYINF Formats.m3DSConst

C_SUPER_BLACK Formats.m3DSConst

C_SUPER_SAMPLE Formats.m3DSConst

C_SXP_BUMP_DATA Formats.m3DSConst

C_SXP_BUMP_MASKDATA Formats.m3DSConst

C_SXP_OPAC_DATA Formats.m3DSConst

C_SXP_OPAC_MASKDATA Formats.m3DSConst

C_SXP_REFL_MASKDATA Formats.m3DSConst

C_SXP_SELFI_DATA Formats.m3DSConst

C_SXP_SELFI_MASKDATA Formats.m3DSConst

C_SXP_SHIN_DATA Formats.m3DSConst

C_SXP_SHIN_MASKDATA Formats.m3DSConst

C_SXP_SPEC_DATA Formats.m3DSConst

C_SXP_SPEC_MASKDATA Formats.m3DSConst

C_SXP_TEXT2_DATA Formats.m3DSConst

C_SXP_TEXT2_MASKDATA Formats.m3DSConst

C_SXP_TEXT_DATA Formats.m3DSConst

C_SXP_TEXT_MASKDATA Formats.m3DSConst

C_TAB_BASES Formats.m3DSConst

C_TAB_DIVS Formats.m3DSConst

C_TDRAWER Formats.m3DSConst

C_TENS_DEFAULT Formats.m3DSConst

C_TESS_TENSION Formats.m3DSConst

C_TESS_TYPE Formats.m3DSConst

C_TEXTURE_BLUR_DEFAULT Formats.m3DSConst

C_TGA_DEPTH Formats.m3DSConst

C_TILE_XY Formats.m3DSConst

C_TORSEGS Formats.m3DSConst

C_TORSIDES Formats.m3DSConst

C_TUBESEGS Formats.m3DSConst

C_TUBESIDES Formats.m3DSConst

C_TXDRAWER Formats.m3DSConst

C_TXFILE Formats.m3DSConst

C_TX_STRING Formats.m3DSConst

C_USERAX Formats.m3DSConst

C_USE_ALPHA Formats.m3DSConst

C_VERTMARK Formats.m3DSConst

C_VIEW_PRES_RATIO Formats.m3DSConst

C_VP_FROM Formats.m3DSConst

C_VP_NTH Formats.m3DSConst

C_VP_TO Formats.m3DSConst

C_VP_TSTEP Formats.m3DSConst

C_VTR_FRAMES Formats.m3DSConst

C_VTR_HD Formats.m3DSConst

C_VTR_HDTL Formats.m3DSConst

C_VTR_IN Formats.m3DSConst

C_VTR_PK Formats.m3DSConst

C_VTR_SH Formats.m3DSConst

C_VTR_TL Formats.m3DSConst

C_WELD_LOFT Formats.m3DSConst

C_WELD_THRESHOLD Formats.m3DSConst

C_WORKMTL Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS Formats.m3DSConst

Material chunks
C_WORK_MTLS_2 Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS_3 Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS_4 Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS_5 Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS_6 Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS_7 Formats.m3DSConst

Old-style – now ignored
C_WORK_MTLS_8 Formats.m3DSConst

Old-style – now ignored
C_ZCLIP_POINT Formats.m3DSConst

D3D11_RESOURCE_DIMENSION_BUFFER Formats.DXTC

D3D11_RESOURCE_DIMENSION_TEXTURE1D Formats.DXTC

D3D11_RESOURCE_DIMENSION_TEXTURE2D Formats.DXTC

D3D11_RESOURCE_DIMENSION_TEXTURE3D Formats.DXTC

D3D11_RESOURCE_DIMENSION_UNKNOWN Formats.DXTC

); TD3D11_RESOURCE_DIMENSION = (
DAMP_SHIFT GLS.ProcTextures

DCEBox GLS.DCE

dContactApprox0 Physics.ODEImport

dContactApprox1 Physics.ODEImport

dContactApprox1_1 Physics.ODEImport

dContactApprox1_2 Physics.ODEImport

dContactBounce Physics.ODEImport

dContactFDir1 Physics.ODEImport

dContactMotion1 Physics.ODEImport

dContactMotion2 Physics.ODEImport

dContactMotionN Physics.ODEImport

dContactMu2 Physics.ODEImport

These consts now have defined types
dContactSlip1 Physics.ODEImport

dContactSlip2 Physics.ODEImport

dContactSoftCFM Physics.ODEImport

dContactSoftERP Physics.ODEImport

DCUE_BGND Formats.m3DSConst

DDF_ANIMATE Formats.VFW

dont draw frame, just decompress
DDF_BACKGROUNDPAL Formats.VFW

use DisplayDib
DDF_BUFFER Formats.VFW

allow palette animation
DDF_DONTDRAW Formats.VFW

draw params are the same
DDF_FULLSCREEN Formats.VFW

just draw it with GDI
DDF_HALFTONE Formats.VFW

hurry up please!
DDF_HURRYUP Formats.VFW

this is a partial frame update, hint
DDF_JUSTDRAWIT Formats.VFW

always buffer image
DDF_NOTKEYFRAME Formats.VFW

Realize palette in background
DDF_PREROLL Formats.VFW

always halftone
DDF_SAME_DIB Formats.VFW

Builing up a non-keyframe
DDF_SAME_DRAW Formats.VFW

HDC same as last call (all setup)
DDF_SAME_HDC Formats.VFW

re-draw the last DIB
DDF_SAME_SIZE Formats.VFW

DDF_UPDATE Formats.VFW

********************************************************************

DrawDib Flags

*********************************************************************
DDPF_A Formats.DXTC

DDPF_ALPHAPIXELS Formats.DXTC

DDPF_FOURCC Formats.DXTC

DDPF_L Formats.DXTC

DDPF_LA Formats.DXTC

DDPF_RGB Formats.DXTC

DDPF_RGBA Formats.DXTC

DDSCAPS2_CUBEMAP Formats.DXTC

DDSCAPS2_CUBEMAP_NEGATIVEX Formats.DXTC

DDSCAPS2_CUBEMAP_NEGATIVEY Formats.DXTC

DDSCAPS2_CUBEMAP_NEGATIVEZ Formats.DXTC

DDSCAPS2_CUBEMAP_POSITIVEX Formats.DXTC

DDSCAPS2_CUBEMAP_POSITIVEY Formats.DXTC

DDSCAPS2_CUBEMAP_POSITIVEZ Formats.DXTC

DDSCAPS2_VOLUME Formats.DXTC

DDSCAPS_COMPLEX Formats.DXTC

DDSCAPS_MIPMAP Formats.DXTC

DDSCAPS_TEXTURE Formats.DXTC

DDSD_CAPS Formats.DXTC

DDSD_DEPTH Formats.DXTC

DDSD_HEIGHT Formats.DXTC

DDSD_LINEARSIZE Formats.DXTC

DDSD_MIPMAPCOUNT Formats.DXTC

DDSD_PITCH Formats.DXTC

DDSD_PIXELFORMAT Formats.DXTC

DDSD_WIDTH Formats.DXTC

DebugMode Physics.SPIInertias

DEFAULT_VIEW Formats.m3DSConst

DefFace3DS Formats.m3DSConst

DefKeyHeader3DS Formats.m3DSConst

DefKFRotKey3DS Formats.m3DSConst

DefObjMat3DS Formats.m3DSConst

DEFORM_LIMIT Formats.m3DSConst

DefPoint3DS Formats.m3DSConst

Basic structure default contents for ease of initialization
DefTextVert3DS Formats.m3DSConst

DefTrackHeader3DS Formats.m3DSConst

DemoScalarField GLS.Isosurface

DISABLE_NODE Formats.m3DSConst

DistanceCueMax3DS Formats.m3DSConst

minimum value for dimming factor
DistanceCueMin3DS Formats.m3DSConst

maximum value for fogging plane density DISTANCE_CUE
DISTANCE_CUE Formats.m3DSConst

dJOINT_INGROUP Physics.ODEImport

These consts now have defined types if this flag is set, the joint was allocated in a joint group
dJOINT_REVERSE Physics.ODEImport

if this flag is set, the joint was attached with arguments (0,body). our convention is to treat all attaches as (body,0), i.e. so node[0].body is always nonzero, so this flag records the fact that the arguments were swapped
dJOINT_TWOBODIES Physics.ODEImport

if this flag is set, the joint can not have just one body attached to it, it must have either zero or two bodies attached
DLLocalShadow2FMax3DS Formats.m3DSConst

minimum shadow map size
DLLocalShadow2FMin3DS Formats.m3DSConst

maximum shadow map size
DLLocalShadow2SMax3DS Formats.m3DSConst

minimum shadow map size
DLLocalShadow2SMin3DS Formats.m3DSConst

maximum for hotspot and falloff cones DL_LOCAL_SHADOW2
DLSpotlightMax3DS Formats.m3DSConst

minimum for hotspot and falloff cones
DLSpotlightMin3DS Formats.m3DSConst

maximum string length for axp process DL_SPOTLIGHT
DL_ATTENUATE Formats.m3DSConst

DL_EXCLUDE Formats.m3DSConst

DL_INNER_RANGE Formats.m3DSConst

DL_LOCAL_SHADOW Formats.m3DSConst

DL_LOCAL_SHADOW2 Formats.m3DSConst

DL_MULTIPLIER Formats.m3DSConst

DL_OFF Formats.m3DSConst

DL_OUTER_RANGE Formats.m3DSConst

DL_RANGE Formats.m3DSConst

DL_RAYSHAD Formats.m3DSConst

DL_RAY_BIAS Formats.m3DSConst

DL_SEE_CONE Formats.m3DSConst

DL_SHADOWED Formats.m3DSConst

DL_SPOTLIGHT Formats.m3DSConst

DL_SPOT_ASPECT Formats.m3DSConst

DL_SPOT_OVERSHOOT Formats.m3DSConst

DL_SPOT_PROJECTOR Formats.m3DSConst

DL_SPOT_RECTANGULAR Formats.m3DSConst

DL_SPOT_ROLL Formats.m3DSConst

Not used in R3
dParamBounce Physics.ODEImport

dParamBounce1 Physics.ODEImport

dParamBounce2 Physics.ODEImport

dParamBounce3 Physics.ODEImport

dParamCFM Physics.ODEImport

dParamCFM1 Physics.ODEImport

dParamCFM2 Physics.ODEImport

dParamCFM3 Physics.ODEImport

dParamERP Physics.ODEImport

dParamERP1 Physics.ODEImport

dParamERP2 Physics.ODEImport

dParamERP3 Physics.ODEImport

dParamFMax Physics.ODEImport

dParamFMax1 Physics.ODEImport

dParamFMax2 Physics.ODEImport

dParamFMax3 Physics.ODEImport

dParamFudgeFactor Physics.ODEImport

dParamFudgeFactor1 Physics.ODEImport

dParamFudgeFactor2 Physics.ODEImport

dParamFudgeFactor3 Physics.ODEImport

dParamGroup Physics.ODEImport

dParamGroup1 Physics.ODEImport

dParamGroup2 Physics.ODEImport

SECOND AXEL parameters for limits and motors
dParamGroup3 Physics.ODEImport

THIRD AXEL parameters for limits and motors
dParamHiStop Physics.ODEImport

dParamHiStop1 Physics.ODEImport

dParamHiStop2 Physics.ODEImport

dParamHiStop3 Physics.ODEImport

dParamLoStop Physics.ODEImport

dParamLoStop1 Physics.ODEImport

dParamLoStop2 Physics.ODEImport

dParamLoStop3 Physics.ODEImport

dParamStopCFM Physics.ODEImport

dParamStopCFM1 Physics.ODEImport

dParamStopCFM2 Physics.ODEImport

dParamStopCFM3 Physics.ODEImport

dParamStopERP Physics.ODEImport

dParamStopERP1 Physics.ODEImport

dParamStopERP2 Physics.ODEImport

dParamStopERP3 Physics.ODEImport

dParamSuspensionCFM Physics.ODEImport

dParamSuspensionCFM1 Physics.ODEImport

dParamSuspensionCFM2 Physics.ODEImport

dParamSuspensionCFM3 Physics.ODEImport

dParamSuspensionERP Physics.ODEImport

parameters for suspension
dParamSuspensionERP1 Physics.ODEImport

parameters for suspension
dParamSuspensionERP2 Physics.ODEImport

parameters for suspension
dParamSuspensionERP3 Physics.ODEImport

parameters for suspension
dParamVel Physics.ODEImport

dParamVel1 Physics.ODEImport

dParamVel2 Physics.ODEImport

dParamVel3 Physics.ODEImport

DSCAPS_CERTIFIED Sounds.BASSImport

device does NOT have hardware DirectSound support
DSCAPS_CONTINUOUSRATE Sounds.BASSImport

BASS_INFO flags (from DSOUND.H)
DSCAPS_EMULDRIVER Sounds.BASSImport

supports all sample rates between min/maxrate
DSCAPS_SECONDARY16BIT Sounds.BASSImport

8 bit
DSCAPS_SECONDARY8BIT Sounds.BASSImport

stereo
DSCAPS_SECONDARYMONO Sounds.BASSImport

The following flags tell what type of samples are supported by HARDWARE mixing, all these formats are supported by SOFTWARE mixing
DSCAPS_SECONDARYSTEREO Sounds.BASSImport

mono
DSCCAPS_CERTIFIED Sounds.BASSImport

device does NOT have hardware DirectSound recording support
DSCCAPS_EMULDRIVER Sounds.BASSImport

16 bit BASS_RECORDINFO flags (from DSOUND.H)
DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ALLPARAMETERS Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_DEFERRED Sounds.OpenALImport

changes take effect immediately
DSPROPERTY_EAXBUFFER_DIRECT Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_DIRECTHF Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_FLAG Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_IMMEDIATE Sounds.OpenALImport

OR these flags with property id
DSPROPERTY_EAXBUFFER_NONE Sounds.OpenALImport

For compatibility with future EAX versions: DSPROPSETID_EAX_BufferProperties = DSPROPSETID_EAX20_BufferProperties; Enumeration DSPROPERTY_EAX_BUFFERPROPERTY
DSPROPERTY_EAXBUFFER_OBSTRUCTION Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OCCLUSION Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ROOM Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ROOMHF Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ALLPARAMETERS Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_DECAYHFRATIO Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_DECAYTIME Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_DEFERRED Sounds.OpenALImport

changes take effect immediately
DSPROPERTY_EAXLISTENER_ENVIRONMENT Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_FLAGS Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_IMMEDIATE Sounds.OpenALImport

OR these flags with property id
DSPROPERTY_EAXLISTENER_NONE Sounds.OpenALImport

For compatibility with future EAX versions: DSPROPSETID_EAX_ListenerProperties = DSPROPSETID_EAX20_ListenerProperties; DSPROPSETID_EAX_SourceProperties = DSPROPSETID_EAX20_BufferProperties; Enumerations DSPROPERTY_EAX_LISTENERPROPERTY
DSPROPERTY_EAXLISTENER_REFLECTIONS Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_REVERB Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_REVERBDELAY Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ROOM Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ROOMHF Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR Sounds.OpenALImport

DSPROPSETID_EAX20_BufferProperties Sounds.OpenALImport

DSPROPSETID_EAX20_ListenerProperties Sounds.OpenALImport

END EFX extension EAX extension
DUMMY Formats.m3DSConst

Dummy Chunk that sometimes appears in 3DS files created by prerelease 3D Studio R2
DummyName3DS Formats.m3DSConst

DVM_CONFIGURE_END Formats.VFW

DVM_CONFIGURE_START Formats.VFW

DVM_DST_RECT Formats.VFW

DVM_FORMAT Formats.VFW

DVM_PALETTE Formats.VFW

DVM_PALETTERGB555 Formats.VFW

DVM_SRC_RECT Formats.VFW

DVM_USER Formats.VFW

== Configure messages =======================================================
DV_ERR_13 Formats.VFW

DV_ERR_ALLOCATED Formats.VFW

out of memory
DV_ERR_BADDEVICEID Formats.VFW

device is allocated
DV_ERR_BADERRNUM Formats.VFW

DV_ERR_BADFORMAT Formats.VFW

DV_ERR_BADINSTALL Formats.VFW

HW not detected
DV_ERR_BASE Formats.VFW

No error
DV_ERR_CONFIG1 Formats.VFW

DV_ERR_CONFIG2 Formats.VFW

DV_ERR_CREATEPALETTE Formats.VFW

Can not get Profile
DV_ERR_DMA_CONFLICT Formats.VFW

I/O conflict detected
DV_ERR_FLAGS Formats.VFW

DV_ERR_INT_CONFLICT Formats.VFW

DMA conflict detected
DV_ERR_INVALHANDLE Formats.VFW

DV_ERR_IO_CONFLICT Formats.VFW

Mem conflict detected
DV_ERR_LASTERROR Formats.VFW

Can not run in standard mode
DV_ERR_MEM_CONFLICT Formats.VFW

out of buffers
DV_ERR_NOMEM Formats.VFW

function not suported
DV_ERR_NONSPECIFIC Formats.VFW

Error Base
DV_ERR_NOTDETECTED Formats.VFW

number of channels exceeded
DV_ERR_NOTSUPPORTED Formats.VFW

DV_ERR_NO_BUFFERS Formats.VFW

DV_ERR_OK Formats.VFW

– Error return values ——————————————————
DV_ERR_PARAM1 Formats.VFW

DV_ERR_PARAM2 Formats.VFW

DV_ERR_PROTECT_ONLY Formats.VFW

Interrupt conflict detected
DV_ERR_SIZEFIELD Formats.VFW

DV_ERR_STILLPLAYING Formats.VFW

unsupported video format
DV_ERR_SYNC Formats.VFW

header not prepared
DV_ERR_TOOMANYCHANNELS Formats.VFW

device is synchronous
DV_ERR_UNPREPARED Formats.VFW

still something playing
DV_ERR_USER_MSG Formats.VFW

DV_VM_CLOSE Formats.VFW

Obsolete messages
DV_VM_DATA Formats.VFW

DV_VM_ERROR Formats.VFW

DV_VM_OPEN Formats.VFW

Note that the values for all installable driver callback messages are identical, (ie. MM_DRVM_DATA has the same value for capture drivers, installable video codecs, and the audio compression manager).
DW_ERROR Sounds.BASSImport

Use these to test for error from functions that return a DWORD or QWORD
dxBodyDisabled Physics.ODEImport

use finite rotations only along axis
dxBodyFlagFiniteRotation Physics.ODEImport

These consts now have defined types
dxBodyFlagFiniteRotationAxis Physics.ODEImport

use finite rotations
dxBodyNoGravity Physics.ODEImport

body is disabled
DXGI_FORMAT_A8_UNORM Formats.DXTC

DXGI_FORMAT_B5G5R5A1_UNORM Formats.DXTC

DXGI_FORMAT_B5G6R5_UNORM Formats.DXTC

DXGI_FORMAT_B8G8R8A8_TYPELESS Formats.DXTC

DXGI_FORMAT_B8G8R8A8_UNORM Formats.DXTC

DXGI_FORMAT_B8G8R8A8_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_B8G8R8X8_TYPELESS Formats.DXTC

DXGI_FORMAT_B8G8R8X8_UNORM Formats.DXTC

DXGI_FORMAT_B8G8R8X8_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_BC1_TYPELESS Formats.DXTC

DXGI_FORMAT_BC1_UNORM Formats.DXTC

DXGI_FORMAT_BC1_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_BC2_TYPELESS Formats.DXTC

DXGI_FORMAT_BC2_UNORM Formats.DXTC

DXGI_FORMAT_BC2_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_BC3_TYPELESS Formats.DXTC

DXGI_FORMAT_BC3_UNORM Formats.DXTC

DXGI_FORMAT_BC3_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_BC4_SNORM Formats.DXTC

DXGI_FORMAT_BC4_TYPELESS Formats.DXTC

DXGI_FORMAT_BC4_UNORM Formats.DXTC

DXGI_FORMAT_BC5_SNORM Formats.DXTC

DXGI_FORMAT_BC5_TYPELESS Formats.DXTC

DXGI_FORMAT_BC5_UNORM Formats.DXTC

DXGI_FORMAT_BC6H_SF16 Formats.DXTC

DXGI_FORMAT_BC6H_TYPELESS Formats.DXTC

DXGI_FORMAT_BC6H_UF16 Formats.DXTC

DXGI_FORMAT_BC7_TYPELESS Formats.DXTC

DXGI_FORMAT_BC7_UNORM Formats.DXTC

DXGI_FORMAT_BC7_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_D16_UNORM Formats.DXTC

DXGI_FORMAT_D24_UNORM_S8_UINT Formats.DXTC

DXGI_FORMAT_D32_FLOAT Formats.DXTC

DXGI_FORMAT_D32_FLOAT_S8X24_UINT Formats.DXTC

DXGI_FORMAT_FORCE_UINT Formats.DXTC

TDXGI_FORMAT = (
DXGI_FORMAT_G8R8_G8B8_UNORM Formats.DXTC

DXGI_FORMAT_R10G10B10A2_TYPELESS Formats.DXTC

DXGI_FORMAT_R10G10B10A2_UINT Formats.DXTC

DXGI_FORMAT_R10G10B10A2_UNORM Formats.DXTC

DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM Formats.DXTC

DXGI_FORMAT_R11G11B10_FLOAT Formats.DXTC

DXGI_FORMAT_R16G16B16A16_FLOAT Formats.DXTC

DXGI_FORMAT_R16G16B16A16_SINT Formats.DXTC

DXGI_FORMAT_R16G16B16A16_SNORM Formats.DXTC

DXGI_FORMAT_R16G16B16A16_TYPELESS Formats.DXTC

DXGI_FORMAT_R16G16B16A16_UINT Formats.DXTC

DXGI_FORMAT_R16G16B16A16_UNORM Formats.DXTC

DXGI_FORMAT_R16G16_FLOAT Formats.DXTC

DXGI_FORMAT_R16G16_SINT Formats.DXTC

DXGI_FORMAT_R16G16_SNORM Formats.DXTC

DXGI_FORMAT_R16G16_TYPELESS Formats.DXTC

DXGI_FORMAT_R16G16_UINT Formats.DXTC

DXGI_FORMAT_R16G16_UNORM Formats.DXTC

DXGI_FORMAT_R16_FLOAT Formats.DXTC

DXGI_FORMAT_R16_SINT Formats.DXTC

DXGI_FORMAT_R16_SNORM Formats.DXTC

DXGI_FORMAT_R16_TYPELESS Formats.DXTC

DXGI_FORMAT_R16_UINT Formats.DXTC

DXGI_FORMAT_R16_UNORM Formats.DXTC

DXGI_FORMAT_R1_UNORM Formats.DXTC

DXGI_FORMAT_R24G8_TYPELESS Formats.DXTC

DXGI_FORMAT_R24_UNORM_X8_TYPELESS Formats.DXTC

DXGI_FORMAT_R32G32B32A32_FLOAT Formats.DXTC

DXGI_FORMAT_R32G32B32A32_SINT Formats.DXTC

DXGI_FORMAT_R32G32B32A32_TYPELESS Formats.DXTC

DXGI_FORMAT_R32G32B32A32_UINT Formats.DXTC

DXGI_FORMAT_R32G32B32_FLOAT Formats.DXTC

DXGI_FORMAT_R32G32B32_SINT Formats.DXTC

DXGI_FORMAT_R32G32B32_TYPELESS Formats.DXTC

DXGI_FORMAT_R32G32B32_UINT Formats.DXTC

DXGI_FORMAT_R32G32_FLOAT Formats.DXTC

DXGI_FORMAT_R32G32_SINT Formats.DXTC

DXGI_FORMAT_R32G32_TYPELESS Formats.DXTC

DXGI_FORMAT_R32G32_UINT Formats.DXTC

DXGI_FORMAT_R32G8X24_TYPELESS Formats.DXTC

DXGI_FORMAT_R32_FLOAT Formats.DXTC

DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS Formats.DXTC

DXGI_FORMAT_R32_SINT Formats.DXTC

DXGI_FORMAT_R32_TYPELESS Formats.DXTC

DXGI_FORMAT_R32_UINT Formats.DXTC

DXGI_FORMAT_R8G8B8A8_SINT Formats.DXTC

DXGI_FORMAT_R8G8B8A8_SNORM Formats.DXTC

DXGI_FORMAT_R8G8B8A8_TYPELESS Formats.DXTC

DXGI_FORMAT_R8G8B8A8_UINT Formats.DXTC

DXGI_FORMAT_R8G8B8A8_UNORM Formats.DXTC

DXGI_FORMAT_R8G8B8A8_UNORM_SRGB Formats.DXTC

DXGI_FORMAT_R8G8_B8G8_UNORM Formats.DXTC

DXGI_FORMAT_R8G8_SINT Formats.DXTC

DXGI_FORMAT_R8G8_SNORM Formats.DXTC

DXGI_FORMAT_R8G8_TYPELESS Formats.DXTC

DXGI_FORMAT_R8G8_UINT Formats.DXTC

DXGI_FORMAT_R8G8_UNORM Formats.DXTC

DXGI_FORMAT_R8_SINT Formats.DXTC

DXGI_FORMAT_R8_SNORM Formats.DXTC

DXGI_FORMAT_R8_TYPELESS Formats.DXTC

DXGI_FORMAT_R8_UINT Formats.DXTC

DXGI_FORMAT_R8_UNORM Formats.DXTC

DXGI_FORMAT_R9G9B9E5_SHAREDEXP Formats.DXTC

DXGI_FORMAT_UNKNOWN Formats.DXTC

DXGI_FORMAT_X24_TYPELESS_G8_UINT Formats.DXTC

DXGI_FORMAT_X32_TYPELESS_G8X24_UINT Formats.DXTC

EAXBUFFERFLAGS_DIRECTHFAUTO Sounds.OpenALImport

Used by DSPROPERTY_EAXBUFFER_FLAGS TRUE: value is computed automatically - property is an offset FALSE: value is used directly

Note: The number and order of flags may change in future EAX versions. To insure future compatibility, use flag defines as follows: myFlags = EAXBUFFERFLAGS_DIRECTHFAUTO | EAXBUFFERFLAGS_ROOMAUTO; instead of: myFlags = 0x00000003;
EAXBUFFERFLAGS_RESERVED Sounds.OpenALImport

affects DSPROPERTY_EAXBUFFER_ROOMHF
EAXBUFFERFLAGS_ROOMAUTO Sounds.OpenALImport

affects DSPROPERTY_EAXBUFFER_DIRECTHF
EAXBUFFERFLAGS_ROOMHFAUTO Sounds.OpenALImport

affects DSPROPERTY_EAXBUFFER_ROOM
EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR Sounds.OpenALImport

EAXBUFFER_DEFAULTDIRECT Sounds.OpenALImport

EAXBUFFER_DEFAULTDIRECTHF Sounds.OpenALImport

EAXBUFFER_DEFAULTFLAGS Sounds.OpenALImport

EAXBUFFER_DEFAULTOBSTRUCTION Sounds.OpenALImport

EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO Sounds.OpenALImport

EAXBUFFER_DEFAULTOCCLUSION Sounds.OpenALImport

EAXBUFFER_DEFAULTOCCLUSIONLFRATIO Sounds.OpenALImport

EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO Sounds.OpenALImport

EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF Sounds.OpenALImport

EAXBUFFER_DEFAULTROOM Sounds.OpenALImport

EAXBUFFER_DEFAULTROOMHF Sounds.OpenALImport

EAXBUFFER_DEFAULTROOMROLLOFFFACTOR Sounds.OpenALImport

EAXBUFFER_MAXAIRABSORPTIONFACTOR Sounds.OpenALImport

EAXBUFFER_MAXDIRECT Sounds.OpenALImport

EAXBUFFER_MAXDIRECTHF Sounds.OpenALImport

EAXBUFFER_MAXOBSTRUCTION Sounds.OpenALImport

EAXBUFFER_MAXOBSTRUCTIONLFRATIO Sounds.OpenALImport

EAXBUFFER_MAXOCCLUSION Sounds.OpenALImport

EAXBUFFER_MAXOCCLUSIONLFRATIO Sounds.OpenALImport

EAXBUFFER_MAXOCCLUSIONROOMRATIO Sounds.OpenALImport

EAXBUFFER_MAXOUTSIDEVOLUMEHF Sounds.OpenALImport

EAXBUFFER_MAXROOM Sounds.OpenALImport

EAXBUFFER_MAXROOMHF Sounds.OpenALImport

EAXBUFFER_MAXROOMROLLOFFFACTOR Sounds.OpenALImport

EAXBUFFER_MINAIRABSORPTIONFACTOR Sounds.OpenALImport

EAXBUFFER_MINDIRECT Sounds.OpenALImport

reserved future use property ranges and defaults:
EAXBUFFER_MINDIRECTHF Sounds.OpenALImport

EAXBUFFER_MINOBSTRUCTION Sounds.OpenALImport

EAXBUFFER_MINOBSTRUCTIONLFRATIO Sounds.OpenALImport

EAXBUFFER_MINOCCLUSION Sounds.OpenALImport

EAXBUFFER_MINOCCLUSIONLFRATIO Sounds.OpenALImport

EAXBUFFER_MINOCCLUSIONROOMRATIO Sounds.OpenALImport

EAXBUFFER_MINOUTSIDEVOLUMEHF Sounds.OpenALImport

EAXBUFFER_MINROOM Sounds.OpenALImport

EAXBUFFER_MINROOMHF Sounds.OpenALImport

EAXBUFFER_MINROOMROLLOFFFACTOR Sounds.OpenALImport

EAXLISTENERFLAGS_DECAYHFLIMIT Sounds.OpenALImport

late reverberation delay time This flag limits high-frequency decay time according to air absorption.
EAXLISTENERFLAGS_DECAYTIMESCALE Sounds.OpenALImport

Used by DSPROPERTY_EAXLISTENER_FLAGS

Note: The number and order of flags may change in future EAX versions. It is recommended to use the flag defines as follows: myFlags = EAXLISTENERFLAGS_DECAYTIMESCALE | EAXLISTENERFLAGS_REVERBSCALE; instead of: myFlags = 0x00000009;

These flags determine what properties are affected by environment size.
EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE Sounds.OpenALImport

reflection level
EAXLISTENERFLAGS_REFLECTIONSSCALE Sounds.OpenALImport

reverberation decay time
EAXLISTENERFLAGS_RESERVED Sounds.OpenALImport

EAXLISTENERFLAGS_REVERBDELAYSCALE Sounds.OpenALImport

reflections level
EAXLISTENERFLAGS_REVERBSCALE Sounds.OpenALImport

initial reflection delay time
EAXLISTENER_DEFAULTAIRABSORPTIONHF Sounds.OpenALImport

EAXLISTENER_DEFAULTDECAYHFRATIO Sounds.OpenALImport

EAXLISTENER_DEFAULTDECAYTIME Sounds.OpenALImport

EAXLISTENER_DEFAULTENVIRONMENT Sounds.OpenALImport

EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION Sounds.OpenALImport

EAXLISTENER_DEFAULTENVIRONMENTSIZE Sounds.OpenALImport

EAXLISTENER_DEFAULTFLAGS Sounds.OpenALImport

EAXLISTENER_DEFAULTREFLECTIONS Sounds.OpenALImport

EAXLISTENER_DEFAULTREFLECTIONSDELAY Sounds.OpenALImport

EAXLISTENER_DEFAULTREVERB Sounds.OpenALImport

EAXLISTENER_DEFAULTREVERBDELAY Sounds.OpenALImport

EAXLISTENER_DEFAULTROOM Sounds.OpenALImport

EAXLISTENER_DEFAULTROOMHF Sounds.OpenALImport

EAXLISTENER_DEFAULTROOMROLLOFFFACTOR Sounds.OpenALImport

EAXLISTENER_MAXAIRABSORPTIONHF Sounds.OpenALImport

EAXLISTENER_MAXDECAYHFRATIO Sounds.OpenALImport

EAXLISTENER_MAXDECAYTIME Sounds.OpenALImport

EAXLISTENER_MAXENVIRONMENT Sounds.OpenALImport

EAXLISTENER_MAXENVIRONMENTDIFFUSION Sounds.OpenALImport

EAXLISTENER_MAXENVIRONMENTSIZE Sounds.OpenALImport

EAXLISTENER_MAXREFLECTIONS Sounds.OpenALImport

EAXLISTENER_MAXREFLECTIONSDELAY Sounds.OpenALImport

EAXLISTENER_MAXREVERB Sounds.OpenALImport

EAXLISTENER_MAXREVERBDELAY Sounds.OpenALImport

EAXLISTENER_MAXROOM Sounds.OpenALImport

EAXLISTENER_MAXROOMHF Sounds.OpenALImport

EAXLISTENER_MAXROOMROLLOFFFACTOR Sounds.OpenALImport

EAXLISTENER_MINAIRABSORPTIONHF Sounds.OpenALImport

EAXLISTENER_MINDECAYHFRATIO Sounds.OpenALImport

EAXLISTENER_MINDECAYTIME Sounds.OpenALImport

EAXLISTENER_MINENVIRONMENT Sounds.OpenALImport

EAXLISTENER_MINENVIRONMENTDIFFUSION Sounds.OpenALImport

EAXLISTENER_MINENVIRONMENTSIZE Sounds.OpenALImport

EAXLISTENER_MINREFLECTIONS Sounds.OpenALImport

EAXLISTENER_MINREFLECTIONSDELAY Sounds.OpenALImport

EAXLISTENER_MINREVERB Sounds.OpenALImport

EAXLISTENER_MINREVERBDELAY Sounds.OpenALImport

EAXLISTENER_MINROOM Sounds.OpenALImport

reserved future use property ranges and defaults:
EAXLISTENER_MINROOMHF Sounds.OpenALImport

EAXLISTENER_MINROOMROLLOFFFACTOR Sounds.OpenALImport

EAX_ENVIRONMENT_ALLEY Sounds.BASSImport

EAX_ENVIRONMENT_ALLEY Sounds.OpenALImport

EAX_ENVIRONMENT_ARENA Sounds.BASSImport

EAX_ENVIRONMENT_ARENA Sounds.OpenALImport

EAX_ENVIRONMENT_AUDITORIUM Sounds.BASSImport

EAX_ENVIRONMENT_AUDITORIUM Sounds.OpenALImport

EAX_ENVIRONMENT_BATHROOM Sounds.BASSImport

EAX_ENVIRONMENT_BATHROOM Sounds.OpenALImport

EAX_ENVIRONMENT_CARPETEDHALLWAY Sounds.BASSImport

EAX_ENVIRONMENT_CARPETEDHALLWAY Sounds.OpenALImport

EAX_ENVIRONMENT_CAVE Sounds.BASSImport

EAX_ENVIRONMENT_CAVE Sounds.OpenALImport

EAX_ENVIRONMENT_CITY Sounds.BASSImport

EAX_ENVIRONMENT_CITY Sounds.OpenALImport

EAX_ENVIRONMENT_CONCERTHALL Sounds.BASSImport

EAX_ENVIRONMENT_CONCERTHALL Sounds.OpenALImport

EAX_ENVIRONMENT_COUNT Sounds.BASSImport

total number of environments
EAX_ENVIRONMENT_COUNT Sounds.OpenALImport

EAX_ENVIRONMENT_DIZZY Sounds.BASSImport

EAX_ENVIRONMENT_DIZZY Sounds.OpenALImport

EAX_ENVIRONMENT_DRUGGED Sounds.BASSImport

EAX_ENVIRONMENT_DRUGGED Sounds.OpenALImport

EAX_ENVIRONMENT_FOREST Sounds.BASSImport

EAX_ENVIRONMENT_FOREST Sounds.OpenALImport

EAX_ENVIRONMENT_GENERIC Sounds.BASSImport

EAX environments, use with BASS_SetEAXParameters
EAX_ENVIRONMENT_GENERIC Sounds.OpenALImport

used by DSPROPERTY_EAXLISTENER_ENVIRONMENT Enummetation
EAX_ENVIRONMENT_HALLWAY Sounds.BASSImport

EAX_ENVIRONMENT_HALLWAY Sounds.OpenALImport

EAX_ENVIRONMENT_HANGAR Sounds.BASSImport

EAX_ENVIRONMENT_HANGAR Sounds.OpenALImport

EAX_ENVIRONMENT_LIVINGROOM Sounds.BASSImport

EAX_ENVIRONMENT_LIVINGROOM Sounds.OpenALImport

EAX_ENVIRONMENT_MOUNTAINS Sounds.BASSImport

EAX_ENVIRONMENT_MOUNTAINS Sounds.OpenALImport

EAX_ENVIRONMENT_PADDEDCELL Sounds.BASSImport

EAX_ENVIRONMENT_PADDEDCELL Sounds.OpenALImport

EAX_ENVIRONMENT_PARKINGLOT Sounds.BASSImport

EAX_ENVIRONMENT_PARKINGLOT Sounds.OpenALImport

EAX_ENVIRONMENT_PLAIN Sounds.BASSImport

EAX_ENVIRONMENT_PLAIN Sounds.OpenALImport

EAX_ENVIRONMENT_PSYCHOTIC Sounds.BASSImport

EAX_ENVIRONMENT_PSYCHOTIC Sounds.OpenALImport

EAX_ENVIRONMENT_QUARRY Sounds.BASSImport

EAX_ENVIRONMENT_QUARRY Sounds.OpenALImport

EAX_ENVIRONMENT_ROOM Sounds.BASSImport

EAX_ENVIRONMENT_ROOM Sounds.OpenALImport

EAX_ENVIRONMENT_SEWERPIPE Sounds.BASSImport

EAX_ENVIRONMENT_SEWERPIPE Sounds.OpenALImport

EAX_ENVIRONMENT_STONECORRIDOR Sounds.BASSImport

EAX_ENVIRONMENT_STONECORRIDOR Sounds.OpenALImport

EAX_ENVIRONMENT_STONEROOM Sounds.BASSImport

EAX_ENVIRONMENT_STONEROOM Sounds.OpenALImport

EAX_ENVIRONMENT_UNDERWATER Sounds.BASSImport

EAX_ENVIRONMENT_UNDERWATER Sounds.OpenALImport

EAX_MATERIAL_BRICKWALL Sounds.OpenALImport

Brick wall material preset
EAX_MATERIAL_BRICKWALLLF Sounds.OpenALImport

EAX_MATERIAL_BRICKWALLROOMRATIO Sounds.OpenALImport

EAX_MATERIAL_CURTAIN Sounds.OpenALImport

Curtain material preset
EAX_MATERIAL_CURTAINLF Sounds.OpenALImport

EAX_MATERIAL_CURTAINROOMRATIO Sounds.OpenALImport

EAX_MATERIAL_DOUBLEWINDOW Sounds.OpenALImport

Double window material preset
EAX_MATERIAL_DOUBLEWINDOWHF Sounds.OpenALImport

EAX_MATERIAL_DOUBLEWINDOWROOMRATIO Sounds.OpenALImport

EAX_MATERIAL_SINGLEWINDOW Sounds.OpenALImport

Material transmission presets 3 values in this order: 1: occlusion (or obstruction) 2: occlusion LF Ratio (or obstruction LF Ratio) 3: occlusion Room Ratio Single window material preset
EAX_MATERIAL_SINGLEWINDOWLF Sounds.OpenALImport

EAX_MATERIAL_SINGLEWINDOWROOMRATIO Sounds.OpenALImport

EAX_MATERIAL_STONEWALL Sounds.OpenALImport

Stone wall material preset
EAX_MATERIAL_STONEWALLLF Sounds.OpenALImport

EAX_MATERIAL_STONEWALLROOMRATIO Sounds.OpenALImport

EAX_MATERIAL_THICKDOOR Sounds.OpenALImport

Thick door material preset
EAX_MATERIAL_THICKDOORLF Sounds.OpenALImport

EAX_MATERIAL_THICKDOORROOMRTATION Sounds.OpenALImport

EAX_MATERIAL_THINDOOR Sounds.OpenALImport

Thin door material preset
EAX_MATERIAL_THINDOORLF Sounds.OpenALImport

EAX_MATERIAL_THINDOORROOMRATIO Sounds.OpenALImport

EAX_MATERIAL_WOODWALL Sounds.OpenALImport

Wood wall material preset
EAX_MATERIAL_WOODWALLLF Sounds.OpenALImport

EAX_MATERIAL_WOODWALLROOMRATIO Sounds.OpenALImport

EFFECTS_SELECTED FmSceneEditor

EmptyHmgMatrix GLS.VectorGeometry

EmptyMatrix GLS.VectorGeometry

ENVL_CHAN Formats.LWO

SPAN
ENVL_KEY Formats.LWO

POST
ENVL_NAME Formats.LWO

CHAN
ENVL_POST Formats.LWO

PRE-BEHAVIOUR
ENVL_PRE Formats.LWO

ICON
ENVL_SPAN Formats.LWO

KEY
EPSILON GLS.VectorGeometry

Some very small numbers
EPSILON2 GLS.VectorGeometry

ERROR_INVALID_PROFILE_ARB GLS.OpenGLTokens

ERROR_INVALID_VERSION_ARB GLS.OpenGLTokens

ERR_MAX_ARGS SDL2.Import

ERR_MAX_STRLEN SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_error.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
ExPtTolerance GLS.Triangulation

FaceABVisable3DS Formats.m3DSConst

flags the BC edge as visible
FaceArrayMin3DS Formats.m3DSConst

minimum number of vertices FACE_ARRAY
FaceBCVisable3DS Formats.m3DSConst

flags the CA edge as visible
FaceCAVisable3DS Formats.m3DSConst

—————- Constants for commonly used structures ——————– Flags used by the flag field of the Mesh3DS structure
FaceUWrap3DS Formats.m3DSConst

flags the AB edge as visible
FaceVWrap3DS Formats.m3DSConst

flags the face as being at a texture coord u wrap seam
FACE_ARRAY Formats.m3DSConst

FACE_ARRAY_ENTRY Formats.m3DSConst

FACE_POLYGON Formats.Q3BSP

FallTrackTagMax3DS Formats.m3DSConst

Minimum fall off angle
FallTrackTagMin3DS Formats.m3DSConst

Maximum hot spot angle FALL_TRACK_TAG_KEY
FALL_TRACK_TAG Formats.m3DSConst

FALL_TRACK_TAG_KEY Formats.m3DSConst

FAST_NODE Formats.m3DSConst

FileAttrStrMax3DS Formats.m3DSConst

3DS file attributes
FileNameStrMax3DS Formats.m3DSConst

————– constants that define various value ranges for specific chunks 3DS filename
FIND_ANY Formats.VFW

find key frame.
FIND_DIR Formats.VFW

– Flags for AVIStreamFindSample ——————————————–
FIND_FORMAT Formats.VFW

find any (non-empty) sample
FIND_FROM_START Formats.VFW

go backward
FIND_INDEX Formats.VFW

return physical size
FIND_KEY Formats.VFW

type mask
FIND_LENGTH Formats.VFW

return logical position
FIND_NEXT Formats.VFW

direction
FIND_OFFSET Formats.VFW

return logical size
FIND_POS Formats.VFW

return mask
FIND_PREV Formats.VFW

go forward
FIND_RET Formats.VFW

find format change
FIND_SIZE Formats.VFW

return physical position
FIND_TYPE Formats.VFW

start at the logical beginning
FloatPercentageMax3DS Formats.m3DSConst

Maximum integer percentage FLOAT_PERCENTAGE
FLOAT_PERCENTAGE Formats.m3DSConst

FMOD_DLL Sounds.FMODImport

FMOD_VERSION Sounds.FMODtypes

Force four-byte enums
FOG Formats.m3DSConst

FogMax3DS Formats.m3DSConst

minimum value for fogging plane density
FogMin3DS Formats.m3DSConst

maximum value for gradient midpoint FOG chunk
FOG_BGND Formats.m3DSConst

FONT_CHARS_COUNT GLS.Utils

formtypeAVI Formats.VFW

– form types, list types and chunk types ———————————–
FOURCC_A16B16G16R16 Formats.DXTC

FOURCC_A16B16G16R16F Formats.DXTC

FOURCC_A1R5G5B5 Formats.DXTC

FOURCC_A2B10G10R10 Formats.DXTC

FOURCC_A2R10G10B10 Formats.DXTC

FOURCC_A32B32G32R32F Formats.DXTC

FOURCC_A4L4 Formats.DXTC

FOURCC_A4R4G4B4 Formats.DXTC

FOURCC_A8 Formats.DXTC

FOURCC_A8B8G8R8 Formats.DXTC

FOURCC_A8L8 Formats.DXTC

FOURCC_A8R3G3B2 Formats.DXTC

FOURCC_A8R8G8B8 Formats.DXTC

FOURCC_ATI1 Formats.DXTC

FOURCC_ATI2 Formats.DXTC

FOURCC_D16 Formats.DXTC

FOURCC_D16_LOCKABLE Formats.DXTC

FOURCC_D24X8 Formats.DXTC

FOURCC_D32 Formats.DXTC

FOURCC_D32F_LOCKABLE Formats.DXTC

FOURCC_DX10 Formats.DXTC

DX10 header indicator
FOURCC_DXT1 Formats.DXTC

FOURCC_DXT2 Formats.DXTC

FOURCC_DXT3 Formats.DXTC

FOURCC_DXT4 Formats.DXTC

FOURCC_DXT5 Formats.DXTC

FOURCC_G16R16 Formats.DXTC

FOURCC_G16R16F Formats.DXTC

FOURCC_G32R32F Formats.DXTC

FOURCC_L16 Formats.DXTC

FOURCC_L8 Formats.DXTC

FOURCC_R16F Formats.DXTC

Floating point surface formats s10e5 formats (16-bits per channel)
FOURCC_R32F Formats.DXTC

IEEE s23e8 formats (32-bits per channel)
FOURCC_R3G3B2 Formats.DXTC

FOURCC_R5G6B5 Formats.DXTC

FOURCC_R8G8B8 Formats.DXTC

FOURCC_UNKNOWN Formats.DXTC

FOURCC_X1R5G5B5 Formats.DXTC

FOURCC_X4R4G4B4 Formats.DXTC

FOURCC_X8B8G8R8 Formats.DXTC

FOURCC_X8R8G8B8 Formats.DXTC

FOVTrackTagMax3DS Formats.m3DSConst

Minimum camera FOV
FOVTrackTagMin3DS Formats.m3DSConst

Maximum color value FOV_TRACK_TAG_KEY
FOV_TRACK_TAG Formats.m3DSConst

FOV_TRACK_TAG_KEY Formats.m3DSConst

FSOUND_16BITS Sounds.FMODtypes

For 8 bit samples.
FSOUND_2D Sounds.FMODtypes

Attempts to make samples use 3d hardware acceleration. (if the card supports it)
FSOUND_8BITS Sounds.FMODtypes

For bidirectional looping samples. (no effect if in hardware).
FSOUND_ALL Sounds.FMODtypes

value to allocate a sample that is NOT managed by FSOUND or placed in a sample slot.
FSOUND_CAPS_EAX2 Sounds.FMODtypes

This driver supports hardware accelerated 3d sound.
FSOUND_CAPS_EAX3 Sounds.FMODtypes

This driver supports EAX 2 reverb
FSOUND_CAPS_HARDWARE Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_CAPS

[DESCRIPTION] Driver description bitfields. Use FSOUND_Driver_GetCaps to determine if a driver enumerated has the settings you are after. The enumerated driver depends on the output mode, see FSOUND_OUTPUTTYPES

[SEE_ALSO] FSOUND_GetDriverCaps FSOUND_OUTPUTTYPES ]
FSOUND_CD_PLAYCONTINUOUS Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_CDPLAYMODES

[DESCRIPTION] Playback method for a CD Audio track, using FSOUND_CD_SetPlayMode

[SEE_ALSO] FSOUND_CD_SetPlayMode FSOUND_CD_Play ]
FSOUND_CD_PLAYLOOPED Sounds.FMODtypes

Plays the specified track then stops.
FSOUND_CD_PLAYONCE Sounds.FMODtypes

Starts from the current track and plays to end of CD.
FSOUND_CD_PLAYRANDOM Sounds.FMODtypes

Plays the specified track looped, forever until stopped manually.
FSOUND_DELTA Sounds.FMODtypes

For user created source data containing signed data.
FSOUND_DSP_DEFAULTPRIORITY_CLEARUNIT Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_DSP_PRIORITIES

[DESCRIPTION] These default priorities are used by FMOD internal system DSP units. They describe the position of the DSP chain, and the order of how audio processing is executed. You can actually through the use of FSOUND_DSP_GetxxxUnit (where xxx is the name of the DSP unit), disable or even change the priority of a DSP unit.

[SEE_ALSO] FSOUND_DSP_Create FSOUND_DSP_SetPriority FSOUND_DSP_GetSpectrum ]
FSOUND_DSP_DEFAULTPRIORITY_CLIPANDCOPYUNIT Sounds.FMODtypes

This reads data for FSOUND_DSP_GetSpectrum, so it comes after user units
FSOUND_DSP_DEFAULTPRIORITY_FFTUNIT Sounds.FMODtypes

User priority, use this as reference for your own DSP units
FSOUND_DSP_DEFAULTPRIORITY_MUSICUNIT Sounds.FMODtypes

DSP SFX unit - done second
FSOUND_DSP_DEFAULTPRIORITY_SFXUNIT Sounds.FMODtypes

DSP CLEAR unit - done first
FSOUND_DSP_DEFAULTPRIORITY_USER Sounds.FMODtypes

DSP MUSIC unit - done third
FSOUND_ENABLEFX Sounds.FMODtypes

2D hardware sounds. allows hardware specific effects
FSOUND_FORCEMONO Sounds.FMODtypes

For FSOUND_Stream_OpenFile - for accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_OpenFile for inital opening time performance issues.
FSOUND_FORMAT_MPEG Sounds.FMODtypes

FSOUND_FORMAT_OGGVORBIS Sounds.FMODtypes

FSOUND_FREE Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_CHANNELSAMPLEMODE

[DESCRIPTION] Miscellaneous values for FMOD functions.

[SEE_ALSO] FSOUND_PlaySound FSOUND_PlaySoundEx FSOUND_Sample_Alloc FSOUND_Sample_Load FSOUND_SetPan ]
FSOUND_GCADPCM Sounds.FMODtypes

For FSOUND_Stream_OpenFile - Causes stream to open in the background and not block the foreground app - stream plays only when ready.
FSOUND_HW2D Sounds.FMODtypes

For forcing stereo streams and samples to be mono - needed if using FSOUND_HW3D and stereo data - incurs a small speed hit for streams
FSOUND_HW3D Sounds.FMODtypes

For user created source data stored using IT215 compression.
FSOUND_INIT_ACCURATEVULEVELS Sounds.FMODtypes

For DirectSound output - Allows FSOUND_FX api to be used on global software mixer output!
FSOUND_INIT_DONTLATENCYADJUST Sounds.FMODtypes

PS2 only - By default FMOD uses DMA CH0 for mixing, CH1 for uploads, this flag swaps them around.
FSOUND_INIT_DSOUND_DEFERRED Sounds.FMODtypes

PS2 only - Turns on volume ramping system to remove hardware clicks.
FSOUND_INIT_DSOUND_HRTF_FULL Sounds.FMODtypes

Win32 only - For DirectSound output. FSOUND_HW3D buffers use a slightly higher quality algorithm when 3d hardware acceleration is not present.
FSOUND_INIT_DSOUND_HRTF_LIGHT Sounds.FMODtypes

Win32 only - For DirectSound output. 3D commands are batched together and executed at FSOUND_Update.
FSOUND_INIT_ENABLESYSTEMCHANNELFX Sounds.FMODtypes

For DirectSound output - sound is not muted when window is out of focus.
FSOUND_INIT_GC_INITLIBS Sounds.FMODtypes

Callbacks are not latency adjusted, and are called at mix time. Also information functions are immediate.
FSOUND_INIT_GLOBALFOCUS Sounds.FMODtypes

Causes MIDI playback to force software decoding.
FSOUND_INIT_PS2_DISABLECORE0REVERB Sounds.FMODtypes

This latency adjusts FSOUND_GetCurrentLevels, but incurs a small cpu and memory hit.
FSOUND_INIT_PS2_DISABLECORE1REVERB Sounds.FMODtypes

PS2 only - Disable reverb on CORE 0 to regain SRAM.
FSOUND_INIT_PS2_SWAPDMACORES Sounds.FMODtypes

PS2 only - Disable reverb on CORE 1 to regain SRAM.
FSOUND_INIT_PS2_USEVOLUMERAMPING Sounds.FMODtypes

Turns off fmod streamer thread, and makes streaming update from FSOUND_Update called by the user.
FSOUND_INIT_PSP_SILENCEONUNDERRUN Sounds.FMODtypes

XBox only - By default directsound attenuates all sound by 6db to avoid clipping/distortion. CAUTION. If you use this flag you are responsible for the final mix to make sure clipping / distortion doesn't happen.
FSOUND_INIT_STREAM_FROM_MAIN_THREAD Sounds.FMODtypes

Gamecube only - Initializes GC audio libraries.
FSOUND_INIT_USEDEFAULTMIDISYNTH Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_INIT_FLAGS

[DESCRIPTION] Initialization flags. Use them with FSOUND_Init in the flags parameter to change various behaviour.

FSOUND_INIT_ENABLESYSTEMCHANNELFX Is an init mode which enables the FSOUND mixer buffer to be affected by DirectX 8 effects. Note that due to limitations of DirectSound, FSOUND_Init may fail if this is enabled because the buffersize is too small. This can be fixed with FSOUND_SetBufferSize. Increase the BufferSize until it works. When it is enabled you can use the FSOUND_FX api, and use FSOUND_SYSTEMCHANNEL as the channel id when setting parameters.

[SEE_ALSO] FSOUND_Init ]
FSOUND_INIT_XBOX_REMOVEHEADROOM Sounds.FMODtypes

Win32 only - For DirectSound output. FSOUND_HW3D buffers use full quality 3d playback when 3d hardware acceleration is not present.
FSOUND_IT214 Sounds.FMODtypes

For user created source data stored as delta values.
FSOUND_IT215 Sounds.FMODtypes

For user created source data stored using IT214 compression.
FSOUND_LOADMEMORY Sounds.FMODtypes

For a streamimg sound where you feed the data to it. */
FSOUND_LOADMEMORYIOP Sounds.FMODtypes

For PS2 only - Sample/Stream is forced to use hardware voices 24-47
FSOUND_LOADRAW Sounds.FMODtypes

"name" will be interpreted as a pointer to data for streaming and samples.
FSOUND_LOOP_BIDI Sounds.FMODtypes

For forward looping samples.
FSOUND_LOOP_NORMAL Sounds.FMODtypes

For non looping samples.
FSOUND_LOOP_OFF Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_MODES

[DESCRIPTION] Sample description bitfields, OR them together for loading and describing samples. NOTE. If the file format being loaded already has a defined format, such as WAV or MP3, then trying to override the pre-defined format with a new set of format flags will not work. For example, an 8 bit WAV file will not load as 16bit if you specify FSOUND_16BITS. It will just ignore the flag and go ahead loading it as 8bits. For these type of formats the only flags you can specify that will really alter the behaviour of how it is loaded, are the following.

Looping behaviour - FSOUND_LOOP_OFF, FSOUND_LOOP_NORMAL, FSOUND_LOOP_BIDI Load destination - FSOUND_HW3D, FSOUND_HW2D, FSOUND_2D Loading behaviour - FSOUND_NONBLOCKING, FSOUND_LOADMEMORY, FSOUND_LOADRAW, FSOUND_MPEGACCURATE, FSOUND_MPEGHALFRATE, FSOUND_FORCEMONO Playback behaviour - FSOUND_STREAMABLE, FSOUND_ENABLEFX PlayStation 2 only - FSOUND_USECORE0, FSOUND_USECORE1, FSOUND_LOADMEMORYIOP

See flag descriptions for what these do. ]
FSOUND_MONO Sounds.FMODtypes

For 16 bit samples.
FSOUND_MPEGACCURATE Sounds.FMODtypes

Will ignore file format and treat as raw pcm.
FSOUND_MPEGHALFRATE Sounds.FMODtypes

Allows DX8 FX to be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, or have a changing frequency
FSOUND_MULTICHANNEL Sounds.FMODtypes

For Gamecube only - Contents are compressed as Gamecube DSP-ADPCM format
FSOUND_NONBLOCKING Sounds.FMODtypes

For PS2 only - Contents are compressed as Sony VAG format */
FSOUND_NORMAL Sounds.FMODtypes

For PS2 only - "name" will be interpreted as a pointer to data for streaming and samples. The address provided will be an IOP address
FSOUND_PRESET_ALLEY Sounds.FMODpresets

FSOUND_PRESET_ARENA Sounds.FMODpresets

FSOUND_PRESET_AUDITORIUM Sounds.FMODpresets

FSOUND_PRESET_BATHROOM Sounds.FMODpresets

FSOUND_PRESET_CARPETTEDHALLWAY Sounds.FMODpresets

FSOUND_PRESET_CAVE Sounds.FMODpresets

FSOUND_PRESET_CITY Sounds.FMODpresets

FSOUND_PRESET_CONCERTHALL Sounds.FMODpresets

FSOUND_PRESET_DIZZY Sounds.FMODpresets

FSOUND_PRESET_DRUGGED Sounds.FMODpresets

Non I3DL2 presets
FSOUND_PRESET_FOREST Sounds.FMODpresets

FSOUND_PRESET_GENERIC Sounds.FMODpresets

FSOUND_PRESET_HALLWAY Sounds.FMODpresets

FSOUND_PRESET_HANGAR Sounds.FMODpresets

FSOUND_PRESET_LIVINGROOM Sounds.FMODpresets

FSOUND_PRESET_MOUNTAINS Sounds.FMODpresets

FSOUND_PRESET_OFF Sounds.FMODpresets

[DEFINE_START] [ [NAME] FSOUND_REVERB_PRESETS

[DESCRIPTION] A set of predefined environment PARAMETERS, created by Creative Labs These are used to initialize an FSOUND_REVERB_PROPERTIES structure statically. ie FSOUND_REVERB_PROPERTIES prop = FSOUND_PRESET_GENERIC;

[SEE_ALSO] FSOUND_Reverb_SetProperties ]
FSOUND_PRESET_PADDEDCELL Sounds.FMODpresets

FSOUND_PRESET_PARKINGLOT Sounds.FMODpresets

FSOUND_PRESET_PLAIN Sounds.FMODpresets

FSOUND_PRESET_PSYCHOTIC Sounds.FMODpresets

FSOUND_PRESET_QUARRY Sounds.FMODpresets

FSOUND_PRESET_ROOM Sounds.FMODpresets

FSOUND_PRESET_SEWERPIPE Sounds.FMODpresets

FSOUND_PRESET_STONECORRIDOR Sounds.FMODpresets

FSOUND_PRESET_STONEROOM Sounds.FMODpresets

FSOUND_PRESET_UNDERWATER Sounds.FMODpresets

FSOUND_PROTOCOL_HTTP Sounds.FMODtypes

FSOUND_PROTOCOL_ICECAST Sounds.FMODtypes

FSOUND_PROTOCOL_SHOUTCAST Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_STATUS_FLAGS

[DESCRIPTION] These values describe the protocol and format of an internet stream. Use FSOUND_Stream_Net_GetStatus to retrieve this information for an open internet stream.

[SEE_ALSO] FSOUND_Stream_Net_GetStatus ]
FSOUND_REVERBFLAGS_DECAYHFLIMIT Sounds.FMODtypes

EnvironmentSize affects late reverberation delay time
FSOUND_REVERBFLAGS_DECAYTIMESCALE Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_REVERB_FLAGS

[DESCRIPTION] Values for the Flags member of the FSOUND_REVERB_PROPERTIES structure.

[SEE_ALSO] FSOUND_REVERB_PROPERTIES ]
FSOUND_REVERBFLAGS_DEFAULT Sounds.FMODtypes

PS2 Only - Reverb is applied to CORE1 (hw voices 24-47)
FSOUND_REVERBFLAGS_ECHOTIMESCALE Sounds.FMODtypes

AirAbsorptionHF affects DecayHFRatio
FSOUND_REVERBFLAGS_MODULATIONTIMESCALE Sounds.FMODtypes

EnvironmentSize affects echo time
FSOUND_REVERBFLAGS_REFLECTIONSDELAYSCALE Sounds.FMODtypes

EnvironmentSize affects reflection level
FSOUND_REVERBFLAGS_REFLECTIONSSCALE Sounds.FMODtypes

EnvironmentSize affects reverberation decay time
FSOUND_REVERBFLAGS_REVERBDELAYSCALE Sounds.FMODtypes

EnvironmentSize affects reflections level
FSOUND_REVERBFLAGS_REVERBSCALE Sounds.FMODtypes

EnvironmentSize affects initial reflection delay time
FSOUND_REVERB_CHANNELFLAGS_DEFAULT Sounds.FMODtypes

Automatic setting of 'RoomHF' due to distance from listener
FSOUND_REVERB_CHANNELFLAGS_DIRECTHFAUTO Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_REVERB_CHANNELFLAGS

[DESCRIPTION] Values for the Flags member of the FSOUND_REVERB_CHANNELPROPERTIES structure.

[SEE_ALSO] FSOUND_REVERB_CHANNELPROPERTIES ]
FSOUND_REVERB_CHANNELFLAGS_ROOMAUTO Sounds.FMODtypes

Automatic setting of 'Direct' due to distance from listener
FSOUND_REVERB_CHANNELFLAGS_ROOMHFAUTO Sounds.FMODtypes

Automatic setting of 'Room' due to distance from listener
FSOUND_REVERB_FLAGS_CORE0 Sounds.FMODtypes

EnvironmentSize affects modulation time
FSOUND_REVERB_FLAGS_CORE1 Sounds.FMODtypes

PS2 Only - Reverb is applied to CORE0 (hw voices 0-23)
FSOUND_SIGNED Sounds.FMODtypes

For user created source data containing unsigned samples.
FSOUND_STEREO Sounds.FMODtypes

For mono samples.
FSOUND_STEREOPAN Sounds.FMODtypes

for a channel index , this flag will affect ALL channels available! Not supported by every function.
FSOUND_STREAMABLE Sounds.FMODtypes

Ignores any 3d processing. Overrides FSOUND_HW3D. Located in software.
FSOUND_SYSTEMCHANNEL Sounds.FMODtypes

value for FSOUND_SetPan so that stereo sounds are not played at half volume. See FSOUND_SetPan for more on this.
FSOUND_SYSTEMSAMPLE Sounds.FMODtypes

special 'channel' ID for all channel based functions that want to alter the global FSOUND software mixing output
FSOUND_UNMANAGED Sounds.FMODtypes

value to play on any free channel, or to allocate a sample in a free sample slot.
FSOUND_UNSIGNED Sounds.FMODtypes

For stereo samples.
FSOUND_USECORE0 Sounds.FMODtypes

For PS2 only - Contents are interleaved into a multi-channel (more than stereo) format
FSOUND_USECORE1 Sounds.FMODtypes

For PS2 only - Sample/Stream is forced to use hardware voices 00-23
FSOUND_VAG Sounds.FMODtypes

For XBOX only - Contents are compressed as XADPCM */
FSOUND_XADPCM Sounds.FMODtypes

For FMODCE only - decodes mpeg streams using a lower quality decode, but faster execution
GLSCENE_REVISION GLS.Scene

GLSCENE_VERSION GLS.Scene

glsShaderMaxLightSources GLSL.CustomShader

GLS_RC_DDS_Type GLS.ApplicationFileIO

GLS_RC_JPG_Type GLS.ApplicationFileIO

GLS_RC_String_Type GLS.ApplicationFileIO

GLS_RC_XML_Type GLS.ApplicationFileIO

GLS_VERTEX_ATTR_NUM GLS.State

glu32 GLS.OpenGLAdapter

GLU_AUTO_LOAD_MATRIX GLS.OpenGLTokens

NURBS constants NurbsProperty
GLU_BEGIN GLS.OpenGLTokens

Names without "TESS_" prefix
GLU_CCW GLS.OpenGLTokens

GLU_CULLING GLS.OpenGLTokens

GLU_CW GLS.OpenGLTokens

Contours types – obsolete!
GLU_DISPLAY_MODE GLS.OpenGLTokens

GLU_DOMAIN_DISTANCE GLS.OpenGLTokens

GLU_EDGE_FLAG GLS.OpenGLTokens

GLU_END GLS.OpenGLTokens

GLU_ERROR GLS.OpenGLTokens

GLU_EXTERIOR GLS.OpenGLTokens

GLU_INTERIOR GLS.OpenGLTokens

GLU_MAP1_TRIM_2 GLS.OpenGLTokens

NurbsTrim
GLU_MAP1_TRIM_3 GLS.OpenGLTokens

GLU_NURBS_ERROR1 GLS.OpenGLTokens

NurbsErrors
GLU_NURBS_ERROR10 GLS.OpenGLTokens

GLU_NURBS_ERROR11 GLS.OpenGLTokens

GLU_NURBS_ERROR12 GLS.OpenGLTokens

GLU_NURBS_ERROR13 GLS.OpenGLTokens

GLU_NURBS_ERROR14 GLS.OpenGLTokens

GLU_NURBS_ERROR15 GLS.OpenGLTokens

GLU_NURBS_ERROR16 GLS.OpenGLTokens

GLU_NURBS_ERROR17 GLS.OpenGLTokens

GLU_NURBS_ERROR18 GLS.OpenGLTokens

GLU_NURBS_ERROR19 GLS.OpenGLTokens

GLU_NURBS_ERROR2 GLS.OpenGLTokens

GLU_NURBS_ERROR20 GLS.OpenGLTokens

GLU_NURBS_ERROR21 GLS.OpenGLTokens

GLU_NURBS_ERROR22 GLS.OpenGLTokens

GLU_NURBS_ERROR23 GLS.OpenGLTokens

GLU_NURBS_ERROR24 GLS.OpenGLTokens

GLU_NURBS_ERROR25 GLS.OpenGLTokens

GLU_NURBS_ERROR26 GLS.OpenGLTokens

GLU_NURBS_ERROR27 GLS.OpenGLTokens

GLU_NURBS_ERROR28 GLS.OpenGLTokens

GLU_NURBS_ERROR29 GLS.OpenGLTokens

GLU_NURBS_ERROR3 GLS.OpenGLTokens

GLU_NURBS_ERROR30 GLS.OpenGLTokens

GLU_NURBS_ERROR31 GLS.OpenGLTokens

GLU_NURBS_ERROR32 GLS.OpenGLTokens

GLU_NURBS_ERROR33 GLS.OpenGLTokens

GLU_NURBS_ERROR34 GLS.OpenGLTokens

GLU_NURBS_ERROR35 GLS.OpenGLTokens

GLU_NURBS_ERROR36 GLS.OpenGLTokens

GLU_NURBS_ERROR37 GLS.OpenGLTokens

GLU_NURBS_ERROR4 GLS.OpenGLTokens

GLU_NURBS_ERROR5 GLS.OpenGLTokens

GLU_NURBS_ERROR6 GLS.OpenGLTokens

GLU_NURBS_ERROR7 GLS.OpenGLTokens

GLU_NURBS_ERROR8 GLS.OpenGLTokens

GLU_NURBS_ERROR9 GLS.OpenGLTokens

GLU_OUTLINE_PATCH GLS.OpenGLTokens

GLU_OUTLINE_POLYGON GLS.OpenGLTokens

NurbsDisplay
GLU_PARAMETRIC_ERROR GLS.OpenGLTokens

GLU_PARAMETRIC_TOLERANCE GLS.OpenGLTokens

GLU_PATH_LENGTH GLS.OpenGLTokens

NurbsSampling
GLU_SAMPLING_METHOD GLS.OpenGLTokens

GLU_SAMPLING_TOLERANCE GLS.OpenGLTokens

GLU_TESS_BEGIN GLS.OpenGLTokens

********** GLU generic constants ********** TessCallback
GLU_TESS_BEGIN_DATA GLS.OpenGLTokens

TGLUTessCombineProc
GLU_TESS_COMBINE GLS.OpenGLTokens

TGLUTessEdgeFlagProc
GLU_TESS_COMBINE_DATA GLS.OpenGLTokens

TGLUTessEdgeFlagDataProc
GLU_TESS_COORD_TOO_LARGE GLS.OpenGLTokens

GLU_TESS_EDGE_FLAG GLS.OpenGLTokens

TGLUTessErrorProc
GLU_TESS_EDGE_FLAG_DATA GLS.OpenGLTokens

TGLUTessErrorDataProc
GLU_TESS_END GLS.OpenGLTokens

TGLUTessVertexProc
GLU_TESS_END_DATA GLS.OpenGLTokens

TGLUTessVertexDataProc
GLU_TESS_ERROR GLS.OpenGLTokens

TGLUTessEndProc
GLU_TESS_ERROR1 GLS.OpenGLTokens

TGLUTessCombineDataProc TessError
GLU_TESS_ERROR2 GLS.OpenGLTokens

GLU_TESS_ERROR3 GLS.OpenGLTokens

GLU_TESS_ERROR4 GLS.OpenGLTokens

GLU_TESS_ERROR5 GLS.OpenGLTokens

GLU_TESS_ERROR6 GLS.OpenGLTokens

GLU_TESS_ERROR7 GLS.OpenGLTokens

GLU_TESS_ERROR8 GLS.OpenGLTokens

GLU_TESS_ERROR_DATA GLS.OpenGLTokens

TGLUTessEndDataProc
GLU_TESS_MISSING_BEGIN_CONTOUR GLS.OpenGLTokens

GLU_TESS_MISSING_BEGIN_POLYGON GLS.OpenGLTokens

GLU_TESS_MISSING_END_CONTOUR GLS.OpenGLTokens

GLU_TESS_MISSING_END_POLYGON GLS.OpenGLTokens

GLU_TESS_NEED_COMBINE_CALLBACK GLS.OpenGLTokens

GLU_TESS_VERTEX GLS.OpenGLTokens

TGLUTessBeginProc
GLU_TESS_VERTEX_DATA GLS.OpenGLTokens

TGLUTessBeginDataProc
GLU_UNKNOWN GLS.OpenGLTokens

GLU_U_STEP GLS.OpenGLTokens

GLU_VERTEX GLS.OpenGLTokens

GLU_V_STEP GLS.OpenGLTokens

GL_ASE_MAX_SMOOTH_GROUPS GLS.FileASE

maximum material submaterials
GL_ASE_MAX_SUBMATERIALS GLS.FileASE

maximum texture channels
GL_ASE_MAX_TEXTURE_MAPS GLS.FileASE

maximum smoothing groups
GL_ASE_MAX_TEXURE_CHANNELS GLS.FileASE

GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI GLS.OpenGLTokens

GL_ATI_texture_compression_3dc
GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT GLS.OpenGLTokens

Vendor/EXT extensions constants, in extension number order
GRADIENT_TABLE_SIZE GLS.ProcTextures

GravitationalConstant Physics.SPIFields

GuiNullRect GLS.Gui

G_DRAG GLS.VerletTypes

HIDE_NODE Formats.m3DSConst

HIDE_TRACK_TAG Formats.m3DSConst

HIERARCHY Formats.m3DSConst

HIGHPASS_DEFAULT_GAIN Sounds.OpenALImport

HIGHPASS_DEFAULT_GAINLF Sounds.OpenALImport

HIGHPASS_MAX_GAIN Sounds.OpenALImport

HIGHPASS_MAX_GAINLF Sounds.OpenALImport

HIGHPASS_MIN_GAIN Sounds.OpenALImport

Highpass filter
HIGHPASS_MIN_GAINLF Sounds.OpenALImport

HiShadowBiasMin3DS Formats.m3DSConst

noninclusive minimum value for low shadow bias setting HI_SHADOW_BIAS chunk
HI_SHADOW_BIAS Formats.m3DSConst

HotTrackTagMax3DS Formats.m3DSConst

Minimum hot spot angle
HotTrackTagMin3DS Formats.m3DSConst

Maximum camera FOV HOT_TRACK_TAG_KEY
HOT_TRACK_TAG Formats.m3DSConst

HOT_TRACK_TAG_KEY Formats.m3DSConst

ICCOMPRESSFRAMES_PADDING Formats.VFW

*********************************************************************** ***********************************************************************
ICCOMPRESS_KEYFRAME Formats.VFW

*********************************************************************** ***********************************************************************
ICDECOMPRESS_HURRYUP Formats.VFW

*********************************************************************** ***********************************************************************
ICDECOMPRESS_NOTKEYFRAME Formats.VFW

repeat last frame
ICDECOMPRESS_NULLFRAME Formats.VFW

this frame is before real start
ICDECOMPRESS_PREROLL Formats.VFW

don't draw just update screen
ICDECOMPRESS_UPDATE Formats.VFW

don't draw just buffer (hurry up!)
ICDRAW_ANIMATE Formats.VFW

draw to a HDC/HWND
ICDRAW_BUFFER Formats.VFW

used to render data not draw it
ICDRAW_CONTINUE Formats.VFW

expect palette animation
ICDRAW_FULLSCREEN Formats.VFW

test for support
ICDRAW_HDC Formats.VFW

draw to full screen
ICDRAW_HURRYUP Formats.VFW

*********************************************************************** ***********************************************************************
ICDRAW_MEMORYDC Formats.VFW

draw is a continuation of previous draw
ICDRAW_NOTKEYFRAME Formats.VFW

repeat last frame
ICDRAW_NULLFRAME Formats.VFW

this frame is before real start
ICDRAW_PREROLL Formats.VFW

don't draw just update screen
ICDRAW_QUERY Formats.VFW

*********************************************************************** ***********************************************************************
ICDRAW_RENDER Formats.VFW

We're updating, as opposed to playing
ICDRAW_UPDATE Formats.VFW

don't draw just buffer (hurry up!)
ICDRAW_UPDATING Formats.VFW

DC is offscreen, by the way
ICERR_ABORT Formats.VFW

ICERR_BADBITDEPTH Formats.VFW

ICERR_BADFLAGS Formats.VFW

ICERR_BADFORMAT Formats.VFW

ICERR_BADHANDLE Formats.VFW

ICERR_BADIMAGESIZE Formats.VFW

ICERR_BADPARAM Formats.VFW

ICERR_BADSIZE Formats.VFW

ICERR_CANTUPDATE Formats.VFW

ICERR_CUSTOM Formats.VFW

ICERR_DONTDRAW Formats.VFW

ICERR_ERROR Formats.VFW

ICERR_GOTOKEYFRAME Formats.VFW

ICERR_INTERNAL Formats.VFW

ICERR_MEMORY Formats.VFW

ICERR_NEWPALETTE Formats.VFW

ICERR_OK Formats.VFW

audc
ICERR_STOPDRAWING Formats.VFW

ICERR_UNSUPPORTED Formats.VFW

ICINSTALL_DRIVER Formats.VFW

lParam is a DriverProc (function ptr)
ICINSTALL_DRIVERW Formats.VFW

lParam is a HDRVR (driver handle)
ICINSTALL_FUNCTION Formats.VFW

ICINSTALL_HDRV Formats.VFW

lParam is a driver name (string)
ICINSTALL_UNICODE Formats.VFW

– Values for wFlags of ICInstall ——————————————-
ICMF_ABOUT_QUERY Formats.VFW

ICMF_CHOOSE_ALLCOMPRESSORS Formats.VFW

allow expanded preview dialog
ICMF_CHOOSE_DATARATE Formats.VFW

show KeyFrame Every box
ICMF_CHOOSE_KEYFRAME Formats.VFW

defines for uiFlags
ICMF_CHOOSE_PREVIEW Formats.VFW

show DataRate box
ICMF_COMPVARS_VALID Formats.VFW

FLAGS for dwFlags element of COMPVARS structure: set this flag if you initialize COMPVARS before calling ICCompressorChoose
ICMF_CONFIGURE_QUERY Formats.VFW

– Query macros ————————————————————-
ICMODE_COMPRESS Formats.VFW

– Values for dwFlags of ICOpen() ——————————————-
ICMODE_DECOMPRESS Formats.VFW

ICMODE_DRAW Formats.VFW

ICMODE_FASTCOMPRESS Formats.VFW

ICMODE_FASTDECOMPRESS Formats.VFW

ICMODE_QUERY Formats.VFW

ICM_ABOUT Formats.VFW

show the configure dialog
ICM_COMPRESS Formats.VFW

begin a series of compress calls.
ICM_COMPRESS_BEGIN Formats.VFW

query support for compress
ICM_COMPRESS_END Formats.VFW

compress a frame
ICM_COMPRESS_FRAMES_INFO Formats.VFW

end a series of decompress calls
ICM_COMPRESS_GET_FORMAT Formats.VFW

***********************************************************************

ICM specific messages.

***********************************************************************
ICM_COMPRESS_GET_SIZE Formats.VFW

get compress format or size
ICM_COMPRESS_QUERY Formats.VFW

get output size
ICM_CONFIGURE Formats.VFW

Query info about the compressor
ICM_DECOMPRESS Formats.VFW

start a series of decompress calls
ICM_DECOMPRESSEX Formats.VFW

start a series of decompress calls
ICM_DECOMPRESSEX_BEGIN Formats.VFW

get the default value for key frames
ICM_DECOMPRESSEX_END Formats.VFW

decompress a frame
ICM_DECOMPRESSEX_QUERY Formats.VFW

start a series of decompress calls
ICM_DECOMPRESS_BEGIN Formats.VFW

query support for dempress
ICM_DECOMPRESS_END Formats.VFW

decompress a frame
ICM_DECOMPRESS_GET_FORMAT Formats.VFW

end of a series of compress calls.
ICM_DECOMPRESS_GET_PALETTE Formats.VFW

fill in the DIB color table
ICM_DECOMPRESS_QUERY Formats.VFW

get decompress format or size
ICM_DECOMPRESS_SET_PALETTE Formats.VFW

end a series of decompress calls
ICM_DRAW Formats.VFW

get value of decompress clock
ICM_DRAW_BEGIN Formats.VFW

query support for dempress
ICM_DRAW_CHANGEPALETTE Formats.VFW

Like ICGetDisplayFormat
ICM_DRAW_END Formats.VFW

stop decompress clock
ICM_DRAW_FLUSH Formats.VFW

realize palette for drawing
ICM_DRAW_GETTIME Formats.VFW

end a series of draw calls
ICM_DRAW_GET_PALETTE Formats.VFW

start a series of draw calls
ICM_DRAW_QUERY Formats.VFW

fill in the DIB color table
ICM_DRAW_REALIZE Formats.VFW

set correct value for decompress clock
ICM_DRAW_RENDERBUFFER Formats.VFW

clear out buffered frames
ICM_DRAW_SETTIME Formats.VFW

drawing window has moved or hidden
ICM_DRAW_START Formats.VFW

get the palette needed for drawing
ICM_DRAW_START_PLAY Formats.VFW

draw undrawn things in queue
ICM_DRAW_STOP Formats.VFW

start decompress clock
ICM_DRAW_STOP_PLAY Formats.VFW

start of a play
ICM_DRAW_SUGGESTFORMAT Formats.VFW

end of a play
ICM_DRAW_WINDOW Formats.VFW

generalized "render" message
ICM_FRAMERATE Formats.VFW

– Constants for ICM_SET: —————————————————
ICM_GET Formats.VFW

Tell the driver something
ICM_GETBUFFERSWANTED Formats.VFW

for animating palette
ICM_GETDEFAULTKEYFRAMERATE Formats.VFW

ask about prebuffering
ICM_GETDEFAULTQUALITY Formats.VFW

show the about box
ICM_GETINFO Formats.VFW

Set compressor state
ICM_GETQUALITY Formats.VFW

get the default value for quality
ICM_GETSTATE Formats.VFW

***********************************************************************

messages.

***********************************************************************
ICM_KEYFRAMERATE Formats.VFW

FrmR
ICM_RESERVED Formats.VFW

ICM_RESERVED_HIGH Formats.VFW

ICM_RESERVED_LOW Formats.VFW

ICM_SET Formats.VFW

set the default value for quality
ICM_SETQUALITY Formats.VFW

get the current value for quality
ICM_SETSTATE Formats.VFW

Get compressor state
ICM_SET_STATUS_PROC Formats.VFW

tell about compress to come
ICM_USER Formats.VFW

*********************************************************************** ***********************************************************************
ICQUALITY_DEFAULT Formats.VFW

ICQUALITY_HIGH Formats.VFW

ICQUALITY_LOW Formats.VFW

– quality flags ————————————————————
ICSTATUS_END Formats.VFW

l = % done
ICSTATUS_ERROR Formats.VFW

ICSTATUS_START Formats.VFW

– Messages for Status callback ———————————————
ICSTATUS_STATUS Formats.VFW

ICSTATUS_YIELD Formats.VFW

l = error string (LPSTR)
ICTYPE_AUDIO Formats.VFW

vidc
ICTYPE_VIDEO Formats.VFW

ICVERSION Formats.VFW

*************************************************************************** * * COMPMAN - Installable Compression Manager. * ***************************************************************************
IdentityHmgDblMatrix GLS.VectorGeometry

IdentityHmgMatrix GLS.VectorGeometry

IdentityMatrix GLS.VectorGeometry

IdentityQuaternion GLS.VectorGeometry

Quaternions
IDS_CAP_AUDIO_DROP_ERROR Formats.VFW

"Error: Unable to initialize compressor."
IDS_CAP_AVI_DRAWDIB_ERROR Formats.VFW

"Error: No audio data captured.\nCheck audio card settings."
IDS_CAP_AVI_INIT_ERROR Formats.VFW

"Error while recording"
IDS_CAP_BEGIN Formats.VFW

– String IDs from status and error callbacks ——————————-
IDS_CAP_CANTOPEN Formats.VFW

"pal"
IDS_CAP_COMPRESSOR_ERROR Formats.VFW

"Error: Unable to draw this data format."
IDS_CAP_DEFAVIEXT Formats.VFW

"Error saving frame '%s'"
IDS_CAP_DEFPALEXT Formats.VFW

"avi"
IDS_CAP_DRIVER_ERROR Formats.VFW

"SaveAs: %2ld%% Hit Escape to abort."
IDS_CAP_END Formats.VFW

"Capture Start"
IDS_CAP_ERRORDIBSAVE Formats.VFW

"Error saving palette '%s'"
IDS_CAP_ERRORPALOPEN Formats.VFW

"File '%s' exists – overwrite it?"
IDS_CAP_ERRORPALSAVE Formats.VFW

"Error opening palette '%s'"
IDS_CAP_FILEEXISTS Formats.VFW

"Out of memory"
IDS_CAP_FILE_OPEN_ERROR Formats.VFW

"Error: Bad video size."
IDS_CAP_FILE_WRITE_ERROR Formats.VFW

"Error: Cannot open capture file."
IDS_CAP_INFO Formats.VFW

"Capture End"
IDS_CAP_MCI_CANT_STEP_ERROR Formats.VFW

"Error: Unable to access MCI device."
IDS_CAP_MCI_CONTROL_ERROR Formats.VFW

"Warning: Using default palette."
IDS_CAP_NODISKSPACE Formats.VFW

"Unable to write to file '%s'.\nDisk may be full."
IDS_CAP_NO_AUDIO_CAP_ERROR Formats.VFW

"Error: Unable to step MCI device."
IDS_CAP_NO_FRAME_CAP_ERROR Formats.VFW

"Error: Unable to initialize for capture."
IDS_CAP_NO_PALETTE_WARN Formats.VFW

"Warning: No frames captured.\nConfirm that vertical sync interrupts\nare configured and enabled."
IDS_CAP_OUTOFMEM Formats.VFW

"%s"
IDS_CAP_READONLYFILE Formats.VFW

"An error occurred while trying to run VidEdit."
IDS_CAP_RECORDING_ERROR Formats.VFW

"Error: Cannot write to capture file. Disk may be full."
IDS_CAP_RECORDING_ERROR2 Formats.VFW

"Error: Cannot write to capture file. Data rate too high or disk full."
IDS_CAP_SAVEASPERCENT Formats.VFW

"Set File Size"
IDS_CAP_SEQ_MSGSTART Formats.VFW

"Cannot open '%s'"
IDS_CAP_SEQ_MSGSTOP Formats.VFW

"Select OK to start capture\nof video sequence\nto %s."
IDS_CAP_SETFILESIZE Formats.VFW

"There is no space to create a capture file on the specified device."
IDS_CAP_STAT_CAP_AUDIO Formats.VFW

"Captured %ld frames"
IDS_CAP_STAT_CAP_FINI Formats.VFW

"Setting up for capture - Please wait"
IDS_CAP_STAT_CAP_INIT Formats.VFW

"Overlay window"
IDS_CAP_STAT_CAP_L_FRAMES Formats.VFW

"%ld frames"
IDS_CAP_STAT_FRAMESDROPPED Formats.VFW

"Captured %d.%03d sec. %ld frames (%ld dropped) (%d.%03d fps)"
IDS_CAP_STAT_I_FRAMES Formats.VFW

"Computing optimal palette"
IDS_CAP_STAT_LIVE_MODE Formats.VFW

– Status string IDs ——————————————————–
IDS_CAP_STAT_L_FRAMES Formats.VFW

"%d frames"
IDS_CAP_STAT_OPTPAL_BUILD Formats.VFW

"Building palette map"
IDS_CAP_STAT_OVERLAY_MODE Formats.VFW

"Live window"
IDS_CAP_STAT_PALETTE_BUILD Formats.VFW

"Finished capture, now writing frame %ld"
IDS_CAP_STAT_VIDEOAUDIO Formats.VFW

"Captured %ld frames (%ld dropped) %d.%03d sec."
IDS_CAP_STAT_VIDEOCURRENT Formats.VFW

"Capturing audio"
IDS_CAP_STAT_VIDEOONLY Formats.VFW

"Captured %d.%03d sec. %ld frames (%ld dropped) (%d.%03d fps). %ld audio bytes (%d,%03d sps)"
IDS_CAP_VIDEDITERR Formats.VFW

"Hit ESCAPE or click to end capture"
IDS_CAP_VIDEO_ADD_ERROR Formats.VFW

"Error: Cannot prepare video buffers."
IDS_CAP_VIDEO_ALLOC_ERROR Formats.VFW

"Error: Cannot open the video input device."
IDS_CAP_VIDEO_OPEN_ERROR Formats.VFW

"Error: Bad wave size."
IDS_CAP_VIDEO_PREPARE_ERROR Formats.VFW

"Error: Out of memory for video buffers."
IDS_CAP_VIDEO_SIZE_ERROR Formats.VFW

"Error: Cannot add video buffers."
IDS_CAP_WAVE_ADD_ERROR Formats.VFW

"Error: Cannot prepare wave buffers."
IDS_CAP_WAVE_ALLOC_ERROR Formats.VFW

"Error: Cannot open the wave input device.\nCheck sample size, frequency, and channels."
IDS_CAP_WAVE_OPEN_ERROR Formats.VFW

Driver specific error message
IDS_CAP_WAVE_PREPARE_ERROR Formats.VFW

"Error: Out of memory for wave buffers."
IDS_CAP_WAVE_SIZE_ERROR Formats.VFW

"Error: Cannot add wave buffers."
IDS_CAP_WRITEERROR Formats.VFW

"The file '%s' is a read-only file."
ID_ALPH Formats.LWO

SMOOTHING ANGLE RADIANS
ID_ANIM Formats.LWO

IMAGE SEQUENCE
ID_BBOX Formats.LWO

CLIP
ID_BRIT Formats.LWO

CONTRAST
ID_BTEX Formats.LWO

LUMINANCE TEXTURE
ID_CLIP Formats.LWO

ENVELOPE
ID_COLR Formats.LWO

Surfaces chunk
ID_CONT Formats.LWO

COLOR CYCLING STILL
ID_CRVS Formats.LWO

Polygons chunk
ID_CTEX Formats.LWO

ALPHA MODE
ID_DESC Formats.LWO

BOUNDING BOX
ID_DIFF Formats.LWO

Luminosity
ID_DTEX Formats.LWO

COLOR TEXTURE
ID_EDGE Formats.LWO

REFRACTIVE INDEX
ID_ENVL Formats.LWO

DISCONTINUOUS VERTEX MAP
ID_FLAG Formats.LWO

Color chunk
ID_FLYR Formats.LWO

IMAGE SEQUENCE
ID_FORM Formats.LWO

Lightwave scene file
ID_GAMMA Formats.LWO

HUE
ID_GLOS Formats.LWO

Transparency
ID_HUE Formats.LWO

SATURATION
ID_ICON Formats.LWO

TEXT
ID_IFLT Formats.LWO

NEGATIVE IMAGE
ID_IMCC Formats.LWO

FLYER SEQUENCE
ID_IMSQ Formats.LWO

ID_ISEQ Formats.LWO

STILL IMAGE FILENAME
ID_LAYR Formats.LWO

Lightwave Layered Object
ID_LTEX Formats.LWO

TRANSPARENCY TEXTURE
ID_LUMI Formats.LWO

Surface Flags
ID_LWLO Formats.LWO

Lightwave Object version 1.0 - 5.x
ID_LWO2 Formats.LWO

ID_LWOB Formats.LWO

IFF Form
ID_LWSC Formats.LWO

NULL ID
ID_NEGA Formats.LWO

GAMMA
ID_NULL Formats.LWO

ID_PCHS Formats.LWO

Curves chunk
ID_PFLT Formats.LWO

IMAGE PLUG-IN FILTER
ID_PNTS Formats.LWO

LAYER
ID_POLS Formats.LWO

Surface Names chunk
ID_PTAG Formats.LWO

TAGS?
ID_REFL Formats.LWO

Specular
ID_RFLT Formats.LWO

Sidedness
ID_RFOP Formats.LWO

REFLECTION MODE (PRE 6.0)
ID_RIMG Formats.LWO

REFLECTION OPTIONS
ID_RIND Formats.LWO

REFLECTION MAP SEAM ANGLE
ID_RSAN Formats.LWO

REFLECTION IMAGE
ID_RTEX Formats.LWO

SPECULAR TEXTURE
ID_SATR Formats.LWO

BRIGHTNESS
ID_SDAT Formats.LWO

ID_SHDR Formats.LWO

ID_SIDE Formats.LWO

Glossiness SmallInt
ID_SMAN Formats.LWO

EDGE TRANSPARENCY THRESHOLD
ID_SPEC Formats.LWO

Diffuse
ID_SRFS Formats.LWO

Points chunk
ID_STCC Formats.LWO

PLUGIN ANIMATION
ID_STEX Formats.LWO

DIFFUSE TEXTURE
ID_STIL Formats.LWO

NAME
ID_SURF Formats.LWO

Patches chunk
ID_TAAS Formats.LWO

TEXTURE WRAP
ID_TAGS Formats.LWO

VERTEX MAP
ID_TALP Formats.LWO

TEXTURE IMG
ID_TAMP Formats.LWO

TEXTURE VALUE
ID_TCLR Formats.LWO

TEXTURE REFERENCE
ID_TCTR Formats.LWO

TEXTURE SIZE
ID_TEXT Formats.LWO

DESCRIPTION
ID_TFAL Formats.LWO

TEXTURE CENTER
ID_TFLG Formats.LWO

BUMP TEXTURE
ID_TFP0 Formats.LWO

TEXTURE AMPLITUDE
ID_TFP1 Formats.LWO

TEXTURE PARAMETERS
ID_TFP2 Formats.LWO

ID_TFRQ Formats.LWO

ID_TIMG Formats.LWO

ID_TIP0 Formats.LWO

ID_TIP1 Formats.LWO

ID_TIP2 Formats.LWO

ID_TOPC Formats.LWO

ID_TRAN Formats.LWO

Reflective
ID_TREF Formats.LWO

TEXTURE VALUE
ID_TSIZ Formats.LWO

TEXTURE FLAGS
ID_TSP0 Formats.LWO

ID_TSP1 Formats.LWO

ID_TSP2 Formats.LWO

ID_TTEX Formats.LWO

REFLECTIION TEXTURE
ID_TVAL Formats.LWO

TEXTURE COLOR
ID_TVEL Formats.LWO

TEXTURE FALLOFF
ID_TWRP Formats.LWO

ID_VDIF Formats.LWO

Luminosity
ID_VLUM Formats.LWO

Transparency
ID_VMAD Formats.LWO

POLYGON TAG MAP
ID_VMAP Formats.LWO

OBJECT
ID_VRFL Formats.LWO

Specularity
ID_VSPC Formats.LWO

Diffuse
ID_VTRN Formats.LWO

Reflective
IID_IAVIEditStream Formats.VFW

IID_IAVIFile Formats.VFW

– GUIDs ——————————————————————–
IID_IAVIStream Formats.VFW

IID_IAVIStreaming Formats.VFW

IID_IGetFrame Formats.VFW

IMG_INIT_JPG SDL2.Image

IMG_INIT_PNG SDL2.Image

IMG_INIT_TIF SDL2.Image

IMG_INIT_WEBP SDL2.Image

IMSQ_FLAG_INTERLACE Formats.LWO

IMSQ_FLAG_LOOP Formats.LWO

INADDR_ANY SDL2.Net

* Resolve a host name and port to an IP address in network form. If the function succeeds, it will return 0. If the host couldn't be resolved, the host portion of the returned address will be INADDR_NONE, and the function will return -1. If 'host' is NULL, the resolved host will be set to INADDR_ANY. *
INADDR_NONE SDL2.Net

infotypeDIGITIZATION_TIME Formats.VFW

– New information chunk IDs ————————————————
infotypeSMPTE_TIME Formats.VFW

mmioFOURCC ('I','D','I','T')
InitFaceArray3DS Formats.m3DSConst

InitMatArray3DS Formats.m3DSConst

InitNoExtras3DS Formats.m3DSConst

Flags for initflags parameter
InitProcData3DS Formats.m3DSConst

InitSmoothArray3DS Formats.m3DSConst

InitTextArray3DS Formats.m3DSConst

InitVertexArray3DS Formats.m3DSConst

InitVFlagArray3DS Formats.m3DSConst

InstanceNameStrMax3DS Formats.m3DSConst

Maximum node name string size INSTANCE_NAME
INSTANCE_NAME Formats.m3DSConst

INTERPCT Formats.m3DSConst

IntPercentageMax3DS Formats.m3DSConst

maximum color value in a channel INT_PERCENTAGE
INT_PERCENTAGE Formats.m3DSConst

INVALID_CUFFT_HANDLE CUDA.FourierTransform

INVALID_MODULEHANDLE_VALUE GLS.ModuleLoader

Value designating an unassigned TModuleHandle od a failed loading
IsChunk Formats.m3DSConst

kBrushes Formats.Q3BSP

Stores the info of world models
kBrushSides Formats.Q3BSP

Stores the brushes info (for collision)
kEntities Formats.Q3BSP

KeyUsesBias3DS Formats.m3DSConst

KeyUsesCont3DS Formats.m3DSConst

KeyUsesEaseFrom3DS Formats.m3DSConst

KeyUsesEaseTo3DS Formats.m3DSConst

KeyUsesTension3DS Formats.m3DSConst

flags the face as being at a texture coord v wrap seam flags used by the rflags field of the keyheader3DS structure
kFaces Formats.Q3BSP

Stores the shader files (blending, anims..)
KFBiasMax3DS Formats.m3DSConst

Minimum key spline bias
KFBiasMin3DS Formats.m3DSConst

Maximum key spline continuity
KfBlurBranch3DS Formats.m3DSConst

KFContinuityMax3DS Formats.m3DSConst

Minimum key spline continuity
KFContinuityMin3DS Formats.m3DSConst

Maximum key spline tension
KFCURTIME Formats.m3DSConst

KFDATA Formats.m3DSConst

Keyframe Chunk IDs
KFEaseFromMax3DS Formats.m3DSConst

Minimum key spline ease from
KFEaseFromMin3DS Formats.m3DSConst

Maximum key spline ease to
KFEaseToMax3DS Formats.m3DSConst

Minimum key spline ease to
KFEaseToMin3DS Formats.m3DSConst

Maximum key spline bias
KfFastNode3DS Formats.m3DSConst

KFHDR Formats.m3DSConst

KFHdrStrMax3DS Formats.m3DSConst

Maximum lens size for camera KFHDR
KfHideNode3DS Formats.m3DSConst

KfMorphMtl3DS Formats.m3DSConst

KfMorphOb3DS Formats.m3DSConst

KfMotionBlur3DS Formats.m3DSConst

KfNodeAutoSmooth3DS Formats.m3DSConst

KfNodeFrozen3DS Formats.m3DSConst

KfNodeHasPath3DS Formats.m3DSConst

For the flags2 field
KfNodeOff3DS Formats.m3DSConst

flag settings for TKFMesh3DS, TKFOmni3DS, TKFCamera3DS, TKFAmbient and TKFSpot3DS ml: these flags correspond directly to NODE_RENDOB_HIDE etc. (see below), I don't know what these duplications are for... for the flags field
KFSEG Formats.m3DSConst

KFTensionMax3DS Formats.m3DSConst

Minimum key spline tension
KFTensionMin3DS Formats.m3DSConst

Maximum morph smoothing angle Keyframe Spline Limits
kLeafBrushes Formats.Q3BSP

Stores the leaf's indices into the faces
kLeafFaces Formats.Q3BSP

Stores the leafs of the nodes
kLeafs Formats.Q3BSP

Stores the BSP nodes
kLightmaps Formats.Q3BSP

Stores the faces for the level
kLightVolumes Formats.Q3BSP

Stores the lightmaps for the level
kMaxLumps Formats.Q3BSP

Stores PVS and cluster info (visibility)
kMeshVerts Formats.Q3BSP

Stores the level vertices
kModels Formats.Q3BSP

Stores the leaf's indices into the brushes
KMOD_ALT SDL2.Import

KMOD_CAPS SDL2.Import

KMOD_CTRL SDL2.Import

KMOD_GUI SDL2.Import

KMOD_LALT SDL2.Import

KMOD_LCTRL SDL2.Import

KMOD_LGUI SDL2.Import

KMOD_LSHIFT SDL2.Import

KMOD_MODE SDL2.Import

KMOD_NONE SDL2.Import

** * Enumeration of valid key mods (possibly OR'd together). *
KMOD_NUM SDL2.Import

KMOD_RALT SDL2.Import

KMOD_RCTRL SDL2.Import

KMOD_RESERVED SDL2.Import

KMOD_RGUI SDL2.Import

KMOD_RSHIFT SDL2.Import

KMOD_SHIFT SDL2.Import

kNodes Formats.Q3BSP

Stores the splitting planes
KNoID Formats.m3DSConst

Maximum fall off angle
kPlanes Formats.Q3BSP

Stores texture information
kShaders Formats.Q3BSP

Stores the model vertices offsets
kTextures Formats.Q3BSP

Stores player/object positions, etc...
kVertices Formats.Q3BSP

Stores the brush surfaces info
kVisData Formats.Q3BSP

Stores extra world lighting information
LayerFogBgnd Formats.m3DSConst

Fog Flags
LAYER_FOG Formats.m3DSConst

lcl_major GLS.SceneForm

lcl_minor GLS.SceneForm

lcl_release GLS.SceneForm

lcl_release GLS.Screen

LibOpenCL OpenCL.Import

LIGHT_NODE_TAG Formats.m3DSConst

LineLen GLS.FileOBJ

Allocate memory for the current line in chunks of LineLen Bytes.
LIN_COLOR_24 Formats.m3DSConst

LIN_COLOR_F Formats.m3DSConst

listtypeAVIHEADER Formats.VFW

mmioFOURCC('A', 'V', 'I', ' ')
listtypeAVIMOVIE Formats.VFW

mmioFOURCC('s', 't', 'r', 'n')
listtypeAVIRECORD Formats.VFW

mmioFOURCC('m', 'o', 'v', 'i')
listtypeSTREAMHEADER Formats.VFW

mmioFOURCC('a', 'v', 'i', 'h')
llMax GLS.Logger

llMedium GLS.Logger

llMin GLS.Logger

LMAGIC Formats.m3DSConst

LoShadowBiasMin3DS Formats.m3DSConst

noninclusive minimum value for master scale LO_SHADOW_BIAS chunk
LOWPASS_DEFAULT_GAIN Sounds.OpenALImport

LOWPASS_DEFAULT_GAINHF Sounds.OpenALImport

LOWPASS_MAX_GAIN Sounds.OpenALImport

LOWPASS_MAX_GAINHF Sounds.OpenALImport

LOWPASS_MIN_GAIN Sounds.OpenALImport

Filter ranges and defaults. Lowpass filter
LOWPASS_MIN_GAINHF Sounds.OpenALImport

LO_SHADOW_BIAS Formats.m3DSConst

L_TARGET_NODE_TAG Formats.m3DSConst

M3DMAGIC Formats.m3DSConst

3DS file Chunk IDs
M3D_KFVERSION Formats.m3DSConst

M3D_VERSION Formats.m3DSConst

MARK_NODE Formats.m3DSConst

MasterScaleMin3DS Formats.m3DSConst

MASTER_SCALE chunk
MASTER_SCALE Formats.m3DSConst

MatACubicAMax3DS Formats.m3DSConst

minimum reflection map aliasing
MatACubicAMin3DS Formats.m3DSConst

minimum frame skip count
MatACubicFMin3DS Formats.m3DSConst

maximum shading value MAT_ACUBIC_FMIN
MATMAGIC Formats.m3DSConst

MatMapNameStrMax3DS Formats.m3DSConst

Maximum floating point percentage MAT_MAPNAME
MatNameStrMax3DS Formats.m3DSConst

maximum string length for filename MAT_NAME
MatShadingMax3DS Formats.m3DSConst

minimum shading value
MatShadingMin3DS Formats.m3DSConst

maximum string length for material name MAT_SHADING
MAT_ACUBIC Formats.m3DSConst

MAT_ADDITIVE Formats.m3DSConst

MAT_AMBIENT Formats.m3DSConst

MAT_BUMPMAP Formats.m3DSConst

MAT_BUMPMASK Formats.m3DSConst

MAT_BUMP_PERCENT Formats.m3DSConst

MAT_DECAL Formats.m3DSConst

MAT_DIFFUSE Formats.m3DSConst

MAT_ENTRY Formats.m3DSConst

Material Chunk IDs
MAT_FACEMAP Formats.m3DSConst

MAT_MAPNAME Formats.m3DSConst

MAT_MAP_ANG Formats.m3DSConst

MAT_MAP_BCOL Formats.m3DSConst

MAT_MAP_COL1 Formats.m3DSConst

MAT_MAP_COL2 Formats.m3DSConst

MAT_MAP_GCOL Formats.m3DSConst

MAT_MAP_RCOL Formats.m3DSConst

MAT_MAP_TEXBLUR Formats.m3DSConst

MAT_MAP_TEXBLUR_OLD Formats.m3DSConst

MAT_MAP_TILING Formats.m3DSConst

MAT_MAP_TILINGOLD Formats.m3DSConst

MAT_MAP_UOFFSET Formats.m3DSConst

MAT_MAP_USCALE Formats.m3DSConst

MAT_MAP_VOFFSET Formats.m3DSConst

MAT_MAP_VSCALE Formats.m3DSConst

MAT_NAME Formats.m3DSConst

MAT_OPACMAP Formats.m3DSConst

MAT_OPACMASK Formats.m3DSConst

MAT_PHONGSOFT Formats.m3DSConst

MAT_REFBLUR Formats.m3DSConst

MAT_REFLMAP Formats.m3DSConst

MAT_REFLMASK Formats.m3DSConst

MAT_SELFIMAP Formats.m3DSConst

MAT_SELFIMASK Formats.m3DSConst

MAT_SELF_ILLUM Formats.m3DSConst

MAT_SELF_ILPCT Formats.m3DSConst

MAT_SHADING Formats.m3DSConst

MAT_SHIN2PCT Formats.m3DSConst

MAT_SHIN3PCT Formats.m3DSConst

MAT_SHININESS Formats.m3DSConst

MAT_SHINMAP Formats.m3DSConst

MAT_SHINMASK Formats.m3DSConst

MAT_SPECMAP Formats.m3DSConst

MAT_SPECMASK Formats.m3DSConst

MAT_SPECULAR Formats.m3DSConst

MAT_SUPERSMP Formats.m3DSConst

MAT_SXP_BUMP_DATA Formats.m3DSConst

MAT_SXP_BUMP_MASKDATA Formats.m3DSConst

MAT_SXP_OPAC_DATA Formats.m3DSConst

MAT_SXP_OPAC_MASKDATA Formats.m3DSConst

MAT_SXP_REFL_MASKDATA Formats.m3DSConst

MAT_SXP_SELFI_DATA Formats.m3DSConst

MAT_SXP_SELFI_MASKDATA Formats.m3DSConst

MAT_SXP_SHIN_DATA Formats.m3DSConst

MAT_SXP_SHIN_MASKDATA Formats.m3DSConst

MAT_SXP_SPEC_DATA Formats.m3DSConst

MAT_SXP_SPEC_MASKDATA Formats.m3DSConst

MAT_SXP_TEXT2_DATA Formats.m3DSConst

MAT_SXP_TEXT2_MASKDATA Formats.m3DSConst

MAT_SXP_TEXT_DATA Formats.m3DSConst

MAT_SXP_TEXT_MASKDATA Formats.m3DSConst

MAT_TEX2MAP Formats.m3DSConst

MAT_TEX2MASK Formats.m3DSConst

MAT_TEXMAP Formats.m3DSConst

MAT_TEXMASK Formats.m3DSConst

MAT_TRANSPARENCY Formats.m3DSConst

MAT_TWO_SIDE Formats.m3DSConst

MAT_USE_REFBLUR Formats.m3DSConst

MAT_USE_XPFALL Formats.m3DSConst

MAT_WIRE Formats.m3DSConst

MAT_WIREABS Formats.m3DSConst

MAT_WIRESIZE Formats.m3DSConst

MAT_XPFALL Formats.m3DSConst

MAT_XPFALLIN Formats.m3DSConst

MaxColorAttachments GLS.FBORenderer

MaxComp GLS.VectorGeometry

MaxDouble GLS.VectorGeometry

MaxExtended GLS.VectorGeometry

MaxSingle GLS.VectorGeometry

MaxTriangles GLS.Triangulation

MaxUserClasses Physics.ODEImport

ExportInitODEMarker
MaxVertices GLS.Triangulation

Set these as applicable
MaxVideoModes GLS.Screen

MAX_HARDWARE_LIGHT GLS.State

MAX_HARDWARE_TEXTURE_UNIT GLS.State

MAX_HARDWARE_UNIFORM_BUFFER_BINDING GLS.State

MAX_MATRIX_STACK_DEPTH GLS.PipelineTransformation

MAX_MD2_FRAMES Formats.MD2

MAX_MD2_SKINNAME Formats.MD2

MAX_MD2_SKINS Formats.MD2

MAX_MD2_TRIANGLES Formats.MD2

MAX_MD2_VERTICES Formats.MD2

MAX_MS3D_GROUPS GLS.FileMS3D

MAX_MS3D_JOINTS GLS.FileMS3D

MAX_MS3D_KEYFRAMES GLS.FileMS3D

MAX_MS3D_MATERIALS GLS.FileMS3D

MAX_MS3D_TRIANGLES GLS.FileMS3D

MAX_MS3D_VERTICES GLS.FileMS3D

MAX_OBJECT_STACK_DEPTH GLS.Selection

MAX_SHADER_LIGHT GLS.State

MAX_TEXTURES Formats.Q3BSP

MCIWNDF_NOAUTOSIZEMOVIE Formats.VFW

no toolbar
MCIWNDF_NOAUTOSIZEWINDOW Formats.VFW

– Window styles ————————————————————
MCIWNDF_NOERRORDLG Formats.VFW

Give a record button
MCIWNDF_NOMENU Formats.VFW

when window size changes
MCIWNDF_NOOPEN Formats.VFW

Show Error Dlgs for MCI cmds?
MCIWNDF_NOPLAYBAR Formats.VFW

when movie size changes
MCIWNDF_NOTIFYALL Formats.VFW

tell parent of an error
MCIWNDF_NOTIFYANSI Formats.VFW

tell all
MCIWNDF_NOTIFYERROR Formats.VFW

tell parent of size change
MCIWNDF_NOTIFYMEDIA Formats.VFW

tell parent of media change
MCIWNDF_NOTIFYMEDIAA Formats.VFW

The MEDIA notification includes a text string. To receive notifications in ANSI instead of unicode set the MCIWNDF_NOTIFYANSI style bit. The macro below includes this bit by default unless you define UNICODE in your application.
MCIWNDF_NOTIFYMEDIAW Formats.VFW

tell parent of media change
MCIWNDF_NOTIFYMODE Formats.VFW

show all
MCIWNDF_NOTIFYPOS Formats.VFW

tell parent of mode change
MCIWNDF_NOTIFYSIZE Formats.VFW

tell parent of pos change
MCIWNDF_RECORD Formats.VFW

MCIWNDF_SHOWALL Formats.VFW

show mode in caption
MCIWNDF_SHOWMODE Formats.VFW

show position in caption
MCIWNDF_SHOWNAME Formats.VFW

no popup menu from RBUTTONDOWN
MCIWNDF_SHOWPOS Formats.VFW

show name in caption
MCIWNDM_CAN_CONFIG Formats.VFW

MCIWNDM_CAN_EJECT Formats.VFW

MCIWNDM_CAN_PLAY Formats.VFW

MCIWNDM_CAN_RECORD Formats.VFW

MCIWNDM_CAN_SAVE Formats.VFW

MCIWNDM_CAN_WINDOW Formats.VFW

MCIWNDM_CHANGESTYLES Formats.VFW

MCIWNDM_EJECT Formats.VFW

MCIWNDM_GETACTIVETIMER Formats.VFW

MCIWNDM_GETALIAS Formats.VFW

MCIWNDM_GETDEVICE Formats.VFW

MCIWNDM_GETDEVICEA Formats.VFW

MCIWNDM_GETDEVICEID Formats.VFW

all the text-related messages are defined out of order above (they need to be defined before the MCIWndOpen() macros
MCIWNDM_GETDEVICEW Formats.VFW

MCIWNDM_GETEND Formats.VFW

MCIWNDM_GETERROR Formats.VFW

MCIWNDM_GETERRORA Formats.VFW

MCIWNDM_GETERRORW Formats.VFW

MCIWNDM_GETFILENAME Formats.VFW

MCIWNDM_GETFILENAMEA Formats.VFW

MCIWNDM_GETFILENAMEW Formats.VFW

MCIWNDM_GETINACTIVETIMER Formats.VFW

MCIWNDM_GETLENGTH Formats.VFW

MCIWNDM_GETMODE Formats.VFW

MCIWNDM_GETMODEA Formats.VFW

MCIWNDM_GETMODEW Formats.VFW

MCIWNDM_GETPALETTE Formats.VFW

MCIWNDM_GETPOSITION Formats.VFW

MCIWNDM_GETPOSITIONA Formats.VFW

MCIWNDM_GETPOSITIONW Formats.VFW

MCIWNDM_GETREPEAT Formats.VFW

MCIWNDM_GETSPEED Formats.VFW

MCIWNDM_GETSTART Formats.VFW

MCIWNDM_GETSTYLES Formats.VFW

MCIWNDM_GETTIMEFORMAT Formats.VFW

MCIWNDM_GETTIMEFORMATA Formats.VFW

MCIWNDM_GETTIMEFORMATW Formats.VFW

MCIWNDM_GETVOLUME Formats.VFW

MCIWNDM_GETZOOM Formats.VFW

MCIWNDM_GET_DEST Formats.VFW

MCIWNDM_GET_SOURCE Formats.VFW

MCIWNDM_NEW Formats.VFW

MCIWNDM_NEWA Formats.VFW

MCIWNDM_NEWW Formats.VFW

MCIWNDM_NOTIFYERROR Formats.VFW

wp = hwnd, lp = fn
MCIWNDM_NOTIFYMEDIA Formats.VFW

wp = hwnd
MCIWNDM_NOTIFYMODE Formats.VFW

– Messages MCIWND will send to an app ————————————–
MCIWNDM_NOTIFYPOS Formats.VFW

wp = hwnd, lp = mode
MCIWNDM_NOTIFYSIZE Formats.VFW

wp = hwnd, lp = pos
MCIWNDM_OPEN Formats.VFW

MCIWNDM_OPENA Formats.VFW

MCIWNDM_OPENINTERFACE Formats.VFW

MCIWNDM_OPENW Formats.VFW

MCIWNDM_PALETTEKICK Formats.VFW

MCIWNDM_PLAYFROM Formats.VFW

MCIWNDM_PLAYREVERSE Formats.VFW

MCIWNDM_PLAYTO Formats.VFW

MCIWNDM_PUT_DEST Formats.VFW

MCIWNDM_PUT_SOURCE Formats.VFW

MCIWNDM_REALIZE Formats.VFW

MCIWNDM_RETURNSTRING Formats.VFW

MCIWNDM_RETURNSTRINGA Formats.VFW

MCIWNDM_RETURNSTRINGW Formats.VFW

MCIWNDM_SENDSTRING Formats.VFW

– Map defaults to A ——————————————————–
MCIWNDM_SENDSTRINGA Formats.VFW

– Define both A and W messages ———————————————
MCIWNDM_SENDSTRINGW Formats.VFW

MCIWNDM_SETACTIVETIMER Formats.VFW

MCIWNDM_SETINACTIVETIMER Formats.VFW

MCIWNDM_SETOWNER Formats.VFW

MCIWNDM_SETPALETTE Formats.VFW

MCIWNDM_SETREPEAT Formats.VFW

MCIWNDM_SETSPEED Formats.VFW

MCIWNDM_SETTIMEFORMAT Formats.VFW

MCIWNDM_SETTIMEFORMATA Formats.VFW

MCIWNDM_SETTIMEFORMATW Formats.VFW

MCIWNDM_SETTIMERS Formats.VFW

MCIWNDM_SETVOLUME Formats.VFW

MCIWNDM_SETZOOM Formats.VFW

MCIWNDM_VALIDATEMEDIA Formats.VFW

MCIWNDOPENF_NEW Formats.VFW

– Flags for the MCIWndOpen command —————————————–
MCIWND_END Formats.VFW

MCIWND_START Formats.VFW

– Special seek values for START and END ————————————
MCIWND_WINDOW_CLASS Formats.VFW

MDATA Formats.m3DSConst

Mesh Chunk Ids
MDCFILE_IDENTITY GLS.FileMDC

MDCFILE_VERSION GLS.FileMDC

MDC_BASEVERTEX_FACTOR GLS.FileMDC

MDC_COMPVERTEX_FACTOR GLS.FileMDC

1/64;
MESH_COLOR Formats.m3DSConst

MESH_MATRIX Formats.m3DSConst

MESH_TEXTURE_INFO Formats.m3DSConst

MESH_VERSION Formats.m3DSConst

MidTexPoint GLS.VectorGeometry

MinComp GLS.VectorGeometry

1.1E+4932 <-Overflowing in c++;
MinDouble GLS.VectorGeometry

MinExtended GLS.VectorGeometry

MinSingle GLS.VectorGeometry

Ranges of the IEEE floating point types, including denormals with Math.pas compatible name
MinusXVector GLS.VectorGeometry

MinusYVector GLS.VectorGeometry

MinusZVector GLS.VectorGeometry

MIX_CHANNELS SDL2.Mixer

* The default mixer has 8 simultaneous mixing channels *
MIX_CHANNEL_POST SDL2.Mixer

* Special Effects API by ryan c. gordon. (icculus@icculus.org) *
MIX_DEFAULT_CHANNELS SDL2.Mixer

MIX_DEFAULT_FORMAT SDL2.Mixer

MIX_DEFAULT_FREQUENCY SDL2.Mixer

* Good default values for a PC soundcard *
MIX_EFFECTSMAXSPEED SDL2.Mixer

MIX_INIT_FLAC SDL2.Mixer

MIX_INIT_FLUIDSYNTH SDL2.Mixer

MIX_INIT_MOD SDL2.Mixer

MIX_INIT_MODPLUG SDL2.Mixer

MIX_INIT_MP3 SDL2.Mixer

MIX_INIT_OGG SDL2.Mixer

MIX_MAJOR_VERSION SDL2.Mixer

* Backwards compatibility *
MIX_MAX_VOLUME SDL2.Mixer

MIX_MINOR_VERSION SDL2.Mixer

MIX_PATCHLEVEL SDL2.Mixer

MLIBMAGIC Formats.m3DSConst

MorphSmoothMax3DS Formats.m3DSConst

Minimum morph smoothing angle
MorphSmoothMin3DS Formats.m3DSConst

Maximum morph object name string size MORPH_SMOOTH
MorphTrackStrMax3DS Formats.m3DSConst

Maximum instance name string size MORPH_TRACK
MORPH_SMOOTH Formats.m3DSConst

MORPH_TRACK_TAG Formats.m3DSConst

MORPH_TRACK_TAG_KEY Formats.m3DSConst

MRT_BUFFERS GLS.Context

Buffer ID's for Multiple-Render-Targets (using GL_ATI_draw_buffers)
MshMatGroupMin3DS Formats.m3DSConst

minimum number of faces MshMatGroup3DS
MshMatGroupStrMax3DS Formats.m3DSConst

minimum number of faces per material
MSH_BOXMAP Formats.m3DSConst

MSH_MAT_GROUP Formats.m3DSConst

MSH_MAT_GROUP_ENTRY Formats.m3DSConst

M_BEVEL Formats.m3DSConst

M_FIT Formats.m3DSConst

M_SCALE Formats.m3DSConst

M_TEETER Formats.m3DSConst

M_TWIST Formats.m3DSConst

NamedObjectStrMax3DS Formats.m3DSConst

Maximum map name string size NAMED_OBJECT
NAMED_OBJECT Formats.m3DSConst

NCameraFocMax3DS Formats.m3DSConst

Minimum lens size for camera
NCameraFocMin3DS Formats.m3DSConst

Maximum field of view for camera
NCameraFOVMax3DS Formats.m3DSConst

Minimum field of view for camera
NCameraFOVMin3DS Formats.m3DSConst

Maximum named object string size N_CAMERA
NETWORK_VIEW Formats.m3DSConst

NEWTON_API Physics.NewtonImport

.$DEFINE USE_DOUBLE_PRECISION
NEWTON_BROADPHASE_DEFAULT Physics.NewtonImport

NEWTON_BROADPHASE_PERSINTENT Physics.NewtonImport

NEWTON_DYNAMIC_ASYMETRIC_BODY Physics.NewtonImport

NEWTON_DYNAMIC_BODY Physics.NewtonImport

NEWTON_KINEMATIC_BODY Physics.NewtonImport

NEWTON_MAJOR_VERSION Physics.NewtonImport

NEWTON_MINOR_VERSION Physics.NewtonImport

NMF_HEADER_TAG GLS.FileNMF

NMF_TRIANGLE_TAG GLS.FileNMF

NodeHdrStrMax3DS Formats.m3DSConst

Maximum keyframe header name string size NODE_HDR
NodeTagCount Formats.m3DSConst

NodeTags Formats.m3DSConst

number of entries in node tag list
NODE_ANI_HIDDEN Formats.m3DSConst

NODE_AUTO_SMOOTH Formats.m3DSConst

NODE_BLUR_BRANCH Formats.m3DSConst

NODE_CALC_PATH Formats.m3DSConst

corresponds to mesh
NODE_FROZEN Formats.m3DSConst

NODE_HAS_PATH Formats.m3DSConst

Values for keyframer flags2
NODE_HDR Formats.m3DSConst

NODE_ID Formats.m3DSConst

NODE_MORPH_MTL Formats.m3DSConst

NODE_MORPH_OB Formats.m3DSConst

NODE_MOTION_BLUR Formats.m3DSConst

NODE_OFF Formats.m3DSConst

NODE_RENDOB_HIDE Formats.m3DSConst

do RGB color transform Values for keyframer flags1
NoFalloff Formats.m3DSConst

NotChunk Formats.m3DSConst

NullBoundingBox GLS.GeometryBB

NullHmgPoint GLS.VectorGeometry

NullHmgVector GLS.VectorGeometry

NullTexPoint GLS.VectorGeometry

NullVector GLS.VectorGeometry

NULL_CHUNK Formats.m3DSConst

—————– List of all chunk IDs ————————————-
N_AMBIENT_LIGHT Formats.m3DSConst

N_CAMERA Formats.m3DSConst

N_CAM_OLD Formats.m3DSConst

N_DIRECT_LIGHT Formats.m3DSConst

N_D_L_OLD Formats.m3DSConst

N_TRI_OBJECT Formats.m3DSConst

OBJECT_NODE_TAG Formats.m3DSConst

OBJ_DOESNT_CAST Formats.m3DSConst

OBJ_DONT_RCVSHADOW Formats.m3DSConst

OBJ_FAST Formats.m3DSConst

OBJ_FROZEN Formats.m3DSConst

OBJ_HIDDEN Formats.m3DSConst

OBJ_MATTE Formats.m3DSConst

OBJ_PROCEDURAL Formats.m3DSConst

OBJ_VIS_LOFTER Formats.m3DSConst

ODEDLL Physics.ODEImport

********************************************************************

ODE precision:

ODE can be run in Single or Double precision, Single is less precise, but requires less memory.

If you choose to run in Single mode, you must deploy the single precision dll (this is default)

If you choose to run in Double mode, you must deploy the double precision dll (named ode_double.dll and located in the dll directory) Insert . before "$" to make ODEImport double based
OLD_MAT_GROUP Formats.m3DSConst

opengl32 GLS.OpenGLAdapter

O_CONSTS Formats.m3DSConst

PARENT_NAME Formats.m3DSConst

PARENT_OBJECT Formats.m3DSConst

PATH_3D Formats.m3DSConst

PATH_MATRIX Formats.m3DSConst

PD_CAN_DRAW_DIB Formats.VFW

– Display profiling ——————————————————–
PD_CAN_STRETCHDIB Formats.VFW

if you can draw at all
PD_STRETCHDIB_1_1_OK Formats.VFW

basicly RC_STRETCHDIB
PD_STRETCHDIB_1_2_OK Formats.VFW

is it fast?
PD_STRETCHDIB_1_N_OK Formats.VFW

...
PhysXDLL Physics.PhysXImport

PIVOT Formats.m3DSConst

PIVOT_LIMITS Formats.m3DSConst

PIVOT_OBJECT Formats.m3DSConst

PIVOT_ORDER Formats.m3DSConst

PointArrayMin3DS Formats.m3DSConst

POINT_ARRAY
POINT_ARRAY Formats.m3DSConst

POINT_ARRAY_ENTRY Formats.m3DSConst

Trick Chunk Types For Open, Write, Close functions
POINT_FLAG_ARRAY Formats.m3DSConst

POINT_FLAG_ARRAY_ENTRY Formats.m3DSConst

POLS_FLAGS_MASK Formats.LWO

POLS_TYPE_BONE Formats.LWO

METABALL
POLS_TYPE_CURV Formats.LWO

FACES
POLS_TYPE_FACE Formats.LWO

PIXEL PLUG-IN FILTER
POLS_TYPE_MBAL Formats.LWO

PATCH
POLS_TYPE_PTCH Formats.LWO

CURVE
POLS_VCOUNT_MASK Formats.LWO

LINEAR
POLY_2D Formats.m3DSConst

POS_TRACK_TAG Formats.m3DSConst

POS_TRACK_TAG_KEY Formats.m3DSConst

PRESCALE Formats.m3DSConst

PRE_POST_CONSTANT Formats.LWO

RESET
PRE_POST_LINEAR Formats.LWO

OFFSET REPEAT
PRE_POST_OFFSET Formats.LWO

OSCILLATE
PRE_POST_OSCILLATE Formats.LWO

REPEAT
PRE_POST_REPEAT Formats.LWO

CONSTANT
PRE_POST_RESET Formats.LWO

SMOOTH GROUP
PRIMARY_NODE Formats.m3DSConst

draw node quickdraw style
ProcNameStrMax3DS Formats.m3DSConst

maximim string length for MshMatGroup PROC_NAME
PROC_DATA Formats.m3DSConst

PROC_NAME Formats.m3DSConst

PTAG_TYPE_PART Formats.LWO

SURFACE
PTAG_TYPE_SMGP Formats.LWO

PARENT PART
PTAG_TYPE_SURF Formats.LWO

SPOT MAP: ABSOLUTE VERTEX POSITIONS
P_ALPHANEG Formats.m3DSConst

P_ALPH_ALPHA Formats.m3DSConst

P_ALPH_BLUR Formats.m3DSConst

Old Chunk
P_ALPH_C0 Formats.m3DSConst

P_ALPH_CUTOFF Formats.m3DSConst

P_ALPH_IMAGE Formats.m3DSConst

P_ALPH_KCOL Formats.m3DSConst

P_ALPH_NONE Formats.m3DSConst

P_ALPH_OP_KEY Formats.m3DSConst

P_ALPH_OP_NOCONV Formats.m3DSConst

P_ALPH_OP_PSEUDO Formats.m3DSConst

Old Chunk
P_ALPH_PCOL Formats.m3DSConst

Replaces pseudo
P_ALPH_PSEUDO Formats.m3DSConst

P_ALPH_QUEIMG Formats.m3DSConst

P_ALPH_QUES Formats.m3DSConst

P_CUSTOM_SIZE Formats.m3DSConst

P_PROC_DATA Formats.m3DSConst

P_QUEUE_ALIGN Formats.m3DSConst

P_QUEUE_ENTRY Formats.m3DSConst

P_QUEUE_GRADIENT Formats.m3DSConst

P_QUEUE_IMAGE Formats.m3DSConst

P_QUEUE_KF Formats.m3DSConst

P_QUEUE_MB_REPEAT Formats.m3DSConst

P_QUEUE_MOTBLUR Formats.m3DSConst

P_QUEUE_NONE Formats.m3DSConst

P_QUEUE_OFFSET Formats.m3DSConst

P_QUEUE_PROC Formats.m3DSConst

P_QUEUE_RESIZE Formats.m3DSConst

P_QUEUE_SOLID Formats.m3DSConst

P_QUEUE_USEIGAMMA Formats.m3DSConst

P_RANGES Formats.m3DSConst

P_TRANNEG Formats.m3DSConst

P_TRAN_FADEIN Formats.m3DSConst

P_TRAN_FADEOUT Formats.m3DSConst

P_TRAN_FRAMES Formats.m3DSConst

P_TRAN_IMAGE Formats.m3DSConst

P_TRAN_NONE Formats.m3DSConst

QW_ERROR Sounds.BASSImport

-1 (DWORD)
RAY_BIAS Formats.m3DSConst

RelAll3DS Formats.m3DSConst

RelFaceArray3ds Formats.m3DSConst

RelMatArray3ds Formats.m3DSConst

RelProcData3ds Formats.m3DSConst

RelSmoothArray3ds Formats.m3DSConst

RelTextArray3ds Formats.m3DSConst

RelVertexArray3ds Formats.m3DSConst

field codes for RelMeshObjField3ds
RelVFlagArray3ds Formats.m3DSConst

RFOP_BACKDROP Formats.LWO

RFOP_RAYTRACEANDBACKDROP Formats.LWO

RFOP_RAYTRACEANDSPHERICALMAP Formats.LWO

RFOP_SPHERICALMAP Formats.LWO

ROLL_TRACK_TAG Formats.m3DSConst

ROLL_TRACK_TAG_KEY Formats.m3DSConst

ROT_TRACK_TAG Formats.m3DSConst

ROT_TRACK_TAG_KEY Formats.m3DSConst

RW_SEEK_CUR SDL2.Import

**< Seek from the beginning of data *
RW_SEEK_END SDL2.Import

**< Seek relative to current read point *
RW_SEEK_SET SDL2.Import

SCENE_SELECTED FmSceneEditor

SCL_TRACK_TAG Formats.m3DSConst

SCL_TRACK_TAG_KEY Formats.m3DSConst

SDLK_0 SDL2.Import

SDLK_1 SDL2.Import

SDLK_2 SDL2.Import

SDLK_3 SDL2.Import

SDLK_4 SDL2.Import

SDLK_5 SDL2.Import

SDLK_6 SDL2.Import

SDLK_7 SDL2.Import

SDLK_8 SDL2.Import

SDLK_9 SDL2.Import

SDLK_a SDL2.Import

SDLK_AC_BACK SDL2.Import

SDLK_AC_BOOKMARKS SDL2.Import

SDLK_AC_FORWARD SDL2.Import

SDLK_AC_HOME SDL2.Import

SDLK_AC_REFRESH SDL2.Import

SDLK_AC_SEARCH SDL2.Import

SDLK_AC_STOP SDL2.Import

SDLK_AGAIN SDL2.Import

SDLK_ALTERASE SDL2.Import

SDLK_AMPERSAND SDL2.Import

SDLK_APPLICATION SDL2.Import

SDLK_ASTERISK SDL2.Import

SDLK_AT SDL2.Import

SDLK_AUDIOMUTE SDL2.Import

SDLK_AUDIONEXT SDL2.Import

SDLK_AUDIOPLAY SDL2.Import

SDLK_AUDIOPREV SDL2.Import

SDLK_AUDIOSTOP SDL2.Import

SDLK_b SDL2.Import

SDLK_BACKQUOTE SDL2.Import

SDLK_BACKSLASH SDL2.Import

SDLK_BACKSPACE SDL2.Import

SDLK_BRIGHTNESSDOWN SDL2.Import

SDLK_BRIGHTNESSUP SDL2.Import

SDLK_c SDL2.Import

SDLK_CALCULATOR SDL2.Import

SDLK_CANCEL SDL2.Import

SDLK_CAPSLOCK SDL2.Import

SDLK_CARET SDL2.Import

SDLK_CLEAR SDL2.Import

SDLK_CLEARAGAIN SDL2.Import

SDLK_COLON SDL2.Import

SDLK_COMMA SDL2.Import

SDLK_COMPUTER SDL2.Import

SDLK_COPY SDL2.Import

SDLK_CRSEL SDL2.Import

SDLK_CURRENCYSUBUNIT SDL2.Import

SDLK_CURRENCYUNIT SDL2.Import

SDLK_CUT SDL2.Import

SDLK_d SDL2.Import

SDLK_DECIMALSEPARATOR SDL2.Import

SDLK_DELETE SDL2.Import

SDLK_DISPLAYSWITCH SDL2.Import

SDLK_DOLLAR SDL2.Import

SDLK_DOWN SDL2.Import

SDLK_e SDL2.Import

SDLK_EJECT SDL2.Import

SDLK_END SDL2.Import

SDLK_EQUALS SDL2.Import

SDLK_ESCAPE SDL2.Import

SDLK_EXCLAIM SDL2.Import

SDLK_EXECUTE SDL2.Import

SDLK_EXSEL SDL2.Import

SDLK_f SDL2.Import

SDLK_F1 SDL2.Import

SDLK_F10 SDL2.Import

SDLK_F11 SDL2.Import

SDLK_F12 SDL2.Import

SDLK_F13 SDL2.Import

SDLK_F14 SDL2.Import

SDLK_F15 SDL2.Import

SDLK_F16 SDL2.Import

SDLK_F17 SDL2.Import

SDLK_F18 SDL2.Import

SDLK_F19 SDL2.Import

SDLK_F2 SDL2.Import

SDLK_F20 SDL2.Import

SDLK_F21 SDL2.Import

SDLK_F22 SDL2.Import

SDLK_F23 SDL2.Import

SDLK_F24 SDL2.Import

SDLK_F3 SDL2.Import

SDLK_F4 SDL2.Import

SDLK_F5 SDL2.Import

SDLK_F6 SDL2.Import

SDLK_F7 SDL2.Import

SDLK_F8 SDL2.Import

SDLK_F9 SDL2.Import

SDLK_FIND SDL2.Import

SDLK_g SDL2.Import

SDLK_GREATER SDL2.Import

SDLK_h SDL2.Import

SDLK_HASH SDL2.Import

SDLK_HELP SDL2.Import

SDLK_HOME SDL2.Import

SDLK_i SDL2.Import

SDLK_INSERT SDL2.Import

SDLK_j SDL2.Import

SDLK_k SDL2.Import

SDLK_KBDILLUMDOWN SDL2.Import

SDLK_KBDILLUMTOGGLE SDL2.Import

SDLK_KBDILLUMUP SDL2.Import

SDLK_KP_0 SDL2.Import

SDLK_KP_00 SDL2.Import

SDLK_KP_000 SDL2.Import

SDLK_KP_1 SDL2.Import

SDLK_KP_2 SDL2.Import

SDLK_KP_3 SDL2.Import

SDLK_KP_4 SDL2.Import

SDLK_KP_5 SDL2.Import

SDLK_KP_6 SDL2.Import

SDLK_KP_7 SDL2.Import

SDLK_KP_8 SDL2.Import

SDLK_KP_9 SDL2.Import

SDLK_KP_A SDL2.Import

SDLK_KP_AMPERSAND SDL2.Import

SDLK_KP_AT SDL2.Import

SDLK_KP_B SDL2.Import

SDLK_KP_BACKSPACE SDL2.Import

SDLK_KP_BINARY SDL2.Import

SDLK_KP_C SDL2.Import

SDLK_KP_CLEAR SDL2.Import

SDLK_KP_CLEARENTRY SDL2.Import

SDLK_KP_COLON SDL2.Import

SDLK_KP_COMMA SDL2.Import

SDLK_KP_D SDL2.Import

SDLK_KP_DBLAMPERSAND SDL2.Import

SDLK_KP_DBLVERTICALBAR SDL2.Import

SDLK_KP_DECIMAL SDL2.Import

SDLK_KP_DIVIDE SDL2.Import

SDLK_KP_E SDL2.Import

SDLK_KP_ENTER SDL2.Import

SDLK_KP_EQUALS SDL2.Import

SDLK_KP_EQUALSAS400 SDL2.Import

SDLK_KP_EXCLAM SDL2.Import

SDLK_KP_F SDL2.Import

SDLK_KP_GREATER SDL2.Import

SDLK_KP_HASH SDL2.Import

SDLK_KP_HEXADECIMAL SDL2.Import

SDLK_KP_LEFTBRACE SDL2.Import

SDLK_KP_LEFTPAREN SDL2.Import

SDLK_KP_LESS SDL2.Import

SDLK_KP_MEMADD SDL2.Import

SDLK_KP_MEMCLEAR SDL2.Import

SDLK_KP_MEMDIVIDE SDL2.Import

SDLK_KP_MEMMULTIPLY SDL2.Import

SDLK_KP_MEMRECALL SDL2.Import

SDLK_KP_MEMSTORE SDL2.Import

SDLK_KP_MEMSUBTRACT SDL2.Import

SDLK_KP_MINUS SDL2.Import

SDLK_KP_MULTIPLY SDL2.Import

SDLK_KP_OCTAL SDL2.Import

SDLK_KP_PERCENT SDL2.Import

SDLK_KP_PERIOD SDL2.Import

SDLK_KP_PLUS SDL2.Import

SDLK_KP_PLUSMINUS SDL2.Import

SDLK_KP_POWER SDL2.Import

SDLK_KP_RIGHTBRACE SDL2.Import

SDLK_KP_RIGHTPAREN SDL2.Import

SDLK_KP_SPACE SDL2.Import

SDLK_KP_TAB SDL2.Import

SDLK_KP_VERTICALBAR SDL2.Import

SDLK_KP_XOR SDL2.Import

SDLK_l SDL2.Import

SDLK_LALT SDL2.Import

SDLK_LCTRL SDL2.Import

SDLK_LEFT SDL2.Import

SDLK_LEFTBRACKET SDL2.Import

* Skip uppercase letters *
SDLK_LEFTPAREN SDL2.Import

SDLK_LESS SDL2.Import

SDLK_LGUI SDL2.Import

SDLK_LSHIFT SDL2.Import

SDLK_m SDL2.Import

SDLK_MAIL SDL2.Import

SDLK_MEDIASELECT SDL2.Import

SDLK_MENU SDL2.Import

SDLK_MINUS SDL2.Import

SDLK_MODE SDL2.Import

SDLK_MUTE SDL2.Import

SDLK_n SDL2.Import

SDLK_NUMLOCKCLEAR SDL2.Import

SDLK_o SDL2.Import

SDLK_OPER SDL2.Import

SDLK_OUT SDL2.Import

SDLK_p SDL2.Import

SDLK_PAGEDOWN SDL2.Import

SDLK_PAGEUP SDL2.Import

SDLK_PASTE SDL2.Import

SDLK_PAUSE SDL2.Import

SDLK_PERCENT SDL2.Import

SDLK_PERIOD SDL2.Import

SDLK_PLUS SDL2.Import

SDLK_POWER SDL2.Import

SDLK_PRINTSCREEN SDL2.Import

SDLK_PRIOR SDL2.Import

SDLK_q SDL2.Import

SDLK_QUESTION SDL2.Import

SDLK_QUOTE SDL2.Import

SDLK_QUOTEDBL SDL2.Import

SDLK_r SDL2.Import

SDLK_RALT SDL2.Import

SDLK_RCTRL SDL2.Import

SDLK_RETURN SDL2.Import

SDLK_RETURN2 SDL2.Import

SDLK_RGUI SDL2.Import

SDLK_RIGHT SDL2.Import

SDLK_RIGHTBRACKET SDL2.Import

SDLK_RIGHTPAREN SDL2.Import

SDLK_RSHIFT SDL2.Import

SDLK_s SDL2.Import

SDLK_SCANCODE_MASK SDL2.Import

SDLK_SCROLLLOCK SDL2.Import

SDLK_SELECT SDL2.Import

SDLK_SEMICOLON SDL2.Import

SDLK_SEPARATOR SDL2.Import

SDLK_SLASH SDL2.Import

SDLK_SLEEP SDL2.Import

SDLK_SPACE SDL2.Import

SDLK_STOP SDL2.Import

SDLK_SYSREQ SDL2.Import

SDLK_t SDL2.Import

SDLK_TAB SDL2.Import

SDLK_THOUSANDSSEPARATOR SDL2.Import

SDLK_u SDL2.Import

SDLK_UNDERSCORE SDL2.Import

SDLK_UNDO SDL2.Import

SDLK_UNKNOWN SDL2.Import

SDLK_UP SDL2.Import

SDLK_v SDL2.Import

SDLK_VOLUMEDOWN SDL2.Import

SDLK_VOLUMEUP SDL2.Import

SDLK_w SDL2.Import

SDLK_WWW SDL2.Import

SDLK_x SDL2.Import

SDLK_y SDL2.Import

SDLK_z SDL2.Import

SDLNET_MAX_UDPADDRESSES SDL2.Net

* The maximum addresses bound to a single UDP socket channel *
SDLNET_MAX_UDPCHANNELS SDL2.Net

* The maximum channels on a a UDP socket *
SDL_ADDEVENT SDL2.Import

SDL_ALPHA_OPAQUE SDL2.Import

** * Transparency definitions * * These define alpha as the opacity of a surface. *
SDL_ALPHA_TRANSPARENT SDL2.Import

SDL_APP_DIDENTERBACKGROUND SDL2.Import

**< The application is about to enter the background Called on iOS in applicationWillResignActive() Called on Android in onPause() *
SDL_APP_DIDENTERFOREGROUND SDL2.Import

**< The application is about to enter the foreground Called on iOS in applicationWillEnterForeground() Called on Android in onResume() *
SDL_APP_LOWMEMORY SDL2.Import

**< The application is being terminated by the OS Called on iOS in applicationWillTerminate() Called on Android in onDestroy() *
SDL_APP_TERMINATING SDL2.Import

* These application events have special meaning on iOS, see README.iOS for details *
SDL_APP_WILLENTERBACKGROUND SDL2.Import

**< The application is low on memory, free memory if possible. Called on iOS in applicationDidReceiveMemoryWarning() Called on Android in onLowMemory() *
SDL_APP_WILLENTERFOREGROUND SDL2.Import

**< The application did enter the background and may not get CPU for some time Called on iOS in applicationDidEnterBackground() Called on Android in onPause() *
SDL_ARRAYORDER_ABGR SDL2.Import

SDL_ARRAYORDER_ARGB SDL2.Import

SDL_ARRAYORDER_BGR SDL2.Import

SDL_ARRAYORDER_BGRA SDL2.Import

SDL_ARRAYORDER_NONE SDL2.Import

** Array component order, low byte -> high byte. *
SDL_ARRAYORDER_RGB SDL2.Import

SDL_ARRAYORDER_RGBA SDL2.Import

SDL_AUDIO_ALLOW_ANY_CHANGE SDL2.Import

SDL_AUDIO_ALLOW_CHANNELS_CHANGE SDL2.Import

SDL_AUDIO_ALLOW_FORMAT_CHANGE SDL2.Import

SDL_AUDIO_ALLOW_FREQUENCY_CHANGE SDL2.Import

** * Allow change flags * * Which audio format changes are allowed when opening a device. *
SDL_AUDIO_MASK_BITSIZE SDL2.Import

** * Audio flags *
SDL_AUDIO_MASK_DATATYPE SDL2.Import

SDL_AUDIO_MASK_ENDIAN SDL2.Import

SDL_AUDIO_MASK_SIGNED SDL2.Import

SDL_BIG_ENDIAN SDL2.Import

SDL_BITMAPORDER_1234 SDL2.Import

SDL_BITMAPORDER_4321 SDL2.Import

SDL_BITMAPORDER_NONE SDL2.Import

** Bitmap pixel order, high bit -> low bit. *
SDL_BLENDMODE_ADD SDL2.Import

**< dst = (src * A) + (dst * (1-A)) *
SDL_BLENDMODE_BLEND SDL2.Import

**< No blending *
SDL_BLENDMODE_MOD SDL2.Import

**< dst = (src * A) + dst *
SDL_BLENDMODE_NONE SDL2.Import

SDL_BUTTON_LEFT SDL2.Import

** * Used as a mask when testing buttons in buttonstate. * - Button 1: Left mouse button * - Button 2: Middle mouse button * - Button 3: Right mouse button *
SDL_BUTTON_LMASK SDL2.Import

SDL_BUTTON_MIDDLE SDL2.Import

SDL_BUTTON_MMASK SDL2.Import

SDL_BUTTON_RIGHT SDL2.Import

SDL_BUTTON_RMASK SDL2.Import

SDL_BUTTON_X1 SDL2.Import

SDL_BUTTON_X1MASK SDL2.Import

SDL_BUTTON_X2 SDL2.Import

SDL_BUTTON_X2MASK SDL2.Import

SDL_BYTEORDER SDL2.Import

SDL_CLIPBOARDUPDATE SDL2.Import

Clipboard events
SDL_COMMONEVENT SDL2.Import

Unused (do not remove) (needed in pascal?)
SDL_CONTROLLERAXISMOTION SDL2.Import

Game controller events
SDL_CONTROLLERBUTTONDOWN SDL2.Import

Game controller axis motion
SDL_CONTROLLERBUTTONUP SDL2.Import

Game controller button pressed
SDL_CONTROLLERDEVICEADDED SDL2.Import

Game controller button released
SDL_CONTROLLERDEVICEREMAPPED SDL2.Import

An opened Game controller has been removed
SDL_CONTROLLERDEVICEREMOVED SDL2.Import

A new Game controller has been inserted into the system
SDL_CONTROLLER_AXIS_INVALID SDL2.Import

** * The list of axes available from a controller *
SDL_CONTROLLER_AXIS_LEFTX SDL2.Import

SDL_CONTROLLER_AXIS_LEFTY SDL2.Import

SDL_CONTROLLER_AXIS_MAX SDL2.Import

SDL_CONTROLLER_AXIS_RIGHTX SDL2.Import

SDL_CONTROLLER_AXIS_RIGHTY SDL2.Import

SDL_CONTROLLER_AXIS_TRIGGERLEFT SDL2.Import

SDL_CONTROLLER_AXIS_TRIGGERRIGHT SDL2.Import

SDL_CONTROLLER_BUTTON_A SDL2.Import

SDL_CONTROLLER_BUTTON_B SDL2.Import

SDL_CONTROLLER_BUTTON_BACK SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_DOWN SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_LEFT SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_RIGHT SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_UP SDL2.Import

SDL_CONTROLLER_BUTTON_GUIDE SDL2.Import

SDL_CONTROLLER_BUTTON_INVALID SDL2.Import

** * The list of buttons available from a controller *
SDL_CONTROLLER_BUTTON_LEFTSHOULDER SDL2.Import

SDL_CONTROLLER_BUTTON_LEFTSTICK SDL2.Import

SDL_CONTROLLER_BUTTON_MAX SDL2.Import

SDL_CONTROLLER_BUTTON_RIGHTSHOULDER SDL2.Import

SDL_CONTROLLER_BUTTON_RIGHTSTICK SDL2.Import

SDL_CONTROLLER_BUTTON_START SDL2.Import

SDL_CONTROLLER_BUTTON_X SDL2.Import

SDL_CONTROLLER_BUTTON_Y SDL2.Import

SDL_DISABLE SDL2.Import

SDL_DOLLARGESTURE SDL2.Import

Gesture events
SDL_DOLLARRECORD SDL2.Import

SDL_DONTFREE SDL2.Import

**< Surface is RLE encoded *
SDL_DROPFILE SDL2.Import

Drag and drop events
SDL_ENABLE SDL2.Import

SDL_FINGERDOWN SDL2.Import

Touch events
SDL_FINGERMOTION SDL2.Import

SDL_FINGERUP SDL2.Import

SDL_FIRSTEVENT SDL2.Import

** * The types of events that can be delivered. *
SDL_GETEVENT SDL2.Import

SDL_GL_ACCELERATED_VISUAL SDL2.Import

SDL_GL_ACCUM_ALPHA_SIZE SDL2.Import

SDL_GL_ACCUM_BLUE_SIZE SDL2.Import

SDL_GL_ACCUM_GREEN_SIZE SDL2.Import

SDL_GL_ACCUM_RED_SIZE SDL2.Import

SDL_GL_ALPHA_SIZE SDL2.Import

SDL_GL_BLUE_SIZE SDL2.Import

SDL_GL_BUFFER_SIZE SDL2.Import

SDL_GL_CONTEXT_DEBUG_FLAG SDL2.Import

SDL_GL_CONTEXT_EGL SDL2.Import

SDL_GL_CONTEXT_FLAGS SDL2.Import

SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG SDL2.Import

SDL_GL_CONTEXT_MAJOR_VERSION SDL2.Import

SDL_GL_CONTEXT_MINOR_VERSION SDL2.Import

SDL_GL_CONTEXT_PROFILE_COMPATIBILITY SDL2.Import

SDL_GL_CONTEXT_PROFILE_CORE SDL2.Import

SDL_GL_CONTEXT_PROFILE_ES SDL2.Import

SDL_GL_CONTEXT_PROFILE_MASK SDL2.Import

SDL_GL_CONTEXT_RESET_ISOLATION_FLAG SDL2.Import

SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG SDL2.Import

SDL_GL_DEPTH_SIZE SDL2.Import

SDL_GL_DOUBLEBUFFER SDL2.Import

SDL_GL_GREEN_SIZE SDL2.Import

SDL_GL_MULTISAMPLEBUFFERS SDL2.Import

SDL_GL_MULTISAMPLESAMPLES SDL2.Import

SDL_GL_RED_SIZE SDL2.Import

** * OpenGL configuration attributes *
SDL_GL_RETAINED_BACKING SDL2.Import

SDL_GL_SHARE_WITH_CURRENT_CONTEXT SDL2.Import

SDL_GL_STENCIL_SIZE SDL2.Import

SDL_GL_STEREO SDL2.Import

SDL_HAPTIC_AUTOCENTER SDL2.Import

** * Device can set autocenter. * * Device supports setting autocenter. * * SDL_HapticSetAutocenter *
SDL_HAPTIC_CARTESIAN SDL2.Import

** * Uses cartesian coordinates for the direction. * * SDL_HapticDirection *
SDL_HAPTIC_CONSTANT SDL2.Import

** * Constant effect supported. * * Constant haptic effect. * * SDL_HapticCondition *
SDL_HAPTIC_CUSTOM SDL2.Import

** * Custom effect is supported. * * User defined custom haptic effect. *
SDL_HAPTIC_DAMPER SDL2.Import

** * Damper effect supported - uses axes velocity. * * Condition haptic effect that simulates dampening. Effect is based on the * axes velocity. * * SDL_HapticCondition *
SDL_HAPTIC_FRICTION SDL2.Import

** * Friction effect supported - uses axes movement. * * Condition haptic effect that simulates friction. Effect is based on the * axes movement. * * SDL_HapticCondition *
SDL_HAPTIC_GAIN SDL2.Import

** * Device can set global gain. * * Device supports setting the global gain. * * SDL_HapticSetGain *
SDL_HAPTIC_INERTIA SDL2.Import

** * Inertia effect supported - uses axes acceleration. * * Condition haptic effect that simulates inertia. Effect is based on the axes * acceleration. * * SDL_HapticCondition *
SDL_HAPTIC_INFINITY SDL2.Import

SDL_HAPTIC_INFINITY = 4294967295U;
SDL_HAPTIC_PAUSE SDL2.Import

** * Device can be paused. * * SDL_HapticPause * SDL_HapticUnpause *
SDL_HAPTIC_POLAR SDL2.Import

** * Uses polar coordinates for the direction. * * SDL_HapticDirection *
SDL_HAPTIC_RAMP SDL2.Import

** * Ramp effect supported. * * Ramp haptic effect. * * SDL_HapticRamp *
SDL_HAPTIC_SAWTOOTHDOWN SDL2.Import

** * Sawtoothdown wave effect supported. * * Periodic haptic effect that simulates saw tooth down waves. * * SDL_HapticPeriodic *
SDL_HAPTIC_SAWTOOTHUP SDL2.Import

** * Sawtoothup wave effect supported. * * Periodic haptic effect that simulates saw tooth up waves. * * SDL_HapticPeriodic *
SDL_HAPTIC_SINE SDL2.Import

** * Sine wave effect supported. * * Periodic haptic effect that simulates sine waves. * * SDL_HapticPeriodic *
SDL_HAPTIC_SPHERICAL SDL2.Import

** * Uses spherical coordinates for the direction. * * SDL_HapticDirection *
SDL_HAPTIC_SPRING SDL2.Import

** * Spring effect supported - uses axes position. * * Condition haptic effect that simulates a spring. Effect is based on the * axes position. * * SDL_HapticCondition *
SDL_HAPTIC_SQUARE SDL2.Import

** * Square wave effect supported. * * Periodic haptic effect that simulates square waves. * * SDL_HapticPeriodic *
SDL_HAPTIC_STATUS SDL2.Import

** * Device can be queried for effect status. * * Device can be queried for effect status. * * SDL_HapticGetEffectStatus *
SDL_HAPTIC_TRIANGLE SDL2.Import

** * Triangle wave effect supported. * * Periodic haptic effect that simulates triangular waves. * * SDL_HapticPeriodic *
SDL_HAT_CENTERED SDL2.Import

** * Hat positions *
SDL_HAT_DOWN SDL2.Import

SDL_HAT_LEFT SDL2.Import

SDL_HAT_LEFTDOWN SDL2.Import

SDL_HAT_LEFTUP SDL2.Import

SDL_HAT_RIGHT SDL2.Import

SDL_HAT_RIGHTDOWN SDL2.Import

SDL_HAT_RIGHTUP SDL2.Import

SDL_HAT_UP SDL2.Import

SDL_HINT_ALLOW_TOPMOST SDL2.Import

/** * \brief If set to 0 then never set the top most bit on a SDL Window, even if the video mode expects it. * This is a debugging aid for developers and not expected to be used by end users. The default is "1" * * This variable can be set to the following values: * "0" - don't allow topmost * "1" - allow topmost */
SDL_HINT_FRAMEBUFFER_ACCELERATION SDL2.Import

* * \brief A variable controlling how 3D acceleration is used to accelerate the SDL screen surface. * * SDL can try to accelerate the SDL screen surface by using streaming * textures with a 3D rendering engine. This variable controls whether and * how this is done. * * This variable can be set to the following values: * "0" - Disable 3D acceleration * "1" - Enable 3D acceleration, using the default renderer. * "X" - Enable 3D acceleration, using X where X is one of the valid rendering drivers. (e.g. "direct3d", "opengl", etc.) * * By default SDL tries to make a best guess for each platform whether * to use acceleration or not.
SDL_HINT_GAMECONTROLLERCONFIG SDL2.Import

/** * \brief A variable that lets you manually hint extra gamecontroller db entries * * The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h * * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping() */
SDL_HINT_GRAB_KEYBOARD SDL2.Import

/** * \brief A variable controlling whether grabbing input grabs the keyboard * * This variable can be set to the following values: * "0" - Grab will affect only the mouse * "1" - Grab will affect mouse and keyboard * * By default SDL will not grab the keyboard so system shortcuts still work. */
SDL_HINT_IDLE_TIMER_DISABLED SDL2.Import

/** * \brief A variable controlling whether the idle timer is disabled on iOS. * * When an iOS app does not receive touches for some time, the screen is * dimmed automatically. For games where the accelerometer is the only input * this is problematic. This functionality can be disabled by setting this * hint. * * This variable can be set to the following values: * "0" - Enable idle timer * "1" - Disable idle timer */
SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS SDL2.Import

/** * \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background. * * The variable can be set to the following values: * "0" - Disable joystick & gamecontroller input events when the * application is in the background. * "1" - Enable joystick & gamecontroller input events when the * application is in the backgroumd. * * The default value is "0". This hint may be set at any time. */
SDL_HINT_ORIENTATIONS SDL2.Import

/** * \brief A variable controlling which orientations are allowed on iOS. * * In some circumstances it is necessary to be able to explicitly control * which UI orientations are allowed. * * This variable is a space delimited list of the following values: * "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown" */
SDL_HINT_RENDER_DIRECT3D_THREADSAFE SDL2.Import

/** * \brief A hint that specifies whether the Direct3D device is initialized for thread-safe operations. * * By default the Direct3D device is created with thread-safety disabled. * * This variable can be set to the following values: * "0" - disable thread-safety (faster) * "1" - enable thread-safety (slower) */
SDL_HINT_RENDER_DRIVER SDL2.Import

/** * \brief A variable specifying which render driver to use. * * If the application doesn't pick a specific renderer to use, this variable * specifies the name of the preferred renderer. If the preferred renderer * can't be initialized, the normal default renderer is used. * * This variable is case insensitive and can be set to the following values: * "direct3d" * "opengl" * "opengles2" * "opengles" * "software" * * The default varies by platform, but it's the first one in the list that * is available on the current platform. */
SDL_HINT_RENDER_OPENGL_SHADERS SDL2.Import

/** * \brief A variable controlling whether the OpenGL render driver uses shaders if they are available. * * This variable can be set to the following values: * "0" - Disable shaders * "1" - Enable shaders * * By default shaders are used if OpenGL supports them. */
SDL_HINT_RENDER_SCALE_QUALITY SDL2.Import

/** * \brief A variable controlling the scaling quality * * This variable can be set to the following values: * "0" or "nearest" - Nearest pixel sampling * "1" or "linear" - Linear filtering (supported by OpenGL and Direct3D) * "2" or "best" - Currently this is the same as "linear" * * By default nearest pixel sampling is used */
SDL_HINT_RENDER_VSYNC SDL2.Import

/** * \brief A variable controlling whether updates to the SDL screen surface should be synchronized with the vertical refresh, to avoid tearing. * * This variable can be set to the following values: * "0" - Disable vsync * "1" - Enable vsync * * By default SDL does not sync screen surface updates with vertical refresh. */
SDL_HINT_TIMER_RESOLUTION SDL2.Import

/** * \brief A variable that controls the timer resolution, in milliseconds. * * The higher resolution the timer, the more frequently the CPU services * timer interrupts, and the more precise delays are, but this takes up * power and CPU time. This hint is only used on Windows 7 and earlier. * * See this blog post for more information: * http://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/ * * If this variable is set to "0", the system timer resolution is not set. * * The default value is "1". This hint may be set at any time. */
SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS SDL2.Import

/** * \brief Minimize your SDL_Window if it loses key focus when in Fullscreen mode. Defaults to true. * */
SDL_HINT_VIDEO_X11_XINERAMA SDL2.Import

/** * \brief A variable controlling whether the X11 Xinerama extension should be used. * * This variable can be set to the following values: * "0" - Disable Xinerama * "1" - Enable Xinerama * * By default SDL will use Xinerama if it is available. */
SDL_HINT_VIDEO_X11_XRANDR SDL2.Import

/** * \brief A variable controlling whether the X11 XRandR extension should be used. * * This variable can be set to the following values: * "0" - Disable XRandR * "1" - Enable XRandR * * By default SDL will not use XRandR because of window manager issues. */
SDL_HINT_VIDEO_X11_XVIDMODE SDL2.Import

/** * \brief A variable controlling whether the X11 VidMode extension should be used. * * This variable can be set to the following values: * "0" - Disable XVidMode * "1" - Enable XVidMode * * By default SDL will use XVidMode if it is available. */
SDL_HINT_XINPUT_ENABLED SDL2.Import

/** * \brief A variable that lets you disable the detection and use of Xinput gamepad devices * * The variable can be set to the following values: * "0" - Disable XInput timer (only uses direct input) * "1" - Enable XInput timer (the default) */
SDL_IGNORE SDL2.Import

SDL_ImageLibName SDL2.Image

SDL_IMAGE_MAJOR_VERSION SDL2.Image

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *
SDL_IMAGE_MINOR_VERSION SDL2.Image

SDL_IMAGE_PATCHLEVEL SDL2.Image

SDL_INIT_AUDIO SDL2.Import

SDL_INIT_EVERYTHING SDL2.Import

Don't catch fatal signals
SDL_INIT_GAMECONTROLLER SDL2.Import

SDL_INIT_HAPTIC SDL2.Import

SDL_INIT_JOYSTICK SDL2.Import

SDL_INIT_NOPARACHUTE SDL2.Import

turn on game controller also implicitly does JOYSTICK
SDL_INIT_TIMER SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
SDL_INIT_VIDEO SDL2.Import

SDL_INVALID_SHAPE_ARGUMENT SDL2.Import

SDL_JOYAXISMOTION SDL2.Import

Joystick events
SDL_JOYBALLMOTION SDL2.Import

Joystick axis motion
SDL_JOYBUTTONDOWN SDL2.Import

Joystick hat position change
SDL_JOYBUTTONUP SDL2.Import

Joystick button pressed
SDL_JOYDEVICEADDED SDL2.Import

Joystick button released
SDL_JOYDEVICEREMOVED SDL2.Import

A new joystick has been inserted into the system
SDL_JOYHATMOTION SDL2.Import

Joystick trackball motion
SDL_KEYDOWN SDL2.Import

Keyboard events
SDL_KEYUP SDL2.Import

Key pressed
SDL_LASTEVENT SDL2.Import

** * This last event is only for bounding internal arrays (needed in pascal ??) *
SDL_LibName SDL2.Import

SDL_LIL_ENDIAN SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_byteorder.h //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// SDL_byteorder.h constants The two types of endianness
SDL_MAJOR_VERSION SDL2.Import

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *
SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT SDL2.Import

**< Marks the default button when return is hit *
SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT SDL2.Import

** * Flags for SDL_MessageBoxButtonData. *
SDL_MESSAGEBOX_ERROR SDL2.Import

** * SDL_MessageBox flags. If supported will display warning icon, etc. *
SDL_MESSAGEBOX_INFORMATION SDL2.Import

**< warning dialog *
SDL_MESSAGEBOX_WARNING SDL2.Import

**< error dialog *
SDL_MINOR_VERSION SDL2.Import

SDL_MixerLibName SDL2.Mixer

SDL_MIXER_MAJOR_VERSION SDL2.Mixer

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *
SDL_MIXER_MINOR_VERSION SDL2.Mixer

SDL_MIXER_PATCHLEVEL SDL2.Mixer

SDL_MIX_MAXVOLUME SDL2.Import

SDL_MOUSEBUTTONDOWN SDL2.Import

Mouse moved
SDL_MOUSEBUTTONUP SDL2.Import

Mouse button pressed
SDL_MOUSEMOTION SDL2.Import

Mouse events
SDL_MOUSEWHEEL SDL2.Import

Mouse button released
SDL_MULTIGESTURE SDL2.Import

SDL_MUTEX_TIMEDOUT SDL2.Import

** * Synchronization functions which can time out return this value * if they time out. *
SDL_NetLibName SDL2.Net

SDL_NET_MAJOR_VERSION SDL2.Net

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *
SDL_NET_MINOR_VERSION SDL2.Net

SDL_NET_PATCHLEVEL SDL2.Net

SDL_NONSHAPEABLE_WINDOW SDL2.Import

** SDL_shape.h * * Header file for the shaped window API. *
SDL_NUM_SCANCODES SDL2.Import

* Add any other keys here. *
SDL_NUM_SYSTEM_CURSORS SDL2.Import

Hand
SDL_PACKEDLAYOUT_1010102 SDL2.Import

SDL_PACKEDLAYOUT_1555 SDL2.Import

SDL_PACKEDLAYOUT_2101010 SDL2.Import

SDL_PACKEDLAYOUT_332 SDL2.Import

SDL_PACKEDLAYOUT_4444 SDL2.Import

SDL_PACKEDLAYOUT_5551 SDL2.Import

SDL_PACKEDLAYOUT_565 SDL2.Import

SDL_PACKEDLAYOUT_8888 SDL2.Import

SDL_PACKEDLAYOUT_NONE SDL2.Import

** Packed component layout. *
SDL_PACKEDORDER_ABGR SDL2.Import

SDL_PACKEDORDER_ARGB SDL2.Import

SDL_PACKEDORDER_BGRA SDL2.Import

SDL_PACKEDORDER_BGRX SDL2.Import

SDL_PACKEDORDER_NONE SDL2.Import

** Packed component order, high bit -> low bit. *
SDL_PACKEDORDER_RGBA SDL2.Import

SDL_PACKEDORDER_RGBX SDL2.Import

SDL_PACKEDORDER_XBGR SDL2.Import

SDL_PACKEDORDER_XRGB SDL2.Import

SDL_PATCHLEVEL SDL2.Import

SDL_PEEKEVENT SDL2.Import

SDL_PIXELFORMAT_ABGR1555 SDL2.Import

SDL_PIXELFORMAT_ABGR4444 SDL2.Import

SDL_PIXELFORMAT_ABGR8888 SDL2.Import

SDL_PIXELFORMAT_ARGB1555 SDL2.Import

SDL_PIXELFORMAT_ARGB2101010 SDL2.Import

SDL_PIXELFORMAT_ARGB4444 SDL2.Import

SDL_PIXELFORMAT_ARGB8888 SDL2.Import

SDL_PIXELFORMAT_BGR24 SDL2.Import

SDL_PIXELFORMAT_BGR555 SDL2.Import

SDL_PIXELFORMAT_BGR565 SDL2.Import

SDL_PIXELFORMAT_BGR888 SDL2.Import

SDL_PIXELFORMAT_BGRA4444 SDL2.Import

SDL_PIXELFORMAT_BGRA5551 SDL2.Import

SDL_PIXELFORMAT_BGRA8888 SDL2.Import

SDL_PIXELFORMAT_BGRX8888 SDL2.Import

SDL_PIXELFORMAT_INDEX1LSB SDL2.Import

SDL_PIXELFORMAT_INDEX1MSB SDL2.Import

SDL_PIXELFORMAT_INDEX4LSB SDL2.Import

SDL_PIXELFORMAT_INDEX4MSB SDL2.Import

SDL_PIXELFORMAT_INDEX8 SDL2.Import

SDL_PIXELFORMAT_IYUV SDL2.Import

**< Planar mode: Y + U + V (3 planes) *
SDL_PIXELFORMAT_RGB24 SDL2.Import

SDL_PIXELFORMAT_RGB332 SDL2.Import

SDL_PIXELFORMAT_RGB444 SDL2.Import

SDL_PIXELFORMAT_RGB555 SDL2.Import

SDL_PIXELFORMAT_RGB565 SDL2.Import

SDL_PIXELFORMAT_RGB888 SDL2.Import

SDL_PIXELFORMAT_RGBA4444 SDL2.Import

SDL_PIXELFORMAT_RGBA5551 SDL2.Import

SDL_PIXELFORMAT_RGBA8888 SDL2.Import

SDL_PIXELFORMAT_RGBX8888 SDL2.Import

SDL_PIXELFORMAT_UNKNOWN SDL2.Import

#define SDL_BYTESPERPIXEL(X) \ (SDL_ISPIXELFORMAT_FOURCC(X) ? \ ((((X) == SDL_PIXELFORMAT_YUY2) || \ ((X) == SDL_PIXELFORMAT_UYVY) || \ ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))

#define SDL_ISPIXELFORMAT_INDEXED(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))

#define SDL_ISPIXELFORMAT_ALPHA(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA)))

function SDL_IsPixelFormat_FOURCC(format: Variant);

{* Note: If you modify this list, update SDL_GetPixelFormatName() *
SDL_PIXELFORMAT_UYVY SDL2.Import

**< Packed mode: U0+Y0+V0+Y1 (1 plane) *
SDL_PIXELFORMAT_YUY2 SDL2.Import

**< Packed mode: Y0+U0+Y1+V0 (1 plane) *
SDL_PIXELFORMAT_YV12 SDL2.Import

**< Planar mode: Y + V + U (3 planes) *
SDL_PIXELFORMAT_YVYU SDL2.Import

**< Packed mode: Y0+V0+Y1+U0 (1 plane) *
SDL_PIXELTYPE_ARRAYF16 SDL2.Import

SDL_PIXELTYPE_ARRAYF32 SDL2.Import

SDL_PIXELTYPE_ARRAYU16 SDL2.Import

SDL_PIXELTYPE_ARRAYU32 SDL2.Import

SDL_PIXELTYPE_ARRAYU8 SDL2.Import

SDL_PIXELTYPE_INDEX1 SDL2.Import

SDL_PIXELTYPE_INDEX4 SDL2.Import

SDL_PIXELTYPE_INDEX8 SDL2.Import

SDL_PIXELTYPE_PACKED16 SDL2.Import

SDL_PIXELTYPE_PACKED32 SDL2.Import

SDL_PIXELTYPE_PACKED8 SDL2.Import

SDL_PIXELTYPE_UNKNOWN SDL2.Import

** Pixel type. *
SDL_PREALLOC SDL2.Import

**< Just here for compatibility *
SDL_QUERY SDL2.Import

SDL_QUITEV SDL2.Import

Application events
SDL_RENDERER_ACCELERATED SDL2.Import

**< The renderer is a software fallback *
SDL_RENDERER_PRESENTVSYNC SDL2.Import

**< The renderer uses hardware acceleration *
SDL_RENDERER_SOFTWARE SDL2.Import

** * Flags used when creating a rendering context *
SDL_RENDERER_TARGETTEXTURE SDL2.Import

**< Present is synchronized with the refresh rate *
SDL_RLEACCEL SDL2.Import

**< Surface uses preallocated memory *
SDL_RWOPS_JNIFILE SDL2.Import

* Stdio file *
SDL_RWOPS_MEMORY SDL2.Import

* Android asset *
SDL_RWOPS_MEMORY_RO SDL2.Import

* Memory stream *
SDL_RWOPS_STDFILE SDL2.Import

* Win32 file *
SDL_RWOPS_UNKNOWN SDL2.Import

* RWops Types *
SDL_RWOPS_WINFILE SDL2.Import

* Unknown stream type *
SDL_SCANCODE_0 SDL2.Import

SDL_SCANCODE_1 SDL2.Import

SDL_SCANCODE_2 SDL2.Import

SDL_SCANCODE_3 SDL2.Import

SDL_SCANCODE_4 SDL2.Import

SDL_SCANCODE_5 SDL2.Import

SDL_SCANCODE_6 SDL2.Import

SDL_SCANCODE_7 SDL2.Import

SDL_SCANCODE_8 SDL2.Import

SDL_SCANCODE_9 SDL2.Import

SDL_SCANCODE_A SDL2.Import

** * Usage page $07 * * These values are from usage page $07 (USB keyboard page). *
SDL_SCANCODE_AC_BACK SDL2.Import

SDL_SCANCODE_AC_BOOKMARKS SDL2.Import

SDL_SCANCODE_AC_FORWARD SDL2.Import

SDL_SCANCODE_AC_HOME SDL2.Import

SDL_SCANCODE_AC_REFRESH SDL2.Import

SDL_SCANCODE_AC_SEARCH SDL2.Import

SDL_SCANCODE_AC_STOP SDL2.Import

SDL_SCANCODE_AGAIN SDL2.Import

SDL_SCANCODE_ALTERASE SDL2.Import

**< reserved *
SDL_SCANCODE_APOSTROPHE SDL2.Import

SDL_SCANCODE_APP1 SDL2.Import

SDL_SCANCODE_APP2 SDL2.Import

SDL_SCANCODE_APPLICATION SDL2.Import

**< This is the additional key that ISO * keyboards have over ANSI ones; * located between left shift and Y. * Produces GRAVE ACCENT and TILDE in a * US or UK Mac layout; REVERSE SOLIDUS * (backslash) and VERTICAL LINE in a * US or UK Windows layout; and * LESS-THAN SIGN and GREATER-THAN SIGN * in a Swiss German; German; or French * layout. *
SDL_SCANCODE_AUDIOMUTE SDL2.Import

SDL_SCANCODE_AUDIONEXT SDL2.Import

** * Usage page $0C * * These values are mapped from usage page $0C (USB consumer page). *
SDL_SCANCODE_AUDIOPLAY SDL2.Import

SDL_SCANCODE_AUDIOPREV SDL2.Import

SDL_SCANCODE_AUDIOSTOP SDL2.Import

SDL_SCANCODE_B SDL2.Import

SDL_SCANCODE_BACKSLASH SDL2.Import

SDL_SCANCODE_BACKSPACE SDL2.Import

SDL_SCANCODE_BRIGHTNESSDOWN SDL2.Import

** * Walther keys * * These are values that Christian Walther added (for mac keyboard?). *
SDL_SCANCODE_BRIGHTNESSUP SDL2.Import

SDL_SCANCODE_C SDL2.Import

SDL_SCANCODE_CALCULATOR SDL2.Import

SDL_SCANCODE_CANCEL SDL2.Import

SDL_SCANCODE_CAPSLOCK SDL2.Import

SDL_SCANCODE_CLEAR SDL2.Import

SDL_SCANCODE_CLEARAGAIN SDL2.Import

SDL_SCANCODE_COMMA SDL2.Import

**< Located in the top left corner (on both ANSI * and ISO keyboards). Produces GRAVE ACCENT and * TILDE in a US Windows layout and in US and UK * Mac layouts on ANSI keyboards; GRAVE ACCENT * and NOT SIGN in a UK Windows layout; SECTION * SIGN and PLUS-MINUS SIGN in US and UK Mac * layouts on ISO keyboards; SECTION SIGN and * DEGREE SIGN in a Swiss German layout (Mac: * only on ISO keyboards); CIRCUMFLEX ACCENT and * DEGREE SIGN in a German layout (Mac: only on * ISO keyboards); SUPERSCRIPT TWO and TILDE in a * French Windows layout; COMMERCIAL AT and * NUMBER SIGN in a French Mac layout on ISO * keyboards; and LESS-THAN SIGN and GREATER-THAN * SIGN in a Swiss German; German; or French Mac * layout on ANSI keyboards. *
SDL_SCANCODE_COMPUTER SDL2.Import

SDL_SCANCODE_COPY SDL2.Import

SDL_SCANCODE_CRSEL SDL2.Import

SDL_SCANCODE_CURRENCYSUBUNIT SDL2.Import

SDL_SCANCODE_CURRENCYUNIT SDL2.Import

SDL_SCANCODE_CUT SDL2.Import

SDL_SCANCODE_D SDL2.Import

SDL_SCANCODE_DECIMALSEPARATOR SDL2.Import

SDL_SCANCODE_DELETE SDL2.Import

SDL_SCANCODE_DISPLAYSWITCH SDL2.Import

SDL_SCANCODE_DOWN SDL2.Import

SDL_SCANCODE_E SDL2.Import

SDL_SCANCODE_EJECT SDL2.Import

SDL_SCANCODE_END SDL2.Import

SDL_SCANCODE_EQUALS SDL2.Import

SDL_SCANCODE_ESCAPE SDL2.Import

SDL_SCANCODE_EXECUTE SDL2.Import

SDL_SCANCODE_EXSEL SDL2.Import

SDL_SCANCODE_F SDL2.Import

SDL_SCANCODE_F1 SDL2.Import

SDL_SCANCODE_F10 SDL2.Import

SDL_SCANCODE_F11 SDL2.Import

SDL_SCANCODE_F12 SDL2.Import

SDL_SCANCODE_F13 SDL2.Import

SDL_SCANCODE_F14 SDL2.Import

SDL_SCANCODE_F15 SDL2.Import

SDL_SCANCODE_F16 SDL2.Import

SDL_SCANCODE_F17 SDL2.Import

SDL_SCANCODE_F18 SDL2.Import

SDL_SCANCODE_F19 SDL2.Import

SDL_SCANCODE_F2 SDL2.Import

SDL_SCANCODE_F20 SDL2.Import

SDL_SCANCODE_F21 SDL2.Import

SDL_SCANCODE_F22 SDL2.Import

SDL_SCANCODE_F23 SDL2.Import

SDL_SCANCODE_F24 SDL2.Import

SDL_SCANCODE_F3 SDL2.Import

SDL_SCANCODE_F4 SDL2.Import

SDL_SCANCODE_F5 SDL2.Import

SDL_SCANCODE_F6 SDL2.Import

SDL_SCANCODE_F7 SDL2.Import

SDL_SCANCODE_F8 SDL2.Import

SDL_SCANCODE_F9 SDL2.Import

SDL_SCANCODE_FIND SDL2.Import

SDL_SCANCODE_G SDL2.Import

SDL_SCANCODE_GRAVE SDL2.Import

SDL_SCANCODE_H SDL2.Import

SDL_SCANCODE_HELP SDL2.Import

SDL_SCANCODE_HOME SDL2.Import

**< insert on PC; help on some Mac keyboards (but does send code 73; not 117) *
SDL_SCANCODE_I SDL2.Import

SDL_SCANCODE_INSERT SDL2.Import

SDL_SCANCODE_INTERNATIONAL1 SDL2.Import

SDL_SCANCODE_INTERNATIONAL2 SDL2.Import

**< used on Asian keyboards; see footnotes in USB doc *
SDL_SCANCODE_INTERNATIONAL3 SDL2.Import

SDL_SCANCODE_INTERNATIONAL4 SDL2.Import

**< Yen *
SDL_SCANCODE_INTERNATIONAL5 SDL2.Import

SDL_SCANCODE_INTERNATIONAL6 SDL2.Import

SDL_SCANCODE_INTERNATIONAL7 SDL2.Import

SDL_SCANCODE_INTERNATIONAL8 SDL2.Import

SDL_SCANCODE_INTERNATIONAL9 SDL2.Import

SDL_SCANCODE_J SDL2.Import

SDL_SCANCODE_K SDL2.Import

SDL_SCANCODE_KBDILLUMDOWN SDL2.Import

SDL_SCANCODE_KBDILLUMTOGGLE SDL2.Import

**< display mirroring{dual display switch; video mode switch *
SDL_SCANCODE_KBDILLUMUP SDL2.Import

SDL_SCANCODE_KP_0 SDL2.Import

SDL_SCANCODE_KP_00 SDL2.Import

SDL_SCANCODE_KP_000 SDL2.Import

SDL_SCANCODE_KP_1 SDL2.Import

SDL_SCANCODE_KP_2 SDL2.Import

SDL_SCANCODE_KP_3 SDL2.Import

SDL_SCANCODE_KP_4 SDL2.Import

SDL_SCANCODE_KP_5 SDL2.Import

SDL_SCANCODE_KP_6 SDL2.Import

SDL_SCANCODE_KP_7 SDL2.Import

SDL_SCANCODE_KP_8 SDL2.Import

SDL_SCANCODE_KP_9 SDL2.Import

SDL_SCANCODE_KP_A SDL2.Import

SDL_SCANCODE_KP_AMPERSAND SDL2.Import

SDL_SCANCODE_KP_AT SDL2.Import

SDL_SCANCODE_KP_B SDL2.Import

SDL_SCANCODE_KP_BACKSPACE SDL2.Import

SDL_SCANCODE_KP_BINARY SDL2.Import

SDL_SCANCODE_KP_C SDL2.Import

SDL_SCANCODE_KP_CLEAR SDL2.Import

SDL_SCANCODE_KP_CLEARENTRY SDL2.Import

SDL_SCANCODE_KP_COLON SDL2.Import

SDL_SCANCODE_KP_COMMA SDL2.Import

* SDL_SCANCODE_LOCKINGSCROLLLOCK = 132; *
SDL_SCANCODE_KP_D SDL2.Import

SDL_SCANCODE_KP_DBLAMPERSAND SDL2.Import

SDL_SCANCODE_KP_DBLVERTICALBAR SDL2.Import

SDL_SCANCODE_KP_DECIMAL SDL2.Import

SDL_SCANCODE_KP_DIVIDE SDL2.Import

**< num lock on PC; clear on Mac keyboards *
SDL_SCANCODE_KP_E SDL2.Import

SDL_SCANCODE_KP_ENTER SDL2.Import

SDL_SCANCODE_KP_EQUALS SDL2.Import

**< The USB document says this is a status flag; * not a physical key - but some Mac keyboards * do have a power key. *
SDL_SCANCODE_KP_EQUALSAS400 SDL2.Import

SDL_SCANCODE_KP_EXCLAM SDL2.Import

SDL_SCANCODE_KP_F SDL2.Import

SDL_SCANCODE_KP_GREATER SDL2.Import

SDL_SCANCODE_KP_HASH SDL2.Import

SDL_SCANCODE_KP_HEXADECIMAL SDL2.Import

SDL_SCANCODE_KP_LEFTBRACE SDL2.Import

SDL_SCANCODE_KP_LEFTPAREN SDL2.Import

SDL_SCANCODE_KP_LESS SDL2.Import

SDL_SCANCODE_KP_MEMADD SDL2.Import

SDL_SCANCODE_KP_MEMCLEAR SDL2.Import

SDL_SCANCODE_KP_MEMDIVIDE SDL2.Import

SDL_SCANCODE_KP_MEMMULTIPLY SDL2.Import

SDL_SCANCODE_KP_MEMRECALL SDL2.Import

SDL_SCANCODE_KP_MEMSTORE SDL2.Import

SDL_SCANCODE_KP_MEMSUBTRACT SDL2.Import

SDL_SCANCODE_KP_MINUS SDL2.Import

SDL_SCANCODE_KP_MULTIPLY SDL2.Import

SDL_SCANCODE_KP_OCTAL SDL2.Import

SDL_SCANCODE_KP_PERCENT SDL2.Import

SDL_SCANCODE_KP_PERIOD SDL2.Import

SDL_SCANCODE_KP_PLUS SDL2.Import

SDL_SCANCODE_KP_PLUSMINUS SDL2.Import

SDL_SCANCODE_KP_POWER SDL2.Import

SDL_SCANCODE_KP_RIGHTBRACE SDL2.Import

SDL_SCANCODE_KP_RIGHTPAREN SDL2.Import

SDL_SCANCODE_KP_SPACE SDL2.Import

SDL_SCANCODE_KP_TAB SDL2.Import

SDL_SCANCODE_KP_VERTICALBAR SDL2.Import

SDL_SCANCODE_KP_XOR SDL2.Import

SDL_SCANCODE_L SDL2.Import

SDL_SCANCODE_LALT SDL2.Import

SDL_SCANCODE_LANG1 SDL2.Import

SDL_SCANCODE_LANG2 SDL2.Import

**< Hangul{English toggle *
SDL_SCANCODE_LANG3 SDL2.Import

**< Hanja conversion *
SDL_SCANCODE_LANG4 SDL2.Import

**< Katakana *
SDL_SCANCODE_LANG5 SDL2.Import

**< Hiragana *
SDL_SCANCODE_LANG6 SDL2.Import

**< Zenkaku{Hankaku *
SDL_SCANCODE_LANG7 SDL2.Import

**< reserved *
SDL_SCANCODE_LANG8 SDL2.Import

**< reserved *
SDL_SCANCODE_LANG9 SDL2.Import

**< reserved *
SDL_SCANCODE_LCTRL SDL2.Import

SDL_SCANCODE_LEFT SDL2.Import

SDL_SCANCODE_LEFTBRACKET SDL2.Import

SDL_SCANCODE_LGUI SDL2.Import

**< alt; option *
SDL_SCANCODE_LSHIFT SDL2.Import

SDL_SCANCODE_M SDL2.Import

SDL_SCANCODE_MAIL SDL2.Import

SDL_SCANCODE_MEDIASELECT SDL2.Import

SDL_SCANCODE_MENU SDL2.Import

SDL_SCANCODE_MINUS SDL2.Import

SDL_SCANCODE_MODE SDL2.Import

**< windows; command (apple); meta *
SDL_SCANCODE_MUTE SDL2.Import

SDL_SCANCODE_N SDL2.Import

SDL_SCANCODE_NONUSBACKSLASH SDL2.Import

SDL_SCANCODE_NONUSHASH SDL2.Import

**< Located at the lower left of the return * key on ISO keyboards and at the right end * of the QWERTY row on ANSI keyboards. * Produces REVERSE SOLIDUS (backslash) and * VERTICAL LINE in a US layout; REVERSE * SOLIDUS and VERTICAL LINE in a UK Mac * layout; NUMBER SIGN and TILDE in a UK * Windows layout; DOLLAR SIGN and POUND SIGN * in a Swiss German layout; NUMBER SIGN and * APOSTROPHE in a German layout; GRAVE * ACCENT and POUND SIGN in a French Mac * layout; and ASTERISK and MICRO SIGN in a * French Windows layout. *
SDL_SCANCODE_NUMLOCKCLEAR SDL2.Import

SDL_SCANCODE_O SDL2.Import

SDL_SCANCODE_OPER SDL2.Import

SDL_SCANCODE_OUT SDL2.Import

SDL_SCANCODE_P SDL2.Import

SDL_SCANCODE_PAGEDOWN SDL2.Import

SDL_SCANCODE_PAGEUP SDL2.Import

SDL_SCANCODE_PASTE SDL2.Import

SDL_SCANCODE_PAUSE SDL2.Import

SDL_SCANCODE_PERIOD SDL2.Import

SDL_SCANCODE_POWER SDL2.Import

**< windows contextual menu; compose *
SDL_SCANCODE_PRINTSCREEN SDL2.Import

SDL_SCANCODE_PRIOR SDL2.Import

SDL_SCANCODE_Q SDL2.Import

SDL_SCANCODE_R SDL2.Import

SDL_SCANCODE_RALT SDL2.Import

SDL_SCANCODE_RCTRL SDL2.Import

**< windows; command (apple); meta *
SDL_SCANCODE_RETURN SDL2.Import

SDL_SCANCODE_RETURN2 SDL2.Import

SDL_SCANCODE_RGUI SDL2.Import

**< alt gr; option *
SDL_SCANCODE_RIGHT SDL2.Import

SDL_SCANCODE_RIGHTBRACKET SDL2.Import

SDL_SCANCODE_RSHIFT SDL2.Import

SDL_SCANCODE_S SDL2.Import

SDL_SCANCODE_SCROLLLOCK SDL2.Import

SDL_SCANCODE_SELECT SDL2.Import

SDL_SCANCODE_SEMICOLON SDL2.Import

**< ISO USB keyboards actually use this code * instead of 49 for the same key; but all * OSes I've seen treat the two codes * identically. So; as an implementor; unless * your keyboard generates both of those * codes and your OS treats them differently; * you should generate SDL_SCANCODE_BACKSLASH * instead of this code. As a user; you * should not rely on this code because SDL * will never generate it with most (all?) * keyboards. *
SDL_SCANCODE_SEPARATOR SDL2.Import

SDL_SCANCODE_SLASH SDL2.Import

SDL_SCANCODE_SLEEP SDL2.Import

SDL_SCANCODE_SPACE SDL2.Import

SDL_SCANCODE_STOP SDL2.Import

SDL_SCANCODE_SYSREQ SDL2.Import

**< Erase-Eaze *
SDL_SCANCODE_T SDL2.Import

SDL_SCANCODE_TAB SDL2.Import

SDL_SCANCODE_THOUSANDSSEPARATOR SDL2.Import

SDL_SCANCODE_U SDL2.Import

SDL_SCANCODE_UNDO SDL2.Import

**< redo *
SDL_SCANCODE_UNKNOWN SDL2.Import

** * The SDL keyboard scancode representation. * * Values of this type are used to represent keyboard keys, among other places * in the SDL_Keysym.scancode key.keysym.scancode \endlink field of the * SDL_Event structure. * * The values in this enumeration are based on the USB usage page standard: * http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf *
SDL_SCANCODE_UP SDL2.Import

SDL_SCANCODE_V SDL2.Import

SDL_SCANCODE_VOLUMEDOWN SDL2.Import

SDL_SCANCODE_VOLUMEUP SDL2.Import

SDL_SCANCODE_W SDL2.Import

SDL_SCANCODE_WWW SDL2.Import

SDL_SCANCODE_X SDL2.Import

SDL_SCANCODE_Y SDL2.Import

SDL_SCANCODE_Z SDL2.Import

SDL_SWSURFACE SDL2.Import

** * Surface flags * * These are the currently supported flags for the ::SDL_surface. * * Used internally (read-only). *
SDL_SYSTEM_CURSOR_ARROW SDL2.Import

** * Cursor types for SDL_CreateSystemCursor. *
SDL_SYSTEM_CURSOR_CROSSHAIR SDL2.Import

Wait
SDL_SYSTEM_CURSOR_HAND SDL2.Import

Slashed circle or crossbones
SDL_SYSTEM_CURSOR_IBEAM SDL2.Import

Arrow
SDL_SYSTEM_CURSOR_NO SDL2.Import

Four pointed arrow pointing north, south, east, and west
SDL_SYSTEM_CURSOR_SIZEALL SDL2.Import

Double arrow pointing north and south
SDL_SYSTEM_CURSOR_SIZENESW SDL2.Import

Double arrow pointing northwest and southeast
SDL_SYSTEM_CURSOR_SIZENS SDL2.Import

Double arrow pointing west and east
SDL_SYSTEM_CURSOR_SIZENWSE SDL2.Import

Small wait cursor (or Wait if not available)
SDL_SYSTEM_CURSOR_SIZEWE SDL2.Import

Double arrow pointing northeast and southwest
SDL_SYSTEM_CURSOR_WAIT SDL2.Import

I-beam
SDL_SYSTEM_CURSOR_WAITARROW SDL2.Import

Crosshair
SDL_SYSWMEVENT SDL2.Import

Window state change
SDL_TEXTEDITING SDL2.Import

Key released
SDL_TEXTEDITINGEVENT_TEXT_SIZE SDL2.Import

SDL_TEXTINPUT SDL2.Import

Keyboard text editing (composition)
SDL_TEXTINPUTEVENT_TEXT_SIZE SDL2.Import

SDL_TOUCH_MOUSEID SDL2.Import

* Used as the device ID for mouse events simulated with touch input *
SDL_ttfLibName SDL2.Ttf

SDL_TTF_MAJOR_VERSION SDL2.Ttf

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *
SDL_TTF_MINOR_VERSION SDL2.Ttf

SDL_TTF_PATCHLEVEL SDL2.Ttf

SDL_USEREVENT SDL2.Import

** Events SDL_USEREVENT through SDL_LASTEVENT are for your use, * and should be allocated with SDL_RegisterEvents() *
SDL_WINDOWEVENT SDL2.Import

Window events
SDL_WINDOWEVENT_CLOSE SDL2.Import

**< Window has lost keyboard focus *
SDL_WINDOWEVENT_ENTER SDL2.Import

**< Window has been restored to normal size and position *
SDL_WINDOWEVENT_EXPOSED SDL2.Import

**< Window has been hidden *
SDL_WINDOWEVENT_FOCUS_GAINED SDL2.Import

**< Window has lost mouse focus *
SDL_WINDOWEVENT_FOCUS_LOST SDL2.Import

**< Window has gained keyboard focus *
SDL_WINDOWEVENT_HIDDEN SDL2.Import

**< Window has been shown *
SDL_WINDOWEVENT_LEAVE SDL2.Import

**< Window has gained mouse focus *
SDL_WINDOWEVENT_MAXIMIZED SDL2.Import

**< Window has been minimized *
SDL_WINDOWEVENT_MINIMIZED SDL2.Import

**< The window size has changed; either as a result of an API call or through the system or user changing the window size. *
SDL_WINDOWEVENT_MOVED SDL2.Import

**< Window has been exposed and should be redrawn *
SDL_WINDOWEVENT_NONE SDL2.Import

** * Event subtype for window events *
SDL_WINDOWEVENT_RESIZED SDL2.Import

**< Window has been moved to data1; data2 *
SDL_WINDOWEVENT_RESTORED SDL2.Import

**< Window has been maximized *
SDL_WINDOWEVENT_SHOWN SDL2.Import

**< Never used *
SDL_WINDOWEVENT_SIZE_CHANGED SDL2.Import

**< Window has been resized to data1xdata2 *
SDL_WINDOWPOS_CENTERED SDL2.Import

SDL_WINDOWPOS_CENTERED_MASK SDL2.Import

** * Used to indicate that the window position should be centered. *
SDL_WINDOWPOS_UNDEFINED SDL2.Import

SDL_WINDOWPOS_UNDEFINED_MASK SDL2.Import

** * Used to indicate that you don't care what the window position is. *
SDL_WINDOW_BORDERLESS SDL2.Import

**< window is not visible *
SDL_WINDOW_FOREIGN SDL2.Import

SDL_WINDOW_FULLSCREEN SDL2.Import

** * The flags on a window * * SDL_GetWindowFlags() *
SDL_WINDOW_FULLSCREEN_DESKTOP SDL2.Import

**< window has mouse focus *
SDL_WINDOW_HIDDEN SDL2.Import

**< window is visible *
SDL_WINDOW_INPUT_FOCUS SDL2.Import

**< window has grabbed input focus *
SDL_WINDOW_INPUT_GRABBED SDL2.Import

**< window is maximized *
SDL_WINDOW_LACKS_SHAPE SDL2.Import

SDL_WINDOW_MAXIMIZED SDL2.Import

**< window is minimized *
SDL_WINDOW_MINIMIZED SDL2.Import

**< window can be resized *
SDL_WINDOW_MOUSE_FOCUS SDL2.Import

**< window has input focus *
SDL_WINDOW_OPENGL SDL2.Import

**< fullscreen window *
SDL_WINDOW_RESIZABLE SDL2.Import

**< no window decoration *
SDL_WINDOW_SHOWN SDL2.Import

**< window usable with OpenGL context *
SEARCH_ANY Formats.VFW

SEARCH_BACKWARD Formats.VFW

SEARCH_FORWARD Formats.VFW

SEARCH_KEY Formats.VFW

SEARCH_NEAREST Formats.VFW

AVIFileExit
SERIALIZE_ID_BOX Physics.NewtonImport

SERIALIZE_ID_CAPSULE Physics.NewtonImport

SERIALIZE_ID_CHAMFERCYLINDER Physics.NewtonImport

SERIALIZE_ID_CLOTH_PATCH Physics.NewtonImport

SERIALIZE_ID_COMPOUND Physics.NewtonImport

SERIALIZE_ID_CONE Physics.NewtonImport

SERIALIZE_ID_CONVEXHULL Physics.NewtonImport

SERIALIZE_ID_CYLINDER Physics.NewtonImport

SERIALIZE_ID_DEFORMABLE_SOLID Physics.NewtonImport

SERIALIZE_ID_FRACTURED_COMPOUND Physics.NewtonImport

SERIALIZE_ID_HEIGHTFIELD Physics.NewtonImport

SERIALIZE_ID_NULL Physics.NewtonImport

SERIALIZE_ID_SCENE Physics.NewtonImport

SERIALIZE_ID_SPHERE Physics.NewtonImport

NEWTON_DEFORMABLE_BODY = 2;
SERIALIZE_ID_TREE Physics.NewtonImport

SERIALIZE_ID_USERMESH Physics.NewtonImport

ShadowFilterMax3DS Formats.m3DSConst

inclusive minimum value for shadow filter
ShadowFilterMin3DS Formats.m3DSConst

noninclusive minimum value for shadow range SHADOW_FILTER chunk
ShadowMapSizeMin3DS Formats.m3DSConst

noninclusive minimum value for high shadow bias setting SHADOW_MAP_SIZE chunk
ShadowRangeMin3DS Formats.m3DSConst

noninclusive minimum value for shadow samples SHADOW_RANGE chunk
ShadowSamplesMin3DS Formats.m3DSConst

noninclusive minimum value for shadow map size SHADOW_SAMPLES chunk
SHADOW_FILTER Formats.m3DSConst

SHADOW_MAP_SIZE Formats.m3DSConst

SHADOW_RANGE Formats.m3DSConst

SHADOW_SAMPLES Formats.m3DSConst

SHAPE_2D Formats.m3DSConst

SHAPE_HOOK Formats.m3DSConst

SHAPE_NOT_OK Formats.m3DSConst

SHAPE_OK Formats.m3DSConst

Flags in shaper AFile that tell whether polys make up an ok shape
SIDE_BACK Formats.LWO

SIDE_FRONT Formats.LWO

SIDE_FRONT_AND_BACK Formats.LWO

SIGN GLS.FilePAK

SIGN GLS.FileVfsPAK

SIGN GLS.FileZLIB

SIGN_COMPRESSED GLS.FileVfsPAK

Signature for uncompressed - raw pak.
SMAGIC Formats.m3DSConst

Smooth01Group3DS Formats.m3DSConst

Smoothing group Flags used in the smootharray field of the TMesh3DS structure
Smooth02Group3DS Formats.m3DSConst

Smooth03Group3DS Formats.m3DSConst

Smooth04Group3DS Formats.m3DSConst

Smooth05Group3DS Formats.m3DSConst

Smooth06Group3DS Formats.m3DSConst

Smooth07Group3DS Formats.m3DSConst

Smooth08Group3DS Formats.m3DSConst

Smooth09Group3DS Formats.m3DSConst

Smooth10Group3DS Formats.m3DSConst

Smooth11Group3DS Formats.m3DSConst

Smooth12Group3DS Formats.m3DSConst

Smooth13Group3DS Formats.m3DSConst

Smooth14Group3DS Formats.m3DSConst

Smooth15Group3DS Formats.m3DSConst

Smooth16Group3DS Formats.m3DSConst

Smooth17Group3DS Formats.m3DSConst

Smooth18Group3DS Formats.m3DSConst

Smooth19Group3DS Formats.m3DSConst

Smooth20Group3DS Formats.m3DSConst

Smooth21Group3DS Formats.m3DSConst

Smooth22Group3DS Formats.m3DSConst

Smooth23Group3DS Formats.m3DSConst

Smooth24Group3DS Formats.m3DSConst

Smooth25Group3DS Formats.m3DSConst

Smooth26Group3DS Formats.m3DSConst

Smooth27Group3DS Formats.m3DSConst

Smooth28Group3DS Formats.m3DSConst

Smooth29Group3DS Formats.m3DSConst

Smooth30Group3DS Formats.m3DSConst

Smooth31Group3DS Formats.m3DSConst

Smooth32Group3DS Formats.m3DSConst

SMOOTH_GROUP Formats.m3DSConst

SMOOTH_GROUP_ENTRY Formats.m3DSConst

sNOT_QUAD GLS.VectorTypesExt

SOLID_BGND Formats.m3DSConst

SPOTLIGHT_NODE_TAG Formats.m3DSConst

sSINGULAR GLS.VectorTypesExt

str3DSMapNotFound GLS.Strings

File3DS
strAlreadyRendering GLS.Strings

strBackwardContextFailed GLS.Strings

strBadPlanSize GLS.Strings

strBrokenObjectListArchive GLS.Strings

strCadencerNotDefined GLS.Strings

Cadencer
strCadencerNotDefinedEx GLS.Strings

strCamera GLS.Strings

strCameraRoot GLS.Strings

strCannotAlterAnActiveContext GLS.Strings

Context
strCantConvertImg GLS.Strings

Graphics
strConnectJoystick GLS.Strings

strContextActivationFailed GLS.Strings

strContextAlreadyCreated GLS.Strings

strContextDeactivationFailed GLS.Strings

strContextNotCreated GLS.Strings

strContextNotInit GLS.Strings

strCUDAEditor GLS.Strings

strCUTILFailed GLS.Strings

FilePGM
strCyclicRefMat GLS.Strings

Material
strDeleteContextFailed GLS.Strings

strDisplayList GLS.Strings

strDot GLS.Strings

General
strDriverNotSupportDebugRC GLS.Strings

strDriverNotSupportFRC GLS.Strings

strDriverNotSupportOESRC GLS.Strings

STREAMFILE_BUFFER Sounds.BASSImport

STREAMFILE_BUFFERPUSH Sounds.BASSImport

STREAMFILE_NOBUFFER Sounds.BASSImport

end of user stream flag BASS_StreamCreateFileUser file systems
STREAMPROC_DUMMY Sounds.BASSImport

special STREAMPROCs
STREAMPROC_PUSH Sounds.BASSImport

"dummy" stream
streamtypeAUDIO Formats.VFW

mmioFOURCC('v', 'i', 'd', 's')
streamtypeMIDI Formats.VFW

mmioFOURCC('a', 'u', 'd', 's')
streamtypeTEXT Formats.VFW

mmioFOURCC('m', 'i', 'd', 's')
streamtypeVIDEO Formats.VFW

– Stream types for the <fccType> field of the stream header —————-
strError GLS.Strings

strError3DS_CLOSING_FILE GLS.Strings

strError3DS_CREATING_DATABASE GLS.Strings

strError3DS_GET_FAIL GLS.Strings

strError3DS_INIT_FAILED GLS.Strings

strError3DS_INVALID_ARG GLS.Strings

strError3DS_INVALID_CHUNK GLS.Strings

strError3DS_INVALID_DATA GLS.Strings

strError3DS_INVALID_DATABASE GLS.Strings

strError3DS_INVALID_INDEX GLS.Strings

strError3DS_NO_MEM GLS.Strings

strError3DS_NO_SUCH_FILE GLS.Strings

strError3DS_OPENING_FILE GLS.Strings

strError3DS_PUT_FAIL GLS.Strings

strError3DS_READING_DATABASE GLS.Strings

strError3DS_READING_FILE GLS.Strings

strError3DS_STRING_TOO_LONG GLS.Strings

strError3DS_UNFOUND_CHUNK GLS.Strings

strError3DS_WRITING_DATABASE GLS.Strings

strError3DS_WRITING_FILE GLS.Strings

strError3DS_WRONG_DATABASE GLS.Strings

strError3DS_WRONG_OBJECT GLS.Strings

strErrorEx GLS.Strings

strErrorLIB GLS.Strings

strFailCompilation GLS.Strings

strFailCreatePipe GLS.Strings

strFailedOpenFile GLS.Strings

strFailedOpenFileFromCurrentDir GLS.Strings

strFailedToShare GLS.Strings

strFailHWRC GLS.Strings

strFailMap GLS.Strings

strFailRunNVCC GLS.Strings

strFailToBindArrayToTex GLS.Strings

strFailUnmap GLS.Strings

strFFTFuncRetErr GLS.Strings

strFileNotFound GLS.Strings

strForwardContextFailed GLS.Strings

SceneContext
strFRC_created GLS.Strings

strFuncNotConnected GLS.Strings

strFuncRetErr GLS.Strings

strGLSceneEditor GLS.Strings

SceneEdit
strImageInvalid GLS.Strings

Textures
strIncompatibleContexts GLS.Strings

strIncompatibleTypes GLS.Strings

strInterleaveNotSupported GLS.Strings

strInvalidColor GLS.Strings

Utils
strInvalidContextReg GLS.Strings

strInvalidContextRegistration GLS.Strings

strInvalidFileSignature GLS.Strings

PersistentClasses
strInvalidGLContext GLS.Strings

strInvalidNotificationRemoval GLS.Strings

strInvalidParamType GLS.Strings

strInvalidType GLS.Strings

strInvalidValue GLS.Strings

strJoystickError GLS.Strings

strLaunchFailed GLS.Strings

strLayoutCategoryName GLS.Strings

strListIndexError GLS.Strings

strLocalizableCategoryName GLS.Strings

strMakeFloatingFail GLS.Strings

strMaterialNotFound GLS.Strings

strMaterialNotFoundInMatlib GLS.Strings

strMaterialNotFoundInMatlibEx GLS.Strings

strMatLibNotDefined GLS.Strings

Materials
strMissingResource GLS.Strings

strModuleAbsent GLS.Strings

CUDA strings
strNoActiveRC GLS.Strings

strNoDescriptionAvailable GLS.Strings

strNoDeviceToCreate GLS.Strings

strNoJoystickDriver GLS.Strings

Joystick
strNoNewTexture GLS.Strings

strNoRenderingContext GLS.Strings

SceneViewer
strNothing GLS.Strings

strObjectRoot GLS.Strings

strObjectsNotSupported GLS.Strings

strOCAdvancedGeometry GLS.Strings

strOCBasicGeometry GLS.Strings

Object categories in GLScene Registry
strOCDoodad GLS.Strings

strOCEnvironmentObjects GLS.Strings

strOCExperimental GLS.Strings

strOCGraphPlottingObjects GLS.Strings

strOCGuiObjects GLS.Strings

strOCHUDObjects GLS.Strings

strOCMeshObjects GLS.Strings

strOCParticleSystems GLS.Strings

strOCProxyObjects GLS.Strings

strOCSpecialObjects GLS.Strings

strOctreeMustBePreparedBeforeUse GLS.Strings

Octree
strOESRC_created GLS.Strings

strOESvsForwardRC GLS.Strings

strOnlyHostData GLS.Strings

strOpenGLCategoryName GLS.Strings

SceneRegister, strings additional to Designintf
strOpenGLError GLS.Strings

InitOpenGL
strOutOfAttribSize GLS.Strings

strOutOfElementSize GLS.Strings

strOutOfMemory GLS.Strings

strOutOfRange GLS.Strings

strPBufferRC_created GLS.Strings

strRequireFreeThread GLS.Strings

strSceneRoot GLS.Strings

Tree
strSceneViewerNotDefined GLS.Strings

strShaderNeedsAtLeastOneLightSource GLS.Strings

Shaders
strShaderNeedsAtLeastOneLightSourceEx GLS.Strings

strSizeMismatch GLS.Strings

strSourceFileNotFound GLS.Strings

strSphereStartStop GLS.Strings

strSphereTopBottom GLS.Strings

Objects
strStateCashMissing GLS.Strings

strSuccessCompilation GLS.Strings

strThreadBusy GLS.Strings

strTmpRC_Created GLS.Strings

strTooManyLights GLS.Strings

strUnableToCreateLegacyContext GLS.Strings

strUnBalancedBeginEndUpdate GLS.Strings

strUnbalancedContexActivations GLS.Strings

strUnbalansedUsage GLS.Strings

strUnknownArchive GLS.Strings

Common messages
strUnknownArchiveVersion GLS.Strings

strUnknownExtension GLS.Strings

strUnknownParam GLS.Strings

strUnknownType GLS.Strings

strUnsupportedType GLS.Strings

strVisualCategoryName GLS.Strings

strWrongBitmapCanvas GLS.Strings

strWrongParamSetup GLS.Strings

strWrongPrinter GLS.Strings

strWrongVersion GLS.Strings

strXCollectionEditor GLS.Strings

FXCollectionEditor
SURF_FLAG_ADDITIVE Formats.LWO

SURF_FLAG_COLORFILTER Formats.LWO

SURF_FLAG_COLORHIGHLIGHTS Formats.LWO

SURF_FLAG_DOUBLESIDED Formats.LWO

SURF_FLAG_LUMINOUS Formats.LWO

SURF_FLAG_OPAQUEEDGE Formats.LWO

SURF_FLAG_OUTLINE Formats.LWO

SURF_FLAG_SHADOWALPHA Formats.LWO

SURF_FLAG_SHARPTERMINATOR Formats.LWO

SURF_FLAG_SMOOTHING Formats.LWO

SURF_FLAG_TRANSPARENTEDGE Formats.LWO

sWRONG_ELEMENT GLS.VectorTypesExt

sWRONG_SIZE GLS.VectorTypesExt

TangentAttributeName GLS.Objects

TARGET_NODE_TAG Formats.m3DSConst

TEX_ALPHA_SOURCE Formats.m3DSConst

summed area table
TEX_DECAL Formats.m3DSConst

MAT_TILING
TEX_DONT_USE_ALPHA Formats.m3DSConst

tint for color
TEX_INVERT Formats.m3DSConst

TEX_MIRROR Formats.m3DSConst

TEX_NOWRAP Formats.m3DSConst

TEX_RGB_TINT Formats.m3DSConst

don't use map alpha
TEX_SAT Formats.m3DSConst

TEX_TINT Formats.m3DSConst

use ALPHA instead of RGB of map
TEX_UNUSED1 Formats.m3DSConst

TEX_VERTS Formats.m3DSConst

TEX_VERTS_ENTRY Formats.m3DSConst

TopFalloff Formats.m3DSConst

TrackHeaderKeysMin3DS Formats.m3DSConst

Maximum key spline ease from Track header Limits
TrackLockX3DS Formats.m3DSConst

TrackLockY3DS Formats.m3DSConst

TrackLockZ3DS Formats.m3DSConst

TrackLoops3DS Formats.m3DSConst

TrackNoLinkX3DS Formats.m3DSConst

TrackNoLinkY3DS Formats.m3DSConst

TrackNoLinkZ3DS Formats.m3DSConst

TrackRepeats3DS Formats.m3DSConst

TrackSingle3DS Formats.m3DSConst

flags used by the track flags field
TRIMESH_FACE_NORMALS Physics.ODEImport

enum (* TRIMESH_FACE_NORMALS, TRIMESH_LAST_TRANSFORMATION ; *)
TRIMESH_LAST_TRANSFORMATION Physics.ODEImport

TTF_HINTING_LIGHT SDL2.Ttf

TTF_HINTING_MONO SDL2.Ttf

TTF_HINTING_NONE SDL2.Ttf

TTF_HINTING_NORMAL SDL2.Ttf

* Set and retrieve FreeType hinter settings *
TTF_MAJOR_VERSION SDL2.Ttf

* Backwards compatibility *
TTF_MINOR_VERSION SDL2.Ttf

TTF_PATCHLEVEL SDL2.Ttf

TTF_STYLE_BOLD SDL2.Ttf

TTF_STYLE_ITALIC SDL2.Ttf

TTF_STYLE_NORMAL SDL2.Ttf

* Set and retrieve the font style *
TTF_STYLE_STRIKETHROUGH SDL2.Ttf

TTF_STYLE_UNDERLINE SDL2.Ttf

TypByteID DWS.OpenGL

TypCardinalID DWS.OpenGL

UNICODE_BOM_NATIVE SDL2.Ttf

* ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) *
UNICODE_BOM_SWAPPED SDL2.Ttf

USE_BEVEL Formats.m3DSConst

USE_BIT_MAP Formats.m3DSConst

USE_CONTOUR Formats.m3DSConst

Flags for Modeler options
USE_DISTANCE_CUE Formats.m3DSConst

USE_FIT Formats.m3DSConst

USE_FOG Formats.m3DSConst

USE_LAYER_FOG Formats.m3DSConst

USE_SCALE Formats.m3DSConst

USE_SOLID_BGND Formats.m3DSConst

USE_TEETER Formats.m3DSConst

USE_TWEEN Formats.m3DSConst

USE_TWIST Formats.m3DSConst

USE_V_GRADIENT Formats.m3DSConst

VCAPS_CAN_SCALE Formats.VFW

dst rect can clip
VCAPS_DST_CAN_CLIP Formats.VFW

src rect can clip
VCAPS_OVERLAY Formats.VFW

– dwFlags of CHANNEL_CAPS ————————————————–
VCAPS_SRC_CAN_CLIP Formats.VFW

overlay channel
VerticalScalingFactor GLS.RandomHDS

VGradientMax3DS Formats.m3DSConst

minimum value for gradient midpoint
VGradientMin3DS Formats.m3DSConst

maximum string length for filename V_GRADIENT chunk
VHDR_DONE Formats.VFW

– dwFlags field of VIDEOHDR ————————————————
VHDR_INQUEUE Formats.VFW

Set if this header has been prepared
VHDR_KEYFRAME Formats.VFW

Reserved for driver
VHDR_PREPARED Formats.VFW

Done bit
VIDCF_COMPRESSFRAMES Formats.VFW

supports inter-frame compress
VIDCF_CRUNCH Formats.VFW

supports quality
VIDCF_DRAW Formats.VFW

wants the compress all frames message
VIDCF_FASTTEMPORALC Formats.VFW

supports drawing
VIDCF_FASTTEMPORALD Formats.VFW

does not need prev frame on compress
VIDCF_QUALITY Formats.VFW

– Flags for the <dwFlags> field of the <ICINFO> structure. ————
VIDCF_TEMPORAL Formats.VFW

supports crunching to a frame size
VIDEO_CONFIGURE_CURRENT Formats.VFW

VIDEO_CONFIGURE_GET Formats.VFW

– videoConfigure (GET only) ————————————————
VIDEO_CONFIGURE_MAX Formats.VFW

VIDEO_CONFIGURE_MIN Formats.VFW

VIDEO_CONFIGURE_NOMINAL Formats.VFW

VIDEO_CONFIGURE_QUERY Formats.VFW

– videoConfigure (both GET and SET) —————————————-
VIDEO_CONFIGURE_QUERYSIZE Formats.VFW

VIDEO_CONFIGURE_SET Formats.VFW

– videoConfigure (SET only) ————————————————
VIDEO_DLG_QUERY Formats.VFW

– Is a driver dialog available for this channel —————————-
VIDEO_EXTERNALIN Formats.VFW

– Types of channels to open with the videoOpen function ——————–
VIDEO_EXTERNALOUT Formats.VFW

VIDEO_IN Formats.VFW

VIDEO_OUT Formats.VFW

ViewCameraStrMax3DS Formats.m3DSConst

maximum value for dimming factor VIEW_CAMERA
VIEWPORT_DATA Formats.m3DSConst

VIEWPORT_DATA_3 Formats.m3DSConst

VIEWPORT_DATA_OLD Formats.m3DSConst

VIEWPORT_LAYOUT Formats.m3DSConst

VIEWPORT_LAYOUT_OLD Formats.m3DSConst

Viewport description chunks
VIEWPORT_SIZE Formats.m3DSConst

VIEW_BACK Formats.m3DSConst

VIEW_BOTTOM Formats.m3DSConst

VIEW_CAMERA Formats.m3DSConst

VIEW_FRONT Formats.m3DSConst

VIEW_LEFT Formats.m3DSConst

VIEW_RIGHT Formats.m3DSConst

VIEW_TOP Formats.m3DSConst

VIEW_USER Formats.m3DSConst

VIEW_WINDOW Formats.m3DSConst

VK_MOUSEWHEELDOWN GLS.Keyboard

VK_MOUSEWHEELUP GLS.Keyboard

pseudo wheel keys (we squat F23/F24), see KeyboardNotifyWheelMoved
VMAP_TYPE_MNVW Formats.LWO

WEIGHT MAP
VMAP_TYPE_MORF Formats.LWO

RGBA MAP
VMAP_TYPE_PICK Formats.LWO

SKELEGON?
VMAP_TYPE_RGB Formats.LWO

UV MAP
VMAP_TYPE_RGBA Formats.LWO

RGB MAP
VMAP_TYPE_SPOT Formats.LWO

MORPH MAP: RELATIVE VERTEX DISPLACEMENT
VMAP_TYPE_TXUV Formats.LWO

SUBPATCH WEIGHT MAP
VMAP_TYPE_WGHT Formats.LWO

SELECTION SET
VPDATA Formats.m3DSConst

Video Post
V_GRADIENT Formats.m3DSConst

WGL_ACCELERATION_ARB GLS.OpenGLTokens

WGL_ACCESS_READ_ONLY_NV GLS.OpenGLTokens

WGL_NV_DX_interop (EXT #407)
WGL_ACCESS_READ_WRITE_NV GLS.OpenGLTokens

WGL_ACCESS_WRITE_DISCARD_NV GLS.OpenGLTokens

WGL_ACCUM_ALPHA_BITS_ARB GLS.OpenGLTokens

WGL_ACCUM_BITS_ARB GLS.OpenGLTokens

WGL_ACCUM_BLUE_BITS_ARB GLS.OpenGLTokens

WGL_ACCUM_GREEN_BITS_ARB GLS.OpenGLTokens

WGL_ACCUM_RED_BITS_ARB GLS.OpenGLTokens

WGL_ALPHA_BITS_ARB GLS.OpenGLTokens

WGL_ALPHA_SHIFT_ARB GLS.OpenGLTokens

WGL_AUX0_ARB GLS.OpenGLTokens

WGL_AUX1_ARB GLS.OpenGLTokens

WGL_AUX2_ARB GLS.OpenGLTokens

WGL_AUX3_ARB GLS.OpenGLTokens

WGL_AUX4_ARB GLS.OpenGLTokens

WGL_AUX5_ARB GLS.OpenGLTokens

WGL_AUX6_ARB GLS.OpenGLTokens

WGL_AUX7_ARB GLS.OpenGLTokens

WGL_AUX8_ARB GLS.OpenGLTokens

WGL_AUX9_ARB GLS.OpenGLTokens

WGL_AUX_BUFFERS_ARB GLS.OpenGLTokens

WGL_BACK_COLOR_BUFFER_BIT_ARB GLS.OpenGLTokens

WGL_BACK_LEFT_ARB GLS.OpenGLTokens

WGL_BACK_RIGHT_ARB GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RGBA_ARB GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RGB_ARB GLS.OpenGLTokens

ARB Extension #20 - WGL_ARB_render_texture
WGL_BLUE_BITS_ARB GLS.OpenGLTokens

WGL_BLUE_SHIFT_ARB GLS.OpenGLTokens

WGL_COLOR_BITS_ARB GLS.OpenGLTokens

WGL_COLOR_SAMPLES_NV GLS.OpenGLTokens

unknown extension, where does it come from?
WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB GLS.OpenGLTokens

WGL_CONTEXT_CORE_PROFILE_BIT_ARB GLS.OpenGLTokens

WGL_CONTEXT_DEBUG_BIT_ARB GLS.OpenGLTokens

WGL_CONTEXT_ES2_PROFILE_BIT_EXT GLS.OpenGLTokens

EXT #400 WGL_EXT_create_context_es2_profile
WGL_CONTEXT_FLAGS_ARB GLS.OpenGLTokens

WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB GLS.OpenGLTokens

WGL_CONTEXT_LAYER_PLANE_ARB GLS.OpenGLTokens

WGL_CONTEXT_MAJOR_VERSION_ARB GLS.OpenGLTokens

ARB Extension #55 - WGL_ARB_create_context see also WGL_ARB_create_context_profile (ARB #74)
WGL_CONTEXT_MINOR_VERSION_ARB GLS.OpenGLTokens

WGL_CONTEXT_PROFILE_MASK_ARB GLS.OpenGLTokens

ARB Extension #74 - WGL_ARB_create_context_profile see also WGL_ARB_create_context (ARB #55)
WGL_CUBE_MAP_FACE_ARB GLS.OpenGLTokens

WGL_DEPTH_BITS_ARB GLS.OpenGLTokens

WGL_DEPTH_BUFFER_BIT_ARB GLS.OpenGLTokens

WGL_DOUBLE_BUFFER_ARB GLS.OpenGLTokens

WGL_DRAW_TO_BITMAP_ARB GLS.OpenGLTokens

WGL_DRAW_TO_PBUFFER_ARB GLS.OpenGLTokens

ARB Extension #11 - WGL_ARB_pbuffer
WGL_DRAW_TO_WINDOW_ARB GLS.OpenGLTokens

WGL_FLOAT_COMPONENTS_NV GLS.OpenGLTokens

WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB GLS.OpenGLTokens

ARB Extension #46 - GL_ARB_framebuffer_sRGB
WGL_FRONT_COLOR_BUFFER_BIT_ARB GLS.OpenGLTokens

—————— OpenGL v1.1 generic constants ——————– ARB Extension #4 - WGL_ARB_buffer_region
WGL_FRONT_LEFT_ARB GLS.OpenGLTokens

WGL_FRONT_RIGHT_ARB GLS.OpenGLTokens

WGL_FULL_ACCELERATION_ARB GLS.OpenGLTokens

WGL_GENERIC_ACCELERATION_ARB GLS.OpenGLTokens

WGL_GREEN_BITS_ARB GLS.OpenGLTokens

WGL_GREEN_SHIFT_ARB GLS.OpenGLTokens

WGL_MAX_PBUFFER_HEIGHT_ARB GLS.OpenGLTokens

WGL_MAX_PBUFFER_PIXELS_ARB GLS.OpenGLTokens

WGL_MAX_PBUFFER_WIDTH_ARB GLS.OpenGLTokens

WGL_MIPMAP_LEVEL_ARB GLS.OpenGLTokens

WGL_MIPMAP_TEXTURE_ARB GLS.OpenGLTokens

WGL_NEED_PALETTE_ARB GLS.OpenGLTokens

WGL_NEED_SYSTEM_PALETTE_ARB GLS.OpenGLTokens

WGL_NO_ACCELERATION_ARB GLS.OpenGLTokens

WGL_NO_TEXTURE_ARB GLS.OpenGLTokens

WGL_NUMBER_OVERLAYS_ARB GLS.OpenGLTokens

WGL_NUMBER_PIXEL_FORMATS_ARB GLS.OpenGLTokens

ARB Extension #9 - WGL_ARB_pixel_format (no new tokens)
WGL_NUMBER_UNDERLAYS_ARB GLS.OpenGLTokens

WGL_PBUFFER_HEIGHT_ARB GLS.OpenGLTokens

WGL_PBUFFER_LARGEST_ARB GLS.OpenGLTokens

WGL_PBUFFER_LOST_ARB GLS.OpenGLTokens

WGL_PBUFFER_WIDTH_ARB GLS.OpenGLTokens

WGL_PIXEL_TYPE_ARB GLS.OpenGLTokens

WGL_RED_BITS_ARB GLS.OpenGLTokens

WGL_RED_SHIFT_ARB GLS.OpenGLTokens

WGL_SAMPLES_ARB GLS.OpenGLTokens

WGL_SAMPLE_BUFFERS_ARB GLS.OpenGLTokens

WGL_SHARE_ACCUM_ARB GLS.OpenGLTokens

WGL_SHARE_DEPTH_ARB GLS.OpenGLTokens

WGL_SHARE_STENCIL_ARB GLS.OpenGLTokens

WGL_STENCIL_BITS_ARB GLS.OpenGLTokens

WGL_STENCIL_BUFFER_BIT_ARB GLS.OpenGLTokens

WGL_STEREO_ARB GLS.OpenGLTokens

WGL_SUPPORT_GDI_ARB GLS.OpenGLTokens

WGL_SUPPORT_OPENGL_ARB GLS.OpenGLTokens

WGL_SWAP_COPY_ARB GLS.OpenGLTokens

WGL_SWAP_EXCHANGE_ARB GLS.OpenGLTokens

WGL_SWAP_LAYER_BUFFERS_ARB GLS.OpenGLTokens

WGL_SWAP_METHOD_ARB GLS.OpenGLTokens

WGL_SWAP_UNDEFINED_ARB GLS.OpenGLTokens

WGL_TEXTURE_1D_ARB GLS.OpenGLTokens

WGL_TEXTURE_2D_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_RGBA_NV GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_RGB_NV GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_RG_NV GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_R_NV GLS.OpenGLTokens

WGL_TEXTURE_FORMAT_ARB GLS.OpenGLTokens

WGL_TEXTURE_RGBA_ARB GLS.OpenGLTokens

WGL_TEXTURE_RGB_ARB GLS.OpenGLTokens

WGL_TEXTURE_TARGET_ARB GLS.OpenGLTokens

WGL_TRANSPARENT_ALPHA_VALUE_ARB GLS.OpenGLTokens

WGL_TRANSPARENT_ARB GLS.OpenGLTokens

WGL_TRANSPARENT_BLUE_VALUE_ARB GLS.OpenGLTokens

WGL_TRANSPARENT_GREEN_VALUE_ARB GLS.OpenGLTokens

WGL_TRANSPARENT_INDEX_VALUE_ARB GLS.OpenGLTokens

WGL_TRANSPARENT_RED_VALUE_ARB GLS.OpenGLTokens

WGL_TYPE_COLORINDEX_ARB GLS.OpenGLTokens

WGL_TYPE_RGBA_ARB GLS.OpenGLTokens

WGL_TYPE_RGBA_FLOAT_ATI GLS.OpenGLTokens

WGL_ATI_pixel_format_float (#278)
WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT GLS.OpenGLTokens

WHmgPoint GLS.VectorGeometry

WHmgVector GLS.VectorGeometry

WM_CAP_ABORT Formats.VFW

WM_CAP_DLG_VIDEOCOMPRESSION Formats.VFW

WM_CAP_DLG_VIDEODISPLAY Formats.VFW

WM_CAP_DLG_VIDEOFORMAT Formats.VFW

WM_CAP_DLG_VIDEOSOURCE Formats.VFW

WM_CAP_DRIVER_CONNECT Formats.VFW

WM_CAP_DRIVER_DISCONNECT Formats.VFW

WM_CAP_DRIVER_GET_CAPS Formats.VFW

WM_CAP_DRIVER_GET_NAME Formats.VFW

WM_CAP_DRIVER_GET_NAMEA Formats.VFW

WM_CAP_DRIVER_GET_NAMEW Formats.VFW

WM_CAP_DRIVER_GET_VERSION Formats.VFW

WM_CAP_DRIVER_GET_VERSIONA Formats.VFW

WM_CAP_DRIVER_GET_VERSIONW Formats.VFW

WM_CAP_EDIT_COPY Formats.VFW

WM_CAP_END Formats.VFW

WM_CAP_FILE_ALLOCATE Formats.VFW

out of order to save on ifdefs
WM_CAP_FILE_GET_CAPTURE_FILE Formats.VFW

WM_CAP_FILE_GET_CAPTURE_FILEA Formats.VFW

WM_CAP_FILE_GET_CAPTURE_FILEW Formats.VFW

WM_CAP_FILE_SAVEAS Formats.VFW

WM_CAP_FILE_SAVEASA Formats.VFW

WM_CAP_FILE_SAVEASW Formats.VFW

WM_CAP_FILE_SAVEDIB Formats.VFW

WM_CAP_FILE_SAVEDIBA Formats.VFW

WM_CAP_FILE_SAVEDIBW Formats.VFW

WM_CAP_FILE_SET_CAPTURE_FILE Formats.VFW

WM_CAP_FILE_SET_CAPTURE_FILEA Formats.VFW

WM_CAP_FILE_SET_CAPTURE_FILEW Formats.VFW

WM_CAP_FILE_SET_INFOCHUNK Formats.VFW

WM_CAP_GET_AUDIOFORMAT Formats.VFW

WM_CAP_GET_CAPSTREAMPTR Formats.VFW

WM_CAP_GET_MCI_DEVICE Formats.VFW

WM_CAP_GET_MCI_DEVICEA Formats.VFW

WM_CAP_GET_MCI_DEVICEW Formats.VFW

WM_CAP_GET_SEQUENCE_SETUP Formats.VFW

WM_CAP_GET_STATUS Formats.VFW

WM_CAP_GET_USER_DATA Formats.VFW

WM_CAP_GET_VIDEOFORMAT Formats.VFW

WM_CAP_GRAB_FRAME Formats.VFW

WM_CAP_GRAB_FRAME_NOSTOP Formats.VFW

WM_CAP_PAL_AUTOCREATE Formats.VFW

WM_CAP_PAL_MANUALCREATE Formats.VFW

WM_CAP_PAL_OPEN Formats.VFW

WM_CAP_PAL_OPENA Formats.VFW

WM_CAP_PAL_OPENW Formats.VFW

WM_CAP_PAL_PASTE Formats.VFW

WM_CAP_PAL_SAVE Formats.VFW

WM_CAP_PAL_SAVEA Formats.VFW

WM_CAP_PAL_SAVEW Formats.VFW

WM_CAP_SEQUENCE Formats.VFW

WM_CAP_SEQUENCE_NOFILE Formats.VFW

WM_CAP_SET_AUDIOFORMAT Formats.VFW

WM_CAP_SET_CALLBACK_CAPCONTROL Formats.VFW

Following added post VFW 1.1
WM_CAP_SET_CALLBACK_ERROR Formats.VFW

WM_CAP_SET_CALLBACK_ERRORA Formats.VFW

WM_CAP_SET_CALLBACK_ERRORW Formats.VFW

WM_CAP_SET_CALLBACK_FRAME Formats.VFW

WM_CAP_SET_CALLBACK_STATUS Formats.VFW

WM_CAP_SET_CALLBACK_STATUSA Formats.VFW

WM_CAP_SET_CALLBACK_STATUSW Formats.VFW

WM_CAP_SET_CALLBACK_VIDEOSTREAM Formats.VFW

WM_CAP_SET_CALLBACK_WAVESTREAM Formats.VFW

WM_CAP_SET_CALLBACK_YIELD Formats.VFW

WM_CAP_SET_MCI_DEVICE Formats.VFW

WM_CAP_SET_MCI_DEVICEA Formats.VFW

WM_CAP_SET_MCI_DEVICEW Formats.VFW

WM_CAP_SET_OVERLAY Formats.VFW

WM_CAP_SET_PREVIEW Formats.VFW

WM_CAP_SET_PREVIEWRATE Formats.VFW

WM_CAP_SET_SCALE Formats.VFW

WM_CAP_SET_SCROLL Formats.VFW

WM_CAP_SET_SEQUENCE_SETUP Formats.VFW

WM_CAP_SET_USER_DATA Formats.VFW

WM_CAP_SET_VIDEOFORMAT Formats.VFW

WM_CAP_SINGLE_FRAME Formats.VFW

WM_CAP_SINGLE_FRAME_CLOSE Formats.VFW

WM_CAP_SINGLE_FRAME_OPEN Formats.VFW

WM_CAP_START Formats.VFW

UNICODE

The Win32 version of AVICAP on NT supports UNICODE applications: for each API or message that takes a char or string parameter, there are two versions, ApiNameA and ApiNameW. The default name ApiName is #defined to one or other depending on whether UNICODE is defined. Apps can call the A and W apis directly, and mix them.

The 32-bit AVICAP on NT uses unicode exclusively internally. ApiNameA() will be implemented as a call to ApiNameW() together with translation of strings. Defines start of the message range
WM_CAP_STOP Formats.VFW

WM_CAP_UNICODE_END Formats.VFW

Defines end of the message range
WM_CAP_UNICODE_START Formats.VFW

XDATA_APPNAME Formats.m3DSConst

XDATA_DOUBLE Formats.m3DSConst

XDATA_ENTRY Formats.m3DSConst

XDATA_FLOAT Formats.m3DSConst

XDATA_GROUP Formats.m3DSConst

XDATA_LONG Formats.m3DSConst

XDATA_RFU1 Formats.m3DSConst

XDATA_RFU2 Formats.m3DSConst

XDATA_RFU3 Formats.m3DSConst

XDATA_RFU4 Formats.m3DSConst

XDATA_RFU5 Formats.m3DSConst

XDATA_RFU6 Formats.m3DSConst

XDATA_SECTION Formats.m3DSConst

External Application Data
XDATA_SHORT Formats.m3DSConst

XDATA_STRING Formats.m3DSConst

XDATA_VOID Formats.m3DSConst

XHmgPoint GLS.VectorGeometry

Standard homogeneous points
XHmgVector GLS.VectorGeometry

Standard homogeneous vectors
XLATE_RANGE Formats.m3DSConst

XTexPoint GLS.VectorGeometry

TexPoints (2D space)
XVector GLS.VectorGeometry

standard vectors
XYHmgVector GLS.VectorGeometry

XYTexPoint GLS.VectorGeometry

XYVector GLS.VectorGeometry

XYZHmgVector GLS.VectorGeometry

XYZVector GLS.VectorGeometry

XYZWHmgVector GLS.VectorGeometry

XZHmgVector GLS.VectorGeometry

XZVector GLS.VectorGeometry

XZ_CURVE Formats.m3DSConst

YHmgPoint GLS.VectorGeometry

YHmgVector GLS.VectorGeometry

YTexPoint GLS.VectorGeometry

YVector GLS.VectorGeometry

YZHmgVector GLS.VectorGeometry

YZVector GLS.VectorGeometry

YZ_CURVE Formats.m3DSConst

ZHmgPoint GLS.VectorGeometry

ZHmgVector GLS.VectorGeometry

ZVector GLS.VectorGeometry

_priv_dParamLoStop Physics.ODEImport

These consts now have defined types
_priv_dParamLoStop2 Physics.ODEImport

_priv_dParamLoStop3 Physics.ODEImport


GLSysHelp v.2.1: All Functions and Procedures

All Functions and Procedures

Name Unit Description
AABBContainsAABB GLS.GeometryBB

Determines to which extent one AABB contains another AABB
AABBContainsBSphere GLS.GeometryBB

Determines to which extent an AABB contains a BSpher
AABBFitsInAABBAbsolute GLS.GeometryBB

Checks whether one Bounding box aligned with the world axes fits within another Bounding box
AABBFromSweep GLS.GeometryBB

Make an AABB that is formed by sweeping a sphere (or AABB) from Start to Dest
AABBInclude GLS.GeometryBB

Resize the AABB if necessary to include p.
AABBIntersection GLS.GeometryBB

Returns the intersection AABB of two AABBs. If the AABBs don't intersect, will return a degenerated AABB (plane, line or point).
AABBScale GLS.GeometryBB

AABBToBB GLS.GeometryBB

Converts an AABB to its canonical BB.
AABBToBB GLS.GeometryBB

Transforms an AABB to a BB.
AABBToBSphere GLS.GeometryBB

Convert an AABB to a BSphere
AABBToClipRect GLS.GeometryBB

Projects an AABB and determines the extent of its projection as a clip rect.
AABBTransform GLS.GeometryBB

AbsVector GLS.VectorGeometry

Vector components are replaced by their Abs() value. }
AbsVector GLS.VectorGeometry

Vector components are replaced by their Abs() value. }
ActiveSoundManager GLS.Sound

ActorAddForce Physics.PhysXImport

ActorCount Physics.PhysXImport

AddAABB GLS.GeometryBB

AddBB GLS.GeometryBB

Adds a BB into another BB. The original BB (c1) is extended if necessary to contain c2.
AddChild Formats.m3DSUtils

functions to retrieve/modify data related to materials, lights and objects (meshs)
AddChildOrdered Formats.m3DSUtils

AddClassSymbol DWS.HelperFunc

AddForwardDeclaration DWS.HelperFunc

AddPoint GLS.VectorGeometry

Adds V2 to V1, result is placed in V1. W coordinate is always 1.
AddPropertyToClass DWS.HelperFunc

AddSCODEGeomsToODESpace Physics.ODESkeletonColliders

After loading call this function to add all the geoms in a skeleton collider list to a given ODE space
AddVector GLS.VectorGeometry

Adds V2 to V1, result is placed in V1
AddVector GLS.VectorGeometry

Adds V2 to V1, result is placed in V1
AddVector GLS.VectorGeometry

Adds V2 to V1, result is placed in V1
AddVector GLS.VectorGeometry

Sums up f to each component of the vector
AddVector GLS.VectorGeometry

Sums up f to each component of the vector
AddVerletConstriantsToVerletWorld GLS.VerletTypes

After loading call this function to add all the constraints in a skeleton collider list to a given verlet world.
AdjointMatrix GLS.VectorGeometry

Adjoint of a 3x3 matrix, used in the computation of the inverse of a 3x3 matrix
AdjointMatrix GLS.VectorGeometry

Adjoint of a 4x4 matrix, used in the computation of the inverse of a 4x4 matrix
AffineVectorEquals GLS.VectorGeometry

True if X, Y and Z components are equal.
AffineVectorMake GLS.VectorGeometry

AffineVectorMake GLS.VectorGeometry

AlgorithmMStringToDouble PasDblStrUtils

AlgorithmMStringToDouble PasDblStrUtils

AlphaGammaBrightCorrection GLS.ImageUtils

alutExit Sounds.OpenALImport

alutInit Sounds.OpenALImport

Internal Alut functions
alutLoadWAVFile Sounds.OpenALImport

alutLoadWAVMemory Sounds.OpenALImport

alutUnloadWAV Sounds.OpenALImport

AngleBetweenVectors GLS.VectorGeometry

AngleBetweenVectors GLS.VectorGeometry

Calcualtes Angle between 2 Vectors: (A-CenterPoint) and (B-CenterPoint). In radians
AngleLerp GLS.VectorGeometry

Calculates angular interpolation between start and stop at point t
AnglePreservingMatrixInvert GLS.VectorGeometry

Finds the inverse of an angle preserving matrix. Angle preserving matrices can combine translation, rotation and isotropic scaling, other matrices won't be properly inverted by this function.
AnsiStartsText GLS.Utils

StrUtils.pas
ApplicationFileIODefined GLS.ApplicationFileIO

Returns true if an ApplicationFileIO has been defined
ApplyBlendingModeEx GLSL.CustomShader

Exported procedures.
AppTime GLS.Utils

Returns time in milisecond from application start.
ArcCosine GLS.VectorGeometry

ArcCreateFileStream GLS.ArchiveManager

GLS.ApplicationFileIO These functions are used to automate loading User enters LoadFromFile and through these functions gets the result
ArcFileStreamExists GLS.ArchiveManager

ASESetPreferredLightmap GLS.FileASE

ASESetPreferredTexture GLS.FileASE

use this functions to select texture and lightmap from ASE file aSubMaterialIndex = -1 - means main material maps Default are: Texture - main material Diffuse map Lightmap - main material Ambient map
AVIBuildFilter Formats.VFW

AVIBuildFilterA Formats.VFW

AVIBuildFilterW Formats.VFW

Same as the flags for ICCompressorChoose (see compman.h) These determine what the compression options dialog for video streams will look like.
AVICapSM Formats.VFW

== AVICAP - Window class for AVI capture ====================================
AVIClearClipboard Formats.VFW

AVIFileAddRef Formats.VFW

AVIFileClose Formats.VFW

AVIStreamRelease
AVIFileCreateStream Formats.VFW

AVIFileCreateStreamA Formats.VFW

AVIFileCreateStreamW Formats.VFW

AVIFileEndRecord Formats.VFW

AVIFileExit Formats.VFW

Call this first!
AVIFileGetStream Formats.VFW

AVIFileInfo Formats.VFW

AVIFileInfoA Formats.VFW

AVIFileInfoW Formats.VFW

AVIFileInit Formats.VFW

– Functions —————————————————————-
AVIFileOpen Formats.VFW

AVIFileOpenA Formats.VFW

AVIFileOpenW Formats.VFW

AVIFileReadData Formats.VFW

AVIFileRelease Formats.VFW

AVIFileWriteData Formats.VFW

AVIGetFromClipboard Formats.VFW

AVIMakeCompressedStream Formats.VFW

mmioFOURCC('D', 'I', 'B', ' ')
AVIMakeFileFromStreams Formats.VFW

AVIBuildFilterA
AVIMakeStreamFromClipboard Formats.VFW

AVIPutFileOnClipboard Formats.VFW

– Clipboard routines ——————————————————-
AVISaveOptions Formats.VFW

AVISaveVA
AVISaveOptionsFree Formats.VFW

AVISaveV Formats.VFW

#define AVISave AVISaveA
AVISaveVA Formats.VFW

Non-portable: uses variable number of params EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, CLSID FAR *pclsidHandler, AVISAVECALLBACK lpfnCallback, int nStreams, PAVISTREAM pfile, LPAVICOMPRESSOPTIONS lpOptions, ...);
AVISaveVW Formats.VFW

Non-portable: uses variable number of params EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, CLSID FAR *pclsidHandler, AVISAVECALLBACK lpfnCallback, int nStreams, PAVISTREAM pfile, LPAVICOMPRESSOPTIONS lpOptions, ...);
AVIStreamAddRef Formats.VFW

AVIStreamBeginStreaming Formats.VFW

AVIStreamClose Formats.VFW

AVIStreamFindSample Non-portable: this is alias for method name FindKeyFrame FindSample
AVIStreamCreate Formats.VFW

– Use to create disembodied streams —————————————-
AVIStreamDataSize Formats.VFW

AVIStreamEnd Formats.VFW

AVIStreamEndStreaming Formats.VFW

AVIStreamEndTime Formats.VFW

AVIStreamExit Formats.VFW

AVIFileInit
AVIStreamFindKeyFrame Formats.VFW

– Stuff to support backward compat. —————————————-
AVIStreamFindSample Formats.VFW

AVIStreamFormatSize Formats.VFW

AVIStreamGetFrame Formats.VFW

AVIStreamGetFrameClose Formats.VFW

AVIStreamGetFrameOpen Formats.VFW

– Helper functions for using IGetFrame ————————————-
AVIStreamInfo Formats.VFW

AVIStreamInfoA Formats.VFW

AVIStreamInfoW Formats.VFW

AVIStreamInit Formats.VFW

AVIFileRelease
AVIStreamIsKeyFrame Formats.VFW

AVIStreamLength Formats.VFW

AVIStreamLengthTime Formats.VFW

AVIStreamNearestKeyFrame Formats.VFW

AVIStreamNearestKeyFrameTime Formats.VFW

AVIStreamNearestSample Formats.VFW

AVIStreamNearestSampleTime Formats.VFW

AVIStreamNextKeyFrame Formats.VFW

AVIStreamNextKeyFrameTime Formats.VFW

AVIStreamNextSample Formats.VFW

AVIStreamNextSampleTime Formats.VFW

AVIStreamOpenFromFile Formats.VFW

AVIStreamOpenFromFileA Formats.VFW

– Shortcut function ——————————————————–
AVIStreamOpenFromFileW Formats.VFW

AVIStreamPrevKeyFrame Formats.VFW

AVIStreamPrevKeyFrameTime Formats.VFW

AVIStreamPrevSample Formats.VFW

AVIStreamPrevSampleTime Formats.VFW

AVIStreamRead Formats.VFW

AVIStreamReadData Formats.VFW

AVIStreamReadFormat Formats.VFW

AVIStreamRelease Formats.VFW

AVIStreamSampleSize Formats.VFW

AVIStreamSampleToSample Formats.VFW

– Helper macros ————————————————————
AVIStreamSampleToTime Formats.VFW

AVIStreamSetFormat Formats.VFW

AVIStreamStart Formats.VFW

Right now, these just use AVIStreamInfo() to get information, then return some of it. Can they be more efficient?
AVIStreamStartTime Formats.VFW

AVIStreamTimeToSample Formats.VFW

AVIStreamWrite Formats.VFW

AVIStreamWriteData Formats.VFW

aviTWOCC Formats.VFW

AxesBuildList GLS.Scene

Issues OpenGL calls for drawing X, Y, Z axes in a standard style.
BarycentricCoordinates GLS.Coordinates

Calculates the barycentric coordinates for the point p on the triangle defined by the vertices v1, v2 and v3. That is, solves p = u * v1 + v * v2 + (1-u-v) * v3 for u,v. Returns true if the point is inside the triangle, false otherwise. NOTE: This function assumes that the point lies on the plane defined by the triangle. If this is not the case, the function will not work correctly! https://mathworld.wolfram.com/BarycentricCoordinates.html
BASS_IsLoaded Sounds.BASSImport

BASS_Load Sounds.BASSImport

BASS_SetEAXPreset Sounds.BASSImport

BASS_SPEAKER_N Sounds.BASSImport

external bassdll;
BASS_UnLoad Sounds.BASSImport

BBMaxX GLS.GeometryBB

BBMaxY GLS.GeometryBB

BBMaxZ GLS.GeometryBB

BBMinX GLS.GeometryBB

BBMinY GLS.GeometryBB

BBMinZ GLS.GeometryBB

BBToAABB GLS.GeometryBB

Extract AABB information from a BB.
BBTransform GLS.GeometryBB

BeginFPUOnlySection GLS.VectorGeometry

Begins a FPU-only section. You can use a FPU-only section to force use of FPU versions of the math functions, though typically slower than their SIMD counterparts, they have a higher precision (80 bits internally) that may be required in some cases. Each BeginFPUOnlySection call must be balanced by a EndFPUOnlySection (calls can be nested).
BezierCurvePoint GLS.CurvesAndSurfaces

BezierSurfacePoint GLS.CurvesAndSurfaces

BGR24ToRGB24 GLS.Graphics

BGR24ToRGBA32 GLS.Graphics

BGRA32ToRGBA32 GLS.Graphics

BipolarCylindrical_Cartesian GLS.Coordinates

Convert Bipolar to Cartesian (with error check). u in rad
BipolarCylindrical_Cartesian GLS.Coordinates

Convert Bipolar to Cartesian. u in rad
BipolarCylindrical_Cartesian GLS.Coordinates

Convert BiPolarCylindrical to Cartesian with no checks. Double, u in rad http://mathworld.wolfram.com/BipolarCylindricalCoordinates.html
BipolarCylindrical_Cartesian GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian with checks. Double, u in rad ierr: [0] = ok, [1] = u out of bounds. Acceptable u: [0,2*pi) [2] = v out of bounds. Acceptable v: (-inf,inf) [3] = z1 out of bounds. Acceptable z1: (-inf,inf) Ref: https://mathworld.wolfram.com/BipolarCylindricalCoordinates.html
Border GLS.Memo

BoundingBoxesAreEqual GLS.GeometryBB

BoundingBoxesAreEqual GLS.GeometryBB

—————————————————————————— Bounding Box functions ——————————————————————————
BrightenRGBArray GLS.Graphics

BSphereContainsAABB GLS.GeometryBB

Determines to which extent a BSphere contains an AABB
BSphereContainsBSphere GLS.GeometryBB

Determines to which extent one BSphere contains another BSphere
BSphereIntersectsBSphere GLS.GeometryBB

Determines if one BSphere intersects another BSphere
BSphereToAABB GLS.GeometryBB

BSphereToAABB GLS.GeometryBB

BSphereToAABB GLS.GeometryBB

Convert a BSphere to an AABB
BSplinePoint GLS.CurvesAndSurfaces

BSplineSurfacePoint GLS.CurvesAndSurfaces

Build2DMipmap GLS.ImageUtils

BuildCube GLS.MeshBuilder

—————- Mesh building routines ——————-
BuildCylinder GLS.MeshBuilder

BuildCylinder2 GLS.MeshBuilder

BuildNonOrientedEdgesList GLS.MeshUtils

Builds a list of non-oriented (non duplicated) edges list. Each edge is represented by the two integers of its vertices, sorted in ascending order. If not nil, triangleEdges is filled with the 3 indices of the 3 edges of the triangle, the edges ordering respecting the original triangle orientation.
BuildNormals GLS.MeshUtils

Builds normals for a triangles list. Builds one normal per reference vertex (may be NullVector is reference isn't used), which is the averaged for normals of all adjacent triangles. Returned list must be freed by caller.
BuildVectorCountOptimizedIndices GLS.MeshUtils

Builds a vector-count optimized indices list. The returned list (to be freed by caller) contains an "optimized" indices list in which duplicates coordinates in the original vertices list are used only once (the first available duplicate in the list is used). The vertices list is left untouched, to remap/cleanup, you may use the RemapAndCleanupReferences function.
CalcObjectSpaceLightVectors GLS.BumpmapHDS

Some useful methods for setting up bump maps.
CalcPlaneNormal GLS.VectorGeometry

CalcPlaneNormal GLS.VectorGeometry

CalcPlaneNormal GLS.VectorGeometry

Calculate the normal of a plane defined by three points.
CalcTangentSpaceLightVectors GLS.BumpmapHDS

capCaptureAbort Formats.VFW

capCaptureGetSetup Formats.VFW

capCaptureSequence Formats.VFW

capCaptureSequenceNoFile Formats.VFW

capCaptureSetSetup Formats.VFW

capCaptureSingleFrame Formats.VFW

capCaptureSingleFrameClose Formats.VFW

capCaptureSingleFrameOpen Formats.VFW

capCaptureStop Formats.VFW

capCreateCaptureWindow Formats.VFW

capCreateCaptureWindowA Formats.VFW

– The only exported functions from AVICAP.DLL ——————————
capCreateCaptureWindowW Formats.VFW

capDlgVideoCompression Formats.VFW

capDlgVideoDisplay Formats.VFW

capDlgVideoFormat Formats.VFW

capDlgVideoSource Formats.VFW

capDriverConnect Formats.VFW

capDriverDisconnect Formats.VFW

capDriverGetCaps Formats.VFW

capDriverGetName Formats.VFW

capDriverGetVersion Formats.VFW

capEditCopy Formats.VFW

capFileAlloc Formats.VFW

capFileGetCaptureFile Formats.VFW

capFileSaveAs Formats.VFW

capFileSaveDIB Formats.VFW

capFileSetCaptureFile Formats.VFW

capFileSetInfoChunk Formats.VFW

capGetAudioFormat Formats.VFW

capGetAudioFormatSize Formats.VFW

capGetDriverDescription Formats.VFW

capCreateCaptureWindowA
capGetDriverDescriptionA Formats.VFW

capGetDriverDescriptionW Formats.VFW

capGetMCIDeviceName Formats.VFW

capGetStatus Formats.VFW

capGetUserData Formats.VFW

capGetVideoFormat Formats.VFW

capGetVideoFormatSize Formats.VFW

capGrabFrame Formats.VFW

capGrabFrameNoStop Formats.VFW

capOverlay Formats.VFW

capPaletteAuto Formats.VFW

capPaletteManual Formats.VFW

capPaletteOpen Formats.VFW

capPalettePaste Formats.VFW

capPaletteSave Formats.VFW

capPreview Formats.VFW

capPreviewRate Formats.VFW

capPreviewScale Formats.VFW

capSetAudioFormat Formats.VFW

capSetCallbackOnCapControl Formats.VFW

capSetCallbackOnError Formats.VFW

message wrapper macros are defined for the default messages only. Apps that wish to mix Ansi and UNICODE message sending will have to reference the _A and _W messages directly
capSetCallbackOnFrame Formats.VFW

capSetCallbackOnStatus Formats.VFW

capSetCallbackOnVideoStream Formats.VFW

capSetCallbackOnWaveStream Formats.VFW

capSetCallbackOnYield Formats.VFW

capSetMCIDeviceName Formats.VFW

capSetScrollPos Formats.VFW

capSetUserData Formats.VFW

capSetVideoFormat Formats.VFW

Cartesian_Cylindrical GLS.Coordinates

Convert Cartesian to Cylindrical no checks. Duoble
Cartesian_Cylindrical GLS.Coordinates

Convert Cartesian to Cylindrical no checks. Single
Cartesian_Spherical GLS.Coordinates

Cartesian_Spherical GLS.Coordinates

convert Cartesian to Spherical, no checks, double Ref: http://mathworld.wolfram.com/SphericalCoordinates.html NB: Could be optimised by using jclmath.pas unit?
Cartesian_Spherical GLS.Coordinates

Convert Cartesian to Spherical, no checks, single Ref: http://mathworld.wolfram.com/SphericalCoordinates.html NB: Could be optimised by using jclmath.pas unit
cbrt GLS.Polynomials

Calculates the cube root of its parameter.
cgCompileProgram Cg.Import

cgConnectParameter Cg.Import

cgCopyProgram Cg.Import

cgCreateContext Cg.Import

** Context functions **
cgCreateParameter Cg.Import

** Parameter functions **
cgCreateParameterArray Cg.Import

cgCreateParameterMultiDimArray Cg.Import

cgCreateProgram Cg.Import

** Program functions **
cgCreateProgramFromFile Cg.Import

cgDestroyContext Cg.Import

cgDestroyParameter Cg.Import

cgDestroyProgram Cg.Import

cgDisconnectParameter Cg.Import

cgGetArrayDimension Cg.Import

cgGetArrayParameter Cg.Import

cgGetArraySize Cg.Import

cgGetArrayType Cg.Import

cgGetConnectedParameter Cg.Import

cgGetConnectedToParameter Cg.Import

cgGetEnum Cg.Import

cgGetEnumString Cg.Import

*** Enum Functions ***
cgGetError Cg.Import

** Error Functions **
cgGetErrorCallback Cg.Import

cgGetErrorString Cg.Import

cgGetFirstDependentParameter Cg.Import

cgGetFirstLeafParameter Cg.Import

cgGetFirstParameter Cg.Import

cgGetFirstProgram Cg.Import

cgGetFirstStructParameter Cg.Import

cgGetLastErrorString Cg.Import

cgGetLastListing Cg.Import

cgGetNamedParameter Cg.Import

cgGetNamedProgramParameter Cg.Import

cgGetNamedStructParameter Cg.Import

cgGetNamedUserType Cg.Import

cgGetNextLeafParameter Cg.Import

cgGetNextLeafParameter_depr1_1 Cg.Import

cgGetNextParameter Cg.Import

cgGetNextParameter_depr1_1 Cg.Import

*** Support for deprecated Cg 1.1 API ***
cgGetNextProgram Cg.Import

cgGetNumConnectedToParameters Cg.Import

cgGetNumParentTypes Cg.Import

cgGetNumUserTypes Cg.Import

cgGetParameterBaseResource Cg.Import

cgGetParameterContext Cg.Import

cgGetParameterDirection Cg.Import

cgGetParameterIndex Cg.Import

cgGetParameterName Cg.Import

cgGetParameterNamedType Cg.Import

cgGetParameterOrdinalNumber Cg.Import

cgGetParameterProgram Cg.Import

cgGetParameterResource Cg.Import

cgGetParameterResourceIndex Cg.Import

cgGetParameterSemantic Cg.Import

cgGetParameterType Cg.Import

cgGetParameterValues Cg.Import

cgGetParameterVariability Cg.Import

cgGetParentType Cg.Import

cgGetProfile Cg.Import

cgGetProfileString Cg.Import

** Profile Functions **
cgGetProgramContext Cg.Import

cgGetProgramProfile Cg.Import

cgGetProgramString Cg.Import

cgGetResource Cg.Import

cgGetResourceString Cg.Import

** Resource Functions **
cgGetString Cg.Import

*** Misc Functions ***
cgGetType Cg.Import

cgGetTypeString Cg.Import

** Type Functions **
cgGetUserType Cg.Import

cgGLBindProgram Cg.GL

cgGLDisableClientState Cg.GL

cgGLDisableProfile Cg.GL

cgGLDisableTextureParameter Cg.GL

cgGLEnableClientState Cg.GL

cgGLEnableProfile Cg.GL

cgGLEnableTextureParameter Cg.GL

cgGLGetLatestProfile Cg.GL

cgGLGetManageTextureParameters Cg.GL

cgGLGetMatrixParameterArraydc Cg.GL

cgGLGetMatrixParameterArraydr Cg.GL

cgGLGetMatrixParameterArrayfc Cg.GL

cgGLGetMatrixParameterArrayfr Cg.GL

cgGLGetMatrixParameterdc Cg.GL

cgGLGetMatrixParameterdr Cg.GL

cgGLGetMatrixParameterfc Cg.GL

cgGLGetMatrixParameterfr Cg.GL

cgGLGetParameter1d Cg.GL

cgGLGetParameter1f Cg.GL

cgGLGetParameter2d Cg.GL

cgGLGetParameter2f Cg.GL

cgGLGetParameter3d Cg.GL

cgGLGetParameter3f Cg.GL

cgGLGetParameter4d Cg.GL

cgGLGetParameter4f Cg.GL

cgGLGetParameterArray1d Cg.GL

cgGLGetParameterArray1f Cg.GL

cgGLGetParameterArray2d Cg.GL

cgGLGetParameterArray2f Cg.GL

cgGLGetParameterArray3d Cg.GL

cgGLGetParameterArray3f Cg.GL

cgGLGetParameterArray4d Cg.GL

cgGLGetParameterArray4f Cg.GL

cgGLGetProgramID Cg.GL

cgGLGetTextureEnum Cg.GL

cgGLGetTextureParameter Cg.GL

cgGLIsProfileSupported Cg.GL

***************************************************************************** *** Profile Functions ****************************************************************************
cgGLIsProgramLoaded Cg.GL

cgGLLoadProgram Cg.GL

***************************************************************************** *** Program Managment Functions ****************************************************************************
cgGLSetManageTextureParameters Cg.GL

cgGLSetMatrixParameterArraydc Cg.GL

cgGLSetMatrixParameterArraydr Cg.GL

cgGLSetMatrixParameterArrayfc Cg.GL

cgGLSetMatrixParameterArrayfr Cg.GL

cgGLSetMatrixParameterdc Cg.GL

cgGLSetMatrixParameterdr Cg.GL

***************************************************************************** *** Matrix Parameter Managment Functions ****************************************************************************
cgGLSetMatrixParameterfc Cg.GL

cgGLSetMatrixParameterfr Cg.GL

cgGLSetOptimalOptions Cg.GL

cgGLSetParameter1d Cg.GL

cgGLSetParameter1dv Cg.GL

cgGLSetParameter1f Cg.GL

***************************************************************************** *** Parameter Managment Functions ****************************************************************************
cgGLSetParameter1fv Cg.GL

cgGLSetParameter2d Cg.GL

cgGLSetParameter2dv Cg.GL

cgGLSetParameter2f Cg.GL

cgGLSetParameter2fv Cg.GL

cgGLSetParameter3d Cg.GL

cgGLSetParameter3dv Cg.GL

cgGLSetParameter3f Cg.GL

cgGLSetParameter3fv Cg.GL

cgGLSetParameter4d Cg.GL

cgGLSetParameter4dv Cg.GL

cgGLSetParameter4f Cg.GL

cgGLSetParameter4fv Cg.GL

cgGLSetParameterArray1d Cg.GL

cgGLSetParameterArray1f Cg.GL

cgGLSetParameterArray2d Cg.GL

cgGLSetParameterArray2f Cg.GL

cgGLSetParameterArray3d Cg.GL

cgGLSetParameterArray3f Cg.GL

cgGLSetParameterArray4d Cg.GL

cgGLSetParameterArray4f Cg.GL

cgGLSetParameterPointer Cg.GL

cgGLSetStateMatrixParameter Cg.GL

cgGLSetTextureParameter Cg.GL

***************************************************************************** *** Texture Parameter Managment Functions ****************************************************************************
cgGLUnbindProgram Cg.GL

cgIsContext Cg.Import

cgIsInterfaceType Cg.Import

cgIsParameter Cg.Import

cgIsParameterGlobal Cg.Import

cgIsParameterReferenced Cg.Import

cgIsParentType Cg.Import

cgIsProgram Cg.Import

cgIsProgramCompiled Cg.Import

cgSetArraySize Cg.Import

cgSetAutoCompile Cg.Import

cgSetErrorCallback Cg.Import

cgSetMatrixParameterdc Cg.Import

cgSetMatrixParameterdr Cg.Import

cgSetMatrixParameterfc Cg.Import

cgSetMatrixParameterfr Cg.Import

cgSetMultiDimArraySize Cg.Import

cgSetParameter1d Cg.Import

cgSetParameter1dv Cg.Import

cgSetParameter1f Cg.Import

cgSetParameter1fv Cg.Import

cgSetParameter2d Cg.Import

cgSetParameter2dv Cg.Import

cgSetParameter2f Cg.Import

cgSetParameter2fv Cg.Import

cgSetParameter3d Cg.Import

cgSetParameter3dv Cg.Import

cgSetParameter3f Cg.Import

cgSetParameter3fv Cg.Import

cgSetParameter4d Cg.Import

cgSetParameter4dv Cg.Import

cgSetParameter4f Cg.Import

cgSetParameter4fv Cg.Import

cgSetParameterSemantic Cg.Import

cgSetParameterVariability Cg.Import

CharToVirtualKeyCode GLS.Keyboard

Returns the virtual keycode corresponding to the given char. The returned code is untranslated, f.i. 'a' and 'A' will give the same result. A return value of -1 means that the characted cannot be entered using the keyboard.
CharToWideChar GLS.Utils

ChunkHeaderReport Formats.m3DSUtils

support functions for text output of chunk and database contents
ChunkTagToString Formats.m3DSUtils

ClampInteger GLS.VectorGeometry

ClampInteger GLS.VectorGeometry

ClampValue GLS.VectorGeometry

Clamps aValue in the aMin-aMax interval
ClampValue GLS.VectorGeometry

Clamps aValue in the aMin-INF interval
clBuildProgram OpenCL.Import

clCloneKernel OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCompileProgram OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreateBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Memory Object APIs *//
clCreateCommandQueue OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Command Queue APIs *//
clCreateContext OpenCL.Import

clCreateContextFromType OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreateFromGLBuffer OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;
clCreateFromGLRenderbuffer OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;
clCreateFromGLTexture3D OpenCL.GL

CL_API_SUFFIX__VERSION_1_2;
clCreateImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_1
clCreateKernel OpenCL.Import

Kernel Object APIs
clCreateKernelsInProgram OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreatePipe OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clCreateProgramWithBinary OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreateProgramWithBuiltInKernels OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreateProgramWithIL OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clCreateProgramWithSource OpenCL.Import

Program Object APIs
clCreateSamplerWithProperties OpenCL.Import

CL_API_SUFFIX__VERSION_2_0 * Sampler APIs *//
clCreateSubBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreateSubDevices OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clCreateUserEvent OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueAcquireGLObjects OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;
clEnqueueBarrier OpenCL.Import

clEnqueueBarrierWithWaitList OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clEnqueueCopyBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clEnqueueCopyBufferRect OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueCopyBufferToImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueCopyImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clEnqueueCopyImageToBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueFillBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_1
clEnqueueFillImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueMapBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueMapImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueMarkerWithWaitList OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueMigrateMemObjects OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueNativeKernel OpenCL.Import

clEnqueueNDRangeKernel OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clEnqueueReadBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Enqueued Commands APIs *//
clEnqueueReadBufferRect OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueReadImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_1
clEnqueueReleaseGLObjects OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;
clEnqueueSVMFree OpenCL.Import

clEnqueueSVMMap OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clEnqueueSVMMemcpy OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueSVMmigrateMem OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clEnqueueSVMUnmap OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clEnqueueUnmapMemObject OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueWaitForEvents OpenCL.Import

CL_API_SUFFIX__VERSION_2_1
clEnqueueWriteBuffer OpenCL.Import

CL_API_SUFFIX__VERSION_1_1
clEnqueueWriteBufferRect OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clEnqueueWriteImage OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clFinish OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clFlush OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Flush and Finish APIs *//
clGetCommandQueueInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetContextInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetDeviceAndHostTimer OpenCL.Import

CL_API_SUFFIX__VERSION_2_1
clGetDeviceIDs OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Device APIs *//
clGetDeviceInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetEventInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetEventProfilingInfo OpenCL.Import

Profiling APIs
clGetExtensionFunctionAddressForPlatform OpenCL.Import

* Extension function access * * Returns the extension function address for the given function name, * or NULL if a valid function can not be found. The client must * check to make sure the address is not NULL, before using or * calling the returned function address. *
clGetGLContextInfoKHR OpenCL.GL

clGetGLObjectInfo OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;
clGetGLTextureInfo OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;
clGetHostTimer OpenCL.Import

CL_API_SUFFIX__VERSION_2_1
clGetImageInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetKernelArgInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetKernelInfo OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clGetKernelSubGroupInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetKernelWorkGroupInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clGetMemObjectInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetPipeInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetPlatformIDs OpenCL.Import

Platform API
clGetPlatformInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetProgramBuildInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetProgramInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clGetSamplerInfo OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clGetSupportedImageFormats OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
ClipToAABB GLS.GeometryBB

Clips a position to an AABB
clLinkProgram OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
CloseCUDA CUDA.Import

CloseCUDART CUDA.Runtime

CloseCUFFT CUDA.FourierTransform

CloseCUTIL CUDA.Utility

CloseODE Physics.ODEImport

CloseOpenCL OpenCL.Import

CloseOpenGL GLS.OpenGLAdapter

clReleaseCommandQueue OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clReleaseContext OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clReleaseDevice OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clReleaseEvent OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clReleaseKernel OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clReleaseMemObject OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clReleaseProgram OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clReleaseSampler OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clRetainCommandQueue OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clRetainContext OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clRetainDevice OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clRetainEvent OpenCL.Import

CL_API_SUFFIX__VERSION_1_1
clRetainKernel OpenCL.Import

CL_API_SUFFIX__VERSION_2_1
clRetainMemObject OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clRetainProgram OpenCL.Import

CL_API_SUFFIX__VERSION_2_1
clRetainSampler OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clSetDefaultDeviceCommandQueue OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clSetEventCallback OpenCL.Import

clSetKernelArg OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clSetKernelArgSVMPointer OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clSetKernelExecInfo OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clSetMemObjectDestructorCallback OpenCL.Import

clSetUserEventStatus OpenCL.Import

CL_API_SUFFIX__VERSION_1_0
clSVMAlloc OpenCL.Import

CL_API_SUFFIX__VERSION_1_1 * SVM Allocation APIs *//
clSVMFree OpenCL.Import

CL_API_SUFFIX__VERSION_2_0
clUnloadPlatformCompiler OpenCL.Import

CL_API_SUFFIX__VERSION_1_2
clWaitForEvents OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Event Object APIs *//
CollideAndSlide GLS.EllipseCollision

CollideWithWorld GLS.EllipseCollision

ColorManager GLS.Color

CombineVector GLS.VectorGeometry

CombineVector GLS.VectorGeometry

Combine the first vector with the second : vr:=vr+v*f
CombineVector GLS.VectorGeometry

Combine the first vector with the second : vr:=vr+v*f
CombineVector GLS.VectorGeometry

Combine the first vector with the second : vr:=vr+v*f
CompressedInternalFormatToOpenGL GLS.TextureFormat

Give a compressed openGL texture format from GLScene texture format if format is have not compression than return same openGL format
ConeContainsBSphere GLS.SpacePartition

Determines to which extent one Cone contains an BSphere
ConstArrayToString GLS.Logger

ConvertColorVector GLS.Color

Converts a color vector (containing float values)
ConvertColorVector GLS.Color

Converts a color vector (containing float values) and alter intensity. intensity is in [0..1]
ConvertDoubleToString PasDblStrUtils

ConvertdVector3ToAffineVector Physics.ODEUtils

ConvertdVector3ToAffineVector Physics.ODEUtils

ConvertdVector3ToVector3f Physics.ODEUtils

ConvertdVector3ToVector3f Physics.ODEUtils

Converting between ODE and GLScene formats
ConvertdVector3ToVector4f Physics.ODEUtils

ConvertdVector3ToVector4f Physics.ODEUtils

ConvertFansToList GLS.MeshUtils

ConvertImage GLS.ImageUtils

ConvertIndexedListToList GLS.MeshUtils

Expands an indexed structure into a non-indexed structure.
ConvertRGBColor GLS.Color

Converts RGB components into a color vector with correct range
ConvertRotation GLS.VectorGeometry

——————— Unstandardized functions after these lines Mixed functions Turn a triplet of rotations about x, y, and z (in that order) into an equivalent rotation around a single axis (all in radians)
ConvertStringToDouble PasDblStrUtils

ConvertStringToDouble PasDblStrUtils

ConvertStripToList GLS.MeshUtils

ConvertStripToList GLS.MeshUtils

ConvertStripToList GLS.MeshUtils

ConvertStripToList GLS.MeshUtils

Converts a triangle strips into a triangle list. Vertices are added to list, based on the content of strip. Both non-indexed and indexed variants are available, the output is *always* non indexed.
ConvertVector3fTodVector3 Physics.ODEUtils

Converting between GLScene and ODE formats
ConvertVector3fToPdVector3 Physics.ODEUtils

ConvertVector4fTodVector3 Physics.ODEUtils

ConvertVector4fToPdVector3 Physics.ODEUtils

ConvertWinColor GLS.Color

Converts a delphi color into its RGB fragments and correct range.
CopyBodyFromCube Physics.ODEUtils

CopyCubeSizeFromBox Physics.ODEUtils

CopyPosFromGeomToGL Physics.ODEUtils

CopyScreentoTexture GLSL.CustomShader

CopyScreentoTexture2 GLSL.CustomShader

Cosine_Interpolate GLS.Perlin

does a cosine interpolation
CreateAffineRotationMatrix GLS.VectorGeometry

Creates a rotation matrix along the given Axis by the given Angle in radians.
CreateBodyFromCube Physics.ODEUtils

CreateBox Physics.PhysXImport

CreateCylinder Physics.PhysXImport

CreateDOMNode GLS.CrossXML

CreateEditableStream Formats.VFW

– Editing routines ———————————————————
CreateGeomFromCube Physics.ODEUtils

CreateGraphicFromFile GLS.Texture

CreateGroundPlane Physics.PhysXImport

CreateLookAtMatrix GLS.VectorGeometry

CreateMatrixFromFrustum GLS.VectorGeometry

CreateObjectSpaceNormalMap GLS.BumpmapHDS

CreateODEPlaneFromGLPlane Physics.ODEUtils

CreateOrthoMatrix GLS.VectorGeometry

CreatePerspectiveMatrix GLS.VectorGeometry

CreatePickMatrix GLS.VectorGeometry

CreateResourceStream GLS.ApplicationFileIO

CreateRotationMatrix GLS.VectorGeometry

CreateRotationMatrix GLS.VectorGeometry

Creates a rotation matrix along the given Axis by the given Angle in radians.
CreateRotationMatrixX GLS.VectorGeometry

CreateRotationMatrixX GLS.VectorGeometry

Creates matrix for rotation about x-axis (angle in rad)
CreateRotationMatrixY GLS.VectorGeometry

CreateRotationMatrixY GLS.VectorGeometry

Creates matrix for rotation about y-axis (angle in rad)
CreateRotationMatrixZ GLS.VectorGeometry

CreateRotationMatrixZ GLS.VectorGeometry

Creates matrix for rotation about z-axis (angle in rad)
CreateScaleAndTranslationMatrix GLS.VectorGeometry

Creates a scale+translation matrix. Scale is applied BEFORE applying offset
CreateScaleMatrix GLS.VectorGeometry

Creates scale matrix
CreateScaleMatrix GLS.VectorGeometry

Creates scale matrix
CreateSphere Physics.PhysXImport

CreateTangentSpaceNormalMap GLS.BumpmapHDS

CreateTempWnd GLS.WindowsContext

CreateTranslationMatrix GLS.VectorGeometry

Creates translation matrix
CreateTranslationMatrix GLS.VectorGeometry

Creates translation matrix
CreateTriMeshFromBaseMesh Physics.ODEUtils

This method requires you to manually deallocate vertices and indices when you're done with the trimesh
CreateVerletPlaneFromGLPlane GLS.VerletTypes

CSG_Operation GLS.MeshCSG

CubeWireframeBuildList GLS.Objects

Issues for a unit-size cube stippled wireframe
Cubic_Interpolate GLS.Perlin

does a cubic interpolation
Cubic_Interpolate_Strip GLS.Perlin

cubic interpolate 4 strips into one...
cudaGetLastErrorString CUDA.Runtime

cudppCompact CUDA.ParallelPrimitives

cudppDestroyPlan CUDA.ParallelPrimitives

cudppDestroySparseMatrix CUDA.ParallelPrimitives

cudppMultiScan CUDA.ParallelPrimitives

cudppPlan CUDA.ParallelPrimitives

Plan allocation (for scan, sort, and compact)
cudppRand CUDA.ParallelPrimitives

random number generation algorithms
cudppRandSeed CUDA.ParallelPrimitives

cudppScan CUDA.ParallelPrimitives

Scan and sort algorithms
cudppSegmentedScan CUDA.ParallelPrimitives

cudppSort CUDA.ParallelPrimitives

cudppSparseMatrix CUDA.ParallelPrimitives

Sparse matrix allocation
cudppSparseMatrixVectorMultiply CUDA.ParallelPrimitives

Sparse matrix-vector algorithms
CurrentGLContext GLS.Context

The TGLContext that is the currently active context, if any. Returns nil if no context is active.
Cylindrical_Cartesian GLS.Coordinates

Convert Cylindrical to Cartesian with checks. [double], theta in rad ierr: [0] = ok, [1] = r out of bounds. Acceptable r: [0,inf) [2] = theta out of bounds. Acceptable theta: [0,2pi) [3] = z1 out of bounds. Acceptable z1 : (-inf,inf) Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html
Cylindrical_Cartesian GLS.Coordinates

Convert Cylindrical to Cartesian with checks. [single], theta in rad ierr: [0] = ok, [1] = r out of bounds. Acceptable r: [0,inf) [2] = theta out of bounds. Acceptable theta: [0,2pi) [3] = z1 out of bounds. Acceptable z1 : (-inf,inf) Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html
Cylindrical_Cartesian GLS.Coordinates

Convert Cylindrical to Cartesian with no checks. Double version, theta in rads Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html
Cylindrical_Cartesian GLS.Coordinates

Convert Cylindrical to Cartesian [single] with no checks, theta in rad Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html
dAreConnected Physics.ODEImport

dAreConnectedExcluding Physics.ODEImport

dBodyAddForce Physics.ODEImport

—– dBody —–
dBodyAddForceAtPos Physics.ODEImport

dBodyAddForceAtRelPos Physics.ODEImport

dBodyAddRelForce Physics.ODEImport

dBodyAddRelForceAtPos Physics.ODEImport

dBodyAddRelForceAtRelPos Physics.ODEImport

dBodyAddRelTorque Physics.ODEImport

dBodyAddTorque Physics.ODEImport

dBodyCopyPosition Physics.ODEImport

dBodyCopyQuaternion Physics.ODEImport

dBodyCopyRotation Physics.ODEImport

dBodyCreate Physics.ODEImport

dBodyDestroy Physics.ODEImport

dBodyDisable Physics.ODEImport

dBodyEnable Physics.ODEImport

dBodyGetAngularDamping Physics.ODEImport

dBodyGetAngularDampingThreshold Physics.ODEImport

dBodyGetAngularVel Physics.ODEImport

dBodyGetAutoDisableAngularThreshold Physics.ODEImport

dBodyGetAutoDisableFlag Physics.ODEImport

dBodyGetAutoDisableLinearThreshold Physics.ODEImport

Auto-disable functions
dBodyGetAutoDisableSteps Physics.ODEImport

dBodyGetAutoDisableTime Physics.ODEImport

dBodyGetData Physics.ODEImport

dBodyGetFiniteRotationAxis Physics.ODEImport

dBodyGetFiniteRotationMode Physics.ODEImport

dBodyGetForce Physics.ODEImport

dBodyGetGravityMode Physics.ODEImport

dBodyGetJoint Physics.ODEImport

dBodyGetLinearDamping Physics.ODEImport

dBodyGetLinearDampingThreshold Physics.ODEImport

dBodyGetLinearVel Physics.ODEImport

dBodyGetMass Physics.ODEImport

dBodyGetMaxAngularSpeed Physics.ODEImport

dBodyGetNumJoints Physics.ODEImport

dBodyGetPointVel Physics.ODEImport

dBodyGetPosition Physics.ODEImport

dBodyGetPosRelPoint Physics.ODEImport

dBodyGetQuaternion Physics.ODEImport

dBodyGetRelPointPos Physics.ODEImport

dBodyGetRelPointVel Physics.ODEImport

dBodyGetRotation Physics.ODEImport

dBodyGetTorque Physics.ODEImport

dBodyIsEnabled Physics.ODEImport

dBodySetAngularDamping Physics.ODEImport

dBodySetAngularDampingThreshold Physics.ODEImport

dBodySetAngularVel Physics.ODEImport

dBodySetAutoDisableAngularThreshold Physics.ODEImport

dBodySetAutoDisableAverageSamplesCount Physics.ODEImport

dBodySetAutoDisableDefaults Physics.ODEImport

dBodySetAutoDisableFlag Physics.ODEImport

dBodySetAutoDisableLinearThreshold Physics.ODEImport

dBodySetAutoDisableSteps Physics.ODEImport

dBodySetAutoDisableTime Physics.ODEImport

dBodySetDamping Physics.ODEImport

dBodySetDampingDefaults Physics.ODEImport

dBodySetData Physics.ODEImport

dBodySetFiniteRotationAxis Physics.ODEImport

dBodySetFiniteRotationMode Physics.ODEImport

dBodySetForce Physics.ODEImport

dBodySetGravityMode Physics.ODEImport

dBodySetLinearDamping Physics.ODEImport

damping functions
dBodySetLinearDampingThreshold Physics.ODEImport

dBodySetLinearVel Physics.ODEImport

dBodySetMass Physics.ODEImport

dBodySetMaxAngularSpeed Physics.ODEImport

dBodySetMovedCallback Physics.ODEImport

dBodySetPosition Physics.ODEImport

dBodySetQuaternion Physics.ODEImport

dBodySetRotation Physics.ODEImport

dBodySetTorque Physics.ODEImport

dBodyToBodyDistance Physics.ODEUtils

dBodyVectorFromWorld Physics.ODEImport

dBodyVectorToWorld Physics.ODEImport

dBoxTouchesBox Physics.ODEImport

dClearUpperTriangle Physics.ODEImport

dCloseODE Physics.ODEImport

dClosestLineSegmentPoints Physics.ODEImport

—– Misc —–
dCollide Physics.ODEImport

dCreateBox Physics.ODEImport

Box
dCreateCapsule Physics.ODEImport

dCapsule (a capped cylinder).
dCreateConvex Physics.ODEImport

Convex
dCreateCylinder Physics.ODEImport

dCylinder (not a capped cylinder).
dCreateGeom Physics.ODEImport

—– dGeom —–
dCreateGeomClass Physics.ODEImport

dCreateGeomTransform Physics.ODEImport

Transform
dCreateHeightfield Physics.ODEImport

Heightfield (incomplete)
dCreatePlane Physics.ODEImport

Plane
dCreateRay Physics.ODEImport

dRay
dCreateSphere Physics.ODEImport

Sphere
dCreateTriMesh Physics.ODEImport

TriMesh
dDot Physics.ODEImport

dDot Physics.ODEImport

—– Recreated —–
dDOT14 Physics.ODEImport

dDOT14 Physics.ODEImport

dDQfromW Physics.ODEImport

DDSHeaderToGLEnum Formats.DXTC

DecodeDXT1toBitmap32 Formats.DXTC

DecodeDXT3toBitmap32 Formats.DXTC

DecodeDXT5toBitmap32 Formats.DXTC

DecodeTextureTarget GLS.TextureFormat

DegToRadian GLS.VectorGeometry

DegToRadian GLS.VectorGeometry

—————————————————————————- Trigonometric functions —————————————————————————-
DeleteChunk Formats.m3DSUtils

support functions for chunk handling
DeRegisterCUDAComponentNameChangeEvent CUDA.APIComps

DeRegisterGLBaseSceneObjectNameChangeEvent GLS.Scene

Deregister an event handler triggered by any TGLBaseSceneObject Name change. See RegisterGLBaseSceneObjectNameChangeEvent.
DeRegisterGLBehaviourNameChangeEvent GLS.Scene

Deregister an event handler triggered by any TGLBaseSceneObject Name change. See RegisterGLBaseSceneObjectNameChangeEvent.
DeRegisterGLMaterialExNameChangeEvent GLS.MaterialEx

DeRegisterManager GLS.Manager

DeRegisterXCollectionDestroyEvent GLS.XCollection

DeRegisters event
DerivatedPolynom GLS.Polynomials

Calculates the polynom's derivative
dGeomBoxGetLengths Physics.ODEImport

dGeomBoxPointDepth Physics.ODEImport

dGeomBoxSetLengths Physics.ODEImport

dGeomCapsuleGetParams Physics.ODEImport

dGeomCapsulePointDepth Physics.ODEImport

dGeomCapsuleSetParams Physics.ODEImport

dGeomClearOffset Physics.ODEImport

dGeomCopyOffsetPosition Physics.ODEImport

dGeomCopyOffsetRotation Physics.ODEImport

dGeomCopyPosition Physics.ODEImport

dGeomCopyQuaternion Physics.ODEImport

dGeomCopyRotation Physics.ODEImport

dGeomCylinderGetParams Physics.ODEImport

dGeomCylinderSetParams Physics.ODEImport

dGeomDestroy Physics.ODEImport

dGeomDisable Physics.ODEImport

dGeomEnable Physics.ODEImport

dGeomGetAABB Physics.ODEImport

dGeomGetBody Physics.ODEImport

dGeomGetCategoryBits Physics.ODEImport

dGeomGetClass Physics.ODEImport

dGeomGetClassData Physics.ODEImport

dGeomGetCollideBits Physics.ODEImport

dGeomGetData Physics.ODEImport

dGeomGetOffsetPosition Physics.ODEImport

dGeomGetOffsetQuaternion Physics.ODEImport

dGeomGetOffsetRotation Physics.ODEImport

dGeomGetPosition Physics.ODEImport

dGeomGetQuaternion Physics.ODEImport

dGeomGetRotation Physics.ODEImport

dGeomGetSpace Physics.ODEImport

dGeomHeightfieldDataCreate Physics.ODEImport

dGeomHeightfieldDataDestroy Physics.ODEImport

dGeomHeightfieldDataSetBounds Physics.ODEImport

dGeomHeightfieldGetHeightfieldData Physics.ODEImport

dGeomHeightfieldSetHeightfieldData Physics.ODEImport

dGeomIsEnabled Physics.ODEImport

dGeomIsOffset Physics.ODEImport

dGeomIsSpace Physics.ODEImport

dGeomPlaneGetParams Physics.ODEImport

dGeomPlanePointDepth Physics.ODEImport

dGeomPlaneSetParams Physics.ODEImport

dGeomRayGet Physics.ODEImport

dGeomRayGetClosestHit Physics.ODEImport

dGeomRayGetLength Physics.ODEImport

dGeomRayGetParams Physics.ODEImport

dGeomRaySet Physics.ODEImport

dGeomRaySetClosestHit Physics.ODEImport

dGeomRaySetLength Physics.ODEImport

dGeomRaySetParams Physics.ODEImport

dGeomSetBody Physics.ODEImport

dGeomSetCategoryBits Physics.ODEImport

dGeomSetCollideBits Physics.ODEImport

dGeomSetConvex Physics.ODEImport

dGeomSetData Physics.ODEImport

dGeomSetOffsetPosition Physics.ODEImport

dGeomSetOffsetQuaternion Physics.ODEImport

dGeomSetOffsetRotation Physics.ODEImport

dGeomSetOffsetWorldPosition Physics.ODEImport

dGeomSetOffsetWorldQuaternion Physics.ODEImport

dGeomSetOffsetWorldRotation Physics.ODEImport

dGeomSetPosition Physics.ODEImport

dGeomSetQuaternion Physics.ODEImport

dGeomSetRotation Physics.ODEImport

dGeomSphereGetRadius Physics.ODEImport

dGeomSpherePointDepth Physics.ODEImport

dGeomSphereSetRadius Physics.ODEImport

dGeomTransformGetCleanup Physics.ODEImport

dGeomTransformGetGeom Physics.ODEImport

dGeomTransformGetInfo Physics.ODEImport

dGeomTransformSetCleanup Physics.ODEImport

dGeomTransformSetGeom Physics.ODEImport

dGeomTransformSetInfo Physics.ODEImport

dGeomTriMeshClearTCCache Physics.ODEImport

dGeomTriMeshDataBuildDouble Physics.ODEImport

dGeomTriMeshDataBuildDouble1 Physics.ODEImport

dGeomTriMeshDataBuildSimple Physics.ODEImport

dGeomTriMeshDataBuildSimple1 Physics.ODEImport

dGeomTriMeshDataBuildSingle Physics.ODEImport

dGeomTriMeshDataBuildSingle1 Physics.ODEImport

dGeomTriMeshDataCreate Physics.ODEImport

dGeomTriMeshDataDestroy Physics.ODEImport

dGeomTriMeshDataSet Physics.ODEImport

dGeomTriMeshDataUpdate Physics.ODEImport

dGeomTriMeshEnableTC Physics.ODEImport

dGeomTriMeshGetArrayCallback Physics.ODEImport

dGeomTriMeshGetCallback Physics.ODEImport

dGeomTriMeshGetData Physics.ODEImport

dGeomTriMeshGetPoint Physics.ODEImport

dGeomTriMeshGetRayCallback Physics.ODEImport

dGeomTriMeshGetTriangle Physics.ODEImport

dGeomTriMeshGetTriangleCount Physics.ODEImport

dGeomTriMeshGetTriMeshDataID Physics.ODEImport

dGeomTriMeshIsTCEnabled Physics.ODEImport

dGeomTriMeshSetArrayCallback Physics.ODEImport

dGeomTriMeshSetCallback Physics.ODEImport

dGeomTriMeshSetData Physics.ODEImport

dGeomTriMeshSetRayCallback Physics.ODEImport

dHashSpaceCreate Physics.ODEImport

dHashSpaceGetLevels Physics.ODEImport

dHashSpaceSetLevels Physics.ODEImport

dInfiniteAABB Physics.ODEImport

dInitODE Physics.ODEImport

added by PAR
dInitODE2 Physics.ODEImport

DistanceBetweenAngles GLS.VectorGeometry

Calculates the angular distance between two angles in radians. Result is in the [0; PI] range.
Div2 GLS.Graphics

DivideVector GLS.VectorGeometry

DivideVector GLS.VectorGeometry

Divides given vector by another vector. v[x]:=v[x]/divider[x], v[y]:=v[y]/divider[y] etc.
DivMod GLS.VectorGeometry

dJointAddAMotorTorques Physics.ODEImport

dJointAddHinge2Torques Physics.ODEImport

dJointAddHingeTorque Physics.ODEImport

dJointAddPistonForce Physics.ODEImport

dJointAddPRTorque Physics.ODEImport

dJointAddSliderForce Physics.ODEImport

dJointAddUniversalTorques Physics.ODEImport

dJointAttach Physics.ODEImport

dJointCorrectHinge2 Physics.ODEImport

dJointCreateAMotor Physics.ODEImport

AMotor
dJointCreateBall Physics.ODEImport

Ball
dJointCreateContact Physics.ODEImport

Contact
dJointCreateFixed Physics.ODEImport

Fixed
dJointCreateHinge Physics.ODEImport

Hinge
dJointCreateHinge2 Physics.ODEImport

Hinge2
dJointCreateLMotor Physics.ODEImport

LMotor
dJointCreatePiston Physics.ODEImport

Piston
dJointCreatePlane2D Physics.ODEImport

Plane2D
dJointCreatePR Physics.ODEImport

PR
dJointCreateSlider Physics.ODEImport

Slider
dJointCreateUniversal Physics.ODEImport

Universal
dJointDestroy Physics.ODEImport

dJointGetAMotorAngle Physics.ODEImport

dJointGetAMotorAngleRate Physics.ODEImport

dJointGetAMotorAxis Physics.ODEImport

dJointGetAMotorAxisRel Physics.ODEImport

dJointGetAMotorMode Physics.ODEImport

dJointGetAMotorNumAxes Physics.ODEImport

dJointGetAMotorParam Physics.ODEImport

dJointGetBallAnchor Physics.ODEImport

dJointGetBallAnchor2 Physics.ODEImport

dJointGetBody Physics.ODEImport

dJointGetData Physics.ODEImport

dJointGetFeedback Physics.ODEImport

dJointGetHinge2Anchor Physics.ODEImport

dJointGetHinge2Anchor2 Physics.ODEImport

dJointGetHinge2Angle1 Physics.ODEImport

dJointGetHinge2Angle1Rate Physics.ODEImport

dJointGetHinge2Angle2Rate Physics.ODEImport

dJointGetHinge2Axis1 Physics.ODEImport

dJointGetHinge2Axis2 Physics.ODEImport

dJointGetHinge2Param Physics.ODEImport

dJointGetHingeAnchor Physics.ODEImport

dJointGetHingeAnchor2 Physics.ODEImport

dJointGetHingeAngle Physics.ODEImport

dJointGetHingeAngleRate Physics.ODEImport

dJointGetHingeAxis Physics.ODEImport

dJointGetHingeParam Physics.ODEImport

dJointGetLMotorAxis Physics.ODEImport

dJointGetLMotorNumAxes Physics.ODEImport

dJointGetLMotorParam Physics.ODEImport

dJointGetPistonAnchor Physics.ODEImport

dJointGetPistonAnchor2 Physics.ODEImport

dJointGetPistonAngle Physics.ODEImport

dJointGetPistonAngleRate Physics.ODEImport

dJointGetPistonAxis Physics.ODEImport

dJointGetPistonParam Physics.ODEImport

dJointGetPistonPosition Physics.ODEImport

dJointGetPistonRate Physics.ODEImport

dJointGetPRAxis1 Physics.ODEImport

dJointGetPRAxis2 Physics.ODEImport

dJointGetPRParam Physics.ODEImport

dJointGetSliderAxis Physics.ODEImport

dJointGetSliderParam Physics.ODEImport

dJointGetSliderPosition Physics.ODEImport

dJointGetSliderPositionRate Physics.ODEImport

dJointGetType Physics.ODEImport

dJointGetUniversalAnchor Physics.ODEImport

dJointGetUniversalAnchor2 Physics.ODEImport

dJointGetUniversalAngle1 Physics.ODEImport

dJointGetUniversalAngle1Rate Physics.ODEImport

dJointGetUniversalAngle2 Physics.ODEImport

dJointGetUniversalAngle2Rate Physics.ODEImport

dJointGetUniversalAxis1 Physics.ODEImport

dJointGetUniversalAxis2 Physics.ODEImport

dJointGetUniversalParam Physics.ODEImport

dJointGroupCreate Physics.ODEImport

dJointGroupDestroy Physics.ODEImport

—– dJoint —– normal joints
dJointGroupEmpty Physics.ODEImport

dJointSetAMotorAngle Physics.ODEImport

dJointSetAMotorAxis Physics.ODEImport

dJointSetAMotorMode Physics.ODEImport

dJointSetAMotorNumAxes Physics.ODEImport

dJointSetAMotorParam Physics.ODEImport

dJointSetBallAnchor Physics.ODEImport

dJointSetData Physics.ODEImport

dJointSetFeedback Physics.ODEImport

callback routines for feedback of joints
dJointSetFixed Physics.ODEImport

dJointSetHinge2Anchor Physics.ODEImport

dJointSetHinge2Axis1 Physics.ODEImport

dJointSetHinge2Axis2 Physics.ODEImport

dJointSetHinge2Param Physics.ODEImport

dJointSetHingeAnchor Physics.ODEImport

dJointSetHingeAxis Physics.ODEImport

dJointSetHingeParam Physics.ODEImport

dJointSetLMotorAxis Physics.ODEImport

dJointSetLMotorNumAxes Physics.ODEImport

dJointSetLMotorParam Physics.ODEImport

dJointSetPistonAnchor Physics.ODEImport

dJointSetPistonAxis Physics.ODEImport

dJointSetPistonAxisDelta Physics.ODEImport

dJointSetPistonParam Physics.ODEImport

dJointSetPlane2DAngleParam Physics.ODEImport

dJointSetPlane2DXParam Physics.ODEImport

dJointSetPlane2DYParam Physics.ODEImport

dJointSetPRAnchor Physics.ODEImport

dJointSetPRAxis1 Physics.ODEImport

dJointSetPRAxis2 Physics.ODEImport

dJointSetPRParam Physics.ODEImport

dJointSetSliderAxis Physics.ODEImport

dJointSetSliderParam Physics.ODEImport

dJointSetUniversalAnchor Physics.ODEImport

dJointSetUniversalAxis1 Physics.ODEImport

dJointSetUniversalAxis2 Physics.ODEImport

dJointSetUniversalParam Physics.ODEImport

dMakeRandomMatrix Physics.ODEImport

dMakeRandomVector Physics.ODEImport

dMassAdd Physics.ODEImport

dMassAdjust Physics.ODEImport

dMassRotate Physics.ODEImport

dMassSetBox Physics.ODEImport

dMassSetBoxTotal Physics.ODEImport

dMassSetCapsule Physics.ODEImport

dMassSetCapsuleTotal Physics.ODEImport

dMassSetCylinder Physics.ODEImport

dMassSetCylinderTotal Physics.ODEImport

dMassSetParameters Physics.ODEImport

—– dMass —–
dMassSetSphere Physics.ODEImport

dMassSetSphereTotal Physics.ODEImport

dMassSetTrimesh Physics.ODEImport

dMassSetTrimeshTotal Physics.ODEImport

dMassSetZero Physics.ODEImport

dMassTranslate Physics.ODEImport

dMaxDifference Physics.ODEImport

dMultiply0 Physics.ODEImport

dMULTIPLY0_331 Physics.ODEImport

dMULTIPLY0_333 Physics.ODEImport

dMultiply1 Physics.ODEImport

dMultiply2 Physics.ODEImport

dNormalize3 Physics.ODEImport

—– Math —–
dNormalize4 Physics.ODEImport

DoTesselate GLS.PolygonTesselation

Tesselates the polygon outlined by the Vertexes. And adds them to the first facegroup of the Mesh.
dQFromAxisAndAngle Physics.ODEImport

—– Rotation.h —–
dQfromR Physics.ODEImport

dQMultiply0 Physics.ODEImport

dQMultiply1 Physics.ODEImport

dQMultiply2 Physics.ODEImport

dQMultiply3 Physics.ODEImport

dQSetIdentity Physics.ODEImport

dQuadTreeSpaceCreate Physics.ODEImport

dRandGetSeed Physics.ODEImport

dRandInt Physics.ODEImport

dRandReal Physics.ODEImport

dRandSetSeed Physics.ODEImport

DrawBox Physics.ODEUtils

DrawContours GLS.ROAMPatch

Draw contours on rendering terrain patches
DrawDibBegin Formats.VFW

– DrawDibBegin() - prepare to draw —————————————–
DrawDibChangePalette Formats.VFW

– DrawDibChangePalette() —————————————————
DrawDibClose Formats.VFW

– DrawDibClose() ———————————————————–
DrawDibDraw Formats.VFW

– DrawDibDraw() - actually draw a DIB to the screen ————————
DrawDibEnd Formats.VFW

– DrawDibEnd() ————————————————————-
DrawDibGetBuffer Formats.VFW

– DrawDibGetBuffer() ——————————————————-
DrawDibGetPalette Formats.VFW

– DrawDibGetPalette() - get the palette used for drawing DIBs ————–
DrawDibOpen Formats.VFW

– DrawDibOpen() ————————————————————
DrawDibProfileDisplay Formats.VFW

...
DrawDibRealize Formats.VFW

– DrawDibRealize() - realize the palette in a HDD ————————–
DrawDibSetPalette Formats.VFW

– DrawDibSetPalette() - set the palette used for drawing DIBs ————–
DrawDibStart Formats.VFW

– DrawDibStart() - start of streaming playback —————————–
DrawDibStop Formats.VFW

– DrawDibStop() - start of streaming playback ——————————
DrawDibTime Formats.VFW

DrawDibUpdate Formats.VFW

– DrawDibUpdate() - redraw last image (may only be valid with DDF_BUFFER) –
DrawTexturedScreenQuad GLSL.CustomShader

Probably need to give them proper names, instead of numbers...
DrawTexturedScreenQuad2 GLSL.CustomShader

DrawTexturedScreenQuad3 GLSL.CustomShader

DrawTexturedScreenQuad4 GLSL.CustomShader

DrawTexturedScreenQuad5 GLSL.CustomShader

DrawTexturedScreenQuad6 GLSL.CustomShader

dRFrom2Axes Physics.ODEImport

dRFromAxisAndAngle Physics.ODEImport

dRFromEulerAngles Physics.ODEImport

dRfromQ Physics.ODEImport

dRFromZAxis Physics.ODEImport

dRSetIdentity Physics.ODEImport

dsDrawBox Physics.ODEUtils

dsDrawBox Physics.ODEUtils

dSimpleSpaceCreate Physics.ODEImport

dSpaceAdd Physics.ODEImport

dSpaceClean Physics.ODEImport

dSpaceCollide Physics.ODEImport

dSpaceCollide2 Physics.ODEImport

dSpaceDestroy Physics.ODEImport

—– dSpace —–
dSpaceGetCleanup Physics.ODEImport

dSpaceGetGeom Physics.ODEImport

dSpaceGetNumGeoms Physics.ODEImport

dSpaceQuery Physics.ODEImport

dSpaceRemove Physics.ODEImport

dSpaceSetCleanup Physics.ODEImport

dTestMatrixComparison Physics.ODEImport

dTestRand Physics.ODEImport

return 1 if the random number generator is working.
dTestSolveLCP Physics.ODEImport

DumpChunk Formats.m3DSUtils

DumpKeyHeader Formats.m3DSUtils

dVector3Length Physics.ODEUtils

dVector3Length Physics.ODEUtils

dWorldCreate Physics.ODEImport

—– dWorld —–
dWorldDestroy Physics.ODEImport

dWorldExportDIF Physics.ODEImport

dWorldGetAngularDamping Physics.ODEImport

dWorldGetAngularDampingThreshold Physics.ODEImport

dWorldGetAutoDisableAngularAverageThreshold Physics.ODEImport

dWorldGetAutoDisableAngularThreshold Physics.ODEImport

dWorldGetAutoDisableAverageSamplesCount Physics.ODEImport

dWorldGetAutoDisableFlag Physics.ODEImport

dWorldGetAutoDisableLinearAverageThreshold Physics.ODEImport

Auto-disable functions
dWorldGetAutoDisableLinearThreshold Physics.ODEImport

dWorldGetAutoDisableSteps Physics.ODEImport

dWorldGetAutoDisableTime Physics.ODEImport

dWorldGetCFM Physics.ODEImport

dWorldGetContactMaxCorrectingVel Physics.ODEImport

dWorldGetContactSurfaceLayer Physics.ODEImport

dWorldGetERP Physics.ODEImport

dWorldGetGravity Physics.ODEImport

dWorldGetLinearDamping Physics.ODEImport

dWorldGetLinearDampingThreshold Physics.ODEImport

Damping
dWorldGetMaxAngularSpeed Physics.ODEImport

dWorldGetQuickStepNumIterations Physics.ODEImport

dWorldGetQuickStepW Physics.ODEImport

dWorldImpulseToForce Physics.ODEImport

dWorldQuickStep Physics.ODEImport

QuickStep
dWorldSetAngularDamping Physics.ODEImport

dWorldSetAngularDampingThreshold Physics.ODEImport

dWorldSetAutoDisableAngularAverageThreshold Physics.ODEImport

dWorldSetAutoDisableAngularThreshold Physics.ODEImport

dWorldSetAutoDisableAverageSamplesCount Physics.ODEImport

dWorldSetAutoDisableFlag Physics.ODEImport

dWorldSetAutoDisableLinearAverageThreshold Physics.ODEImport

dWorldSetAutoDisableLinearThreshold Physics.ODEImport

dWorldSetAutoDisableSteps Physics.ODEImport

dWorldSetAutoDisableTime Physics.ODEImport

dWorldSetCFM Physics.ODEImport

dWorldSetContactMaxCorrectingVel Physics.ODEImport

dWorldSetContactSurfaceLayer Physics.ODEImport

dWorldSetDamping Physics.ODEImport

dWorldSetERP Physics.ODEImport

dWorldSetGravity Physics.ODEImport

dWorldSetLinearDamping Physics.ODEImport

dWorldSetLinearDampingThreshold Physics.ODEImport

dWorldSetMaxAngularSpeed Physics.ODEImport

dWorldSetQuickStepNumIterations Physics.ODEImport

dWorldSetQuickStepW Physics.ODEImport

dWorldStep Physics.ODEImport

Step
ECAddBox GLS.DCE

Add a TriMesh box
ECAddEllipsoid GLS.DCE

Add a static ellipsoid
ECAddFreeForm GLS.DCE

Add freeform's octree data
ECAddTerrain GLS.DCE

Add the terrain as a TriMesh
ECResetColliders GLS.DCE

Set the collider lists to null
ECSetCollisionRange GLS.DCE

———————- DCE Misc functions ————————— Calculate and set the collision range
EditGLTextureImage GLS.TextureImageEditors

Invokes the editor for the given TGLTextureImage
EditStreamClone Formats.VFW

EditStreamCopy Formats.VFW

EditStreamCut Formats.VFW

EditStreamPaste Formats.VFW

EditStreamSetInfo Formats.VFW

EditStreamSetInfoA Formats.VFW

EditStreamSetInfoW Formats.VFW

EditStreamSetName Formats.VFW

EditStreamSetInfoA
EditStreamSetNameA Formats.VFW

EditStreamSetNameW Formats.VFW

EiselLemireStringToDouble PasDblStrUtils

EiselLemireStringToDouble PasDblStrUtils

EncodeGLTextureTarget GLS.TextureFormat

EndFPUOnlySection GLS.VectorGeometry

Ends a FPU-only section. See BeginFPUOnlySection
EvalPolynom GLS.Polynomials

Computes polynom's value for given x
ExponateCrap GLS.Perlin

The function returning some integer based on the rootˆexponant concept, result is crap and is only for "random" usage... eg perlin.
ExtendedFrustumIntersectsBSphere GLS.SpacePartition

Determines if a extended frustum intersects an BSphere
ExtendedFrustumMake GLS.SpacePartition

Create an extended frustum from a number of values
ExtendedFrustumMakeFromSceneViewer GLS.SpacePartition

ExtendedFrustumMakeFromSceneViewer GLS.SpacePartition

Create an extended frustum from a GLSceneViewer - this makes the unit specific to the windows platform!
ExtractAABBCorners GLS.GeometryBB

Extract the corners from an AABB
ExtractFrustumFromModelViewProjection GLS.VectorGeometry

Extracts a TFrustum for combined modelview and projection matrices
FacesSmooth GLS.MeshBuilder

FallbackStringToDouble PasDblStrUtils

FallbackStringToDouble PasDblStrUtils

FastArcTangent2 GLS.VectorGeometry

Fast ArcTangent2 approximation, about 0.07 rads accuracy
FastCheckCubeVsCube GLS.Collision

FastCheckCubeVsEllipsoid GLS.Collision

FastCheckCubeVsFace GLS.Collision

FastCheckCubeVsPoint GLS.Collision

FastCheckCubeVsSphere GLS.Collision

FastCheckEllipsoidVsCube GLS.Collision

FastCheckEllipsoidVsEllipsoid GLS.Collision

FastCheckEllipsoidVsPoint GLS.Collision

FastCheckEllipsoidVsSphere GLS.Collision

FastCheckFaceVsCube GLS.Collision

experimental
FastCheckFaceVsFace GLS.Collision

experimental
FastCheckPointVsCube GLS.Collision

FastCheckPointVsEllipsoid GLS.Collision

FastCheckPointVsPoint GLS.Collision

Fast Collision detection routines that are heavily specialized and just return a boolean
FastCheckPointVsSphere GLS.Collision

FastCheckSphereVsCube GLS.Collision

FastCheckSphereVsEllipsoid GLS.Collision

FastCheckSphereVsPoint GLS.Collision

FastCheckSphereVsSphere GLS.Collision

FastQuickSortLists GLS.VectorLists

Sort the refList in ascending order, ordering objList on the way. Use if, and *ONLY* if refList contains only values superior or equal to 1
FileStreamExists GLS.ApplicationFileIO

Queries is a file stream corresponding to the fileName exists.
FillUniformAutoSetMethodList GLSL.ShaderParameter

FillUniformAutoSetMethodList GLSL.ShaderParameter

FindChunk Formats.m3DSUtils

FindChunkById Formats.LWO

ChunkFind procedures
FindClipByClipIndex Formats.LWO

FindCompatibleDataFormat GLS.TextureFormat

Give compatible openGL image format and data type
FindCuFile CUDA.PropEditors

FindDDSCompatibleDataFormat Formats.DXTC

FindGLTextureImageClass GLS.Texture

Finds a registerer TGLTextureImageClass using its classname
FindGLTextureImageClassByFriendlyName GLS.Texture

Finds a registerer TGLTextureImageClass using its FriendlyName
FindManager GLS.Manager

FindNamedObjectByIndex Formats.m3DSUtils

FindNextChunk Formats.m3DSUtils

FindRoot GLS.Polynomials

Finds a root between min and max with a precision of epsilon. The evaluation of min/max must be of opposit sign
FindSurfaceByName Formats.LWO

FindSurfaceByTag Formats.LWO

FindUnitName GLS.Utils

FindUnitName GLS.Utils

FindVMapByName Formats.LWO

FindXCollectionItemClass GLS.XCollection

Retrieves a registered TXCollectionItemClass from its classname
FindXMLNode GLS.CrossXML

FixPathDelimiter GLS.Utils

Replace path delimiter to delimiter of the current platform.
flip_blocks_dxtc1 Formats.DXTC

flip_blocks_dxtc3 Formats.DXTC

flip_blocks_dxtc5 Formats.DXTC

flip_dxt5_alpha Formats.DXTC

Float2rgbe GLS.RGBE

FloatToHalf GLS.Utils

FMOD_ErrorString Sounds.FMODerrors

Disable warning for unsafe types in Delphi 7
FMOD_Load Sounds.FMODImport

If no library name is passed to FMOD_Load, then the default library name used. These are stub functions.
FMOD_Unload Sounds.FMODImport

FMUSIC_FreeSong Sounds.FMODImport

FMUSIC_GetBPM Sounds.FMODImport

FMUSIC_GetGlobalVolume Sounds.FMODImport

FMUSIC_GetMasterVolume Sounds.FMODImport

FMUSIC_GetName Sounds.FMODImport

Static song information functions.
FMUSIC_GetNumChannels Sounds.FMODImport

FMUSIC_GetNumInstruments Sounds.FMODImport

FMUSIC_GetNumOrders Sounds.FMODImport

FMUSIC_GetNumPatterns Sounds.FMODImport

FMUSIC_GetNumSamples Sounds.FMODImport

FMUSIC_GetOpenState Sounds.FMODImport

FMUSIC_GetOrder Sounds.FMODImport

FMUSIC_GetPattern Sounds.FMODImport

FMUSIC_GetPatternLength Sounds.FMODImport

FMUSIC_GetPaused Sounds.FMODImport

FMUSIC_GetRealChannel Sounds.FMODImport

FMUSIC_GetRow Sounds.FMODImport

FMUSIC_GetSample Sounds.FMODImport

FMUSIC_GetSpeed Sounds.FMODImport

FMUSIC_GetTime Sounds.FMODImport

FMUSIC_GetType Sounds.FMODImport

FMUSIC_GetUserData Sounds.FMODImport

FMUSIC_IsFinished Sounds.FMODImport

Runtime song information.
FMUSIC_IsPlaying Sounds.FMODImport

FMUSIC_LoadSong Sounds.FMODImport

Song management / playback functions.
FMUSIC_LoadSongEx Sounds.FMODImport

FMUSIC_OptimizeChannels Sounds.FMODImport

FMUSIC_PlaySong Sounds.FMODImport

FMUSIC_SetInstCallback Sounds.FMODImport

FMUSIC_SetLooping Sounds.FMODImport

FMUSIC_SetMasterSpeed Sounds.FMODImport

FMUSIC_SetMasterVolume Sounds.FMODImport

FMUSIC_SetOrder Sounds.FMODImport

FMUSIC_SetOrderCallback Sounds.FMODImport

FMUSIC_SetPanSeperation Sounds.FMODImport

FMUSIC_SetPaused Sounds.FMODImport

FMUSIC_SetReverb Sounds.FMODImport

Runtime song functions.
FMUSIC_SetRowCallback Sounds.FMODImport

FMUSIC_SetSample Sounds.FMODImport

FMUSIC_SetUserData Sounds.FMODImport

FMUSIC_SetZxxCallback Sounds.FMODImport

FMUSIC_StopAllSongs Sounds.FMODImport

FMUSIC_StopSong Sounds.FMODImport

FontManager GLS.SpaceText

FractalMiddlePointHDS GLS.RandomHDS

Random HDS functions
FreeChunkData Formats.m3DSUtils

FromHex Formats.VFW

– Macro to get stream number out of a FOURCC ckid ————————–
FrustumContainsAABB GLS.GeometryBB

Determines to which extent a frustum contains an AABB
FrustumContainsBSphere GLS.GeometryBB

Determines to which extent a frustum contains a BSphere
FSOUND_3D_GetAttributes Sounds.FMODImport

FSOUND_3D_GetMinMaxDistance Sounds.FMODImport

FSOUND_3D_Listener_GetAttributes Sounds.FMODImport

FSOUND_3D_Listener_SetAttributes Sounds.FMODImport

FSOUND_3D_Listener_SetCurrent Sounds.FMODImport

See also 3d sample and channel based functions above. Call FSOUND_Update once a frame to process 3d information.
FSOUND_3D_SetAttributes Sounds.FMODImport

FSOUND_3D_SetDistanceFactor Sounds.FMODImport

FSOUND_3D_SetDopplerFactor Sounds.FMODImport

FSOUND_3D_SetMinMaxDistance Sounds.FMODImport

FSOUND_3D_SetRolloffFactor Sounds.FMODImport

FSOUND_CD_GetNumTracks Sounds.FMODImport

FSOUND_CD_GetPaused Sounds.FMODImport

FSOUND_CD_GetTrack Sounds.FMODImport

FSOUND_CD_GetTrackLength Sounds.FMODImport

FSOUND_CD_GetTrackTime Sounds.FMODImport

FSOUND_CD_GetVolume Sounds.FMODImport

FSOUND_CD_OpenTray Sounds.FMODImport

FSOUND_CD_Play Sounds.FMODImport

Note : 0 = default cdrom. Otherwise specify the drive letter, for example. 'D'.
FSOUND_CD_SetPaused Sounds.FMODImport

FSOUND_CD_SetPlayMode Sounds.FMODImport

FSOUND_CD_SetTrackTime Sounds.FMODImport

FSOUND_CD_SetVolume Sounds.FMODImport

FSOUND_CD_Stop Sounds.FMODImport

FSOUND_Close Sounds.FMODImport

FSOUND_DSP_ClearMixBuffer Sounds.FMODImport

FSOUND_DSP_Create Sounds.FMODImport

DSP Unit control and information functions.
FSOUND_DSP_Free Sounds.FMODImport

FSOUND_DSP_GetActive Sounds.FMODImport

FSOUND_DSP_GetBufferLength Sounds.FMODImport

FSOUND_DSP_GetBufferLengthTotal Sounds.FMODImport

Length of each DSP update
FSOUND_DSP_GetClearUnit Sounds.FMODImport

Functions to get hold of FSOUND 'system DSP unit' handles.
FSOUND_DSP_GetClipAndCopyUnit Sounds.FMODImport

FSOUND_DSP_GetFFTUnit Sounds.FMODImport

FSOUND_DSP_GetMusicUnit Sounds.FMODImport

FSOUND_DSP_GetPriority Sounds.FMODImport

FSOUND_DSP_GetSFXUnit Sounds.FMODImport

FSOUND_DSP_GetSpectrum Sounds.FMODImport

Total buffer length due to FSOUND_SetBufferSize
FSOUND_DSP_MixBuffers Sounds.FMODImport

Miscellaneous DSP functions Note for the spectrum analysis function to work, you have to enable the FFT DSP unit with the following code FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit(), TRUE); It is off by default to save cpu usage.
FSOUND_DSP_SetActive Sounds.FMODImport

FSOUND_DSP_SetPriority Sounds.FMODImport

FSOUND_File_SetCallbacks Sounds.FMODImport

FSOUND_FX_Disable Sounds.FMODImport

FSOUND_FX_Enable Sounds.FMODImport

Functions to control DX8 only effects processing.

- FX enabled samples can only be played once at a time, not multiple times at once. - Sounds have to be created with FSOUND_HW2D or FSOUND_HW3D for this to work. - FSOUND_INIT_ENABLESYSTEMCHANNELFX can be used to apply hardware effect processing to the global mixed output of FMOD's software channels. - FSOUND_FX_Enable returns an FX handle that you can use to alter fx parameters. - FSOUND_FX_Enable can be called multiple times in a row, even on the same FX type, it will return a unique handle for each FX. - FSOUND_FX_Enable cannot be called if the sound is playing or locked. - FSOUND_FX_Disable must be called to reset/clear the FX from a channel.
FSOUND_FX_SetChorus Sounds.FMODImport

FSOUND_FX_SetCompressor Sounds.FMODImport

FSOUND_FX_SetDistortion Sounds.FMODImport

FSOUND_FX_SetEcho Sounds.FMODImport

FSOUND_FX_SetFlanger Sounds.FMODImport

FSOUND_FX_SetGargle Sounds.FMODImport

FSOUND_FX_SetI3DL2Reverb Sounds.FMODImport

FSOUND_FX_SetParamEQ Sounds.FMODImport

FSOUND_FX_SetWavesReverb Sounds.FMODImport

FSOUND_GetAmplitude Sounds.FMODImport

FSOUND_GetChannelsPlaying Sounds.FMODImport

FSOUND_GetCPUUsage Sounds.FMODImport

FSOUND_GetCurrentLevels Sounds.FMODImport

FSOUND_GetCurrentPosition Sounds.FMODImport

FSOUND_GetCurrentSample Sounds.FMODImport

FSOUND_GetDriver Sounds.FMODImport

FSOUND_GetDriverCaps Sounds.FMODImport

FSOUND_GetDriverName Sounds.FMODImport

FSOUND_GetError Sounds.FMODImport

System information functions
FSOUND_GetFrequency Sounds.FMODImport

FSOUND_GetLoopMode Sounds.FMODImport

FSOUND_GetMaxChannels Sounds.FMODImport

FSOUND_GetMaxSamples Sounds.FMODImport

FSOUND_GetMemoryStats Sounds.FMODImport

FSOUND_GetMixer Sounds.FMODImport

FSOUND_GetMute Sounds.FMODImport

FSOUND_GetNumDrivers Sounds.FMODImport

FSOUND_GetNumHWChannels Sounds.FMODImport

FSOUND_GetNumSubChannels Sounds.FMODImport

FSOUND_GetOutput Sounds.FMODImport

FSOUND_GetOutputHandle Sounds.FMODImport

FSOUND_GetOutputRate Sounds.FMODImport

FSOUND_GetPan Sounds.FMODImport

FSOUND_GetPaused Sounds.FMODImport

FSOUND_GetPriority Sounds.FMODImport

FSOUND_GetReserved Sounds.FMODImport

FSOUND_GetSFXMasterVolume Sounds.FMODImport

function FSOUND_GetSpeakerMode: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};
FSOUND_GetSubChannel Sounds.FMODImport

FSOUND_GetSurround Sounds.FMODImport

FSOUND_GetVersion Sounds.FMODImport

FSOUND_GetVolume Sounds.FMODImport

FSOUND_Init Sounds.FMODImport

Main initialization / closedown functions. Note : Use FSOUND_INIT_USEDEFAULTMIDISYNTH with FSOUND_Init for software override with MIDI playback. : Use FSOUND_INIT_GLOBALFOCUS with FSOUND_Init to make sound audible no matter which window is in focus. (FSOUND_OUTPUT_DSOUND only)
FSOUND_IsPlaying Sounds.FMODImport

Channel information functions
FSOUND_PlaySound Sounds.FMODImport

Playing and stopping sounds. Note : Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you. Use FSOUND_ALL as the 'channel' variable to control ALL channels with one function call!
FSOUND_PlaySoundEx Sounds.FMODImport

FSOUND_Record_GetDriver Sounds.FMODImport

FSOUND_Record_GetDriverName Sounds.FMODImport

FSOUND_Record_GetNumDrivers Sounds.FMODImport

FSOUND_Record_GetPosition Sounds.FMODImport

FSOUND_Record_SetDriver Sounds.FMODImport

Recording initialization functions
FSOUND_Record_StartSample Sounds.FMODImport

Recording functionality. Only one recording session will work at a time.
FSOUND_Record_Stop Sounds.FMODImport

FSOUND_Reverb_GetChannelProperties Sounds.FMODImport

FSOUND_Reverb_GetProperties Sounds.FMODImport

FSOUND_Reverb_SetChannelProperties Sounds.FMODImport

FSOUND_Reverb_SetProperties Sounds.FMODImport

See structures above for definitions and information on the reverb parameters.
FSOUND_Sample_Alloc Sounds.FMODImport

FSOUND_Sample_Free Sounds.FMODImport

FSOUND_Sample_Get Sounds.FMODImport

Sample information functions
FSOUND_Sample_GetDefaults Sounds.FMODImport

FSOUND_Sample_GetDefaultsEx Sounds.FMODImport

FSOUND_Sample_GetLength Sounds.FMODImport

FSOUND_Sample_GetLoopPoints Sounds.FMODImport

FSOUND_Sample_GetMinMaxDistance Sounds.FMODImport

FSOUND_Sample_GetMode Sounds.FMODImport

FSOUND_Sample_GetName Sounds.FMODImport

FSOUND_Sample_Load Sounds.FMODImport

Sample creation and management functions Note : Use FSOUND_LOADMEMORY flag with FSOUND_Sample_Load to load from memory. Use FSOUND_LOADRAW flag with FSOUND_Sample_Load to treat as as raw pcm data.
FSOUND_Sample_Lock Sounds.FMODImport

FSOUND_Sample_SetDefaults Sounds.FMODImport

FSOUND_Sample_SetDefaultsEx Sounds.FMODImport

FSOUND_Sample_SetLoopPoints Sounds.FMODImport

FSOUND_Sample_SetMaxPlaybacks Sounds.FMODImport

FSOUND_Sample_SetMinMaxDistance Sounds.FMODImport

FSOUND_Sample_SetMode Sounds.FMODImport

Sample control functions
FSOUND_Sample_Unlock Sounds.FMODImport

FSOUND_Sample_Upload Sounds.FMODImport

FSOUND_SetBufferSize Sounds.FMODImport

FSOUND_SetCurrentPosition Sounds.FMODImport

FSOUND_SetDriver Sounds.FMODImport

FSOUND_SetFrequency Sounds.FMODImport

Functions to control playback of a channel. Note : FSOUND_ALL can be used on most of these functions as a channel value.
FSOUND_SetHWND Sounds.FMODImport

FSOUND_SetLoopMode Sounds.FMODImport

FSOUND_SetMaxHardwareChannels Sounds.FMODImport

FSOUND_SetMemorySystem Sounds.FMODImport

FSOUND_SetMinHardwareChannels Sounds.FMODImport

FSOUND_SetMixer Sounds.FMODImport

FSOUND_SetMute Sounds.FMODImport

FSOUND_SetOutput Sounds.FMODImport

PRE - FSOUND_Init functions. These can't be called after FSOUND_Init is called (they will fail). They set up FMOD system functionality.
FSOUND_SetPan Sounds.FMODImport

FSOUND_SetPanSeperation Sounds.FMODImport

FSOUND_SetPaused Sounds.FMODImport

FSOUND_SetPriority Sounds.FMODImport

FSOUND_SetReserved Sounds.FMODImport

FSOUND_SetSFXMasterVolume Sounds.FMODImport

FSOUND_SetSpeakerMode Sounds.FMODImport

This is called to update 3d sound / non-realtime output
FSOUND_SetSurround Sounds.FMODImport

FSOUND_SetVolume Sounds.FMODImport

FSOUND_SetVolumeAbsolute Sounds.FMODImport

FSOUND_StopSound Sounds.FMODImport

FSOUND_Stream_AddSyncPoint Sounds.FMODImport

FSOUND_Stream_Close Sounds.FMODImport

FSOUND_Stream_Create Sounds.FMODImport

FSOUND_Stream_CreateDSP Sounds.FMODImport

FSOUND_Stream_DeleteSyncPoint Sounds.FMODImport

FSOUND_Stream_FindTagField Sounds.FMODImport

FSOUND_Stream_GetLength Sounds.FMODImport

FSOUND_Stream_GetLengthMs Sounds.FMODImport

FSOUND_Stream_GetMode Sounds.FMODImport

FSOUND_Stream_GetNumSubStreams Sounds.FMODImport

FSOUND_Stream_GetNumSyncPoints Sounds.FMODImport

FSOUND_Stream_GetNumTagFields Sounds.FMODImport

FSOUND_Stream_GetOpenState Sounds.FMODImport

FSOUND_Stream_GetPosition Sounds.FMODImport

FSOUND_Stream_GetSample Sounds.FMODImport

FSOUND_Stream_GetSyncPoint Sounds.FMODImport

FSOUND_Stream_GetSyncPointInfo Sounds.FMODImport

FSOUND_Stream_GetTagField Sounds.FMODImport

FSOUND_Stream_GetTime Sounds.FMODImport

FSOUND_Stream_Net_GetBufferProperties Sounds.FMODImport

FSOUND_Stream_Net_GetLastServerStatus Sounds.FMODImport

FSOUND_Stream_Net_GetStatus Sounds.FMODImport

FSOUND_Stream_Net_SetBufferProperties Sounds.FMODImport

FSOUND_Stream_Net_SetMetadataCallback Sounds.FMODImport

FSOUND_Stream_Net_SetProxy Sounds.FMODImport

Internet streaming functions
FSOUND_Stream_Open Sounds.FMODImport

FSOUND_Stream_Play Sounds.FMODImport

FSOUND_Stream_PlayEx Sounds.FMODImport

FSOUND_Stream_SetBufferSize Sounds.FMODImport

Note : Use FSOUND_LOADMEMORY flag with FSOUND_Stream_Open to stream from memory. Use FSOUND_LOADRAW flag with FSOUND_Stream_Open to treat stream as raw pcm data. Use FSOUND_MPEGACCURATE flag with FSOUND_Stream_Open to open mpegs in 'accurate mode' for settime/gettime/getlengthms. Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you.
FSOUND_Stream_SetEndCallback Sounds.FMODImport

FSOUND_Stream_SetLoopCount Sounds.FMODImport

FSOUND_Stream_SetLoopPoints Sounds.FMODImport

FSOUND_Stream_SetMode Sounds.FMODImport

FSOUND_Stream_SetPosition Sounds.FMODImport

FSOUND_Stream_SetSubStream Sounds.FMODImport

FSOUND_Stream_SetSubStreamSentence Sounds.FMODImport

FSOUND_Stream_SetSyncCallback Sounds.FMODImport

FSOUND_Stream_SetTime Sounds.FMODImport

FSOUND_Stream_Stop Sounds.FMODImport

FSOUND_Update Sounds.FMODImport

Runtime system level functions
G2_GetVertBoneIndex Formats.GL2

G2_GetVertBoneWeight Formats.GL2

G2_GetVertWeights Formats.GL2

GammaCorrectRGBArray GLS.Graphics

GenerateBezierCurve GLS.CurvesAndSurfaces

GenerateBezierSurface GLS.CurvesAndSurfaces

GenerateBSpline GLS.CurvesAndSurfaces

GenerateBSplineSurface GLS.CurvesAndSurfaces

GenerateKnotVector GLS.CurvesAndSurfaces

GeometryOptimizationMode GLS.VectorGeometry

Returns the detected optimization mode. Returned values is either 'FPU', '3DNow!' or 'SSE'
GetActiveLightsList GLSL.CustomShader

GetActor Physics.PhysXImport

GetActorCMassGlobalPosition Physics.PhysXImport

GetActorGlobalOrientation Physics.PhysXImport

GetActorGlobalPosition Physics.PhysXImport

GetActorMass Physics.PhysXImport

GetAmbientLightMotion Formats.m3DSUtils

GetArchiveFileFormats GLS.ArchiveManager

getting a class of accessed archiver
GetArchiveManager GLS.ArchiveManager

Caution!!! Work for one archive manager only
GetAtmosphere Formats.m3DSUtils

functions to retrieve global settings of a specific 3DS database
GetBackground Formats.m3DSUtils

GetBestSelectorClass GLS.Selection

GetBodyFromGLSceneObject Physics.NGDManager

GetBodyFromGLSceneObject Physics.ODEManager

GetBodyFromObject Physics.ODEManager

Helper functions for extracting data from objects with different inheritance.
GetBodyPositionAsAffineVector Physics.ODEUtils

GetBoneParent Physics.NGDRagdoll

GetBValue GLS.Color

GetCameraByIndex Formats.m3DSUtils

GetCameraCount Formats.m3DSUtils

GetCameraMotion Formats.m3DSUtils

GetCameraMotionByIndex Formats.m3DSUtils

GetCameraNodeCount Formats.m3DSUtils

GetCameraNodeNameList Formats.m3DSUtils

GetChannelTypeAndNum CUDA.APIComps

GetChunkValue Formats.m3DSUtils

GetContentDir Formats.LWO

GetCurrentColorDepth GLS.Utils

Number of bits per pixel for the current desktop resolution.
GetCurrentRenderingObject GLS.Scene

GetDatabaseRelease Formats.m3DSUtils

GetDeviceLogicalPixelsX GLS.Utils

Number of pixels per logical inch along the screen width for the device. Under Win32 awaits a HDC and returns its LOGPIXELSX.
GetElementAccessAddress CUDA.DataAccess

GetElementAccessSize CUDA.DataAccess

getenv GLS.SDLWindow

function putenv(const variable: PAnsiChar): integer;
GetFPSMovement GLS.FPSMovement

GetFPSMovement GLS.FPSMovement

GetGenericCompressedFormat GLS.TextureFormat

Give generic compressed OpenGL texture format
GetGLMat GLS.VectorTypesExt

GetGLQuat GLS.VectorTypesExt

GetGLRect GLS.Utils

—————— from CrossPlatform ———————–
GetGLSceneObject Physics.ODEManager

GetGLSoundFileFormats GLS.SoundFileObjects

GetGLTextureImageClassesAsStrings GLS.Texture

Creates a TStrings with the list of registered TGLTextureImageClass. To be freed by caller.
GetGLVec GLS.VectorTypesExt

GetGValue GLS.Color

GetImageLodNumber GLS.Graphics

Return an optimal number of texture pyramid
GetIndexFromResolution GLS.Screen

GetInertia GLS.Behaviours

Returns or creates the TGLBInertia within the given behaviours. This helper function is convenient way to access a TGLBInertia.
GetKfRelease Formats.m3DSUtils

GetKFSettings Formats.m3DSUtils

functions to retrieve/modify keyframer (animation) data
GetM3dMagicRelease Formats.m3DSUtils

version information
GetMaterialByIndex Formats.m3DSUtils

GetMaterialCount Formats.m3DSUtils

GetMeshByIndex Formats.m3DSUtils

GetMeshCount Formats.m3DSUtils

GetMeshRelease Formats.m3DSUtils

GetMeshSet Formats.m3DSUtils

GetModuleSymbol GLS.ModuleLoader

GetModuleSymbolEx GLS.ModuleLoader

GetMovement GLS.Movement

GetMovement GLS.Movement

GetNextIsoline GLS.Isolines

GetNGDDynamic Physics.NGDManager

GetNGDStatic Physics.NGDManager

GetObjectMotionByIndex Formats.m3DSUtils

GetObjectMotionByName Formats.m3DSUtils

GetObjectNodeCount Formats.m3DSUtils

GetObjectNodeNameList Formats.m3DSUtils

GetOdeDynamic Physics.ODEManager

GetODEHeightField Physics.ODEManager

Get and GetOrCreate functions for ODE HeightField
GetOdeStatic Physics.ODEManager

Get and GetOrCreate functions for ode behaviours
GetOmnilightByIndex Formats.m3DSUtils

GetOmnilightCount Formats.m3DSUtils

GetOmnilightMotionByIndex Formats.m3DSUtils

GetOmnilightMotionByName Formats.m3DSUtils

GetOmnilightNodeCount Formats.m3DSUtils

GetOmnilightNodeNameList Formats.m3DSUtils

GetOpenFileNamePreview Formats.VFW

GetOpenFileNamePreviewA Formats.VFW

== FilePreview dialog =======================================================
GetOpenFileNamePreviewW Formats.VFW

GetOrCreateAcceleration GLS.Behaviours

GetOrCreateAcceleration GLS.Behaviours

Returns or creates the TGLBAcceleration within the given behaviours. This helper function is convenient way to access a TGLBAcceleration.
GetOrCreateCollision GLS.Collision

Returns or creates the TGLBCollision within the given behaviours. This helper function is convenient way to access a TGLBCollision.
GetOrCreateCollision GLS.Collision

Returns or creates the TGLBCollision within the given object's behaviours. This helper function is convenient way to access a TGLBCollision.
GetOrCreateDCEDynamic GLS.DCE

GetOrCreateDCEDynamic GLS.DCE

GetOrCreateDCEStatic GLS.DCE

GetOrCreateDCEStatic GLS.DCE

GetOrCreateFireFX GLS.FireFX

Returns or creates the TGLBFireFX within the given behaviours. This helper function is convenient way to access a TGLBFireFX.
GetOrCreateFireFX GLS.FireFX

Returns or creates the TGLBFireFX within the given object's behaviours. This helper function is convenient way to access a TGLBFireFX.
GetOrCreateFPSMovement GLS.FPSMovement

GetOrCreateFPSMovement GLS.FPSMovement

GetOrCreateInertia GLS.Behaviours

GetOrCreateInertia GLS.Behaviours

GetOrCreateMovement GLS.Movement

GetOrCreateMovement GLS.Movement

GetOrCreateNGDDynamic Physics.NGDManager

GetOrCreateNGDStatic Physics.NGDManager

GetOrCreateOdeDynamic Physics.ODEManager

GetOrCreateODEHeightField Physics.ODEManager

GetOrCreateOdeStatic Physics.ODEManager

GetOrCreateParticleInertia Physics.SPIInertias

Returns or creates the TGLParticleInertia within the given behaviours. This helper function is convenient way to access a TGLParticleInertia.
GetOrCreateParticleInertia Physics.SPIInertias

Returns or creates the TGLParticleInertia within the given object's behaviours. This helper function is convenient way to access a TGLParticleInertia.
GetOrCreateRigidBodyInertia Physics.SPIInertias

Returns or creates the TGLRigidBodyInertia within the given behaviours. This helper function is convenient way to access a TGLRigidBodyInertia.
GetOrCreateRigidBodyInertia Physics.SPIInertias

Returns or creates the TGLRigidBodyInertia within the given object's behaviours. This helper function is convenient way to access a TGLRigidBodyInertia.
GetOrCreateSoundEmitter GLS.Sound

GetOrCreateSoundEmitter GLS.Sound

GetOrCreateSourcePFX GLS.ParticleFX

Returns or creates the TGLBInertia within the given object's behaviours.
GetOrCreateThorFX GLS.ThorFX

Returns or creates the TGLBThorFX within the given object's effects.
GetProcAddressGLLib GLS.OpenGLAdapter

GetProcAddressGLS GLS.OpenGLAdapter

GetRasterFileFormats GLS.Graphics

Read access to the list of registered vector file formats
GetResultsNx Physics.PhysXImport

GetROAMTrianglesCapacity GLS.ROAMPatch

GetRValue GLS.Color

GetSafeTurnAngle GLS.VectorGeometry

GetSafeTurnAngle GLS.VectorGeometry

Calculates angles for the Camera.MoveAroundTarget(pitch, turn) procedure. Initially from then GLCameraColtroller unit, requires AOriginalUpVector to contain only -1, 0 or 1. Result contains pitch and turn angles
GetSaveFileNamePreview Formats.VFW

GetOpenFileNamePreviewA
GetSaveFileNamePreviewA Formats.VFW

GetSaveFileNamePreviewW Formats.VFW

GetServiceWindow GLS.Context

GetSoundLibraryByName GLS.Sound

GetSpotlightByIndex Formats.m3DSUtils

GetSpotlightCount Formats.m3DSUtils

GetSpotlightMotionByIndex Formats.m3DSUtils

GetSpotlightMotionByName Formats.m3DSUtils

GetSpotlightNodeCount Formats.m3DSUtils

GetSpotlightNodeNameList Formats.m3DSUtils

GetSqrt255Array GLS.Utils

Returns a pointer to an array containing the results of "255*sqrt(i/255)".
GetSurfaceFromObject Physics.ODEManager

GetTextureCombiners GLS.TextureCombiners

Parses a TC text description and setups combiners accordingly. *experimental* Knowledge of texture combiners is a requirement Syntax: pascal-like, one instruction per line, use '//' for comment.

Examples: Tex1:=Tex0; // replace texture 1 with texture 0 Tex1:=Tex0+Tex1; // additive blending between textures 0 and 1 Tex1:=Tex0-Tex1; // subtractive blending between textures 0 and 1 Tex1:=Tex0*Tex1; // modulation between textures 0 and 1 Tex1:=Tex0+Tex1-0.5; // signed additive blending between textures 0 and 1 Tex1:=Interpolate(Tex0, Tex1, PrimaryColor); // interpolation between textures 0 and 1 using primary color as factor Tex1:=Dot3(Tex0, Tex1); // dot3 product between textures 0 and 1

Accepted tokens: Tex0, Tex1, etc. : texture unit PrimaryColor, Col : the primary color ConstantColor, EnvCol : texture environment constant color

Tokens can be qualified with '.a' or '.alpha' to specify the alpha channel explicitly, and '.rgb' to specify color channels (default). You cannot mix alpha and rgb tokens in the same line.
GetTextureElementSize GLS.TextureFormat

GetTextureElementSize GLS.TextureFormat

Give a pixel size in bytes from texture format or data format
GetUncompressedFormat GLS.TextureFormat

Give uncompressed texture format and OpenGL color format
GetUniformAutoSetMethod GLSL.ShaderParameter

GetUniformAutoSetMethodName GLSL.ShaderParameter

GetValueFromStringsIndex GLS.Utils

GetVectorFileFormats GLS.VectorFileObjects

Read access to the list of registered vector file formats
GetViewport Formats.m3DSUtils

GetXCollectionClassesList GLS.XCollection

GetXCollectionItemClassesList GLS.XCollection

Creates and returns a copy of internal list of TXCollectionItem classes. Returned list should be freed by caller, the parameter defines an ancestor class filter. If baseClass is left nil, TXCollectionItem is used as ancestor.
GetXMLAttribute GLS.CrossXML

GetXMLAttribute GLS.CrossXML

GetXMLAttributeCount GLS.CrossXML

GetXMLText GLS.CrossXML

Get_CUDA_API_Error_String CUDA.Import

Get_CUDA_FFT_Error_String CUDA.FourierTransform

GLCUDAEditorForm CUDA.EditorFm

GLDirectionFromGeom Physics.ODEUtils

GLEnumToDDSHeader Formats.DXTC

GLGetCursorPos GLS.Screen

GLGetScreenHeight GLS.Screen

GLGetScreenWidth GLS.Screen

GLLibMaterialPickerForm FLibMaterialPicker

GLLibMaterialPickerForm FmLibMaterialPicker

GLLoadBitmapFromInstance GLS.Utils

GLMaterialEditorForm FmMaterialEditor

GLMatrixFromGeom Physics.ODEUtils

GLOKMessageBox GLS.Utils

Returns the number of CPU cycles since startup. Use the similarly named CPU instruction.
GLSceneEditorForm FmSceneEditor

GLSceneMatrixToODER Physics.ODEUtils

GLSetCursorPos GLS.Screen

GLShaderEditorForm FmShaderMemo

GLShaderUniformEditor FmShaderUniformEditor

GLShowCursor GLS.Screen

GLSLogger GLS.Logger

Inner logger. Converted to a function, because in case of a DLL and main app using this module, log is written to the same file on initialization and finalization, which is not what one might want. This also allows to create a GLSLogger with custom parameters for user's application, for example a different log path (Often the EXE application directory is read-only).
GLSLTypeComponentCount GLSL.ShaderParameter

GLSLTypeEnum GLSL.ShaderParameter

GLSNewXMLDocument GLS.CrossXML

gluBeginCurve GLS.OpenGLAdapter

gluBeginPolygon GLS.OpenGLAdapter

gluBeginSurface GLS.OpenGLAdapter

gluBeginTrim GLS.OpenGLAdapter

gluBuild1DMipmaps GLS.OpenGLAdapter

gluBuild2DMipmaps GLS.OpenGLAdapter

gluCylinder GLS.OpenGLAdapter

gluDeleteNurbsRenderer GLS.OpenGLAdapter

gluDeleteQuadric GLS.OpenGLAdapter

gluDeleteTess GLS.OpenGLAdapter

gluDisk GLS.OpenGLAdapter

gluEndCurve GLS.OpenGLAdapter

gluEndPolygon GLS.OpenGLAdapter

gluEndSurface GLS.OpenGLAdapter

gluEndTrim GLS.OpenGLAdapter

gluErrorString GLS.OpenGLAdapter

function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32; function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32; function wglUseFontOutlinesA(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32; function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32; function wglUseFontOutlinesW(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32; function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 Name 'wglUseFontBitmapsA'; function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 Name 'wglUseFontOutlinesA';
gluGetNurbsProperty GLS.OpenGLAdapter

gluGetString GLS.OpenGLAdapter

gluGetTessProperty GLS.OpenGLAdapter

gluLoadSamplingMatrices GLS.OpenGLAdapter

gluLookAt GLS.OpenGLAdapter

gluNewNurbsRenderer GLS.OpenGLAdapter

gluNewQuadric GLS.OpenGLAdapter

gluNewTess GLS.OpenGLAdapter

gluNextContour GLS.OpenGLAdapter

gluNurbsCallback GLS.OpenGLAdapter

gluNurbsCurve GLS.OpenGLAdapter

gluNurbsProperty GLS.OpenGLAdapter

gluNurbsSurface GLS.OpenGLAdapter

gluOrtho2D GLS.OpenGLAdapter

gluPartialDisk GLS.OpenGLAdapter

gluPerspective GLS.OpenGLAdapter

gluPickMatrix GLS.OpenGLAdapter

gluProject GLS.OpenGLAdapter

gluPwlCurve GLS.OpenGLAdapter

gluQuadricCallback GLS.OpenGLAdapter

gluQuadricDrawStyle GLS.OpenGLAdapter

gluQuadricNormals GLS.OpenGLAdapter

gluQuadricOrientation GLS.OpenGLAdapter

gluQuadricTexture GLS.OpenGLAdapter

gluScaleImage GLS.OpenGLAdapter

gluSphere GLS.OpenGLAdapter

gluTessBeginContour GLS.OpenGLAdapter

gluTessBeginPolygon GLS.OpenGLAdapter

gluTessCallback GLS.OpenGLAdapter

gluTessEndContour GLS.OpenGLAdapter

gluTessEndPolygon GLS.OpenGLAdapter

gluTessNormal GLS.OpenGLAdapter

gluTessProperty GLS.OpenGLAdapter

gluTessVertex GLS.OpenGLAdapter

gluUnProject GLS.OpenGLAdapter

GLVectorEditorForm FmVectorEditor

GraphicClassForExtension GLS.Graphics

Returns the TGraphicClass associated to the extension, if any. Accepts anExtension with or without the '.'
GUIComponentDialog FmGuiSkinEditor

GUILayoutEditorForm FmGuiLayoutEditor

HackTPictureRegisteredFormats GLS.Graphics

Adds to the passed TStrings the list of registered formats. Convention is "extension=description" for the string, the Objects hold the corresponding TGraphicClass (extensions do not include the '.').
HalfToFloat GLS.Utils

ICAbout Formats.VFW

ICClose Formats.VFW

ICCompress Formats.VFW

***********************************************************************

compression functions

************************************************************************/ /* * ICCompress() * * compress a single frame *
ICCompressBegin Formats.VFW

* ICCompressBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOuput) is supported. *
ICCompressEnd Formats.VFW

ICCompressGetFormat Formats.VFW

* ICCompressGetFormat() * * get the output format, (format of compressed data) * if lpbiOutput is NULL return the size in bytes needed for format. *
ICCompressGetFormatSize Formats.VFW

ICCompressGetSize Formats.VFW

* ICCompressSize() * * return the maximal size of a compressed frame *
ICCompressorChoose Formats.VFW

COMPVARS contains valid data

allows user to choose compressor, quality etc...
ICCompressorFree Formats.VFW

ICCompressQuery Formats.VFW

* ICCompressQuery() * * determines if compression from a source format (lpbiInput) to a dest * format (lpbiOuput) is supported. *
ICConfigure Formats.VFW

ICDecompress Formats.VFW

* ICDecompress() * * decompress a single frame *
ICDecompressBegin Formats.VFW

* ICDecompressBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *
ICDecompressEnd Formats.VFW

ICDecompressEx Formats.VFW

* ICDecompressEx() * * decompress a single frame *
ICDecompressExBegin Formats.VFW

* ICDecompressExBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *
ICDecompressExEnd Formats.VFW

ICDecompressExQuery Formats.VFW

* ICDecompressExQuery() *
ICDecompressGetFormat Formats.VFW

* ICDecompressGetFormat() * * get the output format, (format of un-compressed data) * if lpbiOutput is NULL return the size in bytes needed for format. *
ICDecompressGetFormatSize Formats.VFW

ICDecompressGetPalette Formats.VFW

* ICDecompressGetPalette() * * get the output palette *
ICDecompressOpen Formats.VFW

ICDecompressQuery Formats.VFW

* ICDecompressQuery() * * determines if compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *
ICDecompressSetPalette Formats.VFW

ICDraw Formats.VFW

* ICDraw() * * decompress data directly to the screen *
ICDrawBegin Formats.VFW

* ICDrawBegin() * * start decompressing data with format (lpbiInput) directly to the screen * * return zero if the decompressor supports drawing. *
ICDrawChangePalette Formats.VFW

ICDrawEnd Formats.VFW

ICDrawFlush Formats.VFW

ICDrawGetTime Formats.VFW

ICDrawOpen Formats.VFW

ICDrawQuery Formats.VFW

* ICDrawQuery() * * determines if the compressor is willing to render the specified format. *
ICDrawRealize Formats.VFW

ICDrawRenderBuffer Formats.VFW

ICDrawSetTime Formats.VFW

ICDrawStart Formats.VFW

ICDrawStartPlay Formats.VFW

ICDrawStop Formats.VFW

ICDrawStopPlay Formats.VFW

ICDrawSuggestFormat Formats.VFW

ICMessage is not supported on Win32, so provide a static inline function to do the same job
ICDrawWindow Formats.VFW

– Draw window macro ——————————————————–
ICGetBuffersWanted Formats.VFW

ICGetDefaultKeyFrameRate Formats.VFW

ICGetDefaultQuality Formats.VFW

– Get value macros ———————————————————
ICGetDisplayFormat Formats.VFW

ICGetInfo Formats.VFW

ICGetState Formats.VFW

– Get/Set state macros —————————————————–
ICGetStateSize Formats.VFW

ICImageCompress Formats.VFW

*********************************************************************** Higher level functions ***********************************************************************
ICImageDecompress Formats.VFW

ICInfo Formats.VFW

***********************************************************************

ICM function declarations

***********************************************************************
ICInstall Formats.VFW

ICLocate Formats.VFW

***********************************************************************

helper routines for DrawDib and MCIAVI...

***********************************************************************
ICOpen Formats.VFW

ICOpenFunction Formats.VFW

ICQueryAbout Formats.VFW

ICQueryConfigure Formats.VFW

ICRemove Formats.VFW

ICSendMessage Formats.VFW

ICSeqCompressFrame Formats.VFW

ICSeqCompressFrameEnd Formats.VFW

ICSeqCompressFrameStart Formats.VFW

don't only show those that can handle the input format or input data
ICSetState Formats.VFW

ICSetStatusProc Formats.VFW

ICMessage is not supported on NT
ID4ToInt Formats.LWO

ILength GLS.VectorGeometry

ILength GLS.VectorGeometry

Computes an integer length Result:=Sqrt(x*x+y*y)
ImageAlphaBottomRightPointColorTransparent GLS.ImageUtils

ImageAlphaFromIntensity GLS.ImageUtils

ImageAlphaInverseLuminance GLS.ImageUtils

ImageAlphaInverseLuminanceSqrt GLS.ImageUtils

ImageAlphaLuminance GLS.ImageUtils

ImageAlphaLuminanceSqrt GLS.ImageUtils

ImageAlphaOpaque GLS.ImageUtils

ImageAlphaSuperBlackTransparent GLS.ImageUtils

ImageAlphaTopLeftPointColorTransparent GLS.ImageUtils

ImageBellFilter GLS.ImageUtils

ImageBoxFilter GLS.ImageUtils

ImageHermiteFilter GLS.ImageUtils

ImageLanczos3Filter GLS.ImageUtils

ImageMitchellFilter GLS.ImageUtils

ImageSplineFilter GLS.ImageUtils

ImageTriangleFilter GLS.ImageUtils

IMG_GetError SDL2.Image

IMG_Init SDL2.Image

* Loads dynamic libraries and prepares them for use. Flags should be one or more flags from IMG_InitFlags OR'd together. It returns the flags successfully initialized, or 0 on failure. *
IMG_isBMP SDL2.Image

IMG_isCUR SDL2.Image

IMG_isGIF SDL2.Image

IMG_isICO SDL2.Image

* Functions to detect a file type, given a seekable source *
IMG_isJPG SDL2.Image

IMG_isLBM SDL2.Image

IMG_isPCX SDL2.Image

IMG_isPNG SDL2.Image

IMG_isPNM SDL2.Image

IMG_isTIF SDL2.Image

IMG_isWEBP SDL2.Image

IMG_isXCF SDL2.Image

IMG_isXPM SDL2.Image

IMG_isXV SDL2.Image

IMG_Linked_Version SDL2.Image

* This function gets the version of the dynamically linked SDL_image library. it should NOT be used to fill a version structure, instead you should use the SDL_IMAGE_VERSION() macro. *
IMG_Load SDL2.Image

* Convenience functions *
IMG_LoadBMP_RW SDL2.Image

IMG_LoadCUR_RW SDL2.Image

IMG_LoadGIF_RW SDL2.Image

IMG_LoadICO_RW SDL2.Image

* Individual loading functions *
IMG_LoadJPG_RW SDL2.Image

IMG_LoadLBM_RW SDL2.Image

IMG_LoadPCX_RW SDL2.Image

IMG_LoadPNG_RW SDL2.Image

IMG_LoadPNM_RW SDL2.Image

IMG_LoadTexture SDL2.Image

* Load an image directly into a render texture. *
IMG_LoadTextureTyped_RW SDL2.Image

IMG_LoadTexture_RW SDL2.Image

IMG_LoadTGA_RW SDL2.Image

IMG_LoadTIF_RW SDL2.Image

IMG_LoadTyped_RW SDL2.Image

* Load an image from an SDL data source. The 'type' may be one of: "BMP", "GIF", "PNG", etc.

If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey); *
IMG_LoadWEBP_RW SDL2.Image

IMG_LoadXCF_RW SDL2.Image

IMG_LoadXPM_RW SDL2.Image

IMG_LoadXV_RW SDL2.Image

IMG_Load_RW SDL2.Image

IMG_Quit SDL2.Image

* Unloads libraries loaded with IMG_Init *
IMG_ReadXPMFromArray SDL2.Image

IMG_SavePNG SDL2.Image

* Individual saving functions *
IMG_SavePNG_RW SDL2.Image

IMG_SetError SDL2.Image

* We'll use SDL for reporting errors *
IncludeInClipRect GLS.GeometryBB

Extend the clip rect to include given coordinate.
IncreaseCoherency GLS.MeshUtils

Increases indices coherency wrt vertex caches. The indices parameters is understood as vertex indices of a triangles set, the triangles are reordered to maximize coherency (vertex reuse) over the cacheSize latest indices. This allows higher rendering performance from hardware renderers that implement vertex cache (nVidia GeForce family f.i.), allowing reuse of T&amp;L performance (similar to stripification without the normals issues of strips). This procedure performs a coherency optimization via a greedy hill-climber algorithm (ie. not optimal but fast).
InflateGLRect GLS.Utils

Increases or decreases the width and height of the specified rectangle. Adds dx units to the left and right ends of the rectangle and dy units to the top and bottom.
InformationDlg GLS.Utils

Pops up a simple dialog with msg and an Ok button.
Init GLS.VectorTypesExt

InitChunk Formats.m3DSUtils

InitCUDA CUDA.Import

InitCUDAFromLibrary CUDA.Import

InitCUDART CUDA.Runtime

InitCUDARTFromLibrary CUDA.Runtime

InitCUFFT CUDA.FourierTransform

InitCUFFTFromLibrary CUDA.FourierTransform

InitCUTIL CUDA.Utility

InitCUTILFromLibrary CUDA.Utility

InitFromLibraryOpenCL OpenCL.Import

InitGLSceneColors GLS.Color

InitializeRandomGenerator GLS.RandomHDS

Initialize_Contouring GLS.Isolines

InitNx Physics.PhysXImport

InitObjectMotion Formats.m3DSUtils

InitODE Physics.ODEImport

These are made public in the dynamic version MRQZZZ
InitOpenAL Sounds.OpenALImport

InitOpenCL OpenCL.Import

CL_API_SUFFIX__VERSION_1_2 * Deprecated OpenCL 1.1 APIs *// clCreateImage2D(); clCreateImage3D(); clEnqueueMarker(); clEnqueueWaitForEvents(); clEnqueueBarrier(); clUnloadCompiler(); clGetExtensionFunctionAddress(); * Deprecated OpenCL 2.0 APIs *// clCreateCommandQueue(); clCreateSampler(); clEnqueueTask(); ————————————————————————-
InitOpenGL GLS.OpenGLAdapter

InitOpenGLFromLibrary GLS.OpenGLAdapter

InitTexture GLSL.CustomShader

InputDlg GLS.Utils

Posp a simple dialog with a string input.
InternalFormatToOpenGLFormat GLS.TextureFormat

Give a openGL texture format from GLScene texture format
InterpolateCombined GLS.VectorGeometry

InterpolateCombinedFast GLS.VectorGeometry

InterpolateCombinedFastPower GLS.VectorGeometry

InterpolateCombinedSafe GLS.VectorGeometry

InterpolateExp GLS.VectorGeometry

InterpolateLn GLS.VectorGeometry

InterpolatePower GLS.VectorGeometry

There functions that do the same as "Lerp", but add some distortions
InterpolateSin GLS.VectorGeometry

Only valid where Delta belongs to [0..1]
InterpolateSinAlt GLS.VectorGeometry

"Alt" functions are valid everywhere
InterpolateTan GLS.VectorGeometry

IntersectAABBs GLS.GeometryBB

Determines if two AxisAlignedBoundingBoxes intersect. The matrices are the ones that convert one point to the other's AABB system
IntersectAABBsAbsolute GLS.GeometryBB

Checks whether two Bounding boxes aligned with the world axes collide.
IntersectAABBsAbsoluteXY GLS.GeometryBB

Checks whether two Bounding boxes aligned with the world axes collide in the XY plane.
IntersectAABBsAbsoluteXZ GLS.GeometryBB

Checks whether two Bounding boxes aligned with the world axes collide in the XZ plane.
IntersectCubes GLS.Collision

Returns true when the bounding box cubes does intersect the other. Also true when the one cube does contain the other completely.
IntersectGLRect GLS.Utils

IntersectLinePlane GLS.VectorGeometry

Compute the intersection point "res" of a line with a plane. Return value: 0 : no intersection, line parallel to plane 1 : res is valid -1 : line is inside plane

Adapted from: E.Hartmann, Computeruntersttzte Darstellende Geometrie, B.G. Teubner Stuttgart 1988
IntersectSphereBox GLS.VectorGeometry

Compute intersection between a Sphere and a box. Up, Direction and Right must be normalized! Use CubDepth, CubeHeight and CubeWidth to scale TGLCube
IntersectTriangleBox GLS.VectorGeometry

Compute intersection between a triangle and a box. Returns True if an intersection was found
InvertMatrix GLS.VectorGeometry

Finds the inverse of a 3x3 matrix;
InvertMatrix GLS.VectorGeometry

Finds the inverse of a 4x4 matrix
InvertTrianglesWinding GLS.MeshUtils

Inverts the triangles winding (vertex order).
InvokeInfoForm GLS.Scene

IsCgProfileSupported Cg.Shader

Misc. global functions
IsColinear GLS.VectorGeometry

Returns true if both vector are colinear
IsColinear GLS.VectorGeometry

Returns true if both vector are colinear
IsColinear GLS.VectorGeometry

Returns true if both vector are colinear
IsCompressedFormat GLS.TextureFormat

IsCompressedFormat GLS.TextureFormat

True if texture compressed
IsCUDAInitialized CUDA.Import

IsCUDARTInitialized CUDA.Runtime

IsCUFFTInitialized CUDA.FourierTransform

IsCUTILInitialized CUDA.Utility

IsDepthFormat GLS.TextureFormat

IsDepthFormat GLS.TextureFormat

True if depth texture
IsDirectoryWriteable GLS.Utils

Determine if the directory is writable.
IsFloatFormat GLS.TextureFormat

IsFloatFormat GLS.TextureFormat

True if texture format is float
IsFogEnabled GLSL.CustomShader

IsFormatSupported GLS.TextureFormat

True if texture format is supported by hardware or software
IsInCube GLS.VectorGeometry

IsInCube GLS.VectorGeometry

Returns True if p is in the cube defined by d.
IsInitializedOpenCL OpenCL.Import

IsInRange GLS.VectorGeometry

IsInRange GLS.VectorGeometry

Returns True if x is in [a; b]
IsInRect GLS.Gui

IsKeyDown GLS.Keyboard

Check if the given virtual key is down. This function is just a wrapper for GetAsyncKeyState.
IsKeyDown GLS.Keyboard

Check if the key corresponding to the given Char is down. The character is mapped to the <i>main keyboard</i> only, and not to the numeric keypad. The Shift/Ctrl/Alt state combinations that may be required to type the character are ignored (ie. 'a' is equivalent to 'A', and on my french keyboard, '5' = '(' = '[' since they all share the same physical key).
IsLineIntersectQuad GLS.VectorGeometry

Returns true if line intersect ABCD quad. Quad have to be flat and convex
IsLineIntersectTriangle GLS.VectorGeometry

Returns true if line intersect ABC triangle
IsMainThread GLS.Context

IsMesaGL GLS.OpenGLAdapter

IsOpenGLInitialized GLS.OpenGLAdapter

IsOpenGLLoaded GLS.OpenGLAdapter

IsPointInPolygon GLS.VectorGeometry

PtInRegion
IsPowerOf2 GLS.Utils

Returns True if value is a true power of two
ISqrt GLS.VectorGeometry

Computes an integer sqrt approximation
IsServiceContextAvaible GLS.Context

IsSubComponent GLS.Utils

Classes.pas
IsTargetSupported GLS.TextureFormat

IsTargetSupported GLS.TextureFormat

True if texture target supported
IsTargetSupportMipmap GLS.TextureFormat

IsTargetSupportMipmap GLS.TextureFormat

IsVersionMet GLS.OpenGLAdapter

IsVolumeClipped GLS.VectorGeometry

IsVolumeClipped GLS.VectorGeometry

IsVolumeClipped GLS.VectorGeometry

Determines if volume is clipped or not
Jpeg2Bmp GLS.FileJPEG

KeyboardNotifyWheelMoved GLS.Keyboard

Use this procedure to notify a wheel movement and have it resurfaced as key stroke. Honoured by IsKeyDown and KeyPressed
KeyNameToVirtualKeyCode GLS.Keyboard

Converts a key name to its virtual key code. The comparison is **NOT** case-sensitive, if no match is found, returns -1. The name is expressed using the locale windows options, except for mouse buttons which are translated to 'LBUTTON', 'MBUTTON' and 'RBUTTON'.
KeyPressed GLS.Keyboard

Returns the first pressed key whose virtual key code is >= to minVkCode. If no key is pressed, the return value is -1, this function does NOT wait for user input. If you don't care about multiple key presses, just don't use the parameter.
Lerp GLS.VectorGeometry

Calculates linear interpolation between start and stop at point t
Linear_Interpolate GLS.Perlin

Useless for final output! Usefull for after interpolation, as its FAST!
LineLineDistance GLS.VectorGeometry

Computes the closest distance between two lines
LoadAnsiStringFromFile GLS.Utils

Returns the ansistring content of "filename".
LoadComponentFromFile GLS.Utils

Loads component from a file.
LoadJPGtexture GLS.RandomHDS

Texture functions
LoadLW0FromStream Formats.LWO

LoadLWOFromFile Formats.LWO

LoadModule GLS.ModuleLoader

LoadModuleEx GLS.ModuleLoader

LoadOpenGL GLS.OpenGLAdapter

LoadOpenGLFromLibrary GLS.OpenGLAdapter

LoadQ3Anims GLS.FileQ3MD3

LoadQ3Anims GLS.FileQ3MD3

These procedures are helpers to load the Quake3 animation file data into an animation list. The NamePrefix parameter is used to determine which class of animation is extracted. eg NamePrefix='TORSO' will load all animations starting with 'TORSO_' like 'TORSO_STAND'
LoadQ3Skin GLS.FileQ3MD3

Quake3 Skin loading procedure. Use this procedure to apply textures to a GLActor. This doens't use the actors original preloaded materials so it may be a good idea to clear the actors material library before running this to keep everything nice and clean.
LoadRGBEpixels GLS.RGBE

LoadRLEpixels GLS.RGBE

LoadSDLBMPFromStream SDL2.Import

LoadStringFromFile GLS.Utils

Returns the string content of "filename".
Logarithm2 GLS.VectorGeometry

—————————————————————————- Exponential functions —————————————————————————–
MakeAffineDblVector GLS.VectorGeometry

Miscellaneous functions
MAKEAVICKID Formats.VFW

MakeDblVector GLS.VectorGeometry

MakeParallelProjectionMatrix GLS.VectorGeometry

Creates a parallel projection matrix. Transformed points will projected on the plane along the specified direction
MakePoint GLS.VectorGeometry

MakePoint GLS.VectorGeometry

MakePoint GLS.VectorGeometry

MakeReflectionMatrix GLS.VectorGeometry

Builds a reflection matrix for the given plane. Reflection matrix allow implementing planar reflectors (mirrors)
MakeShadowMatrix GLS.VectorGeometry

Creates a shadow projection matrix. Shadows will be projected onto the plane defined by planePoint and planeNormal, from lightPos
MakeSubComponent GLS.Utils

MakeTriangleAdjacencyList GLS.MeshUtils

Create list of indices of triangles with adjacency from triangle list
MakeVector GLS.VectorGeometry

MakeVector GLS.VectorGeometry

MakeVector GLS.VectorGeometry

MakeVector GLS.VectorGeometry

MatrixDecompose GLS.VectorGeometry

Decompose a non-degenerated 4x4 transformation matrix into the sequence of transformations that produced it. Modified by ml then eg, original Author: Spencer W. Thomas, University of Michigan The coefficient of each transformation is returned in the corresponding element of the vector Tran. Returns true upon success, false if the matrix is singular.
MatrixDeterminant GLS.VectorGeometry

Determinant of a 3x3 matrix
MatrixDeterminant GLS.VectorGeometry

Determinant of a 4x4 matrix
MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

MatrixEquals GLS.VectorGeometry

3x3
MatrixEquals GLS.VectorGeometry

4x4
MatrixInvert GLS.VectorGeometry

MatrixInvert GLS.VectorGeometry

MatrixLerp GLS.VectorGeometry

This is used for interpolating between 2 matrices. The result is used to reposition the model parts each frame.
MatrixMultiply GLS.VectorGeometry

Multiplies M1 by M2 and places result in MResult
MatrixMultiply GLS.VectorGeometry

Multiplies two 3x3 matrices
MatrixMultiply GLS.VectorGeometry

Multiplies two 4x4 matrices
MaxAbsXYZComponent GLS.VectorGeometry

Returns the max of the Abs(X), Abs(Y) and Abs(Z) components of a vector (W is ignored)
MaxFloat GLS.VectorGeometry

MaxFloat GLS.VectorGeometry

MaxFloat GLS.VectorGeometry

MaxFloat GLS.VectorGeometry

MaxFloat GLS.VectorGeometry

MaxFloat GLS.VectorGeometry

MaxFloat GLS.VectorGeometry

Returns the maximum of given values.
MaxFloat GLS.VectorGeometry

Returns the maximum value of the array.
MaxInteger GLS.VectorGeometry

MaxInteger GLS.VectorGeometry

MaxInteger GLS.VectorGeometry

MaxInteger GLS.VectorGeometry

MaxVector GLS.VectorGeometry

MaxVector GLS.VectorGeometry

Replace components of v with the max of v or v1 component. Maximum is computed per component
MaxXYZComponent GLS.VectorGeometry

MaxXYZComponent GLS.VectorGeometry

Returns the max of the X, Y and Z components of a vector (W is ignored)
MCIWndCanConfig Formats.VFW

MCIWndCanEject Formats.VFW

MCIWndCanPlay Formats.VFW

– Can macros —————————————————————
MCIWndCanRecord Formats.VFW

MCIWndCanSave Formats.VFW

MCIWndCanWindow Formats.VFW

MCIWndChangeStyles Formats.VFW

MCIWndClose Formats.VFW

MCIWndCreate Formats.VFW

MCIWndCreateA Formats.VFW

MCIWndCreateW Formats.VFW

MCIWndDestroy Formats.VFW

MCIWndEject Formats.VFW

MCIWndEnd Formats.VFW

MCIWndGetActiveTimer Formats.VFW

MCIWndGetAlias Formats.VFW

MCIWndGetDest Formats.VFW

MCIWndGetDevice Formats.VFW

MCIWndGetDeviceID Formats.VFW

MCIWndGetEnd Formats.VFW

MCIWndGetError Formats.VFW

MCIWndGetFileName Formats.VFW

MCIWndGetInactiveTimer Formats.VFW

MCIWndGetLength Formats.VFW

MCIWndGetMode Formats.VFW

MCIWndGetPalette Formats.VFW

#define MCIWndActivate(hwnd, f) (void)MCIWndSM(hwnd, WM_ACTIVATE, (WPARAM)(BOOL)(f), 0)
MCIWndGetPosition Formats.VFW

MCIWndGetPositionString Formats.VFW

MCIWndGetRepeat Formats.VFW

MCIWndGetSource Formats.VFW

MCIWndGetSpeed Formats.VFW

MCIWndGetStart Formats.VFW

MCIWndGetStyles Formats.VFW

MCIWndGetTimeFormat Formats.VFW

MCIWndGetVolume Formats.VFW

MCIWndGetZoom Formats.VFW

MCIWndHome Formats.VFW

MCIWndNew Formats.VFW

If you dont give a device it will use the current device....
MCIWndOpen Formats.VFW

MCIWndOpenDialog Formats.VFW

MCIWndOpenInterface Formats.VFW

MCIWndPaletteKick Formats.VFW

MCIWndPause Formats.VFW

MCIWndPlay Formats.VFW

MCIWndPlayFrom Formats.VFW

MCIWndPlayFromTo Formats.VFW

MCIWndPlayReverse Formats.VFW

MCIWndPlayTo Formats.VFW

MCIWndPutDest Formats.VFW

MCIWndPutSource Formats.VFW

MCIWndRealize Formats.VFW

MCIWndRecord Formats.VFW

MCIWndRegisterClass Formats.VFW

MCIWndCreateA
MCIWndResume Formats.VFW

MCIWndReturnString Formats.VFW

MCIWndSave Formats.VFW

MCIWndSaveDialog Formats.VFW

MCIWndSeek Formats.VFW

MCIWndSendString Formats.VFW

MCIWndSetActiveTimer Formats.VFW

MCIWndSetInactiveTimer Formats.VFW

MCIWndSetOwner Formats.VFW

MCIWndSetPalette Formats.VFW

MCIWndSetRepeat Formats.VFW

MCIWndSetSpeed Formats.VFW

MCIWndSetTimeFormat Formats.VFW

MCIWndSetTimers Formats.VFW

MCIWndSetVolume Formats.VFW

MCIWndSetZoom Formats.VFW

MCIWndSM Formats.VFW

MCIWnd

MCIWnd window class header file.

the MCIWnd window class is a window class for controling MCI devices MCI devices include, wave files, midi files, AVI Video, cd audio, vcr, video disc, and others..

to learn more about MCI and mci command sets see the "Microsoft Multimedia Programmers's guide" in the Win31 SDK

the easiest use of the MCIWnd class is like so:

hwnd = MCIWndCreate(hwndParent, hInstance, 0, "chimes.wav"); ... MCIWndPlay(hwnd); MCIWndStop(hwnd); MCIWndPause(hwnd); .... MCIWndDestroy(hwnd);

this will create a window with a play/pause, stop and a playbar and start the wave file playing.

mciwnd.h defines macros for all the most common MCI commands, but any string command can be used if needed.

Note: unlike the mciSendString() API, no alias or file name needs to be specifed, since the device to use is implied by the window handle.

MCIWndSendString(hwnd, "setaudio stream to 2");

(C) Copyright Microsoft Corp. 1991-1995. All rights reserved.

WIN32:

MCIWnd supports both ansi and unicode interfaces. For any message that takes or returns a text string, two versions of the message are defined, appended with A or W for Ansi or Wide Char. The message or api itself is defined to be one or other of these depending on whether you have UNICODE defined in your application. Thus for the api MCIWndCreate, there are in fact two apis, MCIWndCreateA and MCIWndCreateW. If you call MCIWndCreate, this will be re-routed to MCIWndCreateA unless UNICODE is defined when building your application. In any one application, you can mix calls to the Ansi and Unicode entrypoints.

If you use SendMessage instead of the macros below such as MCIWndOpen(), you will see that the messages have changed for WIN32, to support Ansi and Unicode entrypoints. In particular, MCI_OPEN has been replaced by MCWNDM_OPENA, or MCIWNDM_OPENW (MCIWNDM_OPEN is defined to be one or other of these).

Also, note that the WIN32 implementation of MCIWnd uses UNICODE so all apis and messages supporting ANSI strings do so by mapping them UNICODE strings and then calling the corresponding UNICODE entrypoint.
MCIWndStep Formats.VFW

MCIWndStop Formats.VFW

MCIWndUseFrames Formats.VFW

MCIWndUseTime Formats.VFW

MCIWndValidateMedia Formats.VFW

MC_UnCompressQuat Formats.GL2

MinAbsXYZComponent GLS.VectorGeometry

Returns the min of the Abs(X), Abs(Y) and Abs(Z) components of a vector (W is ignored)
MinFloat GLS.VectorGeometry

MinFloat GLS.VectorGeometry

MinFloat GLS.VectorGeometry

MinFloat GLS.VectorGeometry

MinFloat GLS.VectorGeometry

MinFloat GLS.VectorGeometry

MinFloat GLS.VectorGeometry

Returns the minimum of given values.
MinFloat GLS.VectorGeometry

Returns the minimum value of the array.
MinInteger GLS.VectorGeometry

MinInteger GLS.VectorGeometry

MinInteger GLS.VectorGeometry

MinInteger GLS.VectorGeometry

MinPositiveCoef GLS.Polynomials

Finds the minimum positive coef in the array in aMin. Returns true if such an item was found.
MinVector GLS.VectorGeometry

MinVector GLS.VectorGeometry

Replace components of v with the min of v or v1 component. Minimum is computed per component
MinXYZComponent GLS.VectorGeometry

MinXYZComponent GLS.VectorGeometry

Returns the min of the X, Y and Z components of a vector (W is ignored)
Mix_AllocateChannels SDL2.Mixer

* Dynamically change the number of channels managed by the mixer. If decreasing the number of channels, the upper channels are stopped. This function returns the new number of allocated channels. *
Mix_ChannelFinished SDL2.Mixer

Mix_CloseAudio SDL2.Mixer

* Close the mixer, halting all playing audio *
Mix_EachSoundFont SDL2.Mixer

Mix_ExpireChannel SDL2.Mixer

* Change the expiration delay for a particular channel. The sample will stop playing after the 'ticks' milliseconds have elapsed, or remove the expiration if 'ticks' is -1 *
Mix_FadeInChannel SDL2.Mixer

Mix_FadeInChannelTimed SDL2.Mixer

Mix_FadeInMusic SDL2.Mixer

* Fade in music or a channel over "ms" milliseconds, same semantics as the "Play" functions *
Mix_FadeInMusicPos SDL2.Mixer

Mix_FadeOutChannel SDL2.Mixer

* Halt a channel, fading it out progressively till it's silent The ms parameter indicates the number of milliseconds the fading will take. *
Mix_FadeOutGroup SDL2.Mixer

Mix_FadeOutMusic SDL2.Mixer

Mix_FadingChannel SDL2.Mixer

Mix_FadingMusic SDL2.Mixer

* Query the fading status of a channel *
Mix_FreeChunk SDL2.Mixer

* Free an audio chunk previously loaded *
Mix_FreeMusic SDL2.Mixer

Mix_GetChunk SDL2.Mixer

* Get the Mix_Chunk currently associated with a mixer channel Returns NULL if it's an invalid channel, or there's no chunk associated. *
Mix_GetChunkDecoder SDL2.Mixer

Mix_GetError SDL2.Mixer

Mix_GetMusicDecoder SDL2.Mixer

Mix_GetMusicHookData SDL2.Mixer

* Get a pointer to the user data for the current music hook *
Mix_GetMusicType SDL2.Mixer

* Find out the music format of a mixer music, or the currently playing music, if 'music' is NULL. *
Mix_GetNumChunkDecoders SDL2.Mixer

* Get a list of chunk/music decoders that this build of SDL_mixer provides. This list can change between builds AND runs of the program, if external libraries that add functionality become available. You must successfully call Mix_OpenAudio() before calling these functions. This API is only available in SDL_mixer 1.2.9 and later.

// usage... int i; const int total = Mix_GetNumChunkDecoders(); for (i = 0; i < total; i++) printf("Supported chunk decoder: [%s]\n", Mix_GetChunkDecoder(i));

Appearing in this list doesn't promise your specific audio file will decode...but it's handy to know if you have, say, a functioning Timidity install.

These return values are static, read-only data; do not modify or free it. The pointers remain valid until you call Mix_CloseAudio(). *
Mix_GetNumMusicDecoders SDL2.Mixer

Mix_GetSoundFonts SDL2.Mixer

Mix_GetSynchroValue SDL2.Mixer

Mix_GroupAvailable SDL2.Mixer

* Finds the first available channel in a group of channels, returning -1 if none are available. *
Mix_GroupChannel SDL2.Mixer

* Attach a tag to a channel. A tag can be assigned to several mixer channels, to form groups of channels. If 'tag' is -1, the tag is removed (actually -1 is the tag used to represent the group of all the channels). Returns true if everything was OK. *
Mix_GroupChannels SDL2.Mixer

* Assign several consecutive channels to a group *
Mix_GroupCount SDL2.Mixer

* Returns the number of channels in a group. This is also a subtle way to get the total number of channels when 'tag' is -1 *
Mix_GroupNewer SDL2.Mixer

* Finds the "most recent" (i.e. last) sample playing in a group of channels *
Mix_GroupOldest SDL2.Mixer

* Finds the "oldest" sample playing in a group of channels *
Mix_HaltChannel SDL2.Mixer

* Halt playing of a particular channel *
Mix_HaltGroup SDL2.Mixer

Mix_HaltMusic SDL2.Mixer

Mix_HookMusic SDL2.Mixer

* Add your own music player or additional mixer function. If 'mix_func' is NULL, the default music player is re-enabled. *
Mix_HookMusicFinished SDL2.Mixer

Mix_Init SDL2.Mixer

* Loads dynamic libraries and prepares them for use. Flags should be one or more flags from MIX_InitFlags OR'd together. It returns the flags successfully initialized, or 0 on failure. *
Mix_Linked_Version SDL2.Mixer

* This function gets the version of the dynamically linked SDL_mixer library. it should NOT be used to fill a version structure, instead you should use the SDL_MIXER_VERSION() macro. *
Mix_LoadMUS SDL2.Mixer

Mix_LoadMUSType_RW SDL2.Mixer

* Load a music file from an SDL_RWop object assuming a specific format *
Mix_LoadMUS_RW SDL2.Mixer

* Load a music file from an SDL_RWop object (Ogg and MikMod specific currently) Matt Campbell (matt@campbellhome.dhs.org) April 2000 *
Mix_LoadWAV SDL2.Mixer

Mix_LoadWAV_RW SDL2.Mixer

* Load a wave file or a music (.mod .s3m .it .xm) file *
Mix_OpenAudio SDL2.Mixer

* Open the mixer with a certain audio format *
Mix_Pause SDL2.Mixer

* Pause/Resume a particular channel *
Mix_Paused SDL2.Mixer

Mix_PausedMusic SDL2.Mixer

Mix_PauseMusic SDL2.Mixer

* Pause/Resume the music stream *
Mix_PlayChannel SDL2.Mixer

* Play an audio chunk on a specific channel. If the specified channel is -1, play on the first free channel. If 'loops' is greater than zero, loop the sound that many times. If 'loops' is -1, loop inifinitely (˜65000 times). Returns which channel was used to play the sound. *
Mix_PlayChannelTimed SDL2.Mixer

* The same as above, but the sound is played at most 'ticks' milliseconds *
Mix_Playing SDL2.Mixer

* Check the status of a specific channel. If the specified channel is -1, check all channels. *
Mix_PlayingMusic SDL2.Mixer

Mix_PlayMusic SDL2.Mixer

Mix_QuerySpec SDL2.Mixer

* Find out what the actual audio device parameters are. This function returns 1 if the audio has been opened, 0 otherwise. *
Mix_QuickLoad_RAW SDL2.Mixer

* Load raw audio data of the mixer format from a memory buffer *
Mix_QuickLoad_WAV SDL2.Mixer

* Load a wave file of the mixer format from a memory buffer *
Mix_Quit SDL2.Mixer

* Unloads libraries loaded with Mix_Init *
Mix_RegisterEffect SDL2.Mixer

* Register a special effect function. At mixing time, the channel data is * copied into a buffer and passed through each registered effect function. * After it passes through all the functions, it is mixed into the final * output stream. The copy to buffer is performed once, then each effect * function performs on the output of the previous effect. Understand that * this extra copy to a buffer is not performed if there are no effects * registered for a given chunk, which saves CPU cycles, and any given * effect will be extra cycles, too, so it is crucial that your code run * fast. Also note that the data that your function is given is in the * format of the sound device, and not the format you gave to Mix_OpenAudio(), * although they may in reality be the same. This is an unfortunate but * necessary speed concern. Use Mix_QuerySpec() to determine if you can * handle the data before you register your effect, and take appropriate * actions. * You may also specify a callback (Mix_EffectDone_t) that is called when * the channel finishes playing. This gives you a more fine-grained control * than Mix_ChannelFinished(), in case you need to free effect-specific * resources, etc. If you don't need this, you can specify NULL. * You may set the callbacks before or after calling Mix_PlayChannel(). * Things like Mix_SetPanning() are just internal special effect functions, * so if you are using that, you've already incurred the overhead of a copy * to a separate buffer, and that these effects will be in the queue with * any functions you've registered. The list of registered effects for a * channel is reset when a chunk finishes playing, so you need to explicitly * set them with each call to Mix_PlayChannel*(). * You may also register a special effect function that is to be run after * final mixing occurs. The rules for these callbacks are identical to those * in Mix_RegisterEffect, but they are run after all the channels and the * music have been mixed into a single stream, whereas channel-specific * effects run on a given channel before any other mixing occurs. These * global effect callbacks are call "posteffects". Posteffects only have * their Mix_EffectDone_t function called when they are unregistered (since * the main output stream is never "done" in the same sense as a channel). * You must unregister them manually when you've had enough. Your callback * will be told that the channel being mixed is (MIX_CHANNEL_POST) if the * processing is considered a posteffect. * * After all these effects have finished processing, the callback registered * through Mix_SetPostMix() runs, and then the stream goes to the audio * device. * * DO NOT EVER call SDL_LockAudio() from your callback function! * * returns zero if error (no such channel), nonzero if added. * Error messages can be retrieved from Mix_GetError(). *
Mix_ReserveChannels SDL2.Mixer

* Reserve the first channels (0 -> n-1) for the application, i.e. don't allocate them dynamically to the next sample if requested with a -1 value below. Returns the number of reserved channels. *
Mix_Resume SDL2.Mixer

Mix_ResumeMusic SDL2.Mixer

Mix_RewindMusic SDL2.Mixer

Mix_SetDistance SDL2.Mixer

* Set the "distance" of a channel. (distance) is an integer from 0 to 255 * that specifies the location of the sound in relation to the listener. * Distance 0 is overlapping the listener, and 255 is as far away as possible * A distance of 255 does not guarantee silence; in such a case, you might * want to try changing the chunk's volume, or just cull the sample from the * mixing process with Mix_HaltChannel(). * For efficiency, the precision of this effect may be limited (distances 1 * through 7 might all produce the same effect, 8 through 15 are equal, etc). * (distance) is an integer between 0 and 255 that specifies the space * between the sound and the listener. The larger the number, the further * away the sound is. * Setting (distance) to 0 unregisters this effect, since the data would be * unchanged. * If you need more precise positional audio, consider using OpenAL for * spatialized effects instead of SDL_mixer. This is only meant to be a * basic effect for simple "3D" games. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the distance attenuation will be done to the final mixed stream before * passing it on to the audio device. * * This uses the Mix_RegisterEffect() API internally. * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if position effect is enabled. * Error messages can be retrieved from Mix_GetError(). *
Mix_SetError SDL2.Mixer

* We'll use SDL for reporting errors *
Mix_SetMusicCMD SDL2.Mixer

* Stop music and set external music playback command *
Mix_SetMusicPosition SDL2.Mixer

* Set the current position in the music stream. This returns 0 if successful, or -1 if it failed or isn't implemented. This function is only implemented for MOD music formats (set pattern order number) and for OGG, FLAC, MP3_MAD, and MODPLUG music (set position in seconds), at the moment. *
Mix_SetPanning SDL2.Mixer

* Set the panning of a channel. The left and right channels are specified * as integers between 0 and 255, quietest to loudest, respectively. * * Technically, this is just individual volume control for a sample with * two (stereo) channels, so it can be used for more than just panning. * If you want real panning, call it like this: * * Mix_SetPanning(channel, left, 255 - left); * * ...which isn't so hard. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the panning will be done to the final mixed stream before passing it on * to the audio device. * * This uses the Mix_RegisterEffect() API internally, and returns without * registering the effect function if the audio device is not configured * for stereo output. Setting both (left) and (right) to 255 causes this * effect to be unregistered, since that is the data's normal state. * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if panning effect enabled. Note that an audio device in mono * mode is a no-op, but this call will return successful in that case. * Error messages can be retrieved from Mix_GetError(). *
Mix_SetPosition SDL2.Mixer

* Set the position of a channel. (angle) is an integer from 0 to 360, that * specifies the location of the sound in relation to the listener. (angle) * will be reduced as neccesary (540 becomes 180 degrees, -100 becomes 260). * Angle 0 is due north, and rotates clockwise as the value increases. * For efficiency, the precision of this effect may be limited (angles 1 * through 7 might all produce the same effect, 8 through 15 are equal, etc). * (distance) is an integer between 0 and 255 that specifies the space * between the sound and the listener. The larger the number, the further * away the sound is. Using 255 does not guarantee that the channel will be * culled from the mixing process or be completely silent. For efficiency, * the precision of this effect may be limited (distance 0 through 5 might * all produce the same effect, 6 through 10 are equal, etc). Setting (angle) * and (distance) to 0 unregisters this effect, since the data would be * unchanged. * * If you need more precise positional audio, consider using OpenAL for * spatialized effects instead of SDL_mixer. This is only meant to be a * basic effect for simple "3D" games. * * If the audio device is configured for mono output, then you won't get * any effectiveness from the angle; however, distance attenuation on the * channel will still occur. While this effect will function with stereo * voices, it makes more sense to use voices with only one channel of sound, * so when they are mixed through this effect, the positioning will sound * correct. You can convert them to mono through SDL before giving them to * the mixer in the first place if you like. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the positioning will be done to the final mixed stream before passing it * on to the audio device. * * This is a convenience wrapper over Mix_SetDistance() and Mix_SetPanning(). * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if position effect is enabled. * Error messages can be retrieved from Mix_GetError(). *
Mix_SetPostMix SDL2.Mixer

Mix_SetReverseStereo SDL2.Mixer

* Causes a channel to reverse its stereo. This is handy if the user has his * speakers hooked up backwards, or you would like to have a minor bit of * psychedelia in your sound code. :) Calling this function with (flip) * set to non-zero reverses the chunks's usual channels. If (flip) is zero, * the effect is unregistered. * * This uses the Mix_RegisterEffect() API internally, and thus is probably * more CPU intensive than having the user just plug in his speakers * correctly. Mix_SetReverseStereo() returns without registering the effect * function if the audio device is not configured for stereo output. * * If you specify MIX_CHANNEL_POST for (channel), then this the effect is used * on the final mixed stream before sending it on to the audio device (a * posteffect). * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if reversing effect is enabled. Note that an audio device in mono * mode is a no-op, but this call will return successful in that case. * Error messages can be retrieved from Mix_GetError(). *
Mix_SetSoundFonts SDL2.Mixer

* Set/Get/Iterate SoundFonts paths to use by supported MIDI backends *
Mix_SetSynchroValue SDL2.Mixer

* Synchro value is set by MikMod from modules while playing *
Mix_UnregisterAllEffects SDL2.Mixer

* You may not need to call this explicitly, unless you need to stop all * effects from processing in the middle of a chunk's playback. Note that * this will also shut off some internal effect processing, since * Mix_SetPanning() and others may use this API under the hood. This is * called internally when a channel completes playback. * Posteffects are never implicitly unregistered as they are for channels, * but they may be explicitly unregistered through this function by * specifying MIX_CHANNEL_POST for a channel. * returns zero if error (no such channel), nonzero if all effects removed. * Error messages can be retrieved from Mix_GetError(). *
Mix_UnregisterEffect SDL2.Mixer

* You may not need to call this explicitly, unless you need to stop an * effect from processing in the middle of a chunk's playback. * Posteffects are never implicitly unregistered as they are for channels, * but they may be explicitly unregistered through this function by * specifying MIX_CHANNEL_POST for a channel. * returns zero if error (no such channel or effect), nonzero if removed. * Error messages can be retrieved from Mix_GetError(). *
MIX_VERSION SDL2.Mixer

Mix_Volume SDL2.Mixer

* Set the volume in the range of 0-128 of a specific channel or chunk. If the specified channel is -1, set volume for all channels. Returns the original volume. If the specified volume is -1, just return the current volume. *
Mix_VolumeChunk SDL2.Mixer

Mix_VolumeMusic SDL2.Mixer

MKFOURCC Formats.VFW

***************************************************************************/ /* */ /* Macros */ /* */ /* should we define this?? */ /* */ /***************************************************************************
mmioFOURCC Formats.VFW

'1632'
MoveObjectAround GLS.VectorGeometry

Extracted from Camera.MoveAroundTarget(pitch, turn)
nearCallBack Physics.ODEManager

ODE nearCallBack, throws near callback to the collision procedure of the ODE manager linked by the Data pointer
NegateVector GLS.VectorGeometry

Negates the vector
NegateVector GLS.VectorGeometry

Negates the vector
NegateVector GLS.VectorGeometry

Negates the vector
NewtonAlloc Physics.NewtonImport

NewtonAtomicAdd Physics.NewtonImport

NewtonAtomicSwap Physics.NewtonImport

NewtonBallGetJointAngle Physics.NewtonImport

NewtonBallGetJointForce Physics.NewtonImport

NewtonBallGetJointOmega Physics.NewtonImport

NewtonBallSetConeLimits Physics.NewtonImport

NewtonBallSetUserCallback Physics.NewtonImport

NewtonBodyAddForce Physics.NewtonImport

NewtonBodyAddImpulse Physics.NewtonImport

NewtonBodyAddTorque Physics.NewtonImport

NewtonBodyApplyImpulseArray Physics.NewtonImport

NewtonBodyApplyImpulsePair Physics.NewtonImport

NewtonBodyCalculateInverseDynamicsForce Physics.NewtonImport

NewtonBodyFindContact Physics.NewtonImport

NewtonBodyGetAABB Physics.NewtonImport

NewtonBodyGetAcceleration Physics.NewtonImport

NewtonBodyGetAlpha Physics.NewtonImport

NewtonBodyGetAngularDamping Physics.NewtonImport

NewtonBodyGetAutoSleep Physics.NewtonImport

NewtonBodyGetCentreOfMass Physics.NewtonImport

NewtonBodyGetCollidable Physics.NewtonImport

NewtonBodyGetCollision Physics.NewtonImport

NewtonBodyGetContinuousCollisionMode Physics.NewtonImport

NewtonBodyGetDestructorCallback Physics.NewtonImport

NewtonBodyGetFirstContactJoint Physics.NewtonImport

NewtonBodyGetFirstJoint Physics.NewtonImport

NewtonBodyGetForce Physics.NewtonImport

NewtonBodyGetForceAndTorqueCallback Physics.NewtonImport

NewtonBodyGetFreezeState Physics.NewtonImport

NewtonBodyGetGyroscopicTorque Physics.NewtonImport

NewtonBodyGetID Physics.NewtonImport

NewtonBodyGetInertiaMatrix Physics.NewtonImport

NewtonBodyGetInvInertiaMatrix Physics.NewtonImport

NewtonBodyGetInvMass Physics.NewtonImport

NewtonBodyGetJointRecursiveCollision Physics.NewtonImport

NewtonBodyGetLinearDamping Physics.NewtonImport

NewtonBodyGetMass Physics.NewtonImport

NewtonBodyGetMaterialGroupID Physics.NewtonImport

NewtonBodyGetMatrix Physics.NewtonImport

NewtonBodyGetNextContactJoint Physics.NewtonImport

NewtonBodyGetNextJoint Physics.NewtonImport

NewtonBodyGetOmega Physics.NewtonImport

NewtonBodyGetPointVelocity Physics.NewtonImport

NewtonBodyGetPosition Physics.NewtonImport

NewtonBodyGetRotation Physics.NewtonImport

NewtonBodyGetSerializedID Physics.NewtonImport

NewtonBodyGetSimulationState Physics.NewtonImport

NewtonBodyGetSleepState Physics.NewtonImport

NewtonBodyGetTorque Physics.NewtonImport

NewtonBodyGetTransformCallback Physics.NewtonImport

NewtonBodyGetType Physics.NewtonImport

NewtonBodyGetUserData Physics.NewtonImport

NewtonBodyGetVelocity Physics.NewtonImport

NewtonBodyGetWorld Physics.NewtonImport

NewtonBodyIntegrateVelocity Physics.NewtonImport

NewtonBodySetAngularDamping Physics.NewtonImport

NewtonBodySetAutoSleep Physics.NewtonImport

NewtonBodySetCentreOfMass Physics.NewtonImport

NewtonBodySetCollidable Physics.NewtonImport

NewtonBodySetCollision Physics.NewtonImport

NewtonBodySetCollisionScale Physics.NewtonImport

NewtonBodySetContinuousCollisionMode Physics.NewtonImport

NewtonBodySetDestructorCallback Physics.NewtonImport

NewtonBodySetForce Physics.NewtonImport

NewtonBodySetForceAndTorqueCallback Physics.NewtonImport

NewtonBodySetFreezeState Physics.NewtonImport

NewtonBodySetFullMassMatrix Physics.NewtonImport

NewtonBodySetGyroscopicTorque Physics.NewtonImport

NewtonBodySetJointRecursiveCollision Physics.NewtonImport

NewtonBodySetLinearDamping Physics.NewtonImport

NewtonBodySetMassMatrix Physics.NewtonImport

NewtonBodySetMassProperties Physics.NewtonImport

NewtonBodySetMaterialGroupID Physics.NewtonImport

NewtonBodySetMatrix Physics.NewtonImport

NewtonBodySetMatrixNoSleep Physics.NewtonImport

NewtonBodySetMatrixRecursive Physics.NewtonImport

NewtonBodySetOmega Physics.NewtonImport

NewtonBodySetOmegaNoSleep Physics.NewtonImport

NewtonBodySetSimulationState Physics.NewtonImport

NewtonBodySetSleepState Physics.NewtonImport

NewtonBodySetTorque Physics.NewtonImport

NewtonBodySetTransformCallback Physics.NewtonImport

NewtonBodySetUserData Physics.NewtonImport

NewtonBodySetVelocity Physics.NewtonImport

NewtonBodySetVelocityNoSleep Physics.NewtonImport

NewtonCalculateSpringDamperAcceleration Physics.NewtonImport

NewtonCollisionAggregateAddBody Physics.NewtonImport

NewtonCollisionAggregateCreate Physics.NewtonImport

**********************************************************************************************

collision aggregates, are a collision node on eh broad phase the serve as the root nod for a collection of rigid bodies that shared the property of being in close proximity all the time, they are similar to compound collision by the group bodies instead of collision instances These are good for speeding calculation calculation of rag doll, Vehicles or contractions of rigid bodied lined by joints. also for example if you know that many the life time of a group of bodies like the object on a house of a building will be localize to the confide of the building then warping the bodies under an aggregate will reduce collision calculation of almost an order of magnitude.

**********************************************************************************************
NewtonCollisionAggregateDestroy Physics.NewtonImport

NewtonCollisionAggregateGetSelfCollision Physics.NewtonImport

NewtonCollisionAggregateRemoveBody Physics.NewtonImport

NewtonCollisionAggregateSetSelfCollision Physics.NewtonImport

NewtonCollisionCalculateAABB Physics.NewtonImport

NewtonCollisionClosestPoint Physics.NewtonImport

NewtonCollisionCollide Physics.NewtonImport

NewtonCollisionCollideContinue Physics.NewtonImport

NewtonCollisionCreateInstance Physics.NewtonImport

**********************************************************************************************

General purpose collision library functions

**********************************************************************************************
NewtonCollisionDataPointer Physics.NewtonImport

NewtonCollisionForEachPolygonDo Physics.NewtonImport

NewtonCollisionGetInfo Physics.NewtonImport

NewtonCollisionGetMaterial Physics.NewtonImport

NewtonCollisionGetMatrix Physics.NewtonImport

NewtonCollisionGetMode Physics.NewtonImport

NewtonCollisionGetParentInstance Physics.NewtonImport

NewtonCollisionGetScale Physics.NewtonImport

NewtonCollisionGetSkinThickness Physics.NewtonImport

NewtonCollisionGetSubCollisionHandle Physics.NewtonImport

NewtonCollisionGetType Physics.NewtonImport

NewtonCollisionGetUserData Physics.NewtonImport

NewtonCollisionGetUserID Physics.NewtonImport

NewtonCollisionIntersectionTest Physics.NewtonImport

NewtonCollisionIsConvexShape Physics.NewtonImport

NewtonCollisionIsStaticShape Physics.NewtonImport

NewtonCollisionPointDistance Physics.NewtonImport

NewtonCollisionRayCast Physics.NewtonImport

NewtonCollisionSerialize Physics.NewtonImport

NewtonCollisionSetMaterial Physics.NewtonImport

NewtonCollisionSetMatrix Physics.NewtonImport

NewtonCollisionSetMode Physics.NewtonImport

NewtonCollisionSetScale Physics.NewtonImport

NewtonCollisionSetSkinThickness Physics.NewtonImport

NewtonCollisionSetUserData Physics.NewtonImport

NewtonCollisionSetUserID Physics.NewtonImport

NewtonCollisionSupportVertex Physics.NewtonImport

NewtonCompoundCollisionAddSubCollision Physics.NewtonImport

NewtonCompoundCollisionBeginAddRemove Physics.NewtonImport

NewtonCompoundCollisionEndAddRemove Physics.NewtonImport

NewtonCompoundCollisionGetCollisionFromNode Physics.NewtonImport

NewtonCompoundCollisionGetFirstNode Physics.NewtonImport

NewtonCompoundCollisionGetNextNode Physics.NewtonImport

NewtonCompoundCollisionGetNodeByIndex Physics.NewtonImport

NewtonCompoundCollisionGetNodeIndex Physics.NewtonImport

NewtonCompoundCollisionRemoveSubCollision Physics.NewtonImport

NewtonCompoundCollisionRemoveSubCollisionByIndex Physics.NewtonImport

NewtonCompoundCollisionSetSubCollisionMatrix Physics.NewtonImport

NewtonConstraintCreateBall Physics.NewtonImport

**********************************************************************************************

Ball and Socket joint functions

**********************************************************************************************
NewtonConstraintCreateCorkscrew Physics.NewtonImport

**********************************************************************************************

Corkscrew joint functions

**********************************************************************************************
NewtonConstraintCreateHinge Physics.NewtonImport

**********************************************************************************************

Hinge joint functions

**********************************************************************************************
NewtonConstraintCreateSlider Physics.NewtonImport

**********************************************************************************************

Slider joint functions

**********************************************************************************************
NewtonConstraintCreateUniversal Physics.NewtonImport

**********************************************************************************************

Universal joint functions

**********************************************************************************************
NewtonConstraintCreateUpVector Physics.NewtonImport

**********************************************************************************************

Up vector joint functions

**********************************************************************************************
NewtonConstraintCreateUserJoint Physics.NewtonImport

**********************************************************************************************

User defined bilateral Joint

**********************************************************************************************
NewtonContactGetCollision0 Physics.NewtonImport

NewtonContactGetCollision1 Physics.NewtonImport

NewtonContactGetCollisionID0 Physics.NewtonImport

NewtonContactGetCollisionID1 Physics.NewtonImport

NewtonContactGetMaterial Physics.NewtonImport

NewtonContactJointGetClosestDistance Physics.NewtonImport

NewtonContactJointGetContactCount Physics.NewtonImport

NewtonContactJointGetFirstContact Physics.NewtonImport

**********************************************************************************************

contact joints interface

**********************************************************************************************
NewtonContactJointGetNextContact Physics.NewtonImport

NewtonContactJointRemoveContact Physics.NewtonImport

NewtonContactJointResetIntraJointCollision Physics.NewtonImport

NewtonContactJointResetSelftJointCollision Physics.NewtonImport

NewtonConvexCollisionCalculateBuoyancyVolume Physics.NewtonImport

NewtonConvexCollisionCalculateInertialMatrix Physics.NewtonImport

NewtonConvexCollisionCalculateVolume Physics.NewtonImport

NewtonConvexHullGetFaceIndices Physics.NewtonImport

NewtonConvexHullGetVertexData Physics.NewtonImport

NewtonCorkscrewCalculateStopAccel Physics.NewtonImport

NewtonCorkscrewCalculateStopAlpha Physics.NewtonImport

NewtonCorkscrewGetJointAngle Physics.NewtonImport

NewtonCorkscrewGetJointForce Physics.NewtonImport

NewtonCorkscrewGetJointOmega Physics.NewtonImport

NewtonCorkscrewGetJointPosit Physics.NewtonImport

NewtonCorkscrewGetJointVeloc Physics.NewtonImport

NewtonCorkscrewSetUserCallback Physics.NewtonImport

NewtonCreate Physics.NewtonImport

NewtonCreateAsymetricDynamicBody Physics.NewtonImport

NewtonCreateBox Physics.NewtonImport

NewtonCreateCapsule Physics.NewtonImport

NewtonCreateChamferCylinder Physics.NewtonImport

NewtonCreateCollisionFromSerialization Physics.NewtonImport

***********************************************************************************************************

Collision serialization functions

***********************************************************************************************************
NewtonCreateCompoundCollision Physics.NewtonImport

**********************************************************************************************

compound collision primitives creation functions

**********************************************************************************************
NewtonCreateCompoundCollisionFromMesh Physics.NewtonImport

NewtonCreateCone Physics.NewtonImport

NewtonCreateConvexHull Physics.NewtonImport

NewtonCreateConvexHullFromMesh Physics.NewtonImport

NewtonCreateCylinder Physics.NewtonImport

NewtonCreateDeformableSolid Physics.NewtonImport

NewtonCreateDynamicBody Physics.NewtonImport

body manipulation functions
NewtonCreateFracturedCompoundCollision Physics.NewtonImport

**********************************************************************************************

Fractured compound collision primitives interface

**********************************************************************************************
NewtonCreateHeightFieldCollision Physics.NewtonImport

**********************************************************************************************

Static collision shapes functions

**********************************************************************************************
NewtonCreateKinematicBody Physics.NewtonImport

NewtonCreateMassSpringDamperSystem Physics.NewtonImport

**********************************************************************************************

particle system interface (soft bodies, individual, pressure bodies and cloth)

**********************************************************************************************
NewtonCreateNull Physics.NewtonImport

**********************************************************************************************

convex collision primitives creation functions

**********************************************************************************************
NewtonCreateSceneCollision Physics.NewtonImport

**********************************************************************************************

scene collision are static compound collision that can take polygonal static collisions

**********************************************************************************************
NewtonCreateSphere Physics.NewtonImport

NewtonCreateTetrahedraLinearBlendSkinWeightsChannel Physics.NewtonImport

NewtonCreateTreeCollision Physics.NewtonImport

NewtonCreateTreeCollisionFromMesh Physics.NewtonImport

NewtonCreateUserMeshCollision Physics.NewtonImport

***********************************************************************************************************

User Static mesh collision interface

***********************************************************************************************************
NewtonCurrentPlugin Physics.NewtonImport

NewtonDeformableMeshGetParticleArray Physics.NewtonImport

NewtonDeformableMeshGetParticleCount Physics.NewtonImport

NewtonDeformableMeshGetParticleStrideInBytes Physics.NewtonImport

NewtonDeserializeFromFile Physics.NewtonImport

NewtonDeserializeScene Physics.NewtonImport

NewtonDestroy Physics.NewtonImport

NewtonDestroyAllBodies Physics.NewtonImport

NewtonDestroyBody Physics.NewtonImport

NewtonDestroyCollision Physics.NewtonImport

NewtonDestroyJoint Physics.NewtonImport

NewtonDispachThreadJob Physics.NewtonImport

NewtonFindSerializedBody Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexCount Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexNormals Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexPositions Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexUVs Physics.NewtonImport

NewtonFracturedCompoundGetFirstSubMesh Physics.NewtonImport

NewtonFracturedCompoundGetMainMesh Physics.NewtonImport

NewtonFracturedCompoundGetNextSubMesh Physics.NewtonImport

NewtonFracturedCompoundIsNodeFreeToDetach Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetFirstSegment Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetIndexCount Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetIndexStream Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetMaterial Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetNextSegment Physics.NewtonImport

NewtonFracturedCompoundNeighborNodeList Physics.NewtonImport

NewtonFracturedCompoundPlaneClip Physics.NewtonImport

NewtonFracturedCompoundSetCallbacks Physics.NewtonImport

NewtonFree Physics.NewtonImport

NewtonGetBroadphaseAlgorithm Physics.NewtonImport

NewtonGetContactMergeTolerance Physics.NewtonImport

NewtonGetEulerAngle Physics.NewtonImport

NewtonGetFirstPlugin Physics.NewtonImport

NewtonGetJointSerializationCallbacks Physics.NewtonImport

NewtonGetLastUpdateTime Physics.NewtonImport

NewtonGetMaxThreadsCount Physics.NewtonImport

NewtonGetMemoryUsed Physics.NewtonImport

NewtonGetNextPlugin Physics.NewtonImport

NewtonGetNumberOfSubsteps Physics.NewtonImport

NewtonGetParallelSolverOnLargeIsland Physics.NewtonImport

NewtonGetPluginString Physics.NewtonImport

NewtonGetPostUpdateCallback Physics.NewtonImport

NewtonGetPreferedPlugin Physics.NewtonImport

NewtonGetSolverIterations Physics.NewtonImport

NewtonGetThreadsCount Physics.NewtonImport

NewtonHeightFieldSetHorizontalDisplacement Physics.NewtonImport

NewtonHeightFieldSetUserRayCastCallback Physics.NewtonImport

NewtonHingeCalculateStopAlpha Physics.NewtonImport

NewtonHingeGetJointAngle Physics.NewtonImport

NewtonHingeGetJointForce Physics.NewtonImport

NewtonHingeGetJointOmega Physics.NewtonImport

NewtonHingeSetUserCallback Physics.NewtonImport

NewtonInvalidateCache Physics.NewtonImport

NewtonIslandGetBody Physics.NewtonImport

**********************************************************************************************

Simulation islands

**********************************************************************************************
NewtonIslandGetBodyAABB Physics.NewtonImport

NewtonJointGetBody0 Physics.NewtonImport

NewtonJointGetBody1 Physics.NewtonImport

NewtonJointGetCollisionState Physics.NewtonImport

NewtonJointGetInfo Physics.NewtonImport

NewtonJointGetStiffness Physics.NewtonImport

NewtonJointGetUserData Physics.NewtonImport

**********************************************************************************************

Common joint functions

**********************************************************************************************
NewtonJointIsActive Physics.NewtonImport

NewtonJointSetCollisionState Physics.NewtonImport

NewtonJointSetDestructor Physics.NewtonImport

NewtonJointSetStiffness Physics.NewtonImport

NewtonJointSetUserData Physics.NewtonImport

NewtonLoadPlugins Physics.NewtonImport

NewtonMaterialContactRotateTangentDirections Physics.NewtonImport

NewtonMaterialCreateGroupID Physics.NewtonImport

**********************************************************************************************

Physics Material Section

**********************************************************************************************
NewtonMaterialDestroyAllGroupID Physics.NewtonImport

NewtonMaterialGetBodyCollidingShape Physics.NewtonImport

NewtonMaterialGetContactFaceAttribute Physics.NewtonImport

NewtonMaterialGetContactForce Physics.NewtonImport

NewtonMaterialGetContactMaxNormalImpact Physics.NewtonImport

NewtonMaterialGetContactMaxTangentImpact Physics.NewtonImport

NewtonMaterialGetContactNormalSpeed Physics.NewtonImport

NewtonMaterialGetContactPenetration Physics.NewtonImport

NewtonMaterialGetContactPositionAndNormal Physics.NewtonImport

NewtonMaterialGetContactPruningTolerance Physics.NewtonImport

NewtonMaterialGetContactTangentDirections Physics.NewtonImport

NewtonMaterialGetContactTangentSpeed Physics.NewtonImport

NewtonMaterialGetDefaultGroupID Physics.NewtonImport

NewtonMaterialGetMaterialPairUserData Physics.NewtonImport

**********************************************************************************************

Physics Contact control functions

**********************************************************************************************
NewtonMaterialGetUserData Physics.NewtonImport

material definitions that can not be overwritten in function callback
NewtonMaterialJointResetIntraJointCollision Physics.NewtonImport

NewtonMaterialJointResetSelftJointCollision Physics.NewtonImport

NewtonMaterialSetAsSoftContact Physics.NewtonImport

NewtonMaterialSetCallbackUserData Physics.NewtonImport

deprecated, not longer continue collision is set on the material NEWTON_API void NewtonMaterialSetContinuousCollisionMode (const NewtonWorld* const newtonWorld, int id0, int id1, int state);
NewtonMaterialSetCollisionCallback Physics.NewtonImport

NewtonMaterialSetCompoundCollisionCallback Physics.NewtonImport

NewtonMaterialSetContactElasticity Physics.NewtonImport

NewtonMaterialSetContactFrictionCoef Physics.NewtonImport

NewtonMaterialSetContactFrictionState Physics.NewtonImport

NewtonMaterialSetContactGenerationCallback Physics.NewtonImport

NewtonMaterialSetContactNormalAcceleration Physics.NewtonImport

NewtonMaterialSetContactNormalDirection Physics.NewtonImport

NewtonMaterialSetContactPosition Physics.NewtonImport

NewtonMaterialSetContactPruningTolerance Physics.NewtonImport

NewtonMaterialSetContactSoftness Physics.NewtonImport

NewtonMaterialSetContactTangentAcceleration Physics.NewtonImport

NewtonMaterialSetContactTangentFriction Physics.NewtonImport

NewtonMaterialSetContactThickness Physics.NewtonImport

NewtonMaterialSetDefaultCollidable Physics.NewtonImport

NewtonMaterialSetDefaultElasticity Physics.NewtonImport

NewtonMaterialSetDefaultFriction Physics.NewtonImport

NewtonMaterialSetDefaultSoftness Physics.NewtonImport

NewtonMaterialSetSurfaceThickness Physics.NewtonImport

NewtonMeshAddBinormal Physics.NewtonImport

NewtonMeshAddLayer Physics.NewtonImport

NewtonMeshAddMaterial Physics.NewtonImport

NewtonMeshAddNormal Physics.NewtonImport

NewtonMeshAddPoint Physics.NewtonImport

NewtonMeshAddUV0 Physics.NewtonImport

NewtonMeshAddUV1 Physics.NewtonImport

NewtonMeshAddVertexColor Physics.NewtonImport

NewtonMeshApplyAngleBasedMapping Physics.NewtonImport

NewtonMeshApplyBoxMapping Physics.NewtonImport

NewtonMeshApplyCylindricalMapping Physics.NewtonImport

NewtonMeshApplySphericalMapping Physics.NewtonImport

NewtonMeshApplyTransform Physics.NewtonImport

NewtonMeshApproximateConvexDecomposition Physics.NewtonImport

NewtonMeshBeginBuild Physics.NewtonImport

NewtonMeshBeginFace Physics.NewtonImport

NewtonMeshBeginHandle Physics.NewtonImport

NewtonMeshBuildFromVertexListIndexList Physics.NewtonImport

NewtonMeshCalculateFaceNormal Physics.NewtonImport

NewtonMeshCalculateOOBB Physics.NewtonImport

NewtonMeshCalculateVertexNormals Physics.NewtonImport

NewtonMeshClearVertexFormat Physics.NewtonImport

NewtonMeshClip Physics.NewtonImport

NewtonMeshConvexMeshIntersection Physics.NewtonImport

NewtonMeshCreate Physics.NewtonImport

**********************************************************************************************

Mesh joint functions

**********************************************************************************************
NewtonMeshCreateConvexHull Physics.NewtonImport

NewtonMeshCreateFirstLayer Physics.NewtonImport

NewtonMeshCreateFirstSingleSegment Physics.NewtonImport

NewtonMeshCreateFromCollision Physics.NewtonImport

NewtonMeshCreateFromMesh Physics.NewtonImport

NewtonMeshCreateFromSerialization Physics.NewtonImport

NewtonMeshCreateNextLayer Physics.NewtonImport

NewtonMeshCreateNextSingleSegment Physics.NewtonImport

NewtonMeshCreateTetrahedraIsoSurface Physics.NewtonImport

NewtonMeshCreateVoronoiConvexDecomposition Physics.NewtonImport

NewtonMeshDestroy Physics.NewtonImport

NewtonMeshDifference Physics.NewtonImport

NewtonMeshEndBuild Physics.NewtonImport

NewtonMeshEndFace Physics.NewtonImport

NewtonMeshEndHandle Physics.NewtonImport

NewtonMeshFirstMaterial Physics.NewtonImport

NewtonMeshFixTJoints Physics.NewtonImport

NewtonMeshFlipWinding Physics.NewtonImport

NewtonMeshGetBinormalChannel Physics.NewtonImport

NewtonMeshGetEdgeIndices Physics.NewtonImport

NewtonMeshGetFaceIndexCount Physics.NewtonImport

NewtonMeshGetFaceIndices Physics.NewtonImport

NewtonMeshGetFaceMaterial Physics.NewtonImport

NewtonMeshGetFacePointIndices Physics.NewtonImport

NewtonMeshGetFaces Physics.NewtonImport

NewtonMeshGetFirstEdge Physics.NewtonImport

NewtonMeshGetFirstFace Physics.NewtonImport

NEWTON_API void NewtonMeshGetEdgePointIndices (const NewtonMesh* const mesh, const void* const edge, int* const v0, int* const v1);
NewtonMeshGetFirstPoint Physics.NewtonImport

NewtonMeshGetFirstVertex Physics.NewtonImport

NewtonMeshGetIndexToVertexMap Physics.NewtonImport

NewtonMeshGetNextEdge Physics.NewtonImport

NewtonMeshGetNextFace Physics.NewtonImport

NewtonMeshGetNextPoint Physics.NewtonImport

NewtonMeshGetNextVertex Physics.NewtonImport

NewtonMeshGetNormalChannel Physics.NewtonImport

NewtonMeshGetPointCount Physics.NewtonImport

NewtonMeshGetPointIndex Physics.NewtonImport

NewtonMeshGetTotalFaceCount Physics.NewtonImport

NewtonMeshGetTotalIndexCount Physics.NewtonImport

NewtonMeshGetUV0Channel Physics.NewtonImport

NewtonMeshGetUV1Channel Physics.NewtonImport

NewtonMeshGetVertexArray Physics.NewtonImport

NewtonMeshGetVertexBaseCount Physics.NewtonImport

NewtonMeshGetVertexChannel Physics.NewtonImport

NewtonMeshGetVertexColorChannel Physics.NewtonImport

NewtonMeshGetVertexCount Physics.NewtonImport

NewtonMeshGetVertexDoubleChannel Physics.NewtonImport

NewtonMeshGetVertexIndex Physics.NewtonImport

NewtonMeshGetVertexIndexFromPoint Physics.NewtonImport

NewtonMeshGetVertexStrideInByte Physics.NewtonImport

NewtonMeshGetVertexWeights Physics.NewtonImport

NewtonMeshHasBinormalChannel Physics.NewtonImport

NewtonMeshHasNormalChannel Physics.NewtonImport

NewtonMeshHasUV0Channel Physics.NewtonImport

NewtonMeshHasUV1Channel Physics.NewtonImport

NewtonMeshHasVertexColorChannel Physics.NewtonImport

NewtonMeshIntersection Physics.NewtonImport

NewtonMeshIsFaceOpen Physics.NewtonImport

NewtonMeshIsOpenMesh Physics.NewtonImport

NewtonMeshLoadOFF Physics.NewtonImport

NewtonMeshLoadTetrahedraMesh Physics.NewtonImport

NewtonMeshMaterialGetIndexCount Physics.NewtonImport

NewtonMeshMaterialGetIndexStream Physics.NewtonImport

NewtonMeshMaterialGetIndexStreamShort Physics.NewtonImport

NewtonMeshMaterialGetMaterial Physics.NewtonImport

NewtonMeshNextMaterial Physics.NewtonImport

NewtonMeshOptimize Physics.NewtonImport

NewtonMeshOptimizePoints Physics.NewtonImport

NewtonMeshOptimizeVertex Physics.NewtonImport

NewtonMeshPolygonize Physics.NewtonImport

NewtonMeshSaveOFF Physics.NewtonImport

NewtonMeshSerialize Physics.NewtonImport

NewtonMeshSetFaceMaterial Physics.NewtonImport

NewtonMeshSetVertexBaseCount Physics.NewtonImport

NewtonMeshSimplify Physics.NewtonImport

NewtonMeshTriangulate Physics.NewtonImport

NewtonMeshUnion Physics.NewtonImport

NewtonRemoveUnusedVertices Physics.NewtonImport

NewtonResetBroadphase Physics.NewtonImport

NewtonSceneCollisionAddSubCollision Physics.NewtonImport

NewtonSceneCollisionBeginAddRemove Physics.NewtonImport

NewtonSceneCollisionEndAddRemove Physics.NewtonImport

NewtonSceneCollisionGetCollisionFromNode Physics.NewtonImport

NewtonSceneCollisionGetFirstNode Physics.NewtonImport

NewtonSceneCollisionGetNextNode Physics.NewtonImport

NewtonSceneCollisionGetNodeByIndex Physics.NewtonImport

NewtonSceneCollisionGetNodeIndex Physics.NewtonImport

NewtonSceneCollisionRemoveSubCollision Physics.NewtonImport

NewtonSceneCollisionRemoveSubCollisionByIndex Physics.NewtonImport

NewtonSceneCollisionSetSubCollisionMatrix Physics.NewtonImport

NewtonSelectBroadphaseAlgorithm Physics.NewtonImport

NewtonSelectPlugin Physics.NewtonImport

NewtonSerializeScene Physics.NewtonImport

NewtonSerializeToFile Physics.NewtonImport

NewtonSetContactMergeTolerance Physics.NewtonImport

NewtonSetEulerAngle Physics.NewtonImport

transforms utility functions
NewtonSetIslandUpdateEvent Physics.NewtonImport

NewtonSetJointSerializationCallbacks Physics.NewtonImport

NewtonSetMemorySystem Physics.NewtonImport

NewtonSetNumberOfSubsteps Physics.NewtonImport

NewtonSetParallelSolverOnLargeIsland Physics.NewtonImport

NewtonSetPostUpdateCallback Physics.NewtonImport

NewtonSetSolverIterations Physics.NewtonImport

NewtonSetThreadsCount Physics.NewtonImport

NewtonSliderCalculateStopAccel Physics.NewtonImport

NewtonSliderGetJointForce Physics.NewtonImport

NewtonSliderGetJointPosit Physics.NewtonImport

NewtonSliderGetJointVeloc Physics.NewtonImport

NewtonSliderSetUserCallback Physics.NewtonImport

NewtonStaticCollisionSetDebugCallback Physics.NewtonImport

NewtonSyncThreadJobs Physics.NewtonImport

NewtonTreeCollisionAddFace Physics.NewtonImport

NewtonTreeCollisionBeginBuild Physics.NewtonImport

NewtonTreeCollisionEndBuild Physics.NewtonImport

NewtonTreeCollisionForEachFace Physics.NewtonImport

NewtonTreeCollisionGetFaceAttribute Physics.NewtonImport

NewtonTreeCollisionGetVertexListTriangleListInAABB Physics.NewtonImport

NewtonTreeCollisionSetFaceAttribute Physics.NewtonImport

NewtonTreeCollisionSetUserRayCastCallback Physics.NewtonImport

NewtonUniversalCalculateStopAlpha0 Physics.NewtonImport

NewtonUniversalCalculateStopAlpha1 Physics.NewtonImport

NewtonUniversalGetJointAngle0 Physics.NewtonImport

NewtonUniversalGetJointAngle1 Physics.NewtonImport

NewtonUniversalGetJointForce Physics.NewtonImport

NewtonUniversalGetJointOmega0 Physics.NewtonImport

NewtonUniversalGetJointOmega1 Physics.NewtonImport

NewtonUniversalSetUserCallback Physics.NewtonImport

NewtonUnloadPlugins Physics.NewtonImport

NewtonUpdate Physics.NewtonImport

NewtonUpdateAsync Physics.NewtonImport

NewtonUpVectorGetPin Physics.NewtonImport

NewtonUpVectorSetPin Physics.NewtonImport

NewtonUserJoinRowsCount Physics.NewtonImport

NewtonUserJointAddAngularRow Physics.NewtonImport

NewtonUserJointAddGeneralRow Physics.NewtonImport

NewtonUserJointAddLinearRow Physics.NewtonImport

NewtonUserJointCalculateRowZeroAcceleration Physics.NewtonImport

NewtonUserJointGetGeneralRow Physics.NewtonImport

NewtonUserJointGetRowAcceleration Physics.NewtonImport

NewtonUserJointGetRowForce Physics.NewtonImport

NewtonUserJointGetRowJacobian Physics.NewtonImport

NewtonUserJointGetSolverModel Physics.NewtonImport

NewtonUserJointMassScale Physics.NewtonImport

NewtonUserJointSetFeedbackCollectorCallback Physics.NewtonImport

NewtonUserJointSetRowAcceleration Physics.NewtonImport

NewtonUserJointSetRowMaximumFriction Physics.NewtonImport

NewtonUserJointSetRowMinimumFriction Physics.NewtonImport

NewtonUserJointSetRowSpringDamperAcceleration Physics.NewtonImport

NewtonUserJointSetRowStiffness Physics.NewtonImport

NewtonUserJointSetSolverModel Physics.NewtonImport

NewtonUserMeshCollisionContinuousOverlapTest Physics.NewtonImport

NewtonWaitForUpdateToFinish Physics.NewtonImport

NewtonWorldAddListener Physics.NewtonImport

NewtonWorldCollide Physics.NewtonImport

NewtonWorldConvexCast Physics.NewtonImport

NewtonWorldCriticalSectionLock Physics.NewtonImport

NewtonWorldCriticalSectionUnlock Physics.NewtonImport

NewtonWorldFindJoint Physics.NewtonImport

NewtonWorldFloatSize Physics.NewtonImport

NewtonWorldForEachBodyInAABBDo Physics.NewtonImport

NewtonWorldForEachJointDo Physics.NewtonImport

NewtonWorldGetBodyCount Physics.NewtonImport

world utility functions
NewtonWorldGetConstraintCount Physics.NewtonImport

NewtonWorldGetDestructorCallback Physics.NewtonImport

NewtonWorldGetFirstBody Physics.NewtonImport

NewtonWorldGetFirstMaterial Physics.NewtonImport

NewtonWorldGetListener Physics.NewtonImport

NewtonWorldGetListenerUserData Physics.NewtonImport

NewtonWorldGetNextBody Physics.NewtonImport

NewtonWorldGetNextMaterial Physics.NewtonImport

NewtonWorldGetUserData Physics.NewtonImport

NewtonWorldGetVersion Physics.NewtonImport

**********************************************************************************************

world control functions

**********************************************************************************************
NewtonWorldListenerDebug Physics.NewtonImport

NewtonWorldListenerGetBodyDestroyCallback Physics.NewtonImport

NewtonWorldListenerSetBodyDestroyCallback Physics.NewtonImport

NewtonWorldListenerSetDebugCallback Physics.NewtonImport

NewtonWorldListenerSetDestructorCallback Physics.NewtonImport

NewtonWorldListenerSetPostStepCallback Physics.NewtonImport

NewtonWorldListenerSetPostUpdateCallback Physics.NewtonImport

NewtonWorldListenerSetPreUpdateCallback Physics.NewtonImport

NewtonWorldRayCast Physics.NewtonImport

NewtonWorldSetCollisionConstructorDestructorCallback Physics.NewtonImport

NewtonWorldSetCreateDestroyContactCallback Physics.NewtonImport

NewtonWorldSetDestructorCallback Physics.NewtonImport

NewtonWorldSetUserData Physics.NewtonImport

NewtonYield Physics.NewtonImport

NoisyColor GLS.RandomHDS

NormalizeAngle GLS.VectorGeometry

Normalize to an angle in the [-PI; +PI] range
NormalizeDegAngle GLS.VectorGeometry

Normalize to an angle in the [-180; 180] range
NormalizeMatrix GLS.VectorGeometry

Normalize the matrix and remove the translation component. The resulting matrix is an orthonormal matrix (Y direction preserved, then Z)
NormalizePlane GLS.VectorGeometry

Normalize a plane so that point evaluation = plane distance. }
NormalizeQuaternion GLS.VectorGeometry

Normalizes the given quaternion
NormalizeVector GLS.VectorGeometry

Returns the vector transformed to unit length Transforms a vector to unit length
NormalizeVector GLS.VectorGeometry

Transforms a vector to unit length
NormalizeVector GLS.VectorGeometry

Transforms a vector to unit length
NormalizeVectorArray GLS.VectorGeometry

Transforms vectors to unit length
ObjectManager GLS.SceneRegister

Auto-create for object manager
OblateSpheroidal_Cartesian GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian (with error check). eta,phi in rad
OblateSpheroidal_Cartesian GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian with checks. [Double] eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [-0.5*pi,0.5*pi] [3] = phi out of bounds. Acceptable phi: [0,2*pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html
OblateSpheroidal_Cartesian GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian. [Double] eta, phi in rad
OblateSpheroidal_Cartesian GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian. [Single] eta, phi in rad
ODERToGLSceneMatrix Physics.ODEUtils

ODERToGLSceneMatrix Physics.ODEUtils

ODERToGLSceneMatrix Physics.ODEUtils

OffsetAABB GLS.GeometryBB

OffsetAABB GLS.GeometryBB

Adds delta to min and max of the AABB.
OffsetBB GLS.GeometryBB

OffsetBB GLS.GeometryBB

Adds delta to min and max of the BB.
OffsetBBPoint GLS.GeometryBB

The same as above but uses AddPoint() instead of AddVector().
OffsetFloatArray GLS.VectorGeometry

OffsetFloatArray GLS.VectorGeometry

OffsetFloatArray GLS.VectorGeometry

Adds delta to values in the array. Array size must be a multiple of four
OpenGLFormatToInternalFormat GLS.TextureFormat

Give a GLScene texture format from openGL texture format
OpenPictureDialog GLS.Utils

Pops up a simple open picture dialog.
OptimizeMesh GLS.MeshBuilder

OptimizeMesh GLS.MeshBuilder

Optimize Mesh (list, default options)
OptimizeMesh GLS.MeshBuilder

OptimizeMesh (object, default options)
OptimizeMesh GLS.MeshBuilder

OptimizeMesh (object, with options)
PackRotationMatrix GLS.VectorGeometry

Packs an homogeneous rotation matrix to 6 bytes. The 6:64 (or 6:36) compression ratio is achieved by computing the quaternion associated to the matrix and storing its Imaginary components at 16 bits precision each. Deviation is typically below 0.01% and around 0.1% in worst case situations. Note: quaternion conversion is faster and more robust than an angle decomposition
PAKCreateFileStream GLS.FileVfsPAK

PAKFileStreamExists GLS.FileVfsPAK

ParseFloat GLS.Utils

Parses the next integer in the string. Initial non-numeric characters are skipper, p is altered, returns 0 if none found. Both '.' and ',' are accepted as decimal separators.
ParseInteger GLS.Utils

Parses the next integer in the string. Initial non-numeric characters are skipper, p is altered, returns 0 if none found. '+' and '-' are acknowledged.
Perlin_Random1 GLS.Perlin

just a random controlled by X
Perlin_Random1DStrip GLS.Perlin

generates a random strip
Perlin_Random2 GLS.Perlin

just a random controlled by X,Y
Pitch GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around its X-axis
Pitch GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around MasterRight
PixelFormatToColorBits GLS.Utils

Returns the number of color bits associated to the given pixel format.
PlaneAABBIntersection GLS.GeometryBB

Compute the intersection between a plane and the AABB
PlaneContainsBSphere GLS.GeometryBB

Determines to which extent a plane contains a BSphere
PlaneEvaluatePoint GLS.VectorGeometry

PlaneEvaluatePoint GLS.VectorGeometry

Calculates the cross-product between the plane normal and plane to point vector. This functions gives an hint as to were the point is, if the point is in the half-space pointed by the vector, result is positive. This function performs an homogeneous space dot-product.
PlaneIntersectAABB GLS.GeometryBB

Checks if a plane (given by the normal+d) intersects the AABB
PlaneMake GLS.VectorGeometry

PlaneMake GLS.VectorGeometry

PlaneMake GLS.VectorGeometry

Computes the parameters of a plane defined by a point and a normal.
PlaneMake GLS.VectorGeometry

Computes the parameters of a plane defined by three points.
PlayOnWaveOut Sounds.WaveOut

PlayOnWaveOut Sounds.WaveOut

PointAdd GLS.VectorGeometry

Returns the sum of two homogeneous vectors. W coordinate is always 1.
PointDiskOrthoProjection GLS.VectorGeometry

Computes point to disk projection. Direction has to be normalized
PointDiskProjection GLS.VectorGeometry

PointInAABB GLS.GeometryBB

PointInAABB GLS.GeometryBB

Checks if a point "p" is inside an AABB
PointInPolygon GLS.VectorGeometry

The code below is from Wm. Randolph Franklin <wrf@ecse.rpi.edu> with some minor modifications for speed. It returns 1 for strictly interior points, 0 for strictly exterior, and 0 or 1 for points on the boundary
PointIsInHalfSpace GLS.VectorGeometry

PointIsInHalfSpace GLS.VectorGeometry

PointIsInHalfSpace GLS.VectorGeometry

Returns true if point is in the half-space defined by a plane with normal. The plane itself is not considered to be in the tested halfspace.
PointLineClosestPoint GLS.VectorGeometry

Computes closest point on a line
PointLineDistance GLS.VectorGeometry

Computes algebraic distance between point and line
PointMake GLS.VectorGeometry

PointMake GLS.VectorGeometry

PointMake GLS.VectorGeometry

PointPlaneDistance GLS.VectorGeometry

PointPlaneDistance GLS.VectorGeometry

PointPlaneDistance GLS.VectorGeometry

Computes algebraic distance between point and plane. Value will be positive if the point is in the halfspace pointed by the normal, negative on the other side.
PointPlaneOrthoProjection GLS.VectorGeometry

Computes point to plane projection. Plane and direction have to be normalized
PointPlaneProjection GLS.VectorGeometry

PointProject GLS.VectorGeometry

PointProject GLS.VectorGeometry

Projects p on the line defined by o and direction. Performs VectorDotProduct(VectorSubtract(p, origin), direction), which, if direction is normalized, computes the distance between origin and the projection of p on the (origin, direction) line
PointQuadOrthoProjection GLS.VectorGeometry

Computes point to Quad projection. Direction has to be normalized. Quad have to be flat and convex
PointQuadProjection GLS.VectorGeometry

PointSegmentClosestPoint GLS.VectorGeometry

PointSegmentClosestPoint GLS.VectorGeometry

Computes closest point on a segment (a segment is a limited line)
PointSegmentDistance GLS.VectorGeometry

Computes algebraic distance between segment and line (a segment is a limited line)
PointTriangleOrthoProjection GLS.VectorGeometry

Computes point to triangle projection. Direction has to be normalized
PointTriangleProjection GLS.VectorGeometry

PolygonArea GLS.VectorGeometry

Computes the polygons's area. Points must be coplanar. Polygon needs not be convex
PolygonSignedArea GLS.VectorGeometry

Computes a 2D polygon's signed area. Only X and Y coordinates are used, Z is ignored. Polygon needs not be convex
PositionSceneObject Physics.ODEUtils

PositionSceneObjectForGeom Physics.ODEUtils

PowerInt64 GLS.VectorGeometry

PowerInteger GLS.VectorGeometry

Raise base to an integer
PowerSingle GLS.VectorGeometry

Raise base to any power. For fractional exponents, or |exponents| > MaxInt, base must be > 0
PrecisionTimerLap GLS.Utils

Computes time elapsed since timer start. Return time lap in seconds.
PrepareSinCosCache GLS.VectorGeometry

Fills up the two given dynamic arrays with sin cos values. start and stop angles must be given in degrees, the number of steps is determined by the length of the given arrays.
PrimerIsland GLS.RandomHDS

PrimerNull GLS.RandomHDS

Landscape primers
Project GLS.VectorGeometry

ProlateSpheroidal_Cartesian GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian with no checks. [single] eta, phi in rad A system of curvilinear coordinates in which two sets of coordinate surfaces are obtained by revolving the curves of the elliptic cylindrical coordinates about the x-axis, which is relabeled the z-axis. The third set of coordinates consists of planes passing through this axis. The coordinate system is parameterised by parameter a. A default value of a=1 is suggesed: Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html
ProlateSpheroidal_Cartesian GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian [double] eta,phi in rad A system of curvilinear coordinates in which two sets of coordinate surfaces are obtained by revolving the curves of the elliptic cylindrical coordinates about the x-axis, which is relabeled the z-axis. The third set of coordinates consists of planes passing through this axis. The coordinate system is parameterised by parameter a. A default value of a=1 is suggesed: Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html
ProlateSpheroidal_Cartesian GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian [double](with error check). eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [0,pi] [3] = phi out of bounds. Acceptable phi: [0,2pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html
ProlateSpheroidal_Cartesian GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian [single](with error check). eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [0,pi] [3] = phi out of bounds. Acceptable phi: [0,2pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html
QuaternionConjugate GLS.VectorGeometry

Returns the conjugate of a quaternion
QuaternionFromAngleAxis GLS.VectorGeometry

Constructs quaternion from angle (in deg) and axis
QuaternionFromEuler GLS.VectorGeometry

Constructs quaternion from Euler angles in arbitrary order (angles in degrees)
QuaternionFromMatrix GLS.VectorGeometry

Constructs a unit quaternion from a rotation matrix
QuaternionFromPoints GLS.VectorGeometry

Constructs a unit quaternion from two points on unit sphere
QuaternionFromRollPitchYaw GLS.VectorGeometry

Constructs quaternion from Euler angles
QuaternionMagnitude GLS.VectorGeometry

Returns the magnitude of the quaternion
QuaternionMake GLS.VectorGeometry

QuaternionMake GLS.VectorGeometry

QuaternionMake GLS.VectorGeometry

Creates a quaternion from the given values
QuaternionMultiply GLS.VectorGeometry

Returns quaternion product qL * qR. Note: order is important! To combine rotations, use the product QuaternionMuliply(qSecond, qFirst), which gives the effect of rotating by qFirst then qSecond
QuaternionSlerp GLS.VectorGeometry

QuaternionSlerp GLS.VectorGeometry

Spherical linear interpolation of unit quaternions with spins. QStart, QEnd - start and end unit quaternions t - interpolation parameter (0 to 1) Spin - number of extra spin rotations to involve
QuaternionToAffineMatrix GLS.VectorGeometry

Constructs an affine rotation matrix from (possibly non-unit) quaternion
QuaternionToMatrix GLS.VectorGeometry

Constructs a rotation matrix from (possibly non-unit) quaternion. Assumes matrix is used to multiply column vector on the left: vnew = mat vold. Works correctly for right-handed coordinate system and right-handed rotations
QuaternionToPoints GLS.VectorGeometry

Converts a unit quaternion into two points on a unit sphere
QueryPerformanceCounter GLS.Utils

Returns the current value of the highest-resolution counter. If the platform has none, should return a value derived from the highest precision time reference available, avoiding, if possible, timers that allocate specific system resources.
QueryPerformanceFrequency GLS.Utils

Returns the frequency of the counter used by QueryPerformanceCounter. Return value is in ticks per second (Hz), returns False if no precision counter is available.
QuestionDlg GLS.Utils

Pops up a simple question dialog with msg and yes/no buttons. Returns True if answer was "yes".
QuickSortLists GLS.VectorLists

Sort the refList in ascending order, ordering objList (TBaseList) on the way
QuickSortLists GLS.VectorLists

Sort the refList in ascending order, ordering objList (TList) on the way
RadianToDeg GLS.VectorGeometry

RadianToDeg GLS.VectorGeometry

RaiseFilerException GLS.PersistentClasses

RaiseLastOSError GLS.Utils

RandomColorVector Physics.ODEUtils

RandomPointOnSphere GLS.VectorGeometry

Generates a random point on the unit sphere. Point repartition is correctly isotropic with no privilegied direction
RasterFileFormatExtensionByIndex GLS.Graphics

Returns an extension by its index in the internal image files dialogs filter. Use InternalImageFileFormatsFilter to obtain the filter.
RayCastAABBIntersect GLS.GeometryBB

RayCastAABBIntersect GLS.GeometryBB

Finds the intersection between a ray and an axis aligned bounding box.
RayCastBoxIntersect GLS.VectorGeometry

Compute intersection between a ray and a box. Returns True if an intersection was found, the intersection point is placed in intersectPoint if the reference is not nil
RayCastIntersectsSphere GLS.VectorGeometry

Determines if a ray will intersect with a given sphere
RayCastMinDistToPoint GLS.VectorGeometry

Compute the min distance a ray will pass to a point
RayCastPlaneIntersect GLS.VectorGeometry

Compute intersection between a ray and a plane. Returns True if an intersection was found, the intersection point is placed in intersectPoint is the reference is not nil
RayCastPlaneXZIntersect GLS.VectorGeometry

RayCastSphereIntersect GLS.VectorGeometry

Calculates the intersections between a sphere and a ray. Returns 0 if no intersection is found (i1 and i2 untouched), 1 if one intersection was found (i1 defined, i2 untouched), and 2 is two intersections were found (i1 and i2 defined)
RayCastTriangleIntersect GLS.VectorGeometry

Compute intersection between a ray and a triangle
ReadCRLFString GLS.Utils

Read a CRLF terminated string from a stream. The CRLF is NOT in the returned string.
ReadLine GLS.Logger

ReadModuleData GLS.ModuleLoader

ReadMotorolaNumber Formats.LWO

ReadOpenALExtensions Sounds.OpenALImport

ReadS0 Formats.LWO

ReadScreenImage GLS.Screen

ReadVideoModes GLS.Screen

ReadVXAsU4 Formats.LWO

ReadXMLFile GLS.CrossXML

ReadXMLFile GLS.CrossXML

RectangleContains GLS.VectorGeometry

Determine if BigRect completely contains SmallRect
RectanglesIntersect GLS.VectorGeometry

Determine if 2 rectanges intersect
RectEquals GLS.VectorGeometry

True if all components are equal.
Register Cg.Register

TGLLibMaterialNameProperty
Register CUDA.Register

Register DWS.Classes

Register DWS.Objects

Register DWS.OpenGL

Register DWS.Scene

Register DWS.Script

Register DWS.VectorGeometry

Register GLS.FullScreenViewer

Register GLS.PythonScript

Register GLS.SceneRegister

Register Components
Register GLS.SDLContext

Register GLS.SDLWindow

function getenv(const name: PAnsiChar): PAnsiChar;
Register GLS.XCollectionRegister

Register Physics.Register

Register Pythons.Script

Register SDL2.Frame

Register Sounds.SoundRegister

RegisterArchiveFormat GLS.ArchiveManager

RegisterChunkClass Formats.LWO

RegisterColor GLS.Color

RegisterCUDAComponentNameChangeEvent CUDA.APIComps

RegisterGLBaseSceneObjectNameChangeEvent GLS.Scene

Register an event handler triggered by any TGLBaseSceneObject Name change. *INCOMPLETE*, currently allows for only 1 (one) event, and is used by GLSceneEdit in the IDE.
RegisterGLBehaviourNameChangeEvent GLS.Scene

Register an event handler triggered by any TGLBehaviour Name change. *INCOMPLETE*, currently allows for only 1 (one) event, and is used by FBehavioursEditor in the IDE.
RegisterGLContextClass GLS.Context

Drivers should register themselves via this function.
RegisterGLMaterialExNameChangeEvent GLS.MaterialEx

RegisterGLSceneObject Physics.ODEManager

GLODEObject register methods (used for joint object persistence)
RegisterGLTextureImageClass GLS.Texture

Register a TGLTextureImageClass (used for persistence and IDE purposes)
RegisterGLTextureImageEditor GLS.TextureImageEditors

RegisterInfoForm GLS.Scene

Registers the procedure call used to invoke the info form.
RegisterManager GLS.Manager

RegisterRasterFormat GLS.Graphics

RegisterSoundFileFormat GLS.SoundFileObjects

RegisterTGraphicClassFileExtension GLS.Texture

RegisterUniformAutoSetMethod GLSL.ShaderParameter

RegisterVectorFileFormat GLS.VectorFileObjects

RegisterXCollectionDestroyEvent GLS.XCollection

Registers an event to be called when an XCollection is destroyed
RegisterXCollectionItemClass GLS.XCollection

Registers a TXCollectionItem subclass for persistence requirements
RelativePath GLS.Utils

Remove if possible part of path witch leads to project executable.
ReleaseAmbientLightMotion Formats.m3DSUtils

ReleaseCamera Formats.m3DSUtils

ReleaseCameraMotion Formats.m3DSUtils

ReleaseChunk Formats.m3DSUtils

ReleaseChunkList Formats.m3DSUtils

ReleaseFontManager GLS.SpaceText

ReleaseGLCUDAEditorForm CUDA.EditorFm

ReleaseGLSceneEditorForm FmSceneEditor

ReleaseGLShaderEditor FmShaderMemo

ReleaseGUILayoutEditorForm FmGuiLayoutEditor

ReleaseLibMaterialPickerForm FLibMaterialPicker

ReleaseLibMaterialPickerForm FmLibMaterialPicker

ReleaseLight Formats.m3DSUtils

ReleaseMaterial Formats.m3DSUtils

ReleaseMaterialEditorForm FmMaterialEditor

ReleaseMeshObj Formats.m3DSUtils

ReleaseNx Physics.PhysXImport

ReleaseObjectMotion Formats.m3DSUtils

ReleaseOmnilightMotion Formats.m3DSUtils

ReleaseShaderUniformEditor FmShaderUniformEditor

ReleaseSpotlightMotion Formats.m3DSUtils

ReleaseVectorEditorForm FmVectorEditor

ReleaseXCollectionEditor FmXCollectionEditor

ReleaseXMLDocument GLS.CrossXML

Release_Memory_Isoline GLS.Isolines

RemapAndCleanupReferences GLS.MeshUtils

Alters a reference/indice pair and removes unused reference values. This functions scans the reference list and removes all values that aren't referred in the indices list, and the indices list is remapped so as to remain coherent.
RemapIndices GLS.MeshUtils

Remaps a list of indices. The indicesMap provides newVertexIndex:=indicesMap[oldVertexIndex]
RemapIndicesToIndicesMap GLS.MeshUtils

Creates an indices map from a remap list. The remap list is what BuildVectorCountOptimizedIndices, a list of indices to distinct/unique items, the indices map contains the indices of these items after a remap and cleanup of the set referred by remapIndices... Clear? In short it takes the output of BuildVectorCountOptimizedIndices and can change it to something suitable for RemapTrianglesIndices. Any simpler documentation of this function welcome ;)
RemapReferences GLS.MeshUtils

RemapReferences GLS.MeshUtils

Alters a reference array and removes unused reference values. This functions scans the reference list and removes all values that aren't referred in the indices list, the indices list is *not* remapped.
RemapTrianglesIndices GLS.MeshUtils

Remaps a list of triangles vertex indices and remove degenerate triangles. The indicesMap provides newVertexIndex:=indicesMap[oldVertexIndex]
RenderAABB GLS.SpacePartition

RenderAABB GLS.SpacePartition

Renders an AABB as a line
RenderGeomList Physics.ODEUtils

RenderSpatialPartitioning GLS.SpacePartition

Render a spacial partitioning descending from TSectoredSpacePartition (octree and quadtree) as a grid - great for debugging and visualisation
RescaleImage GLS.ImageUtils

RestoreDefaultMode GLS.Screen

ReverseByteOrder Formats.LWO

RGB24ToRGBA32 GLS.Graphics

RGB2Color GLS.Color

Builds a TColor from Red Green Blue components.
Rgbe2float GLS.RGBE

RLength GLS.VectorGeometry

Computes 1/Sqrt(Sqr(x)+Sqr(y)).
Roll GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around its Z-axis
Roll GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around MasterDirection
RotateVector GLS.VectorGeometry

Rotates Vector about Axis with Angle radians
RotateVector GLS.VectorGeometry

Rotates Vector about Axis with Angle radians
RotateVectorAroundY GLS.VectorGeometry

Rotate given vector around the Y axis (alpha is in rad)
RoundDownToPowerOf2 GLS.Utils

Round down to the nearest power of two, value must be strictly positive
RoundInt GLS.VectorGeometry

RoundInt GLS.VectorGeometry

Rounds the floating point value to the closest integer. Behaves like Round but returns a floating point value like Int.
RoundUpToPowerOf2 GLS.Utils

Round ups to the nearest power of two, value must be positive
RSqrt GLS.VectorGeometry

—————————————————————————— Miscellanious math functions —————————————————————————— Computes 1/Sqrt(v)
RstVector GLS.VectorGeometry

RstVector GLS.VectorGeometry

RyuDoubleToString PasDblStrUtils

RyuStringToDouble PasDblStrUtils

RyuStringToDouble PasDblStrUtils

SafeCurrentGLContext GLS.Context

SaveAnsiStringToFile GLS.Utils

Saves ansistring "data" to "filename".
SaveComponentToFile GLS.Utils

Saves component to a file.
SavePictureDialog GLS.Utils

Pops up a simple save picture dialog.
SaveSDLBMPToStream SDL2.Import

SaveStringToFile GLS.Utils

Saves string "data" to "filename".
ScaleAndRound GLS.VectorGeometry

Multiples i by s and returns the rounded result.
ScaleFloatArray GLS.VectorGeometry

ScaleFloatArray GLS.VectorGeometry

Multiplies values in the array by factor. This function is especially efficient for large arrays, it is not recommended for arrays that have less than 10 items. Expected performance is 4 to 5 times that of a Deliph-compiled loop on AMD CPUs, and 2 to 3 when 3DNow! isn't available
ScaleMatrix GLS.VectorGeometry

Multiplies all elements of a 3x3 matrix with a factor
ScaleMatrix GLS.VectorGeometry

Multiplies all elements of a 4x4 matrix with a factor
ScaleVector GLS.VectorGeometry

Scales given vector by a factor
ScaleVector GLS.VectorGeometry

Scales given vector by a factor
ScaleVector GLS.VectorGeometry

Scales given vector by a factor
ScaleVector GLS.VectorGeometry

Scales given vector by another vector. v[x]:=v[x]*factor[x], v[y]:=v[y]*factor[y] etc.
ScaleVector GLS.VectorGeometry

Scales given vector by another vector. v[x]:=v[x]*factor[x], v[y]:=v[y]*factor[y] etc.
SDK_Version Physics.PhysXImport

SDLNet_AddSocket SDL2.Net

* Add a socket to a set of sockets to be checked for available data *
SDLNet_AllocPacket SDL2.Net

* Allocate/resize/free a single UDP packet 'size' bytes long. The new packet is returned, or NULL if the function ran out of memory. *
SDLNet_AllocPacketV SDL2.Net

* Allocate/Free a UDP packet vector (array of packets) of 'howmany' packets, each 'size' bytes long. A pointer to the first packet in the array is returned, or NULL if the function ran out of memory. *
SDLNet_AllocSocketSet SDL2.Net

* Allocate a socket set for use with SDLNet_CheckSockets() This returns a socket set for up to 'maxsockets' sockets, or NULL if the function ran out of memory. *
SDLNet_CheckSockets SDL2.Net

* This function checks to see if data is available for reading on the given set of sockets. If 'timeout' is 0, it performs a quick poll, otherwise the function returns when either data is available for reading, or the timeout in milliseconds has elapsed, which ever occurs first. This function returns the number of sockets ready for reading, or -1 if there was an error with the select() system call. *
SDLNet_DelSocket SDL2.Net

* Remove a socket from a set of sockets to be checked for available data *
SDLNet_FreePacket SDL2.Net

SDLNet_FreePacketV SDL2.Net

SDLNet_FreeSocketSet SDL2.Net

* Free a set of sockets allocated by SDL_NetAllocSocketSet() *
SDLNet_GetError SDL2.Net

SDLNet_Init SDL2.Net

* Initialize/Cleanup the network API SDL must be initialized before calls to functions in this library, because this library uses utility functions from the SDL library. *
SDLNet_Quit SDL2.Net

SDLNet_Read16 SDL2.Net

* Read a 16/32 bit value from network packet buffer *
SDLNet_Read32 SDL2.Net

{$IFNDEF CPUARM} {$ENDIF}
SDLNet_ResizePacket SDL2.Net

SDLNet_ResolveHost SDL2.Net

* Resolve a host name and port to an IP address in network form. If the function succeeds, it will return 0. If the host couldn't be resolved, the host portion of the returned address will be INADDR_NONE, and the function will return -1. If 'host' is NULL, the resolved host will be set to INADDR_ANY. *
SDLNet_ResolveIP SDL2.Net

* Resolve an ip address to a host name in canonical form. If the ip couldn't be resolved, this function returns NULL, otherwise a pointer to a static buffer containing the hostname is returned. Note that this function is not thread-safe. *
SDLNet_SetError SDL2.Net

* We'll use SDL's functions for error reporting *
SDLNet_SocketReady SDL2.Net

* After calling SDLNet_CheckSockets(), you can use this function on a socket that was in the socket set, to find out if data is available for reading. *
SDLNet_TCP_Accept SDL2.Net

* Accept an incoming connection on the given server socket. The newly created socket is returned, or NULL if there was an error. *
SDLNet_TCP_AddSocket SDL2.Net

SDLNet_TCP_Close SDL2.Net

* Close a TCP network socket *
SDLNet_TCP_DelSocket SDL2.Net

SDLNet_TCP_GetPeerAddress SDL2.Net

* Get the IP address of the remote system associated with the socket. If the socket is a server socket, this function returns NULL. *
SDLNet_TCP_Open SDL2.Net

* Open a TCP network socket If ip.host is INADDR_NONE, this creates a local server socket on the given port, otherwise a TCP connection to the remote host and port is attempted. The address passed in should already be swapped to network byte order (addresses returned from SDLNet_ResolveHost() are already in the correct form). The newly created socket is returned, or NULL if there was an error. *
SDLNet_TCP_Recv SDL2.Net

* Receive up to 'maxlen' bytes of data over the non-server socket 'sock', and store them in the buffer pointed to by 'data'. This function returns the actual amount of data received. If the return value is less than or equal to zero, then either the remote connection was closed, or an unknown socket error occurred. *
SDLNet_TCP_Send SDL2.Net

* Send 'len' bytes of 'data' over the non-server socket 'sock' This function returns the actual amount of data sent. If the return value is less than the amount of data sent, then either the remote connection was closed, or an unknown socket error occurred. *
SDLNet_UDP_AddSocket SDL2.Net

SDLNet_UDP_Bind SDL2.Net

* Bind the address 'address' to the requested channel on the UDP socket. If the channel is -1, then the first unbound channel will be bound with the given address as it's primary address. If the channel is already bound, this new address will be added to the list of valid source addresses for packets arriving on the channel. If the channel is not already bound, then the address becomes the primary address, to which all outbound packets on the channel are sent. This function returns the channel which was bound, or -1 on error. *
SDLNet_UDP_Close SDL2.Net

* Close a UDP network socket *
SDLNet_UDP_DelSocket SDL2.Net

SDLNet_UDP_GetPeerAddress SDL2.Net

* Get the primary IP address of the remote system associated with the socket and channel. If the channel is -1, then the primary IP port of the UDP socket is returned – this is only meaningful for sockets opened with a specific port. If the channel is not bound and not -1, this function returns NULL. *
SDLNet_UDP_Open SDL2.Net

* Open a UDP network socket If 'port' is non-zero, the UDP socket is bound to a local port. This allows other systems to send to this socket via a known port. *
SDLNet_UDP_Recv SDL2.Net

* Receive a single packet from the UDP socket. The returned packet contains the source address and the channel it arrived on. If it did not arrive on a bound channel, the the channel will be set to -1. The channels are checked in highest to lowest order, so if an address is bound to multiple channels, the highest channel with the source address bound will be returned. This function returns the number of packets read from the network, or -1 on error. This function does not block, so can return 0 packets pending. *
SDLNet_UDP_RecvV SDL2.Net

* Receive a vector of pending packets from the UDP socket. The returned packets contain the source address and the channel they arrived on. If they did not arrive on a bound channel, the the channel will be set to -1. The channels are checked in highest to lowest order, so if an address is bound to multiple channels, the highest channel with the source address bound will be returned. This function returns the number of packets read from the network, or -1 on error. This function does not block, so can return 0 packets pending. *
SDLNet_UDP_Send SDL2.Net

* Send a single packet to the specified channel. If the channel specified in the packet is -1, the packet will be sent to the address in the 'src' member of the packet. The packet will be updated with the status of the packet after it has been sent. This function returns 1 if the packet was sent, or 0 on error. *
SDLNet_UDP_SendV SDL2.Net

* Send a vector of packets to the the channels specified within the packet. If the channel specified in the packet is -1, the packet will be sent to the address in the 'src' member of the packet. Each packet will be updated with the status of the packet after it has been sent, -1 if the packet send failed. This function returns the number of packets sent. *
SDLNet_UDP_Unbind SDL2.Net

* Unbind all addresses from the given channel *
SDLNet_Write16 SDL2.Net

* Write a 16/32 bit value to network packet buffer *
SDLNet_Write32 SDL2.Net

SDLStreamCloseRWops SDL2.Import

SDLStreamSetup SDL2.Import

SDL_AddEventWatch SDL2.Import

** * Add a function which is called when an event is added to the queue. *
SDL_AddHintCallback SDL2.Import

SDL_AddTimer SDL2.Import

** * Add a new timer to the pool of timers already running. * * A timer ID, or NULL when an error occurs. *
SDL_AllocFormat SDL2.Import

** * Create an SDL_PixelFormat structure from a pixel format enum. *
SDL_AllocPalette SDL2.Import

** * Create a palette structure with the specified number of color * entries. * * A new palette, or nil if there wasn't enough memory. * * The palette entries are initialized to white. * * SDL_FreePalette() *
SDL_AllocRW SDL2.Import

*RWFrom functions*
SDL_AudioDeviceConnected SDL2.Import

** * 1 if audio device is still functioning, zero if not, -1 on error. *
SDL_AudioInit SDL2.Import

** * Initialization and cleanup * * These functions are used internally, and should not be used unless * you have a specific need to specify the audio driver you want to * use. You should normally use SDL_Init() or SDL_InitSubSystem(). *
SDL_AudioQuit SDL2.Import

SDL_AUDIO_BITSIZE SDL2.Import

SDL_AUDIO_ISBIGENDIAN SDL2.Import

SDL_AUDIO_ISFLOAT SDL2.Import

SDL_AUDIO_ISINT SDL2.Import

SDL_AUDIO_ISLITTLEENDIAN SDL2.Import

SDL_AUDIO_ISSIGNED SDL2.Import

SDL_AUDIO_ISUNSIGNED SDL2.Import

SDL_BITSPERPIXEL SDL2.Import

SDL_BuildAudioCVT SDL2.Import

** * This function takes a source format and rate and a destination format * and rate, and initializes the cvt structure with information needed * by SDL_ConvertAudio() to convert a buffer of audio data from one format * to the other. * * -1 if the format conversion is not supported, 0 if there's * no conversion needed, or 1 if the audio filter is set up. *
SDL_BYTESPERPIXEL SDL2.Import

SDL_CalculateGammaRamp SDL2.Import

** * Calculate a 256 entry gamma ramp for a gamma value. *
SDL_ClearError SDL2.Import

SDL_ClearHints SDL2.Import

/** * \brief Clear all hints * * This function is called during SDL_Quit() to free stored hints. */
SDL_CloseAudio SDL2.Import

** * This function shuts down audio processing and closes the audio device. *
SDL_CloseAudioDevice SDL2.Import

SDL_COMPILEDVERSION SDL2.Import

** * This is the version number macro for the current SDL version. *
SDL_CondBroadcast SDL2.Import

** * Restart all threads that are waiting on the condition variable. * * 0 or -1 on error. *
SDL_CondSignal SDL2.Import

** * Restart one of the threads that are waiting on the condition variable. * * 0 or -1 on error. *
SDL_CondWait SDL2.Import

** * Wait on the condition variable, unlocking the provided mutex. * * The mutex must be locked before entering this function! * * The mutex is re-locked once the condition variable is signaled. * * 0 when it is signaled, or -1 on error. *
SDL_CondWaitTimeout SDL2.Import

** * Waits for at most ms milliseconds, and returns 0 if the condition * variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not * signaled in the allotted time, and -1 on error. * * On some platforms this function is implemented by looping with a * delay of 1 ms, and so should be avoided if possible. *
SDL_ConvertAudio SDL2.Import

** * Once you have initialized the cvt structure using SDL_BuildAudioCVT(), * created an audio buffer cvt->buf, and filled it with cvt->len bytes of * audio data in the source format, this function will convert it in-place * to the desired format. * * The data conversion may expand the size of the audio data, so the buffer * cvt->buf should be allocated after the cvt structure is initialized by * SDL_BuildAudioCVT(), and should be cvt->len*cvt->len_mult bytes long. *
SDL_ConvertPixels SDL2.Import

** * Copy a block of pixels of one format to another format * * 0 on success, or -1 if there was an error *
SDL_ConvertSurface SDL2.Import

** * Creates a new surface of the specified format, and then copies and maps * the given surface to it so the blit of the converted surface will be as * fast as possible. If this function fails, it returns NULL. * * The flags parameter is passed to SDL_CreateRGBSurface() and has those * semantics. You can also pass SDL_RLEACCEL in the flags parameter and * SDL will try to RLE accelerate colorkey and alpha blits in the resulting * surface. *
SDL_ConvertSurfaceFormat SDL2.Import

SDL_CreateColorCursor SDL2.Import

** * Create a color cursor. * * SDL_FreeCursor() *
SDL_CreateCond SDL2.Import

** * Create a condition variable. * * Typical use of condition variables: * * Thread A: * SDL_LockMutex(lock); * while ( not condition ) * begin * SDL_CondWait(cond, lock); * end; * SDL_UnlockMutex(lock); * * Thread B: * SDL_LockMutex(lock); * ... * condition := true; * ... * SDL_CondSignal(cond); * SDL_UnlockMutex(lock); * * There is some discussion whether to signal the condition variable * with the mutex locked or not. There is some potential performance * benefit to unlocking first on some platforms, but there are some * potential race conditions depending on how your code is structured. * * In general it's safer to signal the condition variable while the * mutex is locked. *
SDL_CreateCursor SDL2.Import

** * Create a cursor, using the specified bitmap data and * mask (in MSB format). * * The cursor width must be a multiple of 8 bits. * * The cursor is created in black and white according to the following: * <table> * <tr><td> data </td><td> mask </td><td> resulting pixel on screen </td></tr> * <tr><td> 0 </td><td> 1 </td><td> White </td></tr> * <tr><td> 1 </td><td> 1 </td><td> Black </td></tr> * <tr><td> 0 </td><td> 0 </td><td> Transparent </td></tr> * <tr><td> 1 </td><td> 0 </td><td> Inverted color if possible, black * if not. </td></tr> * </table> * * SDL_FreeCursor() *
SDL_CreateMutex SDL2.Import

** * Create a mutex, initialized unlocked. *
SDL_CreateRenderer SDL2.Import

** * Create a 2D rendering context for a window. * * window The window where rendering is displayed. * index The index of the rendering driver to initialize, or -1 to * initialize the first one supporting the requested flags. * flags ::SDL_RendererFlags. * * A valid rendering context or NULL if there was an error. * * SDL_CreateSoftwareRenderer() * SDL_GetRendererInfo() * SDL_DestroyRenderer() *
SDL_CreateRGBSurface SDL2.Import

** * Allocate and free an RGB surface. * * If the depth is 4 or 8 bits, an empty palette is allocated for the surface. * If the depth is greater than 8 bits, the pixel format is set using the * flags '[RGB]mask'. * * If the function runs out of memory, it will return NULL. * * flags The flags are obsolete and should be set to 0. *
SDL_CreateRGBSurfaceFrom SDL2.Import

SDL_CreateSemaphore SDL2.Import

** * Create a semaphore, initialized with value, returns NULL on failure. *
SDL_CreateShapedWindow SDL2.Import

** * Create a window that can be shaped with the specified position, dimensions, and flags. * * title The title of the window, in UTF-8 encoding. * x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * w The width of the window. * h The height of the window. * flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: * SDL_WINDOW_OPENGL, SDL_WINDOW_INPUT_GRABBED, * SDL_WINDOW_SHOWN, SDL_WINDOW_RESIZABLE, * SDL_WINDOW_MAXIMIZED, SDL_WINDOW_MINIMIZED, * SDL_WINDOW_BORDERLESS is always set, and SDL_WINDOW_FULLSCREEN is always unset. * * The window created, or NULL if window creation failed. * * SDL_DestroyWindow() *
SDL_CreateSoftwareRenderer SDL2.Import

** * Create a 2D software rendering context for a surface. * * surface The surface where rendering is done. * * A valid rendering context or NULL if there was an error. * * SDL_CreateRenderer() * SDL_DestroyRenderer() *
SDL_CreateSystemCursor SDL2.Import

** * Create a system cursor. * * SDL_FreeCursor() *
SDL_CreateTexture SDL2.Import

** * Create a texture for a rendering context. * * renderer The renderer. * format The format of the texture. * access One of the enumerated values in ::SDL_TextureAccess. * w The width of the texture in pixels. * h The height of the texture in pixels. * * The created texture is returned, or 0 if no rendering context was * active, the format was unsupported, or the width or height were out * of range. * * SDL_QueryTexture() * SDL_UpdateTexture() * SDL_DestroyTexture() *
SDL_CreateTextureFromSurface SDL2.Import

** * Create a texture from an existing surface. * * renderer The renderer. * surface The surface containing pixel data used to fill the texture. * * The created texture is returned, or 0 on error. * * The surface is not modified or freed by this function. * * SDL_QueryTexture() * SDL_DestroyTexture() *
SDL_CreateThread SDL2.Import

** * Create a thread. *
SDL_CreateThread SDL2.Import

** * Create a thread. *
SDL_CreateWindow SDL2.Import

** * Create a window with the specified position, dimensions, and flags. * * title The title of the window, in UTF-8 encoding. * x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * w The width of the window. * h The height of the window. * flags The flags for the window, a mask of any of the following: * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, * ::SDL_WINDOW_SHOWN, ::SDL_WINDOW_BORDERLESS, * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED. * * The id of the window created, or zero if window creation failed. * * SDL_DestroyWindow() *
SDL_CreateWindowAndRenderer SDL2.Import

** * Create a window and default renderer * * width The width of the window * height The height of the window * window_flags The flags used to create the window * window A pointer filled with the window, or NULL on error * renderer A pointer filled with the renderer, or NULL on error * * 0 on success, or -1 on error *
SDL_CreateWindowFrom SDL2.Import

** * Create an SDL window from an existing native window. * * data A pointer to driver-dependent window creation data * * The id of the window created, or zero if window creation failed. * * SDL_DestroyWindow() *
SDL_Delay SDL2.Import

** * Wait a specified number of milliseconds before returning. *
SDL_DelEventWatch SDL2.Import

** * Remove an event watch function added with SDL_AddEventWatch() *
SDL_DelHintCallback SDL2.Import

/** * \brief Remove a function watching a particular hint * * \param name The hint being watched * \param callback The function being called when the hint value changes * \param userdata A pointer being passed to the callback function */
SDL_DestroyCond SDL2.Import

** * Destroy a condition variable. *
SDL_DestroyMutex SDL2.Import

** * Destroy a mutex. *
SDL_DestroyRenderer SDL2.Import

** * Destroy the rendering context for a window and free associated * textures. * * SDL_CreateRenderer() *
SDL_DestroySemaphore SDL2.Import

** * Destroy a semaphore. *
SDL_DestroyTexture SDL2.Import

** * Destroy the specified texture. * * SDL_CreateTexture() * SDL_CreateTextureFromSurface() *
SDL_DestroyWindow SDL2.Import

** * Destroy a window. *
SDL_DisableScreenSaver SDL2.Import

** * Prevent the screen from being blanked by a screensaver * * SDL_IsScreenSaverEnabled() * SDL_EnableScreenSaver() *
SDL_EnableScreenSaver SDL2.Import

** * Allow the screen to be blanked by a screensaver * * SDL_IsScreenSaverEnabled() * SDL_DisableScreenSaver() *
SDL_EnclosePoints SDL2.Import

** * Calculate a minimal rectangle enclosing a set of points * * SDL_TRUE if any points were within the clipping rect *
SDL_Error SDL2.Import

* SDL_Error() unconditionally returns -1. *
SDL_EventState SDL2.Import

** * This function allows you to set the state of processing certain events. * - If state is set to SDL_IGNORE, that event will be automatically * dropped from the event queue and will not event be filtered. * - If state is set to SDL_ENABLE, that event will be processed * normally. * - If state is set to SDL_QUERY, SDL_EventState() will return the * current processing state of the specified event. *
SDL_FillRect SDL2.Import

** * Performs a fast fill of the given rectangle with color. * * If rect is NULL, the whole surface will be filled with color. * * The color should be a pixel of the format used by the surface, and * can be generated by the SDL_MapRGB() function. * * 0 on success, or -1 on error. *
SDL_FillRects SDL2.Import

SDL_FilterEvents SDL2.Import

** * Run the filter function on the current event queue, removing any * events for which the filter returns 0. *
SDL_FlushEvent SDL2.Import

** * This function clears events from the event queue *
SDL_FlushEvents SDL2.Import

SDL_FreeCursor SDL2.Import

** * Frees a cursor created with SDL_CreateCursor(). * * SDL_CreateCursor() *
SDL_FreeFormat SDL2.Import

** * Free an SDL_PixelFormat structure. *
SDL_FreePalette SDL2.Import

** * Free a palette created with SDL_AllocPalette(). * * SDL_AllocPalette() *
SDL_FreeRW SDL2.Import

SDL_FreeSurface SDL2.Import

SDL_FreeWAV SDL2.Import

** * This function frees data previously allocated with SDL_LoadWAV_RW() *
SDL_GameControllerAddMapping SDL2.Import

** * Add or update an existing mapping configuration * * 1 if mapping is added, 0 if updated, -1 on error *
SDL_GameControllerClose SDL2.Import

** * Close a controller previously opened with SDL_GameControllerOpen(). *
SDL_GameControllerEventState SDL2.Import

** * Enable/disable controller event polling. * * If controller events are disabled, you must call SDL_GameControllerUpdate() * yourself and check the state of the controller when you want controller * information. * * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. *
SDL_GameControllerGetAttached SDL2.Import

** * Returns SDL_TRUE if the controller has been opened and currently connected, * or SDL_FALSE if it has not. *
SDL_GameControllerGetAxis SDL2.Import

** * Get the current state of an axis control on a game controller. * * The state is a value ranging from -32768 to 32767. * * The axis indices start at index 0. *
SDL_GameControllerGetAxisFromString SDL2.Import

** * turn this string into a axis mapping *
SDL_GameControllerGetBindForAxis SDL2.Import

** * Get the SDL joystick layer binding for this controller button mapping *
SDL_GameControllerGetBindForButton SDL2.Import

** * Get the SDL joystick layer binding for this controller button mapping *
SDL_GameControllerGetButton SDL2.Import

** * Get the current state of a button on a game controller. * * The button indices start at index 0. *
SDL_GameControllerGetButtonFromString SDL2.Import

** * turn this string into a button mapping *
SDL_GameControllerGetJoystick SDL2.Import

** * Get the underlying joystick object used by a controller *
SDL_GameControllerGetStringForAxis SDL2.Import

** * turn this axis enum into a string mapping *
SDL_GameControllerGetStringForButton SDL2.Import

** * turn this button enum into a string mapping *
SDL_GameControllerMapping SDL2.Import

** * Get a mapping string for an open GameController * * the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available *
SDL_GameControllerMappingForGUID SDL2.Import

** * Get a mapping string for a GUID * * the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available *
SDL_GameControllerName SDL2.Import

** * Return the name for this currently opened controller *
SDL_GameControllerNameForIndex SDL2.Import

** * Get the implementation dependent name of a game controller. * This can be called before any controllers are opened. * If no name can be found, this function returns NULL. *
SDL_GameControllerOpen SDL2.Import

** * Open a game controller for use. * The index passed as an argument refers to the N'th game controller on the system. * This index is the value which will identify this controller in future controller * events. * * A controller identifier, or NULL if an error occurred. *
SDL_GameControllerUpdate SDL2.Import

** * Update the current state of the open game controllers. * * This is called automatically by the event loop if any game controller * events are enabled. *
SDL_GetAudioDeviceName SDL2.Import

** * Get the human-readable name of a specific audio device. * Must be a value between 0 and (number of audio devices-1). * Only valid after a successfully initializing the audio subsystem. * The values returned by this function reflect the latest call to * SDL_GetNumAudioDevices(); recall that function to redetect available * hardware. * * The string returned by this function is UTF-8 encoded, read-only, and * managed internally. You are not to free it. If you need to keep the * string for any length of time, you should make your own copy of it, as it * will be invalid next time any of several other SDL functions is called. *
SDL_GetAudioDeviceStatus SDL2.Import

SDL_GetAudioDriver SDL2.Import

SDL_GetAudioStatus SDL2.Import

SDL_GetClipRect SDL2.Import

** * Gets the clipping rectangle for the destination surface in a blit. * * rect must be a pointer to a valid rectangle which will be filled * with the correct values. *
SDL_GetClosestDisplayMode SDL2.Import

** * Get the closest match to the requested display mode. * * mode The desired display mode * closest A pointer to a display mode to be filled in with the closest * match of the available display modes. * * The passed in value closest, or nil if no matching video mode * was available. * * The available display modes are scanned, and closest is filled in with the * closest mode matching the requested mode and returned. The mode format and * refresh_rate default to the desktop mode if they are 0. The modes are * scanned with size being first priority, format being second priority, and * finally checking the refresh_rate. If all the available modes are too * small, then nil is returned. * * SDL_GetNumDisplayModes() * SDL_GetDisplayMode() *
SDL_GetColorKey SDL2.Import

** * Gets the color key (transparent pixel) in a blittable surface. * * surface The surface to update * key A pointer filled in with the transparent pixel in the native * surface format * * 0 on success, or -1 if the surface is not valid or colorkey is not * enabled. *
SDL_GetCurrentAudioDriver SDL2.Import

** * This function returns the name of the current audio driver, or NULL * if no driver has been initialized. *
SDL_GetCurrentDisplayMode SDL2.Import

** * Fill in information about the current display mode. *
SDL_GetCurrentVideoDriver SDL2.Import

** * Returns the name of the currently initialized video driver. * * The name of the current video driver or nil if no driver * has been initialized * * SDL_GetNumVideoDrivers() * SDL_GetVideoDriver() *
SDL_GetCursor SDL2.Import

** * Return the active cursor. *
SDL_GetDesktopDisplayMode SDL2.Import

** * Fill in information about the desktop display mode. *
SDL_GetDisplayBounds SDL2.Import

** * Get the desktop area represented by a display, with the primary * display located at 0,0 * * 0 on success, or -1 if the index is out of range. * * SDL_GetNumVideoDisplays() *
SDL_GetDisplayMode SDL2.Import

** * Fill in information about a specific display mode. * * The display modes are sorted in this priority: * bits per pixel -> more colors to fewer colors * width -> largest to smallest * height -> largest to smallest * refresh rate -> highest to lowest * * SDL_GetNumDisplayModes() *
SDL_GetDisplayName SDL2.Import

** * Get the name of a display in UTF-8 encoding * * The name of a display, or nil for an invalid display index. * * SDL_GetNumVideoDisplays() *
SDL_getenv GLS.SDLWindow

function SDL_getenv(const name: PAnsiChar): PAnsiChar; cdecl; external LibName;
SDL_GetError SDL2.Import

SDL_GetEventFilter SDL2.Import

** * Return the current event filter - can be used to "chain" filters. * If there is no event filter set, this function returns SDL_FALSE. *
SDL_GetEventState SDL2.Import

SDL_GetHint SDL2.Import

/** * \brief Get a hint * * \return The string value of a hint variable. */
SDL_GetKeyboardFocus SDL2.Import

** * Get the window which currently has keyboard focus. *
SDL_GetKeyboardState SDL2.Import

** * Get a snapshot of the current state of the keyboard. * * numkeys if non-nil, receives the length of the returned array. * * An array of key states. Indexes into this array are obtained by using SDL_Scancode values. * *
SDL_GetKeyFromName SDL2.Import

** * Get a key code from a human-readable name * * key code, or SDLK_UNKNOWN if the name wasn't recognized * * SDL_Keycode *
SDL_GetKeyFromScancode SDL2.Import

** * Get the key code corresponding to the given scancode according * to the current keyboard layout. * * See SDL_Keycode for details. * * SDL_GetKeyName() *
SDL_GetKeyName SDL2.Import

** * Get a human-readable name for a key. * * A pointer to a UTF-8 string that stays valid at least until the next * call to this function. If you need it around any longer, you must * copy it. If the key doesn't have a name, this function returns an * empty string (""). * * SDL_Key *
SDL_GetModState SDL2.Import

** * Get the current key modifier state for the keyboard. *
SDL_GetMouseFocus SDL2.Import

** * Get the window which currently has mouse focus. *
SDL_GetMouseState SDL2.Import

** * Retrieve the current state of the mouse. * * The current button state is returned as a button bitmask, which can * be tested using the SDL_BUTTON(X) macros, and x and y are set to the * mouse cursor position relative to the focus window for the currently * selected mouse. You can pass nil for either x or y. * * SDL_Button = 1 shl ((X)-1) *
SDL_GetNumAudioDevices SDL2.Import

** * Get the number of available devices exposed by the current driver. * Only valid after a successfully initializing the audio subsystem. * Returns -1 if an explicit list of devices can't be determined; this is * not an error. For example, if SDL is set up to talk to a remote audio * server, it can't list every one available on the Internet, but it will * still allow a specific host to be specified to SDL_OpenAudioDevice(). * * In many common cases, when this function returns a value <= 0, it can still * successfully open the default device (NULL for first argument of * SDL_OpenAudioDevice()). *
SDL_GetNumAudioDrivers SDL2.Import

** * Driver discovery functions * * These functions return the list of built in audio drivers, in the * order that they are normally initialized by default. *
SDL_GetNumDisplayModes SDL2.Import

** * Returns the number of available display modes. * * SDL_GetDisplayMode() *
SDL_GetNumRenderDrivers SDL2.Import

** * Get the number of 2D rendering drivers available for the current * display. * * A render driver is a set of code that handles rendering and texture * management on a particular display. Normally there is only one, but * some drivers may have several available with different capabilities. * * SDL_GetRenderDriverInfo() * SDL_CreateRenderer() *
SDL_GetNumTouchDevices SDL2.Import

** * Get the number of registered touch devices. *
SDL_GetNumTouchFingers SDL2.Import

** * Get the number of active fingers for a given touch device. *
SDL_GetNumVideoDisplays SDL2.Import

** * Returns the number of available video displays. * * SDL_GetDisplayBounds() *
SDL_GetNumVideoDrivers SDL2.Import

** * Get the number of video drivers compiled into SDL * * SDL_GetVideoDriver() *
SDL_GetPerformanceCounter SDL2.Import

** * Get the current value of the high resolution counter *
SDL_GetPerformanceFrequency SDL2.Import

** * Get the count per second of the high resolution counter *
SDL_GetPixelFormatName SDL2.Import

** * Get the human readable name of a pixel format *
SDL_GetPlatform SDL2.Import

** * Gets the name of the platform. *
SDL_GetPowerInfo SDL2.Import

** * Get the current power supply details. * * secs Seconds of battery life left. You can pass a NULL here if * you don't care. Will return -1 if we can't determine a * value, or we're not running on a battery. * * pct Percentage of battery life left, between 0 and 100. You can * pass a NULL here if you don't care. Will return -1 if we * can't determine a value, or we're not running on a battery. * * The state of the battery (if any). *
SDL_GetRelativeMouseMode SDL2.Import

** * Query whether relative mouse mode is enabled. * * SDL_SetRelativeMouseMode() *
SDL_GetRelativeMouseState SDL2.Import

** * Retrieve the relative state of the mouse. * * The current button state is returned as a button bitmask, which can * be tested using the SDL_BUTTON(X) macros, and x and y are set to the * mouse deltas since the last call to SDL_GetRelativeMouseState(). *
SDL_GetRenderDrawBlendMode SDL2.Import

** * Get the blend mode used for drawing operations. * * renderer The renderer from which blend mode should be queried. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 on error * * SDL_SetRenderDrawBlendMode() *
SDL_GetRenderDrawColor SDL2.Import

** * Get the color used for drawing operations (Rect, Line and Clear). * * renderer The renderer from which drawing color should be queried. * r A pointer to the red value used to draw on the rendering target. * g A pointer to the green value used to draw on the rendering target. * b A pointer to the blue value used to draw on the rendering target. * a A pointer to the alpha value used to draw on the rendering target, * usually SDL_ALPHA_OPAQUE (255). * * 0 on success, or -1 on error *
SDL_GetRenderDriverInfo SDL2.Import

** * Get information about a specific 2D rendering driver for the current * display. * * index The index of the driver to query information about. * info A pointer to an SDL_RendererInfo struct to be filled with * information on the rendering driver. * * 0 on success, -1 if the index was out of range. * * SDL_CreateRenderer() *
SDL_GetRenderer SDL2.Import

** * Get the renderer associated with a window. *
SDL_GetRendererInfo SDL2.Import

** * Get information about a rendering context. *
SDL_GetRendererOutputSize SDL2.Import

** * Get the output size of a rendering context. *
SDL_GetRenderTarget SDL2.Import

** * Get the current render target or NULL for the default render target. * * The current render target * * SDL_SetRenderTarget() *
SDL_GetRevision SDL2.Import

** * Get the code revision of SDL that is linked against your program. * * Returns an arbitrary string (a hash value) uniquely identifying the * exact revision of the SDL library in use, and is only useful in comparing * against other revisions. It is NOT an incrementing number. *
SDL_GetRevisionNumber SDL2.Import

** * Get the revision number of SDL that is linked against your program. * * Returns a number uniquely identifying the exact revision of the SDL * library in use. It is an incrementing number based on commits to * hg.libsdl.org. *
SDL_GetRGB SDL2.Import

** * Get the RGB components from a pixel of the specified format. * * SDL_GetRGBA *
SDL_GetRGBA SDL2.Import

** * Get the RGBA components from a pixel of the specified format. * * SDL_GetRGB *
SDL_GetScancodeFromKey SDL2.Import

** * Get the scancode corresponding to the given key code according to the * current keyboard layout. * * See SDL_Scancode for details. * * SDL_GetScancodeName() *
SDL_GetScancodeFromName SDL2.Import

** * Get a scancode from a human-readable name * * scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized * * SDL_Scancode *
SDL_GetScancodeName SDL2.Import

** * Get a human-readable name for a scancode. * * A pointer to the name for the scancode. * * If the scancode doesn't have a name, this function returns * an empty string (""). * *
SDL_GetShapedWindowMode SDL2.Import

** * Get the shape parameters of a shaped window. * * window The shaped window whose parameters should be retrieved. * shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape. * * 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode * data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if * the SDL_Window* given is a shapeable window currently lacking a shape. * * SDL_WindowShapeMode * SDL_SetWindowShape *
SDL_GetSurfaceAlphaMod SDL2.Import

** * Get the additional alpha value used in blit operations. * * surface The surface to query. * alpha A pointer filled in with the current alpha value. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceAlphaMod() *
SDL_GetSurfaceBlendMode SDL2.Import

** * Get the blend mode used for blit operations. * * surface The surface to query. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceBlendMode() *
SDL_GetSurfaceColorMod SDL2.Import

** * Get the additional color value used in blit operations. * * surface The surface to query. * r A pointer filled in with the current red color value. * g A pointer filled in with the current green color value. * b A pointer filled in with the current blue color value. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceColorMod() *
SDL_GetTextureAlphaMod SDL2.Import

** * Get the additional alpha value used in render copy operations. * * texture The texture to query. * alpha A pointer filled in with the current alpha value. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureAlphaMod() *
SDL_GetTextureBlendMode SDL2.Import

** * Get the blend mode used for texture copy operations. * * texture The texture to query. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureBlendMode() *
SDL_GetTextureColorMod SDL2.Import

** * Get the additional color value used in render copy operations. * * texture The texture to query. * r A pointer filled in with the current red color value. * g A pointer filled in with the current green color value. * b A pointer filled in with the current blue color value. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureColorMod() *
SDL_GetThreadID SDL2.Import

** * Get the thread identifier for the specified thread. * * Equivalent to SDL_ThreadID() if the specified thread is NULL. *
SDL_GetThreadName SDL2.Import

** * Get the thread name, as it was specified in SDL_CreateThread(). * This function returns a pointer to a UTF-8 string that names the * specified thread, or NULL if it doesn't have a name. This is internal * memory, not to be free()'d by the caller, and remains valid until the * specified thread is cleaned up by SDL_WaitThread(). *
SDL_GetTicks SDL2.Import

** * Get the number of milliseconds since the SDL library initialization. * * This value wraps if the program runs for more than ˜49 days. *
SDL_GetTouchDevice SDL2.Import

** * Get the touch ID with the given index, or 0 if the index is invalid. *
SDL_GetTouchFinger SDL2.Import

** * Get the finger object of the given touch, with the given index. *
SDL_GetVersion SDL2.Import

** * Get the version of SDL that is linked against your program. * * If you are linking to SDL dynamically, then it is possible that the * current version will be different than the version you compiled against. * This function returns the current version, while SDL_VERSION() is a * macro that tells you what version you compiled with. * * * compiled: TSDL_Version; * linked: TSDL_Version; * * SDL_VERSION(@compiled); * SDL_GetVersion(@linked); * WriteLn('We compiled against SDL version: ' + * IntToStr(compiled.major) + * IntToStr(compiled.minor) + * IntToStr(compiled.patch)); * WriteLn('But we linked against SDL version:' + * IntToStr(compiled.major) + * IntToStr(compiled.minor) + * IntToStr(compiled.patch)); * * * This function may be called safely at any time, even before SDL_Init(). * * SDL_VERSION *
SDL_GetVideoDriver SDL2.Import

** * Get the name of a built in video driver. * * The video drivers are presented in the order in which they are * normally checked during initialization. * * SDL_GetNumVideoDrivers() *
SDL_GetWindowBrightness SDL2.Import

** * Get the brightness (gamma correction) for a window. * * The last brightness value passed to SDL_SetWindowBrightness() * * SDL_SetWindowBrightness() *
SDL_GetWindowData SDL2.Import

** * Retrieve the data pointer associated with a window. * * window The window to query. * name The name of the pointer. * * The value associated with 'name' * * SDL_SetWindowData() *
SDL_GetWindowDisplayIndex SDL2.Import

** * Get the display index associated with a window. * * the display index of the display containing the center of the * window, or -1 on error. *
SDL_GetWindowDisplayMode SDL2.Import

** * Fill in information about the display mode used when a fullscreen * window is visible. * * SDL_SetWindowDisplayMode() * SDL_SetWindowFullscreen() *
SDL_GetWindowFlags SDL2.Import

** * Get the window flags. *
SDL_GetWindowFromID SDL2.Import

** * Get a window from a stored ID, or nil if it doesn't exist. *
SDL_GetWindowGammaRamp SDL2.Import

** * Get the gamma ramp for a window. * * red A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the red channel, or nil. * green A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the green channel, or nil. * blue A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the blue channel, or nil. * * 0 on success, or -1 if gamma ramps are unsupported. * * SDL_SetWindowGammaRamp() *
SDL_GetWindowGrab SDL2.Import

** * Get a window's input grab mode. * * This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise. * * SDL_SetWindowGrab() *
SDL_GetWindowID SDL2.Import

** * Get the numeric ID of a window, for logging purposes. *
SDL_GetWindowMaximumSize SDL2.Import

** * Get the maximum size of a window's client area. * * w Pointer to variable for storing the maximum width, may be nil * h Pointer to variable for storing the maximum height, may be nil * * SDL_GetWindowMinimumSize() * SDL_SetWindowMaximumSize() *
SDL_GetWindowMinimumSize SDL2.Import

** * Get the minimum size of a window's client area. * * w Pointer to variable for storing the minimum width, may be nil * h Pointer to variable for storing the minimum height, may be nil * * SDL_GetWindowMaximumSize() * SDL_SetWindowMinimumSize() *
SDL_GetWindowPixelFormat SDL2.Import

** * Get the pixel format associated with the window. *
SDL_GetWindowPosition SDL2.Import

** * Get the position of a window. * * x Pointer to variable for storing the x position, may be nil * y Pointer to variable for storing the y position, may be nil * * SDL_SetWindowPosition() *
SDL_GetWindowSize SDL2.Import

** * Get the size of a window's client area. * * w Pointer to variable for storing the width, may be nil * h Pointer to variable for storing the height, may be nil * * SDL_SetWindowSize() *
SDL_GetWindowSurface SDL2.Import

** * Get the SDL surface associated with the window. * * The window's framebuffer surface, or nil on error. * * A new surface will be created with the optimal format for the window, * if necessary. This surface will be freed when the window is destroyed. * * You may not combine this with 3D or the rendering API on this window. * * SDL_UpdateWindowSurface() * SDL_UpdateWindowSurfaceRects() *
SDL_GetWindowTitle SDL2.Import

** * Get the title of a window, in UTF-8 format. * * SDL_SetWindowTitle() *
SDL_GL_BindTexture SDL2.Import

** * Bind the texture to the current OpenGL/ES/ES2 context for use with * OpenGL instructions. * * texture The SDL texture to bind * texw A pointer to a float that will be filled with the texture width * texh A pointer to a float that will be filled with the texture height * * 0 on success, or -1 if the operation is not supported *
SDL_GL_CreateContext SDL2.Import

** * Create an OpenGL context for use with an OpenGL window, and make it * current. * * SDL_GL_DeleteContext() *
SDL_GL_DeleteContext SDL2.Import

** * Delete an OpenGL context. * * SDL_GL_CreateContext() *
SDL_GL_ExtensionSupported SDL2.Import

** * Return true if an OpenGL extension is supported for the current * context. *
SDL_GL_GetAttribute SDL2.Import

** * Get the actual value for an attribute from the current context. *
SDL_GL_GetCurrentContext SDL2.Import

** * Get the currently active OpenGL context. *
SDL_GL_GetCurrentWindow SDL2.Import

** * Get the currently active OpenGL window. *
SDL_GL_GetProcAddress SDL2.Import

** * Get the address of an OpenGL function. *
SDL_GL_GetSwapInterval SDL2.Import

** * Get the swap interval for the current OpenGL context. * * 0 if there is no vertical retrace synchronization, 1 if the buffer * swap is synchronized with the vertical retrace, and -1 if late * swaps happen immediately instead of waiting for the next retrace. * If the system can't determine the swap interval, or there isn't a * valid current context, this will return 0 as a safe default. * * SDL_GL_SetSwapInterval() *
SDL_GL_LoadLibrary SDL2.Import

** * Dynamically load an OpenGL library. * * path The platform dependent OpenGL library name, or nil to open the * default OpenGL library. * * 0 on success, or -1 if the library couldn't be loaded. * * This should be done after initializing the video driver, but before * creating any OpenGL windows. If no OpenGL library is loaded, the default * library will be loaded upon creation of the first OpenGL window. * * If you do this, you need to retrieve all of the GL functions used in * your program from the dynamic library using SDL_GL_GetProcAddress(). * * SDL_GL_GetProcAddress() * SDL_GL_UnloadLibrary() *
SDL_GL_MakeCurrent SDL2.Import

** * Set up an OpenGL context for rendering into an OpenGL window. * * The context must have been created with a compatible window. *
SDL_GL_SetAttribute SDL2.Import

** * Set an OpenGL window attribute before window creation. *
SDL_GL_SetSwapInterval SDL2.Import

** * Set the swap interval for the current OpenGL context. * * interval 0 for immediate updates, 1 for updates synchronized with the * vertical retrace. If the system supports it, you may * specify -1 to allow late swaps to happen immediately * instead of waiting for the next retrace. * * 0 on success, or -1 if setting the swap interval is not supported. * * SDL_GL_GetSwapInterval() *
SDL_GL_SwapWindow SDL2.Import

** * Swap the OpenGL buffers for a window, if double-buffering is * supported. *
SDL_GL_UnbindTexture SDL2.Import

** * Unbind a texture from the current OpenGL/ES/ES2 context. * * texture The SDL texture to unbind * * 0 on success, or -1 if the operation is not supported *
SDL_GL_UnloadLibrary SDL2.Import

** * Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary(). * * SDL_GL_LoadLibrary() *
SDL_HapticClose SDL2.Import

** * Closes a Haptic device previously opened with SDL_HapticOpen(). * * haptic Haptic device to close. *
SDL_HapticDestroyEffect SDL2.Import

** * Destroys a haptic effect on the device. * * This will stop the effect if it's running. Effects are automatically * destroyed when the device is closed. * * haptic Device to destroy the effect on. * effect Identifier of the effect to destroy. * * SDL_HapticNewEffect *
SDL_HapticEffectSupported SDL2.Import

** * Checks to see if effect is supported by haptic. * * haptic Haptic device to check on. * effect Effect to check to see if it is supported. * SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. * * SDL_HapticQuery * SDL_HapticNewEffect *
SDL_HapticGetEffectStatus SDL2.Import

** * Gets the status of the current effect on the haptic device. * * Device must support the ::SDL_HAPTIC_STATUS feature. * * haptic Haptic device to query the effect status on. * effect Identifier of the effect to query its status. * 0 if it isn't playing, 1 if it is playing or -1 on error. * * SDL_HapticRunEffect * SDL_HapticStopEffect *
SDL_HapticIndex SDL2.Import

** * Gets the index of a haptic device. * * haptic Haptic device to get the index of. * The index of the haptic device or -1 on error. * * SDL_HapticOpen * SDL_HapticOpened *
SDL_HapticName SDL2.Import

** * Get the implementation dependent name of a Haptic device. * * This can be called before any joysticks are opened. * If no name can be found, this function returns NULL. * * device_index Index of the device to get its name. * Name of the device or NULL on error. * * SDL_NumHaptics *
SDL_HapticNewEffect SDL2.Import

** * Creates a new haptic effect on the device. * * haptic Haptic device to create the effect on. * effect Properties of the effect to create. * The id of the effect on success or -1 on error. * * SDL_HapticUpdateEffect * SDL_HapticRunEffect * SDL_HapticDestroyEffect *
SDL_HapticNumAxes SDL2.Import

** * Gets the number of haptic axes the device has. * * SDL_HapticDirection *
SDL_HapticNumEffects SDL2.Import

** * Returns the number of effects a haptic device can store. * * On some platforms this isn't fully supported, and therefore is an * approximation. Always check to see if your created effect was actually * created and do not rely solely on SDL_HapticNumEffects(). * * haptic The haptic device to query effect max. * The number of effects the haptic device can store or * -1 on error. * * SDL_HapticNumEffectsPlaying * SDL_HapticQuery *
SDL_HapticNumEffectsPlaying SDL2.Import

** * Returns the number of effects a haptic device can play at the same * time. * * This is not supported on all platforms, but will always return a value. * Added here for the sake of completeness. * * haptic The haptic device to query maximum playing effects. * The number of effects the haptic device can play at the same time * or -1 on error. * * SDL_HapticNumEffects * SDL_HapticQuery *
SDL_HapticOpen SDL2.Import

** * Opens a Haptic device for usage. * * The index passed as an argument refers to the N'th Haptic device on this * system. * * When opening a haptic device, its gain will be set to maximum and * autocenter will be disabled. To modify these values use * SDL_HapticSetGain() and SDL_HapticSetAutocenter(). * * device_index Index of the device to open. * Device identifier or NULL on error. * * SDL_HapticIndex * SDL_HapticOpenFromMouse * SDL_HapticOpenFromJoystick * SDL_HapticClose * SDL_HapticSetGain * SDL_HapticSetAutocenter * SDL_HapticPause * SDL_HapticStopAll *
SDL_HapticOpened SDL2.Import

** * Checks if the haptic device at index has been opened. * * device_index Index to check to see if it has been opened. * 1 if it has been opened or 0 if it hasn't. * * SDL_HapticOpen * SDL_HapticIndex *
SDL_HapticOpenFromJoystick SDL2.Import

** * Opens a Haptic device for usage from a Joystick device. * * You must still close the haptic device seperately. It will not be closed * with the joystick. * * When opening from a joystick you should first close the haptic device before * closing the joystick device. If not, on some implementations the haptic * device will also get unallocated and you'll be unable to use force feedback * on that device. * * joystick Joystick to create a haptic device from. * A valid haptic device identifier on success or NULL on error. * * SDL_HapticOpen * SDL_HapticClose *
SDL_HapticOpenFromMouse SDL2.Import

** * Tries to open a haptic device from the current mouse. * * The haptic device identifier or NULL on error. * * SDL_MouseIsHaptic * SDL_HapticOpen *
SDL_HapticPause SDL2.Import

** * Pauses a haptic device. * * Device must support the SDL_HAPTIC_PAUSE feature. Call * SDL_HapticUnpause() to resume playback. * * Do not modify the effects nor add new ones while the device is paused. * That can cause all sorts of weird errors. * * haptic Haptic device to pause. * 0 on success or -1 on error. * * SDL_HapticUnpause *
SDL_HapticQuery SDL2.Import

** * Gets the haptic devices supported features in bitwise matter. * * Example: * * if (SDL_HapticQueryEffects(haptic) & SDL_HAPTIC_CONSTANT) * printf("We have constant haptic effect!"); * * * * haptic The haptic device to query. * Haptic features in bitwise manner (OR'd). * * SDL_HapticNumEffects * SDL_HapticEffectSupported *
SDL_HapticRumbleInit SDL2.Import

** * Initializes the haptic device for simple rumble playback. * * haptic Haptic device to initialize for simple rumble playback. * 0 on success or -1 on error. * * SDL_HapticOpen * SDL_HapticRumbleSupported * SDL_HapticRumblePlay * SDL_HapticRumbleStop *
SDL_HapticRumblePlay SDL2.Import

** * Runs simple rumble on a haptic device * * haptic Haptic device to play rumble effect on. * strength Strength of the rumble to play as a 0-1 float value. * length Length of the rumble to play in milliseconds. * 0 on success or -1 on error. * * SDL_HapticRumbleSupported * SDL_HapticRumbleInit * SDL_HapticRumbleStop *
SDL_HapticRumbleStop SDL2.Import

** * Stops the simple rumble on a haptic device. * * haptic Haptic to stop the rumble on. * 0 on success or -1 on error. * * SDL_HapticRumbleSupported * SDL_HapticRumbleInit * SDL_HapticRumblePlay *
SDL_HapticRumbleSupported SDL2.Import

** * Checks to see if rumble is supported on a haptic device.. * * haptic Haptic device to check to see if it supports rumble. * SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. * * SDL_HapticRumbleInit * SDL_HapticRumblePlay * SDL_HapticRumbleStop *
SDL_HapticRunEffect SDL2.Import

** * Runs the haptic effect on its associated haptic device. * * If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over * repeating the envelope (attack and fade) every time. If you only want the * effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length * parameter. * * haptic Haptic device to run the effect on. * effect Identifier of the haptic effect to run. * iterations Number of iterations to run the effect. Use * SDL_HAPTIC_INFINITY for infinity. * 0 on success or -1 on error. * * SDL_HapticStopEffect * SDL_HapticDestroyEffect * SDL_HapticGetEffectStatus *
SDL_HapticSetAutocenter SDL2.Import

** * Sets the global autocenter of the device. * * Autocenter should be between 0 and 100. Setting it to 0 will disable * autocentering. * * Device must support the ::SDL_HAPTIC_AUTOCENTER feature. * * haptic Haptic device to set autocentering on. * autocenter Value to set autocenter to, 0 disables autocentering. * 0 on success or -1 on error. * * SDL_HapticQuery *
SDL_HapticSetGain SDL2.Import

** * Sets the global gain of the device. * * Device must support the SDL_HAPTIC_GAIN feature. * * The user may specify the maximum gain by setting the environment variable * SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to * SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the * maximum. * * haptic Haptic device to set the gain on. * gain Value to set the gain to, should be between 0 and 100. * 0 on success or -1 on error. * * SDL_HapticQuery *
SDL_HapticStopAll SDL2.Import

** * Stops all the currently playing effects on a haptic device. * * haptic Haptic device to stop. * 0 on success or -1 on error. *
SDL_HapticStopEffect SDL2.Import

** * Stops the haptic effect on its associated haptic device. * * haptic Haptic device to stop the effect on. * effect Identifier of the effect to stop. * 0 on success or -1 on error. * * SDL_HapticRunEffect * SDL_HapticDestroyEffect *
SDL_HapticUnpause SDL2.Import

** * Unpauses a haptic device. * * Call to unpause after SDL_HapticPause(). * * haptic Haptic device to pause. * 0 on success or -1 on error. * * SDL_HapticPause *
SDL_HapticUpdateEffect SDL2.Import

** * Updates the properties of an effect. * * Can be used dynamically, although behaviour when dynamically changing * direction may be strange. Specifically the effect may reupload itself * and start playing from the start. You cannot change the type either when * running SDL_HapticUpdateEffect(). * * haptic Haptic device that has the effect. * effect Effect to update. * data New effect properties to use. * The id of the effect on success or -1 on error. * * SDL_HapticNewEffect * SDL_HapticRunEffect * SDL_HapticDestroyEffect *
SDL_HasEvent SDL2.Import

** * Checks to see if certain event types are in the event queue. *
SDL_HasEvents SDL2.Import

SDL_HasIntersection SDL2.Import

** * Determine whether two rectangles intersect. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *
SDL_HasScreenKeyboardSupport SDL2.Import

** * Returns whether the platform has some screen keyboard support. * * SDL_TRUE if some keyboard support is available else SDL_FALSE. * * Not all screen keyboard functions are supported on all platforms. * * SDL_IsScreenKeyboardShown() *
SDL_HideWindow SDL2.Import

** * Hide a window. * * SDL_ShowWindow() *
SDL_IMAGE_VERSION SDL2.Image

* This macro can be used to fill a version structure with the compile-time * version of the SDL_image library. *
SDL_Init SDL2.Import

** * This function initializes the subsystems specified by flags * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup * signal handlers for some commonly ignored fatal signals (like SIGSEGV). *
SDL_InitSubSystem SDL2.Import

** * This function initializes specific SDL subsystems *
SDL_IntersectRect SDL2.Import

** * Calculate the intersection of two rectangles. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *
SDL_IntersectRectAndLine SDL2.Import

** * Calculate the intersection of a rectangle and line segment. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *
SDL_IsGameController SDL2.Import

** * Is the joystick on this index supported by the game controller interface? *
SDL_IsScreenKeyboardShown SDL2.Import

** * Returns whether the screen keyboard is shown for given window. * * window The window for which screen keyboard should be queried. * * Result - SDL_TRUE if screen keyboard is shown else SDL_FALSE. * * SDL_HasScreenKeyboardSupport() *
SDL_IsScreenSaverEnabled SDL2.Import

** * Returns whether the screensaver is currently enabled (default on). * * SDL_EnableScreenSaver() * SDL_DisableScreenSaver() *
SDL_IsShapedWindow SDL2.Import

** * Return whether the given window is a shaped window. * * window The window to query for being shaped. * * SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL. * SDL_CreateShapedWindow *
SDL_IsTextInputActive SDL2.Import

** * Return whether or not Unicode text input events are enabled. * * SDL_StartTextInput() * SDL_StopTextInput() *
SDL_JoystickClose SDL2.Import

** * Close a joystick previously opened with SDL_JoystickOpen(). *
SDL_JoystickEventState SDL2.Import

** * Enable/disable joystick event polling. * * If joystick events are disabled, you must call SDL_JoystickUpdate() * yourself and check the state of the joystick when you want joystick * information. * * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. *
SDL_JoystickGetAttached SDL2.Import

** * Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. *
SDL_JoystickGetAxis SDL2.Import

** * Get the current state of an axis control on a joystick. * * The state is a value ranging from -32768 to 32767. * * The axis indices start at index 0. *
SDL_JoystickGetBall SDL2.Import

** * Get the ball axis change since the last poll. * * 0, or -1 if you passed it invalid parameters. * * The ball indices start at index 0. *
SDL_JoystickGetButton SDL2.Import

** * Get the current state of a button on a joystick. * * The button indices start at index 0. *
SDL_JoystickGetDeviceGUID SDL2.Import

** * Return the GUID for the joystick at this index *
SDL_JoystickGetGUID SDL2.Import

** * Return the GUID for this opened joystick *
SDL_JoystickGetGUIDFromString SDL2.Import

** * convert a string into a joystick formatted guid *
SDL_JoystickGetGUIDString SDL2.Import

** * Return a string representation for this guid. pszGUID must point to at least 33 bytes * (32 for the string plus a NULL terminator). *
SDL_JoystickGetHat SDL2.Import

** * Get the current state of a POV hat on a joystick. * * The hat indices start at index 0. * * The return value is one of the following positions: * - SDL_HAT_CENTERED * - SDL_HAT_UP * - SDL_HAT_RIGHT * - SDL_HAT_DOWN * - SDL_HAT_LEFT * - SDL_HAT_RIGHTUP * - SDL_HAT_RIGHTDOWN * - SDL_HAT_LEFTUP * - SDL_HAT_LEFTDOWN *
SDL_JoystickInstanceID SDL2.Import

** * Get the instance ID of an opened joystick or -1 if the joystick is invalid. *
SDL_JoystickIsHaptic SDL2.Import

** * Checks to see if a joystick has haptic features. * * joystick Joystick to test for haptic capabilities. * 1 if the joystick is haptic, 0 if it isn't * or -1 if an error ocurred. * * SDL_HapticOpenFromJoystick *
SDL_JoystickName SDL2.Import

** * Return the name for this currently opened joystick. * If no name can be found, this function returns NULL. *
SDL_JoystickNameForIndex SDL2.Import

** * Get the implementation dependent name of a joystick. * This can be called before any joysticks are opened. * If no name can be found, this function returns NULL. *
SDL_JoystickNumAxes SDL2.Import

** * Get the number of general axis controls on a joystick. *
SDL_JoystickNumBalls SDL2.Import

** * Get the number of trackballs on a joystick. * * Joystick trackballs have only relative motion events associated * with them and their state cannot be polled. *
SDL_JoystickNumButtons SDL2.Import

** * Get the number of buttons on a joystick. *
SDL_JoystickNumHats SDL2.Import

** * Get the number of POV hats on a joystick. *
SDL_JoystickOpen SDL2.Import

** * Open a joystick for use. * The index passed as an argument refers tothe N'th joystick on the system. * This index is the value which will identify this joystick in future joystick * events. * * A joystick identifier, or NULL if an error occurred. *
SDL_JoystickUpdate SDL2.Import

** * Update the current state of the open joysticks. * * This is called automatically by the event loop if any joystick * events are enabled. *
SDL_LoadBMP SDL2.Import

** * Load a surface from a file. * * Convenience macro. *
SDL_LoadBMP_RW SDL2.Import

** * Load a surface from a seekable SDL data stream (memory or file). * * If freesrc is non-zero, the stream will be closed after being read. * * The new surface should be freed with SDL_FreeSurface(). * * the new surface, or NULL if there was an error. *
SDL_LoadDollarTemplates SDL2.Import

** * Load Dollar Gesture templates from a file * * *
SDL_LoadFunction SDL2.Import

** * Given an object handle, this function looks up the address of the * named function in the shared object and returns it. This address * is no longer valid after calling SDL_UnloadObject(). *
SDL_LoadObject SDL2.Import

** * This function dynamically loads a shared object and returns a pointer * to the object handle (or NULL if there was an error). * The 'sofile' parameter is a system dependent name of the object file. *
SDL_LoadWAV SDL2.Import

** * Loads a WAV from a file. * Compatibility convenience function. *
SDL_LoadWAV_RW SDL2.Import

** * This function loads a WAVE from the data source, automatically freeing * that source if freesrc is non-zero. For example, to load a WAVE file, * you could do: * * SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); * * * If this function succeeds, it returns the given SDL_AudioSpec, * filled with the audio data format of the wave data, and sets * *audio_buf to a malloc()'d buffer containing the audio data, * and sets *audio_len to the length of that audio buffer, in bytes. * You need to free the audio buffer with SDL_FreeWAV() when you are * done with it. * * This function returns NULL and sets the SDL error message if the * wave file cannot be opened, uses an unknown data format, or is * corrupt. Currently raw and MS-ADPCM WAVE files are supported. *
SDL_LockAudio SDL2.Import

** * Audio lock functions * * The lock manipulated by these functions protects the callback function. * During a SDL_LockAudio()/SDL_UnlockAudio() pair, you can be guaranteed that * the callback function is not running. Do not call these from the callback * function or you will cause deadlock. *
SDL_LockAudioDevice SDL2.Import

SDL_LockMutex SDL2.Import

#define SDL_mutexP(m) SDL_LockMutex(m)
SDL_LockSurface SDL2.Import

** * Sets up a surface for directly accessing the pixels. * * Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write * to and read from surface.pixels, using the pixel format stored in * surface.format. Once you are done accessing the surface, you should * use SDL_UnlockSurface() to release it. * * Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates * to 0, then you can read and write to the surface at any time, and the * pixel format of the surface will not change. * * No operating system or library calls should be made between lock/unlock * pairs, as critical system locks may be held during this time. * * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. * * SDL_UnlockSurface() *
SDL_LockTexture SDL2.Import

** * Lock a portion of the texture for write-only pixel access. * * texture The texture to lock for access, which was created with * SDL_TEXTUREACCESS_STREAMING. * rect A pointer to the rectangle to lock for access. If the rect * is NULL, the entire texture will be locked. * pixels This is filled in with a pointer to the locked pixels, * appropriately offset by the locked area. * pitch This is filled in with the pitch of the locked pixels. * * 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING. * * SDL_UnlockTexture() *
SDL_LowerBlit SDL2.Import

** * This is a semi-private blit function and it performs low-level surface * blitting only. *
SDL_LowerBlitScaled SDL2.Import

** * This is a semi-private blit function and it performs low-level surface * scaled blitting only. *
SDL_MapRGB SDL2.Import

** * Maps an RGB triple to an opaque pixel value for a given pixel format. * * SDL_MapRGBA *
SDL_MapRGBA SDL2.Import

** * Maps an RGBA quadruple to a pixel value for a given pixel format. * * SDL_MapRGB *
SDL_MasksToPixelFormatEnum SDL2.Import

** * Convert a bpp and RGBA masks to an enumerated pixel format. * * The pixel format, or SDL_PIXELFORMAT_UNKNOWN if the conversion * wasn't possible. * * SDL_PixelFormatEnumToMasks() *
SDL_MaximizeWindow SDL2.Import

** * Make a window as large as possible. * * SDL_RestoreWindow() *
SDL_MinimizeWindow SDL2.Import

** * Minimize a window to an iconic representation. * * SDL_RestoreWindow() *
SDL_MixAudio SDL2.Import

** * This takes two audio buffers of the playing audio format and mixes * them, performing addition, volume adjustment, and overflow clipping. * The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME * for full audio volume. Note this does not change hardware volume. * This is provided for convenience – you can mix your own audio data. *
SDL_MixAudioFormat SDL2.Import

** * This works like SDL_MixAudio(), but you specify the audio format instead of * using the format of audio device 1. Thus it can be used when no audio * device is open at all. *
SDL_MIXER_VERSION SDL2.Mixer

* This macro can be used to fill a version structure with the compile-time * version of the SDL_mixer library. *
SDL_MouseIsHaptic SDL2.Import

** * Gets whether or not the current mouse has haptic capabilities. * * SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't. * * SDL_HapticOpenFromMouse *
SDL_NET_VERSION SDL2.Net

This macro can be used to fill a version structure with the compile-time version of the SDL_net library.
SDL_NumHaptics SDL2.Import

** * Count the number of haptic devices attached to the system. * * Number of haptic devices detected on the system. *
SDL_NumJoysticks SDL2.Import

** * Count the number of joysticks attached to the system right now *
SDL_OpenAudio SDL2.Import

** * This function opens the audio device with the desired parameters, and * returns 0 if successful, placing the actual hardware parameters in the * structure pointed to by obtained. If obtained is NULL, the audio * data passed to the callback function will be guaranteed to be in the * requested format, and will be automatically converted to the hardware * audio format if necessary. This function returns -1 if it failed * to open the audio device, or couldn't set up the audio thread. * * When filling in the desired audio spec structure, * - desired->freq should be the desired audio frequency in samples-per- * second. * - desired->format should be the desired audio format. * - desired->samples is the desired size of the audio buffer, in * samples. This number should be a power of two, and may be adjusted by * the audio driver to a value more suitable for the hardware. Good values * seem to range between 512 and 8096 inclusive, depending on the * application and CPU speed. Smaller values yield faster response time, * but can lead to underflow if the application is doing heavy processing * and cannot fill the audio buffer in time. A stereo sample consists of * both right and left channels in LR ordering. * Note that the number of samples is directly related to time by the * following formula: ms := (samples*1000)/freq; * - desired->size is the size in bytes of the audio buffer, and is * calculated by SDL_OpenAudio(). * - desired->silence is the value used to set the buffer to silence, * and is calculated by SDL_OpenAudio(). * - desired->callback should be set to a function that will be called * when the audio device is ready for more data. It is passed a pointer * to the audio buffer, and the length in bytes of the audio buffer. * This function usually runs in a separate thread, and so you should * protect data structures that it accesses by calling SDL_LockAudio() * and SDL_UnlockAudio() in your code. * - desired->userdata is passed as the first parameter to your callback * function. * * The audio device starts out playing silence when it's opened, and should * be enabled for playing by calling SDL_PauseAudio(0) when you are ready * for your audio callback function to be called. Since the audio driver * may modify the requested size of the audio buffer, you should allocate * any local mixing buffers after you open the audio device. *
SDL_OpenAudioDevice SDL2.Import

** * Open a specific audio device. Passing in a device name of NULL requests * the most reasonable default (and is equivalent to calling SDL_OpenAudio()). * * The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but * some drivers allow arbitrary and driver-specific strings, such as a * hostname/IP address for a remote audio server, or a filename in the * diskaudio driver. * * 0 on error, a valid device ID that is >= 2 on success. * * SDL_OpenAudio(), unlike this function, always acts on device ID 1. *
SDL_PauseAudio SDL2.Import

** * Pause audio functions * * These functions pause and unpause the audio callback processing. * They should be called with a parameter of 0 after opening the audio * device to start playing sound. This is so you can safely initialize * data for your callback function after opening the audio device. * Silence will be written to the audio device during the pause. *
SDL_PauseAudioDevice SDL2.Import

SDL_PeepEvents SDL2.Import

** * Checks the event queue for messages and optionally returns them. * * If action is SDL_ADDEVENT, up to numevents events will be added to * the back of the event queue. * * If action is SDL_PEEKEVENT, up to numevents events at the front * of the event queue, within the specified minimum and maximum type, * will be returned and will not be removed from the queue. * * If action is SDL_GETEVENT, up to numevents events at the front * of the event queue, within the specified minimum and maximum type, * will be returned and will be removed from the queue. * * Result: The number of events actually stored, or -1 if there was an error. * * This function is thread-safe. *
SDL_PIXELFLAG SDL2.Import

//todo!! function SDL_DEFINE_PIXELFORMAT(type, order, layour, bit, bytes: UInt32): Result;

function SDL_DEFINE_PIXELFOURCC(A,B,C,D: Variant): Variant;

#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \ ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \ ((bits) << 8) | ((bytes) << 0))
SDL_PixelFormatEnumToMasks SDL2.Import

** * Convert one of the enumerated pixel formats to a bpp and RGBA masks. * * SDL_TRUE, or SDL_FALSE if the conversion wasn't possible. * * SDL_MasksToPixelFormatEnum() *
SDL_PIXELLAYOUT SDL2.Import

SDL_PIXELORDER SDL2.Import

SDL_PIXELTYPE SDL2.Import

SDL_PollEvent SDL2.Import

** * Polls for currently pending events. * * 1 if there are any pending events, or 0 if there are none available. * * event - If not nil, the next event is removed from the queue and * stored in that area. *
SDL_PumpEvents SDL2.Import

** * Pumps the event loop, gathering events from the input devices. * * This function updates the event queue and internal input device state. * * This should only be run in the thread that sets the video mode. *
SDL_PushEvent SDL2.Import

** * Add an event to the event queue. * * 1 on success, 0 if the event was filtered, or -1 if the event queue * was full or there was some other error. *
SDL_putenv GLS.SDLWindow

function SDL_putenv(const variable: PAnsiChar): integer; cdecl; external LibName;
SDL_QueryTexture SDL2.Import

** * Query the attributes of a texture * * texture A texture to be queried. * format A pointer filled in with the raw format of the texture. The * actual format may differ, but pixel transfers will use this * format. * access A pointer filled in with the actual access to the texture. * w A pointer filled in with the width of the texture in pixels. * h A pointer filled in with the height of the texture in pixels. * * 0 on success, or -1 if the texture is not valid. *
SDL_Quit SDL2.Import

** * This function cleans up all initialized subsystems. You should * call it upon all exit conditions. *
SDL_QuitSubSystem SDL2.Import

** * This function cleans up specific SDL subsystems *
SDL_RaiseWindow SDL2.Import

** * Raise a window above other windows and set the input focus. *
SDL_ReadBE16 SDL2.Import

SDL_ReadBE32 SDL2.Import

SDL_ReadBE64 SDL2.Import

SDL_ReadLE16 SDL2.Import

SDL_ReadLE32 SDL2.Import

SDL_ReadLE64 SDL2.Import

SDL_ReadU8 SDL2.Import

** * Read endian functions * * Read an item of the specified endianness and return in native format. *
SDL_RecordGesture SDL2.Import

** * Begin Recording a gesture on the specified touch, or all touches (-1) * * *
SDL_RectEmpty SDL2.Import

changed from variant(b?????h!) to TSDL_Rect maybe PSDL_Rect?
SDL_RectEquals SDL2.Import

** * Returns true if the two rectangles are equal. *
SDL_RegisterEvents SDL2.Import

** * This function allocates a set of user-defined events, and returns * the beginning event number for that set of events. * * If there aren't enough user-defined events left, this function * returns (Uint32)-1 *
SDL_RemoveTimer SDL2.Import

** * Remove a timer knowing its ID. * * A boolean value indicating success or failure. * * It is not safe to remove a timer multiple times. *
SDL_RenderClear SDL2.Import

** * Clear the current rendering target with the drawing color * * This function clears the entire rendering target, ignoring the viewport. * * 0 on success, or -1 on error *
SDL_RenderCopy SDL2.Import

** * Copy a portion of the texture to the current rendering target. * * renderer The renderer which should copy parts of a texture. * texture The source texture. * srcrect A pointer to the source rectangle, or NULL for the entire * texture. * dstrect A pointer to the destination rectangle, or NULL for the * entire rendering target. * * 0 on success, or -1 on error *
SDL_RenderCopyEx SDL2.Import

** * Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center * * renderer The renderer which should copy parts of a texture. * texture The source texture. * srcrect A pointer to the source rectangle, or NULL for the entire * texture. * dstrect A pointer to the destination rectangle, or NULL for the * entire rendering target. * angle An angle in degrees that indicates the rotation that will be applied to dstrect * center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done aroud dstrect.w/2, dstrect.h/2) * flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture * * 0 on success, or -1 on error *
SDL_RenderDrawLine SDL2.Import

** * Draw a line on the current rendering target. * * renderer The renderer which should draw a line. * x1 The x coordinate of the start point. * y1 The y coordinate of the start point. * x2 The x coordinate of the end point. * y2 The y coordinate of the end point. * * 0 on success, or -1 on error *
SDL_RenderDrawLines SDL2.Import

** * \brief Draw a series of connected lines on the current rendering target. * * \param renderer The renderer which should draw multiple lines. * \param points The points along the lines * \param count The number of points, drawing count-1 lines * * \return 0 on success, or -1 on error *
SDL_RenderDrawPoint SDL2.Import

** * Draw a point on the current rendering target. * * renderer The renderer which should draw a point. * x The x coordinate of the point. * y The y coordinate of the point. * * 0 on success, or -1 on error *
SDL_RenderDrawPoints SDL2.Import

** * Draw multiple points on the current rendering target. * * renderer The renderer which should draw multiple points. * points The points to draw * count The number of points to draw * * 0 on success, or -1 on error *
SDL_RenderDrawRect SDL2.Import

** * Draw a rectangle on the current rendering target. * * renderer The renderer which should draw a rectangle. * rect A pointer to the destination rectangle, or NULL to outline the entire rendering target. * * 0 on success, or -1 on error *
SDL_RenderDrawRects SDL2.Import

** * Draw some number of rectangles on the current rendering target. * * renderer The renderer which should draw multiple rectangles. * rects A pointer to an array of destination rectangles. * count The number of rectangles. * * 0 on success, or -1 on error *
SDL_RenderFillRect SDL2.Import

** * Fill a rectangle on the current rendering target with the drawing color. * * renderer The renderer which should fill a rectangle. * rect A pointer to the destination rectangle, or NULL for the entire * rendering target. * * 0 on success, or -1 on error *
SDL_RenderFillRects SDL2.Import

** * Fill some number of rectangles on the current rendering target with the drawing color. * * renderer The renderer which should fill multiple rectangles. * rects A pointer to an array of destination rectangles. * count The number of rectangles. * * 0 on success, or -1 on error *
SDL_RenderGetClipRect SDL2.Import

** * Get the clip rectangle for the current target. * * renderer The renderer from which clip rectangle should be queried. * rect A pointer filled in with the current clip rectangle, or * an empty rectangle if clipping is disabled. * * SDL_RenderSetClipRect() *
SDL_RenderGetLogicalSize SDL2.Import

** * Get device independent resolution for rendering * * renderer The renderer from which resolution should be queried. * w A pointer filled with the width of the logical resolution * h A pointer filled with the height of the logical resolution * * SDL_RenderSetLogicalSize() *
SDL_RenderGetScale SDL2.Import

** * Get the drawing scale for the current target. * * renderer The renderer from which drawing scale should be queried. * scaleX A pointer filled in with the horizontal scaling factor * scaleY A pointer filled in with the vertical scaling factor * * SDL_RenderSetScale() *
SDL_RenderGetViewport SDL2.Import

** * Get the drawing area for the current target. * * SDL_RenderSetViewport() *
SDL_RenderPresent SDL2.Import

** * Update the screen with rendering performed. *
SDL_RenderReadPixels SDL2.Import

** * Read pixels from the current rendering target. * * renderer The renderer from which pixels should be read. * rect A pointer to the rectangle to read, or NULL for the entire * render target. * format The desired format of the pixel data, or 0 to use the format * of the rendering target * pixels A pointer to be filled in with the pixel data * pitch The pitch of the pixels parameter. * * 0 on success, or -1 if pixel reading is not supported. * * This is a very slow operation, and should not be used frequently. *
SDL_RenderSetClipRect SDL2.Import

** * Set the clip rectangle for the current target. * * renderer The renderer for which clip rectangle should be set. * rect A pointer to the rectangle to set as the clip rectangle, or * NULL to disable clipping. * * 0 on success, or -1 on error * * SDL_RenderGetClipRect() *
SDL_RenderSetLogicalSize SDL2.Import

** * Set device independent resolution for rendering * * renderer The renderer for which resolution should be set. * w The width of the logical resolution * h The height of the logical resolution * * This function uses the viewport and scaling functionality to allow a fixed logical * resolution for rendering, regardless of the actual output resolution. If the actual * output resolution doesn't have the same aspect ratio the output rendering will be * centered within the output display. * * If the output display is a window, mouse events in the window will be filtered * and scaled so they seem to arrive within the logical resolution. * * If this function results in scaling or subpixel drawing by the * rendering backend, it will be handled using the appropriate * quality hints. * * SDL_RenderGetLogicalSize() * SDL_RenderSetScale() * SDL_RenderSetViewport() *
SDL_RenderSetScale SDL2.Import

** * Set the drawing scale for rendering on the current target. * * renderer The renderer for which the drawing scale should be set. * scaleX The horizontal scaling factor * scaleY The vertical scaling factor * * The drawing coordinates are scaled by the x/y scaling factors * before they are used by the renderer. This allows resolution * independent drawing with a single coordinate system. * * If this results in scaling or subpixel drawing by the * rendering backend, it will be handled using the appropriate * quality hints. For best results use integer scaling factors. * * SDL_RenderGetScale() * SDL_RenderSetLogicalSize() *
SDL_RenderSetViewport SDL2.Import

** * Set the drawing area for rendering on the current target. * * renderer The renderer for which the drawing area should be set. * rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target. * * The x,y of the viewport rect represents the origin for rendering. * * 0 on success, or -1 on error * * If the window associated with the renderer is resized, the viewport is automatically reset. * * SDL_RenderGetViewport() * SDL_RenderSetLogicalSize() *
SDL_RenderTargetSupported SDL2.Import

** * Determines whether a window supports the use of render targets * * renderer The renderer that will be checked * * SDL_TRUE if supported, SDL_FALSE if not. *
SDL_RestoreWindow SDL2.Import

** * Restore the size and position of a minimized or maximized window. * * SDL_MaximizeWindow() * SDL_MinimizeWindow() *
SDL_RWclose SDL2.Import

SDL_RWFromConstMem SDL2.Import

SDL_RWFromFile SDL2.Import

** * RWFrom functions * * Functions to create SDL_RWops structures from various data streams. *
SDL_RWFromFP SDL2.Import

SDL_RWFromMem SDL2.Import

SDL_RWread SDL2.Import

SDL_RWseek SDL2.Import

SDL_RWsize SDL2.Import

** * Read/write macros * * Macros to easily read and write from an SDL_RWops structure. *
SDL_RWtell SDL2.Import

SDL_RWwrite SDL2.Import

SDL_SaveAllDollarTemplates SDL2.Import

** * Save all currently loaded Dollar Gesture templates * * *
SDL_SaveBMP SDL2.Import

** * Save a surface to a file. * * Convenience macro. *
SDL_SaveBMP_RW SDL2.Import

** * Save a surface to a seekable SDL data stream (memory or file). * * If freedst is non-zero, the stream will be closed after being written. * * 0 if successful or -1 if there was an error. *
SDL_SaveDollarTemplate SDL2.Import

** * Save a currently loaded Dollar Gesture template * * *
SDL_SemPost SDL2.Import

** * Atomically increases the semaphore's count (not blocking). * * 0, or -1 on error. *
SDL_SemTryWait SDL2.Import

** * Non-blocking variant of SDL_SemWait(). * * 0 if the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait would * block, and -1 on error. *
SDL_SemValue SDL2.Import

** * Returns the current count of the semaphore. *
SDL_SemWait SDL2.Import

** * This function suspends the calling thread until the semaphore pointed * to by sem has a positive count. It then atomically decreases the * semaphore count. *
SDL_SemWaitTimeout SDL2.Import

** * Variant of SDL_SemWait() with a timeout in milliseconds. * * 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not * succeed in the allotted time, and -1 on error. * * On some platforms this function is implemented by looping with a * delay of 1 ms, and so should be avoided if possible. *
SDL_SetClipRect SDL2.Import

** * Sets the clipping rectangle for the destination surface in a blit. * * If the clip rectangle is NULL, clipping will be disabled. * * If the clip rectangle doesn't intersect the surface, the function will * return SDL_FALSE and blits will be completely clipped. Otherwise the * function returns SDL_TRUE and blits to the surface will be clipped to * the intersection of the surface area and the clipping rectangle. * * Note that blits are automatically clipped to the edges of the source * and destination surfaces. *
SDL_SetColorKey SDL2.Import

** * Sets the color key (transparent pixel) in a blittable surface. * * surface The surface to update * flag Non-zero to enable colorkey and 0 to disable colorkey * key The transparent pixel in the native surface format * * 0 on success, or -1 if the surface is not valid * * You can pass SDL_RLEACCEL to enable RLE accelerated blits. *
SDL_SetCursor SDL2.Import

** * Set the active cursor. *
SDL_SetError SDL2.Import

* SDL_SetError() unconditionally returns -1. *
SDL_SetEventFilter SDL2.Import

** * Sets up a filter to process all events before they change internal state and * are posted to the internal event queue. * * If the filter returns 1, then the event will be added to the internal queue. * If it returns 0, then the event will be dropped from the queue, but the * internal state will still be updated. This allows selective filtering of * dynamically arriving events. * * Be very careful of what you do in the event filter function, as * it may run in a different thread! * * There is one caveat when dealing with the SDL_QUITEVENT event type. The * event filter is only called when the window manager desires to close the * application window. If the event filter returns 1, then the window will * be closed, otherwise the window will remain open if possible. * * If the quit event is generated by an interrupt signal, it will bypass the * internal queue and be delivered to the application at the next event poll. *
SDL_SetHint SDL2.Import

/** * \brief Set a hint with normal priority * * \return SDL_TRUE if the hint was set, SDL_FALSE otherwise */
SDL_SetHintWithPriority SDL2.Import

/** * \brief Set a hint with a specific priority * * The priority controls the behavior when setting a hint that already * has a value. Hints will replace existing hints of their priority and * lower. Environment variables are considered to have override priority. * * \return SDL_TRUE if the hint was set, SDL_FALSE otherwise */
SDL_SetModState SDL2.Import

** * Set the current key modifier state for the keyboard. * * This does not change the keyboard state, only the key modifier flags. *
SDL_SetPaletteColors SDL2.Import

** * Set a range of colors in a palette. * * palette The palette to modify. * colors An array of colors to copy into the palette. * firstcolor The index of the first palette entry to modify. * ncolors The number of entries to modify. * * 0 on success, or -1 if not all of the colors could be set. *
SDL_SetPixelFormatPalette SDL2.Import

** * Set the palette for a pixel format structure. *
SDL_SetRelativeMouseMode SDL2.Import

** * Set relative mouse mode. * * enabled Whether or not to enable relative mode * * 0 on success, or -1 if relative mode is not supported. * * While the mouse is in relative mode, the cursor is hidden, and the * driver will try to report continuous motion in the current window. * Only relative motion events will be delivered, the mouse position * will not change. * * This function will flush any pending mouse motion. * * SDL_GetRelativeMouseMode() *
SDL_SetRenderDrawBlendMode SDL2.Import

** * Set the blend mode used for drawing operations (Fill and Line). * * renderer The renderer for which blend mode should be set. * blendMode SDL_BlendMode to use for blending. * * 0 on success, or -1 on error * * If the blend mode is not supported, the closest supported mode is * chosen. * * SDL_GetRenderDrawBlendMode() *
SDL_SetRenderDrawColor SDL2.Import

** * Set the color used for drawing operations (Rect, Line and Clear). * * renderer The renderer for which drawing color should be set. * r The red value used to draw on the rendering target. * g The green value used to draw on the rendering target. * b The blue value used to draw on the rendering target. * a The alpha value used to draw on the rendering target, usually * SDL_ALPHA_OPAQUE (255). * * 0 on success, or -1 on error *
SDL_SetRenderTarget SDL2.Import

** * Set a texture as the current rendering target. * * renderer The renderer. * texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target * * 0 on success, or -1 on error * * SDL_GetRenderTarget() *
SDL_SetSurfaceAlphaMod SDL2.Import

** * Set an additional alpha value used in blit operations. * * surface The surface to update. * alpha The alpha value multiplied into blit operations. * * 0 on success, or -1 if the surface is not valid. * * SDL_GetSurfaceAlphaMod() *
SDL_SetSurfaceBlendMode SDL2.Import

** * Set the blend mode used for blit operations. * * surface The surface to update. * blendMode ::SDL_BlendMode to use for blit blending. * * 0 on success, or -1 if the parameters are not valid. * * SDL_GetSurfaceBlendMode() *
SDL_SetSurfaceColorMod SDL2.Import

** * Set an additional color value used in blit operations. * * surface The surface to update. * r The red color value multiplied into blit operations. * g The green color value multiplied into blit operations. * b The blue color value multiplied into blit operations. * * 0 on success, or -1 if the surface is not valid. * * SDL_GetSurfaceColorMod() *
SDL_SetSurfacePalette SDL2.Import

** * Set the palette used by a surface. * * 0, or -1 if the surface format doesn't use a palette. * * A single palette can be shared with many surfaces. *
SDL_SetSurfaceRLE SDL2.Import

** * Sets the RLE acceleration hint for a surface. * * 0 on success, or -1 if the surface is not valid * * If RLE is enabled, colorkey and alpha blending blits are much faster, * but the surface must be locked before directly accessing the pixels. *
SDL_SetTextInputRect SDL2.Import

** * Set the rectangle used to type Unicode text inputs. * This is used as a hint for IME and on-screen keyboard placement. * * SDL_StartTextInput() *
SDL_SetTextureAlphaMod SDL2.Import

** * Set an additional alpha value used in render copy operations. * * texture The texture to update. * alpha The alpha value multiplied into copy operations. * * 0 on success, or -1 if the texture is not valid or alpha modulation * is not supported. * * SDL_GetTextureAlphaMod() *
SDL_SetTextureBlendMode SDL2.Import

** * Set the blend mode used for texture copy operations. * * texture The texture to update. * blendMode ::SDL_BlendMode to use for texture blending. * * 0 on success, or -1 if the texture is not valid or the blend mode is * not supported. * * If the blend mode is not supported, the closest supported mode is * chosen. * * SDL_GetTextureBlendMode() *
SDL_SetTextureColorMod SDL2.Import

** * Set an additional color value used in render copy operations. * * texture The texture to update. * r The red color value multiplied into copy operations. * g The green color value multiplied into copy operations. * b The blue color value multiplied into copy operations. * * 0 on success, or -1 if the texture is not valid or color modulation * is not supported. * * SDL_GetTextureColorMod() *
SDL_SetThreadPriority SDL2.Import

** * Set the priority for the current thread *
SDL_SetWindowBordered SDL2.Import

** * Set the border state of a window. * * This will add or remove the window's SDL_WINDOW_BORDERLESS flag and * add or remove the border from the actual window. This is a no-op if the * window's border already matches the requested state. * * window The window of which to change the border state. * bordered SDL_FALSE to remove border, SDL_TRUE to add border. * * You can't change the border state of a fullscreen window. * * SDL_GetWindowFlags() *
SDL_SetWindowBrightness SDL2.Import

** * Set the brightness (gamma correction) for a window. * * 0 on success, or -1 if setting the brightness isn't supported. * * SDL_GetWindowBrightness() * SDL_SetWindowGammaRamp() *
SDL_SetWindowData SDL2.Import

** * Associate an arbitrary named pointer with a window. * * window The window to associate with the pointer. * name The name of the pointer. * userdata The associated pointer. * * The previous value associated with 'name' * * The name is case-sensitive. * * SDL_GetWindowData() *
SDL_SetWindowDisplayMode SDL2.Import

** * Set the display mode used when a fullscreen window is visible. * * By default the window's dimensions and the desktop format and refresh rate * are used. * * mode The mode to use, or nil for the default mode. * * 0 on success, or -1 if setting the display mode failed. * * SDL_GetWindowDisplayMode() * SDL_SetWindowFullscreen() *
SDL_SetWindowFullscreen SDL2.Import

** * Set a window's fullscreen state. * * 0 on success, or -1 if setting the display mode failed. * * SDL_SetWindowDisplayMode() * SDL_GetWindowDisplayMode() *
SDL_SetWindowGammaRamp SDL2.Import

** * Set the gamma ramp for a window. * * red The translation table for the red channel, or nil. * green The translation table for the green channel, or nil. * blue The translation table for the blue channel, or nil. * * 0 on success, or -1 if gamma ramps are unsupported. * * Set the gamma translation table for the red, green, and blue channels * of the video hardware. Each table is an array of 256 16-bit quantities, * representing a mapping between the input and output for that channel. * The input is the index into the array, and the output is the 16-bit * gamma value at that index, scaled to the output color precision. * * SDL_GetWindowGammaRamp() *
SDL_SetWindowGrab SDL2.Import

** * Set a window's input grab mode. * * grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input. * * SDL_GetWindowGrab() *
SDL_SetWindowIcon SDL2.Import

** * Set the icon for a window. * * icon The icon for the window. *
SDL_SetWindowMaximumSize SDL2.Import

** * Set the maximum size of a window's client area. * * max_w The maximum width of the window, must be >0 * max_h The maximum height of the window, must be >0 * * You can't change the maximum size of a fullscreen window, it * automatically matches the size of the display mode. * * SDL_GetWindowMaximumSize() * SDL_SetWindowMinimumSize() *
SDL_SetWindowMinimumSize SDL2.Import

** * Set the minimum size of a window's client area. * * min_w The minimum width of the window, must be >0 * min_h The minimum height of the window, must be >0 * * You can't change the minimum size of a fullscreen window, it * automatically matches the size of the display mode. * * SDL_GetWindowMinimumSize() * SDL_SetWindowMaximumSize() *
SDL_SetWindowPosition SDL2.Import

** * Set the position of a window. * * window The window to reposition. * x The x coordinate of the window, SDL_WINDOWPOS_CENTERED, or * SDL_WINDOWPOS_UNDEFINED. * y The y coordinate of the window, SDL_WINDOWPOS_CENTERED, or * SDL_WINDOWPOS_UNDEFINED. * * The window coordinate origin is the upper left of the display. * * SDL_GetWindowPosition() *
SDL_SetWindowShape SDL2.Import

** * Set the shape and parameters of a shaped window. * * window The shaped window whose parameters should be set. * shape A surface encoding the desired shape for the window. * shape_mode The parameters to set for the shaped window. * * 0 on success, SDL_INVALID_SHAPE_ARGUMENT on invalid an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW * if the SDL_Window* given does not reference a valid shaped window. * * SDL_WindowShapeMode * SDL_GetShapedWindowMode. *
SDL_SetWindowSize SDL2.Import

** * Set the size of a window's client area. * * w The width of the window, must be >0 * h The height of the window, must be >0 * * You can't change the size of a fullscreen window, it automatically * matches the size of the display mode. * * SDL_GetWindowSize() *
SDL_SetWindowTitle SDL2.Import

** * Set the title of a window, in UTF-8 format. * * SDL_GetWindowTitle() *
SDL_ShowCursor SDL2.Import

** * Toggle whether or not the cursor is shown. * * toggle 1 to show the cursor, 0 to hide it, -1 to query the current * state. * * 1 if the cursor is shown, or 0 if the cursor is hidden. *
SDL_ShowMessageBox SDL2.Import

** * Create a modal message box. * * messageboxdata The SDL_MessageBoxData structure with title, text, etc. * buttonid The pointer to which user id of hit button should be copied. * * -1 on error, otherwise 0 and buttonid contains user id of button * hit or -1 if dialog was closed. * * This function should be called on the thread that created the parent * window, or on the main thread if the messagebox has no parent. It will * block execution of that thread until the user clicks a button or * closes the messagebox. *
SDL_ShowSimpleMessageBox SDL2.Import

** * Create a simple modal message box * * flags SDL_MessageBoxFlags * title UTF-8 title text * message UTF-8 message text * window The parent window, or NULL for no parent * * 0 on success, -1 on error * * SDL_ShowMessageBox *
SDL_ShowWindow SDL2.Import

** * Show a window. * * SDL_HideWindow() *
SDL_SoftStretch SDL2.Import

** * Perform a fast, low quality, stretch blit between two surfaces of the * same pixel format. * * This function uses a static buffer, and is not thread-safe. *
SDL_StartTextInput SDL2.Import

** * Start accepting Unicode text input events. * This function will show the on-screen keyboard if supported. * * SDL_StopTextInput() * SDL_SetTextInputRect() * SDL_HasScreenKeyboardSupport() *
SDL_StopTextInput SDL2.Import

** * Stop receiving any text input events. * This function will hide the on-screen keyboard if supported. * * SDL_StartTextInput() * SDL_HasScreenKeyboardSupport() *
SDL_Swap32 SDL2.Import

SDL_ThreadID SDL2.Import

** * Get the thread identifier for the current thread. *
SDL_TLSCreate SDL2.Import

* * SDL_TLSGet() * SDL_TLSSet() *
SDL_TLSGet SDL2.Import

** * Get the value associated with a thread local storage ID for the current thread. * * id The thread local storage ID * * The value associated with the ID for the current thread, or NULL if no value has been set. * * SDL_TLSCreate() * SDL_TLSSet() *
SDL_TLSSet SDL2.Import

** * Set the value associated with a thread local storage ID for the current thread. * * id The thread local storage ID * value The value to associate with the ID for the current thread * destructor_ A function called when the thread exits, to free the value. * * 0 on success, -1 on error * * SDL_TLSCreate() * SDL_TLSGet() *
SDL_TryLockMutex SDL2.Import

** * Try to lock the mutex * * 0, SDL_MUTEX_TIMEDOUT, or -1 on error *
SDL_UnionRect SDL2.Import

** * Calculate the union of two rectangles. *
SDL_UnloadObject SDL2.Import

** * Unload a shared object from memory. *
SDL_UnlockAudio SDL2.Import

SDL_UnlockAudioDevice SDL2.Import

SDL_UnlockMutex SDL2.Import

#define SDL_mutexV(m) SDL_UnlockMutex(m)
SDL_UnlockSurface SDL2.Import

** SDL_LockSurface() *
SDL_UnlockTexture SDL2.Import

** * Unlock a texture, uploading the changes to video memory, if needed. * * SDL_LockTexture() *
SDL_UpdateTexture SDL2.Import

** * Update the given texture rectangle with new pixel data. * * texture The texture to update * rect A pointer to the rectangle of pixels to update, or NULL to * update the entire texture. * pixels The raw pixel data. * pitch The number of bytes between rows of pixel data. * * 0 on success, or -1 if the texture is not valid. * * This is a fairly slow function. *
SDL_UpdateWindowSurface SDL2.Import

** * Copy the window surface to the screen. * * 0 on success, or -1 on error. * * SDL_GetWindowSurface() * SDL_UpdateWindowSurfaceRects() *
SDL_UpdateWindowSurfaceRects SDL2.Import

** * Copy a number of rectangles on the window surface to the screen. * * 0 on success, or -1 on error. * * SDL_GetWindowSurface() * SDL_UpdateWindowSurfaceRect() *
SDL_UpperBlit SDL2.Import

** * This is the public blit function, SDL_BlitSurface(), and it performs * rectangle validation and clipping before passing it to SDL_LowerBlit() *
SDL_UpperBlitScaled SDL2.Import

** * This is the public scaled blit function, SDL_BlitScaled(), and it performs * rectangle validation and clipping before passing it to SDL_LowerBlitScaled() *
SDL_VERSION SDL2.Import

** * Macro to determine SDL version program was compiled against. * * This macro fills in a SDL_version structure with the version of the * library you compiled against. This is determined by what header the * compiler uses. Note that if you dynamically linked the library, you might * have a slightly newer or older version at runtime. That version can be * determined with SDL_GetVersion(), which, unlike SDL_VERSION(), * is not a macro. * * x A pointer to a SDL_version struct to initialize. * * SDL_version * SDL_GetVersion *
SDL_VERSIONNUM SDL2.Import

** * This macro turns the version numbers into a numeric value: * * (1,2,3) -> (1203) * * * This assumes that there will never be more than 100 patchlevels. *
SDL_VERSION_ATLEAST SDL2.Import

** * This macro will evaluate to true if compiled with SDL at least X.Y.Z. *
SDL_VideoInit SDL2.Import

** * Initialize the video subsystem, optionally specifying a video driver. * * driver_name Initialize a specific driver by name, or nil for the * default video driver. * * 0 on success, -1 on error * * This function initializes the video subsystem; setting up a connection * to the window manager, etc, and determines the available display modes * and pixel formats, but does not initialize a window or graphics mode. * * SDL_VideoQuit() *
SDL_VideoQuit SDL2.Import

** * Shuts down the video subsystem. * * function closes all windows, and restores the original video mode. * * SDL_VideoInit() *
SDL_WaitEvent SDL2.Import

** * Waits indefinitely for the next available event. * * 1, or 0 if there was an error while waiting for events. * * event - If not nil, the next event is removed from the queue and * stored in that area. *
SDL_WaitEventTimeout SDL2.Import

** * Waits until the specified timeout (in milliseconds) for the next * available event. * * 1, or 0 if there was an error while waiting for events. * * event - If not nil, the next event is removed from the queue and * stored in that area. *
SDL_WaitThread SDL2.Import

** * Wait for a thread to finish. * * The return code for the thread function is placed in the area * pointed to by status, if status is not NULL. *
SDL_WarpMouseInWindow SDL2.Import

** * Moves the mouse to the given position within the window. * * window The window to move the mouse into, or nil for the current mouse focus * x The x coordinate within the window * y The y coordinate within the window * * This function generates a mouse motion event *
SDL_WasInit SDL2.Import

** * This function returns a mask of the specified subsystems which have * previously been initialized. * * If flags is 0, it returns a mask of all initialized subsystems. *
SDL_WindowPos_IsCentered SDL2.Import

SDL_WindowPos_IsUndefined SDL2.Import

SDL_WriteBE16 SDL2.Import

SDL_WriteBE32 SDL2.Import

SDL_WriteBE64 SDL2.Import

SDL_WriteLE16 SDL2.Import

SDL_WriteLE32 SDL2.Import

SDL_WriteLE64 SDL2.Import

SDL_WriteU8 SDL2.Import

** * Write endian functions * * Write an item of native format to the specified endianness. *
SegmentPlaneIntersection GLS.VectorGeometry

Computes segment / plane intersection return false if there isn't an intersection
SegmentSegmentClosestPoint GLS.VectorGeometry

Computes the closest points (2) given two segments
SegmentSegmentDistance GLS.VectorGeometry

Computes the closest distance between two segments
SetAABB GLS.GeometryBB

SetActorCMassGlobalPosition Physics.PhysXImport

SetActorGlobalOrientation Physics.PhysXImport

SetActorGlobalPosition Physics.PhysXImport

SetActorMass Physics.PhysXImport

SetAffineVector GLS.VectorGeometry

SetBB GLS.GeometryBB

SetElementAccessAddress CUDA.DataAccess

SetExeDirectory GLS.Utils

SetFullscreenMode GLS.Screen

Changes to the video mode given by 'Index'
SetGLSceneMediaDir GLS.Utils

SetGLTextureImageClassesToStrings GLS.Texture

Defines a TStrings with the list of registered TGLTextureImageClass.
SetMatrix GLS.VectorGeometry

SetMatrix GLS.VectorGeometry

SetMatrix GLS.VectorGeometry

—————————————————————————- Matrix functions —————————————————————————-
SetMatrixRow GLS.VectorGeometry

SetPlane GLS.VectorGeometry

Converts from single to double representation
SetROAMTrianglesCapacity GLS.ROAMPatch

Specifies the maximum number of ROAM triangles that may be allocated.
SetScreenSaverPassword GLS.ScreenSaver

Invokes the standard Windows dialog to set the password. May be invoked from your Properties/Configuration dialog.
setTransform Physics.ODEUtils

SetupTangentSpace GLS.BumpmapHDS

SetupVSync GLS.SceneViewer

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetVector GLS.VectorGeometry

SetXMLAttribute GLS.CrossXML

SetXMLAttribute GLS.CrossXML

SetXMLText GLS.CrossXML

SFChmutov1 GLS.Isosurface

Chmutov-surface-1 (http://mathworld.wolfram.com)
SFChmutov2 GLS.Isosurface

Chmutov-surface-2 (http://mathworld.wolfram.com)
SFDoubleTorus GLS.Isosurface

Double torus Surface (phantasy!)
SFKleinBottle GLS.Isosurface

Klein Bottle (http://mathworld.wolfram.com)
SFMinkowski GLS.Isosurface

Minkowski space (http://mathworld.wolfram.com)
SFSphere GLS.Isosurface

Sphere surface
SFToroidal GLS.Isosurface

Toroidal surface (phantasy!)
ShiftObjectFromCenter GLS.VectorGeometry

ShiftObjectFromCenter GLS.VectorGeometry

AOriginalPosition - Object initial position. ACenter - some point, from which is should be distanced. ADistance + AFromCenterSpot - distance, which object should keep from ACenter or ADistance + not AFromCenterSpot - distance, which object should shift from his current position away from center
ShowError Formats.m3DSUtils

error message routines
ShowErrorFormatted Formats.m3DSUtils

ShowHTMLUrl GLS.Utils

SignStrict GLS.VectorGeometry

Returns the sign of the x value using the (-1, 0, +1) convention
SimulateNx Physics.PhysXImport

SinCosine GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta
SinCosine GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta
SinCosine GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta and Radius. sin and cos values calculated from theta are multiplicated by radius
SinCosine GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta and Radius. sin and cos values calculated from theta are multiplicated by radius
SizeOfFile GLS.Utils

Returns the size of "filename". Returns 0 (zero) is file does not exists.
Smooth_Interpolate_Strip GLS.Perlin

smooth interpolate 3 strips into one...
SolveCubic GLS.Polynomials

Computes the real roots of a real polynomial of the 3rd degree. The polynomial is of the form: A(0) + A(1)*Z + A(2)*Z**2 + A(3)*Z**3
SolveQuadric GLS.Polynomials

Computes the real roots of a real polynomial of the 2nd degree. The polynomial is of the form: A(0) + A(1)*Z + A(2)*Z**2
SolveQuartic GLS.Polynomials

Computes the real roots of a real polynomial of the 4th degree. The polynomial is of the form: A(0) + A(1)*Z + ... + A(4)*Z**4
SortArrayAscending GLS.VectorGeometry

Sorts given array in ascending order. NOTE : current implementation is a slow bubble sort...
SphereVisibleRadius GLS.VectorGeometry

Computes the visible radius of a sphere in a perspective projection. This radius can be used for occlusion culling (cone extrusion) or 2D intersection testing.
Spherical_Cartesian GLS.Coordinates

Convert Spherical to Cartesian with no checks. Double version. theta,phi in rads
Spherical_Cartesian GLS.Coordinates

Convert Spherical to Cartesian with no checks. [single] theta,phi in rads Ref: http://mathworld.wolfram.com/SphericalCoordinates.html
Spherical_Cartesian GLS.Coordinates

Convert spherical to cartesian [double] (with error check).theta,phi in rad
Spherical_Cartesian GLS.Coordinates

Convert Spherical to Cartesian [single] (with error check).theta,phi in rad ierr: [0] = ok, [1] = r out of bounds [2] = theta out of bounds [3] = phi out of bounds Ref: http://mathworld.wolfram.com/SphericalCoordinates.html
StarRecordColor GLS.SkyDome

Computes star color from BV index (RGB) and magnitude (alpha)
StarRecordPositionYUp GLS.SkyDome

Computes position on the unit sphere of a star record (Y=up)
StarRecordPositionZUp GLS.SkyDome

Computes position on the unit sphere of a star record (Z=up)
StartAllMovements GLS.Movement

StartPrecisionTimer GLS.Utils

Starts a precision timer. Returned value should just be considered as 'handle', even if it ain't so. Default platform implementation is to use QueryPerformanceCounter and QueryPerformanceFrequency, if higher precision references are available, they should be used. The timer will and must be stopped/terminated/released with StopPrecisionTimer.
StopAllMovements GLS.Movement

StopPrecisionTimer GLS.Utils

Computes time elapsed since timer start and stop timer. Return time lap in seconds.
StreamFromFOURCC Formats.VFW

StringToColorAdvanced GLS.Utils

Converts a string into color
StringToColorAdvancedSafe GLS.Utils

Converts a string into color
StripifyMesh GLS.MeshUtils

Attempts to create as few as possible triangle strips to cover the mesh. The indices parameters define a set of triangles as a set of indices to vertices in a vertex pool, free of duplicate vertices (or resulting stripification will be of lower quality). The function returns a list of TIntegerList, each of these lists hosting a triangle strip, returned objects must be freed by caller. If agglomerateLoneTriangles is True, the first of the lists actually contains the agglomerated list of the triangles that couldn't be stripified.
StrToFloatDef GLS.Utils

Similar to SysUtils.StrToFloatDef, but ignores user's locale
StrToGLSResType GLS.ApplicationFileIO

SubdivideTriangles GLS.MeshUtils

Subdivides mesh triangles. Splits along edges, each triangle becomes four. The smoothFactor can be used to control subdivision smoothing, zero means no smoothing (tesselation only), while 1 means "sphere" subdivision (a low res sphere will be subdivided in a higher-res sphere), values outside of the [0..1] range are for, er, artistic purposes. The procedure is not intended for real-time use.
SubtractVector GLS.VectorGeometry

Subtracts V2 from V1, result is placed in V1
SubtractVector GLS.VectorGeometry

Subtracts V2 from V1, result is placed in V1
SubtractVector GLS.VectorGeometry

Subtracts V2 from V1, result is placed in V1
TexPointArrayAdd GLS.VectorGeometry

Adds delta to nb texpoints in src and places result in dest
TexPointArrayScaleAndAdd GLS.VectorGeometry

TexPointCombine GLS.VectorGeometry

Makes a linear combination of two texpoints
TexpointEquals GLS.VectorGeometry

True if all components are equal.
TexPointLerp GLS.VectorGeometry

Calculates linear interpolation between texpoint1 and texpoint2 at point t
TexPointMake GLS.VectorGeometry

————————————————————————– Vector functions ————————————————————————–
TextureBlue GLS.RandomHDS

TextureBrownSoil GLS.RandomHDS

TextureDarkGray GLS.RandomHDS

TextureDarkGreen GLS.RandomHDS

TextureGreen GLS.RandomHDS

TextureSand GLS.RandomHDS

TextureWhite GLS.RandomHDS

ToDosPath Formats.LWO

ToHex Formats.VFW

– Macro to make a ckid for a chunk out of a TWOCC and a stream num (0-255) -
ToUnixPath Formats.LWO

TranslateMatrix GLS.VectorGeometry

TranslateMatrix GLS.VectorGeometry

Adds the translation vector into the matrix
TransposeMatrix GLS.VectorGeometry

Computes transpose of 3x3 matrix
TransposeMatrix GLS.VectorGeometry

Computes transpose of 4x4 matrix
TriangleArea GLS.VectorGeometry

Computes the triangle's area
TriangleElevationSegments GLS.Isolines

Defines contouring segments inside a triangle using elevations
TriangleIntersectAABB GLS.GeometryBB

Original source code by Tomas Akenine-Mцller Based on the paper "Fast 3D Triangle-Box Overlap Testing" http://www.cs.lth.se/home/Tomas_Akenine_Moller/pubs/tribox.pdf http://jgt.akpeters.com/papers/AkenineMoller01/ (code) Use separating axis theorem to test overlap between triangle and box need to test for overlap in these directions: 1) the (x,y,z)-directions (actually, since we use the AABB of the triangle we do not even need to test these) 2) normal of the triangle 3) crossproduct(edge from tri, {x,y,z}-directin) this gives 3x3=9 more tests Checks if a triangle (given by vertices v1, v2 and v3) intersects an AABB
TriangleSignedArea GLS.VectorGeometry

Computes a 2D triangle's signed area. Only X and Y coordinates are used, Z is ignored
TrimAndSplitVersionString GLS.OpenGLAdapter

TryStringToColorAdvanced GLS.Utils

Converts a string into color
TTF_ByteSwappedUNICODE SDL2.Ttf

* This function tells the library whether UNICODE text is generally byteswapped. A UNICODE BOM character in a string will override this setting for the remainder of that string. *
TTF_CloseFont SDL2.Ttf

* Close an opened font file *
TTF_FontAscent SDL2.Ttf

* Get the offset from the baseline to the top of the font This is a positive value, relative to the baseline. *
TTF_FontDescent SDL2.Ttf

* Get the offset from the baseline to the bottom of the font This is a negative value, relative to the baseline. *
TTF_FontFaceFamilyName SDL2.Ttf

TTF_FontFaceIsFixedWidth SDL2.Ttf

* Get the font face attributes, if any *
TTF_FontFaces SDL2.Ttf

* Get the number of faces of the font *
TTF_FontFaceStyleName SDL2.Ttf

TTF_FontHeight SDL2.Ttf

* Get the total height of the font - usually equal to point size *
TTF_FontLineSkip SDL2.Ttf

* Get the recommended spacing between lines of text for this font *
TTF_GetError SDL2.Ttf

TTF_GetFontHinting SDL2.Ttf

TTF_GetFontKerning SDL2.Ttf

* Get/Set whether or not kerning is allowed for this font *
TTF_GetFontKerningSize SDL2.Ttf

* Get the kerning size of two glyphs *
TTF_GetFontOutline SDL2.Ttf

TTF_GetFontStyle SDL2.Ttf

TTF_GlyphIsProvided SDL2.Ttf

* Check wether a glyph is provided by the font or not *
TTF_GlyphMetrics SDL2.Ttf

* Get the metrics (dimensions) of a glyph To understand what these metrics mean, here is a useful link: http://freetype.sourceforge.net/freetype2/docs/tutorial/step2.html *
TTF_Init SDL2.Ttf

* Initialize the TTF engine - returns 0 if successful, -1 on error *
TTF_Linked_Version SDL2.Ttf

* This function gets the version of the dynamically linked SDL_ttf library. it should NOT be used to fill a version structure, instead you should use the SDL_TTF_VERSION() macro. *
TTF_OpenFont SDL2.Ttf

* Open a font file and create a font of the specified point size. * Some .fon fonts will have several sizes embedded in the file, so the * point size becomes the index of choosing which size. If the value * is too high, the last indexed size will be the default. *
TTF_OpenFontIndex SDL2.Ttf

TTF_OpenFontIndexRW SDL2.Ttf

TTF_OpenFontRW SDL2.Ttf

TTF_Quit SDL2.Ttf

* De-initialize the TTF engine *
TTF_RenderGlyph_Blended SDL2.Ttf

* Create a 32-bit ARGB surface and render the given glyph at high quality, using alpha blending to dither the font with the given color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *
TTF_RenderGlyph_Shaded SDL2.Ttf

* Create an 8-bit palettized surface and render the given glyph at high quality with the given font and colors. The 0 pixel is background, while other pixels have varying degrees of the foreground color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *
TTF_RenderGlyph_Solid SDL2.Ttf

* Create an 8-bit palettized surface and render the given glyph at fast quality with the given font and color. The 0 pixel is the colorkey, giving a transparent background, and the 1 pixel is set to the text color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *
TTF_RenderText SDL2.Ttf

* For compatibility with previous versions, here are the old functions *
TTF_RenderText_Blended SDL2.Ttf

* Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. This function returns the new surface, or NULL if there was an error. *
TTF_RenderText_Blended_Wrapped SDL2.Ttf

* Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. Text is wrapped to multiple lines on line endings and on word boundaries if it extends beyond wrapLength in pixels. This function returns the new surface, or NULL if there was an error. *
TTF_RenderText_Shaded SDL2.Ttf

* Create an 8-bit palettized surface and render the given text at high quality with the given font and colors. The 0 pixel is background, while other pixels have varying degrees of the foreground color. This function returns the new surface, or NULL if there was an error. *
TTF_RenderText_Solid SDL2.Ttf

* Create an 8-bit palettized surface and render the given text at fast quality with the given font and color. The 0 pixel is the colorkey, giving a transparent background, and the 1 pixel is set to the text color. This function returns the new surface, or NULL if there was an error. *
TTF_RenderUNICODE SDL2.Ttf

TTF_RenderUNICODE_Blended SDL2.Ttf

TTF_RenderUNICODE_Blended_Wrapped SDL2.Ttf

TTF_RenderUNICODE_Shaded SDL2.Ttf

TTF_RenderUNICODE_Solid SDL2.Ttf

TTF_RenderUTF8 SDL2.Ttf

TTF_RenderUTF8_Blended SDL2.Ttf

TTF_RenderUTF8_Blended_Wrapped SDL2.Ttf

TTF_RenderUTF8_Shaded SDL2.Ttf

TTF_RenderUTF8_Solid SDL2.Ttf

TTF_SetError SDL2.Ttf

* We'll use SDL for reporting errors *
TTF_SetFontHinting SDL2.Ttf

TTF_SetFontKerning SDL2.Ttf

TTF_SetFontOutline SDL2.Ttf

TTF_SetFontStyle SDL2.Ttf

TTF_SizeText SDL2.Ttf

* Get the dimensions of a rendered string of text *
TTF_SizeUNICODE SDL2.Ttf

TTF_SizeUTF8 SDL2.Ttf

TTF_WasInit SDL2.Ttf

* Check if the TTF engine is initialized *
Turn GLS.VectorGeometry

Coordinate system manipulation functions Rotates the given coordinate system (represented by the matrix) around its Y-axis
Turn GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around MasterUp
Tweener GLS.AnimationUtils

Tweener GLS.AnimationUtils

Tweener GLS.AnimationUtils

Tweener GLS.AnimationUtils

TWOCCFromFOURCC Formats.VFW

– Macro to get TWOCC chunk type out of a FOURCC ckid ———————–
UnApplyBlendingModeEx GLSL.CustomShader

UnifyTrianglesWinding GLS.MeshUtils

Attempts to unify triangle winding. Depending on topology, this may or may not be successful (some topologies can't be unified, f.i. those that have duplicate triangles, those that have edges shared by more than two triangles, those that have unconnected submeshes etc.)
UnloadModule GLS.ModuleLoader

UnloadOpenGL GLS.OpenGLAdapter

compatibility routines
UnPackRotationMatrix GLS.VectorGeometry

Restores a packed rotation matrix. See PackRotationMatrix
UnpressGroup GLS.Windows

UnProject GLS.VectorGeometry

UnregisterArchiveFormat GLS.ArchiveManager

UnRegisterColor GLS.Color

UnregisterGLSceneObject Physics.ODEManager

UnRegisterGLTextureImageEditor GLS.TextureImageEditors

UnregisterRasterFormat GLS.Graphics

UnregisterSoundFileClass GLS.SoundFileObjects

UnregisterVectorFileClass GLS.VectorFileObjects

UnregisterXCollectionItemClass GLS.XCollection

Removes a TXCollectionItem subclass from the list
UseCustomGLSLogger GLS.Logger

UserLog GLS.Logger

Return logger wich created by TGLSLogger component
UTF8ToWideString GLS.PersistentClasses

ValidateExternalObject DWS.HelperFunc

Vector2bMake GLS.VectorGeometry

Vector2bMake GLS.VectorGeometry

Vector2bMake GLS.VectorGeometry

Vector2dMake GLS.VectorGeometry

Vector2dMake GLS.VectorGeometry

Vector2dMake GLS.VectorGeometry

Vector2fMake GLS.VectorGeometry

Vector2fMake GLS.VectorGeometry

Vector2fMake GLS.VectorGeometry

2x
Vector2iMake GLS.VectorGeometry

Vector2iMake GLS.VectorGeometry

Vector2iMake GLS.VectorGeometry

Vector2sMake GLS.VectorGeometry

Vector2sMake GLS.VectorGeometry

Vector2sMake GLS.VectorGeometry

Vector3ADD Physics.ODEImport

Vector3bMake GLS.VectorGeometry

Vector3bMake GLS.VectorGeometry

Vector3bMake GLS.VectorGeometry

Vector3Cross Physics.ODEImport

Vector3dMake GLS.VectorGeometry

Vector3dMake GLS.VectorGeometry

Vector3dMake GLS.VectorGeometry

Vector3fMake GLS.VectorGeometry

Vector3fMake GLS.VectorGeometry

Vector3fMake GLS.VectorGeometry

3x
Vector3iMake GLS.VectorGeometry

Vector3iMake GLS.VectorGeometry

Vector3iMake GLS.VectorGeometry

Vector3Length Physics.ODEImport

Vector3Make Physics.ODEImport

Vector3ScalarMul Physics.ODEImport

Vector3sMake GLS.VectorGeometry

Vector3sMake GLS.VectorGeometry

Vector3sMake GLS.VectorGeometry

Vector3SUB Physics.ODEImport

Vector4bMake GLS.VectorGeometry

Vector4bMake GLS.VectorGeometry

Vector4bMake GLS.VectorGeometry

Vector4dMake GLS.VectorGeometry

Vector4dMake GLS.VectorGeometry

Vector4dMake GLS.VectorGeometry

Vector4fMake GLS.VectorGeometry

Vector4fMake GLS.VectorGeometry

Vector4fMake GLS.VectorGeometry

4x
Vector4iMake GLS.VectorGeometry

Vector4iMake GLS.VectorGeometry

Vector4iMake GLS.VectorGeometry

Vector4sMake GLS.VectorGeometry

Vector4sMake GLS.VectorGeometry

Vector4sMake GLS.VectorGeometry

VectorAbs GLS.VectorGeometry

Returns a vector with components replaced by their Abs value. }
VectorAbs GLS.VectorGeometry

Returns a vector with components replaced by their Abs value. }
VectorAdd GLS.VectorGeometry

VectorAdd GLS.VectorGeometry

VectorAdd GLS.VectorGeometry

VectorAdd GLS.VectorGeometry

Adds two vectors and places result in vr
VectorAdd GLS.VectorGeometry

Returns the sum of two affine vectors
VectorAdd GLS.VectorGeometry

Returns the sum of two homogeneous vectors
VectorAdd GLS.VectorGeometry

Sums up f to each component of the vector
VectorAdd GLS.VectorGeometry

Sums up f to each component of the vector
VectorAffineDblToFlt GLS.VectorGeometry

Converts a vector containing double sized values into a vector with single sized values
VectorAffineFltToDbl GLS.VectorGeometry

Converts a vector containing single sized values into a vector with double sized values
VectorAngleCombine GLS.VectorGeometry

VectorAngleCosine GLS.VectorGeometry

Calculates the cosine of the angle between Vector1 and Vector2. Result = DotProduct(V1, V2) / (Length(V1) * Length(V2))
VectorAngleCosine GLS.VectorGeometry

Calculates the cosine of the angle between Vector1 and Vector2. Result = DotProduct(V1, V2) / (Length(V1) * Length(V2))
VectorAngleLerp GLS.VectorGeometry

VectorArrayAdd GLS.VectorGeometry

Adds delta to nb vectors in src and places result in dest
VectorArrayLerp GLS.VectorGeometry

VectorArrayLerp GLS.VectorGeometry

VectorArrayLerp GLS.VectorGeometry

Calculates linear interpolation between vector arrays
VectorCombine GLS.VectorGeometry

Makes a linear combination of two vectors and place result in vr
VectorCombine GLS.VectorGeometry

Makes a linear combination of two vectors and place result in vr
VectorCombine GLS.VectorGeometry

Makes a linear combination of two vectors and place result in vr, F1=1.0
VectorCombine GLS.VectorGeometry

Makes a linear combination of two vectors and return the result
VectorCombine GLS.VectorGeometry

Makes a linear combination of two vectors and return the result
VectorCombine GLS.VectorGeometry

Makes a linear combination of two vectors and return the result
VectorCombine3 GLS.VectorGeometry

VectorCombine3 GLS.VectorGeometry

Makes a linear combination of three vectors and return the result
VectorCombine3 GLS.VectorGeometry

Makes a linear combination of three vectors and return the result
VectorCombine3 GLS.VectorGeometry

Makes a linear combination of three vectors and return the result
VectorCrossProduct GLS.VectorGeometry

Calculates the cross product between vector 1 and 2
VectorCrossProduct GLS.VectorGeometry

Calculates the cross product between vector 1 and 2
VectorCrossProduct GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr
VectorCrossProduct GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr
VectorCrossProduct GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr
VectorCrossProduct GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr
VectorDblToFlt GLS.VectorGeometry

Converts a vector containing double sized values into a vector with single sized values
VectorDistance GLS.VectorGeometry

Calculates distance between two vectors. ie. sqrt(sqr(v1[x]-v2[x])+...)
VectorDistance GLS.VectorGeometry

Calculates distance between two vectors. ie. sqrt(sqr(v1[x]-v2[x])+...) (w component ignored)
VectorDistance2 GLS.VectorGeometry

Calculates the "Norm 2" between two vectors. ie. sqr(v1[x]-v2[x])+...
VectorDistance2 GLS.VectorGeometry

Calculates the "Norm 2" between two vectors. ie. sqr(v1[x]-v2[x])+...(w component ignored)
VectorDivide GLS.EllipseCollision

VectorDivide GLS.VectorGeometry

VectorDivide GLS.VectorGeometry

VectorDotProduct GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y]
VectorDotProduct GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]
VectorDotProduct GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]
VectorDotProduct GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]
VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

VectorEquals GLS.VectorGeometry

function VectorEquals(const V1, V2: TVector3f): Boolean; overload; //declared further
VectorEquals GLS.VectorGeometry

function VectorEquals(const V1, V2: TVector4f): Boolean; overload; //declared further
VectorEquals GLS.VectorGeometry

True if all components are equal.
VectorEquals GLS.VectorGeometry

True if all components are equal.
VectorFileFormatExtensionByIndex GLS.VectorFileObjects

Returns an extension by its index in the vector files dialogs filter. Use VectorFileFormatsFilter to obtain the filter.
VectorFileFormatsFilter GLS.VectorFileObjects

A file extension filter suitable for dialog's 'Filter' property
VectorFileFormatsSaveFilter GLS.VectorFileObjects

A file extension filter suitable for a savedialog's 'Filter' property
VectorFltToDbl GLS.VectorGeometry

Converts a vector containing single sized values into a vector with double sized values
VectorIsNull GLS.VectorGeometry

True if x=y=z=0, w ignored
VectorIsNull GLS.VectorGeometry

True if x=y=z=0, w ignored
VectorLength GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y).
VectorLength GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y).
VectorLength GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z).
VectorLength GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z).
VectorLength GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z+w*w).
VectorLength GLS.VectorGeometry

Calculates the length of a vector following the equation: sqrt(x*x+y*y+...). Note: The parameter of this function is declared as open array. Thus there's no restriction about the number of the components of the vector.
VectorLerp GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t
VectorLerp GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t
VectorLerp GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t, places result in vr
VectorLerp GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t, places result in vr
VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessEqualThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorLessThen GLS.VectorGeometry

VectorMake GLS.VectorGeometry

VectorMake GLS.VectorGeometry

VectorMake GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreEqualThen GLS.VectorGeometry

VectorMoreThen GLS.VectorGeometry

3i
VectorMoreThen GLS.VectorGeometry

3i
VectorMoreThen GLS.VectorGeometry

3s
VectorMoreThen GLS.VectorGeometry

3s
VectorMoreThen GLS.VectorGeometry

4f
VectorMoreThen GLS.VectorGeometry

4f
VectorMoreThen GLS.VectorGeometry

4i
VectorMoreThen GLS.VectorGeometry

4i
VectorMoreThen GLS.VectorGeometry

4s
VectorMoreThen GLS.VectorGeometry

4s
VectorMoreThen GLS.VectorGeometry

ComparedNumber 3f
VectorMoreThen GLS.VectorGeometry

Vector comparison functions: 3f
VectorNegate GLS.VectorGeometry

VectorNegate GLS.VectorGeometry

Negates the vector
VectorNorm GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = v.X*v.X + ... Also known as "Norm 2" in the math world, this is sqr(VectorLength).
VectorNorm GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = x * x + y * y Also known as "Norm 2" in the math world, this is sqr(VectorLength).
VectorNorm GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = x*x + y*y + z*z Also known as "Norm 2" in the math world, this is sqr(VectorLength).
VectorNorm GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = x*x + y*y + z*z Also known as "Norm 2" in the math world, this is sqr(VectorLength).
VectorNormalize GLS.VectorGeometry

Returns the vector transformed to unit length
VectorNormalize GLS.VectorGeometry

Returns the vector transformed to unit length
VectorNormalize GLS.VectorGeometry

Returns the vector transformed to unit length (w component dropped)
VectorPerpendicular GLS.VectorGeometry

Calculates a vector perpendicular to N. N is assumed to be of unit length, subtract out any component parallel to N
VectorReflect GLS.VectorGeometry

Reflects vector V against N (assumes N is normalized)
VectorRotateAroundX GLS.VectorGeometry

Returns given vector rotated around the X axis (alpha is in rad)
VectorRotateAroundY GLS.VectorGeometry

Returns given vector rotated around the Y axis (alpha is in rad)
VectorRotateAroundY GLS.VectorGeometry

Returns given vector rotated around the Y axis in vr (alpha is in rad)
VectorRotateAroundZ GLS.VectorGeometry

Returns given vector rotated around the Z axis (alpha is in rad)
VectorScale GLS.VectorGeometry

Returns a vector scaled by a factor
VectorScale GLS.VectorGeometry

Returns a vector scaled by a factor
VectorScale GLS.VectorGeometry

Returns a vector scaled by a factor
VectorScale GLS.VectorGeometry

RScales given vector by another vector
VectorScale GLS.VectorGeometry

Scales a vector by a factor and places result in vr
VectorScale GLS.VectorGeometry

Scales a vector by a factor and places result in vr
VectorScale GLS.VectorGeometry

Scales a vector by a factor and places result in vr
VectorScale GLS.VectorGeometry

Scales given vector by another vector
VectorSpacing GLS.VectorGeometry

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y])+..., also know as "Norm1".
VectorSpacing GLS.VectorGeometry

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y])+..., also know as "Norm1".
VectorSpacing GLS.VectorGeometry

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y]), also know as "Norm1".
VectorSubtract GLS.VectorGeometry

VectorSubtract GLS.VectorGeometry

VectorSubtract GLS.VectorGeometry

Returns V1-V2
VectorSubtract GLS.VectorGeometry

Returns V1-V2
VectorSubtract GLS.VectorGeometry

Returns V1-V2
VectorSubtract GLS.VectorGeometry

Subtracts V2 from V1 and return value in result
VectorSubtract GLS.VectorGeometry

Subtracts V2 from V1 and return value in result
VectorSubtract GLS.VectorGeometry

Subtracts V2 from V1 and return value in result
VectorSubtract GLS.VectorGeometry

Subtracts V2 from V1 and return value in result
VectorSubtract GLS.VectorGeometry

Subtracts V2 from V1 and return value in result
VectorTransform GLS.VectorGeometry

Transforms a homogeneous vector by multiplying it with a matrix
VectorTransform GLS.VectorGeometry

Transforms a homogeneous vector by multiplying it with a matrix
VectorTransform GLS.VectorGeometry

Transforms an affine vector by multiplying it with a matrix
VectorTransform GLS.VectorGeometry

Transforms an affine vector by multiplying it with a matrix
VerifyDelphiODE Physics.ODEImport

VideoForWindowsVersion Formats.VFW

*************************************************************************** * * VideoForWindowsVersion() - returns version of VfW * **************************************************************************
VirtualKeyCodeToKeyName GLS.Keyboard

Converts a virtual key code to its name. The name is expressed using the locale windows options.
WeldVertices GLS.MeshUtils

Welds all vertices separated by a distance inferior to weldRadius. Any two vertices whose distance is inferior to weldRadius will be merged (ie. one of them will be removed, and the other replaced by the barycenter). The indicesMap is constructed to allow remapping of indices lists with the simple rule: newVertexIndex:=indicesMap[oldVertexIndex]. The logic is protected from chain welding, and only vertices that were initially closer than weldRadius will be welded in the same resulting vertex. This procedure can be used for mesh simplification, but preferably at design-time for it is not optimized for speed. This is more a "fixing" utility for meshes exported from high-polycount CAD tools (to remove duplicate vertices, quantification errors, etc.)
wglCopyContext GLS.OpenGLAdapter

TGLExtensionsAndEntryPoints —————————— Windows OpenGL (WGL) support functions {$IFDEF SUPPORT_WGL} function wglGetProcAddress(ProcName: PAnsiChar): Pointer; stdcall; external opengl32;
wglCreateContext GLS.OpenGLAdapter

wglCreateLayerContext GLS.OpenGLAdapter

wglDeleteContext GLS.OpenGLAdapter

wglGetCurrentContext GLS.OpenGLAdapter

function wglDescribeLayerPlane(p1: HDC; p2, p3: integer; p4: cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;
wglGetCurrentDC GLS.OpenGLAdapter

wglMakeCurrent GLS.OpenGLAdapter

function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
wglRealizeLayerPalette GLS.OpenGLAdapter

wglShareLists GLS.OpenGLAdapter

function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;
wglSwapLayerBuffers GLS.OpenGLAdapter

WordToIntegerArray GLS.Utils

Copies the values of Source to Dest (converting word values to integer values)
WriteCRLFString GLS.Utils

Write the string and a CRLF in the stream
WriteModuleData GLS.ModuleLoader

WriteMotorolaNumber Formats.LWO

WriteS0 Formats.LWO

WriteU4AsVX Formats.LWO

WriteXMLFile GLS.CrossXML

WriteXMLFile GLS.CrossXML

XCollectionEditorForm FmXCollectionEditor

_putenv GLS.SDLWindow

—————————————————————————– Get Environment Routines ——————————————————————————


GLSysHelp v.2.1: All Identifiers

All Identifiers

Name

Unit

Description

AABBContainsAABB

GLS.GeometryBB

Determines to which extent one AABB contains another AABB

AABBContainsBSphere

GLS.GeometryBB

Determines to which extent an AABB contains a BSpher

AABBFitsInAABBAbsolute

GLS.GeometryBB

Checks whether one Bounding box aligned with the world axes fits within another Bounding box

AABBFromSweep

GLS.GeometryBB

Make an AABB that is formed by sweeping a sphere (or AABB) from Start to Dest

AABBInclude

GLS.GeometryBB

Resize the AABB if necessary to include p.

AABBIntersection

GLS.GeometryBB

Returns the intersection AABB of two AABBs. If the AABBs don't intersect, will return a degenerated AABB (plane, line or point).

AABBScale

GLS.GeometryBB

AABBToBB

GLS.GeometryBB

Converts an AABB to its canonical BB.

AABBToBB

GLS.GeometryBB

Transforms an AABB to a BB.

AABBToBSphere

GLS.GeometryBB

Convert an AABB to a BSphere

AABBToClipRect

GLS.GeometryBB

Projects an AABB and determines the extent of its projection as a clip rect.

AABBTransform

GLS.GeometryBB

AbsVector

GLS.VectorGeometry

Vector components are replaced by their Abs() value. }

AbsVector

GLS.VectorGeometry

Vector components are replaced by their Abs() value. }

ActiveSoundManager

GLS.Sound

ActiveVfsPAK

GLS.FileVfsPAK

ActorAddForce

Physics.PhysXImport

ActorCount

Physics.PhysXImport

ACubicFirst3DS

Formats.m3DSConst

maximum reflection map aliasing used with TAcubic3DS structure

ACubicFlat3DS

Formats.m3DSConst

AddAABB

GLS.GeometryBB

AddBB

GLS.GeometryBB

Adds a BB into another BB. The original BB (c1) is extended if necessary to contain c2.

AddChild

Formats.m3DSUtils

functions to retrieve/modify data related to materials, lights and objects (meshs)

AddChildOrdered

Formats.m3DSUtils

AddClassSymbol

DWS.HelperFunc

AddForwardDeclaration

DWS.HelperFunc

AddPoint

GLS.VectorGeometry

Adds V2 to V1, result is placed in V1. W coordinate is always 1.

AddPropertyToClass

DWS.HelperFunc

AddSCODEGeomsToODESpace

Physics.ODESkeletonColliders

After loading call this function to add all the geoms in a skeleton collider list to a given ODE space

AddVector

GLS.VectorGeometry

Adds V2 to V1, result is placed in V1

AddVector

GLS.VectorGeometry

Adds V2 to V1, result is placed in V1

AddVector

GLS.VectorGeometry

Adds V2 to V1, result is placed in V1

AddVector

GLS.VectorGeometry

Sums up f to each component of the vector

AddVector

GLS.VectorGeometry

Sums up f to each component of the vector

AddVerletConstriantsToVerletWorld

GLS.VerletTypes

After loading call this function to add all the constraints in a skeleton collider list to a given verlet world.

AdjointMatrix

GLS.VectorGeometry

Adjoint of a 3x3 matrix, used in the computation of the inverse of a 3x3 matrix

AdjointMatrix

GLS.VectorGeometry

Adjoint of a 4x4 matrix, used in the computation of the inverse of a 4x4 matrix

AffineVectorEquals

GLS.VectorGeometry

True if X, Y and Z components are equal.

AffineVectorMake

GLS.VectorGeometry

AffineVectorMake

GLS.VectorGeometry

ALAUXILIARYEFFECTSLOTF

Sounds.OpenALImport

Set a floating point parameter for an Auxiliary Slot object.

ALAUXILIARYEFFECTSLOTFV

Sounds.OpenALImport

ALAUXILIARYEFFECTSLOTI

Sounds.OpenALImport

Set an integer parameter for a Auxiliary Slot object.

ALAUXILIARYEFFECTSLOTIV

Sounds.OpenALImport

alBuffer3f

Sounds.OpenALImport

alBuffer3i

Sounds.OpenALImport

alBufferData

Sounds.OpenALImport

Specify the data to be filled into a buffer.

alBufferf

Sounds.OpenALImport

alBufferfv

Sounds.OpenALImport

alBufferi

Sounds.OpenALImport

set parameter for an buffer object

alBufferiv

Sounds.OpenALImport

alcCaptureCloseDevice

Sounds.OpenALImport

alcCaptureOpenDevice

Sounds.OpenALImport

Capture functions

alcCaptureSamples

Sounds.OpenALImport

alcCaptureStart

Sounds.OpenALImport

alcCaptureStop

Sounds.OpenALImport

alcCloseDevice

Sounds.OpenALImport

alcCreateContext

Sounds.OpenALImport

alc functions Context Support

alcDestroyContext

Sounds.OpenALImport

alcGetContextsDevice

Sounds.OpenALImport

alcGetCurrentContext

Sounds.OpenALImport

alcGetEnumValue

Sounds.OpenALImport

alcGetError

Sounds.OpenALImport

Error Support Obtain the most recent Context error

alcGetIntegerv

Sounds.OpenALImport

alcGetProcAddress

Sounds.OpenALImport

alcGetString

Sounds.OpenALImport

Query functions

alcIsExtensionPresent

Sounds.OpenALImport

Extension support. Query for the presence of an extension, and obtain any appropriate function pointers and enum values.

alcMakeContextCurrent

Sounds.OpenALImport

alcOpenDevice

Sounds.OpenALImport

Device Management

alcProcessContext

Sounds.OpenALImport

alcSuspendContext

Sounds.OpenALImport

ALC_ALL_ATTRIBUTES

Sounds.OpenALImport

ALC_ALL_DEVICES_SPECIFIER

Sounds.OpenALImport

ALC_ATTRIBUTES_SIZE

Sounds.OpenALImport

ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER

Sounds.OpenALImport

ALC_CAPTURE_DEVICE_SPECIFIER

Sounds.OpenALImport

Capture extension

ALC_CAPTURE_SAMPLES

Sounds.OpenALImport

ALC_DEFAULT_ALL_DEVICES_SPECIFIER

Sounds.OpenALImport

ALC_ENUMERATE_ALL_EXT enums

ALC_DEFAULT_DEVICE_SPECIFIER

Sounds.OpenALImport

The Specifier string for default device

ALC_DEVICE_SPECIFIER

Sounds.OpenALImport

ALC_EFX_MAJOR_VERSION

Sounds.OpenALImport

Context definitions to be used with alcCreateContext. These values must be unique and not conflict with other al context values.

ALC_EFX_MINOR_VERSION

Sounds.OpenALImport

ALC_EXTENSIONS

Sounds.OpenALImport

ALC_EXT_EFX_NAME

Sounds.OpenALImport

EFX Extension

ALC_FALSE

Sounds.OpenALImport

Boolean False.

ALC_FREQUENCY

Sounds.OpenALImport

followed by <int> Hz

ALC_INVALID

Sounds.OpenALImport

bad value

ALC_INVALID_CONTEXT

Sounds.OpenALImport

invalid context ID

ALC_INVALID_DEVICE

Sounds.OpenALImport

No device

ALC_INVALID_ENUM

Sounds.OpenALImport

bad enum

ALC_INVALID_VALUE

Sounds.OpenALImport

bad value

ALC_MAJOR_VERSION

Sounds.OpenALImport

ALC_MAX_AUXILIARY_SENDS

Sounds.OpenALImport

ALC_MINOR_VERSION

Sounds.OpenALImport

ALC_MONO_SOURCES

Sounds.OpenALImport

followed by <int> Num of requested Mono (3D) Sources

ALC_NO_ERROR

Sounds.OpenALImport

errors No error

ALC_OUT_OF_MEMORY

Sounds.OpenALImport

Out of memory.

ALC_REFRESH

Sounds.OpenALImport

followed by <int> Hz

ALC_STEREO_SOURCES

Sounds.OpenALImport

followed by <int> Num of requested Stereo Sources

ALC_SYNC

Sounds.OpenALImport

followed by AL_TRUE, AL_FALSE

ALC_TRUE

Sounds.OpenALImport

Boolean True.

ALDELETEAUXILIARYEFFECTSLOTS

Sounds.OpenALImport

Delete Auxiliary Slot objects.

alDeleteBuffers

Sounds.OpenALImport

ALDELETEEFFECTS

Sounds.OpenALImport

Delete Effect objects.

ALDELETEFILTERS

Sounds.OpenALImport

Delete Filter objects.

alDeleteSources

Sounds.OpenALImport

Delete Source objects.

alDisable

Sounds.OpenALImport

alDistanceModel

Sounds.OpenALImport

Global Parameters

alDopplerFactor

Sounds.OpenALImport

alDopplerVelocity

Sounds.OpenALImport

ALEFFECTF

Sounds.OpenALImport

Set a floating point parameter for an Effect object.

ALEFFECTFV

Sounds.OpenALImport

ALEFFECTI

Sounds.OpenALImport

Set an integer parameter for an Effect object.

ALEFFECTIV

Sounds.OpenALImport

alEnable

Sounds.OpenALImport

END EAX extension OpenAL Maintenance Functions State Management and Query. Error Handling. Extension Support. Renderer State management.

ALFILTERF

Sounds.OpenALImport

Set a floating point parameter for an Filter object.

ALFILTERFV

Sounds.OpenALImport

ALFILTERI

Sounds.OpenALImport

Set an integer parameter for a Filter object.

ALFILTERIV

Sounds.OpenALImport

ALGENAUXILIARYEFFECTSLOTS

Sounds.OpenALImport

Auxiliary Slot object functions Creates Auxiliary Slot objects.

alGenBuffers

Sounds.OpenALImport

BUFFER Buffer objects are storage space for sample data. Buffers are referred to by Sources. There can be more than one Source using the same Buffer data. If Buffers have to be duplicated on a per-Source basis, the driver has to take care of allocation, copying, and deallocation as well as propagating buffer data changes. Buffer object generation.

ALGENEFFECTS

Sounds.OpenALImport

EFX functions Effect object functions. Create Effect objects.

ALGENFILTERS

Sounds.OpenALImport

Filter object functions Creates Filter objects.

alGenSources

Sounds.OpenALImport

SOURCE Source objects are by default localized. Sources take the PCM data provided in the specified Buffer, apply Source-specific modifications, and then submit them to be mixed according to spatial arrangement etc. Create Source objects.

ALGETAUXILIARYEFFECTSLOTF

Sounds.OpenALImport

Get a floating point parameter for a Auxiliary Slot object.

ALGETAUXILIARYEFFECTSLOTFV

Sounds.OpenALImport

ALGETAUXILIARYEFFECTSLOTI

Sounds.OpenALImport

Get an integer parameter for a Auxiliary Slot object.

ALGETAUXILIARYEFFECTSLOTIV

Sounds.OpenALImport

alGetBoolean

Sounds.OpenALImport

State retrieval.through return value ( for compatibility )

alGetBooleanv

Sounds.OpenALImport

State retrieval.

alGetBuffer3f

Sounds.OpenALImport

alGetBuffer3i

Sounds.OpenALImport

alGetBufferf

Sounds.OpenALImport

alGetBufferfv

Sounds.OpenALImport

alGetBufferi

Sounds.OpenALImport

read parameter for an buffer object

alGetBufferiv

Sounds.OpenALImport

alGetDouble

Sounds.OpenALImport

alGetDoublev

Sounds.OpenALImport

ALGETEFFECTF

Sounds.OpenALImport

Get a floating point parameter for an Effect object.

ALGETEFFECTFV

Sounds.OpenALImport

ALGETEFFECTI

Sounds.OpenALImport

Get an integer parameter for an Effect object.

ALGETEFFECTIV

Sounds.OpenALImport

alGetEnumValue

Sounds.OpenALImport

Obtain the integer value of an enumeration (usually an extension) with the name ename.

alGetError

Sounds.OpenALImport

ERROR support. Obtain the most recent error generated in the AL state machine.

ALGETFILTERF

Sounds.OpenALImport

Get a floating point parameter for a Filter object.

ALGETFILTERFV

Sounds.OpenALImport

ALGETFILTERI

Sounds.OpenALImport

Get an integer parameter for a Filter object.

ALGETFILTERIV

Sounds.OpenALImport

alGetFloat

Sounds.OpenALImport

alGetFloatv

Sounds.OpenALImport

alGetInteger

Sounds.OpenALImport

alGetIntegerv

Sounds.OpenALImport

alGetListenerfv

Sounds.OpenALImport

alGetListeneriv

Sounds.OpenALImport

TODO: verder ontbrekende functies toevoegen. Retrieve listener information

alGetProcAddress

Sounds.OpenALImport

Obtain the address of a function (usually an extension) with the name fname. All addresses are context-independent.

alGetSource3f

Sounds.OpenALImport

Get three float scalar parameter for a Source object.

alGetSource3i

Sounds.OpenALImport

Get three integer scalar parameter for a Source object.

alGetSourcef

Sounds.OpenALImport

Get a float scalar parameter for a Source object.

alGetSourcefv

Sounds.OpenALImport

Get a float vector parameter for a Source object.

alGetSourcei

Sounds.OpenALImport

Get an integer scalar parameter for a Source object.

alGetSourceiv

Sounds.OpenALImport

Get a integer vector parameter for a Source object.

alGetString

Sounds.OpenALImport

AlgorithmMStringToDouble

PasDblStrUtils

AlgorithmMStringToDouble

PasDblStrUtils

alHint

Sounds.OpenALImport

Application preferences for driver performance choices.

ALISAUXILIARYEFFECTSLOT

Sounds.OpenALImport

Verify a handle is a valid Auxiliary Slot.

alIsBuffer

Sounds.OpenALImport

ALISEFFECT

Sounds.OpenALImport

Verify a handle is a valid Effect.

alIsEnabled

Sounds.OpenALImport

alIsExtensionPresent

Sounds.OpenALImport

EXTENSION support. Obtain the address of a function (usually an extension) with the name fname. All addresses are context-independent.

ALISFILTER

Sounds.OpenALImport

Verify a handle is a valid Filter.

alIsSource

Sounds.OpenALImport

Verify a handle is a valid Source.

alListener3f

Sounds.OpenALImport

Listener Position. Listener Velocity.

alListener3i

Sounds.OpenALImport

alListenerf

Sounds.OpenALImport

LISTENER Listener is the sample position for a given context. The multi-channel (usually stereo) output stream generated by the mixer is parametrized by this Listener object: its position and velocity relative to Sources, within occluder and reflector geometry. Listener Gain: default 1.0f.

alListenerfv

Sounds.OpenALImport

Listener Position: array [0..2] of TALfloat Listener Velocity: array [0..2] of TALfloat Listener Orientation: array [0..5] of TALfloat forward and up vector.

alListeneri

Sounds.OpenALImport

Listener Environment: default 0.

alListeneriv

Sounds.OpenALImport

ALLOC_SIZE

GLS.Isosurface

AlphaGammaBrightCorrection

GLS.ImageUtils

alSource3f

Sounds.OpenALImport

Set a 3 float parameter for a Source object.

alSource3i

Sounds.OpenALImport

Set an 3 integer parameter for a Source object.

alSourcef

Sounds.OpenALImport

Set a float parameter for a Source object.

alSourcefv

Sounds.OpenALImport

Set a float vector parameter for a Source object.

alSourcei

Sounds.OpenALImport

Set an integer parameter for a Source object.

alSourceiv

Sounds.OpenALImport

Set an integer vector parameter for a Source object.

alSourcePause

Sounds.OpenALImport

Pause a source, temporarily remove it from the mixer list.

alSourcePausev

Sounds.OpenALImport

alSourcePlay

Sounds.OpenALImport

Activate a source, start replay.

alSourcePlayv

Sounds.OpenALImport

vector forms of those functions we all love

alSourceQueueBuffers

Sounds.OpenALImport

Queue stuff

alSourceRewind

Sounds.OpenALImport

Rewind a souce. Stopped paused and playing sources, resets the offset into the PCM data and sets state to AL_INITIAL.

alSourceRewindv

Sounds.OpenALImport

alSourceStop

Sounds.OpenALImport

Stop a source, temporarily remove it from the mixer list, and reset its internal state to pre-Play. To remove a Source completely, it has to be deleted following Stop, or before Play.

alSourceStopv

Sounds.OpenALImport

alSourceUnqueueBuffers

Sounds.OpenALImport

alSpeedOfSound

Sounds.OpenALImport

alutExit

Sounds.OpenALImport

alutInit

Sounds.OpenALImport

Internal Alut functions

alutLoadWAVFile

Sounds.OpenALImport

alutLoadWAVMemory

Sounds.OpenALImport

alutUnloadWAV

Sounds.OpenALImport

AL_AIR_ABSORPTION_FACTOR

Sounds.OpenALImport

AL_AUTOWAH_ATTACK_TIME

Sounds.OpenALImport

Autowah Parameters

AL_AUTOWAH_DEFAULT_ATTACK_TIME

Sounds.OpenALImport

AL_AUTOWAH_DEFAULT_PEAK_GAIN

Sounds.OpenALImport

AL_AUTOWAH_DEFAULT_RELEASE_TIME

Sounds.OpenALImport

AL_AUTOWAH_DEFAULT_RESONANCE

Sounds.OpenALImport

AL_AUTOWAH_MAX_ATTACK_TIME

Sounds.OpenALImport

AL_AUTOWAH_MAX_PEAK_GAIN

Sounds.OpenALImport

AL_AUTOWAH_MAX_RELEASE_TIME

Sounds.OpenALImport

AL_AUTOWAH_MAX_RESONANCE

Sounds.OpenALImport

AL_AUTOWAH_MIN_ATTACK_TIME

Sounds.OpenALImport

AL autowah effect parameter ranges and defaults

AL_AUTOWAH_MIN_PEAK_GAIN

Sounds.OpenALImport

AL_AUTOWAH_MIN_RELEASE_TIME

Sounds.OpenALImport

AL_AUTOWAH_MIN_RESONANCE

Sounds.OpenALImport

AL_AUTOWAH_PEAK_GAIN

Sounds.OpenALImport

AL_AUTOWAH_RELEASE_TIME

Sounds.OpenALImport

AL_AUTOWAH_RESONANCE

Sounds.OpenALImport

AL_AUXILIARY_SEND_FILTER

Sounds.OpenALImport

AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_AUXILIARY_SEND_FILTER_GAIN_AUTO

Sounds.OpenALImport

AL_BANDPASS_GAIN

Sounds.OpenALImport

Bandpass Parameters

AL_BANDPASS_GAINHF

Sounds.OpenALImport

AL_BANDPASS_GAINLF

Sounds.OpenALImport

AL_BITS

Sounds.OpenALImport

AL_BUFFER

Sounds.OpenALImport

Indicate the buffer to provide sound samples. Type: ALuint. Range: any valid Buffer id.

AL_BUFFERS_PROCESSED

Sounds.OpenALImport

AL_BUFFERS_QUEUED

Sounds.OpenALImport

Buffer Queue params

AL_BYTE_OFFSET

Sounds.OpenALImport

AL_CHANNELS

Sounds.OpenALImport

AL_CHANNEL_MASK

Sounds.OpenALImport

Specify the channel mask. (Creative) Type: ALuint Range: [0 - 255]

AL_CHORUS_DEFAULT_DELAY

Sounds.OpenALImport

AL_CHORUS_DEFAULT_DEPTH

Sounds.OpenALImport

AL_CHORUS_DEFAULT_FEEDBACK

Sounds.OpenALImport

AL_CHORUS_DEFAULT_PHASE

Sounds.OpenALImport

AL_CHORUS_DEFAULT_RATE

Sounds.OpenALImport

AL_CHORUS_DEFAULT_WAVEFORM

Sounds.OpenALImport

AL_CHORUS_DELAY

Sounds.OpenALImport

AL_CHORUS_DEPTH

Sounds.OpenALImport

AL_CHORUS_FEEDBACK

Sounds.OpenALImport

AL_CHORUS_MAX_DELAY

Sounds.OpenALImport

AL_CHORUS_MAX_DEPTH

Sounds.OpenALImport

AL_CHORUS_MAX_FEEDBACK

Sounds.OpenALImport

AL_CHORUS_MAX_PHASE

Sounds.OpenALImport

AL_CHORUS_MAX_RATE

Sounds.OpenALImport

AL_CHORUS_MAX_WAVEFORM

Sounds.OpenALImport

AL_CHORUS_MIN_DELAY

Sounds.OpenALImport

AL_CHORUS_MIN_DEPTH

Sounds.OpenALImport

AL_CHORUS_MIN_FEEDBACK

Sounds.OpenALImport

AL_CHORUS_MIN_PHASE

Sounds.OpenALImport

AL_CHORUS_MIN_RATE

Sounds.OpenALImport

AL_CHORUS_MIN_WAVEFORM

Sounds.OpenALImport

AL chorus effect parameter ranges and defaults

AL_CHORUS_PHASE

Sounds.OpenALImport

AL_CHORUS_RATE

Sounds.OpenALImport

AL_CHORUS_WAVEFORM

Sounds.OpenALImport

Chorus Parameters

AL_CHORUS_WAVEFORM_SINUSOID

Sounds.OpenALImport

AL_CHORUS_WAVEFORM_TRIANGLE

Sounds.OpenALImport

AL_COMPRESSOR_DEFAULT_ONOFF

Sounds.OpenALImport

AL_COMPRESSOR_MAX_ONOFF

Sounds.OpenALImport

AL_COMPRESSOR_MIN_ONOFF

Sounds.OpenALImport

AL compressor effect parameter ranges and defaults

AL_COMPRESSOR_ONOFF

Sounds.OpenALImport

Compressor Parameters

AL_CONE_INNER_ANGLE

Sounds.OpenALImport

Directional source, inner cone angle, in degrees. Range: [0-360] Default: 360

AL_CONE_OUTER_ANGLE

Sounds.OpenALImport

Directional source, outer cone angle, in degrees. Range: [0-360] Default: 360

AL_CONE_OUTER_GAIN

Sounds.OpenALImport

Directional source, outer cone gain. Default: 0.0 Range: [0.0 - 1.0] Logarithmic

AL_CONE_OUTER_GAINHF

Sounds.OpenALImport

AL_DEFAULT_AIR_ABSORPTION_FACTOR

Sounds.OpenALImport

AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO

Sounds.OpenALImport

AL_DEFAULT_CONE_OUTER_GAINHF

Sounds.OpenALImport

AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_DEFAULT_METERS_PER_UNIT

Sounds.OpenALImport

Listener parameter value definitions, ranges and defaults. AL_MIN_METERS_PER_UNIT =FLT_MIN; AL_MAX_METERS_PER_UNIT =FLT_MAX;

AL_DEFAULT_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_DIRECTION

Sounds.OpenALImport

Specify the current direction.

AL_DIRECT_FILTER

Sounds.OpenALImport

Source definitions to be used with alSource functions. These values must be unique and not conflict with other al source values.

AL_DIRECT_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_DISTANCE_MODEL

Sounds.OpenALImport

Distance models
used in conjunction with DistanceModel
implicit: NONE, which disances distance attenuation.

AL_DISTORTION_DEFAULT_EDGE

Sounds.OpenALImport

AL_DISTORTION_DEFAULT_EQBANDWIDTH

Sounds.OpenALImport

AL_DISTORTION_DEFAULT_EQCENTER

Sounds.OpenALImport

AL_DISTORTION_DEFAULT_GAIN

Sounds.OpenALImport

AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF

Sounds.OpenALImport

AL_DISTORTION_EDGE

Sounds.OpenALImport

Distortion Parameters

AL_DISTORTION_EQBANDWIDTH

Sounds.OpenALImport

AL_DISTORTION_EQCENTER

Sounds.OpenALImport

AL_DISTORTION_GAIN

Sounds.OpenALImport

AL_DISTORTION_LOWPASS_CUTOFF

Sounds.OpenALImport

AL_DISTORTION_MAX_EDGE

Sounds.OpenALImport

AL_DISTORTION_MAX_EQBANDWIDTH

Sounds.OpenALImport

AL_DISTORTION_MAX_EQCENTER

Sounds.OpenALImport

AL_DISTORTION_MAX_GAIN

Sounds.OpenALImport

AL_DISTORTION_MAX_LOWPASS_CUTOFF

Sounds.OpenALImport

AL_DISTORTION_MIN_EDGE

Sounds.OpenALImport

AL distortion effect parameter ranges and defaults

AL_DISTORTION_MIN_EQBANDWIDTH

Sounds.OpenALImport

AL_DISTORTION_MIN_EQCENTER

Sounds.OpenALImport

AL_DISTORTION_MIN_GAIN

Sounds.OpenALImport

AL_DISTORTION_MIN_LOWPASS_CUTOFF

Sounds.OpenALImport

AL_DOPPLER_FACTOR

Sounds.OpenALImport

Global tweakage. Doppler scale. Default 1.0

AL_DOPPLER_VELOCITY

Sounds.OpenALImport

Tweaks speed of propagation.

AL_EAXREVERB_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_DECAY_HFLIMIT

Sounds.OpenALImport

AL_EAXREVERB_DECAY_HFRATIO

Sounds.OpenALImport

AL_EAXREVERB_DECAY_LFRATIO

Sounds.OpenALImport

AL_EAXREVERB_DECAY_TIME

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_HFRATIO

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_LFRATIO

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DECAY_TIME

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DENSITY

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_DIFFUSION

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_ECHO_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_ECHO_TIME

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_GAIN

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_GAINLF

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_HFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_LFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_MODULATION_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_MODULATION_TIME

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN

Sounds.OpenALImport

AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_EAXREVERB_DENSITY

Sounds.OpenALImport

EFX AEX extenstion Effect object definitions to be used with alEffect functions. Effect parameter value definitions, ranges, and defaults appear farther down in this file. AL EAXReverb effect parameters.

AL_EAXREVERB_DIFFUSION

Sounds.OpenALImport

AL_EAXREVERB_ECHO_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_ECHO_TIME

Sounds.OpenALImport

AL_EAXREVERB_GAIN

Sounds.OpenALImport

AL_EAXREVERB_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_GAINLF

Sounds.OpenALImport

AL_EAXREVERB_HFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_EAXREVERB_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_EAXREVERB_LATE_REVERB_PAN

Sounds.OpenALImport

AL_EAXREVERB_LFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_HFLIMIT

Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_HFRATIO

Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_LFRATIO

Sounds.OpenALImport

AL_EAXREVERB_MAX_DECAY_TIME

Sounds.OpenALImport

AL_EAXREVERB_MAX_DENSITY

Sounds.OpenALImport

AL_EAXREVERB_MAX_DIFFUSION

Sounds.OpenALImport

AL_EAXREVERB_MAX_ECHO_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_MAX_ECHO_TIME

Sounds.OpenALImport

AL_EAXREVERB_MAX_GAIN

Sounds.OpenALImport

AL_EAXREVERB_MAX_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_MAX_GAINLF

Sounds.OpenALImport

AL_EAXREVERB_MAX_HFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_MAX_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_EAXREVERB_MAX_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_EAXREVERB_MAX_LFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_MAX_MODULATION_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_MAX_MODULATION_TIME

Sounds.OpenALImport

AL_EAXREVERB_MAX_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_EAXREVERB_MAX_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_HFLIMIT

Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_HFRATIO

Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_LFRATIO

Sounds.OpenALImport

AL_EAXREVERB_MIN_DECAY_TIME

Sounds.OpenALImport

AL_EAXREVERB_MIN_DENSITY

Sounds.OpenALImport

Effect parameter structures, value definitions, ranges and defaults. AL reverb effect parameter ranges and defaults

AL_EAXREVERB_MIN_DIFFUSION

Sounds.OpenALImport

AL_EAXREVERB_MIN_ECHO_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_MIN_ECHO_TIME

Sounds.OpenALImport

AL_EAXREVERB_MIN_GAIN

Sounds.OpenALImport

AL_EAXREVERB_MIN_GAINHF

Sounds.OpenALImport

AL_EAXREVERB_MIN_GAINLF

Sounds.OpenALImport

AL_EAXREVERB_MIN_HFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_MIN_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_EAXREVERB_MIN_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_EAXREVERB_MIN_LFREFERENCE

Sounds.OpenALImport

AL_EAXREVERB_MIN_MODULATION_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_MIN_MODULATION_TIME

Sounds.OpenALImport

AL_EAXREVERB_MIN_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_EAXREVERB_MIN_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_EAXREVERB_MODULATION_DEPTH

Sounds.OpenALImport

AL_EAXREVERB_MODULATION_TIME

Sounds.OpenALImport

AL_EAXREVERB_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_EAXREVERB_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_EAXREVERB_REFLECTIONS_PAN

Sounds.OpenALImport

AL_EAXREVERB_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_EAX_RAM_FREE

Sounds.OpenALImport

AL_EAX_RAM_SIZE

Sounds.OpenALImport

X-RAM enums

AL_ECHO_DAMPING

Sounds.OpenALImport

AL_ECHO_DEFAULT_DAMPING

Sounds.OpenALImport

AL_ECHO_DEFAULT_DELAY

Sounds.OpenALImport

AL_ECHO_DEFAULT_FEEDBACK

Sounds.OpenALImport

AL_ECHO_DEFAULT_LRDELAY

Sounds.OpenALImport

AL_ECHO_DEFAULT_SPREAD

Sounds.OpenALImport

AL_ECHO_DELAY

Sounds.OpenALImport

Echo Parameters

AL_ECHO_FEEDBACK

Sounds.OpenALImport

AL_ECHO_LRDELAY

Sounds.OpenALImport

AL_ECHO_MAX_DAMPING

Sounds.OpenALImport

AL_ECHO_MAX_DELAY

Sounds.OpenALImport

AL_ECHO_MAX_FEEDBACK

Sounds.OpenALImport

AL_ECHO_MAX_LRDELAY

Sounds.OpenALImport

AL_ECHO_MAX_SPREAD

Sounds.OpenALImport

AL_ECHO_MIN_DAMPING

Sounds.OpenALImport

AL_ECHO_MIN_DELAY

Sounds.OpenALImport

AL echo effect parameter ranges and defaults

AL_ECHO_MIN_FEEDBACK

Sounds.OpenALImport

AL_ECHO_MIN_LRDELAY

Sounds.OpenALImport

AL_ECHO_MIN_SPREAD

Sounds.OpenALImport

AL_ECHO_SPREAD

Sounds.OpenALImport

AL_EFFECTSLOT_AUXILIARY_SEND_AUTO

Sounds.OpenALImport

AL_EFFECTSLOT_EFFECT

Sounds.OpenALImport

Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.

AL_EFFECTSLOT_GAIN

Sounds.OpenALImport

AL_EFFECTSLOT_NULL

Sounds.OpenALImport

Value to be used as an Auxiliary Slot ID to disable a source send..

AL_EFFECT_AUTOWAH

Sounds.OpenALImport

AL_EFFECT_CHORUS

Sounds.OpenALImport

AL_EFFECT_COMPRESSOR

Sounds.OpenALImport

AL_EFFECT_DISTORTION

Sounds.OpenALImport

AL_EFFECT_EAXREVERB

Sounds.OpenALImport

Effect type definitions to be used with AL_EFFECT_TYPE.

AL_EFFECT_ECHO

Sounds.OpenALImport

AL_EFFECT_EQUALIZER

Sounds.OpenALImport

AL_EFFECT_FIRST_PARAMETER

Sounds.OpenALImport

Effect type

AL_EFFECT_FLANGER

Sounds.OpenALImport

AL_EFFECT_FREQUENCY_SHIFTER

Sounds.OpenALImport

AL_EFFECT_LAST_PARAMETER

Sounds.OpenALImport

AL_EFFECT_NULL

Sounds.OpenALImport

Effect type definitions to be used with AL_EFFECT_TYPE.

AL_EFFECT_PITCH_SHIFTER

Sounds.OpenALImport

AL_EFFECT_REVERB

Sounds.OpenALImport

Can also be used as an Effect Object ID

AL_EFFECT_RING_MODULATOR

Sounds.OpenALImport

AL_EFFECT_TYPE

Sounds.OpenALImport

AL_EFFECT_VOCAL_MORPHER

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_HIGH_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_HIGH_GAIN

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_LOW_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_LOW_GAIN

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID1_CENTER

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID1_GAIN

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID1_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID2_CENTER

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID2_GAIN

Sounds.OpenALImport

AL_EQUALIZER_DEFAULT_MID2_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_HIGH_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_HIGH_GAIN

Sounds.OpenALImport

AL_EQUALIZER_LOW_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_LOW_GAIN

Sounds.OpenALImport

Equalizer Parameters

AL_EQUALIZER_MAX_HIGH_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_MAX_HIGH_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MAX_LOW_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_MAX_LOW_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MAX_MID1_CENTER

Sounds.OpenALImport

AL_EQUALIZER_MAX_MID1_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MAX_MID1_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_MAX_MID2_CENTER

Sounds.OpenALImport

AL_EQUALIZER_MAX_MID2_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MAX_MID2_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_MID1_CENTER

Sounds.OpenALImport

AL_EQUALIZER_MID1_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MID1_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_MID2_CENTER

Sounds.OpenALImport

AL_EQUALIZER_MID2_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MID2_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_MIN_HIGH_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_MIN_HIGH_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MIN_LOW_CUTOFF

Sounds.OpenALImport

AL_EQUALIZER_MIN_LOW_GAIN

Sounds.OpenALImport

AL equalizer effect parameter ranges and defaults

AL_EQUALIZER_MIN_MID1_CENTER

Sounds.OpenALImport

AL_EQUALIZER_MIN_MID1_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MIN_MID1_WIDTH

Sounds.OpenALImport

AL_EQUALIZER_MIN_MID2_CENTER

Sounds.OpenALImport

AL_EQUALIZER_MIN_MID2_GAIN

Sounds.OpenALImport

AL_EQUALIZER_MIN_MID2_WIDTH

Sounds.OpenALImport

AL_EXPONENT_DISTANCE

Sounds.OpenALImport

AL_EXPONENT_DISTANCE_CLAMPED

Sounds.OpenALImport

AL_EXTENSIONS

Sounds.OpenALImport

AL_FALSE

Sounds.OpenALImport

Boolean False.

AL_FILTER_BANDPASS

Sounds.OpenALImport

AL_FILTER_FIRST_PARAMETER

Sounds.OpenALImport

Filter type

AL_FILTER_HIGHPASS

Sounds.OpenALImport

AL_FILTER_LAST_PARAMETER

Sounds.OpenALImport

AL_FILTER_LOWPASS

Sounds.OpenALImport

Can also be used as a Filter Object ID

AL_FILTER_NULL

Sounds.OpenALImport

Filter type definitions to be used with AL_FILTER_TYPE.

AL_FILTER_TYPE

Sounds.OpenALImport

AL_FLANGER_DEFAULT_DELAY

Sounds.OpenALImport

AL_FLANGER_DEFAULT_DEPTH

Sounds.OpenALImport

AL_FLANGER_DEFAULT_FEEDBACK

Sounds.OpenALImport

AL_FLANGER_DEFAULT_PHASE

Sounds.OpenALImport

AL_FLANGER_DEFAULT_RATE

Sounds.OpenALImport

AL_FLANGER_DEFAULT_WAVEFORM

Sounds.OpenALImport

AL_FLANGER_DELAY

Sounds.OpenALImport

AL_FLANGER_DEPTH

Sounds.OpenALImport

AL_FLANGER_FEEDBACK

Sounds.OpenALImport

AL_FLANGER_MAX_DELAY

Sounds.OpenALImport

AL_FLANGER_MAX_DEPTH

Sounds.OpenALImport

AL_FLANGER_MAX_FEEDBACK

Sounds.OpenALImport

AL_FLANGER_MAX_PHASE

Sounds.OpenALImport

AL_FLANGER_MAX_RATE

Sounds.OpenALImport

AL_FLANGER_MAX_WAVEFORM

Sounds.OpenALImport

AL_FLANGER_MIN_DELAY

Sounds.OpenALImport

AL_FLANGER_MIN_DEPTH

Sounds.OpenALImport

AL_FLANGER_MIN_FEEDBACK

Sounds.OpenALImport

AL_FLANGER_MIN_PHASE

Sounds.OpenALImport

AL_FLANGER_MIN_RATE

Sounds.OpenALImport

AL_FLANGER_MIN_WAVEFORM

Sounds.OpenALImport

AL flanger effect parameter ranges and defaults

AL_FLANGER_PHASE

Sounds.OpenALImport

AL_FLANGER_RATE

Sounds.OpenALImport

AL_FLANGER_WAVEFORM

Sounds.OpenALImport

Flanger Parameters

AL_FLANGER_WAVEFORM_SINUSOID

Sounds.OpenALImport

AL_FLANGER_WAVEFORM_TRIANGLE

Sounds.OpenALImport

AL_FORMAT_MONO16

Sounds.OpenALImport

AL_FORMAT_MONO8

Sounds.OpenALImport

Sound samples: format specifier.

AL_FORMAT_STEREO16

Sounds.OpenALImport

AL_FORMAT_STEREO8

Sounds.OpenALImport

AL_FREQUENCY

Sounds.OpenALImport

Sound samples: frequency, in units of Hertz [Hz]. This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component.

AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DIRECTION_DOWN

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DIRECTION_OFF

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_DIRECTION_UP

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_FREQUENCY

Sounds.OpenALImport

Frequencyshifter Parameters

AL_FREQUENCY_SHIFTER_LEFT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MAX_FREQUENCY

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MIN_FREQUENCY

Sounds.OpenALImport

AL frequency shifter effect parameter ranges and defaults

AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION

Sounds.OpenALImport

AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION

Sounds.OpenALImport

AL_GAIN

Sounds.OpenALImport

Indicate the gain (volume amplification) applied. Type: ALfloat. Range: ]0.0- ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0 is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled.

AL_HIGHPASS_GAIN

Sounds.OpenALImport

Highpass Parameters

AL_HIGHPASS_GAINLF

Sounds.OpenALImport

AL_ILLEGAL_COMMAND

Sounds.OpenALImport

Illegal call.

AL_ILLEGAL_ENUM

Sounds.OpenALImport

Invalid parameter passed to AL call.

AL_INITIAL

Sounds.OpenALImport

AL_INVALID

Sounds.OpenALImport

END EAX Extension bad value

AL_INVALID_ENUM

Sounds.OpenALImport

AL_INVALID_NAME

Sounds.OpenALImport

Invalid Name paramater passed to AL call.

AL_INVALID_OPERATION

Sounds.OpenALImport

AL_INVALID_VALUE

Sounds.OpenALImport

Invalid enum parameter value.

AL_INVERSE_DISTANCE

Sounds.OpenALImport

AL_INVERSE_DISTANCE_CLAMPED

Sounds.OpenALImport

AL_LINEAR_DISTANCE

Sounds.OpenALImport

AL_LINEAR_DISTANCE_CLAMPED

Sounds.OpenALImport

AL_LOOPING

Sounds.OpenALImport

Indicate whether source is looping. Type: ALboolean? Range: [AL_TRUE, AL_FALSE] Default: FALSE.

AL_LOWPASS_GAIN

Sounds.OpenALImport

Filter object definitions to be used with alFilter functions. Lowpass parameters.

AL_LOWPASS_GAINHF

Sounds.OpenALImport

AL_MAX_AIR_ABSORPTION_FACTOR

Sounds.OpenALImport

AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO

Sounds.OpenALImport

AL_MAX_CONE_OUTER_GAINHF

Sounds.OpenALImport

AL_MAX_DIRECT_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_MAX_DISTANCE

Sounds.OpenALImport

Indicate distance above which sources are not attenuated using the inverse clamped distance model. Default: +inf Type: ALfloat Range: 0.0 - +inf

AL_MAX_GAIN

Sounds.OpenALImport

Indicate maximum source attenuation Type: ALfloat Range: [0.0 - 1.0] Logarthmic

AL_MAX_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_METERS_PER_UNIT

Sounds.OpenALImport

Listener definitions to be used with alListener functions. These values must be unique and not conflict with other al listener values.

AL_MIN_AIR_ABSORPTION_FACTOR

Sounds.OpenALImport

Source parameter value definitions, ranges and defaults.

AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO

Sounds.OpenALImport

AL_MIN_CONE_OUTER_GAINHF

Sounds.OpenALImport

AL_MIN_DIRECT_FILTER_GAINHF_AUTO

Sounds.OpenALImport

AL_MIN_GAIN

Sounds.OpenALImport

Indicate minimum source attenuation Type: ALfloat Range: [0.0 - 1.0] Logarthmic

AL_MIN_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_NONE

Sounds.OpenALImport

AL_NO_ERROR

Sounds.OpenALImport

Errors: No Error.

AL_ORIENTATION

Sounds.OpenALImport

Indicate listener orientation. at/up

AL_OUT_OF_MEMORY

Sounds.OpenALImport

No mojo.

AL_PAUSED

Sounds.OpenALImport

AL_PENDING

Sounds.OpenALImport

AL_PITCH

Sounds.OpenALImport

Specify the pitch to be applied, either at source, or on mixer results, at listener. Range: [0.5-2.0] Default: 1.0

AL_PITCH_SHIFTER_COARSE_TUNE

Sounds.OpenALImport

Pitchshifter Parameters

AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE

Sounds.OpenALImport

AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE

Sounds.OpenALImport

AL_PITCH_SHIFTER_FINE_TUNE

Sounds.OpenALImport

AL_PITCH_SHIFTER_MAX_COARSE_TUNE

Sounds.OpenALImport

AL_PITCH_SHIFTER_MAX_FINE_TUNE

Sounds.OpenALImport

AL_PITCH_SHIFTER_MIN_COARSE_TUNE

Sounds.OpenALImport

AL pitch shifter effect parameter ranges and defaults

AL_PITCH_SHIFTER_MIN_FINE_TUNE

Sounds.OpenALImport

AL_PLAYING

Sounds.OpenALImport

AL_POSITION

Sounds.OpenALImport

Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system.

AL_PROCESSED

Sounds.OpenALImport

AL_REFERENCE_DISTANCE

Sounds.OpenALImport

source specific reference distance Type: ALfloat Range: 0.0 - +inf At 0.0, no distance attenuation occurs. Default is 1.0.

AL_RENDERER

Sounds.OpenALImport

AL_REVERB_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_REVERB_DECAY_HFLIMIT

Sounds.OpenALImport

AL_REVERB_DECAY_HFRATIO

Sounds.OpenALImport

AL_REVERB_DECAY_TIME

Sounds.OpenALImport

AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_REVERB_DEFAULT_DECAY_HFLIMIT

Sounds.OpenALImport

AL_REVERB_DEFAULT_DECAY_HFRATIO

Sounds.OpenALImport

AL_REVERB_DEFAULT_DECAY_TIME

Sounds.OpenALImport

AL_REVERB_DEFAULT_DENSITY

Sounds.OpenALImport

AL_REVERB_DEFAULT_DIFFUSION

Sounds.OpenALImport

AL_REVERB_DEFAULT_GAIN

Sounds.OpenALImport

AL_REVERB_DEFAULT_GAINHF

Sounds.OpenALImport

AL_REVERB_DEFAULT_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_REVERB_DEFAULT_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_REVERB_DEFAULT_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_REVERB_DEFAULT_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_REVERB_DENSITY

Sounds.OpenALImport

Effect object definitions to be used with alEffect functions. Effect parameter value definitions, ranges, and defaults appear farther down in this file. Reverb Parameters

AL_REVERB_DIFFUSION

Sounds.OpenALImport

AL_REVERB_GAIN

Sounds.OpenALImport

AL_REVERB_GAINHF

Sounds.OpenALImport

AL_REVERB_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_REVERB_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_REVERB_MAX_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_REVERB_MAX_DECAY_HFLIMIT

Sounds.OpenALImport

AL_REVERB_MAX_DECAY_HFRATIO

Sounds.OpenALImport

AL_REVERB_MAX_DECAY_TIME

Sounds.OpenALImport

AL_REVERB_MAX_DENSITY

Sounds.OpenALImport

AL_REVERB_MAX_DIFFUSION

Sounds.OpenALImport

AL_REVERB_MAX_GAIN

Sounds.OpenALImport

AL_REVERB_MAX_GAINHF

Sounds.OpenALImport

AL_REVERB_MAX_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_REVERB_MAX_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_REVERB_MAX_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_REVERB_MAX_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_REVERB_MIN_AIR_ABSORPTION_GAINHF

Sounds.OpenALImport

AL_REVERB_MIN_DECAY_HFLIMIT

Sounds.OpenALImport

AL_REVERB_MIN_DECAY_HFRATIO

Sounds.OpenALImport

AL_REVERB_MIN_DECAY_TIME

Sounds.OpenALImport

AL_REVERB_MIN_DENSITY

Sounds.OpenALImport

Effect parameter structures, value definitions, ranges and defaults. AL reverb effect parameter ranges and defaults

AL_REVERB_MIN_DIFFUSION

Sounds.OpenALImport

AL_REVERB_MIN_GAIN

Sounds.OpenALImport

AL_REVERB_MIN_GAINHF

Sounds.OpenALImport

AL_REVERB_MIN_LATE_REVERB_DELAY

Sounds.OpenALImport

AL_REVERB_MIN_LATE_REVERB_GAIN

Sounds.OpenALImport

AL_REVERB_MIN_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_REVERB_MIN_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_REVERB_REFLECTIONS_DELAY

Sounds.OpenALImport

AL_REVERB_REFLECTIONS_GAIN

Sounds.OpenALImport

AL_REVERB_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_RING_MODULATOR_DEFAULT_FREQUENCY

Sounds.OpenALImport

AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF

Sounds.OpenALImport

AL_RING_MODULATOR_DEFAULT_WAVEFORM

Sounds.OpenALImport

AL_RING_MODULATOR_FREQUENCY

Sounds.OpenALImport

Ringmodulator Parameters

AL_RING_MODULATOR_HIGHPASS_CUTOFF

Sounds.OpenALImport

AL_RING_MODULATOR_MAX_FREQUENCY

Sounds.OpenALImport

AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF

Sounds.OpenALImport

AL_RING_MODULATOR_MAX_WAVEFORM

Sounds.OpenALImport

AL_RING_MODULATOR_MIN_FREQUENCY

Sounds.OpenALImport

AL ring modulator effect parameter ranges and defaults

AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF

Sounds.OpenALImport

AL_RING_MODULATOR_MIN_WAVEFORM

Sounds.OpenALImport

AL_RING_MODULATOR_SAWTOOTH

Sounds.OpenALImport

AL_RING_MODULATOR_SINUSOID

Sounds.OpenALImport

AL_RING_MODULATOR_SQUARE

Sounds.OpenALImport

AL_RING_MODULATOR_WAVEFORM

Sounds.OpenALImport

AL_ROLLOFF_FACTOR

Sounds.OpenALImport

source specific rolloff factor Type: ALfloat Range: 0.0 - +inf

AL_ROOM_ROLLOFF_FACTOR

Sounds.OpenALImport

AL_SAMPLE_OFFSET

Sounds.OpenALImport

AL_SEC_OFFSET

Sounds.OpenALImport

Source buffer position information

AL_SIZE

Sounds.OpenALImport

AL_SOURCE_ABSOLUTE

Sounds.OpenALImport

Indicate the type of AL_SOURCE. Sources can be spatialized AL_SOURCE_TYPE = $200; Indicate source has absolute coordinates.

AL_SOURCE_RELATIVE

Sounds.OpenALImport

Indicate Source has relative coordinates.

AL_SOURCE_STATE

Sounds.OpenALImport

Source state information.

AL_SOURCE_TYPE

Sounds.OpenALImport

Source type (Static, Streaming or undetermined) Source is Static if a Buffer has been attached using AL_BUFFER Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers Source is undetermined when it has the NULL buffer attached

AL_SPEED_OF_SOUND

Sounds.OpenALImport

Speed of Sound in units per second

AL_STATIC

Sounds.OpenALImport

AL_STOPPED

Sounds.OpenALImport

AL_STORAGE_ACCESSIBLE

Sounds.OpenALImport

AL_STORAGE_AUTOMATIC

Sounds.OpenALImport

AL_STORAGE_HARDWARE

Sounds.OpenALImport

AL_STREAMING

Sounds.OpenALImport

AL_TRUE

Sounds.OpenALImport

Boolean True.

AL_UNDETERMINED

Sounds.OpenALImport

AL_UNUSED

Sounds.OpenALImport

AL_DATA =$2005; Buffer state. Not supported for public use (yet).

AL_VELOCITY

Sounds.OpenALImport

Specify the current velocity in three dimensional space.

AL_VENDOR

Sounds.OpenALImport

Context strings: Vendor Name.

AL_VERSION

Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEA

Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEB

Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_RATE

Sounds.OpenALImport

AL_VOCAL_MORPHER_DEFAULT_WAVEFORM

Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEA

Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEB

Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_RATE

Sounds.OpenALImport

AL_VOCAL_MORPHER_MAX_WAVEFORM

Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_PHONEMEA

Sounds.OpenALImport

AL vocal morpher effect parameter ranges and defaults

AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_PHONEMEB

Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_RATE

Sounds.OpenALImport

AL_VOCAL_MORPHER_MIN_WAVEFORM

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEMEA

Sounds.OpenALImport

Vocalmorpher Parameters

AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEMEB

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_A

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AA

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AE

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AH

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_AO

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_B

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_D

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_E

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_EH

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_ER

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_F

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_G

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_I

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_IH

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_IY

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_J

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_K

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_L

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_M

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_N

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_O

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_P

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_R

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_S

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_T

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_U

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_UH

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_UW

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_V

Sounds.OpenALImport

AL_VOCAL_MORPHER_PHONEME_Z

Sounds.OpenALImport

AL_VOCAL_MORPHER_RATE

Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM

Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH

Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM_SINUSOID

Sounds.OpenALImport

AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE

Sounds.OpenALImport

AMBIENT_LIGHT

Formats.m3DSConst

AMBIENT_NODE_TAG

Formats.m3DSConst

AngleBetweenVectors

GLS.VectorGeometry

AngleBetweenVectors

GLS.VectorGeometry

Calcualtes Angle between 2 Vectors: (A-CenterPoint) and (B-CenterPoint). In radians

AngleLerp

GLS.VectorGeometry

Calculates angular interpolation between start and stop at point t

AnglePreservingMatrixInvert

GLS.VectorGeometry

Finds the inverse of an angle preserving matrix. Angle preserving matrices can combine translation, rotation and isotropic scaling, other matrices won't be properly inverted by this function.

AnsiStartsText

GLS.Utils

StrUtils.pas

ApplicationFileIODefined

GLS.ApplicationFileIO

Returns true if an ApplicationFileIO has been defined

ApplyBlendingModeEx

GLSL.CustomShader

Exported procedures.

AppTime

GLS.Utils

Returns time in milisecond from application start.

ArcCosine

GLS.VectorGeometry

ArcCreateFileStream

GLS.ArchiveManager

GLS.ApplicationFileIO These functions are used to automate loading User enters LoadFromFile and through these functions gets the result

ArcFileStreamExists

GLS.ArchiveManager

ASESetPreferredLightmap

GLS.FileASE

ASESetPreferredTexture

GLS.FileASE

use this functions to select texture and lightmap from ASE file aSubMaterialIndex = -1 - means main material maps Default are: Texture - main material Diffuse map Lightmap - main material Ambient map

ATKEY1

Formats.m3DSConst

ATKEY2

Formats.m3DSConst

ATKEY3

Formats.m3DSConst

ATKEY4

Formats.m3DSConst

ATKEY5

Formats.m3DSConst

ATKEYFLAGS

Formats.m3DSConst

AUDIO_F32

SDL2.Import

**< As above, but big-endian byte order *

AUDIO_F32LSB

SDL2.Import

** * float32 support *

AUDIO_F32MSB

SDL2.Import

**< 32-bit floating point samples *

AUDIO_S16

SDL2.Import

AUDIO_S16LSB

SDL2.Import

**< Unsigned 16-bit samples *

AUDIO_S16MSB

SDL2.Import

**< As above, but big-endian byte order *

AUDIO_S32

SDL2.Import

**< As above, but big-endian byte order *

AUDIO_S32LSB

SDL2.Import

** * int32 support *

AUDIO_S32MSB

SDL2.Import

**< 32-bit integer samples *

AUDIO_S8

SDL2.Import

**< Unsigned 8-bit samples *

AUDIO_U16

SDL2.Import

**< As above, but big-endian byte order *

AUDIO_U16LSB

SDL2.Import

**< Signed 8-bit samples *

AUDIO_U16MSB

SDL2.Import

**< Signed 16-bit samples *

AUDIO_U8

SDL2.Import

** * Audio format flags * * Defaults to LSB byte order. *

AVIBuildFilter

Formats.VFW

AVIBuildFilterA

Formats.VFW

AVIBuildFilterW

Formats.VFW

Same as the flags for ICCompressorChoose (see compman.h) These determine what the compression options dialog for video streams will look like.

AVICapSM

Formats.VFW

== AVICAP - Window class for AVI capture ====================================

AVIClearClipboard

Formats.VFW

AVICOMPRESSF_DATARATE

Formats.VFW

interleave

AVICOMPRESSF_INTERLEAVE

Formats.VFW

Defines for the dwFlags field of the AVICOMPRESSOPTIONS struct Each of these flags determines if the appropriate field in the structure (dwInterleaveEvery, dwBytesPerSecond, and dwKeyFrameEvery) is payed attention to. See the autodoc in avisave.c for details.

AVICOMPRESSF_KEYFRAMES

Formats.VFW

use a data rate

AVICOMPRESSF_VALID

Formats.VFW

use keyframes

AVIERR_BADFLAGS

Formats.VFW

MAKE_AVIERR(104)

AVIERR_BADFORMAT

Formats.VFW

MAKE_AVIERR(101)

AVIERR_BADHANDLE

Formats.VFW

MAKE_AVIERR(107)

AVIERR_BADPARAM

Formats.VFW

MAKE_AVIERR(105)

AVIERR_BADSIZE

Formats.VFW

MAKE_AVIERR(106)

AVIERR_BUFFERTOOSMALL

Formats.VFW

MAKE_AVIERR(115)

AVIERR_CANTCOMPRESS

Formats.VFW

MAKE_AVIERR(116)

AVIERR_COMPRESSOR

Formats.VFW

MAKE_AVIERR(111)

AVIERR_ERROR

Formats.VFW

MAKE_AVIERR(198)

AVIERR_FILEOPEN

Formats.VFW

MAKE_AVIERR(110)

AVIERR_FILEREAD

Formats.VFW

MAKE_AVIERR(108)

AVIERR_FILEWRITE

Formats.VFW

MAKE_AVIERR(109)

AVIERR_INTERNAL

Formats.VFW

MAKE_AVIERR(103)

AVIERR_MEMORY

Formats.VFW

MAKE_AVIERR(102)

AVIERR_NOCOMPRESSOR

Formats.VFW

MAKE_AVIERR(112)

AVIERR_NODATA

Formats.VFW

MAKE_AVIERR(114)

AVIERR_OK

Formats.VFW

– Error handling ———————————————————–

AVIERR_READONLY

Formats.VFW

MAKE_AVIERR(113)

AVIERR_UNSUPPORTED

Formats.VFW

!!! Questions to be answered: How can you get a string form of these errors? Which of these errors should be replaced by errors in SCODE.H?

AVIERR_USERABORT

Formats.VFW

MAKE_AVIERR(117)

AVIFileAddRef

Formats.VFW

AVIFILECAPS_ALLKEYFRAMES

Formats.VFW

AVIFILECAPS_CANREAD

Formats.VFW

– Flags for dwCaps ———————————————————

AVIFILECAPS_CANWRITE

Formats.VFW

AVIFILECAPS_NOCOMPRESSION

Formats.VFW

AVIFileClose

Formats.VFW

AVIStreamRelease

AVIFileCreateStream

Formats.VFW

AVIFileCreateStreamA

Formats.VFW

AVIFileCreateStreamW

Formats.VFW

AVIFileEndRecord

Formats.VFW

AVIFileExit

Formats.VFW

Call this first!

AVIFileGetStream

Formats.VFW

AVIFILEHANDLER_CANACCEPTNONRGB

Formats.VFW

AVIFILEHANDLER_CANREAD

Formats.VFW

AVIFILEHANDLER_CANWRITE

Formats.VFW

AVIFileInfo

Formats.VFW

AVIFileInfoA

Formats.VFW

AVIFileInfoW

Formats.VFW

AVIFILEINFO_COPYRIGHTED

Formats.VFW

AVIFILEINFO_HASINDEX

Formats.VFW

– Flags for dwFlags ——————————————————–

AVIFILEINFO_ISINTERLEAVED

Formats.VFW

AVIFILEINFO_MUSTUSEINDEX

Formats.VFW

AVIFILEINFO_WASCAPTUREFILE

Formats.VFW

AVIFileInit

Formats.VFW

– Functions —————————————————————-

AVIFileOpen

Formats.VFW

AVIFileOpenA

Formats.VFW

AVIFileOpenW

Formats.VFW

AVIFileReadData

Formats.VFW

AVIFileRelease

Formats.VFW

AVIFileWriteData

Formats.VFW

AVIF_COPYRIGHTED

Formats.VFW

AVIF_HASINDEX

Formats.VFW

– flags for use in <dwFlags> in AVIFileHdr ———————————

AVIF_ISINTERLEAVED

Formats.VFW

AVIF_MUSTUSEINDEX

Formats.VFW

Index at end of file?

AVIF_TRUSTCKTYPE

Formats.VFW

AVIF_WASCAPTUREFILE

Formats.VFW

Use CKType to find key frames?

AVIGETFRAMEF_BESTDISPLAYFMT

Formats.VFW

Ansi - Unicode thunking.
Unicode or Ansi-only apps can call the avifile APIs. any Win32 app who wants to use any of the AVI COM interfaces must be UNICODE - the AVISTREAMINFO and AVIFILEINFO structures used in the Info methods of these interfaces are the unicode variants, and no thunking to or from ansi takes place except in the AVIFILE api entrypoints.
For Ansi/Unicode thunking: for each entrypoint or structure that uses chars or strings, two versions are declared in the Win32 version, ApiNameW and ApiNameA. The default name ApiName is #defined to one or other of these depending on whether UNICODE is defined (during compilation of the app that is including this header). The source will contain ApiName and ApiNameA (with ApiName being the Win16 implementation, and also #defined to ApiNameW, and ApiNameA being the thunk entrypoint).
For GetFrame::SetFormat - use the best format for the display

AVIGetFromClipboard

Formats.VFW

AVIIF_COMPUSE

Formats.VFW

this frame doesn't take any time

AVIIF_KEYFRAME

Formats.VFW

AVIIF_LIST

Formats.VFW

– Flags for AVI file index ————————————————-

AVIIF_NOTIME

Formats.VFW

– Flags for index ———————————————————-

AVIIF_TWOCC

Formats.VFW

AVIMakeCompressedStream

Formats.VFW

mmioFOURCC('D', 'I', 'B', ' ')

AVIMakeFileFromStreams

Formats.VFW

AVIBuildFilterA

AVIMakeStreamFromClipboard

Formats.VFW

AVIPutFileOnClipboard

Formats.VFW

– Clipboard routines ——————————————————-

AVISaveOptions

Formats.VFW

AVISaveVA

AVISaveOptionsFree

Formats.VFW

AVISaveV

Formats.VFW

#define AVISave AVISaveA

AVISaveVA

Formats.VFW

Non-portable: uses variable number of params EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, CLSID FAR *pclsidHandler, AVISAVECALLBACK lpfnCallback, int nStreams, PAVISTREAM pfile, LPAVICOMPRESSOPTIONS lpOptions, ...);

AVISaveVW

Formats.VFW

Non-portable: uses variable number of params EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, CLSID FAR *pclsidHandler, AVISAVECALLBACK lpfnCallback, int nStreams, PAVISTREAM pfile, LPAVICOMPRESSOPTIONS lpOptions, ...);

AVISF_DISABLED

Formats.VFW

– Stream header ————————————————————

AVISF_VIDEO_PALCHANGES

Formats.VFW

AVIStreamAddRef

Formats.VFW

AVIStreamBeginStreaming

Formats.VFW

AVIStreamClose

Formats.VFW

AVIStreamFindSample Non-portable: this is alias for method name FindKeyFrame FindSample

AVIStreamCreate

Formats.VFW

– Use to create disembodied streams —————————————-

AVIStreamDataSize

Formats.VFW

AVIStreamEnd

Formats.VFW

AVIStreamEndStreaming

Formats.VFW

AVIStreamEndTime

Formats.VFW

AVIStreamExit

Formats.VFW

AVIFileInit

AVIStreamFindKeyFrame

Formats.VFW

– Stuff to support backward compat. —————————————-

AVIStreamFindSample

Formats.VFW

AVIStreamFormatSize

Formats.VFW

AVIStreamGetFrame

Formats.VFW

AVIStreamGetFrameClose

Formats.VFW

AVIStreamGetFrameOpen

Formats.VFW

– Helper functions for using IGetFrame ————————————-

AVIStreamInfo

Formats.VFW

AVIStreamInfoA

Formats.VFW

AVIStreamInfoW

Formats.VFW

AVISTREAMINFO_DISABLED

Formats.VFW

AVISTREAMINFO_FORMATCHANGES

Formats.VFW

AVIStreamInit

Formats.VFW

AVIFileRelease

AVIStreamIsKeyFrame

Formats.VFW

AVIStreamLength

Formats.VFW

AVIStreamLengthTime

Formats.VFW

AVIStreamNearestKeyFrame

Formats.VFW

AVIStreamNearestKeyFrameTime

Formats.VFW

AVIStreamNearestSample

Formats.VFW

AVIStreamNearestSampleTime

Formats.VFW

AVIStreamNextKeyFrame

Formats.VFW

AVIStreamNextKeyFrameTime

Formats.VFW

AVIStreamNextSample

Formats.VFW

AVIStreamNextSampleTime

Formats.VFW

AVIStreamOpenFromFile

Formats.VFW

AVIStreamOpenFromFileA

Formats.VFW

– Shortcut function ——————————————————–

AVIStreamOpenFromFileW

Formats.VFW

AVIStreamPrevKeyFrame

Formats.VFW

AVIStreamPrevKeyFrameTime

Formats.VFW

AVIStreamPrevSample

Formats.VFW

AVIStreamPrevSampleTime

Formats.VFW

AVIStreamRead

Formats.VFW

AVIStreamReadData

Formats.VFW

AVIStreamReadFormat

Formats.VFW

AVISTREAMREAD_CONVENIENT

Formats.VFW

AVIStreamRelease

Formats.VFW

AVIStreamSampleSize

Formats.VFW

AVIStreamSampleToSample

Formats.VFW

– Helper macros ————————————————————

AVIStreamSampleToTime

Formats.VFW

AVIStreamSetFormat

Formats.VFW

AVIStreamStart

Formats.VFW

Right now, these just use AVIStreamInfo() to get information, then return some of it. Can they be more efficient?

AVIStreamStartTime

Formats.VFW

AVIStreamTimeToSample

Formats.VFW

AVIStreamWrite

Formats.VFW

AVIStreamWriteData

Formats.VFW

aviTWOCC

Formats.VFW

AVI_HEADERSIZE

Formats.VFW

– The AVI File Header LIST chunk should be padded to this size ————-

AVSTREAMMASTER_AUDIO

Formats.VFW

Since Audio and Video streams generally use non-synchronized capture clocks, this flag determines whether the audio stream is to be considered the master or controlling clock when writing the AVI file:
AVSTREAMMASTER_AUDIO - Audio is master, video frame duration is forced to match audio duration (VFW 1.0, 1.1 default) AVSTREAMMASTER_NONE - No master, audio and video streams may be of different lengths

AVSTREAMMASTER_NONE

Formats.VFW

Audio master (VFW 1.0, 1.1)

AxesBuildList

GLS.Scene

Issues OpenGL calls for drawing X, Y, Z axes in a standard style.

BANDPASS_DEFAULT_GAIN

Sounds.OpenALImport

BANDPASS_DEFAULT_GAINHF

Sounds.OpenALImport

BANDPASS_DEFAULT_GAINLF

Sounds.OpenALImport

BANDPASS_MAX_GAIN

Sounds.OpenALImport

BANDPASS_MAX_GAINHF

Sounds.OpenALImport

BANDPASS_MAX_GAINLF

Sounds.OpenALImport

BANDPASS_MIN_GAIN

Sounds.OpenALImport

Bandpass filter

BANDPASS_MIN_GAINHF

Sounds.OpenALImport

BANDPASS_MIN_GAINLF

Sounds.OpenALImport

BarycentricCoordinates

GLS.Coordinates

Calculates the barycentric coordinates for the point p on the triangle defined by the vertices v1, v2 and v3. That is, solves p = u * v1 + v * v2 + (1-u-v) * v3 for u,v. Returns true if the point is inside the triangle, false otherwise. NOTE: This function assumes that the point lies on the plane defined by the triangle. If this is not the case, the function will not work correctly! https://mathworld.wolfram.com/BarycentricCoordinates.html

bassdll

Sounds.BASSImport

Functions

BASSVERSION

Sounds.BASSImport

BASSVERSIONTEXT

Sounds.BASSImport

API version

BASS_3DALG_DEFAULT

Sounds.BASSImport

software 3D mixing algorithms (used with BASS_CONFIG_3DALGORITHM)

BASS_3DALG_FULL

Sounds.BASSImport

Uses normal left and right panning. The vertical axis is ignored except for scaling of volume due to distance. Doppler shift and volume scaling are still applied, but the 3D filtering is not performed. This is the most CPU efficient software implementation, but provides no virtual 3D audio effect. Head Related Transfer Function processing will not be done. Since only normal stereo panning is used, a channel using this algorithm may be accelerated by a 2D hardware voice if no free 3D hardware voices are available.

BASS_3DALG_LIGHT

Sounds.BASSImport

This algorithm gives the highest quality 3D audio effect, but uses more CPU. Requires Windows 98 2nd Edition or Windows 2000 that uses WDM drivers, if this mode is not available then BASS_3DALG_OFF will be used instead.

BASS_3DALG_OFF

Sounds.BASSImport

default algorithm (currently translates to BASS_3DALG_OFF)

BASS_3DMODE_NORMAL

Sounds.BASSImport

MO3 flag 3D channel modes

BASS_3DMODE_OFF

Sounds.BASSImport

The channel's 3D position (position/velocity/ orientation) are relative to the listener. When the listener's position/velocity/orientation is changed with BASS_Set3DPosition, the channel's position relative to the listener does not change.

BASS_3DMODE_RELATIVE

Sounds.BASSImport

normal 3D processing

BASS_3DVECTOR

Sounds.BASSImport

3D vector (for 3D positions/velocities/orientations)

BASS_ACTIVE_PAUSED

Sounds.BASSImport

BASS_ACTIVE_PLAYING

Sounds.BASSImport

BASS_ACTIVE_STALLED

Sounds.BASSImport

BASS_ACTIVE_STOPPED

Sounds.BASSImport

FLAG: sync only once, else continuously BASS_ChannelIsActive return values

BASS_Apply3D

Sounds.BASSImport

external bassdll;

BASS_ASYNCFILE

Sounds.BASSImport

BASS_ATTRIB_BITRATE

Sounds.BASSImport

BASS_ATTRIB_CPU

Sounds.BASSImport

BASS_ATTRIB_EAXMIX

Sounds.BASSImport

BASS_ATTRIB_FREQ

Sounds.BASSImport

Channel attributes

BASS_ATTRIB_MUSIC_ACTIVE

Sounds.BASSImport

BASS_ATTRIB_MUSIC_AMPLIFY

Sounds.BASSImport

BASS_ATTRIB_MUSIC_BPM

Sounds.BASSImport

BASS_ATTRIB_MUSIC_PANSEP

Sounds.BASSImport

BASS_ATTRIB_MUSIC_PSCALER

Sounds.BASSImport

BASS_ATTRIB_MUSIC_SPEED

Sounds.BASSImport

BASS_ATTRIB_MUSIC_VOL_CHAN

Sounds.BASSImport

BASS_ATTRIB_MUSIC_VOL_GLOBAL

Sounds.BASSImport

BASS_ATTRIB_MUSIC_VOL_INST

Sounds.BASSImport

+ channel #

BASS_ATTRIB_NET_RESUME

Sounds.BASSImport

BASS_ATTRIB_NOBUFFER

Sounds.BASSImport

BASS_ATTRIB_NORAMP

Sounds.BASSImport

BASS_ATTRIB_PAN

Sounds.BASSImport

BASS_ATTRIB_SCANINFO

Sounds.BASSImport

BASS_ATTRIB_SRC

Sounds.BASSImport

BASS_ATTRIB_VBR

Sounds.BASSImport

BASS_ATTRIB_VOL

Sounds.BASSImport

BASS_ChannelBytes2Seconds

Sounds.BASSImport

external bassdll;

BASS_ChannelFlags

Sounds.BASSImport

external bassdll;

BASS_ChannelGet3DAttributes

Sounds.BASSImport

external bassdll;

BASS_ChannelGet3DPosition

Sounds.BASSImport

external bassdll;

BASS_ChannelGetAttribute

Sounds.BASSImport

external bassdll;

BASS_ChannelGetAttributeEx

Sounds.BASSImport

external bassdll;

BASS_ChannelGetData

Sounds.BASSImport

external bassdll;

BASS_ChannelGetDevice

Sounds.BASSImport

external bassdll;

BASS_ChannelGetInfo

Sounds.BASSImport

external bassdll;

BASS_ChannelGetLength

Sounds.BASSImport

external bassdll;

BASS_ChannelGetLevel

Sounds.BASSImport

external bassdll;

BASS_ChannelGetLevelEx

Sounds.BASSImport

external bassdll;

BASS_ChannelGetPosition

Sounds.BASSImport

external bassdll;

BASS_ChannelGetTags

Sounds.BASSImport

external bassdll;

BASS_CHANNELINFO

Sounds.BASSImport

Channel info structure

BASS_ChannelIsActive

Sounds.BASSImport

external bassdll;

BASS_ChannelIsSliding

Sounds.BASSImport

external bassdll;

BASS_ChannelLock

Sounds.BASSImport

external bassdll;

BASS_ChannelPause

Sounds.BASSImport

external bassdll;

BASS_ChannelPlay

Sounds.BASSImport

external bassdll;

BASS_ChannelRemoveDSP

Sounds.BASSImport

external bassdll;

BASS_ChannelRemoveFX

Sounds.BASSImport

external bassdll;

BASS_ChannelRemoveLink

Sounds.BASSImport

external bassdll;

BASS_ChannelRemoveSync

Sounds.BASSImport

external bassdll;

BASS_ChannelSeconds2Bytes

Sounds.BASSImport

external bassdll;

BASS_ChannelSet3DAttributes

Sounds.BASSImport

external bassdll;

BASS_ChannelSet3DPosition

Sounds.BASSImport

external bassdll;

BASS_ChannelSetAttribute

Sounds.BASSImport

external bassdll;

BASS_ChannelSetAttributeEx

Sounds.BASSImport

external bassdll;

BASS_ChannelSetDevice

Sounds.BASSImport

external bassdll;

BASS_ChannelSetDSP

Sounds.BASSImport

external bassdll;

BASS_ChannelSetFX

Sounds.BASSImport

external bassdll;

BASS_ChannelSetLink

Sounds.BASSImport

external bassdll;

BASS_ChannelSetPosition

Sounds.BASSImport

external bassdll;

BASS_ChannelSetSync

Sounds.BASSImport

external bassdll;

BASS_ChannelSlideAttribute

Sounds.BASSImport

external bassdll;

BASS_ChannelStop

Sounds.BASSImport

external bassdll;

BASS_ChannelUpdate

Sounds.BASSImport

external bassdll;

BASS_CONFIG_3DALGORITHM

Sounds.BASSImport

BASS_CONFIG_AIRPLAY

Sounds.BASSImport

BASS_CONFIG_ASYNCFILE_BUFFER

Sounds.BASSImport

BASS_CONFIG_BUFFER

Sounds.BASSImport

some other mystery problem BASS_SetConfig options

BASS_CONFIG_CURVE_PAN

Sounds.BASSImport

BASS_CONFIG_CURVE_VOL

Sounds.BASSImport

BASS_CONFIG_DEV_BUFFER

Sounds.BASSImport

BASS_CONFIG_DEV_DEFAULT

Sounds.BASSImport

BASS_CONFIG_DEV_NONSTOP

Sounds.BASSImport

BASS_CONFIG_DEV_PERIOD

Sounds.BASSImport

BASS_CONFIG_FLOAT

Sounds.BASSImport

BASS_CONFIG_FLOATDSP

Sounds.BASSImport

BASS_CONFIG_GVOL_MUSIC

Sounds.BASSImport

BASS_CONFIG_GVOL_SAMPLE

Sounds.BASSImport

BASS_CONFIG_GVOL_STREAM

Sounds.BASSImport

BASS_CONFIG_HANDLES

Sounds.BASSImport

BASS_CONFIG_IOS_MIXAUDIO

Sounds.BASSImport

BASS_CONFIG_IOS_NOCATEGORY

Sounds.BASSImport

BASS_CONFIG_IOS_SPEAKER

Sounds.BASSImport

BASS_CONFIG_MF_DISABLE

Sounds.BASSImport

BASS_CONFIG_MF_VIDEO

Sounds.BASSImport

BASS_CONFIG_MUSIC_VIRTUAL

Sounds.BASSImport

BASS_CONFIG_NET_AGENT

Sounds.BASSImport

BASS_SetConfigPtr options

BASS_CONFIG_NET_BUFFER

Sounds.BASSImport

BASS_CONFIG_NET_PASSIVE

Sounds.BASSImport

BASS_CONFIG_NET_PLAYLIST

Sounds.BASSImport

BASS_CONFIG_NET_PREBUF

Sounds.BASSImport

BASS_CONFIG_NET_PROXY

Sounds.BASSImport

BASS_CONFIG_NET_READTIMEOUT

Sounds.BASSImport

BASS_CONFIG_NET_TIMEOUT

Sounds.BASSImport

BASS_CONFIG_OGG_PRESCAN

Sounds.BASSImport

BASS_CONFIG_PAUSE_NOPLAY

Sounds.BASSImport

BASS_CONFIG_REC_BUFFER

Sounds.BASSImport

BASS_CONFIG_SRC

Sounds.BASSImport

BASS_CONFIG_SRC_SAMPLE

Sounds.BASSImport

BASS_CONFIG_UNICODE

Sounds.BASSImport

BASS_CONFIG_UPDATEPERIOD

Sounds.BASSImport

BASS_CONFIG_UPDATETHREADS

Sounds.BASSImport

BASS_CONFIG_VERIFY

Sounds.BASSImport

BASS_CONFIG_VERIFY_NET

Sounds.BASSImport

BASS_CONFIG_VISTA_SPEAKERS

Sounds.BASSImport

BASS_CONFIG_VISTA_TRUEPOS

Sounds.BASSImport

BASS_CTYPE_MUSIC_IT

Sounds.BASSImport

BASS_CTYPE_MUSIC_MO3

Sounds.BASSImport

BASS_CTYPE_MUSIC_MOD

Sounds.BASSImport

BASS_CTYPE_MUSIC_MTM

Sounds.BASSImport

BASS_CTYPE_MUSIC_S3M

Sounds.BASSImport

BASS_CTYPE_MUSIC_XM

Sounds.BASSImport

BASS_CTYPE_RECORD

Sounds.BASSImport

BASS_CTYPE_SAMPLE

Sounds.BASSImport

BASS_CHANNELINFO types

BASS_CTYPE_STREAM

Sounds.BASSImport

BASS_CTYPE_STREAM_AIFF

Sounds.BASSImport

BASS_CTYPE_STREAM_MP1

Sounds.BASSImport

BASS_CTYPE_STREAM_MP2

Sounds.BASSImport

BASS_CTYPE_STREAM_MP3

Sounds.BASSImport

BASS_CTYPE_STREAM_OGG

Sounds.BASSImport

BASS_CTYPE_STREAM_WAV

Sounds.BASSImport

BASS_CTYPE_STREAM_WAV_FLOAT

Sounds.BASSImport

BASS_CTYPE_STREAM_WAV_PCM

Sounds.BASSImport

WAVE flag, LOWORD=codec

BASS_DATA_AVAILABLE

Sounds.BASSImport

+ instrument # BASS_ChannelGetData flags

BASS_DATA_FFT1024

Sounds.BASSImport

512 FFT

BASS_DATA_FFT16384

Sounds.BASSImport

8192 FFT

BASS_DATA_FFT2048

Sounds.BASSImport

1024 FFT

BASS_DATA_FFT256

Sounds.BASSImport

flag: return floating-point sample data

BASS_DATA_FFT32768

Sounds.BASSImport

16384 FFT

BASS_DATA_FFT4096

Sounds.BASSImport

2048 FFT

BASS_DATA_FFT512

Sounds.BASSImport

256 sample FFT

BASS_DATA_FFT8192

Sounds.BASSImport

4096 FFT

BASS_DATA_FFT_COMPLEX

Sounds.BASSImport

FFT flag: pre-remove DC bias

BASS_DATA_FFT_INDIVIDUAL

Sounds.BASSImport

32768 FFT

BASS_DATA_FFT_NOWINDOW

Sounds.BASSImport

FFT flag: FFT for each channel, else all combined

BASS_DATA_FFT_REMOVEDC

Sounds.BASSImport

FFT flag: no Hanning window

BASS_DATA_FIXED

Sounds.BASSImport

query how much data is buffered

BASS_DATA_FLOAT

Sounds.BASSImport

flag: return 8.24 fixed-point data

BASS_DEVICEINFO

Sounds.BASSImport

Plugin handle Device info structure

BASS_DEVICES_AIRPLAY

Sounds.BASSImport

BASS_GetDeviceInfo flags

BASS_DEVICE_16BITS

Sounds.BASSImport

enable 3D functionality

BASS_DEVICE_3D

Sounds.BASSImport

mono, else stereo

BASS_DEVICE_8BITS

Sounds.BASSImport

BASS_Init flags

BASS_DEVICE_CPSPEAKERS

Sounds.BASSImport

calculate device latency (BASS_INFO struct)

BASS_DEVICE_DEFAULT

Sounds.BASSImport

BASS_DEVICE_DMIX

Sounds.BASSImport

ignore speaker arrangement

BASS_DEVICE_ENABLED

Sounds.BASSImport

IDirectSound3DListener BASS_DEVICEINFO flags

BASS_DEVICE_FREQ

Sounds.BASSImport

use ALSA "dmix" plugin

BASS_DEVICE_INIT

Sounds.BASSImport

BASS_DEVICE_LATENCY

Sounds.BASSImport

If the BASS_DEVICE_3D flag is not specified when initilizing BASS, then the 3D flags (BASS_SAMPLE_3D and BASS_MUSIC_3D) are ignored when loading/creating a sample/stream/music.

BASS_DEVICE_MONO

Sounds.BASSImport

8 bit resolution, else 16 bit

BASS_DEVICE_NOSPEAKER

Sounds.BASSImport

force enabling of speaker assignment

BASS_DEVICE_SPEAKERS

Sounds.BASSImport

detect speakers via Windows control panel

BASS_DEVICE_STEREO

Sounds.BASSImport

set device sample rate

BASS_DEVICE_TYPE_DIGITAL

Sounds.BASSImport

BASS_DEVICE_TYPE_DISPLAYPORT

Sounds.BASSImport

BASS_DEVICE_TYPE_HANDSET

Sounds.BASSImport

BASS_DEVICE_TYPE_HDMI

Sounds.BASSImport

BASS_DEVICE_TYPE_HEADPHONES

Sounds.BASSImport

BASS_DEVICE_TYPE_HEADSET

Sounds.BASSImport

BASS_DEVICE_TYPE_LINE

Sounds.BASSImport

BASS_DEVICE_TYPE_MASK

Sounds.BASSImport

BASS_DEVICE_TYPE_MICROPHONE

Sounds.BASSImport

BASS_DEVICE_TYPE_NETWORK

Sounds.BASSImport

BASS_DEVICE_TYPE_SPDIF

Sounds.BASSImport

BASS_DEVICE_TYPE_SPEAKERS

Sounds.BASSImport

BASS_DX8_CHORUS

Sounds.BASSImport

BASS_DX8_COMPRESSOR

Sounds.BASSImport

BASS_DX8_DISTORTION

Sounds.BASSImport

BASS_DX8_ECHO

Sounds.BASSImport

BASS_DX8_FLANGER

Sounds.BASSImport

BASS_DX8_GARGLE

Sounds.BASSImport

BASS_DX8_I3DL2REVERB

Sounds.BASSImport

BASS_DX8_PARAMEQ

Sounds.BASSImport

BASS_DX8_PHASE_180

Sounds.BASSImport

BASS_DX8_PHASE_90

Sounds.BASSImport

BASS_DX8_PHASE_NEG_180

Sounds.BASSImport

BASS_DX8_PHASE_NEG_90

Sounds.BASSImport

BASS_DX8_PHASE_ZERO

Sounds.BASSImport

BASS_DX8_REVERB

Sounds.BASSImport

BASS_ErrorGetCode

Sounds.BASSImport

external bassdll;

BASS_ERROR_ALREADY

Sounds.BASSImport

BASS_Start has not been successfully called

BASS_ERROR_BUFLOST

Sounds.BASSImport

can't find a free sound driver

BASS_ERROR_BUSY

Sounds.BASSImport

the channel/file has ended

BASS_ERROR_CODEC

Sounds.BASSImport

invalid BASS version (used by add-ons)

BASS_ERROR_CREATE

Sounds.BASSImport

no internet connection could be opened

BASS_ERROR_DECODE

Sounds.BASSImport

requested data is not available

BASS_ERROR_DEVICE

Sounds.BASSImport

no EAX support

BASS_ERROR_DRIVER

Sounds.BASSImport

can't open the file

BASS_ERROR_DX

Sounds.BASSImport

the channel is/isn't a "decoding channel"

BASS_ERROR_EMPTY

Sounds.BASSImport

no hardware voices available

BASS_ERROR_ENDED

Sounds.BASSImport

codec is not available/supported

BASS_ERROR_FILEFORM

Sounds.BASSImport

connection timedout

BASS_ERROR_FILEOPEN

Sounds.BASSImport

memory error

BASS_ERROR_FORMAT

Sounds.BASSImport

invalid handle

BASS_ERROR_FREQ

Sounds.BASSImport

not playing

BASS_ERROR_HANDLE

Sounds.BASSImport

the sample buffer was lost

BASS_ERROR_ILLPARAM

Sounds.BASSImport

an illegal type was specified

BASS_ERROR_ILLTYPE

Sounds.BASSImport

can't get a free channel

BASS_ERROR_INIT

Sounds.BASSImport

invalid position

BASS_ERROR_MEM

Sounds.BASSImport

all is OK

BASS_ERROR_NO3D

Sounds.BASSImport

an illegal parameter was specified

BASS_ERROR_NOCHAN

Sounds.BASSImport

already initialized/paused/whatever

BASS_ERROR_NOEAX

Sounds.BASSImport

no 3D support

BASS_ERROR_NOFX

Sounds.BASSImport

couldn't create the file

BASS_ERROR_NOHW

Sounds.BASSImport

the stream is not a file stream

BASS_ERROR_NONET

Sounds.BASSImport

the MOD music has no sequence data

BASS_ERROR_NOPLAY

Sounds.BASSImport

illegal device number

BASS_ERROR_NOTAVAIL

Sounds.BASSImport

effects are not available

BASS_ERROR_NOTFILE

Sounds.BASSImport

illegal sample rate

BASS_ERROR_POSITION

Sounds.BASSImport

unsupported sample format

BASS_ERROR_SPEAKER

Sounds.BASSImport

unsupported file format

BASS_ERROR_START

Sounds.BASSImport

BASS_Init has not been successfully called

BASS_ERROR_TIMEOUT

Sounds.BASSImport

a sufficient DirectX version is not installed

BASS_ERROR_UNKNOWN

Sounds.BASSImport

the device is busy

BASS_ERROR_VERSION

Sounds.BASSImport

unavailable speaker

BASS_FILEDATA_END

Sounds.BASSImport

BASS_StreamPutFileData options

BASS_FILEPOS_ASYNCBUF

Sounds.BASSImport

BASS_FILEPOS_BUFFER

Sounds.BASSImport

BASS_FILEPOS_CONNECTED

Sounds.BASSImport

BASS_FILEPOS_CURRENT

Sounds.BASSImport

end & close the file BASS_StreamGetFilePosition modes

BASS_FILEPOS_DECODE

Sounds.BASSImport

BASS_FILEPOS_DOWNLOAD

Sounds.BASSImport

BASS_FILEPOS_END

Sounds.BASSImport

BASS_FILEPOS_SIZE

Sounds.BASSImport

BASS_FILEPOS_SOCKET

Sounds.BASSImport

BASS_FILEPOS_START

Sounds.BASSImport

BASS_FILEPROCS

Sounds.BASSImport

BASS_Free

Sounds.BASSImport

external bassdll;

BASS_FXGetParameters

Sounds.BASSImport

external bassdll;

BASS_FXReset

Sounds.BASSImport

external bassdll;

BASS_FXSetParameters

Sounds.BASSImport

external bassdll;

BASS_FXSetPriority

Sounds.BASSImport

external bassdll;

BASS_FX_DX8_CHORUS

Sounds.BASSImport

BASS_FX_DX8_COMPRESSOR

Sounds.BASSImport

BASS_FX_DX8_DISTORTION

Sounds.BASSImport

BASS_FX_DX8_ECHO

Sounds.BASSImport

BASS_FX_DX8_FLANGER

Sounds.BASSImport

BASS_FX_DX8_GARGLE

Sounds.BASSImport

BASS_FX_DX8_I3DL2REVERB

Sounds.BASSImport

BASS_FX_DX8_PARAMEQ

Sounds.BASSImport

BASS_FX_DX8_REVERB

Sounds.BASSImport

BASS_Get3DFactors

Sounds.BASSImport

external bassdll;

BASS_Get3DPosition

Sounds.BASSImport

external bassdll;

BASS_GetConfig

Sounds.BASSImport

external bassdll;

BASS_GetConfigPtr

Sounds.BASSImport

external bassdll;

BASS_GetCPU

Sounds.BASSImport

external bassdll;

BASS_GetDevice

Sounds.BASSImport

external bassdll;

BASS_GetDeviceInfo

Sounds.BASSImport

external bassdll;

BASS_GetDSoundObject

Sounds.BASSImport

external bassdll;

BASS_GetEAXParameters

Sounds.BASSImport

external bassdll;

BASS_GetInfo

Sounds.BASSImport

external bassdll;

BASS_GetVersion

Sounds.BASSImport

external bassdll;

BASS_GetVolume

Sounds.BASSImport

external bassdll;

BASS_INFO

Sounds.BASSImport

BASS_Init

Sounds.BASSImport

external bassdll;

BASS_INPUT_OFF

Sounds.BASSImport

flag: scan to the position BASS_RecordSetInput flags

BASS_INPUT_ON

Sounds.BASSImport

BASS_INPUT_TYPE_ANALOG

Sounds.BASSImport

BASS_INPUT_TYPE_AUX

Sounds.BASSImport

BASS_INPUT_TYPE_CD

Sounds.BASSImport

BASS_INPUT_TYPE_DIGITAL

Sounds.BASSImport

BASS_INPUT_TYPE_LINE

Sounds.BASSImport

BASS_INPUT_TYPE_MASK

Sounds.BASSImport

BASS_INPUT_TYPE_MIC

Sounds.BASSImport

BASS_INPUT_TYPE_PHONE

Sounds.BASSImport

BASS_INPUT_TYPE_SPEAKER

Sounds.BASSImport

BASS_INPUT_TYPE_SYNTH

Sounds.BASSImport

BASS_INPUT_TYPE_UNDEF

Sounds.BASSImport

BASS_INPUT_TYPE_WAVE

Sounds.BASSImport

BASS_IsLoaded

Sounds.BASSImport

BASS_LEVEL_MONO

Sounds.BASSImport

FFT flag: return complex data BASS_ChannelGetLevelEx flags

BASS_LEVEL_RMS

Sounds.BASSImport

BASS_LEVEL_STEREO

Sounds.BASSImport

BASS_Load

Sounds.BASSImport

BASS_MP3_SETPOS

Sounds.BASSImport

enable pin-point seeking/length (MP3/MP2/MP1)

BASS_MusicFree

Sounds.BASSImport

external bassdll;

BASS_MusicLoad

Sounds.BASSImport

external bassdll;

BASS_MUSIC_3D

Sounds.BASSImport

loop music

BASS_MUSIC_AUTOFREE

Sounds.BASSImport

enable old implementation of DX8 effects

BASS_MUSIC_CALCLEN

Sounds.BASSImport

calculate playback length

BASS_MUSIC_DECODE

Sounds.BASSImport

automatically free the music when it stop/ends

BASS_MUSIC_FLOAT

Sounds.BASSImport

give server status info (HTTP/ICY tags) in DOWNLOADPROC

BASS_MUSIC_FT2MOD

Sounds.BASSImport

apply FastTracker 2 panning to XM files

BASS_MUSIC_FT2PAN

Sounds.BASSImport

surround sound (mode 2)

BASS_MUSIC_FX

Sounds.BASSImport

enable 3D functionality

BASS_MUSIC_LOOP

Sounds.BASSImport

force mono mixing (less CPU usage)

BASS_MUSIC_MONO

Sounds.BASSImport

32-bit floating-point

BASS_MUSIC_NONINTER

Sounds.BASSImport

play .MOD as ProTracker 1 does

BASS_MUSIC_NOSAMPLE

Sounds.BASSImport

stop the music on a backwards jump effect

BASS_MUSIC_POSRESET

Sounds.BASSImport

sinc interpolated sample mixing

BASS_MUSIC_POSRESETEX

Sounds.BASSImport

stop all notes when moving position

BASS_MUSIC_PRESCAN

Sounds.BASSImport

don't play the music, only decode (BASS_ChannelGetData)

BASS_MUSIC_PT1MOD

Sounds.BASSImport

play .MOD as FastTracker 2 does

BASS_MUSIC_RAMP

Sounds.BASSImport

BASS_MUSIC_RAMPS

Sounds.BASSImport

normal ramping

BASS_MUSIC_SINCINTER

Sounds.BASSImport

non-interpolated sample mixing

BASS_MUSIC_STOPBACK

Sounds.BASSImport

stop all notes and reset bmp/etc when moving position

BASS_MUSIC_SURROUND

Sounds.BASSImport

sensitive ramping

BASS_MUSIC_SURROUND2

Sounds.BASSImport

surround sound

BASS_OBJECT_DS

Sounds.BASSImport

limit output to stereo DirectSound interfaces (for use with BASS_GetDSoundObject)

BASS_OBJECT_DS3DL

Sounds.BASSImport

IDirectSound

BASS_OK

Sounds.BASSImport

-1 (QWORD) Error codes returned by BASS_ErrorGetCode()

BASS_Pause

Sounds.BASSImport

external bassdll;

BASS_PLUGINFORM

Sounds.BASSImport

BASS_PluginFree

Sounds.BASSImport

external bassdll;

BASS_PluginGetInfo

Sounds.BASSImport

external bassdll;

BASS_PLUGININFO

Sounds.BASSImport

BASS_PluginLoad

Sounds.BASSImport

external bassdll;

BASS_POS_BYTE

Sounds.BASSImport

+ sample #, MOD sample name : ANSI string BASS_ChannelGetLength/GetPosition/SetPosition modes

BASS_POS_DECODE

Sounds.BASSImport

flag: allow seeking to inexact position

BASS_POS_DECODETO

Sounds.BASSImport

flag: get the decoding (not playing) position

BASS_POS_INEXACT

Sounds.BASSImport

OGG bitstream number

BASS_POS_MUSIC_ORDER

Sounds.BASSImport

byte position

BASS_POS_OGG

Sounds.BASSImport

order.row position, MAKELONG(order,row)

BASS_POS_SCAN

Sounds.BASSImport

flag: decode to the position instead of seeking

BASS_RecordFree

Sounds.BASSImport

external bassdll;

BASS_RecordGetDevice

Sounds.BASSImport

external bassdll;

BASS_RecordGetDeviceInfo

Sounds.BASSImport

external bassdll;

BASS_RecordGetInfo

Sounds.BASSImport

external bassdll;

BASS_RecordGetInput

Sounds.BASSImport

external bassdll;

BASS_RecordGetInputName

Sounds.BASSImport

external bassdll;

BASS_RECORDINFO

Sounds.BASSImport

Recording device info structure

BASS_RecordInit

Sounds.BASSImport

external bassdll;

BASS_RecordSetDevice

Sounds.BASSImport

external bassdll;

BASS_RecordSetInput

Sounds.BASSImport

external bassdll;

BASS_RecordStart

Sounds.BASSImport

external bassdll;

BASS_RECORD_PAUSE

Sounds.BASSImport

BASS_SAMPLE

Sounds.BASSImport

Sample info structure

BASS_SampleCreate

Sounds.BASSImport

external bassdll;

BASS_SampleFree

Sounds.BASSImport

external bassdll;

BASS_SampleGetChannel

Sounds.BASSImport

external bassdll;

BASS_SampleGetChannels

Sounds.BASSImport

external bassdll;

BASS_SampleGetData

Sounds.BASSImport

external bassdll;

BASS_SampleGetInfo

Sounds.BASSImport

external bassdll;

BASS_SampleLoad

Sounds.BASSImport

external bassdll;

BASS_SampleSetData

Sounds.BASSImport

external bassdll;

BASS_SampleSetInfo

Sounds.BASSImport

external bassdll;

BASS_SampleStop

Sounds.BASSImport

external bassdll;

BASS_SAMPLE_3D

Sounds.BASSImport

looped

BASS_SAMPLE_8BITS

Sounds.BASSImport

WAVE_FORMAT_1M08 = $00000001; // 11.025 kHz, Mono, 8-bit WAVE_FORMAT_1S08 = $00000002; // 11.025 kHz, Stereo, 8-bit WAVE_FORMAT_1M16 = $00000004; // 11.025 kHz, Mono, 16-bit WAVE_FORMAT_1S16 = $00000008; // 11.025 kHz, Stereo, 16-bit WAVE_FORMAT_2M08 = $00000010; // 22.05 kHz, Mono, 8-bit WAVE_FORMAT_2S08 = $00000020; // 22.05 kHz, Stereo, 8-bit WAVE_FORMAT_2M16 = $00000040; // 22.05 kHz, Mono, 16-bit WAVE_FORMAT_2S16 = $00000080; // 22.05 kHz, Stereo, 16-bit WAVE_FORMAT_4M08 = $00000100; // 44.1 kHz, Mono, 8-bit WAVE_FORMAT_4S08 = $00000200; // 44.1 kHz, Stereo, 8-bit WAVE_FORMAT_4M16 = $00000400; // 44.1 kHz, Mono, 16-bit WAVE_FORMAT_4S16 = $00000800; // 44.1 kHz, Stereo, 16-bit

BASS_SAMPLE_FLOAT

Sounds.BASSImport

8 bit

BASS_SAMPLE_FX

Sounds.BASSImport

DX7 voice allocation & management

BASS_SAMPLE_LOOP

Sounds.BASSImport

mono

BASS_SAMPLE_MONO

Sounds.BASSImport

32 bit floating-point

BASS_SAMPLE_MUTEMAX

Sounds.BASSImport

not using hardware mixing

BASS_SAMPLE_OVER_DIST

Sounds.BASSImport

override longest playing

BASS_SAMPLE_OVER_POS

Sounds.BASSImport

override lowest volume

BASS_SAMPLE_OVER_VOL

Sounds.BASSImport

old implementation of DX8 effects

BASS_SAMPLE_SOFTWARE

Sounds.BASSImport

3D functionality

BASS_SAMPLE_VAM

Sounds.BASSImport

mute at max distance (3D only)

BASS_Set3DFactors

Sounds.BASSImport

external bassdll;

BASS_Set3DPosition

Sounds.BASSImport

external bassdll;

BASS_SetConfig

Sounds.BASSImport

Recording callback function. handle : The recording handle buffer : Buffer containing the recorded sample data length : Number of bytes user : The 'user' parameter value given when calling BASS_RecordStart RETURN : TRUE = continue recording, FALSE = stop

BASS_SetConfigPtr

Sounds.BASSImport

external bassdll;

BASS_SetDevice

Sounds.BASSImport

external bassdll;

BASS_SetEAXParameters

Sounds.BASSImport

external bassdll;

BASS_SetEAXPreset

Sounds.BASSImport

BASS_SetVolume

Sounds.BASSImport

external bassdll;

BASS_SPEAKER_CENLFE

Sounds.BASSImport

rear/side speakers

BASS_SPEAKER_CENTER

Sounds.BASSImport

BASS_SPEAKER_FRONT

Sounds.BASSImport

don't load the samples Speaker assignment flags

BASS_SPEAKER_FRONTLEFT

Sounds.BASSImport

modifier: right

BASS_SPEAKER_FRONTRIGHT

Sounds.BASSImport

BASS_SPEAKER_LEFT

Sounds.BASSImport

rear center speakers (7.1)

BASS_SPEAKER_LFE

Sounds.BASSImport

BASS_SPEAKER_N

Sounds.BASSImport

external bassdll;

BASS_SPEAKER_REAR

Sounds.BASSImport

front speakers

BASS_SPEAKER_REAR2

Sounds.BASSImport

center & LFE speakers (5.1)

BASS_SPEAKER_REAR2LEFT

Sounds.BASSImport

BASS_SPEAKER_REAR2RIGHT

Sounds.BASSImport

BASS_SPEAKER_REARLEFT

Sounds.BASSImport

BASS_SPEAKER_REARRIGHT

Sounds.BASSImport

BASS_SPEAKER_RIGHT

Sounds.BASSImport

modifier: left

BASS_Start

Sounds.BASSImport

external bassdll;

BASS_Stop

Sounds.BASSImport

external bassdll;

BASS_StreamCreate

Sounds.BASSImport

external bassdll;

BASS_StreamCreateFile

Sounds.BASSImport

external bassdll;

BASS_StreamCreateFileUser

Sounds.BASSImport

external bassdll;

BASS_StreamCreateURL

Sounds.BASSImport

external bassdll;

BASS_StreamFree

Sounds.BASSImport

external bassdll;

BASS_StreamGetFilePosition

Sounds.BASSImport

external bassdll;

BASS_STREAMPROC_END

Sounds.BASSImport

BASS_StreamPutData

Sounds.BASSImport

external bassdll;

BASS_StreamPutFileData

Sounds.BASSImport

external bassdll;

BASS_STREAM_AUTOFREE

Sounds.BASSImport

BASS_STREAM_BLOCK

Sounds.BASSImport

restrict the download rate of internet file streams

BASS_STREAM_DECODE

Sounds.BASSImport

download/play internet file stream in small blocks

BASS_STREAM_PRESCAN

Sounds.BASSImport

override furthest from listener (3D only)

BASS_STREAM_RESTRATE

Sounds.BASSImport

automatically free the stream when it stop/ends

BASS_STREAM_STATUS

Sounds.BASSImport

don't play the stream, only decode (BASS_ChannelGetData)

BASS_SYNC_DOWNLOAD

Sounds.BASSImport

Sync when playback has stalled. param: not used data : 0=stalled, 1=resumed

BASS_SYNC_END

Sounds.BASSImport

Sync when a channel reaches a position. param: position in bytes data : not used

BASS_SYNC_FREE

Sounds.BASSImport

Sync when downloading of an internet (or "buffered" user file) stream has ended. param: not used data : not used

BASS_SYNC_META

Sounds.BASSImport

Sync when a channel reaches the end. param: not used data : not used

BASS_SYNC_MIXTIME

Sounds.BASSImport

FLAG: post a Windows message (instead of callback) When using a window message "callback", the message to post is given in the "proc" parameter of BASS_ChannelSetSync, and is posted to the window specified in the BASS_Init call. The message parameters are: WPARAM = data, LPARAM = user.

BASS_SYNC_MUSICFX

Sounds.BASSImport

Sync when an instrument (sample for the non-instrument based formats) is played in a MOD music (not including retrigs). param: LOWORD=instrument (1=first) HIWORD=note (0=c0...119=b9, -1=all) data : LOWORD=note HIWORD=volume (0-64)

BASS_SYNC_MUSICINST

Sounds.BASSImport

Sync when a MOD music reaches an order:row position. param: LOWORD=order (0=first, -1=all) HIWORD=row (0=first, -1=all) data : LOWORD=order HIWORD=row

BASS_SYNC_MUSICPOS

Sounds.BASSImport

Sync when a channel's position is set. param: not used data : 0 = playback buffer not flushed, 1 = playback buffer flushed

BASS_SYNC_OGG_CHANGE

Sounds.BASSImport

Sync when the "sync" effect (XM/MTM/MOD: E8x/Wxx, IT/S3M: S2x) is used. param: 0:data=pos, 1:data="x" value data : param=0: LOWORD=order HIWORD=row, param=1: "x" value

BASS_SYNC_ONETIME

Sounds.BASSImport

FLAG: sync at mixtime, else at playtime

BASS_SYNC_POS

Sounds.BASSImport

Sync types (with BASS_ChannelSetSync() "param" and SYNCPROC "data" definitions) & flags.

BASS_SYNC_SETPOS

Sounds.BASSImport

Sync when a channel is freed. param: not used data : not used

BASS_SYNC_SLIDE

Sounds.BASSImport

Sync when metadata is received in a stream. param: not used data : pointer to the metadata

BASS_SYNC_STALL

Sounds.BASSImport

Sync when an attribute slide is completed. param: not used data : the type of slide completed (one of the BASS_SLIDE_xxx values)

BASS_TAG_APE

Sounds.BASSImport

ICY metadata : ANSI string

BASS_TAG_APE_BINARY

Sounds.BASSImport

RIFF "DISP" text tag : ANSI string

BASS_TAG_CA_CODEC

Sounds.BASSImport

Lyric3v2 tag : ASCII string

BASS_TAG_HTTP

Sounds.BASSImport

OGG comments : series of null-terminated UTF-8 strings

BASS_TAG_ICY

Sounds.BASSImport

HTTP headers : series of null-terminated ANSI strings

BASS_TAG_ID3

Sounds.BASSImport

BASS_ChannelGetTags types : what's returned

BASS_TAG_ID3V2

Sounds.BASSImport

ID3v1 tags : TAG_ID3 structure

BASS_TAG_LYRICS3

Sounds.BASSImport

OGG encoder : UTF-8 string

BASS_TAG_META

Sounds.BASSImport

ICY headers : series of null-terminated ANSI strings

BASS_TAG_MF

Sounds.BASSImport

CoreAudio codec info : TAG_CA_CODEC structure

BASS_TAG_MP4

Sounds.BASSImport

APEv2 tags : series of null-terminated UTF-8 strings

BASS_TAG_MUSIC_AUTH

Sounds.BASSImport

MOD order list : BYTE array of pattern numbers

BASS_TAG_MUSIC_INST

Sounds.BASSImport

MOD author : UTF-8 string

BASS_TAG_MUSIC_MESSAGE

Sounds.BASSImport

MOD music name : ANSI string

BASS_TAG_MUSIC_NAME

Sounds.BASSImport

+ index #, binary APEv2 tag : TAG_APE_BINARY structure

BASS_TAG_MUSIC_ORDERS

Sounds.BASSImport

MOD message : ANSI string

BASS_TAG_MUSIC_SAMPLE

Sounds.BASSImport

+ instrument #, MOD instrument name : ANSI string

BASS_TAG_OGG

Sounds.BASSImport

ID3v2 tags : variable length block

BASS_TAG_RIFF_BEXT

Sounds.BASSImport

RIFF "INFO" tags : series of null-terminated ANSI strings

BASS_TAG_RIFF_CART

Sounds.BASSImport

RIFF/BWF "bext" tags : TAG_BEXT structure

BASS_TAG_RIFF_DISP

Sounds.BASSImport

RIFF/BWF "cart" tags : TAG_CART structure

BASS_TAG_RIFF_INFO

Sounds.BASSImport

WAVE format : WAVEFORMATEEX structure

BASS_TAG_VENDOR

Sounds.BASSImport

WMA tags : series of null-terminated UTF-8 strings

BASS_TAG_WAVEFORMAT

Sounds.BASSImport

Media Foundation tags : series of null-terminated UTF-8 strings

BASS_TAG_WMA

Sounds.BASSImport

MP4/iTunes metadata : series of null-terminated UTF-8 strings

BASS_UNICODE

Sounds.BASSImport

BASS_UnLoad

Sounds.BASSImport

BASS_Update

Sounds.BASSImport

external bassdll;

BASS_VAM_HARDWARE

Sounds.BASSImport

start recording paused DX7 voice allocation & management flags

BASS_VAM_SOFTWARE

Sounds.BASSImport

Play the sample in hardware. If no hardware voices are available then the "play" call will fail

BASS_VAM_TERM_DIST

Sounds.BASSImport

If there are no free hardware voices, the buffer to be terminated will be the one with the least time left to play.

BASS_VAM_TERM_PRIO

Sounds.BASSImport

If there are no free hardware voices, the buffer to be terminated will be one that was loaded/created with the BASS_SAMPLE_MUTEMAX flag and is beyond it's max distance. If there are no buffers that match this criteria, then the "play" call will fail.

BASS_VAM_TERM_TIME

Sounds.BASSImport

These flags enable hardware resource stealing... if the hardware has no available voices, a currently playing buffer will be stopped to make room for the new buffer. NOTE: only samples loaded/created with the BASS_SAMPLE_VAM flag are considered for termination by the DX7 voice management.

BBMaxX

GLS.GeometryBB

BBMaxY

GLS.GeometryBB

BBMaxZ

GLS.GeometryBB

BBMinX

GLS.GeometryBB

BBMinY

GLS.GeometryBB

BBMinZ

GLS.GeometryBB

BBToAABB

GLS.GeometryBB

Extract AABB information from a BB.

BBTransform

GLS.GeometryBB

BeginFPUOnlySection

GLS.VectorGeometry

Begins a FPU-only section. You can use a FPU-only section to force use of FPU versions of the math functions, though typically slower than their SIMD counterparts, they have a higher precision (80 bits internally) that may be required in some cases. Each BeginFPUOnlySection call must be balanced by a EndFPUOnlySection (calls can be nested).

BEHAVIOURS_SELECTED

FmSceneEditor

BezierCurvePoint

GLS.CurvesAndSurfaces

BezierSurfacePoint

GLS.CurvesAndSurfaces

BGR24ToRGB24

GLS.Graphics

BGR24ToRGBA32

GLS.Graphics

BGRA32ToRGBA32

GLS.Graphics

BinormalAttributeName

GLS.Objects

BipolarCylindrical_Cartesian

GLS.Coordinates

Convert Bipolar to Cartesian (with error check). u in rad

BipolarCylindrical_Cartesian

GLS.Coordinates

Convert Bipolar to Cartesian. u in rad

BipolarCylindrical_Cartesian

GLS.Coordinates

Convert BiPolarCylindrical to Cartesian with no checks. Double, u in rad http://mathworld.wolfram.com/BipolarCylindricalCoordinates.html

BipolarCylindrical_Cartesian

GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian with checks. Double, u in rad ierr: [0] = ok, [1] = u out of bounds. Acceptable u: [0,2*pi) [2] = v out of bounds. Acceptable v: (-inf,inf) [3] = z1 out of bounds. Acceptable z1: (-inf,inf) Ref: https://mathworld.wolfram.com/BipolarCylindricalCoordinates.html

BitMapStrMax3DS

Formats.m3DSConst

inclusive maximum value for shadow filter BITMAP chunk

BIT_MAP

Formats.m3DSConst

BI_1632

Formats.VFW

Handle to an Installable Compressor
this code in biCompression means the DIB must be accesed via 48 bit pointers! using *ONLY* the selector given.

BOOL

Sounds.BASSImport

Border

GLS.Memo

BottomFalloff

Formats.m3DSConst

BOUNDBOX

Formats.m3DSConst

BoundingBoxesAreEqual

GLS.GeometryBB

BoundingBoxesAreEqual

GLS.GeometryBB

—————————————————————————— Bounding Box functions ——————————————————————————

BrightenRGBArray

GLS.Graphics

BSphereContainsAABB

GLS.GeometryBB

Determines to which extent a BSphere contains an AABB

BSphereContainsBSphere

GLS.GeometryBB

Determines to which extent one BSphere contains another BSphere

BSphereIntersectsBSphere

GLS.GeometryBB

Determines if one BSphere intersects another BSphere

BSphereToAABB

GLS.GeometryBB

BSphereToAABB

GLS.GeometryBB

BSphereToAABB

GLS.GeometryBB

Convert a BSphere to an AABB

BSplinePoint

GLS.CurvesAndSurfaces

BSplineSurfacePoint

GLS.CurvesAndSurfaces

BufSize

GLS.FileOBJ

Load input data in chunks of BufSize Bytes.

Build2DMipmap

GLS.ImageUtils

BuildCube

GLS.MeshBuilder

—————- Mesh building routines ——————-

BuildCylinder

GLS.MeshBuilder

BuildCylinder2

GLS.MeshBuilder

BuildNonOrientedEdgesList

GLS.MeshUtils

Builds a list of non-oriented (non duplicated) edges list. Each edge is represented by the two integers of its vertices, sorted in ascending order. If not nil, triangleEdges is filled with the 3 indices of the 3 edges of the triangle, the edges ordering respecting the original triangle orientation.

BuildNormals

GLS.MeshUtils

Builds normals for a triangles list. Builds one normal per reference vertex (may be NullVector is reference isn't used), which is the averaged for normals of all adjacent triangles. Returned list must be freed by caller.

BuildVectorCountOptimizedIndices

GLS.MeshUtils

Builds a vector-count optimized indices list. The returned list (to be freed by caller) contains an "optimized" indices list in which duplicates coordinates in the original vertices list are used only once (the first available duplicate in the list is used). The vertices list is left untouched, to remap/cleanup, you may use the RemapAndCleanupReferences function.

ByteElement

CUDA.DataAccess

c180

GLS.VectorGeometry

c180divPI

GLS.VectorGeometry

c2PI

GLS.VectorGeometry

c360

GLS.VectorGeometry

c3PIdiv2

GLS.VectorGeometry

c3PIdiv4

GLS.VectorGeometry

CalcObjectSpaceLightVectors

GLS.BumpmapHDS

Some useful methods for setting up bump maps.

CalcPlaneNormal

GLS.VectorGeometry

CalcPlaneNormal

GLS.VectorGeometry

CalcPlaneNormal

GLS.VectorGeometry

Calculate the normal of a plane defined by three points.

CalcTangentSpaceLightVectors

GLS.BumpmapHDS

cAllAttribBits

GLS.State

cAllColorComponents

GLS.State

cAllFrustrumParts

GLS.GeomObjects

callibname

Sounds.OpenALImport

define ALUT to use alut.dll

cAllMeshPrimitive

GLS.State

cAllStatesChanged

GLS.PipelineTransformation

calutlibname

Sounds.OpenALImport

CAMERA_NODE_TAG

Formats.m3DSConst

CAM_RANGES

Formats.m3DSConst

CAM_SEE_CONE

Formats.m3DSConst

capCaptureAbort

Formats.VFW

capCaptureGetSetup

Formats.VFW

capCaptureSequence

Formats.VFW

capCaptureSequenceNoFile

Formats.VFW

capCaptureSetSetup

Formats.VFW

capCaptureSingleFrame

Formats.VFW

capCaptureSingleFrameClose

Formats.VFW

capCaptureSingleFrameOpen

Formats.VFW

capCaptureStop

Formats.VFW

capCreateCaptureWindow

Formats.VFW

capCreateCaptureWindowA

Formats.VFW

– The only exported functions from AVICAP.DLL ——————————

capCreateCaptureWindowW

Formats.VFW

capDlgVideoCompression

Formats.VFW

capDlgVideoDisplay

Formats.VFW

capDlgVideoFormat

Formats.VFW

capDlgVideoSource

Formats.VFW

capDriverConnect

Formats.VFW

capDriverDisconnect

Formats.VFW

capDriverGetCaps

Formats.VFW

capDriverGetName

Formats.VFW

capDriverGetVersion

Formats.VFW

capEditCopy

Formats.VFW

capFileAlloc

Formats.VFW

capFileGetCaptureFile

Formats.VFW

capFileSaveAs

Formats.VFW

capFileSaveDIB

Formats.VFW

capFileSetCaptureFile

Formats.VFW

capFileSetInfoChunk

Formats.VFW

capGetAudioFormat

Formats.VFW

capGetAudioFormatSize

Formats.VFW

capGetDriverDescription

Formats.VFW

capCreateCaptureWindowA

capGetDriverDescriptionA

Formats.VFW

capGetDriverDescriptionW

Formats.VFW

capGetMCIDeviceName

Formats.VFW

capGetStatus

Formats.VFW

capGetUserData

Formats.VFW

capGetVideoFormat

Formats.VFW

capGetVideoFormatSize

Formats.VFW

capGrabFrame

Formats.VFW

capGrabFrameNoStop

Formats.VFW

capOverlay

Formats.VFW

capPaletteAuto

Formats.VFW

capPaletteManual

Formats.VFW

capPaletteOpen

Formats.VFW

capPalettePaste

Formats.VFW

capPaletteSave

Formats.VFW

capPreview

Formats.VFW

capPreviewRate

Formats.VFW

capPreviewScale

Formats.VFW

capSetAudioFormat

Formats.VFW

capSetCallbackOnCapControl

Formats.VFW

capSetCallbackOnError

Formats.VFW

message wrapper macros are defined for the default messages only. Apps that wish to mix Ansi and UNICODE message sending will have to reference the _A and _W messages directly

capSetCallbackOnFrame

Formats.VFW

capSetCallbackOnStatus

Formats.VFW

capSetCallbackOnVideoStream

Formats.VFW

capSetCallbackOnWaveStream

Formats.VFW

capSetCallbackOnYield

Formats.VFW

capSetMCIDeviceName

Formats.VFW

capSetScrollPos

Formats.VFW

capSetUserData

Formats.VFW

capSetVideoFormat

Formats.VFW

Cartesian_Cylindrical

GLS.Coordinates

Convert Cartesian to Cylindrical no checks. Duoble

Cartesian_Cylindrical

GLS.Coordinates

Convert Cartesian to Cylindrical no checks. Single

Cartesian_Spherical

GLS.Coordinates

Cartesian_Spherical

GLS.Coordinates

convert Cartesian to Spherical, no checks, double Ref: http://mathworld.wolfram.com/SphericalCoordinates.html NB: Could be optimised by using jclmath.pas unit?

Cartesian_Spherical

GLS.Coordinates

Convert Cartesian to Spherical, no checks, single Ref: http://mathworld.wolfram.com/SphericalCoordinates.html NB: Could be optimised by using jclmath.pas unit

CBBBack

GLS.GeometryBB

CBBBottom

GLS.GeometryBB

CBBFront

GLS.GeometryBB

CBBLeft

GLS.GeometryBB

CBBPlans

GLS.GeometryBB

CBBRight

GLS.GeometryBB

CBBTop

GLS.GeometryBB

cbrt

GLS.Polynomials

Calculates the cube root of its parameter.

cColinearBias

GLS.VectorGeometry

cDefaultFlareElements

GLS.LensFlare

cDefaultGLActorOptions

GLS.VectorFileObjects

cDefaultImposterOptions

GLS.Imposter

cDefaultMirrorOptions

GLS.Mirror

cDefaultNormalMapScale

GLS.Color

cDefaultNormalMapScale

GLS.Texture

cDefaultPointSize

GLS.Objects

cDefaultProxyOptions

GLS.Scene

cDefaultScreenSaverOptions

GLS.ScreenSaver

cDefaultSDLWindowOptions

GLS.SDLWindow

cDefaultShadowPlaneOptions

GLS.ShadowPlane

cDefaultSwizzleVector

GLS.TextureFormat

cDefaultWaterPlaneOptions

GLS.WaterPlane

cDEFAULT_CONSTRAINT_FRICTION

GLS.VerletTypes

cDEFAULT_TIMER_INTERVAL

GLS.AsyncTimer

CDirPlan

GLS.GeometryBB

cECCloseDistance

GLS.EllipseCollision

CGbool

Cg.Import

cgCompileProgram

Cg.Import

cgConnectParameter

Cg.Import

CGcontext

Cg.Import

cgCopyProgram

Cg.Import

cgCreateContext

Cg.Import

** Context functions **

cgCreateParameter

Cg.Import

** Parameter functions **

cgCreateParameterArray

Cg.Import

cgCreateParameterMultiDimArray

Cg.Import

cgCreateProgram

Cg.Import

** Program functions **

cgCreateProgramFromFile

Cg.Import

cgDestroyContext

Cg.Import

cgDestroyParameter

Cg.Import

cgDestroyProgram

Cg.Import

cgDisconnectParameter

Cg.Import

CGenum

Cg.Import

CGerror

Cg.Import

CGerrorCallbackFunc

Cg.Import

cgGetArrayDimension

Cg.Import

cgGetArrayParameter

Cg.Import

cgGetArraySize

Cg.Import

cgGetArrayType

Cg.Import

cgGetConnectedParameter

Cg.Import

cgGetConnectedToParameter

Cg.Import

cgGetEnum

Cg.Import

cgGetEnumString

Cg.Import

*** Enum Functions ***

cgGetError

Cg.Import

** Error Functions **

cgGetErrorCallback

Cg.Import

cgGetErrorString

Cg.Import

cgGetFirstDependentParameter

Cg.Import

cgGetFirstLeafParameter

Cg.Import

cgGetFirstParameter

Cg.Import

cgGetFirstProgram

Cg.Import

cgGetFirstStructParameter

Cg.Import

cgGetLastErrorString

Cg.Import

cgGetLastListing

Cg.Import

cgGetNamedParameter

Cg.Import

cgGetNamedProgramParameter

Cg.Import

cgGetNamedStructParameter

Cg.Import

cgGetNamedUserType

Cg.Import

cgGetNextLeafParameter

Cg.Import

cgGetNextLeafParameter_depr1_1

Cg.Import

cgGetNextParameter

Cg.Import

cgGetNextParameter_depr1_1

Cg.Import

*** Support for deprecated Cg 1.1 API ***

cgGetNextProgram

Cg.Import

cgGetNumConnectedToParameters

Cg.Import

cgGetNumParentTypes

Cg.Import

cgGetNumUserTypes

Cg.Import

cgGetParameterBaseResource

Cg.Import

cgGetParameterContext

Cg.Import

cgGetParameterDirection

Cg.Import

cgGetParameterIndex

Cg.Import

cgGetParameterName

Cg.Import

cgGetParameterNamedType

Cg.Import

cgGetParameterOrdinalNumber

Cg.Import

cgGetParameterProgram

Cg.Import

cgGetParameterResource

Cg.Import

cgGetParameterResourceIndex

Cg.Import

cgGetParameterSemantic

Cg.Import

cgGetParameterType

Cg.Import

cgGetParameterValues

Cg.Import

cgGetParameterVariability

Cg.Import

cgGetParentType

Cg.Import

cgGetProfile

Cg.Import

cgGetProfileString

Cg.Import

** Profile Functions **

cgGetProgramContext

Cg.Import

cgGetProgramProfile

Cg.Import

cgGetProgramString

Cg.Import

cgGetResource

Cg.Import

cgGetResourceString

Cg.Import

** Resource Functions **

cgGetString

Cg.Import

*** Misc Functions ***

cgGetType

Cg.Import

cgGetTypeString

Cg.Import

** Type Functions **

cgGetUserType

Cg.Import

cgGLBindProgram

Cg.GL

cgGLDisableClientState

Cg.GL

cgGLDisableProfile

Cg.GL

cgGLDisableTextureParameter

Cg.GL

cgGLEnableClientState

Cg.GL

cgGLEnableProfile

Cg.GL

cgGLEnableTextureParameter

Cg.GL

CGGLenum

Cg.GL

cgGLGetLatestProfile

Cg.GL

cgGLGetManageTextureParameters

Cg.GL

cgGLGetMatrixParameterArraydc

Cg.GL

cgGLGetMatrixParameterArraydr

Cg.GL

cgGLGetMatrixParameterArrayfc

Cg.GL

cgGLGetMatrixParameterArrayfr

Cg.GL

cgGLGetMatrixParameterdc

Cg.GL

cgGLGetMatrixParameterdr

Cg.GL

cgGLGetMatrixParameterfc

Cg.GL

cgGLGetMatrixParameterfr

Cg.GL

cgGLGetParameter1d

Cg.GL

cgGLGetParameter1f

Cg.GL

cgGLGetParameter2d

Cg.GL

cgGLGetParameter2f

Cg.GL

cgGLGetParameter3d

Cg.GL

cgGLGetParameter3f

Cg.GL

cgGLGetParameter4d

Cg.GL

cgGLGetParameter4f

Cg.GL

cgGLGetParameterArray1d

Cg.GL

cgGLGetParameterArray1f

Cg.GL

cgGLGetParameterArray2d

Cg.GL

cgGLGetParameterArray2f

Cg.GL

cgGLGetParameterArray3d

Cg.GL

cgGLGetParameterArray3f

Cg.GL

cgGLGetParameterArray4d

Cg.GL

cgGLGetParameterArray4f

Cg.GL

cgGLGetProgramID

Cg.GL

cgGLGetTextureEnum

Cg.GL

cgGLGetTextureParameter

Cg.GL

cgGLIsProfileSupported

Cg.GL

***************************************************************************** *** Profile Functions ****************************************************************************

cgGLIsProgramLoaded

Cg.GL

CgGLlibrary

Cg.GL

cgGLLoadProgram

Cg.GL

***************************************************************************** *** Program Managment Functions ****************************************************************************

cgGLSetManageTextureParameters

Cg.GL

cgGLSetMatrixParameterArraydc

Cg.GL

cgGLSetMatrixParameterArraydr

Cg.GL

cgGLSetMatrixParameterArrayfc

Cg.GL

cgGLSetMatrixParameterArrayfr

Cg.GL

cgGLSetMatrixParameterdc

Cg.GL

cgGLSetMatrixParameterdr

Cg.GL

***************************************************************************** *** Matrix Parameter Managment Functions ****************************************************************************

cgGLSetMatrixParameterfc

Cg.GL

cgGLSetMatrixParameterfr

Cg.GL

cgGLSetOptimalOptions

Cg.GL

cgGLSetParameter1d

Cg.GL

cgGLSetParameter1dv

Cg.GL

cgGLSetParameter1f

Cg.GL

***************************************************************************** *** Parameter Managment Functions ****************************************************************************

cgGLSetParameter1fv

Cg.GL

cgGLSetParameter2d

Cg.GL

cgGLSetParameter2dv

Cg.GL

cgGLSetParameter2f

Cg.GL

cgGLSetParameter2fv

Cg.GL

cgGLSetParameter3d

Cg.GL

cgGLSetParameter3dv

Cg.GL

cgGLSetParameter3f

Cg.GL

cgGLSetParameter3fv

Cg.GL

cgGLSetParameter4d

Cg.GL

cgGLSetParameter4dv

Cg.GL

cgGLSetParameter4f

Cg.GL

cgGLSetParameter4fv

Cg.GL

cgGLSetParameterArray1d

Cg.GL

cgGLSetParameterArray1f

Cg.GL

cgGLSetParameterArray2d

Cg.GL

cgGLSetParameterArray2f

Cg.GL

cgGLSetParameterArray3d

Cg.GL

cgGLSetParameterArray3f

Cg.GL

cgGLSetParameterArray4d

Cg.GL

cgGLSetParameterArray4f

Cg.GL

cgGLSetParameterPointer

Cg.GL

cgGLSetStateMatrixParameter

Cg.GL

cgGLSetTextureParameter

Cg.GL

***************************************************************************** *** Texture Parameter Managment Functions ****************************************************************************

cgGLUnbindProgram

Cg.GL

cgIsContext

Cg.Import

cgIsInterfaceType

Cg.Import

cgIsParameter

Cg.Import

cgIsParameterGlobal

Cg.Import

cgIsParameterReferenced

Cg.Import

cgIsParentType

Cg.Import

cgIsProgram

Cg.Import

cgIsProgramCompiled

Cg.Import

CGLAbstractShaderUniform

GLS.MaterialEx

CGLBaseMaterialCollectionItem

GLS.MaterialEx

cGLBlendEquationToGLEnum

GLS.State

valid for src only

cGLBlendFunctionToGLEnum

GLS.State

cGLBufferBindingTarget

GLS.State

cGLComparisonFunctionToGLEnum

GLS.State

cGLCullFaceModeToGLEnum

GLS.State

cGLFaceWindingToGLEnum

GLS.State

cGLgsInTypes

GLSL.ShaderParameter

cGLgsOutTypes

GLSL.ShaderParameter

cGLHintToGLEnum

GLS.State

CgLibrary

Cg.Import

Platform Specific
by default, GLX is not supported on windows, although windows implementations do exist .NET

cGLLogicOpToGLEnum

GLS.State

cGLPolygonModeToGLEnum

GLS.State

cGLQueryTypeToGLEnum

GLS.State

cGLSLSamplerString

GLSL.ShaderParameter

cGLSLTypeString

GLSL.ShaderParameter

cGLStateToGLEnum

GLS.State

cGLStateTypeToGLEnum

GLS.State

cGLStencilOpToGLEnum

GLS.State

cGLTexTypeToGLEnum

GLS.State

CGparameter

Cg.Import

CGprofile

Cg.Import

CGprogram

Cg.Import

CGresource

Cg.Import

cgSetArraySize

Cg.Import

cgSetAutoCompile

Cg.Import

cgSetErrorCallback

Cg.Import

cgSetMatrixParameterdc

Cg.Import

cgSetMatrixParameterdr

Cg.Import

cgSetMatrixParameterfc

Cg.Import

cgSetMatrixParameterfr

Cg.Import

cgSetMultiDimArraySize

Cg.Import

cgSetParameter1d

Cg.Import

cgSetParameter1dv

Cg.Import

cgSetParameter1f

Cg.Import

cgSetParameter1fv

Cg.Import

cgSetParameter2d

Cg.Import

cgSetParameter2dv

Cg.Import

cgSetParameter2f

Cg.Import

cgSetParameter2fv

Cg.Import

cgSetParameter3d

Cg.Import

cgSetParameter3dv

Cg.Import

cgSetParameter3f

Cg.Import

cgSetParameter3fv

Cg.Import

cgSetParameter4d

Cg.Import

cgSetParameter4dv

Cg.Import

cgSetParameter4f

Cg.Import

cgSetParameter4fv

Cg.Import

cgSetParameterSemantic

Cg.Import

cgSetParameterVariability

Cg.Import

CGtype

Cg.Import

CG_DATATYPE_MACRO(Bool4x4,bool4x4,CG_BOOL4x4,4,4)

CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR

Cg.Import

"Cannot bind the given parameters. Array types do not match."

CG_ARRAY_HAS_WRONG_DIMENSION_ERROR

Cg.Import

"Cannot bind the given parameters. Array dimensions do not match."

CG_ARRAY_PARAM_ERROR

Cg.Import

"The dimension value is invalid."

CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR

Cg.Import

"Cannot bind the given parameters. Binding will form a cycle."

CG_BIND_CREATES_CYCLE_ERROR

Cg.Import

"The size value is invalid."

CG_CANNOT_DESTROY_PARAMETER_ERROR

Cg.Import

"The parameter could not be changed to the given variability."

CG_COMPILER_ERROR

Cg.Import

"No error has occurred."

CG_CONFLICTING_PARAMETER_TYPES_ERROR

Cg.Import

"A type being added to the context conflicts with an existing type."

CG_CONFLICTING_TYPES_ERROR

Cg.Import

"Index into the array is out of bounds."

CG_FALSE

Cg.Import

CG_FILE_READ_ERROR

Cg.Import

"The parameter must be a 4x4 matrix type."

CG_FILE_WRITE_ERROR

Cg.Import

"The file could not be read."

CG_GL_FRAGMENT

Cg.GL

CG_GL_MATRIX_IDENTITY

Cg.GL

CG_GL_MATRIX_INVERSE

Cg.GL

CG_GL_MATRIX_INVERSE_TRANSPOSE

Cg.GL

CG_GL_MATRIX_TRANSPOSE

Cg.GL

CG_GL_MODELVIEW_MATRIX

Cg.GL

CG_GL_MODELVIEW_PROJECTION_MATRIX

Cg.GL

CG_GL_PROJECTION_MATRIX

Cg.GL

CG_GL_TEXTURE_MATRIX

Cg.GL

CG_GL_VERTEX

Cg.GL

CG_INVALID_CONTEXT_HANDLE_ERROR

Cg.Import

"Memory allocation failed."

CG_INVALID_DIMENSION_ERROR

Cg.Import

"The variable arguments were specified incorrectly."

CG_INVALID_ENUMERANT_ERROR

Cg.Import

"The parameter is not of matrix type."

CG_INVALID_PARAMETER_ERROR

Cg.Import

"The compile returned an error."

CG_INVALID_PARAMETER_TYPE_ERROR

Cg.Import

"The parameter is not a program parameter."

CG_INVALID_PARAMETER_VARIABILITY_ERROR

Cg.Import

"The parameter must be global."

CG_INVALID_PARAM_HANDLE_ERROR

Cg.Import

"Invalid program handle."

CG_INVALID_PROFILE_ERROR

Cg.Import

"The parameter used is invalid."

CG_INVALID_PROGRAM_HANDLE_ERROR

Cg.Import

"Invalid context handle."

CG_INVALID_SIZE_ERROR

Cg.Import

"The parameter must be a resizable array."

CG_INVALID_VALUE_TYPE_ERROR

Cg.Import

"An unsupported GL extension was required to perform this operation."

CG_IS_NOT_PROGRAM_PARAMETER_ERROR

Cg.Import

"The two parameters being bound do not match."

CG_MEMORY_ALLOC_ERROR

Cg.Import

"nvparse could not successfully parse the output from the Cg compiler backend."

CG_NOT_4x4_MATRIX_ERROR

Cg.Import

"The enumerant parameter has an invalid value."

CG_NOT_MATRIX_PARAM_ERROR

Cg.Import

"An unknown value type was assigned to a parameter."

CG_NOT_ROOT_PARAMETER_ERROR

Cg.Import

"Cannot destroy the parameter. It is bound to other parameters or is not a root parameter."

CG_NO_ERROR

Cg.Import

# define CG_ERROR_MACRO(code, enum_name, new_enum_name, message) \ new_enum_name = code,

CG_NVPARSE_ERROR

Cg.Import

"The file could not be written."

CG_OUT_OF_ARRAY_BOUNDS_ERROR

Cg.Import

"The parameter must be an array."

CG_PARAMETERS_DO_NOT_MATCH_ERROR

Cg.Import

"The parameter is not a root parameter."

CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR

Cg.Import

"The type of the parameter is invalid."

CG_PARAMETER_IS_NOT_SHARED_ERROR

Cg.Import

"The parameters being bound have conflicting types."

CG_PROGRAM_BIND_ERROR

Cg.Import

"The program did could not load."

CG_PROGRAM_LOAD_ERROR

Cg.Import

"The profile is not supported."

CG_PROGRAM_NOT_LOADED_ERROR

Cg.Import

"The program could not bind."

CG_TRUE

Cg.Import

CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR

Cg.Import

"The array is has the wrong dimension."

CG_UNKNOWN_PROFILE_ERROR

Cg.Import

"Invalid parameter handle."

CG_UNSUPPORTED_GL_EXTENSION_ERROR

Cg.Import

"The program must be loaded before this operation may be used."

CG_VAR_ARG_ERROR

Cg.Import

"The specified profile is unknown."

CG_VERSION_1_2

Cg.Import

CG_VERSION_NUM

Cg.Import

CharToVirtualKeyCode

GLS.Keyboard

Returns the virtual keycode corresponding to the given char. The returned code is untranslated, f.i. 'a' and 'A' will give the same result. A return value of -1 means that the characted cannot be entered using the keyboard.

CharToWideChar

GLS.Utils

cHTFHashTableSize

GLS.HeightTileFileHDS

cHTFQuadTableSize

GLS.HeightTileFileHDS

ChunkHeaderReport

Formats.m3DSUtils

support functions for text output of chunk and database contents

ChunkTagToString

Formats.m3DSUtils

ChunkType

Formats.m3DSConst

Trick Chunk Flags For ChunkSyntax function

ChunkUnique

Formats.m3DSConst

cImageDataFormat16bits

Formats.DXTC

cImageDataFormat24bits

Formats.DXTC

cImageDataFormat32bits

Formats.DXTC

cImageDataFormat8bits

Formats.DXTC

cInv2PI

GLS.VectorGeometry

cInv360

GLS.VectorGeometry

ckidAVIMAINHDR

Formats.VFW

mmioFOURCC('h', 'd', 'r', 'l')

ckidAVINEWINDEX

Formats.VFW

mmioFOURCC('r', 'e', 'c', ' ')

ckidAVIPADDING

Formats.VFW

– Chunk id to use for extra chunks for padding —————————–

ckidSTREAMFORMAT

Formats.VFW

mmioFOURCC('s', 't', 'r', 'h')

ckidSTREAMHANDLERDATA

Formats.VFW

mmioFOURCC('s', 't', 'r', 'f')

ckidSTREAMHEADER

Formats.VFW

mmioFOURCC('s', 't', 'r', 'l')

ckidSTREAMNAME

Formats.VFW

mmioFOURCC('s', 't', 'r', 'd')

cktypeDIBbits

Formats.VFW

– Basic chunk types ——————————————————–

cktypeDIBcompressed

Formats.VFW

aviTWOCC('d', 'b')

cktypePALchange

Formats.VFW

aviTWOCC('d', 'c')

cktypeWAVEbytes

Formats.VFW

aviTWOCC('p', 'c')

clActiveBackground

GLS.Color

clActiveBase

GLS.Color

clActiveBrightText

GLS.Color

clActiveButton

GLS.Color

clActiveButtonText

GLS.Color

clActiveDark

GLS.Color

clActiveForeground

GLS.Color

Active, mapped, pseudo, rgb values

clActiveHighlight

GLS.Color

clActiveHighlightedText

GLS.Color

clActiveLight

GLS.Color

clActiveMid

GLS.Color

clActiveMidlight

GLS.Color

clActiveShadow

GLS.Color

clActiveText

GLS.Color

ClampInteger

GLS.VectorGeometry

ClampInteger

GLS.VectorGeometry

ClampValue

GLS.VectorGeometry

Clamps aValue in the aMin-aMax interval

ClampValue

GLS.VectorGeometry

Clamps aValue in the aMin-INF interval

clBackground

GLS.Color

clBase

GLS.Color

clBrightText

GLS.Color

clBuildProgram

OpenCL.Import

clButton

GLS.Color

clButtonText

GLS.Color

clCloneKernel

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCompileProgram

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreateBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Memory Object APIs *//

clCreateCommandQueue

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Command Queue APIs *//

clCreateContext

OpenCL.Import

clCreateContextFromType

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreateFromGLBuffer

OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;

clCreateFromGLRenderbuffer

OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;

clCreateFromGLTexture3D

OpenCL.GL

CL_API_SUFFIX__VERSION_1_2;

clCreateImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1

clCreateKernel

OpenCL.Import

Kernel Object APIs

clCreateKernelsInProgram

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreatePipe

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clCreateProgramWithBinary

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreateProgramWithBuiltInKernels

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreateProgramWithIL

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clCreateProgramWithSource

OpenCL.Import

Program Object APIs

clCreateSamplerWithProperties

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0 * Sampler APIs *//

clCreateSubBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreateSubDevices

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clCreateUserEvent

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clDark

GLS.Color

clDisabledBackground

GLS.Color

clDisabledBase

GLS.Color

clDisabledBrightText

GLS.Color

clDisabledButton

GLS.Color

clDisabledButtonText

GLS.Color

clDisabledDark

GLS.Color

clDisabledForeground

GLS.Color

Disabled, mapped, pseudo, rgb values

clDisabledHighlight

GLS.Color

clDisabledHighlightedText

GLS.Color

clDisabledLight

GLS.Color

clDisabledMid

GLS.Color

clDisabledMidlight

GLS.Color

clDisabledShadow

GLS.Color

clDisabledText

GLS.Color

clDontMask

GLS.Color

clEnqueueAcquireGLObjects

OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;

clEnqueueBarrier

OpenCL.Import

clEnqueueBarrierWithWaitList

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clEnqueueCopyBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clEnqueueCopyBufferRect

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueCopyBufferToImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueCopyImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clEnqueueCopyImageToBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueFillBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1

clEnqueueFillImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueMapBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueMapImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueMarkerWithWaitList

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueMigrateMemObjects

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueNativeKernel

OpenCL.Import

clEnqueueNDRangeKernel

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clEnqueueReadBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Enqueued Commands APIs *//

clEnqueueReadBufferRect

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueReadImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1

clEnqueueReleaseGLObjects

OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;

clEnqueueSVMFree

OpenCL.Import

clEnqueueSVMMap

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clEnqueueSVMMemcpy

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueSVMmigrateMem

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clEnqueueSVMUnmap

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clEnqueueUnmapMemObject

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueWaitForEvents

OpenCL.Import

CL_API_SUFFIX__VERSION_2_1

clEnqueueWriteBuffer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1

clEnqueueWriteBufferRect

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clEnqueueWriteImage

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clFinish

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clFirstSpecialColor

GLS.Color

clFlush

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Flush and Finish APIs *//

clForeground

GLS.Color

color definitions Some extra colors, not declared in Vcl.Graphics.pas

clGetCommandQueueInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetContextInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetDeviceAndHostTimer

OpenCL.Import

CL_API_SUFFIX__VERSION_2_1

clGetDeviceIDs

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Device APIs *//

clGetDeviceInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetEventInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetEventProfilingInfo

OpenCL.Import

Profiling APIs

clGetExtensionFunctionAddressForPlatform

OpenCL.Import

* Extension function access * * Returns the extension function address for the given function name, * or NULL if a valid function can not be found. The client must * check to make sure the address is not NULL, before using or * calling the returned function address. *

clGetGLContextInfoKHR

OpenCL.GL

clGetGLObjectInfo

OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;

clGetGLTextureInfo

OpenCL.GL

CL_API_SUFFIX__VERSION_1_0;

clGetHostTimer

OpenCL.Import

CL_API_SUFFIX__VERSION_2_1

clGetImageInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetKernelArgInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetKernelInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clGetKernelSubGroupInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetKernelWorkGroupInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clGetMemObjectInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetPipeInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetPlatformIDs

OpenCL.Import

Platform API

clGetPlatformInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetProgramBuildInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetProgramInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clGetSamplerInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clGetSupportedImageFormats

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clHighlight

GLS.Color

clHighlightedText

GLS.Color

ClipToAABB

GLS.GeometryBB

Clips a position to an AABB

clLight

GLS.Color

clLinkProgram

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clMask

GLS.Color

clMid

GLS.Color

clMidlight

GLS.Color

cLn10

GLS.VectorGeometry

clNormalBackground

GLS.Color

clNormalBase

GLS.Color

clNormalBrightText

GLS.Color

clNormalButton

GLS.Color

clNormalButtonText

GLS.Color

clNormalDark

GLS.Color

clNormalForeground

GLS.Color

Normal, mapped, pseudo, rgb values

clNormalHighlight

GLS.Color

clNormalHighlightedText

GLS.Color

clNormalLight

GLS.Color

clNormalMid

GLS.Color

clNormalMidlight

GLS.Color

clNormalShadow

GLS.Color

clNormalText

GLS.Color

cloActive

GLS.Color

cloDisabled

GLS.Color

CLogSession

GLS.Logger

Class reference to log session class

cloNormal

GLS.Color

Mapped role offsets

CloseCUDA

CUDA.Import

CloseCUDART

CUDA.Runtime

CloseCUFFT

CUDA.FourierTransform

CloseCUTIL

CUDA.Utility

ClosedPolygon2D

GLS.VectorTypesExt

TGLPolygon3D = record Vertices: array of TGLPoint3D; function Length; end;

ClosedPolygon3D

GLS.VectorTypesExt

CloseODE

Physics.ODEImport

CloseOpenCL

OpenCL.Import

CloseOpenGL

GLS.OpenGLAdapter

clr3DDkShadow

GLS.Color

clr3DLight

GLS.Color

clrActiveBorder

GLS.Color

clrActiveCaption

GLS.Color

clrAppWorkSpace

GLS.Color

clrAqua

GLS.Color

colors en masse

clrAquamarine

GLS.Color

clrBackground

GLS.Color

clrBakersChoc

GLS.Color

clrBlack

GLS.Color

clrBlue

GLS.Color

clrBlueViolet

GLS.Color

clrBrass

GLS.Color

clrBrightGold

GLS.Color

clrBronze

GLS.Color

clrBronze2

GLS.Color

clrBrown

GLS.Color

clrBtnFace

GLS.Color

clrBtnHighlight

GLS.Color

clrBtnShadow

GLS.Color

clrBtnText

GLS.Color

clrCadetBlue

GLS.Color

clrCaptionText

GLS.Color

clrCoolCopper

GLS.Color

clrCopper

GLS.Color

clrCoral

GLS.Color

clrCornflowerBlue

GLS.Color

clrDarkBrown

GLS.Color

clrDarkGreen

GLS.Color

clrDarkOliveGreen

GLS.Color

clrDarkOrchid

GLS.Color

clrDarkPurple

GLS.Color

clrDarkSlateBlue

GLS.Color

clrDarkSlateGray

GLS.Color

clrDarkSlateGrey

GLS.Color

clrDarkTan

GLS.Color

clrDarkTurquoise

GLS.Color

clrDarkWood

GLS.Color

clrDimGray

GLS.Color

other grays

clrDkGreenCopper

GLS.Color

clrDustyRose

GLS.Color

clReleaseCommandQueue

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clReleaseContext

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clReleaseDevice

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clReleaseEvent

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clReleaseKernel

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clReleaseMemObject

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clReleaseProgram

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clReleaseSampler

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clRetainCommandQueue

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clRetainContext

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clRetainDevice

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clRetainEvent

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1

clRetainKernel

OpenCL.Import

CL_API_SUFFIX__VERSION_2_1

clRetainMemObject

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clRetainProgram

OpenCL.Import

CL_API_SUFFIX__VERSION_2_1

clRetainSampler

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clrFeldspar

GLS.Color

clrFirebrick

GLS.Color

clrFlesh

GLS.Color

clrForestGreen

GLS.Color

clrFuchsia

GLS.Color

clrGold

GLS.Color

clrGoldenrod

GLS.Color

clrGray

GLS.Color

clrGray05

GLS.Color

clrGray10

GLS.Color

clrGray15

GLS.Color

clrGray20

GLS.Color

clrGray25

GLS.Color

clrGray30

GLS.Color

clrGray35

GLS.Color

clrGray40

GLS.Color

clrGray45

GLS.Color

clrGray50

GLS.Color

clrGray55

GLS.Color

clrGray60

GLS.Color

clrGray65

GLS.Color

clrGray70

GLS.Color

clrGray75

GLS.Color

clrGray80

GLS.Color

clrGray85

GLS.Color

clrGray90

GLS.Color

clrGray95

GLS.Color

clrGrayText

GLS.Color

clrGreen

GLS.Color

clrGreenCopper

GLS.Color

clrGreenYellow

GLS.Color

clrHighlight

GLS.Color

clrHighlightText

GLS.Color

clrHuntersGreen

GLS.Color

clrInactiveBorder

GLS.Color

clrInactiveCaption

GLS.Color

clrInactiveCaptionText

GLS.Color

clrIndian

GLS.Color

clrInfoBk

GLS.Color

clrInfoText

GLS.Color

clrKhaki

GLS.Color

clrLightBlue

GLS.Color

clrLightGray

GLS.Color

clrLightPurple

GLS.Color

clrLightSteelBlue

GLS.Color

clrLightWood

GLS.Color

clrLime

GLS.Color

clrLimeGreen

GLS.Color

clrMandarinOrange

GLS.Color

clrMaroon

GLS.Color

clrMediumAquamarine

GLS.Color

clrMediumBlue

GLS.Color

clrMediumForestGreen

GLS.Color

clrMediumGoldenrod

GLS.Color

clrMediumOrchid

GLS.Color

clrMediumPurple

GLS.Color

clrMediumSeaGreen

GLS.Color

clrMediumSlateBlue

GLS.Color

clrMediumSpringGreen

GLS.Color

clrMediumTurquoise

GLS.Color

clrMediumViolet

GLS.Color

clrMediumWood

GLS.Color

clrMenu

GLS.Color

clrMenuText

GLS.Color

clrMidnightBlue

GLS.Color

clrNavy

GLS.Color

clrNavyBlue

GLS.Color

clrNeonBlue

GLS.Color

clrNeonPink

GLS.Color

clrNewMidnightBlue

GLS.Color

clrNewTan

GLS.Color

clrOldGold

GLS.Color

clrOlive

GLS.Color

clrOrange

GLS.Color

clrOrangeRed

GLS.Color

clrOrchid

GLS.Color

clrPaleGreen

GLS.Color

clrPink

GLS.Color

clrPlum

GLS.Color

clrPurple

GLS.Color

clrQuartz

GLS.Color

clrRed

GLS.Color

clrRichBlue

GLS.Color

clrSalmon

GLS.Color

clrScarlet

GLS.Color

clrScrollBar

GLS.Color

Window's colors (must be filled at program startup, since they depend on the desktop scheme)

clrSeaGreen

GLS.Color

clrSemiSweetChoc

GLS.Color

clrSienna

GLS.Color

clrSilver

GLS.Color

clrSkyBlue

GLS.Color

clrSlateBlue

GLS.Color

clrSpicyPink

GLS.Color

clrSpringGreen

GLS.Color

clrSteelBlue

GLS.Color

clrSummerSky

GLS.Color

clrTan

GLS.Color

clrTeal

GLS.Color

clrThistle

GLS.Color

clrTransparent

GLS.Color

'static' color definitions sort of grays

clrTurquoise

GLS.Color

clrVeryDarkBrown

GLS.Color

clrVeryLightPurple

GLS.Color

clrViolet

GLS.Color

clrVioletRed

GLS.Color

clrWheat

GLS.Color

clrWhite

GLS.Color

clrWindow

GLS.Color

clrWindowFrame

GLS.Color

clrWindowText

GLS.Color

clrYellow

GLS.Color

clrYellowGreen

GLS.Color

clSetDefaultDeviceCommandQueue

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clSetEventCallback

OpenCL.Import

clSetKernelArg

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clSetKernelArgSVMPointer

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clSetKernelExecInfo

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clSetMemObjectDestructorCallback

OpenCL.Import

clSetUserEventStatus

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

clShadow

GLS.Color

CLSID_AVIFile

Formats.VFW

CLSID_AVISimpleUnMarshal

Formats.VFW

clSVMAlloc

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1 * SVM Allocation APIs *//

clSVMFree

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

clText

GLS.Color

clUnloadPlatformCompiler

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

clWaitForEvents

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0 * Event Object APIs *//

CL_A

OpenCL.Import

CL_ABGR

OpenCL.Import

CL_ADDRESS_CLAMP

OpenCL.Import

CL_ADDRESS_CLAMP_TO_EDGE

OpenCL.Import

CL_ADDRESS_MIRRORED_REPEAT

OpenCL.Import

CL_ADDRESS_NONE

OpenCL.Import

cl_addressing_mode

CL_ADDRESS_REPEAT

OpenCL.Import

CL_APT_CALL

OpenCL.Platform

*************************************************************************** * Copyright (c) 2008-2020 The Khronos Group Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and/or associated documentation files (the * "Materials"), to deal in the Materials without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Materials, and to * permit persons to whom the Materials are furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Materials. * * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS * KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT * https://www.khronos.org/registry/ * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. *************************************************************************

CL_ARGB

OpenCL.Import

CL_BGRA

OpenCL.Import

CL_BLOCKING

OpenCL.Import

CL_BUFFER_CREATE_TYPE_REGION

OpenCL.Import

cl_buffer_create_type

CL_BUILD_ERROR

OpenCL.Import

CL_BUILD_IN_PROGRESS

OpenCL.Import

CL_BUILD_NONE

OpenCL.Import

CL_BUILD_PROGRAM_FAILURE

OpenCL.Import

CL_BUILD_SUCCESS

OpenCL.Import

cl_build_status

CL_CALLBACK

OpenCL.Platform

CL_CGL_SHAREGROUP_KHR

OpenCL.GL

CL_CHAR_BIT

OpenCL.Platform

Macro names and corresponding values defined by OpenCL

CL_CHAR_MAX

OpenCL.Platform

CL_CHAR_MIN

OpenCL.Platform

CL_COMMAND_ACQUIRE_GL_OBJECTS

OpenCL.Import

CL_COMMAND_BARRIER

OpenCL.Import

CL_COMMAND_COPY_BUFFER

OpenCL.Import

CL_COMMAND_COPY_BUFFER_RECT

OpenCL.Import

CL_COMMAND_COPY_BUFFER_TO_IMAGE

OpenCL.Import

CL_COMMAND_COPY_IMAGE

OpenCL.Import

CL_COMMAND_COPY_IMAGE_TO_BUFFER

OpenCL.Import

CL_COMMAND_FILL_BUFFER

OpenCL.Import

CL_COMMAND_FILL_IMAGE

OpenCL.Import

CL_COMMAND_MAP_BUFFER

OpenCL.Import

CL_COMMAND_MAP_IMAGE

OpenCL.Import

CL_COMMAND_MARKER

OpenCL.Import

CL_COMMAND_MIGRATE_MEM_OBJECTS

OpenCL.Import

CL_COMMAND_NATIVE_KERNEL

OpenCL.Import

CL_COMMAND_NDRANGE_KERNEL

OpenCL.Import

cl_command_type

CL_COMMAND_READ_BUFFER

OpenCL.Import

CL_COMMAND_READ_BUFFER_RECT

OpenCL.Import

CL_COMMAND_READ_IMAGE

OpenCL.Import

CL_COMMAND_RELEASE_GL_OBJECTS

OpenCL.Import

CL_COMMAND_SVM_FREE

OpenCL.Import

CL_COMMAND_SVM_MAP

OpenCL.Import

CL_COMMAND_SVM_MEMCPY

OpenCL.Import

CL_COMMAND_SVM_MEMFILL

OpenCL.Import

CL_COMMAND_SVM_UNMAP

OpenCL.Import

CL_COMMAND_TASK

OpenCL.Import

CL_COMMAND_UNMAP_MEM_OBJECT

OpenCL.Import

CL_COMMAND_USER

OpenCL.Import

CL_COMMAND_WRITE_BUFFER

OpenCL.Import

CL_COMMAND_WRITE_BUFFER_RECT

OpenCL.Import

CL_COMMAND_WRITE_IMAGE

OpenCL.Import

CL_COMPILER_NOT_AVAILABLE

OpenCL.Import

CL_COMPILE_PROGRAM_FAILURE

OpenCL.Import

CL_COMPLETE

OpenCL.Import

command execution status

CL_CONTEXT_DEVICES

OpenCL.Import

CL_CONTEXT_INTEROP_USER_SYNC

OpenCL.Import

CL_CONTEXT_NUM_DEVICES

OpenCL.Import

CL_CONTEXT_PLATFORM

OpenCL.Import

cl_context_properties

CL_CONTEXT_PROPERTIES

OpenCL.Import

CL_CONTEXT_REFERENCE_COUNT

OpenCL.Import

cl_context_info

CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR

OpenCL.GL

* cl_gl_context_info *//

CL_DBL_DIG

OpenCL.Platform

0x1.0p-23f;

CL_DBL_EPSILON

OpenCL.Platform

0x1.0p-1022;

CL_DBL_MANT_DIG

OpenCL.Platform

CL_DBL_MAX

OpenCL.Platform

CL_DBL_MAX_10_EXP

OpenCL.Platform

CL_DBL_MAX_EXP

OpenCL.Platform

CL_DBL_MIN

OpenCL.Platform

0x1.fffffffffffffp1023;

CL_DBL_MIN_10_EXP

OpenCL.Platform

CL_DBL_MIN_EXP

OpenCL.Platform

CL_DBL_RADIX

OpenCL.Platform

CL_DEPTH

OpenCL.Import

CL_DEPTH_STENCIL

OpenCL.Import

CL_DEVICES_FOR_GL_CONTEXT_KHR

OpenCL.GL

CL_DEVICE_ADDRESS_BITS

OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE

OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE

OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE

OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE

OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE

OpenCL.Import

CL_DEVICE_AFFINITY_DOMAIN_NUMA

OpenCL.Import

cl_device_affinity_domain

CL_DEVICE_AVAILABLE

OpenCL.Import

CL_DEVICE_BUILT_IN_KERNELS

OpenCL.Import

CL_DEVICE_COMPILER_AVAILABLE

OpenCL.Import

CL_DEVICE_DOUBLE_FP_CONFIG

OpenCL.Import

CL_DEVICE_ENDIAN_LITTLE

OpenCL.Import

CL_DEVICE_ERROR_CORRECTION_SUPPORT

OpenCL.Import

CL_DEVICE_EXECUTION_CAPABILITIES

OpenCL.Import

CL_DEVICE_EXTENSIONS

OpenCL.Import

CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE

OpenCL.Import

CL_DEVICE_GLOBAL_MEM_CACHE_SIZE

OpenCL.Import

CL_DEVICE_GLOBAL_MEM_CACHE_TYPE

OpenCL.Import

CL_DEVICE_GLOBAL_MEM_SIZE

OpenCL.Import

CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE

OpenCL.Import

CL_DEVICE_HALF_FP_CONFIG

OpenCL.Import

CL_DEVICE_HOST_UNIFIED_MEMORY

OpenCL.Import

CL_DEVICE_IL_VERSION

OpenCL.Import

CL_DEVICE_IMAGE2D_MAX_HEIGHT

OpenCL.Import

CL_DEVICE_IMAGE2D_MAX_WIDTH

OpenCL.Import

CL_DEVICE_IMAGE3D_MAX_DEPTH

OpenCL.Import

CL_DEVICE_IMAGE3D_MAX_HEIGHT

OpenCL.Import

CL_DEVICE_IMAGE3D_MAX_WIDTH

OpenCL.Import

CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT

OpenCL.Import

CL_DEVICE_IMAGE_MAX_ARRAY_SIZE

OpenCL.Import

CL_DEVICE_IMAGE_MAX_BUFFER_SIZE

OpenCL.Import

CL_DEVICE_IMAGE_PITCH_ALIGNMENT

OpenCL.Import

CL_DEVICE_IMAGE_SUPPORT

OpenCL.Import

CL_DEVICE_LINKER_AVAILABLE

OpenCL.Import

CL_DEVICE_LOCAL_MEM_SIZE

OpenCL.Import

CL_DEVICE_LOCAL_MEM_TYPE

OpenCL.Import

CL_DEVICE_MAX_CLOCK_FREQUENCY

OpenCL.Import

CL_DEVICE_MAX_COMPUTE_UNITS

OpenCL.Import

CL_DEVICE_MAX_CONSTANT_ARGS

OpenCL.Import

CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE

OpenCL.Import

CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE

OpenCL.Import

CL_DEVICE_MAX_MEM_ALLOC_SIZE

OpenCL.Import

CL_DEVICE_MAX_NUM_SUB_GROUPS

OpenCL.Import

CL_DEVICE_MAX_ON_DEVICE_EVENTS

OpenCL.Import

CL_DEVICE_MAX_ON_DEVICE_QUEUES

OpenCL.Import

CL_DEVICE_MAX_PARAMETER_SIZE

OpenCL.Import

CL_DEVICE_MAX_PIPE_ARGS

OpenCL.Import

CL_DEVICE_MAX_READ_IMAGE_ARGS

OpenCL.Import

CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS

OpenCL.Import

CL_DEVICE_MAX_SAMPLERS

OpenCL.Import

CL_DEVICE_MAX_WORK_GROUP_SIZE

OpenCL.Import

CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS

OpenCL.Import

CL_DEVICE_MAX_WORK_ITEM_SIZES

OpenCL.Import

CL_DEVICE_MAX_WRITE_IMAGE_ARGS

OpenCL.Import

CL_DEVICE_MEM_BASE_ADDR_ALIGN

OpenCL.Import

CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE

OpenCL.Import

CL_DEVICE_NAME

OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR

OpenCL.Import

deprecated

CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE

OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT

OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF

OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_INT

OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG

OpenCL.Import

CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT

OpenCL.Import

CL_DEVICE_NOT_AVAILABLE

OpenCL.Import

CL_DEVICE_NOT_FOUND

OpenCL.Import

CL_DEVICE_OPENCL_C_VERSION

OpenCL.Import

CL_DEVICE_PARENT_DEVICE

OpenCL.Import

CL_DEVICE_PARTITION_AFFINITY_DOMAIN

OpenCL.Import

CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN

OpenCL.Import

CL_DEVICE_PARTITION_BY_COUNTS

OpenCL.Import

CL_DEVICE_PARTITION_BY_COUNTS_LIST_END

OpenCL.Import

CL_DEVICE_PARTITION_EQUALLY

OpenCL.Import

cl_device_partition_property

CL_DEVICE_PARTITION_FAILED

OpenCL.Import

CL_DEVICE_PARTITION_MAX_SUB_DEVICES

OpenCL.Import

CL_DEVICE_PARTITION_PROPERTIES

OpenCL.Import

CL_DEVICE_PARTITION_TYPE

OpenCL.Import

CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS

OpenCL.Import

CL_DEVICE_PIPE_MAX_PACKET_SIZE

OpenCL.Import

CL_DEVICE_PLATFORM

OpenCL.Import

CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT

OpenCL.Import

CL_DEVICE_PREFERRED_INTEROP_USER_SYNC

OpenCL.Import

CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT

OpenCL.Import

CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG

OpenCL.Import

CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT

OpenCL.Import

CL_DEVICE_PRINTF_BUFFER_SIZE

OpenCL.Import

CL_DEVICE_PROFILE

OpenCL.Import

CL_DEVICE_PROFILING_TIMER_RESOLUTION

OpenCL.Import

CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE

OpenCL.Import

CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE

OpenCL.Import

CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES

OpenCL.Import

CL_DEVICE_QUEUE_ON_HOST_PROPERTIES

OpenCL.Import

deprecated

CL_DEVICE_QUEUE_PROPERTIES

OpenCL.Import

CL_DEVICE_REFERENCE_COUNT

OpenCL.Import

CL_DEVICE_SINGLE_FP_CONFIG

OpenCL.Import

CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS

OpenCL.Import

CL_DEVICE_SVM_ATOMICS

OpenCL.Import

CL_DEVICE_SVM_CAPABILITIES

OpenCL.Import

CL_DEVICE_SVM_COARSE_GRAIN_BUFFER

OpenCL.Import

cl_device_svm_capabilities

CL_DEVICE_SVM_FINE_GRAIN_BUFFER

OpenCL.Import

CL_DEVICE_SVM_FINE_GRAIN_SYSTEM

OpenCL.Import

CL_DEVICE_TYPE

OpenCL.Import

cl_device_info

CL_DEVICE_TYPE_ACCELERATOR

OpenCL.Import

CL_DEVICE_TYPE_ALL

OpenCL.Import

CL_DEVICE_TYPE_CPU

OpenCL.Import

CL_DEVICE_TYPE_CUSTOM

OpenCL.Import

CL_DEVICE_TYPE_DEFAULT

OpenCL.Import

cl_device_type - bitfield

CL_DEVICE_TYPE_GPU

OpenCL.Import

CL_DEVICE_VENDOR

OpenCL.Import

CL_DEVICE_VENDOR_ID

OpenCL.Import

CL_DEVICE_VERSION

OpenCL.Import

CL_DRIVER_VERSION

OpenCL.Import

CL_EGL_DISPLAY_KHR

OpenCL.GL

CL_EVENT_COMMAND_EXECUTION_STATUS

OpenCL.Import

CL_EVENT_COMMAND_QUEUE

OpenCL.Import

cl_event_info

CL_EVENT_COMMAND_TYPE

OpenCL.Import

CL_EVENT_CONTEXT

OpenCL.Import

CL_EVENT_REFERENCE_COUNT

OpenCL.Import

CL_EXEC_KERNEL

OpenCL.Import

cl_device_exec_capabilities - bitfield

CL_EXEC_NATIVE_KERNEL

OpenCL.Import

CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST

OpenCL.Import

CL_FALSE

OpenCL.Import

cl_bool

CL_FILTER_LINEAR

OpenCL.Import

CL_FILTER_NEAREST

OpenCL.Import

cl_filter_mode

CL_FLOAT

OpenCL.Import

CL_FLT_DIG

OpenCL.Platform

CL_FLT_EPSILON

OpenCL.Platform

0x1.0p-126f;

CL_FLT_MANT_DIG

OpenCL.Platform

CL_FLT_MAX

OpenCL.Platform

CL_FLT_MAX_10_EXP

OpenCL.Platform

CL_FLT_MAX_EXP

OpenCL.Platform

CL_FLT_MIN

OpenCL.Platform

0x1.fffffep127f;

CL_FLT_MIN_10_EXP

OpenCL.Platform

CL_FLT_MIN_EXP

OpenCL.Platform

CL_FLT_RADIX

OpenCL.Platform

CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT

OpenCL.Import

CL_FP_DENORM

OpenCL.Import

cl_device_fp_config - bitfield

CL_FP_FMA

OpenCL.Import

CL_FP_INF_NAN

OpenCL.Import

CL_FP_ROUND_TO_INF

OpenCL.Import

CL_FP_ROUND_TO_NEAREST

OpenCL.Import

CL_FP_ROUND_TO_ZERO

OpenCL.Import

CL_FP_SOFT_FLOAT

OpenCL.Import

CL_GLOBAL

OpenCL.Import

CL_GLX_DISPLAY_KHR

OpenCL.GL

CL_GL_CONTEXT_KHR

OpenCL.GL

* Additional cl_context_properties *//

CL_GL_MIPMAP_LEVEL

OpenCL.GL

CL_GL_NUM_SAMPLES

OpenCL.GL

CL_GL_OBJECT_BUFFER

OpenCL.GL

* cl_gl_object_type = 0x2000 - 0x200F enum values are currently taken *//

CL_GL_OBJECT_RENDERBUFFER

OpenCL.GL

CL_GL_OBJECT_TEXTURE1D

OpenCL.GL

CL_GL_OBJECT_TEXTURE1D_ARRAY

OpenCL.GL

CL_GL_OBJECT_TEXTURE2D

OpenCL.GL

CL_GL_OBJECT_TEXTURE2D_ARRAY

OpenCL.GL

CL_GL_OBJECT_TEXTURE3D

OpenCL.GL

CL_GL_OBJECT_TEXTURE_BUFFER

OpenCL.GL

CL_GL_TEXTURE_TARGET

OpenCL.GL

* cl_gl_texture_info *//

CL_HALF_FLOAT

OpenCL.Import

CL_HUGE_VAL

OpenCL.Platform

CL_HUGE_VALF

OpenCL.Platform

(CL_INFINITY - CL_INFINITY);

CL_IMAGE_ARRAY_SIZE

OpenCL.Import

CL_IMAGE_BUFFER

OpenCL.Import

CL_IMAGE_DEPTH

OpenCL.Import

CL_IMAGE_ELEMENT_SIZE

OpenCL.Import

CL_IMAGE_FORMAT

OpenCL.Import

cl_image_info

CL_IMAGE_FORMAT_MISMATCH

OpenCL.Import

CL_IMAGE_FORMAT_NOT_SUPPORTED

OpenCL.Import

CL_IMAGE_HEIGHT

OpenCL.Import

CL_IMAGE_NUM_MIP_LEVELS

OpenCL.Import

CL_IMAGE_NUM_SAMPLES

OpenCL.Import

CL_IMAGE_ROW_PITCH

OpenCL.Import

CL_IMAGE_SLICE_PITCH

OpenCL.Import

CL_IMAGE_WIDTH

OpenCL.Import

CL_INFINITY

OpenCL.Platform

CL_INTENSITY

OpenCL.Import

CL_INT_MAX

OpenCL.Platform

CL_INT_MIN

OpenCL.Platform

CL_INVALID_ARG_INDEX

OpenCL.Import

CL_INVALID_ARG_SIZE

OpenCL.Import

CL_INVALID_ARG_VALUE

OpenCL.Import

CL_INVALID_BINARY

OpenCL.Import

CL_INVALID_BUFFER_SIZE

OpenCL.Import

CL_INVALID_BUILD_OPTIONS

OpenCL.Import

CL_INVALID_COMMAND_QUEUE

OpenCL.Import

CL_INVALID_COMPILER_OPTIONS

OpenCL.Import

CL_INVALID_CONTEXT

OpenCL.Import

CL_INVALID_DEVICE

OpenCL.Import

CL_INVALID_DEVICE_PARTITION_COUNT

OpenCL.Import

CL_INVALID_DEVICE_QUEUE

OpenCL.Import

CL_INVALID_DEVICE_TYPE

OpenCL.Import

CL_INVALID_EVENT

OpenCL.Import

CL_INVALID_EVENT_WAIT_LIST

OpenCL.Import

CL_INVALID_GLOBAL_OFFSET

OpenCL.Import

CL_INVALID_GLOBAL_WORK_SIZE

OpenCL.Import

CL_INVALID_GL_OBJECT

OpenCL.Import

CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR

OpenCL.GL

* Additional Error Codes *//

CL_INVALID_HOST_PTR

OpenCL.Import

CL_INVALID_IMAGE_DESCRIPTOR

OpenCL.Import

CL_INVALID_IMAGE_FORMAT_DESCRIPTOR

OpenCL.Import

CL_INVALID_IMAGE_SIZE

OpenCL.Import

CL_INVALID_KERNEL

OpenCL.Import

CL_INVALID_KERNEL_ARGS

OpenCL.Import

CL_INVALID_KERNEL_DEFINITION

OpenCL.Import

CL_INVALID_KERNEL_NAME

OpenCL.Import

CL_INVALID_LINKER_OPTIONS

OpenCL.Import

CL_INVALID_MEM_OBJECT

OpenCL.Import

CL_INVALID_MIP_LEVEL

OpenCL.Import

CL_INVALID_OPERATION

OpenCL.Import

CL_INVALID_PIPE_SIZE

OpenCL.Import

CL_INVALID_PLATFORM

OpenCL.Import

CL_INVALID_PROGRAM

OpenCL.Import

CL_INVALID_PROGRAM_EXECUTABLE

OpenCL.Import

CL_INVALID_PROPERTY

OpenCL.Import

CL_INVALID_QUEUE_PROPERTIES

OpenCL.Import

CL_INVALID_SAMPLER

OpenCL.Import

CL_INVALID_SPEC_ID

OpenCL.Import

CL_INVALID_VALUE

OpenCL.Import

CL_INVALID_WORK_DIMENSION

OpenCL.Import

CL_INVALID_WORK_GROUP_SIZE

OpenCL.Import

CL_INVALID_WORK_ITEM_SIZE

OpenCL.Import

CL_KERNEL_ARG_ACCESS_NONE

OpenCL.Import

CL_KERNEL_ARG_ACCESS_QUALIFIER

OpenCL.Import

CL_KERNEL_ARG_ACCESS_READ_ONLY

OpenCL.Import

cl_kernel_arg_access_qualifier

CL_KERNEL_ARG_ACCESS_READ_WRITE

OpenCL.Import

CL_KERNEL_ARG_ACCESS_WRITE_ONLY

OpenCL.Import

CL_KERNEL_ARG_ADDRESS_CONSTANT

OpenCL.Import

CL_KERNEL_ARG_ADDRESS_GLOBAL

OpenCL.Import

cl_kernel_arg_address_qualifier

CL_KERNEL_ARG_ADDRESS_LOCAL

OpenCL.Import

CL_KERNEL_ARG_ADDRESS_PRIVATE

OpenCL.Import

CL_KERNEL_ARG_ADDRESS_QUALIFIER

OpenCL.Import

cl_kernel_arg_info

CL_KERNEL_ARG_INFO_NOT_AVAILABLE

OpenCL.Import

CL_KERNEL_ARG_NAME

OpenCL.Import

CL_KERNEL_ARG_TYPE_CONST

OpenCL.Import

CL_KERNEL_ARG_TYPE_NAME

OpenCL.Import

CL_KERNEL_ARG_TYPE_NONE

OpenCL.Import

cl_kernel_arg_type_qualifer

CL_KERNEL_ARG_TYPE_PIPE

OpenCL.Import

CL_KERNEL_ARG_TYPE_QUALIFIER

OpenCL.Import

CL_KERNEL_ARG_TYPE_RESTRICT

OpenCL.Import

CL_KERNEL_ARG_TYPE_VOLATILE

OpenCL.Import

CL_KERNEL_ATTRIBUTES

OpenCL.Import

CL_KERNEL_COMPILE_NUM_SUB_GROUPS

OpenCL.Import

CL_KERNEL_COMPILE_WORK_GROUP_SIZE

OpenCL.Import

CL_KERNEL_CONTEXT

OpenCL.Import

CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM

OpenCL.Import

CL_KERNEL_EXEC_INFO_SVM_PTRS

OpenCL.Import

cl_kernel_exec_info

CL_KERNEL_FUNCTION_NAME

OpenCL.Import

cl_kernel_info

CL_KERNEL_GLOBAL_WORK_SIZE

OpenCL.Import

CL_KERNEL_LOCAL_MEM_SIZE

OpenCL.Import

CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT

OpenCL.Import

CL_KERNEL_MAX_NUM_SUB_GROUPS

OpenCL.Import

CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE

OpenCL.Import

cl_kernel_sub_group_info

CL_KERNEL_NUM_ARGS

OpenCL.Import

CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE

OpenCL.Import

CL_KERNEL_PRIVATE_MEM_SIZE

OpenCL.Import

CL_KERNEL_PROGRAM

OpenCL.Import

CL_KERNEL_REFERENCE_COUNT

OpenCL.Import

CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE

OpenCL.Import

CL_KERNEL_WORK_GROUP_SIZE

OpenCL.Import

cl_kernel_work_group_info

cl_khr_gl_sharing

OpenCL.GL

* cl_khr_gl_sharing extension *//

CL_LINKER_NOT_AVAILABLE

OpenCL.Import

CL_LINK_PROGRAM_FAILURE

OpenCL.Import

CL_LOCAL

OpenCL.Import

cl_device_local_mem_type

CL_LONG_MAX

OpenCL.Platform

CL_LONG_MIN

OpenCL.Platform

CL_LUMINANCE

OpenCL.Import

CL_MAP_FAILURE

OpenCL.Import

CL_MAP_READ

OpenCL.Import

cl_map_flags - bitfield

CL_MAP_WRITE

OpenCL.Import

CL_MAP_WRITE_INVALIDATE_REGION

OpenCL.Import

CL_MAXFLOAT

OpenCL.Platform

CL_MAX_SIZE_RESTRICTION_EXCEEDED

OpenCL.Import

CL_MEM_ALLOC_HOST_PTR

OpenCL.Import

CL_MEM_ASSOCIATED_MEMOBJECT

OpenCL.Import

CL_MEM_CONTEXT

OpenCL.Import

CL_MEM_COPY_HOST_PTR

OpenCL.Import

CL_MEM_COPY_OVERLAP

OpenCL.Import

CL_MEM_FLAGS

OpenCL.Import

CL_MEM_HOST_NO_ACCESS

OpenCL.Import

CL_MEM_HOST_PTR

OpenCL.Import

CL_MEM_HOST_READ_ONLY

OpenCL.Import

CL_MEM_HOST_WRITE_ONLY

OpenCL.Import

reserved (1 shl 6);

CL_MEM_KERNEL_READ_AND_WRITE

OpenCL.Import

used by cl_svm_mem_flags only

CL_MEM_MAP_COUNT

OpenCL.Import

CL_MEM_OBJECT_ALLOCATION_FAILURE

OpenCL.Import

CL_MEM_OBJECT_BUFFER

OpenCL.Import

cl_mem_object_type

CL_MEM_OBJECT_IMAGE1D

OpenCL.Import

CL_MEM_OBJECT_IMAGE1D_ARRAY

OpenCL.Import

CL_MEM_OBJECT_IMAGE1D_BUFFER

OpenCL.Import

CL_MEM_OBJECT_IMAGE2D

OpenCL.Import

CL_MEM_OBJECT_IMAGE2D_ARRAY

OpenCL.Import

CL_MEM_OBJECT_IMAGE3D

OpenCL.Import

CL_MEM_OBJECT_PIPE

OpenCL.Import

CL_MEM_OFFSET

OpenCL.Import

CL_MEM_READ_ONLY

OpenCL.Import

CL_MEM_READ_WRITE

OpenCL.Import

cl_mem_flags - bitfield

CL_MEM_REFERENCE_COUNT

OpenCL.Import

CL_MEM_SIZE

OpenCL.Import

CL_MEM_SVM_ATOMICS

OpenCL.Import

used by cl_svm_mem_flags only

CL_MEM_SVM_FINE_GRAIN_BUFFER

OpenCL.Import

CL_MEM_TYPE

OpenCL.Import

cl_mem_info

CL_MEM_USES_SVM_POINTER

OpenCL.Import

CL_MEM_USE_HOST_PTR

OpenCL.Import

CL_MEM_WRITE_ONLY

OpenCL.Import

CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED

OpenCL.Import

CL_MIGRATE_MEM_OBJECT_HOST

OpenCL.Import

cl_mem_migration_flags - bitfield

CL_MISALIGNED_SUB_BUFFER_OFFSET

OpenCL.Import

CL_M_1_PI

OpenCL.Platform

CL_M_1_PI_F

OpenCL.Platform

CL_M_2_PI

OpenCL.Platform

CL_M_2_PI_F

OpenCL.Platform

CL_M_2_SQRTPI

OpenCL.Platform

CL_M_2_SQRTPI_F

OpenCL.Platform

CL_M_E

OpenCL.Platform

0x1.0p-52;

CL_M_E_F

OpenCL.Platform

CL_M_LN10

OpenCL.Platform

CL_M_LN10_F

OpenCL.Platform

CL_M_LN2

OpenCL.Platform

CL_M_LN2_F

OpenCL.Platform

CL_M_LOG10E

OpenCL.Platform

CL_M_LOG10E_F

OpenCL.Platform

CL_M_LOG2E

OpenCL.Platform

CL_M_LOG2E_F

OpenCL.Platform

CL_M_PI

OpenCL.Platform

CL_M_PI_2

OpenCL.Platform

CL_M_PI_2_F

OpenCL.Platform

CL_M_PI_4

OpenCL.Platform

CL_M_PI_4_F

OpenCL.Platform

CL_M_PI_F

OpenCL.Platform

CL_M_SQRT1_2

OpenCL.Platform

CL_M_SQRT1_2_F

OpenCL.Platform

CL_M_SQRT2

OpenCL.Platform

CL_M_SQRT2_F

OpenCL.Platform

CL_NAN

OpenCL.Platform

CL_NONE

OpenCL.Import

cl_device_mem_cache_type

CL_NON_BLOCKING

OpenCL.Import

CL_OUT_OF_HOST_MEMORY

OpenCL.Import

CL_OUT_OF_RESOURCES

OpenCL.Import

CL_PIPE_MAX_PACKETS

OpenCL.Import

CL_PIPE_PACKET_SIZE

OpenCL.Import

cl_pipe_info

CL_PLATFORM_EXTENSIONS

OpenCL.Import

CL_PLATFORM_HOST_TIMER_RESOLUTION

OpenCL.Import

CL_PLATFORM_NAME

OpenCL.Import

CL_PLATFORM_PROFILE

OpenCL.Import

cl_platform_info

CL_PLATFORM_VENDOR

OpenCL.Import

CL_PLATFORM_VERSION

OpenCL.Import

CL_PROFILING_COMMAND_COMPLETE

OpenCL.Import

CL_PROFILING_COMMAND_END

OpenCL.Import

CL_PROFILING_COMMAND_QUEUED

OpenCL.Import

cl_profiling_info

CL_PROFILING_COMMAND_START

OpenCL.Import

CL_PROFILING_COMMAND_SUBMIT

OpenCL.Import

CL_PROFILING_INFO_NOT_AVAILABLE

OpenCL.Import

CL_PROGBRAM_BINARY_TYPE_NONE

OpenCL.Import

cl_program_binary_type

CL_PROGRAM_BINARIES

OpenCL.Import

CL_PROGRAM_BINARY_SIZES

OpenCL.Import

CL_PROGRAM_BINARY_TYPE

OpenCL.Import

CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT

OpenCL.Import

CL_PROGRAM_BINARY_TYPE_EXECUTABLE

OpenCL.Import

CL_PROGRAM_BINARY_TYPE_LIBRARY

OpenCL.Import

CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE

OpenCL.Import

CL_PROGRAM_BUILD_LOG

OpenCL.Import

CL_PROGRAM_BUILD_OPTIONS

OpenCL.Import

CL_PROGRAM_BUILD_STATUS

OpenCL.Import

cl_program_build_info

CL_PROGRAM_CONTEXT

OpenCL.Import

CL_PROGRAM_DEVICES

OpenCL.Import

CL_PROGRAM_IL

OpenCL.Import

CL_PROGRAM_KERNEL_NAMES

OpenCL.Import

CL_PROGRAM_NUM_DEVICES

OpenCL.Import

CL_PROGRAM_NUM_KERNELS

OpenCL.Import

CL_PROGRAM_REFERENCE_COUNT

OpenCL.Import

cl_program_info

CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT

OpenCL.Import

CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT

OpenCL.Import

CL_PROGRAM_SOURCE

OpenCL.Import

CL_QUEUED

OpenCL.Import

CL_QUEUE_CONTEXT

OpenCL.Import

cl_command_queue_info

CL_QUEUE_DEVICE

OpenCL.Import

CL_QUEUE_DEVICE_DEFAULT

OpenCL.Import

CL_QUEUE_ON_DEVICE

OpenCL.Import

CL_QUEUE_ON_DEVICE_DEFAULT

OpenCL.Import

CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE

OpenCL.Import

cl_command_queue_properties - bitfield

CL_QUEUE_PROFILING_ENABLE

OpenCL.Import

CL_QUEUE_PROPERTIES

OpenCL.Import

CL_QUEUE_REFERENCE_COUNT

OpenCL.Import

CL_QUEUE_SIZE

OpenCL.Import

CL_R

OpenCL.Import

cl_channel_order

CL_RA

OpenCL.Import

CL_READ_ONLY_CACHE

OpenCL.Import

CL_READ_WRITE_CACHE

OpenCL.Import

CL_RG

OpenCL.Import

CL_RGB

OpenCL.Import

CL_RGBA

OpenCL.Import

CL_RGBx

OpenCL.Import

CL_RGx

OpenCL.Import

CL_RUNNING

OpenCL.Import

CL_Rx

OpenCL.Import

CL_SAMPLER_ADDRESSING_MODE

OpenCL.Import

CL_SAMPLER_CONTEXT

OpenCL.Import

CL_SAMPLER_FILTER_MODE

OpenCL.Import

CL_SAMPLER_LOD_MAX

OpenCL.Import

CL_SAMPLER_LOD_MIN

OpenCL.Import

CL_SAMPLER_MIP_FILTER_MODE

OpenCL.Import

CL_SAMPLER_NORMALIZED_COORDS

OpenCL.Import

CL_SAMPLER_REFERENCE_COUNT

OpenCL.Import

cl_sampler_info

CL_sBGRA

OpenCL.Import

CL_SCHAR_MAX

OpenCL.Platform

CL_SCHAR_MIN

OpenCL.Platform

CL_SHRT_MAX

OpenCL.Platform

CL_SHRT_MIN

OpenCL.Platform

CL_SIGNED_INT16

OpenCL.Import

CL_SIGNED_INT32

OpenCL.Import

CL_SIGNED_INT8

OpenCL.Import

CL_SNORM_INT16

OpenCL.Import

CL_SNORM_INT8

OpenCL.Import

* cl_channel_type *//

CL_sRGB

OpenCL.Import

CL_sRGBA

OpenCL.Import

CL_sRGBx

OpenCL.Import

CL_SUBMITTED

OpenCL.Import

CL_SUCCESS

OpenCL.Import

Error Codes

CL_TRUE

OpenCL.Import

CL_UCHAR_MAX

OpenCL.Platform

CL_UINT_MAX

OpenCL.Platform

CL_ULONG_MAX

OpenCL.Platform

CL_UNORM_INT16

OpenCL.Import

CL_UNORM_INT24

OpenCL.Import

CL_UNORM_INT8

OpenCL.Import

CL_UNORM_INT_101010

OpenCL.Import

CL_UNORM_INT_101010_2

OpenCL.Import

CL_UNORM_SHORT_555

OpenCL.Import

CL_UNORM_SHORT_565

OpenCL.Import

CL_UNSIGNED_INT16

OpenCL.Import

CL_UNSIGNED_INT32

OpenCL.Import

CL_UNSIGNED_INT8

OpenCL.Import

CL_USHRT_MAX

OpenCL.Platform

CL_VERSION_1_0

OpenCL.Import

OpenCL Version

CL_VERSION_1_1

OpenCL.Import

CL_VERSION_1_2

OpenCL.Import

CL_VERSION_2_0

OpenCL.Import

CL_VERSION_2_1

OpenCL.Import

CL_VERSION_2_2

OpenCL.Import

CL_WGL_HDC_KHR

OpenCL.GL

CMAGIC

Formats.m3DSConst

cMaxArray

GLS.VectorGeometry

cMaxContacts

Physics.ODERagdoll

cMaxVerts

GLS.Trail

cMeshModeToGLEnum

GLS.Mesh

CmtNX

GLS.Texture

CmtNY

GLS.Texture

CmtNZ

GLS.Texture

CmtPX

GLS.Texture

CmtPY

GLS.Texture

CmtPZ

GLS.Texture

COctree_GROW_GRAVY

GLS.SpacePartition

COctree_LEAF_TRHESHOLD

GLS.SpacePartition

COctree_MAX_TREE_DEPTH

GLS.SpacePartition

CollideAndSlide

GLS.EllipseCollision

CollideWithWorld

GLS.EllipseCollision

ColorFMax3DS

Formats.m3DSConst

minimum color value in a channel

ColorFMin3DS

Formats.m3DSConst

maximum shadow map size COLOR_F

ColorManager

GLS.Color

COLOR_24

Formats.m3DSConst

COLOR_F

Formats.m3DSConst

ColTrackTagMax3DS

Formats.m3DSConst

Minimum color value

ColTrackTagMin3DS

Formats.m3DSConst

Minimum number of keys in a track COL_TRACK_TAG_KEY

COL_TRACK_TAG

Formats.m3DSConst

COL_TRACK_TAG_KEY

Formats.m3DSConst

CombineVector

GLS.VectorGeometry

CombineVector

GLS.VectorGeometry

Combine the first vector with the second : vr:=vr+v*f

CombineVector

GLS.VectorGeometry

Combine the first vector with the second : vr:=vr+v*f

CombineVector

GLS.VectorGeometry

Combine the first vector with the second : vr:=vr+v*f

CompressedInternalFormatToOpenGL

GLS.TextureFormat

Give a compressed openGL texture format from GLScene texture format if format is have not compression than return same openGL format

comptypeDIB

Formats.VFW

== AVISave routines and structures ==========================================

ConeContainsBSphere

GLS.SpacePartition

Determines to which extent one Cone contains an BSphere

cOneHalf

GLS.VectorGeometry

CONSOLE_MAX_COMMANDS

GLS.Console

ConstArrayToString

GLS.Logger

CONTACTS_UNIMPORTANT

Physics.ODEImport

Just generate any contacts (disables any contact refining).

Container

Formats.m3DSConst

CONTROLCALLBACK_CAPTURING

Formats.VFW

Waiting to start capture

CONTROLCALLBACK_PREROLL

Formats.VFW

– CapControlCallback states ————————————————

ConvertColorVector

GLS.Color

Converts a color vector (containing float values)

ConvertColorVector

GLS.Color

Converts a color vector (containing float values) and alter intensity. intensity is in [0..1]

ConvertDoubleToString

PasDblStrUtils

ConvertdVector3ToAffineVector

Physics.ODEUtils

ConvertdVector3ToAffineVector

Physics.ODEUtils

ConvertdVector3ToVector3f

Physics.ODEUtils

ConvertdVector3ToVector3f

Physics.ODEUtils

Converting between ODE and GLScene formats

ConvertdVector3ToVector4f

Physics.ODEUtils

ConvertdVector3ToVector4f

Physics.ODEUtils

ConvertFansToList

GLS.MeshUtils

ConvertImage

GLS.ImageUtils

ConvertIndexedListToList

GLS.MeshUtils

Expands an indexed structure into a non-indexed structure.

ConvertRGBColor

GLS.Color

Converts RGB components into a color vector with correct range

ConvertRotation

GLS.VectorGeometry

——————— Unstandardized functions after these lines Mixed functions Turn a triplet of rotations about x, y, and z (in that order) into an equivalent rotation around a single axis (all in radians)

ConvertStringToDouble

PasDblStrUtils

ConvertStringToDouble

PasDblStrUtils

ConvertStripToList

GLS.MeshUtils

ConvertStripToList

GLS.MeshUtils

ConvertStripToList

GLS.MeshUtils

ConvertStripToList

GLS.MeshUtils

Converts a triangle strips into a triangle list. Vertices are added to list, based on the content of strip. Both non-indexed and indexed variants are available, the output is *always* non indexed.

ConvertVector3fTodVector3

Physics.ODEUtils

Converting between GLScene and ODE formats

ConvertVector3fToPdVector3

Physics.ODEUtils

ConvertVector4fTodVector3

Physics.ODEUtils

ConvertVector4fToPdVector3

Physics.ODEUtils

ConvertWinColor

GLS.Color

Converts a delphi color into its RGB fragments and correct range.

CopyBodyFromCube

Physics.ODEUtils

CopyCubeSizeFromBox

Physics.ODEUtils

CopyPosFromGeomToGL

Physics.ODEUtils

CopyScreentoTexture

GLSL.CustomShader

CopyScreentoTexture2

GLSL.CustomShader

Cosine_Interpolate

GLS.Perlin

does a cosine interpolation

cPERLIN_TABLE_SIZE

GLS.PerlinPFX

cPFXGranularity

GLS.ParticleFX

number of distance regions

cPFXNbRegions

GLS.ParticleFX

cPI

GLS.VectorGeometry

cPIdiv180

GLS.VectorGeometry

cPIdiv2

GLS.VectorGeometry

cPIdiv4

GLS.VectorGeometry

CreateAffineRotationMatrix

GLS.VectorGeometry

Creates a rotation matrix along the given Axis by the given Angle in radians.

CreateBodyFromCube

Physics.ODEUtils

CreateBox

Physics.PhysXImport

CreateCylinder

Physics.PhysXImport

CreateDOMNode

GLS.CrossXML

CreateEditableStream

Formats.VFW

– Editing routines ———————————————————

CreateGeomFromCube

Physics.ODEUtils

CreateGraphicFromFile

GLS.Texture

CreateGroundPlane

Physics.PhysXImport

CreateLookAtMatrix

GLS.VectorGeometry

CreateMatrixFromFrustum

GLS.VectorGeometry

CreateObjectSpaceNormalMap

GLS.BumpmapHDS

CreateODEPlaneFromGLPlane

Physics.ODEUtils

CreateOrthoMatrix

GLS.VectorGeometry

CreatePerspectiveMatrix

GLS.VectorGeometry

CreatePickMatrix

GLS.VectorGeometry

CreateResourceStream

GLS.ApplicationFileIO

CreateRotationMatrix

GLS.VectorGeometry

CreateRotationMatrix

GLS.VectorGeometry

Creates a rotation matrix along the given Axis by the given Angle in radians.

CreateRotationMatrixX

GLS.VectorGeometry

CreateRotationMatrixX

GLS.VectorGeometry

Creates matrix for rotation about x-axis (angle in rad)

CreateRotationMatrixY

GLS.VectorGeometry

CreateRotationMatrixY

GLS.VectorGeometry

Creates matrix for rotation about y-axis (angle in rad)

CreateRotationMatrixZ

GLS.VectorGeometry

CreateRotationMatrixZ

GLS.VectorGeometry

Creates matrix for rotation about z-axis (angle in rad)

CreateScaleAndTranslationMatrix

GLS.VectorGeometry

Creates a scale+translation matrix. Scale is applied BEFORE applying offset

CreateScaleMatrix

GLS.VectorGeometry

Creates scale matrix

CreateScaleMatrix

GLS.VectorGeometry

Creates scale matrix

CreateSphere

Physics.PhysXImport

CreateTangentSpaceNormalMap

GLS.BumpmapHDS

CreateTempWnd

GLS.WindowsContext

CreateTranslationMatrix

GLS.VectorGeometry

Creates translation matrix

CreateTranslationMatrix

GLS.VectorGeometry

Creates translation matrix

CreateTriMeshFromBaseMesh

Physics.ODEUtils

This method requires you to manually deallocate vertices and indices when you're done with the trimesh

CreateVerletPlaneFromGLPlane

GLS.VerletTypes

CSG_Operation

GLS.MeshCSG

cTilesHashSize

GLS.TerrainRenderer

cuArray3DCreate

CUDA.Import

cuArray3DGetDescriptor

CUDA.Import

cuArrayCreate

CUDA.Import

cuArrayDestroy

CUDA.Import

cuArrayGetDescriptor

CUDA.Import

CubeWireframeBuildList

GLS.Objects

Issues for a unit-size cube stippled wireframe

Cubic_Interpolate

GLS.Perlin

does a cubic interpolation

Cubic_Interpolate_Strip

GLS.Perlin

cubic interpolate 4 strips into one...

cuCtxAttach

CUDA.Import

cuCtxCreate

CUDA.Import

cuCtxDestroy

CUDA.Import

cuCtxDetach

CUDA.Import

cuCtxGetDevice

CUDA.Import

cuCtxPopCurrent

CUDA.Import

cuCtxPushCurrent

CUDA.Import

cuCtxSynchronize

CUDA.Import

CUDAAPIDLL

CUDA.Import

cudaBindTexture

CUDA.Runtime

*****************************************************************************

cudaBindTexture2D

CUDA.Runtime

cudaBindTextureToArray

CUDA.Runtime

cudaChooseDevice

CUDA.Runtime

cudaConfigureCall

CUDA.Runtime

***************************************************************************** * * * ****************************************************************************

CUDAContextManager

CUDA.Context

Static class of CUDA contexts manager.

cudaCreateChannelDesc

CUDA.Runtime

cudaDriverGetVersion

CUDA.Runtime

cudaError_t

CUDA.Runtime

+//DEVICE_BUILTIN*/

cudaEventCreate

CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************

cudaEventCreateWithFlags

CUDA.Runtime

cudaEventDestroy

CUDA.Runtime

cudaEventElapsedTime

CUDA.Runtime

cudaEventQuery

CUDA.Runtime

cudaEventRecord

CUDA.Runtime

cudaEventSynchronize

CUDA.Runtime

cudaEvent_t

CUDA.Runtime

+//DEVICE_BUILTIN*/

cudaFree

CUDA.Runtime

cudaFreeArray

CUDA.Runtime

cudaFreeHost

CUDA.Runtime

cudaFuncGetAttributes

CUDA.Runtime

cudaFuncSetCacheConfig

CUDA.Runtime

cudaGetChannelDesc

CUDA.Runtime

cudaGetDevice

CUDA.Runtime

cudaGetDeviceCount

CUDA.Runtime

=*****************************************************************************

cudaGetDeviceProperties

CUDA.Runtime

cudaGetErrorString

CUDA.Runtime

cudaGetLastError

CUDA.Runtime

=*******************************************************************************/

cudaGetLastErrorString

CUDA.Runtime

cudaGetSymbolAddress

CUDA.Runtime

**************************************************************************** * * * * * * ****************************************************************************

cudaGetSymbolSize

CUDA.Runtime

cudaGetTextureAlignmentOffset

CUDA.Runtime

cudaGetTextureReference

CUDA.Runtime

cudaGLMapBufferObject

CUDA.Runtime

cudaGLMapBufferObjectAsync

CUDA.Runtime

cudaGLRegisterBufferObject

CUDA.Runtime

cudaGLSetBufferObjectMapFlags

CUDA.Runtime

cudaGLSetGLDevice

CUDA.Runtime

=*******************************************************************************/

cudaGLUnmapBufferObject

CUDA.Runtime

cudaGLUnmapBufferObjectAsync

CUDA.Runtime

cudaGLUnregisterBufferObject

CUDA.Runtime

cudaGraphicsGLRegisterBuffer

CUDA.Runtime

cudaGraphicsGLRegisterImage

CUDA.Runtime

cudaGraphicsMapResources

CUDA.Runtime

cudaGraphicsResourceGetMappedPointer

CUDA.Runtime

cudaGraphicsResourceSetMapFlags

CUDA.Runtime

cudaGraphicsSubResourceGetMappedArray

CUDA.Runtime

cudaGraphicsUnmapResources

CUDA.Runtime

cudaGraphicsUnregisterResource

CUDA.Runtime

cudaHostAlloc

CUDA.Runtime

cudaHostGetDevicePointer

CUDA.Runtime

cudaHostGetFlags

CUDA.Runtime

cudaLaunch

CUDA.Runtime

cudaMalloc

CUDA.Runtime

cudaMalloc3D

CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************

cudaMalloc3DArray

CUDA.Runtime

cudaMallocArray

CUDA.Runtime

cudaMallocHost

CUDA.Runtime

cudaMallocPitch

CUDA.Runtime

cudaMemcpy

CUDA.Runtime

cudaMemcpy2D

CUDA.Runtime

cudaMemcpy2DArrayToArray

CUDA.Runtime

cudaMemcpy2DAsync

CUDA.Runtime

cudaMemcpy2DFromArray

CUDA.Runtime

cudaMemcpy2DFromArrayAsync

CUDA.Runtime

cudaMemcpy2DToArray

CUDA.Runtime

cudaMemcpy2DToArrayAsync

CUDA.Runtime

cudaMemcpy3D

CUDA.Runtime

cudaMemcpy3DAsync

CUDA.Runtime

cudaMemcpyArrayToArray

CUDA.Runtime

cudaMemcpyAsync

CUDA.Runtime

=*****************************************************************************

cudaMemcpyFromArray

CUDA.Runtime

cudaMemcpyFromArrayAsync

CUDA.Runtime

cudaMemcpyFromSymbol

CUDA.Runtime

cudaMemcpyFromSymbolAsync

CUDA.Runtime

cudaMemcpyToArray

CUDA.Runtime

cudaMemcpyToArrayAsync

CUDA.Runtime

cudaMemcpyToSymbol

CUDA.Runtime

cudaMemcpyToSymbolAsync

CUDA.Runtime

cudaMemGetInfo

CUDA.Runtime

cudaMemset

CUDA.Runtime

***************************************************************************** * * * * * * ****************************************************************************

cudaMemset2D

CUDA.Runtime

cudaMemset3D

CUDA.Runtime

CUDARTDLLNAMES

CUDA.Runtime

CUDART_2_OVER_PI

CUDA.Runtime

CUDART_2_OVER_PI_F

CUDA.Runtime

CUDART_3PIO4

CUDA.Runtime

CUDART_3PIO4_F

CUDA.Runtime

CUDART_INF

CUDA.Runtime

double precision constants */

CUDART_INF_F

CUDA.Runtime

single precision constants

CUDART_L2E

CUDA.Runtime

CUDART_L2E_F

CUDA.Runtime

CUDART_L2E_HI

CUDA.Runtime

CUDART_L2E_LO

CUDA.Runtime

CUDART_L2T

CUDA.Runtime

CUDART_L2T_F

CUDA.Runtime

CUDART_LG2

CUDA.Runtime

CUDART_LG2_F

CUDA.Runtime

CUDART_LG2_HI

CUDA.Runtime

CUDART_LG2_LO

CUDA.Runtime

CUDART_LG2_X_1024

CUDA.Runtime

CUDART_LG2_X_1075

CUDA.Runtime

CUDART_LGE

CUDA.Runtime

CUDART_LGE_F

CUDA.Runtime

CUDART_LGE_HI

CUDA.Runtime

CUDART_LGE_LO

CUDA.Runtime

CUDART_LN2

CUDA.Runtime

CUDART_LN2_F

CUDA.Runtime

CUDART_LN2_HI

CUDA.Runtime

CUDART_LN2_LO

CUDA.Runtime

CUDART_LN2_X_1024

CUDA.Runtime

CUDART_LN2_X_1025

CUDA.Runtime

CUDART_LN2_X_1075

CUDA.Runtime

CUDART_LNPI

CUDA.Runtime

CUDART_LNPI_F

CUDA.Runtime

CUDART_LNT

CUDA.Runtime

CUDART_LNT_F

CUDA.Runtime

CUDART_LNT_HI

CUDA.Runtime

CUDART_LNT_LO

CUDA.Runtime

CUDART_MAX_NORMAL_F

CUDA.Runtime

CUDART_MIN_DENORM

CUDA.Runtime

CUDART_MIN_DENORM_F

CUDA.Runtime

CUDART_NAN

CUDA.Runtime

CUDART_NAN_F

CUDA.Runtime

CUDART_NEG_ZERO

CUDA.Runtime

CUDART_NEG_ZERO_F

CUDA.Runtime

CUDART_NORM_HUGE_F

CUDA.Runtime

CUDART_ONE

CUDA.Runtime

CUDART_ONE_F

CUDA.Runtime

CUDART_PI

CUDA.Runtime

CUDART_PIO2

CUDA.Runtime

CUDART_PIO2_F

CUDA.Runtime

CUDART_PIO2_HI

CUDA.Runtime

CUDART_PIO2_LO

CUDA.Runtime

CUDART_PIO4

CUDA.Runtime

CUDART_PIO4_F

CUDA.Runtime

CUDART_PIO4_HI

CUDA.Runtime

CUDART_PIO4_LO

CUDA.Runtime

CUDART_PI_F

CUDA.Runtime

CUDART_PI_HI

CUDA.Runtime

CUDART_PI_LO

CUDA.Runtime

CUDART_REMQUO_BITS_F

CUDA.Runtime

CUDART_REMQUO_MASK_F

CUDA.Runtime

CUDART_SQRT_2PI_HI

CUDA.Runtime

CUDART_SQRT_2PI_LO

CUDA.Runtime

CUDART_SQRT_HALF

CUDA.Runtime

CUDART_SQRT_HALF_F

CUDA.Runtime

CUDART_SQRT_PIO2_HI

CUDA.Runtime

CUDART_SQRT_PIO2_LO

CUDA.Runtime

CUDART_SQRT_TWO

CUDA.Runtime

CUDART_SQRT_TWO_F

CUDA.Runtime

CUDART_THIRD

CUDA.Runtime

CUDART_THIRD_F

CUDA.Runtime

CUDART_TRIG_PLOSS

CUDA.Runtime

CUDART_TRIG_PLOSS_F

CUDA.Runtime

CUDART_TWOTHIRD

CUDA.Runtime

CUDART_TWO_TO_126_F

CUDA.Runtime

CUDART_TWO_TO_23

CUDA.Runtime

CUDART_TWO_TO_23_F

CUDA.Runtime

CUDART_TWO_TO_24_F

CUDA.Runtime

CUDART_TWO_TO_31_F

CUDA.Runtime

CUDART_TWO_TO_32_F

CUDA.Runtime

CUDART_TWO_TO_52

CUDA.Runtime

CUDART_TWO_TO_54

CUDA.Runtime

CUDART_TWO_TO_M1022

CUDA.Runtime

CUDART_TWO_TO_M126_F

CUDA.Runtime

CUDART_TWO_TO_M54

CUDA.Runtime

CUDART_ZERO

CUDA.Runtime

CUDART_ZERO_F

CUDA.Runtime

cudaRuntimeGetVersion

CUDA.Runtime

cudaSetDevice

CUDA.Runtime

cudaSetDeviceFlags

CUDA.Runtime

cudaSetDoubleForDevice

CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************

cudaSetDoubleForHost

CUDA.Runtime

cudaSetupArgument

CUDA.Runtime

cudaSetValidDevices

CUDA.Runtime

cudaStreamCreate

CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************

cudaStreamDestroy

CUDA.Runtime

cudaStreamQuery

CUDA.Runtime

cudaStreamSynchronize

CUDA.Runtime

cudaStream_t

CUDA.Runtime

+//DEVICE_BUILTIN*/

cudaThreadExit

CUDA.Runtime

****************************************************************************** * * * * * * ******************************************************************************

cudaThreadGetLimit

CUDA.Runtime

cudaThreadSetLimit

CUDA.Runtime

cudaThreadSynchronize

CUDA.Runtime

cudaUnbindTexture

CUDA.Runtime

cudaWGLGetDevice

CUDA.Runtime

CUDA_ERROR_ALREADY_ACQUIRED

CUDA.Import

< No binary for GPU

CUDA_ERROR_ALREADY_MAPPED

CUDA.Import

< Array is mapped

CUDA_ERROR_ARRAY_IS_MAPPED

CUDA.Import

< Unmap failed

CUDA_ERROR_CONTEXT_ALREADY_CURRENT

CUDA.Import

< Invalid context

CUDA_ERROR_DEINITIALIZED

CUDA.Import

< Driver not initialized

CUDA_ERROR_FILE_NOT_FOUND

CUDA.Import

< Invalid source

CUDA_ERROR_INVALID_CONTEXT

CUDA.Import

< Invalid kernel image

CUDA_ERROR_INVALID_DEVICE

CUDA.Import

< No CUDA-capable device available

CUDA_ERROR_INVALID_HANDLE

CUDA.Import

< File not found

CUDA_ERROR_INVALID_IMAGE

CUDA.Import

< Invalid device

CUDA_ERROR_INVALID_SOURCE

CUDA.Import

< Mapped resource not available for access as a pointer

CUDA_ERROR_INVALID_VALUE

CUDA.Import

< No errors

CUDA_ERROR_LAUNCH_FAILED

CUDA.Import

< CUDA not ready

CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING

CUDA.Import

< Launch exceeded timeout

CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES

CUDA.Import

< Launch failed

CUDA_ERROR_LAUNCH_TIMEOUT

CUDA.Import

< Launch exceeded resources

CUDA_ERROR_MAP_FAILED

CUDA.Import

< Context already current

CUDA_ERROR_NOT_FOUND

CUDA.Import

< Invalid handle

CUDA_ERROR_NOT_INITIALIZED

CUDA.Import

< Out of memory

CUDA_ERROR_NOT_MAPPED

CUDA.Import

< Already acquired

CUDA_ERROR_NOT_MAPPED_AS_ARRAY

CUDA.Import

< Not mapped

CUDA_ERROR_NOT_MAPPED_AS_POINTER

CUDA.Import

< Mapped resource not available for access as an array

CUDA_ERROR_NOT_READY

CUDA.Import

< Not found

CUDA_ERROR_NO_BINARY_FOR_GPU

CUDA.Import

< Already mapped

CUDA_ERROR_NO_DEVICE

CUDA.Import

< Driver deinitialized

CUDA_ERROR_OUT_OF_MEMORY

CUDA.Import

< Invalid value

CUDA_ERROR_POINTER_IS_64BIT

CUDA.Import

< Launch with incompatible texturing

CUDA_ERROR_SIZE_IS_64BIT

CUDA.Import

< Attempted to retrieve 64-bit pointer via 32-bit API function

CUDA_ERROR_UNKNOWN

CUDA.Import

< Attempted to retrieve 64-bit size via 32-bit API function

CUDA_ERROR_UNMAP_FAILED

CUDA.Import

< Map failed

CUDA_SUCCESS

CUDA.Import

cuDeviceComputeCapability

CUDA.Import

cuDeviceGet

CUDA.Import

cuDeviceGetAttribute

CUDA.Import

cuDeviceGetCount

CUDA.Import

cuDeviceGetName

CUDA.Import

cuDeviceGetProperties

CUDA.Import

cuDeviceTotalMem

CUDA.Import

cudppCompact

CUDA.ParallelPrimitives

cudppDestroyPlan

CUDA.ParallelPrimitives

cudppDestroySparseMatrix

CUDA.ParallelPrimitives

CUDPPDLL

CUDA.ParallelPrimitives

————————————————————- cuDPP – CUDA Data Parallel Primitives library ————————————————————- $Revision: 4567 $ $Date: 2020-05-17 ————————————————————- This source code is distributed under the terms of license.txt in the root directory of this source distribution. ————————————————————-

cudppMultiScan

CUDA.ParallelPrimitives

cudppPlan

CUDA.ParallelPrimitives

Plan allocation (for scan, sort, and compact)

cudppRand

CUDA.ParallelPrimitives

random number generation algorithms

cudppRandSeed

CUDA.ParallelPrimitives

cudppScan

CUDA.ParallelPrimitives

Scan and sort algorithms

cudppSegmentedScan

CUDA.ParallelPrimitives

cudppSort

CUDA.ParallelPrimitives

cudppSparseMatrix

CUDA.ParallelPrimitives

Sparse matrix allocation

cudppSparseMatrixVectorMultiply

CUDA.ParallelPrimitives

Sparse matrix-vector algorithms

CUDPP_INVALID_HANDLE

CUDA.ParallelPrimitives

cuDriverGetVersion

CUDA.Import

cuEventCreate

CUDA.Import

cuEventDestroy

CUDA.Import

cuEventElapsedTime

CUDA.Import

cuEventQuery

CUDA.Import

cuEventRecord

CUDA.Import

cuEventSynchronize

CUDA.Import

cufftDestroy

CUDA.FourierTransform

CUFFTDLLNAMES

CUDA.FourierTransform

cufftExecC2C

CUDA.FourierTransform

cufftExecC2R

CUDA.FourierTransform

cufftExecD2Z

CUDA.FourierTransform

cufftExecR2C

CUDA.FourierTransform

cufftExecZ2D

CUDA.FourierTransform

cufftExecZ2Z

CUDA.FourierTransform

cufftPlan1d

CUDA.FourierTransform

cufftPlan2d

CUDA.FourierTransform

cufftPlan3d

CUDA.FourierTransform

cufftPlanMany

CUDA.FourierTransform

cufftSetCompatibilityMode

CUDA.FourierTransform

cufftSetStream

CUDA.FourierTransform

CUFFT_ALLOC_FAILED

CUDA.FourierTransform

CUFFT_C2C

CUDA.FourierTransform

Complex (interleaved) to Real

CUFFT_C2R

CUDA.FourierTransform

Real to Complex (interleaved)

CUFFT_COMPATIBILITY_FFTW

CUDA.FourierTransform

CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC

CUDA.FourierTransform

CUFFT_COMPATIBILITY_FFTW_PADDING

CUDA.FourierTransform

The default value

CUFFT_COMPATIBILITY_NORMAL

CUDA.FourierTransform

CUFFT_D2Z

CUDA.FourierTransform

Complex to Complex, interleaved

CUFFT_EXEC_FAILED

CUDA.FourierTransform

CUFFT_FORWARD

CUDA.FourierTransform

CUFFT transform directions

CUFFT_INTERNAL_ERROR

CUDA.FourierTransform

CUFFT_INVALID_PLAN

CUDA.FourierTransform

CUFFT_INVALID_SIZE

CUDA.FourierTransform

CUFFT_INVALID_TYPE

CUDA.FourierTransform

CUFFT_INVALID_VALUE

CUDA.FourierTransform

CUFFT_INVERSE

CUDA.FourierTransform

Forward FFT

CUFFT_R2C

CUDA.FourierTransform

Inverse FFT CUFFT supports the following transform types

CUFFT_SETUP_FAILED

CUDA.FourierTransform

CUFFT_SUCCESS

CUDA.FourierTransform

CUFFT_Z2D

CUDA.FourierTransform

Double to Double-Complex

CUFFT_Z2Z

CUDA.FourierTransform

Double-Complex to Double

cuFuncGetAttribute

CUDA.Import

cuFuncSetBlockShape

CUDA.Import

cuFuncSetSharedSize

CUDA.Import

cuGLCtxCreate

CUDA.Import

cuGLInit

CUDA.Import

cuGLMapBufferObject

CUDA.Import

cuGLMapBufferObjectAsync

CUDA.Import

cuGLRegisterBufferObject

CUDA.Import

cuGLSetBufferObjectMapFlags

CUDA.Import

cuGLUnmapBufferObject

CUDA.Import

cuGLUnmapBufferObjectAsync

CUDA.Import

cuGLUnregisterBufferObject

CUDA.Import

cuGraphicsGLRegisterBuffer

CUDA.Import

cuGraphicsGLRegisterImage

CUDA.Import

cuGraphicsMapResources

CUDA.Import

cuGraphicsResourceGetMappedPointer

CUDA.Import

cuGraphicsResourceSetMapFlags

CUDA.Import

cuGraphicsSubResourceGetMappedArray

CUDA.Import

cuGraphicsUnmapResources

CUDA.Import

cuGraphicsUnregisterResource

CUDA.Import

cuInit

CUDA.Import

cuLaunch

CUDA.Import

cuLaunchGrid

CUDA.Import

cuLaunchGridAsync

CUDA.Import

cuMemAlloc

CUDA.Import

cuMemAllocHost

CUDA.Import

cuMemAllocPitch

CUDA.Import

cuMemcpy2D

CUDA.Import

cuMemcpy2DAsync

CUDA.Import

cuMemcpy2DUnaligned

CUDA.Import

cuMemcpy3D

CUDA.Import

cuMemcpy3DAsync

CUDA.Import

cuMemcpyAtoA

CUDA.Import

cuMemcpyAtoD

CUDA.Import

cuMemcpyAtoH

CUDA.Import

cuMemcpyAtoHAsync

CUDA.Import

cuMemcpyDtoA

CUDA.Import

cuMemcpyDtoD

CUDA.Import

cuMemcpyDtoDAsync

CUDA.Import

cuMemcpyDtoH

CUDA.Import

cuMemcpyDtoHAsync

CUDA.Import

cuMemcpyHtoA

CUDA.Import

cuMemcpyHtoAAsync

CUDA.Import

cuMemcpyHtoD

CUDA.Import

cuMemcpyHtoDAsync

CUDA.Import

cuMemFree

CUDA.Import

cuMemFreeHost

CUDA.Import

cuMemGetAddressRange

CUDA.Import

cuMemGetInfo

CUDA.Import

cuMemHostAlloc

CUDA.Import

cuMemHostGetDevicePointer

CUDA.Import

cuMemHostGetFlags

CUDA.Import

cuMemsetD16

CUDA.Import

cuMemsetD2D16

CUDA.Import

cuMemsetD2D32

CUDA.Import

cuMemsetD2D8

CUDA.Import

cuMemsetD32

CUDA.Import

cuMemsetD8

CUDA.Import

cuModuleGetFunction

CUDA.Import

cuModuleGetGlobal

CUDA.Import

cuModuleGetTexRef

CUDA.Import

cuModuleLoad

CUDA.Import

cuModuleLoadData

CUDA.Import

cuModuleLoadDataEx

CUDA.Import

cuModuleLoadFatBinary

CUDA.Import

cuModuleUnload

CUDA.Import

cuParamSetf

CUDA.Import

cuParamSeti

CUDA.Import

cuParamSetSize

CUDA.Import

cuParamSetTexRef

CUDA.Import

cuParamSetv

CUDA.Import

CurrentGLContext

GLS.Context

The TGLContext that is the currently active context, if any. Returns nil if no context is active.

CURV_CONTINUITY_FIRST

Formats.LWO

CURV_CONTINUITY_LAST

Formats.LWO

cuStreamCreate

CUDA.Import

cuStreamDestroy

CUDA.Import

cuStreamQuery

CUDA.Import

cuStreamSynchronize

CUDA.Import

cutComparef

CUDA.Utility

cutComparefe

CUDA.Utility

cutComparefet

CUDA.Utility

cutComparei

CUDA.Utility

cutCompareL2fe

CUDA.Utility

cutCompareub

CUDA.Utility

cutCompareube

CUDA.Utility

cutCompareubt

CUDA.Utility

cutCompareuit

CUDA.Utility

cutCreateTimer

CUDA.Utility

cutDeleteTimer

CUDA.Utility

cuTexRefCreate

CUDA.Import

cuTexRefDestroy

CUDA.Import

cuTexRefGetAddress

CUDA.Import

cuTexRefGetAddressMode

CUDA.Import

cuTexRefGetArray

CUDA.Import

cuTexRefGetFilterMode

CUDA.Import

cuTexRefGetFlags

CUDA.Import

cuTexRefGetFormat

CUDA.Import

cuTexRefSetAddress

CUDA.Import

cuTexRefSetAddress2D

CUDA.Import

cuTexRefSetAddressMode

CUDA.Import

cuTexRefSetArray

CUDA.Import

cuTexRefSetFilterMode

CUDA.Import

cuTexRefSetFlags

CUDA.Import

cuTexRefSetFormat

CUDA.Import

cutFindFilePath

CUDA.Utility

cutFree

CUDA.Utility

cutGetAverageTimerValue

CUDA.Utility

cutGetTimerValue

CUDA.Utility

CUTILDLL

CUDA.Utility

cutLoadPGMf

CUDA.Utility

cutLoadPGMi

CUDA.Utility

cutLoadPGMs

CUDA.Utility

cutLoadPGMub

CUDA.Utility

cutLoadPPM4ub

CUDA.Utility

cutLoadPPMub

CUDA.Utility

cutResetTimer

CUDA.Utility

cutSavePGMf

CUDA.Utility

cutSavePGMi

CUDA.Utility

cutSavePGMs

CUDA.Utility

cutSavePGMub

CUDA.Utility

cutSavePPM4ub

CUDA.Utility

cutSavePPMub

CUDA.Utility

cutStartTimer

CUDA.Utility

cutStopTimer

CUDA.Utility

cuWGLGetDevice

CUDA.Import

CU_MEMHOSTALLOC_DEVICEMAP

CUDA.Import

* If set, host memory is mapped into CUDA address space and * ::cuMemHostGetDevicePointer() may be called on the host pointer. * Flag for ::cuMemHostAlloc()

CU_MEMHOSTALLOC_PORTABLE

CUDA.Import

* If set, host memory is portable between CUDA contexts. * Flag for ::cuMemHostAlloc()

CU_MEMHOSTALLOC_WRITECOMBINED

CUDA.Import

* If set, host memory is allocated as write-combined - fast to write, * faster to DMA, slow to read except via SSE4 streaming load instruction * (MOVNTDQA). * Flag for ::cuMemHostAlloc()

CU_PARAM_TR_DEFAULT

CUDA.Import

* For texture references loaded into the module, use default texunit from * texture reference.

CU_TRSA_OVERRIDE_FORMAT

CUDA.Import

* Override the texref format with a format inferred from the array. * Flag for ::cuTexRefSetArray()

CU_TRSF_NORMALIZED_COORDINATES

CUDA.Import

* Use normalized texture coordinates in the range [0,1) instead of [0,dim). * Flag for ::cuTexRefSetFlags()

CU_TRSF_READ_AS_INTEGER

CUDA.Import

* Read the texture as integers rather than promoting the values to floats * in the range [0,1]. * Flag for ::cuTexRefSetFlags()

cVertexModeToGLEnum

GLS.Mesh

Cylindrical_Cartesian

GLS.Coordinates

Convert Cylindrical to Cartesian with checks. [double], theta in rad ierr: [0] = ok, [1] = r out of bounds. Acceptable r: [0,inf) [2] = theta out of bounds. Acceptable theta: [0,2pi) [3] = z1 out of bounds. Acceptable z1 : (-inf,inf) Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

Cylindrical_Cartesian

GLS.Coordinates

Convert Cylindrical to Cartesian with checks. [single], theta in rad ierr: [0] = ok, [1] = r out of bounds. Acceptable r: [0,inf) [2] = theta out of bounds. Acceptable theta: [0,2pi) [3] = z1 out of bounds. Acceptable z1 : (-inf,inf) Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

Cylindrical_Cartesian

GLS.Coordinates

Convert Cylindrical to Cartesian with no checks. Double version, theta in rads Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

Cylindrical_Cartesian

GLS.Coordinates

Convert Cylindrical to Cartesian [single] with no checks, theta in rad Ref: http://mathworld.wolfram.com/CylindricalCoordinates.html

C_ALL_LINES

Formats.m3DSConst

C_ALPHA_SPLIT

Formats.m3DSConst

C_ANG_THRESH

Formats.m3DSConst

C_ANIMLENGTH

Formats.m3DSConst

C_APPLY_DISP_GAMMA

Formats.m3DSConst

C_APPLY_FBUF_GAMMA

Formats.m3DSConst

OBSOLETE

C_APPLY_FILE_GAMMA

Formats.m3DSConst

OBSOLETE

C_ARCH_DENOM

Formats.m3DSConst

C_ASNAPS

Formats.m3DSConst

C_AUTO_REFLECT

Formats.m3DSConst

C_AUTO_SMOOTH

Formats.m3DSConst

C_AUTO_UNIFY

Formats.m3DSConst

C_AUTO_WELD

Formats.m3DSConst

C_BACKUP_FILE

Formats.m3DSConst

system options

C_BACK_TYPE

Formats.m3DSConst

C_BGND_METHOD

Formats.m3DSConst

C_BGND_PRES_RATIO

Formats.m3DSConst

C_BGTYPE

Formats.m3DSConst

C_BIAS_DEFAULT

Formats.m3DSConst

C_BITMAP_DRAWER

Formats.m3DSConst

C_BLUR_DUR

Formats.m3DSConst

C_BLUR_FRAMES

Formats.m3DSConst

C_BLUR_SAMPLES

Formats.m3DSConst

C_BOOLTYPE

Formats.m3DSConst

C_BOOLWELD

Formats.m3DSConst

Booleans

C_CAMNAME

Formats.m3DSConst

C_COMM_PORT

Formats.m3DSConst

C_CONESEGS

Formats.m3DSConst

C_CONESIDES

Formats.m3DSConst

C_CONSTS

Formats.m3DSConst

C_CONT_DEFAULT

Formats.m3DSConst

C_CUBDRAWER

Formats.m3DSConst

C_CURMTL_FROM_MESH

Formats.m3DSConst

C_CURTIME

Formats.m3DSConst

C_CUR_MNAME

Formats.m3DSConst

C_DETAIL

Formats.m3DSConst

C_DISP_GAMMA

Formats.m3DSConst

C_DITHER_24

Formats.m3DSConst

C_DITHER_256

Formats.m3DSConst

C_DXFNAME_SRC

Formats.m3DSConst

C_DXF_SMOOTH_ANG

Formats.m3DSConst

C_EDITOR_OK

Formats.m3DSConst

C_ETAPE

Formats.m3DSConst

C_FBUF_GAMMA

Formats.m3DSConst

C_FILE_IN_GAMMA

Formats.m3DSConst

C_FILE_OUT_GAMMA

Formats.m3DSConst

C_FLIDRAWER

Formats.m3DSConst

C_FLIFILE

Formats.m3DSConst

C_FONTSEL

Formats.m3DSConst

C_FORCE_WIRE

Formats.m3DSConst

OBSOLETE

C_FROZ_DISPLAY

Formats.m3DSConst

3d frozen display

C_GAMMA_CORRECT

Formats.m3DSConst

C_GEOSMOOTH

Formats.m3DSConst

C_GET_SHAPE_MAKE_FACES

Formats.m3DSConst

C_GRIDS

Formats.m3DSConst

C_GRID_RANGE

Formats.m3DSConst

C_HEBOT

Formats.m3DSConst

C_HEDEG

Formats.m3DSConst

C_HEDIR

Formats.m3DSConst

C_HEHT

Formats.m3DSConst

C_HEMISEGS

Formats.m3DSConst

C_HESEG

Formats.m3DSConst

C_HETOP

Formats.m3DSConst

C_HETURNS

Formats.m3DSConst

C_HI_CONTRAST

Formats.m3DSConst

C_HOT_CHECK

Formats.m3DSConst

C_HOT_METHOD

Formats.m3DSConst

C_IN_DEVICE

Formats.m3DSConst

C_JPEG_COMPRESSION

Formats.m3DSConst

C_KEYFRAMER_OK

Formats.m3DSConst

C_KF_SHOW_BACKFACE

Formats.m3DSConst

C_KTAPE

Formats.m3DSConst

C_LMTS_ID

GLS.FileLMTS

C_LMTS_SUBS

GLS.FileLMTS

C_LMTS_TEXFNLEN

GLS.FileLMTS

C_LMTS_TEXT

GLS.FileLMTS

C_LMTS_TRIS

GLS.FileLMTS

C_LMTS_VER

GLS.FileLMTS

C_LOFTER_OK

Formats.m3DSConst

C_LOFT_L_REPEAT

Formats.m3DSConst

C_LOFT_UV_NORMALIZE

Formats.m3DSConst

C_LOFT_WITH_TEXTURE

Formats.m3DSConst

C_LOFT_W_REPEAT

Formats.m3DSConst

C_LO_CONTRAST

Formats.m3DSConst

Contrast

C_LTAPE

Formats.m3DSConst

C_LTNAME

Formats.m3DSConst

C_MAPDRAWER

Formats.m3DSConst

C_MAPDRAWER1

Formats.m3DSConst

C_MAPDRAWER2

Formats.m3DSConst

C_MAPDRAWER3

Formats.m3DSConst

C_MAPDRAWER4

Formats.m3DSConst

C_MAPDRAWER5

Formats.m3DSConst

C_MAPDRAWER6

Formats.m3DSConst

C_MAPDRAWER7

Formats.m3DSConst

C_MAPDRAWER8

Formats.m3DSConst

C_MAPDRAWER9

Formats.m3DSConst

C_MAPDRAWER_ENTRY

Formats.m3DSConst

C_MAPTYPE

Formats.m3DSConst

C_MAP_DISPLAY

Formats.m3DSConst

C_MAP_MATRIX

Formats.m3DSConst

C_MAP_MATRIX_OLD

Formats.m3DSConst

C_MAP_SCALE

Formats.m3DSConst

C_MAP_WID_HT

Formats.m3DSConst

C_MAP_XYZ

Formats.m3DSConst

C_MASTER_AMBIENT

Formats.m3DSConst

C_MASTER_SCALES

Formats.m3DSConst

C_MBLUR_DITHER

Formats.m3DSConst

C_MDRAWER

Formats.m3DSConst

C_MD_CE

Formats.m3DSConst

C_MD_CS

Formats.m3DSConst

C_MD_PDET

Formats.m3DSConst

C_MD_SDET

Formats.m3DSConst

C_MD_SML

Formats.m3DSConst

C_MD_SMW

Formats.m3DSConst

C_MEDTILE

Formats.m3DSConst

C_MESHSEL

Formats.m3DSConst

C_MESHUNSEL

Formats.m3DSConst

C_MFILE

Formats.m3DSConst

C_MFTSYM

Formats.m3DSConst

C_MODDRAWER

Formats.m3DSConst

C_MODFILE

Formats.m3DSConst

C_MODICOUNT

Formats.m3DSConst

C_MODMODEL

Formats.m3DSConst

C_MODWMODE

Formats.m3DSConst

C_MSCALE

Formats.m3DSConst

C_MSCSYM

Formats.m3DSConst

C_MSHAX

Formats.m3DSConst

C_MSHCP

Formats.m3DSConst

C_MSHLOCAL

Formats.m3DSConst

C_MTLDRAWER

Formats.m3DSConst

C_MTLFILE

Formats.m3DSConst

C_MTTSYM

Formats.m3DSConst

C_NET_FIELD_ORDER

Formats.m3DSConst

C_NET_USE_GAMMA

Formats.m3DSConst

C_NET_USE_VPOST

Formats.m3DSConst

Special network-use chunks

C_NGPARMS

Formats.m3DSConst

C_NTH_SERIAL_NUM

Formats.m3DSConst

C_NUM_FORMAT

Formats.m3DSConst

C_OBJECT_MBLUR

Formats.m3DSConst

C_OBNAME

Formats.m3DSConst

C_OPTIMIZE_LOFT

Formats.m3DSConst

C_PALFILE

Formats.m3DSConst

C_PAL_TYPE

Formats.m3DSConst

C_PDRAWER

Formats.m3DSConst

C_PFILE

Formats.m3DSConst

C_PICKSIZE

Formats.m3DSConst

C_PIXEL_SIZE

Formats.m3DSConst

C_POLYSEL

Formats.m3DSConst

C_POLYUNSEL

Formats.m3DSConst

C_PREVMODE

Formats.m3DSConst

C_PRISMSEGS

Formats.m3DSConst

C_PRISMSIDES

Formats.m3DSConst

C_PROGMODE

Formats.m3DSConst

C_PTHLEVEL

Formats.m3DSConst

C_PV_DOFNUM

Formats.m3DSConst

C_PV_FPS

Formats.m3DSConst

C_PV_FROM

Formats.m3DSConst

C_PV_METHOD

Formats.m3DSConst

C_PV_NTH

Formats.m3DSConst

C_PV_RNG

Formats.m3DSConst

C_PV_TO

Formats.m3DSConst

C_PV_TYPE

Formats.m3DSConst

C_QUIKSTUFF

Formats.m3DSConst

C_RAX

Formats.m3DSConst

C_RAY_SHADOWS

Formats.m3DSConst

C_REFLIP

Formats.m3DSConst

C_RENDER_ALL

Formats.m3DSConst

C_RENDTYPE

Formats.m3DSConst

C_REND_FIELDS

Formats.m3DSConst

C_REND_FROM

Formats.m3DSConst

C_REND_NTH

Formats.m3DSConst

C_REND_TO

Formats.m3DSConst

C_REND_TSTEP

Formats.m3DSConst

C_RGB_AA

Formats.m3DSConst

C_RGB_ANIMTYPE

Formats.m3DSConst

C_RGB_COMPRESS

Formats.m3DSConst

C_RGB_DISPDEV

Formats.m3DSConst

C_RGB_FILE

Formats.m3DSConst

C_RGB_HARDDEV

Formats.m3DSConst

C_RGB_HIDE

Formats.m3DSConst

C_RGB_MAPSW

Formats.m3DSConst

C_RGB_OUTPUT

Formats.m3DSConst

C_RGB_OVASPECT

Formats.m3DSConst

C_RGB_OVH

Formats.m3DSConst

C_RGB_OVW

Formats.m3DSConst

C_RGB_PATH

Formats.m3DSConst

C_RGB_PICTYPE

Formats.m3DSConst

C_RGB_RMODE

Formats.m3DSConst

C_RGB_SHADOW

Formats.m3DSConst

C_RGB_TODISK

Formats.m3DSConst

C_RGB_TWOSIDE

Formats.m3DSConst

C_RIPDRAWER

Formats.m3DSConst

C_RIPFILE

Formats.m3DSConst

C_RND_MIP

Formats.m3DSConst

C_RND_TURBO

Formats.m3DSConst

C_SAFE_FRAME

Formats.m3DSConst

C_SAVE_LAST

Formats.m3DSConst

C_SEE_3D

Formats.m3DSConst

C_SEE_CAMERAS

Formats.m3DSConst

C_SEE_LIGHTS

Formats.m3DSConst

C_SEG_END

Formats.m3DSConst

C_SEG_START

Formats.m3DSConst

C_SEL_ITEMTOG

Formats.m3DSConst

C_SEL_RESET

Formats.m3DSConst

C_SHAPER_OK

Formats.m3DSConst

C_SHOOK

Formats.m3DSConst

C_SHOW_1STVERT

Formats.m3DSConst

C_SHPDRAWER

Formats.m3DSConst

C_SHPFILE

Formats.m3DSConst

C_SHPLOCAL

Formats.m3DSConst

C_SMOOTHING

Formats.m3DSConst

C_SMOOTH_ANG

Formats.m3DSConst

C_SNAPS

Formats.m3DSConst

C_SPHSEGS

Formats.m3DSConst

C_SRDEG

Formats.m3DSConst

C_SRDIAM

Formats.m3DSConst

C_SRDIR

Formats.m3DSConst

C_SRSEG

Formats.m3DSConst

C_SS_THRESH

Formats.m3DSConst

C_STAPE

Formats.m3DSConst

C_STICKY_KEYINF

Formats.m3DSConst

C_SUPER_BLACK

Formats.m3DSConst

C_SUPER_SAMPLE

Formats.m3DSConst

C_SXP_BUMP_DATA

Formats.m3DSConst

C_SXP_BUMP_MASKDATA

Formats.m3DSConst

C_SXP_OPAC_DATA

Formats.m3DSConst

C_SXP_OPAC_MASKDATA

Formats.m3DSConst

C_SXP_REFL_MASKDATA

Formats.m3DSConst

C_SXP_SELFI_DATA

Formats.m3DSConst

C_SXP_SELFI_MASKDATA

Formats.m3DSConst

C_SXP_SHIN_DATA

Formats.m3DSConst

C_SXP_SHIN_MASKDATA

Formats.m3DSConst

C_SXP_SPEC_DATA

Formats.m3DSConst

C_SXP_SPEC_MASKDATA

Formats.m3DSConst

C_SXP_TEXT2_DATA

Formats.m3DSConst

C_SXP_TEXT2_MASKDATA

Formats.m3DSConst

C_SXP_TEXT_DATA

Formats.m3DSConst

C_SXP_TEXT_MASKDATA

Formats.m3DSConst

C_TAB_BASES

Formats.m3DSConst

C_TAB_DIVS

Formats.m3DSConst

C_TDRAWER

Formats.m3DSConst

C_TENS_DEFAULT

Formats.m3DSConst

C_TESS_TENSION

Formats.m3DSConst

C_TESS_TYPE

Formats.m3DSConst

C_TEXTURE_BLUR_DEFAULT

Formats.m3DSConst

C_TGA_DEPTH

Formats.m3DSConst

C_TILE_XY

Formats.m3DSConst

C_TORSEGS

Formats.m3DSConst

C_TORSIDES

Formats.m3DSConst

C_TUBESEGS

Formats.m3DSConst

C_TUBESIDES

Formats.m3DSConst

C_TXDRAWER

Formats.m3DSConst

C_TXFILE

Formats.m3DSConst

C_TX_STRING

Formats.m3DSConst

C_USERAX

Formats.m3DSConst

C_USE_ALPHA

Formats.m3DSConst

C_VERTMARK

Formats.m3DSConst

C_VIEW_PRES_RATIO

Formats.m3DSConst

C_VP_FROM

Formats.m3DSConst

C_VP_NTH

Formats.m3DSConst

C_VP_TO

Formats.m3DSConst

C_VP_TSTEP

Formats.m3DSConst

C_VTR_FRAMES

Formats.m3DSConst

C_VTR_HD

Formats.m3DSConst

C_VTR_HDTL

Formats.m3DSConst

C_VTR_IN

Formats.m3DSConst

C_VTR_PK

Formats.m3DSConst

C_VTR_SH

Formats.m3DSConst

C_VTR_TL

Formats.m3DSConst

C_WELD_LOFT

Formats.m3DSConst

C_WELD_THRESHOLD

Formats.m3DSConst

C_WORKMTL

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS

Formats.m3DSConst

Material chunks

C_WORK_MTLS_2

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS_3

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS_4

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS_5

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS_6

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS_7

Formats.m3DSConst

Old-style – now ignored

C_WORK_MTLS_8

Formats.m3DSConst

Old-style – now ignored

C_ZCLIP_POINT

Formats.m3DSConst

D3D11_RESOURCE_DIMENSION_BUFFER

Formats.DXTC

D3D11_RESOURCE_DIMENSION_TEXTURE1D

Formats.DXTC

D3D11_RESOURCE_DIMENSION_TEXTURE2D

Formats.DXTC

D3D11_RESOURCE_DIMENSION_TEXTURE3D

Formats.DXTC

D3D11_RESOURCE_DIMENSION_UNKNOWN

Formats.DXTC

); TD3D11_RESOURCE_DIMENSION = (

DAMP_SHIFT

GLS.ProcTextures

dAreConnected

Physics.ODEImport

dAreConnectedExcluding

Physics.ODEImport

dBodyAddForce

Physics.ODEImport

—– dBody —–

dBodyAddForceAtPos

Physics.ODEImport

dBodyAddForceAtRelPos

Physics.ODEImport

dBodyAddRelForce

Physics.ODEImport

dBodyAddRelForceAtPos

Physics.ODEImport

dBodyAddRelForceAtRelPos

Physics.ODEImport

dBodyAddRelTorque

Physics.ODEImport

dBodyAddTorque

Physics.ODEImport

dBodyCopyPosition

Physics.ODEImport

dBodyCopyQuaternion

Physics.ODEImport

dBodyCopyRotation

Physics.ODEImport

dBodyCreate

Physics.ODEImport

dBodyDestroy

Physics.ODEImport

dBodyDisable

Physics.ODEImport

dBodyEnable

Physics.ODEImport

dBodyGetAngularDamping

Physics.ODEImport

dBodyGetAngularDampingThreshold

Physics.ODEImport

dBodyGetAngularVel

Physics.ODEImport

dBodyGetAutoDisableAngularThreshold

Physics.ODEImport

dBodyGetAutoDisableFlag

Physics.ODEImport

dBodyGetAutoDisableLinearThreshold

Physics.ODEImport

Auto-disable functions

dBodyGetAutoDisableSteps

Physics.ODEImport

dBodyGetAutoDisableTime

Physics.ODEImport

dBodyGetData

Physics.ODEImport

dBodyGetFiniteRotationAxis

Physics.ODEImport

dBodyGetFiniteRotationMode

Physics.ODEImport

dBodyGetForce

Physics.ODEImport

dBodyGetGravityMode

Physics.ODEImport

dBodyGetJoint

Physics.ODEImport

dBodyGetLinearDamping

Physics.ODEImport

dBodyGetLinearDampingThreshold

Physics.ODEImport

dBodyGetLinearVel

Physics.ODEImport

dBodyGetMass

Physics.ODEImport

dBodyGetMaxAngularSpeed

Physics.ODEImport

dBodyGetNumJoints

Physics.ODEImport

dBodyGetPointVel

Physics.ODEImport

dBodyGetPosition

Physics.ODEImport

dBodyGetPosRelPoint

Physics.ODEImport

dBodyGetQuaternion

Physics.ODEImport

dBodyGetRelPointPos

Physics.ODEImport

dBodyGetRelPointVel

Physics.ODEImport

dBodyGetRotation

Physics.ODEImport

dBodyGetTorque

Physics.ODEImport

dBodyIsEnabled

Physics.ODEImport

dBodySetAngularDamping

Physics.ODEImport

dBodySetAngularDampingThreshold

Physics.ODEImport

dBodySetAngularVel

Physics.ODEImport

dBodySetAutoDisableAngularThreshold

Physics.ODEImport

dBodySetAutoDisableAverageSamplesCount

Physics.ODEImport

dBodySetAutoDisableDefaults

Physics.ODEImport

dBodySetAutoDisableFlag

Physics.ODEImport

dBodySetAutoDisableLinearThreshold

Physics.ODEImport

dBodySetAutoDisableSteps

Physics.ODEImport

dBodySetAutoDisableTime

Physics.ODEImport

dBodySetDamping

Physics.ODEImport

dBodySetDampingDefaults

Physics.ODEImport

dBodySetData

Physics.ODEImport

dBodySetFiniteRotationAxis

Physics.ODEImport

dBodySetFiniteRotationMode

Physics.ODEImport

dBodySetForce

Physics.ODEImport

dBodySetGravityMode

Physics.ODEImport

dBodySetLinearDamping

Physics.ODEImport

damping functions

dBodySetLinearDampingThreshold

Physics.ODEImport

dBodySetLinearVel

Physics.ODEImport

dBodySetMass

Physics.ODEImport

dBodySetMaxAngularSpeed

Physics.ODEImport

dBodySetMovedCallback

Physics.ODEImport

dBodySetPosition

Physics.ODEImport

dBodySetQuaternion

Physics.ODEImport

dBodySetRotation

Physics.ODEImport

dBodySetTorque

Physics.ODEImport

dBodyToBodyDistance

Physics.ODEUtils

dBodyVectorFromWorld

Physics.ODEImport

dBodyVectorToWorld

Physics.ODEImport

dBoxClass

Physics.ODEImport

dBoxTouchesBox

Physics.ODEImport

dCapsuleClass

Physics.ODEImport

DCEBox

GLS.DCE

dClearUpperTriangle

Physics.ODEImport

dCloseODE

Physics.ODEImport

dClosestLineSegmentPoints

Physics.ODEImport

—– Misc —–

dCollide

Physics.ODEImport

dContactApprox0

Physics.ODEImport

dContactApprox1

Physics.ODEImport

dContactApprox1_1

Physics.ODEImport

dContactApprox1_2

Physics.ODEImport

dContactBounce

Physics.ODEImport

dContactFDir1

Physics.ODEImport

dContactMotion1

Physics.ODEImport

dContactMotion2

Physics.ODEImport

dContactMotionN

Physics.ODEImport

dContactMu2

Physics.ODEImport

These consts now have defined types

dContactSlip1

Physics.ODEImport

dContactSlip2

Physics.ODEImport

dContactSoftCFM

Physics.ODEImport

dContactSoftERP

Physics.ODEImport

dConvexClass

Physics.ODEImport

dCreateBox

Physics.ODEImport

Box

dCreateCapsule

Physics.ODEImport

dCapsule (a capped cylinder).

dCreateConvex

Physics.ODEImport

Convex

dCreateCylinder

Physics.ODEImport

dCylinder (not a capped cylinder).

dCreateGeom

Physics.ODEImport

—– dGeom —–

dCreateGeomClass

Physics.ODEImport

dCreateGeomTransform

Physics.ODEImport

Transform

dCreateHeightfield

Physics.ODEImport

Heightfield (incomplete)

dCreatePlane

Physics.ODEImport

Plane

dCreateRay

Physics.ODEImport

dRay

dCreateSphere

Physics.ODEImport

Sphere

dCreateTriMesh

Physics.ODEImport

TriMesh

DCUE_BGND

Formats.m3DSConst

dCylinderClass

Physics.ODEImport

DDF_ANIMATE

Formats.VFW

dont draw frame, just decompress

DDF_BACKGROUNDPAL

Formats.VFW

use DisplayDib

DDF_BUFFER

Formats.VFW

allow palette animation

DDF_DONTDRAW

Formats.VFW

draw params are the same

DDF_FULLSCREEN

Formats.VFW

just draw it with GDI

DDF_HALFTONE

Formats.VFW

hurry up please!

DDF_HURRYUP

Formats.VFW

this is a partial frame update, hint

DDF_JUSTDRAWIT

Formats.VFW

always buffer image

DDF_NOTKEYFRAME

Formats.VFW

Realize palette in background

DDF_PREROLL

Formats.VFW

always halftone

DDF_SAME_DIB

Formats.VFW

Builing up a non-keyframe

DDF_SAME_DRAW

Formats.VFW

HDC same as last call (all setup)

DDF_SAME_HDC

Formats.VFW

re-draw the last DIB

DDF_SAME_SIZE

Formats.VFW

DDF_UPDATE

Formats.VFW

********************************************************************
DrawDib Flags
*********************************************************************

dDot

Physics.ODEImport

dDot

Physics.ODEImport

—– Recreated —–

dDOT14

Physics.ODEImport

dDOT14

Physics.ODEImport

DDPF_A

Formats.DXTC

DDPF_ALPHAPIXELS

Formats.DXTC

DDPF_FOURCC

Formats.DXTC

DDPF_L

Formats.DXTC

DDPF_LA

Formats.DXTC

DDPF_RGB

Formats.DXTC

DDPF_RGBA

Formats.DXTC

dDQfromW

Physics.ODEImport

DDSCAPS2_CUBEMAP

Formats.DXTC

DDSCAPS2_CUBEMAP_NEGATIVEX

Formats.DXTC

DDSCAPS2_CUBEMAP_NEGATIVEY

Formats.DXTC

DDSCAPS2_CUBEMAP_NEGATIVEZ

Formats.DXTC

DDSCAPS2_CUBEMAP_POSITIVEX

Formats.DXTC

DDSCAPS2_CUBEMAP_POSITIVEY

Formats.DXTC

DDSCAPS2_CUBEMAP_POSITIVEZ

Formats.DXTC

DDSCAPS2_VOLUME

Formats.DXTC

DDSCAPS_COMPLEX

Formats.DXTC

DDSCAPS_MIPMAP

Formats.DXTC

DDSCAPS_TEXTURE

Formats.DXTC

DDSD_CAPS

Formats.DXTC

DDSD_DEPTH

Formats.DXTC

DDSD_HEIGHT

Formats.DXTC

DDSD_LINEARSIZE

Formats.DXTC

DDSD_MIPMAPCOUNT

Formats.DXTC

DDSD_PITCH

Formats.DXTC

DDSD_PIXELFORMAT

Formats.DXTC

DDSD_WIDTH

Formats.DXTC

DDSHeaderToGLEnum

Formats.DXTC

DebugMode

Physics.SPIInertias

Debug_Tri

GLS.EllipseCollision

.$DEFINE DEBUG

DecodeDXT1toBitmap32

Formats.DXTC

DecodeDXT3toBitmap32

Formats.DXTC

DecodeDXT5toBitmap32

Formats.DXTC

DecodeTextureTarget

GLS.TextureFormat

DEFAULT_VIEW

Formats.m3DSConst

DefFace3DS

Formats.m3DSConst

DefKeyHeader3DS

Formats.m3DSConst

DefKFRotKey3DS

Formats.m3DSConst

DefObjMat3DS

Formats.m3DSConst

DEFORM_LIMIT

Formats.m3DSConst

DefPoint3DS

Formats.m3DSConst

Basic structure default contents for ease of initialization

DefTextVert3DS

Formats.m3DSConst

DefTrackHeader3DS

Formats.m3DSConst

DegToRadian

GLS.VectorGeometry

DegToRadian

GLS.VectorGeometry

—————————————————————————- Trigonometric functions —————————————————————————-

DeleteChunk

Formats.m3DSUtils

support functions for chunk handling

DemoScalarField

GLS.Isosurface

DeRegisterCUDAComponentNameChangeEvent

CUDA.APIComps

DeRegisterGLBaseSceneObjectNameChangeEvent

GLS.Scene

Deregister an event handler triggered by any TGLBaseSceneObject Name change. See RegisterGLBaseSceneObjectNameChangeEvent.

DeRegisterGLBehaviourNameChangeEvent

GLS.Scene

Deregister an event handler triggered by any TGLBaseSceneObject Name change. See RegisterGLBaseSceneObjectNameChangeEvent.

DeRegisterGLMaterialExNameChangeEvent

GLS.MaterialEx

DeRegisterManager

GLS.Manager

DeRegisterXCollectionDestroyEvent

GLS.XCollection

DeRegisters event

DerivatedPolynom

GLS.Polynomials

Calculates the polynom's derivative

dFirstSpaceClass

Physics.ODEImport

dFirstUserClass

Physics.ODEImport

dFloat

Physics.NewtonImport

dFloat64

Physics.NewtonImport

dGeomBoxGetLengths

Physics.ODEImport

dGeomBoxPointDepth

Physics.ODEImport

dGeomBoxSetLengths

Physics.ODEImport

dGeomCapsuleGetParams

Physics.ODEImport

dGeomCapsulePointDepth

Physics.ODEImport

dGeomCapsuleSetParams

Physics.ODEImport

dGeomClearOffset

Physics.ODEImport

dGeomCopyOffsetPosition

Physics.ODEImport

dGeomCopyOffsetRotation

Physics.ODEImport

dGeomCopyPosition

Physics.ODEImport

dGeomCopyQuaternion

Physics.ODEImport

dGeomCopyRotation

Physics.ODEImport

dGeomCylinderGetParams

Physics.ODEImport

dGeomCylinderSetParams

Physics.ODEImport

dGeomDestroy

Physics.ODEImport

dGeomDisable

Physics.ODEImport

dGeomEnable

Physics.ODEImport

dGeomGetAABB

Physics.ODEImport

dGeomGetBody

Physics.ODEImport

dGeomGetCategoryBits

Physics.ODEImport

dGeomGetClass

Physics.ODEImport

dGeomGetClassData

Physics.ODEImport

dGeomGetCollideBits

Physics.ODEImport

dGeomGetData

Physics.ODEImport

dGeomGetOffsetPosition

Physics.ODEImport

dGeomGetOffsetQuaternion

Physics.ODEImport

dGeomGetOffsetRotation

Physics.ODEImport

dGeomGetPosition

Physics.ODEImport

dGeomGetQuaternion

Physics.ODEImport

dGeomGetRotation

Physics.ODEImport

dGeomGetSpace

Physics.ODEImport

dGeomHeightfieldDataCreate

Physics.ODEImport

dGeomHeightfieldDataDestroy

Physics.ODEImport

dGeomHeightfieldDataSetBounds

Physics.ODEImport

dGeomHeightfieldGetHeightfieldData

Physics.ODEImport

dGeomHeightfieldSetHeightfieldData

Physics.ODEImport

dGeomIsEnabled

Physics.ODEImport

dGeomIsOffset

Physics.ODEImport

dGeomIsSpace

Physics.ODEImport

dGeomNumClasses

Physics.ODEImport

dGeomPlaneGetParams

Physics.ODEImport

dGeomPlanePointDepth

Physics.ODEImport

dGeomPlaneSetParams

Physics.ODEImport

dGeomRayGet

Physics.ODEImport

dGeomRayGetClosestHit

Physics.ODEImport

dGeomRayGetLength

Physics.ODEImport

dGeomRayGetParams

Physics.ODEImport

dGeomRaySet

Physics.ODEImport

dGeomRaySetClosestHit

Physics.ODEImport

dGeomRaySetLength

Physics.ODEImport

dGeomRaySetParams

Physics.ODEImport

dGeomSetBody

Physics.ODEImport

dGeomSetCategoryBits

Physics.ODEImport

dGeomSetCollideBits

Physics.ODEImport

dGeomSetConvex

Physics.ODEImport

dGeomSetData

Physics.ODEImport

dGeomSetOffsetPosition

Physics.ODEImport

dGeomSetOffsetQuaternion

Physics.ODEImport

dGeomSetOffsetRotation

Physics.ODEImport

dGeomSetOffsetWorldPosition

Physics.ODEImport

dGeomSetOffsetWorldQuaternion

Physics.ODEImport

dGeomSetOffsetWorldRotation

Physics.ODEImport

dGeomSetPosition

Physics.ODEImport

dGeomSetQuaternion

Physics.ODEImport

dGeomSetRotation

Physics.ODEImport

dGeomSphereGetRadius

Physics.ODEImport

dGeomSpherePointDepth

Physics.ODEImport

dGeomSphereSetRadius

Physics.ODEImport

dGeomTransformClass

Physics.ODEImport

dGeomTransformGetCleanup

Physics.ODEImport

dGeomTransformGetGeom

Physics.ODEImport

dGeomTransformGetInfo

Physics.ODEImport

dGeomTransformSetCleanup

Physics.ODEImport

dGeomTransformSetGeom

Physics.ODEImport

dGeomTransformSetInfo

Physics.ODEImport

dGeomTriMeshClearTCCache

Physics.ODEImport

dGeomTriMeshDataBuildDouble

Physics.ODEImport

dGeomTriMeshDataBuildDouble1

Physics.ODEImport

dGeomTriMeshDataBuildSimple

Physics.ODEImport

dGeomTriMeshDataBuildSimple1

Physics.ODEImport

dGeomTriMeshDataBuildSingle

Physics.ODEImport

dGeomTriMeshDataBuildSingle1

Physics.ODEImport

dGeomTriMeshDataCreate

Physics.ODEImport

dGeomTriMeshDataDestroy

Physics.ODEImport

dGeomTriMeshDataSet

Physics.ODEImport

dGeomTriMeshDataUpdate

Physics.ODEImport

dGeomTriMeshEnableTC

Physics.ODEImport

dGeomTriMeshGetArrayCallback

Physics.ODEImport

dGeomTriMeshGetCallback

Physics.ODEImport

dGeomTriMeshGetData

Physics.ODEImport

dGeomTriMeshGetPoint

Physics.ODEImport

dGeomTriMeshGetRayCallback

Physics.ODEImport

dGeomTriMeshGetTriangle

Physics.ODEImport

dGeomTriMeshGetTriangleCount

Physics.ODEImport

dGeomTriMeshGetTriMeshDataID

Physics.ODEImport

dGeomTriMeshIsTCEnabled

Physics.ODEImport

dGeomTriMeshSetArrayCallback

Physics.ODEImport

dGeomTriMeshSetCallback

Physics.ODEImport

dGeomTriMeshSetData

Physics.ODEImport

dGeomTriMeshSetRayCallback

Physics.ODEImport

dHashSpaceClass

Physics.ODEImport

dHashSpaceCreate

Physics.ODEImport

dHashSpaceGetLevels

Physics.ODEImport

dHashSpaceSetLevels

Physics.ODEImport

dHeightFieldClass

Physics.ODEImport

dInfiniteAABB

Physics.ODEImport

dInitODE

Physics.ODEImport

added by PAR

dInitODE2

Physics.ODEImport

DisabledDebugCollision

Physics.ODEImport

DisabledDebugGeom

Physics.ODEImport

DISABLE_NODE

Formats.m3DSConst

DistanceBetweenAngles

GLS.VectorGeometry

Calculates the angular distance between two angles in radians. Result is in the [0; PI] range.

DistanceCueMax3DS

Formats.m3DSConst

minimum value for dimming factor

DistanceCueMin3DS

Formats.m3DSConst

maximum value for fogging plane density DISTANCE_CUE

DISTANCE_CUE

Formats.m3DSConst

Div2

GLS.Graphics

DivideVector

GLS.VectorGeometry

DivideVector

GLS.VectorGeometry

Divides given vector by another vector. v[x]:=v[x]/divider[x], v[y]:=v[y]/divider[y] etc.

DivMod

GLS.VectorGeometry

dJointAddAMotorTorques

Physics.ODEImport

dJointAddHinge2Torques

Physics.ODEImport

dJointAddHingeTorque

Physics.ODEImport

dJointAddPistonForce

Physics.ODEImport

dJointAddPRTorque

Physics.ODEImport

dJointAddSliderForce

Physics.ODEImport

dJointAddUniversalTorques

Physics.ODEImport

dJointAttach

Physics.ODEImport

dJointCorrectHinge2

Physics.ODEImport

dJointCreateAMotor

Physics.ODEImport

AMotor

dJointCreateBall

Physics.ODEImport

Ball

dJointCreateContact

Physics.ODEImport

Contact

dJointCreateFixed

Physics.ODEImport

Fixed

dJointCreateHinge

Physics.ODEImport

Hinge

dJointCreateHinge2

Physics.ODEImport

Hinge2

dJointCreateLMotor

Physics.ODEImport

LMotor

dJointCreatePiston

Physics.ODEImport

Piston

dJointCreatePlane2D

Physics.ODEImport

Plane2D

dJointCreatePR

Physics.ODEImport

PR

dJointCreateSlider

Physics.ODEImport

Slider

dJointCreateUniversal

Physics.ODEImport

Universal

dJointDestroy

Physics.ODEImport

dJointGetAMotorAngle

Physics.ODEImport

dJointGetAMotorAngleRate

Physics.ODEImport

dJointGetAMotorAxis

Physics.ODEImport

dJointGetAMotorAxisRel

Physics.ODEImport

dJointGetAMotorMode

Physics.ODEImport

dJointGetAMotorNumAxes

Physics.ODEImport

dJointGetAMotorParam

Physics.ODEImport

dJointGetBallAnchor

Physics.ODEImport

dJointGetBallAnchor2

Physics.ODEImport

dJointGetBody

Physics.ODEImport

dJointGetData

Physics.ODEImport

dJointGetFeedback

Physics.ODEImport

dJointGetHinge2Anchor

Physics.ODEImport

dJointGetHinge2Anchor2

Physics.ODEImport

dJointGetHinge2Angle1

Physics.ODEImport

dJointGetHinge2Angle1Rate

Physics.ODEImport

dJointGetHinge2Angle2Rate

Physics.ODEImport

dJointGetHinge2Axis1

Physics.ODEImport

dJointGetHinge2Axis2

Physics.ODEImport

dJointGetHinge2Param

Physics.ODEImport

dJointGetHingeAnchor

Physics.ODEImport

dJointGetHingeAnchor2

Physics.ODEImport

dJointGetHingeAngle

Physics.ODEImport

dJointGetHingeAngleRate

Physics.ODEImport

dJointGetHingeAxis

Physics.ODEImport

dJointGetHingeParam

Physics.ODEImport

dJointGetLMotorAxis

Physics.ODEImport

dJointGetLMotorNumAxes

Physics.ODEImport

dJointGetLMotorParam

Physics.ODEImport

dJointGetPistonAnchor

Physics.ODEImport

dJointGetPistonAnchor2

Physics.ODEImport

dJointGetPistonAngle

Physics.ODEImport

dJointGetPistonAngleRate

Physics.ODEImport

dJointGetPistonAxis

Physics.ODEImport

dJointGetPistonParam

Physics.ODEImport

dJointGetPistonPosition

Physics.ODEImport

dJointGetPistonRate

Physics.ODEImport

dJointGetPRAxis1

Physics.ODEImport

dJointGetPRAxis2

Physics.ODEImport

dJointGetPRParam

Physics.ODEImport

dJointGetSliderAxis

Physics.ODEImport

dJointGetSliderParam

Physics.ODEImport

dJointGetSliderPosition

Physics.ODEImport

dJointGetSliderPositionRate

Physics.ODEImport

dJointGetType

Physics.ODEImport

dJointGetUniversalAnchor

Physics.ODEImport

dJointGetUniversalAnchor2

Physics.ODEImport

dJointGetUniversalAngle1

Physics.ODEImport

dJointGetUniversalAngle1Rate

Physics.ODEImport

dJointGetUniversalAngle2

Physics.ODEImport

dJointGetUniversalAngle2Rate

Physics.ODEImport

dJointGetUniversalAxis1

Physics.ODEImport

dJointGetUniversalAxis2

Physics.ODEImport

dJointGetUniversalParam

Physics.ODEImport

dJointGroupCreate

Physics.ODEImport

dJointGroupDestroy

Physics.ODEImport

—– dJoint —– normal joints

dJointGroupEmpty

Physics.ODEImport

dJointSetAMotorAngle

Physics.ODEImport

dJointSetAMotorAxis

Physics.ODEImport

dJointSetAMotorMode

Physics.ODEImport

dJointSetAMotorNumAxes

Physics.ODEImport

dJointSetAMotorParam

Physics.ODEImport

dJointSetBallAnchor

Physics.ODEImport

dJointSetData

Physics.ODEImport

dJointSetFeedback

Physics.ODEImport

callback routines for feedback of joints

dJointSetFixed

Physics.ODEImport

dJointSetHinge2Anchor

Physics.ODEImport

dJointSetHinge2Axis1

Physics.ODEImport

dJointSetHinge2Axis2

Physics.ODEImport

dJointSetHinge2Param

Physics.ODEImport

dJointSetHingeAnchor

Physics.ODEImport

dJointSetHingeAxis

Physics.ODEImport

dJointSetHingeParam

Physics.ODEImport

dJointSetLMotorAxis

Physics.ODEImport

dJointSetLMotorNumAxes

Physics.ODEImport

dJointSetLMotorParam

Physics.ODEImport

dJointSetPistonAnchor

Physics.ODEImport

dJointSetPistonAxis

Physics.ODEImport

dJointSetPistonAxisDelta

Physics.ODEImport

dJointSetPistonParam

Physics.ODEImport

dJointSetPlane2DAngleParam

Physics.ODEImport

dJointSetPlane2DXParam

Physics.ODEImport

dJointSetPlane2DYParam

Physics.ODEImport

dJointSetPRAnchor

Physics.ODEImport

dJointSetPRAxis1

Physics.ODEImport

dJointSetPRAxis2

Physics.ODEImport

dJointSetPRParam

Physics.ODEImport

dJointSetSliderAxis

Physics.ODEImport

dJointSetSliderParam

Physics.ODEImport

dJointSetUniversalAnchor

Physics.ODEImport

dJointSetUniversalAxis1

Physics.ODEImport

dJointSetUniversalAxis2

Physics.ODEImport

dJointSetUniversalParam

Physics.ODEImport

dJOINT_INGROUP

Physics.ODEImport

These consts now have defined types if this flag is set, the joint was allocated in a joint group

dJOINT_REVERSE

Physics.ODEImport

if this flag is set, the joint was attached with arguments (0,body). our convention is to treat all attaches as (body,0), i.e. so node[0].body is always nonzero, so this flag records the fact that the arguments were swapped

dJOINT_TWOBODIES

Physics.ODEImport

if this flag is set, the joint can not have just one body attached to it, it must have either zero or two bodies attached

dLastSpaceClass

Physics.ODEImport

dLastUserClass

Physics.ODEImport

DLLocalShadow2FMax3DS

Formats.m3DSConst

minimum shadow map size

DLLocalShadow2FMin3DS

Formats.m3DSConst

maximum shadow map size

DLLocalShadow2SMax3DS

Formats.m3DSConst

minimum shadow map size

DLLocalShadow2SMin3DS

Formats.m3DSConst

maximum for hotspot and falloff cones DL_LOCAL_SHADOW2

dLong

Physics.NewtonImport

DLSpotlightMax3DS

Formats.m3DSConst

minimum for hotspot and falloff cones

DLSpotlightMin3DS

Formats.m3DSConst

maximum string length for axp process DL_SPOTLIGHT

DL_ATTENUATE

Formats.m3DSConst

DL_EXCLUDE

Formats.m3DSConst

DL_INNER_RANGE

Formats.m3DSConst

DL_LOCAL_SHADOW

Formats.m3DSConst

DL_LOCAL_SHADOW2

Formats.m3DSConst

DL_MULTIPLIER

Formats.m3DSConst

DL_OFF

Formats.m3DSConst

DL_OUTER_RANGE

Formats.m3DSConst

DL_RANGE

Formats.m3DSConst

DL_RAYSHAD

Formats.m3DSConst

DL_RAY_BIAS

Formats.m3DSConst

DL_SEE_CONE

Formats.m3DSConst

DL_SHADOWED

Formats.m3DSConst

DL_SPOTLIGHT

Formats.m3DSConst

DL_SPOT_ASPECT

Formats.m3DSConst

DL_SPOT_OVERSHOOT

Formats.m3DSConst

DL_SPOT_PROJECTOR

Formats.m3DSConst

DL_SPOT_RECTANGULAR

Formats.m3DSConst

DL_SPOT_ROLL

Formats.m3DSConst

Not used in R3

dMakeRandomMatrix

Physics.ODEImport

dMakeRandomVector

Physics.ODEImport

dMassAdd

Physics.ODEImport

dMassAdjust

Physics.ODEImport

dMassRotate

Physics.ODEImport

dMassSetBox

Physics.ODEImport

dMassSetBoxTotal

Physics.ODEImport

dMassSetCapsule

Physics.ODEImport

dMassSetCapsuleTotal

Physics.ODEImport

dMassSetCylinder

Physics.ODEImport

dMassSetCylinderTotal

Physics.ODEImport

dMassSetParameters

Physics.ODEImport

—– dMass —–

dMassSetSphere

Physics.ODEImport

dMassSetSphereTotal

Physics.ODEImport

dMassSetTrimesh

Physics.ODEImport

dMassSetTrimeshTotal

Physics.ODEImport

dMassSetZero

Physics.ODEImport

dMassTranslate

Physics.ODEImport

dMaxDifference

Physics.ODEImport

dMultiply0

Physics.ODEImport

dMULTIPLY0_331

Physics.ODEImport

dMULTIPLY0_333

Physics.ODEImport

dMultiply1

Physics.ODEImport

dMultiply2

Physics.ODEImport

dNormalize3

Physics.ODEImport

—– Math —–

dNormalize4

Physics.ODEImport

DoTesselate

GLS.PolygonTesselation

Tesselates the polygon outlined by the Vertexes. And adds them to the first facegroup of the Mesh.

DoubleElement

CUDA.DataAccess

DOWNLOADPROC

Sounds.BASSImport

User file stream callback function. action : The action to perform, one of BASS_FILE_xxx values. param1 : Depends on "action" param2 : Depends on "action" user : The 'user' parameter value given when calling BASS_StreamCreate RETURN : Depends on "action"

dParamBounce

Physics.ODEImport

dParamBounce1

Physics.ODEImport

dParamBounce2

Physics.ODEImport

dParamBounce3

Physics.ODEImport

dParamCFM

Physics.ODEImport

dParamCFM1

Physics.ODEImport

dParamCFM2

Physics.ODEImport

dParamCFM3

Physics.ODEImport

dParamERP

Physics.ODEImport

dParamERP1

Physics.ODEImport

dParamERP2

Physics.ODEImport

dParamERP3

Physics.ODEImport

dParamFMax

Physics.ODEImport

dParamFMax1

Physics.ODEImport

dParamFMax2

Physics.ODEImport

dParamFMax3

Physics.ODEImport

dParamFudgeFactor

Physics.ODEImport

dParamFudgeFactor1

Physics.ODEImport

dParamFudgeFactor2

Physics.ODEImport

dParamFudgeFactor3

Physics.ODEImport

dParamGroup

Physics.ODEImport

dParamGroup1

Physics.ODEImport

dParamGroup2

Physics.ODEImport

SECOND AXEL parameters for limits and motors

dParamGroup3

Physics.ODEImport

THIRD AXEL parameters for limits and motors

dParamHiStop

Physics.ODEImport

dParamHiStop1

Physics.ODEImport

dParamHiStop2

Physics.ODEImport

dParamHiStop3

Physics.ODEImport

dParamLoStop

Physics.ODEImport

dParamLoStop1

Physics.ODEImport

dParamLoStop2

Physics.ODEImport

dParamLoStop3

Physics.ODEImport

dParamStopCFM

Physics.ODEImport

dParamStopCFM1

Physics.ODEImport

dParamStopCFM2

Physics.ODEImport

dParamStopCFM3

Physics.ODEImport

dParamStopERP

Physics.ODEImport

dParamStopERP1

Physics.ODEImport

dParamStopERP2

Physics.ODEImport

dParamStopERP3

Physics.ODEImport

dParamSuspensionCFM

Physics.ODEImport

dParamSuspensionCFM1

Physics.ODEImport

dParamSuspensionCFM2

Physics.ODEImport

dParamSuspensionCFM3

Physics.ODEImport

dParamSuspensionERP

Physics.ODEImport

parameters for suspension

dParamSuspensionERP1

Physics.ODEImport

parameters for suspension

dParamSuspensionERP2

Physics.ODEImport

parameters for suspension

dParamSuspensionERP3

Physics.ODEImport

parameters for suspension

dParamVel

Physics.ODEImport

dParamVel1

Physics.ODEImport

dParamVel2

Physics.ODEImport

dParamVel3

Physics.ODEImport

dPlaneClass

Physics.ODEImport

dQFromAxisAndAngle

Physics.ODEImport

—– Rotation.h —–

dQfromR

Physics.ODEImport

dQMultiply0

Physics.ODEImport

dQMultiply1

Physics.ODEImport

dQMultiply2

Physics.ODEImport

dQMultiply3

Physics.ODEImport

dQSetIdentity

Physics.ODEImport

dQuadTreeSpaceClass

Physics.ODEImport

dQuadTreeSpaceCreate

Physics.ODEImport

dRandGetSeed

Physics.ODEImport

dRandInt

Physics.ODEImport

dRandReal

Physics.ODEImport

dRandSetSeed

Physics.ODEImport

DrawBox

Physics.ODEUtils

DrawContours

GLS.ROAMPatch

Draw contours on rendering terrain patches

DrawDibBegin

Formats.VFW

– DrawDibBegin() - prepare to draw —————————————–

DrawDibChangePalette

Formats.VFW

– DrawDibChangePalette() —————————————————

DrawDibClose

Formats.VFW

– DrawDibClose() ———————————————————–

DrawDibDraw

Formats.VFW

– DrawDibDraw() - actually draw a DIB to the screen ————————

DrawDibEnd

Formats.VFW

– DrawDibEnd() ————————————————————-

DrawDibGetBuffer

Formats.VFW

– DrawDibGetBuffer() ——————————————————-

DrawDibGetPalette

Formats.VFW

– DrawDibGetPalette() - get the palette used for drawing DIBs ————–

DrawDibOpen

Formats.VFW

– DrawDibOpen() ————————————————————

DrawDibProfileDisplay

Formats.VFW

...

DrawDibRealize

Formats.VFW

– DrawDibRealize() - realize the palette in a HDD ————————–

DrawDibSetPalette

Formats.VFW

– DrawDibSetPalette() - set the palette used for drawing DIBs ————–

DrawDibStart

Formats.VFW

– DrawDibStart() - start of streaming playback —————————–

DrawDibStop

Formats.VFW

– DrawDibStop() - start of streaming playback ——————————

DrawDibTime

Formats.VFW

DrawDibUpdate

Formats.VFW

– DrawDibUpdate() - redraw last image (may only be valid with DDF_BUFFER) –

DrawTexturedScreenQuad

GLSL.CustomShader

Probably need to give them proper names, instead of numbers...

DrawTexturedScreenQuad2

GLSL.CustomShader

DrawTexturedScreenQuad3

GLSL.CustomShader

DrawTexturedScreenQuad4

GLSL.CustomShader

DrawTexturedScreenQuad5

GLSL.CustomShader

DrawTexturedScreenQuad6

GLSL.CustomShader

dRayClass

Physics.ODEImport

dRFrom2Axes

Physics.ODEImport

dRFromAxisAndAngle

Physics.ODEImport

dRFromEulerAngles

Physics.ODEImport

dRfromQ

Physics.ODEImport

dRFromZAxis

Physics.ODEImport

dRSetIdentity

Physics.ODEImport

DSCAPS_CERTIFIED

Sounds.BASSImport

device does NOT have hardware DirectSound support

DSCAPS_CONTINUOUSRATE

Sounds.BASSImport

BASS_INFO flags (from DSOUND.H)

DSCAPS_EMULDRIVER

Sounds.BASSImport

supports all sample rates between min/maxrate

DSCAPS_SECONDARY16BIT

Sounds.BASSImport

8 bit

DSCAPS_SECONDARY8BIT

Sounds.BASSImport

stereo

DSCAPS_SECONDARYMONO

Sounds.BASSImport

The following flags tell what type of samples are supported by HARDWARE mixing, all these formats are supported by SOFTWARE mixing

DSCAPS_SECONDARYSTEREO

Sounds.BASSImport

mono

DSCCAPS_CERTIFIED

Sounds.BASSImport

device does NOT have hardware DirectSound recording support

DSCCAPS_EMULDRIVER

Sounds.BASSImport

16 bit BASS_RECORDINFO flags (from DSOUND.H)

dsDrawBox

Physics.ODEUtils

dsDrawBox

Physics.ODEUtils

dSimpleSpaceClass

Physics.ODEImport

dSimpleSpaceCreate

Physics.ODEImport

dSpaceAdd

Physics.ODEImport

dSpaceClean

Physics.ODEImport

dSpaceCollide

Physics.ODEImport

dSpaceCollide2

Physics.ODEImport

dSpaceDestroy

Physics.ODEImport

—– dSpace —–

dSpaceGetCleanup

Physics.ODEImport

dSpaceGetGeom

Physics.ODEImport

dSpaceGetNumGeoms

Physics.ODEImport

dSpaceQuery

Physics.ODEImport

dSpaceRemove

Physics.ODEImport

dSpaceSetCleanup

Physics.ODEImport

dSphereClass

Physics.ODEImport

DSPPROC

Sounds.BASSImport

Sync callback function. NOTE: a sync callback function should be very quick as other syncs cannot be processed until it has finished. If the sync is a "mixtime" sync, then other streams and MOD musics can not be mixed until it's finished either. handle : The sync that has occured channel: Channel that the sync occured in data : Additional data associated with the sync's occurance user : The 'user' parameter given when calling BASS_ChannelSetSync

DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ALLPARAMETERS

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_DEFERRED

Sounds.OpenALImport

changes take effect immediately

DSPROPERTY_EAXBUFFER_DIRECT

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_DIRECTHF

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_FLAG

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_IMMEDIATE

Sounds.OpenALImport

OR these flags with property id

DSPROPERTY_EAXBUFFER_NONE

Sounds.OpenALImport

For compatibility with future EAX versions: DSPROPSETID_EAX_BufferProperties = DSPROPSETID_EAX20_BufferProperties; Enumeration DSPROPERTY_EAX_BUFFERPROPERTY

DSPROPERTY_EAXBUFFER_OBSTRUCTION

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OCCLUSION

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ROOM

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ROOMHF

Sounds.OpenALImport

DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ALLPARAMETERS

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_DECAYHFRATIO

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_DECAYTIME

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_DEFERRED

Sounds.OpenALImport

changes take effect immediately

DSPROPERTY_EAXLISTENER_ENVIRONMENT

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_FLAGS

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_IMMEDIATE

Sounds.OpenALImport

OR these flags with property id

DSPROPERTY_EAXLISTENER_NONE

Sounds.OpenALImport

For compatibility with future EAX versions: DSPROPSETID_EAX_ListenerProperties = DSPROPSETID_EAX20_ListenerProperties; DSPROPSETID_EAX_SourceProperties = DSPROPSETID_EAX20_BufferProperties; Enumerations DSPROPERTY_EAX_LISTENERPROPERTY

DSPROPERTY_EAXLISTENER_REFLECTIONS

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_REVERB

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_REVERBDELAY

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ROOM

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ROOMHF

Sounds.OpenALImport

DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR

Sounds.OpenALImport

DSPROPERTY_EAX_BUFFERPROPERTY

Sounds.OpenALImport

DSPROPERTY_EAX_LISTENERPROPERTY

Sounds.OpenALImport

EAX extension

DSPROPSETID_EAX20_BufferProperties

Sounds.OpenALImport

DSPROPSETID_EAX20_ListenerProperties

Sounds.OpenALImport

END EFX extension EAX extension

dSweepAndPruneSpaceClass

Physics.ODEImport

dTestMatrixComparison

Physics.ODEImport

dTestRand

Physics.ODEImport

return 1 if the random number generator is working.

dTestSolveLCP

Physics.ODEImport

DTriangle

GLS.Triangulation

Created Triangles, vv# are the vertex pointers

dTriMeshClass

Physics.ODEImport

DUMMY

Formats.m3DSConst

Dummy Chunk that sometimes appears in 3DS files created by prerelease 3D Studio R2

DummyName3DS

Formats.m3DSConst

DumpChunk

Formats.m3DSUtils

DumpKeyHeader

Formats.m3DSUtils

dVector3Length

Physics.ODEUtils

dVector3Length

Physics.ODEUtils

DVertex

GLS.Triangulation

Points (Vertices)

DVM_CONFIGURE_END

Formats.VFW

DVM_CONFIGURE_START

Formats.VFW

DVM_DST_RECT

Formats.VFW

DVM_FORMAT

Formats.VFW

DVM_PALETTE

Formats.VFW

DVM_PALETTERGB555

Formats.VFW

DVM_SRC_RECT

Formats.VFW

DVM_USER

Formats.VFW

== Configure messages =======================================================

DV_ERR_13

Formats.VFW

DV_ERR_ALLOCATED

Formats.VFW

out of memory

DV_ERR_BADDEVICEID

Formats.VFW

device is allocated

DV_ERR_BADERRNUM

Formats.VFW

DV_ERR_BADFORMAT

Formats.VFW

DV_ERR_BADINSTALL

Formats.VFW

HW not detected

DV_ERR_BASE

Formats.VFW

No error

DV_ERR_CONFIG1

Formats.VFW

DV_ERR_CONFIG2

Formats.VFW

DV_ERR_CREATEPALETTE

Formats.VFW

Can not get Profile

DV_ERR_DMA_CONFLICT

Formats.VFW

I/O conflict detected

DV_ERR_FLAGS

Formats.VFW

DV_ERR_INT_CONFLICT

Formats.VFW

DMA conflict detected

DV_ERR_INVALHANDLE

Formats.VFW

DV_ERR_IO_CONFLICT

Formats.VFW

Mem conflict detected

DV_ERR_LASTERROR

Formats.VFW

Can not run in standard mode

DV_ERR_MEM_CONFLICT

Formats.VFW

out of buffers

DV_ERR_NOMEM

Formats.VFW

function not suported

DV_ERR_NONSPECIFIC

Formats.VFW

Error Base

DV_ERR_NOTDETECTED

Formats.VFW

number of channels exceeded

DV_ERR_NOTSUPPORTED

Formats.VFW

DV_ERR_NO_BUFFERS

Formats.VFW

DV_ERR_OK

Formats.VFW

– Error return values ——————————————————

DV_ERR_PARAM1

Formats.VFW

DV_ERR_PARAM2

Formats.VFW

DV_ERR_PROTECT_ONLY

Formats.VFW

Interrupt conflict detected

DV_ERR_SIZEFIELD

Formats.VFW

DV_ERR_STILLPLAYING

Formats.VFW

unsupported video format

DV_ERR_SYNC

Formats.VFW

header not prepared

DV_ERR_TOOMANYCHANNELS

Formats.VFW

device is synchronous

DV_ERR_UNPREPARED

Formats.VFW

still something playing

DV_ERR_USER_MSG

Formats.VFW

DV_VM_CLOSE

Formats.VFW

Obsolete messages

DV_VM_DATA

Formats.VFW

DV_VM_ERROR

Formats.VFW

DV_VM_OPEN

Formats.VFW

Note that the values for all installable driver callback messages are identical, (ie. MM_DRVM_DATA has the same value for capture drivers, installable video codecs, and the audio compression manager).

DWord

SDL2.Import

DWORD

Sounds.BASSImport

dWorldCreate

Physics.ODEImport

—– dWorld —–

dWorldDestroy

Physics.ODEImport

dWorldExportDIF

Physics.ODEImport

dWorldGetAngularDamping

Physics.ODEImport

dWorldGetAngularDampingThreshold

Physics.ODEImport

dWorldGetAutoDisableAngularAverageThreshold

Physics.ODEImport

dWorldGetAutoDisableAngularThreshold

Physics.ODEImport

dWorldGetAutoDisableAverageSamplesCount

Physics.ODEImport

dWorldGetAutoDisableFlag

Physics.ODEImport

dWorldGetAutoDisableLinearAverageThreshold

Physics.ODEImport

Auto-disable functions

dWorldGetAutoDisableLinearThreshold

Physics.ODEImport

dWorldGetAutoDisableSteps

Physics.ODEImport

dWorldGetAutoDisableTime

Physics.ODEImport

dWorldGetCFM

Physics.ODEImport

dWorldGetContactMaxCorrectingVel

Physics.ODEImport

dWorldGetContactSurfaceLayer

Physics.ODEImport

dWorldGetERP

Physics.ODEImport

dWorldGetGravity

Physics.ODEImport

dWorldGetLinearDamping

Physics.ODEImport

dWorldGetLinearDampingThreshold

Physics.ODEImport

Damping

dWorldGetMaxAngularSpeed

Physics.ODEImport

dWorldGetQuickStepNumIterations

Physics.ODEImport

dWorldGetQuickStepW

Physics.ODEImport

dWorldImpulseToForce

Physics.ODEImport

dWorldQuickStep

Physics.ODEImport

QuickStep

dWorldSetAngularDamping

Physics.ODEImport

dWorldSetAngularDampingThreshold

Physics.ODEImport

dWorldSetAutoDisableAngularAverageThreshold

Physics.ODEImport

dWorldSetAutoDisableAngularThreshold

Physics.ODEImport

dWorldSetAutoDisableAverageSamplesCount

Physics.ODEImport

dWorldSetAutoDisableFlag

Physics.ODEImport

dWorldSetAutoDisableLinearAverageThreshold

Physics.ODEImport

dWorldSetAutoDisableLinearThreshold

Physics.ODEImport

dWorldSetAutoDisableSteps

Physics.ODEImport

dWorldSetAutoDisableTime

Physics.ODEImport

dWorldSetCFM

Physics.ODEImport

dWorldSetContactMaxCorrectingVel

Physics.ODEImport

dWorldSetContactSurfaceLayer

Physics.ODEImport

dWorldSetDamping

Physics.ODEImport

dWorldSetERP

Physics.ODEImport

dWorldSetGravity

Physics.ODEImport

dWorldSetLinearDamping

Physics.ODEImport

dWorldSetLinearDampingThreshold

Physics.ODEImport

dWorldSetMaxAngularSpeed

Physics.ODEImport

dWorldSetQuickStepNumIterations

Physics.ODEImport

dWorldSetQuickStepW

Physics.ODEImport

dWorldStep

Physics.ODEImport

Step

DW_ERROR

Sounds.BASSImport

Use these to test for error from functions that return a DWORD or QWORD

dxBodyDisabled

Physics.ODEImport

use finite rotations only along axis

dxBodyFlagFiniteRotation

Physics.ODEImport

These consts now have defined types

dxBodyFlagFiniteRotationAxis

Physics.ODEImport

use finite rotations

dxBodyNoGravity

Physics.ODEImport

body is disabled

DXGI_FORMAT_A8_UNORM

Formats.DXTC

DXGI_FORMAT_B5G5R5A1_UNORM

Formats.DXTC

DXGI_FORMAT_B5G6R5_UNORM

Formats.DXTC

DXGI_FORMAT_B8G8R8A8_TYPELESS

Formats.DXTC

DXGI_FORMAT_B8G8R8A8_UNORM

Formats.DXTC

DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_B8G8R8X8_TYPELESS

Formats.DXTC

DXGI_FORMAT_B8G8R8X8_UNORM

Formats.DXTC

DXGI_FORMAT_B8G8R8X8_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_BC1_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC1_UNORM

Formats.DXTC

DXGI_FORMAT_BC1_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_BC2_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC2_UNORM

Formats.DXTC

DXGI_FORMAT_BC2_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_BC3_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC3_UNORM

Formats.DXTC

DXGI_FORMAT_BC3_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_BC4_SNORM

Formats.DXTC

DXGI_FORMAT_BC4_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC4_UNORM

Formats.DXTC

DXGI_FORMAT_BC5_SNORM

Formats.DXTC

DXGI_FORMAT_BC5_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC5_UNORM

Formats.DXTC

DXGI_FORMAT_BC6H_SF16

Formats.DXTC

DXGI_FORMAT_BC6H_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC6H_UF16

Formats.DXTC

DXGI_FORMAT_BC7_TYPELESS

Formats.DXTC

DXGI_FORMAT_BC7_UNORM

Formats.DXTC

DXGI_FORMAT_BC7_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_D16_UNORM

Formats.DXTC

DXGI_FORMAT_D24_UNORM_S8_UINT

Formats.DXTC

DXGI_FORMAT_D32_FLOAT

Formats.DXTC

DXGI_FORMAT_D32_FLOAT_S8X24_UINT

Formats.DXTC

DXGI_FORMAT_FORCE_UINT

Formats.DXTC

TDXGI_FORMAT = (

DXGI_FORMAT_G8R8_G8B8_UNORM

Formats.DXTC

DXGI_FORMAT_R10G10B10A2_TYPELESS

Formats.DXTC

DXGI_FORMAT_R10G10B10A2_UINT

Formats.DXTC

DXGI_FORMAT_R10G10B10A2_UNORM

Formats.DXTC

DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM

Formats.DXTC

DXGI_FORMAT_R11G11B10_FLOAT

Formats.DXTC

DXGI_FORMAT_R16G16B16A16_FLOAT

Formats.DXTC

DXGI_FORMAT_R16G16B16A16_SINT

Formats.DXTC

DXGI_FORMAT_R16G16B16A16_SNORM

Formats.DXTC

DXGI_FORMAT_R16G16B16A16_TYPELESS

Formats.DXTC

DXGI_FORMAT_R16G16B16A16_UINT

Formats.DXTC

DXGI_FORMAT_R16G16B16A16_UNORM

Formats.DXTC

DXGI_FORMAT_R16G16_FLOAT

Formats.DXTC

DXGI_FORMAT_R16G16_SINT

Formats.DXTC

DXGI_FORMAT_R16G16_SNORM

Formats.DXTC

DXGI_FORMAT_R16G16_TYPELESS

Formats.DXTC

DXGI_FORMAT_R16G16_UINT

Formats.DXTC

DXGI_FORMAT_R16G16_UNORM

Formats.DXTC

DXGI_FORMAT_R16_FLOAT

Formats.DXTC

DXGI_FORMAT_R16_SINT

Formats.DXTC

DXGI_FORMAT_R16_SNORM

Formats.DXTC

DXGI_FORMAT_R16_TYPELESS

Formats.DXTC

DXGI_FORMAT_R16_UINT

Formats.DXTC

DXGI_FORMAT_R16_UNORM

Formats.DXTC

DXGI_FORMAT_R1_UNORM

Formats.DXTC

DXGI_FORMAT_R24G8_TYPELESS

Formats.DXTC

DXGI_FORMAT_R24_UNORM_X8_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32G32B32A32_FLOAT

Formats.DXTC

DXGI_FORMAT_R32G32B32A32_SINT

Formats.DXTC

DXGI_FORMAT_R32G32B32A32_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32G32B32A32_UINT

Formats.DXTC

DXGI_FORMAT_R32G32B32_FLOAT

Formats.DXTC

DXGI_FORMAT_R32G32B32_SINT

Formats.DXTC

DXGI_FORMAT_R32G32B32_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32G32B32_UINT

Formats.DXTC

DXGI_FORMAT_R32G32_FLOAT

Formats.DXTC

DXGI_FORMAT_R32G32_SINT

Formats.DXTC

DXGI_FORMAT_R32G32_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32G32_UINT

Formats.DXTC

DXGI_FORMAT_R32G8X24_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32_FLOAT

Formats.DXTC

DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32_SINT

Formats.DXTC

DXGI_FORMAT_R32_TYPELESS

Formats.DXTC

DXGI_FORMAT_R32_UINT

Formats.DXTC

DXGI_FORMAT_R8G8B8A8_SINT

Formats.DXTC

DXGI_FORMAT_R8G8B8A8_SNORM

Formats.DXTC

DXGI_FORMAT_R8G8B8A8_TYPELESS

Formats.DXTC

DXGI_FORMAT_R8G8B8A8_UINT

Formats.DXTC

DXGI_FORMAT_R8G8B8A8_UNORM

Formats.DXTC

DXGI_FORMAT_R8G8B8A8_UNORM_SRGB

Formats.DXTC

DXGI_FORMAT_R8G8_B8G8_UNORM

Formats.DXTC

DXGI_FORMAT_R8G8_SINT

Formats.DXTC

DXGI_FORMAT_R8G8_SNORM

Formats.DXTC

DXGI_FORMAT_R8G8_TYPELESS

Formats.DXTC

DXGI_FORMAT_R8G8_UINT

Formats.DXTC

DXGI_FORMAT_R8G8_UNORM

Formats.DXTC

DXGI_FORMAT_R8_SINT

Formats.DXTC

DXGI_FORMAT_R8_SNORM

Formats.DXTC

DXGI_FORMAT_R8_TYPELESS

Formats.DXTC

DXGI_FORMAT_R8_UINT

Formats.DXTC

DXGI_FORMAT_R8_UNORM

Formats.DXTC

DXGI_FORMAT_R9G9B9E5_SHAREDEXP

Formats.DXTC

DXGI_FORMAT_UNKNOWN

Formats.DXTC

DXGI_FORMAT_X24_TYPELESS_G8_UINT

Formats.DXTC

DXGI_FORMAT_X32_TYPELESS_G8X24_UINT

Formats.DXTC

DXT3AlphaBlock

Formats.DXTC

DXT5AlphaBlock

Formats.DXTC

DXTColBlock

Formats.DXTC

EAXBUFFERFLAGS_DIRECTHFAUTO

Sounds.OpenALImport

Used by DSPROPERTY_EAXBUFFER_FLAGS TRUE: value is computed automatically - property is an offset FALSE: value is used directly
Note: The number and order of flags may change in future EAX versions. To insure future compatibility, use flag defines as follows: myFlags = EAXBUFFERFLAGS_DIRECTHFAUTO | EAXBUFFERFLAGS_ROOMAUTO; instead of: myFlags = 0x00000003;

EAXBUFFERFLAGS_RESERVED

Sounds.OpenALImport

affects DSPROPERTY_EAXBUFFER_ROOMHF

EAXBUFFERFLAGS_ROOMAUTO

Sounds.OpenALImport

affects DSPROPERTY_EAXBUFFER_DIRECTHF

EAXBUFFERFLAGS_ROOMHFAUTO

Sounds.OpenALImport

affects DSPROPERTY_EAXBUFFER_ROOM

EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR

Sounds.OpenALImport

EAXBUFFER_DEFAULTDIRECT

Sounds.OpenALImport

EAXBUFFER_DEFAULTDIRECTHF

Sounds.OpenALImport

EAXBUFFER_DEFAULTFLAGS

Sounds.OpenALImport

EAXBUFFER_DEFAULTOBSTRUCTION

Sounds.OpenALImport

EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO

Sounds.OpenALImport

EAXBUFFER_DEFAULTOCCLUSION

Sounds.OpenALImport

EAXBUFFER_DEFAULTOCCLUSIONLFRATIO

Sounds.OpenALImport

EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO

Sounds.OpenALImport

EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF

Sounds.OpenALImport

EAXBUFFER_DEFAULTROOM

Sounds.OpenALImport

EAXBUFFER_DEFAULTROOMHF

Sounds.OpenALImport

EAXBUFFER_DEFAULTROOMROLLOFFFACTOR

Sounds.OpenALImport

EAXBUFFER_MAXAIRABSORPTIONFACTOR

Sounds.OpenALImport

EAXBUFFER_MAXDIRECT

Sounds.OpenALImport

EAXBUFFER_MAXDIRECTHF

Sounds.OpenALImport

EAXBUFFER_MAXOBSTRUCTION

Sounds.OpenALImport

EAXBUFFER_MAXOBSTRUCTIONLFRATIO

Sounds.OpenALImport

EAXBUFFER_MAXOCCLUSION

Sounds.OpenALImport

EAXBUFFER_MAXOCCLUSIONLFRATIO

Sounds.OpenALImport

EAXBUFFER_MAXOCCLUSIONROOMRATIO

Sounds.OpenALImport

EAXBUFFER_MAXOUTSIDEVOLUMEHF

Sounds.OpenALImport

EAXBUFFER_MAXROOM

Sounds.OpenALImport

EAXBUFFER_MAXROOMHF

Sounds.OpenALImport

EAXBUFFER_MAXROOMROLLOFFFACTOR

Sounds.OpenALImport

EAXBUFFER_MINAIRABSORPTIONFACTOR

Sounds.OpenALImport

EAXBUFFER_MINDIRECT

Sounds.OpenALImport

reserved future use property ranges and defaults:

EAXBUFFER_MINDIRECTHF

Sounds.OpenALImport

EAXBUFFER_MINOBSTRUCTION

Sounds.OpenALImport

EAXBUFFER_MINOBSTRUCTIONLFRATIO

Sounds.OpenALImport

EAXBUFFER_MINOCCLUSION

Sounds.OpenALImport

EAXBUFFER_MINOCCLUSIONLFRATIO

Sounds.OpenALImport

EAXBUFFER_MINOCCLUSIONROOMRATIO

Sounds.OpenALImport

EAXBUFFER_MINOUTSIDEVOLUMEHF

Sounds.OpenALImport

EAXBUFFER_MINROOM

Sounds.OpenALImport

EAXBUFFER_MINROOMHF

Sounds.OpenALImport

EAXBUFFER_MINROOMROLLOFFFACTOR

Sounds.OpenALImport

EAXGet

Sounds.OpenALImport

EAXGetBufferMode

Sounds.OpenALImport

EAXLISTENERFLAGS_DECAYHFLIMIT

Sounds.OpenALImport

late reverberation delay time This flag limits high-frequency decay time according to air absorption.

EAXLISTENERFLAGS_DECAYTIMESCALE

Sounds.OpenALImport

Used by DSPROPERTY_EAXLISTENER_FLAGS
Note: The number and order of flags may change in future EAX versions. It is recommended to use the flag defines as follows: myFlags = EAXLISTENERFLAGS_DECAYTIMESCALE | EAXLISTENERFLAGS_REVERBSCALE; instead of: myFlags = 0x00000009;
These flags determine what properties are affected by environment size.

EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE

Sounds.OpenALImport

reflection level

EAXLISTENERFLAGS_REFLECTIONSSCALE

Sounds.OpenALImport

reverberation decay time

EAXLISTENERFLAGS_RESERVED

Sounds.OpenALImport

EAXLISTENERFLAGS_REVERBDELAYSCALE

Sounds.OpenALImport

reflections level

EAXLISTENERFLAGS_REVERBSCALE

Sounds.OpenALImport

initial reflection delay time

EAXLISTENER_DEFAULTAIRABSORPTIONHF

Sounds.OpenALImport

EAXLISTENER_DEFAULTDECAYHFRATIO

Sounds.OpenALImport

EAXLISTENER_DEFAULTDECAYTIME

Sounds.OpenALImport

EAXLISTENER_DEFAULTENVIRONMENT

Sounds.OpenALImport

EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION

Sounds.OpenALImport

EAXLISTENER_DEFAULTENVIRONMENTSIZE

Sounds.OpenALImport

EAXLISTENER_DEFAULTFLAGS

Sounds.OpenALImport

EAXLISTENER_DEFAULTREFLECTIONS

Sounds.OpenALImport

EAXLISTENER_DEFAULTREFLECTIONSDELAY

Sounds.OpenALImport

EAXLISTENER_DEFAULTREVERB

Sounds.OpenALImport

EAXLISTENER_DEFAULTREVERBDELAY

Sounds.OpenALImport

EAXLISTENER_DEFAULTROOM

Sounds.OpenALImport

EAXLISTENER_DEFAULTROOMHF

Sounds.OpenALImport

EAXLISTENER_DEFAULTROOMROLLOFFFACTOR

Sounds.OpenALImport

EAXLISTENER_MAXAIRABSORPTIONHF

Sounds.OpenALImport

EAXLISTENER_MAXDECAYHFRATIO

Sounds.OpenALImport

EAXLISTENER_MAXDECAYTIME

Sounds.OpenALImport

EAXLISTENER_MAXENVIRONMENT

Sounds.OpenALImport

EAXLISTENER_MAXENVIRONMENTDIFFUSION

Sounds.OpenALImport

EAXLISTENER_MAXENVIRONMENTSIZE

Sounds.OpenALImport

EAXLISTENER_MAXREFLECTIONS

Sounds.OpenALImport

EAXLISTENER_MAXREFLECTIONSDELAY

Sounds.OpenALImport

EAXLISTENER_MAXREVERB

Sounds.OpenALImport

EAXLISTENER_MAXREVERBDELAY

Sounds.OpenALImport

EAXLISTENER_MAXROOM

Sounds.OpenALImport

EAXLISTENER_MAXROOMHF

Sounds.OpenALImport

EAXLISTENER_MAXROOMROLLOFFFACTOR

Sounds.OpenALImport

EAXLISTENER_MINAIRABSORPTIONHF

Sounds.OpenALImport

EAXLISTENER_MINDECAYHFRATIO

Sounds.OpenALImport

EAXLISTENER_MINDECAYTIME

Sounds.OpenALImport

EAXLISTENER_MINENVIRONMENT

Sounds.OpenALImport

EAXLISTENER_MINENVIRONMENTDIFFUSION

Sounds.OpenALImport

EAXLISTENER_MINENVIRONMENTSIZE

Sounds.OpenALImport

EAXLISTENER_MINREFLECTIONS

Sounds.OpenALImport

EAXLISTENER_MINREFLECTIONSDELAY

Sounds.OpenALImport

EAXLISTENER_MINREVERB

Sounds.OpenALImport

EAXLISTENER_MINREVERBDELAY

Sounds.OpenALImport

EAXLISTENER_MINROOM

Sounds.OpenALImport

reserved future use property ranges and defaults:

EAXLISTENER_MINROOMHF

Sounds.OpenALImport

EAXLISTENER_MINROOMROLLOFFFACTOR

Sounds.OpenALImport

EAXSet

Sounds.OpenALImport

EAX functions

EAXSetBufferMode

Sounds.OpenALImport

X-RAM functions

EAX_ENVIRONMENT_ALLEY

Sounds.BASSImport

EAX_ENVIRONMENT_ALLEY

Sounds.OpenALImport

EAX_ENVIRONMENT_ARENA

Sounds.BASSImport

EAX_ENVIRONMENT_ARENA

Sounds.OpenALImport

EAX_ENVIRONMENT_AUDITORIUM

Sounds.BASSImport

EAX_ENVIRONMENT_AUDITORIUM

Sounds.OpenALImport

EAX_ENVIRONMENT_BATHROOM

Sounds.BASSImport

EAX_ENVIRONMENT_BATHROOM

Sounds.OpenALImport

EAX_ENVIRONMENT_CARPETEDHALLWAY

Sounds.BASSImport

EAX_ENVIRONMENT_CARPETEDHALLWAY

Sounds.OpenALImport

EAX_ENVIRONMENT_CAVE

Sounds.BASSImport

EAX_ENVIRONMENT_CAVE

Sounds.OpenALImport

EAX_ENVIRONMENT_CITY

Sounds.BASSImport

EAX_ENVIRONMENT_CITY

Sounds.OpenALImport

EAX_ENVIRONMENT_CONCERTHALL

Sounds.BASSImport

EAX_ENVIRONMENT_CONCERTHALL

Sounds.OpenALImport

EAX_ENVIRONMENT_COUNT

Sounds.BASSImport

total number of environments

EAX_ENVIRONMENT_COUNT

Sounds.OpenALImport

EAX_ENVIRONMENT_DIZZY

Sounds.BASSImport

EAX_ENVIRONMENT_DIZZY

Sounds.OpenALImport

EAX_ENVIRONMENT_DRUGGED

Sounds.BASSImport

EAX_ENVIRONMENT_DRUGGED

Sounds.OpenALImport

EAX_ENVIRONMENT_FOREST

Sounds.BASSImport

EAX_ENVIRONMENT_FOREST

Sounds.OpenALImport

EAX_ENVIRONMENT_GENERIC

Sounds.BASSImport

EAX environments, use with BASS_SetEAXParameters

EAX_ENVIRONMENT_GENERIC

Sounds.OpenALImport

used by DSPROPERTY_EAXLISTENER_ENVIRONMENT Enummetation

EAX_ENVIRONMENT_HALLWAY

Sounds.BASSImport

EAX_ENVIRONMENT_HALLWAY

Sounds.OpenALImport

EAX_ENVIRONMENT_HANGAR

Sounds.BASSImport

EAX_ENVIRONMENT_HANGAR

Sounds.OpenALImport

EAX_ENVIRONMENT_LIVINGROOM

Sounds.BASSImport

EAX_ENVIRONMENT_LIVINGROOM

Sounds.OpenALImport

EAX_ENVIRONMENT_MOUNTAINS

Sounds.BASSImport

EAX_ENVIRONMENT_MOUNTAINS

Sounds.OpenALImport

EAX_ENVIRONMENT_PADDEDCELL

Sounds.BASSImport

EAX_ENVIRONMENT_PADDEDCELL

Sounds.OpenALImport

EAX_ENVIRONMENT_PARKINGLOT

Sounds.BASSImport

EAX_ENVIRONMENT_PARKINGLOT

Sounds.OpenALImport

EAX_ENVIRONMENT_PLAIN

Sounds.BASSImport

EAX_ENVIRONMENT_PLAIN

Sounds.OpenALImport

EAX_ENVIRONMENT_PSYCHOTIC

Sounds.BASSImport

EAX_ENVIRONMENT_PSYCHOTIC

Sounds.OpenALImport

EAX_ENVIRONMENT_QUARRY

Sounds.BASSImport

EAX_ENVIRONMENT_QUARRY

Sounds.OpenALImport

EAX_ENVIRONMENT_ROOM

Sounds.BASSImport

EAX_ENVIRONMENT_ROOM

Sounds.OpenALImport

EAX_ENVIRONMENT_SEWERPIPE

Sounds.BASSImport

EAX_ENVIRONMENT_SEWERPIPE

Sounds.OpenALImport

EAX_ENVIRONMENT_STONECORRIDOR

Sounds.BASSImport

EAX_ENVIRONMENT_STONECORRIDOR

Sounds.OpenALImport

EAX_ENVIRONMENT_STONEROOM

Sounds.BASSImport

EAX_ENVIRONMENT_STONEROOM

Sounds.OpenALImport

EAX_ENVIRONMENT_UNDERWATER

Sounds.BASSImport

EAX_ENVIRONMENT_UNDERWATER

Sounds.OpenALImport

EAX_MATERIAL_BRICKWALL

Sounds.OpenALImport

Brick wall material preset

EAX_MATERIAL_BRICKWALLLF

Sounds.OpenALImport

EAX_MATERIAL_BRICKWALLROOMRATIO

Sounds.OpenALImport

EAX_MATERIAL_CURTAIN

Sounds.OpenALImport

Curtain material preset

EAX_MATERIAL_CURTAINLF

Sounds.OpenALImport

EAX_MATERIAL_CURTAINROOMRATIO

Sounds.OpenALImport

EAX_MATERIAL_DOUBLEWINDOW

Sounds.OpenALImport

Double window material preset

EAX_MATERIAL_DOUBLEWINDOWHF

Sounds.OpenALImport

EAX_MATERIAL_DOUBLEWINDOWROOMRATIO

Sounds.OpenALImport

EAX_MATERIAL_SINGLEWINDOW

Sounds.OpenALImport

Material transmission presets 3 values in this order: 1: occlusion (or obstruction) 2: occlusion LF Ratio (or obstruction LF Ratio) 3: occlusion Room Ratio Single window material preset

EAX_MATERIAL_SINGLEWINDOWLF

Sounds.OpenALImport

EAX_MATERIAL_SINGLEWINDOWROOMRATIO

Sounds.OpenALImport

EAX_MATERIAL_STONEWALL

Sounds.OpenALImport

Stone wall material preset

EAX_MATERIAL_STONEWALLLF

Sounds.OpenALImport

EAX_MATERIAL_STONEWALLROOMRATIO

Sounds.OpenALImport

EAX_MATERIAL_THICKDOOR

Sounds.OpenALImport

Thick door material preset

EAX_MATERIAL_THICKDOORLF

Sounds.OpenALImport

EAX_MATERIAL_THICKDOORROOMRTATION

Sounds.OpenALImport

EAX_MATERIAL_THINDOOR

Sounds.OpenALImport

Thin door material preset

EAX_MATERIAL_THINDOORLF

Sounds.OpenALImport

EAX_MATERIAL_THINDOORROOMRATIO

Sounds.OpenALImport

EAX_MATERIAL_WOODWALL

Sounds.OpenALImport

Wood wall material preset

EAX_MATERIAL_WOODWALLLF

Sounds.OpenALImport

EAX_MATERIAL_WOODWALLROOMRATIO

Sounds.OpenALImport

ECAddBox

GLS.DCE

Add a TriMesh box

ECAddEllipsoid

GLS.DCE

Add a static ellipsoid

ECAddFreeForm

GLS.DCE

Add freeform's octree data

ECAddTerrain

GLS.DCE

Add the terrain as a TriMesh

ECgBombShaderException

Cg.BombShader

ECgShaderException

Cg.Shader

Define OutputCompilerWarnings to output Cg compiler warnings to a file. Useful for detecting bugs caused by using uninitialized value, implicit type cast, etc.

ECResetColliders

GLS.DCE

Set the collider lists to null

ECSetCollisionRange

GLS.DCE

———————- DCE Misc functions ————————— Calculate and set the collision range

EDDSException

Formats.DDSImage

EditGLTextureImage

GLS.TextureImageEditors

Invokes the editor for the given TGLTextureImage

EditStreamClone

Formats.VFW

EditStreamCopy

Formats.VFW

EditStreamCut

Formats.VFW

EditStreamPaste

Formats.VFW

EditStreamSetInfo

Formats.VFW

EditStreamSetInfoA

Formats.VFW

EditStreamSetInfoW

Formats.VFW

EditStreamSetName

Formats.VFW

EditStreamSetInfoA

EditStreamSetNameA

Formats.VFW

EditStreamSetNameW

Formats.VFW

EFFECTS_SELECTED

FmSceneEditor

EFilerException

GLS.PersistentClasses

Usually triggered when a filing error is detected.

EFilerException

GLS.XCollection

EFXEAXREVERBPROPERTIES

Sounds.OpenALImport

EFXLOWPASSFILTER

Sounds.OpenALImport

EFXUtilLibHandle

Sounds.OpenALImport

EGLAtmosphereException

GLS.Atmosphere

EGLCameraController

GLS.CameraController

EGLConsoleException

GLS.Console

EGLContext

GLS.Context

EGLCustomShaderException

GLSL.CustomShader

EGLFile3DS

GLS.File3DS

EGLImageUtils

GLS.ImageUtils

EGLMotionBlurException

GLS.Blur

EGLOBJFileError

GLS.FileOBJ

EGLOSError

GLS.Utils

EGLPostShaderHolderException

GLSL.PostEffects

EGLProxyException

GLS.ProxyObjects

EGLROAMException

GLS.ROAMPatch

Exception use by splitter for SafeTesselation

EGLShader

GLS.Context

EGLShaderException

GLS.Texture

EGLSLBumpShaderException

GLSL.BumpShaders

EGLSLDiffuseSpecularShaderException

GLSL.DiffuseSpecularShader

EGLSLShaderException

GLSL.Shader

EGLUtilsException

GLS.Utils

EInvalidArchiveFile

GLS.ArchiveManager

EInvalidFileSignature

GLS.PersistentClasses

Triggered when file signature does not match.

EInvalidRasterFile

GLS.Graphics

EInvalidVectorFile

GLS.VectorFileObjects

EiselLemireStringToDouble

PasDblStrUtils

EiselLemireStringToDouble

PasDblStrUtils

EmptyHmgMatrix

GLS.VectorGeometry

EmptyMatrix

GLS.VectorGeometry

EncodeGLTextureTarget

GLS.TextureFormat

EndFPUOnlySection

GLS.VectorGeometry

Ends a FPU-only section. See BeginFPUOnlySection

ENVL_CHAN

Formats.LWO

SPAN

ENVL_KEY

Formats.LWO

POST

ENVL_NAME

Formats.LWO

CHAN

ENVL_POST

Formats.LWO

PRE-BEHAVIOUR

ENVL_PRE

Formats.LWO

ICON

ENVL_SPAN

Formats.LWO

KEY

EOpenALError

Sounds.OpenAL

EOpenGLError

GLS.OpenGLAdapter

EPasJSONMergeError

PasJSON

EPasJSONSyntaxError

PasJSON

EPBuffer

GLS.Context

EPSILON

GLS.VectorGeometry

Some very small numbers

EPSILON2

GLS.VectorGeometry

ERROR_INVALID_PROFILE_ARB

GLS.OpenGLTokens

ERROR_INVALID_VERSION_ARB

GLS.OpenGLTokens

ERR_MAX_ARGS

SDL2.Import

ERR_MAX_STRLEN

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_error.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

ESDLError

GLS.SDLWindow

Generic SDL or SDLWindow exception

ETexture

GLS.Texture

ETextureCombinerError

GLS.TextureCombiners

ETGAException

GLS.FileTGA

EvalPolynom

GLS.Polynomials

Computes polynom's value for given x

ExponateCrap

GLS.Perlin

The function returning some integer based on the rootˆexponant concept, result is crap and is only for "random" usage... eg perlin.

ExPtTolerance

GLS.Triangulation

ExtendedFrustumIntersectsBSphere

GLS.SpacePartition

Determines if a extended frustum intersects an BSphere

ExtendedFrustumMake

GLS.SpacePartition

Create an extended frustum from a number of values

ExtendedFrustumMakeFromSceneViewer

GLS.SpacePartition

ExtendedFrustumMakeFromSceneViewer

GLS.SpacePartition

Create an extended frustum from a GLSceneViewer - this makes the unit specific to the windows platform!

ExtractAABBCorners

GLS.GeometryBB

Extract the corners from an AABB

ExtractFrustumFromModelViewProjection

GLS.VectorGeometry

Extracts a TFrustum for combined modelview and projection matrices

EZBufferException

GLS.zBuffer

FaceABVisable3DS

Formats.m3DSConst

flags the BC edge as visible

FaceArrayMin3DS

Formats.m3DSConst

minimum number of vertices FACE_ARRAY

FaceBCVisable3DS

Formats.m3DSConst

flags the CA edge as visible

FaceCAVisable3DS

Formats.m3DSConst

—————- Constants for commonly used structures ——————– Flags used by the flag field of the Mesh3DS structure

FacesSmooth

GLS.MeshBuilder

FaceUWrap3DS

Formats.m3DSConst

flags the AB edge as visible

FaceVWrap3DS

Formats.m3DSConst

flags the face as being at a texture coord u wrap seam

FACE_ARRAY

Formats.m3DSConst

FACE_ARRAY_ENTRY

Formats.m3DSConst

FACE_POLYGON

Formats.Q3BSP

FallbackStringToDouble

PasDblStrUtils

FallbackStringToDouble

PasDblStrUtils

FallTrackTagMax3DS

Formats.m3DSConst

Minimum fall off angle

FallTrackTagMin3DS

Formats.m3DSConst

Maximum hot spot angle FALL_TRACK_TAG_KEY

FALL_TRACK_TAG

Formats.m3DSConst

FALL_TRACK_TAG_KEY

Formats.m3DSConst

FastArcTangent2

GLS.VectorGeometry

Fast ArcTangent2 approximation, about 0.07 rads accuracy

FastCheckCubeVsCube

GLS.Collision

FastCheckCubeVsEllipsoid

GLS.Collision

FastCheckCubeVsFace

GLS.Collision

FastCheckCubeVsPoint

GLS.Collision

FastCheckCubeVsSphere

GLS.Collision

FastCheckEllipsoidVsCube

GLS.Collision

FastCheckEllipsoidVsEllipsoid

GLS.Collision

FastCheckEllipsoidVsPoint

GLS.Collision

FastCheckEllipsoidVsSphere

GLS.Collision

FastCheckFaceVsCube

GLS.Collision

experimental

FastCheckFaceVsFace

GLS.Collision

experimental

FastCheckPointVsCube

GLS.Collision

FastCheckPointVsEllipsoid

GLS.Collision

FastCheckPointVsPoint

GLS.Collision

Fast Collision detection routines that are heavily specialized and just return a boolean

FastCheckPointVsSphere

GLS.Collision

FastCheckSphereVsCube

GLS.Collision

FastCheckSphereVsEllipsoid

GLS.Collision

FastCheckSphereVsPoint

GLS.Collision

FastCheckSphereVsSphere

GLS.Collision

FastQuickSortLists

GLS.VectorLists

Sort the refList in ascending order, ordering objList on the way. Use if, and *ONLY* if refList contains only values superior or equal to 1

FAST_NODE

Formats.m3DSConst

FileAttrStrMax3DS

Formats.m3DSConst

3DS file attributes

FILECLOSEPROC

Sounds.BASSImport

User file stream callback functions

FILELENPROC

Sounds.BASSImport

FileNameStrMax3DS

Formats.m3DSConst

————– constants that define various value ranges for specific chunks 3DS filename

FILEREADPROC

Sounds.BASSImport

FILESEEKPROC

Sounds.BASSImport

FileStreamExists

GLS.ApplicationFileIO

Queries is a file stream corresponding to the fileName exists.

FillUniformAutoSetMethodList

GLSL.ShaderParameter

FillUniformAutoSetMethodList

GLSL.ShaderParameter

FindChunk

Formats.m3DSUtils

FindChunkById

Formats.LWO

ChunkFind procedures

FindClipByClipIndex

Formats.LWO

FindCompatibleDataFormat

GLS.TextureFormat

Give compatible openGL image format and data type

FindCuFile

CUDA.PropEditors

FindDDSCompatibleDataFormat

Formats.DXTC

FindGLTextureImageClass

GLS.Texture

Finds a registerer TGLTextureImageClass using its classname

FindGLTextureImageClassByFriendlyName

GLS.Texture

Finds a registerer TGLTextureImageClass using its FriendlyName

FindManager

GLS.Manager

FindNamedObjectByIndex

Formats.m3DSUtils

FindNextChunk

Formats.m3DSUtils

FindRoot

GLS.Polynomials

Finds a root between min and max with a precision of epsilon. The evaluation of min/max must be of opposit sign

FindSurfaceByName

Formats.LWO

FindSurfaceByTag

Formats.LWO

FindUnitName

GLS.Utils

FindUnitName

GLS.Utils

FindVMapByName

Formats.LWO

FindXCollectionItemClass

GLS.XCollection

Retrieves a registered TXCollectionItemClass from its classname

FindXMLNode

GLS.CrossXML

FIND_ANY

Formats.VFW

find key frame.

FIND_DIR

Formats.VFW

– Flags for AVIStreamFindSample ——————————————–

FIND_FORMAT

Formats.VFW

find any (non-empty) sample

FIND_FROM_START

Formats.VFW

go backward

FIND_INDEX

Formats.VFW

return physical size

FIND_KEY

Formats.VFW

type mask

FIND_LENGTH

Formats.VFW

return logical position

FIND_NEXT

Formats.VFW

direction

FIND_OFFSET

Formats.VFW

return logical size

FIND_POS

Formats.VFW

return mask

FIND_PREV

Formats.VFW

go forward

FIND_RET

Formats.VFW

find format change

FIND_SIZE

Formats.VFW

return physical position

FIND_TYPE

Formats.VFW

start at the logical beginning

FixPathDelimiter

GLS.Utils

Replace path delimiter to delimiter of the current platform.

flip_blocks_dxtc1

Formats.DXTC

flip_blocks_dxtc3

Formats.DXTC

flip_blocks_dxtc5

Formats.DXTC

flip_dxt5_alpha

Formats.DXTC

Float

Physics.NewtonImport

Float

SDL2.Import

Float2rgbe

GLS.RGBE

FloatElement

CUDA.DataAccess

FloatPercentageMax3DS

Formats.m3DSConst

Maximum integer percentage FLOAT_PERCENTAGE

FloatToHalf

GLS.Utils

FLOAT_PERCENTAGE

Formats.m3DSConst

FMOD_DLL

Sounds.FMODImport

FMOD_ErrorString

Sounds.FMODerrors

Disable warning for unsafe types in Delphi 7

FMOD_Load

Sounds.FMODImport

If no library name is passed to FMOD_Load, then the default library name used. These are stub functions.

FMOD_Unload

Sounds.FMODImport

FMOD_VERSION

Sounds.FMODtypes

Force four-byte enums

FMUSIC_FreeSong

Sounds.FMODImport

FMUSIC_GetBPM

Sounds.FMODImport

FMUSIC_GetGlobalVolume

Sounds.FMODImport

FMUSIC_GetMasterVolume

Sounds.FMODImport

FMUSIC_GetName

Sounds.FMODImport

Static song information functions.

FMUSIC_GetNumChannels

Sounds.FMODImport

FMUSIC_GetNumInstruments

Sounds.FMODImport

FMUSIC_GetNumOrders

Sounds.FMODImport

FMUSIC_GetNumPatterns

Sounds.FMODImport

FMUSIC_GetNumSamples

Sounds.FMODImport

FMUSIC_GetOpenState

Sounds.FMODImport

FMUSIC_GetOrder

Sounds.FMODImport

FMUSIC_GetPattern

Sounds.FMODImport

FMUSIC_GetPatternLength

Sounds.FMODImport

FMUSIC_GetPaused

Sounds.FMODImport

FMUSIC_GetRealChannel

Sounds.FMODImport

FMUSIC_GetRow

Sounds.FMODImport

FMUSIC_GetSample

Sounds.FMODImport

FMUSIC_GetSpeed

Sounds.FMODImport

FMUSIC_GetTime

Sounds.FMODImport

FMUSIC_GetType

Sounds.FMODImport

FMUSIC_GetUserData

Sounds.FMODImport

FMUSIC_IsFinished

Sounds.FMODImport

Runtime song information.

FMUSIC_IsPlaying

Sounds.FMODImport

FMUSIC_LoadSong

Sounds.FMODImport

Song management / playback functions.

FMUSIC_LoadSongEx

Sounds.FMODImport

FMUSIC_OptimizeChannels

Sounds.FMODImport

FMUSIC_PlaySong

Sounds.FMODImport

FMUSIC_SetInstCallback

Sounds.FMODImport

FMUSIC_SetLooping

Sounds.FMODImport

FMUSIC_SetMasterSpeed

Sounds.FMODImport

FMUSIC_SetMasterVolume

Sounds.FMODImport

FMUSIC_SetOrder

Sounds.FMODImport

FMUSIC_SetOrderCallback

Sounds.FMODImport

FMUSIC_SetPanSeperation

Sounds.FMODImport

FMUSIC_SetPaused

Sounds.FMODImport

FMUSIC_SetReverb

Sounds.FMODImport

Runtime song functions.

FMUSIC_SetRowCallback

Sounds.FMODImport

FMUSIC_SetSample

Sounds.FMODImport

FMUSIC_SetUserData

Sounds.FMODImport

FMUSIC_SetZxxCallback

Sounds.FMODImport

FMUSIC_StopAllSongs

Sounds.FMODImport

FMUSIC_StopSong

Sounds.FMODImport

FOG

Formats.m3DSConst

FogMax3DS

Formats.m3DSConst

minimum value for fogging plane density

FogMin3DS

Formats.m3DSConst

maximum value for gradient midpoint FOG chunk

FOG_BGND

Formats.m3DSConst

FontManager

GLS.SpaceText

FONT_CHARS_COUNT

GLS.Utils

formtypeAVI

Formats.VFW

– form types, list types and chunk types ———————————–

FOURCC_A16B16G16R16

Formats.DXTC

FOURCC_A16B16G16R16F

Formats.DXTC

FOURCC_A1R5G5B5

Formats.DXTC

FOURCC_A2B10G10R10

Formats.DXTC

FOURCC_A2R10G10B10

Formats.DXTC

FOURCC_A32B32G32R32F

Formats.DXTC

FOURCC_A4L4

Formats.DXTC

FOURCC_A4R4G4B4

Formats.DXTC

FOURCC_A8

Formats.DXTC

FOURCC_A8B8G8R8

Formats.DXTC

FOURCC_A8L8

Formats.DXTC

FOURCC_A8R3G3B2

Formats.DXTC

FOURCC_A8R8G8B8

Formats.DXTC

FOURCC_ATI1

Formats.DXTC

FOURCC_ATI2

Formats.DXTC

FOURCC_D16

Formats.DXTC

FOURCC_D16_LOCKABLE

Formats.DXTC

FOURCC_D24X8

Formats.DXTC

FOURCC_D32

Formats.DXTC

FOURCC_D32F_LOCKABLE

Formats.DXTC

FOURCC_DX10

Formats.DXTC

DX10 header indicator

FOURCC_DXT1

Formats.DXTC

FOURCC_DXT2

Formats.DXTC

FOURCC_DXT3

Formats.DXTC

FOURCC_DXT4

Formats.DXTC

FOURCC_DXT5

Formats.DXTC

FOURCC_G16R16

Formats.DXTC

FOURCC_G16R16F

Formats.DXTC

FOURCC_G32R32F

Formats.DXTC

FOURCC_L16

Formats.DXTC

FOURCC_L8

Formats.DXTC

FOURCC_R16F

Formats.DXTC

Floating point surface formats s10e5 formats (16-bits per channel)

FOURCC_R32F

Formats.DXTC

IEEE s23e8 formats (32-bits per channel)

FOURCC_R3G3B2

Formats.DXTC

FOURCC_R5G6B5

Formats.DXTC

FOURCC_R8G8B8

Formats.DXTC

FOURCC_UNKNOWN

Formats.DXTC

FOURCC_X1R5G5B5

Formats.DXTC

FOURCC_X4R4G4B4

Formats.DXTC

FOURCC_X8B8G8R8

Formats.DXTC

FOURCC_X8R8G8B8

Formats.DXTC

FOVTrackTagMax3DS

Formats.m3DSConst

Minimum camera FOV

FOVTrackTagMin3DS

Formats.m3DSConst

Maximum color value FOV_TRACK_TAG_KEY

FOV_TRACK_TAG

Formats.m3DSConst

FOV_TRACK_TAG_KEY

Formats.m3DSConst

FractalMiddlePointHDS

GLS.RandomHDS

Random HDS functions

FreeChunkData

Formats.m3DSUtils

FromHex

Formats.VFW

– Macro to get stream number out of a FOURCC ckid ————————–

FrustumContainsAABB

GLS.GeometryBB

Determines to which extent a frustum contains an AABB

FrustumContainsBSphere

GLS.GeometryBB

Determines to which extent a frustum contains a BSphere

FSOUND_16BITS

Sounds.FMODtypes

For 8 bit samples.

FSOUND_2D

Sounds.FMODtypes

Attempts to make samples use 3d hardware acceleration. (if the card supports it)

FSOUND_3D_GetAttributes

Sounds.FMODImport

FSOUND_3D_GetMinMaxDistance

Sounds.FMODImport

FSOUND_3D_Listener_GetAttributes

Sounds.FMODImport

FSOUND_3D_Listener_SetAttributes

Sounds.FMODImport

FSOUND_3D_Listener_SetCurrent

Sounds.FMODImport

See also 3d sample and channel based functions above. Call FSOUND_Update once a frame to process 3d information.

FSOUND_3D_SetAttributes

Sounds.FMODImport

FSOUND_3D_SetDistanceFactor

Sounds.FMODImport

FSOUND_3D_SetDopplerFactor

Sounds.FMODImport

FSOUND_3D_SetMinMaxDistance

Sounds.FMODImport

FSOUND_3D_SetRolloffFactor

Sounds.FMODImport

FSOUND_8BITS

Sounds.FMODtypes

For bidirectional looping samples. (no effect if in hardware).

FSOUND_ALL

Sounds.FMODtypes

value to allocate a sample that is NOT managed by FSOUND or placed in a sample slot.

FSOUND_CAPS_EAX2

Sounds.FMODtypes

This driver supports hardware accelerated 3d sound.

FSOUND_CAPS_EAX3

Sounds.FMODtypes

This driver supports EAX 2 reverb

FSOUND_CAPS_HARDWARE

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_CAPS
[DESCRIPTION] Driver description bitfields. Use FSOUND_Driver_GetCaps to determine if a driver enumerated has the settings you are after. The enumerated driver depends on the output mode, see FSOUND_OUTPUTTYPES
[SEE_ALSO] FSOUND_GetDriverCaps FSOUND_OUTPUTTYPES ]

FSOUND_CD_GetNumTracks

Sounds.FMODImport

FSOUND_CD_GetPaused

Sounds.FMODImport

FSOUND_CD_GetTrack

Sounds.FMODImport

FSOUND_CD_GetTrackLength

Sounds.FMODImport

FSOUND_CD_GetTrackTime

Sounds.FMODImport

FSOUND_CD_GetVolume

Sounds.FMODImport

FSOUND_CD_OpenTray

Sounds.FMODImport

FSOUND_CD_Play

Sounds.FMODImport

Note : 0 = default cdrom. Otherwise specify the drive letter, for example. 'D'.

FSOUND_CD_PLAYCONTINUOUS

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_CDPLAYMODES
[DESCRIPTION] Playback method for a CD Audio track, using FSOUND_CD_SetPlayMode
[SEE_ALSO] FSOUND_CD_SetPlayMode FSOUND_CD_Play ]

FSOUND_CD_PLAYLOOPED

Sounds.FMODtypes

Plays the specified track then stops.

FSOUND_CD_PLAYONCE

Sounds.FMODtypes

Starts from the current track and plays to end of CD.

FSOUND_CD_PLAYRANDOM

Sounds.FMODtypes

Plays the specified track looped, forever until stopped manually.

FSOUND_CD_SetPaused

Sounds.FMODImport

FSOUND_CD_SetPlayMode

Sounds.FMODImport

FSOUND_CD_SetTrackTime

Sounds.FMODImport

FSOUND_CD_SetVolume

Sounds.FMODImport

FSOUND_CD_Stop

Sounds.FMODImport

FSOUND_Close

Sounds.FMODImport

FSOUND_DELTA

Sounds.FMODtypes

For user created source data containing signed data.

FSOUND_DSP_ClearMixBuffer

Sounds.FMODImport

FSOUND_DSP_Create

Sounds.FMODImport

DSP Unit control and information functions.

FSOUND_DSP_DEFAULTPRIORITY_CLEARUNIT

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_DSP_PRIORITIES
[DESCRIPTION] These default priorities are used by FMOD internal system DSP units. They describe the position of the DSP chain, and the order of how audio processing is executed. You can actually through the use of FSOUND_DSP_GetxxxUnit (where xxx is the name of the DSP unit), disable or even change the priority of a DSP unit.
[SEE_ALSO] FSOUND_DSP_Create FSOUND_DSP_SetPriority FSOUND_DSP_GetSpectrum ]

FSOUND_DSP_DEFAULTPRIORITY_CLIPANDCOPYUNIT

Sounds.FMODtypes

This reads data for FSOUND_DSP_GetSpectrum, so it comes after user units

FSOUND_DSP_DEFAULTPRIORITY_FFTUNIT

Sounds.FMODtypes

User priority, use this as reference for your own DSP units

FSOUND_DSP_DEFAULTPRIORITY_MUSICUNIT

Sounds.FMODtypes

DSP SFX unit - done second

FSOUND_DSP_DEFAULTPRIORITY_SFXUNIT

Sounds.FMODtypes

DSP CLEAR unit - done first

FSOUND_DSP_DEFAULTPRIORITY_USER

Sounds.FMODtypes

DSP MUSIC unit - done third

FSOUND_DSP_Free

Sounds.FMODImport

FSOUND_DSP_GetActive

Sounds.FMODImport

FSOUND_DSP_GetBufferLength

Sounds.FMODImport

FSOUND_DSP_GetBufferLengthTotal

Sounds.FMODImport

Length of each DSP update

FSOUND_DSP_GetClearUnit

Sounds.FMODImport

Functions to get hold of FSOUND 'system DSP unit' handles.

FSOUND_DSP_GetClipAndCopyUnit

Sounds.FMODImport

FSOUND_DSP_GetFFTUnit

Sounds.FMODImport

FSOUND_DSP_GetMusicUnit

Sounds.FMODImport

FSOUND_DSP_GetPriority

Sounds.FMODImport

FSOUND_DSP_GetSFXUnit

Sounds.FMODImport

FSOUND_DSP_GetSpectrum

Sounds.FMODImport

Total buffer length due to FSOUND_SetBufferSize

FSOUND_DSP_MixBuffers

Sounds.FMODImport

Miscellaneous DSP functions Note for the spectrum analysis function to work, you have to enable the FFT DSP unit with the following code FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit(), TRUE); It is off by default to save cpu usage.

FSOUND_DSP_SetActive

Sounds.FMODImport

FSOUND_DSP_SetPriority

Sounds.FMODImport

FSOUND_ENABLEFX

Sounds.FMODtypes

2D hardware sounds. allows hardware specific effects

FSOUND_File_SetCallbacks

Sounds.FMODImport

FSOUND_FORCEMONO

Sounds.FMODtypes

For FSOUND_Stream_OpenFile - for accurate FSOUND_Stream_GetLengthMs/FSOUND_Stream_SetTime. WARNING, see FSOUND_Stream_OpenFile for inital opening time performance issues.

FSOUND_FORMAT_MPEG

Sounds.FMODtypes

FSOUND_FORMAT_OGGVORBIS

Sounds.FMODtypes

FSOUND_FREE

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_CHANNELSAMPLEMODE
[DESCRIPTION] Miscellaneous values for FMOD functions.
[SEE_ALSO] FSOUND_PlaySound FSOUND_PlaySoundEx FSOUND_Sample_Alloc FSOUND_Sample_Load FSOUND_SetPan ]

FSOUND_FX_Disable

Sounds.FMODImport

FSOUND_FX_Enable

Sounds.FMODImport

Functions to control DX8 only effects processing.
- FX enabled samples can only be played once at a time, not multiple times at once. - Sounds have to be created with FSOUND_HW2D or FSOUND_HW3D for this to work. - FSOUND_INIT_ENABLESYSTEMCHANNELFX can be used to apply hardware effect processing to the global mixed output of FMOD's software channels. - FSOUND_FX_Enable returns an FX handle that you can use to alter fx parameters. - FSOUND_FX_Enable can be called multiple times in a row, even on the same FX type, it will return a unique handle for each FX. - FSOUND_FX_Enable cannot be called if the sound is playing or locked. - FSOUND_FX_Disable must be called to reset/clear the FX from a channel.

FSOUND_FX_SetChorus

Sounds.FMODImport

FSOUND_FX_SetCompressor

Sounds.FMODImport

FSOUND_FX_SetDistortion

Sounds.FMODImport

FSOUND_FX_SetEcho

Sounds.FMODImport

FSOUND_FX_SetFlanger

Sounds.FMODImport

FSOUND_FX_SetGargle

Sounds.FMODImport

FSOUND_FX_SetI3DL2Reverb

Sounds.FMODImport

FSOUND_FX_SetParamEQ

Sounds.FMODImport

FSOUND_FX_SetWavesReverb

Sounds.FMODImport

FSOUND_GCADPCM

Sounds.FMODtypes

For FSOUND_Stream_OpenFile - Causes stream to open in the background and not block the foreground app - stream plays only when ready.

FSOUND_GetAmplitude

Sounds.FMODImport

FSOUND_GetChannelsPlaying

Sounds.FMODImport

FSOUND_GetCPUUsage

Sounds.FMODImport

FSOUND_GetCurrentLevels

Sounds.FMODImport

FSOUND_GetCurrentPosition

Sounds.FMODImport

FSOUND_GetCurrentSample

Sounds.FMODImport

FSOUND_GetDriver

Sounds.FMODImport

FSOUND_GetDriverCaps

Sounds.FMODImport

FSOUND_GetDriverName

Sounds.FMODImport

FSOUND_GetError

Sounds.FMODImport

System information functions

FSOUND_GetFrequency

Sounds.FMODImport

FSOUND_GetLoopMode

Sounds.FMODImport

FSOUND_GetMaxChannels

Sounds.FMODImport

FSOUND_GetMaxSamples

Sounds.FMODImport

FSOUND_GetMemoryStats

Sounds.FMODImport

FSOUND_GetMixer

Sounds.FMODImport

FSOUND_GetMute

Sounds.FMODImport

FSOUND_GetNumDrivers

Sounds.FMODImport

FSOUND_GetNumHWChannels

Sounds.FMODImport

FSOUND_GetNumSubChannels

Sounds.FMODImport

FSOUND_GetOutput

Sounds.FMODImport

FSOUND_GetOutputHandle

Sounds.FMODImport

FSOUND_GetOutputRate

Sounds.FMODImport

FSOUND_GetPan

Sounds.FMODImport

FSOUND_GetPaused

Sounds.FMODImport

FSOUND_GetPriority

Sounds.FMODImport

FSOUND_GetReserved

Sounds.FMODImport

FSOUND_GetSFXMasterVolume

Sounds.FMODImport

function FSOUND_GetSpeakerMode: Integer; {$IFDEF UNIX} cdecl {$ELSE} stdcall {$ENDIF};

FSOUND_GetSubChannel

Sounds.FMODImport

FSOUND_GetSurround

Sounds.FMODImport

FSOUND_GetVersion

Sounds.FMODImport

FSOUND_GetVolume

Sounds.FMODImport

FSOUND_HW2D

Sounds.FMODtypes

For forcing stereo streams and samples to be mono - needed if using FSOUND_HW3D and stereo data - incurs a small speed hit for streams

FSOUND_HW3D

Sounds.FMODtypes

For user created source data stored using IT215 compression.

FSOUND_Init

Sounds.FMODImport

Main initialization / closedown functions. Note : Use FSOUND_INIT_USEDEFAULTMIDISYNTH with FSOUND_Init for software override with MIDI playback. : Use FSOUND_INIT_GLOBALFOCUS with FSOUND_Init to make sound audible no matter which window is in focus. (FSOUND_OUTPUT_DSOUND only)

FSOUND_INIT_ACCURATEVULEVELS

Sounds.FMODtypes

For DirectSound output - Allows FSOUND_FX api to be used on global software mixer output!

FSOUND_INIT_DONTLATENCYADJUST

Sounds.FMODtypes

PS2 only - By default FMOD uses DMA CH0 for mixing, CH1 for uploads, this flag swaps them around.

FSOUND_INIT_DSOUND_DEFERRED

Sounds.FMODtypes

PS2 only - Turns on volume ramping system to remove hardware clicks.

FSOUND_INIT_DSOUND_HRTF_FULL

Sounds.FMODtypes

Win32 only - For DirectSound output. FSOUND_HW3D buffers use a slightly higher quality algorithm when 3d hardware acceleration is not present.

FSOUND_INIT_DSOUND_HRTF_LIGHT

Sounds.FMODtypes

Win32 only - For DirectSound output. 3D commands are batched together and executed at FSOUND_Update.

FSOUND_INIT_ENABLESYSTEMCHANNELFX

Sounds.FMODtypes

For DirectSound output - sound is not muted when window is out of focus.

FSOUND_INIT_GC_INITLIBS

Sounds.FMODtypes

Callbacks are not latency adjusted, and are called at mix time. Also information functions are immediate.

FSOUND_INIT_GLOBALFOCUS

Sounds.FMODtypes

Causes MIDI playback to force software decoding.

FSOUND_INIT_PS2_DISABLECORE0REVERB

Sounds.FMODtypes

This latency adjusts FSOUND_GetCurrentLevels, but incurs a small cpu and memory hit.

FSOUND_INIT_PS2_DISABLECORE1REVERB

Sounds.FMODtypes

PS2 only - Disable reverb on CORE 0 to regain SRAM.

FSOUND_INIT_PS2_SWAPDMACORES

Sounds.FMODtypes

PS2 only - Disable reverb on CORE 1 to regain SRAM.

FSOUND_INIT_PS2_USEVOLUMERAMPING

Sounds.FMODtypes

Turns off fmod streamer thread, and makes streaming update from FSOUND_Update called by the user.

FSOUND_INIT_PSP_SILENCEONUNDERRUN

Sounds.FMODtypes

XBox only - By default directsound attenuates all sound by 6db to avoid clipping/distortion. CAUTION. If you use this flag you are responsible for the final mix to make sure clipping / distortion doesn't happen.

FSOUND_INIT_STREAM_FROM_MAIN_THREAD

Sounds.FMODtypes

Gamecube only - Initializes GC audio libraries.

FSOUND_INIT_USEDEFAULTMIDISYNTH

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_INIT_FLAGS
[DESCRIPTION] Initialization flags. Use them with FSOUND_Init in the flags parameter to change various behaviour.
FSOUND_INIT_ENABLESYSTEMCHANNELFX Is an init mode which enables the FSOUND mixer buffer to be affected by DirectX 8 effects. Note that due to limitations of DirectSound, FSOUND_Init may fail if this is enabled because the buffersize is too small. This can be fixed with FSOUND_SetBufferSize. Increase the BufferSize until it works. When it is enabled you can use the FSOUND_FX api, and use FSOUND_SYSTEMCHANNEL as the channel id when setting parameters.
[SEE_ALSO] FSOUND_Init ]

FSOUND_INIT_XBOX_REMOVEHEADROOM

Sounds.FMODtypes

Win32 only - For DirectSound output. FSOUND_HW3D buffers use full quality 3d playback when 3d hardware acceleration is not present.

FSOUND_IsPlaying

Sounds.FMODImport

Channel information functions

FSOUND_IT214

Sounds.FMODtypes

For user created source data stored as delta values.

FSOUND_IT215

Sounds.FMODtypes

For user created source data stored using IT214 compression.

FSOUND_LOADMEMORY

Sounds.FMODtypes

For a streamimg sound where you feed the data to it. */

FSOUND_LOADMEMORYIOP

Sounds.FMODtypes

For PS2 only - Sample/Stream is forced to use hardware voices 24-47

FSOUND_LOADRAW

Sounds.FMODtypes

"name" will be interpreted as a pointer to data for streaming and samples.

FSOUND_LOOP_BIDI

Sounds.FMODtypes

For forward looping samples.

FSOUND_LOOP_NORMAL

Sounds.FMODtypes

For non looping samples.

FSOUND_LOOP_OFF

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_MODES
[DESCRIPTION] Sample description bitfields, OR them together for loading and describing samples. NOTE. If the file format being loaded already has a defined format, such as WAV or MP3, then trying to override the pre-defined format with a new set of format flags will not work. For example, an 8 bit WAV file will not load as 16bit if you specify FSOUND_16BITS. It will just ignore the flag and go ahead loading it as 8bits. For these type of formats the only flags you can specify that will really alter the behaviour of how it is loaded, are the following.
Looping behaviour - FSOUND_LOOP_OFF, FSOUND_LOOP_NORMAL, FSOUND_LOOP_BIDI Load destination - FSOUND_HW3D, FSOUND_HW2D, FSOUND_2D Loading behaviour - FSOUND_NONBLOCKING, FSOUND_LOADMEMORY, FSOUND_LOADRAW, FSOUND_MPEGACCURATE, FSOUND_MPEGHALFRATE, FSOUND_FORCEMONO Playback behaviour - FSOUND_STREAMABLE, FSOUND_ENABLEFX PlayStation 2 only - FSOUND_USECORE0, FSOUND_USECORE1, FSOUND_LOADMEMORYIOP
See flag descriptions for what these do. ]

FSOUND_MONO

Sounds.FMODtypes

For 16 bit samples.

FSOUND_MPEGACCURATE

Sounds.FMODtypes

Will ignore file format and treat as raw pcm.

FSOUND_MPEGHALFRATE

Sounds.FMODtypes

Allows DX8 FX to be played back on a sound. Requires DirectX 8 - Note these sounds cannot be played more than once, be 8 bit, be less than a certain size, or have a changing frequency

FSOUND_MULTICHANNEL

Sounds.FMODtypes

For Gamecube only - Contents are compressed as Gamecube DSP-ADPCM format

FSOUND_NONBLOCKING

Sounds.FMODtypes

For PS2 only - Contents are compressed as Sony VAG format */

FSOUND_NORMAL

Sounds.FMODtypes

For PS2 only - "name" will be interpreted as a pointer to data for streaming and samples. The address provided will be an IOP address

FSOUND_PlaySound

Sounds.FMODImport

Playing and stopping sounds. Note : Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you. Use FSOUND_ALL as the 'channel' variable to control ALL channels with one function call!

FSOUND_PlaySoundEx

Sounds.FMODImport

FSOUND_PRESET_ALLEY

Sounds.FMODpresets

FSOUND_PRESET_ARENA

Sounds.FMODpresets

FSOUND_PRESET_AUDITORIUM

Sounds.FMODpresets

FSOUND_PRESET_BATHROOM

Sounds.FMODpresets

FSOUND_PRESET_CARPETTEDHALLWAY

Sounds.FMODpresets

FSOUND_PRESET_CAVE

Sounds.FMODpresets

FSOUND_PRESET_CITY

Sounds.FMODpresets

FSOUND_PRESET_CONCERTHALL

Sounds.FMODpresets

FSOUND_PRESET_DIZZY

Sounds.FMODpresets

FSOUND_PRESET_DRUGGED

Sounds.FMODpresets

Non I3DL2 presets

FSOUND_PRESET_FOREST

Sounds.FMODpresets

FSOUND_PRESET_GENERIC

Sounds.FMODpresets

FSOUND_PRESET_HALLWAY

Sounds.FMODpresets

FSOUND_PRESET_HANGAR

Sounds.FMODpresets

FSOUND_PRESET_LIVINGROOM

Sounds.FMODpresets

FSOUND_PRESET_MOUNTAINS

Sounds.FMODpresets

FSOUND_PRESET_OFF

Sounds.FMODpresets

[DEFINE_START] [ [NAME] FSOUND_REVERB_PRESETS
[DESCRIPTION] A set of predefined environment PARAMETERS, created by Creative Labs These are used to initialize an FSOUND_REVERB_PROPERTIES structure statically. ie FSOUND_REVERB_PROPERTIES prop = FSOUND_PRESET_GENERIC;
[SEE_ALSO] FSOUND_Reverb_SetProperties ]

FSOUND_PRESET_PADDEDCELL

Sounds.FMODpresets

FSOUND_PRESET_PARKINGLOT

Sounds.FMODpresets

FSOUND_PRESET_PLAIN

Sounds.FMODpresets

FSOUND_PRESET_PSYCHOTIC

Sounds.FMODpresets

FSOUND_PRESET_QUARRY

Sounds.FMODpresets

FSOUND_PRESET_ROOM

Sounds.FMODpresets

FSOUND_PRESET_SEWERPIPE

Sounds.FMODpresets

FSOUND_PRESET_STONECORRIDOR

Sounds.FMODpresets

FSOUND_PRESET_STONEROOM

Sounds.FMODpresets

FSOUND_PRESET_UNDERWATER

Sounds.FMODpresets

FSOUND_PROTOCOL_HTTP

Sounds.FMODtypes

FSOUND_PROTOCOL_ICECAST

Sounds.FMODtypes

FSOUND_PROTOCOL_SHOUTCAST

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_STATUS_FLAGS
[DESCRIPTION] These values describe the protocol and format of an internet stream. Use FSOUND_Stream_Net_GetStatus to retrieve this information for an open internet stream.
[SEE_ALSO] FSOUND_Stream_Net_GetStatus ]

FSOUND_Record_GetDriver

Sounds.FMODImport

FSOUND_Record_GetDriverName

Sounds.FMODImport

FSOUND_Record_GetNumDrivers

Sounds.FMODImport

FSOUND_Record_GetPosition

Sounds.FMODImport

FSOUND_Record_SetDriver

Sounds.FMODImport

Recording initialization functions

FSOUND_Record_StartSample

Sounds.FMODImport

Recording functionality. Only one recording session will work at a time.

FSOUND_Record_Stop

Sounds.FMODImport

FSOUND_REVERBFLAGS_DECAYHFLIMIT

Sounds.FMODtypes

EnvironmentSize affects late reverberation delay time

FSOUND_REVERBFLAGS_DECAYTIMESCALE

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_REVERB_FLAGS
[DESCRIPTION] Values for the Flags member of the FSOUND_REVERB_PROPERTIES structure.
[SEE_ALSO] FSOUND_REVERB_PROPERTIES ]

FSOUND_REVERBFLAGS_DEFAULT

Sounds.FMODtypes

PS2 Only - Reverb is applied to CORE1 (hw voices 24-47)

FSOUND_REVERBFLAGS_ECHOTIMESCALE

Sounds.FMODtypes

AirAbsorptionHF affects DecayHFRatio

FSOUND_REVERBFLAGS_MODULATIONTIMESCALE

Sounds.FMODtypes

EnvironmentSize affects echo time

FSOUND_REVERBFLAGS_REFLECTIONSDELAYSCALE

Sounds.FMODtypes

EnvironmentSize affects reflection level

FSOUND_REVERBFLAGS_REFLECTIONSSCALE

Sounds.FMODtypes

EnvironmentSize affects reverberation decay time

FSOUND_REVERBFLAGS_REVERBDELAYSCALE

Sounds.FMODtypes

EnvironmentSize affects reflections level

FSOUND_REVERBFLAGS_REVERBSCALE

Sounds.FMODtypes

EnvironmentSize affects initial reflection delay time

FSOUND_REVERB_CHANNELFLAGS_DEFAULT

Sounds.FMODtypes

Automatic setting of 'RoomHF' due to distance from listener

FSOUND_REVERB_CHANNELFLAGS_DIRECTHFAUTO

Sounds.FMODtypes

[DEFINE_START] [ [NAME] FSOUND_REVERB_CHANNELFLAGS
[DESCRIPTION] Values for the Flags member of the FSOUND_REVERB_CHANNELPROPERTIES structure.
[SEE_ALSO] FSOUND_REVERB_CHANNELPROPERTIES ]

FSOUND_REVERB_CHANNELFLAGS_ROOMAUTO

Sounds.FMODtypes

Automatic setting of 'Direct' due to distance from listener

FSOUND_REVERB_CHANNELFLAGS_ROOMHFAUTO

Sounds.FMODtypes

Automatic setting of 'Room' due to distance from listener

FSOUND_REVERB_FLAGS_CORE0

Sounds.FMODtypes

EnvironmentSize affects modulation time

FSOUND_REVERB_FLAGS_CORE1

Sounds.FMODtypes

PS2 Only - Reverb is applied to CORE0 (hw voices 0-23)

FSOUND_Reverb_GetChannelProperties

Sounds.FMODImport

FSOUND_Reverb_GetProperties

Sounds.FMODImport

FSOUND_Reverb_SetChannelProperties

Sounds.FMODImport

FSOUND_Reverb_SetProperties

Sounds.FMODImport

See structures above for definitions and information on the reverb parameters.

FSOUND_Sample_Alloc

Sounds.FMODImport

FSOUND_Sample_Free

Sounds.FMODImport

FSOUND_Sample_Get

Sounds.FMODImport

Sample information functions

FSOUND_Sample_GetDefaults

Sounds.FMODImport

FSOUND_Sample_GetDefaultsEx

Sounds.FMODImport

FSOUND_Sample_GetLength

Sounds.FMODImport

FSOUND_Sample_GetLoopPoints

Sounds.FMODImport

FSOUND_Sample_GetMinMaxDistance

Sounds.FMODImport

FSOUND_Sample_GetMode

Sounds.FMODImport

FSOUND_Sample_GetName

Sounds.FMODImport

FSOUND_Sample_Load

Sounds.FMODImport

Sample creation and management functions Note : Use FSOUND_LOADMEMORY flag with FSOUND_Sample_Load to load from memory. Use FSOUND_LOADRAW flag with FSOUND_Sample_Load to treat as as raw pcm data.

FSOUND_Sample_Lock

Sounds.FMODImport

FSOUND_Sample_SetDefaults

Sounds.FMODImport

FSOUND_Sample_SetDefaultsEx

Sounds.FMODImport

FSOUND_Sample_SetLoopPoints

Sounds.FMODImport

FSOUND_Sample_SetMaxPlaybacks

Sounds.FMODImport

FSOUND_Sample_SetMinMaxDistance

Sounds.FMODImport

FSOUND_Sample_SetMode

Sounds.FMODImport

Sample control functions

FSOUND_Sample_Unlock

Sounds.FMODImport

FSOUND_Sample_Upload

Sounds.FMODImport

FSOUND_SetBufferSize

Sounds.FMODImport

FSOUND_SetCurrentPosition

Sounds.FMODImport

FSOUND_SetDriver

Sounds.FMODImport

FSOUND_SetFrequency

Sounds.FMODImport

Functions to control playback of a channel. Note : FSOUND_ALL can be used on most of these functions as a channel value.

FSOUND_SetHWND

Sounds.FMODImport

FSOUND_SetLoopMode

Sounds.FMODImport

FSOUND_SetMaxHardwareChannels

Sounds.FMODImport

FSOUND_SetMemorySystem

Sounds.FMODImport

FSOUND_SetMinHardwareChannels

Sounds.FMODImport

FSOUND_SetMixer

Sounds.FMODImport

FSOUND_SetMute

Sounds.FMODImport

FSOUND_SetOutput

Sounds.FMODImport

PRE - FSOUND_Init functions. These can't be called after FSOUND_Init is called (they will fail). They set up FMOD system functionality.

FSOUND_SetPan

Sounds.FMODImport

FSOUND_SetPanSeperation

Sounds.FMODImport

FSOUND_SetPaused

Sounds.FMODImport

FSOUND_SetPriority

Sounds.FMODImport

FSOUND_SetReserved

Sounds.FMODImport

FSOUND_SetSFXMasterVolume

Sounds.FMODImport

FSOUND_SetSpeakerMode

Sounds.FMODImport

This is called to update 3d sound / non-realtime output

FSOUND_SetSurround

Sounds.FMODImport

FSOUND_SetVolume

Sounds.FMODImport

FSOUND_SetVolumeAbsolute

Sounds.FMODImport

FSOUND_SIGNED

Sounds.FMODtypes

For user created source data containing unsigned samples.

FSOUND_SPEAKERMODES

Sounds.FMODtypes

The audio is played through a speaker arrangement of surround speakers with a subwoofer.

FSOUND_STEREO

Sounds.FMODtypes

For mono samples.

FSOUND_STEREOPAN

Sounds.FMODtypes

for a channel index , this flag will affect ALL channels available! Not supported by every function.

FSOUND_StopSound

Sounds.FMODImport

FSOUND_STREAMABLE

Sounds.FMODtypes

Ignores any 3d processing. Overrides FSOUND_HW3D. Located in software.

FSOUND_Stream_AddSyncPoint

Sounds.FMODImport

FSOUND_Stream_Close

Sounds.FMODImport

FSOUND_Stream_Create

Sounds.FMODImport

FSOUND_Stream_CreateDSP

Sounds.FMODImport

FSOUND_Stream_DeleteSyncPoint

Sounds.FMODImport

FSOUND_Stream_FindTagField

Sounds.FMODImport

FSOUND_Stream_GetLength

Sounds.FMODImport

FSOUND_Stream_GetLengthMs

Sounds.FMODImport

FSOUND_Stream_GetMode

Sounds.FMODImport

FSOUND_Stream_GetNumSubStreams

Sounds.FMODImport

FSOUND_Stream_GetNumSyncPoints

Sounds.FMODImport

FSOUND_Stream_GetNumTagFields

Sounds.FMODImport

FSOUND_Stream_GetOpenState

Sounds.FMODImport

FSOUND_Stream_GetPosition

Sounds.FMODImport

FSOUND_Stream_GetSample

Sounds.FMODImport

FSOUND_Stream_GetSyncPoint

Sounds.FMODImport

FSOUND_Stream_GetSyncPointInfo

Sounds.FMODImport

FSOUND_Stream_GetTagField

Sounds.FMODImport

FSOUND_Stream_GetTime

Sounds.FMODImport

FSOUND_Stream_Net_GetBufferProperties

Sounds.FMODImport

FSOUND_Stream_Net_GetLastServerStatus

Sounds.FMODImport

FSOUND_Stream_Net_GetStatus

Sounds.FMODImport

FSOUND_Stream_Net_SetBufferProperties

Sounds.FMODImport

FSOUND_Stream_Net_SetMetadataCallback

Sounds.FMODImport

FSOUND_Stream_Net_SetProxy

Sounds.FMODImport

Internet streaming functions

FSOUND_Stream_Open

Sounds.FMODImport

FSOUND_Stream_Play

Sounds.FMODImport

FSOUND_Stream_PlayEx

Sounds.FMODImport

FSOUND_Stream_SetBufferSize

Sounds.FMODImport

Note : Use FSOUND_LOADMEMORY flag with FSOUND_Stream_Open to stream from memory. Use FSOUND_LOADRAW flag with FSOUND_Stream_Open to treat stream as raw pcm data. Use FSOUND_MPEGACCURATE flag with FSOUND_Stream_Open to open mpegs in 'accurate mode' for settime/gettime/getlengthms. Use FSOUND_FREE as the 'channel' variable, to let FMOD pick a free channel for you.

FSOUND_Stream_SetEndCallback

Sounds.FMODImport

FSOUND_Stream_SetLoopCount

Sounds.FMODImport

FSOUND_Stream_SetLoopPoints

Sounds.FMODImport

FSOUND_Stream_SetMode

Sounds.FMODImport

FSOUND_Stream_SetPosition

Sounds.FMODImport

FSOUND_Stream_SetSubStream

Sounds.FMODImport

FSOUND_Stream_SetSubStreamSentence

Sounds.FMODImport

FSOUND_Stream_SetSyncCallback

Sounds.FMODImport

FSOUND_Stream_SetTime

Sounds.FMODImport

FSOUND_Stream_Stop

Sounds.FMODImport

FSOUND_SYSTEMCHANNEL

Sounds.FMODtypes

value for FSOUND_SetPan so that stereo sounds are not played at half volume. See FSOUND_SetPan for more on this.

FSOUND_SYSTEMSAMPLE

Sounds.FMODtypes

special 'channel' ID for all channel based functions that want to alter the global FSOUND software mixing output

FSOUND_UNMANAGED

Sounds.FMODtypes

value to play on any free channel, or to allocate a sample in a free sample slot.

FSOUND_UNSIGNED

Sounds.FMODtypes

For stereo samples.

FSOUND_Update

Sounds.FMODImport

Runtime system level functions

FSOUND_USECORE0

Sounds.FMODtypes

For PS2 only - Contents are interleaved into a multi-channel (more than stereo) format

FSOUND_USECORE1

Sounds.FMODtypes

For PS2 only - Sample/Stream is forced to use hardware voices 00-23

FSOUND_VAG

Sounds.FMODtypes

For XBOX only - Contents are compressed as XADPCM */

FSOUND_XADPCM

Sounds.FMODtypes

For FMODCE only - decodes mpeg streams using a lower quality decode, but faster execution

G2_GetVertBoneIndex

Formats.GL2

G2_GetVertBoneWeight

Formats.GL2

G2_GetVertWeights

Formats.GL2

GammaCorrectRGBArray

GLS.Graphics

GCUDAHostElementAccess

CUDA.DataAccess

GenerateBezierCurve

GLS.CurvesAndSurfaces

GenerateBezierSurface

GLS.CurvesAndSurfaces

GenerateBSpline

GLS.CurvesAndSurfaces

GenerateBSplineSurface

GLS.CurvesAndSurfaces

GenerateKnotVector

GLS.CurvesAndSurfaces

GeometryOptimizationMode

GLS.VectorGeometry

Returns the detected optimization mode. Returned values is either 'FPU', '3DNow!' or 'SSE'

GetActiveLightsList

GLSL.CustomShader

GetActor

Physics.PhysXImport

GetActorCMassGlobalPosition

Physics.PhysXImport

GetActorGlobalOrientation

Physics.PhysXImport

GetActorGlobalPosition

Physics.PhysXImport

GetActorMass

Physics.PhysXImport

GetAmbientLightMotion

Formats.m3DSUtils

GetArchiveFileFormats

GLS.ArchiveManager

getting a class of accessed archiver

GetArchiveManager

GLS.ArchiveManager

Caution!!! Work for one archive manager only

GetAtmosphere

Formats.m3DSUtils

functions to retrieve global settings of a specific 3DS database

GetBackground

Formats.m3DSUtils

GetBestSelectorClass

GLS.Selection

GetBodyFromGLSceneObject

Physics.NGDManager

GetBodyFromGLSceneObject

Physics.ODEManager

GetBodyFromObject

Physics.ODEManager

Helper functions for extracting data from objects with different inheritance.

GetBodyPositionAsAffineVector

Physics.ODEUtils

GetBoneParent

Physics.NGDRagdoll

GetBValue

GLS.Color

GetCameraByIndex

Formats.m3DSUtils

GetCameraCount

Formats.m3DSUtils

GetCameraMotion

Formats.m3DSUtils

GetCameraMotionByIndex

Formats.m3DSUtils

GetCameraNodeCount

Formats.m3DSUtils

GetCameraNodeNameList

Formats.m3DSUtils

GetChannelTypeAndNum

CUDA.APIComps

GetChunkValue

Formats.m3DSUtils

GetContentDir

Formats.LWO

GetCurrentColorDepth

GLS.Utils

Number of bits per pixel for the current desktop resolution.

GetCurrentRenderingObject

GLS.Scene

GetDatabaseRelease

Formats.m3DSUtils

GetDeviceLogicalPixelsX

GLS.Utils

Number of pixels per logical inch along the screen width for the device. Under Win32 awaits a HDC and returns its LOGPIXELSX.

GetElementAccessAddress

CUDA.DataAccess

GetElementAccessSize

CUDA.DataAccess

getenv

GLS.SDLWindow

function putenv(const variable: PAnsiChar): integer;

GetFPSMovement

GLS.FPSMovement

GetFPSMovement

GLS.FPSMovement

GetGenericCompressedFormat

GLS.TextureFormat

Give generic compressed OpenGL texture format

GetGLMat

GLS.VectorTypesExt

GetGLQuat

GLS.VectorTypesExt

GetGLRect

GLS.Utils

—————— from CrossPlatform ———————–

GetGLSceneObject

Physics.ODEManager

GetGLSoundFileFormats

GLS.SoundFileObjects

GetGLTextureImageClassesAsStrings

GLS.Texture

Creates a TStrings with the list of registered TGLTextureImageClass. To be freed by caller.

GetGLVec

GLS.VectorTypesExt

GetGValue

GLS.Color

GetImageLodNumber

GLS.Graphics

Return an optimal number of texture pyramid

GetIndexFromResolution

GLS.Screen

GetInertia

GLS.Behaviours

Returns or creates the TGLBInertia within the given behaviours. This helper function is convenient way to access a TGLBInertia.

GetKfRelease

Formats.m3DSUtils

GetKFSettings

Formats.m3DSUtils

functions to retrieve/modify keyframer (animation) data

GetM3dMagicRelease

Formats.m3DSUtils

version information

GetMaterialByIndex

Formats.m3DSUtils

GetMaterialCount

Formats.m3DSUtils

GetMeshByIndex

Formats.m3DSUtils

GetMeshCount

Formats.m3DSUtils

GetMeshRelease

Formats.m3DSUtils

GetMeshSet

Formats.m3DSUtils

GetModuleSymbol

GLS.ModuleLoader

GetModuleSymbolEx

GLS.ModuleLoader

GetMovement

GLS.Movement

GetMovement

GLS.Movement

GetNextIsoline

GLS.Isolines

GetNGDDynamic

Physics.NGDManager

GetNGDStatic

Physics.NGDManager

GetObjectMotionByIndex

Formats.m3DSUtils

GetObjectMotionByName

Formats.m3DSUtils

GetObjectNodeCount

Formats.m3DSUtils

GetObjectNodeNameList

Formats.m3DSUtils

GetOdeDynamic

Physics.ODEManager

GetODEHeightField

Physics.ODEManager

Get and GetOrCreate functions for ODE HeightField

GetOdeStatic

Physics.ODEManager

Get and GetOrCreate functions for ode behaviours

GetOmnilightByIndex

Formats.m3DSUtils

GetOmnilightCount

Formats.m3DSUtils

GetOmnilightMotionByIndex

Formats.m3DSUtils

GetOmnilightMotionByName

Formats.m3DSUtils

GetOmnilightNodeCount

Formats.m3DSUtils

GetOmnilightNodeNameList

Formats.m3DSUtils

GetOpenFileNamePreview

Formats.VFW

GetOpenFileNamePreviewA

Formats.VFW

== FilePreview dialog =======================================================

GetOpenFileNamePreviewW

Formats.VFW

GetOrCreateAcceleration

GLS.Behaviours

GetOrCreateAcceleration

GLS.Behaviours

Returns or creates the TGLBAcceleration within the given behaviours. This helper function is convenient way to access a TGLBAcceleration.

GetOrCreateCollision

GLS.Collision

Returns or creates the TGLBCollision within the given behaviours. This helper function is convenient way to access a TGLBCollision.

GetOrCreateCollision

GLS.Collision

Returns or creates the TGLBCollision within the given object's behaviours. This helper function is convenient way to access a TGLBCollision.

GetOrCreateDCEDynamic

GLS.DCE

GetOrCreateDCEDynamic

GLS.DCE

GetOrCreateDCEStatic

GLS.DCE

GetOrCreateDCEStatic

GLS.DCE

GetOrCreateFireFX

GLS.FireFX

Returns or creates the TGLBFireFX within the given behaviours. This helper function is convenient way to access a TGLBFireFX.

GetOrCreateFireFX

GLS.FireFX

Returns or creates the TGLBFireFX within the given object's behaviours. This helper function is convenient way to access a TGLBFireFX.

GetOrCreateFPSMovement

GLS.FPSMovement

GetOrCreateFPSMovement

GLS.FPSMovement

GetOrCreateInertia

GLS.Behaviours

GetOrCreateInertia

GLS.Behaviours

GetOrCreateMovement

GLS.Movement

GetOrCreateMovement

GLS.Movement

GetOrCreateNGDDynamic

Physics.NGDManager

GetOrCreateNGDStatic

Physics.NGDManager

GetOrCreateOdeDynamic

Physics.ODEManager

GetOrCreateODEHeightField

Physics.ODEManager

GetOrCreateOdeStatic

Physics.ODEManager

GetOrCreateParticleInertia

Physics.SPIInertias

Returns or creates the TGLParticleInertia within the given behaviours. This helper function is convenient way to access a TGLParticleInertia.

GetOrCreateParticleInertia

Physics.SPIInertias

Returns or creates the TGLParticleInertia within the given object's behaviours. This helper function is convenient way to access a TGLParticleInertia.

GetOrCreateRigidBodyInertia

Physics.SPIInertias

Returns or creates the TGLRigidBodyInertia within the given behaviours. This helper function is convenient way to access a TGLRigidBodyInertia.

GetOrCreateRigidBodyInertia

Physics.SPIInertias

Returns or creates the TGLRigidBodyInertia within the given object's behaviours. This helper function is convenient way to access a TGLRigidBodyInertia.

GetOrCreateSoundEmitter

GLS.Sound

GetOrCreateSoundEmitter

GLS.Sound

GetOrCreateSourcePFX

GLS.ParticleFX

Returns or creates the TGLBInertia within the given object's behaviours.

GetOrCreateThorFX

GLS.ThorFX

Returns or creates the TGLBThorFX within the given object's effects.

GetProcAddressGLLib

GLS.OpenGLAdapter

GetProcAddressGLS

GLS.OpenGLAdapter

GetRasterFileFormats

GLS.Graphics

Read access to the list of registered vector file formats

GetResultsNx

Physics.PhysXImport

GetROAMTrianglesCapacity

GLS.ROAMPatch

GetRValue

GLS.Color

GetSafeTurnAngle

GLS.VectorGeometry

GetSafeTurnAngle

GLS.VectorGeometry

Calculates angles for the Camera.MoveAroundTarget(pitch, turn) procedure. Initially from then GLCameraColtroller unit, requires AOriginalUpVector to contain only -1, 0 or 1. Result contains pitch and turn angles

GetSaveFileNamePreview

Formats.VFW

GetOpenFileNamePreviewA

GetSaveFileNamePreviewA

Formats.VFW

GetSaveFileNamePreviewW

Formats.VFW

GetServiceWindow

GLS.Context

GetSoundLibraryByName

GLS.Sound

GetSpotlightByIndex

Formats.m3DSUtils

GetSpotlightCount

Formats.m3DSUtils

GetSpotlightMotionByIndex

Formats.m3DSUtils

GetSpotlightMotionByName

Formats.m3DSUtils

GetSpotlightNodeCount

Formats.m3DSUtils

GetSpotlightNodeNameList

Formats.m3DSUtils

GetSqrt255Array

GLS.Utils

Returns a pointer to an array containing the results of "255*sqrt(i/255)".

GetSurfaceFromObject

Physics.ODEManager

GetTextureCombiners

GLS.TextureCombiners

Parses a TC text description and setups combiners accordingly. *experimental* Knowledge of texture combiners is a requirement Syntax: pascal-like, one instruction per line, use '//' for comment.
Examples: Tex1:=Tex0; // replace texture 1 with texture 0 Tex1:=Tex0+Tex1; // additive blending between textures 0 and 1 Tex1:=Tex0-Tex1; // subtractive blending between textures 0 and 1 Tex1:=Tex0*Tex1; // modulation between textures 0 and 1 Tex1:=Tex0+Tex1-0.5; // signed additive blending between textures 0 and 1 Tex1:=Interpolate(Tex0, Tex1, PrimaryColor); // interpolation between textures 0 and 1 using primary color as factor Tex1:=Dot3(Tex0, Tex1); // dot3 product between textures 0 and 1
Accepted tokens: Tex0, Tex1, etc. : texture unit PrimaryColor, Col : the primary color ConstantColor, EnvCol : texture environment constant color
Tokens can be qualified with '.a' or '.alpha' to specify the alpha channel explicitly, and '.rgb' to specify color channels (default). You cannot mix alpha and rgb tokens in the same line.

GetTextureElementSize

GLS.TextureFormat

GetTextureElementSize

GLS.TextureFormat

Give a pixel size in bytes from texture format or data format

GetUncompressedFormat

GLS.TextureFormat

Give uncompressed texture format and OpenGL color format

GetUniformAutoSetMethod

GLSL.ShaderParameter

GetUniformAutoSetMethodName

GLSL.ShaderParameter

GetValueFromStringsIndex

GLS.Utils

GetVectorFileFormats

GLS.VectorFileObjects

Read access to the list of registered vector file formats

GetViewport

Formats.m3DSUtils

GetXCollectionClassesList

GLS.XCollection

GetXCollectionItemClassesList

GLS.XCollection

Creates and returns a copy of internal list of TXCollectionItem classes. Returned list should be freed by caller, the parameter defines an ancestor class filter. If baseClass is left nil, TXCollectionItem is used as ancestor.

GetXMLAttribute

GLS.CrossXML

GetXMLAttribute

GLS.CrossXML

GetXMLAttributeCount

GLS.CrossXML

GetXMLText

GLS.CrossXML

Get_CUDA_API_Error_String

CUDA.Import

Get_CUDA_FFT_Error_String

CUDA.FourierTransform

GL

GLS.Context

GLContextManager

GLS.Context

GLCUDAEditorForm

CUDA.EditorFm

GLDirectionFromGeom

Physics.ODEUtils

GLEnumToDDSHeader

Formats.DXTC

GLGetCursorPos

GLS.Screen

GLGetScreenHeight

GLS.Screen

GLGetScreenWidth

GLS.Screen

GLLibMaterialPickerForm

FLibMaterialPicker

GLLibMaterialPickerForm

FmLibMaterialPicker

GLLoadBitmapFromInstance

GLS.Utils

GLMaterialEditorForm

FmMaterialEditor

GLMatrixFromGeom

Physics.ODEUtils

GLOKMessageBox

GLS.Utils

Returns the number of CPU cycles since startup. Use the similarly named CPU instruction.

GLOpenGL

GLS.OpenGLVCL

GLSceneEditorForm

FmSceneEditor

GLSceneMatrixToODER

Physics.ODEUtils

GLSCENE_REVISION

GLS.Scene

GLSCENE_VERSION

GLS.Scene

GLSDOMNode

GLS.CrossXML

GLSetCursorPos

GLS.Screen

GLShaderEditorForm

FmShaderMemo

GLShaderUniformEditor

FmShaderUniformEditor

GLShowCursor

GLS.Screen

GLSkinEditorForm

FmGuiSkinEditor

GLSLogger

GLS.Logger

Inner logger. Converted to a function, because in case of a DLL and main app using this module, log is written to the same file on initialization and finalization, which is not what one might want. This also allows to create a GLSLogger with custom parameters for user's application, for example a different log path (Often the EXE application directory is read-only).

GLSLTypeComponentCount

GLSL.ShaderParameter

GLSLTypeEnum

GLSL.ShaderParameter

GLSNewXMLDocument

GLS.CrossXML

glsShaderMaxLightSources

GLSL.CustomShader

GLSXMLDocument

GLS.CrossXML

GLSXMLNode

GLS.CrossXML

GLS_RC_DDS_Type

GLS.ApplicationFileIO

GLS_RC_JPG_Type

GLS.ApplicationFileIO

GLS_RC_String_Type

GLS.ApplicationFileIO

GLS_RC_XML_Type

GLS.ApplicationFileIO

GLS_VERTEX_ATTR_NUM

GLS.State

glu32

GLS.OpenGLAdapter

gluBeginCurve

GLS.OpenGLAdapter

gluBeginPolygon

GLS.OpenGLAdapter

gluBeginSurface

GLS.OpenGLAdapter

gluBeginTrim

GLS.OpenGLAdapter

gluBuild1DMipmaps

GLS.OpenGLAdapter

gluBuild2DMipmaps

GLS.OpenGLAdapter

gluCylinder

GLS.OpenGLAdapter

gluDeleteNurbsRenderer

GLS.OpenGLAdapter

gluDeleteQuadric

GLS.OpenGLAdapter

gluDeleteTess

GLS.OpenGLAdapter

gluDisk

GLS.OpenGLAdapter

gluEndCurve

GLS.OpenGLAdapter

gluEndPolygon

GLS.OpenGLAdapter

gluEndSurface

GLS.OpenGLAdapter

gluEndTrim

GLS.OpenGLAdapter

gluErrorString

GLS.OpenGLAdapter

function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD; stdcall; external opengl32; function wglUseFontBitmapsA(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32; function wglUseFontOutlinesA(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32; function wglUseFontBitmapsW(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32; function wglUseFontOutlinesW(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32; function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; external opengl32 Name 'wglUseFontBitmapsA'; function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; p5, p6: single; p7: integer; p8: PGlyphMetricsFloat): BOOL; stdcall; external opengl32 Name 'wglUseFontOutlinesA';

gluGetNurbsProperty

GLS.OpenGLAdapter

gluGetString

GLS.OpenGLAdapter

gluGetTessProperty

GLS.OpenGLAdapter

gluLoadSamplingMatrices

GLS.OpenGLAdapter

gluLookAt

GLS.OpenGLAdapter

gluNewNurbsRenderer

GLS.OpenGLAdapter

gluNewQuadric

GLS.OpenGLAdapter

gluNewTess

GLS.OpenGLAdapter

gluNextContour

GLS.OpenGLAdapter

gluNurbsCallback

GLS.OpenGLAdapter

gluNurbsCurve

GLS.OpenGLAdapter

gluNurbsProperty

GLS.OpenGLAdapter

gluNurbsSurface

GLS.OpenGLAdapter

gluOrtho2D

GLS.OpenGLAdapter

gluPartialDisk

GLS.OpenGLAdapter

gluPerspective

GLS.OpenGLAdapter

gluPickMatrix

GLS.OpenGLAdapter

gluProject

GLS.OpenGLAdapter

gluPwlCurve

GLS.OpenGLAdapter

gluQuadricCallback

GLS.OpenGLAdapter

gluQuadricDrawStyle

GLS.OpenGLAdapter

gluQuadricNormals

GLS.OpenGLAdapter

gluQuadricOrientation

GLS.OpenGLAdapter

gluQuadricTexture

GLS.OpenGLAdapter

gluScaleImage

GLS.OpenGLAdapter

gluSphere

GLS.OpenGLAdapter

gluTessBeginContour

GLS.OpenGLAdapter

gluTessBeginPolygon

GLS.OpenGLAdapter

gluTessCallback

GLS.OpenGLAdapter

gluTessEndContour

GLS.OpenGLAdapter

gluTessEndPolygon

GLS.OpenGLAdapter

gluTessNormal

GLS.OpenGLAdapter

gluTessProperty

GLS.OpenGLAdapter

gluTessVertex

GLS.OpenGLAdapter

gluUnProject

GLS.OpenGLAdapter

GLU_AUTO_LOAD_MATRIX

GLS.OpenGLTokens

NURBS constants NurbsProperty

GLU_BEGIN

GLS.OpenGLTokens

Names without "TESS_" prefix

GLU_CCW

GLS.OpenGLTokens

GLU_CULLING

GLS.OpenGLTokens

GLU_CW

GLS.OpenGLTokens

Contours types – obsolete!

GLU_DISPLAY_MODE

GLS.OpenGLTokens

GLU_DOMAIN_DISTANCE

GLS.OpenGLTokens

GLU_EDGE_FLAG

GLS.OpenGLTokens

GLU_END

GLS.OpenGLTokens

GLU_ERROR

GLS.OpenGLTokens

GLU_EXTERIOR

GLS.OpenGLTokens

GLU_INTERIOR

GLS.OpenGLTokens

GLU_MAP1_TRIM_2

GLS.OpenGLTokens

NurbsTrim

GLU_MAP1_TRIM_3

GLS.OpenGLTokens

GLU_NURBS_ERROR1

GLS.OpenGLTokens

NurbsErrors

GLU_NURBS_ERROR10

GLS.OpenGLTokens

GLU_NURBS_ERROR11

GLS.OpenGLTokens

GLU_NURBS_ERROR12

GLS.OpenGLTokens

GLU_NURBS_ERROR13

GLS.OpenGLTokens

GLU_NURBS_ERROR14

GLS.OpenGLTokens

GLU_NURBS_ERROR15

GLS.OpenGLTokens

GLU_NURBS_ERROR16

GLS.OpenGLTokens

GLU_NURBS_ERROR17

GLS.OpenGLTokens

GLU_NURBS_ERROR18

GLS.OpenGLTokens

GLU_NURBS_ERROR19

GLS.OpenGLTokens

GLU_NURBS_ERROR2

GLS.OpenGLTokens

GLU_NURBS_ERROR20

GLS.OpenGLTokens

GLU_NURBS_ERROR21

GLS.OpenGLTokens

GLU_NURBS_ERROR22

GLS.OpenGLTokens

GLU_NURBS_ERROR23

GLS.OpenGLTokens

GLU_NURBS_ERROR24

GLS.OpenGLTokens

GLU_NURBS_ERROR25

GLS.OpenGLTokens

GLU_NURBS_ERROR26

GLS.OpenGLTokens

GLU_NURBS_ERROR27

GLS.OpenGLTokens

GLU_NURBS_ERROR28

GLS.OpenGLTokens

GLU_NURBS_ERROR29

GLS.OpenGLTokens

GLU_NURBS_ERROR3

GLS.OpenGLTokens

GLU_NURBS_ERROR30

GLS.OpenGLTokens

GLU_NURBS_ERROR31

GLS.OpenGLTokens

GLU_NURBS_ERROR32

GLS.OpenGLTokens

GLU_NURBS_ERROR33

GLS.OpenGLTokens

GLU_NURBS_ERROR34

GLS.OpenGLTokens

GLU_NURBS_ERROR35

GLS.OpenGLTokens

GLU_NURBS_ERROR36

GLS.OpenGLTokens

GLU_NURBS_ERROR37

GLS.OpenGLTokens

GLU_NURBS_ERROR4

GLS.OpenGLTokens

GLU_NURBS_ERROR5

GLS.OpenGLTokens

GLU_NURBS_ERROR6

GLS.OpenGLTokens

GLU_NURBS_ERROR7

GLS.OpenGLTokens

GLU_NURBS_ERROR8

GLS.OpenGLTokens

GLU_NURBS_ERROR9

GLS.OpenGLTokens

GLU_OUTLINE_PATCH

GLS.OpenGLTokens

GLU_OUTLINE_POLYGON

GLS.OpenGLTokens

NurbsDisplay

GLU_PARAMETRIC_ERROR

GLS.OpenGLTokens

GLU_PARAMETRIC_TOLERANCE

GLS.OpenGLTokens

GLU_PATH_LENGTH

GLS.OpenGLTokens

NurbsSampling

GLU_SAMPLING_METHOD

GLS.OpenGLTokens

GLU_SAMPLING_TOLERANCE

GLS.OpenGLTokens

GLU_TESS_BEGIN

GLS.OpenGLTokens

********** GLU generic constants ********** TessCallback

GLU_TESS_BEGIN_DATA

GLS.OpenGLTokens

TGLUTessCombineProc

GLU_TESS_COMBINE

GLS.OpenGLTokens

TGLUTessEdgeFlagProc

GLU_TESS_COMBINE_DATA

GLS.OpenGLTokens

TGLUTessEdgeFlagDataProc

GLU_TESS_COORD_TOO_LARGE

GLS.OpenGLTokens

GLU_TESS_EDGE_FLAG

GLS.OpenGLTokens

TGLUTessErrorProc

GLU_TESS_EDGE_FLAG_DATA

GLS.OpenGLTokens

TGLUTessErrorDataProc

GLU_TESS_END

GLS.OpenGLTokens

TGLUTessVertexProc

GLU_TESS_END_DATA

GLS.OpenGLTokens

TGLUTessVertexDataProc

GLU_TESS_ERROR

GLS.OpenGLTokens

TGLUTessEndProc

GLU_TESS_ERROR1

GLS.OpenGLTokens

TGLUTessCombineDataProc TessError

GLU_TESS_ERROR2

GLS.OpenGLTokens

GLU_TESS_ERROR3

GLS.OpenGLTokens

GLU_TESS_ERROR4

GLS.OpenGLTokens

GLU_TESS_ERROR5

GLS.OpenGLTokens

GLU_TESS_ERROR6

GLS.OpenGLTokens

GLU_TESS_ERROR7

GLS.OpenGLTokens

GLU_TESS_ERROR8

GLS.OpenGLTokens

GLU_TESS_ERROR_DATA

GLS.OpenGLTokens

TGLUTessEndDataProc

GLU_TESS_MISSING_BEGIN_CONTOUR

GLS.OpenGLTokens

GLU_TESS_MISSING_BEGIN_POLYGON

GLS.OpenGLTokens

GLU_TESS_MISSING_END_CONTOUR

GLS.OpenGLTokens

GLU_TESS_MISSING_END_POLYGON

GLS.OpenGLTokens

GLU_TESS_NEED_COMBINE_CALLBACK

GLS.OpenGLTokens

GLU_TESS_VERTEX

GLS.OpenGLTokens

TGLUTessBeginProc

GLU_TESS_VERTEX_DATA

GLS.OpenGLTokens

TGLUTessBeginDataProc

GLU_UNKNOWN

GLS.OpenGLTokens

GLU_U_STEP

GLS.OpenGLTokens

GLU_VERTEX

GLS.OpenGLTokens

GLU_V_STEP

GLS.OpenGLTokens

GLVectorEditorForm

FmVectorEditor

GLwithoutContext

GLS.Context

GL_ASE_MAX_SMOOTH_GROUPS

GLS.FileASE

maximum material submaterials

GL_ASE_MAX_SUBMATERIALS

GLS.FileASE

maximum texture channels

GL_ASE_MAX_TEXTURE_MAPS

GLS.FileASE

maximum smoothing groups

GL_ASE_MAX_TEXURE_CHANNELS

GLS.FileASE

GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI

GLS.OpenGLTokens

GL_ATI_texture_compression_3dc

GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT

GLS.OpenGLTokens

Vendor/EXT extensions constants, in extension number order

GRADIENT_TABLE_SIZE

GLS.ProcTextures

GraphicClassForExtension

GLS.Graphics

Returns the TGraphicClass associated to the extension, if any. Accepts anExtension with or without the '.'

GravitationalConstant

Physics.SPIFields

GUIComponentDialog

FmGuiSkinEditor

GUILayoutEditorForm

FmGuiLayoutEditor

GuiNullRect

GLS.Gui

G_DRAG

GLS.VerletTypes

HackTPictureRegisteredFormats

GLS.Graphics

Adds to the passed TStrings the list of registered formats. Convention is "extension=description" for the string, the Objects hold the corresponding TGraphicClass (extensions do not include the '.').

HalfElement

CUDA.DataAccess

HalfToFloat

GLS.Utils

HCHANNEL

Sounds.BASSImport

sample handle

HDRAWDIB

Formats.VFW

************************************************************************* * * DRAWDIB - Routines for drawing to the display. * ************************************************************************

HDSP

Sounds.BASSImport

synchronizer handle

HFX

Sounds.BASSImport

DSP handle

HGPUNV

CUDA.Import

HGPUNV

GLS.OpenGLTokens

HIC

Formats.VFW

HIDE_NODE

Formats.m3DSConst

HIDE_TRACK_TAG

Formats.m3DSConst

HIERARCHY

Formats.m3DSConst

HIGHPASS_DEFAULT_GAIN

Sounds.OpenALImport

HIGHPASS_DEFAULT_GAINLF

Sounds.OpenALImport

HIGHPASS_MAX_GAIN

Sounds.OpenALImport

HIGHPASS_MAX_GAINLF

Sounds.OpenALImport

HIGHPASS_MIN_GAIN

Sounds.OpenALImport

Highpass filter

HIGHPASS_MIN_GAINLF

Sounds.OpenALImport

HiShadowBiasMin3DS

Formats.m3DSConst

noninclusive minimum value for low shadow bias setting HI_SHADOW_BIAS chunk

HI_SHADOW_BIAS

Formats.m3DSConst

HMODULE

Sounds.OpenALImport

HMUSIC

Sounds.BASSImport

HotTrackTagMax3DS

Formats.m3DSConst

Minimum hot spot angle

HotTrackTagMin3DS

Formats.m3DSConst

Maximum camera FOV HOT_TRACK_TAG_KEY

HOT_TRACK_TAG

Formats.m3DSConst

HOT_TRACK_TAG_KEY

Formats.m3DSConst

HPBUFFERARB

GLS.VectorTypes

HPLUGIN

Sounds.BASSImport

DX8 effect handle

HRECORD

Sounds.BASSImport

sample stream handle

HSAMPLE

Sounds.BASSImport

MOD music handle

HSTREAM

Sounds.BASSImport

playing sample's channel handle

HSYNC

Sounds.BASSImport

recording handle

HVIDEO

Formats.VFW

== VIDEO - Video capture driver interface ===================================

HVIDEOINPUTDEVICENV

GLS.OpenGLTokens

IAVIEditStream

Formats.VFW

IAVIFile

Formats.VFW

– AVIFile ——————————————————————

IAVIStream

Formats.VFW

- - - - - - - - */
/****** AVI Stream Interface ******************************************

IAVIStreaming

Formats.VFW

ICAbout

Formats.VFW

ICClose

Formats.VFW

ICCompress

Formats.VFW

***********************************************************************
compression functions
************************************************************************/ /* * ICCompress() * * compress a single frame *

ICCompressBegin

Formats.VFW

* ICCompressBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOuput) is supported. *

ICCompressEnd

Formats.VFW

ICCOMPRESSFRAMES_PADDING

Formats.VFW

*********************************************************************** ***********************************************************************

ICCompressGetFormat

Formats.VFW

* ICCompressGetFormat() * * get the output format, (format of compressed data) * if lpbiOutput is NULL return the size in bytes needed for format. *

ICCompressGetFormatSize

Formats.VFW

ICCompressGetSize

Formats.VFW

* ICCompressSize() * * return the maximal size of a compressed frame *

ICCompressorChoose

Formats.VFW

COMPVARS contains valid data
allows user to choose compressor, quality etc...

ICCompressorFree

Formats.VFW

ICCompressQuery

Formats.VFW

* ICCompressQuery() * * determines if compression from a source format (lpbiInput) to a dest * format (lpbiOuput) is supported. *

ICCOMPRESS_KEYFRAME

Formats.VFW

*********************************************************************** ***********************************************************************

ICConfigure

Formats.VFW

ICDecompress

Formats.VFW

* ICDecompress() * * decompress a single frame *

ICDecompressBegin

Formats.VFW

* ICDecompressBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *

ICDecompressEnd

Formats.VFW

ICDecompressEx

Formats.VFW

* ICDecompressEx() * * decompress a single frame *

ICDecompressExBegin

Formats.VFW

* ICDecompressExBegin() * * start compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *

ICDecompressExEnd

Formats.VFW

ICDecompressExQuery

Formats.VFW

* ICDecompressExQuery() *

ICDecompressGetFormat

Formats.VFW

* ICDecompressGetFormat() * * get the output format, (format of un-compressed data) * if lpbiOutput is NULL return the size in bytes needed for format. *

ICDecompressGetFormatSize

Formats.VFW

ICDecompressGetPalette

Formats.VFW

* ICDecompressGetPalette() * * get the output palette *

ICDecompressOpen

Formats.VFW

ICDecompressQuery

Formats.VFW

* ICDecompressQuery() * * determines if compression from a source format (lpbiInput) to a dest * format (lpbiOutput) is supported. *

ICDecompressSetPalette

Formats.VFW

ICDECOMPRESS_HURRYUP

Formats.VFW

*********************************************************************** ***********************************************************************

ICDECOMPRESS_NOTKEYFRAME

Formats.VFW

repeat last frame

ICDECOMPRESS_NULLFRAME

Formats.VFW

this frame is before real start

ICDECOMPRESS_PREROLL

Formats.VFW

don't draw just update screen

ICDECOMPRESS_UPDATE

Formats.VFW

don't draw just buffer (hurry up!)

ICDraw

Formats.VFW

* ICDraw() * * decompress data directly to the screen *

ICDrawBegin

Formats.VFW

* ICDrawBegin() * * start decompressing data with format (lpbiInput) directly to the screen * * return zero if the decompressor supports drawing. *

ICDrawChangePalette

Formats.VFW

ICDrawEnd

Formats.VFW

ICDrawFlush

Formats.VFW

ICDrawGetTime

Formats.VFW

ICDrawOpen

Formats.VFW

ICDrawQuery

Formats.VFW

* ICDrawQuery() * * determines if the compressor is willing to render the specified format. *

ICDrawRealize

Formats.VFW

ICDrawRenderBuffer

Formats.VFW

ICDrawSetTime

Formats.VFW

ICDrawStart

Formats.VFW

ICDrawStartPlay

Formats.VFW

ICDrawStop

Formats.VFW

ICDrawStopPlay

Formats.VFW

ICDrawSuggestFormat

Formats.VFW

ICMessage is not supported on Win32, so provide a static inline function to do the same job

ICDrawWindow

Formats.VFW

– Draw window macro ——————————————————–

ICDRAW_ANIMATE

Formats.VFW

draw to a HDC/HWND

ICDRAW_BUFFER

Formats.VFW

used to render data not draw it

ICDRAW_CONTINUE

Formats.VFW

expect palette animation

ICDRAW_FULLSCREEN

Formats.VFW

test for support

ICDRAW_HDC

Formats.VFW

draw to full screen

ICDRAW_HURRYUP

Formats.VFW

*********************************************************************** ***********************************************************************

ICDRAW_MEMORYDC

Formats.VFW

draw is a continuation of previous draw

ICDRAW_NOTKEYFRAME

Formats.VFW

repeat last frame

ICDRAW_NULLFRAME

Formats.VFW

this frame is before real start

ICDRAW_PREROLL

Formats.VFW

don't draw just update screen

ICDRAW_QUERY

Formats.VFW

*********************************************************************** ***********************************************************************

ICDRAW_RENDER

Formats.VFW

We're updating, as opposed to playing

ICDRAW_UPDATE

Formats.VFW

don't draw just buffer (hurry up!)

ICDRAW_UPDATING

Formats.VFW

DC is offscreen, by the way

ICERR_ABORT

Formats.VFW

ICERR_BADBITDEPTH

Formats.VFW

ICERR_BADFLAGS

Formats.VFW

ICERR_BADFORMAT

Formats.VFW

ICERR_BADHANDLE

Formats.VFW

ICERR_BADIMAGESIZE

Formats.VFW

ICERR_BADPARAM

Formats.VFW

ICERR_BADSIZE

Formats.VFW

ICERR_CANTUPDATE

Formats.VFW

ICERR_CUSTOM

Formats.VFW

ICERR_DONTDRAW

Formats.VFW

ICERR_ERROR

Formats.VFW

ICERR_GOTOKEYFRAME

Formats.VFW

ICERR_INTERNAL

Formats.VFW

ICERR_MEMORY

Formats.VFW

ICERR_NEWPALETTE

Formats.VFW

ICERR_OK

Formats.VFW

audc

ICERR_STOPDRAWING

Formats.VFW

ICERR_UNSUPPORTED

Formats.VFW

ICGetBuffersWanted

Formats.VFW

ICGetDefaultKeyFrameRate

Formats.VFW

ICGetDefaultQuality

Formats.VFW

– Get value macros ———————————————————

ICGetDisplayFormat

Formats.VFW

ICGetInfo

Formats.VFW

ICGetState

Formats.VFW

– Get/Set state macros —————————————————–

ICGetStateSize

Formats.VFW

ICImageCompress

Formats.VFW

*********************************************************************** Higher level functions ***********************************************************************

ICImageDecompress

Formats.VFW

ICInfo

Formats.VFW

***********************************************************************
ICM function declarations
***********************************************************************

ICInstall

Formats.VFW

ICINSTALL_DRIVER

Formats.VFW

lParam is a DriverProc (function ptr)

ICINSTALL_DRIVERW

Formats.VFW

lParam is a HDRVR (driver handle)

ICINSTALL_FUNCTION

Formats.VFW

ICINSTALL_HDRV

Formats.VFW

lParam is a driver name (string)

ICINSTALL_UNICODE

Formats.VFW

– Values for wFlags of ICInstall ——————————————-

ICLocate

Formats.VFW

***********************************************************************
helper routines for DrawDib and MCIAVI...
***********************************************************************

ICMF_ABOUT_QUERY

Formats.VFW

ICMF_CHOOSE_ALLCOMPRESSORS

Formats.VFW

allow expanded preview dialog

ICMF_CHOOSE_DATARATE

Formats.VFW

show KeyFrame Every box

ICMF_CHOOSE_KEYFRAME

Formats.VFW

defines for uiFlags

ICMF_CHOOSE_PREVIEW

Formats.VFW

show DataRate box

ICMF_COMPVARS_VALID

Formats.VFW

FLAGS for dwFlags element of COMPVARS structure: set this flag if you initialize COMPVARS before calling ICCompressorChoose

ICMF_CONFIGURE_QUERY

Formats.VFW

– Query macros ————————————————————-

ICMODE_COMPRESS

Formats.VFW

– Values for dwFlags of ICOpen() ——————————————-

ICMODE_DECOMPRESS

Formats.VFW

ICMODE_DRAW

Formats.VFW

ICMODE_FASTCOMPRESS

Formats.VFW

ICMODE_FASTDECOMPRESS

Formats.VFW

ICMODE_QUERY

Formats.VFW

ICM_ABOUT

Formats.VFW

show the configure dialog

ICM_COMPRESS

Formats.VFW

begin a series of compress calls.

ICM_COMPRESS_BEGIN

Formats.VFW

query support for compress

ICM_COMPRESS_END

Formats.VFW

compress a frame

ICM_COMPRESS_FRAMES_INFO

Formats.VFW

end a series of decompress calls

ICM_COMPRESS_GET_FORMAT

Formats.VFW

***********************************************************************
ICM specific messages.
***********************************************************************

ICM_COMPRESS_GET_SIZE

Formats.VFW

get compress format or size

ICM_COMPRESS_QUERY

Formats.VFW

get output size

ICM_CONFIGURE

Formats.VFW

Query info about the compressor

ICM_DECOMPRESS

Formats.VFW

start a series of decompress calls

ICM_DECOMPRESSEX

Formats.VFW

start a series of decompress calls

ICM_DECOMPRESSEX_BEGIN

Formats.VFW

get the default value for key frames

ICM_DECOMPRESSEX_END

Formats.VFW

decompress a frame

ICM_DECOMPRESSEX_QUERY

Formats.VFW

start a series of decompress calls

ICM_DECOMPRESS_BEGIN

Formats.VFW

query support for dempress

ICM_DECOMPRESS_END

Formats.VFW

decompress a frame

ICM_DECOMPRESS_GET_FORMAT

Formats.VFW

end of a series of compress calls.

ICM_DECOMPRESS_GET_PALETTE

Formats.VFW

fill in the DIB color table

ICM_DECOMPRESS_QUERY

Formats.VFW

get decompress format or size

ICM_DECOMPRESS_SET_PALETTE

Formats.VFW

end a series of decompress calls

ICM_DRAW

Formats.VFW

get value of decompress clock

ICM_DRAW_BEGIN

Formats.VFW

query support for dempress

ICM_DRAW_CHANGEPALETTE

Formats.VFW

Like ICGetDisplayFormat

ICM_DRAW_END

Formats.VFW

stop decompress clock

ICM_DRAW_FLUSH

Formats.VFW

realize palette for drawing

ICM_DRAW_GETTIME

Formats.VFW

end a series of draw calls

ICM_DRAW_GET_PALETTE

Formats.VFW

start a series of draw calls

ICM_DRAW_QUERY

Formats.VFW

fill in the DIB color table

ICM_DRAW_REALIZE

Formats.VFW

set correct value for decompress clock

ICM_DRAW_RENDERBUFFER

Formats.VFW

clear out buffered frames

ICM_DRAW_SETTIME

Formats.VFW

drawing window has moved or hidden

ICM_DRAW_START

Formats.VFW

get the palette needed for drawing

ICM_DRAW_START_PLAY

Formats.VFW

draw undrawn things in queue

ICM_DRAW_STOP

Formats.VFW

start decompress clock

ICM_DRAW_STOP_PLAY

Formats.VFW

start of a play

ICM_DRAW_SUGGESTFORMAT

Formats.VFW

end of a play

ICM_DRAW_WINDOW

Formats.VFW

generalized "render" message

ICM_FRAMERATE

Formats.VFW

– Constants for ICM_SET: —————————————————

ICM_GET

Formats.VFW

Tell the driver something

ICM_GETBUFFERSWANTED

Formats.VFW

for animating palette

ICM_GETDEFAULTKEYFRAMERATE

Formats.VFW

ask about prebuffering

ICM_GETDEFAULTQUALITY

Formats.VFW

show the about box

ICM_GETINFO

Formats.VFW

Set compressor state

ICM_GETQUALITY

Formats.VFW

get the default value for quality

ICM_GETSTATE

Formats.VFW

***********************************************************************
messages.
***********************************************************************

ICM_KEYFRAMERATE

Formats.VFW

FrmR

ICM_RESERVED

Formats.VFW

ICM_RESERVED_HIGH

Formats.VFW

ICM_RESERVED_LOW

Formats.VFW

ICM_SET

Formats.VFW

set the default value for quality

ICM_SETQUALITY

Formats.VFW

get the current value for quality

ICM_SETSTATE

Formats.VFW

Get compressor state

ICM_SET_STATUS_PROC

Formats.VFW

tell about compress to come

ICM_USER

Formats.VFW

*********************************************************************** ***********************************************************************

ICOpen

Formats.VFW

ICOpenFunction

Formats.VFW

ICQUALITY_DEFAULT

Formats.VFW

ICQUALITY_HIGH

Formats.VFW

ICQUALITY_LOW

Formats.VFW

– quality flags ————————————————————

ICQueryAbout

Formats.VFW

ICQueryConfigure

Formats.VFW

ICRemove

Formats.VFW

ICSendMessage

Formats.VFW

ICSeqCompressFrame

Formats.VFW

ICSeqCompressFrameEnd

Formats.VFW

ICSeqCompressFrameStart

Formats.VFW

don't only show those that can handle the input format or input data

ICSetState

Formats.VFW

ICSetStatusProc

Formats.VFW

ICMessage is not supported on NT

ICSTATUS_END

Formats.VFW

l = % done

ICSTATUS_ERROR

Formats.VFW

ICSTATUS_START

Formats.VFW

– Messages for Status callback ———————————————

ICSTATUS_STATUS

Formats.VFW

ICSTATUS_YIELD

Formats.VFW

l = error string (LPSTR)

ICTYPE_AUDIO

Formats.VFW

vidc

ICTYPE_VIDEO

Formats.VFW

ICVERSION

Formats.VFW

*************************************************************************** * * COMPMAN - Installable Compression Manager. * ***************************************************************************

ID4ToInt

Formats.LWO

IdentityHmgDblMatrix

GLS.VectorGeometry

IdentityHmgMatrix

GLS.VectorGeometry

IdentityMatrix

GLS.VectorGeometry

IdentityQuaternion

GLS.VectorGeometry

Quaternions

IDS_CAP_AUDIO_DROP_ERROR

Formats.VFW

"Error: Unable to initialize compressor."

IDS_CAP_AVI_DRAWDIB_ERROR

Formats.VFW

"Error: No audio data captured.\nCheck audio card settings."

IDS_CAP_AVI_INIT_ERROR

Formats.VFW

"Error while recording"

IDS_CAP_BEGIN

Formats.VFW

– String IDs from status and error callbacks ——————————-

IDS_CAP_CANTOPEN

Formats.VFW

"pal"

IDS_CAP_COMPRESSOR_ERROR

Formats.VFW

"Error: Unable to draw this data format."

IDS_CAP_DEFAVIEXT

Formats.VFW

"Error saving frame '%s'"

IDS_CAP_DEFPALEXT

Formats.VFW

"avi"

IDS_CAP_DRIVER_ERROR

Formats.VFW

"SaveAs: %2ld%% Hit Escape to abort."

IDS_CAP_END

Formats.VFW

"Capture Start"

IDS_CAP_ERRORDIBSAVE

Formats.VFW

"Error saving palette '%s'"

IDS_CAP_ERRORPALOPEN

Formats.VFW

"File '%s' exists – overwrite it?"

IDS_CAP_ERRORPALSAVE

Formats.VFW

"Error opening palette '%s'"

IDS_CAP_FILEEXISTS

Formats.VFW

"Out of memory"

IDS_CAP_FILE_OPEN_ERROR

Formats.VFW

"Error: Bad video size."

IDS_CAP_FILE_WRITE_ERROR

Formats.VFW

"Error: Cannot open capture file."

IDS_CAP_INFO

Formats.VFW

"Capture End"

IDS_CAP_MCI_CANT_STEP_ERROR

Formats.VFW

"Error: Unable to access MCI device."

IDS_CAP_MCI_CONTROL_ERROR

Formats.VFW

"Warning: Using default palette."

IDS_CAP_NODISKSPACE

Formats.VFW

"Unable to write to file '%s'.\nDisk may be full."

IDS_CAP_NO_AUDIO_CAP_ERROR

Formats.VFW

"Error: Unable to step MCI device."

IDS_CAP_NO_FRAME_CAP_ERROR

Formats.VFW

"Error: Unable to initialize for capture."

IDS_CAP_NO_PALETTE_WARN

Formats.VFW

"Warning: No frames captured.\nConfirm that vertical sync interrupts\nare configured and enabled."

IDS_CAP_OUTOFMEM

Formats.VFW

"%s"

IDS_CAP_READONLYFILE

Formats.VFW

"An error occurred while trying to run VidEdit."

IDS_CAP_RECORDING_ERROR

Formats.VFW

"Error: Cannot write to capture file. Disk may be full."

IDS_CAP_RECORDING_ERROR2

Formats.VFW

"Error: Cannot write to capture file. Data rate too high or disk full."

IDS_CAP_SAVEASPERCENT

Formats.VFW

"Set File Size"

IDS_CAP_SEQ_MSGSTART

Formats.VFW

"Cannot open '%s'"

IDS_CAP_SEQ_MSGSTOP

Formats.VFW

"Select OK to start capture\nof video sequence\nto %s."

IDS_CAP_SETFILESIZE

Formats.VFW

"There is no space to create a capture file on the specified device."

IDS_CAP_STAT_CAP_AUDIO

Formats.VFW

"Captured %ld frames"

IDS_CAP_STAT_CAP_FINI

Formats.VFW

"Setting up for capture - Please wait"

IDS_CAP_STAT_CAP_INIT

Formats.VFW

"Overlay window"

IDS_CAP_STAT_CAP_L_FRAMES

Formats.VFW

"%ld frames"

IDS_CAP_STAT_FRAMESDROPPED

Formats.VFW

"Captured %d.%03d sec. %ld frames (%ld dropped) (%d.%03d fps)"

IDS_CAP_STAT_I_FRAMES

Formats.VFW

"Computing optimal palette"

IDS_CAP_STAT_LIVE_MODE

Formats.VFW

– Status string IDs ——————————————————–

IDS_CAP_STAT_L_FRAMES

Formats.VFW

"%d frames"

IDS_CAP_STAT_OPTPAL_BUILD

Formats.VFW

"Building palette map"

IDS_CAP_STAT_OVERLAY_MODE

Formats.VFW

"Live window"

IDS_CAP_STAT_PALETTE_BUILD

Formats.VFW

"Finished capture, now writing frame %ld"

IDS_CAP_STAT_VIDEOAUDIO

Formats.VFW

"Captured %ld frames (%ld dropped) %d.%03d sec."

IDS_CAP_STAT_VIDEOCURRENT

Formats.VFW

"Capturing audio"

IDS_CAP_STAT_VIDEOONLY

Formats.VFW

"Captured %d.%03d sec. %ld frames (%ld dropped) (%d.%03d fps). %ld audio bytes (%d,%03d sps)"

IDS_CAP_VIDEDITERR

Formats.VFW

"Hit ESCAPE or click to end capture"

IDS_CAP_VIDEO_ADD_ERROR

Formats.VFW

"Error: Cannot prepare video buffers."

IDS_CAP_VIDEO_ALLOC_ERROR

Formats.VFW

"Error: Cannot open the video input device."

IDS_CAP_VIDEO_OPEN_ERROR

Formats.VFW

"Error: Bad wave size."

IDS_CAP_VIDEO_PREPARE_ERROR

Formats.VFW

"Error: Out of memory for video buffers."

IDS_CAP_VIDEO_SIZE_ERROR

Formats.VFW

"Error: Cannot add video buffers."

IDS_CAP_WAVE_ADD_ERROR

Formats.VFW

"Error: Cannot prepare wave buffers."

IDS_CAP_WAVE_ALLOC_ERROR

Formats.VFW

"Error: Cannot open the wave input device.\nCheck sample size, frequency, and channels."

IDS_CAP_WAVE_OPEN_ERROR

Formats.VFW

Driver specific error message

IDS_CAP_WAVE_PREPARE_ERROR

Formats.VFW

"Error: Out of memory for wave buffers."

IDS_CAP_WAVE_SIZE_ERROR

Formats.VFW

"Error: Cannot add wave buffers."

IDS_CAP_WRITEERROR

Formats.VFW

"The file '%s' is a read-only file."

IDTFConverterFileName

GLS.File3DPDF

global variable for accing the IDTF->U3D converter

ID_ALPH

Formats.LWO

SMOOTHING ANGLE RADIANS

ID_ANIM

Formats.LWO

IMAGE SEQUENCE

ID_BBOX

Formats.LWO

CLIP

ID_BRIT

Formats.LWO

CONTRAST

ID_BTEX

Formats.LWO

LUMINANCE TEXTURE

ID_CLIP

Formats.LWO

ENVELOPE

ID_COLR

Formats.LWO

Surfaces chunk

ID_CONT

Formats.LWO

COLOR CYCLING STILL

ID_CRVS

Formats.LWO

Polygons chunk

ID_CTEX

Formats.LWO

ALPHA MODE

ID_DESC

Formats.LWO

BOUNDING BOX

ID_DIFF

Formats.LWO

Luminosity

ID_DTEX

Formats.LWO

COLOR TEXTURE

ID_EDGE

Formats.LWO

REFRACTIVE INDEX

ID_ENVL

Formats.LWO

DISCONTINUOUS VERTEX MAP

ID_FLAG

Formats.LWO

Color chunk

ID_FLYR

Formats.LWO

IMAGE SEQUENCE

ID_FORM

Formats.LWO

Lightwave scene file

ID_GAMMA

Formats.LWO

HUE

ID_GLOS

Formats.LWO

Transparency

ID_HUE

Formats.LWO

SATURATION

ID_ICON

Formats.LWO

TEXT

ID_IFLT

Formats.LWO

NEGATIVE IMAGE

ID_IMCC

Formats.LWO

FLYER SEQUENCE

ID_IMSQ

Formats.LWO

ID_ISEQ

Formats.LWO

STILL IMAGE FILENAME

ID_LAYR

Formats.LWO

Lightwave Layered Object

ID_LTEX

Formats.LWO

TRANSPARENCY TEXTURE

ID_LUMI

Formats.LWO

Surface Flags

ID_LWLO

Formats.LWO

Lightwave Object version 1.0 - 5.x

ID_LWO2

Formats.LWO

ID_LWOB

Formats.LWO

IFF Form

ID_LWSC

Formats.LWO

NULL ID

ID_NEGA

Formats.LWO

GAMMA

ID_NULL

Formats.LWO

ID_PCHS

Formats.LWO

Curves chunk

ID_PFLT

Formats.LWO

IMAGE PLUG-IN FILTER

ID_PNTS

Formats.LWO

LAYER

ID_POLS

Formats.LWO

Surface Names chunk

ID_PTAG

Formats.LWO

TAGS?

ID_REFL

Formats.LWO

Specular

ID_RFLT

Formats.LWO

Sidedness

ID_RFOP

Formats.LWO

REFLECTION MODE (PRE 6.0)

ID_RIMG

Formats.LWO

REFLECTION OPTIONS

ID_RIND

Formats.LWO

REFLECTION MAP SEAM ANGLE

ID_RSAN

Formats.LWO

REFLECTION IMAGE

ID_RTEX

Formats.LWO

SPECULAR TEXTURE

ID_SATR

Formats.LWO

BRIGHTNESS

ID_SDAT

Formats.LWO

ID_SHDR

Formats.LWO

ID_SIDE

Formats.LWO

Glossiness SmallInt

ID_SMAN

Formats.LWO

EDGE TRANSPARENCY THRESHOLD

ID_SPEC

Formats.LWO

Diffuse

ID_SRFS

Formats.LWO

Points chunk

ID_STCC

Formats.LWO

PLUGIN ANIMATION

ID_STEX

Formats.LWO

DIFFUSE TEXTURE

ID_STIL

Formats.LWO

NAME

ID_SURF

Formats.LWO

Patches chunk

ID_TAAS

Formats.LWO

TEXTURE WRAP

ID_TAGS

Formats.LWO

VERTEX MAP

ID_TALP

Formats.LWO

TEXTURE IMG

ID_TAMP

Formats.LWO

TEXTURE VALUE

ID_TCLR

Formats.LWO

TEXTURE REFERENCE

ID_TCTR

Formats.LWO

TEXTURE SIZE

ID_TEXT

Formats.LWO

DESCRIPTION

ID_TFAL

Formats.LWO

TEXTURE CENTER

ID_TFLG

Formats.LWO

BUMP TEXTURE

ID_TFP0

Formats.LWO

TEXTURE AMPLITUDE

ID_TFP1

Formats.LWO

TEXTURE PARAMETERS

ID_TFP2

Formats.LWO

ID_TFRQ

Formats.LWO

ID_TIMG

Formats.LWO

ID_TIP0

Formats.LWO

ID_TIP1

Formats.LWO

ID_TIP2

Formats.LWO

ID_TOPC

Formats.LWO

ID_TRAN

Formats.LWO

Reflective

ID_TREF

Formats.LWO

TEXTURE VALUE

ID_TSIZ

Formats.LWO

TEXTURE FLAGS

ID_TSP0

Formats.LWO

ID_TSP1

Formats.LWO

ID_TSP2

Formats.LWO

ID_TTEX

Formats.LWO

REFLECTIION TEXTURE

ID_TVAL

Formats.LWO

TEXTURE COLOR

ID_TVEL

Formats.LWO

TEXTURE FALLOFF

ID_TWRP

Formats.LWO

ID_VDIF

Formats.LWO

Luminosity

ID_VLUM

Formats.LWO

Transparency

ID_VMAD

Formats.LWO

POLYGON TAG MAP

ID_VMAP

Formats.LWO

OBJECT

ID_VRFL

Formats.LWO

Specularity

ID_VSPC

Formats.LWO

Diffuse

ID_VTRN

Formats.LWO

Reflective

IGetFrame

Formats.VFW

The functions 'BeginExtraction' and 'EndExtraction' have actually the names 'Begin' and 'End', but we cannot use that identifiers for obvious reasons.

IGLCoordinatesUpdateAble

GLS.Coordinates

Actually Sender should be TGLCustomCoordinates, but that would require changes in a some other GLScene units and some other projects that use TGLCoordinatesUpdateAbleComponent

IGLInitializable

GLS.Scene

Interface to objects that need initialization

IGLMaterialLibrarySupported

GLS.Material

an interface for proper TGLLibMaterialNameProperty support

IGLNotifyAble

GLS.BaseClasses

IGLPostShader

GLSL.CustomShader

Used in the TGLPostShaderHolder component.

IGLProgessAble

GLS.BaseClasses

IGLShaderDescription

GLSL.CustomShader

This interface describes user shaders, in order to be able to access them via a unified interface. If user shader does not support some option, don't raise an axception, just ignore it.

IGLTextureNotifyAble

GLS.Texture

IID_IAVIEditStream

Formats.VFW

IID_IAVIFile

Formats.VFW

– GUIDs ——————————————————————–

IID_IAVIStream

Formats.VFW

IID_IAVIStreaming

Formats.VFW

IID_IGetFrame

Formats.VFW

ILength

GLS.VectorGeometry

ILength

GLS.VectorGeometry

Computes an integer length Result:=Sqrt(x*x+y*y)

ImageAlphaBottomRightPointColorTransparent

GLS.ImageUtils

ImageAlphaFromIntensity

GLS.ImageUtils

ImageAlphaInverseLuminance

GLS.ImageUtils

ImageAlphaInverseLuminanceSqrt

GLS.ImageUtils

ImageAlphaLuminance

GLS.ImageUtils

ImageAlphaLuminanceSqrt

GLS.ImageUtils

ImageAlphaOpaque

GLS.ImageUtils

ImageAlphaSuperBlackTransparent

GLS.ImageUtils

ImageAlphaTopLeftPointColorTransparent

GLS.ImageUtils

ImageBellFilter

GLS.ImageUtils

ImageBoxFilter

GLS.ImageUtils

ImageHermiteFilter

GLS.ImageUtils

ImageLanczos3Filter

GLS.ImageUtils

ImageMitchellFilter

GLS.ImageUtils

ImageSplineFilter

GLS.ImageUtils

ImageTriangleFilter

GLS.ImageUtils

IMG_GetError

SDL2.Image

IMG_Init

SDL2.Image

* Loads dynamic libraries and prepares them for use. Flags should be one or more flags from IMG_InitFlags OR'd together. It returns the flags successfully initialized, or 0 on failure. *

IMG_INIT_JPG

SDL2.Image

IMG_INIT_PNG

SDL2.Image

IMG_INIT_TIF

SDL2.Image

IMG_INIT_WEBP

SDL2.Image

IMG_isBMP

SDL2.Image

IMG_isCUR

SDL2.Image

IMG_isGIF

SDL2.Image

IMG_isICO

SDL2.Image

* Functions to detect a file type, given a seekable source *

IMG_isJPG

SDL2.Image

IMG_isLBM

SDL2.Image

IMG_isPCX

SDL2.Image

IMG_isPNG

SDL2.Image

IMG_isPNM

SDL2.Image

IMG_isTIF

SDL2.Image

IMG_isWEBP

SDL2.Image

IMG_isXCF

SDL2.Image

IMG_isXPM

SDL2.Image

IMG_isXV

SDL2.Image

IMG_Linked_Version

SDL2.Image

* This function gets the version of the dynamically linked SDL_image library. it should NOT be used to fill a version structure, instead you should use the SDL_IMAGE_VERSION() macro. *

IMG_Load

SDL2.Image

* Convenience functions *

IMG_LoadBMP_RW

SDL2.Image

IMG_LoadCUR_RW

SDL2.Image

IMG_LoadGIF_RW

SDL2.Image

IMG_LoadICO_RW

SDL2.Image

* Individual loading functions *

IMG_LoadJPG_RW

SDL2.Image

IMG_LoadLBM_RW

SDL2.Image

IMG_LoadPCX_RW

SDL2.Image

IMG_LoadPNG_RW

SDL2.Image

IMG_LoadPNM_RW

SDL2.Image

IMG_LoadTexture

SDL2.Image

* Load an image directly into a render texture. *

IMG_LoadTextureTyped_RW

SDL2.Image

IMG_LoadTexture_RW

SDL2.Image

IMG_LoadTGA_RW

SDL2.Image

IMG_LoadTIF_RW

SDL2.Image

IMG_LoadTyped_RW

SDL2.Image

* Load an image from an SDL data source. The 'type' may be one of: "BMP", "GIF", "PNG", etc.
If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling: SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey); *

IMG_LoadWEBP_RW

SDL2.Image

IMG_LoadXCF_RW

SDL2.Image

IMG_LoadXPM_RW

SDL2.Image

IMG_LoadXV_RW

SDL2.Image

IMG_Load_RW

SDL2.Image

IMG_Quit

SDL2.Image

* Unloads libraries loaded with IMG_Init *

IMG_ReadXPMFromArray

SDL2.Image

IMG_SavePNG

SDL2.Image

* Individual saving functions *

IMG_SavePNG_RW

SDL2.Image

IMG_SetError

SDL2.Image

* We'll use SDL for reporting errors *

IMSQ_FLAG_INTERLACE

Formats.LWO

IMSQ_FLAG_LOOP

Formats.LWO

INADDR_ANY

SDL2.Net

* Resolve a host name and port to an IP address in network form. If the function succeeds, it will return 0. If the host couldn't be resolved, the host portion of the returned address will be INADDR_NONE, and the function will return -1. If 'host' is NULL, the resolved host will be set to INADDR_ANY. *

INADDR_NONE

SDL2.Net

IncludeFilePath

Cg.Shader

Set IncludeFilePath to indicate where to find your include file for your Cg source files. This avoids error from the Cg Compiler when the current directory is not the right path as the shader is being compiled.

IncludeInClipRect

GLS.GeometryBB

Extend the clip rect to include given coordinate.

IncreaseCoherency

GLS.MeshUtils

Increases indices coherency wrt vertex caches. The indices parameters is understood as vertex indices of a triangles set, the triangles are reordered to maximize coherency (vertex reuse) over the cacheSize latest indices. This allows higher rendering performance from hardware renderers that implement vertex cache (nVidia GeForce family f.i.), allowing reuse of T&amp;L performance (similar to stripification without the normals issues of strips). This procedure performs a coherency optimization via a greedy hill-climber algorithm (ie. not optimal but fast).

InflateGLRect

GLS.Utils

Increases or decreases the width and height of the specified rectangle. Adds dx units to the left and right ends of the rectangle and dy units to the top and bottom.

InformationDlg

GLS.Utils

Pops up a simple dialog with msg and an Ok button.

infotypeDIGITIZATION_TIME

Formats.VFW

– New information chunk IDs ————————————————

infotypeSMPTE_TIME

Formats.VFW

mmioFOURCC ('I','D','I','T')

Init

GLS.VectorTypesExt

InitChunk

Formats.m3DSUtils

InitCUDA

CUDA.Import

InitCUDAFromLibrary

CUDA.Import

InitCUDART

CUDA.Runtime

InitCUDARTFromLibrary

CUDA.Runtime

InitCUFFT

CUDA.FourierTransform

InitCUFFTFromLibrary

CUDA.FourierTransform

InitCUTIL

CUDA.Utility

InitCUTILFromLibrary

CUDA.Utility

InitFaceArray3DS

Formats.m3DSConst

InitFromLibraryOpenCL

OpenCL.Import

InitGLSceneColors

GLS.Color

InitializeRandomGenerator

GLS.RandomHDS

Initialize_Contouring

GLS.Isolines

InitMatArray3DS

Formats.m3DSConst

InitNoExtras3DS

Formats.m3DSConst

Flags for initflags parameter

InitNx

Physics.PhysXImport

InitObjectMotion

Formats.m3DSUtils

InitODE

Physics.ODEImport

These are made public in the dynamic version MRQZZZ

InitOpenAL

Sounds.OpenALImport

InitOpenCL

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2 * Deprecated OpenCL 1.1 APIs *// clCreateImage2D(); clCreateImage3D(); clEnqueueMarker(); clEnqueueWaitForEvents(); clEnqueueBarrier(); clUnloadCompiler(); clGetExtensionFunctionAddress(); * Deprecated OpenCL 2.0 APIs *// clCreateCommandQueue(); clCreateSampler(); clEnqueueTask(); ————————————————————————-

InitOpenGL

GLS.OpenGLAdapter

InitOpenGLFromLibrary

GLS.OpenGLAdapter

InitProcData3DS

Formats.m3DSConst

InitSmoothArray3DS

Formats.m3DSConst

InitTextArray3DS

Formats.m3DSConst

InitTexture

GLSL.CustomShader

InitVertexArray3DS

Formats.m3DSConst

InitVFlagArray3DS

Formats.m3DSConst

InputDlg

GLS.Utils

Posp a simple dialog with a string input.

InstanceNameStrMax3DS

Formats.m3DSConst

Maximum node name string size INSTANCE_NAME

INSTANCE_NAME

Formats.m3DSConst

int

Formats.VFW

IntElement

CUDA.DataAccess

InternalFormatToOpenGLFormat

GLS.TextureFormat

Give a openGL texture format from GLScene texture format

INTERPCT

Formats.m3DSConst

InterpolateCombined

GLS.VectorGeometry

InterpolateCombinedFast

GLS.VectorGeometry

InterpolateCombinedFastPower

GLS.VectorGeometry

InterpolateCombinedSafe

GLS.VectorGeometry

InterpolateExp

GLS.VectorGeometry

InterpolateLn

GLS.VectorGeometry

InterpolatePower

GLS.VectorGeometry

There functions that do the same as "Lerp", but add some distortions

InterpolateSin

GLS.VectorGeometry

Only valid where Delta belongs to [0..1]

InterpolateSinAlt

GLS.VectorGeometry

"Alt" functions are valid everywhere

InterpolateTan

GLS.VectorGeometry

IntersectAABBs

GLS.GeometryBB

Determines if two AxisAlignedBoundingBoxes intersect. The matrices are the ones that convert one point to the other's AABB system

IntersectAABBsAbsolute

GLS.GeometryBB

Checks whether two Bounding boxes aligned with the world axes collide.

IntersectAABBsAbsoluteXY

GLS.GeometryBB

Checks whether two Bounding boxes aligned with the world axes collide in the XY plane.

IntersectAABBsAbsoluteXZ

GLS.GeometryBB

Checks whether two Bounding boxes aligned with the world axes collide in the XZ plane.

IntersectCubes

GLS.Collision

Returns true when the bounding box cubes does intersect the other. Also true when the one cube does contain the other completely.

IntersectGLRect

GLS.Utils

IntersectLinePlane

GLS.VectorGeometry

Compute the intersection point "res" of a line with a plane. Return value: 0 : no intersection, line parallel to plane 1 : res is valid -1 : line is inside plane
Adapted from: E.Hartmann, Computeruntersttzte Darstellende Geometrie, B.G. Teubner Stuttgart 1988

IntersectSphereBox

GLS.VectorGeometry

Compute intersection between a Sphere and a box. Up, Direction and Right must be normalized! Use CubDepth, CubeHeight and CubeWidth to scale TGLCube

IntersectTriangleBox

GLS.VectorGeometry

Compute intersection between a triangle and a box. Returns True if an intersection was found

IntPercentageMax3DS

Formats.m3DSConst

maximum color value in a channel INT_PERCENTAGE

intptr_t

OpenCL.Platform

INT_PERCENTAGE

Formats.m3DSConst

INVALID_CUFFT_HANDLE

CUDA.FourierTransform

INVALID_MODULEHANDLE_VALUE

GLS.ModuleLoader

Value designating an unassigned TModuleHandle od a failed loading

InvertMatrix

GLS.VectorGeometry

Finds the inverse of a 3x3 matrix;

InvertMatrix

GLS.VectorGeometry

Finds the inverse of a 4x4 matrix

InvertTrianglesWinding

GLS.MeshUtils

Inverts the triangles winding (vertex order).

InvokeInfoForm

GLS.Scene

IPersistentObject

GLS.PersistentClasses

Interface for persistent objects. This interface does not really allow polymorphic persistence, but is rather intended as a way to unify persistence calls for iterators

IsCgProfileSupported

Cg.Shader

Misc. global functions

IsChunk

Formats.m3DSConst

IsColinear

GLS.VectorGeometry

Returns true if both vector are colinear

IsColinear

GLS.VectorGeometry

Returns true if both vector are colinear

IsColinear

GLS.VectorGeometry

Returns true if both vector are colinear

IsCompressedFormat

GLS.TextureFormat

IsCompressedFormat

GLS.TextureFormat

True if texture compressed

IsCUDAInitialized

CUDA.Import

IsCUDARTInitialized

CUDA.Runtime

IsCUFFTInitialized

CUDA.FourierTransform

IsCUTILInitialized

CUDA.Utility

IsDepthFormat

GLS.TextureFormat

IsDepthFormat

GLS.TextureFormat

True if depth texture

IsDesignTime

GLS.Utils

IsDirectoryWriteable

GLS.Utils

Determine if the directory is writable.

IsFloatFormat

GLS.TextureFormat

IsFloatFormat

GLS.TextureFormat

True if texture format is float

IsFogEnabled

GLSL.CustomShader

IsFormatSupported

GLS.TextureFormat

True if texture format is supported by hardware or software

IShaderParameter

GLSL.ShaderParameter

IsInCube

GLS.VectorGeometry

IsInCube

GLS.VectorGeometry

Returns True if p is in the cube defined by d.

IsInitializedOpenCL

OpenCL.Import

IsInRange

GLS.VectorGeometry

IsInRange

GLS.VectorGeometry

Returns True if x is in [a; b]

IsInRect

GLS.Gui

IsKeyDown

GLS.Keyboard

Check if the given virtual key is down. This function is just a wrapper for GetAsyncKeyState.

IsKeyDown

GLS.Keyboard

Check if the key corresponding to the given Char is down. The character is mapped to the <i>main keyboard</i> only, and not to the numeric keypad. The Shift/Ctrl/Alt state combinations that may be required to type the character are ignored (ie. 'a' is equivalent to 'A', and on my french keyboard, '5' = '(' = '[' since they all share the same physical key).

IsLineIntersectQuad

GLS.VectorGeometry

Returns true if line intersect ABCD quad. Quad have to be flat and convex

IsLineIntersectTriangle

GLS.VectorGeometry

Returns true if line intersect ABC triangle

IsMainThread

GLS.Context

IsMesaGL

GLS.OpenGLAdapter

IsODEInitialized

Physics.ODEImport

IsOpenGLInitialized

GLS.OpenGLAdapter

IsOpenGLLoaded

GLS.OpenGLAdapter

IsPointInPolygon

GLS.VectorGeometry

PtInRegion

IsPowerOf2

GLS.Utils

Returns True if value is a true power of two

ISqrt

GLS.VectorGeometry

Computes an integer sqrt approximation

IsServiceContextAvaible

GLS.Context

IsSubComponent

GLS.Utils

Classes.pas

IsTargetSupported

GLS.TextureFormat

IsTargetSupported

GLS.TextureFormat

True if texture target supported

IsTargetSupportMipmap

GLS.TextureFormat

IsTargetSupportMipmap

GLS.TextureFormat

IsVersionMet

GLS.OpenGLAdapter

IsVolumeClipped

GLS.VectorGeometry

IsVolumeClipped

GLS.VectorGeometry

IsVolumeClipped

GLS.VectorGeometry

Determines if volume is clipped or not

Jpeg2Bmp

GLS.FileJPEG

kBrushes

Formats.Q3BSP

Stores the info of world models

kBrushSides

Formats.Q3BSP

Stores the brushes info (for collision)

kEntities

Formats.Q3BSP

KeyboardNotifyWheelMoved

GLS.Keyboard

Use this procedure to notify a wheel movement and have it resurfaced as key stroke. Honoured by IsKeyDown and KeyPressed

KeyNameToVirtualKeyCode

GLS.Keyboard

Converts a key name to its virtual key code. The comparison is **NOT** case-sensitive, if no match is found, returns -1. The name is expressed using the locale windows options, except for mouse buttons which are translated to 'LBUTTON', 'MBUTTON' and 'RBUTTON'.

KeyPressed

GLS.Keyboard

Returns the first pressed key whose virtual key code is >= to minVkCode. If no key is pressed, the return value is -1, this function does NOT wait for user input. If you don't care about multiple key presses, just don't use the parameter.

KeyUsesBias3DS

Formats.m3DSConst

KeyUsesCont3DS

Formats.m3DSConst

KeyUsesEaseFrom3DS

Formats.m3DSConst

KeyUsesEaseTo3DS

Formats.m3DSConst

KeyUsesTension3DS

Formats.m3DSConst

flags the face as being at a texture coord v wrap seam flags used by the rflags field of the keyheader3DS structure

kFaces

Formats.Q3BSP

Stores the shader files (blending, anims..)

KFBiasMax3DS

Formats.m3DSConst

Minimum key spline bias

KFBiasMin3DS

Formats.m3DSConst

Maximum key spline continuity

KfBlurBranch3DS

Formats.m3DSConst

KFContinuityMax3DS

Formats.m3DSConst

Minimum key spline continuity

KFContinuityMin3DS

Formats.m3DSConst

Maximum key spline tension

KFCURTIME

Formats.m3DSConst

KFDATA

Formats.m3DSConst

Keyframe Chunk IDs

KFEaseFromMax3DS

Formats.m3DSConst

Minimum key spline ease from

KFEaseFromMin3DS

Formats.m3DSConst

Maximum key spline ease to

KFEaseToMax3DS

Formats.m3DSConst

Minimum key spline ease to

KFEaseToMin3DS

Formats.m3DSConst

Maximum key spline bias

KfFastNode3DS

Formats.m3DSConst

KFHDR

Formats.m3DSConst

KFHdrStrMax3DS

Formats.m3DSConst

Maximum lens size for camera KFHDR

KfHideNode3DS

Formats.m3DSConst

KfMorphMtl3DS

Formats.m3DSConst

KfMorphOb3DS

Formats.m3DSConst

KfMotionBlur3DS

Formats.m3DSConst

KfNodeAutoSmooth3DS

Formats.m3DSConst

KfNodeFrozen3DS

Formats.m3DSConst

KfNodeHasPath3DS

Formats.m3DSConst

For the flags2 field

KfNodeOff3DS

Formats.m3DSConst

flag settings for TKFMesh3DS, TKFOmni3DS, TKFCamera3DS, TKFAmbient and TKFSpot3DS ml: these flags correspond directly to NODE_RENDOB_HIDE etc. (see below), I don't know what these duplications are for... for the flags field

KFSEG

Formats.m3DSConst

KFTensionMax3DS

Formats.m3DSConst

Minimum key spline tension

KFTensionMin3DS

Formats.m3DSConst

Maximum morph smoothing angle Keyframe Spline Limits

kLeafBrushes

Formats.Q3BSP

Stores the leaf's indices into the faces

kLeafFaces

Formats.Q3BSP

Stores the leafs of the nodes

kLeafs

Formats.Q3BSP

Stores the BSP nodes

kLightmaps

Formats.Q3BSP

Stores the faces for the level

kLightVolumes

Formats.Q3BSP

Stores the lightmaps for the level

kMaxLumps

Formats.Q3BSP

Stores PVS and cluster info (visibility)

kMeshVerts

Formats.Q3BSP

Stores the level vertices

kModels

Formats.Q3BSP

Stores the leaf's indices into the brushes

KMOD_ALT

SDL2.Import

KMOD_CAPS

SDL2.Import

KMOD_CTRL

SDL2.Import

KMOD_GUI

SDL2.Import

KMOD_LALT

SDL2.Import

KMOD_LCTRL

SDL2.Import

KMOD_LGUI

SDL2.Import

KMOD_LSHIFT

SDL2.Import

KMOD_MODE

SDL2.Import

KMOD_NONE

SDL2.Import

** * Enumeration of valid key mods (possibly OR'd together). *

KMOD_NUM

SDL2.Import

KMOD_RALT

SDL2.Import

KMOD_RCTRL

SDL2.Import

KMOD_RESERVED

SDL2.Import

KMOD_RGUI

SDL2.Import

KMOD_RSHIFT

SDL2.Import

KMOD_SHIFT

SDL2.Import

kNodes

Formats.Q3BSP

Stores the splitting planes

KNoID

Formats.m3DSConst

Maximum fall off angle

kPlanes

Formats.Q3BSP

Stores texture information

kShaders

Formats.Q3BSP

Stores the model vertices offsets

kTextures

Formats.Q3BSP

Stores player/object positions, etc...

kVertices

Formats.Q3BSP

Stores the brush surfaces info

kVisData

Formats.Q3BSP

Stores extra world lighting information

Language

GLS.Strings

String constants that are used for internationalization
To build your project with a single language's translations in the executable itself, define one of the next languages
Language $DEFINE 2-character locale id ——————- ———- ——————— English LANG_EN en French LANG_FR fr German LANG_DE de Italian LANG_IT it Japanese LANG_JP jp Russian LANG_RU ru Spanish LANG_ES es

LayerFogBgnd

Formats.m3DSConst

Fog Flags

LAYER_FOG

Formats.m3DSConst

lcl_major

GLS.SceneForm

lcl_minor

GLS.SceneForm

lcl_release

GLS.SceneForm

lcl_release

GLS.Screen

Lerp

GLS.VectorGeometry

Calculates linear interpolation between start and stop at point t

LibHandle

Sounds.OpenALImport

LibOpenCL

OpenCL.Import

LIGHT_NODE_TAG

Formats.m3DSConst

Linear_Interpolate

GLS.Perlin

Useless for final output! Usefull for after interpolation, as its FAST!

LineLen

GLS.FileOBJ

Allocate memory for the current line in chunks of LineLen Bytes.

LineLineDistance

GLS.VectorGeometry

Computes the closest distance between two lines

LIN_COLOR_24

Formats.m3DSConst

LIN_COLOR_F

Formats.m3DSConst

listtypeAVIHEADER

Formats.VFW

mmioFOURCC('A', 'V', 'I', ' ')

listtypeAVIMOVIE

Formats.VFW

mmioFOURCC('s', 't', 'r', 'n')

listtypeAVIRECORD

Formats.VFW

mmioFOURCC('m', 'o', 'v', 'i')

listtypeSTREAMHEADER

Formats.VFW

mmioFOURCC('a', 'v', 'i', 'h')

lkPrefix

GLS.Logger

llMax

GLS.Logger

llMedium

GLS.Logger

llMessageLimit

GLS.Logger

llMin

GLS.Logger

LMAGIC

Formats.m3DSConst

LoadAnsiStringFromFile

GLS.Utils

Returns the ansistring content of "filename".

LoadComponentFromFile

GLS.Utils

Loads component from a file.

LoadJPGtexture

GLS.RandomHDS

Texture functions

LoadLW0FromStream

Formats.LWO

LoadLWOFromFile

Formats.LWO

LoadModule

GLS.ModuleLoader

LoadModuleEx

GLS.ModuleLoader

LoadOpenGL

GLS.OpenGLAdapter

LoadOpenGLFromLibrary

GLS.OpenGLAdapter

LoadQ3Anims

GLS.FileQ3MD3

LoadQ3Anims

GLS.FileQ3MD3

These procedures are helpers to load the Quake3 animation file data into an animation list. The NamePrefix parameter is used to determine which class of animation is extracted. eg NamePrefix='TORSO' will load all animations starting with 'TORSO_' like 'TORSO_STAND'

LoadQ3Skin

GLS.FileQ3MD3

Quake3 Skin loading procedure. Use this procedure to apply textures to a GLActor. This doens't use the actors original preloaded materials so it may be a good idea to clear the actors material library before running this to keep everything nice and clean.

LoadRGBEpixels

GLS.RGBE

LoadRLEpixels

GLS.RGBE

LoadSDLBMPFromStream

SDL2.Import

LoadStringFromFile

GLS.Utils

Returns the string content of "filename".

Logarithm2

GLS.VectorGeometry

—————————————————————————- Exponential functions —————————————————————————–

LONG

Formats.VFW

LoShadowBiasMin3DS

Formats.m3DSConst

noninclusive minimum value for master scale LO_SHADOW_BIAS chunk

LOWPASS_DEFAULT_GAIN

Sounds.OpenALImport

LOWPASS_DEFAULT_GAINHF

Sounds.OpenALImport

LOWPASS_MAX_GAIN

Sounds.OpenALImport

LOWPASS_MAX_GAINHF

Sounds.OpenALImport

LOWPASS_MIN_GAIN

Sounds.OpenALImport

Filter ranges and defaults. Lowpass filter

LOWPASS_MIN_GAINHF

Sounds.OpenALImport

LO_SHADOW_BIAS

Formats.m3DSConst

L_TARGET_NODE_TAG

Formats.m3DSConst

M3DMAGIC

Formats.m3DSConst

3DS file Chunk IDs

M3D_KFVERSION

Formats.m3DSConst

M3D_VERSION

Formats.m3DSConst

MakeAffineDblVector

GLS.VectorGeometry

Miscellaneous functions

MAKEAVICKID

Formats.VFW

MakeDblVector

GLS.VectorGeometry

MakeParallelProjectionMatrix

GLS.VectorGeometry

Creates a parallel projection matrix. Transformed points will projected on the plane along the specified direction

MakePoint

GLS.VectorGeometry

MakePoint

GLS.VectorGeometry

MakePoint

GLS.VectorGeometry

MakeReflectionMatrix

GLS.VectorGeometry

Builds a reflection matrix for the given plane. Reflection matrix allow implementing planar reflectors (mirrors)

MakeShadowMatrix

GLS.VectorGeometry

Creates a shadow projection matrix. Shadows will be projected onto the plane defined by planePoint and planeNormal, from lightPos

MakeSubComponent

GLS.Utils

MakeTriangleAdjacencyList

GLS.MeshUtils

Create list of indices of triangles with adjacency from triangle list

MakeVector

GLS.VectorGeometry

MakeVector

GLS.VectorGeometry

MakeVector

GLS.VectorGeometry

MakeVector

GLS.VectorGeometry

MARK_NODE

Formats.m3DSConst

MasterScaleMin3DS

Formats.m3DSConst

MASTER_SCALE chunk

MASTER_SCALE

Formats.m3DSConst

MatACubicAMax3DS

Formats.m3DSConst

minimum reflection map aliasing

MatACubicAMin3DS

Formats.m3DSConst

minimum frame skip count

MatACubicFMin3DS

Formats.m3DSConst

maximum shading value MAT_ACUBIC_FMIN

MATMAGIC

Formats.m3DSConst

MatMapNameStrMax3DS

Formats.m3DSConst

Maximum floating point percentage MAT_MAPNAME

MatNameStrMax3DS

Formats.m3DSConst

maximum string length for filename MAT_NAME

MatrixDecompose

GLS.VectorGeometry

Decompose a non-degenerated 4x4 transformation matrix into the sequence of transformations that produced it. Modified by ml then eg, original Author: Spencer W. Thomas, University of Michigan The coefficient of each transformation is returned in the corresponding element of the vector Tran. Returns true upon success, false if the matrix is singular.

MatrixDeterminant

GLS.VectorGeometry

Determinant of a 3x3 matrix

MatrixDeterminant

GLS.VectorGeometry

Determinant of a 4x4 matrix

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

MatrixEquals

GLS.VectorGeometry

3x3

MatrixEquals

GLS.VectorGeometry

4x4

MatrixInvert

GLS.VectorGeometry

MatrixInvert

GLS.VectorGeometry

MatrixLerp

GLS.VectorGeometry

This is used for interpolating between 2 matrices. The result is used to reposition the model parts each frame.

MatrixMultiply

GLS.VectorGeometry

Multiplies M1 by M2 and places result in MResult

MatrixMultiply

GLS.VectorGeometry

Multiplies two 3x3 matrices

MatrixMultiply

GLS.VectorGeometry

Multiplies two 4x4 matrices

MatShadingMax3DS

Formats.m3DSConst

minimum shading value

MatShadingMin3DS

Formats.m3DSConst

maximum string length for material name MAT_SHADING

MAT_ACUBIC

Formats.m3DSConst

MAT_ADDITIVE

Formats.m3DSConst

MAT_AMBIENT

Formats.m3DSConst

MAT_BUMPMAP

Formats.m3DSConst

MAT_BUMPMASK

Formats.m3DSConst

MAT_BUMP_PERCENT

Formats.m3DSConst

MAT_DECAL

Formats.m3DSConst

MAT_DIFFUSE

Formats.m3DSConst

MAT_ENTRY

Formats.m3DSConst

Material Chunk IDs

MAT_FACEMAP

Formats.m3DSConst

MAT_MAPNAME

Formats.m3DSConst

MAT_MAP_ANG

Formats.m3DSConst

MAT_MAP_BCOL

Formats.m3DSConst

MAT_MAP_COL1

Formats.m3DSConst

MAT_MAP_COL2

Formats.m3DSConst

MAT_MAP_GCOL

Formats.m3DSConst

MAT_MAP_RCOL

Formats.m3DSConst

MAT_MAP_TEXBLUR

Formats.m3DSConst

MAT_MAP_TEXBLUR_OLD

Formats.m3DSConst

MAT_MAP_TILING

Formats.m3DSConst

MAT_MAP_TILINGOLD

Formats.m3DSConst

MAT_MAP_UOFFSET

Formats.m3DSConst

MAT_MAP_USCALE

Formats.m3DSConst

MAT_MAP_VOFFSET

Formats.m3DSConst

MAT_MAP_VSCALE

Formats.m3DSConst

MAT_NAME

Formats.m3DSConst

MAT_OPACMAP

Formats.m3DSConst

MAT_OPACMASK

Formats.m3DSConst

MAT_PHONGSOFT

Formats.m3DSConst

MAT_REFBLUR

Formats.m3DSConst

MAT_REFLMAP

Formats.m3DSConst

MAT_REFLMASK

Formats.m3DSConst

MAT_SELFIMAP

Formats.m3DSConst

MAT_SELFIMASK

Formats.m3DSConst

MAT_SELF_ILLUM

Formats.m3DSConst

MAT_SELF_ILPCT

Formats.m3DSConst

MAT_SHADING

Formats.m3DSConst

MAT_SHIN2PCT

Formats.m3DSConst

MAT_SHIN3PCT

Formats.m3DSConst

MAT_SHININESS

Formats.m3DSConst

MAT_SHINMAP

Formats.m3DSConst

MAT_SHINMASK

Formats.m3DSConst

MAT_SPECMAP

Formats.m3DSConst

MAT_SPECMASK

Formats.m3DSConst

MAT_SPECULAR

Formats.m3DSConst

MAT_SUPERSMP

Formats.m3DSConst

MAT_SXP_BUMP_DATA

Formats.m3DSConst

MAT_SXP_BUMP_MASKDATA

Formats.m3DSConst

MAT_SXP_OPAC_DATA

Formats.m3DSConst

MAT_SXP_OPAC_MASKDATA

Formats.m3DSConst

MAT_SXP_REFL_MASKDATA

Formats.m3DSConst

MAT_SXP_SELFI_DATA

Formats.m3DSConst

MAT_SXP_SELFI_MASKDATA

Formats.m3DSConst

MAT_SXP_SHIN_DATA

Formats.m3DSConst

MAT_SXP_SHIN_MASKDATA

Formats.m3DSConst

MAT_SXP_SPEC_DATA

Formats.m3DSConst

MAT_SXP_SPEC_MASKDATA

Formats.m3DSConst

MAT_SXP_TEXT2_DATA

Formats.m3DSConst

MAT_SXP_TEXT2_MASKDATA

Formats.m3DSConst

MAT_SXP_TEXT_DATA

Formats.m3DSConst

MAT_SXP_TEXT_MASKDATA

Formats.m3DSConst

MAT_TEX2MAP

Formats.m3DSConst

MAT_TEX2MASK

Formats.m3DSConst

MAT_TEXMAP

Formats.m3DSConst

MAT_TEXMASK

Formats.m3DSConst

MAT_TRANSPARENCY

Formats.m3DSConst

MAT_TWO_SIDE

Formats.m3DSConst

MAT_USE_REFBLUR

Formats.m3DSConst

MAT_USE_XPFALL

Formats.m3DSConst

MAT_WIRE

Formats.m3DSConst

MAT_WIREABS

Formats.m3DSConst

MAT_WIRESIZE

Formats.m3DSConst

MAT_XPFALL

Formats.m3DSConst

MAT_XPFALLIN

Formats.m3DSConst

MaxAbsXYZComponent

GLS.VectorGeometry

Returns the max of the Abs(X), Abs(Y) and Abs(Z) components of a vector (W is ignored)

MaxColorAttachments

GLS.FBORenderer

MaxComp

GLS.VectorGeometry

MaxDouble

GLS.VectorGeometry

MaxExtended

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

MaxFloat

GLS.VectorGeometry

Returns the maximum of given values.

MaxFloat

GLS.VectorGeometry

Returns the maximum value of the array.

MaxInteger

GLS.VectorGeometry

MaxInteger

GLS.VectorGeometry

MaxInteger

GLS.VectorGeometry

MaxInteger

GLS.VectorGeometry

MaxSingle

GLS.VectorGeometry

MaxTriangles

GLS.Triangulation

MaxUserClasses

Physics.ODEImport

ExportInitODEMarker

MaxVector

GLS.VectorGeometry

MaxVector

GLS.VectorGeometry

Replace components of v with the max of v or v1 component. Maximum is computed per component

MaxVertices

GLS.Triangulation

Set these as applicable

MaxVideoModes

GLS.Screen

MaxXYZComponent

GLS.VectorGeometry

MaxXYZComponent

GLS.VectorGeometry

Returns the max of the X, Y and Z components of a vector (W is ignored)

MAX_HARDWARE_LIGHT

GLS.State

MAX_HARDWARE_TEXTURE_UNIT

GLS.State

MAX_HARDWARE_UNIFORM_BUFFER_BINDING

GLS.State

MAX_MATRIX_STACK_DEPTH

GLS.PipelineTransformation

MAX_MD2_FRAMES

Formats.MD2

MAX_MD2_SKINNAME

Formats.MD2

MAX_MD2_SKINS

Formats.MD2

MAX_MD2_TRIANGLES

Formats.MD2

MAX_MD2_VERTICES

Formats.MD2

MAX_MS3D_GROUPS

GLS.FileMS3D

MAX_MS3D_JOINTS

GLS.FileMS3D

MAX_MS3D_KEYFRAMES

GLS.FileMS3D

MAX_MS3D_MATERIALS

GLS.FileMS3D

MAX_MS3D_TRIANGLES

GLS.FileMS3D

MAX_MS3D_VERTICES

GLS.FileMS3D

MAX_OBJECT_STACK_DEPTH

GLS.Selection

MAX_SHADER_LIGHT

GLS.State

MAX_TEXTURES

Formats.Q3BSP

MCIWndCanConfig

Formats.VFW

MCIWndCanEject

Formats.VFW

MCIWndCanPlay

Formats.VFW

– Can macros —————————————————————

MCIWndCanRecord

Formats.VFW

MCIWndCanSave

Formats.VFW

MCIWndCanWindow

Formats.VFW

MCIWndChangeStyles

Formats.VFW

MCIWndClose

Formats.VFW

MCIWndCreate

Formats.VFW

MCIWndCreateA

Formats.VFW

MCIWndCreateW

Formats.VFW

MCIWndDestroy

Formats.VFW

MCIWndEject

Formats.VFW

MCIWndEnd

Formats.VFW

MCIWNDF_NOAUTOSIZEMOVIE

Formats.VFW

no toolbar

MCIWNDF_NOAUTOSIZEWINDOW

Formats.VFW

– Window styles ————————————————————

MCIWNDF_NOERRORDLG

Formats.VFW

Give a record button

MCIWNDF_NOMENU

Formats.VFW

when window size changes

MCIWNDF_NOOPEN

Formats.VFW

Show Error Dlgs for MCI cmds?

MCIWNDF_NOPLAYBAR

Formats.VFW

when movie size changes

MCIWNDF_NOTIFYALL

Formats.VFW

tell parent of an error

MCIWNDF_NOTIFYANSI

Formats.VFW

tell all

MCIWNDF_NOTIFYERROR

Formats.VFW

tell parent of size change

MCIWNDF_NOTIFYMEDIA

Formats.VFW

tell parent of media change

MCIWNDF_NOTIFYMEDIAA

Formats.VFW

The MEDIA notification includes a text string. To receive notifications in ANSI instead of unicode set the MCIWNDF_NOTIFYANSI style bit. The macro below includes this bit by default unless you define UNICODE in your application.

MCIWNDF_NOTIFYMEDIAW

Formats.VFW

tell parent of media change

MCIWNDF_NOTIFYMODE

Formats.VFW

show all

MCIWNDF_NOTIFYPOS

Formats.VFW

tell parent of mode change

MCIWNDF_NOTIFYSIZE

Formats.VFW

tell parent of pos change

MCIWNDF_RECORD

Formats.VFW

MCIWNDF_SHOWALL

Formats.VFW

show mode in caption

MCIWNDF_SHOWMODE

Formats.VFW

show position in caption

MCIWNDF_SHOWNAME

Formats.VFW

no popup menu from RBUTTONDOWN

MCIWNDF_SHOWPOS

Formats.VFW

show name in caption

MCIWndGetActiveTimer

Formats.VFW

MCIWndGetAlias

Formats.VFW

MCIWndGetDest

Formats.VFW

MCIWndGetDevice

Formats.VFW

MCIWndGetDeviceID

Formats.VFW

MCIWndGetEnd

Formats.VFW

MCIWndGetError

Formats.VFW

MCIWndGetFileName

Formats.VFW

MCIWndGetInactiveTimer

Formats.VFW

MCIWndGetLength

Formats.VFW

MCIWndGetMode

Formats.VFW

MCIWndGetPalette

Formats.VFW

#define MCIWndActivate(hwnd, f) (void)MCIWndSM(hwnd, WM_ACTIVATE, (WPARAM)(BOOL)(f), 0)

MCIWndGetPosition

Formats.VFW

MCIWndGetPositionString

Formats.VFW

MCIWndGetRepeat

Formats.VFW

MCIWndGetSource

Formats.VFW

MCIWndGetSpeed

Formats.VFW

MCIWndGetStart

Formats.VFW

MCIWndGetStyles

Formats.VFW

MCIWndGetTimeFormat

Formats.VFW

MCIWndGetVolume

Formats.VFW

MCIWndGetZoom

Formats.VFW

MCIWndHome

Formats.VFW

MCIWNDM_CAN_CONFIG

Formats.VFW

MCIWNDM_CAN_EJECT

Formats.VFW

MCIWNDM_CAN_PLAY

Formats.VFW

MCIWNDM_CAN_RECORD

Formats.VFW

MCIWNDM_CAN_SAVE

Formats.VFW

MCIWNDM_CAN_WINDOW

Formats.VFW

MCIWNDM_CHANGESTYLES

Formats.VFW

MCIWNDM_EJECT

Formats.VFW

MCIWNDM_GETACTIVETIMER

Formats.VFW

MCIWNDM_GETALIAS

Formats.VFW

MCIWNDM_GETDEVICE

Formats.VFW

MCIWNDM_GETDEVICEA

Formats.VFW

MCIWNDM_GETDEVICEID

Formats.VFW

all the text-related messages are defined out of order above (they need to be defined before the MCIWndOpen() macros

MCIWNDM_GETDEVICEW

Formats.VFW

MCIWNDM_GETEND

Formats.VFW

MCIWNDM_GETERROR

Formats.VFW

MCIWNDM_GETERRORA

Formats.VFW

MCIWNDM_GETERRORW

Formats.VFW

MCIWNDM_GETFILENAME

Formats.VFW

MCIWNDM_GETFILENAMEA

Formats.VFW

MCIWNDM_GETFILENAMEW

Formats.VFW

MCIWNDM_GETINACTIVETIMER

Formats.VFW

MCIWNDM_GETLENGTH

Formats.VFW

MCIWNDM_GETMODE

Formats.VFW

MCIWNDM_GETMODEA

Formats.VFW

MCIWNDM_GETMODEW

Formats.VFW

MCIWNDM_GETPALETTE

Formats.VFW

MCIWNDM_GETPOSITION

Formats.VFW

MCIWNDM_GETPOSITIONA

Formats.VFW

MCIWNDM_GETPOSITIONW

Formats.VFW

MCIWNDM_GETREPEAT

Formats.VFW

MCIWNDM_GETSPEED

Formats.VFW

MCIWNDM_GETSTART

Formats.VFW

MCIWNDM_GETSTYLES

Formats.VFW

MCIWNDM_GETTIMEFORMAT

Formats.VFW

MCIWNDM_GETTIMEFORMATA

Formats.VFW

MCIWNDM_GETTIMEFORMATW

Formats.VFW

MCIWNDM_GETVOLUME

Formats.VFW

MCIWNDM_GETZOOM

Formats.VFW

MCIWNDM_GET_DEST

Formats.VFW

MCIWNDM_GET_SOURCE

Formats.VFW

MCIWNDM_NEW

Formats.VFW

MCIWNDM_NEWA

Formats.VFW

MCIWNDM_NEWW

Formats.VFW

MCIWNDM_NOTIFYERROR

Formats.VFW

wp = hwnd, lp = fn

MCIWNDM_NOTIFYMEDIA

Formats.VFW

wp = hwnd

MCIWNDM_NOTIFYMODE

Formats.VFW

– Messages MCIWND will send to an app ————————————–

MCIWNDM_NOTIFYPOS

Formats.VFW

wp = hwnd, lp = mode

MCIWNDM_NOTIFYSIZE

Formats.VFW

wp = hwnd, lp = pos

MCIWNDM_OPEN

Formats.VFW

MCIWNDM_OPENA

Formats.VFW

MCIWNDM_OPENINTERFACE

Formats.VFW

MCIWNDM_OPENW

Formats.VFW

MCIWNDM_PALETTEKICK

Formats.VFW

MCIWNDM_PLAYFROM

Formats.VFW

MCIWNDM_PLAYREVERSE

Formats.VFW

MCIWNDM_PLAYTO

Formats.VFW

MCIWNDM_PUT_DEST

Formats.VFW

MCIWNDM_PUT_SOURCE

Formats.VFW

MCIWNDM_REALIZE

Formats.VFW

MCIWNDM_RETURNSTRING

Formats.VFW

MCIWNDM_RETURNSTRINGA

Formats.VFW

MCIWNDM_RETURNSTRINGW

Formats.VFW

MCIWNDM_SENDSTRING

Formats.VFW

– Map defaults to A ——————————————————–

MCIWNDM_SENDSTRINGA

Formats.VFW

– Define both A and W messages ———————————————

MCIWNDM_SENDSTRINGW

Formats.VFW

MCIWNDM_SETACTIVETIMER

Formats.VFW

MCIWNDM_SETINACTIVETIMER

Formats.VFW

MCIWNDM_SETOWNER

Formats.VFW

MCIWNDM_SETPALETTE

Formats.VFW

MCIWNDM_SETREPEAT

Formats.VFW

MCIWNDM_SETSPEED

Formats.VFW

MCIWNDM_SETTIMEFORMAT

Formats.VFW

MCIWNDM_SETTIMEFORMATA

Formats.VFW

MCIWNDM_SETTIMEFORMATW

Formats.VFW

MCIWNDM_SETTIMERS

Formats.VFW

MCIWNDM_SETVOLUME

Formats.VFW

MCIWNDM_SETZOOM

Formats.VFW

MCIWNDM_VALIDATEMEDIA

Formats.VFW

MCIWndNew

Formats.VFW

If you dont give a device it will use the current device....

MCIWndOpen

Formats.VFW

MCIWndOpenDialog

Formats.VFW

MCIWNDOPENF_NEW

Formats.VFW

– Flags for the MCIWndOpen command —————————————–

MCIWndOpenInterface

Formats.VFW

MCIWndPaletteKick

Formats.VFW

MCIWndPause

Formats.VFW

MCIWndPlay

Formats.VFW

MCIWndPlayFrom

Formats.VFW

MCIWndPlayFromTo

Formats.VFW

MCIWndPlayReverse

Formats.VFW

MCIWndPlayTo

Formats.VFW

MCIWndPutDest

Formats.VFW

MCIWndPutSource

Formats.VFW

MCIWndRealize

Formats.VFW

MCIWndRecord

Formats.VFW

MCIWndRegisterClass

Formats.VFW

MCIWndCreateA

MCIWndResume

Formats.VFW

MCIWndReturnString

Formats.VFW

MCIWndSave

Formats.VFW

MCIWndSaveDialog

Formats.VFW

MCIWndSeek

Formats.VFW

MCIWndSendString

Formats.VFW

MCIWndSetActiveTimer

Formats.VFW

MCIWndSetInactiveTimer

Formats.VFW

MCIWndSetOwner

Formats.VFW

MCIWndSetPalette

Formats.VFW

MCIWndSetRepeat

Formats.VFW

MCIWndSetSpeed

Formats.VFW

MCIWndSetTimeFormat

Formats.VFW

MCIWndSetTimers

Formats.VFW

MCIWndSetVolume

Formats.VFW

MCIWndSetZoom

Formats.VFW

MCIWndSM

Formats.VFW

MCIWnd
MCIWnd window class header file.
the MCIWnd window class is a window class for controling MCI devices MCI devices include, wave files, midi files, AVI Video, cd audio, vcr, video disc, and others..
to learn more about MCI and mci command sets see the "Microsoft Multimedia Programmers's guide" in the Win31 SDK
the easiest use of the MCIWnd class is like so:
hwnd = MCIWndCreate(hwndParent, hInstance, 0, "chimes.wav"); ... MCIWndPlay(hwnd); MCIWndStop(hwnd); MCIWndPause(hwnd); .... MCIWndDestroy(hwnd);
this will create a window with a play/pause, stop and a playbar and start the wave file playing.
mciwnd.h defines macros for all the most common MCI commands, but any string command can be used if needed.
Note: unlike the mciSendString() API, no alias or file name needs to be specifed, since the device to use is implied by the window handle.
MCIWndSendString(hwnd, "setaudio stream to 2");
(C) Copyright Microsoft Corp. 1991-1995. All rights reserved.
WIN32:
MCIWnd supports both ansi and unicode interfaces. For any message that takes or returns a text string, two versions of the message are defined, appended with A or W for Ansi or Wide Char. The message or api itself is defined to be one or other of these depending on whether you have UNICODE defined in your application. Thus for the api MCIWndCreate, there are in fact two apis, MCIWndCreateA and MCIWndCreateW. If you call MCIWndCreate, this will be re-routed to MCIWndCreateA unless UNICODE is defined when building your application. In any one application, you can mix calls to the Ansi and Unicode entrypoints.
If you use SendMessage instead of the macros below such as MCIWndOpen(), you will see that the messages have changed for WIN32, to support Ansi and Unicode entrypoints. In particular, MCI_OPEN has been replaced by MCWNDM_OPENA, or MCIWNDM_OPENW (MCIWNDM_OPEN is defined to be one or other of these).
Also, note that the WIN32 implementation of MCIWnd uses UNICODE so all apis and messages supporting ANSI strings do so by mapping them UNICODE strings and then calling the corresponding UNICODE entrypoint.

MCIWndStep

Formats.VFW

MCIWndStop

Formats.VFW

MCIWndUseFrames

Formats.VFW

MCIWndUseTime

Formats.VFW

MCIWndValidateMedia

Formats.VFW

MCIWND_END

Formats.VFW

MCIWND_START

Formats.VFW

– Special seek values for START and END ————————————

MCIWND_WINDOW_CLASS

Formats.VFW

MC_UnCompressQuat

Formats.GL2

MDATA

Formats.m3DSConst

Mesh Chunk Ids

MDCFILE_IDENTITY

GLS.FileMDC

MDCFILE_VERSION

GLS.FileMDC

MDC_BASEVERTEX_FACTOR

GLS.FileMDC

MDC_COMPVERTEX_FACTOR

GLS.FileMDC

1/64;

MESH_COLOR

Formats.m3DSConst

MESH_MATRIX

Formats.m3DSConst

MESH_TEXTURE_INFO

Formats.m3DSConst

MESH_VERSION

Formats.m3DSConst

MidTexPoint

GLS.VectorGeometry

MinAbsXYZComponent

GLS.VectorGeometry

Returns the min of the Abs(X), Abs(Y) and Abs(Z) components of a vector (W is ignored)

MinComp

GLS.VectorGeometry

1.1E+4932 <-Overflowing in c++;

MinDouble

GLS.VectorGeometry

MinExtended

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

MinFloat

GLS.VectorGeometry

Returns the minimum of given values.

MinFloat

GLS.VectorGeometry

Returns the minimum value of the array.

MinInteger

GLS.VectorGeometry

MinInteger

GLS.VectorGeometry

MinInteger

GLS.VectorGeometry

MinInteger

GLS.VectorGeometry

MinPositiveCoef

GLS.Polynomials

Finds the minimum positive coef in the array in aMin. Returns true if such an item was found.

MinSingle

GLS.VectorGeometry

Ranges of the IEEE floating point types, including denormals with Math.pas compatible name

MinusXVector

GLS.VectorGeometry

MinusYVector

GLS.VectorGeometry

MinusZVector

GLS.VectorGeometry

MinVector

GLS.VectorGeometry

MinVector

GLS.VectorGeometry

Replace components of v with the min of v or v1 component. Minimum is computed per component

MinXYZComponent

GLS.VectorGeometry

MinXYZComponent

GLS.VectorGeometry

Returns the min of the X, Y and Z components of a vector (W is ignored)

Mix_AllocateChannels

SDL2.Mixer

* Dynamically change the number of channels managed by the mixer. If decreasing the number of channels, the upper channels are stopped. This function returns the new number of allocated channels. *

Mix_ChannelFinished

SDL2.Mixer

MIX_CHANNELS

SDL2.Mixer

* The default mixer has 8 simultaneous mixing channels *

MIX_CHANNEL_POST

SDL2.Mixer

* Special Effects API by ryan c. gordon. (icculus@icculus.org) *

Mix_CloseAudio

SDL2.Mixer

* Close the mixer, halting all playing audio *

MIX_DEFAULT_CHANNELS

SDL2.Mixer

MIX_DEFAULT_FORMAT

SDL2.Mixer

MIX_DEFAULT_FREQUENCY

SDL2.Mixer

* Good default values for a PC soundcard *

Mix_EachSoundFont

SDL2.Mixer

MIX_EFFECTSMAXSPEED

SDL2.Mixer

Mix_ExpireChannel

SDL2.Mixer

* Change the expiration delay for a particular channel. The sample will stop playing after the 'ticks' milliseconds have elapsed, or remove the expiration if 'ticks' is -1 *

Mix_FadeInChannel

SDL2.Mixer

Mix_FadeInChannelTimed

SDL2.Mixer

Mix_FadeInMusic

SDL2.Mixer

* Fade in music or a channel over "ms" milliseconds, same semantics as the "Play" functions *

Mix_FadeInMusicPos

SDL2.Mixer

Mix_FadeOutChannel

SDL2.Mixer

* Halt a channel, fading it out progressively till it's silent The ms parameter indicates the number of milliseconds the fading will take. *

Mix_FadeOutGroup

SDL2.Mixer

Mix_FadeOutMusic

SDL2.Mixer

Mix_FadingChannel

SDL2.Mixer

Mix_FadingMusic

SDL2.Mixer

* Query the fading status of a channel *

Mix_FreeChunk

SDL2.Mixer

* Free an audio chunk previously loaded *

Mix_FreeMusic

SDL2.Mixer

Mix_GetChunk

SDL2.Mixer

* Get the Mix_Chunk currently associated with a mixer channel Returns NULL if it's an invalid channel, or there's no chunk associated. *

Mix_GetChunkDecoder

SDL2.Mixer

Mix_GetError

SDL2.Mixer

Mix_GetMusicDecoder

SDL2.Mixer

Mix_GetMusicHookData

SDL2.Mixer

* Get a pointer to the user data for the current music hook *

Mix_GetMusicType

SDL2.Mixer

* Find out the music format of a mixer music, or the currently playing music, if 'music' is NULL. *

Mix_GetNumChunkDecoders

SDL2.Mixer

* Get a list of chunk/music decoders that this build of SDL_mixer provides. This list can change between builds AND runs of the program, if external libraries that add functionality become available. You must successfully call Mix_OpenAudio() before calling these functions. This API is only available in SDL_mixer 1.2.9 and later.
// usage... int i; const int total = Mix_GetNumChunkDecoders(); for (i = 0; i < total; i++) printf("Supported chunk decoder: [%s]\n", Mix_GetChunkDecoder(i));
Appearing in this list doesn't promise your specific audio file will decode...but it's handy to know if you have, say, a functioning Timidity install.
These return values are static, read-only data; do not modify or free it. The pointers remain valid until you call Mix_CloseAudio(). *

Mix_GetNumMusicDecoders

SDL2.Mixer

Mix_GetSoundFonts

SDL2.Mixer

Mix_GetSynchroValue

SDL2.Mixer

Mix_GroupAvailable

SDL2.Mixer

* Finds the first available channel in a group of channels, returning -1 if none are available. *

Mix_GroupChannel

SDL2.Mixer

* Attach a tag to a channel. A tag can be assigned to several mixer channels, to form groups of channels. If 'tag' is -1, the tag is removed (actually -1 is the tag used to represent the group of all the channels). Returns true if everything was OK. *

Mix_GroupChannels

SDL2.Mixer

* Assign several consecutive channels to a group *

Mix_GroupCount

SDL2.Mixer

* Returns the number of channels in a group. This is also a subtle way to get the total number of channels when 'tag' is -1 *

Mix_GroupNewer

SDL2.Mixer

* Finds the "most recent" (i.e. last) sample playing in a group of channels *

Mix_GroupOldest

SDL2.Mixer

* Finds the "oldest" sample playing in a group of channels *

Mix_HaltChannel

SDL2.Mixer

* Halt playing of a particular channel *

Mix_HaltGroup

SDL2.Mixer

Mix_HaltMusic

SDL2.Mixer

Mix_HookMusic

SDL2.Mixer

* Add your own music player or additional mixer function. If 'mix_func' is NULL, the default music player is re-enabled. *

Mix_HookMusicFinished

SDL2.Mixer

Mix_Init

SDL2.Mixer

* Loads dynamic libraries and prepares them for use. Flags should be one or more flags from MIX_InitFlags OR'd together. It returns the flags successfully initialized, or 0 on failure. *

MIX_INIT_FLAC

SDL2.Mixer

MIX_INIT_FLUIDSYNTH

SDL2.Mixer

MIX_INIT_MOD

SDL2.Mixer

MIX_INIT_MODPLUG

SDL2.Mixer

MIX_INIT_MP3

SDL2.Mixer

MIX_INIT_OGG

SDL2.Mixer

Mix_Linked_Version

SDL2.Mixer

* This function gets the version of the dynamically linked SDL_mixer library. it should NOT be used to fill a version structure, instead you should use the SDL_MIXER_VERSION() macro. *

Mix_LoadMUS

SDL2.Mixer

Mix_LoadMUSType_RW

SDL2.Mixer

* Load a music file from an SDL_RWop object assuming a specific format *

Mix_LoadMUS_RW

SDL2.Mixer

* Load a music file from an SDL_RWop object (Ogg and MikMod specific currently) Matt Campbell (matt@campbellhome.dhs.org) April 2000 *

Mix_LoadWAV

SDL2.Mixer

Mix_LoadWAV_RW

SDL2.Mixer

* Load a wave file or a music (.mod .s3m .it .xm) file *

MIX_MAJOR_VERSION

SDL2.Mixer

* Backwards compatibility *

MIX_MAX_VOLUME

SDL2.Mixer

MIX_MINOR_VERSION

SDL2.Mixer

Mix_OpenAudio

SDL2.Mixer

* Open the mixer with a certain audio format *

MIX_PATCHLEVEL

SDL2.Mixer

Mix_Pause

SDL2.Mixer

* Pause/Resume a particular channel *

Mix_Paused

SDL2.Mixer

Mix_PausedMusic

SDL2.Mixer

Mix_PauseMusic

SDL2.Mixer

* Pause/Resume the music stream *

Mix_PlayChannel

SDL2.Mixer

* Play an audio chunk on a specific channel. If the specified channel is -1, play on the first free channel. If 'loops' is greater than zero, loop the sound that many times. If 'loops' is -1, loop inifinitely (˜65000 times). Returns which channel was used to play the sound. *

Mix_PlayChannelTimed

SDL2.Mixer

* The same as above, but the sound is played at most 'ticks' milliseconds *

Mix_Playing

SDL2.Mixer

* Check the status of a specific channel. If the specified channel is -1, check all channels. *

Mix_PlayingMusic

SDL2.Mixer

Mix_PlayMusic

SDL2.Mixer

Mix_QuerySpec

SDL2.Mixer

* Find out what the actual audio device parameters are. This function returns 1 if the audio has been opened, 0 otherwise. *

Mix_QuickLoad_RAW

SDL2.Mixer

* Load raw audio data of the mixer format from a memory buffer *

Mix_QuickLoad_WAV

SDL2.Mixer

* Load a wave file of the mixer format from a memory buffer *

Mix_Quit

SDL2.Mixer

* Unloads libraries loaded with Mix_Init *

Mix_RegisterEffect

SDL2.Mixer

* Register a special effect function. At mixing time, the channel data is * copied into a buffer and passed through each registered effect function. * After it passes through all the functions, it is mixed into the final * output stream. The copy to buffer is performed once, then each effect * function performs on the output of the previous effect. Understand that * this extra copy to a buffer is not performed if there are no effects * registered for a given chunk, which saves CPU cycles, and any given * effect will be extra cycles, too, so it is crucial that your code run * fast. Also note that the data that your function is given is in the * format of the sound device, and not the format you gave to Mix_OpenAudio(), * although they may in reality be the same. This is an unfortunate but * necessary speed concern. Use Mix_QuerySpec() to determine if you can * handle the data before you register your effect, and take appropriate * actions. * You may also specify a callback (Mix_EffectDone_t) that is called when * the channel finishes playing. This gives you a more fine-grained control * than Mix_ChannelFinished(), in case you need to free effect-specific * resources, etc. If you don't need this, you can specify NULL. * You may set the callbacks before or after calling Mix_PlayChannel(). * Things like Mix_SetPanning() are just internal special effect functions, * so if you are using that, you've already incurred the overhead of a copy * to a separate buffer, and that these effects will be in the queue with * any functions you've registered. The list of registered effects for a * channel is reset when a chunk finishes playing, so you need to explicitly * set them with each call to Mix_PlayChannel*(). * You may also register a special effect function that is to be run after * final mixing occurs. The rules for these callbacks are identical to those * in Mix_RegisterEffect, but they are run after all the channels and the * music have been mixed into a single stream, whereas channel-specific * effects run on a given channel before any other mixing occurs. These * global effect callbacks are call "posteffects". Posteffects only have * their Mix_EffectDone_t function called when they are unregistered (since * the main output stream is never "done" in the same sense as a channel). * You must unregister them manually when you've had enough. Your callback * will be told that the channel being mixed is (MIX_CHANNEL_POST) if the * processing is considered a posteffect. * * After all these effects have finished processing, the callback registered * through Mix_SetPostMix() runs, and then the stream goes to the audio * device. * * DO NOT EVER call SDL_LockAudio() from your callback function! * * returns zero if error (no such channel), nonzero if added. * Error messages can be retrieved from Mix_GetError(). *

Mix_ReserveChannels

SDL2.Mixer

* Reserve the first channels (0 -> n-1) for the application, i.e. don't allocate them dynamically to the next sample if requested with a -1 value below. Returns the number of reserved channels. *

Mix_Resume

SDL2.Mixer

Mix_ResumeMusic

SDL2.Mixer

Mix_RewindMusic

SDL2.Mixer

Mix_SetDistance

SDL2.Mixer

* Set the "distance" of a channel. (distance) is an integer from 0 to 255 * that specifies the location of the sound in relation to the listener. * Distance 0 is overlapping the listener, and 255 is as far away as possible * A distance of 255 does not guarantee silence; in such a case, you might * want to try changing the chunk's volume, or just cull the sample from the * mixing process with Mix_HaltChannel(). * For efficiency, the precision of this effect may be limited (distances 1 * through 7 might all produce the same effect, 8 through 15 are equal, etc). * (distance) is an integer between 0 and 255 that specifies the space * between the sound and the listener. The larger the number, the further * away the sound is. * Setting (distance) to 0 unregisters this effect, since the data would be * unchanged. * If you need more precise positional audio, consider using OpenAL for * spatialized effects instead of SDL_mixer. This is only meant to be a * basic effect for simple "3D" games. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the distance attenuation will be done to the final mixed stream before * passing it on to the audio device. * * This uses the Mix_RegisterEffect() API internally. * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if position effect is enabled. * Error messages can be retrieved from Mix_GetError(). *

Mix_SetError

SDL2.Mixer

* We'll use SDL for reporting errors *

Mix_SetMusicCMD

SDL2.Mixer

* Stop music and set external music playback command *

Mix_SetMusicPosition

SDL2.Mixer

* Set the current position in the music stream. This returns 0 if successful, or -1 if it failed or isn't implemented. This function is only implemented for MOD music formats (set pattern order number) and for OGG, FLAC, MP3_MAD, and MODPLUG music (set position in seconds), at the moment. *

Mix_SetPanning

SDL2.Mixer

* Set the panning of a channel. The left and right channels are specified * as integers between 0 and 255, quietest to loudest, respectively. * * Technically, this is just individual volume control for a sample with * two (stereo) channels, so it can be used for more than just panning. * If you want real panning, call it like this: * * Mix_SetPanning(channel, left, 255 - left); * * ...which isn't so hard. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the panning will be done to the final mixed stream before passing it on * to the audio device. * * This uses the Mix_RegisterEffect() API internally, and returns without * registering the effect function if the audio device is not configured * for stereo output. Setting both (left) and (right) to 255 causes this * effect to be unregistered, since that is the data's normal state. * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if panning effect enabled. Note that an audio device in mono * mode is a no-op, but this call will return successful in that case. * Error messages can be retrieved from Mix_GetError(). *

Mix_SetPosition

SDL2.Mixer

* Set the position of a channel. (angle) is an integer from 0 to 360, that * specifies the location of the sound in relation to the listener. (angle) * will be reduced as neccesary (540 becomes 180 degrees, -100 becomes 260). * Angle 0 is due north, and rotates clockwise as the value increases. * For efficiency, the precision of this effect may be limited (angles 1 * through 7 might all produce the same effect, 8 through 15 are equal, etc). * (distance) is an integer between 0 and 255 that specifies the space * between the sound and the listener. The larger the number, the further * away the sound is. Using 255 does not guarantee that the channel will be * culled from the mixing process or be completely silent. For efficiency, * the precision of this effect may be limited (distance 0 through 5 might * all produce the same effect, 6 through 10 are equal, etc). Setting (angle) * and (distance) to 0 unregisters this effect, since the data would be * unchanged. * * If you need more precise positional audio, consider using OpenAL for * spatialized effects instead of SDL_mixer. This is only meant to be a * basic effect for simple "3D" games. * * If the audio device is configured for mono output, then you won't get * any effectiveness from the angle; however, distance attenuation on the * channel will still occur. While this effect will function with stereo * voices, it makes more sense to use voices with only one channel of sound, * so when they are mixed through this effect, the positioning will sound * correct. You can convert them to mono through SDL before giving them to * the mixer in the first place if you like. * * Setting (channel) to MIX_CHANNEL_POST registers this as a posteffect, and * the positioning will be done to the final mixed stream before passing it * on to the audio device. * * This is a convenience wrapper over Mix_SetDistance() and Mix_SetPanning(). * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if position effect is enabled. * Error messages can be retrieved from Mix_GetError(). *

Mix_SetPostMix

SDL2.Mixer

Mix_SetReverseStereo

SDL2.Mixer

* Causes a channel to reverse its stereo. This is handy if the user has his * speakers hooked up backwards, or you would like to have a minor bit of * psychedelia in your sound code. :) Calling this function with (flip) * set to non-zero reverses the chunks's usual channels. If (flip) is zero, * the effect is unregistered. * * This uses the Mix_RegisterEffect() API internally, and thus is probably * more CPU intensive than having the user just plug in his speakers * correctly. Mix_SetReverseStereo() returns without registering the effect * function if the audio device is not configured for stereo output. * * If you specify MIX_CHANNEL_POST for (channel), then this the effect is used * on the final mixed stream before sending it on to the audio device (a * posteffect). * * returns zero if error (no such channel or Mix_RegisterEffect() fails), * nonzero if reversing effect is enabled. Note that an audio device in mono * mode is a no-op, but this call will return successful in that case. * Error messages can be retrieved from Mix_GetError(). *

Mix_SetSoundFonts

SDL2.Mixer

* Set/Get/Iterate SoundFonts paths to use by supported MIDI backends *

Mix_SetSynchroValue

SDL2.Mixer

* Synchro value is set by MikMod from modules while playing *

Mix_UnregisterAllEffects

SDL2.Mixer

* You may not need to call this explicitly, unless you need to stop all * effects from processing in the middle of a chunk's playback. Note that * this will also shut off some internal effect processing, since * Mix_SetPanning() and others may use this API under the hood. This is * called internally when a channel completes playback. * Posteffects are never implicitly unregistered as they are for channels, * but they may be explicitly unregistered through this function by * specifying MIX_CHANNEL_POST for a channel. * returns zero if error (no such channel), nonzero if all effects removed. * Error messages can be retrieved from Mix_GetError(). *

Mix_UnregisterEffect

SDL2.Mixer

* You may not need to call this explicitly, unless you need to stop an * effect from processing in the middle of a chunk's playback. * Posteffects are never implicitly unregistered as they are for channels, * but they may be explicitly unregistered through this function by * specifying MIX_CHANNEL_POST for a channel. * returns zero if error (no such channel or effect), nonzero if removed. * Error messages can be retrieved from Mix_GetError(). *

MIX_VERSION

SDL2.Mixer

Mix_Volume

SDL2.Mixer

* Set the volume in the range of 0-128 of a specific channel or chunk. If the specified channel is -1, set volume for all channels. Returns the original volume. If the specified volume is -1, just return the current volume. *

Mix_VolumeChunk

SDL2.Mixer

Mix_VolumeMusic

SDL2.Mixer

MKFOURCC

Formats.VFW

***************************************************************************/ /* */ /* Macros */ /* */ /* should we define this?? */ /* */ /***************************************************************************

MLIBMAGIC

Formats.m3DSConst

mmioFOURCC

Formats.VFW

'1632'

MorphSmoothMax3DS

Formats.m3DSConst

Minimum morph smoothing angle

MorphSmoothMin3DS

Formats.m3DSConst

Maximum morph object name string size MORPH_SMOOTH

MorphTrackStrMax3DS

Formats.m3DSConst

Maximum instance name string size MORPH_TRACK

MORPH_SMOOTH

Formats.m3DSConst

MORPH_TRACK_TAG

Formats.m3DSConst

MORPH_TRACK_TAG_KEY

Formats.m3DSConst

MoveObjectAround

GLS.VectorGeometry

Extracted from Camera.MoveAroundTarget(pitch, turn)

MRT_BUFFERS

GLS.Context

Buffer ID's for Multiple-Render-Targets (using GL_ATI_draw_buffers)

MshMatGroupMin3DS

Formats.m3DSConst

minimum number of faces MshMatGroup3DS

MshMatGroupStrMax3DS

Formats.m3DSConst

minimum number of faces per material

MSH_BOXMAP

Formats.m3DSConst

MSH_MAT_GROUP

Formats.m3DSConst

MSH_MAT_GROUP_ENTRY

Formats.m3DSConst

M_BEVEL

Formats.m3DSConst

M_FIT

Formats.m3DSConst

M_SCALE

Formats.m3DSConst

M_TEETER

Formats.m3DSConst

M_TWIST

Formats.m3DSConst

NamedObjectStrMax3DS

Formats.m3DSConst

Maximum map name string size NAMED_OBJECT

NAMED_OBJECT

Formats.m3DSConst

NCameraFocMax3DS

Formats.m3DSConst

Minimum lens size for camera

NCameraFocMin3DS

Formats.m3DSConst

Maximum field of view for camera

NCameraFOVMax3DS

Formats.m3DSConst

Minimum field of view for camera

NCameraFOVMin3DS

Formats.m3DSConst

Maximum named object string size N_CAMERA

nearCallBack

Physics.ODEManager

ODE nearCallBack, throws near callback to the collision procedure of the ODE manager linked by the Data pointer

NegateVector

GLS.VectorGeometry

Negates the vector

NegateVector

GLS.VectorGeometry

Negates the vector

NegateVector

GLS.VectorGeometry

Negates the vector

NETWORK_VIEW

Formats.m3DSConst

NewtonAlloc

Physics.NewtonImport

NewtonAllocMemory

Physics.NewtonImport

Newton callback functions

NewtonApplyForceAndTorque

Physics.NewtonImport

NewtonAtomicAdd

Physics.NewtonImport

NewtonAtomicSwap

Physics.NewtonImport

NewtonBallCallback

Physics.NewtonImport

NewtonBallGetJointAngle

Physics.NewtonImport

NewtonBallGetJointForce

Physics.NewtonImport

NewtonBallGetJointOmega

Physics.NewtonImport

NewtonBallSetConeLimits

Physics.NewtonImport

NewtonBallSetUserCallback

Physics.NewtonImport

NewtonBodyAddForce

Physics.NewtonImport

NewtonBodyAddImpulse

Physics.NewtonImport

NewtonBodyAddTorque

Physics.NewtonImport

NewtonBodyApplyImpulseArray

Physics.NewtonImport

NewtonBodyApplyImpulsePair

Physics.NewtonImport

NewtonBodyCalculateInverseDynamicsForce

Physics.NewtonImport

NewtonBodyDestructor

Physics.NewtonImport

NewtonBodyFindContact

Physics.NewtonImport

NewtonBodyGetAABB

Physics.NewtonImport

NewtonBodyGetAcceleration

Physics.NewtonImport

NewtonBodyGetAlpha

Physics.NewtonImport

NewtonBodyGetAngularDamping

Physics.NewtonImport

NewtonBodyGetAutoSleep

Physics.NewtonImport

NewtonBodyGetCentreOfMass

Physics.NewtonImport

NewtonBodyGetCollidable

Physics.NewtonImport

NewtonBodyGetCollision

Physics.NewtonImport

NewtonBodyGetContinuousCollisionMode

Physics.NewtonImport

NewtonBodyGetDestructorCallback

Physics.NewtonImport

NewtonBodyGetFirstContactJoint

Physics.NewtonImport

NewtonBodyGetFirstJoint

Physics.NewtonImport

NewtonBodyGetForce

Physics.NewtonImport

NewtonBodyGetForceAndTorqueCallback

Physics.NewtonImport

NewtonBodyGetFreezeState

Physics.NewtonImport

NewtonBodyGetGyroscopicTorque

Physics.NewtonImport

NewtonBodyGetID

Physics.NewtonImport

NewtonBodyGetInertiaMatrix

Physics.NewtonImport

NewtonBodyGetInvInertiaMatrix

Physics.NewtonImport

NewtonBodyGetInvMass

Physics.NewtonImport

NewtonBodyGetJointRecursiveCollision

Physics.NewtonImport

NewtonBodyGetLinearDamping

Physics.NewtonImport

NewtonBodyGetMass

Physics.NewtonImport

NewtonBodyGetMaterialGroupID

Physics.NewtonImport

NewtonBodyGetMatrix

Physics.NewtonImport

NewtonBodyGetNextContactJoint

Physics.NewtonImport

NewtonBodyGetNextJoint

Physics.NewtonImport

NewtonBodyGetOmega

Physics.NewtonImport

NewtonBodyGetPointVelocity

Physics.NewtonImport

NewtonBodyGetPosition

Physics.NewtonImport

NewtonBodyGetRotation

Physics.NewtonImport

NewtonBodyGetSerializedID

Physics.NewtonImport

NewtonBodyGetSimulationState

Physics.NewtonImport

NewtonBodyGetSleepState

Physics.NewtonImport

NewtonBodyGetTorque

Physics.NewtonImport

NewtonBodyGetTransformCallback

Physics.NewtonImport

NewtonBodyGetType

Physics.NewtonImport

NewtonBodyGetUserData

Physics.NewtonImport

NewtonBodyGetVelocity

Physics.NewtonImport

NewtonBodyGetWorld

Physics.NewtonImport

NewtonBodyIntegrateVelocity

Physics.NewtonImport

NewtonBodyIterator

Physics.NewtonImport

NewtonBodySetAngularDamping

Physics.NewtonImport

NewtonBodySetAutoSleep

Physics.NewtonImport

NewtonBodySetCentreOfMass

Physics.NewtonImport

NewtonBodySetCollidable

Physics.NewtonImport

NewtonBodySetCollision

Physics.NewtonImport

NewtonBodySetCollisionScale

Physics.NewtonImport

NewtonBodySetContinuousCollisionMode

Physics.NewtonImport

NewtonBodySetDestructorCallback

Physics.NewtonImport

NewtonBodySetForce

Physics.NewtonImport

NewtonBodySetForceAndTorqueCallback

Physics.NewtonImport

NewtonBodySetFreezeState

Physics.NewtonImport

NewtonBodySetFullMassMatrix

Physics.NewtonImport

NewtonBodySetGyroscopicTorque

Physics.NewtonImport

NewtonBodySetJointRecursiveCollision

Physics.NewtonImport

NewtonBodySetLinearDamping

Physics.NewtonImport

NewtonBodySetMassMatrix

Physics.NewtonImport

NewtonBodySetMassProperties

Physics.NewtonImport

NewtonBodySetMaterialGroupID

Physics.NewtonImport

NewtonBodySetMatrix

Physics.NewtonImport

NewtonBodySetMatrixNoSleep

Physics.NewtonImport

NewtonBodySetMatrixRecursive

Physics.NewtonImport

NewtonBodySetOmega

Physics.NewtonImport

NewtonBodySetOmegaNoSleep

Physics.NewtonImport

NewtonBodySetSimulationState

Physics.NewtonImport

NewtonBodySetSleepState

Physics.NewtonImport

NewtonBodySetTorque

Physics.NewtonImport

NewtonBodySetTransformCallback

Physics.NewtonImport

NewtonBodySetUserData

Physics.NewtonImport

NewtonBodySetVelocity

Physics.NewtonImport

NewtonBodySetVelocityNoSleep

Physics.NewtonImport

NewtonCalculateSpringDamperAcceleration

Physics.NewtonImport

NewtonCollisionAggregateAddBody

Physics.NewtonImport

NewtonCollisionAggregateCreate

Physics.NewtonImport

**********************************************************************************************
collision aggregates, are a collision node on eh broad phase the serve as the root nod for a collection of rigid bodies that shared the property of being in close proximity all the time, they are similar to compound collision by the group bodies instead of collision instances These are good for speeding calculation calculation of rag doll, Vehicles or contractions of rigid bodied lined by joints. also for example if you know that many the life time of a group of bodies like the object on a house of a building will be localize to the confide of the building then warping the bodies under an aggregate will reduce collision calculation of almost an order of magnitude.
**********************************************************************************************

NewtonCollisionAggregateDestroy

Physics.NewtonImport

NewtonCollisionAggregateGetSelfCollision

Physics.NewtonImport

NewtonCollisionAggregateRemoveBody

Physics.NewtonImport

NewtonCollisionAggregateSetSelfCollision

Physics.NewtonImport

NewtonCollisionCalculateAABB

Physics.NewtonImport

NewtonCollisionClosestPoint

Physics.NewtonImport

NewtonCollisionCollide

Physics.NewtonImport

NewtonCollisionCollideContinue

Physics.NewtonImport

NewtonCollisionCopyConstructionCallback

Physics.NewtonImport

NewtonCollisionCreateInstance

Physics.NewtonImport

**********************************************************************************************
General purpose collision library functions
**********************************************************************************************

NewtonCollisionDataPointer

Physics.NewtonImport

NewtonCollisionDestructorCallback

Physics.NewtonImport

NewtonCollisionForEachPolygonDo

Physics.NewtonImport

NewtonCollisionGetInfo

Physics.NewtonImport

NewtonCollisionGetMaterial

Physics.NewtonImport

NewtonCollisionGetMatrix

Physics.NewtonImport

NewtonCollisionGetMode

Physics.NewtonImport

NewtonCollisionGetParentInstance

Physics.NewtonImport

NewtonCollisionGetScale

Physics.NewtonImport

NewtonCollisionGetSkinThickness

Physics.NewtonImport

NewtonCollisionGetSubCollisionHandle

Physics.NewtonImport

NewtonCollisionGetType

Physics.NewtonImport

NewtonCollisionGetUserData

Physics.NewtonImport

NewtonCollisionGetUserID

Physics.NewtonImport

NewtonCollisionIntersectionTest

Physics.NewtonImport

NewtonCollisionIsConvexShape

Physics.NewtonImport

NewtonCollisionIsStaticShape

Physics.NewtonImport

NewtonCollisionIterator

Physics.NewtonImport

NewtonCollisionPointDistance

Physics.NewtonImport

NewtonCollisionRayCast

Physics.NewtonImport

NewtonCollisionSerialize

Physics.NewtonImport

NewtonCollisionSetMaterial

Physics.NewtonImport

NewtonCollisionSetMatrix

Physics.NewtonImport

NewtonCollisionSetMode

Physics.NewtonImport

NewtonCollisionSetScale

Physics.NewtonImport

NewtonCollisionSetSkinThickness

Physics.NewtonImport

NewtonCollisionSetUserData

Physics.NewtonImport

NewtonCollisionSetUserID

Physics.NewtonImport

NewtonCollisionSupportVertex

Physics.NewtonImport

NewtonCollisionTreeRayCastCallback

Physics.NewtonImport

NewtonCompoundCollisionAddSubCollision

Physics.NewtonImport

NewtonCompoundCollisionBeginAddRemove

Physics.NewtonImport

NewtonCompoundCollisionEndAddRemove

Physics.NewtonImport

NewtonCompoundCollisionGetCollisionFromNode

Physics.NewtonImport

NewtonCompoundCollisionGetFirstNode

Physics.NewtonImport

NewtonCompoundCollisionGetNextNode

Physics.NewtonImport

NewtonCompoundCollisionGetNodeByIndex

Physics.NewtonImport

NewtonCompoundCollisionGetNodeIndex

Physics.NewtonImport

NewtonCompoundCollisionRemoveSubCollision

Physics.NewtonImport

NewtonCompoundCollisionRemoveSubCollisionByIndex

Physics.NewtonImport

NewtonCompoundCollisionSetSubCollisionMatrix

Physics.NewtonImport

NewtonConstraintCreateBall

Physics.NewtonImport

**********************************************************************************************
Ball and Socket joint functions
**********************************************************************************************

NewtonConstraintCreateCorkscrew

Physics.NewtonImport

**********************************************************************************************
Corkscrew joint functions
**********************************************************************************************

NewtonConstraintCreateHinge

Physics.NewtonImport

**********************************************************************************************
Hinge joint functions
**********************************************************************************************

NewtonConstraintCreateSlider

Physics.NewtonImport

**********************************************************************************************
Slider joint functions
**********************************************************************************************

NewtonConstraintCreateUniversal

Physics.NewtonImport

**********************************************************************************************
Universal joint functions
**********************************************************************************************

NewtonConstraintCreateUpVector

Physics.NewtonImport

**********************************************************************************************
Up vector joint functions
**********************************************************************************************

NewtonConstraintCreateUserJoint

Physics.NewtonImport

**********************************************************************************************
User defined bilateral Joint
**********************************************************************************************

NewtonConstraintDestructor

Physics.NewtonImport

NewtonContactGetCollision0

Physics.NewtonImport

NewtonContactGetCollision1

Physics.NewtonImport

NewtonContactGetCollisionID0

Physics.NewtonImport

NewtonContactGetCollisionID1

Physics.NewtonImport

NewtonContactGetMaterial

Physics.NewtonImport

NewtonContactJointGetClosestDistance

Physics.NewtonImport

NewtonContactJointGetContactCount

Physics.NewtonImport

NewtonContactJointGetFirstContact

Physics.NewtonImport

**********************************************************************************************
contact joints interface
**********************************************************************************************

NewtonContactJointGetNextContact

Physics.NewtonImport

NewtonContactJointRemoveContact

Physics.NewtonImport

NewtonContactJointResetIntraJointCollision

Physics.NewtonImport

NewtonContactJointResetSelftJointCollision

Physics.NewtonImport

NewtonContactsProcess

Physics.NewtonImport

NewtonConvexCollisionCalculateBuoyancyVolume

Physics.NewtonImport

NewtonConvexCollisionCalculateInertialMatrix

Physics.NewtonImport

NewtonConvexCollisionCalculateVolume

Physics.NewtonImport

NewtonConvexHullGetFaceIndices

Physics.NewtonImport

NewtonConvexHullGetVertexData

Physics.NewtonImport

NewtonCorkscrewCalculateStopAccel

Physics.NewtonImport

NewtonCorkscrewCalculateStopAlpha

Physics.NewtonImport

NewtonCorkscrewCallback

Physics.NewtonImport

NewtonCorkscrewGetJointAngle

Physics.NewtonImport

NewtonCorkscrewGetJointForce

Physics.NewtonImport

NewtonCorkscrewGetJointOmega

Physics.NewtonImport

NewtonCorkscrewGetJointPosit

Physics.NewtonImport

NewtonCorkscrewGetJointVeloc

Physics.NewtonImport

NewtonCorkscrewSetUserCallback

Physics.NewtonImport

NewtonCreate

Physics.NewtonImport

NewtonCreateAsymetricDynamicBody

Physics.NewtonImport

NewtonCreateBox

Physics.NewtonImport

NewtonCreateCapsule

Physics.NewtonImport

NewtonCreateChamferCylinder

Physics.NewtonImport

NewtonCreateCollisionFromSerialization

Physics.NewtonImport

***********************************************************************************************************
Collision serialization functions
***********************************************************************************************************

NewtonCreateCompoundCollision

Physics.NewtonImport

**********************************************************************************************
compound collision primitives creation functions
**********************************************************************************************

NewtonCreateCompoundCollisionFromMesh

Physics.NewtonImport

NewtonCreateCone

Physics.NewtonImport

NewtonCreateContactCallback

Physics.NewtonImport

NewtonCreateConvexHull

Physics.NewtonImport

NewtonCreateConvexHullFromMesh

Physics.NewtonImport

NewtonCreateCylinder

Physics.NewtonImport

NewtonCreateDeformableSolid

Physics.NewtonImport

NewtonCreateDynamicBody

Physics.NewtonImport

body manipulation functions

NewtonCreateFracturedCompoundCollision

Physics.NewtonImport

**********************************************************************************************
Fractured compound collision primitives interface
**********************************************************************************************

NewtonCreateHeightFieldCollision

Physics.NewtonImport

**********************************************************************************************
Static collision shapes functions
**********************************************************************************************

NewtonCreateKinematicBody

Physics.NewtonImport

NewtonCreateMassSpringDamperSystem

Physics.NewtonImport

**********************************************************************************************
particle system interface (soft bodies, individual, pressure bodies and cloth)
**********************************************************************************************

NewtonCreateNull

Physics.NewtonImport

**********************************************************************************************
convex collision primitives creation functions
**********************************************************************************************

NewtonCreateSceneCollision

Physics.NewtonImport

**********************************************************************************************
scene collision are static compound collision that can take polygonal static collisions
**********************************************************************************************

NewtonCreateSphere

Physics.NewtonImport

NewtonCreateTetrahedraLinearBlendSkinWeightsChannel

Physics.NewtonImport

NewtonCreateTreeCollision

Physics.NewtonImport

NewtonCreateTreeCollisionFromMesh

Physics.NewtonImport

NewtonCreateUserMeshCollision

Physics.NewtonImport

***********************************************************************************************************
User Static mesh collision interface
***********************************************************************************************************

NewtonCurrentPlugin

Physics.NewtonImport

NewtonDeformableMeshGetParticleArray

Physics.NewtonImport

NewtonDeformableMeshGetParticleCount

Physics.NewtonImport

NewtonDeformableMeshGetParticleStrideInBytes

Physics.NewtonImport

NewtonDeserializeCallback

Physics.NewtonImport

NewtonDeserializeFromFile

Physics.NewtonImport

NewtonDeserializeScene

Physics.NewtonImport

NewtonDestroy

Physics.NewtonImport

NewtonDestroyAllBodies

Physics.NewtonImport

NewtonDestroyBody

Physics.NewtonImport

NewtonDestroyCollision

Physics.NewtonImport

NewtonDestroyContactCallback

Physics.NewtonImport

NewtonDestroyJoint

Physics.NewtonImport

NewtonDispachThreadJob

Physics.NewtonImport

NewtonFindSerializedBody

Physics.NewtonImport

NewtonFractureCompoundCollisionOnEmitChunk

Physics.NewtonImport

NewtonFractureCompoundCollisionOnEmitCompoundFractured

Physics.NewtonImport

NewtonFractureCompoundCollisionReconstructMainMeshCallBack

Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexCount

Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexNormals

Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexPositions

Physics.NewtonImport

NewtonFracturedCompoundCollisionGetVertexUVs

Physics.NewtonImport

NewtonFracturedCompoundGetFirstSubMesh

Physics.NewtonImport

NewtonFracturedCompoundGetMainMesh

Physics.NewtonImport

NewtonFracturedCompoundGetNextSubMesh

Physics.NewtonImport

NewtonFracturedCompoundIsNodeFreeToDetach

Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetFirstSegment

Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetIndexCount

Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetIndexStream

Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetMaterial

Physics.NewtonImport

NewtonFracturedCompoundMeshPartGetNextSegment

Physics.NewtonImport

NewtonFracturedCompoundNeighborNodeList

Physics.NewtonImport

NewtonFracturedCompoundPlaneClip

Physics.NewtonImport

NewtonFracturedCompoundSetCallbacks

Physics.NewtonImport

NewtonFree

Physics.NewtonImport

NewtonFreeMemory

Physics.NewtonImport

NewtonGetBroadphaseAlgorithm

Physics.NewtonImport

NewtonGetContactMergeTolerance

Physics.NewtonImport

NewtonGetEulerAngle

Physics.NewtonImport

NewtonGetFirstPlugin

Physics.NewtonImport

NewtonGetJointSerializationCallbacks

Physics.NewtonImport

NewtonGetLastUpdateTime

Physics.NewtonImport

NewtonGetMaxThreadsCount

Physics.NewtonImport

NewtonGetMemoryUsed

Physics.NewtonImport

NewtonGetNextPlugin

Physics.NewtonImport

NewtonGetNumberOfSubsteps

Physics.NewtonImport

NewtonGetParallelSolverOnLargeIsland

Physics.NewtonImport

NewtonGetPluginString

Physics.NewtonImport

NewtonGetPostUpdateCallback

Physics.NewtonImport

NewtonGetPreferedPlugin

Physics.NewtonImport

NewtonGetSolverIterations

Physics.NewtonImport

NewtonGetThreadsCount

Physics.NewtonImport

NewtonGetTimeInMicrosencondsCallback

Physics.NewtonImport

NewtonHeightFieldRayCastCallback

Physics.NewtonImport

NewtonHeightFieldSetHorizontalDisplacement

Physics.NewtonImport

NewtonHeightFieldSetUserRayCastCallback

Physics.NewtonImport

NewtonHingeCalculateStopAlpha

Physics.NewtonImport

NewtonHingeCallback

Physics.NewtonImport

NewtonHingeGetJointAngle

Physics.NewtonImport

NewtonHingeGetJointForce

Physics.NewtonImport

NewtonHingeGetJointOmega

Physics.NewtonImport

NewtonHingeSetUserCallback

Physics.NewtonImport

NewtonInvalidateCache

Physics.NewtonImport

NewtonIslandGetBody

Physics.NewtonImport

**********************************************************************************************
Simulation islands
**********************************************************************************************

NewtonIslandGetBodyAABB

Physics.NewtonImport

NewtonIslandUpdate

Physics.NewtonImport

NewtonJobTask

Physics.NewtonImport

NewtonJointGetBody0

Physics.NewtonImport

NewtonJointGetBody1

Physics.NewtonImport

NewtonJointGetCollisionState

Physics.NewtonImport

NewtonJointGetInfo

Physics.NewtonImport

NewtonJointGetStiffness

Physics.NewtonImport

NewtonJointGetUserData

Physics.NewtonImport

**********************************************************************************************
Common joint functions
**********************************************************************************************

NewtonJointIsActive

Physics.NewtonImport

NewtonJointIterator

Physics.NewtonImport

NewtonJointSetCollisionState

Physics.NewtonImport

NewtonJointSetDestructor

Physics.NewtonImport

NewtonJointSetStiffness

Physics.NewtonImport

NewtonJointSetUserData

Physics.NewtonImport

NewtonLoadPlugins

Physics.NewtonImport

NewtonMaterialContactRotateTangentDirections

Physics.NewtonImport

NewtonMaterialCreateGroupID

Physics.NewtonImport

**********************************************************************************************
Physics Material Section
**********************************************************************************************

NewtonMaterialDestroyAllGroupID

Physics.NewtonImport

NewtonMaterialGetBodyCollidingShape

Physics.NewtonImport

NewtonMaterialGetContactFaceAttribute

Physics.NewtonImport

NewtonMaterialGetContactForce

Physics.NewtonImport

NewtonMaterialGetContactMaxNormalImpact

Physics.NewtonImport

NewtonMaterialGetContactMaxTangentImpact

Physics.NewtonImport

NewtonMaterialGetContactNormalSpeed

Physics.NewtonImport

NewtonMaterialGetContactPenetration

Physics.NewtonImport

NewtonMaterialGetContactPositionAndNormal

Physics.NewtonImport

NewtonMaterialGetContactPruningTolerance

Physics.NewtonImport

NewtonMaterialGetContactTangentDirections

Physics.NewtonImport

NewtonMaterialGetContactTangentSpeed

Physics.NewtonImport

NewtonMaterialGetDefaultGroupID

Physics.NewtonImport

NewtonMaterialGetMaterialPairUserData

Physics.NewtonImport

**********************************************************************************************
Physics Contact control functions
**********************************************************************************************

NewtonMaterialGetUserData

Physics.NewtonImport

material definitions that can not be overwritten in function callback

NewtonMaterialJointResetIntraJointCollision

Physics.NewtonImport

NewtonMaterialJointResetSelftJointCollision

Physics.NewtonImport

NewtonMaterialSetAsSoftContact

Physics.NewtonImport

NewtonMaterialSetCallbackUserData

Physics.NewtonImport

deprecated, not longer continue collision is set on the material NEWTON_API void NewtonMaterialSetContinuousCollisionMode (const NewtonWorld* const newtonWorld, int id0, int id1, int state);

NewtonMaterialSetCollisionCallback

Physics.NewtonImport

NewtonMaterialSetCompoundCollisionCallback

Physics.NewtonImport

NewtonMaterialSetContactElasticity

Physics.NewtonImport

NewtonMaterialSetContactFrictionCoef

Physics.NewtonImport

NewtonMaterialSetContactFrictionState

Physics.NewtonImport

NewtonMaterialSetContactGenerationCallback

Physics.NewtonImport

NewtonMaterialSetContactNormalAcceleration

Physics.NewtonImport

NewtonMaterialSetContactNormalDirection

Physics.NewtonImport

NewtonMaterialSetContactPosition

Physics.NewtonImport

NewtonMaterialSetContactPruningTolerance

Physics.NewtonImport

NewtonMaterialSetContactSoftness

Physics.NewtonImport

NewtonMaterialSetContactTangentAcceleration

Physics.NewtonImport

NewtonMaterialSetContactTangentFriction

Physics.NewtonImport

NewtonMaterialSetContactThickness

Physics.NewtonImport

NewtonMaterialSetDefaultCollidable

Physics.NewtonImport

NewtonMaterialSetDefaultElasticity

Physics.NewtonImport

NewtonMaterialSetDefaultFriction

Physics.NewtonImport

NewtonMaterialSetDefaultSoftness

Physics.NewtonImport

NewtonMaterialSetSurfaceThickness

Physics.NewtonImport

NewtonMeshAddBinormal

Physics.NewtonImport

NewtonMeshAddLayer

Physics.NewtonImport

NewtonMeshAddMaterial

Physics.NewtonImport

NewtonMeshAddNormal

Physics.NewtonImport

NewtonMeshAddPoint

Physics.NewtonImport

NewtonMeshAddUV0

Physics.NewtonImport

NewtonMeshAddUV1

Physics.NewtonImport

NewtonMeshAddVertexColor

Physics.NewtonImport

NewtonMeshApplyAngleBasedMapping

Physics.NewtonImport

NewtonMeshApplyBoxMapping

Physics.NewtonImport

NewtonMeshApplyCylindricalMapping

Physics.NewtonImport

NewtonMeshApplySphericalMapping

Physics.NewtonImport

NewtonMeshApplyTransform

Physics.NewtonImport

NewtonMeshApproximateConvexDecomposition

Physics.NewtonImport

NewtonMeshBeginBuild

Physics.NewtonImport

NewtonMeshBeginFace

Physics.NewtonImport

NewtonMeshBeginHandle

Physics.NewtonImport

NewtonMeshBuildFromVertexListIndexList

Physics.NewtonImport

NewtonMeshCalculateFaceNormal

Physics.NewtonImport

NewtonMeshCalculateOOBB

Physics.NewtonImport

NewtonMeshCalculateVertexNormals

Physics.NewtonImport

NewtonMeshClearVertexFormat

Physics.NewtonImport

NewtonMeshClip

Physics.NewtonImport

NewtonMeshConvexMeshIntersection

Physics.NewtonImport

NewtonMeshCreate

Physics.NewtonImport

**********************************************************************************************
Mesh joint functions
**********************************************************************************************

NewtonMeshCreateConvexHull

Physics.NewtonImport

NewtonMeshCreateFirstLayer

Physics.NewtonImport

NewtonMeshCreateFirstSingleSegment

Physics.NewtonImport

NewtonMeshCreateFromCollision

Physics.NewtonImport

NewtonMeshCreateFromMesh

Physics.NewtonImport

NewtonMeshCreateFromSerialization

Physics.NewtonImport

NewtonMeshCreateNextLayer

Physics.NewtonImport

NewtonMeshCreateNextSingleSegment

Physics.NewtonImport

NewtonMeshCreateTetrahedraIsoSurface

Physics.NewtonImport

NewtonMeshCreateVoronoiConvexDecomposition

Physics.NewtonImport

NewtonMeshDestroy

Physics.NewtonImport

NewtonMeshDifference

Physics.NewtonImport

NewtonMeshEndBuild

Physics.NewtonImport

NewtonMeshEndFace

Physics.NewtonImport

NewtonMeshEndHandle

Physics.NewtonImport

NewtonMeshFirstMaterial

Physics.NewtonImport

NewtonMeshFixTJoints

Physics.NewtonImport

NewtonMeshFlipWinding

Physics.NewtonImport

NewtonMeshGetBinormalChannel

Physics.NewtonImport

NewtonMeshGetEdgeIndices

Physics.NewtonImport

NewtonMeshGetFaceIndexCount

Physics.NewtonImport

NewtonMeshGetFaceIndices

Physics.NewtonImport

NewtonMeshGetFaceMaterial

Physics.NewtonImport

NewtonMeshGetFacePointIndices

Physics.NewtonImport

NewtonMeshGetFaces

Physics.NewtonImport

NewtonMeshGetFirstEdge

Physics.NewtonImport

NewtonMeshGetFirstFace

Physics.NewtonImport

NEWTON_API void NewtonMeshGetEdgePointIndices (const NewtonMesh* const mesh, const void* const edge, int* const v0, int* const v1);

NewtonMeshGetFirstPoint

Physics.NewtonImport

NewtonMeshGetFirstVertex

Physics.NewtonImport

NewtonMeshGetIndexToVertexMap

Physics.NewtonImport

NewtonMeshGetNextEdge

Physics.NewtonImport

NewtonMeshGetNextFace

Physics.NewtonImport

NewtonMeshGetNextPoint

Physics.NewtonImport

NewtonMeshGetNextVertex

Physics.NewtonImport

NewtonMeshGetNormalChannel

Physics.NewtonImport

NewtonMeshGetPointCount

Physics.NewtonImport

NewtonMeshGetPointIndex

Physics.NewtonImport

NewtonMeshGetTotalFaceCount

Physics.NewtonImport

NewtonMeshGetTotalIndexCount

Physics.NewtonImport

NewtonMeshGetUV0Channel

Physics.NewtonImport

NewtonMeshGetUV1Channel

Physics.NewtonImport

NewtonMeshGetVertexArray

Physics.NewtonImport

NewtonMeshGetVertexBaseCount

Physics.NewtonImport

NewtonMeshGetVertexChannel

Physics.NewtonImport

NewtonMeshGetVertexColorChannel

Physics.NewtonImport

NewtonMeshGetVertexCount

Physics.NewtonImport

NewtonMeshGetVertexDoubleChannel

Physics.NewtonImport

NewtonMeshGetVertexIndex

Physics.NewtonImport

NewtonMeshGetVertexIndexFromPoint

Physics.NewtonImport

NewtonMeshGetVertexStrideInByte

Physics.NewtonImport

NewtonMeshGetVertexWeights

Physics.NewtonImport

NewtonMeshHasBinormalChannel

Physics.NewtonImport

NewtonMeshHasNormalChannel

Physics.NewtonImport

NewtonMeshHasUV0Channel

Physics.NewtonImport

NewtonMeshHasUV1Channel

Physics.NewtonImport

NewtonMeshHasVertexColorChannel

Physics.NewtonImport

NewtonMeshIntersection

Physics.NewtonImport

NewtonMeshIsFaceOpen

Physics.NewtonImport

NewtonMeshIsOpenMesh

Physics.NewtonImport

NewtonMeshLoadOFF

Physics.NewtonImport

NewtonMeshLoadTetrahedraMesh

Physics.NewtonImport

NewtonMeshMaterialGetIndexCount

Physics.NewtonImport

NewtonMeshMaterialGetIndexStream

Physics.NewtonImport

NewtonMeshMaterialGetIndexStreamShort

Physics.NewtonImport

NewtonMeshMaterialGetMaterial

Physics.NewtonImport

NewtonMeshNextMaterial

Physics.NewtonImport

NewtonMeshOptimize

Physics.NewtonImport

NewtonMeshOptimizePoints

Physics.NewtonImport

NewtonMeshOptimizeVertex

Physics.NewtonImport

NewtonMeshPolygonize

Physics.NewtonImport

NewtonMeshSaveOFF

Physics.NewtonImport

NewtonMeshSerialize

Physics.NewtonImport

NewtonMeshSetFaceMaterial

Physics.NewtonImport

NewtonMeshSetVertexBaseCount

Physics.NewtonImport

NewtonMeshSimplify

Physics.NewtonImport

NewtonMeshTriangulate

Physics.NewtonImport

NewtonMeshUnion

Physics.NewtonImport

NewtonOnAABBOverlap

Physics.NewtonImport

NewtonOnBodyDeserializationCallback

Physics.NewtonImport

NewtonOnBodySerializationCallback

Physics.NewtonImport

NewtonOnCompoundSubCollisionAABBOverlap

Physics.NewtonImport

NewtonOnContactGeneration

Physics.NewtonImport

NewtonOnJointDeserializationCallback

Physics.NewtonImport

NewtonOnJointSerializationCallback

Physics.NewtonImport

NewtonOnUserCollisionSerializationCallback

Physics.NewtonImport

user collision callbacks

NewtonPostUpdateCallback

Physics.NewtonImport

NewtonRemoveUnusedVertices

Physics.NewtonImport

NewtonReportProgress

Physics.NewtonImport

NewtonResetBroadphase

Physics.NewtonImport

NewtonSceneCollisionAddSubCollision

Physics.NewtonImport

NewtonSceneCollisionBeginAddRemove

Physics.NewtonImport

NewtonSceneCollisionEndAddRemove

Physics.NewtonImport

NewtonSceneCollisionGetCollisionFromNode

Physics.NewtonImport

NewtonSceneCollisionGetFirstNode

Physics.NewtonImport

NewtonSceneCollisionGetNextNode

Physics.NewtonImport

NewtonSceneCollisionGetNodeByIndex

Physics.NewtonImport

NewtonSceneCollisionGetNodeIndex

Physics.NewtonImport

NewtonSceneCollisionRemoveSubCollision

Physics.NewtonImport

NewtonSceneCollisionRemoveSubCollisionByIndex

Physics.NewtonImport

NewtonSceneCollisionSetSubCollisionMatrix

Physics.NewtonImport

NewtonSelectBroadphaseAlgorithm

Physics.NewtonImport

NewtonSelectPlugin

Physics.NewtonImport

NewtonSerializeCallback

Physics.NewtonImport

NewtonSerializeScene

Physics.NewtonImport

NewtonSerializeToFile

Physics.NewtonImport

NewtonSetContactMergeTolerance

Physics.NewtonImport

NewtonSetEulerAngle

Physics.NewtonImport

transforms utility functions

NewtonSetIslandUpdateEvent

Physics.NewtonImport

NewtonSetJointSerializationCallbacks

Physics.NewtonImport

NewtonSetMemorySystem

Physics.NewtonImport

NewtonSetNumberOfSubsteps

Physics.NewtonImport

NewtonSetParallelSolverOnLargeIsland

Physics.NewtonImport

NewtonSetPostUpdateCallback

Physics.NewtonImport

NewtonSetSolverIterations

Physics.NewtonImport

NewtonSetThreadsCount

Physics.NewtonImport

NewtonSetTransform

Physics.NewtonImport

NewtonSliderCalculateStopAccel

Physics.NewtonImport

NewtonSliderCallback

Physics.NewtonImport

NewtonSliderGetJointForce

Physics.NewtonImport

NewtonSliderGetJointPosit

Physics.NewtonImport

NewtonSliderGetJointVeloc

Physics.NewtonImport

NewtonSliderSetUserCallback

Physics.NewtonImport

NewtonStaticCollisionSetDebugCallback

Physics.NewtonImport

NewtonSyncThreadJobs

Physics.NewtonImport

NewtonTreeCollisionAddFace

Physics.NewtonImport

NewtonTreeCollisionBeginBuild

Physics.NewtonImport

NewtonTreeCollisionCallback

Physics.NewtonImport

NewtonTreeCollisionEndBuild

Physics.NewtonImport

NewtonTreeCollisionFaceCallback

Physics.NewtonImport

NewtonTreeCollisionForEachFace

Physics.NewtonImport

NewtonTreeCollisionGetFaceAttribute

Physics.NewtonImport

NewtonTreeCollisionGetVertexListTriangleListInAABB

Physics.NewtonImport

NewtonTreeCollisionSetFaceAttribute

Physics.NewtonImport

NewtonTreeCollisionSetUserRayCastCallback

Physics.NewtonImport

NewtonUniversalCalculateStopAlpha0

Physics.NewtonImport

NewtonUniversalCalculateStopAlpha1

Physics.NewtonImport

NewtonUniversalCallback

Physics.NewtonImport

NewtonUniversalGetJointAngle0

Physics.NewtonImport

NewtonUniversalGetJointAngle1

Physics.NewtonImport

NewtonUniversalGetJointForce

Physics.NewtonImport

NewtonUniversalGetJointOmega0

Physics.NewtonImport

NewtonUniversalGetJointOmega1

Physics.NewtonImport

NewtonUniversalSetUserCallback

Physics.NewtonImport

NewtonUnloadPlugins

Physics.NewtonImport

NewtonUpdate

Physics.NewtonImport

NewtonUpdateAsync

Physics.NewtonImport

NewtonUpVectorGetPin

Physics.NewtonImport

NewtonUpVectorSetPin

Physics.NewtonImport

NewtonUserBilateralCallback

Physics.NewtonImport

NewtonUserBilateralGetInfoCallback

Physics.NewtonImport

NewtonUserJoinRowsCount

Physics.NewtonImport

NewtonUserJointAddAngularRow

Physics.NewtonImport

NewtonUserJointAddGeneralRow

Physics.NewtonImport

NewtonUserJointAddLinearRow

Physics.NewtonImport

NewtonUserJointCalculateRowZeroAcceleration

Physics.NewtonImport

NewtonUserJointGetGeneralRow

Physics.NewtonImport

NewtonUserJointGetRowAcceleration

Physics.NewtonImport

NewtonUserJointGetRowForce

Physics.NewtonImport

NewtonUserJointGetRowJacobian

Physics.NewtonImport

NewtonUserJointGetSolverModel

Physics.NewtonImport

NewtonUserJointMassScale

Physics.NewtonImport

NewtonUserJointSetFeedbackCollectorCallback

Physics.NewtonImport

NewtonUserJointSetRowAcceleration

Physics.NewtonImport

NewtonUserJointSetRowMaximumFriction

Physics.NewtonImport

NewtonUserJointSetRowMinimumFriction

Physics.NewtonImport

NewtonUserJointSetRowSpringDamperAcceleration

Physics.NewtonImport

NewtonUserJointSetRowStiffness

Physics.NewtonImport

NewtonUserJointSetSolverModel

Physics.NewtonImport

NewtonUserMeshCollisionAABBTest

Physics.NewtonImport

NewtonUserMeshCollisionCollideCallback

Physics.NewtonImport

NewtonUserMeshCollisionContinuousOverlapTest

Physics.NewtonImport

NewtonUserMeshCollisionDestroyCallback

Physics.NewtonImport

NewtonUserMeshCollisionGetCollisionInfo

Physics.NewtonImport

NewtonUserMeshCollisionGetFacesInAABB

Physics.NewtonImport

NewtonUserMeshCollisionRayHitCallback

Physics.NewtonImport

NewtonWaitForUpdateToFinish

Physics.NewtonImport

NewtonWorldAddListener

Physics.NewtonImport

NewtonWorldCollide

Physics.NewtonImport

NewtonWorldConvexCast

Physics.NewtonImport

NewtonWorldCriticalSectionLock

Physics.NewtonImport

NewtonWorldCriticalSectionUnlock

Physics.NewtonImport

NewtonWorldDestroyListenerCallback

Physics.NewtonImport

NewtonWorldDestructorCallback

Physics.NewtonImport

NewtonWorldFindJoint

Physics.NewtonImport

NewtonWorldFloatSize

Physics.NewtonImport

NewtonWorldForEachBodyInAABBDo

Physics.NewtonImport

NewtonWorldForEachJointDo

Physics.NewtonImport

NewtonWorldGetBodyCount

Physics.NewtonImport

world utility functions

NewtonWorldGetConstraintCount

Physics.NewtonImport

NewtonWorldGetDestructorCallback

Physics.NewtonImport

NewtonWorldGetFirstBody

Physics.NewtonImport

NewtonWorldGetFirstMaterial

Physics.NewtonImport

NewtonWorldGetListener

Physics.NewtonImport

NewtonWorldGetListenerUserData

Physics.NewtonImport

NewtonWorldGetNextBody

Physics.NewtonImport

NewtonWorldGetNextMaterial

Physics.NewtonImport

NewtonWorldGetUserData

Physics.NewtonImport

NewtonWorldGetVersion

Physics.NewtonImport

**********************************************************************************************
world control functions
**********************************************************************************************

NewtonWorldListenerBodyDestroyCallback

Physics.NewtonImport

NewtonWorldListenerDebug

Physics.NewtonImport

NewtonWorldListenerDebugCallback

Physics.NewtonImport

NewtonWorldListenerGetBodyDestroyCallback

Physics.NewtonImport

NewtonWorldListenerSetBodyDestroyCallback

Physics.NewtonImport

NewtonWorldListenerSetDebugCallback

Physics.NewtonImport

NewtonWorldListenerSetDestructorCallback

Physics.NewtonImport

NewtonWorldListenerSetPostStepCallback

Physics.NewtonImport

NewtonWorldListenerSetPostUpdateCallback

Physics.NewtonImport

NewtonWorldListenerSetPreUpdateCallback

Physics.NewtonImport

NewtonWorldRayCast

Physics.NewtonImport

NewtonWorldRayFilterCallback

Physics.NewtonImport

NewtonWorldRayPrefilterCallback

Physics.NewtonImport

NewtonWorldSetCollisionConstructorDestructorCallback

Physics.NewtonImport

NewtonWorldSetCreateDestroyContactCallback

Physics.NewtonImport

NewtonWorldSetDestructorCallback

Physics.NewtonImport

NewtonWorldSetUserData

Physics.NewtonImport

NewtonWorldUpdateListenerCallback

Physics.NewtonImport

NewtonYield

Physics.NewtonImport

NEWTON_API

Physics.NewtonImport

.$DEFINE USE_DOUBLE_PRECISION

NEWTON_BROADPHASE_DEFAULT

Physics.NewtonImport

NEWTON_BROADPHASE_PERSINTENT

Physics.NewtonImport

NEWTON_DYNAMIC_ASYMETRIC_BODY

Physics.NewtonImport

NEWTON_DYNAMIC_BODY

Physics.NewtonImport

NEWTON_KINEMATIC_BODY

Physics.NewtonImport

NEWTON_MAJOR_VERSION

Physics.NewtonImport

NEWTON_MINOR_VERSION

Physics.NewtonImport

NGDFloat

Physics.NGDManager

TComponent TList TWriter TReader TPersistent System utilities Samevalue isZero to compare single Imports.NGD_Joints, Import.Newton, // new version PGLVector TGLVector TGLMatrix PGLMatrix NullHmgVector... TAffineVectorList for Tree TXCollection file function For show debug cube cone freeform...

NMF_HEADER_TAG

GLS.FileNMF

NMF_TRIANGLE_TAG

GLS.FileNMF

NodeHdrStrMax3DS

Formats.m3DSConst

Maximum keyframe header name string size NODE_HDR

NodeTagCount

Formats.m3DSConst

NodeTags

Formats.m3DSConst

number of entries in node tag list

NODE_ANI_HIDDEN

Formats.m3DSConst

NODE_AUTO_SMOOTH

Formats.m3DSConst

NODE_BLUR_BRANCH

Formats.m3DSConst

NODE_CALC_PATH

Formats.m3DSConst

corresponds to mesh

NODE_FROZEN

Formats.m3DSConst

NODE_HAS_PATH

Formats.m3DSConst

Values for keyframer flags2

NODE_HDR

Formats.m3DSConst

NODE_ID

Formats.m3DSConst

NODE_MORPH_MTL

Formats.m3DSConst

NODE_MORPH_OB

Formats.m3DSConst

NODE_MOTION_BLUR

Formats.m3DSConst

NODE_OFF

Formats.m3DSConst

NODE_RENDOB_HIDE

Formats.m3DSConst

do RGB color transform Values for keyframer flags1

NoFalloff

Formats.m3DSConst

NoisyColor

GLS.RandomHDS

NormalizeAngle

GLS.VectorGeometry

Normalize to an angle in the [-PI; +PI] range

NormalizeDegAngle

GLS.VectorGeometry

Normalize to an angle in the [-180; 180] range

NormalizeMatrix

GLS.VectorGeometry

Normalize the matrix and remove the translation component. The resulting matrix is an orthonormal matrix (Y direction preserved, then Z)

NormalizePlane

GLS.VectorGeometry

Normalize a plane so that point evaluation = plane distance. }

NormalizeQuaternion

GLS.VectorGeometry

Normalizes the given quaternion

NormalizeVector

GLS.VectorGeometry

Returns the vector transformed to unit length Transforms a vector to unit length

NormalizeVector

GLS.VectorGeometry

Transforms a vector to unit length

NormalizeVector

GLS.VectorGeometry

Transforms a vector to unit length

NormalizeVectorArray

GLS.VectorGeometry

Transforms vectors to unit length

NotChunk

Formats.m3DSConst

NullBoundingBox

GLS.GeometryBB

NullHmgPoint

GLS.VectorGeometry

NullHmgVector

GLS.VectorGeometry

NullTexPoint

GLS.VectorGeometry

NullVector

GLS.VectorGeometry

NULL_CHUNK

Formats.m3DSConst

—————– List of all chunk IDs ————————————-

N_AMBIENT_LIGHT

Formats.m3DSConst

N_CAMERA

Formats.m3DSConst

N_CAM_OLD

Formats.m3DSConst

N_DIRECT_LIGHT

Formats.m3DSConst

N_D_L_OLD

Formats.m3DSConst

N_TRI_OBJECT

Formats.m3DSConst

ObjectManager

GLS.SceneRegister

Auto-create for object manager

OBJECT_NODE_TAG

Formats.m3DSConst

OBJ_DOESNT_CAST

Formats.m3DSConst

OBJ_DONT_RCVSHADOW

Formats.m3DSConst

OBJ_FAST

Formats.m3DSConst

OBJ_FROZEN

Formats.m3DSConst

OBJ_HIDDEN

Formats.m3DSConst

OBJ_MATTE

Formats.m3DSConst

OBJ_PROCEDURAL

Formats.m3DSConst

OBJ_VIS_LOFTER

Formats.m3DSConst

OblateSpheroidal_Cartesian

GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian (with error check). eta,phi in rad

OblateSpheroidal_Cartesian

GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian with checks. [Double] eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [-0.5*pi,0.5*pi] [3] = phi out of bounds. Acceptable phi: [0,2*pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

OblateSpheroidal_Cartesian

GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian. [Double] eta, phi in rad

OblateSpheroidal_Cartesian

GLS.Coordinates

Convert Oblate-Spheroidal to Cartesian. [Single] eta, phi in rad

ODEDLL

Physics.ODEImport

********************************************************************
ODE precision:
ODE can be run in Single or Double precision, Single is less precise, but requires less memory.
If you choose to run in Single mode, you must deploy the single precision dll (this is default)
If you choose to run in Double mode, you must deploy the double precision dll (named ode_double.dll and located in the dll directory) Insert . before "$" to make ODEImport double based

ODERToGLSceneMatrix

Physics.ODEUtils

ODERToGLSceneMatrix

Physics.ODEUtils

ODERToGLSceneMatrix

Physics.ODEUtils

OffsetAABB

GLS.GeometryBB

OffsetAABB

GLS.GeometryBB

Adds delta to min and max of the AABB.

OffsetBB

GLS.GeometryBB

OffsetBB

GLS.GeometryBB

Adds delta to min and max of the BB.

OffsetBBPoint

GLS.GeometryBB

The same as above but uses AddPoint() instead of AddVector().

OffsetFloatArray

GLS.VectorGeometry

OffsetFloatArray

GLS.VectorGeometry

OffsetFloatArray

GLS.VectorGeometry

Adds delta to values in the array. Array size must be a multiple of four

OLD_MAT_GROUP

Formats.m3DSConst

opengl32

GLS.OpenGLAdapter

OpenGLFormatToInternalFormat

GLS.TextureFormat

Give a GLScene texture format from openGL texture format

OpenPictureDialog

GLS.Utils

Pops up a simple open picture dialog.

OptimizeMesh

GLS.MeshBuilder

OptimizeMesh

GLS.MeshBuilder

Optimize Mesh (list, default options)

OptimizeMesh

GLS.MeshBuilder

OptimizeMesh (object, default options)

OptimizeMesh

GLS.MeshBuilder

OptimizeMesh (object, with options)

O_CONSTS

Formats.m3DSConst

P4ByteArrayList

GLS.VectorLists

PAABB

GLS.GeometryBB

PAArray

GLS.zBuffer

PackRotationMatrix

GLS.VectorGeometry

Packs an homogeneous rotation matrix to 6 bytes. The 6:64 (or 6:36) compression ratio is achieved by computing the quaternion associated to the matrix and storing its Imaginary components at 16 bits precision each. Deviation is typically below 0.01% and around 0.1% in worst case situations. Note: quaternion conversion is faster and more robust than an angle decomposition

PACubic3DS

Formats.m3DSTypes

used by AddMaterial3DS

PAffineByteVector

GLS.VectorGeometry

PAffineDblVector

GLS.VectorGeometry

PAffineExtVector

GLS.VectorGeometry

PAffineFltVector

GLS.VectorGeometry

PAffineIntVector

GLS.VectorGeometry

PAffineMatrix

GLS.VectorGeometry

PAffinePtrVector

GLS.VectorGeometry

PAffineVector

GLS.VectorGeometry

PAffineVectorArray

GLS.VectorGeometry

Arrays of vectors

PAffineWordVector

GLS.VectorGeometry

PAKCreateFileStream

GLS.FileVfsPAK

PAKFileStreamExists

GLS.FileVfsPAK

PALbitfield

Sounds.OpenALImport

PALboolean

Sounds.OpenALImport

PALbyte

Sounds.OpenALImport

PALCboolean

Sounds.OpenALImport

PALCbyte

Sounds.OpenALImport

PALCchar

Sounds.OpenALImport

PALCcontext

Sounds.OpenALImport

PALCdevice

Sounds.OpenALImport

PALCdouble

Sounds.OpenALImport

PALCenum

Sounds.OpenALImport

PALCfloat

Sounds.OpenALImport

PALchar

Sounds.OpenALImport

PALCint

Sounds.OpenALImport

PALclampd

Sounds.OpenALImport

PALclampf

Sounds.OpenALImport

PALCshort

Sounds.OpenALImport

PALCsizei

Sounds.OpenALImport

PALCubyte

Sounds.OpenALImport

PALCuint

Sounds.OpenALImport

PALCushort

Sounds.OpenALImport

PALCvoid

Sounds.OpenALImport

PALdouble

Sounds.OpenALImport

PALenum

Sounds.OpenALImport

PALfloat

Sounds.OpenALImport

PALint

Sounds.OpenALImport

PALshort

Sounds.OpenALImport

PALsizei

Sounds.OpenALImport

PALuByte

Sounds.OpenALImport

PALuint

Sounds.OpenALImport

PALushort

Sounds.OpenALImport

PALvoid

Sounds.OpenALImport

PANG4

Formats.LWO

PANIMChunk

Formats.B3D

PARENT_NAME

Formats.m3DSConst

PARENT_OBJECT

Formats.m3DSConst

ParseFloat

GLS.Utils

Parses the next integer in the string. Initial non-numeric characters are skipper, p is altered, returns 0 if none found. Both '.' and ',' are accepted as decimal separators.

ParseInteger

GLS.Utils

Parses the next integer in the string. Initial non-numeric characters are skipper, p is altered, returns 0 if none found. '+' and '-' are acknowledged.

PATH_3D

Formats.m3DSConst

PATH_MATRIX

Formats.m3DSConst

PAtmosphere3DS

Formats.m3DSTypes

PAVICOMPRESSOPTIONS

Formats.VFW

Make sure it matches the AutoDoc in avisave.c !!!

PAVIFileInfo

Formats.VFW

PAVIFileInfoA

Formats.VFW

PAVIFileInfoW

Formats.VFW

– AVIFILEINFO ————————————————————–

PAVIINDEXENTRY

Formats.VFW

these bits are for compressor use

PAVIPALCHANGE

Formats.VFW

– Palette change chunk (used in video streams) —————————–

PAVIStream

GLS.AVIRecorder

PAVIStreamHeader

Formats.VFW

PAVIStreamInfo

Formats.VFW

PAVIStreamInfoA

Formats.VFW

PAVIStreamInfoW

Formats.VFW

for Unicode/Ansi thunking we need to declare three versions of this!

PB3DChunk

Formats.B3D

PBackground3DS

Formats.m3DSTypes

PBASS_PLUGINFORMS

Sounds.BASSImport

PBASS_PLUGININFO

Sounds.BASSImport

PBB3DChunk

Formats.B3D

PBitmap3DS

Formats.m3DSTypes

Cubic reflection Map defintion

PBitmapBgnd3DS

Formats.m3DSTypes

PBitMapName

Formats.m3DSTypes

PBONEChunk

Formats.B3D

PBoundBox

Formats.m3DSTypes

PBRUSChunk

Formats.B3D

PBSPFace

Formats.Q3BSP

PBSPLightmap

Formats.Q3BSP

PBSPTexture

Formats.Q3BSP

PBSPVertex

Formats.Q3BSP

PByte

GLS.HeightTileFileHDS

Access to large tiled height data files. Performance vs Raw file accesses (for perfect tile match): Cached data: "Smooth" terrain 1:2 to 1:10 Random terrain 1:1
Non-cached data: "Smooth" terrain 1:100 to 1:1000 Random terrain 1:100

PByteArray

GLS.VectorGeometry

PByteRaster

GLS.HeightData

PByteVector

GLS.VectorGeometry

Types to specify continous streams of a specific type switch off range checking to access values beyond the limits

PCamera3DS

Formats.m3DSTypes

PCamRanges

Formats.m3DSTypes

PCamRanges3DS

Formats.m3DSTypes

Camera atomosphere Ranges

PCAPDRIVERCAPS

Formats.VFW

– Structures —————————————————————

PCAPINFOCHUNK

Formats.VFW

No master

PCAPSTATUS

Formats.VFW

PCAPTUREPARMS

Formats.VFW

Default values in parenthesis

PCardinalArray

Formats.m3DSTypes

PCardinalArray

GLS.VectorGeometry

PCardinalVector

GLS.VectorGeometry

PCGcontext

Cg.Import

PCGerror

Cg.Import

* The following macro invocations define error codes returned by various cg * API functions. * * The macros have the form : * * CG_ERROR_MACRO(code, enum_name, message) * * code : The integer error code associated with the error. * enum_name : The name of enumerant of the error code in the API. * message : A description string associated with the error. *

PCGparameter

Cg.Import

PCGprogram

Cg.Import

PCHANNEL_CAPS

Formats.VFW

– Channel capabilities structure ——————————————-

PChar3DS

Formats.m3DSTypes

PCharCG

Cg.Import

***********************************************************************

PCharInfo

GLS.BitmapFont

PChunk3DS

Formats.m3DSTypes

PChunkList

Formats.m3DSTypes

PChunkList3DS

Formats.m3DSTypes

PChunkListEntry3DS

Formats.m3DSTypes

internal database representation of file information

Pcl_addressing_mode

OpenCL.Import

Pcl_bitfield

OpenCL.Import

Pcl_bool

OpenCL.Import

* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. *//

Pcl_buffer_create_type

OpenCL.Import

Pcl_buffer_region

OpenCL.Import

Pcl_build_status

OpenCL.Import

Pcl_channel_order

OpenCL.Import

Pcl_channel_type

OpenCL.Import

Pcl_char

OpenCL.Platform

Pcl_command_queue

OpenCL.Import

Pcl_command_queue_info

OpenCL.Import

Pcl_command_queue_properties

OpenCL.Import

Pcl_command_type

OpenCL.Import

Pcl_context

OpenCL.Import

Pcl_context_info

OpenCL.Import

Pcl_context_properties

OpenCL.Import

Pcl_device_affinity_domain

OpenCL.Import

Pcl_device_exec_capabilities

OpenCL.Import

Pcl_device_fp_config

OpenCL.Import

Pcl_device_id

OpenCL.Import

Pcl_device_info

OpenCL.Import

Pcl_device_local_mem_type

OpenCL.Import

Pcl_device_mem_cache_type

OpenCL.Import

Pcl_device_partition_property

OpenCL.Import

Pcl_device_svm_capabilities

OpenCL.Import

Pcl_device_type

OpenCL.Import

Pcl_double

OpenCL.Platform

Pcl_event

OpenCL.Import

Pcl_event_info

OpenCL.Import

Pcl_filter_mode

OpenCL.Import

Pcl_float

OpenCL.Platform

Pcl_GLsync

OpenCL.GL

Pcl_gl_context_info

OpenCL.GL

Pcl_gl_object_type

OpenCL.GL

Pcl_gl_platform_info

OpenCL.GL

Pcl_gl_texture_info

OpenCL.GL

Pcl_half

OpenCL.Platform

Pcl_image_desc

OpenCL.Import

Pcl_image_format

OpenCL.Import

Pcl_image_info

OpenCL.Import

Pcl_int

OpenCL.Platform

Pcl_kernel

OpenCL.Import

Pcl_kernel_arg_access_qualifier

OpenCL.Import

Pcl_kernel_arg_address_qualifier

OpenCL.Import

Pcl_kernel_arg_info

OpenCL.Import

Pcl_kernel_arg_type_qualifier

OpenCL.Import

Pcl_kernel_exec_info

OpenCL.Import

Pcl_kernel_info

OpenCL.Import

Pcl_kernel_sub_group_info

OpenCL.Import

Pcl_kernel_work_group_info

OpenCL.Import

Pcl_long

OpenCL.Platform

Pcl_map_flags

OpenCL.Import

Pcl_mem

OpenCL.Import

Pcl_mem_flags

OpenCL.Import

Pcl_mem_info

OpenCL.Import

Pcl_mem_migration_flag

OpenCL.Import

Pcl_mem_object_type

OpenCL.Import

Pcl_pipe_info

OpenCL.Import

Pcl_pipe_properties

OpenCL.Import

Pcl_platform_id

OpenCL.Import

Pcl_platform_info

OpenCL.Import

Pcl_profiling_info

OpenCL.Import

Pcl_program

OpenCL.Import

Pcl_program_binary_type

OpenCL.Import

Pcl_program_build_info

OpenCL.Import

Pcl_program_info

OpenCL.Import

Pcl_queue_properties

OpenCL.Import

Pcl_sampler

OpenCL.Import

Pcl_sampler_info

OpenCL.Import

Pcl_sampler_properties

OpenCL.Import

Pcl_short

OpenCL.Platform

Pcl_svm_mem_flags

OpenCL.Import

Pcl_uchar

OpenCL.Platform

Pcl_uint

OpenCL.Platform

Pcl_ulong

OpenCL.Platform

Pcl_ushort

OpenCL.Platform

PColor24

Formats.m3DSTypes

PColorF

Formats.m3DSTypes

inner datatypes not followed by a '3DS' to show they are locally used (mostly as a part of another chunk or while collecting specific data)

PColr12

Formats.LWO

PColr4

Formats.LWO

PColTrackTag

Formats.m3DSTypes

PCOMPVARS

Formats.VFW

Structure used by ICSeqCompressFrame and ICCompressorChoose routines Make sure this matches the autodoc in icm.c!

PCUarray

CUDA.Import

CUDA array

PCUcontext

CUDA.Import

CUDA context

PcudaArray

CUDA.Runtime

PcudaChannelFormatDesc

CUDA.Runtime

+//DEVICE_BUILTIN*/

PCudaDeviceProp

CUDA.Runtime

+//DEVICE_BUILTIN*/

PCUDA_ARRAY_DESCRIPTOR

CUDA.Import

Array descriptor

PCUDA_MEMCPY2D

CUDA.Import

2D memory copy parameters

PCUevent

CUDA.Import

CUDA event

PcufftComplex

CUDA.FourierTransform

PcufftDoubleComplex

CUDA.FourierTransform

PcufftDoubleReal

CUDA.FourierTransform

PcufftReal

CUDA.FourierTransform

PCUfunction

CUDA.Import

CUDA function

PCUgraphicsResource

CUDA.Import

PCUmodule

CUDA.Import

CUDA module

PCUstream

CUDA.Import

CUDA stream

PCUtexref

CUDA.Import

CUDA texture reference

Pd3Axis

Physics.ODEImport

PDatabase3DS

Formats.m3DSTypes

PdContact

Physics.ODEImport

PdContactGeom

Physics.ODEImport

PDCueSettings3DS

Formats.m3DSTypes

PdFloat

Physics.NewtonImport

PdFloat64

Physics.NewtonImport

PdGeomClass

Physics.ODEImport

PdInteger3

Physics.ODEImport

PdIntegerArray

Physics.ODEImport

PDistanceCue

Formats.m3DSTypes

PDlExclude

Formats.m3DSTypes

PDlInnerRange

Formats.m3DSTypes

PDlLocalShadow2

Formats.m3DSTypes

PDlMultiplier

Formats.m3DSTypes

PdLong

Physics.NewtonImport

PDlOuterRange

Formats.m3DSTypes

PDlRayBias

Formats.m3DSTypes

PDlSpotAspect

Formats.m3DSTypes

PDlSpotlight

Formats.m3DSTypes

PDlSpotProjector

Formats.m3DSTypes

PDlSpotRoll

Formats.m3DSTypes

PdMass

Physics.ODEImport

PdMatrix3

Physics.ODEImport

PdMatrix3_As3x4

Physics.ODEImport

PdMatrix4

Physics.ODEImport

PdMatrix6

Physics.ODEImport

PdObject

Physics.ODEImport

PDoubleArray

GLS.VectorGeometry

PDoubleArrayList

GLS.VectorLists

PDoubleVector

GLS.VectorGeometry

PdQuaternion

Physics.ODEImport

array[0..3] of TdReal;

PDRAWDIBTIME

Formats.VFW

– DrawDibTime() - for debugging purposes only ——————————

PdReal

Physics.ODEImport

PdRealArray

Physics.ODEImport

PdRealHugeArray

Physics.ODEImport

PdVector3

Physics.ODEImport

Q: Why isn't TdVector3 = array[0..2] of TdReal? A: Because of SIMD alignment.

PdVector3Array

Physics.ODEImport

PdVector4

Physics.ODEImport

PdxBody

Physics.ODEImport

PdxGeom

Physics.ODEImport

PdxHashSpace

Physics.ODEImport

//currently the space 'container' is just a list of the geoms in the space. struct dxHashSpace : public dxSpace { dxGeom *first; int global_minlevel; // smallest hash table level to put AABBs in int global_maxlevel; // objects that need a level larger than this will be // put in a "big objects" list instead of a hash table void destroy(); void add (dGeomID); void remove (dGeomID); void collide (void *data, dNearCallback *callback); int query (dGeomID); };

PdxHeightfieldData

Physics.ODEImport

PdxJoint

Physics.ODEImport

PdxJointBall

Physics.ODEImport

PdxJointGroup

Physics.ODEImport

Pointers to internal ODE structures to reproduce C++ classes in Delphi

PdxJointHinge

Physics.ODEImport

PdxJointHinge2

Physics.ODEImport

PdxJointLimitMotor

Physics.ODEImport

PdxJointLimitMotor3

Physics.ODEImport

PdxJointNode

Physics.ODEImport

PdxJointPiston

Physics.ODEImport

PdxJointPR

Physics.ODEImport

PdxJointSlider

Physics.ODEImport

PdxJointUniversial

Physics.ODEImport

PdxPosR

Physics.ODEImport

position vector and rotation matrix for geometry objects that are not connected to bodies.

PdxSimpleSpace

Physics.ODEImport

//simple space - reports all nˆ2 object intersections struct dxSimpleSpace : public dxSpace { dGeomID first; void destroy(); void add (dGeomID); void remove (dGeomID); void collide (void *data, dNearCallback *callback); int query (dGeomID); };

PdxSpace

Physics.ODEImport

struct dxSpace : public dBase { int type; // don't want to use RTTI virtual void destroy()=0; virtual void add (dGeomID)=0; virtual void remove (dGeomID)=0; virtual void collide (void *data, dNearCallback *callback)=0; virtual int query (dGeomID)=0; };

PDXT3AlphaBlock

Formats.DXTC

PDXT5AlphaBlock

Formats.DXTC

PDXTColBlock

Formats.DXTC

PdxTriMeshData

Physics.ODEImport

PdxWorld

Physics.ODEImport

PD_CAN_DRAW_DIB

Formats.VFW

– Display profiling ——————————————————–

PD_CAN_STRETCHDIB

Formats.VFW

if you can draw at all

PD_STRETCHDIB_1_1_OK

Formats.VFW

basicly RC_STRETCHDIB

PD_STRETCHDIB_1_2_OK

Formats.VFW

is it fast?

PD_STRETCHDIB_1_N_OK

Formats.VFW

...

PEaxBufferProperties

Sounds.OpenALImport

PEaxListenerProperties

Sounds.OpenALImport

PEFXEAXREVERBPROPERTIES

Sounds.OpenALImport

PEFXLOWPASSFILTER

Sounds.OpenALImport

Perlin_Random1

GLS.Perlin

just a random controlled by X

Perlin_Random1DStrip

GLS.Perlin

generates a random strip

Perlin_Random2

GLS.Perlin

just a random controlled by X,Y

PExtendedArray

GLS.VectorGeometry

PExtendedVector

GLS.VectorGeometry

PF4

Formats.LWO

PF4Array

Formats.LWO

PFace3DS

Formats.m3DSTypes

PFaceArray

Formats.m3DSTypes

PFaceList

Formats.m3DSTypes

PFallTrackTag

Formats.m3DSTypes

PFastCollisionChecker

GLS.Collision

PFColor3DS

Formats.m3DSTypes

PFColorList

Formats.m3DSTypes

PFloat

GLS.VectorGeometry

Data types needed for 3D graphics calculation, included are 'C like' aliases for each type (to be conformal with OpenGL types)

PFloat

Physics.NewtonImport

PFloat

SDL2.Import

PFloatArray

GLS.VectorGeometry

PFloatPercentage

Formats.m3DSTypes

PFloatVector

GLS.VectorGeometry

PFMusicModule

Sounds.FMODtypes

PFNGLACTIVESHADERPROGRAMPROC

GLS.OpenGLTokens

PFNGLACTIVESTENCILFACEEXTPROC

GLS.OpenGLTokens

GL_EXT_stencil_two_side (EXT #268)

PFNGLACTIVETEXTUREARBPROC

GLS.OpenGLTokens

GL_ARB_multitexture (ARB #1)

PFNGLACTIVETEXTUREPROC

GLS.OpenGLTokens

deprecated; core 1.3 promoted to core v1.3 from GL_ARB_multitexture (#1)

PFNGLACTIVEVARYINGNVPROC

GLS.OpenGLTokens

PFNGLADDSWAPHINTRECTWINPROC

GLS.OpenGLTokens

GL_WIN_swap_hint (extension # not found)

PFNGLAREPROGRAMSRESIDENTNVPROC

GLS.OpenGLTokens

GL_NV_vertex_program (EXT #233)

PFNGLARETEXTURESRESIDENTEXTPROC

GLS.OpenGLTokens

PFNGLARRAYELEMENTARRAYEXTPROC

GLS.OpenGLTokens

EXT/Vendor extensions Unknown Vendor/EXT functions

PFNGLATTACHOBJECTARBPROC

GLS.OpenGLTokens

PFNGLATTACHSHADERPROC

GLS.OpenGLTokens

promoted to core v2.0 from GL_ARB_shader_objects (#30) / GL_ARB_vertex_shader (#31) / GL_ARB_fragment_shader (#32)

PFNGLBEGINCONDITIONALRENDERNVPROC

GLS.OpenGLTokens

GL_NV_conditional_render (EXT #346)

PFNGLBEGINCONDITIONALRENDERPROC

GLS.OpenGLTokens

promoted to core v3.0 from GL_NV_conditional_render

PFNGLBEGINOCCLUSIONQUERYNVPROC

GLS.OpenGLTokens

PFNGLBEGINQUERYARBPROC

GLS.OpenGLTokens

PFNGLBEGINQUERYINDEXEDPROC

GLS.OpenGLTokens

PFNGLBEGINQUERYPROC

GLS.OpenGLTokens

PFNGLBEGINSCENEEXTPROC

GLS.OpenGLTokens

GL_EXT_scene_marker (EXT #120)

PFNGLBEGINTRANSFORMFEEDBACKEXTPROC

GLS.OpenGLTokens

PFNGLBEGINTRANSFORMFEEDBACKNVPROC

GLS.OpenGLTokens

PFNGLBEGINTRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

PFNGLBINDATTRIBLOCATIONARBPROC

GLS.OpenGLTokens

GL_ARB_vertex_shader (ARB #31)

PFNGLBINDATTRIBLOCATIONPROC

GLS.OpenGLTokens

PFNGLBINDBUFFERARBPROC

GLS.OpenGLTokens

GL_ARB_vertex_buffer_object (ARB #28)

PFNGLBINDBUFFERBASEEXTPROC

GLS.OpenGLTokens

PFNGLBINDBUFFERBASENVPROC

GLS.OpenGLTokens

PFNGLBINDBUFFERBASEPROC

GLS.OpenGLTokens

PFNGLBINDBUFFEROFFSETEXTPROC

GLS.OpenGLTokens

PFNGLBINDBUFFEROFFSETNVPROC

GLS.OpenGLTokens

PFNGLBINDBUFFERPROC

GLS.OpenGLTokens

promoted to core v1.5 from GL_ARB_vertex_buffer_object (#28)

PFNGLBINDBUFFERRANGEEXTPROC

GLS.OpenGLTokens

GL_EXT_transform_feedback (EXT #352)

PFNGLBINDBUFFERRANGENVPROC

GLS.OpenGLTokens

GL_NV_transform_feedback (EXT #341)

PFNGLBINDBUFFERRANGEPROC

GLS.OpenGLTokens

promoted to core v3.0 from GL_EXT_transform_feedback

PFNGLBindBuffersBase

GLS.OpenGLTokens

PFNGLBindBuffersRange

GLS.OpenGLTokens

PFNGLBINDFRAGDATALOCATIONEXTPROC

GLS.OpenGLTokens

PFNGLBINDFRAGDATALOCATIONINDEXEDPROC

GLS.OpenGLTokens

GL_ARB_blend_func_extended (ARB #78)

PFNGLBINDFRAGDATALOCATIONPROC

GLS.OpenGLTokens

PFNGLBINDFRAMEBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLBINDFRAMEBUFFERPROC

GLS.OpenGLTokens

PFNGLBindImageTextures

GLS.OpenGLTokens

PFNGLBINDMULTITEXTUREEXTPROC

GLS.OpenGLTokens

PFNGLBINDPROGRAMARBPROC

GLS.OpenGLTokens

PFNGLBINDPROGRAMNVPROC

GLS.OpenGLTokens

PFNGLBINDPROGRAMPIPELINEPROC

GLS.OpenGLTokens

PFNGLBINDRENDERBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLBINDRENDERBUFFERPROC

GLS.OpenGLTokens

PFNGLBINDSAMPLERPROC

GLS.OpenGLTokens

PFNGLBindSamplers

GLS.OpenGLTokens

PFNGLBINDTEXTUREEXTPROC

GLS.OpenGLTokens

PFNGLBindTextures

GLS.OpenGLTokens

PFNGLBINDTRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

GL_ARB_transform_feedback2 (ARB #93)

PFNGLBINDVERTEXARRAYPROC

GLS.OpenGLTokens

GL_ARB_vertex_array_object (ARB #54)

PFNGLBindVertexBuffer

GLS.OpenGLTokens

GL_ARB_vertex_attrib_binding (ARB #125)

PFNGLBindVertexBuffers

GLS.OpenGLTokens

PFNGLBLENDCOLOREXTPROC

GLS.OpenGLTokens

GL_EXT_blend_color (EXT #2)

PFNGLBLENDCOLORPROC

GLS.OpenGLTokens

====================================================================== core 1.2 promoted to core v1.2 from GL_EXT_blend_color (#2)

PFNGLBLENDEQUATIONEXTPROC

GLS.OpenGLTokens

GL_EXT_blend_minmax (EXT #37)

PFNGLBLENDEQUATIONIARBPROC

GLS.OpenGLTokens

GL_ARB_draw_buffers_blend (ARB #69)

PFNGLBLENDEQUATIONIPROC

GLS.OpenGLTokens

Core 4.0 promoted to core v4.0 from GL_ARB_draw_buffers_blend (ARB #69)

PFNGLBLENDEQUATIONPROC

GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_blend_minmax (#37)

PFNGLBLENDEQUATIONSEPARATEEXTPROC

GLS.OpenGLTokens

GL_EXT_blend_equation_separate (EXT #299)

PFNGLBLENDEQUATIONSEPARATEIARBPROC

GLS.OpenGLTokens

PFNGLBLENDEQUATIONSEPARATEIPROC

GLS.OpenGLTokens

PFNGLBLENDEQUATIONSEPARATEPROC

GLS.OpenGLTokens

core 2.0 promoted to core v2.0 from GL_EXT_blend_equation_separate (#299)

PFNGLBLENDFUNCIARBPROC

GLS.OpenGLTokens

PFNGLBLENDFUNCIPROC

GLS.OpenGLTokens

PFNGLBLENDFUNCSEPARATEEXTPROC

GLS.OpenGLTokens

GL_EXT_blend_func_separate (EXT #173)

PFNGLBLENDFUNCSEPARATEIARBPROC

GLS.OpenGLTokens

PFNGLBLENDFUNCSEPARATEIPROC

GLS.OpenGLTokens

PFNGLBLENDFUNCSEPARATEPROC

GLS.OpenGLTokens

deprecated; core 1.4 promoted to core v1.4 from GL_EXT_blend_func_separate (#173)

PFNGLBLITFRAMEBUFFEREXTPROC

GLS.OpenGLTokens

GL_EXT_framebuffer_blit (EXT #316)

PFNGLBLITFRAMEBUFFERPROC

GLS.OpenGLTokens

PFNGLBUFFERADDRESSRANGENVPROC

GLS.OpenGLTokens

GL_NV_vertex_buffer_unified_memory (EXT #380)

PFNGLBUFFERDATAARBPROC

GLS.OpenGLTokens

PFNGLBUFFERDATAPROC

GLS.OpenGLTokens

PFNGLBufferStorage

GLS.OpenGLTokens

PFNGLBUFFERSUBDATAARBPROC

GLS.OpenGLTokens

PFNGLBUFFERSUBDATAPROC

GLS.OpenGLTokens

PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC

GLS.OpenGLTokens

PFNGLCHECKFRAMEBUFFERSTATUSPROC

GLS.OpenGLTokens

PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC

GLS.OpenGLTokens

PFNGLCLAMPCOLORARBPROC

GLS.OpenGLTokens

GL_ARB_color_buffer_float (ARB #39)

PFNGLCLAMPCOLORPROC

GLS.OpenGLTokens

promoted to core v3.0 from GL_ARB_color_buffer_float

PFNGLClearBufferData

GLS.OpenGLTokens

GL_ARB_clear_buffer_object (ARB #121)

PFNGLCLEARBUFFERFIPROC

GLS.OpenGLTokens

PFNGLCLEARBUFFERFVPROC

GLS.OpenGLTokens

PFNGLCLEARBUFFERIVPROC

GLS.OpenGLTokens

New commands in OpenGL 3.0

PFNGLClearBufferSubData

GLS.OpenGLTokens

PFNGLCLEARBUFFERUIVPROC

GLS.OpenGLTokens

PFNGLCLEARCOLORIIEXTPROC

GLS.OpenGLTokens

GL_EXT_texture_integer (EXT #343)

PFNGLCLEARCOLORIUIEXTPROC

GLS.OpenGLTokens

PFNGLCLEARDEPTHFPROC

GLS.OpenGLTokens

PFNGLClearNamedBufferData

GLS.OpenGLTokens

PFNGLClearNamedBufferSubData

GLS.OpenGLTokens

PFNGLClearTexImage

GLS.OpenGLTokens

PFNGLClearTexSubImage

GLS.OpenGLTokens

PFNGLCLIENTACTIVETEXTUREARBPROC

GLS.OpenGLTokens

PFNGLCLIENTACTIVETEXTUREPROC

GLS.OpenGLTokens

core 1.3 deprecated promoted to core v1.3 from GL_ARB_multitexture (#1)

PFNGLCLIENTATTRIBDEFAULTEXTPROC

GLS.OpenGLTokens

GL_EXT_direct_state_access

PFNGLCLIENTWAITSYNCPROC

GLS.OpenGLTokens

PFNGLCOLORFORMATNVPROC

GLS.OpenGLTokens

PFNGLCOLORMASKINDEXEDEXTPROC

GLS.OpenGLTokens

GL_EXT_draw_buffers2 (EXT #340)

PFNGLCOLORMASKIPROC

GLS.OpenGLTokens

promoted to core v3.0 from GL_EXT_draw_buffers2

PFNGLCOLORP3UIPROC

GLS.OpenGLTokens

PFNGLCOLORP3UIVPROC

GLS.OpenGLTokens

PFNGLCOLORP4UIPROC

GLS.OpenGLTokens

PFNGLCOLORP4UIVPROC

GLS.OpenGLTokens

PFNGLCOLORSUBTABLEEXTPROC

GLS.OpenGLTokens

PFNGLCOLORSUBTABLEPROC

GLS.OpenGLTokens

deprecated; promoted to core v1.2 from GL_EXT_color_subtable (#74)

PFNGLCOLORTABLEEXTPROC

GLS.OpenGLTokens

GL_EXT_paletted_texture (EXT #78)

PFNGLCOLORTABLEPARAMETERFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLCOLORTABLEPARAMETERIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLCOLORTABLEPROC

GLS.OpenGLTokens

core 1.2 deprecated promoted to core v1.2 from GL_SGI_color_table (#14)

PFNGLCOMBINERINPUTNVPROC

GLS.OpenGLTokens

PFNGLCOMBINEROUTPUTNVPROC

GLS.OpenGLTokens

PFNGLCOMBINERPARAMETERFNVPROC

GLS.OpenGLTokens

PFNGLCOMBINERPARAMETERFVNVPROC

GLS.OpenGLTokens

GL_NV_register_combiners (EXT #191)

PFNGLCOMBINERPARAMETERINVPROC

GLS.OpenGLTokens

PFNGLCOMBINERPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLCOMPILESHADERARBPROC

GLS.OpenGLTokens

PFNGLCOMPILESHADERPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE1DARBPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE1DPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE2DARBPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE2DPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXIMAGE3DARBPROC

GLS.OpenGLTokens

GL_ARB_texture_compression (ARB #12)

PFNGLCOMPRESSEDTEXIMAGE3DPROC

GLS.OpenGLTokens

promoted to core v1.3 from GL_ARB_texture_compression (#12)

PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCONVOLUTIONFILTER1DPROC

GLS.OpenGLTokens

deprecated; promoted to core v1.2 from GL_EXT_convolution (#12)

PFNGLCONVOLUTIONFILTER2DPROC

GLS.OpenGLTokens

deprecated;

PFNGLCONVOLUTIONPARAMETERFPROC

GLS.OpenGLTokens

deprecated;

PFNGLCONVOLUTIONPARAMETERFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLCONVOLUTIONPARAMETERIPROC

GLS.OpenGLTokens

deprecated;

PFNGLCONVOLUTIONPARAMETERIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLCOPYBUFFERSUBDATAPROC

GLS.OpenGLTokens

GL_ARB_copy_buffer (ARB #59)

PFNGLCOPYCOLORSUBTABLEPROC

GLS.OpenGLTokens

deprecated;

PFNGLCOPYCOLORTABLEPROC

GLS.OpenGLTokens

deprecated;

PFNGLCOPYCONVOLUTIONFILTER1DPROC

GLS.OpenGLTokens

deprecated;

PFNGLCOPYCONVOLUTIONFILTER2DPROC

GLS.OpenGLTokens

deprecated;

PFNGLCopyImageSubData

GLS.OpenGLTokens

GL_ARB_copy_image (ARB #123)

PFNGLCOPYIMAGESUBDATANVPROC

GLS.OpenGLTokens

GL_NV_copy_image (EXT #376)

PFNGLCOPYMULTITEXIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYMULTITEXIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYPATHNVPROC

GLS.OpenGLTokens

PFNGLCOPYTEXIMAGE1DEXTPROC

GLS.OpenGLTokens

GL_EXT_copy_texture (EXT #10)

PFNGLCOPYTEXIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXSUBIMAGE3DPROC

GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_copy_texture

PFNGLCOPYTEXTUREIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXTUREIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLCOVERFILLPATHINSTANCEDNVPROC

GLS.OpenGLTokens

PFNGLCOVERFILLPATHNVPROC

GLS.OpenGLTokens

PFNGLCOVERSTROKEPATHINSTANCEDNVPROC

GLS.OpenGLTokens

PFNGLCOVERSTROKEPATHNVPROC

GLS.OpenGLTokens

PFNGLCREATEPROGRAMOBJECTARBPROC

GLS.OpenGLTokens

PFNGLCREATEPROGRAMPROC

GLS.OpenGLTokens

PFNGLCREATESHADEROBJECTARBPROC

GLS.OpenGLTokens

PFNGLCREATESHADERPROC

GLS.OpenGLTokens

PFNGLCREATESHADERPROGRAMVPROC

GLS.OpenGLTokens

PFNGLCreateSyncFromCLevent

GLS.OpenGLTokens

GL_ARB_robustness_isolation (ARB #126) (no entry points) GL_ARB_cl_event (ARB #103)

PFNGLCURRENTPALETTEMATRIXARBPROC

GLS.OpenGLTokens

GL_ARB_matrix_palette (ARB #16) {deprecated?}

PFNGLDEBUGMESSAGECALLBACKARBPROC

GLS.OpenGLTokens

PFNGLDEBUGMESSAGECONTROLARBPROC

GLS.OpenGLTokens

GL_ARB_debug_output (ARB #104)

PFNGLDEBUGMESSAGEINSERTARBPROC

GLS.OpenGLTokens

PFNGLDELETEBUFFERSARBPROC

GLS.OpenGLTokens

PFNGLDELETEBUFFERSPROC

GLS.OpenGLTokens

PFNGLDELETEFENCESNVPROC

GLS.OpenGLTokens

PFNGLDELETEFRAMEBUFFERSEXTPROC

GLS.OpenGLTokens

PFNGLDELETEFRAMEBUFFERSPROC

GLS.OpenGLTokens

PFNGLDELETEOBJECTARBPROC

GLS.OpenGLTokens

GL_ARB_shader_objects (ARB #30)

PFNGLDELETEOCCLUSIONQUERIESNVPROC

GLS.OpenGLTokens

PFNGLDELETEPATHSNVPROC

GLS.OpenGLTokens

PFNGLDELETEPROGRAMPIPELINESPROC

GLS.OpenGLTokens

PFNGLDELETEPROGRAMPROC

GLS.OpenGLTokens

PFNGLDELETEPROGRAMSARBPROC

GLS.OpenGLTokens

PFNGLDELETEPROGRAMSNVPROC

GLS.OpenGLTokens

PFNGLDELETEQUERIESARBPROC

GLS.OpenGLTokens

PFNGLDELETEQUERIESPROC

GLS.OpenGLTokens

PFNGLDELETERENDERBUFFERSEXTPROC

GLS.OpenGLTokens

PFNGLDELETERENDERBUFFERSPROC

GLS.OpenGLTokens

PFNGLDELETESAMPLERSPROC

GLS.OpenGLTokens

PFNGLDELETESHADERPROC

GLS.OpenGLTokens

PFNGLDELETESYNCPROC

GLS.OpenGLTokens

PFNGLDELETETEXTURESEXTPROC

GLS.OpenGLTokens

PFNGLDELETETRANSFORMFEEDBACKSPROC

GLS.OpenGLTokens

PFNGLDELETEVERTEXARRAYSPROC

GLS.OpenGLTokens

PFNGLDEPTHBOUNDSEXTPROC

GLS.OpenGLTokens

GL_EXT_depth_bounds_test (EXT #297)

PFNGLDEPTHRANGEARRAYVPROC

GLS.OpenGLTokens

PFNGLDEPTHRANGEFPROC

GLS.OpenGLTokens

PFNGLDEPTHRANGEINDEXEDPROC

GLS.OpenGLTokens

PFNGLDETACHOBJECTARBPROC

GLS.OpenGLTokens

PFNGLDETACHSHADERPROC

GLS.OpenGLTokens

PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC

GLS.OpenGLTokens

PFNGLDISABLEINDEXEDEXTPROC

GLS.OpenGLTokens

PFNGLDISABLEIPROC

GLS.OpenGLTokens

PFNGLDISABLEVERTEXATTRIBARRAYARBPROC

GLS.OpenGLTokens

PFNGLDISABLEVERTEXATTRIBARRAYPROC

GLS.OpenGLTokens

PFNGLDispatchCompute

GLS.OpenGLTokens

GL_ARB_compute_shader (ARB #122)

PFNGLDispatchComputeIndirect

GLS.OpenGLTokens

PFNGLDRAWARRAYSINDIRECTPROC

GLS.OpenGLTokens

GL_ARB_draw_indirect (ARB #87)

PFNGLDRAWARRAYSINSTANCEDARBPROC

GLS.OpenGLTokens

GL_ARB_draw_instanced (ARB #44)

PFNGLDRAWARRAYSINSTANCEDEXTPROC

GLS.OpenGLTokens

GL_EXT_draw_instanced (EXT #327)

PFNGLDRAWARRAYSINSTANCEDPROC

GLS.OpenGLTokens

Core 3.1 New commands in OpenGL 3.1

PFNGLDRAWBUFFERSARBPROC

GLS.OpenGLTokens

GL_ARB_DrawBuffers (ARB #37)

PFNGLDRAWBUFFERSATIPROC

GLS.OpenGLTokens

GL_ATI_draw_buffers (EXT #277)

PFNGLDRAWBUFFERSPROC

GLS.OpenGLTokens

promoted to core v2.0 from GL_ARB_draw_buffers (#37)

PFNGLDRAWELEMENTSBASEVERTEXPROC

GLS.OpenGLTokens

GL_ARB_draw_elements_base_vertex (ARB #62)

PFNGLDRAWELEMENTSINDIRECTPROC

GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDARBPROC

GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC

GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDEXTPROC

GLS.OpenGLTokens

PFNGLDRAWELEMENTSINSTANCEDPROC

GLS.OpenGLTokens

PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC

GLS.OpenGLTokens

PFNGLDRAWRANGEELEMENTSEXTPROC

GLS.OpenGLTokens

GL_EXT_draw_range_elements (EXT #112)

PFNGLDRAWRANGEELEMENTSPROC

GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_draw_range_elements (#112)

PFNGLDRAWTRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC

GLS.OpenGLTokens

GL_ARB_transform_feedback3 (ARB #94)

PFNGLEDGEFLAGFORMATNVPROC

GLS.OpenGLTokens

PFNGLENABLECLIENTSTATEINDEXEDEXTPROC

GLS.OpenGLTokens

PFNGLENABLEINDEXEDEXTPROC

GLS.OpenGLTokens

PFNGLENABLEIPROC

GLS.OpenGLTokens

PFNGLENABLEVERTEXATTRIBARRAYARBPROC

GLS.OpenGLTokens

PFNGLENABLEVERTEXATTRIBARRAYPROC

GLS.OpenGLTokens

PFNGLENDCONDITIONALRENDERNVPROC

GLS.OpenGLTokens

PFNGLENDCONDITIONALRENDERPROC

GLS.OpenGLTokens

PFNGLENDOCCLUSIONQUERYNVPROC

GLS.OpenGLTokens

PFNGLENDQUERYARBPROC

GLS.OpenGLTokens

PFNGLENDQUERYINDEXEDPROC

GLS.OpenGLTokens

PFNGLENDQUERYPROC

GLS.OpenGLTokens

PFNGLENDSCENEEXTPROC

GLS.OpenGLTokens

PFNGLENDTRANSFORMFEEDBACKEXTPROC

GLS.OpenGLTokens

PFNGLENDTRANSFORMFEEDBACKNVPROC

GLS.OpenGLTokens

PFNGLENDTRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

PFNGLEXECUTEPROGRAMNVPROC

GLS.OpenGLTokens

PFNGLFENCESYNCPROC

GLS.OpenGLTokens

GL_ARB_sync (ARB #66)

PFNGLFINALCOMBINERINPUTNVPROC

GLS.OpenGLTokens

PFNGLFINISHFENCENVPROC

GLS.OpenGLTokens

PFNGLFLUSHMAPPEDBUFFERRANGEPROC

GLS.OpenGLTokens

PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC

GLS.OpenGLTokens

PFNGLFLUSHVERTEXARRAYRANGENVPROC

GLS.OpenGLTokens

GL_NV_vertex_array_range (EXT #190)

PFNGLFOGCOORDDEXTPROC

GLS.OpenGLTokens

PFNGLFOGCOORDDPROC

GLS.OpenGLTokens

deprecated;

PFNGLFOGCOORDDVEXTPROC

GLS.OpenGLTokens

PFNGLFOGCOORDDVPROC

GLS.OpenGLTokens

deprecated;

PFNGLFOGCOORDFEXTPROC

GLS.OpenGLTokens

GL_EXT_fog_coord (EXT #149)

PFNGLFOGCOORDFORMATNVPROC

GLS.OpenGLTokens

PFNGLFOGCOORDFPROC

GLS.OpenGLTokens

core 1.4 deprecated promoted to core v1.4 from GL_EXT_fog_coord (#149)

PFNGLFOGCOORDFVEXTPROC

GLS.OpenGLTokens

PFNGLFOGCOORDFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLFOGCOORDPOINTEREXTPROC

GLS.OpenGLTokens

PFNGLFOGCOORDPOINTERPROC

GLS.OpenGLTokens

deprecated;

PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC

GLS.OpenGLTokens

PFNGLFramebufferParameteri

GLS.OpenGLTokens

GL_ARB_debug_group ARB_debug_group reuses entry points from KHR_debug GL_ARB_debug_label ARB_debug_label reuses entry points from KHR_debug GL_ARB_debug_output2 GL_ARB_ES3_compatibility GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments (ARB #130)

PFNGLFRAMEBUFFERREADBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERRENDERBUFFERPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE1DEXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE1DPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE2DEXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE2DPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE3DEXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURE3DPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREARBPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREEXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREFACEARBPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURELAYERARBPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTURELAYERPROC

GLS.OpenGLTokens

PFNGLFRAMEBUFFERTEXTUREPROC

GLS.OpenGLTokens

PFNGLFRAMETERMINATORGREMEDYPROC

GLS.OpenGLTokens

GL_GREMEDY_frame_terminator (EXT #345)

PFNGLGENBUFFERSARBPROC

GLS.OpenGLTokens

PFNGLGENBUFFERSPROC

GLS.OpenGLTokens

PFNGLGENERATEMIPMAPEXTPROC

GLS.OpenGLTokens

PFNGLGENERATEMIPMAPPROC

GLS.OpenGLTokens

PFNGLGENERATEMULTITEXMIPMAPEXTPROC

GLS.OpenGLTokens

PFNGLGENERATETEXTUREMIPMAPEXTPROC

GLS.OpenGLTokens

PFNGLGENFENCESNVPROC

GLS.OpenGLTokens

GL_NV_fence (EXT #222)

PFNGLGENFRAMEBUFFERSEXTPROC

GLS.OpenGLTokens

PFNGLGENFRAMEBUFFERSPROC

GLS.OpenGLTokens

PFNGLGENOCCLUSIONQUERIESNVPROC

GLS.OpenGLTokens

GL_NV_occlusion_query (EXT #261)

PFNGLGENPATHSNVPROC

GLS.OpenGLTokens

GL_NV_path_rendering

PFNGLGENPROGRAMPIPELINESPROC

GLS.OpenGLTokens

PFNGLGENPROGRAMSARBPROC

GLS.OpenGLTokens

PFNGLGENPROGRAMSNVPROC

GLS.OpenGLTokens

PFNGLGENQUERIESARBPROC

GLS.OpenGLTokens

GL_ARB_occlusion_query (ARB #29)

PFNGLGENQUERIESPROC

GLS.OpenGLTokens

deprecated; core 1.5 promoted to core v1.5 from GL_ARB_occlusion_query (#29)

PFNGLGENRENDERBUFFERSEXTPROC

GLS.OpenGLTokens

PFNGLGENRENDERBUFFERSPROC

GLS.OpenGLTokens

PFNGLGENSAMPLERSPROC

GLS.OpenGLTokens

GL_ARB_sampler_objects (ARB #81)

PFNGLGENTEXTURESEXTPROC

GLS.OpenGLTokens

GL_EXT_texture_object (EXT #20)

PFNGLGENTRANSFORMFEEDBACKSPROC

GLS.OpenGLTokens

PFNGLGENVERTEXARRAYSPROC

GLS.OpenGLTokens

PFNGLGETACTIVEATTRIBARBPROC

GLS.OpenGLTokens

PFNGLGETACTIVEATTRIBPROC

GLS.OpenGLTokens

PFNGLGETACTIVESUBROUTINENAMEPROC

GLS.OpenGLTokens

PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC

GLS.OpenGLTokens

PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC

GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMARBPROC

GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMBLOCKIVPROC

GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC

GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMNAMEPROC

GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMPROC

GLS.OpenGLTokens

PFNGLGETACTIVEUNIFORMSIVPROC

GLS.OpenGLTokens

PFNGLGETACTIVEVARYINGNVPROC

GLS.OpenGLTokens

PFNGLGETATTACHEDOBJECTSARBPROC

GLS.OpenGLTokens

PFNGLGETATTACHEDSHADERSPROC

GLS.OpenGLTokens

PFNGLGETATTRIBLOCATIONARBPROC

GLS.OpenGLTokens

PFNGLGETATTRIBLOCATIONPROC

GLS.OpenGLTokens

PFNGLGETBOOLEANINDEXEDVEXTPROC

GLS.OpenGLTokens

PFNGLGETBOOLEANI_VPROC

GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERI64VPROC

GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERIVARBPROC

GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERIVPROC

GLS.OpenGLTokens

PFNGLGETBUFFERPARAMETERUI64VNVPROC

GLS.OpenGLTokens

PFNGLGETBUFFERPOINTERVARBPROC

GLS.OpenGLTokens

PFNGLGETBUFFERPOINTERVPROC

GLS.OpenGLTokens

PFNGLGETBUFFERSUBDATAARBPROC

GLS.OpenGLTokens

PFNGLGETBUFFERSUBDATAPROC

GLS.OpenGLTokens

PFNGLGETCOLORTABLEEXTPROC

GLS.OpenGLTokens

PFNGLGETCOLORTABLEPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLGETCOLORTABLEPARAMETERFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETCOLORTABLEPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETCOLORTABLEPARAMETERIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETCOLORTABLEPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC

GLS.OpenGLTokens

PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC

GLS.OpenGLTokens

PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC

GLS.OpenGLTokens

PFNGLGETCOMPRESSEDTEXIMAGEARBPROC

GLS.OpenGLTokens

PFNGLGETCOMPRESSEDTEXIMAGEPROC

GLS.OpenGLTokens

PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC

GLS.OpenGLTokens

PFNGLGETCONVOLUTIONFILTERPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETCONVOLUTIONPARAMETERFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETCONVOLUTIONPARAMETERIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETDEBUGMESSAGELOGARBPROC

GLS.OpenGLTokens

PFNGLGETDOUBLEINDEXEDVEXTPROC

GLS.OpenGLTokens

PFNGLGETDOUBLEI_VPROC

GLS.OpenGLTokens

PFNGLGETFENCEIVNVPROC

GLS.OpenGLTokens

PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC

GLS.OpenGLTokens

PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLGETFLOATINDEXEDVEXTPROC

GLS.OpenGLTokens

PFNGLGETFLOATI_VPROC

GLS.OpenGLTokens

PFNGLGETFRAGDATAINDEXPROC

GLS.OpenGLTokens

PFNGLGETFRAGDATALOCATIONEXTPROC

GLS.OpenGLTokens

PFNGLGETFRAGDATALOCATIONPROC

GLS.OpenGLTokens

PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC

GLS.OpenGLTokens

PFNGLGetFramebufferParameteriv

GLS.OpenGLTokens

PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETGRAPHICSRESETSTATUSARBPROC

GLS.OpenGLTokens

GL_ARB_robustness (ARB #105)

PFNGLGETHANDLEARBPROC

GLS.OpenGLTokens

PFNGLGETHISTOGRAMPARAMETERFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETHISTOGRAMPARAMETERIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETHISTOGRAMPROC

GLS.OpenGLTokens

deprecated; promoted to core v1.2 from GL_EXT_histogram (#11)

PFNGLGETINFOLOGARBPROC

GLS.OpenGLTokens

PFNGLGETINTEGER64I_VPROC

GLS.OpenGLTokens

Core 3.2

PFNGLGETINTEGER64VPROC

GLS.OpenGLTokens

PFNGLGETINTEGERINDEXEDVEXTPROC

GLS.OpenGLTokens

PFNGLGETINTEGERI_VPROC

GLS.OpenGLTokens

PFNGLGETINTEGERUI64I_VNVPROC

GLS.OpenGLTokens

PFNGLGETINTEGERUI64VNVPROC

GLS.OpenGLTokens

PFNGLGetInternalformati64v

GLS.OpenGLTokens

GL_ARB_internalformat_query2 (ARB #131)

PFNGLGETMINMAXPARAMETERFVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETMINMAXPARAMETERIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETMINMAXPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETMULTISAMPLEFVPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXENVFVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXENVIVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXGENDVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXGENFVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXGENIVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXIMAGEEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLGETMULTITEXPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC

GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERPOINTERVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDBUFFERSUBDATAEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGetNamedFramebufferParameteriv

GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMIVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDPROGRAMSTRINGEXTPROC

GLS.OpenGLTokens

PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETNCOLORTABLEARBPROC

GLS.OpenGLTokens

PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC

GLS.OpenGLTokens

PFNGLGETNCONVOLUTIONFILTERARBPROC

GLS.OpenGLTokens

PFNGLGETNHISTOGRAMARBPROC

GLS.OpenGLTokens

PFNGLGETNMAPDVARBPROC

GLS.OpenGLTokens

PFNGLGETNMAPFVARBPROC

GLS.OpenGLTokens

PFNGLGETNMAPIVARBPROC

GLS.OpenGLTokens

PFNGLGETNMINMAXARBPROC

GLS.OpenGLTokens

PFNGLGETNPIXELMAPFVARBPROC

GLS.OpenGLTokens

PFNGLGETNPIXELMAPUIVARBPROC

GLS.OpenGLTokens

PFNGLGETNPIXELMAPUSVARBPROC

GLS.OpenGLTokens

PFNGLGETNPOLYGONSTIPPLEARBPROC

GLS.OpenGLTokens

PFNGLGETNSEPARABLEFILTERARBPROC

GLS.OpenGLTokens

PFNGLGETNTEXIMAGEARBPROC

GLS.OpenGLTokens

PFNGLGETNUNIFORMDVARBPROC

GLS.OpenGLTokens

PFNGLGETNUNIFORMFVARBPROC

GLS.OpenGLTokens

PFNGLGETNUNIFORMIVARBPROC

GLS.OpenGLTokens

PFNGLGETNUNIFORMUIVARBPROC

GLS.OpenGLTokens

PFNGLGetObjectLabel

GLS.OpenGLTokens

PFNGLGETOBJECTPARAMETERFVARBPROC

GLS.OpenGLTokens

PFNGLGETOBJECTPARAMETERIVARBPROC

GLS.OpenGLTokens

PFNGLGetObjectPtrLabel

GLS.OpenGLTokens

PFNGLGETOCCLUSIONQUERYIVNVPROC

GLS.OpenGLTokens

PFNGLGETOCCLUSIONQUERYUIVNVPROC

GLS.OpenGLTokens

PFNGLGETPATHCOLORGENFVNVPROC

GLS.OpenGLTokens

PFNGLGETPATHCOLORGENIVNVPROC

GLS.OpenGLTokens

PFNGLGETPATHCOMMANDSNVPROC

GLS.OpenGLTokens

PFNGLGETPATHCOORDSNVPROC

GLS.OpenGLTokens

PFNGLGETPATHDASHARRAYNVPROC

GLS.OpenGLTokens

PFNGLGETPATHLENGTHNVPROC

GLS.OpenGLTokens

PFNGLGETPATHMETRICRANGENVPROC

GLS.OpenGLTokens

PFNGLGETPATHMETRICSNVPROC

GLS.OpenGLTokens

PFNGLGETPATHPARAMETERFVNVPROC

GLS.OpenGLTokens

PFNGLGETPATHPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLGETPATHSPACINGNVPROC

GLS.OpenGLTokens

PFNGLGETPATHTEXGENFVNVPROC

GLS.OpenGLTokens

PFNGLGETPATHTEXGENIVNVPROC

GLS.OpenGLTokens

PFNGLGETPOINTERINDEXEDVEXTPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMBINARYPROC

GLS.OpenGLTokens

GL_ARB_get_program_binary (ARB #96)

PFNGLGETPROGRAMENVPARAMETERDVARBPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMENVPARAMETERFVARBPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMINFOLOGPROC

GLS.OpenGLTokens

PFNGLGetProgramInterfaceiv

GLS.OpenGLTokens

GL_ARB_program_interface_query (ARB #134)

PFNGLGETPROGRAMIVARBPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMIVNVPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMIVPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMPARAMETERDVNVPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMPARAMETERFVNVPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMPIPELINEINFOLOGPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMPIPELINEIVPROC

GLS.OpenGLTokens

PFNGLGetProgramResourceIndex

GLS.OpenGLTokens

PFNGLGetProgramResourceiv

GLS.OpenGLTokens

PFNGLGetProgramResourceLocation

GLS.OpenGLTokens

PFNGLGetProgramResourceLocationIndex

GLS.OpenGLTokens

PFNGLGetProgramResourceName

GLS.OpenGLTokens

PFNGLGETPROGRAMSTAGEIVPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMSTRINGARBPROC

GLS.OpenGLTokens

PFNGLGETPROGRAMSTRINGNVPROC

GLS.OpenGLTokens

PFNGLGETQUERYINDEXEDIVPROC

GLS.OpenGLTokens

PFNGLGETQUERYIVARBPROC

GLS.OpenGLTokens

PFNGLGETQUERYIVPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTI64VEXTPROC

GLS.OpenGLTokens

GL_EXT_timer_query (EXT #319)

PFNGLGETQUERYOBJECTI64VPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTIVARBPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTIVPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUI64VEXTPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUI64VPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUIVARBPROC

GLS.OpenGLTokens

PFNGLGETQUERYOBJECTUIVPROC

GLS.OpenGLTokens

PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETRENDERBUFFERPARAMETERIVPROC

GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERFVPROC

GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERIFVPROC

GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERIIVPROC

GLS.OpenGLTokens

PFNGLGETSAMPLERPARAMETERIVPROC

GLS.OpenGLTokens

PFNGLGETSEPARABLEFILTERPROC

GLS.OpenGLTokens

deprecated;

PFNGLGETSHADERINFOLOGPROC

GLS.OpenGLTokens

PFNGLGETSHADERIVPROC

GLS.OpenGLTokens

PFNGLGETSHADERPRECISIONFORMATPROC

GLS.OpenGLTokens

PFNGLGETSHADERSOURCEARBPROC

GLS.OpenGLTokens

PFNGLGETSHADERSOURCEPROC

GLS.OpenGLTokens

PFNGLGETSTRINGIPROC

GLS.OpenGLTokens

PFNGLGETSUBROUTINEINDEXPROC

GLS.OpenGLTokens

PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC

GLS.OpenGLTokens

GL_ARB_shader_subroutine (ARB #90)

PFNGLGETSYNCIVPROC

GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIIVPROC

GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXPARAMETERIUIVPROC

GLS.OpenGLTokens

PFNGLGETTEXTUREIMAGEEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLGETTEXTUREPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLGETTRACKMATRIXIVNVPROC

GLS.OpenGLTokens

PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC

GLS.OpenGLTokens

PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC

GLS.OpenGLTokens

PFNGLGETTRANSFORMFEEDBACKVARYINGPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMBLOCKINDEXPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMBUFFERSIZEEXTPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMDVPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMFVARBPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMFVPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMINDICESPROC

GLS.OpenGLTokens

GL_ARB_uniform_buffer_object (ARB #57)

PFNGLGETUNIFORMIVARBPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMIVPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMLOCATIONARBPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMLOCATIONPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMOFFSETEXTPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMSUBROUTINEUIVPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMUI64VNVPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMUIVEXTPROC

GLS.OpenGLTokens

PFNGLGETUNIFORMUIVPROC

GLS.OpenGLTokens

PFNGLGETVARYINGLOCATIONNVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBDVARBPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBDVNVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBDVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBFVARBPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBFVNVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBFVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIIVEXTPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIIVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIUIVEXTPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIUIVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIVARBPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIVNVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBIVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBLDVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBPOINTERVARBPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBPOINTERVNVPROC

GLS.OpenGLTokens

PFNGLGETVERTEXATTRIBPOINTERVPROC

GLS.OpenGLTokens

PFNGLHISTOGRAMPROC

GLS.OpenGLTokens

deprecated;

PFNGLINDEXFORMATNVPROC

GLS.OpenGLTokens

PFNGLINDEXFUNCEXTPROC

GLS.OpenGLTokens

GL_EXT_index_func (EXT #95)

PFNGLINDEXMATERIALEXTPROC

GLS.OpenGLTokens

glGetColorTableParameterfvEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall; glGetColorTableParameterivEXT: procedure(target, pname: Cardinal; params: Pointer); stdcall; GL_EXT_index_material (EXT #94)

PFNGLINTERPOLATEPATHSNVPROC

GLS.OpenGLTokens

PFNGLInvalidateBufferData

GLS.OpenGLTokens

PFNGLInvalidateBufferSubData

GLS.OpenGLTokens

PFNGLInvalidateFramebuffer

GLS.OpenGLTokens

PFNGLInvalidateSubFramebuffer

GLS.OpenGLTokens

PFNGLInvalidateTexImage

GLS.OpenGLTokens

PFNGLInvalidateTexSubImage

GLS.OpenGLTokens

GL_ARB_invalidate_subdata (ARB #132)

PFNGLISBUFFERARBPROC

GLS.OpenGLTokens

PFNGLISBUFFERPROC

GLS.OpenGLTokens

PFNGLISBUFFERRESIDENTNVPROC

GLS.OpenGLTokens

PFNGLISENABLEDINDEXEDEXTPROC

GLS.OpenGLTokens

PFNGLISENABLEDIPROC

GLS.OpenGLTokens

PFNGLISFENCENVPROC

GLS.OpenGLTokens

PFNGLISFRAMEBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLISFRAMEBUFFERPROC

GLS.OpenGLTokens

PFNGLISNAMEDBUFFERRESIDENTNVPROC

GLS.OpenGLTokens

PFNGLISOCCLUSIONQUERYNVPROC

GLS.OpenGLTokens

PFNGLISPATHNVPROC

GLS.OpenGLTokens

PFNGLISPOINTINFILLPATHNVPROC

GLS.OpenGLTokens

PFNGLISPOINTINSTROKEPATHNVPROC

GLS.OpenGLTokens

PFNGLISPROGRAMARBPROC

GLS.OpenGLTokens

PFNGLISPROGRAMNVPROC

GLS.OpenGLTokens

PFNGLISPROGRAMPIPELINEPROC

GLS.OpenGLTokens

PFNGLISPROGRAMPROC

GLS.OpenGLTokens

PFNGLISQUERYARBPROC

GLS.OpenGLTokens

PFNGLISQUERYPROC

GLS.OpenGLTokens

PFNGLISRENDERBUFFEREXTPROC

GLS.OpenGLTokens

GL_EXT_framebuffer_object (EXT #310)

PFNGLISRENDERBUFFERPROC

GLS.OpenGLTokens

GL_ARB_framebuffer_object (ARB #45)

PFNGLISSAMPLERPROC

GLS.OpenGLTokens

PFNGLISSHADERPROC

GLS.OpenGLTokens

PFNGLISSYNCPROC

GLS.OpenGLTokens

PFNGLISTEXTUREEXTPROC

GLS.OpenGLTokens

PFNGLISTRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

PFNGLISVERTEXARRAYPROC

GLS.OpenGLTokens

PFNGLLINKPROGRAMARBPROC

GLS.OpenGLTokens

PFNGLLINKPROGRAMPROC

GLS.OpenGLTokens

PFNGLLOADPROGRAMNVPROC

GLS.OpenGLTokens

PFNGLLOADTRANSPOSEMATRIXDARBPROC

GLS.OpenGLTokens

PFNGLLOADTRANSPOSEMATRIXDPROC

GLS.OpenGLTokens

deprecated;

PFNGLLOADTRANSPOSEMATRIXFARBPROC

GLS.OpenGLTokens

GL_ARB_transpose_matrix (ARB #3)

PFNGLLOADTRANSPOSEMATRIXFPROC

GLS.OpenGLTokens

deprecated; promoted to core v1.3 from GL_ARB_transpose_matrix

PFNGLLOCKARRAYSEXTPROC

GLS.OpenGLTokens

GL_EXT_compiled_vertex_array (EXT #97)

PFNGLMAKEBUFFERNONRESIDENTNVPROC

GLS.OpenGLTokens

PFNGLMAKEBUFFERRESIDENTNVPROC

GLS.OpenGLTokens

GL_NV_shader_buffer_load (EXT #379)

PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC

GLS.OpenGLTokens

PFNGLMAKENAMEDBUFFERRESIDENTNVPROC

GLS.OpenGLTokens

PFNGLMAPBUFFERARBPROC

GLS.OpenGLTokens

PFNGLMAPBUFFERPROC

GLS.OpenGLTokens

PFNGLMAPBUFFERRANGEPROC

GLS.OpenGLTokens

GL_ARB_map_buffer_range (ARB #50)

PFNGLMAPNAMEDBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLMAPNAMEDBUFFERRANGEEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXFRUSTUMEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXINDEXPOINTERARBPROC

GLS.OpenGLTokens

PFNGLMATRIXINDEXUBVARBPROC

GLS.OpenGLTokens

PFNGLMATRIXINDEXUIVARBPROC

GLS.OpenGLTokens

PFNGLMATRIXINDEXUSVARBPROC

GLS.OpenGLTokens

PFNGLMATRIXLOADDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXLOADFEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXLOADIDENTITYEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXLOADTRANSPOSEDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXLOADTRANSPOSEFEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXMULTDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXMULTFEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXMULTTRANSPOSEDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXMULTTRANSPOSEFEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXORTHOEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXPOPEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXPUSHEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXROTATEDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXROTATEFEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXSCALEDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXSCALEFEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXTRANSLATEDEXTPROC

GLS.OpenGLTokens

PFNGLMATRIXTRANSLATEFEXTPROC

GLS.OpenGLTokens

PFNGLMINMAXPROC

GLS.OpenGLTokens

deprecated;

PFNGLMINSAMPLESHADINGARBPROC

GLS.OpenGLTokens

GL_ARB_sample_shading (ARB #70)

PFNGLMINSAMPLESHADINGPROC

GLS.OpenGLTokens

promoted to core v4.0 from GL_ARB_sample_shading (ARB #70)

PFNGLMULTIDRAWARRAYSEXTPROC

GLS.OpenGLTokens

GL_EXT_multi_draw_arrays (EXT #148)

PFNGLMultiDrawArraysIndirect

GLS.OpenGLTokens

GL_ARB_multi_draw_indirect (ARB #133)

PFNGLMULTIDRAWARRAYSPROC

GLS.OpenGLTokens

promoted to core v1.4 from GL_EXT_multi_draw_arrays (#148)

PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC

GLS.OpenGLTokens

PFNGLMULTIDRAWELEMENTSEXTPROC

GLS.OpenGLTokens

PFNGLMultiDrawElementsIndirect

GLS.OpenGLTokens

PFNGLMULTIDRAWELEMENTSPROC

GLS.OpenGLTokens

PFNGLMULTITEXBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1DARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1DPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1DVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1FARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1FPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1FVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1IARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1IPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1IVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1SARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1SPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD1SVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD1SVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2DARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2DPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2DVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2FARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2FPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2FVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2IARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2IPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2IVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2SARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2SPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD2SVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD2SVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3DARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3DPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3DVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3FARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3FPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3FVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3IARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3IPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3IVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3SARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3SPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD3SVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD3SVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4DARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4DPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4DVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4FARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4FPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4FVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4IARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4IPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4IVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4SARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4SPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORD4SVARBPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORD4SVPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTITEXCOORDP1UIPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP1UIVPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP2UIPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP2UIVPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP3UIPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP3UIVPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP4UIPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDP4UIVPROC

GLS.OpenGLTokens

PFNGLMULTITEXCOORDPOINTEREXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXENVFEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXENVFVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXENVIEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXENVIVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXGENDEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXGENDVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXGENFEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXGENFVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXGENIEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXGENIVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERFEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXRENDERBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXSUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXSUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLMULTITEXSUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLMULTTRANSPOSEMATRIXDARBPROC

GLS.OpenGLTokens

PFNGLMULTTRANSPOSEMATRIXDPROC

GLS.OpenGLTokens

deprecated;

PFNGLMULTTRANSPOSEMATRIXFARBPROC

GLS.OpenGLTokens

PFNGLMULTTRANSPOSEMATRIXFPROC

GLS.OpenGLTokens

deprecated;

PFNGLNAMEDBUFFERDATAEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDBUFFERSUBDATAEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC

GLS.OpenGLTokens

PFNGLNamedFramebufferParameteri

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDPROGRAMSTRINGEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC

GLS.OpenGLTokens

PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC

GLS.OpenGLTokens

PFNGLNORMALFORMATNVPROC

GLS.OpenGLTokens

PFNGLNORMALP3UIPROC

GLS.OpenGLTokens

PFNGLNORMALP3UIVPROC

GLS.OpenGLTokens

PFNGLObjectLabel

GLS.OpenGLTokens

PFNGLObjectPtrLabel

GLS.OpenGLTokens

PFNGLPATCHPARAMETERFVPROC

GLS.OpenGLTokens

PFNGLPATCHPARAMETERIPROC

GLS.OpenGLTokens

GL_ARB_tessellation_shader (ARB #91)

PFNGLPATHCOLORGENNVPROC

GLS.OpenGLTokens

PFNGLPATHCOMMANDSNVPROC

GLS.OpenGLTokens

PFNGLPATHCOORDSNVPROC

GLS.OpenGLTokens

PFNGLPATHCOVERDEPTHFUNCNVPROC

GLS.OpenGLTokens

PFNGLPATHDASHARRAYNVPROC

GLS.OpenGLTokens

PFNGLPATHFOGGENNVPROC

GLS.OpenGLTokens

PFNGLPATHGLYPHRANGENVPROC

GLS.OpenGLTokens

PFNGLPATHGLYPHSNVPROC

GLS.OpenGLTokens

PFNGLPATHPARAMETERFNVPROC

GLS.OpenGLTokens

PFNGLPATHPARAMETERFVNVPROC

GLS.OpenGLTokens

PFNGLPATHPARAMETERINVPROC

GLS.OpenGLTokens

PFNGLPATHPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLPATHSTENCILDEPTHOFFSETNVPROC

GLS.OpenGLTokens

PFNGLPATHSTENCILFUNCNVPROC

GLS.OpenGLTokens

PFNGLPATHSTRINGNVPROC

GLS.OpenGLTokens

PFNGLPATHSUBCOMMANDSNVPROC

GLS.OpenGLTokens

PFNGLPATHSUBCOORDSNVPROC

GLS.OpenGLTokens

PFNGLPATHTEXGENNVPROC

GLS.OpenGLTokens

PFNGLPAUSETRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

PFNGLPOINTALONGPATHNVPROC

GLS.OpenGLTokens

PFNGLPOINTPARAMETERFARBPROC

GLS.OpenGLTokens

GL_ARB_point_parameter (ARB #14)

PFNGLPOINTPARAMETERFPROC

GLS.OpenGLTokens

promoted to core v1.4 from GL_ARB_point_parameters (#14), GL_NV_point_sprite (#262)

PFNGLPOINTPARAMETERFVARBPROC

GLS.OpenGLTokens

PFNGLPOINTPARAMETERFVPROC

GLS.OpenGLTokens

PFNGLPOINTPARAMETERINVPROC

GLS.OpenGLTokens

GL_NV_point_sprite (EXT #262)

PFNGLPOINTPARAMETERIPROC

GLS.OpenGLTokens

PFNGLPOINTPARAMETERIVNVPROC

GLS.OpenGLTokens

PFNGLPOINTPARAMETERIVPROC

GLS.OpenGLTokens

PFNGLPOLYGONOFFSETEXTPROC

GLS.OpenGLTokens

GL_EXT_polygon_offset (EXT #3)

PFNGLPopDebugGroup

GLS.OpenGLTokens

PFNGLPRIMITIVERESTARTINDEXNVPROC

GLS.OpenGLTokens

PFNGLPRIMITIVERESTARTINDEXPROC

GLS.OpenGLTokens

PFNGLPRIMITIVERESTARTNVPROC

GLS.OpenGLTokens

GL_NV_primitive_restart (EXT #285)

PFNGLPRIORITIZETEXTURESEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMBINARYPROC

GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4DARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4DVARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4FARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETER4FVARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMENVPARAMETERS4FVEXTPROC

GLS.OpenGLTokens

GL_EXT_gpu_program_parameters (EXT #320)

PFNGLPROGRAMLOCALPARAMETER4DARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETER4DVARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETER4FARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETER4FVARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4DNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4DVNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4FNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETER4FVNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETERIARBPROC

GLS.OpenGLTokens

GL_ARB_geometry_shader4 (ARB #47)

PFNGLPROGRAMPARAMETERIEXTPROC

GLS.OpenGLTokens

GL_EXT_geometry_shader4 (EXT #324)

PFNGLPROGRAMPARAMETERIPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETERS4DVNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMPARAMETERS4FVNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMSTRINGARBPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1FPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1IPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1IVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1UIPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM1UIVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2FPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2IPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2IVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2UIPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM2UIVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3FPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3IPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3IVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3UIPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM3UIVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4FPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4IPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4IVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4UIPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORM4UIVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMUI64NVPROC

GLS.OpenGLTokens

PFNGLPROGRAMUNIFORMUI64VNVPROC

GLS.OpenGLTokens

PFNGLPROGRAMVERTEXLIMITNVPROC

GLS.OpenGLTokens

GL_NV_geometry_program4 (EXT #323)

PFNGLPROVOKINGVERTEXPROC

GLS.OpenGLTokens

GL_ARB_provoking_vertex (ARB #64)

PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC

GLS.OpenGLTokens

PFNGLPushDebugGroup

GLS.OpenGLTokens

GL_ARB_shader_stencil_export (ARB #106) (no entry points) GL_KHR_debug (ARB #119)

PFNGLQUERYCOUNTERPROC

GLS.OpenGLTokens

GL_ARB_timer_query (ARB #85)

PFNGLREADNPIXELSARBPROC

GLS.OpenGLTokens

PFNGLRELEASESHADERCOMPILERPROC

GLS.OpenGLTokens

GL_ARB_ES2_compatibility (ARB #95)

PFNGLRENDERBUFFERSTORAGEEXTPROC

GLS.OpenGLTokens

PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC

GLS.OpenGLTokens

GL_EXT_framebuffer_multisample (EXT #317)

PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC

GLS.OpenGLTokens

PFNGLRENDERBUFFERSTORAGEPROC

GLS.OpenGLTokens

PFNGLREQUESTRESIDENTPROGRAMSNVPROC

GLS.OpenGLTokens

PFNGLRESETHISTOGRAMPROC

GLS.OpenGLTokens

deprecated;

PFNGLRESETMINMAXPROC

GLS.OpenGLTokens

deprecated;

PFNGLRESIZEBUFFERSMESAPROC

GLS.OpenGLTokens

GL_MESA_resize_buffers (EXT #196)

PFNGLRESUMETRANSFORMFEEDBACKPROC

GLS.OpenGLTokens

PFNGLSAMPLECOVERAGEARBPROC

GLS.OpenGLTokens

GL_ARB_multisample (ARB #5)

PFNGLSAMPLECOVERAGEPROC

GLS.OpenGLTokens

promoted to core v1.3 from GL_ARB_multisample (#5)

PFNGLSAMPLEMASKEXTPROC

GLS.OpenGLTokens

GL_EXT_multisample (EXT #209)

PFNGLSAMPLEMASKIPROC

GLS.OpenGLTokens

PFNGLSAMPLEMASKSGISPROC

GLS.OpenGLTokens

GL_SGIS_multisample (EXT #25)

PFNGLSAMPLEPASSARBPROC

GLS.OpenGLTokens

ARB Extensions unknown ARB extension

PFNGLSAMPLEPATTERNEXTPROC

GLS.OpenGLTokens

PFNGLSAMPLEPATTERNSGISPROC

GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERFPROC

GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERFVPROC

GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIIVPROC

GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIPROC

GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIUIVPROC

GLS.OpenGLTokens

PFNGLSAMPLERPARAMETERIVPROC

GLS.OpenGLTokens

PFNGLSCISSORARRAYVPROC

GLS.OpenGLTokens

PFNGLSCISSORINDEXEDPROC

GLS.OpenGLTokens

PFNGLSCISSORINDEXEDVPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3BEXTPROC

GLS.OpenGLTokens

GL_EXT_secondary_color (EXT #145)

PFNGLSECONDARYCOLOR3BPROC

GLS.OpenGLTokens

deprecated; promoted to core v1.4 from GL_EXT_secondary_color (#145)

PFNGLSECONDARYCOLOR3BVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3BVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3DEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3DPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3DVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3FEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3FPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3FVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3IEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3IPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3IVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3SEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3SPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3SVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3SVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3UBEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UBPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3UBVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UBVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3UIEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UIPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3UIVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3UIVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3USEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3USPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLOR3USVEXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLOR3USVPROC

GLS.OpenGLTokens

deprecated;

PFNGLSECONDARYCOLORFORMATNVPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLORP3UIPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLORP3UIVPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLORPOINTEREXTPROC

GLS.OpenGLTokens

PFNGLSECONDARYCOLORPOINTERPROC

GLS.OpenGLTokens

deprecated;

PFNGLSEPARABLEFILTER2DPROC

GLS.OpenGLTokens

deprecated;

PFNGLSETFENCENVPROC

GLS.OpenGLTokens

PFNGLSHADERBINARYPROC

GLS.OpenGLTokens

PFNGLSHADERSOURCEARBPROC

GLS.OpenGLTokens

PFNGLSHADERSOURCEPROC

GLS.OpenGLTokens

PFNGLShaderStorageBlockBinding

GLS.OpenGLTokens

GL_ARB_robust_buffer_access_behavior (ARB #135) (no entry points) GL_ARB_shader_image_size (ARB #136) (no entry points) GL_ARB_shader_storage_buffer_object (ARB #137)

PFNGLSTENCILCLEARTAGEXTPROC

GLS.OpenGLTokens

GL_EXT_stencil_clear_tag (EXT #314)

PFNGLSTENCILFILLPATHINSTANCEDNVPROC

GLS.OpenGLTokens

PFNGLSTENCILFILLPATHNVPROC

GLS.OpenGLTokens

PFNGLSTENCILFUNCSEPARATEPROC

GLS.OpenGLTokens

PFNGLSTENCILMASKSEPARATEPROC

GLS.OpenGLTokens

PFNGLSTENCILOPSEPARATEPROC

GLS.OpenGLTokens

promoted to core v2.0 from GL_ARB_stencil_two_side (no # found)

PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC

GLS.OpenGLTokens

PFNGLSTENCILSTROKEPATHNVPROC

GLS.OpenGLTokens

PFNGLSTRINGMARKERGREMEDYPROC

GLS.OpenGLTokens

GL_GREMEDY_string_marker (EXT #311)

PFNGLTBUFFERMASK3DFXPROC

GLS.OpenGLTokens

GL_3DFX_tbuffer (EXT #208)

PFNGLTESSELLATIONFACTORAMDPROC

GLS.OpenGLTokens

GL_AMD_vertex_shader_tessellator (EXT #363)

PFNGLTESSELLATIONMODEAMDPROC

GLS.OpenGLTokens

PFNGLTESTFENCENVPROC

GLS.OpenGLTokens

PFNGLTEXBUFFERARBPROC

GLS.OpenGLTokens

GL_ARB_texture_buffer_object (ARB #51)

PFNGLTEXBUFFEREXTPROC

GLS.OpenGLTokens

GL_EXT_packed_float (EXT #328) WGL_EXT_pixel_format_packed_float GLX_EXT_fbconfig_packed_float GL_EXT_texture_array (EXT #329) glFramebufferTextureLayerEXT: procedure(target: Cardinal; attachment: Cardinal; texture: Cardinal; level: TGLint; layer: TGLint); GL_EXT_texture_buffer_object (EXT #330)

PFNGLTEXBUFFERPROC

GLS.OpenGLTokens

PFNGLTexBufferRange

GLS.OpenGLTokens

GL_ARB_stencil_texturing (ARB #138) (no entry points) GL_ARB_texture_buffer_range (ARB #139)

PFNGLTEXCOORDFORMATNVPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP1UIPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP1UIVPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP2UIPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP2UIVPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP3UIPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP3UIVPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP4UIPROC

GLS.OpenGLTokens

PFNGLTEXCOORDP4UIVPROC

GLS.OpenGLTokens

PFNGLTEXIMAGE2DMULTISAMPLEPROC

GLS.OpenGLTokens

GL_ARB_texture_multisample (ARB #67)

PFNGLTEXIMAGE3DEXTPROC

GLS.OpenGLTokens

GL_EXT_texture3D (EXT #6)

PFNGLTEXIMAGE3DMULTISAMPLEPROC

GLS.OpenGLTokens

PFNGLTEXIMAGE3DPROC

GLS.OpenGLTokens

promoted to core v1.2 from GL_EXT_texture3D (#6)

PFNGLTEXPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLTEXPARAMETERIIVPROC

GLS.OpenGLTokens

promoted to core v3.0 from GL_EXT_texture_integer

PFNGLTEXPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLTEXPARAMETERIUIVPROC

GLS.OpenGLTokens

PFNGLTexStorage2DMultisample

GLS.OpenGLTokens

GL_ARB_texture_query_levels (ARB #140) (no entry points) GL_ARB_texture_storage_multisample (ARB #141)

PFNGLTexStorage3DMultisample

GLS.OpenGLTokens

PFNGLTEXSUBIMAGE1DEXTPROC

GLS.OpenGLTokens

GL_EXT_subtexture (EXT #9)

PFNGLTEXSUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLTEXSUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLTEXSUBIMAGE3DPROC

GLS.OpenGLTokens

PFNGLTEXTUREBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLTextureBufferRange

GLS.OpenGLTokens

PFNGLTEXTURECOLORMASKSGISPROC

GLS.OpenGLTokens

GL_SGIS_texture_color_mask (EXT #214)

PFNGLTEXTUREIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERFVEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIIVEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIUIVEXTPROC

GLS.OpenGLTokens

PFNGLTEXTUREPARAMETERIVEXTPROC

GLS.OpenGLTokens

PFNGLTEXTURERENDERBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLTextureStorage2DMultisample

GLS.OpenGLTokens

PFNGLTextureStorage3DMultisample

GLS.OpenGLTokens

PFNGLTEXTURESUBIMAGE1DEXTPROC

GLS.OpenGLTokens

PFNGLTEXTURESUBIMAGE2DEXTPROC

GLS.OpenGLTokens

PFNGLTEXTURESUBIMAGE3DEXTPROC

GLS.OpenGLTokens

PFNGLTextureView

GLS.OpenGLTokens

GL_ARB_texture_view (ARB #124)

PFNGLTRACKMATRIXNVPROC

GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC

GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC

GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC

GLS.OpenGLTokens

PFNGLTRANSFORMFEEDBACKVARYINGSPROC

GLS.OpenGLTokens

PFNGLTRANSFORMPATHNVPROC

GLS.OpenGLTokens

PFNGLUDELETENURBSTESSELLATOREXTPROC

GLS.OpenGLTokens

PFNGLUNEWNURBSTESSELLATOREXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM1DPROC

GLS.OpenGLTokens

GL_ARB_gpu_shader_fp64 (ARB #89)

PFNGLUNIFORM1DVPROC

GLS.OpenGLTokens

PFNGLUNIFORM1FARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM1FPROC

GLS.OpenGLTokens

PFNGLUNIFORM1FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM1FVPROC

GLS.OpenGLTokens

PFNGLUNIFORM1IARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM1IPROC

GLS.OpenGLTokens

PFNGLUNIFORM1IVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM1IVPROC

GLS.OpenGLTokens

PFNGLUNIFORM1UIEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM1UIPROC

GLS.OpenGLTokens

PFNGLUNIFORM1UIVEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM1UIVPROC

GLS.OpenGLTokens

PFNGLUNIFORM2DPROC

GLS.OpenGLTokens

PFNGLUNIFORM2DVPROC

GLS.OpenGLTokens

PFNGLUNIFORM2FARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM2FPROC

GLS.OpenGLTokens

PFNGLUNIFORM2FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM2FVPROC

GLS.OpenGLTokens

PFNGLUNIFORM2IARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM2IPROC

GLS.OpenGLTokens

PFNGLUNIFORM2IVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM2IVPROC

GLS.OpenGLTokens

PFNGLUNIFORM2UIEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM2UIPROC

GLS.OpenGLTokens

PFNGLUNIFORM2UIVEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM2UIVPROC

GLS.OpenGLTokens

PFNGLUNIFORM3DPROC

GLS.OpenGLTokens

PFNGLUNIFORM3DVPROC

GLS.OpenGLTokens

PFNGLUNIFORM3FARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM3FPROC

GLS.OpenGLTokens

PFNGLUNIFORM3FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM3FVPROC

GLS.OpenGLTokens

PFNGLUNIFORM3IARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM3IPROC

GLS.OpenGLTokens

PFNGLUNIFORM3IVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM3IVPROC

GLS.OpenGLTokens

PFNGLUNIFORM3UIEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM3UIPROC

GLS.OpenGLTokens

PFNGLUNIFORM3UIVEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM3UIVPROC

GLS.OpenGLTokens

PFNGLUNIFORM4DPROC

GLS.OpenGLTokens

PFNGLUNIFORM4DVPROC

GLS.OpenGLTokens

PFNGLUNIFORM4FARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM4FPROC

GLS.OpenGLTokens

PFNGLUNIFORM4FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM4FVPROC

GLS.OpenGLTokens

PFNGLUNIFORM4IARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM4IPROC

GLS.OpenGLTokens

PFNGLUNIFORM4IVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORM4IVPROC

GLS.OpenGLTokens

PFNGLUNIFORM4UIEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM4UIPROC

GLS.OpenGLTokens

PFNGLUNIFORM4UIVEXTPROC

GLS.OpenGLTokens

PFNGLUNIFORM4UIVPROC

GLS.OpenGLTokens

PFNGLUNIFORMBLOCKBINDINGPROC

GLS.OpenGLTokens

PFNGLUNIFORMBUFFEREXTPROC

GLS.OpenGLTokens

GL_EXT_bindable_uniform (EXT #342)

PFNGLUNIFORMMATRIX2DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2X3DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2X3FVPROC

GLS.OpenGLTokens

core 2.1 new commands in OpenGL 2.1

PFNGLUNIFORMMATRIX2X4DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX2X4FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X2DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X2FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X4DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX3X4FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4FVARBPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X2DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X2FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X3DVPROC

GLS.OpenGLTokens

PFNGLUNIFORMMATRIX4X3FVPROC

GLS.OpenGLTokens

PFNGLUNIFORMSUBROUTINESUIVPROC

GLS.OpenGLTokens

PFNGLUNIFORMUI64NVPROC

GLS.OpenGLTokens

PFNGLUNIFORMUI64VNVPROC

GLS.OpenGLTokens

PFNGLUNLOCKARRAYSEXTPROC

GLS.OpenGLTokens

PFNGLUNMAPBUFFERARBPROC

GLS.OpenGLTokens

PFNGLUNMAPBUFFERPROC

GLS.OpenGLTokens

PFNGLUNMAPNAMEDBUFFEREXTPROC

GLS.OpenGLTokens

PFNGLUNURBSCALLBACKDATAEXTPROC

GLS.OpenGLTokens

GLU extensions (might not be same naming as c versions?)

PFNGLUSEPROGRAMOBJECTARBPROC

GLS.OpenGLTokens

PFNGLUSEPROGRAMPROC

GLS.OpenGLTokens

PFNGLUSEPROGRAMSTAGESPROC

GLS.OpenGLTokens

GL_ARB_separate_shader_objects (ARB #97)

PFNGLVALIDATEPROGRAMARBPROC

GLS.OpenGLTokens

PFNGLVALIDATEPROGRAMPIPELINEPROC

GLS.OpenGLTokens

PFNGLVALIDATEPROGRAMPROC

GLS.OpenGLTokens

PFNGLVertexArrayBindVertexBuffer

GLS.OpenGLTokens

PFNGLVERTEXARRAYRANGENVPROC

GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribBinding

GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribFormat

GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribIFormat

GLS.OpenGLTokens

PFNGLVertexArrayVertexAttribLFormat

GLS.OpenGLTokens

PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC

GLS.OpenGLTokens

VertexArrayVertexAttribLOffsetEXT only valid if EXT_direct_state_access is available

PFNGLVertexArrayVertexBindingDivisor

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DARBPROC

GLS.OpenGLTokens

GL_ARB_vertex_program (ARB #26)

PFNGLVERTEXATTRIB1DNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1FVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB1SVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2FVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB2SVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3FVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB3SVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4BVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4BVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4FVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4IVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4IVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NBVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NBVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NIVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NSVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NSVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUBVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUIVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUSVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4NUSVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4SVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UBVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UBVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UBVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UIVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4USVARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIB4USVPROC

GLS.OpenGLTokens

PFNGLVertexAttribBinding

GLS.OpenGLTokens

PFNGLVERTEXATTRIBDIVISORARBPROC

GLS.OpenGLTokens

GL_ARB_instanced_arrays (ARB #49)

PFNGLVERTEXATTRIBDIVISORPROC

GLS.OpenGLTokens

Core 3.3

PFNGLVertexAttribFormat

GLS.OpenGLTokens

PFNGLVERTEXATTRIBFORMATNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1IEXTPROC

GLS.OpenGLTokens

GL_EXT_gpu_shader4 (EXT #326)

PFNGLVERTEXATTRIBI1IPROC

GLS.OpenGLTokens

Core 3.0 promoted to core v3.0 from GL_EXT_gpu_shader4

PFNGLVERTEXATTRIBI1IVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1IVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI1UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2IVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI2UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3IVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI3UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4BVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4BVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4IVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4SVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4SVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UBVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UBVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4USVEXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBI4USVPROC

GLS.OpenGLTokens

PFNGLVertexAttribIFormat

GLS.OpenGLTokens

PFNGLVERTEXATTRIBIFORMATNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBIPOINTEREXTPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBIPOINTERPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL1DPROC

GLS.OpenGLTokens

GL_ARB_shader_precision (ARB #98) (no entry points) GL_ARB_vertex_attrib_64bit (ARB #99)

PFNGLVERTEXATTRIBL1DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL2DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL2DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL3DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL3DVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL4DPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBL4DVPROC

GLS.OpenGLTokens

PFNGLVertexAttribLFormat

GLS.OpenGLTokens

PFNGLVERTEXATTRIBLPOINTERPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP1UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP1UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP2UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP2UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP3UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP3UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP4UIPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBP4UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBPOINTERARBPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBPOINTERNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBPOINTERPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS1DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS1FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS1SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS2DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS2FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS2SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS3DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS3FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS3SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4DVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4FVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4SVNVPROC

GLS.OpenGLTokens

PFNGLVERTEXATTRIBS4UBVNVPROC

GLS.OpenGLTokens

PFNGLVertexBindingDivisor

GLS.OpenGLTokens

PFNGLVERTEXBLENDARBPROC

GLS.OpenGLTokens

PFNGLVERTEXFORMATNVPROC

GLS.OpenGLTokens

PFNGLVERTEXP2UIPROC

GLS.OpenGLTokens

GL_ARB_vertex_type_2_10_10_10_rev (ARB #86)

PFNGLVERTEXP2UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXP3UIPROC

GLS.OpenGLTokens

PFNGLVERTEXP3UIVPROC

GLS.OpenGLTokens

PFNGLVERTEXP4UIPROC

GLS.OpenGLTokens

PFNGLVERTEXP4UIVPROC

GLS.OpenGLTokens

PFNGLVIEWPORTARRAYVPROC

GLS.OpenGLTokens

GL_ARB_viewport_array (ARB #100)

PFNGLVIEWPORTINDEXEDFPROC

GLS.OpenGLTokens

PFNGLVIEWPORTINDEXEDFVPROC

GLS.OpenGLTokens

PFNGLWAITSYNCPROC

GLS.OpenGLTokens

PFNGLWEIGHTBVARBPROC

GLS.OpenGLTokens

GL_ARB_vertex_blend (ARB #15) {deprecated?}

PFNGLWEIGHTDVARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTFVARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTIVARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTPATHSNVPROC

GLS.OpenGLTokens

PFNGLWEIGHTPOINTERARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTSVARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTUBVARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTUIVARBPROC

GLS.OpenGLTokens

PFNGLWEIGHTUSVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2DARBPROC

GLS.OpenGLTokens

GL_ARB_window_pos (ARB #25)

PFNGLWINDOWPOS2DPROC

GLS.OpenGLTokens

deprecated; promoted to core v1.4 from GL_ARB_window_pos (#25)

PFNGLWINDOWPOS2DVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS2FARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2FPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS2FVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS2IARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2IPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS2IVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS2SARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2SPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS2SVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS2SVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3DARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3DPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3DVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3DVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3FARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3FPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3FVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3FVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3IARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3IPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3IVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3IVPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3SARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3SPROC

GLS.OpenGLTokens

deprecated;

PFNGLWINDOWPOS3SVARBPROC

GLS.OpenGLTokens

PFNGLWINDOWPOS3SVPROC

GLS.OpenGLTokens

deprecated;

PFNWGLALLOCATEMEMORYNVPROC

GLS.OpenGLTokens

PFNWGLBINDTEXIMAGEARBPROC

GLS.OpenGLTokens

WGL_ARB_render_texture (ARB #20)

PFNWGLCHOOSEPIXELFORMATARBPROC

GLS.OpenGLTokens

PFNWGLCREATEAFFINITYDCNVPROC

GLS.OpenGLTokens

PFNWGLCREATEBUFFERREGIONARBPROC

GLS.OpenGLTokens

WGL WGL - ARB WGL_buffer_region (ARB #4)

PFNWGLCREATECONTEXTATTRIBSARBPROC

GLS.OpenGLTokens

WGL_ARB_create_context (ARB #55)

PFNWGLCREATEPBUFFERARBPROC

GLS.OpenGLTokens

WGL_ARB_pbuffer (ARB #11)

PFNWGLDELETEBUFFERREGIONARBPROC

GLS.OpenGLTokens

PFNWGLDELETEDCNVPROC

GLS.OpenGLTokens

PFNWGLDESTROYPBUFFERARBPROC

GLS.OpenGLTokens

PFNWGLDXCLOSEDEVICEPROC

GLS.OpenGLTokens

PFNWGLDXLOCKOBJECTSPROC

GLS.OpenGLTokens

PFNWGLDXOBJECTACCESSPROC

GLS.OpenGLTokens

PFNWGLDXOPENDEVICEPROC

GLS.OpenGLTokens

PFNWGLDXREGISTEROBJECTPROC

GLS.OpenGLTokens

PFNWGLDXSETRESOURCESHAREHANDLEPROC

GLS.OpenGLTokens

WGL_NV_DX_interop (EXT #407)

PFNWGLDXUNLOCKOBJECTSNVPROC

GLS.OpenGLTokens

PFNWGLDXUNREGISTEROBJECTPROC

GLS.OpenGLTokens

PFNWGLENUMGPUDEVICESNVPROC

GLS.OpenGLTokens

PFNWGLENUMGPUSFROMAFFINITYDCNVPROC

GLS.OpenGLTokens

PFNWGLENUMGPUSNVPROC

GLS.OpenGLTokens

WGL_NV_gpu_affinity (EXT #355)

PFNWGLFREEMEMORYNVPROC

GLS.OpenGLTokens

PFNWGLGETCURRENTREADDCARBPROC

GLS.OpenGLTokens

PFNWGLGETEXTENSIONSSTRINGARBPROC

GLS.OpenGLTokens

WGL_ARB_extensions_string (ARB #8)

PFNWGLGETPBUFFERDCARBPROC

GLS.OpenGLTokens

PFNWGLGETPIXELFORMATATTRIBFVARBPROC

GLS.OpenGLTokens

PFNWGLGETPIXELFORMATATTRIBIVARBPROC

GLS.OpenGLTokens

WGL_ARB_pixel_format (ARB #9)

PFNWGLGETSWAPINTERVALEXTPROC

GLS.OpenGLTokens

PFNWGLMAKECONTEXTCURRENTARBPROC

GLS.OpenGLTokens

WGL_make_current_read (ARB #10)

PFNWGLQUERYPBUFFERARBPROC

GLS.OpenGLTokens

PFNWGLRELEASEPBUFFERDCARBPROC

GLS.OpenGLTokens

PFNWGLRELEASETEXIMAGEARBPROC

GLS.OpenGLTokens

PFNWGLRESTOREBUFFERREGIONARBPROC

GLS.OpenGLTokens

PFNWGLSAVEBUFFERREGIONARBPROC

GLS.OpenGLTokens

PFNWGLSETPBUFFERATTRIBARBPROC

GLS.OpenGLTokens

PFNWGLSWAPINTERVALEXTPROC

GLS.OpenGLTokens

WGL - EXT WGL_EXT_swap_control (EXT #172)

PFog

Formats.m3DSTypes

PFogSettings3DS

Formats.m3DSTypes

FallOff to the Bottom

PFontEntry

GLS.SpaceText

holds an entry in the font manager list (used in TGLSpaceText)

PFovTrackTag

Formats.m3DSTypes

PFrustum

GLS.VectorGeometry

PFSoundDSPUnit

Sounds.FMODtypes

PFSoundSample

Sounds.FMODtypes

FMOD defined types

PFSoundStream

Sounds.FMODtypes

PFSoundVector

Sounds.FMODtypes

PFSyncPoint

Sounds.FMODtypes

PFXPointerList

GLS.ParticleFX

PGLbitfield

GLS.VectorTypes

PGLboolean

GLS.VectorTypes

PGLbyte

GLS.VectorTypes

PGLchar

GLS.VectorTypes

PGLclampd

GLS.VectorTypes

PGLclampf

GLS.VectorTypes

PGLColorEntry

GLS.Color

PGLColorVector

GLS.Color

PGLdouble

GLS.VectorTypes

PGLenum

GLS.VectorTypes

PGLFireParticle

GLS.FireFX

PGLFireParticleArray

GLS.FireFX

PGLfloat

GLS.OpenGLTokens

PGLhalf

GLS.VectorTypes

PGLhandleARB

GLS.VectorTypes

PGLint

GLS.VectorTypes

PGLint64

GLS.VectorTypes

PGLint64EXT

GLS.VectorTypes

PGLintptr

GLS.VectorTypes

PGLIsoline

GLS.Isolines

PGLMat

GLS.VectorTypesExt

PGLMatrix

GLS.VectorTypes

PGLParticleArray

GLS.ParticleFX

PGLPCharArray

GLS.VectorTypes

PGLPixel24

GLS.Graphics

PGLPixel32

GLS.Graphics

PGLPixel32Array

GLS.Graphics

PGLPoint2D

GLS.VectorTypesExt

PGLPoint3D

GLS.VectorTypesExt

PGLPointer

GLS.VectorTypes

PGLRCHandle

GLS.Context

PGLshort

GLS.VectorTypes

PGLsizei

GLS.VectorTypes

PGLsizeiptr

GLS.VectorTypes

PGLStarRecord

GLS.SkyDome

PGLsync

GLS.VectorTypes

PGLTrianRecArray

GLS.VectorTypesExt

PGLubyte

GLS.VectorTypes

PGLuint

GLS.VectorTypes

PGLuint

OpenCL.GL

PGLuint64

GLS.VectorTypes

PGLuint64EXT

GLS.VectorTypes

PGLUNurbs

GLS.OpenGLTokens

PGLUNurbsObj

GLS.OpenGLTokens

PGLUQuadric

GLS.OpenGLTokens

PGLUQuadricObj

GLS.OpenGLTokens

PGLushort

GLS.VectorTypes

PGLUTesselator

GLS.OpenGLTokens

PGLUTesselatorObj

GLS.OpenGLTokens

PGLUTriangulatorObj

GLS.OpenGLTokens

PGLvdpauSurfaceNV

GLS.OpenGLTokens

PGLVec

GLS.VectorTypesExt

PGLVector

GLS.VectorTypes

PGLVertArray

GLS.VectorTypesExt

PGLVertexData

GLS.Mesh

PGLVertexDataArray

GLS.Mesh

PGLVertexRec

GLS.Objects

PGLvoid

GLS.VectorTypes

PGLVoxel

GLS.VectorTypesExt

PGLVoxelData

GLS.VectorTypesExt

PGNGLGETBUFFERPARAMETERUI64VNV

GLS.OpenGLTokens

PGPUDEVICE

GLS.OpenGLTokens

PHalfFloat

GLS.Utils

PHeightTile

GLS.HeightTileFileHDS

PHeightTileInfo

GLS.HeightTileFileHDS

PHGPUNV

GLS.OpenGLTokens

It's should be here!

PHideTrackTag

Formats.m3DSTypes

PHiShadowBias

Formats.m3DSTypes

PHmgBoundingBox

GLS.GeometryBB

Structure for storing Bounding Boxes

PHomogeneousByteVector

GLS.VectorGeometry

Common vector and matrix types with predefined limits indices correspond like: x -> 0 y -> 1 z -> 2 w -> 3

PHomogeneousDblVector

GLS.VectorGeometry

PHomogeneousExtVector

GLS.VectorGeometry

PHomogeneousFltVector

GLS.VectorGeometry

PHomogeneousIntVector

GLS.VectorGeometry

PHomogeneousMatrix

GLS.VectorGeometry

PHomogeneousPtrVector

GLS.VectorGeometry

PHomogeneousVector

GLS.VectorGeometry

some simplified names

PHomogeneousWordVector

GLS.VectorGeometry

PHotTrackTag

Formats.m3DSTypes

PHVIDEO

Formats.VFW

PHVIDEOINPUTDEVICENV

GLS.OpenGLTokens

PhysXDLL

Physics.PhysXImport

PI1

Formats.LWO

PI2

Formats.LWO

PI4

Formats.LWO

PICCOMPRESS

Formats.VFW

PICCOMPRESSFRAMES

Formats.VFW

PICDECOMPRESS

Formats.VFW

this frame is not a key frame

PICDECOMPRESSEX

Formats.VFW

PICDRAW

Formats.VFW

this frame is not a key frame

PICDRAWBEGIN

Formats.VFW

please buffer this data offscreen, we will need to update it

PICDRAWSUGGEST

Formats.VFW

PICINFO

Formats.VFW

*********************************************************************** ***********************************************************************

PICOPEN

Formats.VFW

*********************************************************************** ***********************************************************************

PICPALETTE

Formats.VFW

*********************************************************************** ***********************************************************************

PICSETSTATUSPROC

Formats.VFW

PID4

Formats.LWO

PInstanceName

Formats.m3DSTypes

PInt

SDL2.Import

PInteger

GLS.HeightTileFileHDS

PInteger

Physics.NewtonImport

PIntegerArray

Formats.m3DSTypes

PIntegerArray

GLS.HeightTileFileHDS

PIntegerArray

GLS.VectorGeometry

PIntegerVector

GLS.VectorGeometry

PIntermediateFormatArray

GLS.ImageUtils

PIntPercentage

Formats.m3DSTypes

Pintptr_t

OpenCL.Platform

PIPAddress

SDL2.Net

***********************************************************************

PIpasData

Formats.m3DSTypes

Pitch

GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around its X-axis

Pitch

GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around MasterRight

PIVOT

Formats.m3DSConst

PIVOT_LIMITS

Formats.m3DSConst

PIVOT_OBJECT

Formats.m3DSConst

PIVOT_ORDER

Formats.m3DSConst

PixelFormatToColorBits

GLS.Utils

Returns the number of color bits associated to the given pixel format.

PKeyHeader3DS

Formats.m3DSTypes

PKeyHeaderList

Formats.m3DSTypes

PKEYSChunk

Formats.B3D

PKFAmbient3DS

Formats.m3DSTypes

Ambient Light animation

PKFCamera3DS

Formats.m3DSTypes

PKFCurtime

Formats.m3DSTypes

PKFHdr

Formats.m3DSTypes

PKFId

Formats.m3DSTypes

PKFKeyInfo3DS

Formats.m3DSTypes

PKFMesh3DS

Formats.m3DSTypes

used by ObjectMotion3DS

PKFMorphKey3DS

Formats.m3DSTypes

PKFMorphKeyList

Formats.m3DSTypes

Name of Target Morph object

PKFOmni3DS

Formats.m3DSTypes

used by OmnilightMotion3DS

PKFRotKey3DS

Formats.m3DSTypes

PKFRotKeyList

Formats.m3DSTypes

PKFSeg

Formats.m3DSTypes

PKFSegment3DS

Formats.m3DSTypes

PKFSets3DS

Formats.m3DSTypes

PKFSpot3DS

Formats.m3DSTypes

PlaneAABBIntersection

GLS.GeometryBB

Compute the intersection between a plane and the AABB

PlaneContainsBSphere

GLS.GeometryBB

Determines to which extent a plane contains a BSphere

PlaneEvaluatePoint

GLS.VectorGeometry

PlaneEvaluatePoint

GLS.VectorGeometry

Calculates the cross-product between the plane normal and plane to point vector. This functions gives an hint as to were the point is, if the point is in the half-space pointed by the vector, result is positive. This function performs an homogeneous space dot-product.

PlaneIntersectAABB

GLS.GeometryBB

Checks if a plane (given by the normal+d) intersects the AABB

PlaneMake

GLS.VectorGeometry

PlaneMake

GLS.VectorGeometry

PlaneMake

GLS.VectorGeometry

Computes the parameters of a plane defined by a point and a normal.

PlaneMake

GLS.VectorGeometry

Computes the parameters of a plane defined by three points.

PLayerFog

Formats.m3DSTypes

PLayerFogSettings3DS

Formats.m3DSTypes

PlayOnWaveOut

Sounds.WaveOut

PlayOnWaveOut

Sounds.WaveOut

PLight3DS

Formats.m3DSTypes

omni and spotlight settings

PLinColor24

Formats.m3DSTypes

PLinColorF

Formats.m3DSTypes

PLiteAttenuate3DS

Formats.m3DSTypes

Light Attenuation settings

PLMTS

GLS.FileLMTS

PLMTS_Header

GLS.FileLMTS

max texture filename length

PLMTS_Subset

GLS.FileLMTS

PLMTS_TexData

GLS.FileLMTS

PLMTS_Vertex

GLS.FileLMTS

PLONG

Formats.VFW

PLongWordArray

GLS.VectorGeometry

PLongWordVector

GLS.VectorGeometry

PLoShadowBias

Formats.m3DSTypes

PLWChunkRec

Formats.LWO

Lightwave Chunk Struct - Used in TLWOReadCallback

PLWPolyTagMap

Formats.LWO

PLWSubChunkRec

Formats.LWO

Lightwave SubChunk Struct - Used in TLWOReadCallback

PM3dVersion

Formats.m3DSTypes

PMainAVIHeader

Formats.VFW

size of AVI header list

PMapInfo3DS

Formats.m3DSTypes

Texture Map icon placement

PMapSet3DS

Formats.m3DSTypes

Bit Map definition Structure to all Map settings

PMasterScale

Formats.m3DSTypes

PMatAcubic

Formats.m3DSTypes

PMatBumpPercent

Formats.m3DSTypes

PMaterial3DS

Formats.m3DSTypes

PMatMapAng

Formats.m3DSTypes

PMatMapBCol

Formats.m3DSTypes

PMatMapCol1

Formats.m3DSTypes

PMatMapCol2

Formats.m3DSTypes

PMatMapGCol

Formats.m3DSTypes

PMatMapname

Formats.m3DSTypes

PMatMapRCol

Formats.m3DSTypes

PMatMapTexblur

Formats.m3DSTypes

PMatMapTiling

Formats.m3DSTypes

PMatMapUOffset

Formats.m3DSTypes

PMatMapUScale

Formats.m3DSTypes

PMatMapVOffset

Formats.m3DSTypes

PMatMapVScale

Formats.m3DSTypes

PMatName

Formats.m3DSTypes

PMatrixArray

GLS.VectorGeometry

PMatShading

Formats.m3DSTypes

PMatWireSize

Formats.m3DSTypes

PMD2AliasFrame

Formats.MD2

PMD2VertexIndex

Formats.MD2

PMDCTagFrame

GLS.FileMDC

PMDCTagName

GLS.FileMDC

PMesh3DS

Formats.m3DSTypes

Mesh object definition

PMESHChunk

Formats.B3D

PMeshColor

Formats.m3DSTypes

PMeshMatrix

Formats.m3DSTypes

Mesh definition

PMeshSet3DS

Formats.m3DSTypes

PMeshTextureInfo

Formats.m3DSTypes

PMeshVersion

Formats.m3DSTypes

PMix_Chunk

SDL2.Mixer

* The internal format for an audio chunk *

PMix_Music

SDL2.Mixer

* The internal format for a music chunk interpreted via mikmod *

PMix_Music_Finished

SDL2.Mixer

* Add your own callback when the music has finished playing. This callback is only called if the music finishes naturally. *

PMorphSmooth

Formats.m3DSTypes

PMorphTrackTag

Formats.m3DSTypes

pMS3DComment

GLS.FileMS3D

PMS3DJointArray

GLS.FileMS3D

PMS3DKeyframePositionArray

GLS.FileMS3D

PMS3DKeyframeRotationArray

GLS.FileMS3D

PMS3DTriangleArray

GLS.FileMS3D

PMS3DVertexArray

GLS.FileMS3D

pMS3D_vertex_ex_t

GLS.FileMS3D

PMshBoxmap

Formats.m3DSTypes

PMshMatGroup

Formats.m3DSTypes

PNamedObject

Formats.m3DSTypes

PNCamera

Formats.m3DSTypes

PNDirectLight

Formats.m3DSTypes

PNewtonAcyclicArticulation

Physics.NewtonImport

PNewtonAllocMemory

Physics.NewtonImport

PNewtonApplyForceAndTorque

Physics.NewtonImport

PNewtonBallCallback

Physics.NewtonImport

PNewtonBody

Physics.NewtonImport

PNewtonBodyDestructor

Physics.NewtonImport

PNewtonBodyIterator

Physics.NewtonImport

PNewtonBoxParam

Physics.NewtonImport

PNewtonCapsuleParam

Physics.NewtonImport

PNewtonChamferCylinderParam

Physics.NewtonImport

PNewtonCollision

Physics.NewtonImport

PNewtonCollisionCopyConstructionCallback

Physics.NewtonImport

PNewtonCollisionDestructorCallback

Physics.NewtonImport

PNewtonCollisionInfoRecord

Physics.NewtonImport

PNewtonCollisionIterator

Physics.NewtonImport

PNewtonCollisionMaterial

Physics.NewtonImport

PNewtonCollisionTreeParam

Physics.NewtonImport

PNewtonCollisionTreeRayCastCallback

Physics.NewtonImport

PNewtonCompoundCollisionParam

Physics.NewtonImport

PNewtonConeParam

Physics.NewtonImport

PNewtonConstraintDestructor

Physics.NewtonImport

PNewtonContactsProcess

Physics.NewtonImport

PNewtonConvexHullParam

Physics.NewtonImport

PNewtonCorkscrewCallback

Physics.NewtonImport

PNewtonCreateContactCallback

Physics.NewtonImport

PNewtonCylinderParam

Physics.NewtonImport

PNewtonDeformableMeshParam

Physics.NewtonImport

PNewtonDeformableMeshSegment

Physics.NewtonImport

PNewtonDeserializeCallback

Physics.NewtonImport

PNewtonDestroyContactCallback

Physics.NewtonImport

PNewtonFractureCompoundCollisionOnEmitChunk

Physics.NewtonImport

PNewtonFractureCompoundCollisionOnEmitCompoundFractured

Physics.NewtonImport

PNewtonFractureCompoundCollisionReconstructMainMeshCallBack

Physics.NewtonImport

PNewtonFracturedCompoundMeshPart

Physics.NewtonImport

PNewtonFreeMemory

Physics.NewtonImport

PNewtonGetTimeInMicrosencondsCallback

Physics.NewtonImport

PNewtonHeightFieldCollisionParam

Physics.NewtonImport

PNewtonHeightFieldRayCastCallback

Physics.NewtonImport

PNewtonHingeCallback

Physics.NewtonImport

PNewtonHingeSliderUpdateDesc

Physics.NewtonImport

PNewtonImmediateModeConstraint

Physics.NewtonImport

PNewtonInverseDynamics

Physics.NewtonImport

PNewtonIslandUpdate

Physics.NewtonImport

PNewtonJobTask

Physics.NewtonImport

PNewtonJoint

Physics.NewtonImport

PNewtonJointIterator

Physics.NewtonImport

PNewtonJointRecord

Physics.NewtonImport

PNewtonMaterial

Physics.NewtonImport

PNewtonMaterialData

Physics.NewtonImport

PNewtonMesh

Physics.NewtonImport

PNewtonMeshDoubleData

Physics.NewtonImport

PNewtonMeshFloatData

Physics.NewtonImport

PNewtonMeshVertexFormat

Physics.NewtonImport

PNewtonOnAABBOverlap

Physics.NewtonImport

PNewtonOnBodyDeserializationCallback

Physics.NewtonImport

PNewtonOnBodySerializationCallback

Physics.NewtonImport

PNewtonOnCompoundSubCollisionAABBOverlap

Physics.NewtonImport

PNewtonOnContactGeneration

Physics.NewtonImport

PNewtonOnJointDeserializationCallback

Physics.NewtonImport

PNewtonOnJointSerializationCallback

Physics.NewtonImport

PNewtonOnUserCollisionSerializationCallback

Physics.NewtonImport

PNewtonPostUpdateCallback

Physics.NewtonImport

PNewtonReportProgress

Physics.NewtonImport

PNewtonSceneCollisionParam

Physics.NewtonImport

PNewtonSceneProxy

Physics.NewtonImport

PNewtonSerializeCallback

Physics.NewtonImport

PNewtonSetTransform

Physics.NewtonImport

PNewtonSliderCallback

Physics.NewtonImport

PNewtonSphereParam

Physics.NewtonImport

PNewtonTaperedCapsuleParam

Physics.NewtonImport

PNewtonTaperedCylinderParam

Physics.NewtonImport

PNewtonTreeCollisionCallback

Physics.NewtonImport

PNewtonTreeCollisionFaceCallback

Physics.NewtonImport

PNewtonUniversalCallback

Physics.NewtonImport

PNewtonUserBilateralCallback

Physics.NewtonImport

PNewtonUserBilateralGetInfoCallback

Physics.NewtonImport

PNewtonUserContactPoint

Physics.NewtonImport

PNewtonUserMeshCollisionAABBTest

Physics.NewtonImport

PNewtonUserMeshCollisionCollideCallback

Physics.NewtonImport

PNewtonUserMeshCollisionCollideDesc

Physics.NewtonImport

PNewtonUserMeshCollisionDestroyCallback

Physics.NewtonImport

PNewtonUserMeshCollisionGetCollisionInfo

Physics.NewtonImport

PNewtonUserMeshCollisionGetFacesInAABB

Physics.NewtonImport

PNewtonUserMeshCollisionRayHitCallback

Physics.NewtonImport

PNewtonUserMeshCollisionRayHitDesc

Physics.NewtonImport

PNewtonWorld

Physics.NewtonImport

PNewtonWorldConvexCastReturnInfo

Physics.NewtonImport

PNewtonWorldDestroyListenerCallback

Physics.NewtonImport

PNewtonWorldDestructorCallback

Physics.NewtonImport

PNewtonWorldListenerBodyDestroyCallback

Physics.NewtonImport

PNewtonWorldListenerDebugCallback

Physics.NewtonImport

PNewtonWorldRayFilterCallback

Physics.NewtonImport

PNewtonWorldRayPrefilterCallback

Physics.NewtonImport

PNewtonWorldUpdateListenerCallback

Physics.NewtonImport

PNGDFloat

Physics.NGDManager

PNODEChunk

Formats.B3D

PNodeHdr

Formats.m3DSTypes

PNodeList

Formats.m3DSTypes

3D Studio .MLI file

PObject

GLS.PersistentClasses

PObjMat3DS

Formats.m3DSTypes

Material assignments by face

PObjMatList

Formats.m3DSTypes

POConsts

Formats.m3DSTypes

POCTFace

Formats.OCT

POCTLightmap

Formats.OCT

POctreeNode

GLS.Octree

POctreeTriangleInfo

GLS.Octree

Stores information about an intersected triangle

PointAdd

GLS.VectorGeometry

Returns the sum of two homogeneous vectors. W coordinate is always 1.

PointArrayMin3DS

Formats.m3DSConst

POINT_ARRAY

PointDiskOrthoProjection

GLS.VectorGeometry

Computes point to disk projection. Direction has to be normalized

PointDiskProjection

GLS.VectorGeometry

PointInAABB

GLS.GeometryBB

PointInAABB

GLS.GeometryBB

Checks if a point "p" is inside an AABB

PointInPolygon

GLS.VectorGeometry

The code below is from Wm. Randolph Franklin <wrf@ecse.rpi.edu> with some minor modifications for speed. It returns 1 for strictly interior points, 0 for strictly exterior, and 0 or 1 for points on the boundary

PointIsInHalfSpace

GLS.VectorGeometry

PointIsInHalfSpace

GLS.VectorGeometry

PointIsInHalfSpace

GLS.VectorGeometry

Returns true if point is in the half-space defined by a plane with normal. The plane itself is not considered to be in the tested halfspace.

PointLineClosestPoint

GLS.VectorGeometry

Computes closest point on a line

PointLineDistance

GLS.VectorGeometry

Computes algebraic distance between point and line

PointMake

GLS.VectorGeometry

PointMake

GLS.VectorGeometry

PointMake

GLS.VectorGeometry

PointPlaneDistance

GLS.VectorGeometry

PointPlaneDistance

GLS.VectorGeometry

PointPlaneDistance

GLS.VectorGeometry

Computes algebraic distance between point and plane. Value will be positive if the point is in the halfspace pointed by the normal, negative on the other side.

PointPlaneOrthoProjection

GLS.VectorGeometry

Computes point to plane projection. Plane and direction have to be normalized

PointPlaneProjection

GLS.VectorGeometry

PointProject

GLS.VectorGeometry

PointProject

GLS.VectorGeometry

Projects p on the line defined by o and direction. Performs VectorDotProduct(VectorSubtract(p, origin), direction), which, if direction is normalized, computes the distance between origin and the projection of p on the (origin, direction) line

PointQuadOrthoProjection

GLS.VectorGeometry

Computes point to Quad projection. Direction has to be normalized. Quad have to be flat and convex

PointQuadProjection

GLS.VectorGeometry

PointSegmentClosestPoint

GLS.VectorGeometry

PointSegmentClosestPoint

GLS.VectorGeometry

Computes closest point on a segment (a segment is a limited line)

PointSegmentDistance

GLS.VectorGeometry

Computes algebraic distance between segment and line (a segment is a limited line)

PointTriangleOrthoProjection

GLS.VectorGeometry

Computes point to triangle projection. Direction has to be normalized

PointTriangleProjection

GLS.VectorGeometry

POINT_ARRAY

Formats.m3DSConst

POINT_ARRAY_ENTRY

Formats.m3DSConst

Trick Chunk Types For Open, Write, Close functions

POINT_FLAG_ARRAY

Formats.m3DSConst

POINT_FLAG_ARRAY_ENTRY

Formats.m3DSConst

POLS_FLAGS_MASK

Formats.LWO

POLS_TYPE_BONE

Formats.LWO

METABALL

POLS_TYPE_CURV

Formats.LWO

FACES

POLS_TYPE_FACE

Formats.LWO

PIXEL PLUG-IN FILTER

POLS_TYPE_MBAL

Formats.LWO

PATCH

POLS_TYPE_PTCH

Formats.LWO

CURVE

POLS_VCOUNT_MASK

Formats.LWO

LINEAR

PolygonArea

GLS.VectorGeometry

Computes the polygons's area. Points must be coplanar. Polygon needs not be convex

PolygonSignedArea

GLS.VectorGeometry

Computes a 2D polygon's signed area. Only X and Y coordinates are used, Z is ignored. Polygon needs not be convex

POLY_2D

Formats.m3DSConst

POrthoView3DS

Formats.m3DSTypes

PositionSceneObject

Physics.ODEUtils

PositionSceneObjectForGeom

Physics.ODEUtils

POS_TRACK_TAG

Formats.m3DSConst

POS_TRACK_TAG_KEY

Formats.m3DSConst

PowerInt64

GLS.VectorGeometry

PowerInteger

GLS.VectorGeometry

Raise base to an integer

PowerSingle

GLS.VectorGeometry

Raise base to any power. For fractional exponents, or |exponents| > MaxInt, base must be > 0

PPALvoid

Sounds.OpenALImport

PParticleReference

GLS.ParticleFX

PParticleReferenceArray

GLS.ParticleFX

PPasDblStrUtilsBoolean

PasDblStrUtils

PPasDblStrUtilsChar

PasDblStrUtils

PPasDblStrUtilsDouble

PasDblStrUtils

PPasDblStrUtilsInt16

PasDblStrUtils

PPasDblStrUtilsInt32

PasDblStrUtils

PPasDblStrUtilsInt64

PasDblStrUtils

PPasDblStrUtilsInt8

PasDblStrUtils

PPasDblStrUtilsNativeInt

PasDblStrUtils

PPasDblStrUtilsNativeUInt

PasDblStrUtils

PPasDblStrUtilsPointer

PasDblStrUtils

PPasDblStrUtilsPtrInt

PasDblStrUtils

PPasDblStrUtilsPtrUInt

PasDblStrUtils

PPasDblStrUtilsRawByteChar

PasDblStrUtils

PPasDblStrUtilsRawByteCharSet

PasDblStrUtils

PPasDblStrUtilsRawByteString

PasDblStrUtils

PPasDblStrUtilsRoundingMode

PasDblStrUtils

PPasDblStrUtilsString

PasDblStrUtils

PPasDblStrUtilsUInt16

PasDblStrUtils

PPasDblStrUtilsUInt32

PasDblStrUtils

PPasDblStrUtilsUInt64

PasDblStrUtils

PPasDblStrUtilsUInt8

PasDblStrUtils

PPasDblStrUtilsUTF16Char

PasDblStrUtils

PPasDblStrUtilsUTF16String

PasDblStrUtils

PPasDblStrUtilsUTF8Char

PasDblStrUtils

PPasDblStrUtilsUTF8String

PasDblStrUtils

PPasJSONChar

PasJSON

PPasJSONDouble

PasJSON

PPasJSONEncoding

PasJSON

PPasJSONFloat

PasJSON

PPasJSONInt16

PasJSON

PPasJSONInt32

PasJSON

PPasJSONInt64

PasJSON

PPasJSONInt8

PasJSON

PPasJSONModeFlag

PasJSON

PPasJSONModeFlags

PasJSON

PPasJSONNativeInt

PasJSON

PPasJSONNativeUInt

PasJSON

PPasJSONPointer

PasJSON

PPasJSONPointers

PasJSON

PPasJSONPtrDiff

PasJSON

PPasJSONPtrInt

PasJSON

PPasJSONPtrUInt

PasJSON

PPasJSONRawByteChar

PasJSON

PPasJSONRawByteString

PasJSON

PPasJSONSize

PasJSON

PPasJSONSizeInt

PasJSON

PPasJSONSizeUInt

PasJSON

PPasJSONUInt16

PasJSON

PPasJSONUInt32

PasJSON

PPasJSONUInt64

PasJSON

PPasJSONUInt8

PasJSON

PPasJSONUInt8Array

PasJSON

PPasJSONUTF16Char

PasJSON

PPasJSONUTF16String

PasJSON

PPasJSONUTF8String

PasJSON

PPasJSONVoid

PasJSON

PPCharCG

Cg.Import

PPCUgraphicsResource

CUDA.Import

CUDA graphics interop resource

PPdObject

Physics.ODEImport

PPdxGeom

Physics.ODEImport

PPFXRegion

GLS.ParticleFX

PPHeightTileInfo

GLS.HeightTileFileHDS

PPivot

Formats.m3DSTypes

PPlugInEntry

GLS.PlugInManager

PPoint3DS

Formats.m3DSTypes

PPointArray

Formats.m3DSTypes

PPointer

Physics.NewtonImport

PPointerArray

GLS.VectorGeometry

PPointerObjectList

GLS.PersistentClasses

PPointerVector

GLS.VectorGeometry

PPointFlagArray

Formats.m3DSTypes

PPointList

Formats.m3DSTypes

PPosTrackTag

Formats.m3DSTypes

PPPasJSONChar

PasJSON

PPPasJSONDouble

PasJSON

PPPasJSONFloat

PasJSON

PPPasJSONInt16

PasJSON

PPPasJSONInt32

PasJSON

PPPasJSONInt64

PasJSON

PPPasJSONInt8

PasJSON

PPPasJSONNativeInt

PasJSON

PPPasJSONNativeUInt

PasJSON

PPPasJSONPointer

PasJSON

PPPasJSONPointers

PasJSON

PPPasJSONPtrDiff

PasJSON

PPPasJSONPtrInt

PasJSON

PPPasJSONPtrUInt

PasJSON

PPPasJSONRawByteChar

PasJSON

PPPasJSONRawByteString

PasJSON

PPPasJSONSize

PasJSON

PPPasJSONSizeInt

PasJSON

PPPasJSONSizeUInt

PasJSON

PPPasJSONUInt16

PasJSON

PPPasJSONUInt32

PasJSON

PPPasJSONUInt64

PasJSON

PPPasJSONUInt8

PasJSON

PPPasJSONUInt8Array

PasJSON

PPPasJSONUTF16Char

PasJSON

PPPasJSONUTF16String

PasJSON

PPPasJSONUTF8String

PasJSON

PPPasJSONVoid

PasJSON

PProcName

Formats.m3DSTypes

PPSDL_Renderer

SDL2.Import

** * A structure representing rendering state *

PPSDL_Window

SDL2.Import

PPUDPpacket

SDL2.Net

PPUInt8

SDL2.Import

PQuaternion

GLS.VectorGeometry

q = ([x, y, z], w)

PQuaternionArray

GLS.VectorGeometry

PRayBias

Formats.m3DSTypes

PrecisionTimerLap

GLS.Utils

Computes time elapsed since timer start. Return time lap in seconds.

PRenderContextInfo

GLS.RenderContextInfo

PrepareSinCosCache

GLS.VectorGeometry

Fills up the two given dynamic arrays with sin cos values. start and stop angles must be given in degrees, the number of steps is determined by the length of the given arrays.

PRESCALE

Formats.m3DSConst

PResManagerEntry

GLS.PlugInManager

PRE_POST_CONSTANT

Formats.LWO

RESET

PRE_POST_LINEAR

Formats.LWO

OFFSET REPEAT

PRE_POST_OFFSET

Formats.LWO

OSCILLATE

PRE_POST_OSCILLATE

Formats.LWO

REPEAT

PRE_POST_REPEAT

Formats.LWO

CONSTANT

PRE_POST_RESET

Formats.LWO

SMOOTH GROUP

PRGBA32F

GLS.ImageUtils

PRGBColor

GLS.Color

PRIMARY_NODE

Formats.m3DSConst

draw node quickdraw style

PrimerIsland

GLS.RandomHDS

PrimerNull

GLS.RandomHDS

Landscape primers

PROAMTriangleNode

GLS.ROAMPatch

ProcNameStrMax3DS

Formats.m3DSConst

maximim string length for MshMatGroup PROC_NAME

PROC_DATA

Formats.m3DSConst

PROC_NAME

Formats.m3DSConst

Project

GLS.VectorGeometry

ProlateSpheroidal_Cartesian

GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian with no checks. [single] eta, phi in rad A system of curvilinear coordinates in which two sets of coordinate surfaces are obtained by revolving the curves of the elliptic cylindrical coordinates about the x-axis, which is relabeled the z-axis. The third set of coordinates consists of planes passing through this axis. The coordinate system is parameterised by parameter a. A default value of a=1 is suggesed: Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

ProlateSpheroidal_Cartesian

GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian [double] eta,phi in rad A system of curvilinear coordinates in which two sets of coordinate surfaces are obtained by revolving the curves of the elliptic cylindrical coordinates about the x-axis, which is relabeled the z-axis. The third set of coordinates consists of planes passing through this axis. The coordinate system is parameterised by parameter a. A default value of a=1 is suggesed: Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

ProlateSpheroidal_Cartesian

GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian [double](with error check). eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [0,pi] [3] = phi out of bounds. Acceptable phi: [0,2pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

ProlateSpheroidal_Cartesian

GLS.Coordinates

Convert Prolate-Spheroidal to Cartesian [single](with error check). eta,phi in rad ierr: [0] = ok, [1] = xi out of bounds. Acceptable xi: [0,inf) [2] = eta out of bounds. Acceptable eta: [0,pi] [3] = phi out of bounds. Acceptable phi: [0,2pi) Ref: http://mathworld.wolfram.com/ProlateSpheroidalCoordinates.html

PRollTrackTag

Formats.m3DSTypes

PRotTrackTag

Formats.m3DSTypes

PScaleTrackTag

Formats.m3DSTypes

PSceneObjectEntry

GLS.ObjectManager

PSDLNet_GenericSocket

SDL2.Net

* Any network socket can be safely cast to this socket type *

PSDLNet_Socket

SDL2.Net

***********************************************************************

PSDLNet_SocketSet

SDL2.Net

PSDLPantalla

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// *** KTI *** //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// SDLPantalla contiene la ventana SDL el Render donde se pinta y el zoom de los ejes X e Y

PSDL_AudioCVT

SDL2.Import

PSDL_AudioSpec

SDL2.Import

** * The calculated values in this structure are calculated by SDL_OpenAudio(). *

PSDL_BlendMode

SDL2.Import

** * The blend mode used in SDL_RenderCopy() and drawing operations. *

PSDL_BlitMap

SDL2.Import

** * A collection of pixels used in software blitting. * * This structure should be treated as read-only, except for \c pixels, * which, if not NULL, contains the raw pixel data for the surface. *

PSDL_Color

SDL2.Import

PSDL_Colour

SDL2.Import

PSDL_Cond

SDL2.Import

* The SDL condition variable structure, defined in SDL_cond.c *

PSDL_Cursor

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_mouse.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

PSDL_DisplayMode

SDL2.Import

** * The structure that defines a display mode * * SDL_GetNumDisplayModes() * SDL_GetDisplayMode() * SDL_GetDesktopDisplayMode() * SDL_GetCurrentDisplayMode() * SDL_GetClosestDisplayMode() * SDL_SetWindowDisplayMode() * SDL_GetWindowDisplayMode() *

PSDL_Event

SDL2.Import

** * General event structure *

PSDL_EventFilter

SDL2.Import

PSDL_Finger

SDL2.Import

PSDL_FingerID

SDL2.Import

PSDL_GameController

SDL2.Import

* The gamecontroller structure used to identify an SDL game controller *

PSDL_Haptic

SDL2.Import

** * SDL_Haptic * * The haptic structure used to identify an SDL haptic. * * SDL_HapticOpen * SDL_HapticOpenFromJoystick * SDL_HapticClose *

PSDL_HapticEffect

SDL2.Import

** * The generic template for any haptic effect. * * All values max at 32767 (0x7FFF). Signed values also can be negative. * Time values unless specified otherwise are in milliseconds. * * You can also pass SDL_HAPTIC_INFINITY to length instead of a 0-32767 * value. Neither delay, interval, attack_length nor fade_length support * SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends. * * Additionally, the SDL_HAPTIC_RAMP effect does not support a duration of * SDL_HAPTIC_INFINITY. * * Button triggers may not be supported on all devices, it is advised to not * use them if possible. Buttons start at index 1 instead of index 0 like * the joystick. * * If both attack_length and fade_level are 0, the envelope is not used, * otherwise both values are used. * * Common parts: * * // Replay - All effects have this * Uint32 length; // Duration of effect (ms). * Uint16 delay; // Delay before starting effect. * * // Trigger - All effects have this * Uint16 button; // Button that triggers effect. * Uint16 interval; // How soon before effect can be triggered again. * * // Envelope - All effects except condition effects have this * Uint16 attack_length; // Duration of the attack (ms). * Uint16 attack_level; // Level at the start of the attack. * Uint16 fade_length; // Duration of the fade out (ms). * Uint16 fade_level; // Level at the end of the fade. * * * * Here we have an example of a constant effect evolution in time: * Strength ˆ | | effect level –> _________________ | / \ | / \ | / \ | / \ | attack_level –> | \ | | | <— fade_level | +————————————————–> Time [–] [—] attack_length fade_length
[——————][———————–] delay length
* * Note either the attack_level or the fade_level may be above the actual * effect level. * * SDL_HapticConstant * SDL_HapticPeriodic * SDL_HapticCondition * SDL_HapticRamp * SDL_HapticCustom *

PSDL_Joystick

SDL2.Import

* The joystick structure used to identify an SDL joystick *

PSDL_KeyCode

SDL2.Import

** * The SDL virtual key representation. * * Values of this type are used to represent keyboard keys using the current * layout of the keyboard. These values include Unicode values representing * the unmodified character that would be generated by pressing the key, or * an SDLK_* constant for those keys that do not generate characters. *

PSDL_KeyMod

SDL2.Import

PSDL_Keysym

SDL2.Import

** * The SDL keysym structure, used in key events. *

PSDL_MessageBoxButtonData

SDL2.Import

** * Individual button data. *

PSDL_MessageBoxColor

SDL2.Import

** * RGB value used in a message box color scheme *

PSDL_MessageBoxColorScheme

SDL2.Import

** * A set of colors to use for message box dialogs *

PSDL_MessageBoxColorType

SDL2.Import

PSDL_MessageBoxData

SDL2.Import

** * MessageBox structure containing title, text, window, etc. *

PSDL_Mutex

SDL2.Import

PSDL_Mutex = Pointer; //todo!

PSDL_Palette

SDL2.Import

PSDL_PixelFormat

SDL2.Import

** * Everything in the pixel format structure is read-only. *

PSDL_Point

SDL2.Import

** * The structure that defines a point * * SDL_EnclosePoints *

PSDL_Rect

SDL2.Import

** * A rectangle, with the origin at the upper left. * * SDL_RectEmpty * SDL_RectEquals * SDL_HasIntersection * SDL_IntersectRect * SDL_UnionRect * SDL_EnclosePoints *

PSDL_Renderer

SDL2.Import

PSDL_RendererFlags

SDL2.Import

**< The renderer supports rendering to texture *

PSDL_RendererFlip

SDL2.Import

** * Flip constants for SDL_RenderCopyEx *

PSDL_RendererInfo

SDL2.Import

** * Information on the capabilities of a render driver or context. *

PSDL_RWops

SDL2.Import

* Read-Only memory stream *

PSDL_ScanCode

SDL2.Import

**< not a key, just marks the number of scancodes for array bounds *

PSDL_Sem

SDL2.Import

* The SDL semaphore structure, defined in SDL_sem.c *

PSDL_Surface

SDL2.Import

PSDL_SystemCursor

SDL2.Import

PSDL_SysWMEvent

SDL2.Import

** * A video driver dependent system event (event.syswm.*) * This event is disabled by default, you can enable it with SDL_EventState() * * If you want to use this event, you should include SDL_syswm.h. *

PSDL_SysWMinfo

SDL2.Import

The Windows custom window manager information structure

PSDL_SysWMmsg

SDL2.Import

The windows custom event structure

PSDL_Texture

SDL2.Import

** * An efficient driver-specific representation of pixel data *

PSDL_TextureAccess

SDL2.Import

** * The access pattern allowed for a texture. *

PSDL_TextureModulate

SDL2.Import

** * The texture channel modulation used in SDL_RenderCopy(). *

PSDL_Thread

SDL2.Import

PSDL_Thread = Pointer;

PSDL_ThreadFunction

SDL2.Import

* The function passed to SDL_CreateThread() It is passed a void* user context parameter and returns an int. *

PSDL_TouchID

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_touch.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

PSDL_Version

SDL2.Import

** * Information the version of SDL in use. * * Represents the library's version as three levels: major revision * (increments with massive changes, additions, and enhancements), * minor revision (increments with backwards-compatible changes to the * major revision), and patchlevel (increments with fixes to the minor * revision). * * SDL_VERSION * SDL_GetVersion *

PSDL_Window

SDL2.Import

PSDL_WindowShapeMode

SDL2.Import

** A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents. *

PSDL_WindowShaper

SDL2.Import

* Define the SDL window-shaper structure *

PSDL_WindowUserData

SDL2.Import

PShadowFilter

Formats.m3DSTypes

PShadowMapSize

Formats.m3DSTypes

PShadowRange

Formats.m3DSTypes

PShadowSamples

Formats.m3DSTypes

PShadowSets3DS

Formats.m3DSTypes

PShortInt

GLS.HeightTileFileHDS

PShortInt

SDL2.Import

PShortIntArray

GLS.HeightTileFileHDS

PSingleArray

GLS.VectorGeometry

PSingleArrayList

GLS.VectorLists

PSingleList

Formats.m3DSTypes

PSingleRaster

GLS.HeightData

PSInt16

SDL2.Import

PSInt64

SDL2.Import

PSInt8

SDL2.Import

Psize_t

OpenCL.Platform

PSmallInt

GLS.HeightTileFileHDS

Psmallint

Physics.NewtonImport

PSmallIntArray

GLS.HeightData

PSmallIntArray

GLS.HeightTileFileHDS

PSmallIntRaster

GLS.HeightData

PSmoothGroup

Formats.m3DSTypes

PSoundFileFormat

GLS.SoundFileObjects

PSpotCone3DS

Formats.m3DSTypes

Cone visibility settings

PSpotLight3DS

Formats.m3DSTypes

spotlight settings

PSpotProjector3DS

Formats.m3DSTypes

spotlight projectio Bitmap

PSpotShadow3DS

Formats.m3DSTypes

Spotlight shadow settings

PSqrt255Array

GLS.Utils

PTAG_APE_BINARY

Sounds.BASSImport

Binary APEv2 tag structure

PTAG_BEXT

Sounds.BASSImport

BWF "bext" tag structure

PTAG_ID3

Sounds.BASSImport

ID3v1 tag structure

PTAG_TYPE_PART

Formats.LWO

SURFACE

PTAG_TYPE_SMGP

Formats.LWO

PARENT PART

PTAG_TYPE_SURF

Formats.LWO

SPOT MAP: ABSOLUTE VERTEX POSITIONS

PTCPSocket

SDL2.Net

***********************************************************************

PTdJointFeedback

Physics.ODEImport

PTexPoint

GLS.VectorGeometry

PTexPointArray

GLS.VectorGeometry

PTEXSChunk

Formats.B3D

PTextureReference

CUDA.Runtime

PTexVert3DS

Formats.m3DSTypes

PTexVertList

Formats.m3DSTypes

PTexVerts

Formats.m3DSTypes

PThorpoint

GLS.ThorFX

PThorpointArray

GLS.ThorFX

PTrackHeader3DS

Formats.m3DSTypes

PTransformationRec

GLS.PipelineTransformation

PTRISChunk

Formats.B3D

PTTF_Font

SDL2.Ttf

* The internal structure containing font information *

PU1

Formats.LWO

PU2

Formats.LWO

PU2Array

Formats.LWO

PU4

Formats.LWO

PU4Array

Formats.LWO

PUDPpacket

SDL2.Net

PUDPSocket

SDL2.Net

PUDP_Channel

SDL2.Net

***********************************************************************

PUInt16

SDL2.Import

PUInt32

SDL2.Import

PUInt8

SDL2.Import

PUInt8Array

SDL2.Import

PUnknown

Formats.VFW

PUserView3DS

Formats.m3DSTypes

PVec12

Formats.LWO

PVec12Array

Formats.LWO

PVector2f

GLS.VectorGeometry

PVectorArray

GLS.VectorGeometry

PVertex

GLS.VectorGeometry

PVertex2DArr

GLS.Isolines

PVertexBoneWeightArray

GLS.VectorFileObjects

PVertexData

Formats.B3D

PVerticesBoneWeights

GLS.VectorFileObjects

PVGradient

Formats.m3DSTypes

PVGradientBgnd3DS

Formats.m3DSTypes

Color of Solid background

PVIDEOHDR

Formats.VFW

– Video data block header ————————————————–

PVideoMode

GLS.Screen

PViewCamera

Formats.m3DSTypes

PViewport3DS

Formats.m3DSTypes

PViewportData

Formats.m3DSTypes

PViewportData3

Formats.m3DSTypes

PViewportLayout

Formats.m3DSTypes

PViewportSize

Formats.m3DSTypes

PViewSize3DS

Formats.m3DSTypes

PViewStandard

Formats.m3DSTypes

PViewUser

Formats.m3DSTypes

PVOID

Formats.VFW

*************************************************************************** * * types * **************************************************************************

PVRTSChunk

Formats.B3D

PWGLswap

GLS.VectorTypes

========= Windows types ==============

PWordList

Formats.m3DSTypes

PWordVector

GLS.VectorGeometry

PXDataAppName

Formats.m3DSTypes

PXDataDouble

Formats.m3DSTypes

PXDataEntry

Formats.m3DSTypes

PXDataFloat

Formats.m3DSTypes

PXDataLong

Formats.m3DSTypes

PXDataRaw3DS

Formats.m3DSTypes

PXDataShort

Formats.m3DSTypes

PXDataString

Formats.m3DSTypes

PXDataVoid

Formats.m3DSTypes

PZArray

GLS.zBuffer

P_ALPHANEG

Formats.m3DSConst

P_ALPH_ALPHA

Formats.m3DSConst

P_ALPH_BLUR

Formats.m3DSConst

Old Chunk

P_ALPH_C0

Formats.m3DSConst

P_ALPH_CUTOFF

Formats.m3DSConst

P_ALPH_IMAGE

Formats.m3DSConst

P_ALPH_KCOL

Formats.m3DSConst

P_ALPH_NONE

Formats.m3DSConst

P_ALPH_OP_KEY

Formats.m3DSConst

P_ALPH_OP_NOCONV

Formats.m3DSConst

P_ALPH_OP_PSEUDO

Formats.m3DSConst

Old Chunk

P_ALPH_PCOL

Formats.m3DSConst

Replaces pseudo

P_ALPH_PSEUDO

Formats.m3DSConst

P_ALPH_QUEIMG

Formats.m3DSConst

P_ALPH_QUES

Formats.m3DSConst

P_cl_context

GLS.VectorTypes

P_cl_event

GLS.VectorTypes

P_CUSTOM_SIZE

Formats.m3DSConst

P_PROC_DATA

Formats.m3DSConst

P_QUEUE_ALIGN

Formats.m3DSConst

P_QUEUE_ENTRY

Formats.m3DSConst

P_QUEUE_GRADIENT

Formats.m3DSConst

P_QUEUE_IMAGE

Formats.m3DSConst

P_QUEUE_KF

Formats.m3DSConst

P_QUEUE_MB_REPEAT

Formats.m3DSConst

P_QUEUE_MOTBLUR

Formats.m3DSConst

P_QUEUE_NONE

Formats.m3DSConst

P_QUEUE_OFFSET

Formats.m3DSConst

P_QUEUE_PROC

Formats.m3DSConst

P_QUEUE_RESIZE

Formats.m3DSConst

P_QUEUE_SOLID

Formats.m3DSConst

P_QUEUE_USEIGAMMA

Formats.m3DSConst

P_RANGES

Formats.m3DSConst

P_TRANNEG

Formats.m3DSConst

P_TRAN_FADEIN

Formats.m3DSConst

P_TRAN_FADEOUT

Formats.m3DSConst

P_TRAN_FRAMES

Formats.m3DSConst

P_TRAN_IMAGE

Formats.m3DSConst

P_TRAN_NONE

Formats.m3DSConst

QuaternionConjugate

GLS.VectorGeometry

Returns the conjugate of a quaternion

QuaternionFromAngleAxis

GLS.VectorGeometry

Constructs quaternion from angle (in deg) and axis

QuaternionFromEuler

GLS.VectorGeometry

Constructs quaternion from Euler angles in arbitrary order (angles in degrees)

QuaternionFromMatrix

GLS.VectorGeometry

Constructs a unit quaternion from a rotation matrix

QuaternionFromPoints

GLS.VectorGeometry

Constructs a unit quaternion from two points on unit sphere

QuaternionFromRollPitchYaw

GLS.VectorGeometry

Constructs quaternion from Euler angles

QuaternionMagnitude

GLS.VectorGeometry

Returns the magnitude of the quaternion

QuaternionMake

GLS.VectorGeometry

QuaternionMake

GLS.VectorGeometry

QuaternionMake

GLS.VectorGeometry

Creates a quaternion from the given values

QuaternionMultiply

GLS.VectorGeometry

Returns quaternion product qL * qR. Note: order is important! To combine rotations, use the product QuaternionMuliply(qSecond, qFirst), which gives the effect of rotating by qFirst then qSecond

QuaternionSlerp

GLS.VectorGeometry

QuaternionSlerp

GLS.VectorGeometry

Spherical linear interpolation of unit quaternions with spins. QStart, QEnd - start and end unit quaternions t - interpolation parameter (0 to 1) Spin - number of extra spin rotations to involve

QuaternionToAffineMatrix

GLS.VectorGeometry

Constructs an affine rotation matrix from (possibly non-unit) quaternion

QuaternionToMatrix

GLS.VectorGeometry

Constructs a rotation matrix from (possibly non-unit) quaternion. Assumes matrix is used to multiply column vector on the left: vnew = mat vold. Works correctly for right-handed coordinate system and right-handed rotations

QuaternionToPoints

GLS.VectorGeometry

Converts a unit quaternion into two points on a unit sphere

QueryPerformanceCounter

GLS.Utils

Returns the current value of the highest-resolution counter. If the platform has none, should return a value derived from the highest precision time reference available, avoiding, if possible, timers that allocate specific system resources.

QueryPerformanceFrequency

GLS.Utils

Returns the frequency of the counter used by QueryPerformanceCounter. Return value is in ticks per second (Hz), returns False if no precision counter is available.

QuestionDlg

GLS.Utils

Pops up a simple question dialog with msg and yes/no buttons. Returns True if answer was "yes".

QuickSortLists

GLS.VectorLists

Sort the refList in ascending order, ordering objList (TBaseList) on the way

QuickSortLists

GLS.VectorLists

Sort the refList in ascending order, ordering objList (TList) on the way

QWORD

Sounds.BASSImport

QW_ERROR

Sounds.BASSImport

-1 (DWORD)

RadianToDeg

GLS.VectorGeometry

RadianToDeg

GLS.VectorGeometry

RaiseFilerException

GLS.PersistentClasses

RaiseLastOSError

GLS.Utils

RandomColorVector

Physics.ODEUtils

RandomPointOnSphere

GLS.VectorGeometry

Generates a random point on the unit sphere. Point repartition is correctly isotropic with no privilegied direction

RasterFileFormatExtensionByIndex

GLS.Graphics

Returns an extension by its index in the internal image files dialogs filter. Use InternalImageFileFormatsFilter to obtain the filter.

RayCastAABBIntersect

GLS.GeometryBB

RayCastAABBIntersect

GLS.GeometryBB

Finds the intersection between a ray and an axis aligned bounding box.

RayCastBoxIntersect

GLS.VectorGeometry

Compute intersection between a ray and a box. Returns True if an intersection was found, the intersection point is placed in intersectPoint if the reference is not nil

RayCastIntersectsSphere

GLS.VectorGeometry

Determines if a ray will intersect with a given sphere

RayCastMinDistToPoint

GLS.VectorGeometry

Compute the min distance a ray will pass to a point

RayCastPlaneIntersect

GLS.VectorGeometry

Compute intersection between a ray and a plane. Returns True if an intersection was found, the intersection point is placed in intersectPoint is the reference is not nil

RayCastPlaneXZIntersect

GLS.VectorGeometry

RayCastSphereIntersect

GLS.VectorGeometry

Calculates the intersections between a sphere and a ray. Returns 0 if no intersection is found (i1 and i2 untouched), 1 if one intersection was found (i1 defined, i2 untouched), and 2 is two intersections were found (i1 and i2 defined)

RayCastTriangleIntersect

GLS.VectorGeometry

Compute intersection between a ray and a triangle

RAY_BIAS

Formats.m3DSConst

ReadCRLFString

GLS.Utils

Read a CRLF terminated string from a stream. The CRLF is NOT in the returned string.

ReadLine

GLS.Logger

ReadModuleData

GLS.ModuleLoader

ReadMotorolaNumber

Formats.LWO

ReadOpenALExtensions

Sounds.OpenALImport

ReadS0

Formats.LWO

ReadScreenImage

GLS.Screen

ReadVideoModes

GLS.Screen

ReadVXAsU4

Formats.LWO

ReadXMLFile

GLS.CrossXML

ReadXMLFile

GLS.CrossXML

RECORDPROC

Sounds.BASSImport

DSP callback function. NOTE: A DSP function should obviously be as quick as possible... other DSP functions, streams and MOD musics can not be processed until it's finished. handle : The DSP handle channel: Channel that the DSP is being applied to buffer : Buffer to apply the DSP to length : Number of bytes in the buffer user : The 'user' parameter given when calling BASS_ChannelSetDSP

RectangleContains

GLS.VectorGeometry

Determine if BigRect completely contains SmallRect

RectanglesIntersect

GLS.VectorGeometry

Determine if 2 rectanges intersect

RectEquals

GLS.VectorGeometry

True if all components are equal.

Register

Cg.Register

TGLLibMaterialNameProperty

Register

CUDA.Register

Register

DWS.Classes

Register

DWS.Objects

Register

DWS.OpenGL

Register

DWS.Scene

Register

DWS.Script

Register

DWS.VectorGeometry

Register

GLS.FullScreenViewer

Register

GLS.PythonScript

Register

GLS.SceneRegister

Register Components

Register

GLS.SDLContext

Register

GLS.SDLWindow

function getenv(const name: PAnsiChar): PAnsiChar;

Register

GLS.XCollectionRegister

Register

Physics.Register

Register

Pythons.Script

Register

SDL2.Frame

Register

Sounds.SoundRegister

RegisterArchiveFormat

GLS.ArchiveManager

RegisterChunkClass

Formats.LWO

RegisterColor

GLS.Color

RegisterCUDAComponentNameChangeEvent

CUDA.APIComps

RegisterGLBaseSceneObjectNameChangeEvent

GLS.Scene

Register an event handler triggered by any TGLBaseSceneObject Name change. *INCOMPLETE*, currently allows for only 1 (one) event, and is used by GLSceneEdit in the IDE.

RegisterGLBehaviourNameChangeEvent

GLS.Scene

Register an event handler triggered by any TGLBehaviour Name change. *INCOMPLETE*, currently allows for only 1 (one) event, and is used by FBehavioursEditor in the IDE.

RegisterGLContextClass

GLS.Context

Drivers should register themselves via this function.

RegisterGLMaterialExNameChangeEvent

GLS.MaterialEx

RegisterGLSceneObject

Physics.ODEManager

GLODEObject register methods (used for joint object persistence)

RegisterGLTextureImageClass

GLS.Texture

Register a TGLTextureImageClass (used for persistence and IDE purposes)

RegisterGLTextureImageEditor

GLS.TextureImageEditors

RegisterInfoForm

GLS.Scene

Registers the procedure call used to invoke the info form.

RegisterManager

GLS.Manager

RegisterRasterFormat

GLS.Graphics

RegisterSoundFileFormat

GLS.SoundFileObjects

RegisterTGraphicClassFileExtension

GLS.Texture

RegisterUniformAutoSetMethod

GLSL.ShaderParameter

RegisterVectorFileFormat

GLS.VectorFileObjects

RegisterXCollectionDestroyEvent

GLS.XCollection

Registers an event to be called when an XCollection is destroyed

RegisterXCollectionItemClass

GLS.XCollection

Registers a TXCollectionItem subclass for persistence requirements

RelAll3DS

Formats.m3DSConst

RelativePath

GLS.Utils

Remove if possible part of path witch leads to project executable.

ReleaseAmbientLightMotion

Formats.m3DSUtils

ReleaseCamera

Formats.m3DSUtils

ReleaseCameraMotion

Formats.m3DSUtils

ReleaseChunk

Formats.m3DSUtils

ReleaseChunkList

Formats.m3DSUtils

ReleaseFontManager

GLS.SpaceText

ReleaseGLCUDAEditorForm

CUDA.EditorFm

ReleaseGLSceneEditorForm

FmSceneEditor

ReleaseGLShaderEditor

FmShaderMemo

ReleaseGUILayoutEditorForm

FmGuiLayoutEditor

ReleaseLibMaterialPickerForm

FLibMaterialPicker

ReleaseLibMaterialPickerForm

FmLibMaterialPicker

ReleaseLight

Formats.m3DSUtils

ReleaseMaterial

Formats.m3DSUtils

ReleaseMaterialEditorForm

FmMaterialEditor

ReleaseMeshObj

Formats.m3DSUtils

ReleaseNx

Physics.PhysXImport

ReleaseObjectMotion

Formats.m3DSUtils

ReleaseOmnilightMotion

Formats.m3DSUtils

ReleaseShaderUniformEditor

FmShaderUniformEditor

ReleaseSpotlightMotion

Formats.m3DSUtils

ReleaseVectorEditorForm

FmVectorEditor

ReleaseXCollectionEditor

FmXCollectionEditor

ReleaseXMLDocument

GLS.CrossXML

Release_Memory_Isoline

GLS.Isolines

RelFaceArray3ds

Formats.m3DSConst

RelMatArray3ds

Formats.m3DSConst

RelProcData3ds

Formats.m3DSConst

RelSmoothArray3ds

Formats.m3DSConst

RelTextArray3ds

Formats.m3DSConst

RelVertexArray3ds

Formats.m3DSConst

field codes for RelMeshObjField3ds

RelVFlagArray3ds

Formats.m3DSConst

RemapAndCleanupReferences

GLS.MeshUtils

Alters a reference/indice pair and removes unused reference values. This functions scans the reference list and removes all values that aren't referred in the indices list, and the indices list is remapped so as to remain coherent.

RemapIndices

GLS.MeshUtils

Remaps a list of indices. The indicesMap provides newVertexIndex:=indicesMap[oldVertexIndex]

RemapIndicesToIndicesMap

GLS.MeshUtils

Creates an indices map from a remap list. The remap list is what BuildVectorCountOptimizedIndices, a list of indices to distinct/unique items, the indices map contains the indices of these items after a remap and cleanup of the set referred by remapIndices... Clear? In short it takes the output of BuildVectorCountOptimizedIndices and can change it to something suitable for RemapTrianglesIndices. Any simpler documentation of this function welcome ;)

RemapReferences

GLS.MeshUtils

RemapReferences

GLS.MeshUtils

Alters a reference array and removes unused reference values. This functions scans the reference list and removes all values that aren't referred in the indices list, the indices list is *not* remapped.

RemapTrianglesIndices

GLS.MeshUtils

Remaps a list of triangles vertex indices and remove degenerate triangles. The indicesMap provides newVertexIndex:=indicesMap[oldVertexIndex]

RenderAABB

GLS.SpacePartition

RenderAABB

GLS.SpacePartition

Renders an AABB as a line

RenderGeomList

Physics.ODEUtils

RenderSpatialPartitioning

GLS.SpacePartition

Render a spacial partitioning descending from TSectoredSpacePartition (octree and quadtree) as a grid - great for debugging and visualisation

RescaleImage

GLS.ImageUtils

RestoreDefaultMode

GLS.Screen

ReverseByteOrder

Formats.LWO

RFOP_BACKDROP

Formats.LWO

RFOP_RAYTRACEANDBACKDROP

Formats.LWO

RFOP_RAYTRACEANDSPHERICALMAP

Formats.LWO

RFOP_SPHERICALMAP

Formats.LWO

RGB24ToRGBA32

GLS.Graphics

RGB2Color

GLS.Color

Builds a TColor from Red Green Blue components.

Rgbe2float

GLS.RGBE

RLength

GLS.VectorGeometry

Computes 1/Sqrt(Sqr(x)+Sqr(y)).

Roll

GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around its Z-axis

Roll

GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around MasterDirection

ROLL_TRACK_TAG

Formats.m3DSConst

ROLL_TRACK_TAG_KEY

Formats.m3DSConst

RotateVector

GLS.VectorGeometry

Rotates Vector about Axis with Angle radians

RotateVector

GLS.VectorGeometry

Rotates Vector about Axis with Angle radians

RotateVectorAroundY

GLS.VectorGeometry

Rotate given vector around the Y axis (alpha is in rad)

ROT_TRACK_TAG

Formats.m3DSConst

ROT_TRACK_TAG_KEY

Formats.m3DSConst

RoundDownToPowerOf2

GLS.Utils

Round down to the nearest power of two, value must be strictly positive

RoundInt

GLS.VectorGeometry

RoundInt

GLS.VectorGeometry

Rounds the floating point value to the closest integer. Behaves like Round but returns a floating point value like Int.

RoundUpToPowerOf2

GLS.Utils

Round ups to the nearest power of two, value must be positive

RSqrt

GLS.VectorGeometry

—————————————————————————— Miscellanious math functions —————————————————————————— Computes 1/Sqrt(v)

RstVector

GLS.VectorGeometry

RstVector

GLS.VectorGeometry

RW_SEEK_CUR

SDL2.Import

**< Seek from the beginning of data *

RW_SEEK_END

SDL2.Import

**< Seek relative to current read point *

RW_SEEK_SET

SDL2.Import

RyuDoubleToString

PasDblStrUtils

RyuStringToDouble

PasDblStrUtils

RyuStringToDouble

PasDblStrUtils

SafeCurrentGLContext

GLS.Context

SaveAnsiStringToFile

GLS.Utils

Saves ansistring "data" to "filename".

SaveComponentToFile

GLS.Utils

Saves component to a file.

SavePictureDialog

GLS.Utils

Pops up a simple save picture dialog.

SaveSDLBMPToStream

SDL2.Import

SaveStringToFile

GLS.Utils

Saves string "data" to "filename".

ScaleAndRound

GLS.VectorGeometry

Multiples i by s and returns the rounded result.

ScaleFloatArray

GLS.VectorGeometry

ScaleFloatArray

GLS.VectorGeometry

Multiplies values in the array by factor. This function is especially efficient for large arrays, it is not recommended for arrays that have less than 10 items. Expected performance is 4 to 5 times that of a Deliph-compiled loop on AMD CPUs, and 2 to 3 when 3DNow! isn't available

ScaleMatrix

GLS.VectorGeometry

Multiplies all elements of a 3x3 matrix with a factor

ScaleMatrix

GLS.VectorGeometry

Multiplies all elements of a 4x4 matrix with a factor

ScaleVector

GLS.VectorGeometry

Scales given vector by a factor

ScaleVector

GLS.VectorGeometry

Scales given vector by a factor

ScaleVector

GLS.VectorGeometry

Scales given vector by a factor

ScaleVector

GLS.VectorGeometry

Scales given vector by another vector. v[x]:=v[x]*factor[x], v[y]:=v[y]*factor[y] etc.

ScaleVector

GLS.VectorGeometry

Scales given vector by another vector. v[x]:=v[x]*factor[x], v[y]:=v[y]*factor[y] etc.

SCENE_SELECTED

FmSceneEditor

SCL_TRACK_TAG

Formats.m3DSConst

SCL_TRACK_TAG_KEY

Formats.m3DSConst

SDK_Version

Physics.PhysXImport

SDLK_0

SDL2.Import

SDLK_1

SDL2.Import

SDLK_2

SDL2.Import

SDLK_3

SDL2.Import

SDLK_4

SDL2.Import

SDLK_5

SDL2.Import

SDLK_6

SDL2.Import

SDLK_7

SDL2.Import

SDLK_8

SDL2.Import

SDLK_9

SDL2.Import

SDLK_a

SDL2.Import

SDLK_AC_BACK

SDL2.Import

SDLK_AC_BOOKMARKS

SDL2.Import

SDLK_AC_FORWARD

SDL2.Import

SDLK_AC_HOME

SDL2.Import

SDLK_AC_REFRESH

SDL2.Import

SDLK_AC_SEARCH

SDL2.Import

SDLK_AC_STOP

SDL2.Import

SDLK_AGAIN

SDL2.Import

SDLK_ALTERASE

SDL2.Import

SDLK_AMPERSAND

SDL2.Import

SDLK_APPLICATION

SDL2.Import

SDLK_ASTERISK

SDL2.Import

SDLK_AT

SDL2.Import

SDLK_AUDIOMUTE

SDL2.Import

SDLK_AUDIONEXT

SDL2.Import

SDLK_AUDIOPLAY

SDL2.Import

SDLK_AUDIOPREV

SDL2.Import

SDLK_AUDIOSTOP

SDL2.Import

SDLK_b

SDL2.Import

SDLK_BACKQUOTE

SDL2.Import

SDLK_BACKSLASH

SDL2.Import

SDLK_BACKSPACE

SDL2.Import

SDLK_BRIGHTNESSDOWN

SDL2.Import

SDLK_BRIGHTNESSUP

SDL2.Import

SDLK_c

SDL2.Import

SDLK_CALCULATOR

SDL2.Import

SDLK_CANCEL

SDL2.Import

SDLK_CAPSLOCK

SDL2.Import

SDLK_CARET

SDL2.Import

SDLK_CLEAR

SDL2.Import

SDLK_CLEARAGAIN

SDL2.Import

SDLK_COLON

SDL2.Import

SDLK_COMMA

SDL2.Import

SDLK_COMPUTER

SDL2.Import

SDLK_COPY

SDL2.Import

SDLK_CRSEL

SDL2.Import

SDLK_CURRENCYSUBUNIT

SDL2.Import

SDLK_CURRENCYUNIT

SDL2.Import

SDLK_CUT

SDL2.Import

SDLK_d

SDL2.Import

SDLK_DECIMALSEPARATOR

SDL2.Import

SDLK_DELETE

SDL2.Import

SDLK_DISPLAYSWITCH

SDL2.Import

SDLK_DOLLAR

SDL2.Import

SDLK_DOWN

SDL2.Import

SDLK_e

SDL2.Import

SDLK_EJECT

SDL2.Import

SDLK_END

SDL2.Import

SDLK_EQUALS

SDL2.Import

SDLK_ESCAPE

SDL2.Import

SDLK_EXCLAIM

SDL2.Import

SDLK_EXECUTE

SDL2.Import

SDLK_EXSEL

SDL2.Import

SDLK_f

SDL2.Import

SDLK_F1

SDL2.Import

SDLK_F10

SDL2.Import

SDLK_F11

SDL2.Import

SDLK_F12

SDL2.Import

SDLK_F13

SDL2.Import

SDLK_F14

SDL2.Import

SDLK_F15

SDL2.Import

SDLK_F16

SDL2.Import

SDLK_F17

SDL2.Import

SDLK_F18

SDL2.Import

SDLK_F19

SDL2.Import

SDLK_F2

SDL2.Import

SDLK_F20

SDL2.Import

SDLK_F21

SDL2.Import

SDLK_F22

SDL2.Import

SDLK_F23

SDL2.Import

SDLK_F24

SDL2.Import

SDLK_F3

SDL2.Import

SDLK_F4

SDL2.Import

SDLK_F5

SDL2.Import

SDLK_F6

SDL2.Import

SDLK_F7

SDL2.Import

SDLK_F8

SDL2.Import

SDLK_F9

SDL2.Import

SDLK_FIND

SDL2.Import

SDLK_g

SDL2.Import

SDLK_GREATER

SDL2.Import

SDLK_h

SDL2.Import

SDLK_HASH

SDL2.Import

SDLK_HELP

SDL2.Import

SDLK_HOME

SDL2.Import

SDLK_i

SDL2.Import

SDLK_INSERT

SDL2.Import

SDLK_j

SDL2.Import

SDLK_k

SDL2.Import

SDLK_KBDILLUMDOWN

SDL2.Import

SDLK_KBDILLUMTOGGLE

SDL2.Import

SDLK_KBDILLUMUP

SDL2.Import

SDLK_KP_0

SDL2.Import

SDLK_KP_00

SDL2.Import

SDLK_KP_000

SDL2.Import

SDLK_KP_1

SDL2.Import

SDLK_KP_2

SDL2.Import

SDLK_KP_3

SDL2.Import

SDLK_KP_4

SDL2.Import

SDLK_KP_5

SDL2.Import

SDLK_KP_6

SDL2.Import

SDLK_KP_7

SDL2.Import

SDLK_KP_8

SDL2.Import

SDLK_KP_9

SDL2.Import

SDLK_KP_A

SDL2.Import

SDLK_KP_AMPERSAND

SDL2.Import

SDLK_KP_AT

SDL2.Import

SDLK_KP_B

SDL2.Import

SDLK_KP_BACKSPACE

SDL2.Import

SDLK_KP_BINARY

SDL2.Import

SDLK_KP_C

SDL2.Import

SDLK_KP_CLEAR

SDL2.Import

SDLK_KP_CLEARENTRY

SDL2.Import

SDLK_KP_COLON

SDL2.Import

SDLK_KP_COMMA

SDL2.Import

SDLK_KP_D

SDL2.Import

SDLK_KP_DBLAMPERSAND

SDL2.Import

SDLK_KP_DBLVERTICALBAR

SDL2.Import

SDLK_KP_DECIMAL

SDL2.Import

SDLK_KP_DIVIDE

SDL2.Import

SDLK_KP_E

SDL2.Import

SDLK_KP_ENTER

SDL2.Import

SDLK_KP_EQUALS

SDL2.Import

SDLK_KP_EQUALSAS400

SDL2.Import

SDLK_KP_EXCLAM

SDL2.Import

SDLK_KP_F

SDL2.Import

SDLK_KP_GREATER

SDL2.Import

SDLK_KP_HASH

SDL2.Import

SDLK_KP_HEXADECIMAL

SDL2.Import

SDLK_KP_LEFTBRACE

SDL2.Import

SDLK_KP_LEFTPAREN

SDL2.Import

SDLK_KP_LESS

SDL2.Import

SDLK_KP_MEMADD

SDL2.Import

SDLK_KP_MEMCLEAR

SDL2.Import

SDLK_KP_MEMDIVIDE

SDL2.Import

SDLK_KP_MEMMULTIPLY

SDL2.Import

SDLK_KP_MEMRECALL

SDL2.Import

SDLK_KP_MEMSTORE

SDL2.Import

SDLK_KP_MEMSUBTRACT

SDL2.Import

SDLK_KP_MINUS

SDL2.Import

SDLK_KP_MULTIPLY

SDL2.Import

SDLK_KP_OCTAL

SDL2.Import

SDLK_KP_PERCENT

SDL2.Import

SDLK_KP_PERIOD

SDL2.Import

SDLK_KP_PLUS

SDL2.Import

SDLK_KP_PLUSMINUS

SDL2.Import

SDLK_KP_POWER

SDL2.Import

SDLK_KP_RIGHTBRACE

SDL2.Import

SDLK_KP_RIGHTPAREN

SDL2.Import

SDLK_KP_SPACE

SDL2.Import

SDLK_KP_TAB

SDL2.Import

SDLK_KP_VERTICALBAR

SDL2.Import

SDLK_KP_XOR

SDL2.Import

SDLK_l

SDL2.Import

SDLK_LALT

SDL2.Import

SDLK_LCTRL

SDL2.Import

SDLK_LEFT

SDL2.Import

SDLK_LEFTBRACKET

SDL2.Import

* Skip uppercase letters *

SDLK_LEFTPAREN

SDL2.Import

SDLK_LESS

SDL2.Import

SDLK_LGUI

SDL2.Import

SDLK_LSHIFT

SDL2.Import

SDLK_m

SDL2.Import

SDLK_MAIL

SDL2.Import

SDLK_MEDIASELECT

SDL2.Import

SDLK_MENU

SDL2.Import

SDLK_MINUS

SDL2.Import

SDLK_MODE

SDL2.Import

SDLK_MUTE

SDL2.Import

SDLK_n

SDL2.Import

SDLK_NUMLOCKCLEAR

SDL2.Import

SDLK_o

SDL2.Import

SDLK_OPER

SDL2.Import

SDLK_OUT

SDL2.Import

SDLK_p

SDL2.Import

SDLK_PAGEDOWN

SDL2.Import

SDLK_PAGEUP

SDL2.Import

SDLK_PASTE

SDL2.Import

SDLK_PAUSE

SDL2.Import

SDLK_PERCENT

SDL2.Import

SDLK_PERIOD

SDL2.Import

SDLK_PLUS

SDL2.Import

SDLK_POWER

SDL2.Import

SDLK_PRINTSCREEN

SDL2.Import

SDLK_PRIOR

SDL2.Import

SDLK_q

SDL2.Import

SDLK_QUESTION

SDL2.Import

SDLK_QUOTE

SDL2.Import

SDLK_QUOTEDBL

SDL2.Import

SDLK_r

SDL2.Import

SDLK_RALT

SDL2.Import

SDLK_RCTRL

SDL2.Import

SDLK_RETURN

SDL2.Import

SDLK_RETURN2

SDL2.Import

SDLK_RGUI

SDL2.Import

SDLK_RIGHT

SDL2.Import

SDLK_RIGHTBRACKET

SDL2.Import

SDLK_RIGHTPAREN

SDL2.Import

SDLK_RSHIFT

SDL2.Import

SDLK_s

SDL2.Import

SDLK_SCANCODE_MASK

SDL2.Import

SDLK_SCROLLLOCK

SDL2.Import

SDLK_SELECT

SDL2.Import

SDLK_SEMICOLON

SDL2.Import

SDLK_SEPARATOR

SDL2.Import

SDLK_SLASH

SDL2.Import

SDLK_SLEEP

SDL2.Import

SDLK_SPACE

SDL2.Import

SDLK_STOP

SDL2.Import

SDLK_SYSREQ

SDL2.Import

SDLK_t

SDL2.Import

SDLK_TAB

SDL2.Import

SDLK_THOUSANDSSEPARATOR

SDL2.Import

SDLK_u

SDL2.Import

SDLK_UNDERSCORE

SDL2.Import

SDLK_UNDO

SDL2.Import

SDLK_UNKNOWN

SDL2.Import

SDLK_UP

SDL2.Import

SDLK_v

SDL2.Import

SDLK_VOLUMEDOWN

SDL2.Import

SDLK_VOLUMEUP

SDL2.Import

SDLK_w

SDL2.Import

SDLK_WWW

SDL2.Import

SDLK_x

SDL2.Import

SDLK_y

SDL2.Import

SDLK_z

SDL2.Import

SDLNet_AddSocket

SDL2.Net

* Add a socket to a set of sockets to be checked for available data *

SDLNet_AllocPacket

SDL2.Net

* Allocate/resize/free a single UDP packet 'size' bytes long. The new packet is returned, or NULL if the function ran out of memory. *

SDLNet_AllocPacketV

SDL2.Net

* Allocate/Free a UDP packet vector (array of packets) of 'howmany' packets, each 'size' bytes long. A pointer to the first packet in the array is returned, or NULL if the function ran out of memory. *

SDLNet_AllocSocketSet

SDL2.Net

* Allocate a socket set for use with SDLNet_CheckSockets() This returns a socket set for up to 'maxsockets' sockets, or NULL if the function ran out of memory. *

SDLNet_CheckSockets

SDL2.Net

* This function checks to see if data is available for reading on the given set of sockets. If 'timeout' is 0, it performs a quick poll, otherwise the function returns when either data is available for reading, or the timeout in milliseconds has elapsed, which ever occurs first. This function returns the number of sockets ready for reading, or -1 if there was an error with the select() system call. *

SDLNet_DelSocket

SDL2.Net

* Remove a socket from a set of sockets to be checked for available data *

SDLNet_FreePacket

SDL2.Net

SDLNet_FreePacketV

SDL2.Net

SDLNet_FreeSocketSet

SDL2.Net

* Free a set of sockets allocated by SDL_NetAllocSocketSet() *

SDLNet_GetError

SDL2.Net

SDLNet_Init

SDL2.Net

* Initialize/Cleanup the network API SDL must be initialized before calls to functions in this library, because this library uses utility functions from the SDL library. *

SDLNET_MAX_UDPADDRESSES

SDL2.Net

* The maximum addresses bound to a single UDP socket channel *

SDLNET_MAX_UDPCHANNELS

SDL2.Net

* The maximum channels on a a UDP socket *

SDLNet_Quit

SDL2.Net

SDLNet_Read16

SDL2.Net

* Read a 16/32 bit value from network packet buffer *

SDLNet_Read32

SDL2.Net

{$IFNDEF CPUARM} {$ENDIF}

SDLNet_ResizePacket

SDL2.Net

SDLNet_ResolveHost

SDL2.Net

* Resolve a host name and port to an IP address in network form. If the function succeeds, it will return 0. If the host couldn't be resolved, the host portion of the returned address will be INADDR_NONE, and the function will return -1. If 'host' is NULL, the resolved host will be set to INADDR_ANY. *

SDLNet_ResolveIP

SDL2.Net

* Resolve an ip address to a host name in canonical form. If the ip couldn't be resolved, this function returns NULL, otherwise a pointer to a static buffer containing the hostname is returned. Note that this function is not thread-safe. *

SDLNet_SetError

SDL2.Net

* We'll use SDL's functions for error reporting *

SDLNet_SocketReady

SDL2.Net

* After calling SDLNet_CheckSockets(), you can use this function on a socket that was in the socket set, to find out if data is available for reading. *

SDLNet_TCP_Accept

SDL2.Net

* Accept an incoming connection on the given server socket. The newly created socket is returned, or NULL if there was an error. *

SDLNet_TCP_AddSocket

SDL2.Net

SDLNet_TCP_Close

SDL2.Net

* Close a TCP network socket *

SDLNet_TCP_DelSocket

SDL2.Net

SDLNet_TCP_GetPeerAddress

SDL2.Net

* Get the IP address of the remote system associated with the socket. If the socket is a server socket, this function returns NULL. *

SDLNet_TCP_Open

SDL2.Net

* Open a TCP network socket If ip.host is INADDR_NONE, this creates a local server socket on the given port, otherwise a TCP connection to the remote host and port is attempted. The address passed in should already be swapped to network byte order (addresses returned from SDLNet_ResolveHost() are already in the correct form). The newly created socket is returned, or NULL if there was an error. *

SDLNet_TCP_Recv

SDL2.Net

* Receive up to 'maxlen' bytes of data over the non-server socket 'sock', and store them in the buffer pointed to by 'data'. This function returns the actual amount of data received. If the return value is less than or equal to zero, then either the remote connection was closed, or an unknown socket error occurred. *

SDLNet_TCP_Send

SDL2.Net

* Send 'len' bytes of 'data' over the non-server socket 'sock' This function returns the actual amount of data sent. If the return value is less than the amount of data sent, then either the remote connection was closed, or an unknown socket error occurred. *

SDLNet_UDP_AddSocket

SDL2.Net

SDLNet_UDP_Bind

SDL2.Net

* Bind the address 'address' to the requested channel on the UDP socket. If the channel is -1, then the first unbound channel will be bound with the given address as it's primary address. If the channel is already bound, this new address will be added to the list of valid source addresses for packets arriving on the channel. If the channel is not already bound, then the address becomes the primary address, to which all outbound packets on the channel are sent. This function returns the channel which was bound, or -1 on error. *

SDLNet_UDP_Close

SDL2.Net

* Close a UDP network socket *

SDLNet_UDP_DelSocket

SDL2.Net

SDLNet_UDP_GetPeerAddress

SDL2.Net

* Get the primary IP address of the remote system associated with the socket and channel. If the channel is -1, then the primary IP port of the UDP socket is returned – this is only meaningful for sockets opened with a specific port. If the channel is not bound and not -1, this function returns NULL. *

SDLNet_UDP_Open

SDL2.Net

* Open a UDP network socket If 'port' is non-zero, the UDP socket is bound to a local port. This allows other systems to send to this socket via a known port. *

SDLNet_UDP_Recv

SDL2.Net

* Receive a single packet from the UDP socket. The returned packet contains the source address and the channel it arrived on. If it did not arrive on a bound channel, the the channel will be set to -1. The channels are checked in highest to lowest order, so if an address is bound to multiple channels, the highest channel with the source address bound will be returned. This function returns the number of packets read from the network, or -1 on error. This function does not block, so can return 0 packets pending. *

SDLNet_UDP_RecvV

SDL2.Net

* Receive a vector of pending packets from the UDP socket. The returned packets contain the source address and the channel they arrived on. If they did not arrive on a bound channel, the the channel will be set to -1. The channels are checked in highest to lowest order, so if an address is bound to multiple channels, the highest channel with the source address bound will be returned. This function returns the number of packets read from the network, or -1 on error. This function does not block, so can return 0 packets pending. *

SDLNet_UDP_Send

SDL2.Net

* Send a single packet to the specified channel. If the channel specified in the packet is -1, the packet will be sent to the address in the 'src' member of the packet. The packet will be updated with the status of the packet after it has been sent. This function returns 1 if the packet was sent, or 0 on error. *

SDLNet_UDP_SendV

SDL2.Net

* Send a vector of packets to the the channels specified within the packet. If the channel specified in the packet is -1, the packet will be sent to the address in the 'src' member of the packet. Each packet will be updated with the status of the packet after it has been sent, -1 if the packet send failed. This function returns the number of packets sent. *

SDLNet_UDP_Unbind

SDL2.Net

* Unbind all addresses from the given channel *

SDLNet_Write16

SDL2.Net

* Write a 16/32 bit value to network packet buffer *

SDLNet_Write32

SDL2.Net

SDLStreamCloseRWops

SDL2.Import

SDLStreamSetup

SDL2.Import

SDL_ADDEVENT

SDL2.Import

SDL_AddEventWatch

SDL2.Import

** * Add a function which is called when an event is added to the queue. *

SDL_AddHintCallback

SDL2.Import

SDL_AddTimer

SDL2.Import

** * Add a new timer to the pool of timers already running. * * A timer ID, or NULL when an error occurs. *

SDL_AllocFormat

SDL2.Import

** * Create an SDL_PixelFormat structure from a pixel format enum. *

SDL_AllocPalette

SDL2.Import

** * Create a palette structure with the specified number of color * entries. * * A new palette, or nil if there wasn't enough memory. * * The palette entries are initialized to white. * * SDL_FreePalette() *

SDL_AllocRW

SDL2.Import

*RWFrom functions*

SDL_ALPHA_OPAQUE

SDL2.Import

** * Transparency definitions * * These define alpha as the opacity of a surface. *

SDL_ALPHA_TRANSPARENT

SDL2.Import

SDL_APP_DIDENTERBACKGROUND

SDL2.Import

**< The application is about to enter the background Called on iOS in applicationWillResignActive() Called on Android in onPause() *

SDL_APP_DIDENTERFOREGROUND

SDL2.Import

**< The application is about to enter the foreground Called on iOS in applicationWillEnterForeground() Called on Android in onResume() *

SDL_APP_LOWMEMORY

SDL2.Import

**< The application is being terminated by the OS Called on iOS in applicationWillTerminate() Called on Android in onDestroy() *

SDL_APP_TERMINATING

SDL2.Import

* These application events have special meaning on iOS, see README.iOS for details *

SDL_APP_WILLENTERBACKGROUND

SDL2.Import

**< The application is low on memory, free memory if possible. Called on iOS in applicationDidReceiveMemoryWarning() Called on Android in onLowMemory() *

SDL_APP_WILLENTERFOREGROUND

SDL2.Import

**< The application did enter the background and may not get CPU for some time Called on iOS in applicationDidEnterBackground() Called on Android in onPause() *

SDL_ARRAYORDER_ABGR

SDL2.Import

SDL_ARRAYORDER_ARGB

SDL2.Import

SDL_ARRAYORDER_BGR

SDL2.Import

SDL_ARRAYORDER_BGRA

SDL2.Import

SDL_ARRAYORDER_NONE

SDL2.Import

** Array component order, low byte -> high byte. *

SDL_ARRAYORDER_RGB

SDL2.Import

SDL_ARRAYORDER_RGBA

SDL2.Import

SDL_AudioDeviceConnected

SDL2.Import

** * 1 if audio device is still functioning, zero if not, -1 on error. *

SDL_AudioInit

SDL2.Import

** * Initialization and cleanup * * These functions are used internally, and should not be used unless * you have a specific need to specify the audio driver you want to * use. You should normally use SDL_Init() or SDL_InitSubSystem(). *

SDL_AudioQuit

SDL2.Import

SDL_AUDIO_ALLOW_ANY_CHANGE

SDL2.Import

SDL_AUDIO_ALLOW_CHANNELS_CHANGE

SDL2.Import

SDL_AUDIO_ALLOW_FORMAT_CHANGE

SDL2.Import

SDL_AUDIO_ALLOW_FREQUENCY_CHANGE

SDL2.Import

** * Allow change flags * * Which audio format changes are allowed when opening a device. *

SDL_AUDIO_BITSIZE

SDL2.Import

SDL_AUDIO_ISBIGENDIAN

SDL2.Import

SDL_AUDIO_ISFLOAT

SDL2.Import

SDL_AUDIO_ISINT

SDL2.Import

SDL_AUDIO_ISLITTLEENDIAN

SDL2.Import

SDL_AUDIO_ISSIGNED

SDL2.Import

SDL_AUDIO_ISUNSIGNED

SDL2.Import

SDL_AUDIO_MASK_BITSIZE

SDL2.Import

** * Audio flags *

SDL_AUDIO_MASK_DATATYPE

SDL2.Import

SDL_AUDIO_MASK_ENDIAN

SDL2.Import

SDL_AUDIO_MASK_SIGNED

SDL2.Import

SDL_BIG_ENDIAN

SDL2.Import

SDL_BITMAPORDER_1234

SDL2.Import

SDL_BITMAPORDER_4321

SDL2.Import

SDL_BITMAPORDER_NONE

SDL2.Import

** Bitmap pixel order, high bit -> low bit. *

SDL_BITSPERPIXEL

SDL2.Import

SDL_BLENDMODE_ADD

SDL2.Import

**< dst = (src * A) + (dst * (1-A)) *

SDL_BLENDMODE_BLEND

SDL2.Import

**< No blending *

SDL_BLENDMODE_MOD

SDL2.Import

**< dst = (src * A) + dst *

SDL_BLENDMODE_NONE

SDL2.Import

SDL_BuildAudioCVT

SDL2.Import

** * This function takes a source format and rate and a destination format * and rate, and initializes the cvt structure with information needed * by SDL_ConvertAudio() to convert a buffer of audio data from one format * to the other. * * -1 if the format conversion is not supported, 0 if there's * no conversion needed, or 1 if the audio filter is set up. *

SDL_BUTTON_LEFT

SDL2.Import

** * Used as a mask when testing buttons in buttonstate. * - Button 1: Left mouse button * - Button 2: Middle mouse button * - Button 3: Right mouse button *

SDL_BUTTON_LMASK

SDL2.Import

SDL_BUTTON_MIDDLE

SDL2.Import

SDL_BUTTON_MMASK

SDL2.Import

SDL_BUTTON_RIGHT

SDL2.Import

SDL_BUTTON_RMASK

SDL2.Import

SDL_BUTTON_X1

SDL2.Import

SDL_BUTTON_X1MASK

SDL2.Import

SDL_BUTTON_X2

SDL2.Import

SDL_BUTTON_X2MASK

SDL2.Import

SDL_BYTEORDER

SDL2.Import

SDL_BYTESPERPIXEL

SDL2.Import

SDL_CalculateGammaRamp

SDL2.Import

** * Calculate a 256 entry gamma ramp for a gamma value. *

SDL_ClearError

SDL2.Import

SDL_ClearHints

SDL2.Import

/** * \brief Clear all hints * * This function is called during SDL_Quit() to free stored hints. */

SDL_CLIPBOARDUPDATE

SDL2.Import

Clipboard events

SDL_CloseAudio

SDL2.Import

** * This function shuts down audio processing and closes the audio device. *

SDL_CloseAudioDevice

SDL2.Import

SDL_COMMONEVENT

SDL2.Import

Unused (do not remove) (needed in pascal?)

SDL_COMPILEDVERSION

SDL2.Import

** * This is the version number macro for the current SDL version. *

SDL_CondBroadcast

SDL2.Import

** * Restart all threads that are waiting on the condition variable. * * 0 or -1 on error. *

SDL_CondSignal

SDL2.Import

** * Restart one of the threads that are waiting on the condition variable. * * 0 or -1 on error. *

SDL_CondWait

SDL2.Import

** * Wait on the condition variable, unlocking the provided mutex. * * The mutex must be locked before entering this function! * * The mutex is re-locked once the condition variable is signaled. * * 0 when it is signaled, or -1 on error. *

SDL_CondWaitTimeout

SDL2.Import

** * Waits for at most ms milliseconds, and returns 0 if the condition * variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not * signaled in the allotted time, and -1 on error. * * On some platforms this function is implemented by looping with a * delay of 1 ms, and so should be avoided if possible. *

SDL_CONTROLLERAXISMOTION

SDL2.Import

Game controller events

SDL_CONTROLLERBUTTONDOWN

SDL2.Import

Game controller axis motion

SDL_CONTROLLERBUTTONUP

SDL2.Import

Game controller button pressed

SDL_CONTROLLERDEVICEADDED

SDL2.Import

Game controller button released

SDL_CONTROLLERDEVICEREMAPPED

SDL2.Import

An opened Game controller has been removed

SDL_CONTROLLERDEVICEREMOVED

SDL2.Import

A new Game controller has been inserted into the system

SDL_CONTROLLER_AXIS_INVALID

SDL2.Import

** * The list of axes available from a controller *

SDL_CONTROLLER_AXIS_LEFTX

SDL2.Import

SDL_CONTROLLER_AXIS_LEFTY

SDL2.Import

SDL_CONTROLLER_AXIS_MAX

SDL2.Import

SDL_CONTROLLER_AXIS_RIGHTX

SDL2.Import

SDL_CONTROLLER_AXIS_RIGHTY

SDL2.Import

SDL_CONTROLLER_AXIS_TRIGGERLEFT

SDL2.Import

SDL_CONTROLLER_AXIS_TRIGGERRIGHT

SDL2.Import

SDL_CONTROLLER_BUTTON_A

SDL2.Import

SDL_CONTROLLER_BUTTON_B

SDL2.Import

SDL_CONTROLLER_BUTTON_BACK

SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_DOWN

SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_LEFT

SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_RIGHT

SDL2.Import

SDL_CONTROLLER_BUTTON_DPAD_UP

SDL2.Import

SDL_CONTROLLER_BUTTON_GUIDE

SDL2.Import

SDL_CONTROLLER_BUTTON_INVALID

SDL2.Import

** * The list of buttons available from a controller *

SDL_CONTROLLER_BUTTON_LEFTSHOULDER

SDL2.Import

SDL_CONTROLLER_BUTTON_LEFTSTICK

SDL2.Import

SDL_CONTROLLER_BUTTON_MAX

SDL2.Import

SDL_CONTROLLER_BUTTON_RIGHTSHOULDER

SDL2.Import

SDL_CONTROLLER_BUTTON_RIGHTSTICK

SDL2.Import

SDL_CONTROLLER_BUTTON_START

SDL2.Import

SDL_CONTROLLER_BUTTON_X

SDL2.Import

SDL_CONTROLLER_BUTTON_Y

SDL2.Import

SDL_ConvertAudio

SDL2.Import

** * Once you have initialized the cvt structure using SDL_BuildAudioCVT(), * created an audio buffer cvt->buf, and filled it with cvt->len bytes of * audio data in the source format, this function will convert it in-place * to the desired format. * * The data conversion may expand the size of the audio data, so the buffer * cvt->buf should be allocated after the cvt structure is initialized by * SDL_BuildAudioCVT(), and should be cvt->len*cvt->len_mult bytes long. *

SDL_ConvertPixels

SDL2.Import

** * Copy a block of pixels of one format to another format * * 0 on success, or -1 if there was an error *

SDL_ConvertSurface

SDL2.Import

** * Creates a new surface of the specified format, and then copies and maps * the given surface to it so the blit of the converted surface will be as * fast as possible. If this function fails, it returns NULL. * * The flags parameter is passed to SDL_CreateRGBSurface() and has those * semantics. You can also pass SDL_RLEACCEL in the flags parameter and * SDL will try to RLE accelerate colorkey and alpha blits in the resulting * surface. *

SDL_ConvertSurfaceFormat

SDL2.Import

SDL_CreateColorCursor

SDL2.Import

** * Create a color cursor. * * SDL_FreeCursor() *

SDL_CreateCond

SDL2.Import

** * Create a condition variable. * * Typical use of condition variables: * * Thread A: * SDL_LockMutex(lock); * while ( not condition ) * begin * SDL_CondWait(cond, lock); * end; * SDL_UnlockMutex(lock); * * Thread B: * SDL_LockMutex(lock); * ... * condition := true; * ... * SDL_CondSignal(cond); * SDL_UnlockMutex(lock); * * There is some discussion whether to signal the condition variable * with the mutex locked or not. There is some potential performance * benefit to unlocking first on some platforms, but there are some * potential race conditions depending on how your code is structured. * * In general it's safer to signal the condition variable while the * mutex is locked. *

SDL_CreateCursor

SDL2.Import

** * Create a cursor, using the specified bitmap data and * mask (in MSB format). * * The cursor width must be a multiple of 8 bits. * * The cursor is created in black and white according to the following: * <table> * <tr><td> data </td><td> mask </td><td> resulting pixel on screen </td></tr> * <tr><td> 0 </td><td> 1 </td><td> White </td></tr> * <tr><td> 1 </td><td> 1 </td><td> Black </td></tr> * <tr><td> 0 </td><td> 0 </td><td> Transparent </td></tr> * <tr><td> 1 </td><td> 0 </td><td> Inverted color if possible, black * if not. </td></tr> * </table> * * SDL_FreeCursor() *

SDL_CreateMutex

SDL2.Import

** * Create a mutex, initialized unlocked. *

SDL_CreateRenderer

SDL2.Import

** * Create a 2D rendering context for a window. * * window The window where rendering is displayed. * index The index of the rendering driver to initialize, or -1 to * initialize the first one supporting the requested flags. * flags ::SDL_RendererFlags. * * A valid rendering context or NULL if there was an error. * * SDL_CreateSoftwareRenderer() * SDL_GetRendererInfo() * SDL_DestroyRenderer() *

SDL_CreateRGBSurface

SDL2.Import

** * Allocate and free an RGB surface. * * If the depth is 4 or 8 bits, an empty palette is allocated for the surface. * If the depth is greater than 8 bits, the pixel format is set using the * flags '[RGB]mask'. * * If the function runs out of memory, it will return NULL. * * flags The flags are obsolete and should be set to 0. *

SDL_CreateRGBSurfaceFrom

SDL2.Import

SDL_CreateSemaphore

SDL2.Import

** * Create a semaphore, initialized with value, returns NULL on failure. *

SDL_CreateShapedWindow

SDL2.Import

** * Create a window that can be shaped with the specified position, dimensions, and flags. * * title The title of the window, in UTF-8 encoding. * x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * w The width of the window. * h The height of the window. * flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following: * SDL_WINDOW_OPENGL, SDL_WINDOW_INPUT_GRABBED, * SDL_WINDOW_SHOWN, SDL_WINDOW_RESIZABLE, * SDL_WINDOW_MAXIMIZED, SDL_WINDOW_MINIMIZED, * SDL_WINDOW_BORDERLESS is always set, and SDL_WINDOW_FULLSCREEN is always unset. * * The window created, or NULL if window creation failed. * * SDL_DestroyWindow() *

SDL_CreateSoftwareRenderer

SDL2.Import

** * Create a 2D software rendering context for a surface. * * surface The surface where rendering is done. * * A valid rendering context or NULL if there was an error. * * SDL_CreateRenderer() * SDL_DestroyRenderer() *

SDL_CreateSystemCursor

SDL2.Import

** * Create a system cursor. * * SDL_FreeCursor() *

SDL_CreateTexture

SDL2.Import

** * Create a texture for a rendering context. * * renderer The renderer. * format The format of the texture. * access One of the enumerated values in ::SDL_TextureAccess. * w The width of the texture in pixels. * h The height of the texture in pixels. * * The created texture is returned, or 0 if no rendering context was * active, the format was unsupported, or the width or height were out * of range. * * SDL_QueryTexture() * SDL_UpdateTexture() * SDL_DestroyTexture() *

SDL_CreateTextureFromSurface

SDL2.Import

** * Create a texture from an existing surface. * * renderer The renderer. * surface The surface containing pixel data used to fill the texture. * * The created texture is returned, or 0 on error. * * The surface is not modified or freed by this function. * * SDL_QueryTexture() * SDL_DestroyTexture() *

SDL_CreateThread

SDL2.Import

** * Create a thread. *

SDL_CreateThread

SDL2.Import

** * Create a thread. *

SDL_CreateWindow

SDL2.Import

** * Create a window with the specified position, dimensions, and flags. * * title The title of the window, in UTF-8 encoding. * x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or * ::SDL_WINDOWPOS_UNDEFINED. * w The width of the window. * h The height of the window. * flags The flags for the window, a mask of any of the following: * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, * ::SDL_WINDOW_SHOWN, ::SDL_WINDOW_BORDERLESS, * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED. * * The id of the window created, or zero if window creation failed. * * SDL_DestroyWindow() *

SDL_CreateWindowAndRenderer

SDL2.Import

** * Create a window and default renderer * * width The width of the window * height The height of the window * window_flags The flags used to create the window * window A pointer filled with the window, or NULL on error * renderer A pointer filled with the renderer, or NULL on error * * 0 on success, or -1 on error *

SDL_CreateWindowFrom

SDL2.Import

** * Create an SDL window from an existing native window. * * data A pointer to driver-dependent window creation data * * The id of the window created, or zero if window creation failed. * * SDL_DestroyWindow() *

SDL_Delay

SDL2.Import

** * Wait a specified number of milliseconds before returning. *

SDL_DelEventWatch

SDL2.Import

** * Remove an event watch function added with SDL_AddEventWatch() *

SDL_DelHintCallback

SDL2.Import

/** * \brief Remove a function watching a particular hint * * \param name The hint being watched * \param callback The function being called when the hint value changes * \param userdata A pointer being passed to the callback function */

SDL_DestroyCond

SDL2.Import

** * Destroy a condition variable. *

SDL_DestroyMutex

SDL2.Import

** * Destroy a mutex. *

SDL_DestroyRenderer

SDL2.Import

** * Destroy the rendering context for a window and free associated * textures. * * SDL_CreateRenderer() *

SDL_DestroySemaphore

SDL2.Import

** * Destroy a semaphore. *

SDL_DestroyTexture

SDL2.Import

** * Destroy the specified texture. * * SDL_CreateTexture() * SDL_CreateTextureFromSurface() *

SDL_DestroyWindow

SDL2.Import

** * Destroy a window. *

SDL_DISABLE

SDL2.Import

SDL_DisableScreenSaver

SDL2.Import

** * Prevent the screen from being blanked by a screensaver * * SDL_IsScreenSaverEnabled() * SDL_EnableScreenSaver() *

SDL_DOLLARGESTURE

SDL2.Import

Gesture events

SDL_DOLLARRECORD

SDL2.Import

SDL_DONTFREE

SDL2.Import

**< Surface is RLE encoded *

SDL_DROPFILE

SDL2.Import

Drag and drop events

SDL_ENABLE

SDL2.Import

SDL_EnableScreenSaver

SDL2.Import

** * Allow the screen to be blanked by a screensaver * * SDL_IsScreenSaverEnabled() * SDL_DisableScreenSaver() *

SDL_EnclosePoints

SDL2.Import

** * Calculate a minimal rectangle enclosing a set of points * * SDL_TRUE if any points were within the clipping rect *

SDL_Error

SDL2.Import

* SDL_Error() unconditionally returns -1. *

SDL_EventState

SDL2.Import

** * This function allows you to set the state of processing certain events. * - If state is set to SDL_IGNORE, that event will be automatically * dropped from the event queue and will not event be filtered. * - If state is set to SDL_ENABLE, that event will be processed * normally. * - If state is set to SDL_QUERY, SDL_EventState() will return the * current processing state of the specified event. *

SDL_FillRect

SDL2.Import

** * Performs a fast fill of the given rectangle with color. * * If rect is NULL, the whole surface will be filled with color. * * The color should be a pixel of the format used by the surface, and * can be generated by the SDL_MapRGB() function. * * 0 on success, or -1 on error. *

SDL_FillRects

SDL2.Import

SDL_FilterEvents

SDL2.Import

** * Run the filter function on the current event queue, removing any * events for which the filter returns 0. *

SDL_FINGERDOWN

SDL2.Import

Touch events

SDL_FINGERMOTION

SDL2.Import

SDL_FINGERUP

SDL2.Import

SDL_FIRSTEVENT

SDL2.Import

** * The types of events that can be delivered. *

SDL_FlushEvent

SDL2.Import

** * This function clears events from the event queue *

SDL_FlushEvents

SDL2.Import

SDL_FreeCursor

SDL2.Import

** * Frees a cursor created with SDL_CreateCursor(). * * SDL_CreateCursor() *

SDL_FreeFormat

SDL2.Import

** * Free an SDL_PixelFormat structure. *

SDL_FreePalette

SDL2.Import

** * Free a palette created with SDL_AllocPalette(). * * SDL_AllocPalette() *

SDL_FreeRW

SDL2.Import

SDL_FreeSurface

SDL2.Import

SDL_FreeWAV

SDL2.Import

** * This function frees data previously allocated with SDL_LoadWAV_RW() *

SDL_GameControllerAddMapping

SDL2.Import

** * Add or update an existing mapping configuration * * 1 if mapping is added, 0 if updated, -1 on error *

SDL_GameControllerClose

SDL2.Import

** * Close a controller previously opened with SDL_GameControllerOpen(). *

SDL_GameControllerEventState

SDL2.Import

** * Enable/disable controller event polling. * * If controller events are disabled, you must call SDL_GameControllerUpdate() * yourself and check the state of the controller when you want controller * information. * * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. *

SDL_GameControllerGetAttached

SDL2.Import

** * Returns SDL_TRUE if the controller has been opened and currently connected, * or SDL_FALSE if it has not. *

SDL_GameControllerGetAxis

SDL2.Import

** * Get the current state of an axis control on a game controller. * * The state is a value ranging from -32768 to 32767. * * The axis indices start at index 0. *

SDL_GameControllerGetAxisFromString

SDL2.Import

** * turn this string into a axis mapping *

SDL_GameControllerGetBindForAxis

SDL2.Import

** * Get the SDL joystick layer binding for this controller button mapping *

SDL_GameControllerGetBindForButton

SDL2.Import

** * Get the SDL joystick layer binding for this controller button mapping *

SDL_GameControllerGetButton

SDL2.Import

** * Get the current state of a button on a game controller. * * The button indices start at index 0. *

SDL_GameControllerGetButtonFromString

SDL2.Import

** * turn this string into a button mapping *

SDL_GameControllerGetJoystick

SDL2.Import

** * Get the underlying joystick object used by a controller *

SDL_GameControllerGetStringForAxis

SDL2.Import

** * turn this axis enum into a string mapping *

SDL_GameControllerGetStringForButton

SDL2.Import

** * turn this button enum into a string mapping *

SDL_GameControllerMapping

SDL2.Import

** * Get a mapping string for an open GameController * * the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available *

SDL_GameControllerMappingForGUID

SDL2.Import

** * Get a mapping string for a GUID * * the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available *

SDL_GameControllerName

SDL2.Import

** * Return the name for this currently opened controller *

SDL_GameControllerNameForIndex

SDL2.Import

** * Get the implementation dependent name of a game controller. * This can be called before any controllers are opened. * If no name can be found, this function returns NULL. *

SDL_GameControllerOpen

SDL2.Import

** * Open a game controller for use. * The index passed as an argument refers to the N'th game controller on the system. * This index is the value which will identify this controller in future controller * events. * * A controller identifier, or NULL if an error occurred. *

SDL_GameControllerUpdate

SDL2.Import

** * Update the current state of the open game controllers. * * This is called automatically by the event loop if any game controller * events are enabled. *

SDL_GetAudioDeviceName

SDL2.Import

** * Get the human-readable name of a specific audio device. * Must be a value between 0 and (number of audio devices-1). * Only valid after a successfully initializing the audio subsystem. * The values returned by this function reflect the latest call to * SDL_GetNumAudioDevices(); recall that function to redetect available * hardware. * * The string returned by this function is UTF-8 encoded, read-only, and * managed internally. You are not to free it. If you need to keep the * string for any length of time, you should make your own copy of it, as it * will be invalid next time any of several other SDL functions is called. *

SDL_GetAudioDeviceStatus

SDL2.Import

SDL_GetAudioDriver

SDL2.Import

SDL_GetAudioStatus

SDL2.Import

SDL_GetClipRect

SDL2.Import

** * Gets the clipping rectangle for the destination surface in a blit. * * rect must be a pointer to a valid rectangle which will be filled * with the correct values. *

SDL_GetClosestDisplayMode

SDL2.Import

** * Get the closest match to the requested display mode. * * mode The desired display mode * closest A pointer to a display mode to be filled in with the closest * match of the available display modes. * * The passed in value closest, or nil if no matching video mode * was available. * * The available display modes are scanned, and closest is filled in with the * closest mode matching the requested mode and returned. The mode format and * refresh_rate default to the desktop mode if they are 0. The modes are * scanned with size being first priority, format being second priority, and * finally checking the refresh_rate. If all the available modes are too * small, then nil is returned. * * SDL_GetNumDisplayModes() * SDL_GetDisplayMode() *

SDL_GetColorKey

SDL2.Import

** * Gets the color key (transparent pixel) in a blittable surface. * * surface The surface to update * key A pointer filled in with the transparent pixel in the native * surface format * * 0 on success, or -1 if the surface is not valid or colorkey is not * enabled. *

SDL_GetCurrentAudioDriver

SDL2.Import

** * This function returns the name of the current audio driver, or NULL * if no driver has been initialized. *

SDL_GetCurrentDisplayMode

SDL2.Import

** * Fill in information about the current display mode. *

SDL_GetCurrentVideoDriver

SDL2.Import

** * Returns the name of the currently initialized video driver. * * The name of the current video driver or nil if no driver * has been initialized * * SDL_GetNumVideoDrivers() * SDL_GetVideoDriver() *

SDL_GetCursor

SDL2.Import

** * Return the active cursor. *

SDL_GetDesktopDisplayMode

SDL2.Import

** * Fill in information about the desktop display mode. *

SDL_GetDisplayBounds

SDL2.Import

** * Get the desktop area represented by a display, with the primary * display located at 0,0 * * 0 on success, or -1 if the index is out of range. * * SDL_GetNumVideoDisplays() *

SDL_GetDisplayMode

SDL2.Import

** * Fill in information about a specific display mode. * * The display modes are sorted in this priority: * bits per pixel -> more colors to fewer colors * width -> largest to smallest * height -> largest to smallest * refresh rate -> highest to lowest * * SDL_GetNumDisplayModes() *

SDL_GetDisplayName

SDL2.Import

** * Get the name of a display in UTF-8 encoding * * The name of a display, or nil for an invalid display index. * * SDL_GetNumVideoDisplays() *

SDL_getenv

GLS.SDLWindow

function SDL_getenv(const name: PAnsiChar): PAnsiChar; cdecl; external LibName;

SDL_GetError

SDL2.Import

SDL_GETEVENT

SDL2.Import

SDL_GetEventFilter

SDL2.Import

** * Return the current event filter - can be used to "chain" filters. * If there is no event filter set, this function returns SDL_FALSE. *

SDL_GetEventState

SDL2.Import

SDL_GetHint

SDL2.Import

/** * \brief Get a hint * * \return The string value of a hint variable. */

SDL_GetKeyboardFocus

SDL2.Import

** * Get the window which currently has keyboard focus. *

SDL_GetKeyboardState

SDL2.Import

** * Get a snapshot of the current state of the keyboard. * * numkeys if non-nil, receives the length of the returned array. * * An array of key states. Indexes into this array are obtained by using SDL_Scancode values. * *

SDL_GetKeyFromName

SDL2.Import

** * Get a key code from a human-readable name * * key code, or SDLK_UNKNOWN if the name wasn't recognized * * SDL_Keycode *

SDL_GetKeyFromScancode

SDL2.Import

** * Get the key code corresponding to the given scancode according * to the current keyboard layout. * * See SDL_Keycode for details. * * SDL_GetKeyName() *

SDL_GetKeyName

SDL2.Import

** * Get a human-readable name for a key. * * A pointer to a UTF-8 string that stays valid at least until the next * call to this function. If you need it around any longer, you must * copy it. If the key doesn't have a name, this function returns an * empty string (""). * * SDL_Key *

SDL_GetModState

SDL2.Import

** * Get the current key modifier state for the keyboard. *

SDL_GetMouseFocus

SDL2.Import

** * Get the window which currently has mouse focus. *

SDL_GetMouseState

SDL2.Import

** * Retrieve the current state of the mouse. * * The current button state is returned as a button bitmask, which can * be tested using the SDL_BUTTON(X) macros, and x and y are set to the * mouse cursor position relative to the focus window for the currently * selected mouse. You can pass nil for either x or y. * * SDL_Button = 1 shl ((X)-1) *

SDL_GetNumAudioDevices

SDL2.Import

** * Get the number of available devices exposed by the current driver. * Only valid after a successfully initializing the audio subsystem. * Returns -1 if an explicit list of devices can't be determined; this is * not an error. For example, if SDL is set up to talk to a remote audio * server, it can't list every one available on the Internet, but it will * still allow a specific host to be specified to SDL_OpenAudioDevice(). * * In many common cases, when this function returns a value <= 0, it can still * successfully open the default device (NULL for first argument of * SDL_OpenAudioDevice()). *

SDL_GetNumAudioDrivers

SDL2.Import

** * Driver discovery functions * * These functions return the list of built in audio drivers, in the * order that they are normally initialized by default. *

SDL_GetNumDisplayModes

SDL2.Import

** * Returns the number of available display modes. * * SDL_GetDisplayMode() *

SDL_GetNumRenderDrivers

SDL2.Import

** * Get the number of 2D rendering drivers available for the current * display. * * A render driver is a set of code that handles rendering and texture * management on a particular display. Normally there is only one, but * some drivers may have several available with different capabilities. * * SDL_GetRenderDriverInfo() * SDL_CreateRenderer() *

SDL_GetNumTouchDevices

SDL2.Import

** * Get the number of registered touch devices. *

SDL_GetNumTouchFingers

SDL2.Import

** * Get the number of active fingers for a given touch device. *

SDL_GetNumVideoDisplays

SDL2.Import

** * Returns the number of available video displays. * * SDL_GetDisplayBounds() *

SDL_GetNumVideoDrivers

SDL2.Import

** * Get the number of video drivers compiled into SDL * * SDL_GetVideoDriver() *

SDL_GetPerformanceCounter

SDL2.Import

** * Get the current value of the high resolution counter *

SDL_GetPerformanceFrequency

SDL2.Import

** * Get the count per second of the high resolution counter *

SDL_GetPixelFormatName

SDL2.Import

** * Get the human readable name of a pixel format *

SDL_GetPlatform

SDL2.Import

** * Gets the name of the platform. *

SDL_GetPowerInfo

SDL2.Import

** * Get the current power supply details. * * secs Seconds of battery life left. You can pass a NULL here if * you don't care. Will return -1 if we can't determine a * value, or we're not running on a battery. * * pct Percentage of battery life left, between 0 and 100. You can * pass a NULL here if you don't care. Will return -1 if we * can't determine a value, or we're not running on a battery. * * The state of the battery (if any). *

SDL_GetRelativeMouseMode

SDL2.Import

** * Query whether relative mouse mode is enabled. * * SDL_SetRelativeMouseMode() *

SDL_GetRelativeMouseState

SDL2.Import

** * Retrieve the relative state of the mouse. * * The current button state is returned as a button bitmask, which can * be tested using the SDL_BUTTON(X) macros, and x and y are set to the * mouse deltas since the last call to SDL_GetRelativeMouseState(). *

SDL_GetRenderDrawBlendMode

SDL2.Import

** * Get the blend mode used for drawing operations. * * renderer The renderer from which blend mode should be queried. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 on error * * SDL_SetRenderDrawBlendMode() *

SDL_GetRenderDrawColor

SDL2.Import

** * Get the color used for drawing operations (Rect, Line and Clear). * * renderer The renderer from which drawing color should be queried. * r A pointer to the red value used to draw on the rendering target. * g A pointer to the green value used to draw on the rendering target. * b A pointer to the blue value used to draw on the rendering target. * a A pointer to the alpha value used to draw on the rendering target, * usually SDL_ALPHA_OPAQUE (255). * * 0 on success, or -1 on error *

SDL_GetRenderDriverInfo

SDL2.Import

** * Get information about a specific 2D rendering driver for the current * display. * * index The index of the driver to query information about. * info A pointer to an SDL_RendererInfo struct to be filled with * information on the rendering driver. * * 0 on success, -1 if the index was out of range. * * SDL_CreateRenderer() *

SDL_GetRenderer

SDL2.Import

** * Get the renderer associated with a window. *

SDL_GetRendererInfo

SDL2.Import

** * Get information about a rendering context. *

SDL_GetRendererOutputSize

SDL2.Import

** * Get the output size of a rendering context. *

SDL_GetRenderTarget

SDL2.Import

** * Get the current render target or NULL for the default render target. * * The current render target * * SDL_SetRenderTarget() *

SDL_GetRevision

SDL2.Import

** * Get the code revision of SDL that is linked against your program. * * Returns an arbitrary string (a hash value) uniquely identifying the * exact revision of the SDL library in use, and is only useful in comparing * against other revisions. It is NOT an incrementing number. *

SDL_GetRevisionNumber

SDL2.Import

** * Get the revision number of SDL that is linked against your program. * * Returns a number uniquely identifying the exact revision of the SDL * library in use. It is an incrementing number based on commits to * hg.libsdl.org. *

SDL_GetRGB

SDL2.Import

** * Get the RGB components from a pixel of the specified format. * * SDL_GetRGBA *

SDL_GetRGBA

SDL2.Import

** * Get the RGBA components from a pixel of the specified format. * * SDL_GetRGB *

SDL_GetScancodeFromKey

SDL2.Import

** * Get the scancode corresponding to the given key code according to the * current keyboard layout. * * See SDL_Scancode for details. * * SDL_GetScancodeName() *

SDL_GetScancodeFromName

SDL2.Import

** * Get a scancode from a human-readable name * * scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized * * SDL_Scancode *

SDL_GetScancodeName

SDL2.Import

** * Get a human-readable name for a scancode. * * A pointer to the name for the scancode. * * If the scancode doesn't have a name, this function returns * an empty string (""). * *

SDL_GetShapedWindowMode

SDL2.Import

** * Get the shape parameters of a shaped window. * * window The shaped window whose parameters should be retrieved. * shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape. * * 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode * data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if * the SDL_Window* given is a shapeable window currently lacking a shape. * * SDL_WindowShapeMode * SDL_SetWindowShape *

SDL_GetSurfaceAlphaMod

SDL2.Import

** * Get the additional alpha value used in blit operations. * * surface The surface to query. * alpha A pointer filled in with the current alpha value. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceAlphaMod() *

SDL_GetSurfaceBlendMode

SDL2.Import

** * Get the blend mode used for blit operations. * * surface The surface to query. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceBlendMode() *

SDL_GetSurfaceColorMod

SDL2.Import

** * Get the additional color value used in blit operations. * * surface The surface to query. * r A pointer filled in with the current red color value. * g A pointer filled in with the current green color value. * b A pointer filled in with the current blue color value. * * 0 on success, or -1 if the surface is not valid. * * SDL_SetSurfaceColorMod() *

SDL_GetTextureAlphaMod

SDL2.Import

** * Get the additional alpha value used in render copy operations. * * texture The texture to query. * alpha A pointer filled in with the current alpha value. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureAlphaMod() *

SDL_GetTextureBlendMode

SDL2.Import

** * Get the blend mode used for texture copy operations. * * texture The texture to query. * blendMode A pointer filled in with the current blend mode. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureBlendMode() *

SDL_GetTextureColorMod

SDL2.Import

** * Get the additional color value used in render copy operations. * * texture The texture to query. * r A pointer filled in with the current red color value. * g A pointer filled in with the current green color value. * b A pointer filled in with the current blue color value. * * 0 on success, or -1 if the texture is not valid. * * SDL_SetTextureColorMod() *

SDL_GetThreadID

SDL2.Import

** * Get the thread identifier for the specified thread. * * Equivalent to SDL_ThreadID() if the specified thread is NULL. *

SDL_GetThreadName

SDL2.Import

** * Get the thread name, as it was specified in SDL_CreateThread(). * This function returns a pointer to a UTF-8 string that names the * specified thread, or NULL if it doesn't have a name. This is internal * memory, not to be free()'d by the caller, and remains valid until the * specified thread is cleaned up by SDL_WaitThread(). *

SDL_GetTicks

SDL2.Import

** * Get the number of milliseconds since the SDL library initialization. * * This value wraps if the program runs for more than ˜49 days. *

SDL_GetTouchDevice

SDL2.Import

** * Get the touch ID with the given index, or 0 if the index is invalid. *

SDL_GetTouchFinger

SDL2.Import

** * Get the finger object of the given touch, with the given index. *

SDL_GetVersion

SDL2.Import

** * Get the version of SDL that is linked against your program. * * If you are linking to SDL dynamically, then it is possible that the * current version will be different than the version you compiled against. * This function returns the current version, while SDL_VERSION() is a * macro that tells you what version you compiled with. * * * compiled: TSDL_Version; * linked: TSDL_Version; * * SDL_VERSION(@compiled); * SDL_GetVersion(@linked); * WriteLn('We compiled against SDL version: ' + * IntToStr(compiled.major) + * IntToStr(compiled.minor) + * IntToStr(compiled.patch)); * WriteLn('But we linked against SDL version:' + * IntToStr(compiled.major) + * IntToStr(compiled.minor) + * IntToStr(compiled.patch)); * * * This function may be called safely at any time, even before SDL_Init(). * * SDL_VERSION *

SDL_GetVideoDriver

SDL2.Import

** * Get the name of a built in video driver. * * The video drivers are presented in the order in which they are * normally checked during initialization. * * SDL_GetNumVideoDrivers() *

SDL_GetWindowBrightness

SDL2.Import

** * Get the brightness (gamma correction) for a window. * * The last brightness value passed to SDL_SetWindowBrightness() * * SDL_SetWindowBrightness() *

SDL_GetWindowData

SDL2.Import

** * Retrieve the data pointer associated with a window. * * window The window to query. * name The name of the pointer. * * The value associated with 'name' * * SDL_SetWindowData() *

SDL_GetWindowDisplayIndex

SDL2.Import

** * Get the display index associated with a window. * * the display index of the display containing the center of the * window, or -1 on error. *

SDL_GetWindowDisplayMode

SDL2.Import

** * Fill in information about the display mode used when a fullscreen * window is visible. * * SDL_SetWindowDisplayMode() * SDL_SetWindowFullscreen() *

SDL_GetWindowFlags

SDL2.Import

** * Get the window flags. *

SDL_GetWindowFromID

SDL2.Import

** * Get a window from a stored ID, or nil if it doesn't exist. *

SDL_GetWindowGammaRamp

SDL2.Import

** * Get the gamma ramp for a window. * * red A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the red channel, or nil. * green A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the green channel, or nil. * blue A pointer to a 256 element array of 16-bit quantities to hold * the translation table for the blue channel, or nil. * * 0 on success, or -1 if gamma ramps are unsupported. * * SDL_SetWindowGammaRamp() *

SDL_GetWindowGrab

SDL2.Import

** * Get a window's input grab mode. * * This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise. * * SDL_SetWindowGrab() *

SDL_GetWindowID

SDL2.Import

** * Get the numeric ID of a window, for logging purposes. *

SDL_GetWindowMaximumSize

SDL2.Import

** * Get the maximum size of a window's client area. * * w Pointer to variable for storing the maximum width, may be nil * h Pointer to variable for storing the maximum height, may be nil * * SDL_GetWindowMinimumSize() * SDL_SetWindowMaximumSize() *

SDL_GetWindowMinimumSize

SDL2.Import

** * Get the minimum size of a window's client area. * * w Pointer to variable for storing the minimum width, may be nil * h Pointer to variable for storing the minimum height, may be nil * * SDL_GetWindowMaximumSize() * SDL_SetWindowMinimumSize() *

SDL_GetWindowPixelFormat

SDL2.Import

** * Get the pixel format associated with the window. *

SDL_GetWindowPosition

SDL2.Import

** * Get the position of a window. * * x Pointer to variable for storing the x position, may be nil * y Pointer to variable for storing the y position, may be nil * * SDL_SetWindowPosition() *

SDL_GetWindowSize

SDL2.Import

** * Get the size of a window's client area. * * w Pointer to variable for storing the width, may be nil * h Pointer to variable for storing the height, may be nil * * SDL_SetWindowSize() *

SDL_GetWindowSurface

SDL2.Import

** * Get the SDL surface associated with the window. * * The window's framebuffer surface, or nil on error. * * A new surface will be created with the optimal format for the window, * if necessary. This surface will be freed when the window is destroyed. * * You may not combine this with 3D or the rendering API on this window. * * SDL_UpdateWindowSurface() * SDL_UpdateWindowSurfaceRects() *

SDL_GetWindowTitle

SDL2.Import

** * Get the title of a window, in UTF-8 format. * * SDL_SetWindowTitle() *

SDL_GL_ACCELERATED_VISUAL

SDL2.Import

SDL_GL_ACCUM_ALPHA_SIZE

SDL2.Import

SDL_GL_ACCUM_BLUE_SIZE

SDL2.Import

SDL_GL_ACCUM_GREEN_SIZE

SDL2.Import

SDL_GL_ACCUM_RED_SIZE

SDL2.Import

SDL_GL_ALPHA_SIZE

SDL2.Import

SDL_GL_BindTexture

SDL2.Import

** * Bind the texture to the current OpenGL/ES/ES2 context for use with * OpenGL instructions. * * texture The SDL texture to bind * texw A pointer to a float that will be filled with the texture width * texh A pointer to a float that will be filled with the texture height * * 0 on success, or -1 if the operation is not supported *

SDL_GL_BLUE_SIZE

SDL2.Import

SDL_GL_BUFFER_SIZE

SDL2.Import

SDL_GL_CONTEXT_DEBUG_FLAG

SDL2.Import

SDL_GL_CONTEXT_EGL

SDL2.Import

SDL_GL_CONTEXT_FLAGS

SDL2.Import

SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG

SDL2.Import

SDL_GL_CONTEXT_MAJOR_VERSION

SDL2.Import

SDL_GL_CONTEXT_MINOR_VERSION

SDL2.Import

SDL_GL_CONTEXT_PROFILE_COMPATIBILITY

SDL2.Import

SDL_GL_CONTEXT_PROFILE_CORE

SDL2.Import

SDL_GL_CONTEXT_PROFILE_ES

SDL2.Import

SDL_GL_CONTEXT_PROFILE_MASK

SDL2.Import

SDL_GL_CONTEXT_RESET_ISOLATION_FLAG

SDL2.Import

SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG

SDL2.Import

SDL_GL_CreateContext

SDL2.Import

** * Create an OpenGL context for use with an OpenGL window, and make it * current. * * SDL_GL_DeleteContext() *

SDL_GL_DeleteContext

SDL2.Import

** * Delete an OpenGL context. * * SDL_GL_CreateContext() *

SDL_GL_DEPTH_SIZE

SDL2.Import

SDL_GL_DOUBLEBUFFER

SDL2.Import

SDL_GL_ExtensionSupported

SDL2.Import

** * Return true if an OpenGL extension is supported for the current * context. *

SDL_GL_GetAttribute

SDL2.Import

** * Get the actual value for an attribute from the current context. *

SDL_GL_GetCurrentContext

SDL2.Import

** * Get the currently active OpenGL context. *

SDL_GL_GetCurrentWindow

SDL2.Import

** * Get the currently active OpenGL window. *

SDL_GL_GetProcAddress

SDL2.Import

** * Get the address of an OpenGL function. *

SDL_GL_GetSwapInterval

SDL2.Import

** * Get the swap interval for the current OpenGL context. * * 0 if there is no vertical retrace synchronization, 1 if the buffer * swap is synchronized with the vertical retrace, and -1 if late * swaps happen immediately instead of waiting for the next retrace. * If the system can't determine the swap interval, or there isn't a * valid current context, this will return 0 as a safe default. * * SDL_GL_SetSwapInterval() *

SDL_GL_GREEN_SIZE

SDL2.Import

SDL_GL_LoadLibrary

SDL2.Import

** * Dynamically load an OpenGL library. * * path The platform dependent OpenGL library name, or nil to open the * default OpenGL library. * * 0 on success, or -1 if the library couldn't be loaded. * * This should be done after initializing the video driver, but before * creating any OpenGL windows. If no OpenGL library is loaded, the default * library will be loaded upon creation of the first OpenGL window. * * If you do this, you need to retrieve all of the GL functions used in * your program from the dynamic library using SDL_GL_GetProcAddress(). * * SDL_GL_GetProcAddress() * SDL_GL_UnloadLibrary() *

SDL_GL_MakeCurrent

SDL2.Import

** * Set up an OpenGL context for rendering into an OpenGL window. * * The context must have been created with a compatible window. *

SDL_GL_MULTISAMPLEBUFFERS

SDL2.Import

SDL_GL_MULTISAMPLESAMPLES

SDL2.Import

SDL_GL_RED_SIZE

SDL2.Import

** * OpenGL configuration attributes *

SDL_GL_RETAINED_BACKING

SDL2.Import

SDL_GL_SetAttribute

SDL2.Import

** * Set an OpenGL window attribute before window creation. *

SDL_GL_SetSwapInterval

SDL2.Import

** * Set the swap interval for the current OpenGL context. * * interval 0 for immediate updates, 1 for updates synchronized with the * vertical retrace. If the system supports it, you may * specify -1 to allow late swaps to happen immediately * instead of waiting for the next retrace. * * 0 on success, or -1 if setting the swap interval is not supported. * * SDL_GL_GetSwapInterval() *

SDL_GL_SHARE_WITH_CURRENT_CONTEXT

SDL2.Import

SDL_GL_STENCIL_SIZE

SDL2.Import

SDL_GL_STEREO

SDL2.Import

SDL_GL_SwapWindow

SDL2.Import

** * Swap the OpenGL buffers for a window, if double-buffering is * supported. *

SDL_GL_UnbindTexture

SDL2.Import

** * Unbind a texture from the current OpenGL/ES/ES2 context. * * texture The SDL texture to unbind * * 0 on success, or -1 if the operation is not supported *

SDL_GL_UnloadLibrary

SDL2.Import

** * Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary(). * * SDL_GL_LoadLibrary() *

SDL_HapticClose

SDL2.Import

** * Closes a Haptic device previously opened with SDL_HapticOpen(). * * haptic Haptic device to close. *

SDL_HapticDestroyEffect

SDL2.Import

** * Destroys a haptic effect on the device. * * This will stop the effect if it's running. Effects are automatically * destroyed when the device is closed. * * haptic Device to destroy the effect on. * effect Identifier of the effect to destroy. * * SDL_HapticNewEffect *

SDL_HapticEffectSupported

SDL2.Import

** * Checks to see if effect is supported by haptic. * * haptic Haptic device to check on. * effect Effect to check to see if it is supported. * SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. * * SDL_HapticQuery * SDL_HapticNewEffect *

SDL_HapticGetEffectStatus

SDL2.Import

** * Gets the status of the current effect on the haptic device. * * Device must support the ::SDL_HAPTIC_STATUS feature. * * haptic Haptic device to query the effect status on. * effect Identifier of the effect to query its status. * 0 if it isn't playing, 1 if it is playing or -1 on error. * * SDL_HapticRunEffect * SDL_HapticStopEffect *

SDL_HapticIndex

SDL2.Import

** * Gets the index of a haptic device. * * haptic Haptic device to get the index of. * The index of the haptic device or -1 on error. * * SDL_HapticOpen * SDL_HapticOpened *

SDL_HapticName

SDL2.Import

** * Get the implementation dependent name of a Haptic device. * * This can be called before any joysticks are opened. * If no name can be found, this function returns NULL. * * device_index Index of the device to get its name. * Name of the device or NULL on error. * * SDL_NumHaptics *

SDL_HapticNewEffect

SDL2.Import

** * Creates a new haptic effect on the device. * * haptic Haptic device to create the effect on. * effect Properties of the effect to create. * The id of the effect on success or -1 on error. * * SDL_HapticUpdateEffect * SDL_HapticRunEffect * SDL_HapticDestroyEffect *

SDL_HapticNumAxes

SDL2.Import

** * Gets the number of haptic axes the device has. * * SDL_HapticDirection *

SDL_HapticNumEffects

SDL2.Import

** * Returns the number of effects a haptic device can store. * * On some platforms this isn't fully supported, and therefore is an * approximation. Always check to see if your created effect was actually * created and do not rely solely on SDL_HapticNumEffects(). * * haptic The haptic device to query effect max. * The number of effects the haptic device can store or * -1 on error. * * SDL_HapticNumEffectsPlaying * SDL_HapticQuery *

SDL_HapticNumEffectsPlaying

SDL2.Import

** * Returns the number of effects a haptic device can play at the same * time. * * This is not supported on all platforms, but will always return a value. * Added here for the sake of completeness. * * haptic The haptic device to query maximum playing effects. * The number of effects the haptic device can play at the same time * or -1 on error. * * SDL_HapticNumEffects * SDL_HapticQuery *

SDL_HapticOpen

SDL2.Import

** * Opens a Haptic device for usage. * * The index passed as an argument refers to the N'th Haptic device on this * system. * * When opening a haptic device, its gain will be set to maximum and * autocenter will be disabled. To modify these values use * SDL_HapticSetGain() and SDL_HapticSetAutocenter(). * * device_index Index of the device to open. * Device identifier or NULL on error. * * SDL_HapticIndex * SDL_HapticOpenFromMouse * SDL_HapticOpenFromJoystick * SDL_HapticClose * SDL_HapticSetGain * SDL_HapticSetAutocenter * SDL_HapticPause * SDL_HapticStopAll *

SDL_HapticOpened

SDL2.Import

** * Checks if the haptic device at index has been opened. * * device_index Index to check to see if it has been opened. * 1 if it has been opened or 0 if it hasn't. * * SDL_HapticOpen * SDL_HapticIndex *

SDL_HapticOpenFromJoystick

SDL2.Import

** * Opens a Haptic device for usage from a Joystick device. * * You must still close the haptic device seperately. It will not be closed * with the joystick. * * When opening from a joystick you should first close the haptic device before * closing the joystick device. If not, on some implementations the haptic * device will also get unallocated and you'll be unable to use force feedback * on that device. * * joystick Joystick to create a haptic device from. * A valid haptic device identifier on success or NULL on error. * * SDL_HapticOpen * SDL_HapticClose *

SDL_HapticOpenFromMouse

SDL2.Import

** * Tries to open a haptic device from the current mouse. * * The haptic device identifier or NULL on error. * * SDL_MouseIsHaptic * SDL_HapticOpen *

SDL_HapticPause

SDL2.Import

** * Pauses a haptic device. * * Device must support the SDL_HAPTIC_PAUSE feature. Call * SDL_HapticUnpause() to resume playback. * * Do not modify the effects nor add new ones while the device is paused. * That can cause all sorts of weird errors. * * haptic Haptic device to pause. * 0 on success or -1 on error. * * SDL_HapticUnpause *

SDL_HapticQuery

SDL2.Import

** * Gets the haptic devices supported features in bitwise matter. * * Example: * * if (SDL_HapticQueryEffects(haptic) & SDL_HAPTIC_CONSTANT) * printf("We have constant haptic effect!"); * * * * haptic The haptic device to query. * Haptic features in bitwise manner (OR'd). * * SDL_HapticNumEffects * SDL_HapticEffectSupported *

SDL_HapticRumbleInit

SDL2.Import

** * Initializes the haptic device for simple rumble playback. * * haptic Haptic device to initialize for simple rumble playback. * 0 on success or -1 on error. * * SDL_HapticOpen * SDL_HapticRumbleSupported * SDL_HapticRumblePlay * SDL_HapticRumbleStop *

SDL_HapticRumblePlay

SDL2.Import

** * Runs simple rumble on a haptic device * * haptic Haptic device to play rumble effect on. * strength Strength of the rumble to play as a 0-1 float value. * length Length of the rumble to play in milliseconds. * 0 on success or -1 on error. * * SDL_HapticRumbleSupported * SDL_HapticRumbleInit * SDL_HapticRumbleStop *

SDL_HapticRumbleStop

SDL2.Import

** * Stops the simple rumble on a haptic device. * * haptic Haptic to stop the rumble on. * 0 on success or -1 on error. * * SDL_HapticRumbleSupported * SDL_HapticRumbleInit * SDL_HapticRumblePlay *

SDL_HapticRumbleSupported

SDL2.Import

** * Checks to see if rumble is supported on a haptic device.. * * haptic Haptic device to check to see if it supports rumble. * SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error. * * SDL_HapticRumbleInit * SDL_HapticRumblePlay * SDL_HapticRumbleStop *

SDL_HapticRunEffect

SDL2.Import

** * Runs the haptic effect on its associated haptic device. * * If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over * repeating the envelope (attack and fade) every time. If you only want the * effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length * parameter. * * haptic Haptic device to run the effect on. * effect Identifier of the haptic effect to run. * iterations Number of iterations to run the effect. Use * SDL_HAPTIC_INFINITY for infinity. * 0 on success or -1 on error. * * SDL_HapticStopEffect * SDL_HapticDestroyEffect * SDL_HapticGetEffectStatus *

SDL_HapticSetAutocenter

SDL2.Import

** * Sets the global autocenter of the device. * * Autocenter should be between 0 and 100. Setting it to 0 will disable * autocentering. * * Device must support the ::SDL_HAPTIC_AUTOCENTER feature. * * haptic Haptic device to set autocentering on. * autocenter Value to set autocenter to, 0 disables autocentering. * 0 on success or -1 on error. * * SDL_HapticQuery *

SDL_HapticSetGain

SDL2.Import

** * Sets the global gain of the device. * * Device must support the SDL_HAPTIC_GAIN feature. * * The user may specify the maximum gain by setting the environment variable * SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to * SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the * maximum. * * haptic Haptic device to set the gain on. * gain Value to set the gain to, should be between 0 and 100. * 0 on success or -1 on error. * * SDL_HapticQuery *

SDL_HapticStopAll

SDL2.Import

** * Stops all the currently playing effects on a haptic device. * * haptic Haptic device to stop. * 0 on success or -1 on error. *

SDL_HapticStopEffect

SDL2.Import

** * Stops the haptic effect on its associated haptic device. * * haptic Haptic device to stop the effect on. * effect Identifier of the effect to stop. * 0 on success or -1 on error. * * SDL_HapticRunEffect * SDL_HapticDestroyEffect *

SDL_HapticUnpause

SDL2.Import

** * Unpauses a haptic device. * * Call to unpause after SDL_HapticPause(). * * haptic Haptic device to pause. * 0 on success or -1 on error. * * SDL_HapticPause *

SDL_HapticUpdateEffect

SDL2.Import

** * Updates the properties of an effect. * * Can be used dynamically, although behaviour when dynamically changing * direction may be strange. Specifically the effect may reupload itself * and start playing from the start. You cannot change the type either when * running SDL_HapticUpdateEffect(). * * haptic Haptic device that has the effect. * effect Effect to update. * data New effect properties to use. * The id of the effect on success or -1 on error. * * SDL_HapticNewEffect * SDL_HapticRunEffect * SDL_HapticDestroyEffect *

SDL_HAPTIC_AUTOCENTER

SDL2.Import

** * Device can set autocenter. * * Device supports setting autocenter. * * SDL_HapticSetAutocenter *

SDL_HAPTIC_CARTESIAN

SDL2.Import

** * Uses cartesian coordinates for the direction. * * SDL_HapticDirection *

SDL_HAPTIC_CONSTANT

SDL2.Import

** * Constant effect supported. * * Constant haptic effect. * * SDL_HapticCondition *

SDL_HAPTIC_CUSTOM

SDL2.Import

** * Custom effect is supported. * * User defined custom haptic effect. *

SDL_HAPTIC_DAMPER

SDL2.Import

** * Damper effect supported - uses axes velocity. * * Condition haptic effect that simulates dampening. Effect is based on the * axes velocity. * * SDL_HapticCondition *

SDL_HAPTIC_FRICTION

SDL2.Import

** * Friction effect supported - uses axes movement. * * Condition haptic effect that simulates friction. Effect is based on the * axes movement. * * SDL_HapticCondition *

SDL_HAPTIC_GAIN

SDL2.Import

** * Device can set global gain. * * Device supports setting the global gain. * * SDL_HapticSetGain *

SDL_HAPTIC_INERTIA

SDL2.Import

** * Inertia effect supported - uses axes acceleration. * * Condition haptic effect that simulates inertia. Effect is based on the axes * acceleration. * * SDL_HapticCondition *

SDL_HAPTIC_INFINITY

SDL2.Import

SDL_HAPTIC_INFINITY = 4294967295U;

SDL_HAPTIC_PAUSE

SDL2.Import

** * Device can be paused. * * SDL_HapticPause * SDL_HapticUnpause *

SDL_HAPTIC_POLAR

SDL2.Import

** * Uses polar coordinates for the direction. * * SDL_HapticDirection *

SDL_HAPTIC_RAMP

SDL2.Import

** * Ramp effect supported. * * Ramp haptic effect. * * SDL_HapticRamp *

SDL_HAPTIC_SAWTOOTHDOWN

SDL2.Import

** * Sawtoothdown wave effect supported. * * Periodic haptic effect that simulates saw tooth down waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_SAWTOOTHUP

SDL2.Import

** * Sawtoothup wave effect supported. * * Periodic haptic effect that simulates saw tooth up waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_SINE

SDL2.Import

** * Sine wave effect supported. * * Periodic haptic effect that simulates sine waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_SPHERICAL

SDL2.Import

** * Uses spherical coordinates for the direction. * * SDL_HapticDirection *

SDL_HAPTIC_SPRING

SDL2.Import

** * Spring effect supported - uses axes position. * * Condition haptic effect that simulates a spring. Effect is based on the * axes position. * * SDL_HapticCondition *

SDL_HAPTIC_SQUARE

SDL2.Import

** * Square wave effect supported. * * Periodic haptic effect that simulates square waves. * * SDL_HapticPeriodic *

SDL_HAPTIC_STATUS

SDL2.Import

** * Device can be queried for effect status. * * Device can be queried for effect status. * * SDL_HapticGetEffectStatus *

SDL_HAPTIC_TRIANGLE

SDL2.Import

** * Triangle wave effect supported. * * Periodic haptic effect that simulates triangular waves. * * SDL_HapticPeriodic *

SDL_HasEvent

SDL2.Import

** * Checks to see if certain event types are in the event queue. *

SDL_HasEvents

SDL2.Import

SDL_HasIntersection

SDL2.Import

** * Determine whether two rectangles intersect. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *

SDL_HasScreenKeyboardSupport

SDL2.Import

** * Returns whether the platform has some screen keyboard support. * * SDL_TRUE if some keyboard support is available else SDL_FALSE. * * Not all screen keyboard functions are supported on all platforms. * * SDL_IsScreenKeyboardShown() *

SDL_HAT_CENTERED

SDL2.Import

** * Hat positions *

SDL_HAT_DOWN

SDL2.Import

SDL_HAT_LEFT

SDL2.Import

SDL_HAT_LEFTDOWN

SDL2.Import

SDL_HAT_LEFTUP

SDL2.Import

SDL_HAT_RIGHT

SDL2.Import

SDL_HAT_RIGHTDOWN

SDL2.Import

SDL_HAT_RIGHTUP

SDL2.Import

SDL_HAT_UP

SDL2.Import

SDL_HideWindow

SDL2.Import

** * Hide a window. * * SDL_ShowWindow() *

SDL_HintPriority

SDL2.Import

/** * \brief An enumeration of hint priorities */

SDL_HINT_ALLOW_TOPMOST

SDL2.Import

/** * \brief If set to 0 then never set the top most bit on a SDL Window, even if the video mode expects it. * This is a debugging aid for developers and not expected to be used by end users. The default is "1" * * This variable can be set to the following values: * "0" - don't allow topmost * "1" - allow topmost */

SDL_HINT_FRAMEBUFFER_ACCELERATION

SDL2.Import

* * \brief A variable controlling how 3D acceleration is used to accelerate the SDL screen surface. * * SDL can try to accelerate the SDL screen surface by using streaming * textures with a 3D rendering engine. This variable controls whether and * how this is done. * * This variable can be set to the following values: * "0" - Disable 3D acceleration * "1" - Enable 3D acceleration, using the default renderer. * "X" - Enable 3D acceleration, using X where X is one of the valid rendering drivers. (e.g. "direct3d", "opengl", etc.) * * By default SDL tries to make a best guess for each platform whether * to use acceleration or not.

SDL_HINT_GAMECONTROLLERCONFIG

SDL2.Import

/** * \brief A variable that lets you manually hint extra gamecontroller db entries * * The variable should be newline delimited rows of gamecontroller config data, see SDL_gamecontroller.h * * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) * You can update mappings after the system is initialized with SDL_GameControllerMappingForGUID() and SDL_GameControllerAddMapping() */

SDL_HINT_GRAB_KEYBOARD

SDL2.Import

/** * \brief A variable controlling whether grabbing input grabs the keyboard * * This variable can be set to the following values: * "0" - Grab will affect only the mouse * "1" - Grab will affect mouse and keyboard * * By default SDL will not grab the keyboard so system shortcuts still work. */

SDL_HINT_IDLE_TIMER_DISABLED

SDL2.Import

/** * \brief A variable controlling whether the idle timer is disabled on iOS. * * When an iOS app does not receive touches for some time, the screen is * dimmed automatically. For games where the accelerometer is the only input * this is problematic. This functionality can be disabled by setting this * hint. * * This variable can be set to the following values: * "0" - Enable idle timer * "1" - Disable idle timer */

SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS

SDL2.Import

/** * \brief A variable that lets you enable joystick (and gamecontroller) events even when your app is in the background. * * The variable can be set to the following values: * "0" - Disable joystick & gamecontroller input events when the * application is in the background. * "1" - Enable joystick & gamecontroller input events when the * application is in the backgroumd. * * The default value is "0". This hint may be set at any time. */

SDL_HINT_ORIENTATIONS

SDL2.Import

/** * \brief A variable controlling which orientations are allowed on iOS. * * In some circumstances it is necessary to be able to explicitly control * which UI orientations are allowed. * * This variable is a space delimited list of the following values: * "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown" */

SDL_HINT_RENDER_DIRECT3D_THREADSAFE

SDL2.Import

/** * \brief A hint that specifies whether the Direct3D device is initialized for thread-safe operations. * * By default the Direct3D device is created with thread-safety disabled. * * This variable can be set to the following values: * "0" - disable thread-safety (faster) * "1" - enable thread-safety (slower) */

SDL_HINT_RENDER_DRIVER

SDL2.Import

/** * \brief A variable specifying which render driver to use. * * If the application doesn't pick a specific renderer to use, this variable * specifies the name of the preferred renderer. If the preferred renderer * can't be initialized, the normal default renderer is used. * * This variable is case insensitive and can be set to the following values: * "direct3d" * "opengl" * "opengles2" * "opengles" * "software" * * The default varies by platform, but it's the first one in the list that * is available on the current platform. */

SDL_HINT_RENDER_OPENGL_SHADERS

SDL2.Import

/** * \brief A variable controlling whether the OpenGL render driver uses shaders if they are available. * * This variable can be set to the following values: * "0" - Disable shaders * "1" - Enable shaders * * By default shaders are used if OpenGL supports them. */

SDL_HINT_RENDER_SCALE_QUALITY

SDL2.Import

/** * \brief A variable controlling the scaling quality * * This variable can be set to the following values: * "0" or "nearest" - Nearest pixel sampling * "1" or "linear" - Linear filtering (supported by OpenGL and Direct3D) * "2" or "best" - Currently this is the same as "linear" * * By default nearest pixel sampling is used */

SDL_HINT_RENDER_VSYNC

SDL2.Import

/** * \brief A variable controlling whether updates to the SDL screen surface should be synchronized with the vertical refresh, to avoid tearing. * * This variable can be set to the following values: * "0" - Disable vsync * "1" - Enable vsync * * By default SDL does not sync screen surface updates with vertical refresh. */

SDL_HINT_TIMER_RESOLUTION

SDL2.Import

/** * \brief A variable that controls the timer resolution, in milliseconds. * * The higher resolution the timer, the more frequently the CPU services * timer interrupts, and the more precise delays are, but this takes up * power and CPU time. This hint is only used on Windows 7 and earlier. * * See this blog post for more information: * http://randomascii.wordpress.com/2013/07/08/windows-timer-resolution-megawatts-wasted/ * * If this variable is set to "0", the system timer resolution is not set. * * The default value is "1". This hint may be set at any time. */

SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS

SDL2.Import

/** * \brief Minimize your SDL_Window if it loses key focus when in Fullscreen mode. Defaults to true. * */

SDL_HINT_VIDEO_X11_XINERAMA

SDL2.Import

/** * \brief A variable controlling whether the X11 Xinerama extension should be used. * * This variable can be set to the following values: * "0" - Disable Xinerama * "1" - Enable Xinerama * * By default SDL will use Xinerama if it is available. */

SDL_HINT_VIDEO_X11_XRANDR

SDL2.Import

/** * \brief A variable controlling whether the X11 XRandR extension should be used. * * This variable can be set to the following values: * "0" - Disable XRandR * "1" - Enable XRandR * * By default SDL will not use XRandR because of window manager issues. */

SDL_HINT_VIDEO_X11_XVIDMODE

SDL2.Import

/** * \brief A variable controlling whether the X11 VidMode extension should be used. * * This variable can be set to the following values: * "0" - Disable XVidMode * "1" - Enable XVidMode * * By default SDL will use XVidMode if it is available. */

SDL_HINT_XINPUT_ENABLED

SDL2.Import

/** * \brief A variable that lets you disable the detection and use of Xinput gamepad devices * * The variable can be set to the following values: * "0" - Disable XInput timer (only uses direct input) * "1" - Enable XInput timer (the default) */

SDL_IGNORE

SDL2.Import

SDL_ImageLibName

SDL2.Image

SDL_IMAGE_MAJOR_VERSION

SDL2.Image

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_IMAGE_MINOR_VERSION

SDL2.Image

SDL_IMAGE_PATCHLEVEL

SDL2.Image

SDL_IMAGE_VERSION

SDL2.Image

* This macro can be used to fill a version structure with the compile-time * version of the SDL_image library. *

SDL_Init

SDL2.Import

** * This function initializes the subsystems specified by flags * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup * signal handlers for some commonly ignored fatal signals (like SIGSEGV). *

SDL_InitSubSystem

SDL2.Import

** * This function initializes specific SDL subsystems *

SDL_INIT_AUDIO

SDL2.Import

SDL_INIT_EVERYTHING

SDL2.Import

Don't catch fatal signals

SDL_INIT_GAMECONTROLLER

SDL2.Import

SDL_INIT_HAPTIC

SDL2.Import

SDL_INIT_JOYSTICK

SDL2.Import

SDL_INIT_NOPARACHUTE

SDL2.Import

turn on game controller also implicitly does JOYSTICK

SDL_INIT_TIMER

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

SDL_INIT_VIDEO

SDL2.Import

SDL_IntersectRect

SDL2.Import

** * Calculate the intersection of two rectangles. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *

SDL_IntersectRectAndLine

SDL2.Import

** * Calculate the intersection of a rectangle and line segment. * * SDL_TRUE if there is an intersection, SDL_FALSE otherwise. *

SDL_INVALID_SHAPE_ARGUMENT

SDL2.Import

SDL_IsGameController

SDL2.Import

** * Is the joystick on this index supported by the game controller interface? *

SDL_IsScreenKeyboardShown

SDL2.Import

** * Returns whether the screen keyboard is shown for given window. * * window The window for which screen keyboard should be queried. * * Result - SDL_TRUE if screen keyboard is shown else SDL_FALSE. * * SDL_HasScreenKeyboardSupport() *

SDL_IsScreenSaverEnabled

SDL2.Import

** * Returns whether the screensaver is currently enabled (default on). * * SDL_EnableScreenSaver() * SDL_DisableScreenSaver() *

SDL_IsShapedWindow

SDL2.Import

** * Return whether the given window is a shaped window. * * window The window to query for being shaped. * * SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL. * SDL_CreateShapedWindow *

SDL_IsTextInputActive

SDL2.Import

** * Return whether or not Unicode text input events are enabled. * * SDL_StartTextInput() * SDL_StopTextInput() *

SDL_JOYAXISMOTION

SDL2.Import

Joystick events

SDL_JOYBALLMOTION

SDL2.Import

Joystick axis motion

SDL_JOYBUTTONDOWN

SDL2.Import

Joystick hat position change

SDL_JOYBUTTONUP

SDL2.Import

Joystick button pressed

SDL_JOYDEVICEADDED

SDL2.Import

Joystick button released

SDL_JOYDEVICEREMOVED

SDL2.Import

A new joystick has been inserted into the system

SDL_JOYHATMOTION

SDL2.Import

Joystick trackball motion

SDL_JoystickClose

SDL2.Import

** * Close a joystick previously opened with SDL_JoystickOpen(). *

SDL_JoystickEventState

SDL2.Import

** * Enable/disable joystick event polling. * * If joystick events are disabled, you must call SDL_JoystickUpdate() * yourself and check the state of the joystick when you want joystick * information. * * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. *

SDL_JoystickGetAttached

SDL2.Import

** * Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. *

SDL_JoystickGetAxis

SDL2.Import

** * Get the current state of an axis control on a joystick. * * The state is a value ranging from -32768 to 32767. * * The axis indices start at index 0. *

SDL_JoystickGetBall

SDL2.Import

** * Get the ball axis change since the last poll. * * 0, or -1 if you passed it invalid parameters. * * The ball indices start at index 0. *

SDL_JoystickGetButton

SDL2.Import

** * Get the current state of a button on a joystick. * * The button indices start at index 0. *

SDL_JoystickGetDeviceGUID

SDL2.Import

** * Return the GUID for the joystick at this index *

SDL_JoystickGetGUID

SDL2.Import

** * Return the GUID for this opened joystick *

SDL_JoystickGetGUIDFromString

SDL2.Import

** * convert a string into a joystick formatted guid *

SDL_JoystickGetGUIDString

SDL2.Import

** * Return a string representation for this guid. pszGUID must point to at least 33 bytes * (32 for the string plus a NULL terminator). *

SDL_JoystickGetHat

SDL2.Import

** * Get the current state of a POV hat on a joystick. * * The hat indices start at index 0. * * The return value is one of the following positions: * - SDL_HAT_CENTERED * - SDL_HAT_UP * - SDL_HAT_RIGHT * - SDL_HAT_DOWN * - SDL_HAT_LEFT * - SDL_HAT_RIGHTUP * - SDL_HAT_RIGHTDOWN * - SDL_HAT_LEFTUP * - SDL_HAT_LEFTDOWN *

SDL_JoystickInstanceID

SDL2.Import

** * Get the instance ID of an opened joystick or -1 if the joystick is invalid. *

SDL_JoystickIsHaptic

SDL2.Import

** * Checks to see if a joystick has haptic features. * * joystick Joystick to test for haptic capabilities. * 1 if the joystick is haptic, 0 if it isn't * or -1 if an error ocurred. * * SDL_HapticOpenFromJoystick *

SDL_JoystickName

SDL2.Import

** * Return the name for this currently opened joystick. * If no name can be found, this function returns NULL. *

SDL_JoystickNameForIndex

SDL2.Import

** * Get the implementation dependent name of a joystick. * This can be called before any joysticks are opened. * If no name can be found, this function returns NULL. *

SDL_JoystickNumAxes

SDL2.Import

** * Get the number of general axis controls on a joystick. *

SDL_JoystickNumBalls

SDL2.Import

** * Get the number of trackballs on a joystick. * * Joystick trackballs have only relative motion events associated * with them and their state cannot be polled. *

SDL_JoystickNumButtons

SDL2.Import

** * Get the number of buttons on a joystick. *

SDL_JoystickNumHats

SDL2.Import

** * Get the number of POV hats on a joystick. *

SDL_JoystickOpen

SDL2.Import

** * Open a joystick for use. * The index passed as an argument refers tothe N'th joystick on the system. * This index is the value which will identify this joystick in future joystick * events. * * A joystick identifier, or NULL if an error occurred. *

SDL_JoystickUpdate

SDL2.Import

** * Update the current state of the open joysticks. * * This is called automatically by the event loop if any joystick * events are enabled. *

SDL_KEYDOWN

SDL2.Import

Keyboard events

SDL_KEYUP

SDL2.Import

Key pressed

SDL_LASTEVENT

SDL2.Import

** * This last event is only for bounding internal arrays (needed in pascal ??) *

SDL_LibName

SDL2.Import

SDL_LIL_ENDIAN

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_byteorder.h //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// SDL_byteorder.h constants The two types of endianness

SDL_LoadBMP

SDL2.Import

** * Load a surface from a file. * * Convenience macro. *

SDL_LoadBMP_RW

SDL2.Import

** * Load a surface from a seekable SDL data stream (memory or file). * * If freesrc is non-zero, the stream will be closed after being read. * * The new surface should be freed with SDL_FreeSurface(). * * the new surface, or NULL if there was an error. *

SDL_LoadDollarTemplates

SDL2.Import

** * Load Dollar Gesture templates from a file * * *

SDL_LoadFunction

SDL2.Import

** * Given an object handle, this function looks up the address of the * named function in the shared object and returns it. This address * is no longer valid after calling SDL_UnloadObject(). *

SDL_LoadObject

SDL2.Import

** * This function dynamically loads a shared object and returns a pointer * to the object handle (or NULL if there was an error). * The 'sofile' parameter is a system dependent name of the object file. *

SDL_LoadWAV

SDL2.Import

** * Loads a WAV from a file. * Compatibility convenience function. *

SDL_LoadWAV_RW

SDL2.Import

** * This function loads a WAVE from the data source, automatically freeing * that source if freesrc is non-zero. For example, to load a WAVE file, * you could do: * * SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); * * * If this function succeeds, it returns the given SDL_AudioSpec, * filled with the audio data format of the wave data, and sets * *audio_buf to a malloc()'d buffer containing the audio data, * and sets *audio_len to the length of that audio buffer, in bytes. * You need to free the audio buffer with SDL_FreeWAV() when you are * done with it. * * This function returns NULL and sets the SDL error message if the * wave file cannot be opened, uses an unknown data format, or is * corrupt. Currently raw and MS-ADPCM WAVE files are supported. *

SDL_LockAudio

SDL2.Import

** * Audio lock functions * * The lock manipulated by these functions protects the callback function. * During a SDL_LockAudio()/SDL_UnlockAudio() pair, you can be guaranteed that * the callback function is not running. Do not call these from the callback * function or you will cause deadlock. *

SDL_LockAudioDevice

SDL2.Import

SDL_LockMutex

SDL2.Import

#define SDL_mutexP(m) SDL_LockMutex(m)

SDL_LockSurface

SDL2.Import

** * Sets up a surface for directly accessing the pixels. * * Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write * to and read from surface.pixels, using the pixel format stored in * surface.format. Once you are done accessing the surface, you should * use SDL_UnlockSurface() to release it. * * Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates * to 0, then you can read and write to the surface at any time, and the * pixel format of the surface will not change. * * No operating system or library calls should be made between lock/unlock * pairs, as critical system locks may be held during this time. * * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. * * SDL_UnlockSurface() *

SDL_LockTexture

SDL2.Import

** * Lock a portion of the texture for write-only pixel access. * * texture The texture to lock for access, which was created with * SDL_TEXTUREACCESS_STREAMING. * rect A pointer to the rectangle to lock for access. If the rect * is NULL, the entire texture will be locked. * pixels This is filled in with a pointer to the locked pixels, * appropriately offset by the locked area. * pitch This is filled in with the pitch of the locked pixels. * * 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING. * * SDL_UnlockTexture() *

SDL_LowerBlit

SDL2.Import

** * This is a semi-private blit function and it performs low-level surface * blitting only. *

SDL_LowerBlitScaled

SDL2.Import

** * This is a semi-private blit function and it performs low-level surface * scaled blitting only. *

SDL_MAJOR_VERSION

SDL2.Import

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_MapRGB

SDL2.Import

** * Maps an RGB triple to an opaque pixel value for a given pixel format. * * SDL_MapRGBA *

SDL_MapRGBA

SDL2.Import

** * Maps an RGBA quadruple to a pixel value for a given pixel format. * * SDL_MapRGB *

SDL_MasksToPixelFormatEnum

SDL2.Import

** * Convert a bpp and RGBA masks to an enumerated pixel format. * * The pixel format, or SDL_PIXELFORMAT_UNKNOWN if the conversion * wasn't possible. * * SDL_PixelFormatEnumToMasks() *

SDL_MaximizeWindow

SDL2.Import

** * Make a window as large as possible. * * SDL_RestoreWindow() *

SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT

SDL2.Import

**< Marks the default button when return is hit *

SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT

SDL2.Import

** * Flags for SDL_MessageBoxButtonData. *

SDL_MESSAGEBOX_ERROR

SDL2.Import

** * SDL_MessageBox flags. If supported will display warning icon, etc. *

SDL_MESSAGEBOX_INFORMATION

SDL2.Import

**< warning dialog *

SDL_MESSAGEBOX_WARNING

SDL2.Import

**< error dialog *

SDL_MinimizeWindow

SDL2.Import

** * Minimize a window to an iconic representation. * * SDL_RestoreWindow() *

SDL_MINOR_VERSION

SDL2.Import

SDL_MixAudio

SDL2.Import

** * This takes two audio buffers of the playing audio format and mixes * them, performing addition, volume adjustment, and overflow clipping. * The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME * for full audio volume. Note this does not change hardware volume. * This is provided for convenience – you can mix your own audio data. *

SDL_MixAudioFormat

SDL2.Import

** * This works like SDL_MixAudio(), but you specify the audio format instead of * using the format of audio device 1. Thus it can be used when no audio * device is open at all. *

SDL_MixerLibName

SDL2.Mixer

SDL_MIXER_MAJOR_VERSION

SDL2.Mixer

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_MIXER_MINOR_VERSION

SDL2.Mixer

SDL_MIXER_PATCHLEVEL

SDL2.Mixer

SDL_MIXER_VERSION

SDL2.Mixer

* This macro can be used to fill a version structure with the compile-time * version of the SDL_mixer library. *

SDL_MIX_MAXVOLUME

SDL2.Import

SDL_MOUSEBUTTONDOWN

SDL2.Import

Mouse moved

SDL_MOUSEBUTTONUP

SDL2.Import

Mouse button pressed

SDL_MouseIsHaptic

SDL2.Import

** * Gets whether or not the current mouse has haptic capabilities. * * SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't. * * SDL_HapticOpenFromMouse *

SDL_MOUSEMOTION

SDL2.Import

Mouse events

SDL_MOUSEWHEEL

SDL2.Import

Mouse button released

SDL_MULTIGESTURE

SDL2.Import

SDL_MUTEX_TIMEDOUT

SDL2.Import

** * Synchronization functions which can time out return this value * if they time out. *

SDL_NetLibName

SDL2.Net

SDL_NET_MAJOR_VERSION

SDL2.Net

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_NET_MINOR_VERSION

SDL2.Net

SDL_NET_PATCHLEVEL

SDL2.Net

SDL_NET_VERSION

SDL2.Net

This macro can be used to fill a version structure with the compile-time version of the SDL_net library.

SDL_NONSHAPEABLE_WINDOW

SDL2.Import

** SDL_shape.h * * Header file for the shaped window API. *

SDL_NumHaptics

SDL2.Import

** * Count the number of haptic devices attached to the system. * * Number of haptic devices detected on the system. *

SDL_NumJoysticks

SDL2.Import

** * Count the number of joysticks attached to the system right now *

SDL_NUM_SCANCODES

SDL2.Import

* Add any other keys here. *

SDL_NUM_SYSTEM_CURSORS

SDL2.Import

Hand

SDL_OpenAudio

SDL2.Import

** * This function opens the audio device with the desired parameters, and * returns 0 if successful, placing the actual hardware parameters in the * structure pointed to by obtained. If obtained is NULL, the audio * data passed to the callback function will be guaranteed to be in the * requested format, and will be automatically converted to the hardware * audio format if necessary. This function returns -1 if it failed * to open the audio device, or couldn't set up the audio thread. * * When filling in the desired audio spec structure, * - desired->freq should be the desired audio frequency in samples-per- * second. * - desired->format should be the desired audio format. * - desired->samples is the desired size of the audio buffer, in * samples. This number should be a power of two, and may be adjusted by * the audio driver to a value more suitable for the hardware. Good values * seem to range between 512 and 8096 inclusive, depending on the * application and CPU speed. Smaller values yield faster response time, * but can lead to underflow if the application is doing heavy processing * and cannot fill the audio buffer in time. A stereo sample consists of * both right and left channels in LR ordering. * Note that the number of samples is directly related to time by the * following formula: ms := (samples*1000)/freq; * - desired->size is the size in bytes of the audio buffer, and is * calculated by SDL_OpenAudio(). * - desired->silence is the value used to set the buffer to silence, * and is calculated by SDL_OpenAudio(). * - desired->callback should be set to a function that will be called * when the audio device is ready for more data. It is passed a pointer * to the audio buffer, and the length in bytes of the audio buffer. * This function usually runs in a separate thread, and so you should * protect data structures that it accesses by calling SDL_LockAudio() * and SDL_UnlockAudio() in your code. * - desired->userdata is passed as the first parameter to your callback * function. * * The audio device starts out playing silence when it's opened, and should * be enabled for playing by calling SDL_PauseAudio(0) when you are ready * for your audio callback function to be called. Since the audio driver * may modify the requested size of the audio buffer, you should allocate * any local mixing buffers after you open the audio device. *

SDL_OpenAudioDevice

SDL2.Import

** * Open a specific audio device. Passing in a device name of NULL requests * the most reasonable default (and is equivalent to calling SDL_OpenAudio()). * * The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but * some drivers allow arbitrary and driver-specific strings, such as a * hostname/IP address for a remote audio server, or a filename in the * diskaudio driver. * * 0 on error, a valid device ID that is >= 2 on success. * * SDL_OpenAudio(), unlike this function, always acts on device ID 1. *

SDL_PACKEDLAYOUT_1010102

SDL2.Import

SDL_PACKEDLAYOUT_1555

SDL2.Import

SDL_PACKEDLAYOUT_2101010

SDL2.Import

SDL_PACKEDLAYOUT_332

SDL2.Import

SDL_PACKEDLAYOUT_4444

SDL2.Import

SDL_PACKEDLAYOUT_5551

SDL2.Import

SDL_PACKEDLAYOUT_565

SDL2.Import

SDL_PACKEDLAYOUT_8888

SDL2.Import

SDL_PACKEDLAYOUT_NONE

SDL2.Import

** Packed component layout. *

SDL_PACKEDORDER_ABGR

SDL2.Import

SDL_PACKEDORDER_ARGB

SDL2.Import

SDL_PACKEDORDER_BGRA

SDL2.Import

SDL_PACKEDORDER_BGRX

SDL2.Import

SDL_PACKEDORDER_NONE

SDL2.Import

** Packed component order, high bit -> low bit. *

SDL_PACKEDORDER_RGBA

SDL2.Import

SDL_PACKEDORDER_RGBX

SDL2.Import

SDL_PACKEDORDER_XBGR

SDL2.Import

SDL_PACKEDORDER_XRGB

SDL2.Import

SDL_PATCHLEVEL

SDL2.Import

SDL_PauseAudio

SDL2.Import

** * Pause audio functions * * These functions pause and unpause the audio callback processing. * They should be called with a parameter of 0 after opening the audio * device to start playing sound. This is so you can safely initialize * data for your callback function after opening the audio device. * Silence will be written to the audio device during the pause. *

SDL_PauseAudioDevice

SDL2.Import

SDL_PEEKEVENT

SDL2.Import

SDL_PeepEvents

SDL2.Import

** * Checks the event queue for messages and optionally returns them. * * If action is SDL_ADDEVENT, up to numevents events will be added to * the back of the event queue. * * If action is SDL_PEEKEVENT, up to numevents events at the front * of the event queue, within the specified minimum and maximum type, * will be returned and will not be removed from the queue. * * If action is SDL_GETEVENT, up to numevents events at the front * of the event queue, within the specified minimum and maximum type, * will be returned and will be removed from the queue. * * Result: The number of events actually stored, or -1 if there was an error. * * This function is thread-safe. *

SDL_PIXELFLAG

SDL2.Import

//todo!! function SDL_DEFINE_PIXELFORMAT(type, order, layour, bit, bytes: UInt32): Result;
function SDL_DEFINE_PIXELFOURCC(A,B,C,D: Variant): Variant;
#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \ ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \ ((bits) << 8) | ((bytes) << 0))

SDL_PixelFormatEnumToMasks

SDL2.Import

** * Convert one of the enumerated pixel formats to a bpp and RGBA masks. * * SDL_TRUE, or SDL_FALSE if the conversion wasn't possible. * * SDL_MasksToPixelFormatEnum() *

SDL_PIXELFORMAT_ABGR1555

SDL2.Import

SDL_PIXELFORMAT_ABGR4444

SDL2.Import

SDL_PIXELFORMAT_ABGR8888

SDL2.Import

SDL_PIXELFORMAT_ARGB1555

SDL2.Import

SDL_PIXELFORMAT_ARGB2101010

SDL2.Import

SDL_PIXELFORMAT_ARGB4444

SDL2.Import

SDL_PIXELFORMAT_ARGB8888

SDL2.Import

SDL_PIXELFORMAT_BGR24

SDL2.Import

SDL_PIXELFORMAT_BGR555

SDL2.Import

SDL_PIXELFORMAT_BGR565

SDL2.Import

SDL_PIXELFORMAT_BGR888

SDL2.Import

SDL_PIXELFORMAT_BGRA4444

SDL2.Import

SDL_PIXELFORMAT_BGRA5551

SDL2.Import

SDL_PIXELFORMAT_BGRA8888

SDL2.Import

SDL_PIXELFORMAT_BGRX8888

SDL2.Import

SDL_PIXELFORMAT_INDEX1LSB

SDL2.Import

SDL_PIXELFORMAT_INDEX1MSB

SDL2.Import

SDL_PIXELFORMAT_INDEX4LSB

SDL2.Import

SDL_PIXELFORMAT_INDEX4MSB

SDL2.Import

SDL_PIXELFORMAT_INDEX8

SDL2.Import

SDL_PIXELFORMAT_IYUV

SDL2.Import

**< Planar mode: Y + U + V (3 planes) *

SDL_PIXELFORMAT_RGB24

SDL2.Import

SDL_PIXELFORMAT_RGB332

SDL2.Import

SDL_PIXELFORMAT_RGB444

SDL2.Import

SDL_PIXELFORMAT_RGB555

SDL2.Import

SDL_PIXELFORMAT_RGB565

SDL2.Import

SDL_PIXELFORMAT_RGB888

SDL2.Import

SDL_PIXELFORMAT_RGBA4444

SDL2.Import

SDL_PIXELFORMAT_RGBA5551

SDL2.Import

SDL_PIXELFORMAT_RGBA8888

SDL2.Import

SDL_PIXELFORMAT_RGBX8888

SDL2.Import

SDL_PIXELFORMAT_UNKNOWN

SDL2.Import

#define SDL_BYTESPERPIXEL(X) \ (SDL_ISPIXELFORMAT_FOURCC(X) ? \ ((((X) == SDL_PIXELFORMAT_YUY2) || \ ((X) == SDL_PIXELFORMAT_UYVY) || \ ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))
#define SDL_ISPIXELFORMAT_INDEXED(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))
#define SDL_ISPIXELFORMAT_ALPHA(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA)))
function SDL_IsPixelFormat_FOURCC(format: Variant);
{* Note: If you modify this list, update SDL_GetPixelFormatName() *

SDL_PIXELFORMAT_UYVY

SDL2.Import

**< Packed mode: U0+Y0+V0+Y1 (1 plane) *

SDL_PIXELFORMAT_YUY2

SDL2.Import

**< Packed mode: Y0+U0+Y1+V0 (1 plane) *

SDL_PIXELFORMAT_YV12

SDL2.Import

**< Planar mode: Y + V + U (3 planes) *

SDL_PIXELFORMAT_YVYU

SDL2.Import

**< Packed mode: Y0+V0+Y1+U0 (1 plane) *

SDL_PIXELLAYOUT

SDL2.Import

SDL_PIXELORDER

SDL2.Import

SDL_PIXELTYPE

SDL2.Import

SDL_PIXELTYPE_ARRAYF16

SDL2.Import

SDL_PIXELTYPE_ARRAYF32

SDL2.Import

SDL_PIXELTYPE_ARRAYU16

SDL2.Import

SDL_PIXELTYPE_ARRAYU32

SDL2.Import

SDL_PIXELTYPE_ARRAYU8

SDL2.Import

SDL_PIXELTYPE_INDEX1

SDL2.Import

SDL_PIXELTYPE_INDEX4

SDL2.Import

SDL_PIXELTYPE_INDEX8

SDL2.Import

SDL_PIXELTYPE_PACKED16

SDL2.Import

SDL_PIXELTYPE_PACKED32

SDL2.Import

SDL_PIXELTYPE_PACKED8

SDL2.Import

SDL_PIXELTYPE_UNKNOWN

SDL2.Import

** Pixel type. *

SDL_PollEvent

SDL2.Import

** * Polls for currently pending events. * * 1 if there are any pending events, or 0 if there are none available. * * event - If not nil, the next event is removed from the queue and * stored in that area. *

SDL_PREALLOC

SDL2.Import

**< Just here for compatibility *

SDL_PumpEvents

SDL2.Import

** * Pumps the event loop, gathering events from the input devices. * * This function updates the event queue and internal input device state. * * This should only be run in the thread that sets the video mode. *

SDL_PushEvent

SDL2.Import

** * Add an event to the event queue. * * 1 on success, 0 if the event was filtered, or -1 if the event queue * was full or there was some other error. *

SDL_putenv

GLS.SDLWindow

function SDL_putenv(const variable: PAnsiChar): integer; cdecl; external LibName;

SDL_QUERY

SDL2.Import

SDL_QueryTexture

SDL2.Import

** * Query the attributes of a texture * * texture A texture to be queried. * format A pointer filled in with the raw format of the texture. The * actual format may differ, but pixel transfers will use this * format. * access A pointer filled in with the actual access to the texture. * w A pointer filled in with the width of the texture in pixels. * h A pointer filled in with the height of the texture in pixels. * * 0 on success, or -1 if the texture is not valid. *

SDL_Quit

SDL2.Import

** * This function cleans up all initialized subsystems. You should * call it upon all exit conditions. *

SDL_QUITEV

SDL2.Import

Application events

SDL_QuitSubSystem

SDL2.Import

** * This function cleans up specific SDL subsystems *

SDL_RaiseWindow

SDL2.Import

** * Raise a window above other windows and set the input focus. *

SDL_ReadBE16

SDL2.Import

SDL_ReadBE32

SDL2.Import

SDL_ReadBE64

SDL2.Import

SDL_ReadLE16

SDL2.Import

SDL_ReadLE32

SDL2.Import

SDL_ReadLE64

SDL2.Import

SDL_ReadU8

SDL2.Import

** * Read endian functions * * Read an item of the specified endianness and return in native format. *

SDL_RecordGesture

SDL2.Import

** * Begin Recording a gesture on the specified touch, or all touches (-1) * * *

SDL_RectEmpty

SDL2.Import

changed from variant(b?????h!) to TSDL_Rect maybe PSDL_Rect?

SDL_RectEquals

SDL2.Import

** * Returns true if the two rectangles are equal. *

SDL_RegisterEvents

SDL2.Import

** * This function allocates a set of user-defined events, and returns * the beginning event number for that set of events. * * If there aren't enough user-defined events left, this function * returns (Uint32)-1 *

SDL_RemoveTimer

SDL2.Import

** * Remove a timer knowing its ID. * * A boolean value indicating success or failure. * * It is not safe to remove a timer multiple times. *

SDL_RenderClear

SDL2.Import

** * Clear the current rendering target with the drawing color * * This function clears the entire rendering target, ignoring the viewport. * * 0 on success, or -1 on error *

SDL_RenderCopy

SDL2.Import

** * Copy a portion of the texture to the current rendering target. * * renderer The renderer which should copy parts of a texture. * texture The source texture. * srcrect A pointer to the source rectangle, or NULL for the entire * texture. * dstrect A pointer to the destination rectangle, or NULL for the * entire rendering target. * * 0 on success, or -1 on error *

SDL_RenderCopyEx

SDL2.Import

** * Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center * * renderer The renderer which should copy parts of a texture. * texture The source texture. * srcrect A pointer to the source rectangle, or NULL for the entire * texture. * dstrect A pointer to the destination rectangle, or NULL for the * entire rendering target. * angle An angle in degrees that indicates the rotation that will be applied to dstrect * center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done aroud dstrect.w/2, dstrect.h/2) * flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture * * 0 on success, or -1 on error *

SDL_RenderDrawLine

SDL2.Import

** * Draw a line on the current rendering target. * * renderer The renderer which should draw a line. * x1 The x coordinate of the start point. * y1 The y coordinate of the start point. * x2 The x coordinate of the end point. * y2 The y coordinate of the end point. * * 0 on success, or -1 on error *

SDL_RenderDrawLines

SDL2.Import

** * \brief Draw a series of connected lines on the current rendering target. * * \param renderer The renderer which should draw multiple lines. * \param points The points along the lines * \param count The number of points, drawing count-1 lines * * \return 0 on success, or -1 on error *

SDL_RenderDrawPoint

SDL2.Import

** * Draw a point on the current rendering target. * * renderer The renderer which should draw a point. * x The x coordinate of the point. * y The y coordinate of the point. * * 0 on success, or -1 on error *

SDL_RenderDrawPoints

SDL2.Import

** * Draw multiple points on the current rendering target. * * renderer The renderer which should draw multiple points. * points The points to draw * count The number of points to draw * * 0 on success, or -1 on error *

SDL_RenderDrawRect

SDL2.Import

** * Draw a rectangle on the current rendering target. * * renderer The renderer which should draw a rectangle. * rect A pointer to the destination rectangle, or NULL to outline the entire rendering target. * * 0 on success, or -1 on error *

SDL_RenderDrawRects

SDL2.Import

** * Draw some number of rectangles on the current rendering target. * * renderer The renderer which should draw multiple rectangles. * rects A pointer to an array of destination rectangles. * count The number of rectangles. * * 0 on success, or -1 on error *

SDL_RENDERER_ACCELERATED

SDL2.Import

**< The renderer is a software fallback *

SDL_RENDERER_PRESENTVSYNC

SDL2.Import

**< The renderer uses hardware acceleration *

SDL_RENDERER_SOFTWARE

SDL2.Import

** * Flags used when creating a rendering context *

SDL_RENDERER_TARGETTEXTURE

SDL2.Import

**< Present is synchronized with the refresh rate *

SDL_RenderFillRect

SDL2.Import

** * Fill a rectangle on the current rendering target with the drawing color. * * renderer The renderer which should fill a rectangle. * rect A pointer to the destination rectangle, or NULL for the entire * rendering target. * * 0 on success, or -1 on error *

SDL_RenderFillRects

SDL2.Import

** * Fill some number of rectangles on the current rendering target with the drawing color. * * renderer The renderer which should fill multiple rectangles. * rects A pointer to an array of destination rectangles. * count The number of rectangles. * * 0 on success, or -1 on error *

SDL_RenderGetClipRect

SDL2.Import

** * Get the clip rectangle for the current target. * * renderer The renderer from which clip rectangle should be queried. * rect A pointer filled in with the current clip rectangle, or * an empty rectangle if clipping is disabled. * * SDL_RenderSetClipRect() *

SDL_RenderGetLogicalSize

SDL2.Import

** * Get device independent resolution for rendering * * renderer The renderer from which resolution should be queried. * w A pointer filled with the width of the logical resolution * h A pointer filled with the height of the logical resolution * * SDL_RenderSetLogicalSize() *

SDL_RenderGetScale

SDL2.Import

** * Get the drawing scale for the current target. * * renderer The renderer from which drawing scale should be queried. * scaleX A pointer filled in with the horizontal scaling factor * scaleY A pointer filled in with the vertical scaling factor * * SDL_RenderSetScale() *

SDL_RenderGetViewport

SDL2.Import

** * Get the drawing area for the current target. * * SDL_RenderSetViewport() *

SDL_RenderPresent

SDL2.Import

** * Update the screen with rendering performed. *

SDL_RenderReadPixels

SDL2.Import

** * Read pixels from the current rendering target. * * renderer The renderer from which pixels should be read. * rect A pointer to the rectangle to read, or NULL for the entire * render target. * format The desired format of the pixel data, or 0 to use the format * of the rendering target * pixels A pointer to be filled in with the pixel data * pitch The pitch of the pixels parameter. * * 0 on success, or -1 if pixel reading is not supported. * * This is a very slow operation, and should not be used frequently. *

SDL_RenderSetClipRect

SDL2.Import

** * Set the clip rectangle for the current target. * * renderer The renderer for which clip rectangle should be set. * rect A pointer to the rectangle to set as the clip rectangle, or * NULL to disable clipping. * * 0 on success, or -1 on error * * SDL_RenderGetClipRect() *

SDL_RenderSetLogicalSize

SDL2.Import

** * Set device independent resolution for rendering * * renderer The renderer for which resolution should be set. * w The width of the logical resolution * h The height of the logical resolution * * This function uses the viewport and scaling functionality to allow a fixed logical * resolution for rendering, regardless of the actual output resolution. If the actual * output resolution doesn't have the same aspect ratio the output rendering will be * centered within the output display. * * If the output display is a window, mouse events in the window will be filtered * and scaled so they seem to arrive within the logical resolution. * * If this function results in scaling or subpixel drawing by the * rendering backend, it will be handled using the appropriate * quality hints. * * SDL_RenderGetLogicalSize() * SDL_RenderSetScale() * SDL_RenderSetViewport() *

SDL_RenderSetScale

SDL2.Import

** * Set the drawing scale for rendering on the current target. * * renderer The renderer for which the drawing scale should be set. * scaleX The horizontal scaling factor * scaleY The vertical scaling factor * * The drawing coordinates are scaled by the x/y scaling factors * before they are used by the renderer. This allows resolution * independent drawing with a single coordinate system. * * If this results in scaling or subpixel drawing by the * rendering backend, it will be handled using the appropriate * quality hints. For best results use integer scaling factors. * * SDL_RenderGetScale() * SDL_RenderSetLogicalSize() *

SDL_RenderSetViewport

SDL2.Import

** * Set the drawing area for rendering on the current target. * * renderer The renderer for which the drawing area should be set. * rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target. * * The x,y of the viewport rect represents the origin for rendering. * * 0 on success, or -1 on error * * If the window associated with the renderer is resized, the viewport is automatically reset. * * SDL_RenderGetViewport() * SDL_RenderSetLogicalSize() *

SDL_RenderTargetSupported

SDL2.Import

** * Determines whether a window supports the use of render targets * * renderer The renderer that will be checked * * SDL_TRUE if supported, SDL_FALSE if not. *

SDL_RestoreWindow

SDL2.Import

** * Restore the size and position of a minimized or maximized window. * * SDL_MaximizeWindow() * SDL_MinimizeWindow() *

SDL_RLEACCEL

SDL2.Import

**< Surface uses preallocated memory *

SDL_RWclose

SDL2.Import

SDL_RWFromConstMem

SDL2.Import

SDL_RWFromFile

SDL2.Import

** * RWFrom functions * * Functions to create SDL_RWops structures from various data streams. *

SDL_RWFromFP

SDL2.Import

SDL_RWFromMem

SDL2.Import

SDL_RWOPS_JNIFILE

SDL2.Import

* Stdio file *

SDL_RWOPS_MEMORY

SDL2.Import

* Android asset *

SDL_RWOPS_MEMORY_RO

SDL2.Import

* Memory stream *

SDL_RWOPS_STDFILE

SDL2.Import

* Win32 file *

SDL_RWOPS_UNKNOWN

SDL2.Import

* RWops Types *

SDL_RWOPS_WINFILE

SDL2.Import

* Unknown stream type *

SDL_RWread

SDL2.Import

SDL_RWseek

SDL2.Import

SDL_RWsize

SDL2.Import

** * Read/write macros * * Macros to easily read and write from an SDL_RWops structure. *

SDL_RWtell

SDL2.Import

SDL_RWwrite

SDL2.Import

SDL_SaveAllDollarTemplates

SDL2.Import

** * Save all currently loaded Dollar Gesture templates * * *

SDL_SaveBMP

SDL2.Import

** * Save a surface to a file. * * Convenience macro. *

SDL_SaveBMP_RW

SDL2.Import

** * Save a surface to a seekable SDL data stream (memory or file). * * If freedst is non-zero, the stream will be closed after being written. * * 0 if successful or -1 if there was an error. *

SDL_SaveDollarTemplate

SDL2.Import

** * Save a currently loaded Dollar Gesture template * * *

SDL_SCANCODE_0

SDL2.Import

SDL_SCANCODE_1

SDL2.Import

SDL_SCANCODE_2

SDL2.Import

SDL_SCANCODE_3

SDL2.Import

SDL_SCANCODE_4

SDL2.Import

SDL_SCANCODE_5

SDL2.Import

SDL_SCANCODE_6

SDL2.Import

SDL_SCANCODE_7

SDL2.Import

SDL_SCANCODE_8

SDL2.Import

SDL_SCANCODE_9

SDL2.Import

SDL_SCANCODE_A

SDL2.Import

** * Usage page $07 * * These values are from usage page $07 (USB keyboard page). *

SDL_SCANCODE_AC_BACK

SDL2.Import

SDL_SCANCODE_AC_BOOKMARKS

SDL2.Import

SDL_SCANCODE_AC_FORWARD

SDL2.Import

SDL_SCANCODE_AC_HOME

SDL2.Import

SDL_SCANCODE_AC_REFRESH

SDL2.Import

SDL_SCANCODE_AC_SEARCH

SDL2.Import

SDL_SCANCODE_AC_STOP

SDL2.Import

SDL_SCANCODE_AGAIN

SDL2.Import

SDL_SCANCODE_ALTERASE

SDL2.Import

**< reserved *

SDL_SCANCODE_APOSTROPHE

SDL2.Import

SDL_SCANCODE_APP1

SDL2.Import

SDL_SCANCODE_APP2

SDL2.Import

SDL_SCANCODE_APPLICATION

SDL2.Import

**< This is the additional key that ISO * keyboards have over ANSI ones; * located between left shift and Y. * Produces GRAVE ACCENT and TILDE in a * US or UK Mac layout; REVERSE SOLIDUS * (backslash) and VERTICAL LINE in a * US or UK Windows layout; and * LESS-THAN SIGN and GREATER-THAN SIGN * in a Swiss German; German; or French * layout. *

SDL_SCANCODE_AUDIOMUTE

SDL2.Import

SDL_SCANCODE_AUDIONEXT

SDL2.Import

** * Usage page $0C * * These values are mapped from usage page $0C (USB consumer page). *

SDL_SCANCODE_AUDIOPLAY

SDL2.Import

SDL_SCANCODE_AUDIOPREV

SDL2.Import

SDL_SCANCODE_AUDIOSTOP

SDL2.Import

SDL_SCANCODE_B

SDL2.Import

SDL_SCANCODE_BACKSLASH

SDL2.Import

SDL_SCANCODE_BACKSPACE

SDL2.Import

SDL_SCANCODE_BRIGHTNESSDOWN

SDL2.Import

** * Walther keys * * These are values that Christian Walther added (for mac keyboard?). *

SDL_SCANCODE_BRIGHTNESSUP

SDL2.Import

SDL_SCANCODE_C

SDL2.Import

SDL_SCANCODE_CALCULATOR

SDL2.Import

SDL_SCANCODE_CANCEL

SDL2.Import

SDL_SCANCODE_CAPSLOCK

SDL2.Import

SDL_SCANCODE_CLEAR

SDL2.Import

SDL_SCANCODE_CLEARAGAIN

SDL2.Import

SDL_SCANCODE_COMMA

SDL2.Import

**< Located in the top left corner (on both ANSI * and ISO keyboards). Produces GRAVE ACCENT and * TILDE in a US Windows layout and in US and UK * Mac layouts on ANSI keyboards; GRAVE ACCENT * and NOT SIGN in a UK Windows layout; SECTION * SIGN and PLUS-MINUS SIGN in US and UK Mac * layouts on ISO keyboards; SECTION SIGN and * DEGREE SIGN in a Swiss German layout (Mac: * only on ISO keyboards); CIRCUMFLEX ACCENT and * DEGREE SIGN in a German layout (Mac: only on * ISO keyboards); SUPERSCRIPT TWO and TILDE in a * French Windows layout; COMMERCIAL AT and * NUMBER SIGN in a French Mac layout on ISO * keyboards; and LESS-THAN SIGN and GREATER-THAN * SIGN in a Swiss German; German; or French Mac * layout on ANSI keyboards. *

SDL_SCANCODE_COMPUTER

SDL2.Import

SDL_SCANCODE_COPY

SDL2.Import

SDL_SCANCODE_CRSEL

SDL2.Import

SDL_SCANCODE_CURRENCYSUBUNIT

SDL2.Import

SDL_SCANCODE_CURRENCYUNIT

SDL2.Import

SDL_SCANCODE_CUT

SDL2.Import

SDL_SCANCODE_D

SDL2.Import

SDL_SCANCODE_DECIMALSEPARATOR

SDL2.Import

SDL_SCANCODE_DELETE

SDL2.Import

SDL_SCANCODE_DISPLAYSWITCH

SDL2.Import

SDL_SCANCODE_DOWN

SDL2.Import

SDL_SCANCODE_E

SDL2.Import

SDL_SCANCODE_EJECT

SDL2.Import

SDL_SCANCODE_END

SDL2.Import

SDL_SCANCODE_EQUALS

SDL2.Import

SDL_SCANCODE_ESCAPE

SDL2.Import

SDL_SCANCODE_EXECUTE

SDL2.Import

SDL_SCANCODE_EXSEL

SDL2.Import

SDL_SCANCODE_F

SDL2.Import

SDL_SCANCODE_F1

SDL2.Import

SDL_SCANCODE_F10

SDL2.Import

SDL_SCANCODE_F11

SDL2.Import

SDL_SCANCODE_F12

SDL2.Import

SDL_SCANCODE_F13

SDL2.Import

SDL_SCANCODE_F14

SDL2.Import

SDL_SCANCODE_F15

SDL2.Import

SDL_SCANCODE_F16

SDL2.Import

SDL_SCANCODE_F17

SDL2.Import

SDL_SCANCODE_F18

SDL2.Import

SDL_SCANCODE_F19

SDL2.Import

SDL_SCANCODE_F2

SDL2.Import

SDL_SCANCODE_F20

SDL2.Import

SDL_SCANCODE_F21

SDL2.Import

SDL_SCANCODE_F22

SDL2.Import

SDL_SCANCODE_F23

SDL2.Import

SDL_SCANCODE_F24

SDL2.Import

SDL_SCANCODE_F3

SDL2.Import

SDL_SCANCODE_F4

SDL2.Import

SDL_SCANCODE_F5

SDL2.Import

SDL_SCANCODE_F6

SDL2.Import

SDL_SCANCODE_F7

SDL2.Import

SDL_SCANCODE_F8

SDL2.Import

SDL_SCANCODE_F9

SDL2.Import

SDL_SCANCODE_FIND

SDL2.Import

SDL_SCANCODE_G

SDL2.Import

SDL_SCANCODE_GRAVE

SDL2.Import

SDL_SCANCODE_H

SDL2.Import

SDL_SCANCODE_HELP

SDL2.Import

SDL_SCANCODE_HOME

SDL2.Import

**< insert on PC; help on some Mac keyboards (but does send code 73; not 117) *

SDL_SCANCODE_I

SDL2.Import

SDL_SCANCODE_INSERT

SDL2.Import

SDL_SCANCODE_INTERNATIONAL1

SDL2.Import

SDL_SCANCODE_INTERNATIONAL2

SDL2.Import

**< used on Asian keyboards; see footnotes in USB doc *

SDL_SCANCODE_INTERNATIONAL3

SDL2.Import

SDL_SCANCODE_INTERNATIONAL4

SDL2.Import

**< Yen *

SDL_SCANCODE_INTERNATIONAL5

SDL2.Import

SDL_SCANCODE_INTERNATIONAL6

SDL2.Import

SDL_SCANCODE_INTERNATIONAL7

SDL2.Import

SDL_SCANCODE_INTERNATIONAL8

SDL2.Import

SDL_SCANCODE_INTERNATIONAL9

SDL2.Import

SDL_SCANCODE_J

SDL2.Import

SDL_SCANCODE_K

SDL2.Import

SDL_SCANCODE_KBDILLUMDOWN

SDL2.Import

SDL_SCANCODE_KBDILLUMTOGGLE

SDL2.Import

**< display mirroring{dual display switch; video mode switch *

SDL_SCANCODE_KBDILLUMUP

SDL2.Import

SDL_SCANCODE_KP_0

SDL2.Import

SDL_SCANCODE_KP_00

SDL2.Import

SDL_SCANCODE_KP_000

SDL2.Import

SDL_SCANCODE_KP_1

SDL2.Import

SDL_SCANCODE_KP_2

SDL2.Import

SDL_SCANCODE_KP_3

SDL2.Import

SDL_SCANCODE_KP_4

SDL2.Import

SDL_SCANCODE_KP_5

SDL2.Import

SDL_SCANCODE_KP_6

SDL2.Import

SDL_SCANCODE_KP_7

SDL2.Import

SDL_SCANCODE_KP_8

SDL2.Import

SDL_SCANCODE_KP_9

SDL2.Import

SDL_SCANCODE_KP_A

SDL2.Import

SDL_SCANCODE_KP_AMPERSAND

SDL2.Import

SDL_SCANCODE_KP_AT

SDL2.Import

SDL_SCANCODE_KP_B

SDL2.Import

SDL_SCANCODE_KP_BACKSPACE

SDL2.Import

SDL_SCANCODE_KP_BINARY

SDL2.Import

SDL_SCANCODE_KP_C

SDL2.Import

SDL_SCANCODE_KP_CLEAR

SDL2.Import

SDL_SCANCODE_KP_CLEARENTRY

SDL2.Import

SDL_SCANCODE_KP_COLON

SDL2.Import

SDL_SCANCODE_KP_COMMA

SDL2.Import

* SDL_SCANCODE_LOCKINGSCROLLLOCK = 132; *

SDL_SCANCODE_KP_D

SDL2.Import

SDL_SCANCODE_KP_DBLAMPERSAND

SDL2.Import

SDL_SCANCODE_KP_DBLVERTICALBAR

SDL2.Import

SDL_SCANCODE_KP_DECIMAL

SDL2.Import

SDL_SCANCODE_KP_DIVIDE

SDL2.Import

**< num lock on PC; clear on Mac keyboards *

SDL_SCANCODE_KP_E

SDL2.Import

SDL_SCANCODE_KP_ENTER

SDL2.Import

SDL_SCANCODE_KP_EQUALS

SDL2.Import

**< The USB document says this is a status flag; * not a physical key - but some Mac keyboards * do have a power key. *

SDL_SCANCODE_KP_EQUALSAS400

SDL2.Import

SDL_SCANCODE_KP_EXCLAM

SDL2.Import

SDL_SCANCODE_KP_F

SDL2.Import

SDL_SCANCODE_KP_GREATER

SDL2.Import

SDL_SCANCODE_KP_HASH

SDL2.Import

SDL_SCANCODE_KP_HEXADECIMAL

SDL2.Import

SDL_SCANCODE_KP_LEFTBRACE

SDL2.Import

SDL_SCANCODE_KP_LEFTPAREN

SDL2.Import

SDL_SCANCODE_KP_LESS

SDL2.Import

SDL_SCANCODE_KP_MEMADD

SDL2.Import

SDL_SCANCODE_KP_MEMCLEAR

SDL2.Import

SDL_SCANCODE_KP_MEMDIVIDE

SDL2.Import

SDL_SCANCODE_KP_MEMMULTIPLY

SDL2.Import

SDL_SCANCODE_KP_MEMRECALL

SDL2.Import

SDL_SCANCODE_KP_MEMSTORE

SDL2.Import

SDL_SCANCODE_KP_MEMSUBTRACT

SDL2.Import

SDL_SCANCODE_KP_MINUS

SDL2.Import

SDL_SCANCODE_KP_MULTIPLY

SDL2.Import

SDL_SCANCODE_KP_OCTAL

SDL2.Import

SDL_SCANCODE_KP_PERCENT

SDL2.Import

SDL_SCANCODE_KP_PERIOD

SDL2.Import

SDL_SCANCODE_KP_PLUS

SDL2.Import

SDL_SCANCODE_KP_PLUSMINUS

SDL2.Import

SDL_SCANCODE_KP_POWER

SDL2.Import

SDL_SCANCODE_KP_RIGHTBRACE

SDL2.Import

SDL_SCANCODE_KP_RIGHTPAREN

SDL2.Import

SDL_SCANCODE_KP_SPACE

SDL2.Import

SDL_SCANCODE_KP_TAB

SDL2.Import

SDL_SCANCODE_KP_VERTICALBAR

SDL2.Import

SDL_SCANCODE_KP_XOR

SDL2.Import

SDL_SCANCODE_L

SDL2.Import

SDL_SCANCODE_LALT

SDL2.Import

SDL_SCANCODE_LANG1

SDL2.Import

SDL_SCANCODE_LANG2

SDL2.Import

**< Hangul{English toggle *

SDL_SCANCODE_LANG3

SDL2.Import

**< Hanja conversion *

SDL_SCANCODE_LANG4

SDL2.Import

**< Katakana *

SDL_SCANCODE_LANG5

SDL2.Import

**< Hiragana *

SDL_SCANCODE_LANG6

SDL2.Import

**< Zenkaku{Hankaku *

SDL_SCANCODE_LANG7

SDL2.Import

**< reserved *

SDL_SCANCODE_LANG8

SDL2.Import

**< reserved *

SDL_SCANCODE_LANG9

SDL2.Import

**< reserved *

SDL_SCANCODE_LCTRL

SDL2.Import

SDL_SCANCODE_LEFT

SDL2.Import

SDL_SCANCODE_LEFTBRACKET

SDL2.Import

SDL_SCANCODE_LGUI

SDL2.Import

**< alt; option *

SDL_SCANCODE_LSHIFT

SDL2.Import

SDL_SCANCODE_M

SDL2.Import

SDL_SCANCODE_MAIL

SDL2.Import

SDL_SCANCODE_MEDIASELECT

SDL2.Import

SDL_SCANCODE_MENU

SDL2.Import

SDL_SCANCODE_MINUS

SDL2.Import

SDL_SCANCODE_MODE

SDL2.Import

**< windows; command (apple); meta *

SDL_SCANCODE_MUTE

SDL2.Import

SDL_SCANCODE_N

SDL2.Import

SDL_SCANCODE_NONUSBACKSLASH

SDL2.Import

SDL_SCANCODE_NONUSHASH

SDL2.Import

**< Located at the lower left of the return * key on ISO keyboards and at the right end * of the QWERTY row on ANSI keyboards. * Produces REVERSE SOLIDUS (backslash) and * VERTICAL LINE in a US layout; REVERSE * SOLIDUS and VERTICAL LINE in a UK Mac * layout; NUMBER SIGN and TILDE in a UK * Windows layout; DOLLAR SIGN and POUND SIGN * in a Swiss German layout; NUMBER SIGN and * APOSTROPHE in a German layout; GRAVE * ACCENT and POUND SIGN in a French Mac * layout; and ASTERISK and MICRO SIGN in a * French Windows layout. *

SDL_SCANCODE_NUMLOCKCLEAR

SDL2.Import

SDL_SCANCODE_O

SDL2.Import

SDL_SCANCODE_OPER

SDL2.Import

SDL_SCANCODE_OUT

SDL2.Import

SDL_SCANCODE_P

SDL2.Import

SDL_SCANCODE_PAGEDOWN

SDL2.Import

SDL_SCANCODE_PAGEUP

SDL2.Import

SDL_SCANCODE_PASTE

SDL2.Import

SDL_SCANCODE_PAUSE

SDL2.Import

SDL_SCANCODE_PERIOD

SDL2.Import

SDL_SCANCODE_POWER

SDL2.Import

**< windows contextual menu; compose *

SDL_SCANCODE_PRINTSCREEN

SDL2.Import

SDL_SCANCODE_PRIOR

SDL2.Import

SDL_SCANCODE_Q

SDL2.Import

SDL_SCANCODE_R

SDL2.Import

SDL_SCANCODE_RALT

SDL2.Import

SDL_SCANCODE_RCTRL

SDL2.Import

**< windows; command (apple); meta *

SDL_SCANCODE_RETURN

SDL2.Import

SDL_SCANCODE_RETURN2

SDL2.Import

SDL_SCANCODE_RGUI

SDL2.Import

**< alt gr; option *

SDL_SCANCODE_RIGHT

SDL2.Import

SDL_SCANCODE_RIGHTBRACKET

SDL2.Import

SDL_SCANCODE_RSHIFT

SDL2.Import

SDL_SCANCODE_S

SDL2.Import

SDL_SCANCODE_SCROLLLOCK

SDL2.Import

SDL_SCANCODE_SELECT

SDL2.Import

SDL_SCANCODE_SEMICOLON

SDL2.Import

**< ISO USB keyboards actually use this code * instead of 49 for the same key; but all * OSes I've seen treat the two codes * identically. So; as an implementor; unless * your keyboard generates both of those * codes and your OS treats them differently; * you should generate SDL_SCANCODE_BACKSLASH * instead of this code. As a user; you * should not rely on this code because SDL * will never generate it with most (all?) * keyboards. *

SDL_SCANCODE_SEPARATOR

SDL2.Import

SDL_SCANCODE_SLASH

SDL2.Import

SDL_SCANCODE_SLEEP

SDL2.Import

SDL_SCANCODE_SPACE

SDL2.Import

SDL_SCANCODE_STOP

SDL2.Import

SDL_SCANCODE_SYSREQ

SDL2.Import

**< Erase-Eaze *

SDL_SCANCODE_T

SDL2.Import

SDL_SCANCODE_TAB

SDL2.Import

SDL_SCANCODE_THOUSANDSSEPARATOR

SDL2.Import

SDL_SCANCODE_U

SDL2.Import

SDL_SCANCODE_UNDO

SDL2.Import

**< redo *

SDL_SCANCODE_UNKNOWN

SDL2.Import

** * The SDL keyboard scancode representation. * * Values of this type are used to represent keyboard keys, among other places * in the SDL_Keysym.scancode key.keysym.scancode \endlink field of the * SDL_Event structure. * * The values in this enumeration are based on the USB usage page standard: * http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf *

SDL_SCANCODE_UP

SDL2.Import

SDL_SCANCODE_V

SDL2.Import

SDL_SCANCODE_VOLUMEDOWN

SDL2.Import

SDL_SCANCODE_VOLUMEUP

SDL2.Import

SDL_SCANCODE_W

SDL2.Import

SDL_SCANCODE_WWW

SDL2.Import

SDL_SCANCODE_X

SDL2.Import

SDL_SCANCODE_Y

SDL2.Import

SDL_SCANCODE_Z

SDL2.Import

SDL_SemPost

SDL2.Import

** * Atomically increases the semaphore's count (not blocking). * * 0, or -1 on error. *

SDL_SemTryWait

SDL2.Import

** * Non-blocking variant of SDL_SemWait(). * * 0 if the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait would * block, and -1 on error. *

SDL_SemValue

SDL2.Import

** * Returns the current count of the semaphore. *

SDL_SemWait

SDL2.Import

** * This function suspends the calling thread until the semaphore pointed * to by sem has a positive count. It then atomically decreases the * semaphore count. *

SDL_SemWaitTimeout

SDL2.Import

** * Variant of SDL_SemWait() with a timeout in milliseconds. * * 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not * succeed in the allotted time, and -1 on error. * * On some platforms this function is implemented by looping with a * delay of 1 ms, and so should be avoided if possible. *

SDL_SetClipRect

SDL2.Import

** * Sets the clipping rectangle for the destination surface in a blit. * * If the clip rectangle is NULL, clipping will be disabled. * * If the clip rectangle doesn't intersect the surface, the function will * return SDL_FALSE and blits will be completely clipped. Otherwise the * function returns SDL_TRUE and blits to the surface will be clipped to * the intersection of the surface area and the clipping rectangle. * * Note that blits are automatically clipped to the edges of the source * and destination surfaces. *

SDL_SetColorKey

SDL2.Import

** * Sets the color key (transparent pixel) in a blittable surface. * * surface The surface to update * flag Non-zero to enable colorkey and 0 to disable colorkey * key The transparent pixel in the native surface format * * 0 on success, or -1 if the surface is not valid * * You can pass SDL_RLEACCEL to enable RLE accelerated blits. *

SDL_SetCursor

SDL2.Import

** * Set the active cursor. *

SDL_SetError

SDL2.Import

* SDL_SetError() unconditionally returns -1. *

SDL_SetEventFilter

SDL2.Import

** * Sets up a filter to process all events before they change internal state and * are posted to the internal event queue. * * If the filter returns 1, then the event will be added to the internal queue. * If it returns 0, then the event will be dropped from the queue, but the * internal state will still be updated. This allows selective filtering of * dynamically arriving events. * * Be very careful of what you do in the event filter function, as * it may run in a different thread! * * There is one caveat when dealing with the SDL_QUITEVENT event type. The * event filter is only called when the window manager desires to close the * application window. If the event filter returns 1, then the window will * be closed, otherwise the window will remain open if possible. * * If the quit event is generated by an interrupt signal, it will bypass the * internal queue and be delivered to the application at the next event poll. *

SDL_SetHint

SDL2.Import

/** * \brief Set a hint with normal priority * * \return SDL_TRUE if the hint was set, SDL_FALSE otherwise */

SDL_SetHintWithPriority

SDL2.Import

/** * \brief Set a hint with a specific priority * * The priority controls the behavior when setting a hint that already * has a value. Hints will replace existing hints of their priority and * lower. Environment variables are considered to have override priority. * * \return SDL_TRUE if the hint was set, SDL_FALSE otherwise */

SDL_SetModState

SDL2.Import

** * Set the current key modifier state for the keyboard. * * This does not change the keyboard state, only the key modifier flags. *

SDL_SetPaletteColors

SDL2.Import

** * Set a range of colors in a palette. * * palette The palette to modify. * colors An array of colors to copy into the palette. * firstcolor The index of the first palette entry to modify. * ncolors The number of entries to modify. * * 0 on success, or -1 if not all of the colors could be set. *

SDL_SetPixelFormatPalette

SDL2.Import

** * Set the palette for a pixel format structure. *

SDL_SetRelativeMouseMode

SDL2.Import

** * Set relative mouse mode. * * enabled Whether or not to enable relative mode * * 0 on success, or -1 if relative mode is not supported. * * While the mouse is in relative mode, the cursor is hidden, and the * driver will try to report continuous motion in the current window. * Only relative motion events will be delivered, the mouse position * will not change. * * This function will flush any pending mouse motion. * * SDL_GetRelativeMouseMode() *

SDL_SetRenderDrawBlendMode

SDL2.Import

** * Set the blend mode used for drawing operations (Fill and Line). * * renderer The renderer for which blend mode should be set. * blendMode SDL_BlendMode to use for blending. * * 0 on success, or -1 on error * * If the blend mode is not supported, the closest supported mode is * chosen. * * SDL_GetRenderDrawBlendMode() *

SDL_SetRenderDrawColor

SDL2.Import

** * Set the color used for drawing operations (Rect, Line and Clear). * * renderer The renderer for which drawing color should be set. * r The red value used to draw on the rendering target. * g The green value used to draw on the rendering target. * b The blue value used to draw on the rendering target. * a The alpha value used to draw on the rendering target, usually * SDL_ALPHA_OPAQUE (255). * * 0 on success, or -1 on error *

SDL_SetRenderTarget

SDL2.Import

** * Set a texture as the current rendering target. * * renderer The renderer. * texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target * * 0 on success, or -1 on error * * SDL_GetRenderTarget() *

SDL_SetSurfaceAlphaMod

SDL2.Import

** * Set an additional alpha value used in blit operations. * * surface The surface to update. * alpha The alpha value multiplied into blit operations. * * 0 on success, or -1 if the surface is not valid. * * SDL_GetSurfaceAlphaMod() *

SDL_SetSurfaceBlendMode

SDL2.Import

** * Set the blend mode used for blit operations. * * surface The surface to update. * blendMode ::SDL_BlendMode to use for blit blending. * * 0 on success, or -1 if the parameters are not valid. * * SDL_GetSurfaceBlendMode() *

SDL_SetSurfaceColorMod

SDL2.Import

** * Set an additional color value used in blit operations. * * surface The surface to update. * r The red color value multiplied into blit operations. * g The green color value multiplied into blit operations. * b The blue color value multiplied into blit operations. * * 0 on success, or -1 if the surface is not valid. * * SDL_GetSurfaceColorMod() *

SDL_SetSurfacePalette

SDL2.Import

** * Set the palette used by a surface. * * 0, or -1 if the surface format doesn't use a palette. * * A single palette can be shared with many surfaces. *

SDL_SetSurfaceRLE

SDL2.Import

** * Sets the RLE acceleration hint for a surface. * * 0 on success, or -1 if the surface is not valid * * If RLE is enabled, colorkey and alpha blending blits are much faster, * but the surface must be locked before directly accessing the pixels. *

SDL_SetTextInputRect

SDL2.Import

** * Set the rectangle used to type Unicode text inputs. * This is used as a hint for IME and on-screen keyboard placement. * * SDL_StartTextInput() *

SDL_SetTextureAlphaMod

SDL2.Import

** * Set an additional alpha value used in render copy operations. * * texture The texture to update. * alpha The alpha value multiplied into copy operations. * * 0 on success, or -1 if the texture is not valid or alpha modulation * is not supported. * * SDL_GetTextureAlphaMod() *

SDL_SetTextureBlendMode

SDL2.Import

** * Set the blend mode used for texture copy operations. * * texture The texture to update. * blendMode ::SDL_BlendMode to use for texture blending. * * 0 on success, or -1 if the texture is not valid or the blend mode is * not supported. * * If the blend mode is not supported, the closest supported mode is * chosen. * * SDL_GetTextureBlendMode() *

SDL_SetTextureColorMod

SDL2.Import

** * Set an additional color value used in render copy operations. * * texture The texture to update. * r The red color value multiplied into copy operations. * g The green color value multiplied into copy operations. * b The blue color value multiplied into copy operations. * * 0 on success, or -1 if the texture is not valid or color modulation * is not supported. * * SDL_GetTextureColorMod() *

SDL_SetThreadPriority

SDL2.Import

** * Set the priority for the current thread *

SDL_SetWindowBordered

SDL2.Import

** * Set the border state of a window. * * This will add or remove the window's SDL_WINDOW_BORDERLESS flag and * add or remove the border from the actual window. This is a no-op if the * window's border already matches the requested state. * * window The window of which to change the border state. * bordered SDL_FALSE to remove border, SDL_TRUE to add border. * * You can't change the border state of a fullscreen window. * * SDL_GetWindowFlags() *

SDL_SetWindowBrightness

SDL2.Import

** * Set the brightness (gamma correction) for a window. * * 0 on success, or -1 if setting the brightness isn't supported. * * SDL_GetWindowBrightness() * SDL_SetWindowGammaRamp() *

SDL_SetWindowData

SDL2.Import

** * Associate an arbitrary named pointer with a window. * * window The window to associate with the pointer. * name The name of the pointer. * userdata The associated pointer. * * The previous value associated with 'name' * * The name is case-sensitive. * * SDL_GetWindowData() *

SDL_SetWindowDisplayMode

SDL2.Import

** * Set the display mode used when a fullscreen window is visible. * * By default the window's dimensions and the desktop format and refresh rate * are used. * * mode The mode to use, or nil for the default mode. * * 0 on success, or -1 if setting the display mode failed. * * SDL_GetWindowDisplayMode() * SDL_SetWindowFullscreen() *

SDL_SetWindowFullscreen

SDL2.Import

** * Set a window's fullscreen state. * * 0 on success, or -1 if setting the display mode failed. * * SDL_SetWindowDisplayMode() * SDL_GetWindowDisplayMode() *

SDL_SetWindowGammaRamp

SDL2.Import

** * Set the gamma ramp for a window. * * red The translation table for the red channel, or nil. * green The translation table for the green channel, or nil. * blue The translation table for the blue channel, or nil. * * 0 on success, or -1 if gamma ramps are unsupported. * * Set the gamma translation table for the red, green, and blue channels * of the video hardware. Each table is an array of 256 16-bit quantities, * representing a mapping between the input and output for that channel. * The input is the index into the array, and the output is the 16-bit * gamma value at that index, scaled to the output color precision. * * SDL_GetWindowGammaRamp() *

SDL_SetWindowGrab

SDL2.Import

** * Set a window's input grab mode. * * grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input. * * SDL_GetWindowGrab() *

SDL_SetWindowIcon

SDL2.Import

** * Set the icon for a window. * * icon The icon for the window. *

SDL_SetWindowMaximumSize

SDL2.Import

** * Set the maximum size of a window's client area. * * max_w The maximum width of the window, must be >0 * max_h The maximum height of the window, must be >0 * * You can't change the maximum size of a fullscreen window, it * automatically matches the size of the display mode. * * SDL_GetWindowMaximumSize() * SDL_SetWindowMinimumSize() *

SDL_SetWindowMinimumSize

SDL2.Import

** * Set the minimum size of a window's client area. * * min_w The minimum width of the window, must be >0 * min_h The minimum height of the window, must be >0 * * You can't change the minimum size of a fullscreen window, it * automatically matches the size of the display mode. * * SDL_GetWindowMinimumSize() * SDL_SetWindowMaximumSize() *

SDL_SetWindowPosition

SDL2.Import

** * Set the position of a window. * * window The window to reposition. * x The x coordinate of the window, SDL_WINDOWPOS_CENTERED, or * SDL_WINDOWPOS_UNDEFINED. * y The y coordinate of the window, SDL_WINDOWPOS_CENTERED, or * SDL_WINDOWPOS_UNDEFINED. * * The window coordinate origin is the upper left of the display. * * SDL_GetWindowPosition() *

SDL_SetWindowShape

SDL2.Import

** * Set the shape and parameters of a shaped window. * * window The shaped window whose parameters should be set. * shape A surface encoding the desired shape for the window. * shape_mode The parameters to set for the shaped window. * * 0 on success, SDL_INVALID_SHAPE_ARGUMENT on invalid an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW * if the SDL_Window* given does not reference a valid shaped window. * * SDL_WindowShapeMode * SDL_GetShapedWindowMode. *

SDL_SetWindowSize

SDL2.Import

** * Set the size of a window's client area. * * w The width of the window, must be >0 * h The height of the window, must be >0 * * You can't change the size of a fullscreen window, it automatically * matches the size of the display mode. * * SDL_GetWindowSize() *

SDL_SetWindowTitle

SDL2.Import

** * Set the title of a window, in UTF-8 format. * * SDL_GetWindowTitle() *

SDL_ShowCursor

SDL2.Import

** * Toggle whether or not the cursor is shown. * * toggle 1 to show the cursor, 0 to hide it, -1 to query the current * state. * * 1 if the cursor is shown, or 0 if the cursor is hidden. *

SDL_ShowMessageBox

SDL2.Import

** * Create a modal message box. * * messageboxdata The SDL_MessageBoxData structure with title, text, etc. * buttonid The pointer to which user id of hit button should be copied. * * -1 on error, otherwise 0 and buttonid contains user id of button * hit or -1 if dialog was closed. * * This function should be called on the thread that created the parent * window, or on the main thread if the messagebox has no parent. It will * block execution of that thread until the user clicks a button or * closes the messagebox. *

SDL_ShowSimpleMessageBox

SDL2.Import

** * Create a simple modal message box * * flags SDL_MessageBoxFlags * title UTF-8 title text * message UTF-8 message text * window The parent window, or NULL for no parent * * 0 on success, -1 on error * * SDL_ShowMessageBox *

SDL_ShowWindow

SDL2.Import

** * Show a window. * * SDL_HideWindow() *

SDL_SoftStretch

SDL2.Import

** * Perform a fast, low quality, stretch blit between two surfaces of the * same pixel format. * * This function uses a static buffer, and is not thread-safe. *

SDL_StartTextInput

SDL2.Import

** * Start accepting Unicode text input events. * This function will show the on-screen keyboard if supported. * * SDL_StopTextInput() * SDL_SetTextInputRect() * SDL_HasScreenKeyboardSupport() *

SDL_StopTextInput

SDL2.Import

** * Stop receiving any text input events. * This function will hide the on-screen keyboard if supported. * * SDL_StartTextInput() * SDL_HasScreenKeyboardSupport() *

SDL_Swap32

SDL2.Import

SDL_SWSURFACE

SDL2.Import

** * Surface flags * * These are the currently supported flags for the ::SDL_surface. * * Used internally (read-only). *

SDL_SYSTEM_CURSOR_ARROW

SDL2.Import

** * Cursor types for SDL_CreateSystemCursor. *

SDL_SYSTEM_CURSOR_CROSSHAIR

SDL2.Import

Wait

SDL_SYSTEM_CURSOR_HAND

SDL2.Import

Slashed circle or crossbones

SDL_SYSTEM_CURSOR_IBEAM

SDL2.Import

Arrow

SDL_SYSTEM_CURSOR_NO

SDL2.Import

Four pointed arrow pointing north, south, east, and west

SDL_SYSTEM_CURSOR_SIZEALL

SDL2.Import

Double arrow pointing north and south

SDL_SYSTEM_CURSOR_SIZENESW

SDL2.Import

Double arrow pointing northwest and southeast

SDL_SYSTEM_CURSOR_SIZENS

SDL2.Import

Double arrow pointing west and east

SDL_SYSTEM_CURSOR_SIZENWSE

SDL2.Import

Small wait cursor (or Wait if not available)

SDL_SYSTEM_CURSOR_SIZEWE

SDL2.Import

Double arrow pointing northeast and southwest

SDL_SYSTEM_CURSOR_WAIT

SDL2.Import

I-beam

SDL_SYSTEM_CURSOR_WAITARROW

SDL2.Import

Crosshair

SDL_SYSWMEVENT

SDL2.Import

Window state change

SDL_TEXTEDITING

SDL2.Import

Key released

SDL_TEXTEDITINGEVENT_TEXT_SIZE

SDL2.Import

SDL_TEXTINPUT

SDL2.Import

Keyboard text editing (composition)

SDL_TEXTINPUTEVENT_TEXT_SIZE

SDL2.Import

SDL_ThreadID

SDL2.Import

** * Get the thread identifier for the current thread. *

SDL_TLSCreate

SDL2.Import

* * SDL_TLSGet() * SDL_TLSSet() *

SDL_TLSGet

SDL2.Import

** * Get the value associated with a thread local storage ID for the current thread. * * id The thread local storage ID * * The value associated with the ID for the current thread, or NULL if no value has been set. * * SDL_TLSCreate() * SDL_TLSSet() *

SDL_TLSSet

SDL2.Import

** * Set the value associated with a thread local storage ID for the current thread. * * id The thread local storage ID * value The value to associate with the ID for the current thread * destructor_ A function called when the thread exits, to free the value. * * 0 on success, -1 on error * * SDL_TLSCreate() * SDL_TLSGet() *

SDL_TOUCH_MOUSEID

SDL2.Import

* Used as the device ID for mouse events simulated with touch input *

SDL_TryLockMutex

SDL2.Import

** * Try to lock the mutex * * 0, SDL_MUTEX_TIMEDOUT, or -1 on error *

SDL_ttfLibName

SDL2.Ttf

SDL_TTF_MAJOR_VERSION

SDL2.Ttf

* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL *

SDL_TTF_MINOR_VERSION

SDL2.Ttf

SDL_TTF_PATCHLEVEL

SDL2.Ttf

SDL_UnionRect

SDL2.Import

** * Calculate the union of two rectangles. *

SDL_UnloadObject

SDL2.Import

** * Unload a shared object from memory. *

SDL_UnlockAudio

SDL2.Import

SDL_UnlockAudioDevice

SDL2.Import

SDL_UnlockMutex

SDL2.Import

#define SDL_mutexV(m) SDL_UnlockMutex(m)

SDL_UnlockSurface

SDL2.Import

** SDL_LockSurface() *

SDL_UnlockTexture

SDL2.Import

** * Unlock a texture, uploading the changes to video memory, if needed. * * SDL_LockTexture() *

SDL_UpdateTexture

SDL2.Import

** * Update the given texture rectangle with new pixel data. * * texture The texture to update * rect A pointer to the rectangle of pixels to update, or NULL to * update the entire texture. * pixels The raw pixel data. * pitch The number of bytes between rows of pixel data. * * 0 on success, or -1 if the texture is not valid. * * This is a fairly slow function. *

SDL_UpdateWindowSurface

SDL2.Import

** * Copy the window surface to the screen. * * 0 on success, or -1 on error. * * SDL_GetWindowSurface() * SDL_UpdateWindowSurfaceRects() *

SDL_UpdateWindowSurfaceRects

SDL2.Import

** * Copy a number of rectangles on the window surface to the screen. * * 0 on success, or -1 on error. * * SDL_GetWindowSurface() * SDL_UpdateWindowSurfaceRect() *

SDL_UpperBlit

SDL2.Import

** * This is the public blit function, SDL_BlitSurface(), and it performs * rectangle validation and clipping before passing it to SDL_LowerBlit() *

SDL_UpperBlitScaled

SDL2.Import

** * This is the public scaled blit function, SDL_BlitScaled(), and it performs * rectangle validation and clipping before passing it to SDL_LowerBlitScaled() *

SDL_USEREVENT

SDL2.Import

** Events SDL_USEREVENT through SDL_LASTEVENT are for your use, * and should be allocated with SDL_RegisterEvents() *

SDL_VERSION

SDL2.Import

** * Macro to determine SDL version program was compiled against. * * This macro fills in a SDL_version structure with the version of the * library you compiled against. This is determined by what header the * compiler uses. Note that if you dynamically linked the library, you might * have a slightly newer or older version at runtime. That version can be * determined with SDL_GetVersion(), which, unlike SDL_VERSION(), * is not a macro. * * x A pointer to a SDL_version struct to initialize. * * SDL_version * SDL_GetVersion *

SDL_VERSIONNUM

SDL2.Import

** * This macro turns the version numbers into a numeric value: * * (1,2,3) -> (1203) * * * This assumes that there will never be more than 100 patchlevels. *

SDL_VERSION_ATLEAST

SDL2.Import

** * This macro will evaluate to true if compiled with SDL at least X.Y.Z. *

SDL_VideoInit

SDL2.Import

** * Initialize the video subsystem, optionally specifying a video driver. * * driver_name Initialize a specific driver by name, or nil for the * default video driver. * * 0 on success, -1 on error * * This function initializes the video subsystem; setting up a connection * to the window manager, etc, and determines the available display modes * and pixel formats, but does not initialize a window or graphics mode. * * SDL_VideoQuit() *

SDL_VideoQuit

SDL2.Import

** * Shuts down the video subsystem. * * function closes all windows, and restores the original video mode. * * SDL_VideoInit() *

SDL_WaitEvent

SDL2.Import

** * Waits indefinitely for the next available event. * * 1, or 0 if there was an error while waiting for events. * * event - If not nil, the next event is removed from the queue and * stored in that area. *

SDL_WaitEventTimeout

SDL2.Import

** * Waits until the specified timeout (in milliseconds) for the next * available event. * * 1, or 0 if there was an error while waiting for events. * * event - If not nil, the next event is removed from the queue and * stored in that area. *

SDL_WaitThread

SDL2.Import

** * Wait for a thread to finish. * * The return code for the thread function is placed in the area * pointed to by status, if status is not NULL. *

SDL_WarpMouseInWindow

SDL2.Import

** * Moves the mouse to the given position within the window. * * window The window to move the mouse into, or nil for the current mouse focus * x The x coordinate within the window * y The y coordinate within the window * * This function generates a mouse motion event *

SDL_WasInit

SDL2.Import

** * This function returns a mask of the specified subsystems which have * previously been initialized. * * If flags is 0, it returns a mask of all initialized subsystems. *

SDL_WINDOWEVENT

SDL2.Import

Window events

SDL_WINDOWEVENT_CLOSE

SDL2.Import

**< Window has lost keyboard focus *

SDL_WINDOWEVENT_ENTER

SDL2.Import

**< Window has been restored to normal size and position *

SDL_WINDOWEVENT_EXPOSED

SDL2.Import

**< Window has been hidden *

SDL_WINDOWEVENT_FOCUS_GAINED

SDL2.Import

**< Window has lost mouse focus *

SDL_WINDOWEVENT_FOCUS_LOST

SDL2.Import

**< Window has gained keyboard focus *

SDL_WINDOWEVENT_HIDDEN

SDL2.Import

**< Window has been shown *

SDL_WINDOWEVENT_LEAVE

SDL2.Import

**< Window has gained mouse focus *

SDL_WINDOWEVENT_MAXIMIZED

SDL2.Import

**< Window has been minimized *

SDL_WINDOWEVENT_MINIMIZED

SDL2.Import

**< The window size has changed; either as a result of an API call or through the system or user changing the window size. *

SDL_WINDOWEVENT_MOVED

SDL2.Import

**< Window has been exposed and should be redrawn *

SDL_WINDOWEVENT_NONE

SDL2.Import

** * Event subtype for window events *

SDL_WINDOWEVENT_RESIZED

SDL2.Import

**< Window has been moved to data1; data2 *

SDL_WINDOWEVENT_RESTORED

SDL2.Import

**< Window has been maximized *

SDL_WINDOWEVENT_SHOWN

SDL2.Import

**< Never used *

SDL_WINDOWEVENT_SIZE_CHANGED

SDL2.Import

**< Window has been resized to data1xdata2 *

SDL_WINDOWPOS_CENTERED

SDL2.Import

SDL_WINDOWPOS_CENTERED_MASK

SDL2.Import

** * Used to indicate that the window position should be centered. *

SDL_WindowPos_IsCentered

SDL2.Import

SDL_WindowPos_IsUndefined

SDL2.Import

SDL_WINDOWPOS_UNDEFINED

SDL2.Import

SDL_WINDOWPOS_UNDEFINED_MASK

SDL2.Import

** * Used to indicate that you don't care what the window position is. *

SDL_WINDOW_BORDERLESS

SDL2.Import

**< window is not visible *

SDL_WINDOW_FOREIGN

SDL2.Import

SDL_WINDOW_FULLSCREEN

SDL2.Import

** * The flags on a window * * SDL_GetWindowFlags() *

SDL_WINDOW_FULLSCREEN_DESKTOP

SDL2.Import

**< window has mouse focus *

SDL_WINDOW_HIDDEN

SDL2.Import

**< window is visible *

SDL_WINDOW_INPUT_FOCUS

SDL2.Import

**< window has grabbed input focus *

SDL_WINDOW_INPUT_GRABBED

SDL2.Import

**< window is maximized *

SDL_WINDOW_LACKS_SHAPE

SDL2.Import

SDL_WINDOW_MAXIMIZED

SDL2.Import

**< window is minimized *

SDL_WINDOW_MINIMIZED

SDL2.Import

**< window can be resized *

SDL_WINDOW_MOUSE_FOCUS

SDL2.Import

**< window has input focus *

SDL_WINDOW_OPENGL

SDL2.Import

**< fullscreen window *

SDL_WINDOW_RESIZABLE

SDL2.Import

**< no window decoration *

SDL_WINDOW_SHOWN

SDL2.Import

**< window usable with OpenGL context *

SDL_WriteBE16

SDL2.Import

SDL_WriteBE32

SDL2.Import

SDL_WriteBE64

SDL2.Import

SDL_WriteLE16

SDL2.Import

SDL_WriteLE32

SDL2.Import

SDL_WriteLE64

SDL2.Import

SDL_WriteU8

SDL2.Import

** * Write endian functions * * Write an item of native format to the specified endianness. *

SEARCH_ANY

Formats.VFW

SEARCH_BACKWARD

Formats.VFW

SEARCH_FORWARD

Formats.VFW

SEARCH_KEY

Formats.VFW

SEARCH_NEAREST

Formats.VFW

AVIFileExit

SegmentPlaneIntersection

GLS.VectorGeometry

Computes segment / plane intersection return false if there isn't an intersection

SegmentSegmentClosestPoint

GLS.VectorGeometry

Computes the closest points (2) given two segments

SegmentSegmentDistance

GLS.VectorGeometry

Computes the closest distance between two segments

SERIALIZE_ID_BOX

Physics.NewtonImport

SERIALIZE_ID_CAPSULE

Physics.NewtonImport

SERIALIZE_ID_CHAMFERCYLINDER

Physics.NewtonImport

SERIALIZE_ID_CLOTH_PATCH

Physics.NewtonImport

SERIALIZE_ID_COMPOUND

Physics.NewtonImport

SERIALIZE_ID_CONE

Physics.NewtonImport

SERIALIZE_ID_CONVEXHULL

Physics.NewtonImport

SERIALIZE_ID_CYLINDER

Physics.NewtonImport

SERIALIZE_ID_DEFORMABLE_SOLID

Physics.NewtonImport

SERIALIZE_ID_FRACTURED_COMPOUND

Physics.NewtonImport

SERIALIZE_ID_HEIGHTFIELD

Physics.NewtonImport

SERIALIZE_ID_NULL

Physics.NewtonImport

SERIALIZE_ID_SCENE

Physics.NewtonImport

SERIALIZE_ID_SPHERE

Physics.NewtonImport

NEWTON_DEFORMABLE_BODY = 2;

SERIALIZE_ID_TREE

Physics.NewtonImport

SERIALIZE_ID_USERMESH

Physics.NewtonImport

SetAABB

GLS.GeometryBB

SetActorCMassGlobalPosition

Physics.PhysXImport

SetActorGlobalOrientation

Physics.PhysXImport

SetActorGlobalPosition

Physics.PhysXImport

SetActorMass

Physics.PhysXImport

SetAffineVector

GLS.VectorGeometry

SetBB

GLS.GeometryBB

SetElementAccessAddress

CUDA.DataAccess

SetExeDirectory

GLS.Utils

SetFullscreenMode

GLS.Screen

Changes to the video mode given by 'Index'

SetGLSceneMediaDir

GLS.Utils

SetGLTextureImageClassesToStrings

GLS.Texture

Defines a TStrings with the list of registered TGLTextureImageClass.

SetMatrix

GLS.VectorGeometry

SetMatrix

GLS.VectorGeometry

SetMatrix

GLS.VectorGeometry

—————————————————————————- Matrix functions —————————————————————————-

SetMatrixRow

GLS.VectorGeometry

SetPlane

GLS.VectorGeometry

Converts from single to double representation

SetROAMTrianglesCapacity

GLS.ROAMPatch

Specifies the maximum number of ROAM triangles that may be allocated.

SetScreenSaverPassword

GLS.ScreenSaver

Invokes the standard Windows dialog to set the password. May be invoked from your Properties/Configuration dialog.

setTransform

Physics.ODEUtils

SetupTangentSpace

GLS.BumpmapHDS

SetupVSync

GLS.SceneViewer

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetVector

GLS.VectorGeometry

SetXMLAttribute

GLS.CrossXML

SetXMLAttribute

GLS.CrossXML

SetXMLText

GLS.CrossXML

SFChmutov1

GLS.Isosurface

Chmutov-surface-1 (http://mathworld.wolfram.com)

SFChmutov2

GLS.Isosurface

Chmutov-surface-2 (http://mathworld.wolfram.com)

SFDoubleTorus

GLS.Isosurface

Double torus Surface (phantasy!)

SFKleinBottle

GLS.Isosurface

Klein Bottle (http://mathworld.wolfram.com)

SFMinkowski

GLS.Isosurface

Minkowski space (http://mathworld.wolfram.com)

SFSphere

GLS.Isosurface

Sphere surface

SFToroidal

GLS.Isosurface

Toroidal surface (phantasy!)

sH2

GLS.Navigator

ShadowFilterMax3DS

Formats.m3DSConst

inclusive minimum value for shadow filter

ShadowFilterMin3DS

Formats.m3DSConst

noninclusive minimum value for shadow range SHADOW_FILTER chunk

ShadowMapSizeMin3DS

Formats.m3DSConst

noninclusive minimum value for high shadow bias setting SHADOW_MAP_SIZE chunk

ShadowRangeMin3DS

Formats.m3DSConst

noninclusive minimum value for shadow samples SHADOW_RANGE chunk

ShadowSamplesMin3DS

Formats.m3DSConst

noninclusive minimum value for shadow map size SHADOW_SAMPLES chunk

SHADOW_FILTER

Formats.m3DSConst

SHADOW_MAP_SIZE

Formats.m3DSConst

SHADOW_RANGE

Formats.m3DSConst

SHADOW_SAMPLES

Formats.m3DSConst

SHAPE_2D

Formats.m3DSConst

SHAPE_HOOK

Formats.m3DSConst

SHAPE_NOT_OK

Formats.m3DSConst

SHAPE_OK

Formats.m3DSConst

Flags in shaper AFile that tell whether polys make up an ok shape

ShiftObjectFromCenter

GLS.VectorGeometry

ShiftObjectFromCenter

GLS.VectorGeometry

AOriginalPosition - Object initial position. ACenter - some point, from which is should be distanced. ADistance + AFromCenterSpot - distance, which object should keep from ACenter or ADistance + not AFromCenterSpot - distance, which object should shift from his current position away from center

ShortElement

CUDA.DataAccess

ShowError

Formats.m3DSUtils

error message routines

ShowErrorFormatted

Formats.m3DSUtils

ShowHTMLUrl

GLS.Utils

SIDE_BACK

Formats.LWO

SIDE_FRONT

Formats.LWO

SIDE_FRONT_AND_BACK

Formats.LWO

SIGN

GLS.FilePAK

SIGN

GLS.FileVfsPAK

SIGN

GLS.FileZLIB

SignStrict

GLS.VectorGeometry

Returns the sign of the x value using the (-1, 0, +1) convention

SIGN_COMPRESSED

GLS.FileVfsPAK

Signature for uncompressed - raw pak.

SimulateNx

Physics.PhysXImport

SinCosine

GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta

SinCosine

GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta

SinCosine

GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta and Radius. sin and cos values calculated from theta are multiplicated by radius

SinCosine

GLS.VectorGeometry

Calculates sine and cosine from the given angle Theta and Radius. sin and cos values calculated from theta are multiplicated by radius

SInt16

SDL2.Import

SInt32

SDL2.Import

SInt64

SDL2.Import

SInt8

SDL2.Import

SizeOfFile

GLS.Utils

Returns the size of "filename". Returns 0 (zero) is file does not exists.

size_t

SDL2.Import

SMAGIC

Formats.m3DSConst

Smooth01Group3DS

Formats.m3DSConst

Smoothing group Flags used in the smootharray field of the TMesh3DS structure

Smooth02Group3DS

Formats.m3DSConst

Smooth03Group3DS

Formats.m3DSConst

Smooth04Group3DS

Formats.m3DSConst

Smooth05Group3DS

Formats.m3DSConst

Smooth06Group3DS

Formats.m3DSConst

Smooth07Group3DS

Formats.m3DSConst

Smooth08Group3DS

Formats.m3DSConst

Smooth09Group3DS

Formats.m3DSConst

Smooth10Group3DS

Formats.m3DSConst

Smooth11Group3DS

Formats.m3DSConst

Smooth12Group3DS

Formats.m3DSConst

Smooth13Group3DS

Formats.m3DSConst

Smooth14Group3DS

Formats.m3DSConst

Smooth15Group3DS

Formats.m3DSConst

Smooth16Group3DS

Formats.m3DSConst

Smooth17Group3DS

Formats.m3DSConst

Smooth18Group3DS

Formats.m3DSConst

Smooth19Group3DS

Formats.m3DSConst

Smooth20Group3DS

Formats.m3DSConst

Smooth21Group3DS

Formats.m3DSConst

Smooth22Group3DS

Formats.m3DSConst

Smooth23Group3DS

Formats.m3DSConst

Smooth24Group3DS

Formats.m3DSConst

Smooth25Group3DS

Formats.m3DSConst

Smooth26Group3DS

Formats.m3DSConst

Smooth27Group3DS

Formats.m3DSConst

Smooth28Group3DS

Formats.m3DSConst

Smooth29Group3DS

Formats.m3DSConst

Smooth30Group3DS

Formats.m3DSConst

Smooth31Group3DS

Formats.m3DSConst

Smooth32Group3DS

Formats.m3DSConst

SMOOTH_GROUP

Formats.m3DSConst

SMOOTH_GROUP_ENTRY

Formats.m3DSConst

Smooth_Interpolate_Strip

GLS.Perlin

smooth interpolate 3 strips into one...

sNOT_QUAD

GLS.VectorTypesExt

SOLID_BGND

Formats.m3DSConst

SolveCubic

GLS.Polynomials

Computes the real roots of a real polynomial of the 3rd degree. The polynomial is of the form: A(0) + A(1)*Z + A(2)*Z**2 + A(3)*Z**3

SolveQuadric

GLS.Polynomials

Computes the real roots of a real polynomial of the 2nd degree. The polynomial is of the form: A(0) + A(1)*Z + A(2)*Z**2

SolveQuartic

GLS.Polynomials

Computes the real roots of a real polynomial of the 4th degree. The polynomial is of the form: A(0) + A(1)*Z + ... + A(4)*Z**4

SortArrayAscending

GLS.VectorGeometry

Sorts given array in ascending order. NOTE : current implementation is a slow bubble sort...

SphereVisibleRadius

GLS.VectorGeometry

Computes the visible radius of a sphere in a perspective projection. This radius can be used for occlusion culling (cone extrusion) or 2D intersection testing.

Spherical_Cartesian

GLS.Coordinates

Convert Spherical to Cartesian with no checks. Double version. theta,phi in rads

Spherical_Cartesian

GLS.Coordinates

Convert Spherical to Cartesian with no checks. [single] theta,phi in rads Ref: http://mathworld.wolfram.com/SphericalCoordinates.html

Spherical_Cartesian

GLS.Coordinates

Convert spherical to cartesian [double] (with error check).theta,phi in rad

Spherical_Cartesian

GLS.Coordinates

Convert Spherical to Cartesian [single] (with error check).theta,phi in rad ierr: [0] = ok, [1] = r out of bounds [2] = theta out of bounds [3] = phi out of bounds Ref: http://mathworld.wolfram.com/SphericalCoordinates.html

SPOTLIGHT_NODE_TAG

Formats.m3DSConst

sSINGULAR

GLS.VectorTypesExt

StarRecordColor

GLS.SkyDome

Computes star color from BV index (RGB) and magnitude (alpha)

StarRecordPositionYUp

GLS.SkyDome

Computes position on the unit sphere of a star record (Y=up)

StarRecordPositionZUp

GLS.SkyDome

Computes position on the unit sphere of a star record (Z=up)

StartAllMovements

GLS.Movement

StartPrecisionTimer

GLS.Utils

Starts a precision timer. Returned value should just be considered as 'handle', even if it ain't so. Default platform implementation is to use QueryPerformanceCounter and QueryPerformanceFrequency, if higher precision references are available, they should be used. The timer will and must be stopped/terminated/released with StopPrecisionTimer.

STLUseEmbeddedColors

GLS.FileSTL

StopAllMovements

GLS.Movement

StopPrecisionTimer

GLS.Utils

Computes time elapsed since timer start and stop timer. Return time lap in seconds.

str3DSMapNotFound

GLS.Strings

File3DS

strAlreadyRendering

GLS.Strings

strBackwardContextFailed

GLS.Strings

strBadPlanSize

GLS.Strings

strBrokenObjectListArchive

GLS.Strings

strCadencerNotDefined

GLS.Strings

Cadencer

strCadencerNotDefinedEx

GLS.Strings

strCamera

GLS.Strings

strCameraRoot

GLS.Strings

strCannotAlterAnActiveContext

GLS.Strings

Context

strCantConvertImg

GLS.Strings

Graphics

strConnectJoystick

GLS.Strings

strContextActivationFailed

GLS.Strings

strContextAlreadyCreated

GLS.Strings

strContextDeactivationFailed

GLS.Strings

strContextNotCreated

GLS.Strings

strContextNotInit

GLS.Strings

strCUDAEditor

GLS.Strings

strCUTILFailed

GLS.Strings

FilePGM

strCyclicRefMat

GLS.Strings

Material

strDeleteContextFailed

GLS.Strings

strDisplayList

GLS.Strings

strDot

GLS.Strings

General

strDriverNotSupportDebugRC

GLS.Strings

strDriverNotSupportFRC

GLS.Strings

strDriverNotSupportOESRC

GLS.Strings

STREAMFILE_BUFFER

Sounds.BASSImport

STREAMFILE_BUFFERPUSH

Sounds.BASSImport

STREAMFILE_NOBUFFER

Sounds.BASSImport

end of user stream flag BASS_StreamCreateFileUser file systems

StreamFromFOURCC

Formats.VFW

STREAMPROC

Sounds.BASSImport

callback function types

STREAMPROC_DUMMY

Sounds.BASSImport

special STREAMPROCs

STREAMPROC_PUSH

Sounds.BASSImport

"dummy" stream

streamtypeAUDIO

Formats.VFW

mmioFOURCC('v', 'i', 'd', 's')

streamtypeMIDI

Formats.VFW

mmioFOURCC('a', 'u', 'd', 's')

streamtypeTEXT

Formats.VFW

mmioFOURCC('m', 'i', 'd', 's')

streamtypeVIDEO

Formats.VFW

– Stream types for the <fccType> field of the stream header —————-

strError

GLS.Strings

strError3DS_CLOSING_FILE

GLS.Strings

strError3DS_CREATING_DATABASE

GLS.Strings

strError3DS_GET_FAIL

GLS.Strings

strError3DS_INIT_FAILED

GLS.Strings

strError3DS_INVALID_ARG

GLS.Strings

strError3DS_INVALID_CHUNK

GLS.Strings

strError3DS_INVALID_DATA

GLS.Strings

strError3DS_INVALID_DATABASE

GLS.Strings

strError3DS_INVALID_INDEX

GLS.Strings

strError3DS_NO_MEM

GLS.Strings

strError3DS_NO_SUCH_FILE

GLS.Strings

strError3DS_OPENING_FILE

GLS.Strings

strError3DS_PUT_FAIL

GLS.Strings

strError3DS_READING_DATABASE

GLS.Strings

strError3DS_READING_FILE

GLS.Strings

strError3DS_STRING_TOO_LONG

GLS.Strings

strError3DS_UNFOUND_CHUNK

GLS.Strings

strError3DS_WRITING_DATABASE

GLS.Strings

strError3DS_WRITING_FILE

GLS.Strings

strError3DS_WRONG_DATABASE

GLS.Strings

strError3DS_WRONG_OBJECT

GLS.Strings

strErrorEx

GLS.Strings

strErrorLIB

GLS.Strings

strFailCompilation

GLS.Strings

strFailCreatePipe

GLS.Strings

strFailedOpenFile

GLS.Strings

strFailedOpenFileFromCurrentDir

GLS.Strings

strFailedToShare

GLS.Strings

strFailHWRC

GLS.Strings

strFailMap

GLS.Strings

strFailRunNVCC

GLS.Strings

strFailToBindArrayToTex

GLS.Strings

strFailUnmap

GLS.Strings

strFFTFuncRetErr

GLS.Strings

strFileNotFound

GLS.Strings

strForwardContextFailed

GLS.Strings

SceneContext

strFRC_created

GLS.Strings

strFuncNotConnected

GLS.Strings

strFuncRetErr

GLS.Strings

strGLSceneEditor

GLS.Strings

SceneEdit

strImageInvalid

GLS.Strings

Textures

strIncompatibleContexts

GLS.Strings

strIncompatibleTypes

GLS.Strings

String3DS

Formats.m3DSTypes

String64

Formats.m3DSTypes

StringCG

Cg.Import

StringToColorAdvanced

GLS.Utils

Converts a string into color

StringToColorAdvancedSafe

GLS.Utils

Converts a string into color

strInterleaveNotSupported

GLS.Strings

strInvalidColor

GLS.Strings

Utils

strInvalidContextReg

GLS.Strings

strInvalidContextRegistration

GLS.Strings

strInvalidFileSignature

GLS.Strings

PersistentClasses

strInvalidGLContext

GLS.Strings

strInvalidNotificationRemoval

GLS.Strings

strInvalidParamType

GLS.Strings

strInvalidType

GLS.Strings

strInvalidValue

GLS.Strings

StripifyMesh

GLS.MeshUtils

Attempts to create as few as possible triangle strips to cover the mesh. The indices parameters define a set of triangles as a set of indices to vertices in a vertex pool, free of duplicate vertices (or resulting stripification will be of lower quality). The function returns a list of TIntegerList, each of these lists hosting a triangle strip, returned objects must be freed by caller. If agglomerateLoneTriangles is True, the first of the lists actually contains the agglomerated list of the triangles that couldn't be stripified.

strJoystickError

GLS.Strings

strLaunchFailed

GLS.Strings

strLayoutCategoryName

GLS.Strings

strListIndexError

GLS.Strings

strLocalizableCategoryName

GLS.Strings

strMakeFloatingFail

GLS.Strings

strMaterialNotFound

GLS.Strings

strMaterialNotFoundInMatlib

GLS.Strings

strMaterialNotFoundInMatlibEx

GLS.Strings

strMatLibNotDefined

GLS.Strings

Materials

strMissingResource

GLS.Strings

strModuleAbsent

GLS.Strings

CUDA strings

strNoActiveRC

GLS.Strings

strNoDescriptionAvailable

GLS.Strings

strNoDeviceToCreate

GLS.Strings

strNoJoystickDriver

GLS.Strings

Joystick

strNoNewTexture

GLS.Strings

strNoRenderingContext

GLS.Strings

SceneViewer

strNothing

GLS.Strings

strObjectRoot

GLS.Strings

strObjectsNotSupported

GLS.Strings

strOCAdvancedGeometry

GLS.Strings

strOCBasicGeometry

GLS.Strings

Object categories in GLScene Registry

strOCDoodad

GLS.Strings

strOCEnvironmentObjects

GLS.Strings

strOCExperimental

GLS.Strings

strOCGraphPlottingObjects

GLS.Strings

strOCGuiObjects

GLS.Strings

strOCHUDObjects

GLS.Strings

strOCMeshObjects

GLS.Strings

strOCParticleSystems

GLS.Strings

strOCProxyObjects

GLS.Strings

strOCSpecialObjects

GLS.Strings

strOctreeMustBePreparedBeforeUse

GLS.Strings

Octree

strOESRC_created

GLS.Strings

strOESvsForwardRC

GLS.Strings

strOnlyHostData

GLS.Strings

strOpenGLCategoryName

GLS.Strings

SceneRegister, strings additional to Designintf

strOpenGLError

GLS.Strings

InitOpenGL

strOutOfAttribSize

GLS.Strings

strOutOfElementSize

GLS.Strings

strOutOfMemory

GLS.Strings

strOutOfRange

GLS.Strings

strPBufferRC_created

GLS.Strings

strRequireFreeThread

GLS.Strings

strSceneRoot

GLS.Strings

Tree

strSceneViewerNotDefined

GLS.Strings

strShaderNeedsAtLeastOneLightSource

GLS.Strings

Shaders

strShaderNeedsAtLeastOneLightSourceEx

GLS.Strings

strSizeMismatch

GLS.Strings

strSourceFileNotFound

GLS.Strings

strSphereStartStop

GLS.Strings

strSphereTopBottom

GLS.Strings

Objects

strStateCashMissing

GLS.Strings

strSuccessCompilation

GLS.Strings

strThreadBusy

GLS.Strings

strTmpRC_Created

GLS.Strings

StrToFloatDef

GLS.Utils

Similar to SysUtils.StrToFloatDef, but ignores user's locale

StrToGLSResType

GLS.ApplicationFileIO

strTooManyLights

GLS.Strings

strUnableToCreateLegacyContext

GLS.Strings

strUnBalancedBeginEndUpdate

GLS.Strings

strUnbalancedContexActivations

GLS.Strings

strUnbalansedUsage

GLS.Strings

strUnknownArchive

GLS.Strings

Common messages

strUnknownArchiveVersion

GLS.Strings

strUnknownExtension

GLS.Strings

strUnknownParam

GLS.Strings

strUnknownType

GLS.Strings

strUnsupportedType

GLS.Strings

strVisualCategoryName

GLS.Strings

strWrongBitmapCanvas

GLS.Strings

strWrongParamSetup

GLS.Strings

strWrongPrinter

GLS.Strings

strWrongVersion

GLS.Strings

strXCollectionEditor

GLS.Strings

FXCollectionEditor

SubdivideTriangles

GLS.MeshUtils

Subdivides mesh triangles. Splits along edges, each triangle becomes four. The smoothFactor can be used to control subdivision smoothing, zero means no smoothing (tesselation only), while 1 means "sphere" subdivision (a low res sphere will be subdivided in a higher-res sphere), values outside of the [0..1] range are for, er, artistic purposes. The procedure is not intended for real-time use.

SubtractVector

GLS.VectorGeometry

Subtracts V2 from V1, result is placed in V1

SubtractVector

GLS.VectorGeometry

Subtracts V2 from V1, result is placed in V1

SubtractVector

GLS.VectorGeometry

Subtracts V2 from V1, result is placed in V1

SURF_FLAG_ADDITIVE

Formats.LWO

SURF_FLAG_COLORFILTER

Formats.LWO

SURF_FLAG_COLORHIGHLIGHTS

Formats.LWO

SURF_FLAG_DOUBLESIDED

Formats.LWO

SURF_FLAG_LUMINOUS

Formats.LWO

SURF_FLAG_OPAQUEEDGE

Formats.LWO

SURF_FLAG_OUTLINE

Formats.LWO

SURF_FLAG_SHADOWALPHA

Formats.LWO

SURF_FLAG_SHARPTERMINATOR

Formats.LWO

SURF_FLAG_SMOOTHING

Formats.LWO

SURF_FLAG_TRANSPARENTEDGE

Formats.LWO

sW2

GLS.Navigator

sWRONG_ELEMENT

GLS.VectorTypesExt

sWRONG_SIZE

GLS.VectorTypesExt

SYNCPROC

Sounds.BASSImport

Internet stream download callback function. buffer : Buffer containing the downloaded data... NULL=end of download length : Number of bytes in the buffer user : The 'user' parameter value given when calling BASS_StreamCreateURL

T1DPerlinArray

GLS.Perlin

T2DPerlinArray

GLS.Perlin

T48BitBlock

GLS.ImageUtils

T4ByteArrayList

GLS.VectorLists

T4ByteData

GLS.VectorLists

4 byte union contain access like Integer, Single and four Byte

T4ByteList

GLS.VectorLists

A list of T4ByteData

TAABB

GLS.GeometryBB

Structure for storing Axis Aligned Bounding Boxes

TAABBCorners

GLS.GeometryBB

Structure for storing the corners of an AABB, used with ExtractAABBCorners

TAABBOverlapEvent

Physics.NGDManager

TAArray

GLS.zBuffer

TAArrayIdx

GLS.zBuffer

TACubic3DS

Formats.m3DSTypes

TAffineByteMatrix

GLS.VectorGeometry

TAffineByteVector

GLS.VectorGeometry

TAffineDblMatrix

GLS.VectorGeometry

TAffineDblVector

GLS.VectorGeometry

TAffineExtMatrix

GLS.VectorGeometry

TAffineExtVector

GLS.VectorGeometry

TAffineFltMatrix

GLS.VectorGeometry

TAffineFltVector

GLS.VectorGeometry

TAffineIntMatrix

GLS.VectorGeometry

TAffineIntVector

GLS.VectorGeometry

TAffineMatrix

GLS.VectorGeometry

TAffinePtrVector

GLS.VectorGeometry

TAffineVector

GLS.VectorGeometry

TAffineVectorArray

GLS.VectorGeometry

TAffineVectorList

GLS.VectorLists

A list of TAffineVector. Similar to TList, but using TAffineVector as items. The list has stack-like push/pop methods

TAffineWordMatrix

GLS.VectorGeometry

TAffineWordVector

GLS.VectorGeometry

TAFIOCreateFileStream

GLS.ApplicationFileIO

TAFIOFileStreamEvent

GLS.ApplicationFileIO

TAFIOFileStreamExists

GLS.ApplicationFileIO

TAFIOFileStreamExistsEvent

GLS.ApplicationFileIO

TAG_APE_BINARY

Sounds.BASSImport

TAG_BEXT

Sounds.BASSImport

TAG_ID3

Sounds.BASSImport

TALbitfield

Sounds.OpenALImport

OpenAL bitfields.

TALboolean

Sounds.OpenALImport

OpenAL boolean type.

TALbyte

Sounds.OpenALImport

OpenAL 8bit signed byte.

TALCboolean

Sounds.OpenALImport

ALC boolean type.

TALCbyte

Sounds.OpenALImport

ALC 8bit signed byte.

TALCchar

Sounds.OpenALImport

ALC character type

TALCcontext

Sounds.OpenALImport

ALC context

TALCdevice

Sounds.OpenALImport

ALC device

TALCdouble

Sounds.OpenALImport

ALC 64bit double point type.

TALCenum

Sounds.OpenALImport

ALC enumerations.

TALCfloat

Sounds.OpenALImport

ALC 32bit floating point type.

TALchar

Sounds.OpenALImport

character

TALCint

Sounds.OpenALImport

ALC 32bit signed integer type.

TALclampd

Sounds.OpenALImport

Openal clamped double.

TALclampf

Sounds.OpenALImport

OpenAL clamped float.

TALCshort

Sounds.OpenALImport

ALC 16bit signed short integer type.

TALCsizei

Sounds.OpenALImport

ALC 32bit type.

TALCubyte

Sounds.OpenALImport

ALC 8bit unsigned byte.

TALCuint

Sounds.OpenALImport

ALC 32bit unsigned integer type.

TALCushort

Sounds.OpenALImport

ALC 16bit unsigned short integer type.

TALCvoid

Sounds.OpenALImport

ALC void type

TALdouble

Sounds.OpenALImport

OpenAL 64bit double point type.

TALenum

Sounds.OpenALImport

OpenAL enumerations.

TALfloat

Sounds.OpenALImport

OpenAL 32bit floating point type.

TALint

Sounds.OpenALImport

OpenAL 32bit signed integer type.

TALshort

Sounds.OpenALImport

OpenAL 16bit signed short integer type.

TALsizei

Sounds.OpenALImport

OpenAL 32bit type.

TALuByte

Sounds.OpenALImport

OpenAL 8bit unsigned byte.

TALuint

Sounds.OpenALImport

OpenAL 32bit unsigned integer type.

TALushort

Sounds.OpenALImport

OpenAL 16bit unsigned short integer type.

TALvoid

Sounds.OpenALImport

OpenAL void type

TAndroidIO

SDL2.Import

TANG4

Formats.LWO

TangentAttributeName

GLS.Objects

TANIMChunk

Formats.B3D

TApplyForceAndTorqueEvent

Physics.NGDManager

TArchiveFileFormat

GLS.ArchiveManager

The type to record a registered class

TARGET_NODE_TAG

Formats.m3DSConst

TArrowArcPart

GLS.GeomObjects

TASETextureMap

GLS.FileASE

TAsmProgFileProperty

GLS.SceneRegister

TAtmosphere3DS

Formats.m3DSTypes

TAtmosphereType3DS

Formats.m3DSTypes

TAVICOMPRESSOPTIONS

Formats.VFW

TAVICompressor

GLS.AVIRecorder

TAVIFileInfo

Formats.VFW

TAVIFileInfoA

Formats.VFW

TAVIFileInfoW

Formats.VFW

TAVIImageRetrievalMode

GLS.AVIRecorder

Image retrieval mode for frame capture. Following modes are supported: irmSnapShot : retrieve OpenGL framebuffer content using glReadPixels irmRenderToBitmap : renders the whole scene to a bitmap, this is the slowest mode, but it won't be affected by driver-side specifics. irmBitBlt : tranfers the framebuffer using the BitBlt function, usually the fastest solution

TAVIINDEXENTRY

Formats.VFW

TAVIPALCHANGE

Formats.VFW

TAVIRecorderPostProcessEvent

GLS.AVIRecorder

TAVIRecorderState

GLS.AVIRecorder

TAVISAVECALLBACK

Formats.VFW

TAVISizeRestriction

GLS.AVIRecorder

Frame size restriction. Forces frame dimensions to be a multiple of 2, 4, or 8. Some compressors require this. e.g. DivX 5.2.1 requires mutiples of 2.

TAVIStreamHeader

Formats.VFW

TAVIStreamInfo

Formats.VFW

TAVIStreamInfoA

Formats.VFW

TAVIStreamInfoW

Formats.VFW

TB3DChunk

Formats.B3D

TB3DChunkType

Formats.B3D

TB3DMaterial

Formats.B3D

TB3DNode

Formats.B3D

TB3DTexture

Formats.B3D

TBackground3DS

Formats.m3DSTypes

TBackgroundType3DS

Formats.m3DSTypes

enumerate list of possible backgrounds used in file

TBaseList

GLS.VectorLists

Base class for lists, introduces common behaviours

TBaseListOption

GLS.VectorLists

TBaseListOptions

GLS.VectorLists

TBaseSpacePartition

GLS.SpacePartition

Basic space partition, does not implement any actual space partitioning

TBaseVectorList

GLS.VectorLists

Base class for vector lists, introduces common behaviours

TBASS3DAlgorithm

Sounds.BASS

TBASSModuleHandle

Sounds.BASSImport

This function is defined in the implementation part of this unit. It is not part of BASS.DLL but an extra function which makes it easier to set the predefined EAX environments. env : a EAX_ENVIRONMENT_xxx constant

TBASS_PLUGINFORMS

Sounds.BASSImport

TBB3DChunk

Formats.B3D

TBitmap3DS

Formats.m3DSTypes

TBitmapBgnd3DS

Formats.m3DSTypes

TBodyFlags

Physics.ODEImport

Change: New Type added, syntax enforcement

TBodyList

Physics.ODEImport

TBONEChunk

Formats.B3D

TBoneMatrixObj

GLS.ProxyObjects

An object containing the bone matrix for TGLActorProxy.

TBorderType

GLS.Memo

TBoundBox

Formats.m3DSTypes

TBRUSChunk

Formats.B3D

TBSPBBox

Formats.Q3BSP

TBSPClusterVisibility

GLS.MeshBSP

TBSPCullingSphere

GLS.MeshBSP

TBSPFace

Formats.Q3BSP

TBSPHeader

Formats.Q3BSP

TBSphere

GLS.GeometryBB

Structure for storing BoundingSpheres. Similar to TAABB

TBSPLeaf

Formats.Q3BSP

TBSPLightmap

Formats.Q3BSP

TBSplineContinuity

GLS.CurvesAndSurfaces

TBSPLump

Formats.Q3BSP

TBSPMeshObject

GLS.MeshBSP

A BSP mesh object. Stores the geometry information, BSP rendering options and offers some basic BSP utility methods. Geometry information is indexed in the facegroups, the 1st facegroup (of index 0) being the root node of the BSP tree.

TBSPModel

Formats.Q3BSP

TBSPNode

Formats.Q3BSP

TBSPRenderContextInfo

GLS.MeshBSP

TBSPRenderSort

GLS.MeshBSP

TBSPTexture

Formats.Q3BSP

TBSPVertex

Formats.Q3BSP

TBSPVisData

Formats.Q3BSP

TBumpMethod

GLSL.BumpShaders

TBumpOption

GLSL.BumpShaders

TBumpOptions

GLSL.BumpShaders

Enable parallax offset mapping

TBumpSpace

GLSL.BumpShaders

TByteArray

GLS.HeightData

to CreateMonochromeBitmap

TByteList

GLS.VectorLists

A list of bytes. Similar to TList, but using Byte as items

TByteMatrixArr

GLS.Isolines

TByteRaster

GLS.HeightData

TByteVector

GLS.VectorGeometry

TByteVectorArr

GLS.Isolines

TCadencableCustomCgShader

Cg.Shader

Allows to use a Cadencer, which is used for noise generation in many shaders.

TCalcPointEvent

GLS.ThorFX

TCamera3DS

Formats.m3DSTypes

TCamRanges

Formats.m3DSTypes

TCamRanges3DS

Formats.m3DSTypes

TCAPCONTROLCALLBACK

Formats.VFW

TCAPDRIVERCAPS

Formats.VFW

TCAPERRORCALLBACK

Formats.VFW

TCAPERRORCALLBACKA

Formats.VFW

TCAPERRORCALLBACKW

Formats.VFW

TCAPINFOCHUNK

Formats.VFW

TCAPSTATUS

Formats.VFW

TCAPSTATUSCALLBACK

Formats.VFW

TCAPSTATUSCALLBACKA

Formats.VFW

TCAPSTATUSCALLBACKW

Formats.VFW

TCAPTUREPARMS

Formats.VFW

TCAPVIDEOCALLBACK

Formats.VFW

TCAPWAVECALLBACK

Formats.VFW

TCAPYIELDCALLBACK

Formats.VFW

– Callback definitions —————————————————–

TCardinalArray

Formats.m3DSTypes

TCardinalVector

GLS.VectorGeometry

TCastArray

GLS.Isolines

TCellPos

GLS.Memo

TCellSize

GLS.Memo

TCgApplyEvent

Cg.Shader

TCgBombShader

Cg.BombShader

TCGbool

Cg.Import

TCgCustomBombShader

Cg.BombShader

Just a good-looking shader.

TCGenum

Cg.Import

"Connecting the parameters failed because The type of the source parameter is not defined within the given program or does not match the type with the same name in the program."

TCGerror

Cg.Import

TCGerrorCallbackFunc

Cg.Import

TCgFPProfile

Cg.Shader

Available fragment program profile

TCgFragmentProgram

Cg.Shader

TCGGLenum

Cg.GL

***************************************************************************

TCgParameter

Cg.Shader

Wrapper around a Cg parameter of the main program.

TCGprofile

Cg.Import

* The following macro invocations define the supported CG profiles. * * The macros have the form : * * CG_PROFILE_MACRO(name, compiler_id, compiler_opt) * * name : The name of the profile. Used consistently with the API. * compiler_id : The identifier string for the profile used by the compiler. * compiler_id_caps : compiler_id in caps. * compiler_opt : The command-line switch used to force compilation into * the profile. * int_id : Integer enumerant associated with this bind location. * vertex_profile : Non-zero if this is a vertex profile, otherwise it * is considered to be a fragment profile. * *

TCgProgram

Cg.Shader

Wrapper around a Cg program.

TcgProgramType

Cg.Shader

TCGresource

Cg.Import

* The following macro invocations define the supported CG basic hardware * bind locations. * * The macros have the form : * * CG_BINDLOCATION_MACRO(name, compiler_name, enum_int) * * name : The name of the location. * enum_name : The C enumerant. * compiler_name : The name of the location within the compiler syntax. * int_id : Integer enumerant associated with this bind location. * addressable : The bind location must have an integer address * associated with it. * ParamType : the cgParamType of this register. *

TCgShader

Cg.Shader

TCgShaderEvent

Cg.Shader

TCGtype

Cg.Import

* The following macro invocations define the supported CG basic data types. * * The macros have the form : * * CG_DATATYPE_MACRO(name, compiler_name, nrows, ncols) * * name : The name of the data type. * compiler_name : The name of the data type within the compiler syntax. * enum_name : The C enumerant. * nrows : Number of rows for matrix types. Should be 0 other-wise. * ncols : Number of columns for matrix types. Should be 0 * other-wise. *

TCgUnApplyEvent

Cg.Shader

TCgVertexProgram

Cg.Shader

TCgVPProfile

Cg.Shader

Available vertex program profile

TChannelTypeAndNum

CUDA.APIComps

TCHANNEL_CAPS

Formats.VFW

TCharInfo

GLS.BitmapFont

TCharStyle

GLS.Memo

TChunk3DS

Formats.m3DSTypes

finally the chunk definition

TChunkData

Formats.m3DSTypes

to avoid zillion type casts, we use this variant record for chunk data, effectively this defines the same pointer differently for different chunk types this is only possible because all types are just pointers

TChunkList

Formats.m3DSTypes

TChunkList3DS

Formats.m3DSTypes

list of cross references

TChunkListEntry3DS

Formats.m3DSTypes

cross reference between Name and Chunk

TClose

SDL2.Import

** * Close and free an allocated SDL_RWops structure. * * 0 if successful or -1 on write error when flushing data. *

Tcl_addressing_mode

OpenCL.Import

Tcl_bitfield

OpenCL.Import

Tcl_bool

OpenCL.Import

Tcl_buffer_create_type

OpenCL.Import

Tcl_buffer_region

OpenCL.Import

Tcl_build_status

OpenCL.Import

Tcl_channel_order

OpenCL.Import

Tcl_channel_type

OpenCL.Import

Tcl_char

OpenCL.Platform

scalar types

Tcl_char16

OpenCL.Platform

Tcl_char2

OpenCL.Platform

* Vector types * * Note: OpenCL requires that all types be naturally aligned. * This means that vector types must be naturally aligned. * For example, a vector of four floats must be aligned to * a 16 byte boundary (calculated as 4 * the natural 4-byte * alignment of the float). The alignment qualifiers here * will only function properly if your compiler supports them * and if you don't actively work to defeat them. For example, * in order for a cl_float4 to be 16 byte aligned in a struct, * the start of the struct must itself be 16-byte aligned. * * Maintaining proper alignment is the user's responsibility.

Tcl_char4

OpenCL.Platform

Tcl_char8

OpenCL.Platform

Tcl_command_queue

OpenCL.Import

Tcl_command_queue_info

OpenCL.Import

Tcl_command_queue_properties

OpenCL.Import

Tcl_command_type

OpenCL.Import

Tcl_context

OpenCL.Import

Tcl_context_info

OpenCL.Import

Tcl_context_notify

OpenCL.Import

CL_API_SUFFIX__VERSION_2_1 * Context APIs *//

Tcl_context_properties

OpenCL.Import

Tcl_destructor_notify

OpenCL.Import

CL_API_SUFFIX__VERSION_2_0

Tcl_device_affinity_domain

OpenCL.Import

Tcl_device_exec_capabilities

OpenCL.Import

Tcl_device_fp_config

OpenCL.Import

Tcl_device_id

OpenCL.Import

Tcl_device_info

OpenCL.Import

Tcl_device_local_mem_type

OpenCL.Import

Tcl_device_mem_cache_type

OpenCL.Import

Tcl_device_partition_property

OpenCL.Import

Tcl_device_svm_capabilities

OpenCL.Import

Tcl_device_type

OpenCL.Import

Tcl_double

OpenCL.Platform

Tcl_double16

OpenCL.Platform

Tcl_double2

OpenCL.Platform

Tcl_double4

OpenCL.Platform

Tcl_double8

OpenCL.Platform

Tcl_EnqueueNativeKernel

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

Tcl_EnqueueSVM_fn

OpenCL.Import

CL_API_SUFFIX__VERSION_1_2

Tcl_event

OpenCL.Import

Tcl_event_info

OpenCL.Import

Tcl_event_notify

OpenCL.Import

CL_API_SUFFIX__VERSION_1_1

Tcl_filter_mode

OpenCL.Import

Tcl_float

OpenCL.Platform

Tcl_float16

OpenCL.Platform

Tcl_float2

OpenCL.Platform

Tcl_float4

OpenCL.Platform

Tcl_float8

OpenCL.Platform

Tcl_gl_context_info

OpenCL.GL

Tcl_gl_object_type

OpenCL.GL

Tcl_gl_platform_info

OpenCL.GL

Tcl_gl_texture_info

OpenCL.GL

Tcl_half

OpenCL.Platform

Tcl_image_desc

OpenCL.Import

Tcl_image_format

OpenCL.Import

Tcl_image_info

OpenCL.Import

Tcl_int

OpenCL.Platform

Tcl_int16

OpenCL.Platform

Tcl_int2

OpenCL.Platform

Tcl_int4

OpenCL.Platform

Tcl_int8

OpenCL.Platform

Tcl_kernel

OpenCL.Import

Tcl_kernel_arg_access_qualifier

OpenCL.Import

Tcl_kernel_arg_address_qualifier

OpenCL.Import

Tcl_kernel_arg_info

OpenCL.Import

Tcl_kernel_arg_type_qualifier

OpenCL.Import

Tcl_kernel_exec_info

OpenCL.Import

Tcl_kernel_info

OpenCL.Import

Tcl_kernel_sub_group_info

OpenCL.Import

Tcl_kernel_work_group_info

OpenCL.Import

Tcl_long

OpenCL.Platform

Tcl_long16

OpenCL.Platform

Tcl_long2

OpenCL.Platform

Tcl_long4

OpenCL.Platform

Tcl_long8

OpenCL.Platform

Tcl_map_flags

OpenCL.Import

Tcl_mem

OpenCL.Import

Tcl_mem_flags

OpenCL.Import

Tcl_mem_info

OpenCL.Import

Tcl_mem_migration_flag

OpenCL.Import

Tcl_mem_object_type

OpenCL.Import

Tcl_pipe_info

OpenCL.Import

Tcl_pipe_properties

OpenCL.Import

Tcl_platform_id

OpenCL.Import

Tcl_platform_info

OpenCL.Import

Tcl_profiling_info

OpenCL.Import

Tcl_program

OpenCL.Import

Tcl_programbuilt_notify

OpenCL.Import

CL_API_SUFFIX__VERSION_1_0

Tcl_program_binary_type

OpenCL.Import

Tcl_program_build_info

OpenCL.Import

Tcl_program_info

OpenCL.Import

Tcl_queue_properties

OpenCL.Import

Tcl_sampler

OpenCL.Import

Tcl_sampler_info

OpenCL.Import

Tcl_sampler_properties

OpenCL.Import

Tcl_short

OpenCL.Platform

Tcl_short16

OpenCL.Platform

Tcl_short2

OpenCL.Platform

Tcl_short4

OpenCL.Platform

Tcl_short8

OpenCL.Platform

Tcl_svm_mem_flags

OpenCL.Import

Tcl_uchar

OpenCL.Platform

Tcl_uchar16

OpenCL.Platform

Tcl_uchar2

OpenCL.Platform

Tcl_uchar4

OpenCL.Platform

Tcl_uchar8

OpenCL.Platform

Tcl_uint

OpenCL.Platform

Tcl_uint16

OpenCL.Platform

Tcl_uint2

OpenCL.Platform

Tcl_uint4

OpenCL.Platform

Tcl_uint8

OpenCL.Platform

Tcl_ulong

OpenCL.Platform

Tcl_ulong16

OpenCL.Platform

Tcl_ulong2

OpenCL.Platform

Tcl_ulong4

OpenCL.Platform

Tcl_ulong8

OpenCL.Platform

Tcl_ushort

OpenCL.Platform

Tcl_ushort16

OpenCL.Platform

Tcl_ushort2

OpenCL.Platform

Tcl_ushort4

OpenCL.Platform

Tcl_ushort8

OpenCL.Platform

TCollisionBoundingMode

GLS.Collision

Defines how fine collision bounding is for a particular object. Possible values are : cbmPoint : the object is punctual and may only collide with volumes cbmSphere : the object is defined by its bounding sphere (radius is the max of axis-aligned dimensions) cbmEllipsoid the object is defined by its bounding axis-aligned ellipsoid cbmCube : the object is defined by a bounding axis-aligned "cube" cbmFaces : the object is defined by its faces (needs object-level support, if unavailable, uses cbmCube code)

TCollisionConstraintTypes

GLS.VerletTypes

TCollisionConstraintTypesSet

GLS.VerletTypes

TCollisionIteratorEvent

Physics.NGDManager

Events for Newton Callback

TColor24

Formats.m3DSTypes

TColorF

Formats.m3DSTypes

TColr12

Formats.LWO

TColr12DynArray

Formats.LWO

TColr4

Formats.LWO

TColTrackTag

Formats.m3DSTypes

TCombinerCache

GLS.TextureCombiners

TCombinerCommand

GLS.TextureCombiners

TCommand

GLS.Memo

TCompressionLevel

GLS.ArchiveManager

TCOMPVARS

Formats.VFW

TConeStyle3DS

Formats.m3DSTypes

Spotlight projection cone shape

TContactProcessEvent

Physics.NGDManager

TCoronaTangentLookup

GLS.Imposter

TCSGOperation

GLS.MeshCSG

TCuAddresMode

CUDA.APIComps

TCUaddress_mode

CUDA.Import

Texture reference addressing modes

TCUarray

CUDA.Import

TcuArray3DCreate

CUDA.Import

TcuArray3DGetDescriptor

CUDA.Import

TcuArrayCreate

CUDA.Import

TcuArrayDestroy

CUDA.Import

TcuArrayGetDescriptor

CUDA.Import

TCUarray_cubemap_face

CUDA.Import

Array indices for cube faces

TCUarray_format

CUDA.Import

Array formats

TCubicSpline

GLS.Spline

3D cubic spline handler class. This class allows to describe and calculate values of a time-based, three-dimensionnal cubic spline. Cubic spline pass through all given points and tangent on point N is given by the (N-1) to (N+1) vector. Note : X, Y & Z are actually interpolated independently.

TCubicSplineMatrix

GLS.Spline

Platform Specific
by default, GLX is not supported on windows, although windows implementations do exist .NET

TCUcomputemode

CUDA.Import

Compute Modes

TCUcontext

CUDA.Import

TcuCtxAttach

CUDA.Import

TcuCtxCreate

CUDA.Import

TcuCtxDestroy

CUDA.Import

TcuCtxDetach

CUDA.Import

TcuCtxGetDevice

CUDA.Import

TcuCtxPopCurrent

CUDA.Import

TcuCtxPushCurrent

CUDA.Import

TcuCtxSynchronize

CUDA.Import

TCUctx_flags

CUDA.Import

Context creation flags

TcudaArray

CUDA.Runtime

+//DEVICE_BUILTIN*/

TCUDAChange

CUDA.APIComps

TCUDAChanges

CUDA.APIComps

TCudaChannelFormatDesc

CUDA.Runtime

TCudaChannelFormatKind

CUDA.Runtime

+//DEVICE_BUILTIN*/

TCUDAChannelNum

CUDA.APIComps

TCUDAChannelType

CUDA.APIComps

TCUDAComponent

CUDA.APIComps

TCUDAComponentClass

CUDA.APIComps

TCUDAConstant

CUDA.APIComps

TCUDAConstantInfo

CUDA.Parser

TCUDAContext

CUDA.Context

TCUDAContextList

CUDA.Context

TCUDACustomFeedBackMesh

CUDA.Graphics

TCUDADevice

CUDA.Context

TCUDADeviceList

CUDA.Context

TCudaDeviceProp

CUDA.Runtime

TCUDADimensions

CUDA.Context

TcudaError

CUDA.Runtime

TcudaExtent

CUDA.Runtime

+//DEVICE_BUILTIN*/

TCUDAFeedbackMesh

CUDA.Graphics

TCUDAFFTdir

CUDA.FFTPlan

TCUDAFFTPlan

CUDA.FFTPlan

TCUDAFFTransform

CUDA.FFTPlan

TCUDAFuncArgInfo

CUDA.Parser

TcudaFuncAttributes

CUDA.Import

* CUDA function attributes

TcudaFuncCache

CUDA.Import

* * CUDA function cache configurations

TCUDAFuncInfo

CUDA.Parser

TCUDAFuncParam

CUDA.APIComps

TCUDAFunction

CUDA.APIComps

TCUDAGeometryResource

CUDA.Graphics

TCudaGLMapFlags

CUDA.Runtime

TCUDAGraphicResource

CUDA.APIComps

Abstract class of graphic resources.

TCUDAHandleList

CUDA.Context

TCUDAHandlesMaster

CUDA.Context

TCUDAImageResource

CUDA.Graphics

TcudaLimit

CUDA.Import

* * CUDA Limits

TCUDAMapping

CUDA.APIComps

TcudaMemcpy3DParms

CUDA.Runtime

+//DEVICE_BUILTIN*/

TcudaMemcpyKind

CUDA.Runtime

+//DEVICE_BUILTIN*/

TCUDAMemData

CUDA.APIComps

TCUDAMemMapFlag

CUDA.APIComps

TCUDAMemMapFlags

CUDA.APIComps

Fast write, slow read

TCUDAMemType

CUDA.APIComps

TCUDAModule

CUDA.APIComps

TCUDAModuleInfo

CUDA.Parser

TcudaPitchedPtr

CUDA.Runtime

+//DEVICE_BUILTIN*/

TcudaPos

CUDA.Runtime

+//DEVICE_BUILTIN*/

TcudaRoundMode

CUDA.FourierTransform

TCUDATexRefInfo

CUDA.Parser

TCUDATexture

CUDA.APIComps

TcudaTextureAddressMode

CUDA.Runtime

TcudaTextureFilterMode

CUDA.Runtime

TcudaTextureReadMode

CUDA.Runtime

TCUDAType

CUDA.Parser

TCUDAUniform

CUDA.APIComps

TCUDA_ARRAY3D_DESCRIPTOR

CUDA.Import

3D array descriptor

TCUDA_ARRAY_DESCRIPTOR

CUDA.Import

TCUDA_MEMCPY2D

CUDA.Import

TCUDA_MEMCPY3D

CUDA.Import

3D memory copy parameters

TCUdevice

CUDA.Import

CUDA device

TcuDeviceComputeCapability

CUDA.Import

TcuDeviceGet

CUDA.Import

TcuDeviceGetAttribute

CUDA.Import

TcuDeviceGetCount

CUDA.Import

TcuDeviceGetName

CUDA.Import

TcuDeviceGetProperties

CUDA.Import

TCUdeviceptr

CUDA.Import

CUDA device pointer

TcuDeviceTotalMem

CUDA.Import

TCUdevice_attribute

CUDA.Import

Device properties

TCUdevprop

CUDA.Import

Legacy device properties

TCUDPPAlgorithm

CUDA.ParallelPrimitives

Maximum of two operands

TCUDPPConfiguration

CUDA.ParallelPrimitives

Placeholder at end of enum

TCUDPPDatatype

CUDA.ParallelPrimitives

Each key has an associated value

TCUDPPHandle

CUDA.ParallelPrimitives

TCUDPPOperator

CUDA.ParallelPrimitives

Float type (C float)

TCUDPPOption

CUDA.ParallelPrimitives

Unknown or untraceable error.

TCUDPPResult

CUDA.ParallelPrimitives

TcuDriverGetVersion

CUDA.Import

TCUevent

CUDA.Import

TcuEventCreate

CUDA.Import

TcuEventDestroy

CUDA.Import

TcuEventElapsedTime

CUDA.Import

TcuEventQuery

CUDA.Import

TcuEventRecord

CUDA.Import

TcuEventSynchronize

CUDA.Import

TCUevent_flags

CUDA.Import

Event creation flags

TcufftCompatibility

CUDA.FourierTransform

Certain R2C and C2R transforms go much more slowly when FFTW memory layout and behaviour is required. The default is "best performance", which means not-compatible-with-fftw. Use the cufftSetCompatibilityMode API to enable exact FFTW-like behaviour.
These flags can be ORed together to select precise FFTW compatibility behaviour. The two levels presently supported are:
CUFFT_COMPATIBILITY_FFTW_PADDING Inserts extra padding between packed in-place transforms for batched transforms with power-of-2 size.
CUFFT_COMPATIBILITY_FFTW_C2R_ASYMMETRIC Guarantees FFTW-compatible output for non-symmetric complex inputs for transforms with power-of-2 size. This is only useful for artificial (i.e. random) datasets as actual data will always be symmetric if it has come from the real plane. If you don't understand what this means, you probably don't have to use it.
CUFFT_COMPATIBILITY_FFTW For convenience, enables all FFTW compatibility modes at once.

TcufftComplex

CUDA.FourierTransform

TcufftDestroy

CUDA.FourierTransform

TcufftDoubleComplex

CUDA.FourierTransform

TcufftDoubleReal

CUDA.FourierTransform

TcufftExecC2C

CUDA.FourierTransform

TcufftExecC2R

CUDA.FourierTransform

TcufftExecD2Z

CUDA.FourierTransform

TcufftExecR2C

CUDA.FourierTransform

TcufftExecZ2D

CUDA.FourierTransform

TcufftExecZ2Z

CUDA.FourierTransform

TcufftHandle

CUDA.FourierTransform

CUFFT API function return values CUFFT defines and supports the following data types cufftHandle is a handle type used to store and access CUFFT plans.

TcufftPlan1d

CUDA.FourierTransform

TcufftPlan2d

CUDA.FourierTransform

TcufftPlan3d

CUDA.FourierTransform

TcufftPlanMany

CUDA.FourierTransform

TcufftReal

CUDA.FourierTransform

TcufftRealfloat

CUDA.FourierTransform

TcufftResult

CUDA.FourierTransform

TcufftSetCompatibilityMode

CUDA.FourierTransform

TcufftSetStream

CUDA.FourierTransform

TcufftType

CUDA.FourierTransform

TCuFilterMode

CUDA.APIComps

TCUfilter_mode

CUDA.Import

Texture reference filtering modes

TcuFuncGetAttribute

CUDA.Import

TcuFuncSetBlockShape

CUDA.Import

TcuFuncSetSharedSize

CUDA.Import

TCUfunction

CUDA.Import

TCUfunction_attribute

CUDA.Import

Function properties

TcuGLCtxCreate

CUDA.Import

TcuGLInit

CUDA.Import

TcuGLMapBufferObject

CUDA.Import

TcuGLMapBufferObjectAsync

CUDA.Import

TCUGLmap_flags

CUDA.Import

Flags to map or unmap a resource

TcuGLRegisterBufferObject

CUDA.Import

TcuGLSetBufferObjectMapFlags

CUDA.Import

TcuGLUnmapBufferObject

CUDA.Import

TcuGLUnmapBufferObjectAsync

CUDA.Import

TcuGLUnregisterBufferObject

CUDA.Import

TcuGraphicsGLRegisterBuffer

CUDA.Import

TcuGraphicsGLRegisterImage

CUDA.Import

TCUgraphicsMapResourceFlags

CUDA.Import

Flags for mapping and unmapping interop resources

TcuGraphicsMapResources

CUDA.Import

TCUgraphicsRegisterFlags

CUDA.Import

Flags to register a graphics resource

TCUgraphicsResource

CUDA.Import

TcuGraphicsResourceGetMappedPointer

CUDA.Import

TcuGraphicsResourceSetMapFlags

CUDA.Import

TcuGraphicsSubResourceGetMappedArray

CUDA.Import

TcuGraphicsUnmapResources

CUDA.Import

TcuGraphicsUnregisterResource

CUDA.Import

TcuInit

CUDA.Import

TCUjit_fallback

CUDA.Import

Cubin matching fallback strategies

TCUjit_option

CUDA.Import

Online compiler options

TCUjit_target

CUDA.Import

Online compilation targets

TcuLaunch

CUDA.Import

TcuLaunchGrid

CUDA.Import

TcuLaunchGridAsync

CUDA.Import

TCullingMode

GLS.SpacePartition

TcuMemAlloc

CUDA.Import

TcuMemAllocHost

CUDA.Import

TcuMemAllocPitch

CUDA.Import

TcuMemcpy2D

CUDA.Import

TcuMemcpy2DAsync

CUDA.Import

TcuMemcpy2DUnaligned

CUDA.Import

TcuMemcpy3D

CUDA.Import

TcuMemcpy3DAsync

CUDA.Import

TcuMemcpyAtoA

CUDA.Import

TcuMemcpyAtoD

CUDA.Import

TcuMemcpyAtoH

CUDA.Import

TcuMemcpyAtoHAsync

CUDA.Import

TcuMemcpyDtoA

CUDA.Import

TcuMemcpyDtoD

CUDA.Import

TcuMemcpyDtoDAsync

CUDA.Import

TcuMemcpyDtoH

CUDA.Import

TcuMemcpyDtoHAsync

CUDA.Import

TcuMemcpyHtoA

CUDA.Import

TcuMemcpyHtoAAsync

CUDA.Import

TcuMemcpyHtoD

CUDA.Import

TcuMemcpyHtoDAsync

CUDA.Import

TcuMemFree

CUDA.Import

TcuMemFreeHost

CUDA.Import

TcuMemGetAddressRange

CUDA.Import

TcuMemGetInfo

CUDA.Import

TcuMemHostAlloc

CUDA.Import

TcuMemHostGetDevicePointer

CUDA.Import

TcuMemHostGetFlags

CUDA.Import

TCUmemorytype

CUDA.Import

Memory types

TcuMemsetD16

CUDA.Import

TcuMemsetD2D16

CUDA.Import

TcuMemsetD2D32

CUDA.Import

TcuMemsetD2D8

CUDA.Import

TcuMemsetD32

CUDA.Import

TcuMemsetD8

CUDA.Import

TCUmodule

CUDA.Import

TcuModuleGetFunction

CUDA.Import

TcuModuleGetGlobal

CUDA.Import

TcuModuleGetTexRef

CUDA.Import

TcuModuleLoad

CUDA.Import

TcuModuleLoadData

CUDA.Import

TcuModuleLoadDataEx

CUDA.Import

TcuModuleLoadFatBinary

CUDA.Import

TcuModuleUnload

CUDA.Import

TcuParamSetf

CUDA.Import

TcuParamSeti

CUDA.Import

TcuParamSetSize

CUDA.Import

TcuParamSetTexRef

CUDA.Import

TcuParamSetv

CUDA.Import

TCUresult

CUDA.Import

************************************ ** ** Error codes ** ***********************************/ Error codes

TCustomCgShader

Cg.Shader

TCUstream

CUDA.Import

TcuStreamCreate

CUDA.Import

TcuStreamDestroy

CUDA.Import

TcuStreamQuery

CUDA.Import

TcuStreamSynchronize

CUDA.Import

TCUtexref

CUDA.Import

TcuTexRefCreate

CUDA.Import

TcuTexRefDestroy

CUDA.Import

TcuTexRefGetAddress

CUDA.Import

TcuTexRefGetAddressMode

CUDA.Import

TcuTexRefGetArray

CUDA.Import

TcuTexRefGetFilterMode

CUDA.Import

TcuTexRefGetFlags

CUDA.Import

TcuTexRefGetFormat

CUDA.Import

TcuTexRefSetAddress

CUDA.Import

TcuTexRefSetAddress2D

CUDA.Import

TcuTexRefSetAddressMode

CUDA.Import

TcuTexRefSetArray

CUDA.Import

TcuTexRefSetFilterMode

CUDA.Import

TcuTexRefSetFlags

CUDA.Import

TcuTexRefSetFormat

CUDA.Import

TcuWGLGetDevice

CUDA.Import

Td3Axis

Physics.ODEImport

TD3DMatrix

GLS.VectorTypes

TD3DVector

GLS.VectorTypes

TdAABB

Physics.ODEImport

No typedef for AABB

TdAABBTestFn

Physics.ODEImport

TdAngularMotorModeNumbers

Physics.ODEImport

TDatabase3DS

Formats.m3DSTypes

file database

TDBType3DS

Formats.m3DSTypes

Database type settings

TDCECollision

GLS.DCE

TDCECollisionEvent

GLS.DCE

TDCECollisionSelection

GLS.DCE

Indicates which type of layer comparison is made when trying to detect collisions between 2 bodies (A and B). Possible values are: ccsDCEStandard: Collides bodies if A.layer <= B.layer ccsCollisionStandard: Collides bodies if either A or B have layer equal to zero or if their layers are different. ccsHybrid: Collides bodies if either one of the previous checks would pass (i.e. if the layer of either body is equal to 0 or if A.layer <= B.layer) *and* if both layers are positive (that is, turns off collision for bodies whose layer is < 0)

TDCEObjectCollisionEvent

GLS.DCE

TDCEShape

GLS.DCE

Only csEllipsoid can have dynamic behaviour

TDCESlideOrBounce

GLS.DCE

TdColliderFn

Physics.ODEImport

TDComplete

GLS.Triangulation

TdContact

Physics.ODEImport

TdContactGeom

Physics.ODEImport

TdContactType

Physics.ODEImport

Change: New Type added, syntax enforcement

TDCueSettings3DS

Formats.m3DSTypes

distance cue atmosphere parameters

TDDPIXELFORMAT

Formats.DXTC

TDDSHeader

Formats.DXTC

TDDSImage

Formats.DDSImage

TDDSURFACEDESC2

Formats.DXTC

TDDS_HEADER_DXT10

Formats.DXTC

);

TDebugProc

GLS.OpenGLTokens

TDebugProcAMD

GLS.OpenGLTokens

TDEdges

GLS.Triangulation

TDelimiters

GLS.Memo

TdErrorType

Physics.ODEImport

TDeSerializeEvent

Physics.NGDManager

TDESolver

Physics.SPIManager

need to have state array(s) seperate from inertias to allow for implicit & explicit methods

TDESolverEuler

Physics.SPIManager

TDESolverExplicit

Physics.SPIManager

explicit e.g. Euler, Mid-point, Runge-Kutta integration

TDESolverImplicit

Physics.SPIManager

implicit e.g. Verlet Integration

TDESolverRungeKutta4

Physics.SPIManager

TDESolverType

Physics.SPIManager

only ssEuler is usable at the moment

TDESolverVerlet

Physics.SPIManager

TdGeomClass

Physics.ODEImport

typedef struct dGeomClass { int bytes; dGetColliderFnFn *collider; dGetAABBFn *aabb; dAABBTestFn *aabb_test; dGeomDtorFn *dtor; } dGeomClass;

TdGeomDtorFn

Physics.ODEImport

TdGeomSpaceData

Physics.ODEImport

typedef struct dGeomSpaceData { dGeomID next; } dGeomSpaceData;

TdGetAABBFn

Physics.ODEImport

TdGetColliderFnFn

Physics.ODEImport

TDim3

CUDA.Import

TdInteger3

Physics.ODEImport

TdIntegerArray

Physics.ODEImport

Tri-list collider

TDirPlan

GLS.GeometryBB

TDistanceCue

Formats.m3DSTypes

TdJointFeedback

Physics.ODEImport

TdJointGroupID

Physics.ODEImport

TdJointID

Physics.ODEImport

TdJointTypeNumbers

Physics.ODEImport

TDlInnerRange

Formats.m3DSTypes

TDlLocalShadow2

Formats.m3DSTypes

TDlMultiplier

Formats.m3DSTypes

TDlOuterRange

Formats.m3DSTypes

TDlRayBias

Formats.m3DSTypes

TDlSpotAspect

Formats.m3DSTypes

TDlSpotlight

Formats.m3DSTypes

TDlSpotRoll

Formats.m3DSTypes

TdMass

Physics.ODEImport

TdMatrix3

Physics.ODEImport

typedef dReal dMatrix3[4*3];

TdMatrix3_As3x4

Physics.ODEImport

TdMatrix4

Physics.ODEImport

typedef dReal dMatrix4[4*4];

TdMatrix6

Physics.ODEImport

typedef dReal dMatrix6[8*6];

TdMovedCallback

Physics.ODEImport

Whenever a body has its position or rotation changed during the timestep, the callback will be called (with body as the argument). Use it to know which body may need an update in an external structure (like a 3D engine).

TdNearCallback

Physics.ODEImport

Collission callback structure

TdObject

Physics.ODEImport

TDoubleArray

GLS.Polynomials

TDoubleArrayList

GLS.VectorLists

TDoubleHmgPlane

GLS.VectorGeometry

TDoubleList

GLS.VectorLists

A list of Double. Similar to TList, but using Double as items. The list has stack-like push/pop methods

TDoubleVector

GLS.VectorGeometry

TDProgressEvent

GLS.Triangulation

TdQuaternion

Physics.ODEImport

typedef dReal dQuaternion[4];

TDRAWDIBTIME

Formats.VFW

TDrawState

GLS.RenderContextInfo

TdReal

Physics.ODEImport

body is not influenced by gravity

TdRealArray

Physics.ODEImport

TdRealHugeArray

Physics.ODEImport

TdSurfaceParameters

Physics.ODEImport

TDTriangle

GLS.Triangulation

TdTriArrayCallback

Physics.ODEImport

Per object callback. Allows the user to get the list of triangles in 1 shot. Maybe we should remove this one.

TdTriCallback

Physics.ODEImport

Per triangle callback. Allows the user to say if he wants a collision with a particular triangle.

TdTriRayCallback

Physics.ODEImport

Allows the user to say if a ray collides with a triangle on barycentric coords. The user can for example sample a texture with alpha transparency to determine if a collision should occur.

TDumpLevel

Formats.m3DSTypes

for TStringList —————- commonly used structures ———————————-

TdVector3

Physics.ODEImport

typedef dReal dVector33[4];

TdVector3Array

Physics.ODEImport

TdVector4

Physics.ODEImport

typedef dReal dVector4[4];

TDVertex

GLS.Triangulation

TdwsClassesUnit

DWS.Classes

TdwsGLSceneUnit

DWS.Scene

TdwsOpenGLUnit

DWS.OpenGL

TdwsVectorGeometryUnit

DWS.VectorGeometry

TdxAutoDisable

Physics.ODEImport

TdxBody

Physics.ODEImport

TdxContactParameters

Physics.ODEImport

TdxDampingParameters

Physics.ODEImport

TDXFile

Formats.X

TDXFileHeader

Formats.X

TDXFrame

Formats.X

TdxGeom

Physics.ODEImport

// common data for all geometry objects. the class-specific data area follows // this structure. pos and R will either point to a separately allocated // buffer (if body is 0 - pos points to the dxPosR object) or to the pos and // R of the body (if body nonzero). struct dxGeom { // a dGeomID is a pointer to this dxGeomClass *_class; // class of this object void *data; // user data pointer dBodyID body; // dynamics body associated with this object (if any) dReal *pos; // pointer to object's position vector dReal *R; // pointer to object's rotation matrix dSpaceID spaceid; // the space this object is in dGeomSpaceData space; // reserved for use by space this object is in dReal *space_aabb; // ptr to aabb array held by dSpaceCollide() fn // class-specific data follows here, with proper alignment. };

TdxHashSpace

Physics.ODEImport

Copies settings from TdxSpace, beacause pascal doeasn't do inheritance for records

TdxHeightfieldData

Physics.ODEImport

TdxJoint

Physics.ODEImport

TdxJointAMotor

Physics.ODEImport

TdxJointBall

Physics.ODEImport

TdxJointFixed

Physics.ODEImport

TdxJointGroup

Physics.ODEImport

TdxJointHinge

Physics.ODEImport

TdxJointHinge2

Physics.ODEImport

TdxJointLimitMotor

Physics.ODEImport

TdxJointLimitMotor3

Physics.ODEImport

TdxJointLMotor

Physics.ODEImport

TdxJointNode

Physics.ODEImport

TdxJointNull

Physics.ODEImport

TdxJointPiston

Physics.ODEImport

TdxJointPlane2D

Physics.ODEImport

TdxJointPR

Physics.ODEImport

TdxJointSlider

Physics.ODEImport

TdxJointUniversial

Physics.ODEImport

TDXMaterial

Formats.X

TDXMaterialList

Formats.X

TDXMesh

Formats.X

TDXNode

Formats.X

TdxPosR

Physics.ODEImport

TdxQuadTreeSpace

Physics.ODEImport

TdxQuickStepParameters

Physics.ODEImport

TdxSimpleSpace

Physics.ODEImport

Copies settings from TdxSpace, beacause pascal doeasn't do inheritance for records

TdxSpace

Physics.ODEImport

TdxTriMeshData

Physics.ODEImport

struct dxTriMeshData{ Model BVTree; MeshInterface Mesh;
dxTriMeshData(); ˜dxTriMeshData();
void Build(const void* Vertices, int VertexStide, int VertexCount, const void* Indices, int IndexCount, int TriStride, const void* Normals, bool Single);
/* aabb in model space */ dVector3 AABBCenter; dVector3 AABBExtents;
/* data for use in collison resolution */ const void* Normals; Matrix4x4 last_trans; };

TdxWorld

Physics.ODEImport

struct dxWorld : public dBase { dxBody *firstbody; // body linked list dxJoint *firstjoint; // joint linked list int nb,nj; // number of bodies and joints in lists dVector3 gravity; // gravity vector (m/s/s) dReal global_erp; // global error reduction parameter dReal global_cfm; // global costraint force mixing parameter };

TEarthSkydomeOption

GLS.SkyDome

TEarthSkydomeOptions

GLS.SkyDome

TEaseType

GLS.AnimationUtils

TEaxBufferProperties

Sounds.OpenALImport

Use this structure for DSPROPERTY_EAXBUFFER_ALLPARAMETERS - all levels are hundredths of decibels
NOTE: This structure may change in future EAX versions. It is recommended to initialize fields by name: myBuffer.lDirect = 0; myBuffer.lDirectHF = -200; ... myBuffer.dwFlags = myFlags /* see EAXBUFFERFLAGS below */ ; instead of: myBuffer = { 0, -200, ... , 0x00000003 };

TEaxListenerProperties

Sounds.OpenALImport

Use this structure for DSPROPERTY_EAXLISTENER_ALLPARAMETERS - all levels are hundredths of decibels - all times are in seconds - the reference for high frequency controls is 5 kHz
NOTE: This structure may change in future EAX versions. It is recommended to initialize fields by name: myListener.lRoom = -1000; myListener.lRoomHF = -100; ... myListener.dwFlags = myFlags /* see EAXLISTENERFLAGS below */ ; instead of: myListener = { -1000, -100, ... , 0x00000009 }; If you want to save and load presets in binary form, you should define your own structure to insure future compatibility.

TECCollider

GLS.EllipseCollision

TECColliderList

GLS.EllipseCollision

TECColliderShape

GLS.EllipseCollision

TECCollisionPacket

GLS.EllipseCollision

TECContact

GLS.EllipseCollision

TECContactList

GLS.EllipseCollision

TECFreeForm

GLS.EllipseCollision

Ellipsoid collision FreeForm

TECFreeFormList

GLS.EllipseCollision

TECMovePack

GLS.EllipseCollision

TECObjectInfo

GLS.EllipseCollision

Object collision properties

TECPlane

GLS.EllipseCollision

The Ellipsoid collision class

TECTriangle

GLS.EllipseCollision

Ellipsoid collision Triangle

TECTriMesh

GLS.EllipseCollision

Ellipsoid collision Mesh

TECTriMeshList

GLS.EllipseCollision

TEnumCallBack

GLS.PlugInManager

TEnumResourceNames

GLS.PlugInManager

TEulerOrder

GLS.VectorGeometry

—————————————————————————- Quaternion functions —————————————————————————-

TexPointArrayAdd

GLS.VectorGeometry

Adds delta to nb texpoints in src and places result in dest

TexPointArrayScaleAndAdd

GLS.VectorGeometry

TexPointCombine

GLS.VectorGeometry

Makes a linear combination of two texpoints

TexpointEquals

GLS.VectorGeometry

True if all components are equal.

TexPointLerp

GLS.VectorGeometry

Calculates linear interpolation between texpoint1 and texpoint2 at point t

TexPointMake

GLS.VectorGeometry

————————————————————————– Vector functions ————————————————————————–

TExtendedVector

GLS.VectorGeometry

TextureBlue

GLS.RandomHDS

TextureBrownSoil

GLS.RandomHDS

TextureDarkGray

GLS.RandomHDS

TextureDarkGreen

GLS.RandomHDS

TextureGreen

GLS.RandomHDS

TextureSand

GLS.RandomHDS

TextureWhite

GLS.RandomHDS

TEX_ALPHA_SOURCE

Formats.m3DSConst

summed area table

TEX_DECAL

Formats.m3DSConst

MAT_TILING

TEX_DONT_USE_ALPHA

Formats.m3DSConst

tint for color

TEX_INVERT

Formats.m3DSConst

TEX_MIRROR

Formats.m3DSConst

TEX_NOWRAP

Formats.m3DSConst

TEX_RGB_TINT

Formats.m3DSConst

don't use map alpha

TEX_SAT

Formats.m3DSConst

TEX_TINT

Formats.m3DSConst

use ALPHA instead of RGB of map

TEX_UNUSED1

Formats.m3DSConst

TEX_VERTS

Formats.m3DSConst

TEX_VERTS_ENTRY

Formats.m3DSConst

TF4

Formats.LWO

TF4Array

Formats.LWO

TF4DynArray

Formats.LWO

TFace3DS

Formats.m3DSTypes

Face List element

TFaceArray

Formats.m3DSTypes

TFaceList

Formats.m3DSTypes

TFallTrackTag

Formats.m3DSTypes

TFastCollisionChecker

GLS.Collision

TFColor3DS

Formats.m3DSTypes

RGB Color components

TFColorList

Formats.m3DSTypes

TFeedBackMeshLaunching

CUDA.Graphics

TFeedBackMeshPrimitive

CUDA.Graphics

TFGBezierSurface

GLS.ParametricSurfaces

A 3d bezier surface implemented through facegroups. The ControlPointIndices is an index to control points stored in the MeshObject.Vertices affine vector list. Similarly the TexCoordIndices point to the owner MeshObject.TexCoords, one for each control point. CountU and CountV define the width and height of the surface. Resolution sets the detail level of the mesh evaluation. MinU, MaxU, MinV and MaxV define the region of the surface to be rendered, this is especially useful for blending with neighbouring patches.

TFGBSPNode

GLS.MeshBSP

A node in the BSP tree. The description does not explicitly differentiates nodes and leafs, nodes are referred by their index.

TFGIndexTexCoordList

GLS.VectorFileObjects

Adds per index texture coordinates to its ancestor. Per index texture coordinates allows having different texture coordinates per triangle, depending on the face it is used in.

TFGPolygon

GLS.Portal

A portal polygon. This is the base class for portal polygons, the TFGPortalPolygon class implements the portal.

TFGPortalPolygon

GLS.Portal

A portal polygon. This is the base class for portal polygons, the TFGPortalPolygon class implements the portal.

TFGVertexIndexList

GLS.VectorFileObjects

A face group based on an indexlist. The index list refers to items in the mesh object (vertices, normals, etc.), that are all considered in sync, the render is obtained issueing the items in the order given by the vertices.

TFGVertexNormalTexIndexList

GLS.VectorFileObjects

Adds normals and texcoords indices. Allows very compact description of a mesh. The Normals ad TexCoords indices are optionnal, if missing (empty), VertexIndices will be used.

TFile3DS

Formats.m3DS

The main class that supplies the user with all available data from a specific 3DS file. The data is currently read only, but the class might be finished sometime later...

TFileB3D

Formats.B3D

TFileGLA

Formats.GL2

Ghoul2 Animation structure

TFileGLM

Formats.GL2

Ghoul2 Model structure

TFileMD2

Formats.MD2

TFileMD3

Formats.MD3

MD3 Main file class

TFileNMF

GLS.FileNMF

TFileSection

GLS.FilePAK

TFileSection

GLS.FileVfsPAK

TFileSection

GLS.FileZLIB

TFilterType3DS

Formats.m3DSTypes

TFindCuFileFunc

CUDA.Compiler

TFinishTaskEvent

GLS.Context

TFloatPercentage

Formats.m3DSTypes

TFloatVector

GLS.VectorGeometry

TFMetaDataCallback

Sounds.FMODtypes

TFModErrors

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] On failure of commands in FMOD, use FSOUND_GetError to attain what happened.
[SEE_ALSO] FSOUND_GetError ]

TFMusicCallback

Sounds.FMODtypes

TFMusicTypes

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These definitions describe the type of song being played.
[SEE_ALSO] FMUSIC_GetType ]

TFog

Formats.m3DSTypes

TFogDistance

GLS.Scene

Fog distance calculation mode. fdDefault: let OpenGL use its default formula fdEyeRadial: uses radial "true" distance (best quality) fdEyePlane: uses the distance to the projection plane (same as Z-Buffer, faster) Requires support of GL_NV_fog_distance extension, otherwise, it is ignored.

TFogMode

GLS.Scene

TFogSettings3DS

Formats.m3DSTypes

Fog atmosphere parameters

TFontEntry

GLS.SpaceText

TFontManager

GLS.SpaceText

Manages a list of fonts for which display lists were created.

TFOURCC

Formats.DXTC

TFovTrackTag

Formats.m3DSTypes

TFractionErosion

GLS.RandomHDS

TFrustum

GLS.VectorGeometry

TFSoundAllocCallback

Sounds.FMODtypes

TFSoundCloseCallback

Sounds.FMODtypes

TFSoundDSPCallback

Sounds.FMODtypes

TFSoundFreeCallback

Sounds.FMODtypes

TFSoundFXModes

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These values are used with FSOUND_FX_Enable to enable DirectX 8 FX for a channel.
[SEE_ALSO] FSOUND_FX_Enable FSOUND_FX_Disable FSOUND_FX_SetChorus FSOUND_FX_SetCompressor FSOUND_FX_SetDistortion FSOUND_FX_SetEcho FSOUND_FX_SetFlanger FSOUND_FX_SetGargle FSOUND_FX_SetI3DL2Reverb FSOUND_FX_SetParamEQ FSOUND_FX_SetWavesReverb ]

TFSoundMixerTypes

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These mixer types are used with FSOUND_SetMixer, to choose which mixer to use, or to act upon for other reasons using FSOUND_GetMixer. It is not necessary to set the mixer. FMOD will autodetect the best mixer for you.
[SEE_ALSO] FSOUND_SetMixer FSOUND_GetMixer ]

TFSoundOpenCallback

Sounds.FMODtypes

TFSoundOutputTypes

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These output types are used with FSOUND_SetOutput, to choose which output driver to use.
FSOUND_OUTPUT_DSOUND will not support hardware 3d acceleration if the sound card driver does not support DirectX 6 Voice Manager Extensions.
FSOUND_OUTPUT_WINMM is recommended for NT and CE.
[SEE_ALSO] FSOUND_SetOutput FSOUND_GetOutput ]

TFSoundReadCallback

Sounds.FMODtypes

TFSoundReallocCallback

Sounds.FMODtypes

TFSoundReverbChannelProperties

Sounds.FMODtypes

[STRUCTURE] [ [DESCRIPTION] Structure defining the properties for a reverb source, related to a FSOUND channel. For more indepth descriptions of the reverb properties under win32, please see the EAX3 documentation at http://developer.creative.com/ under the 'downloads' section. If they do not have the EAX3 documentation, then most information can be attained from the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of EAX2.
Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset. Note that integer values that typically range from -10,000 to 1000 are represented in decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear. PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox). Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then the reverb should product a similar effect on either platform. Linux and FMODCE do not support the reverb api.
The numerical values listed below are the maximum, minimum and default values for each variable respectively.
[SEE_ALSO] FSOUND_Reverb_SetChannelProperties FSOUND_Reverb_GetChannelProperties FSOUND_REVERB_CHANNELFLAGS ]

TFSoundReverbProperties

Sounds.FMODtypes

[STRUCT_START] [ [NAME] FSOUND_REVERB_PROPERTIES
[DESCRIPTION] Structure defining a reverb environment.
[REMARKS] For more indepth descriptions of the reverb properties under win32, please see the EAX2/EAX3 documentation at http://developer.creative.com/ under the 'downloads' section. If they do not have the EAX3 documentation, then most information can be attained from the EAX2 documentation, as EAX3 only adds some more parameters and functionality on top of EAX2. Note the default reverb properties are the same as the FSOUND_PRESET_GENERIC preset. Note that integer values that typically range from -10,000 to 1000 are represented in decibels, and are of a logarithmic scale, not linear, wheras float values are typically linear. PORTABILITY: Each member has the platform it supports in braces ie (win32/xbox). Some reverb parameters are only supported in win32 and some only on xbox. If all parameters are set then the reverb should product a similar effect on either platform. Only WIN32 supports the reverb api.
The numerical values listed below are the maximum, minimum and default values for each variable respectively.
[SEE_ALSO] FSOUND_Reverb_SetProperties FSOUND_Reverb_GetProperties FSOUND_REVERB_PRESETS FSOUND_REVERB_FLAGS ]

TFSoundSeekCallback

Sounds.FMODtypes

TFSoundSpeakerModes

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] These are speaker types defined for use with the FSOUND_SetSpeakerMode command. Note - Only reliably works with FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_XBOX output modes. Other output modes will only interpret FSOUND_SPEAKERMODE_MONO and set everything else to be stereo.
[SEE_ALSO] FSOUND_SetSpeakerMode
[REMARKS] Note - Only reliably works with FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_XBOX output modes. Other output modes will only interpret FSOUND_SPEAKERMODE_MONO and set everything else to be stereo.
Using either DolbyDigital or DTS will use whatever 5.1 digital mode is available if destination hardware is unsure. ]

TFSoundStreamCallback

Sounds.FMODtypes

Callback types

TFSoundStreamNetStatus

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] Status values for internet streams. Use FSOUND_Stream_Net_GetStatus to get the current status of an internet stream.
[SEE_ALSO] FSOUND_Stream_Net_GetStatus ]

TFSoundTagFieldType

Sounds.FMODtypes

[ENUM] [ [DESCRIPTION] Describes the type of a particular tag field.
[SEE_ALSO] FSOUND_Stream_GetNumTagFields FSOUND_Stream_GetTagField FSOUND_Stream_FindTagField ]

TFSoundTellCallback

Sounds.FMODtypes

TFSoundTOCTag

Sounds.FMODtypes

[STRUCTURE] [ [DESCRIPTION] Structure defining a CD table of contents. This structure is returned as a tag from FSOUND_Stream_FindTagField when the tag name "CD_TOC" is specified. Note: All tracks on the CD - including data tracks- will be represented in this structure so it's use for anything other than generating disc id information is not recommended. See the cdda example program for info on retrieving and using this structure.
[SEE_ALSO] FSOUND_Stream_Open FSOUND_Stream_FindTagField ]

TFSoundVector

Sounds.FMODtypes

TFullPos

GLS.Memo

TFXPointerList

GLS.ParticleFX

TGeomList

Physics.ODEImport

TGetDescription

GLS.PlugInManager

TGetLineAttrsEvent

GLS.Memo

TGetServices

GLS.PlugInManager

TGetTerrainBoundsEvent

GLS.TerrainRenderer

TGetVendor

GLS.PlugInManager

TGetVersion

GLS.PlugInManager

TGL1DPerlin

GLS.Perlin

TGL2DPerlin

GLS.Perlin

TGL2DPerlinOctav

GLS.Perlin

TGL3DSVectorFile

GLS.File3DS

The 3DStudio vector file. Uses an upgraded version if a 3DS import library by Mike Lischke. (http://www.lishcke-online.de). A 3DS file may contain material information and require textures when loading.

TGLABone

Formats.GL2

TGLAbsoluteHUDText

GLS.HUDObjects

Position (X, Y and X) is in absolute coordinates. This component converts them to screen coordinates and renderes text there.

TGLAbstractLibMaterial

GLS.Material

TGLAbstractLibMaterials

GLS.Material

TGLAbstractMaterialLibrary

GLS.Material

TGLAbstractMemoObject

GLS.Memo

TGLAbstractShaderUniform

GLS.MaterialEx

TGLAbstractTexture

GLS.MaterialEx

TGLAcceptMouseQuery

GLS.Windows

TGLACompQuatBone

Formats.GL2

TGLActiveAttrib

GLSL.Shader

TGLActiveAttribArray

GLSL.Shader

TGLActor

GLS.VectorFileObjects

Mesh class specialized in animated meshes. The TGLActor provides a quick interface to animated meshes based on morph or skeleton frames, it is capable of performing frame interpolation and animation blending (via TGLAnimationControler components).

TGLActorAnimation

GLS.VectorFileObjects

An actor animation sequence. An animation sequence is a named set of contiguous frames that can be used for animating an actor. The referred frames can be either morph or skeletal frames (choose which via the Reference property). An animation can be directly "played" by the actor by selecting it with SwitchAnimation, and can also be "blended" via a TGLAnimationControler.

TGLActorAnimationMode

GLS.VectorFileObjects

Defines how an actor plays between its StartFrame and EndFrame. aamNone : no animation is performed aamPlayOnce : play from current frame to EndFrame, once end frame has been reached, switches to aamNone aamLoop : play from current frame to EndFrame, once end frame has been reached, sets CurrentFrame to StartFrame aamBounceForward : play from current frame to EndFrame, once end frame has been reached, switches to aamBounceBackward aamBounceBackward : play from current frame to StartFrame, once start frame has been reached, switches to aamBounceForward aamExternal : Allows for external animation control

TGLActorAnimationName

GLS.VectorFileObjects

TGLActorAnimationReference

GLS.VectorFileObjects

TGLActorAnimations

GLS.VectorFileObjects

Collection of actor animations sequences.

TGLActorFrameInterpolation

GLS.VectorFileObjects

Actor frame-interpolation mode. - afpNone : no interpolation, display CurrentFrame only - afpLinear : perform linear interpolation between current and next frame

TGLActorOption

GLS.VectorFileObjects

Miscellanious actor options. aoSkeletonNormalizeNormals : if set the normals of a skeleton-animated mesh will be normalized, this is not required if no normals-based texture coordinates generation occurs, and thus may be unset to improve performance.

TGLActorOptions

GLS.VectorFileObjects

TGLActorProxy

GLS.ProxyObjects

A proxy object specialized for Actors.

TGLActorProxyAnimationMode

GLS.ProxyObjects

pamLoop mode was too difficalt to implement, so it was discarded ...for now. pamPlayOnce only works if Actor.AnimationMode <> aamNone.

TGLAdvancedBlurImagePrepareEvent

GLS.Blur

TGLAdvancedLabel

GLS.Windows

TGLAHeader

Formats.GL2

TGlAlphaFunc

GLS.Material

TGLAngleLimit180

GLS.Objects

TGLAngleLimit360

GLS.Objects

TGLAnimatedSprite

GLS.AnimatedSprite

An animated version for using offset texture coordinate animation.

TGLAnimationControler

GLS.VectorFileObjects

Controls the blending of an additionnal skeletal animation into an actor. The animation controler allows animating an actor with several animations at a time, for instance, you could use a "run" animation as base animation (in TGLActor), blend an animation that makes the arms move differently depending on what the actor is carrying, along with an animation that will make the head turn toward a target.

TGLAnimationNameProperty

GLS.SceneRegister

TGLAnnulus

GLS.GeomObjects

An annulus is a cylinder that can be made hollow (pipe-like)

TGLAnnulusPart

GLS.GeomObjects

TGLAnnulusParts

GLS.GeomObjects

TGLAntiAliasing

GLS.Context

TGLApplicationFileIO

GLS.ApplicationFileIO

Allows specifying a custom behaviour for CreateFileStream. The component should be considered a helper only, you can directly specify a function via the vAFIOCreateFileStream variable. If multiple ApplicationFileIO components exist in the application, the last one created will be the active one.

TGLApplicationResource

GLS.ApplicationFileIO

TGLARBFragmentProgramHandle

GLS.Context

TGLARBGeometryProgramHandle

GLS.Context

TGLARBProgramHandle

GLS.Context

TGLARBVertexProgramHandle

GLS.Context

TGLArcDirection

GLS.Canvas

TGLArchiveFileFormatsList

GLS.ArchiveManager

The list of registered classes

TGLArray

GLS.OpenGLVCL

TGLArrowArc

GLS.GeomObjects

Draws an arrowhead (Sliced Torus + cone). The arrow head is a cone that shares the attributes of the Torus (ie stacks/slices, materials etc). This is useful for displaying a movement (eg twist) or other arc arrows that might be required. By default the bottom arrow is off

TGLArrowArcPart

GLS.GeomObjects

TGLArrowHeadStyle

GLS.GeomObjects

TGLArrowLine

GLS.GeomObjects

Draws an arrowhead (cylinder + cone). The arrow head is a cone that shares the attributes of the cylinder (ie stacks/slices, materials etc). Seems to work ok. This is useful for displaying a vector based field (eg velocity) or other arrows that might be required. By default the bottom arrow is off

TGLArrowLinePart

GLS.GeomObjects

TGLArrowLineParts

GLS.GeomObjects

TGLASEFace

GLS.FileASE

ASE mesh face

TGLASEFaceList

GLS.FileASE

ASE mesh faces list

TGLASEFaceTexure

GLS.FileASE

maximum texture maps face texture channel indices

TGLASEFaceTexureChannels

GLS.FileASE

face texture channels

TGLASEMaterial

GLS.FileASE

TGLASEMaterialList

GLS.FileASE

TGLASEMaterialTextureMap

GLS.FileASE

TGLASEMaterialTextureMaps

GLS.FileASE

TGLASEMeshObject

GLS.FileASE

ASE geom object, represents single mesh object; contains: vertices, faces, verice indices, faces and vertices normals, channels of texture coordinates and indices, scaling and location info; this object used only to store ASE data temporary to copy supported piece of it into GLScene TGLMeshObject

TGLASESmoothingGroups

GLS.FileASE

TGLASESubMaterial

GLS.FileASE

TGLASESubMaterialList

GLS.FileASE

TGLASEVectorFile

GLS.FileASE

ASE vector file parser

TGLASkeleton

Formats.GL2

TGLASkeletonOffsets

Formats.GL2

14 bytes

TGLAsmShader

GLSL.AsmShader

TGLAsmShaderEvent

GLSL.AsmShader

TGLAsmShaderParameter

GLSL.AsmShader

TGLAsmShaderUnUplyEvent

GLSL.AsmShader

TGLASMVertexProgram

GLS.MaterialEx

TGLAsyncHDS

GLS.AsyncHDS

TGLAsyncHDThread

GLS.AsyncHDS

TGLAsyncTimer

GLS.AsyncTimer

Asynchronous timer component (actual 1 ms resolution, if CPU fast enough). Keep in mind timer resolution is obtained in-between events, but events are not triggered every x ms. For instance if you set the interval to 5 ms, and your Timer event takes 1 ms to complete, Timer events will actually be triggered every 5+1=6 ms (that's why it's "asynchronous"). This component is based on ThreadedTimer by Carlos Barbosa.

TGLAtmosphere

GLS.Atmosphere

TGLAtmosphereBlendingMode

GLS.Atmosphere

With atmosphere options: - aabmOneMinusSrcAlpha is transparent to other objects, but has problems, which are best seen when the Atmosphere radius is big; - bmOneMinusDstColor atmosphere doesn't have these problems, but offers limited transparency (when you look closely on the side).

TGLAVectorFile

GLS.FileGL2

TGLAVIRecorder

GLS.AVIRecorder

Component to make it easy to record GLScene frames into an AVI file.

TGLB3DVectorFile

GLS.FileB3D

TGLBAcceleration

GLS.Behaviours

Applies a constant acceleration to a TGLBInertia.

TGLBallAndSocketJoint

Physics.SPIJoints

TGLBaseAnimationControler

GLS.VectorFileObjects

Base class for skeletal animation control.

TGLBaseArchive

GLS.ArchiveManager

BaseArchive class

TGLBaseArchiveClass

GLS.ArchiveManager

TGLBaseBehaviour

GLS.Scene

Base class for implementing behaviours in TGLScene. Behaviours are regrouped in a collection attached to a TGLBaseSceneObject, and are part of the "Progress" chain of events. Behaviours allows clean application of time-based alterations to objects (movements, shape or texture changes...). Since behaviours are implemented as classes, there are basicly two kinds of strategies for subclasses : stand-alone : the subclass does it all, and holds all necessary data (covers animation, inertia etc.) proxy : the subclass is an interface to and external, shared operator (like gravity, force-field effects etc.)
Some behaviours may be cooperative (like force-fields affects inertia) or unique (e.g. only one inertia behaviour per object). NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function

TGLBaseComponent

GLS.Windows

TGLBaseConnectivity

GLS.Silhouette

TGLBaseControl

GLS.Windows

TGLBaseCustomGLSLBumpShader

GLSL.BumpShaders

An abstract class.

TGLBaseCustomGLSLBumpShaderMT

GLSL.BumpShaders

An abstract class.

TGLBaseCustomGLSLDiffuseSpecular

GLSL.DiffuseSpecularShader

Abstract class.

TGLBaseFontControl

GLS.Windows

TGLBaseForceFieldEmitter

Physics.SPIManager

A base for different types of force-field behaviours

TGLBaseGLSLDiffuseSpecularShaderMT

GLSL.DiffuseSpecularShader

Abstract class.

TGLBaseGuiObject

GLS.Gui

TGLBaseImage

GLS.Graphics

TGLBaseImageClass

GLS.Graphics

TGLBaseInertia

Physics.SPIManager

purpose of TGLBaseInertia is to allow for inertias that may be constrained to 1 or 2 dimensions Shouldn't be used directly, instead use TGLParticleInertia (for a 3D particle) TGLRigidBodyInertia (for a 3D rigid-body) or define a new sub-class e.g. TGL1DParticleInertia, this will allow for faster speed

TGLBaseJoint

Physics.SPIJoints

// // Joint(Z1) Joint(Z3) // / \ |_| (Wrist) // / \/\ // // / / \ \ // // / / \ \(1) //(2) // Link(0) / / \ \ // // / / \ \ // // / / \ \ // // / / \/\/ // Joint(Z0)/ / \/ // |——| Joint(Z2) // | Base | // ——————————————– // X(n) = Common normal between joint axis Z(n-1) & Z(n)

TGLBaseLink

Physics.SPIJoints

TGLBaseMaterialCollectionItem

GLS.MaterialEx

TGLBaseMesh

GLS.VectorFileObjects

Base class for mesh objects.

TGLBaseMeshConnectivity

GLS.BaseMeshSilhouette

TGLBaseMeshObject

GLS.VectorFileObjects

A base class for mesh objects. The class introduces a set of vertices and normals for the object but does no rendering of its own

TGLBasePerlin

GLS.Perlin

TGLBasePerlinOctav

GLS.Perlin

TGLBaseRandomHDS

GLS.RandomHDS

This class introduces all the basic properties of random landscape. No method implemented though. It is used as a descendant for - TGLCustomRandomLandscape: one tile landscape (cyclic or not) - TGLTiledRndLandscape: "infinite" landscapes (grids of TGLCustomRandomLandscape)

TGLBaseSceneObject

GLS.Scene

Base class for all scene objects. A scene object is part of scene hierarchy (each scene object can have multiple children), this hierarchy primarily defines transformations (each child coordinates are relative to its parent), but is also used for depth-sorting, bounding and visibility culling purposes. Subclasses implement either visual scene objects (that are made to be visible at runtime, like a Cube) or structural objects (that influence rendering or are used for varied structural manipulations, like the ProxyObject). To add children at runtime, use the AddNewChild method of TGLBaseSceneObject; other children manipulations methods and properties are provided (to browse, move and delete them). Using the regular TComponent methods is not encouraged

TGLBaseSceneObjectSelectionEditor

GLS.SceneRegister

Selection editor for TGLBaseSceneObject. Allows units to be added to the uses clause automatically when behaviours/effects are added to a TGLBaseSceneObject at design-time.

TGLBaseSelectTechnique

GLS.Selection

TGLBaseSelectTechniqueClass

GLS.Selection

TGLBaseShaderModel

GLS.MaterialEx

TGLBaseSoundSource

GLS.Sound

Base class for origin of sound playback.

TGLBaseSpritePFXManager

GLS.ParticleFX

Base class for sprite-based particles FX managers. The particles are made of optionally centered single-textured quads.

TGLBaseTextControl

GLS.Windows

TGLBaseVerletNode

GLS.VerletTypes

Basic Verlet Node

TGLBCollision

GLS.Collision

Collision detection behaviour. Allows an object to register to a TCollisionManager and be accounted for in collision-detection and distance calculation mechanisms. An object may have multiple TGLBCollision, registered to multiple collision managers, however if multiple behaviours share the same manager, only one of them will be accounted for, others will be ignored.

TGLBehaviour

GLS.Scene

Ancestor for non-rendering behaviours. This class shall never receive any properties, it's just here to differentiate rendereing and non-rendering behaviours. Rendereing behaviours are named "TGLEffect", non-rendering effects (like inertia) are simply named "TGLBehaviour".

TGLBehaviourClass

GLS.Scene

TGLBehaviours

GLS.Scene

Holds a list of TGLBehaviour objects. This object expects itself to be owned by a TGLBaseSceneObject. As a TXCollection (and contrary to a TCollection), this list can contain objects of varying class, the only constraint being that they should all be TGLBehaviour subclasses.

TGLBExplosionFX

GLS.ExplosionFx

TGLBFireFX

GLS.FireFX

Fire special effect. This effect works as a client of TFireFXManager

TGLBFPSMovement

GLS.FPSMovement

TGLBigMatrix

GLS.VectorTypesExt

TGLBigMatrixExt

GLS.VectorTypesExt

replace with BigDecimals

TGLBinaryReader

GLS.PersistentClasses

Wraps a TReader-compatible reader.

TGLBinaryWriter

GLS.PersistentClasses

Wraps a TWriter-compatible writer.

TGLBInertia

GLS.Behaviours

Simple translation and rotation Inertia behaviour. Stores translation and rotation speeds, to which you can apply accelerations. Note that the rotation model is not physical, so feel free to contribute a "realworld" inertia class with realistic, axis-free, rotation inertia if this approximation does not suits your needs :).

TGLbitfield

GLS.VectorTypes

TGLBitmap32

GLS.Graphics

TGLBitmapFont

GLS.BitmapFont

See TGLCustomBitmapFont. This class only publuishes some of the properties.

TGLBitmapFontRange

GLS.BitmapFont

An individual character range in a bitmap font. A range allows mapping ASCII characters to character tiles in a font bitmap, tiles are enumerated line then column (raster).

TGLBitmapFontRanges

GLS.BitmapFont

TGLBitmapHDS

GLS.HeightData

Bitmap-based Height Data Source. The image is automatically wrapped if requested data is out of picture Size, or if requested data is larger than the picture. The internal format is an 8 bit bitmap whose dimensions are a power of two, if the original image does not comply, it is StretchDraw'ed on a monochrome (gray) bitmap.

TGLBlankImage

GLS.Texture

A texture image with no specified content, only a size. This texture image type is of use if the context of your texture is calculated at run-time (with a TGLMemoryViewer for instance).

TGLBlankTIE

GLS.TextureImageEditors

TGLBlendedLerpInfo

GLS.VectorFileObjects

Small structure to store a weighted lerp for use in blending

TGLBlendEquation

GLS.State

TGLBlendFunction

GLS.State

TGLBlendingMode

GLS.Material

Simplified blending options. bmOpaque : disable blending bmTransparency : uses standard alpha blending bmAdditive : activates additive blending (with saturation) bmAlphaTest50 : uses opaque blending, with alpha-testing at 50% (full transparency if alpha is below 0.5, full opacity otherwise) bmAlphaTest100 : uses opaque blending, with alpha-testing at 100% bmModulate : uses modulation blending bmCustom : uses TGLBlendingParameters options

TGLBlendingModeEx

GLSL.CustomShader

Adds two more blending modes to standard ones. Not sure how to name them or if they should be included in TBlending mode, so I created a new type here.

TGLBlendingParameters

GLS.Material

TGLBlur

GLS.Blur

TGLBlurkind

GLS.Blur

TGLBlurPreset

GLS.Blur

TGLBMPImage

GLS.FileBMP

TGLboolean

GLS.VectorTypes

=========== OpenGL types ============

TGLBooleanOcclusionQueryHandle

GLS.Context

TGLBoxRec

GLS.VectorTypesExt

TGLBSoundEmitter

GLS.Sound

A sound emitter behaviour, plug it on any object to make it noisy. This behaviour is just an interface to a TGLSoundSource, for editing convenience.

TGLBThorFX

GLS.ThorFX

Thor special effect

TGLBuffer

GLS.OpenGLVCL

TGLBufferBindingTarget

GLS.State

TGLBufferI

GLS.OpenGLVCL

TGLBufferObjectHandle

GLS.Context

Manages a handle to a Buffer Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user.

TGLBufferU

GLS.OpenGLVCL

TGLBufferV

GLS.OpenGLVCL

TGLBumpmapHDS

GLS.BumpmapHDS

An Height Data Source that generates elevation bumpmaps automatically. The HDS must be connected to another HDS, which will provide the elevation data, and to a MaterialLibrary where bumpmaps will be placed.

TGLBumpShader

GLSL.BumpShaders

A generic bump shader.

TGLButton

GLS.Windows

TGLBVectorFile

GLS.FileGLB

The GLB binary glTF format is a runtime asset delivery format for GL APIs: WebGL, OpenGL ES OpenGL and Vulkan.

TGLbyte

GLS.VectorTypes

TGLCadenceAbleComponent

GLS.BaseClasses

A base class describing the "cadenceing" interface.

TGLCadencedComponent

GLS.Cadencer

TGLCadencer

GLS.Cadencer

This component allows auto-progression of animation. Basicly dropping this component and linking it to your TGLScene will send it real-time progression events (time will be measured in seconds) while keeping the CPU 100% busy if possible (ie. if things change in your scene). The progression time (the one you'll see in you progression events) is calculated using (CurrentTime-OriginTime)*TimeMultiplier, CurrentTime being either manually or automatically updated using TimeReference (setting CurrentTime does NOT trigger progression).

TGLCadencerMode

GLS.Cadencer

Determines how the TGLCadencer operates. - cmManual : you must trigger progress manually (in your code) - cmASAP : progress is triggered As Soon As Possible after a previous progress (uses windows messages). - cmApplicationIdle : will hook Application.OnIdle, this will overwrite any previous event handle, and only one cadencer may be in this mode.

TGLCadencerTimeReference

GLS.Cadencer

Determines which time reference the TGLCadencer should use. - cmRTC : the Real Time Clock is used (precise over long periods, but not accurate to the millisecond, may limit your effective framerate to less than 50 FPS on some systems) - cmPerformanceCounter : the windows performance counter is used (nice precision, may derive over long periods, this is the default option as it allows the smoothest animation on fast systems) - cmExternal : the CurrentTime property is used

TGLCamera

GLS.Scene

Camera object. This object is commonly referred by TGLSceneViewer and defines a position, direction, focal length, depth of view... all the properties needed for defining a point of view and optical characteristics.

TGLCameraController

GLS.CameraController

TGLCameraInvarianceMode

GLS.Scene

TGLCameraInvariantObject

GLS.Scene

Base class for camera invariant objects. Camera invariant objects bypass camera settings, such as camera position (object is always centered on camera) or camera orientation (object always has same orientation as camera).

TGLCameraJob

GLS.CameraController

TGLCameraJobEvent

GLS.CameraController

TGLCameraJobList

GLS.CameraController

TGLCameraKeepFOVMode

GLS.Scene

TGLCameraStyle

GLS.Scene

TGLCanvas

GLS.Canvas

A simple Canvas-like interface for OpenGL. This class implements a small "shell" for 2D operations in OpenGL, it operates over the current OpenGL context and provides methods for drawing lines, ellipses and points. This class is typically used by creating an instance, using it for drawing, and freeing the instance. When drawing (0, 0) is the top left corner. All coordinates are internally maintained with floating point precision. Several states are cached and it is of primary importance not to invoke OpenGL directly throughout the life of an instance (at the cost of unespected behaviour).

TGLCapsule

GLS.GeomObjects

Capsule object, can also be used to make truncated cones

TGLCapType

GLS.Objects

TGLCelShader

GLSL.ShapeShaders

A generic cel shader.

TGLCelShaderGetIntensity

GLSL.ShapeShaders

An event for user defined cel intensity.

TGLCelShaderOption

GLSL.ShapeShaders

A shader that applies cel shading through a vertex program and shade definition texture. Cel shading options: csoOutlines: Render a second outline pass. csoTextured: Allows for a primary texture that the cel shading is modulated with and forces the shade definition to render as a second texture.

TGLCelShaderOptions

GLSL.ShapeShaders

TGLCgBombShaderTextureSource

Cg.BombShader

TGLCGPostTransformationShader

Cg.PostTransformationShader

TGLchar

GLS.VectorTypes

TGLCheckBox

GLS.Windows

TGLclampd

GLS.VectorTypes

TGLClipRect

GLS.GeometryBB

TGLCollisionManager

GLS.Collision

TGLCollisionState

GLS.FPSMovement

TGLCollisionStates

GLS.FPSMovement

TGLColor

GLS.Color

Wraps an OpenGL color.

TGLColorComponent

GLS.State

TSingleCullFaceMode = cmFront..cmBack;

TGLColorDepth

GLS.Scene

TGLColorEntry

GLS.Color

TGLColorManager

GLS.Color

TGLColorMask

GLS.State

TGLColorProperty

GLS.SceneRegister

TGLColorProxy

GLS.ProxyObjects

A proxy object with its own color. This proxy object can have a unique color. Note that multi-material objects (Freeforms linked to a material library f.i.) won't honour the color.

TGLColorVector

GLS.Color

TGLComparisonFunction

GLS.State

TGLCompositeImage

GLS.CompositeImage

TGLCone

GLS.GeomObjects

A cone object

TGLConePart

GLS.GeomObjects

TGLConeParts

GLS.GeomObjects

TGLConeSP

GLS.SpacePartition

Describes a cone, and is used for cone collision

TGLConnectivity

GLS.Silhouette

TGLConsole

GLS.Console

TGLConsoleCommand

GLS.Console

A wrapper for a console command.

TGLConsoleCommandList

GLS.Console

TGLConsoleControls

GLS.Console

TGLConsoleMatchList

GLS.Console

TGLConsoleOption

GLS.Console

TGLConsoleOptions

GLS.Console

remove quotes when a command line is parsed

TGLConsoleStringList

GLS.Console

A class that checks for duplicates.

TGLContactPoint

GLS.FPSMovement

TGLContext

GLS.Context

Wrapper around an OpenGL rendering context. The aim of this class is to offer platform-independant initialization, activation and management of OpenGL rendering context. The class also offers notifications event and error/problems detection. This is a virtual abstract a class, and platform-specific subclasses must be used. All rendering context share the same lists

TGLContextAcceleration

GLS.Context

TGLContextClass

GLS.Context

TGLContextHandle

GLS.Context

Wrapper around an OpenGL context handle. This wrapper also takes care of context registrations and data releases related to context releases an cleanups. This is an abstract class, use the TGLListHandle and TGLTextureHandle subclasses

TGLContextLayer

GLS.Context

TGLContextManager

GLS.Context

Stores and manages all the TGLContext objects.

TGLContextNotification

GLS.Context

TGLContextOption

GLS.Scene

Options for the rendering context. roSoftwareMode: force software rendering. roDoubleBuffer: enables double-buffering. roRenderToWindows: ignored (legacy). roTwoSideLighting: enables two-side lighting model. roStereo: enables stereo support in the driver (dunno if it works, I don't have a stereo device to test...) roDestinationAlpha: request an Alpha channel for the rendered output roNoColorBuffer: don't request a color buffer (color depth setting ignored) roNoColorBufferClear: do not clear the color buffer automatically, if the whole viewer is fully repainted each frame, this can improve framerate roNoSwapBuffers: don't perform RenderingContext.SwapBuffers after rendering roNoDepthBufferClear: do not clear the depth buffer automatically. Useful for early-z culling. roForwardContext: force OpenGL forward context

TGLContextOptions

GLS.Scene

TGLContour

GLS.MultiPolygon

TGLContourClass

GLS.MultiPolygon

TGLContourNodes

GLS.MultiPolygon

TGLContours

GLS.MultiPolygon

TGLCoordinates

GLS.Coordinates

TGLCoordinates2

GLS.Coordinates

A TGLCustomCoordinates that publishes X, Y properties.

TGLCoordinates3

GLS.Coordinates

A TGLCustomCoordinates that publishes X, Y, Z properties.

TGLCoordinates4

GLS.Coordinates

A TGLCustomCoordinates that publishes X, Y, Z, W properties.

TGLCoordinatesProperty

GLS.SceneRegister

TGLCoordinatesStyle

GLS.Coordinates

Identifies the type of data stored within a TGLCustomCoordinates. csPoint2D : a simple 2D point (Z=0, W=0) csPoint : a point (W=1) csVector : a vector (W=0) csUnknown : no constraint

TGLCoordinatesUpdateAbleComponent

GLS.Coordinates

TGLCube

GLS.Objects

A simple cube object. This cube use the same material for each of its faces, ie. all faces look the same. If you want a multi-material cube, use a mesh in conjunction with a TGLFreeForm and a material library. Ref: https://mathworld.wolfram.com/Cube.html

TGLCubeMapImage

GLS.Texture

A texture image used for specifying and stroing a cube map. Not unlike TGLPictureImage, but storing 6 of them instead of just one. Saving & loading as a whole currently not supported.

TGLCubeMapTarget

GLS.Texture

TGLCubePart

GLS.Objects

TGLCubeParts

GLS.Objects

TGLCUDA

CUDA.APIComps

TGLCUDACompiler

CUDA.Compiler

TGLCUDACompilerEditor

CUDA.PropEditors

TGLCUDACompilerOutput

CUDA.Compiler

TGLCUDACompilerSourceProperty

CUDA.PropEditors

TGLCUDADevice

CUDA.Context

TGLCUDADeviceProperty

CUDA.PropEditors

TGLCUDAEditor

CUDA.PropEditors

TGLCUDAEditorForm

CUDA.EditorFm

TGLCUDARealArch

CUDA.Compiler

sm_10 ISA_1 Basic features sm_11 + atomic memory operations on global memory sm_12 + atomic memory operations on shared memory + vote instructions sm_13 + double precision floating point support sm_20 + FERMI support. sm_21 + Unknown

TGLCUDARealArchs

CUDA.Compiler

TGLCUDAVirtArch

CUDA.Compiler

compute_10 Basic features compute_11 + atomic memory operations on global memory compute_12 + atomic memory operations on shared memory + vote instructions compute_13 + double precision floating point support Compute_20 + FERMI support

TGLCullFaceMode

GLS.State

TGLCustomAsmShader

GLSL.AsmShader

TGLCustomAtmosphere

GLS.Atmosphere

This class imitates an atmosphere around a planet

TGLCustomBitmapFont

GLS.BitmapFont

Provides access to individual characters in a BitmapFont. Only fixed-width bitmap fonts are supported, the characters are enumerated in a raster fashion (line then column). Transparency is all or nothing, the transparent color being that of the top left pixel of the Glyphs bitmap. Performance note: as usual, for best performance, you base font bitmap dimensions should be close to a power of two, and have at least 1 pixel spacing between characters (horizontally and vertically) to avoid artefacts when rendering with linear filtering.

TGLCustomCadencedComponent

GLS.Cadencer

Adds a property to connect/subscribe to a cadencer.

TGLCustomCGPostTransformationShader

Cg.PostTransformationShader

TGLCustomConsole

GLS.Console

TGLCustomControl

GLS.Windows

TGLCustomCoordinates

GLS.Coordinates

Stores any homogeneous vector. This class is basicly a container for a TGLVector, allowing proper use of property editors and editing in the IDE. Vector/Coordinates manipulation methods are only minimal. Handles dynamic default values to save resource file space.

TGLCustomGLSLBumpShader

GLSL.BumpShaders

TGLCustomGLSLBumpShaderAM

GLSL.BumpShaders

One Light shaders.

TGLCustomGLSLBumpShaderMT

GLSL.BumpShaders

TGLCustomGLSLDiffuseSpecularShader

GLSL.DiffuseSpecularShader

******** Single Light ************

TGLCustomGLSLDiffuseSpecularShaderMT

GLSL.DiffuseSpecularShader

TGLCustomGLSLFurShader

GLSL.ShapeShaders

Custom class for Fur Shader

TGLCustomGLSLGlassShader

GLSL.ShapeShaders

Custom class for Glass shader: Environment mapping and refraction mapping using the fresnel terms

TGLCustomGLSLIvoryShader

GLSL.ShapeShaders

Custom class for a shader that simulate Ivory Material

TGLCustomGLSLLatticeShader

GLSL.ShapeShaders

Custom class for GLSLLatticeShader. A shader that simulate Lattice with Diffuse/Specular and support Texture

TGLCustomGLSLMLBumpShader

GLSL.BumpShaders

MultiLight shaders.

TGLCustomGLSLMLBumpShaderMT

GLSL.BumpShaders

TGLCustomGLSLMLDiffuseSpecularShader

GLSL.DiffuseSpecularShader

TGLCustomGLSLMLDiffuseSpecularShaderMT

GLSL.DiffuseSpecularShader

TGLCustomGLSLPostBlurShader

GLSL.PostShaders

Custom class for GLSLPostBlurShader. A shader that blurs the entire scene

TGLCustomGLSLPostDreamVisionShader

GLSL.PostShaders

Custom class for GLSLPostDreamVisionShader. A shader that simulate a grayscale threshold vision (aka dream) of the entire scene

TGLCustomGLSLPostFrostShader

GLSL.PostShaders

Custom class for GLSLPostFrostShader. A shader that frost of the entire scene

TGLCustomGLSLPostNightVisionShader

GLSL.PostShaders

Custom class for GLSLPostNightVisionShader. A shader that simulate a Night Vision of the scene throw a mask if enabled, or of the entire scene

TGLCustomGLSLPostPixelateShader

GLSL.PostShaders

Custom class for GLSLPostPixelateShader. A shader that pixelate of the entire scene

TGLCustomGLSLPostPosterizeShader

GLSL.PostShaders

Custom class for GLSLPostPosterizeShader. A shader that posterize of the entire scene

TGLCustomGLSLPostThermalVisionShader

GLSL.PostShaders

A shader that simulate a Thermal Vision of the entire scene

TGLCustomGLSLPostTroubleShader

GLSL.PostShaders

Custom class for GLSLPostTroubleShader. A shader that trouble of the entire scene. v2 This Shader is experimental it can do smooth the scene or double the scene and it's depends of PixelX, PixelY and Freq values if they are less than 1 or greater the effects will be very different

TGLCustomGLSLSemShader

GLSL.ShapeShaders

Custom class for SEM Shader : Spherical Environment Mapping

TGLCustomGLSLShader

GLSL.Shader

TGLCustomGLSLSimpleErosionShader

GLSL.ShapeShaders

Custom class for a shader that Erode surface object

TGLCustomGLSLSimpleGoochShader

GLSL.ShapeShaders

Custom class for Gooch Shader

TGLCustomGLSLSimpleLatticeShader

GLSL.ShapeShaders

Custom class for a shader that simulate Lattice

TGLCustomGLSLToonShader

GLSL.ShapeShaders

Custom class for Toon Shader

TGLCustomGLSLVertexDisplacementShader

GLSL.ShapeShaders

VertexDisplacement shader: Basic Vertex Displacement with Perlin Noise You can Improved it: The vertex displacement can be done by reading a 2D or 3D texture. It can be done along the normal or the tangent. It can be scaled, twisted, modulated, inverted... Converted from : https://www.clicktorelease.com/blog/vertex-displacement-noise-3d-webgl-glsl-three-js At this time only one light source is supported

TGLCustomHDS

GLS.HeightData

An Height Data Source for custom use. Provides event handlers for the various requests to be implemented application-side (for application-specific needs).

TGLCustomPFXManager

GLS.ParticleFX

A particles FX manager offering events for customization/experimentation. This manager essentially surfaces the PFX methods as events, and is best suited when you have specific particles that don't fall into any existing category, or when you want to experiment with particles and later plan to wrap things up in a full-blown manager. If the events aren't handled, nothing will be rendered.

TGLCustomRandomHDS

GLS.RandomHDS

Base structure for all random landscape objects. It can't be used directly since its BuildHeightField procedure is abstract. Use one of its descendants instead.

TGLCustomRenderEvent

GLS.Windows

TGLCustomSceneObject

GLS.Scene

Extended base scene object class with a material property. The material allows defining a color and texture for the object, see TGLMaterial

TGLCustomShader

GLSL.CustomShader

A pure abstract class, must be overriden.

TGLCustomShaderCombiner

GLSL.ShaderCombiner

TGLCustomShaderParameter

GLSL.CustomShader

Wrapper around a parameter of the main program.

TGLCustomSpritePFXManager

GLS.ParticleFX

A sprite-based particles FX managers using user-specified code to prepare the texture

TGLCylinder

GLS.GeomObjects

Cylinder object, can also be used to make truncated cones

TGLCylinderAlignment

GLS.GeomObjects

TGLCylinderBase

GLS.GeomObjects

Base class to cylinder-like objects that introduces the basic cylinder description properties. Be aware teh default slices and stacks make up for a high-poly cylinder, unless you're after high-quality lighting it is recommended to reduce the Stacks property to 1.

TGLCylinderPart

GLS.GeomObjects

TGLCylinderParts

GLS.GeomObjects

TGLDamping

GLS.Behaviours

Holds parameters for a basic damping model by calculating a force from the speed, this force can then be transformed to an acceleration is you know the object's mass. Formulas: damping = constant + linear * Speed + quadratic * Speedˆ2 accel = damping / Mass That's just basic physics. A note on the components: constant: use it for solid friction (will stop abruptly an object after decreasing its speed. linear: linear friction damping. quadratic: expresses viscosity

TGLDampingFieldEmitter

Physics.SPIFields

TGLDataFile

GLS.ApplicationFileIO

Abstract base class for data file formats interfaces. This class declares base file-related behaviours, ie. ability to load/save from a file or a stream. It is highly recommended to overload ONLY the stream based methods, as the file-based one just call these, and stream-based behaviours allow for more enhancement (such as other I/O abilities, compression, cacheing, etc.) to this class, without the need to rewrite subclasses.

TGLDataFileCapabilities

GLS.ApplicationFileIO

TGLDataFileCapability

GLS.ApplicationFileIO

TGLDataFileClass

GLS.ApplicationFileIO

TGLDCEDynamic

GLS.DCE

TGLDCEManager

GLS.DCE

The Dynamic Collision Engine Manager class

TGLDCEStatic

GLS.DCE

TGLDDSDetailLevels

GLS.FileDDS

TGLDDSImage

GLS.FileDDS

TGLDEBUGPROCARB

GLS.OpenGLTokens

TGLDelaunay2D

GLS.Triangulation

TGLDelaunay2D is a class for Delaunay triangulation of arbitrary points Credit to Paul Bourke (http://paulbourke.net/) for the original Fortran 77 Program :)) Conversion to Visual Basic by EluZioN (EluZioN@casesladder.com) Conversion from VB to Delphi6 by Dr Steve Evans (steve@lociuk.com) June 2002 Update by Dr Steve Evans: Heap memory allocation added to prevent stack overflow when MaxVertices and MaxTriangles are very large. Additional Updates in June 2002: Bug in InCircle function fixed. Radius r := Sqrt(rsqr). Check for duplicate points added when inserting new point. For speed, all points pre-sorted in x direction using quicksort algorithm and triangles flagged when no longer needed. The circumcircle centre and radius of the triangles are now stored to improve calculation time. You can use this code however you like providing the above credits remain in tact

TGLDelphiWebScript

DWS.Script

This class only adds manager registration logic to the TDelphiWebScriptII class to enable the XCollection items (ie. TGLScriptDWS) retain it's assigned compiler from design to run -time.

TGLDELVectorFile

GLS.FileDEL

The DEL vector file (tetrahedra irregular network)

TGLDepthCompareFunc

GLS.Texture

Specifies the depth comparison function.

TGLDepthFunction

GLS.State

TGLDepthPrecision

GLS.Scene

TGLDepthProperties

GLS.Material

TGLDepthRBO

GLS.FBORenderer

TGLDepthTextureMode

GLS.Texture

Specifies how depth values should be treated during filtering and texture application

TGLDim

GLS.VectorTypesExt

TGLDirectOpenGL

GLS.Scene

Provides a way to issue direct OpenGL calls during the rendering. You can use this object to do your specific rendering task in its OnRender event. The OpenGL calls shall restore the OpenGL states they found when entering, or exclusively use the GLMisc utility functions to alter the states.

TGLDirectRenderEvent

GLS.Scene

Event for user-specific rendering in a TGLDirectOpenGL object.

TGLDisk

GLS.GeomObjects

A Disk object that may not be complete, it can have a hole (controlled by the InnerRadius property) and can only be a slice (controlled by the StartAngle and SweepAngle properties).

TGLDisplayOptions

GLS.Screen

TGLDodecahedron

GLS.GeomObjects

The dodecahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

TGLdouble

GLS.VectorTypes

TGLDstBlendFunction

GLS.State

TGLDummyCube

GLS.Objects

A simple cube, invisible at run-time. This is a usually non-visible object -except at design-time- used for building hierarchies or groups, when some kind of joint or movement mechanism needs be described, you can use DummyCubes. DummyCube's barycenter is its children's barycenter. The DummyCube can optionnally amalgamate all its children into a single display list (see Amalgamate property).

TGLDWSActiveBehaviour

DWS.Objects

A DelphiWebScript enabled behaviour. This behaviour also calls on the OnProgress and OnBeginProgram procedures in the script if they are found. Once compiled and executed the program remains active until killed, deactivated or the script is invalidated.

TGLDXFVectorFile

GLS.FileDXF

TGLDynamicImposterBuilder

GLS.Imposter

TGLDynamicPFXManager

GLS.ParticleFX

An abstract PFX manager for simple dynamic particles. Adds properties and progress implementation for handling moving particles (simple velocity and const acceleration integration).

TGLDynamicTextureImage

GLS.DynamicTexture

Allows for fast updating of the texture at runtime

TGLEarthSkyDome

GLS.SkyDome

Render a skydome like what can be seen on earth. Color is based on sun position and turbidity, to "mimic" atmospheric Rayleigh and Mie scatterings. The colors can be adjusted to render weird/exoplanet atmospheres too. The default slices/stacks values make for an average quality rendering, for a very clean rendering, use 64/64 (more is overkill in most cases). The complexity is quite high though, making a T&L 3D board a necessity for using TGLEarthSkyDome.

TGLEdge

GLS.VerletClothify

TGLEdgeDetector

GLS.VerletClothify

TGLEdgeList

GLS.VerletClothify

TGLEdit

GLS.Windows

TGLEffect

GLS.Scene

A rendering effect that can be applied to SceneObjects. ObjectEffect is a subclass of behaviour that gets a chance to Render an object-related special effect. TGLEffect should not be used as base class for custom effects, instead you should use the following base classes : TGLObjectPreEffect is rendered before owner object render TGLObjectPostEffect is rendered after the owner object render TGLObjectAfterEffect is rendered at the end of the scene rendering NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function

TGLEffectClass

GLS.Scene

TGLEffects

GLS.Scene

Holds a list of object effects. This object expects itself to be owned by a TGLBaseSceneObject.

TGLEnabledRenderBuffer

GLS.FBORenderer

———————– GLS.FBORenderer classes ————————–

TGLEnabledRenderBuffers

GLS.FBORenderer

TGLenum

GLS.VectorTypes

TGLEParticleMask

GLS.EParticleMasksManager

TGLEParticleMasks

GLS.EParticleMasksManager

TGLEParticleMasksManager

GLS.EParticleMasksManager

TGLEProjectedParticleMask

GLS.EParticleMasksManager

TGLExtendedFrustum

GLS.SpacePartition

Extended frustum, used for fast intersection testing

TGLExtensionsAndEntryPoints

GLS.OpenGLAdapter

TGLExtrusionSolid

GLS.Extrusion

Extrudes a complex Polygon into Z direction. For contour description see TGLMultiPolygonBase. properties Parts, Height (or should we better cal it Depth, because its in Z?), Stacks, Normals and NormalDirection are equivalent to TGLRevolutionSolid. If Normals=nsSmooth and the angle between two consecutive normals along the contour is less than MinSmoothAngle, smoothing is done, otherweise flat normals are used. This makes it possible to have smooth normals on sharp edged contours.

TGLExtrusionSolidPart

GLS.Extrusion

TGLExtrusionSolidParts

GLS.Extrusion

TGLFace

GLS.VerletClothify

Class that represents a face. This structure is not used for rendering, but for extracting info from meshes

TGLFaceCulling

GLS.Material

TGLFaceExtractor

GLS.VerletClothify

Class that extracts faces from a GLBaseMesh

TGLFaceGroup

GLS.VectorFileObjects

Describes a face group of a TGLMeshObject. Face groups should be understood as "a way to use mesh data to render a part or the whole mesh object". Subclasses implement the actual behaviours, and should have at least one "Add" method, taking in parameters all that is required to describe a single base facegroup element.

TGLFaceGroupConnectivity

GLS.BaseMeshSilhouette

TGLFaceGroupMeshMode

GLS.VectorFileObjects

Known descriptions for face group mesh modes. - fgmmTriangles : issue all vertices with GL_TRIANGLES. - fgmmTriangleStrip : issue all vertices with GL_TRIANGLE_STRIP. - fgmmFlatTriangles : same as fgmmTriangles, but take advantage of having the same normal for all vertices of a triangle. - fgmmTriangleFan : issue all vertices with GL_TRIANGLE_FAN. - fgmmQuads : issue all vertices with GL_QUADS.

TGLFaceGroups

GLS.VectorFileObjects

A list of TGLFaceGroup objects.

TGLFaceList

GLS.VerletClothify

List of faces

TGLFaceProperties

GLS.Material

Stores basic face lighting properties. The lighting is described with the standard ambient/diffuse/emission/specular properties that behave like those of most rendering tools. You also have control over shininess (governs specular lighting) and polygon mode (lines / fill).

TGLFaceRec

GLS.VectorTypesExt

TGLFaceWinding

GLS.State

Describe what kind of winding has a front face

TGLFBOClearOption

GLS.FBORenderer

TGLFBOClearOptions

GLS.FBORenderer

TGLFBORenderer

GLS.FBORenderer

TGLFBOTargetVisibility

GLS.FBORenderer

TGLFeedback

GLS.Feedback

An object encapsulating the OpenGL feedback rendering mode.

TGLFeedbackMode

GLS.Feedback

TGLFile3DSActor

GLS.File3DSSceneObjects

TGLFile3DSAnimationData

GLS.File3DS

A record that holds all the information that is used during 3ds animation.

TGLFile3DSAnimationKeyList

GLS.File3DS

TGLFile3DSAnimationKeys

GLS.File3DS

An abstract class that describes how to interpolate animation keys.

TGLFile3DSAnimKeysClassType

GLS.File3DS

Used only for serialization. There probably is a more efficient way to do it.

TGLFile3DSCamera

GLS.File3DSSceneObjects

TGLFile3DSCameraObject

GLS.File3DS

A 3ds-specific camera.

TGLFile3DSColorAnimationKeys

GLS.File3DS

TGLFile3DSDummyObject

GLS.File3DS

A 3ds-specific TGLMorphableMeshObject.

TGLFile3DSFreeForm

GLS.File3DSSceneObjects

TGLFile3DSLight

GLS.File3DSSceneObjects

TGLFile3DSLightHotSpotAnimationKeys

GLS.File3DS

TGLFile3DSMeshObject

GLS.File3DS

A 3ds-specific mesh object.

TGLFile3DSOmniLightObject

GLS.File3DS

A 3ds-specific omni light.

TGLFile3DSPositionAnimationKeys

GLS.File3DS

TGLFile3DSRollAnimationKeys

GLS.File3DS

TGLFile3DSRotationAnimationKeys

GLS.File3DS

TGLFile3DSScaleAnimationKeys

GLS.File3DS

TGLFile3DSSpotLightCutOffAnimationKeys

GLS.File3DS

TGLFile3DSSpotLightObject

GLS.File3DS

A 3ds-specific spot light.

TGLFireFXManager

GLS.FireFX

Fire special effect manager. Defines the looks and behaviour of a particle system that can be made to look fire-like.

TGLFireParticle

GLS.FireFX

TGLFireParticleArray

GLS.FireFX

TGLFixedFunctionProperties

GLS.MaterialEx

TGLFlareElement

GLS.LensFlare

TGLFlareElements

GLS.LensFlare

TGLFlareGradient

GLS.LensFlare

The actual gradients between two colors are, of course, calculated by OpenGL. The start and end colors of a gradient are stored to represent the color of lens flare elements.

TGLFlatText

GLS.BitmapFont

A 2D text displayed and positionned in 3D coordinates. The FlatText uses a character font defined and stored by a TGLBitmapFont component. Default character scale is 1 font pixel = 1 space unit.

TGLFlatTextOption

GLS.BitmapFont

TGLFlatTextOptions

GLS.BitmapFont

TGLfloat

GLS.VectorTypes

TGLFocusControl

GLS.Windows

TGLFogEnvironment

GLS.Scene

Parameters for fog environment in a scene. The fog descibed by this object is a distance-based fog, ie. the "intensity" of the fog is given by a formula depending solely on the distance, this intensity is used for blending to a fixed color.

TGLForce

Physics.SPIForces

TGLForces

Physics.SPIManager

TGLForceType

Physics.SPIForces

TGLForm

GLS.Windows

TGLFormCanClose

GLS.Windows

TGLFormCanRequest

GLS.Windows

TGLFormCloseOptions

GLS.Windows

TGLFormMove

GLS.Windows

TGLFormNotify

GLS.Windows

TGLFPSMovementManager

GLS.FPSMovement

TGLFractalArchipelago

GLS.RandomHDS

TGLFractalHDS

GLS.RandomHDS

Random landscape based on the middle-point displacement algorithm

TGLFragmentProgram

GLSL.CustomShader

TGLFragmentShaderHandle

GLS.Context

Manages a handle to a Fragment Shader Object

TGLFrameBuffer

GLS.FBORenderer

TGLFrameBufferAttachment

GLS.MaterialEx

TGLFramebufferHandle

GLS.Context

Manages a handle to a Framebuffer Object (FBO). Framebuffer objects provide a way of drawing to rendering destinations other than the buffers provided to the GL by the window-system. One or more "framebuffer-attachable images" can be attached to a Framebuffer for uses such as: offscreen rendering, "render to texture" + "multiple render targets" (MRT). There are several types of framebuffer-attachable images: - The image of a renderbuffer object, which is always 2D. - A single level of a 1D texture, which is treated as a 2D image with a height of one. - A single level of a 2D or rectangle texture. - A single face of a cube map texture level, which is treated as a 2D image. - A single layer of a 1D or 2D array texture or 3D texture, which is treated as a 2D image. Additionally, an entire level of a 3D texture, cube map texture, or 1D or 2D array texture can be attached to an attachment point. Such attachments are treated as an array of 2D images, arranged in layers, and the corresponding attachment point is considered to be layered

TGLFramebufferStatus

GLS.Context

TGLFreeForm

GLS.VectorFileObjects

Container objects for a vector file mesh. FreeForms allows loading and rendering vector files (like 3DStudio ".3DS" file) in GLScene. Meshes can be loaded with the LoadFromFile method. A FreeForm may contain more than one mesh, but they will all be handled as a single object in a scene.

TGLFreeFormProxy

GLS.ProxyObjects

A proxy object specialized for FreeForms.

TGLFrustrum

GLS.GeomObjects

A frustrum is a pyramid with the top chopped off. The height of the imaginary pyramid is ApexHeight, the height of the frustrum is Height. If ApexHeight and Height are the same, the frustrum degenerates into a pyramid. Height cannot be greater than ApexHeight.

TGLFrustrumPart

GLS.GeomObjects

TGLFrustrumParts

GLS.GeomObjects

TGLFullScreenResolution

GLS.SceneForm

Defines how GLSceneForm will handle fullscreen request fcWindowMaximize: Use current resolution (just maximize form and hide OS bars) fcNearestResolution: Change to nearest valid resolution from current window size fcManualResolution: Use FFullScreenVideoMode settings

TGLFullScreenVideoMode

GLS.SceneForm

Screen mode settings

TGLFullScreenViewer

GLS.FullScreenViewer

A FullScreen viewer. This non visual viewer will, when activated, use the full screen as rendering surface. It will also switch/restore videomode depending on the required width/height. This is performed by creating an underlying TForm and using its surface for rendering OpenGL, "decent" ICDs will automatically use PageFlipping instead of BlockTransfer (slower buffer flipping mode used for windowed OpenGL). Note: if you terminate the application either via a kill or in the IDE, the original resolution isn't restored.

TGLGameMenu

GLS.GameMenu

Classic game menu interface made of several lines.

TGLGameMenuScale

GLS.GameMenu

TGLGeometryProgram

GLSL.CustomShader

TGLGeometryShaderHandle

GLS.Context

Manages a handle to a Geometry Shader Object

TGLGizmo

GLS.Gizmo

TGLGizmoAcceptEvent

GLS.Gizmo

TGLGizmoAxis

GLS.Gizmo

TGLGizmoElement

GLS.Gizmo

TGLGizmoElements

GLS.Gizmo

TGLGizmoEx

GLS.GizmoEx

TGLGizmoExAcceptEvent

GLS.GizmoEx

TGLGizmoExActionHistoryCollection

GLS.GizmoEx

TGLGizmoExActionHistoryItem

GLS.GizmoEx

TGLGizmoExAxis

GLS.GizmoEx

TGLGizmoExAxisSelected

GLS.GizmoEx

TGLGizmoExObjectCollection

GLS.GizmoEx

TGLGizmoExObjectItem

GLS.GizmoEx

TGLGizmoExOperation

GLS.GizmoEx

TGLGizmoExOperationMode

GLS.GizmoEx

TGLGizmoExPickMode

GLS.GizmoEx

TGLGizmoExReferenceCoordinateSystem

GLS.GizmoEx

TGLGizmoExSelectionRegion

GLS.GizmoEx

TGLGizmoExSelRec

GLS.GizmoEx

TGLGizmoExUIArrowLine

GLS.GizmoEx

TGLGizmoExUIDisk

GLS.GizmoEx

TGLGizmoExUIFlatText

GLS.GizmoEx

TGLGizmoExUIFrustrum

GLS.GizmoEx

Gizmo objects

TGLGizmoExUILines

GLS.GizmoEx

TGLGizmoExUIPolygon

GLS.GizmoEx

TGLGizmoExUISphere

GLS.GizmoEx

TGLGizmoExUITorus

GLS.GizmoEx

TGLGizmoExVisibleInfoLabel

GLS.GizmoEx

TGLGizmoExVisibleInfoLabels

GLS.GizmoEx

TGLGizmoOperation

GLS.Gizmo

TGLGizmoPickCube

GLS.Gizmo

TGLGizmoPickMode

GLS.Gizmo

TGLGizmoPickTorus

GLS.Gizmo

TGLGizmoRayCastHitData

GLS.Gizmo

TGLGizmoUndoCollection

GLS.Gizmo

TGLGizmoUndoItem

GLS.Gizmo

TGLGizmoUpdateEvent

GLS.Gizmo

TGLGizmoVisibleInfoLabel

GLS.Gizmo

TGLGizmoVisibleInfoLabels

GLS.Gizmo

TGLGRDVectorFile

GLS.FileGRD

The GRD file represents ascii grid formats in 2D/3D. This is a format for storing regular grid values as a matrices of cell centers. The format supports variations and subformats. This importer works for Sutfer, ArcInfo and GMS formats

TGLgsInTypes

GLSL.ShaderParameter

TGLgsOutTypes

GLSL.ShaderParameter

TGLGTSVectorFile

GLS.FileGTS

The GTS vector file (GNU Triangulated Surface library). It is a simple text format, with indexed vertices. The first line contains the number of vertices, the number of edges and the number of faces separated by spaces. Following lines contain the x/y/z coordinates of vertices, then the edges (two indices) and the faces (three indices). http://gts.sourceforge.net/

TGLGuiComponent

GLS.Gui

TGLGuiComponentList

GLS.Gui

TGLGuiComponentName

GLS.Gui

TGLGuiElement

GLS.Gui

TGLGuiElementList

GLS.Gui

TGLGuiElementName

GLS.Gui

TGLGuiLayout

GLS.Gui

TGLGUILayoutEditor

GLS.SceneRegister

TGLhalf

GLS.VectorTypes

TGLhandleARB

GLS.VectorTypes

TGLHDRImage

GLS.FileHDR

TGLHeightData

GLS.HeightData

TGLHeightData = class (TObject)

TGLHeightDataClass

GLS.HeightData

TGLHeightDataPostRenderEvent

GLS.TerrainRenderer

TGLHeightDataSource

GLS.HeightData

Base class for height datasources. This class is abstract and presents the standard interfaces for height data retrieval (TGLHeightData objects). The class offers the following features (that a subclass may decide to implement or not, what follow is the complete feature set, check subclass doc to see what is actually supported): Pooling / Cacheing (return a TGLHeightData with its "Release" method) Pre-loading : specify a list of TGLHeightData you want to preload Multi-threaded preload/queueing : specified list can be loaded in a background task.

TGLHeightDataSourceFilter

GLS.HeightData

Height Data Source Filter. This component sits between the TGLTerrainRenderer, and a real TGLHeightDataSource. i.e. TGLTerrainRenderer links to this. This links to the real TGLHeightDataSource. Use the 'HeightDataSource' property, to link to a source HDS. The 'OnSourceDataFetched' event then gives you the opportunity to make any changes, or link in a texture to the TGLHeightData object, BEFORE it is cached. It bypasses the cache of the source HDS, by calling the source's StartPreparingData procedure directly. The TGLHeightData objects are then cached by THIS component, AFTER you have made your changes. This eliminates the need to copy and release the TGLHeightData object from the Source HDS's cache, before linking your texture. See the new version of TGLBumpmapHDS for an example. (LIN) To create your own HDSFilters, Derive from this component, and override the PreparingData procedure.

TGLHeightDataState

GLS.HeightData

Possible states for a TGLHeightData. hdsQueued : the data has been queued for loading hdsPreparing : the data is currently loading or being prepared for use hdsReady : the data is fully loaded and ready for use hdsNone : the height data does not exist for this tile

TGLHeightDataThread

GLS.HeightData

A thread specialized for processing TGLHeightData in background. Requirements: must have FreeOnTerminate set to true, must check and honour Terminated swiftly

TGLHeightDataType

GLS.HeightData

Determines the type of data stored in a TGLHeightData. There are 3 data types (8 bits unsigned, signed 16 bits and 32 bits). Conversions: (128*(ByteValue-128)) = SmallIntValue = Round(SingleValue). The 'hdtDefault' type is used for request only, and specifies that the default type for the source should be used.

TGLHeightDataUser

GLS.HeightData

TGLHeightField

GLS.Graph

Renders a sampled height-field. HeightFields are used to materialize z=f(x, y) surfaces, you can use it to render anything from math formulas to statistics. Most important properties of an height field are its sampling scales (X & Y) that determine the extents and the resolution of the base grid. The component will then invoke it OnGetHeight event to retrieve Z values for all of the grid points (values are retrieved only once for each point). Each point may have an additionnal color and texture coordinate.

TGLHeightFieldColorMode

GLS.Graph

TGLHeightFieldGetHeight2Event

GLS.Graph

TGLHeightFieldGetHeightEvent

GLS.Graph

TGLHeightFieldOption

GLS.Graph

TGLHeightFieldOptions

GLS.Graph

TGLHeightTile

GLS.HeightTileFileHDS

TGLHeightTileFile

GLS.HeightTileFileHDS

Interfaces a Tiled file

TGLHeightTileFileHDS

GLS.HeightTileFileHDS

—————- TGLHeightTileFileHDS class ———————– An Height Data Source for the HTF format.

TGLHeightTileInfo

GLS.HeightTileFileHDS

TGLHexahedron

GLS.GeomObjects

The hexahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

TGLHiddenLineShader

GLSL.LineShaders

TGLHintType

GLS.State

TGLHookesSpring

Physics.SPIForces

TGLHookesString

Physics.SPIForces

TGLHUDSprite

GLS.HUDObjects

A rectangular area, NOT perspective projected. (x, y) coordinates map directly to the viewport (in pixels) and refer the center of the area. The coordinate system is that of an equivalent TCanvas, ie. top-left point is the origin (0, 0). The z component is ignored and Z-Buffer is disabled when rendering. Using TGLHUDSprite in 2D only scenes : The most convenient way to use a TGLHUDSprite as a simple 2D sprite with blending capabilities (transparency or additive), is to set the texture mode to tmModulate, in FrontProperties, to use the Emission color to control coloring/intensity, and finally use the Diffuse color's alpha to control transparency (while setting the other RGB components to 0). You can also control aplha-blending by defining a <1 value in the sprite's AlphaChannel field. This provides you with hardware accelerated, alpha-blended blitting. Note : since TGLHUDSprite works in absolute coordinates, TGLProxyObject can't be used to duplicate an hud sprite.

TGLHUDText

GLS.HUDObjects

A 2D text displayed and positionned in 2D coordinates. The HUDText uses a character font defined and stored by a TGLBitmapFont component. The text can be scaled and rotated (2D), the layout and alignment can also be controled.

TGLIcosahedron

GLS.GeomObjects

The icosahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

TGLIDTFVectorFile

GLS.File3DPDF

The IDTF vector file (Intermediate Data Text File). Used for converting to IDTF -> U3D -> 3D PDF

TGLImage

GLS.Graphics

Contains and manipulates a 32 bits (24+8) bitmap. This is the base class for preparing and manipulating textures in GLS.Scene, this function does not rely on a windows handle and should be used for in-memory manipulations only. 16 bits textures are automatically converted to 24 bits and an opaque (255) alpha channel is assumed for all planes, the byte order is as specified in GL_RGBA. If 32 bits is used in this class, it can however output 16 bits texture data for use in OpenGL. The class has support for registering its content as a texture, as well as for directly drawing/reading from the current OpenGL buffer.

TGLImageClassProperty

GLS.SceneRegister

TGLImageDataFormat

Formats.DXTC

TGLImageLevelDesc

GLS.Graphics

TGLImageLODRange

GLS.Graphics

TGLImagePiramid

GLS.Graphics

TGLImmaterialSceneObject

GLS.Scene

Base class for objects that do not have a published "material". Note that the material is available in public properties, but isn't applied automatically before invoking BuildList. Subclassing should be reserved to structural objects and objects that have no material of their own.

TGLImposter

GLS.Imposter

TGLImposterBuilder

GLS.Imposter

Abstract ImposterBuilder class.

TGLInertiaTensor

Physics.SPIInertias

Stores Inertia Tensor for TGLRigidBodyInertia model

TGLInfoForm

FmInfo

TGLInitializableObjectList

GLS.Scene

Just a list of objects that support IGLInitializable.

TGLint

GLS.VectorTypes

TGLint64

GLS.VectorTypes

TGLint64EXT

GLS.VectorTypes

TGLInterfacedCollectionItem

GLS.PersistentClasses

TCollectionItem thet inplements IInterface.

TGLInterfacedPersistent

GLS.PersistentClasses

TPersistent that inplements IInterface.

TGLInternalCompression

GLS.TextureFormat

Texture compression option. If OpenGL supports it, this will activate a compressed texture format: tcDefault : uses global default compression option tcNone : do not use compression tcStandard : use standard compression, average quality, average rate tcHighQuality : choose a high-quality, low-speed compression tcHighSpeed : choose a high-speed, low-quality compression

TGLInternalFormat

GLS.TextureFormat

TGLInterpolationType

GLS.VectorGeometry

TGLintptr

GLS.VectorTypes

the size of these depend on platform (32bit or 64bit)

TGLIsoline

GLS.Isolines

TGLIsolines

GLS.Isolines

TGLIsolineState

GLS.Isolines

TGLJoint

Physics.SPIJoints

TGLJoystick

GLS.Joystick

A component interfacing the Joystick via the (regular) windows API.

TGLJPEGImage

GLS.FileJPEG

TGLLabel

GLS.Windows

TGLLandTile

GLS.RandomHDS

TMapOfLandscapes :array of array of TGLBaseRandomHDS;

TGLLanguage

GLS.Language

Class TGLLanguage is used only for downloading and translation, as in the final product it's no need for the text processing

TGLLanguageEntry

GLS.Language

TGLLanguageEntryArray

GLS.Language

TGLLanguageExt

GLS.Language

Advanced class is designed for loading and processing, will be useful for language editors

TGLLayoutEditorForm

FmGuiLayoutEditor

TGLlConsoleEvent

GLS.Console

Event called when used presses the "Enter"

TGLLensFlare

GLS.LensFlare

TGLLibAsmProgNameProperty

GLS.SceneRegister

TGLLibAttachmentNameProperty

GLS.SceneRegister

TGLLibCombinerNameProperty

GLS.SceneRegister

TGLLibMaterial

GLS.Material

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).

TGLLibMaterialEx

GLS.MaterialEx

TGLLibMaterialName

GLS.Material

TGLLibMaterialNameProperty

GLS.SceneRegister

TGLLibMaterialPickerForm

FLibMaterialPicker

TGLLibMaterialPickerForm

FmLibMaterialPicker

TGLLibMaterialProperty

GLS.MaterialEx

TGLLibMaterials

GLS.Material

A collection of materials, mainly used in material libraries.

TGLLibMaterialsEx

GLS.MaterialEx

TGLLibSamplerNameProperty

GLS.SceneRegister

TGLLibShaderNameProperty

GLS.SceneRegister

TGLLibTextureNameProperty

GLS.SceneRegister

TGLLifeColoredPFXManager

GLS.ParticleFX

Base PFX manager for particles with life colors. Particles have a core and edge color, for subclassing.

TGLLightSource

GLS.Scene

Standard light source. The standard GLScene light source covers spotlights, omnidirectionnal and parallel sources (see TLightStyle). Lights are colored, have distance attenuation parameters and are turned on/off through their Shining property. Lightsources are managed in a specific object by the TGLScene for rendering purposes. The maximum number of light source in a scene is limited by the OpenGL implementation (8 lights are supported under most ICDs), though the more light you use, the slower rendering may get. If you want to render many more light/lightsource, you may have to resort to other techniques like lightmapping.

TGLLightSourceEnum

GLSL.CustomShader

TGLLightSourceSet

GLSL.CustomShader

TGLLightSourceState

GLS.State

TGLLightStyle

GLS.Scene

Defines the various styles for lightsources. lsSpot : a spot light, oriented and with a cutoff zone (note that if cutoff is 180, the spot is rendered as an omni source) lsOmni : an omnidirectionnal source, punctual and sending light in all directions uniformously lsParallel : a parallel light, oriented as the light source is (this type of light can help speed up rendering)

TGLLimitType

GLS.Scene

IDs for limit determination

TGLLineBase

GLS.Objects

Base class for line objects. Introduces line style properties (width, color...)

TGLLineNodesAspect

GLS.Objects

Possible aspects for the nodes of a TLine.

TGLLineParticle

GLS.LinePFX

Linear particle.

TGLLinePFXManager

GLS.LinePFX

Polygonal particles FX manager. The particles of this manager are made of N-face regular polygon with a core and edge color. No texturing is available. If you render large particles and don't have T&L acceleration, consider using TGLPointLightPFXManager.

TGLLines

GLS.Objects

Set of 3D line segments. You define a 3D Line by adding its nodes in the "Nodes" property. The line may be rendered as a set of segment or as a curve (nodes then act as spline control points). Alternatively, you can also use it to render a set of spacial nodes (points in space), just make the lines transparent and the nodes visible by picking the node aspect that suits you.

TGLLineSettings

GLSL.LineShaders

TGLLinesNode

GLS.Objects

Specialized Node for use in a TGLLines objects. Adds a Color property (TGLColor) }

TGLLinesNodes

GLS.Objects

Specialized collection for Nodes in a TGLLines objects. Stores TGLLinesNode items

TGLLinesOption

GLS.Objects

TGLLinesOptions

GLS.Objects

TGLLineSplineMode

GLS.Objects

Available spline modes for a TLine.

TGLLink

Physics.SPIJoints

Links are mainly for used for Serial-Link manipulators Direct & Inverse Kinematics algorithms are planned

TGLListHandle

GLS.Context

Manages a handle to a display list

TGLLMTSVectorFile

GLS.FileLMTS

TGLLODStreamingState

GLS.Graphics

TGLLogicOp

GLS.State

TGLLWOVectorFile

GLS.FileLWO

TGLMagFilter

GLS.Texture

TGLMapCollection

GLS.FPSMovement

TGLMapCollectionItem

GLS.FPSMovement

TGLMapCollectionItemClass

GLS.FPSMovement

TGLMarchingCube

GLS.Isosurface

TGLMat

GLS.VectorTypesExt

TGLMat2D

GLS.VectorTypesExt

TGLMat2DArray

GLS.VectorTypesExt

Matrix Arrays

TGLMat2DType

GLS.VectorTypesExt

———————– Matrix types ———————–

TGLMat3D

GLS.VectorTypesExt

TGLMat3DArray

GLS.VectorTypesExt

TGLMat3DType

GLS.VectorTypesExt

TGLMaterial

GLS.Material

Describes a rendering material. A material is basically a set of face properties (front and back) that take care of standard material rendering parameters (diffuse, ambient, emission and specular) and texture mapping. An instance of this class is available for almost all objects in GLScene to allow quick definition of material properties. It can link to a TGLLibMaterial (taken for a material library). The TGLLibMaterial has more advanced properties (like texture transforms) and provides a standard way of sharing definitions and texture maps.

TGLMaterialComponentName

GLS.MaterialEx

TGLMaterialComponentNameProperty

GLS.SceneRegister

TGLMaterialEditorForm

FmMaterialEditor

TGLMaterialLevel

GLS.State

TGLMaterialLibrary

GLS.Material

Stores a set of materials, to be used and shared by scene objects. Use a material libraries for storing commonly used materials, it provides an efficient way to share texture and material data among many objects, thus reducing memory needs and rendering time. Materials in a material library also feature advanced control properties like texture coordinates transforms.

TGLMaterialLibraryEditor

GLS.SceneRegister

Editor for material library.

TGLMaterialLibraryEx

GLS.MaterialEx

TGLMaterialLibraryItem

GLS.MaterialScript

TGLMaterialLibraryItems

GLS.MaterialScript

TGLMaterialMultiProxy

GLS.MaterialMultiProxy

Multiple Proxy object. This proxy has multiple Master objects, which are individually made visible depending on a Distance to the camera criterion. It can be used to implement discreet level of detail directly for static objects, or objects that go through cyclic animation. For dimensionsn raycasting and silhouette purposes, the first Master is used (item zero in the MasterObjects collection).

TGLMaterialMultiProxyMaster

GLS.MaterialMultiProxy

MasterObject description for a MultiProxy object.

TGLMaterialMultiProxyMasters

GLS.MaterialMultiProxy

Collection of TGLMaterialMultiProxyMaster.

TGLMaterialOption

GLS.Material

Control special rendering options for a material. moIgnoreFog : fog is deactivated when the material is rendered

TGLMaterialOptions

GLS.Material

TGLMaterialProperty

GLS.SceneRegister

TGLMaterialProxy

GLS.ProxyObjects

A proxy object with its own material. This proxy object can take a mesh from one master and a materia from a material library.

TGLMaterialScripter

GLS.MaterialScript

TGLMatLibComponents

GLS.MaterialEx

TGLMatrix

GLS.VectorTypes

TGLMD2VectorFile

GLS.FileMD2

The MD2 vector file (Quake2 actor file). Stores a set of "frames" describing the different postures of the actor, it may be animated by TGLActor. The "Skin" must be loaded indepentendly (the whole mesh uses a single texture bitmap). Based on code by Roger Cao.

TGLMD3VectorFile

GLS.FileMD3

TGLMD5VectorFile

GLS.FileMD5

TGLMDCVectorFile

GLS.FileMDC

TGLMemoryViewer

GLS.Scene

Component to render a scene to memory only. This component curently requires that the OpenGL ICD supports the WGL_ARB_pbuffer extension (indirectly).

TGLMesh

GLS.Mesh

Basic mesh object. Each mesh holds a set of vertices and a Mode value defines how they make up the mesh (triangles, strips...)

TGLMesh2DArray

GLS.VectorTypesExt

TGLMesh2DVert

GLS.VectorTypesExt

————————– Mesh simple record types ————————–

TGLMesh3DArray

GLS.VectorTypesExt

TGLMesh3DVert

GLS.VectorTypesExt

TGLMeshAutoCentering

GLS.VectorFileObjects

TGLMeshAutoCenterings

GLS.VectorFileObjects

TGLMeshLines

GLS.MeshLines

TGLMeshMode

GLS.Mesh

TGLMeshMorphTarget

GLS.VectorFileObjects

A morph target, stores alternate lists of vertices and normals.

TGLMeshMorphTargetList

GLS.VectorFileObjects

A list of TGLMeshMorphTarget objects.

TGLMeshNormalsOrientation

GLS.VectorFileObjects

Determines how normals orientation is defined in a mesh. - mnoDefault : uses default orientation - mnoInvert : inverse of default orientation - mnoAutoSolid : autocalculate to make the mesh globally solid - mnoAutoHollow : autocalculate to make the mesh globally hollow

TGLMeshObject

GLS.VectorFileObjects

Base mesh class. Introduces base methods and properties for mesh objects. Subclasses are named "TGLMOxxx".

TGLMeshObjectList

GLS.VectorFileObjects

A list of TGLMeshObject objects.

TGLMeshObjectListClass

GLS.VectorFileObjects

TGLMeshObjectMode

GLS.VectorFileObjects

TGLMeshObjectRenderingOption

GLS.VectorFileObjects

Rendering options per TGLMeshObject.moroGroupByMaterial : if set, the facegroups will be rendered by material in batchs, this will optimize rendering by reducing material switches, but also implies that facegroups will not be rendered in the order they are in the list

TGLMeshObjectRenderingOptions

GLS.VectorFileObjects

TGLMeshObjectVerletNode

GLS.VerletClothify

TGLMeshOptimizerOption

GLS.MeshBuilder

—————- Mesh optimization routines —————

TGLMeshOptimizerOptions

GLS.MeshBuilder

TGLMeshPrimitive

GLS.State

TGLMeshPrimitives

GLS.State

TGLMHeader

Formats.GL2

TGLMinFilter

GLS.Texture

TGLMirror

GLS.Mirror

A simple plane mirror. This mirror requires a stencil buffer for optimal rendering! The object is a mix between a plane and a proxy object, in that the plane defines the mirror's surface, while the proxy part is used to reference the objects that should be mirrored (it is legal to self-mirror, but no self-mirror visuals will be rendered). It is strongly recommended to read and understand the explanations in the materials/mirror demo before using this component.

TGLMirrorOption

GLS.Mirror

TGLMirrorOptions

GLS.Mirror

TGLMLODInfo

Formats.GL2

TGLMLODs

Formats.GL2

TGLMLODSurfaceOffsets

Formats.GL2

TGLMorphableMeshObject

GLS.VectorFileObjects

Mesh object with support for morph targets. The morph targets allow to change vertices and normals according to pre-existing "morph targets".

TGLMotionBlur

GLS.Blur

This component blurs everything thatis rendered BEFORE it. So if you want part of your scene blured, the other not blured, make sure that the other part is rendered after this component. It is fast and does not require shaders. Note: it is FPS-dependant. Also also can produce a "blury trail effect", which stays on the screen until something new is rendered over it. It can be overcome by changing the Material.FrontProperties.Diffuse property. This, however, also has a drawback - the picture becomes more blured altogether. For example, if your backgroud color is Black, set the Material.FrontProperties.Diffuse to White. If it is White, set Material.FrontProperties.Diffuse to Black. I haven't tried any others, but I hope you get the idea ;) I've seen this effect in different Bruring components, even in shaders, but if anyone knows another way to fix this issue - please post it on the glscene newsgroup.

TGLMouseAction

GLS.Windows

TGLMovement

GLS.Movement

TGLMovementPath

GLS.Movement

TGLMovementPaths

GLS.Movement

TGLMovementRotationMode

GLS.Movement

TGLMoveToPosJob

GLS.CameraController

TGLMP3File

GLS.FileMP3

Support for MP3 format. *Partial* support only, access to PCMData is NOT supported.

TGLMS3DVectorFile

GLS.FileMS3D

The MilkShape vector file. By Mattias Fagerlund, mattias@cambrianlabs.com. Yada yada. Eric rules!

TGLMSurface

Formats.GL2

TGLMSurfaceHeader

Formats.GL2

TGLMSurfaceHeirachy

Formats.GL2

TGLMSurfaceHeirachyOffsets

Formats.GL2

TGLMTLFile

GLS.FileOBJ

A simple class that know how to extract infos from a mtl file. mtl files are companion files of the obj, they store material information. Guessed content (imported ones denoted with a '*', please help if you know more): materials begin with a 'newmtl' command followed by material name *Kd command defines the diffuse color *map_Kd command defines the diffuse texture image *Ka/map_Ka define the ambient color and texmap *Ks/map_Ks define the specular color and texmap *Ke/map_Ke define the self-illumination/lightmap texmap map_Bump specifies the bump map *d specifies transparency (alpha-channel, range [0; 1]) map_d specifies the opcaity texture map Ns defines the specular exponent or shininess or phong specular (?) Ni is the refraction index (greater than 1) *illum defines the illumination model (0 for no lighting, 1 for ambient and diffuse, 2 for full lighting)

TGLMTriangle

Formats.GL2

TGLMultiMaterialShader

GLSL.MultiMaterialShader

TGLMultiPolygon

GLS.MultiPolygon

A polygon that can have holes and multiple contours. Use the Path property to access a contour or one of the AddNode methods to add a node to a contour (contours are allocated automatically).

TGLMultiPolygonBase

GLS.MultiPolygon

Multipolygon is defined with multiple contours. The contours have to be in the X-Y plane, otherwise they are projected to it (this is done automatically by the tesselator). The plane normal is pointing in +Z. All contours are automatically closed, so there is no need to specify the last node equal to the first one. Contours should be defined counterclockwise, the first contour (index = 0) is taken as is, all following are reversed. This means you can define the outer contour first and the holes and cutouts after that. If you give the following contours in clockwise order, the first contour is extended. TGLMultiPolygonBase will take the input contours and let the tesselator make an outline from it (this is done in RetreiveOutline). This outline is used for Rendering. Only when there are changes in the contours, the outline will be recalculated. The ouline in fact is a list of GLS.VectorLists.

TGLMultiProxy

GLS.MultiProxy

Multiple Proxy object. This proxy has multiple master objects, which are individually made visible depending on a distance to the camera criterion. It can be used to implement discreet level of detail directly for static objects, or objects that go through cyclic animation. For dimensionsn raycasting and silhouette purposes, the first master is used (item zero in the MasterObjects collection).

TGLMultiProxyMaster

GLS.MultiProxy

MasterObject description for a MultiProxy object.

TGLMultiProxyMasters

GLS.MultiProxy

Collection of TGLMultiProxyMaster.

TGLMultisampleImage

GLS.MultiSampleImage

TGLMultitextureCoordinator

GLS.XOpenGL

TGLMultitexturingProperties

GLS.MaterialEx

TGLMVectorFile

GLS.FileGL2

TGLMVertex

Formats.GL2

TGLNaviCube

GLS.Navigator

TGLNavigator

GLS.Navigator

TGLNavigator is the component for moving a TGLBaseSceneObject, and all Classes based on it, this includes all the objects from the Scene Editor. The four calls to get you started is TurnHorisontal : it turns left and right. TurnVertical : it turns up and down. MoveForward : moves back and forth. FlyForward : moves back and forth in the movingobject's direction The three properties to get you started is MovingObject : The Object that you are moving. UseVirtualUp : When UseVirtualUp is set you navigate Quake style. If it isn't more like Descent. AngleLock : Allows you to block the Vertical angles. Should only be used in conjunction with UseVirtualUp. MoveUpWhenMovingForward : Changes movement from Quake to Arcade Airplane...(no tilt and flying) InvertHorizontalSteeringWhenUpsideDown : When using virtual up, and vertically rotating beyond 90 degrees, will make steering seem inverted, so we "invert" back to normal

TGLNavigatorAbstractParameters

GLS.SmoothNavigator

Includes a basic set of parameters that control the smoothness of movement.

TGLNavigatorAdjustDistanceParameters

GLS.SmoothNavigator

The wrapper for all parameters that affect how the AdjustDisanceTo[...] methods work

TGLNavigatorAdjustDistanceParametersEx

GLS.SmoothNavigator

The wrapper for all parameters that affect how the AdjustDisanceTo[...]Ex methods work You need to set the TargetObject and desired distance to it, then call AdjustDisanceTo[...]Ex() in your Cadencer.OnProgress code.

TGLNavigatorGeneralParameters

GLS.SmoothNavigator

The wrapper for all general inertia parameters. These properties mean that if ExpectedMaxFPS is 100, FAutoScaleMin is 0.1, FAutoScaleMax is 0.75 then the "safe range" for it to change is [10..75]. If these bounds are violated, then ExpectedMaxFPS is automaticly increased or decreased by AutoScaleMult.

TGLNavigatorInertiaParameters

GLS.SmoothNavigator

The wrapper for all parameters that affect the smoothness of movement

TGLNavigatorMoveAroundParameters

GLS.SmoothNavigator

The wrapper for all parameters that effect how the TGLBaseSceneObject.MoveObjectAround() procedure works

TGLNavigatorSmoothChangeItem

GLS.SmoothNavigator

Includes a basic set of parameters that control the smoothness of movement.

TGLNavigatorSmoothChangeItemClass

GLS.SmoothNavigator

TGLNavigatorSmoothChangeItems

GLS.SmoothNavigator

XCollection of TGLNavigatorSmoothChangeItem.

TGLNavigatorSmoothChangeSingle

GLS.SmoothNavigator

Smoothly change any Single value, so it will become TargetValue in the end.

TGLNavigatorSmoothChangeSingleGetEvent

GLS.SmoothNavigator

TGLNavigatorSmoothChangeSingleSetEvent

GLS.SmoothNavigator

TGLNavigatorSmoothChangeVector

GLS.SmoothNavigator

Smoothly change any Vector4f value, so it will become TargetValue in the end.

TGLNavigatorSmoothChangeVectorGetEvent

GLS.SmoothNavigator

TGLNavigatorSmoothChangeVectorSetEvent

GLS.SmoothNavigator

TGLNGDBehaviour

Physics.NGDManager

Basis structures for Behaviour style implementations.

TGLNGDBehaviourList

Physics.NGDManager

TGLNGDCollisions

Physics.NGDManager

TGLNGDDebugOption

Physics.NGDManager

TGLNGDDynamic

Physics.NGDManager

TGLNGDFrictionModels

Physics.NGDManager

TGLNGDHeightField

Physics.NGDManager

TGLNGDJoint

Physics.NGDManager

TGLNGDJointBallAndSocket

Physics.NGDManager

TGLNGDJointHinge

Physics.NGDManager

TGLNGDJointKinematicController

Physics.NGDManager

TGLNGDJointPin

Physics.NGDManager

TGLNGDJointPin2

Physics.NGDManager

TGLNGDJointPivot

Physics.NGDManager

TGLNGDJoints

Physics.NGDManager

TGLNGDJointSlider

Physics.NGDManager

TGLNGDManager

Physics.NGDManager

TGLNGDManagerDebug

Physics.NGDManager

TGLNGDManagerDebugs

Physics.NGDManager

TGLNGDPickedActions

Physics.NGDManager

TGLNGDSolverModels

Physics.NGDManager

TGLNGDStatic

Physics.NGDManager

TGLNGDSurfaceItem

Physics.NGDManager

TGLNGDSurfacePair

Physics.NGDManager

TGLNMFVectorFile

GLS.FileNMF

TGLNode

GLS.Nodes

TGLNodedLines

GLS.Objects

Class that defines lines via a series of nodes. Base class, does not render anything

TGLNodes

GLS.Nodes

TGLNodesClass

GLS.Nodes

TGLNonVisualViewer

GLS.Scene

Base class for non-visual viewer. Non-visual viewer may actually render visuals, but they are non-visual (ie. non interactive) at design time. Such viewers include memory or full-screen viewers.

TGLNormalDirection

GLS.Scene

TGLNormalMapSpace

GLS.BumpmapHDS

TGLNormalSmoothing

GLS.Objects

Determines how and if normals are smoothed. - nsFlat : facetted look - nsSmooth : smooth look - nsNone : unlighted rendering, usefull for decla texturing

TGLNotifyCollection

GLS.BaseClasses

TGLNurbsVectorFile

GLS.FileNurbs

TGLO3TCImage

GLS.FileO3TC

TGLObjectAfterEffect

GLS.Scene

An object effect that gets rendered at scene's end. No particular OpenGL matrices or material should be assumed.

TGLObjectBBChange

GLS.Scene

TGLObjectBBChanges

GLS.Scene

TGLObjectChange

GLS.Scene

Used to describe the changes in an object, which have to be reflected in the scene

TGLObjectChanges

GLS.Scene

TGLObjectManager

GLS.ObjectManager

TGLObjectPostEffect

GLS.Scene

An object effect that gets rendered after owner object's render. The current OpenGL matrices and material are that of the owner object.

TGLObjectPreEffect

GLS.Scene

An object effect that gets rendered before owner object's render. The current OpenGL matrices and material are that of the owner object.

TGLObjectsSorting

GLS.RenderContextInfo

Determines if objects are sorted, and how. Sorting is done level by level (and not for all entities), values are : osInherited : use inherited sorting mode, defaults to osRenderFarthestFirst osNone : do not sort objects. osRenderFarthestFirst : render objects whose Position is the farthest from the camera first. osRenderBlendedLast : opaque objects are not sorted and rendered first, blended ones are rendered afterwards and depth sorted. osRenderNearestFirst : render objects whose Position is the nearest to the camera first.

TGLObjectStyle

GLS.Scene

Possible styles/options for a GLScene object. Allowed styles are: osDirectDraw : object shall not make use of compiled call lists, but issue direct calls each time a render should be performed. osIgnoreDepthBuffer : object is rendered with depth test disabled, this is true for its children too. osNoVisibilityCulling : whatever the VisibilityCulling setting, it will be ignored and the object rendered

TGLObjectStyles

GLS.Scene

TGLOBJVectorFile

GLS.FileOBJ

TGLOcclusionQueryHandle

GLS.Context

Manages a handle to an occlusion query. Requires OpenGL 1.5+ Does *NOT* check for extension availability, this is assumed to have been checked by the user.

TGLOctahedron

GLS.GeomObjects

The octahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

TGLOCTGLVectorFile

GLS.FileOCT

The OCT vector file (FSRad output).

TGLOctree

GLS.Octree

Manages an Octree containing references to triangles.

TGLODEBehaviour

Physics.ODEManager

Basis structures for behaviour style implementations

TGLODECollisionEvent

Physics.ODEManager

TGLODECollisionSurface

Physics.ODEManager

TGLODECollisionSurfaceMode

Physics.ODEManager

TGLODEContactPoint

Physics.ODEManager

TGLODECustomCollider

Physics.ODEManager

The custom collider is designed for generic contact handling. There is a contact point generator for sphere, box, capped cylinder, cylinder and cone geoms. Once the contact points for a collision are generated the abstract Collide function is called to generate the depth and the contact position and normal. These points are then sorted and the deepest are applied to ODE

TGLODECustomCollisionEvent

Physics.ODEManager

TGLODEDynamic

Physics.ODEManager

TGLODEElementBase

Physics.ODEManager

TGLODEElementBox

Physics.ODEManager

ODE box implementation

TGLODEElementCapsule

Physics.ODEManager

ODE capped cylinder implementation

TGLODEElementClass

Physics.ODEManager

TGLODEElementCylinder

Physics.ODEManager

ODE cylinder implementation

TGLODEElementPlane

Physics.ODEManager

ODE plane implementation

TGLODEElements

Physics.ODEManager

TGLODEElementSphere

Physics.ODEManager

ODE sphere implementation

TGLODEElementTriMesh

Physics.ODEManager

ODE tri-mesh implementation

TGLODEGetParamCallback

Physics.ODEManager

TGLODEHeightField

Physics.ODEManager

Add this behaviour to a TGLHeightField or TGLTerrainRenderer to enable height based collisions for spheres, boxes, capped cylinders, cylinders and cones.

TGLODEJointBall

Physics.ODEManager

ODE ball joint implementation

TGLODEJointBase

Physics.ODEManager

Base structures for ODE Joints

TGLODEJointFixed

Physics.ODEManager

ODE fixed joint implementation

TGLODEJointHinge

Physics.ODEManager

ODE hinge joint implementation

TGLODEJointHinge2

Physics.ODEManager

ODE hinge2 joint implementation

TGLODEJointList

Physics.ODEManager

Component front-end for storing ODE Joints

TGLODEJointOption

Physics.ODEManager

TGLODEJointOptions

Physics.ODEManager

TGLODEJointParams

Physics.ODEManager

TGLODEJoints

Physics.ODEManager

An XCollection decendant for ODE Joints

TGLODEJointSlider

Physics.ODEManager

ODE slider joint implementation

TGLODEJointUniversal

Physics.ODEManager

ODE universal joint implementation

TGLODEManager

Physics.ODEManager

The visual component to manage behaviours of ODE objects

TGLODEObjectCollisionEvent

Physics.ODEManager

TGLODERagdoll

Physics.ODERagdoll

TGLODERagdollBone

Physics.ODERagdoll

TGLODERagdollCube

Physics.ODERagdoll

TGLODERagdollDummyJoint

Physics.ODERagdoll

TGLODERagdollHingeJoint

Physics.ODERagdoll

TGLODERagdollUniversalJoint

Physics.ODERagdoll

TGLODERagdollWorld

Physics.ODERagdoll

TGLODESetParamCallback

Physics.ODEManager

TGLODESolverMethod

Physics.ODEManager

TGLODEStatic

Physics.ODEManager

TGLODESurfaceModes

Physics.ODEManager

TGLOnCustomPostEffectEvent

GLSL.PostEffects

TGLOnLightsChanged

GLS.State

TGLOpenGL

GLS.OpenGLVCL

TGLOrbitToPosAdvJob

GLS.CameraController

TGLOrbitToPosJob

GLS.CameraController

TGLOutlineShader

GLSL.LineShaders

TGLOwnedPersistent

GLS.PersistentClasses

TPersistent which has knowledge of its owner.

TGLPackPBOHandle

GLS.Context

Manages a handle to PBO Pixel Pack Buffer. When bound, commands such as ReadPixels write their data into a buffer object.

TGLPanel

GLS.Windows

TGLParticle

GLS.ParticleFX

Base class for particles. The class implements properties for position, velocity and time, whatever you need in excess of that will have to be placed in subclasses (this class should remain as compact as possible).

TGLParticleArray

GLS.ParticleFX

TGLParticleClass

GLS.ParticleFX

TGLParticleEvent

GLS.Particles

TGLParticleFXEffect

GLS.ParticleFX

Base class for linking scene objects to a particle FX manager.

TGLParticleFXManager

GLS.ParticleFX

Base class for particle FX managers. Managers take care of life and death of particles for a particular particles FX system. You can have multiple scene-wide particle FX managers in a scene, handled by the same ParticleFxRenderer. Before subclassing, make sure you understood how the Initialize/Finalize Rendering, Begin/End Particles and RenderParticles methods (and also understood that rendering of manager's particles may be interwoven).

TGLParticleFXRenderer

GLS.ParticleFX

Rendering interface for scene-wide particle FX. A renderer can take care of rendering any number of particle systems, its main task being to depth-sort the particles so that they are blended appropriately. This object will usually be placed at the end of the scene hierarchy, just before the HUD overlays, its position, rotation etc. is of no importance and has no effect on the rendering of the particles.

TGLParticleInertia

Physics.SPIInertias

TGLParticleList

GLS.ParticleFX

List of particles. This list is managed with particles and performance in mind, make sure to check methods doc.

TGLParticles

GLS.Particles

Manager object of a particle system. Particles in a TGLParticles system are described as normal scene objects, however their children are to be : "particle template" : the first object (index=0), this one will be duplicated to create new particles, it does not receive progression events and is visible at design-time only. "live particle" : the other objects (index>0), this ones are rendered and receive progression events. TGLParticles may also maintain an internal, non-persistent ("freezed") set of objects : the allocated objects pool. Why ? Creating and freeing objects takes cpu-cycles, especially for the TComponent class, and GLScene objects are TComponent. To reduce this load (and at the expense of memory space), the particle systems can move "dead" particles to a pool instead of freeing them, and will pick in the pool instead of creating new objects when new particles are requested. To take advantage of this behaviour, you should set the ParticlePoolSize property to a non-null value and use the KillParticle function instead of "Free" to kill a particle. All direct access to a TGLParticles children should be avoided. For high-performance particle systems of basic particles, you should look into GLParticleFX instead, TGLParticles being rather focused on complex particles.

TGLPathNode

GLS.Movement

TGLPathNodes

GLS.Movement

TGLPerlin3DNoise

GLS.PerlinPFX

Generates Perlin Noise in the [-1; 1] range. 2D noise requests are taken in the Z=0 slice

TGLPerlinHDS

GLS.Perlin

TGLPerlinHDSThread

GLS.Perlin

TGLPerlinInterpolation

GLS.Perlin

TGLPerlinOctav

GLS.Perlin

TGLPerlinPFXManager

GLS.PerlinPFX

A sprite-based particles FX manager using perlin-based sprites. This PFX manager is more suited for smoke or fire effects, and with proper tweaking of the texture and perlin parameters, may help render a convincing effect with less particles. The sprite generate by this manager is the composition of a distance-based intensity and a perlin noise.

TGLPersistentImage

GLS.Texture

Stores any image compatible with Delphi's TPicture mechanism. The picture's data is actually stored into the DFM, the original picture name or path is not remembered. It is similar in behaviour of TImage. Note that if original image is for instance JPEG format, only the JPEG data will be stored in the DFM (compact)

TGLPersistentTIE

GLS.TextureImageEditors

TGLPGMImage

GLS.FilePGM

TGLPhongShader

GLSL.PhongShader

TGLPicFileImage

GLS.Texture

Uses a picture whose data is found in a file (only filename is stored). The image is unloaded after upload to OpenGL.

TGLPicFileTIE

GLS.TextureImageEditors

TGLPickList

GLS.Selection

List class for object picking. This list is used to store the results of a PickObjects call.

TGLPictureImage

GLS.Texture

Base class for image data classes internally based on a TPicture.

TGLPipe

GLS.Extrusion

A solid object generated by extruding a circle along a trajectory. Texture coordinates NOT supported yet.

TGLPipelineTransformationState

GLS.PipelineTransformation

TGLPipelineTransformationStates

GLS.PipelineTransformation

TGLPipeNode

GLS.Extrusion

TGLPipeNodes

GLS.Extrusion

TGLPixel24

GLS.Graphics

GLS.OpenGLTokens,

TGLPixel32

GLS.Graphics

TGLPixel32Array

GLS.Graphics

TGLPlane

GLS.Objects

A simple plane object. Note that a plane is always made of a single quad (two triangles) and the tiling is only applied to texture coordinates.

TGLPlaneStyle

GLS.Objects

TGLPlaneStyles

GLS.Objects

TGLPlugInEntry

GLS.PlugInManager

TGLPlugInList

GLS.PlugInManager

TGLPlugInManager

GLS.PlugInManager

TGLPlugInManagerEditorForm

FmPlugInManagerEditor

TGLPLYVectorFile

GLS.FilePLY

The PLY vector file aka Stanford Triangle Format. This is a format for storing graphical objects that are described as a collection of polygons. The format is extensible, supports variations and subformats. This importer only works for the simplest variant (triangles without specified normals, and will ignore most header specifications.

TGLPNGImage

GLS.FilePNG

TGLPoint2D

GLS.VectorTypesExt

TGLPoint2DArray

GLS.VectorTypesExt

TGLPoint3D

GLS.VectorTypesExt

TGLPoint3DArray

GLS.VectorTypesExt

TGLPointLightPFXManager

GLS.ParticleFX

A sprite-based particles FX managers using point light maps. The texture map is a round, distance-based transparency map (center "opaque"), you can adjust the quality (size) of the underlying texture map with the TexMapSize property. This PFX manager renders particles similar to what you can get with TGLPolygonPFXManager but stresses fillrate more than T&L rate (and will usually be slower than the PolygonPFX when nbSides is low or T&L acceleration available). Consider this implementation as a sample for your own PFX managers that may use particles with more complex textures.

TGLPointParameters

GLS.Objects

Point parameters as in ARB_point_parameters. Make sure to read the ARB_point_parameters spec if you want to understand what each parameter does.

TGLPoints

GLS.Objects

Renders a set of non-transparent colored points. The points positions and their color are defined through the Positions and Colors properties

TGLPointStyle

GLS.Objects

TGLPolygon

GLS.GeomObjects

A basic polygon object. The curve is described by the Nodes and SplineMode properties, should be planar and is automatically tessellated. Texture coordinates are deduced from X and Y coordinates only. This object allows only for polygons described by a single curve, if you need "complex polygons" with holes, patches and cutouts, see GLS.MultiPolygon.

TGLPolygon2D

GLS.VectorTypesExt

———————– Polygon types ———————–

TGLPolygon3D

GLS.VectorTypesExt

TGLPolygonBase

GLS.Objects

Base class for objects based on a polygon

TGLPolygonList

GLS.MultiPolygon

TGLPolygonMode

GLS.State

TGLPolygonPart

GLS.GeomObjects

TGLPolygonParts

GLS.GeomObjects

TGLPolygonPFXManager

GLS.ParticleFX

Polygonal particles FX manager. The particles of this manager are made of N-face regular polygon with a core and edge color. No texturing is available. If you render large particles and don't have T&L acceleration, consider using TGLPointLightPFXManager.

TGLPolyhedron

GLS.VectorTypesExt

———————– Polyhedron types ———————–

TGLPopupMenu

GLS.Windows

TGLPopupMenuClick

GLS.Windows

TGLPortal

GLS.Portal

Portal Renderer class.

TGLPortalMeshObjectList

GLS.Portal

A mesh object list that handles portal rendering. The items are treated as being sectors.

TGLPostEffect

GLSL.PostEffects

Provides a simple way to producing post-effects without shaders. It is slow as hell, but it's worth it in some cases.

TGLPostEffectBuffer

GLSL.PostEffects

TGLPostEffectColor

GLSL.PostEffects

TGLPostEffectPreset

GLSL.PostEffects

Some presets for TGLPostEffect: pepNone - does nothing. pepGray - makes picture gray. pepNegative - inverts all colors. pepDistort - simulates shaky TV image. pepNoise - just adds random niose. pepNightVision - simulates nightvision goggles. pepBlur - blurs the scene. pepCustom - calls the OnCustomEffect event.

TGLPostShaderCollection

GLSL.PostEffects

TGLPostShaderCollectionItem

GLSL.PostEffects

TGLPostShaderHolder

GLSL.PostEffects

A class that allows several post-shaders to be applied to the scene, one after another. It does not provide any optimizations related to multi-shader rendering, just a convenient interface.

TGLPrimitiveQueryHandle

GLS.Context

Manages a handle to a primitive query. Requires OpenGL 3.0+ Does *NOT* check for extension availability, this is assumed to have been checked by the user.

TGLPrismaticJoint

Physics.SPIJoints

TGLProcTextureNoise

GLS.ProcTextures

TGLProcTextureNoiseTIE

GLS.TextureImageEditors

TGLProgram

GLS.OpenGLVCL

TGLProgramHandle

GLS.Context

Manages a GLSL Program Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user

TGLProgressEvent

GLS.BaseClasses

Progression event for time-base animations/simulations. deltaTime is the time delta since last progress and newTime is the new time after the progress event is completed.

TGLProgressTimes

GLS.BaseClasses

TGLProjectedTextures

GLS.ProjectedTextures

Projected Textures Manager. Specifies active texture Emitters (whose texture will be projected) and receivers (children of this object).

TGLProjectedTexturesStyle

GLS.ProjectedTextures

Possible styles of texture projection. Possible values: ptsOriginal: Original projection method (first pass, is default scene render, second pass is texture projection). ptsInverse: Inverse projection method (first pass is texture projection, sencond pass is regular scene render). This method is useful if you want to simulate lighting only through projected textures (the textures of the scene are "masked" into the white areas of the projection textures).

TGLProxyObject

GLS.Scene

A full proxy object. This object literally uses another object's Render method to do its own rendering, however, it has a coordinate system and a life of its own. Use it for duplicates of an object.

TGLProxyObjectClass

GLS.Scene

TGLProxyObjectOption

GLS.Scene

Defines which features are taken from the master object.

TGLProxyObjectOptions

GLS.Scene

TGLPythonEngine

GLS.PythonScript

This class only adds manager registration logic to the TPythonEngine class to enable the XCollection items (ie. TGLScriptPython) retain it's assigned compiler from design to run -time.

TGLPythonEngine

Pythons.Script

This class only adds manager registration logic to the TPythonEngine class to enable the XCollection items (ie. TGLScriptPython) retain it's assigned compiler from design to run -time.

TGLQ3BSPVectorFile

GLS.FileQ3BSP

The Q3BSP vector file (Quake III BSP).

TGLQuadricObject

GLS.Objects

Base class for quadric objects. Introduces some basic Quadric interaction functions (the actual quadric math is part of the GLU library).

TGLQuat

GLS.VectorTypesExt

replace with BigDecimals

TGLQuat3D

GLS.VectorTypesExt

————————– Quaternion record types ————————–

TGLQuatArray

GLS.VectorTypesExt

TGLQuatHelper

GLS.VectorTypesExt

TGLQueryHandle

GLS.Context

Manages a handle to a query. Do not use this class directly, use one of its subclasses instead.

TGLQueryType

GLS.State

TGLRadialGravityEmitter

Physics.SPIFields

TGLRagdolBone

GLS.Ragdoll

TGLRagdolBoneList

GLS.Ragdoll

TGLRagdolJoint

GLS.Ragdoll

TGLRagdoll

GLS.Ragdoll

TGLRasterFileFormat

GLS.Graphics

TGLRasterFileFormatsList

GLS.Graphics

Stores registered raster file formats.

TGLRCHandle

GLS.Context

TGLRCOption

GLS.Context

TGLRCOptions

GLS.Context

TGLRenderbuffer

GLS.FBORenderer

TGLRenderbufferHandle

GLS.Context

Manages a handle to a Renderbuffer Object. A Renderbuffer is a "framebuffer-attachable image" for generalized offscreen rendering and it also provides a means to support rendering to GL logical buffer types which have no corresponding texture format (stencil, accum, etc).

TGLRenderContextInfo

GLS.RenderContextInfo

Stores contextual info useful during rendering methods.

TGLRenderPoint

GLS.Scene

Scene object that allows other objects to issue rendering at some point. This object is used to specify a render point for which other components have (rendering) tasks to perform. It doesn't render anything itself and is invisible, but other components can register and be notified when the point is reached in the rendering phase. Callbacks must be explicitly unregistered.

TGLResolutionIndependantHUDText

GLS.HUDObjects

Position (X and Y) is expected in a [0..1] range (from Screen size) This component converts this position to the actual screen position and renders the text there. This way a HUD text always appears to be in the the same place, regardless of the currect screen resolution. Note: this still does not solve the font scaling problem.

TGLResolutionProperty

GLS.SceneRegister

TGLResourceManager

GLS.PlugInManager

TGLResourceStream

GLS.ApplicationFileIO

TGLResourceType

CUDA.APIComps

TGLReuseableDefaultEditor

GLS.SceneRegister

Editor copied from DsgnIntf. Could have been avoided, if only that guy at Borland didn't chose to publish only half of the stuff (and that's not the only class with that problem, most of the subitems handling code in TGLSceneBaseObject is here for the same reason...), the "protected" wasn't meant just to lure programmers into code they can't reuse... Arrr! and he did that again in D6! Grrr...

TGLRevoluteJoint

Physics.SPIJoints

TGLRevolutionSolid

GLS.Extrusion

A solid object generated by rotating a curve along the Y axis. The curve is described by the Nodes and SplineMode properties, and it is rotated in the trigonometrical direction (CCW when seen from Y->INF). The TGLRevolutionSolid can also be used to render regular helicoidions, by setting a non-null YOffsetPerTurn, and adjusting start/finish angles to make more than one revolution. If you want top/bottom caps, just add a first/last node that will make the curve start/finish on the Y axis.

TGLRevolutionSolidPart

GLS.Extrusion

TGLRevolutionSolidParts

GLS.Extrusion

TGLRigidBodyInertia

Physics.SPIInertias

A more complex model than TGLBInertia for Inertia

TGLROAMPatch

GLS.ROAMPatch

TGLSamplerHandle

GLS.Context

Manages a handle to a sampler

TGLSamplingScale

GLS.Graph

TGLSArchiveManager

GLS.ArchiveManager

ArchiveManager class

TGLSArchiveManagerEditor

GLS.SceneRegister

Editor for Archive Manager

TGLScalarField

GLS.VectorTypesExt

replaced with BigDecimals

TGLScalarFieldInt

GLS.VectorTypesExt

If data are made on integer XYZ index replaced with BigIntegers

TGLScalarValue

GLS.VectorTypesExt

———————– Point types ———————–

TGLScene

GLS.Scene

Scene component class. The scene contains the scene description (lights, geometry...), which is basicly a hierarchical scene graph made of TGLBaseSceneObject. It will usually contain one or more TGLCamera object, which can be referred by a Viewer component for rendering purposes. The scene's objects can be accessed directly from code (as regular components), but those are edited with a specific editor (double-click on the TGLScene component at design-time to invoke it). To add objects at runtime, use the AddNewChild method of TGLBaseSceneObject.

TGLSceneBuffer

GLS.Scene

Encapsulates a frame/rendering buffer.

TGLSceneEditor

GLS.SceneRegister

TGLSceneEditorForm

FmSceneEditor

TGLSceneForm

GLS.SceneForm

TGLSceneObject

GLS.Scene

Base class for standard scene objects. Publishes the Material property.

TGLSceneObjectClass

GLS.Scene

TGLSceneObjectEntry

GLS.ObjectManager

holds a relation between an scene object class, its global identification, its location in the object stock and its icon reference

TGLSceneOperation

GLS.Scene

Flags for design notification

TGLSceneRootObject

GLS.Scene

This class shall be used only as a hierarchy root. It exists only as a container and shall never be rotated/scaled etc. as the class type is used in parenting optimizations. Shall never implement or add any functionality, the "Create" override only take cares of disabling the build list.

TGLSceneViewer

GLS.SceneViewer

Component where the GLScene objects get rendered. This component delimits the area where OpenGL renders the scene, it represents the 3D scene viewed from a camera (specified in the camera property). This component can also render to a file or to a bitmap. It is primarily a windowed component, but it can handle full-screen operations : simply make this component fit the whole screen (use a borderless form). This viewer also allows to define rendering options such a fog, face culling, depth testing, etc. and can take care of framerate calculation.

TGLSceneViewerEditor

GLS.SceneRegister

TGLSceneViewerMode

GLS.Scene

TGLScreenControlingContext

GLS.Context

A TGLContext with screen control property and methods. This variety of contexts is for drivers that access windows and OpenGL through an intermediate opaque cross-platform API. TGLSceneViewer won't use them, TGLMemoryViewer may be able to use them, but most of the time they will be accessed through a specific viewer class/subclass

TGLScreenDepth

GLS.FullScreenViewer

TGLScreenSaver

GLS.ScreenSaver

Drop this component on your main form to make it a screensaver. You'll also need to change the extension from ".exe" to ".scr" (in the project options / application tab). How this component works : At design-time, the only event you may want to hook is OnPropertiesRequested (to diplay your screen-saver's config dialog, if you don't have one, at least fill in the AboutString property and it will be used in a ShowMessage) At run-time, once its props are loaded, this component will parse the command line and trigger relevant events Basicly, you only need to care about drawing in your main form's client area (in a resolution/size independant way if possible) There is no real difference between execution and preview modes, except for the events fired... and the size of the form :).

TGLScriptBase

GLS.ScriptBase

The base script class that defines the abstract functions and properties. Don't use this class directly, use the script classes descended from this base class.

TGLScriptDWS

DWS.Script

Implements DelphiWebScript scripting functionality through the abstracted GLS.ScriptBase

TGLScriptLibrary

GLS.ScriptBase

Encapsulation of the scripts XCollection to help with script handling at design-time. Links the scripts to Delphi's persistence model.

TGLScriptPython

GLS.PythonScript

Implements Python scripting functionality through the abstracted GLS.ScriptBase

TGLScriptPython

Pythons.Script

Implements Python scripting functionality through the abstracted GLS.ScriptBase

TGLScripts

GLS.ScriptBase

XCollection descendant for storing and handling scripts.

TGLScriptState

GLS.ScriptBase

TGLScrollbar

GLS.Windows

TGLSCustomMemo

GLS.Memo

TGLSectorMeshObject

GLS.Portal

A portal renderer sector.

TGLSelectRenderModeTechnique

GLS.Selection

TGLSeparateTextureWrap

GLS.TextureFormat

Texture addressing rules

TGLShadeModel

GLS.Scene

TGLShader

GLS.Material

Generic, abstract shader class. Shaders are modeled here as an abstract material-altering entity with transaction-like behaviour. The base class provides basic context and user tracking, as well as setup/application facilities. Subclasses are expected to provide implementation for DoInitialize, DoApply, DoUnApply and DoFinalize.

TGLShader

GLS.OpenGLVCL

TGLShaderClass

GLS.Material

TGLShaderCombiner

GLSL.ShaderCombiner

TGLShaderCombinerType

GLSL.ShaderCombiner

MP - multipass, SP-singlepass, AP - anypass (single or multi) One-Two or Two-One determines the order of how the shaders should be applied For example, sctTwoMPOneSP means that first one will be applied Shader Two, which can be a multipass shader, then Shader One is applied, which should be a singlepass shader. sctOneMPTwoSP and sctTwoMPOneSP modes are actualy quite Str@nge, because... well look at the code yourself
TODO: Add more modes here, including sctOneAPTwoAP, which should be the default one.

TGLShaderEditorProperty

GLS.SceneRegister

TGLShaderEvent

GLSL.CustomShader

TGLShaderEx

GLS.MaterialEx

TGLShaderF

GLS.OpenGLVCL

TGLShaderFailedInitAction

GLS.Material

Defines what to do if for some reason shader failed to initialize. fiaSilentdisable: just disable it fiaRaiseHandledException: raise an exception, and handle it right away (usefull, when debigging within Delphi) fiaRaiseStardardException: raises the exception with a string from this function GetStardardNotSupportedMessage fiaReRaiseException: Re-raises the exception fiaGenerateEvent: Handles the exception, but generates an event that user can respond to. For example, he can try to compile a substitude shader, or replace it by a material. Note: HandleFailedInitialization does *not* create this event, it is left to user shaders which may chose to override this procedure. Commented out, because not sure if this option should exist, let other generations of developers decide ;)

TGLShaderFogSupport

GLSL.CustomShader

TGLShaderG

GLS.OpenGLVCL

TGLShaderHandle

GLS.Context

Manages a handle to a Shader Object. Does *NOT* check for extension availability, this is assumed to have been checked by the user. Do not use this class directly, use one of its subclasses instead

TGLShaderHandleClass

GLS.Context

TGLShaderItem

GLS.MaterialScript

TGLShaderItems

GLS.MaterialScript

TGLShaderLightSourceState

GLS.State

TGLShaderModel3

GLS.MaterialEx

TGLShaderModel4

GLS.MaterialEx

TGLShaderModel5

GLS.MaterialEx

TGLShaderProgram

GLSL.CustomShader

A custom shader program.

TGLShaderStyle

GLS.Material

Define GLShader style application relatively to a material. ssHighLevel: shader is applied before material application, and unapplied after material unapplication ssLowLevel: shader is applied after material application, and unapplied before material unapplication ssReplace: shader is applied in place of the material (and material is completely ignored)

TGLShaderType

GLS.MaterialEx

TGLShaderUnAplyEvent

GLSL.CustomShader

TGLShaderUniform

GLS.MaterialEx

TGLShaderUniformDSA

GLS.MaterialEx

TGLShaderUniformEditor

FmShaderUniformEditor

TGLShaderUniformTexture

GLS.MaterialEx

TGLShaderV

GLS.OpenGLVCL

TGLShadowCastingMode

GLS.ShadowVolume

Determines when a caster should actually produce a shadow; scmAlways : Caster always produces a shadow, ignoring visibility scmVisible : Caster casts shadow if the object has visible=true scmRecursivelyVisible : Caster casts shadow if ancestors up the hierarchy all have visible=true scmParentVisible : Caster produces shadow if parent has visible=true scmParentRecursivelyVisible : Caster casts shadow if ancestors up the hierarchy all have visible=true, starting from the parent (ignoring own visible setting)

TGLShadowHDS

GLS.ShadowHDS

An Height Data Source that generates terrain shadow maps automatically. The HDS must be connected to another HDS, which will provide the elevation data, and to a MaterialLibrary where shadowmaps will be placed.

TGLShadowPlane

GLS.ShadowPlane

A simple shadow plane. This mirror requires a stencil buffer for optimal rendering! The object is a mix between a plane and a proxy object, in that the plane defines where the shadows are cast, while the proxy part is used to reference the objects that should be shadowing (it is legal to self-shadow, but no self-shadow visuals will be rendered). If stenciling isn't used, the shadow will 'paint' the ShadowColor instead of blending it transparently. You can have lower quality shadow geometry: add a dummycube, set it to invisible (so it won't be rendered in the "regular" pass), and under it place another visible dummycube under which you have all your low quality objects, use it as shadowing object. Apply the same movements to the low-quality objects that you apply to the visible, high-quality ones

TGLShadowVolume

GLS.ShadowVolume

Simple shadow volumes. Shadow receiving objects are the ShadowVolume's children, shadow casters (opaque objects or lights) must be explicitly specified in the Casters collection. Shadow volumes require that the buffer allows stencil buffers, GLSceneViewer.Buffer.ContextOptions contain roStencinBuffer. Without stencil buffers, shadow volumes will not work properly. Another issue to look out for is the fact that shadow volume capping requires that the camera depth of view is either very high (fi 1e9) or that the camera style is csInfinitePerspective.

TGLShadowVolumeCapping

GLS.ShadowVolume

Determines when a shadow volume should generate a cap at the beginning and end of the volume. This is ONLY necessary when there's a chance that the camera could end up inside the shadow _or_ between the light source and the camera. If those two situations can't occur then not using capping is the best option. Note that if you use the capping, you must either set the depth of view of your camera to something very large (f.i. 1e9), or you could use the infinite mode (csInfinitePerspective) of your camera.
svcDefault : Default behaviour svcAlways : Always generates caps svcNever : Never generates caps

TGLShadowVolumeCaster

GLS.ShadowVolume

Specifies an individual shadow caster. Can be a light or an opaque object.

TGLShadowVolumeCasters

GLS.ShadowVolume

Collection of TGLShadowVolumeCaster.

TGLShadowVolumeLight

GLS.ShadowVolume

Specifies an individual shadow casting light.

TGLShadowVolumeMode

GLS.ShadowVolume

Shadow rendering modes. svmAccurate : will render the scene with ambient lighting only, then for each light will make a diffuse+specular pass svmDarkening : renders the scene with lighting on as usual, then darkens shadowed areas (i.e. inaccurate lighting, but will "shadow" objects that don't honour to diffuse or specular lighting) svmOff : no shadowing will take place

TGLShadowVolumeOccluder

GLS.ShadowVolume

Specifies an individual shadow casting occluder.

TGLShadowVolumeOption

GLS.ShadowVolume

Shadow volume rendering options/optimizations. svoShowVolumes : make the shadow volumes visible svoDesignVisible : the shadow are visible at design-time svoCacheSilhouettes : cache shadow volume silhouettes, beneficial when some objects are static relatively to their light(s) svoScissorClips : use scissor clipping per light, beneficial when lights are attenuated and don't illuminate the whole scene svoWorldScissorClip : use scissor clipping for the world, beneficial when shadow receivers don't cover the whole viewer surface

TGLShadowVolumeOptions

GLS.ShadowVolume

TGLShininess

GLS.Material

TGLshort

GLS.VectorTypes

TGLSilhouette

GLS.Silhouette

Base class storing a volume silhouette. Made of a set of indexed vertices defining an outline, and another set of indexed vertices defining a capping volume. Coordinates system is the object's unscaled local coordinates system. This is the base class, you can use the TGLSilhouette subclass if you need some helper methods for generating the indexed sets.

TGLSilhouetteParameters

GLS.Silhouette

Silouhette generation parameters. SeenFrom and LightDirection are expected in local coordinates.

TGLSilhouetteStyle

GLS.Silhouette

TGLSimpleNavigation

GLS.SimpleNavigation

TGLSimpleNavigationAction

GLS.SimpleNavigation

TGLSimpleNavigationCustomActionEvent

GLS.SimpleNavigation

TGLSimpleNavigationKeyCombination

GLS.SimpleNavigation

TGLSimpleNavigationKeyCombinations

GLS.SimpleNavigation

TGLSimpleNavigationOption

GLS.SimpleNavigation

TGLSimpleNavigationOptions

GLS.SimpleNavigation

Show FPS

TGLSize

GLS.RenderContextInfo

TGLsizei

GLS.VectorTypes

TGLsizeiptr

GLS.VectorTypes

TGLSkeleton

GLS.VectorFileObjects

Main skeleton object. This class stores the bones hierarchy and animation frames. It is also responsible for maintaining the "CurrentFrame" and allowing various frame blending operations.

TGLSkeletonBone

GLS.VectorFileObjects

A skeleton bone or node and its children. This class is the base item of the bones hierarchy in a skeletal model. The joint values are stored in a TGLSkeletonFrame, but the calculated bone matrices are stored here.

TGLSkeletonBoneList

GLS.VectorFileObjects

A list of skeleton bones

TGLSkeletonCollider

GLS.VectorFileObjects

A general class storing the base level info required for skeleton based collision methods. This class is meant to be inherited from to create skeleton driven Verlet Constraints, ODE Geoms, etc. Overriden classes should be named as TSCxxxxx.

TGLSkeletonColliderList

GLS.VectorFileObjects

List class for storing TGLSkeletonCollider objects

TGLSkeletonFrame

GLS.VectorFileObjects

Stores position and rotation for skeleton joints. If you directly alter some values, make sure to call FlushLocalMatrixList so that the local matrices will be recalculated (the call to Flush does not recalculate the matrices, but marks the current ones as dirty)

TGLSkeletonFrameList

GLS.VectorFileObjects

A list of TGLSkeletonFrame objects

TGLSkeletonFrameTransform

GLS.VectorFileObjects

TGLSkeletonMeshObject

GLS.VectorFileObjects

A mesh object with vertice bone attachments. The class adds per vertex bone weights to the standard morphable mesh. The TVertexBoneWeight structures are accessed via VerticesBonesWeights, they must be initialized by adjusting the BonesPerVertex and VerticeBoneWeightCount properties, you can also add vertex by vertex by using the AddWeightedBone method. When BonesPerVertex is 1, the weight is ignored (set to 1.0).

TGLSkeletonRootBoneList

GLS.VectorFileObjects

This list store skeleton root bones exclusively

TGLSkinEditorForm

FmGuiSkinEditor

TGLSkyBox

GLS.SkyDome

TGLSkyBoxStyle

GLS.SkyDome

————————- SkyBox class ————————-

TGLSkyDome

GLS.SkyDome

Renders a sky dome always centered on the camera. If you use this object make sure it is rendered *first*, as it ignores depth buffering and overwrites everything. All children of a skydome are rendered in the skydome's coordinate system. The skydome is described by "bands", each "band" is an horizontal cut of a sphere, and you can have as many bands as you wish

TGLSkyDomeBand

GLS.SkyDome

——————— SkyDome classes —————————–

TGLSkyDomeBands

GLS.SkyDome

TGLSkyDomeOption

GLS.SkyDome

TGLSkyDomeOptions

GLS.SkyDome

TGLSkyDomeStar

GLS.SkyDome

TGLSkyDomeStars

GLS.SkyDome

TGLSLanguage

GLS.Language

Abstract class for control Language

TGLSLBumpShader

GLSL.BumpShaders

TGLSLBumpShaderAM

GLSL.BumpShaders

TGLSLBumpShaderMT

GLSL.BumpShaders

One light shaders.

TGLSLDataType

GLSL.ShaderParameter

TGLSLDiffuseSpecularShader

GLSL.DiffuseSpecularShader

TGLSLDiffuseSpecularShaderMT

GLSL.DiffuseSpecularShader

******** Published Stuff ************

TGLSLFurShader

GLSL.ShapeShaders

TGLSLGlassShader

GLSL.ShapeShaders

TGLSLHandle

GLS.Context

Base class for GLSL handles (programs and shaders). Do not use this class directly, use one of its subclasses instead

TGLSLIvoryShader

GLSL.ShapeShaders

TGLSLLatticeShader

GLSL.ShapeShaders

TGLSLMLBumpShader

GLSL.BumpShaders

Multi light shaders.

TGLSLMLBumpShaderMT

GLSL.BumpShaders

TGLSLMLDiffuseSpecularShader

GLSL.DiffuseSpecularShader

TGLSLMLDiffuseSpecularShaderMT

GLSL.DiffuseSpecularShader

TGLSLogger

GLS.Logger

Abstract class for control logging.

TGLSLPostBlurShader

GLSL.PostShaders

TGLSLPostDreamVisionShader

GLSL.PostShaders

TGLSLPostFrostShader

GLSL.PostShaders

TGLSLPostNightVisionShader

GLSL.PostShaders

TGLSLPostPixelateShader

GLSL.PostShaders

TGLSLPostPosterizeShader

GLSL.PostShaders

TGLSLPostThermalVisionShader

GLSL.PostShaders

TGLSLPostTroubleShader

GLSL.PostShaders

TGLSLProjectedTextures

GLSL.ProjectedTextures

Projected Texture Manager. Specifies active Emitters and receivers (children of this object). At the moment, only 1 texture can be used.

TGLSLProjectedTexturesStyle

GLSL.ProjectedTextures

TGLSLSamplerType

GLSL.ShaderParameter

TGLSLSemShader

GLSL.ShapeShaders

TGLSLShader

GLSL.Shader

TGLSLShaderEvent

GLSL.Shader

TGLSLShaderEventEx

GLSL.Shader

TGLSLShaderParameter

GLSL.Shader

Wrapper around a parameter of a GLSL program.

TGLSLShaderUnApplyEvent

GLSL.Shader

TGLSLSimpleErosionShader

GLSL.ShapeShaders

TGLSLSimpleGoochShader

GLSL.ShapeShaders

TGLSLSimpleLatticeShader

GLSL.ShapeShaders

TGLSLTextureEmitter

GLSL.ProjectedTextures

A projected texture emmiter. Can be places anywhere in the scene. Used to generate a modelview and texture matrix for the shader

TGLSLTextureEmitterItem

GLSL.ProjectedTextures

Specifies an item on the TGLSLTextureEmitters collection.

TGLSLTextureEmitters

GLSL.ProjectedTextures

Collection of TGLSLTextureEmitter.

TGLSLToonShader

GLSL.ShapeShaders

TGLSLVertexDisplacementShader

GLSL.ShapeShaders

TGLSMBASS

Sounds.BASS

TGLSMDVectorFile

GLS.FileSMD

The SMD vector file is Half-life's skeleton format. The SMD is a text-based file format. They come in two flavors: one that old Skeleton and triangle (mesh) data, and animation files that store Skeleton frames. This reader curently reads both, but requires that the main file (the one with mesh data) be read first.

TGLSMemo

GLS.Memo

TGLSMemoAbstractScrollableObject

GLS.Memo

TGLSMemoDelCharUndo

GLS.Memo

TGLSMemoDeleteBufUndo

GLS.Memo

TGLSMEmoDelLineUndo

GLS.Memo

TGLSMemoGutter

GLS.Memo

TGLSMemoInsCharUndo

GLS.Memo

TGLSMemoPasteUndo

GLS.Memo

TGLSMemoScrollBar

GLS.Memo

TGLSMemoSelUndo

GLS.Memo

TGLSMemoStringList

GLS.Memo

TGLSMemoStrings

GLS.Memo

TGLSMemoUndo

GLS.Memo

TGLSMemoUndoList

GLS.Memo

TGLSMFMOD

Sounds.FMOD

TGLSmoothNavigator

GLS.SmoothNavigator

The component for moving a TGLBaseSceneObject, and all classes based on it, this includes all the objects from the Scene Editor. It uses complex smoothing algorithms, most of which are FPS-dependant. Make sure your limit your FPS and set MaxExpectedDeltaTime to a value that is aproximatly 5 times less than your usual deltatime.

TGLSmoothOrbitToPos

GLS.CameraController

TGLSmoothOrbitToPosAdvJob

GLS.CameraController

TGLSmoothUserInterface

GLS.SmoothNavigator

The component which reads the userinput and transform it into action. Mouselook(ADeltaTime: double) : handles mouse look... Should be called in the Cadencer event. (Though it works everywhere!) The four properties to get you started are: InvertMouse : Inverts the mouse Y axis. AutoUpdateMouse : If enabled (by defaul), than handles all mouse updates. GLNavigator : The Navigator which receives the user movement. GLVertNavigator : The Navigator which if set receives the vertical user movement. Used mostly for cameras....

TGLSMOpenAL

Sounds.OpenAL

TGLSMVectorFile

GLS.VectorFileObjects

GLSM (GLScene Mesh) vector file. This corresponds to the 'native' GLScene format, and object persistence stream, which should be the 'fastest' of all formats to load, and supports all of GLScene features.

TGLSMWaveOut

Sounds.WaveOut

Basic sound manager based on WinMM waveOut function. This manager has NO 3D miximing capacity, this is merely a default manager that should work on any windows based system, and help showcasing/testing basic GLSS core functionality. Apart from 3D, mute, pause, priority and volume are ignored too, and only sampling conversions supported by the windows ACM driver are supported (ie. no 4bits samples playback etc.).

TGLSoundEnvironment

GLS.Sound

EAX standard sound environments.

TGLSoundFile

GLS.SoundFileObjects

Abstract base class for different Sound file formats. The actual implementation for these files (WAV, RAW...) must be done seperately. The concept for TGLSoundFile is very similar to TGraphic (see Delphi Help). Default implementation for LoadFromFile/SaveToFile are to directly call the relevent stream-based methods, ie. you will just have to override the stream methods in most cases.

TGLSoundFileClass

GLS.SoundFileObjects

TGLSoundFileFormat

GLS.SoundFileObjects

TGLSoundFileFormatsList

GLS.SoundFileObjects

TGLSoundFileProperty

GLS.SceneRegister

TGLSoundLibrary

GLS.Sound

TGLSoundLibrarySelectionEditor

GLS.SceneRegister

Selection editor for TGLSoundLibrary Allows units to be added to the uses clause automatically when sound files are loaded into a TGLSoundLibrary at design-time.

TGLSoundManager

GLS.Sound

Base class for sound manager components. The sound manager component is the interface to a low-level audio API (like DirectSound), there can only be one active manager at any time (this class takes care of this). Subclass should override the DoActivate and DoDeActivate protected methods to "initialize/unitialize" their sound layer, actual data releases should occur in destructor however.

TGLSoundNameProperty

GLS.SceneRegister

TGLSoundSample

GLS.Sound

Platform Specific
by default, GLX is not supported on windows, although windows implementations do exist .NET Stores a single PCM coded sound sample.

TGLSoundSamples

GLS.Sound

TGLSoundSampling

GLS.SoundFileObjects

Defines a sound sampling quality.

TGLSoundSource

GLS.Sound

Origin of sound playback. Just publishes the 'Origin' property. Note that the "orientation" is the the source's Direction, ie. the "Z" vector.

TGLSoundSourceChange

GLS.Sound

TGLSoundSourceChanges

GLS.Sound

TGLSoundSources

GLS.Sound

TGLSourcePFXDispersionMode

GLS.ParticleFX

TGLSourcePFXEffect

GLS.ParticleFX

Simple Particles Source.

TGLSourcePFXPositionMode

GLS.ParticleFX

TGLSourcePFXVelocityMode

GLS.ParticleFX

TGLSpaceText

GLS.SpaceText

Renders a text in 3D.

TGLSpaceTextCharRange

GLS.SpaceText

TGLSphere

GLS.Objects

A sphere object. The sphere can have to and bottom caps, as well as being just a slice of sphere. Ref: https://mathworld.wolfram.com/Sphere.html Ref: https://mathworld.wolfram.com/GeodesicDome.html

TGLSPIManager

Physics.SPIManager

The Simple Physics Interaction (SPI) manager can only deal with objects from one scene More than one physics manager can be assigned to a scene

TGLSprite

GLS.Objects

A rectangular area, perspective projected, but always facing the camera. A TGLSprite is perspective projected and as such is scaled with distance, if you want a 2D sprite that does not get scaled, see TGLHUDSprite.

TGLSpriteAnimation

GLS.AnimatedSprite

Animations define how the texture coordinates for each offset are to be determined.

TGLSpriteAnimationList

GLS.AnimatedSprite

A collection for storing SpriteAnimation objects.

TGLSpriteAnimationMode

GLS.AnimatedSprite

Sets the current animation playback mode: samNone - No playback, the animation does not progress. samPlayOnce - Plays the animation once then switches to samNone. samLoop - Play the animation forward in a continuous loop. samLoopBackward - Same as samLoop but reversed direction. samBounceForward - Plays forward and switches to samBounceBackward when EndFrame is reached. samBounceBackward - Plays backward and switches to samBounceForward when StartFrame is reached.

TGLSpriteAnimFrame

GLS.AnimatedSprite

Used by the SpriteAnimation when Dimensions are set manual. The animation will use the offsets, width and height to determine the texture coodinates for this frame.

TGLSpriteAnimFrameList

GLS.AnimatedSprite

TGLSpriteAnimMargins

GLS.AnimatedSprite

Used to mask the auto generated frames. The Left, Top, Right and Bottom properties determines the number of pixels to be cropped from each corresponding side of the frame. Only applicable to auto dimensions.

TGLSpriteFrameDimensions

GLS.AnimatedSprite

Determines if the texture coordinates are Automatically generated from the Animations properties or if they are Manually set through the Frames collection.

TGLSSynHiMemo

GLS.Memo

————————————————————– SYNTAX MEMO - declaration ————————————————————–

TGLStarRecord

GLS.SkyDome

TGLState

GLS.State

Reflects all relevant (binary) states of OpenGL subsystem

TGLStateCache

GLS.State

Manages an application-side cache of OpenGL states and parameters. Purpose of this class is to eliminate redundant state and parameter changes, and there will typically be no more than one state cache per OpenGL context

TGLStates

GLS.State

TGLStateType

GLS.State

TGLStateTypes

GLS.State

TGLStaticImposterBuilder

GLS.Imposter

Builds imposters whose texture is a catalog of prerendered views.

TGLStaticImposterBuilderCorona

GLS.Imposter

Describes a set of orientation in a corona fashion.

TGLStaticImposterBuilderCoronas

GLS.Imposter

TGLStencilFunction

GLS.State

TGLStencilOp

GLS.State

TGLStencilPrecision

GLS.FBORenderer

TGLStencilRBO

GLS.FBORenderer

TGLStiffnessSetVH

GLS.VerletTypes

TGLStiffnessVH

GLS.VerletTypes

TglSTLVectorFile

GLS.FileSTL

TGLStringGrid

GLS.Windows

TGLSuperellipsoid

GLS.Objects

A Superellipsoid object. The Superellipsoid can have top and bottom caps, as well as being just a slice of Superellipsoid. Ref: https://mathworld.wolfram.com/Superellipse.html

TGLsync

GLS.VectorTypes

TGLTeapot

GLS.GeomObjects

The classic teapot. The only use of this object is as placeholder for testing...

TGLTerrainBaseHDS

GLS.HeightData

TerrainBase-based Height Data Source. This component takes its data from the TerrainBase Gobal Terrain Model. Though it can be used directly, the resolution of the TerrainBase dataset isn't high enough for accurate short-range representation and the data should rather be used as basis for further (fractal) refinement. TerrainBase is freely available from the National Geophysical Data Center and World Data Center web site (http://ngdc.noaa.com). (this component expects to find "tbase.bin" in the current directory).

TGLTerrainRenderer

GLS.TerrainRenderer

Basic terrain renderer. This renderer uses no sophisticated meshing, it just builds and maintains a set of terrain tiles, performs basic visibility culling and renders its stuff. You can use it has a base class/sample for more specialized terrain renderers. The Terrain heightdata is retrieved directly from a TGLHeightDataSource, and expressed as z=f(x, y) data.

TGLTessControlShaderHandle

GLS.Context

Manages a handle to a Tessellation Control Shader Object

TGLTessEvaluationShaderHandle

GLS.Context

Manages a handle to a Tessellation Evaluation Shader Object

TGLTetrahedron

GLS.GeomObjects

The tetrahedron has no texture coordinates defined, ie. without using a texture generation mode, no texture will be mapped.

TGLTexCombineShader

GLSL.TextureShaders

A shader that can setup the texture combiner.

TGLTextAdjust

GLS.SpaceText

TGLTextHorzAdjust

GLS.SpaceText

Note: haAligned, haCentrically, haFitIn have not been implemented!

TGLTextReader

GLS.PersistentClasses

Reads object persistence in Text format.

TGLTexture

GLS.Texture

Defines basic texturing properties. You can control texture wrapping, smoothing/filtering and of course define the texture map (note that texturing is disabled by default). A built-in mechanism (through ImageAlpha) allows auto-generation of an Alpha channel for all bitmaps (see TGLTextureImageAlpha).

TGLTextureArray

GLS.FBORenderer

TGLTextureBufferHandle

GLS.Context

Manages a handle to a Buffer Texture. (TBO)

TGLTextureChange

GLS.Texture

TGLTextureChanges

GLS.Texture

TGLTextureCombiner

GLS.MaterialEx

TGLTextureCompareMode

GLS.TextureFormat

Specifies the texture comparison mode for currently bound depth textures. That is, a texture whose internal format is tfDEPTH_COMPONENT*

TGLTextureCompression

GLS.Texture

TGLTexturedHDS

GLS.TexturedHDS

TGLTextureEmitter

GLS.ProjectedTextures

A projected texture emmiter. It's material property will be used as the projected texture. Can be places anywhere in the scene.

TGLTextureEmitterItem

GLS.ProjectedTextures

Specifies an item on the TGLTextureEmitters collection.

TGLTextureEmitters

GLS.ProjectedTextures

Collection of TGLTextureEmitter.

TGLTextureEx

GLS.Texture

TGLTextureExItem

GLS.Texture

TGLTextureFilteringQuality

GLS.TextureFormat

Filtering quality

TGLTextureFormat

GLS.Texture

Texture format for OpenGL (rendering) use. Internally, GLScene handles all "base" images as 32 Bits RGBA, but you can specify a generic format to reduce OpenGL texture memory use:

TGLTextureHandle

GLS.Context

Manages a handle to a texture

TGLTextureImage

GLS.Texture

Base class for texture image data. Basicly, subclasses are to be considered as different ways of getting a HBitmap (interfacing the actual source). SubClasses should be registered using RegisterGLTextureImageClass to allow proper persistence and editability in the IDE experts.

TGLTextureImageAlpha

GLS.Texture

Defines how and if Alpha channel is defined for a texture image. tiaDefault : uses the alpha channel in the image if any tiaAlphaFromIntensity : the alpha channel value is deduced from other RGB components intensity (the brighter, the more opaque) tiaSuperBlackTransparent : pixels with a RGB color of (0, 0, 0) are completely transparent, others are completely opaque tiaLuminance : the luminance value is calculated for each pixel and used for RGB and Alpha values tiaLuminanceSqrt : same as tiaLuminance but with an Sqrt(Luminance) tiaOpaque : alpha channel is uniformously set to 1.0 tiaTopLeftPointColorTransparent : points of the same color as the top left point of the bitmap are transparent, others are opaque.

TGLTextureImageClass

GLS.Texture

TGLTextureImageEditor

GLS.TextureImageEditors

TGLTextureImageEditorClass

GLS.TextureImageEditors

TGLTextureImageEx

GLS.MaterialEx

TGLTextureImageProperty

GLS.SceneRegister

TGLTextureLensFlare

GLS.TexLensFlare

TGLTextureMappingMode

GLS.Texture

TGLTextureMode

GLS.Texture

TGLTextureNeededEvent

GLS.Texture

TGLTextureProperties

GLS.MaterialEx

TGLTextureProperty

GLS.SceneRegister

TGLTextureSampler

GLS.MaterialEx

TGLTextureSharingShader

GLSL.TextureShaders

TGLTextureSharingShaderMaterial

GLSL.TextureShaders

TGLTextureSharingShaderMaterials

GLSL.TextureShaders

TGLTextureSwizzle

GLS.TextureFormat

TGLTextureSwizzling

GLS.MaterialEx

Swizzle the components of a texture fetches in shader or fixed-function pipeline.

TGLTextureTarget

GLS.TextureFormat

TGLTextureWrap

GLS.Texture

TGLTextVertAdjust

GLS.SpaceText

TGLTextWriter

GLS.PersistentClasses

Writes object persistence in Text format.

TGLTFVectorFile

GLS.FileGLTF

The glTF format is a runtime asset delivery format for GL APIs: WebGL, OpenGL ES OpenGL and Vulkan.

TGLTGAImage

Formats.TGA

TGLThorFXManager

GLS.ThorFX

Thor special effect manager.

TGLTiledArea

GLS.TilePlane

Stores tile information in a tiled area. Each tile stores an integer value with zero the default value, assumed as "empty".

TGLTiledAreaRow

GLS.TilePlane

Stores row information for a tiled area.

TGLTiledRndLandscape

GLS.RandomHDS

TGLTilePlane

GLS.TilePlane

A tiled textured plane. This plane object stores and displays texture tiles that composes it, and is optimized to minimize texture switches when rendering. Its bounding dimensions are determined by its painted tile.

TGLTimeEventsMGR

GLS.TimeEventsMgr

TGLTimerQueryHandle

GLS.Context

Manages a handle to a timer query. Requires GL_EXT_timer_query extension. Does *NOT* check for extension availability, this is assumed to have been checked by the user.

TGLTINVectorFile

GLS.FileTIN

The TIN vector file (triangle irregular network). It is a simple text format, with one triangle record per line, no materials, no texturing (there may be more, but I never saw anything in this files). This format is encountered in the DEM/DTED world and used in place of grids.

TGLTorus

GLS.GeomObjects

A Torus object

TGLTorusPart

GLS.GeomObjects

TGLTorusParts

GLS.GeomObjects

TGLTrail

GLS.Trail

TGLTransformation

GLS.PipelineTransformation

TGLTransformFeedbackBufferHandle

GLS.Context

Manages a handle to a Transform Feedback Buffer Object. Transform feedback buffers can be used to capture vertex data from the vertex or geometry shader stage to perform further processing without going on to the fragment shader stage.

TGLTransformFeedBackMode

GLSL.CustomShader

TGLTree

GLS.Tree

TGLTreeBranch

GLS.Tree

TGLTreeBranches

GLS.Tree

TGLTreeBranchNoise

GLS.Tree

TGLTreeLeaves

GLS.Tree

TGLTrianRec

GLS.VectorTypesExt

TGLTrianRecArray

GLS.VectorTypesExt

TGLType1Link

Physics.SPIJoints

// Type 1 Two-Link Manipulator // // _ ________ // / \ \ // / \/________/ // / / // / / // / / // / / // / / // \_/ //

TGLType2Link

Physics.SPIJoints

// Type 2 Two-Link Manipulator // ___ // / \___________________ // | + |___________________| // \ / // | | // | | // | | // | | // | | // | | // __|_|__ // |___.___| //

TGLType3Link

Physics.SPIJoints

// Type 3 Two-Link Manipulator // _______ // _________| |__ // <-|_________| |__|-> // |__ __| // | | // | | // | | // | | // | | // _|_|_ // |__.__|

TGLType4Link

Physics.SPIJoints

TGLType5Link

Physics.SPIJoints

// Type 5 Two-Link Manipulator // // _ // ________|_|__ // <-|_____________|-> // | | // | | // | | // | | // | | // __| |__ // |__| |__| // |_| // | // V //

TGLType6Link

Physics.SPIJoints

TGLType7Link

Physics.SPIJoints

TGLType8Link

Physics.SPIJoints

TGLU3DVectorFile

GLS.File3DPDF

The U3D vector file (using IDTF and U3DConverter).

TGLubyte

GLS.VectorTypes

TGLuint

GLS.VectorTypes

TGLuint64

GLS.VectorTypes

TGLuint64EXT

GLS.VectorTypes

TGLUniformBufferHandle

GLS.Context

Manages a handle to a Uniform Buffer Object (UBO). Uniform buffer objects store "uniform blocks"; groups of uniforms that can be passed as a group into a GLSL program

TGLUniformGravityEmitter

Physics.SPIFields

GLS.RigidBodyInertia

TGLUnpackPBOHandle

GLS.Context

Manages a handle to PBO Pixel Unpack Buffer. When bound, commands such as DrawPixels read their data from a buffer object

TGLUNurbs

GLS.OpenGLTokens

——————- OpenGL Utility (GLU) types —————- GLU types

TGLUNurbsErrorProc

GLS.OpenGLTokens

TGLUNurbsObj

GLS.OpenGLTokens

backwards compatibility

TGLUpdateAbleComponent

GLS.BaseClasses

A base class describing the "update" interface.

TGLUpdateAbleObject

GLS.BaseClasses

An abstract class describing the "update" interface.

TGLUQuadric

GLS.OpenGLTokens

TGLUQuadricErrorProc

GLS.OpenGLTokens

Callback function prototypes

TGLUQuadricObj

GLS.OpenGLTokens

TGLUserInputCommand

GLS.Console

Stores info on a command. A command is a parsed input line. Should be transformed into a class, I think...

TGLUserInterface

GLS.Navigator

TGLUserInterface is the component which reads the user input and transform it into action. The four calls to get you started is MouseLookActivate : set us up the bomb. MouseLookDeActivate : defuses it. Mouselook(deltaTime: double) : handles mouse look... Should be called in the Cadencer event. (Though it works every where!) MouseUpdate : Resets mouse position so that you don't notice that the mouse is limited to the screen should be called after Mouselook. The four properties to get you started are: InvertMouse : Inverts the mouse Y axis. MouseSpeed : Also known as mouse sensitivity. GLNavigator : The Navigator which receives the user movement. GLVertNavigator : The Navigator which if set receives the vertical user movement. Used mostly for cameras....

TGLUserShader

GLSL.UserShader

TGLushort

GLS.VectorTypes

TGLUTessBeginDataProc

GLS.OpenGLTokens

TGLUTessBeginProc

GLS.OpenGLTokens

TGLUTessCombineDataProc

GLS.OpenGLTokens

TGLUTessCombineProc

GLS.OpenGLTokens

TGLUTessEdgeFlagDataProc

GLS.OpenGLTokens

TGLUTessEdgeFlagProc

GLS.OpenGLTokens

TGLUTesselator

GLS.OpenGLTokens

TGLUTesselatorObj

GLS.OpenGLTokens

TGLUTessEndDataProc

GLS.OpenGLTokens

TGLUTessEndProc

GLS.OpenGLTokens

TGLUTessErrorDataProc

GLS.OpenGLTokens

TGLUTessErrorProc

GLS.OpenGLTokens

TGLUTessVertexDataProc

GLS.OpenGLTokens

TGLUTessVertexProc

GLS.OpenGLTokens

TGLUTriangulatorObj

GLS.OpenGLTokens

TGLVBOArrayBufferHandle

GLS.Context

Manages a handle to VBO Array Buffer. Typically used to store vertices, normals, texcoords, etc.

TGLVBOBuffer

GLS.VectorFileObjects

TGLVBOBuffers

GLS.VectorFileObjects

TGLVBOElementArrayHandle

GLS.Context

Manages a handle to VBO Element Array Buffer. Typically used to store vertex indices.

TGLVBOHandle

GLS.Context

Manages a handle to an Vertex Buffer Object, VBO. Does *NOT* check for extension availability, this is assumed to have been checked by the user. Do not use this class directly, use one of its subclasses instead.

TGLvdpauSurfaceNV

GLS.OpenGLTokens

TGLVec

GLS.VectorTypesExt

TGLVec2D

GLS.VectorTypesExt

TGLVec2DArray

GLS.VectorTypesExt

Vector Arrays

TGLVec2DType

GLS.VectorTypesExt

———————– Vector types ———————–

TGLVec3D

GLS.VectorTypesExt

TGLVec3DArray

GLS.VectorTypesExt

TGLVec3DType

GLS.VectorTypesExt

TGLVecHelper

GLS.VectorTypesExt

TGLVector

GLS.VectorTypes

TGLVectorEditorForm

FmVectorEditor

TGLVectorFile

GLS.VectorFileObjects

Abstract base class for different vector file formats. The actual implementation for these files (3DS, DXF..) must be done separately. The concept for TGLVectorFile is very similar to TGraphic

TGLVectorFileClass

GLS.VectorFileObjects

TGLVectorFileFormat

GLS.VectorFileObjects

TGLVectorFileFormatsList

GLS.VectorFileObjects

Stores registered vector file formats

TGLVectorPool

GLS.MultiPolygon

Page oriented pointer array, with persistent pointer target memory. In TVectorList a pointer to a vector will not be valid any more after a call to SetCapacity, which might be done implicitely during Add. The TGLVectorPool keeps memory in its original position during its whole lifetime.

TGLVerletAirResistance

GLS.VerletTypes

TGLVerletCapsule

GLS.VerletTypes

Capsule shaped verlet constraint in a skeleton collider

TGLVerletConstraint

GLS.VerletTypes

TGLVerletConstraintList

GLS.VerletTypes

TGLVerletDualConstraint

GLS.VerletTypes

TGLVerletDualForce

GLS.VerletTypes

A verlet force that applies to two specified nodes.

TGLVerletEdge

GLS.VerletTypes

Verlet edges simulate rigid collission edges

TGLVerletEdgeList

GLS.VerletTypes

TGLVerletFloor

GLS.VerletTypes

Floor Collision Constraint

TGLVerletForce

GLS.VerletTypes

Generic verlet force.

TGLVerletForceList

GLS.VerletTypes

TGLVerletFrictionCapsule

GLS.VerletTypes

Capsule collision Friction Constraint.

TGLVerletFrictionCube

GLS.VerletTypes

Cube Сollision Friction Constraint.

TGLVerletFrictionCylinder

GLS.VerletTypes

Cylinder collision Friction Constraint. The cylinder is considered infinite by this constraint.

TGLVerletFrictionSphere

GLS.VerletTypes

Sphere Сollision Friction Constraint

TGLVerletGlobalConstraint

GLS.VerletTypes

TGLVerletGlobalForce

GLS.VerletTypes

A global force (applied to all verlet nodes).

TGLVerletGlobalFrictionConstraint

GLS.VerletTypes

TGLVerletGlobalFrictionConstraintBox

GLS.VerletTypes

TGLVerletGlobalFrictionConstraintSP

GLS.VerletTypes

TGLVerletGlobalFrictionConstraintSphere

GLS.VerletTypes

TGLVerletGravity

GLS.VerletTypes

TGLVerletGroupConstraint

GLS.VerletTypes

TGLVerletGroupForce

GLS.VerletTypes

A verlet force that applies to a specified group of nodes.

TGLVerletHair

GLS.VerletTypes

Verlet Hair class

TGLVerletHeightField

GLS.VerletTypes

HeightField collision constraint (punctual!)

TGLVerletHeightFieldOnNeedHeight

GLS.VerletTypes

TGLVerletNode

GLS.VerletTypes

Specialized verlet node that can be anchored to a GLScene object. If it's anchored and has the property "NailedDown" set, it will remain in the same relative position to the GLScene object.

TGLVerletNodeClass

GLS.VerletTypes

TGLVerletNodeList

GLS.VerletTypes

TGLVerletRigidBody

GLS.VerletTypes

Rigid body verlet Collision constraint. Regroups several nodes in a rigid body conformation, somewhat similar to a stick but for multiple nodes. EXPERIMENTAL, STILL DOES NOT WORK!

TGLVerletSkeletonCollider

GLS.VerletTypes

Base Verlet Skeleton Collider class.

TGLVerletSlider

GLS.VerletTypes

Slider constraint. Imposes that two nodes be aligned on a defined direction, on which they can slide freely. Note that the direction is fixed and won't rotate with the verlet assembly!.

TGLVerletSphere

GLS.VerletTypes

Sphere shaped verlet constraint in a skeleton collider

TGLVerletSpring

GLS.VerletTypes

TGLVerletStick

GLS.VerletTypes

Stick Verlet Collision Constraint. Imposes a fixed distance between two nodes

TGLVerletWorld

GLS.VerletTypes

TGLVertArray

GLS.VectorTypesExt

TGLVertexArrayHandle

GLS.Context

Manages a handle to a Vertex Array Object (VAO). Vertex array objects are used to rapidly switch between large sets of array state

TGLVertexAttribute

CUDA.Graphics

TGLVertexAttributes

CUDA.Graphics

TGLVertexData

GLS.Mesh

TGLVertexDataArray

GLS.Mesh

TGLVertexList

Formats.MD2

TGLVertexList

GLS.Mesh

Stores an interlaced vertex list for direct use in OpenGL. Locking (hardware passthrough) is supported, see "Locked" property for details.

TGLVertexMode

GLS.Mesh

TGLVertexProgram

GLSL.CustomShader

TGLVertexRec

GLS.Objects

TGLVertexShaderHandle

GLS.Context

Manages a handle to a Vertex Shader Object

TGLVertRec

GLS.VectorTypesExt

TGLVfsPAK

GLS.FileVfsPAK

TGLVirtualHandle

GLS.Context

A context handle with event-based handle allocation and destruction

TGLVirtualHandleEvent

GLS.Context

TGLVirtualHandleTransf

GLS.Context

Transferable virtual handle

TGLVisibilityCulling

GLS.RenderContextInfo

Determines the visibility culling mode. Culling is done level by level, allowed values are: vcInherited : use inherited culling value, if selected for the root level, defaults to vcNone vcNone : no visibility culling is performed vcObjectBased : culling is done on a per-object basis, each object may or may not be culled base on its own AxisAlignedDimensions, culling has no impact on the visibility of its children vcHierarchical : culling is performed hierarchically, using hierarchical bounding boxes, if a parent is culled, all of its children, whatever their culling options are invisible. Depending on the structure of your scene the most efficient culling method will be either vcObjectBased or vcHierarchical. Also note that if you use many objects with "static" geometry and have a T&amp;L graphics board, it may be faster not to cull at all (ie. leave this to the hardware).

TGLVisibilityDeterminationEvent

GLS.Objects

TGLVORVectorFile

GLS.FileVOR

TGLVoxel

GLS.VectorTypesExt

TGLVoxelData

GLS.VectorTypesExt

TGLVoxelStatus

GLS.VectorTypesExt

Voxel types

TGLVRMLVectorFile

GLS.FileVRML

TGLVSyncMode

GLS.Context

TGLWaterPlane

GLS.WaterPlane

TGLWaterPlaneOption

GLS.WaterPlane

TGLWaterPlaneOptions

GLS.WaterPlane

TGLWAVFile

GLS.FileWAV

Support for Windows WAV format.

TGLWindowsBitmapFont

GLS.WindowsFont

A bitmap font automatically built from a TFont. It works like a TGLBitmapfont, you set ranges and which chars are assigned to which indexes, however here you also set the Font property to any TFont available to the system and it renders in GLScene as close to that font as posible, on some font types this is 100% on some a slight difference in spacing can occur at most 1 pixel per char on some char combinations. Ranges must be sorted in ascending ASCII order and should not overlap. As the font texture is automatically layed out, the Ranges StartGlyphIdx property is ignored and replaced appropriately.

TGLWindowsContext

GLS.WindowsContext

A context driver for standard Windows OpenGL (via MS OpenGL).

TGLXVectorFile

GLS.FileX

TGLXYZGrid

GLS.Graph

An XYZ Grid object. Renders an XYZ grid using lines

TGLXYZGridLinesStyle

GLS.Graph

Rendering Style for grid lines. - glsLine : a single line is used for each grid line (from Min to Max), this provides the fastest rendering - glsSegments : line segments are used between each node of the grid, this enhances perspective and quality, at the expense of computing power.

TGLXYZGridPart

GLS.Graph

TGLXYZGridParts

GLS.Graph

TGLzBuffer

GLS.zBuffer

TGLZoomToDistanceJob

GLS.CameraController

TGLZShadows

GLS.zBuffer

TGPUDEVICE

GLS.OpenGLTokens

TGrowMethod

GLS.SpacePartition

Implements sectored space partitioning, sectored space partitions include Octrees, Quadtrees and BSP-trees

TGUIAlignments

GLS.Gui

TGUIDrawResult

GLS.Gui

TGUIRect

GLS.Gui

TGutterClickEvent

GLS.Memo

————————————————————–

TGutterDrawEvent

GLS.Memo

THalfFloat

GLS.Utils

THat

SDL2.Import

** * Get the SDL joystick layer binding for this controller button/axis mapping *

THDRImage

Formats.HDRImage

THDTextureCoordinatesMode

GLS.HeightData

THideTrackTag

Formats.m3DSTypes

THiShadowBias

Formats.m3DSTypes

THmgBoundingBox

GLS.GeometryBB

THmgPlane

GLS.VectorGeometry

A plane equation. Defined by its equation A.x+B.y+C.z+D , a plane can be mapped to the homogeneous space coordinates, and this is what we are doing here. The typename is just here for easing up data manipulation

THomogeneousByteMatrix

GLS.VectorGeometry

Matrices

THomogeneousByteVector

GLS.VectorGeometry

THomogeneousDblMatrix

GLS.VectorGeometry

THomogeneousDblVector

GLS.VectorGeometry

THomogeneousExtMatrix

GLS.VectorGeometry

THomogeneousExtVector

GLS.VectorGeometry

THomogeneousFltMatrix

GLS.VectorGeometry

THomogeneousFltVector

GLS.VectorGeometry

THomogeneousIntMatrix

GLS.VectorGeometry

THomogeneousIntVector

GLS.VectorGeometry

THomogeneousMatrix

GLS.VectorGeometry

THomogeneousPtrVector

GLS.VectorGeometry

THomogeneousVector

GLS.VectorGeometry

THomogeneousWordMatrix

GLS.VectorGeometry

THomogeneousWordVector

GLS.VectorGeometry

THotTrackTag

Formats.m3DSTypes

THTFHeader

GLS.HeightTileFileHDS

TI1

Formats.LWO

TI2

Formats.LWO

TI4

Formats.LWO

TICCOMPRESS

Formats.VFW

TICCOMPRESSFRAMES

Formats.VFW

TICCompressProc

Formats.VFW

TICDECOMPRESS

Formats.VFW

TICDECOMPRESSEX

Formats.VFW

TICDRAW

Formats.VFW

TICDRAWBEGIN

Formats.VFW

TICDRAWSUGGEST

Formats.VFW

TICINFO

Formats.VFW

TICOPEN

Formats.VFW

TICPALETTE

Formats.VFW

TICSETSTATUSPROC

Formats.VFW

TICStatusProc

Formats.VFW

return nonzero means abort operation in progress

TID4

Formats.LWO

TID4DynArray

Formats.LWO

TIDELogProc

GLS.Logger

TIdleEvent

GLS.AsyncHDS

TImageAlphaProc

GLS.ImageUtils

TImageFilterFunction

GLS.ImageUtils

TIMG_InitFlags

SDL2.Image

TImposter

GLS.Imposter

Base class for imposters manipulation and handling. Rendering imposters is performed by three methods, BeginRender must be invoked first, then Render for each of the impostr This class assumes a single impostor per texture.
Note: Remeber to enable Destination Alpha on your viewer.

TImposterLoadedEvent

GLS.Imposter

Used CPPB procedure instead of Delphi function TLoadingImposterEvent = procedure (Sender : TObject; impostoredObject : TGLBaseSceneObject; destImposter : TImposter; var result : TGLBitmap32) of object;

TImposterOption

GLS.Imposter

Imposter rendering options. Following options are supported: impoBlended : the imposters are transparently blended during renders, this will smooth their edges but requires them to be rendered sorted from back to front impoAlphaTest : alpha test is used to eliminate transparent pixels, the alpha treshold is adjusted by the AlphaTreshold property impoNearestFiltering : use nearest texture filtering (the alternative is linear filtering) impoPerspectiveCorrection : activates a special imposter rendering projection suitable for distorting the sprites when seen from a level angle of view with a wide focal camera (think trees/grass when walking in a forest), if not active, the imposter sprites are camera-facing

TImposterOptions

GLS.Imposter

TImposterReference

GLS.Imposter

TIndexList

Formats.MD2

TInfoLabelCoordType

GLS.GizmoEx

TIntegerArray

Formats.m3DSTypes

TIntegerArray

GLS.HeightTileFileHDS

TIntegerArray

GLS.Isosurface

TIntegerClamp

GLS.RandomHDS

TIntegerList

GLS.VectorLists

A list of Integers. Similar to TList, but using TTexPoint as items. The list has stack-like push/pop methods.

TIntegerVector

GLS.VectorGeometry

TIntermediateFormat

GLS.ImageUtils

Relative sample radius for filtering

TIntermediateFormatArray

GLS.ImageUtils

TIntPercentage

Formats.m3DSTypes

TInvokeInfoForm

GLS.Scene

TIPAddress

SDL2.Net

TIpasData

Formats.m3DSTypes

TIsDefaultTile

GLS.RandomHDS

TIsoSurfaceExtractor

GLS.Isosurface

3D isosurface extractor class. This class allows to calculate and exctract isosurfaces from scalar field voxel models using a given isovalue

TJointFlag

Physics.ODEImport

Change: New Type added, syntax enforcement

TJointInfo1

Physics.ODEImport

info returned by getInfo1 function. the constraint dimension is m (<=6). i.e. that is the total number of rows in the jacobian. `nub' is the number of unbounded variables (which have lo,hi = -/+ infinity).

TJointInfo2

Physics.ODEImport

info returned by getInfo2 function

TJointParams

Physics.ODEImport

TJointParams = ( parameters for limits and motors Change: New Type added, sintax enforcement

TJoyAxis

GLS.Joystick

TJoyPos

GLS.Joystick

TJoystickButton

GLS.Joystick

TJoystickButtons

GLS.Joystick

TJoystickDesignMode

GLS.Joystick

TJoystickEvent

GLS.Joystick

TJoystickID

GLS.Joystick

TKeyFramer

Formats.m3DS

TKeyHeader3DS

Formats.m3DSTypes

Animation key settings

TKeyHeaderList

Formats.m3DSTypes

TKEYSChunk

Formats.B3D

TKFAmbient3DS

Formats.m3DSTypes

TKFCamera3DS

Formats.m3DSTypes

TKFCurtime

Formats.m3DSTypes

TKFHdr

Formats.m3DSTypes

TKFId

Formats.m3DSTypes

TKFKeyInfo3DS

Formats.m3DSTypes

TKFMesh3DS

Formats.m3DSTypes

TKFMorphKey3DS

Formats.m3DSTypes

Object Morph key

TKFMorphKeyList

Formats.m3DSTypes

TKFOmni3DS

Formats.m3DSTypes

TKFRotKey3DS

Formats.m3DSTypes

Rotation key

TKFRotKeyList

Formats.m3DSTypes

TKFSeg

Formats.m3DSTypes

TKFSegment3DS

Formats.m3DSTypes

TKFSets3DS

Formats.m3DSTypes

TKFSpot3DS

Formats.m3DSTypes

TLandTileInfo

GLS.RandomHDS

TLayerFog

Formats.m3DSTypes

TLayerFogFalloff3DS

Formats.m3DSTypes

distance cue atmospheric

TLayerFogSettings3DS

Formats.m3DSTypes

layered Fog atmosphere parameters

TLeavedSpacePartition

GLS.SpacePartition

Implements a list of all leaves added to the space partition, _not_ a good solution, but it can be used as a benchmark against more complex methods

TLibArchive

GLS.ArchiveManager

Using the collection item for simultaneous work with several archives

TLibArchives

GLS.ArchiveManager

TLifeErosion

GLS.RandomHDS

TLight3DS

Formats.m3DSTypes

TLightDir2TexEnvColor

GLS.MaterialEx

TLightmapBounds

GLS.MeshLines

TLightRecord

GLSL.DiffuseSpecularShader

Note: probably LightCount should be replaced by LightSources, like in GLSLBumpShader.pas

TLinColor24

Formats.m3DSTypes

TLinColorF

Formats.m3DSTypes

TLineCollection

GLS.MeshLines

TLineItem

GLS.MeshLines

TLineNode

GLS.MeshLines

Specialized Node for use in a TGLLines objects. Adds a Width property

TLineNodes

GLS.MeshLines

Specialized collection for Nodes in TGLMeshLines objects. Stores TLineNode items.

TLineProp

GLS.Memo

TLiteAttenuate3DS

Formats.m3DSTypes

TLMTS

GLS.FileLMTS

TLMTS_Header

GLS.FileLMTS

TLMTS_Subset

GLS.FileLMTS

TLMTS_TexData

GLS.FileLMTS

TLMTS_Vertex

GLS.FileLMTS

TLoadingImposterEvent

GLS.Imposter

Imposter loading events

TLoadProgress

Formats.m3DS

TLogBufferFlushThread

GLS.Logger

Thread that periodically flushes the buffer to disk.

TLogBufferingMode

GLS.Logger

How log is buffered.

TLogCheckSizeThread

GLS.Logger

Thread that checks file size and splits the file if nessesary.

TLogLevel

GLS.Logger

Levels of importance of log messages

TLogLevels

GLS.Logger

Log level setting type

TLogMessageLimitAction

GLS.Logger

What to do when number of messages exceeds message limit.

TLogSession

GLS.Logger

Abstract Logger class

TLogTimeFormat

GLS.Logger

Log date and time setting type

TLongWordList

GLS.VectorLists

TLongWordVector

GLS.VectorGeometry

TLoShadowBias

Formats.m3DSTypes

TLWChunk

Formats.LWO

TLWChunkClass

Formats.LWO

TLWChunkFind

Formats.LWO

TLWChunkList

Formats.LWO

TLWChunkRec

Formats.LWO

TLWClip

Formats.LWO

TLWContentDir

Formats.LWO

TLWContentNotify

Formats.LWO

TLWLayr

Formats.LWO

TLWObjectFile

Formats.LWO

TLWOReadCallback

Formats.LWO

TLWParentChunk

Formats.LWO

TLWPnts

Formats.LWO

TLWPntsInfo

Formats.LWO

TLWPntsInfoDynArray

Formats.LWO

TLWPols

Formats.LWO

TLWPolsDynArray

Formats.LWO

TLWPolsInfo

Formats.LWO

TLWPolsInfoDynArray

Formats.LWO

TLWPolyTagMap

Formats.LWO

TLWPolyTagMapDynArray

Formats.LWO

TLWPTag

Formats.LWO

TLWSubChunk

Formats.LWO

TLWSubChunkRec

Formats.LWO

TLWSurf

Formats.LWO

TLWTags

Formats.LWO

TLWVertexMap

Formats.LWO

Value Map

TLWVertexMapDynArray

Formats.LWO

TLWVMap

Formats.LWO

TM3dVersion

Formats.m3DSTypes

TMainAVIHeader

Formats.VFW

TMapInfo3DS

Formats.m3DSTypes

TMapOfSingle

GLS.RandomHDS

TMapOfVector

GLS.RandomHDS

TMapSet3DS

Formats.m3DSTypes

TMapTexCoordMode

GLS.XOpenGL

TMarkDirtyEvent

GLS.HeightData

TMarkStyle

GLS.Trail

TMasterScale

Formats.m3DSTypes

TMatAcubic

Formats.m3DSTypes

TMatBumpPercent

Formats.m3DSTypes

TMaterial3DS

Formats.m3DSTypes

TMaterialInfo

GLS.FileLMTS

TMaterialList

Formats.m3DS

Progress : TProgressBar;
This allows to use something like that:
procedure TSomeForm.CreateForm(Sender: TObject); begin .... 3DSReader.OnProgress := LoadProgress; .... end; procedure TSomeForm.LoadProgress(StreamPos, StreamMax : Longint); begin if StreamMax <> 0 then Progress.MaxValue := StreamMax; Progress.Position := StreamPos; end; —– support classes —– All structure data of a 3DS file is actually held in TFile3DS.FDatabase as a tree with lots of links across the various chunks. For convinience and speed the data of the chunks is collected into some special structures (FMaterialList etc.) and presented to the user by the following helper classes:

TMatMapAng

Formats.m3DSTypes

TMatMapBCol

Formats.m3DSTypes

TMatMapCol1

Formats.m3DSTypes

TMatMapCol2

Formats.m3DSTypes

TMatMapGCol

Formats.m3DSTypes

TMatMapRCol

Formats.m3DSTypes

TMatMapTexblur

Formats.m3DSTypes

TMatMapTiling

Formats.m3DSTypes

TMatMapUOffset

Formats.m3DSTypes

TMatMapUScale

Formats.m3DSTypes

TMatMapVOffset

Formats.m3DSTypes

TMatMapVScale

Formats.m3DSTypes

TMatrix2b

GLS.VectorTypes

TMatrix2d

GLS.VectorTypes

=========== Matrices ============

TMatrix2e

GLS.VectorTypes

TMatrix2f

GLS.VectorTypes

TMatrix2i

GLS.VectorTypes

TMatrix2p

GLS.VectorTypes

TMatrix2s

GLS.VectorTypes

TMatrix2w

GLS.VectorTypes

TMatrix3b

GLS.VectorTypes

TMatrix3d

GLS.VectorTypes

TMatrix3e

GLS.VectorTypes

TMatrix3f

GLS.VectorTypes

TMatrix3i

GLS.VectorTypes

TMatrix3p

GLS.VectorTypes

TMatrix3s

GLS.VectorTypes

TMatrix3w

GLS.VectorTypes

TMatrix4b

GLS.VectorTypes

TMatrix4d

GLS.VectorTypes

TMatrix4e

GLS.VectorTypes

TMatrix4f

GLS.VectorTypes

TMatrix4i

GLS.VectorTypes

TMatrix4p

GLS.VectorTypes

TMatrix4s

GLS.VectorTypes

TMatrix4w

GLS.VectorTypes

TMatrixArr

GLS.Isolines

TMatrixArray

GLS.VectorGeometry

Some simplified names

TMatShading

Formats.m3DSTypes

TMatWireSize

Formats.m3DSTypes

TMaxCLODTrianglesReachedEvent

GLS.TerrainRenderer

TMD2AliasFrame

Formats.MD2

TMD2Header

Formats.MD2

TMD2Triangle

Formats.MD2

TMD2TriangleVertex

Formats.MD2

TMD2VertexIndex

Formats.MD2

TMD3Bone

Formats.MD3

TMD3Frame = record min_bound,max_bounds, local_origin : TVector3f; radius : single; name : array[0..15] of char; end;

TMD3Face

Formats.MD3

TMD3Header

Formats.MD3

TMD3MeshData

Formats.MD3

TMD3MeshHeader

Formats.MD3

TMD3Skin

Formats.MD3

TMD3Tag

Formats.MD3

Quake3 MD3 structure types

TMD3TagList

GLS.FileQ3MD3

This class is used to extract the tag transform information stored in the MD3 files. The data is used to offset each part of the model based on the parent parts animation state.

TMD3TexCoord

Formats.MD3

TMD3Triangle

Formats.MD3

TMDCAngle

GLS.FileMDC

TMDCBaseFrame

GLS.FileMDC

TMDCBaseVertex

GLS.FileMDC

TMDCBorderFrame

GLS.FileMDC

TMDCCompFrame

GLS.FileMDC

TMDCCompVertex

GLS.FileMDC

TMDCFileHeader

GLS.FileMDC

TMDCPoint

GLS.FileMDC

3/64;

TMDCSkin

GLS.FileMDC

TMDCSurfaceHeader

GLS.FileMDC

TMDCTag

GLS.FileMDC

TMDCTagFrame

GLS.FileMDC

TMDCTagName

GLS.FileMDC

TMDCTexCoord

GLS.FileMDC

TMDCTriangle

GLS.FileMDC

TMem

SDL2.Import

TMesh3DS

Formats.m3DSTypes

TMESHChunk

Formats.B3D

TMeshColor

Formats.m3DSTypes

TMeshMatrix

Formats.m3DSTypes

TMeshSet3DS

Formats.m3DSTypes

TMeshTextureInfo

Formats.m3DSTypes

TMeshVersion

Formats.m3DSTypes

TMipmapGenerationMode

GLS.MaterialEx

TMirrorShapes

GLS.Mirror

TMix_Channel_Finished

SDL2.Mixer

* * Add your own callback when a channel has finished playing. NULL * to disable callback. The callback may be called from the mixer's audio * callback or it could be called as a result of Mix_HaltChannel(), etc. * do not call SDL_LockAudio() from this callback; you will either be * inside the audio callback, or SDL_mixer will explicitly lock the audio * before calling your callback. *

TMix_Chunk

SDL2.Mixer

TMix_EffectDone_t

SDL2.Mixer

* * This is a callback that signifies that a channel has finished all its * loops and has completed playback. This gets called if the buffer * plays out normally, or if you call Mix_HaltChannel(), implicitly stop * a channel via Mix_AllocateChannels(), or unregister a callback while * it's still playing. * * DO NOT EVER call SDL_LockAudio() from your callback function! *

TMix_EffectFunc_t

SDL2.Mixer

* This is the format of a special effect callback: * * myeffect(int chan, void *stream, int len, void *udata); * * (chan) is the channel number that your effect is affecting. (stream) is * the buffer of data to work upon. (len) is the size of (stream), and * (udata) is a user-defined bit of data, which you pass as the last arg of * Mix_RegisterEffect(), and is passed back unmolested to your callback. * Your effect changes the contents of (stream) based on whatever parameters * are significant, or just leaves it be, if you prefer. You can do whatever * you like to the buffer, though, and it will continue in its changed state * down the mixing pipeline, through any other effect functions, then finally * to be mixed with the rest of the channels and music for the final output * stream. * * DO NOT EVER call SDL_LockAudio() from your callback function! *

TMix_Fading

SDL2.Mixer

* The different fading types supported *

TMix_Func

SDL2.Mixer

* Set a function that is called after all mixing is performed. This can be used to provide real-time visual display of the audio stream or add a custom mixer filter for the stream data. *

TMIX_InitFlags

SDL2.Mixer

TMix_Music

SDL2.Mixer

TMix_MusicType

SDL2.Mixer

TMix_Music_Finished

SDL2.Mixer

TMix_SoundFunc

SDL2.Mixer

TModuleHandle

GLS.ModuleLoader

Handle to a loaded DLL

TMOParametricSurface

GLS.ParametricSurfaces

TMorphSmooth

Formats.m3DSTypes

TMorphTrackTag

Formats.m3DSTypes

TMS3DComment

GLS.FileMS3D

TMS3DCommentList

GLS.FileMS3D

TMS3DGroup

GLS.FileMS3D

typedef struct (* byte flags; // SELECTED | HIDDEN char name[32]; // word numtriangles; // word triangleIndices[numtriangles]; // the groups group the triangles char materialIndex; // -1 = no material *) ms3d_group_t;

TMS3DHeader

GLS.FileMS3D

typdef struct (* char id[10]; // always "MS3D000000" int version; // 4 *) ms3d_header_t;

TMS3DJoint

GLS.FileMS3D

TMS3DJointArray

GLS.FileMS3D

TMS3DJointBase

GLS.FileMS3D

typedef struct (* byte flags; // SELECTED | DIRTY char name[32]; // char parentName[32]; // float rotation[3]; // local reference matrix float position[3];
word numKeyFramesRot; // word numKeyFramesTrans; //
ms3d_keyframe_rot_t keyFramesRot[numKeyFramesRot]; // local animation matrices ms3d_keyframe_pos_t keyFramesTrans[numKeyFramesTrans]; // local animation matrices *) ms3d_joint_t;

TMS3DKeyframePosition

GLS.FileMS3D

typedef struct (* float time; // time in seconds float position[3]; // local position *) ms3d_keyframe_pos_t;

TMS3DKeyframePositionArray

GLS.FileMS3D

TMS3DKeyframeRotation

GLS.FileMS3D

typedef struct (* float time; // time in seconds float rotation[3]; // x, y, z angles *) ms3d_keyframe_rot_t;

TMS3DKeyframeRotationArray

GLS.FileMS3D

TMS3DMaterial

GLS.FileMS3D

typedef struct (* char name[32]; // float ambient[4]; // float diffuse[4]; // float specular[4]; // float emissive[4]; // float shininess; // 0.0f - 128.0f float transparency; // 0.0f - 1.0f char mode; // 0, 1, 2 is unused now char texture[128]; // texture.bmp char alphamap[128]; // alpha.bmp *) ms3d_material_t;

TMS3DTriangle

GLS.FileMS3D

typedef struct (* word flags; // SELECTED | SELECTED2 | HIDDEN word vertexIndices[3]; // float vertexNormals[3][3]; // float s[3]; // float t[3]; // byte smoothingGroup; // 1 - 32 byte groupIndex; // *) ms3d_triangle_t;

TMS3DTriangleArray

GLS.FileMS3D

TMS3DVertex

GLS.FileMS3D

typedef struct (* byte flags; // SELECTED | SELECTED2 | HIDDEN float vertex[3]; // char boneId; // -1 = no bone byte referenceCount; *) ms3d_vertex_t;

TMS3DVertexArray

GLS.FileMS3D

TMS3D_vertex_ex_t

GLS.FileMS3D

TMshBoxmap

Formats.m3DSTypes

TMshMatGroup

Formats.m3DSTypes

TNCamera

Formats.m3DSTypes

TNDirectLight

Formats.m3DSTypes

TNewTilePreparedEvent

GLS.AsyncHDS

TNewTilePreparedEvent

GLS.BumpmapHDS

TNewTilePreparedEvent

GLS.ShadowHDS

TNewtonBoxParam

Physics.NewtonImport

TNewtonCapsuleParam

Physics.NewtonImport

TNewtonChamferCylinderParam

Physics.NewtonImport

TNewtonCollisionInfoRecord

Physics.NewtonImport

TNewtonCollisionMaterial

Physics.NewtonImport

TNewtonCollisionNullParam

Physics.NewtonImport

TNewtonCollisionTreeParam

Physics.NewtonImport

TNewtonCompoundCollisionParam

Physics.NewtonImport

TNewtonConeParam

Physics.NewtonImport

TNewtonConvexHullParam

Physics.NewtonImport

TNewtonCylinderParam

Physics.NewtonImport

TNewtonDeformableMeshParam

Physics.NewtonImport

TNewtonFuncLinkRecord

Physics.NewtonImport

PNewtonSerializeHandle = ˆPointer; PNewtonMeshHandle = ˆPointer; PNewtonMeshVertex = ˆPointer; PNewtonMeshPoint = ˆPointer; PNewtonMeshEdge = ˆPointer; PNewtonMeshFace = ˆPointer; PNewtonListener = ˆPointer;

TNewtonHeightFieldCollisionParam

Physics.NewtonImport

TNewtonHingeSliderUpdateDesc

Physics.NewtonImport

TNewtonImmediateModeConstraint

Physics.NewtonImport

TNewtonJointRecord

Physics.NewtonImport

TNewtonMaterialData

Physics.NewtonImport

TNewtonMeshDoubleData

Physics.NewtonImport

data structure for interfacing with NewtonMesh

TNewtonMeshFloatData

Physics.NewtonImport

TNewtonMeshVertexFormat

Physics.NewtonImport

TNewtonRagdoll

Physics.NGDRagdoll

TNewtonSceneCollisionParam

Physics.NewtonImport

TNewtonSphereParam

Physics.NewtonImport

TNewtonTaperedCapsuleParam

Physics.NewtonImport

TNewtonTaperedCylinderParam

Physics.NewtonImport

TNewtonUserContactPoint

Physics.NewtonImport

TNewtonUserMeshCollisionCollideDesc

Physics.NewtonImport

TNewtonUserMeshCollisionRayHitDesc

Physics.NewtonImport

TNewtonWorldConvexCastReturnInfo

Physics.NewtonImport

TNmHeader

GLS.FileNMF

TNmRawTriangle

GLS.FileNMF

TNODEChunk

Formats.B3D

TNodeHdr

Formats.m3DSTypes

TNodeList

Formats.m3DSTypes

TO3TCImage

GLS.FileO3TCImage

TObjectCollisionEvent

GLS.Collision

TObjectList

Formats.m3DS

TObjectListSortCompare

GLS.PersistentClasses

TObjMat3DS

Formats.m3DSTypes

TObjMatList

Formats.m3DSTypes

TOConsts

Formats.m3DSTypes

TOCTFace

Formats.OCT

TOCTFile

Formats.OCT

TOCTHeader

Formats.OCT

TOCTLight

Formats.OCT

TOCTLightmap

Formats.OCT

TOctreeNode

GLS.Octree

TOctreeSpacePartition

GLS.SpacePartition

Implements octrees

TOctreeTriangleInfo

GLS.Octree

TOCTTexture

Formats.OCT

TOCTVertex

Formats.OCT

ToDosPath

Formats.LWO

ToHex

Formats.VFW

– Macro to make a ckid for a chunk out of a TWOCC and a stream num (0-255) -

TOnAsmProgSetting

GLS.MaterialEx

TOnBeforeKernelLaunch

CUDA.Graphics

TOnCreateLandTile

GLS.RandomHDS

TOnCustomForce

Physics.SPIForces

TOnCustomPerspective

GLS.Scene

TOnDoApplyEvent

GLSL.UserShader

TOnDoUnApplyEvent

GLSL.UserShader

TOnDrawTexture

GLS.RandomHDS

Function type to use for topography-based texture

TOnHeightDataDirtyEvent

GLS.HeightData

TOnMatricesPush

GLS.PipelineTransformation

TOnOpenGLInteropInit

CUDA.Context

TOnPrepareHandleData

GLS.Context

TOnUniformInitialize

GLS.MaterialEx

TOnUniformSetting

GLS.MaterialEx

TopFalloff

Formats.m3DSConst

TOptimise

GLS.zBuffer

TOrthoView3DS

Formats.m3DSTypes

Used to describe Top, Bottom, left, right, front and back views

ToUnixPath

Formats.LWO

TPackedRotationMatrix

GLS.VectorGeometry

TPAKArchive

GLS.FilePAK

TPakHeader

GLS.FilePAK

TPakHeader

GLS.FileVfsPAK

TParametricSurfaceBasis

GLS.ParametricSurfaces

psbBezier indicates building the surface with Bernstein basis functions, no knot or order properties are used. psbBSpline indicates building the surface using BSpline basis functions, these require orders and knot vectors to define the control point influences on the surface.

TParametricSurfaceRenderer

GLS.ParametricSurfaces

psrGLScene tells the surface to render using GLScene code to build the mesh, whereas, psrOpenGL uses glEvalMesh2 or gluNurbsRenderer calls to render the surface.

TParticleReference

GLS.ParticleFX

PFX region rendering structures

TParticleReferenceArray

GLS.ParticleFX

TPasDblStrUtilsBoolean

PasDblStrUtils

TPasDblStrUtilsChar

PasDblStrUtils

TPasDblStrUtilsDouble

PasDblStrUtils

TPasDblStrUtilsInt16

PasDblStrUtils

TPasDblStrUtilsInt32

PasDblStrUtils

TPasDblStrUtilsInt64

PasDblStrUtils

TPasDblStrUtilsInt8

PasDblStrUtils

TPasDblStrUtilsNativeInt

PasDblStrUtils

TPasDblStrUtilsNativeUInt

PasDblStrUtils

TPasDblStrUtilsOutputMode

PasDblStrUtils

TPasDblStrUtilsPointer

PasDblStrUtils

TPasDblStrUtilsPtrInt

PasDblStrUtils

TPasDblStrUtilsPtrUInt

PasDblStrUtils

TPasDblStrUtilsRawByteChar

PasDblStrUtils

TPasDblStrUtilsRawByteCharSet

PasDblStrUtils

TPasDblStrUtilsRawByteString

PasDblStrUtils

TPasDblStrUtilsRoundingMode

PasDblStrUtils

TPasDblStrUtilsString

PasDblStrUtils

TPasDblStrUtilsUInt16

PasDblStrUtils

TPasDblStrUtilsUInt32

PasDblStrUtils

TPasDblStrUtilsUInt64

PasDblStrUtils

TPasDblStrUtilsUInt8

PasDblStrUtils

TPasDblStrUtilsUTF16Char

PasDblStrUtils

TPasDblStrUtilsUTF16String

PasDblStrUtils

TPasDblStrUtilsUTF8Char

PasDblStrUtils

TPasDblStrUtilsUTF8String

PasDblStrUtils

TPasJSON

PasJSON

TPasJSONChar

PasJSON

TPasJSONDouble

PasJSON

TPasJSONEncoding

PasJSON

TPasJSONFloat

PasJSON

TPasJSONFloats

PasJSON

TPasJSONInt16

PasJSON

TPasJSONInt32

PasJSON

TPasJSONInt64

PasJSON

TPasJSONInt8

PasJSON

TPasJSONItem

PasJSON

TPasJSONItemArray

PasJSON

TPasJSONItemArray.TPasJSONItemArrayEnumerator

PasJSON

TPasJSONItemBoolean

PasJSON

TPasJSONItemNull

PasJSON

TPasJSONItemNumber

PasJSON

TPasJSONItemObject

PasJSON

TPasJSONItemObject.TPasJSONItemObjectEnumerator

PasJSON

TPasJSONItemObjectProperties

PasJSON

TPasJSONItemObjectProperty

PasJSON

TPasJSONItems

PasJSON

TPasJSONItemString

PasJSON

TPasJSONMergeFlag

PasJSON

TPasJSONMergeFlags

PasJSON

TPasJSONModeFlag

PasJSON

TPasJSONModeFlags

PasJSON

TPasJSONNativeInt

PasJSON

TPasJSONNativeUInt

PasJSON

TPasJSONPointer

PasJSON

TPasJSONPointers

PasJSON

TPasJSONPtrDiff

PasJSON

TPasJSONPtrInt

PasJSON

TPasJSONPtrUInt

PasJSON

TPasJSONRawByteChar

PasJSON

TPasJSONRawByteString

PasJSON

TPasJSONSize

PasJSON

TPasJSONSizeInt

PasJSON

TPasJSONSizeUInt

PasJSON

TPasJSONUInt16

PasJSON

TPasJSONUInt32

PasJSON

TPasJSONUInt64

PasJSON

TPasJSONUInt8

PasJSON

TPasJSONUInt8Array

PasJSON

TPasJSONUTF16Char

PasJSON

TPasJSONUTF16String

PasJSON

TPasJSONUTF8String

PasJSON

TPatchPostRenderEvent

GLS.TerrainRenderer

TPathTravelStartEvent

GLS.Movement

Event for path related event

TPathTravelStopEvent

GLS.Movement

TPersistentObject

GLS.PersistentClasses

Base class for persistent objects. The base requirement is implementation of ReadFromFiler & WriteToFiler in sub-classes, the immediate benefits are support of streaming (to stream, file or string), assignment and cloning. The other requirement being the use of a virtual constructor, which allows polymorphic construction (don't forget to register your subclasses). Note that TPersistentObject implements IUnknown, but does *not* implement reference counting

TPersistentObjectClass

GLS.PersistentClasses

TPersistentObjectList

GLS.PersistentClasses

A persistent Object list. Similar to TList but works on TObject items and has facilities for persistence of contained data. Unlike the VCL's TObjectList, this one does NOT free its objects upon destruction or Clear, use Clean and CleanFree for that, and as such can be used for object referral lists too. But only TPersistentObject items will be streamed appropriately. The list can be used in a stack-like fashion with Push & Pop, and can perform basic boolean set operations. Note: the IndexOf implementation is up to 3 times faster than that of TList

TpfnSDL_CurrentBeginThread

SDL2.Import

TpfnSDL_CurrentEndThread

SDL2.Import

TPFXCreateParticleEvent

GLS.ParticleFX

TPFXDirectRenderEvent

GLS.ParticleFX

TPFXGetParticleCountEvent

GLS.ParticleFX

TPFXLifeColor

GLS.ParticleFX

TPFXLifeColors

GLS.ParticleFX

TPFXParticleProgress

GLS.ParticleFX

TPFXPrepareTextureImageEvent

GLS.ParticleFX

TPFXProgressEvent

GLS.ParticleFX

TPFXRegion

GLS.ParticleFX

TPFXSortAccuracy

GLS.ParticleFX

TPickRecord

GLS.Selection

TPickSortType

GLS.Selection

TPickSubObjects

GLS.Selection

TPictureFileProperty

GLS.SceneRegister

TPipeNodesColorMode

GLS.Extrusion

TPipeNormalMode

GLS.Extrusion

TPipePart

GLS.Extrusion

TPipeParts

GLS.Extrusion

TPipeTexCoordMode

GLS.Extrusion

TPIServices

GLS.PlugInManager

TPIServiceType

GLS.PlugInManager

TPivot

Formats.m3DSTypes

TPlanBB

GLS.GeometryBB

TPlanIndices

GLS.GeometryBB

TPoint3DS

Formats.m3DSTypes

3D point structure

TPointArray

Formats.m3DSTypes

TPointerArray

GLS.ImageUtils

TPointerObjectList

GLS.PersistentClasses

TPointerVector

GLS.VectorGeometry

TPointFlagArray

Formats.m3DSTypes

TPointList

Formats.m3DSTypes

TPosTrackTag

Formats.m3DSTypes

TPrecisionSetting

Cg.Shader

TProcAffineAffineAffine

GLS.Octree

TProcInt

GLS.Octree

TProjectTargetNameFunc

GLS.Utils

TQ3BSP

Formats.Q3BSP

TQuadtreeSpacePartition

GLS.SpacePartition

Implements quadtrees. Quadtrees are hardcoded to completely ignore the Y axis, only using X and Z to determine positioning. This means that they're well suited for 2d-ish situations (landscapes with trees for instance) but not for fully 3d situations (space fighting)

TQuaternion

GLS.VectorGeometry

TQuaternionArray

GLS.VectorGeometry

TQuaternionList

GLS.VectorLists

A list of TQuaternion. Similar to TList, but using TQuaternion as items. The list has stack-like push/pop methods

TrackHeaderKeysMin3DS

Formats.m3DSConst

Maximum key spline ease from Track header Limits

TrackLockX3DS

Formats.m3DSConst

TrackLockY3DS

Formats.m3DSConst

TrackLockZ3DS

Formats.m3DSConst

TrackLoops3DS

Formats.m3DSConst

TrackNoLinkX3DS

Formats.m3DSConst

TrackNoLinkY3DS

Formats.m3DSConst

TrackNoLinkZ3DS

Formats.m3DSConst

TrackRepeats3DS

Formats.m3DSConst

TrackSingle3DS

Formats.m3DSConst

flags used by the track flags field

TRainErosion

GLS.RandomHDS

TranslateMatrix

GLS.VectorGeometry

TranslateMatrix

GLS.VectorGeometry

Adds the translation vector into the matrix

TransposeMatrix

GLS.VectorGeometry

Computes transpose of 3x3 matrix

TransposeMatrix

GLS.VectorGeometry

Computes transpose of 4x4 matrix

TRayBias

Formats.m3DSTypes

TRColorEditor

FRColorEditor

TRead

SDL2.Import

** * Read up to maxnum objects each of size size from the data * stream to the area pointed at by ptr. * * the number of objects read, or 0 at error or end of file. *

TRectangle

GLS.VectorGeometry

TRelativeCoordinate

GLS.RandomHDS

TReleaseLevel

Formats.m3DSTypes

TRenderContextClippingInfo

GLS.RenderContextInfo

TResManagerEntry

GLS.PlugInManager

TResolution

GLS.Screen

TRFaceEditor

FRFaceEditor

TRGBColor

GLS.Color

TRGBPixel

GLS.Blur

TRGBPixelBuffer

GLS.Blur

TriangleArea

GLS.VectorGeometry

Computes the triangle's area

TriangleElevationSegments

GLS.Isolines

Defines contouring segments inside a triangle using elevations

TriangleIntersectAABB

GLS.GeometryBB

Original source code by Tomas Akenine-Mцller Based on the paper "Fast 3D Triangle-Box Overlap Testing" http://www.cs.lth.se/home/Tomas_Akenine_Moller/pubs/tribox.pdf http://jgt.akpeters.com/papers/AkenineMoller01/ (code) Use separating axis theorem to test overlap between triangle and box need to test for overlap in these directions: 1) the (x,y,z)-directions (actually, since we use the AABB of the triangle we do not even need to test these) 2) normal of the triangle 3) crossproduct(edge from tri, {x,y,z}-directin) this gives 3x3=9 more tests Checks if a triangle (given by vertices v1, v2 and v3) intersects an AABB

TriangleSignedArea

GLS.VectorGeometry

Computes a 2D triangle's signed area. Only X and Y coordinates are used, Z is ignored

TrimAndSplitVersionString

GLS.OpenGLAdapter

TRIMESH_FACE_NORMALS

Physics.ODEImport

enum (* TRIMESH_FACE_NORMALS, TRIMESH_LAST_TRANSFORMATION ; *)

TRIMESH_LAST_TRANSFORMATION

Physics.ODEImport

TRMapSet3DS

Formats.m3DSTypes

TRMaterialPreview

FRMaterialPreview

TROAMRenderPoint

GLS.ROAMPatch

TROAMTriangleNode

GLS.ROAMPatch

TRollTrackTag

Formats.m3DSTypes

TRotTrackTag

Formats.m3DSTypes

TRTextureEdit

FRTextureEdit

TryStringToColorAdvanced

GLS.Utils

Converts a string into color

TsbState

GLS.Memo

TScaleTrackTag

Formats.m3DSTypes

TSceneObj

GLS.SpacePartition

Object for holding glscene objects in a spatial partitioning

TSCODEBase

Physics.ODESkeletonColliders

Base ODE skeleton collider class

TSCODEBox

Physics.ODESkeletonColliders

Box shaped ODE geom in a skeleton collider

TSCODECCylinder

Physics.ODESkeletonColliders

Capsule (sphere capped cylinder) shaped ODE geom in a skeleton collider

TSCODESphere

Physics.ODESkeletonColliders

Sphere shaped ODE geom in a skeleton collider

TScreenSaverOption

GLS.ScreenSaver

Options d'automatisation du screen-saver. ssoAutoAdjustFormProperties : all relevant properties of main form will be auto-adjusted (form style, border style, form size and for preview, ParentWindow). ssoAutoHookKeyboardEvents : hooks to main form's OnKeyPress and closes screen saver when a key is pressed (form's KeyPreview is also set to True) ssoAutoHookMouseEvents : hooks to main form's OnMouseMove and closes screen saver when mouse is moved (you mays have to handle other mouse move events manually if you have placed components on the form) ssoEnhancedMouseMoveDetection : gets the mouse position every half-second and closes the saver if position changed (uses GetCursorPos and a TTimer)

TScreenSaverOptions

GLS.ScreenSaver

TScreenSaverPreviewEvent

GLS.ScreenSaver

This event is fired when screen saver should start in preview mode. The passed hwnd is that of the small preview window in Windows Display Properties (or any other screen-saver previewing utility, so don't assume width/height is constant/universal or whatever).

TScrollMode

GLS.Memo

TSDL2Frame

SDL2.Frame

TSDLContext

GLS.SDLContext

A context driver for OpenGL via SDL (libsdl.org). Due to limitations of SDL: you may have only one SDL window opened at any time (you cannot have memory viewers) closing the SDL window will terminate the application

TSDLEvent

GLS.SDLWindow

TSDLNet_GenericSocket

SDL2.Net

TSDLNet_Socket

SDL2.Net

TSDLNet_SocketSet

SDL2.Net

TSDLPantalla

SDL2.Import

TSDLViewer

GLS.SDLContext

A viewer using SDL. Beware: only one at a time, no other viewers allowed! Will also close the application when the window is closed!

TSDLWindow

GLS.SDLWindow

A basic SDL-based window (non-visual component). Only a limited subset of SDL's features are available, and this window is heavily oriented toward using it for OpenGL rendering. Be aware SDL is currently limited to a single window at any time... so you may have multiple components, but only one can be used

TSDLWindowOption

GLS.SDLWindow

Specifies optional settings for the SDL window. Those options are a simplified subset of the SDL options: voDoubleBuffer: create a double-buffered window voOpenGL: requires OpenGL capability for the window voResizable: window should be resizable voFullScreen: requires a full screen "window" (screen resolution may be changed) voStencilBuffer: requires a stencil buffer (8bits, use along voOpenGL)

TSDLWindowOptions

GLS.SDLWindow

TSDLWindowPixelDepth

GLS.SDLWindow

Pixel Depth options. vpd16bits: 16bpp graphics (565) (and 16 bits depth buffer for OpenGL) vpd24bits: 24bpp graphics (565) (and 24 bits depth buffer for OpenGL)

TSDL_AudioCallback

SDL2.Import

** * This function is called when the audio device needs more data. * * userdata An application-specific parameter saved in * the SDL_AudioSpec structure * stream A pointer to the audio data buffer. * len The length of that buffer in bytes. * * Once the callback returns, the buffer will no longer be valid. * Stereo samples are stored in a LRLRLR ordering. *

TSDL_AudioCVT

SDL2.Import

** * A structure to hold a set of audio conversion filters and buffers. *

TSDL_AudioDeviceID

SDL2.Import

** * SDL Audio Device IDs. * * A successful call to SDL_OpenAudio() is always device id 1, and legacy * SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls * always returns devices >= 2 on success. The legacy calls are good both * for backwards compatibility and when you don't care about multiple, * specific, or capture devices. *

TSDL_AudioFilter

SDL2.Import

TSDL_AudioFormat

SDL2.Import

** * Audio format flags. * * These are what the 16 bits in SDL_AudioFormat currently mean... * (Unspecified bits are always zero). * * ++———————–sample is signed if set || || ++———–sample is bigendian if set || || || || ++—sample is float if set || || || || || || +—sample bit size—+ || || || | | 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 * * There are macros in SDL 2.0 and later to query these bits. *

TSDL_AudioSpec

SDL2.Import

TSDL_AudioStatus

SDL2.Import

** * Audio state * * Get the current audio state. *

TSDL_BlendMode

SDL2.Import

TSDL_Blit

SDL2.Import

** * The type of function used for surface blitting functions. *

TSDL_BlitMap

SDL2.Import

TSDL_Bool

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDLtype_s.h / SDL_stdinc.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

TSDL_Color

SDL2.Import

TSDL_Colour

SDL2.Import

TSDL_CommonEvent

SDL2.Import

** * Fields shared by every event *

TSDL_ControllerAxisEvent

SDL2.Import

** * Game controller axis motion event structure (event.caxis.*) *

TSDL_ControllerButtonEvent

SDL2.Import

** * Game controller button event structure (event.cbutton.*) *

TSDL_ControllerDeviceEvent

SDL2.Import

** * Controller device event structure (event.cdevice.*) *

TSDL_DisplayMode

SDL2.Import

TSDL_DollarGestureEvent

SDL2.Import

* (event.dgesture.*) *

TSDL_DropEvent

SDL2.Import

** * An event used to request a file open by the system (event.drop.*) * This event is disabled by default, you can enable it with SDL_EventState() * If you enable this event, you must free the filename in the event. *

TSDL_Error

SDL2.Import

TSDL_ErrorCode

SDL2.Import

#define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param))

TSDL_Event

SDL2.Import

TSDL_EventAction

SDL2.Import

TSDL_EventFilter

SDL2.Import

TSDL_EventType

SDL2.Import

TSDL_Finger

SDL2.Import

TSDL_FingerID

SDL2.Import

TSDL_GameController

SDL2.Import

TSDL_GameControllerAxis

SDL2.Import

TSDL_GameControllerBindType

SDL2.Import

todo

TSDL_GameControllerButton

SDL2.Import

TSDL_GameControllerButtonBind

SDL2.Import

TSDL_GestureID

SDL2.Import

/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// SDL_gesture.h //////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////

TSDL_GLattr

SDL2.Import

TSDL_GLContext

SDL2.Import

** * An opaque handle to an OpenGL context. *

TSDL_GLcontextFlag

SDL2.Import

TSDL_GLprofile

SDL2.Import

TSDL_Haptic

SDL2.Import

TSDL_HapticCondition

SDL2.Import

** * A structure containing a template for a Condition effect. * * The struct handles the following effects: * - SDL_HAPTIC_SPRING: Effect based on axes position. * - SDL_HAPTIC_DAMPER: Effect based on axes velocity. * - SDL_HAPTIC_INERTIA: Effect based on axes acceleration. * - SDL_HAPTIC_FRICTION: Effect based on axes movement. * * Direction is handled by condition internals instead of a direction member. * The condition effect specific members have three parameters. The first * refers to the X axis, the second refers to the Y axis and the third * refers to the Z axis. The right terms refer to the positive side of the * axis and the left terms refer to the negative side of the axis. Please * refer to the ::SDL_HapticDirection diagram for which side is positive and * which is negative. * * SDL_HapticDirection * SDL_HAPTIC_SPRING * SDL_HAPTIC_DAMPER * SDL_HAPTIC_INERTIA * SDL_HAPTIC_FRICTION * SDL_HapticEffect *

TSDL_HapticConstant

SDL2.Import

** * A structure containing a template for a Constant effect. * * The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect. * * A constant effect applies a constant force in the specified direction * to the joystick. * * SDL_HAPTIC_CONSTANT * SDL_HapticEffect *

TSDL_HapticCustom

SDL2.Import

** * A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect. * * A custom force feedback effect is much like a periodic effect, where the * application can define its exact shape. You will have to allocate the * data yourself. Data should consist of channels * samples Uint16 samples. * * If channels is one, the effect is rotated using the defined direction. * Otherwise it uses the samples in data for the different axes. * * SDL_HAPTIC_CUSTOM * SDL_HapticEffect *

TSDL_HapticDirection

SDL2.Import

** * Structure that represents a haptic direction. * * Directions can be specified by: * - SDL_HAPTIC_POLAR : Specified by polar coordinates. * - SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates. * - SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates. * * Cardinal directions of the haptic device are relative to the positioning * of the device. North is considered to be away from the user. * * The following diagram represents the cardinal directions: * .–. |__| .——-. |=.| |.—–.| |–| || || | | |'—–'| |__|˜')_____(' [ COMPUTER ]
North (0,-1) ˆ | | (1,0) West <—-[ HAPTIC ]—-> East (-1,0) | | v South (0,1)
[ USER ] \|||/ (o o) —ooO-(_)-Ooo—
* * If type is SDL_HAPTIC_POLAR, direction is encoded by hundredths of a * degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses * the first dir parameter. The cardinal directions would be: * - North: 0 (0 degrees) * - East: 9000 (90 degrees) * - South: 18000 (180 degrees) * - West: 27000 (270 degrees) * * If type is SDL_HAPTIC_CARTESIAN, direction is encoded by three positions * (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses * the first three dir parameters. The cardinal directions would be: * - North: 0,-1, 0 * - East: -1, 0, 0 * - South: 0, 1, 0 * - West: 1, 0, 0 * * The Z axis represents the height of the effect if supported, otherwise * it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you * can use any multiple you want, only the direction matters. * * If type is SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations. * The first two dir parameters are used. The dir parameters are as * follows (all values are in hundredths of degrees): * - Degrees from (1, 0) rotated towards (0, 1). * - Degrees towards (0, 0, 1) (device needs at least 3 axes). * * * Example of force coming from the south with all encodings (force coming * from the south means the user will have to pull the stick to counteract): * * SDL_HapticDirection direction; * * // Cartesian directions * direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding. * direction.dir[0] = 0; // X position * direction.dir[1] = 1; // Y position * // Assuming the device has 2 axes, we don't need to specify third parameter. * * // Polar directions * direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding. * direction.dir[0] = 18000; // Polar only uses first parameter * * // Spherical coordinates * direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding * direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters. * * * SDL_HAPTIC_POLAR * SDL_HAPTIC_CARTESIAN * SDL_HAPTIC_SPHERICAL * SDL_HapticEffect * SDL_HapticNumAxes *

TSDL_HapticEffect

SDL2.Import

TSDL_HapticPeriodic

SDL2.Import

** * A structure containing a template for a Periodic effect. * * The struct handles the following effects: * - SDL_HAPTIC_SINE * - SDL_HAPTIC_SQUARE * - SDL_HAPTIC_TRIANGLE * - SDL_HAPTIC_SAWTOOTHUP * - SDL_HAPTIC_SAWTOOTHDOWN * * A periodic effect consists in a wave-shaped effect that repeats itself * over time. The type determines the shape of the wave and the parameters * determine the dimensions of the wave. * * Phase is given by hundredth of a cycle meaning that giving the phase a value * of 9000 will displace it 25% of its period. Here are sample values: * - 0: No phase displacement. * - 9000: Displaced 25% of its period. * - 18000: Displaced 50% of its period. * - 27000: Displaced 75% of its period. * - 36000: Displaced 100% of its period, same as 0, but 0 is preferred. * * Examples: * SDL_HAPTIC_SINE __ __ __ __ / \ / \ / \ / / \__/ \__/ \__/
SDL_HAPTIC_SQUARE __ __ __ __ __ | | | | | | | | | | | |__| |__| |__| |__| |
SDL_HAPTIC_TRIANGLE /\ /\ /\ /\ /\ / \ / \ / \ / \ / / \/ \/ \/ \/
SDL_HAPTIC_SAWTOOTHUP /| /| /| /| /| /| /| / | / | / | / | / | / | / | / |/ |/ |/ |/ |/ |/ |
SDL_HAPTIC_SAWTOOTHDOWN \ |\ |\ |\ |\ |\ |\ | \ | \ | \ | \ | \ | \ | \ | \| \| \| \| \| \| \|
* * SDL_HAPTIC_SINE * SDL_HAPTIC_SQUARE * SDL_HAPTIC_TRIANGLE * SDL_HAPTIC_SAWTOOTHUP * SDL_HAPTIC_SAWTOOTHDOWN * SDL_HapticEffect *

TSDL_HapticRamp

SDL2.Import

** * A structure containing a template for a Ramp effect. * * This struct is exclusively for the ::SDL_HAPTIC_RAMP effect. * * The ramp effect starts at start strength and ends at end strength. * It augments in linear fashion. If you use attack and fade with a ramp * the effects get added to the ramp effect making the effect become * quadratic instead of linear. * * SDL_HAPTIC_RAMP * SDL_HapticEffect *

TSDL_HintCallback

SDL2.Import

/** * \brief Add a function to watch a particular hint * * \param name The hint to watch * \param callback The function to call when the hint value changes * \param userdata A pointer to pass to the callback function */

TSDL_JoyAxisEvent

SDL2.Import

** * Joystick axis motion event structure (event.jaxis.*) *

TSDL_JoyBallEvent

SDL2.Import

** * Joystick trackball motion event structure (event.jball.*) *

TSDL_JoyButtonEvent

SDL2.Import

** * Joystick button event structure (event.jbutton.*) *

TSDL_JoyDeviceEvent

SDL2.Import

** * Joystick device event structure (event.jdevice.*) *

TSDL_JoyHatEvent

SDL2.Import

** * Joystick hat position change event structure (event.jhat.*) *

TSDL_JoystickGUID

SDL2.Import

* A structure that encodes the stable unique id for a joystick device *

TSDL_JoystickID

SDL2.Import

TSDL_KeyboardEvent

SDL2.Import

** * Keyboard button event structure (event.key.*) *

TSDL_KeyCode

SDL2.Import

TSDL_KeyMod

SDL2.Import

TSDL_Keysym

SDL2.Import

TSDL_MessageBoxButtonData

SDL2.Import

TSDL_MessageBoxButtonFlags

SDL2.Import

**< Marks the default button when escape is hit *

TSDL_MessageBoxColor

SDL2.Import

TSDL_MessageBoxColorScheme

SDL2.Import

TSDL_MessageBoxColorType

SDL2.Import

TSDL_MessageBoxData

SDL2.Import

TSDL_MessageBoxFlags

SDL2.Import

**< informational dialog *

TSDL_MouseButtonEvent

SDL2.Import

** * Mouse button event structure (event.button.*) *

TSDL_MouseMotionEvent

SDL2.Import

** * Mouse motion event structure (event.motion.*) *

TSDL_MouseWheelEvent

SDL2.Import

** * Mouse wheel event structure (event.wheel.*) *

TSDL_MultiGestureEvent

SDL2.Import

** * Multiple Finger Gesture Event (event.mgesture.*) *

TSDL_Mutex

SDL2.Import

***KTI***

TSDL_Palette

SDL2.Import

TSDL_PixelFormat

SDL2.Import

TSDL_Point

SDL2.Import

TSDL_PowerState

SDL2.Import

** * The basic state for the system's power supply. *

TSDL_QuitEvent

SDL2.Import

** * The "quit requested" event *

TSDL_Rect

SDL2.Import

TSDL_RendererFlags

SDL2.Import

TSDL_RendererFlip

SDL2.Import

TSDL_RendererInfo

SDL2.Import

TSDL_RWops

SDL2.Import

TSDL_ScanCode

SDL2.Import

TSDL_Surface

SDL2.Import

TSDL_SystemCursor

SDL2.Import

TSDL_SysWMEvent

SDL2.Import

TSDL_SysWMinfo

SDL2.Import

TSDL_SysWMmsg

SDL2.Import

TSDL_TextEditingEvent

SDL2.Import

** * Keyboard text editing event structure (event.edit.*) *

TSDL_TextInputEvent

SDL2.Import

** * Keyboard text input event structure (event.text.*) *

TSDL_TextureAccess

SDL2.Import

TSDL_TextureModulate

SDL2.Import

TSDL_Thread

SDL2.Import

TSDL_ThreadFunction

SDL2.Import

TSDL_ThreadID

SDL2.Import

* The SDL thread ID *

TSDL_ThreadPriority

SDL2.Import

* The SDL thread priority * * Note: On many systems you require special privileges to set high priority. *

TSDL_TimerCallback

SDL2.Import

** * Function prototype for the timer callback function. * * The callback function is passed the current timer interval and returns * the next timer interval. If the returned value is the same as the one * passed in, the periodic alarm continues, otherwise a new alarm is * scheduled. If the callback returns 0, the periodic alarm is cancelled. *

TSDL_TimerID

SDL2.Import

** * Definition of the timer ID type. *

TSDL_TLSID

SDL2.Import

TSDL_TouchFingerEvent

SDL2.Import

** * Touch finger event structure (event.tfinger.*) *

TSDL_TouchID

SDL2.Import

TSDL_UserEvent

SDL2.Import

** * A user-defined event type (event.user.*) *

TSDL_Version

SDL2.Import

TSDL_Window

SDL2.Import

* Define the SDL window structure, corresponding to toplevel windows *

TSDL_WindowEvent

SDL2.Import

** * Window state change event data (event.window.*) *

TSDL_WindowEventID

SDL2.Import

**< The window manager requests that the window be closed *

TSDL_WindowFlags

SDL2.Import

**< window not created by SDL *

TSDL_WindowShapeMode

SDL2.Import

TSDL_WindowShapeParams

SDL2.Import

** A union containing parameters for shaped windows. *

TSDL_WindowShaper

SDL2.Import

TSDL_WindowUserData

SDL2.Import

TSeaErosion

GLS.RandomHDS

TSectoredSpacePartition

GLS.SpacePartition

TSectorNode

GLS.SpacePartition

Implements a SectorNode node. Each node can have 0 or 8 children, each child being a portion of the size of the parent. For quadtrees, that's 1/4, for octrees, it's 1/8

TSectorNodeArray

GLS.SpacePartition

TSeek

SDL2.Import

** * Seek to offset relative to whence, one of stdio's whence values: * RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END * * the final offset in the data stream, or -1 on error. *

TSerializeEvent

Physics.NGDManager

TServiceContextTask

GLS.Context

TSetSubItemsEvent

FmSceneEditor

TSetTextureTargetsEvent

GLS.FBORenderer

TSetTransformEvent

Physics.NGDManager

TShaderFileProperty

GLS.SceneRegister

TShaderMemoForm

FmShaderMemo

TShadeType3DS

Formats.m3DSTypes

used for shading field in TMaterial3DS structure

TShadowFilter

Formats.m3DSTypes

TShadowMapSize

Formats.m3DSTypes

TShadowPlaneOption

GLS.ShadowPlane

TShadowPlaneOptions

GLS.ShadowPlane

TShadowRange

Formats.m3DSTypes

TShadowSamples

Formats.m3DSTypes

TShadowSets3DS

Formats.m3DSTypes

global Shadow settings

TShadowStyle3DS

Formats.m3DSTypes

TShortIntArray

GLS.HeightTileFileHDS

TSIBLigthing

GLS.Imposter

TSingle3DArray

GLS.Isosurface

TSingleArray

GLS.VectorGeometry

TSingleArrayList

GLS.VectorLists

TSingleClamp

GLS.RandomHDS

TSingleList

Formats.m3DSTypes

TSingleList

GLS.VectorLists

A list of Single. Similar to TList, but using Single as items. The list has stack-like push/pop methods

TSingleRaster

GLS.HeightData

TSize

SDL2.Import

** * Return the size of the file in this rwops, or -1 if unknown *

Tsize_t

OpenCL.Platform

TSmallintArray

GLS.HeightData

TSmallIntArray

GLS.HeightTileFileHDS

TSmallIntRaster

GLS.HeightData

TSmoothGroup

Formats.m3DSTypes

TSolidBgnd3DS

Formats.m3DSTypes

Name of background Bitmap

TSourceDataFetchedEvent

GLS.HeightData

TSpaceContains

GLS.GeometryBB

Result type for space intersection tests, like AABBContainsAABB or BSphereContainsAABB

TSpacePartitionLeaf

GLS.SpacePartition

Used to store the actual objects in the SpacePartition

TSpacePartitionLeafList

GLS.SpacePartition

List for storing space partition leaves

TSpecularMode

GLSL.BumpShaders

TSPOctreeNode

GLS.SpacePartition

** OCTTREE Implements sector node that handles octrees

TSpotCone3DS

Formats.m3DSTypes

TSpotLight3DS

Formats.m3DSTypes

TSpotProjector3DS

Formats.m3DSTypes

TSpotShadow3DS

Formats.m3DSTypes

TSPQuadtreeNode

GLS.SpacePartition

** QUADTREE Implements sector node that handles quadtrees

TSpriteColorMode

GLS.ParticleFX

Sprite color modes. scmFade: vertex coloring is used to fade inner-outer scmInner: vertex coloring uses inner color only scmOuter: vertex coloring uses outer color only scmNone: vertex coloring is NOT used (colors are ignored)

TSpritesPerTexture

GLS.ParticleFX

Sprites per sprite texture for the SpritePFX.

TSqrt255Array

GLS.Utils

TStartPreparingDataEvent

GLS.HeightData

TStateArray

Physics.SPIManager

TDESolver = procedure((*RigidBody:TGLRigidBody;*)DeltaTime:Real) of object;

TStateRecord

GLS.State

TStaticImposter

GLS.Imposter

Imposter class whose texture contains several views from different angles.

TStdio

SDL2.Import

TSteps

GLS.RandomHDS

TSTLFace

GLS.FileSTL

TSTLHeader

GLS.FileSTL

TSTLVertex

GLS.FileSTL

TStyleList

GLS.Memo

TSubdivideEdgeEvent

GLS.MeshUtils

TSwizzleVector

GLS.TextureFormat

TTargetType3DS

Formats.m3DSTypes

TTaskProcedure

GLS.Context

TTCPSocket

SDL2.Net

TTerrainHighResStyle

GLS.TerrainRenderer

TTerrainOcclusionTesselate

GLS.TerrainRenderer

TTexPoint

GLS.VectorGeometry

TTexPointArray

GLS.VectorGeometry

TTexPointList

GLS.VectorLists

A list of TTexPoint. Similar to TList, but using TTexPoint as items. The list has stack-like push/pop methods.

TTEXSChunk

Formats.B3D

TTextureReference

CUDA.Runtime

TTexVert3DS

Formats.m3DSTypes

Texture assignment coordinate

TTexVertList

Formats.m3DSTypes

TTexVerts

Formats.m3DSTypes

TTF_ByteSwappedUNICODE

SDL2.Ttf

* This function tells the library whether UNICODE text is generally byteswapped. A UNICODE BOM character in a string will override this setting for the remainder of that string. *

TTF_CloseFont

SDL2.Ttf

* Close an opened font file *

TTF_FontAscent

SDL2.Ttf

* Get the offset from the baseline to the top of the font This is a positive value, relative to the baseline. *

TTF_FontDescent

SDL2.Ttf

* Get the offset from the baseline to the bottom of the font This is a negative value, relative to the baseline. *

TTF_FontFaceFamilyName

SDL2.Ttf

TTF_FontFaceIsFixedWidth

SDL2.Ttf

* Get the font face attributes, if any *

TTF_FontFaces

SDL2.Ttf

* Get the number of faces of the font *

TTF_FontFaceStyleName

SDL2.Ttf

TTF_FontHeight

SDL2.Ttf

* Get the total height of the font - usually equal to point size *

TTF_FontLineSkip

SDL2.Ttf

* Get the recommended spacing between lines of text for this font *

TTF_GetError

SDL2.Ttf

TTF_GetFontHinting

SDL2.Ttf

TTF_GetFontKerning

SDL2.Ttf

* Get/Set whether or not kerning is allowed for this font *

TTF_GetFontKerningSize

SDL2.Ttf

* Get the kerning size of two glyphs *

TTF_GetFontOutline

SDL2.Ttf

TTF_GetFontStyle

SDL2.Ttf

TTF_GlyphIsProvided

SDL2.Ttf

* Check wether a glyph is provided by the font or not *

TTF_GlyphMetrics

SDL2.Ttf

* Get the metrics (dimensions) of a glyph To understand what these metrics mean, here is a useful link: http://freetype.sourceforge.net/freetype2/docs/tutorial/step2.html *

TTF_HINTING_LIGHT

SDL2.Ttf

TTF_HINTING_MONO

SDL2.Ttf

TTF_HINTING_NONE

SDL2.Ttf

TTF_HINTING_NORMAL

SDL2.Ttf

* Set and retrieve FreeType hinter settings *

TTF_Init

SDL2.Ttf

* Initialize the TTF engine - returns 0 if successful, -1 on error *

TTF_Linked_Version

SDL2.Ttf

* This function gets the version of the dynamically linked SDL_ttf library. it should NOT be used to fill a version structure, instead you should use the SDL_TTF_VERSION() macro. *

TTF_MAJOR_VERSION

SDL2.Ttf

* Backwards compatibility *

TTF_MINOR_VERSION

SDL2.Ttf

TTF_OpenFont

SDL2.Ttf

* Open a font file and create a font of the specified point size. * Some .fon fonts will have several sizes embedded in the file, so the * point size becomes the index of choosing which size. If the value * is too high, the last indexed size will be the default. *

TTF_OpenFontIndex

SDL2.Ttf

TTF_OpenFontIndexRW

SDL2.Ttf

TTF_OpenFontRW

SDL2.Ttf

TTF_PATCHLEVEL

SDL2.Ttf

TTF_Quit

SDL2.Ttf

* De-initialize the TTF engine *

TTF_RenderGlyph_Blended

SDL2.Ttf

* Create a 32-bit ARGB surface and render the given glyph at high quality, using alpha blending to dither the font with the given color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *

TTF_RenderGlyph_Shaded

SDL2.Ttf

* Create an 8-bit palettized surface and render the given glyph at high quality with the given font and colors. The 0 pixel is background, while other pixels have varying degrees of the foreground color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *

TTF_RenderGlyph_Solid

SDL2.Ttf

* Create an 8-bit palettized surface and render the given glyph at fast quality with the given font and color. The 0 pixel is the colorkey, giving a transparent background, and the 1 pixel is set to the text color. The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction. This function returns the new surface, or NULL if there was an error. *

TTF_RenderText

SDL2.Ttf

* For compatibility with previous versions, here are the old functions *

TTF_RenderText_Blended

SDL2.Ttf

* Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. This function returns the new surface, or NULL if there was an error. *

TTF_RenderText_Blended_Wrapped

SDL2.Ttf

* Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. Text is wrapped to multiple lines on line endings and on word boundaries if it extends beyond wrapLength in pixels. This function returns the new surface, or NULL if there was an error. *

TTF_RenderText_Shaded

SDL2.Ttf

* Create an 8-bit palettized surface and render the given text at high quality with the given font and colors. The 0 pixel is background, while other pixels have varying degrees of the foreground color. This function returns the new surface, or NULL if there was an error. *

TTF_RenderText_Solid

SDL2.Ttf

* Create an 8-bit palettized surface and render the given text at fast quality with the given font and color. The 0 pixel is the colorkey, giving a transparent background, and the 1 pixel is set to the text color. This function returns the new surface, or NULL if there was an error. *

TTF_RenderUNICODE

SDL2.Ttf

TTF_RenderUNICODE_Blended

SDL2.Ttf

TTF_RenderUNICODE_Blended_Wrapped

SDL2.Ttf

TTF_RenderUNICODE_Shaded

SDL2.Ttf

TTF_RenderUNICODE_Solid

SDL2.Ttf

TTF_RenderUTF8

SDL2.Ttf

TTF_RenderUTF8_Blended

SDL2.Ttf

TTF_RenderUTF8_Blended_Wrapped

SDL2.Ttf

TTF_RenderUTF8_Shaded

SDL2.Ttf

TTF_RenderUTF8_Solid

SDL2.Ttf

TTF_SetError

SDL2.Ttf

* We'll use SDL for reporting errors *

TTF_SetFontHinting

SDL2.Ttf

TTF_SetFontKerning

SDL2.Ttf

TTF_SetFontOutline

SDL2.Ttf

TTF_SetFontStyle

SDL2.Ttf

TTF_SizeText

SDL2.Ttf

* Get the dimensions of a rendered string of text *

TTF_SizeUNICODE

SDL2.Ttf

TTF_SizeUTF8

SDL2.Ttf

TTF_STYLE_BOLD

SDL2.Ttf

TTF_STYLE_ITALIC

SDL2.Ttf

TTF_STYLE_NORMAL

SDL2.Ttf

* Set and retrieve the font style *

TTF_STYLE_STRIKETHROUGH

SDL2.Ttf

TTF_STYLE_UNDERLINE

SDL2.Ttf

TTF_WasInit

SDL2.Ttf

* Check if the TTF engine is initialized *

TTGAImage

GLS.FileTGA

TGA image load/save capable class. TGA formats supported : 24 and 32 bits uncompressed or RLE compressed, saves only to uncompressed TGA.

TTGLFile3DSPositionAnimationKeys

GLS.File3DS

TThorpoint

GLS.ThorFX

TThorpointArray

GLS.ThorFX

TThreadBmp32

GLS.ShadowHDS

TThreadID

SDL2.Import

** * SDL_thread.h * * We compile SDL into a DLL. This means, that it's the DLL which * creates a new thread for the calling process with the SDL_CreateThread() * API. There is a problem with this, that only the RTL of the SDL.DLL will * be initialized for those threads, and not the RTL of the calling * application! * * To solve this, we make a little hack here. * * We'll always use the caller's _beginthread() and _endthread() APIs to * start a new thread. This way, if it's the SDL.DLL which uses this API, * then the RTL of SDL.DLL will be used to create the new thread, and if it's * the application, then the RTL of the application will be used. * * So, in short: * Always use the _beginthread() and _endthread() of the calling runtime * library! *

TTileManagementFlag

GLS.TerrainRenderer

TTileManagementFlags

GLS.TerrainRenderer

TTileType3DS

Formats.m3DSTypes

used for tiling field in TBitmap3DS structure

TTimeEvent

GLS.TimeEventsMgr

TTimeEventProc

GLS.TimeEventsMgr

TTimeEvents

GLS.TimeEventsMgr

TTimeEventType

GLS.TimeEventsMgr

TTintType3DS

Formats.m3DSTypes

TTokenType

GLS.Memo

TTouchEvent

GLS.SceneViewer

TTrackHeader3DS

Formats.m3DSTypes

Global track settings

TTransformationRec

GLS.PipelineTransformation

TTransformations

GLS.VectorGeometry

Used to describe a sequence of transformations in following order: [Sx][Sy][Sz][ShearXY][ShearXZ][ShearZY][Rx][Ry][Rz][Tx][Ty][Tz][P(x,y,z,w)] constants are declared for easier access (see MatrixDecompose below)

TTransType

GLS.VectorGeometry

TTRISChunk

Formats.B3D

TTTF_Font

SDL2.Ttf

TU1

Formats.LWO

TU1DynArray

Formats.LWO

TU2

Formats.LWO

TU2Array

Formats.LWO

TU2DynArray

Formats.LWO

TU4

Formats.LWO

TU48BitBlock

GLS.ImageUtils

TU4Array

Formats.LWO

TU4DynArray

Formats.LWO

TUBOStates

GLS.State

TUDPpacket

SDL2.Net

TUDPSocket

SDL2.Net

TUDP_Channel

SDL2.Net

TUInt8Array

SDL2.Import

TUndoChangeEvent

GLS.Memo

TUniformAutoSetMethod

GLSL.ShaderParameter

TUniformAutoSetProperty

GLS.SceneRegister

TUnknown

SDL2.Import

TUpdateSpacePartion

GLS.VerletTypes

Turn

GLS.VectorGeometry

Coordinate system manipulation functions Rotates the given coordinate system (represented by the matrix) around its Y-axis

Turn

GLS.VectorGeometry

Rotates the given coordinate system (represented by the matrix) around MasterUp

TUseDirtyTiles

GLS.AsyncHDS

Determines if/how dirty tiles are displayed and when they are released. When a tile is maked as dirty, a replacement is queued immediately. However, the replacement cant be used until the HDThread has finished preparing it. Dirty tiles can be deleted as soon as they are no longer used/displayed. Possible states for a TUseDirtyTiles. hdsNever : Dirty tiles get released immediately, leaving a hole in the terrain, until the replacement is hdsReady. hdsUntilReplaced : Dirty tiles are used, until the HDThread has finished preparing the queued replacement. hdsUntilAllReplaced : Waits until the HDSThread has finished preparing ALL queued tiles, before allowing the renderer to switch over to the new set of tiles. (This prevents a fading checkerbox effect.)

TUserView3DS

Formats.m3DSTypes

TVec12

Formats.LWO

TS0 = PAnsiChar;

TVec12Array

Formats.LWO

TVec12DynArray

Formats.LWO

TVector2b

GLS.VectorTypes

TVector2d

GLS.VectorTypes

=========== Vectors ============ 2

TVector2e

GLS.VectorTypes

TVector2f

GLS.VectorTypes

TVector2h

GLS.VectorTypes

TVector2i

GLS.VectorTypes

TVector2p

GLS.VectorTypes

TVector2s

GLS.VectorTypes

TVector2sb

GLS.VectorTypes

TVector2ui

GLS.VectorTypes

TVector2w

GLS.VectorTypes

TVector3b

GLS.VectorTypes

TVector3d

GLS.VectorTypes

3

TVector3e

GLS.VectorTypes

TVector3f

GLS.VectorTypes

TVector3h

GLS.VectorTypes

TVector3i

GLS.VectorTypes

TVector3p

GLS.VectorTypes

TVector3s

GLS.VectorTypes

TVector3sb

GLS.VectorTypes

TVector3ui

GLS.VectorTypes

TVector3w

GLS.VectorTypes

TVector4b

GLS.VectorTypes

TVector4d

GLS.VectorTypes

4

TVector4e

GLS.VectorTypes

TVector4f

GLS.VectorTypes

TVector4h

GLS.VectorTypes

TVector4i

GLS.VectorTypes

TVector4p

GLS.VectorTypes

TVector4s

GLS.VectorTypes

TVector4sb

GLS.VectorTypes

TVector4ui

GLS.VectorTypes

TVector4w

GLS.VectorTypes

TVectorArr

GLS.Isolines

TVectorArray

GLS.VectorGeometry

TVectorL4D

GLS.Isolines

TVectorL4I

GLS.Isolines

TVectorList

GLS.VectorLists

A list of TGLVectors. Similar to TList, but using TGLVector as items. The list has stack-like push/pop methods

TVertex

GLS.VectorGeometry

TVertex2DArr

GLS.Isolines

TVertexArray

GLS.Isosurface

TVertexBoneWeight

GLS.VectorFileObjects

TVertexBoneWeightArray

GLS.VectorFileObjects

TVertexBoneWeightDynArray

GLS.VectorFileObjects

TVertexData

Formats.B3D

TVertexWeightList

GLS.FileMS3D

TVerticesBoneWeights

GLS.VectorFileObjects

TVGradient

Formats.m3DSTypes

TVGradientBgnd3DS

Formats.m3DSTypes

TVIDEOHDR

Formats.VFW

TVideoMode

GLS.Screen

TViewport3DS

Formats.m3DSTypes

Viewport structure details the kind of View in a viewport

TViewportData

Formats.m3DSTypes

TViewportData3

Formats.m3DSTypes

TViewportLayout

Formats.m3DSTypes

TViewportSize

Formats.m3DSTypes

TViewSize3DS

Formats.m3DSTypes

TViewStandard

Formats.m3DSTypes

TViewType3DS

Formats.m3DSTypes

TViewUser

Formats.m3DSTypes

TVirtualKeyCode

GLS.Keyboard

TVirtualReader

GLS.PersistentClasses

Virtual layer similar to VCL's TReader (but reusable)

TVirtualReaderClass

GLS.PersistentClasses

TVirtualWriter

GLS.PersistentClasses

Virtual layer similar to VCL's TWriter (but reusable)

TVirtualWriterClass

GLS.PersistentClasses

TVORFace

GLS.FileVOR

TVORHeader

GLS.FileVOR

TVORVertex

GLS.FileVOR

TVRMLIntegerArray

Formats.VRML

TVRMLMaterial

Formats.VRML

TVRMLNode

Formats.VRML

TVRMLParser

Formats.VRML

TVRMLShapeHints

Formats.VRML

TVRMLSingleArray

Formats.VRML

TVRMLTransform

Formats.VRML

TVRMLUse

Formats.VRML

TVRTSChunk

Formats.B3D

Tweener

GLS.AnimationUtils

Tweener

GLS.AnimationUtils

Tweener

GLS.AnimationUtils

Tweener

GLS.AnimationUtils

TWGLswap

GLS.VectorTypes

TWindowAttribute

GLS.Screen

window attributes

TWindowAttributes

GLS.Screen

TWindowFitting

GLS.Screen

window-to-screen fitting

TWindowShapeMode

SDL2.Import

** An enum denoting the specific type of contents present in an SDL_WindowShapeParams union. *

TWindowsIO

SDL2.Import

TWindowsIOBuffer

SDL2.Import

TWOCC

Formats.VFW

TWOCCFromFOURCC

Formats.VFW

– Macro to get TWOCC chunk type out of a FOURCC ckid ———————–

TWordList

Formats.m3DSTypes

TWordVector

GLS.VectorGeometry

TWrite

SDL2.Import

** * Write exactly num objects each of size size from the area * pointed at by ptr to data stream. * * the number of objects written, or 0 at error or end of file. *

TXCollection

GLS.XCollection

Holds a list of TXCollectionItem objects. This class looks a lot like a polymorphic-enabled TCollection, it is a much stripped down version of a proprietary TObjectList, if the copyrights are ever partially lifted on the originals, I'll base this code on them since they are way faster than VCL's lists and persistence mechanisms with polymorphism-support and full backward compatibility

TXCollectionEditorForm

FmXCollectionEditor

TXCollectionItem

GLS.XCollection

Base class for implementing a XCollection item. NOTES : Don't forget to override the ReadFromFiler/WriteToFiler persistence methods if you add data in a subclass ! Subclasses must be registered using the RegisterXCollectionItemClass function for proper operation

TXCollectionItemClass

GLS.XCollection

TXCollectionProperty

GLS.XCollectionRegister

TXDataDouble

Formats.m3DSTypes

TXDataEntry

Formats.m3DSTypes

TXDataFloat

Formats.m3DSTypes

TXDataLong

Formats.m3DSTypes

TXDataRaw3DS

Formats.m3DSTypes

TXDataShort

Formats.m3DSTypes

TXDataVoid

Formats.m3DSTypes

TypByteID

DWS.OpenGL

TypCardinalID

DWS.OpenGL

TZArray

GLS.zBuffer

TZArrayIdx

GLS.zBuffer

TZCompressedMode

GLS.FileVfsPAK

Signature for compressed pak.

TZLibArchive

GLS.FileZLIB

TZLibHeader

GLS.FileZLIB

Signature for compressed zlib.

T_cl_command_queue

OpenCL.Import

T_cl_context

GLS.VectorTypes

These OpenCL's types are compatible with cl_context and cl_event

T_cl_context

OpenCL.Import

T_cl_device_id

OpenCL.Import

T_cl_event

GLS.VectorTypes

T_cl_event

OpenCL.Import

T_cl_kernel

OpenCL.Import

T_cl_mem

OpenCL.Import

T_cl_platform_id

OpenCL.Import

T_cl_program

OpenCL.Import

T_cl_sampler

OpenCL.Import

UByteElement

CUDA.DataAccess

UInt16

SDL2.Import

UInt32

SDL2.Import

UInt8

SDL2.Import

UIntElement

CUDA.DataAccess

UnApplyBlendingModeEx

GLSL.CustomShader

UNICODE_BOM_NATIVE

SDL2.Ttf

* ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) *

UNICODE_BOM_SWAPPED

SDL2.Ttf

UnifyTrianglesWinding

GLS.MeshUtils

Attempts to unify triangle winding. Depending on topology, this may or may not be successful (some topologies can't be unified, f.i. those that have duplicate triangles, those that have edges shared by more than two triangles, those that have unconnected submeshes etc.)

UnloadModule

GLS.ModuleLoader

UnloadOpenGL

GLS.OpenGLAdapter

compatibility routines

UnPackRotationMatrix

GLS.VectorGeometry

Restores a packed rotation matrix. See PackRotationMatrix

UnpressGroup

GLS.Windows

UnProject

GLS.VectorGeometry

UnregisterArchiveFormat

GLS.ArchiveManager

UnRegisterColor

GLS.Color

UnregisterGLSceneObject

Physics.ODEManager

UnRegisterGLTextureImageEditor

GLS.TextureImageEditors

UnregisterRasterFormat

GLS.Graphics

UnregisterSoundFileClass

GLS.SoundFileObjects

UnregisterVectorFileClass

GLS.VectorFileObjects

UnregisterXCollectionItemClass

GLS.XCollection

Removes a TXCollectionItem subclass from the list

UseCustomGLSLogger

GLS.Logger

UserLog

GLS.Logger

Return logger wich created by TGLSLogger component

USE_BEVEL

Formats.m3DSConst

USE_BIT_MAP

Formats.m3DSConst

USE_CONTOUR

Formats.m3DSConst

Flags for Modeler options

USE_DISTANCE_CUE

Formats.m3DSConst

USE_FIT

Formats.m3DSConst

USE_FOG

Formats.m3DSConst

USE_LAYER_FOG

Formats.m3DSConst

USE_SCALE

Formats.m3DSConst

USE_SOLID_BGND

Formats.m3DSConst

USE_TEETER

Formats.m3DSConst

USE_TWEEN

Formats.m3DSConst

USE_TWIST

Formats.m3DSConst

USE_V_GRADIENT

Formats.m3DSConst

UShortElement

CUDA.DataAccess

UTF8ToWideString

GLS.PersistentClasses

vAFIOCreateFileStream

GLS.ApplicationFileIO

vAFIOFileStreamExists

GLS.ApplicationFileIO

ValidateExternalObject

DWS.HelperFunc

VCAPS_CAN_SCALE

Formats.VFW

dst rect can clip

VCAPS_DST_CAN_CLIP

Formats.VFW

src rect can clip

VCAPS_OVERLAY

Formats.VFW

– dwFlags of CHANNEL_CAPS ————————————————–

VCAPS_SRC_CAN_CLIP

Formats.VFW

overlay channel

vContextActivationFailureOccurred

GLS.Context

vCounterFrequency

GLS.Scene

vCurrentGLContext

GLS.Context

vCurrentRenderingObject

GLS.Scene

vCurrentVideoMode

GLS.Screen

vCustomColliderClass

Physics.ODEManager

vCustomColliderClassNum

Physics.ODEManager

vDDSDetailLevel

GLS.FileDDS

Variable determines which resolution to use textures, high - it loads all levels, midle - skipped the first level, low - skipped the first two levels.

vDefaultMeshOptimizerOptions

GLS.MeshBuilder

vDefaultTextureCompression

GLS.TextureFormat

vDefaultTextureFormat

GLS.TextureFormat

Vector2bMake

GLS.VectorGeometry

Vector2bMake

GLS.VectorGeometry

Vector2bMake

GLS.VectorGeometry

Vector2dMake

GLS.VectorGeometry

Vector2dMake

GLS.VectorGeometry

Vector2dMake

GLS.VectorGeometry

Vector2fMake

GLS.VectorGeometry

Vector2fMake

GLS.VectorGeometry

Vector2fMake

GLS.VectorGeometry

2x

Vector2iMake

GLS.VectorGeometry

Vector2iMake

GLS.VectorGeometry

Vector2iMake

GLS.VectorGeometry

Vector2sMake

GLS.VectorGeometry

Vector2sMake

GLS.VectorGeometry

Vector2sMake

GLS.VectorGeometry

Vector3ADD

Physics.ODEImport

Vector3bMake

GLS.VectorGeometry

Vector3bMake

GLS.VectorGeometry

Vector3bMake

GLS.VectorGeometry

Vector3Cross

Physics.ODEImport

Vector3dMake

GLS.VectorGeometry

Vector3dMake

GLS.VectorGeometry

Vector3dMake

GLS.VectorGeometry

Vector3fMake

GLS.VectorGeometry

Vector3fMake

GLS.VectorGeometry

Vector3fMake

GLS.VectorGeometry

3x

Vector3iMake

GLS.VectorGeometry

Vector3iMake

GLS.VectorGeometry

Vector3iMake

GLS.VectorGeometry

Vector3Length

Physics.ODEImport

Vector3Make

Physics.ODEImport

Vector3ScalarMul

Physics.ODEImport

Vector3sMake

GLS.VectorGeometry

Vector3sMake

GLS.VectorGeometry

Vector3sMake

GLS.VectorGeometry

Vector3SUB

Physics.ODEImport

Vector4bMake

GLS.VectorGeometry

Vector4bMake

GLS.VectorGeometry

Vector4bMake

GLS.VectorGeometry

Vector4dMake

GLS.VectorGeometry

Vector4dMake

GLS.VectorGeometry

Vector4dMake

GLS.VectorGeometry

Vector4fMake

GLS.VectorGeometry

Vector4fMake

GLS.VectorGeometry

Vector4fMake

GLS.VectorGeometry

4x

Vector4iMake

GLS.VectorGeometry

Vector4iMake

GLS.VectorGeometry

Vector4iMake

GLS.VectorGeometry

Vector4sMake

GLS.VectorGeometry

Vector4sMake

GLS.VectorGeometry

Vector4sMake

GLS.VectorGeometry

VectorAbs

GLS.VectorGeometry

Returns a vector with components replaced by their Abs value. }

VectorAbs

GLS.VectorGeometry

Returns a vector with components replaced by their Abs value. }

VectorAdd

GLS.VectorGeometry

VectorAdd

GLS.VectorGeometry

VectorAdd

GLS.VectorGeometry

VectorAdd

GLS.VectorGeometry

Adds two vectors and places result in vr

VectorAdd

GLS.VectorGeometry

Returns the sum of two affine vectors

VectorAdd

GLS.VectorGeometry

Returns the sum of two homogeneous vectors

VectorAdd

GLS.VectorGeometry

Sums up f to each component of the vector

VectorAdd

GLS.VectorGeometry

Sums up f to each component of the vector

VectorAffineDblToFlt

GLS.VectorGeometry

Converts a vector containing double sized values into a vector with single sized values

VectorAffineFltToDbl

GLS.VectorGeometry

Converts a vector containing single sized values into a vector with double sized values

VectorAngleCombine

GLS.VectorGeometry

VectorAngleCosine

GLS.VectorGeometry

Calculates the cosine of the angle between Vector1 and Vector2. Result = DotProduct(V1, V2) / (Length(V1) * Length(V2))

VectorAngleCosine

GLS.VectorGeometry

Calculates the cosine of the angle between Vector1 and Vector2. Result = DotProduct(V1, V2) / (Length(V1) * Length(V2))

VectorAngleLerp

GLS.VectorGeometry

VectorArrayAdd

GLS.VectorGeometry

Adds delta to nb vectors in src and places result in dest

VectorArrayLerp

GLS.VectorGeometry

VectorArrayLerp

GLS.VectorGeometry

VectorArrayLerp

GLS.VectorGeometry

Calculates linear interpolation between vector arrays

VectorCombine

GLS.VectorGeometry

Makes a linear combination of two vectors and place result in vr

VectorCombine

GLS.VectorGeometry

Makes a linear combination of two vectors and place result in vr

VectorCombine

GLS.VectorGeometry

Makes a linear combination of two vectors and place result in vr, F1=1.0

VectorCombine

GLS.VectorGeometry

Makes a linear combination of two vectors and return the result

VectorCombine

GLS.VectorGeometry

Makes a linear combination of two vectors and return the result

VectorCombine

GLS.VectorGeometry

Makes a linear combination of two vectors and return the result

VectorCombine3

GLS.VectorGeometry

VectorCombine3

GLS.VectorGeometry

Makes a linear combination of three vectors and return the result

VectorCombine3

GLS.VectorGeometry

Makes a linear combination of three vectors and return the result

VectorCombine3

GLS.VectorGeometry

Makes a linear combination of three vectors and return the result

VectorCrossProduct

GLS.VectorGeometry

Calculates the cross product between vector 1 and 2

VectorCrossProduct

GLS.VectorGeometry

Calculates the cross product between vector 1 and 2

VectorCrossProduct

GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr

VectorCrossProduct

GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr

VectorCrossProduct

GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr

VectorCrossProduct

GLS.VectorGeometry

Calculates the cross product between vector 1 and 2, place result in vr

VectorDblToFlt

GLS.VectorGeometry

Converts a vector containing double sized values into a vector with single sized values

VectorDistance

GLS.VectorGeometry

Calculates distance between two vectors. ie. sqrt(sqr(v1[x]-v2[x])+...)

VectorDistance

GLS.VectorGeometry

Calculates distance between two vectors. ie. sqrt(sqr(v1[x]-v2[x])+...) (w component ignored)

VectorDistance2

GLS.VectorGeometry

Calculates the "Norm 2" between two vectors. ie. sqr(v1[x]-v2[x])+...

VectorDistance2

GLS.VectorGeometry

Calculates the "Norm 2" between two vectors. ie. sqr(v1[x]-v2[x])+...(w component ignored)

VectorDivide

GLS.EllipseCollision

VectorDivide

GLS.VectorGeometry

VectorDivide

GLS.VectorGeometry

VectorDotProduct

GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y]

VectorDotProduct

GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]

VectorDotProduct

GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]

VectorDotProduct

GLS.VectorGeometry

Calculates the dot product between V1 and V2. Result:=V1[X] * V2[X] + V1[Y] * V2[Y] + V1[Z] * V2[Z]

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

VectorEquals

GLS.VectorGeometry

function VectorEquals(const V1, V2: TVector3f): Boolean; overload; //declared further

VectorEquals

GLS.VectorGeometry

function VectorEquals(const V1, V2: TVector4f): Boolean; overload; //declared further

VectorEquals

GLS.VectorGeometry

True if all components are equal.

VectorEquals

GLS.VectorGeometry

True if all components are equal.

VectorFileFormatExtensionByIndex

GLS.VectorFileObjects

Returns an extension by its index in the vector files dialogs filter. Use VectorFileFormatsFilter to obtain the filter.

VectorFileFormatsFilter

GLS.VectorFileObjects

A file extension filter suitable for dialog's 'Filter' property

VectorFileFormatsSaveFilter

GLS.VectorFileObjects

A file extension filter suitable for a savedialog's 'Filter' property

VectorFltToDbl

GLS.VectorGeometry

Converts a vector containing single sized values into a vector with double sized values

VectorIsNull

GLS.VectorGeometry

True if x=y=z=0, w ignored

VectorIsNull

GLS.VectorGeometry

True if x=y=z=0, w ignored

VectorLength

GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y).

VectorLength

GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y).

VectorLength

GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z).

VectorLength

GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z).

VectorLength

GLS.VectorGeometry

Calculates the length of a vector following the equation sqrt(x*x+y*y+z*z+w*w).

VectorLength

GLS.VectorGeometry

Calculates the length of a vector following the equation: sqrt(x*x+y*y+...). Note: The parameter of this function is declared as open array. Thus there's no restriction about the number of the components of the vector.

VectorLerp

GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t

VectorLerp

GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t

VectorLerp

GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t, places result in vr

VectorLerp

GLS.VectorGeometry

Calculates linear interpolation between vector1 and vector2 at point t, places result in vr

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessEqualThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorLessThen

GLS.VectorGeometry

VectorMake

GLS.VectorGeometry

VectorMake

GLS.VectorGeometry

VectorMake

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreEqualThen

GLS.VectorGeometry

VectorMoreThen

GLS.VectorGeometry

3i

VectorMoreThen

GLS.VectorGeometry

3i

VectorMoreThen

GLS.VectorGeometry

3s

VectorMoreThen

GLS.VectorGeometry

3s

VectorMoreThen

GLS.VectorGeometry

4f

VectorMoreThen

GLS.VectorGeometry

4f

VectorMoreThen

GLS.VectorGeometry

4i

VectorMoreThen

GLS.VectorGeometry

4i

VectorMoreThen

GLS.VectorGeometry

4s

VectorMoreThen

GLS.VectorGeometry

4s

VectorMoreThen

GLS.VectorGeometry

ComparedNumber 3f

VectorMoreThen

GLS.VectorGeometry

Vector comparison functions: 3f

VectorNegate

GLS.VectorGeometry

VectorNegate

GLS.VectorGeometry

Negates the vector

VectorNorm

GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = v.X*v.X + ... Also known as "Norm 2" in the math world, this is sqr(VectorLength).

VectorNorm

GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = x * x + y * y Also known as "Norm 2" in the math world, this is sqr(VectorLength).

VectorNorm

GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = x*x + y*y + z*z Also known as "Norm 2" in the math world, this is sqr(VectorLength).

VectorNorm

GLS.VectorGeometry

Calculates norm of a vector which is defined as norm = x*x + y*y + z*z Also known as "Norm 2" in the math world, this is sqr(VectorLength).

VectorNormalize

GLS.VectorGeometry

Returns the vector transformed to unit length

VectorNormalize

GLS.VectorGeometry

Returns the vector transformed to unit length

VectorNormalize

GLS.VectorGeometry

Returns the vector transformed to unit length (w component dropped)

VectorPerpendicular

GLS.VectorGeometry

Calculates a vector perpendicular to N. N is assumed to be of unit length, subtract out any component parallel to N

VectorReflect

GLS.VectorGeometry

Reflects vector V against N (assumes N is normalized)

VectorRotateAroundX

GLS.VectorGeometry

Returns given vector rotated around the X axis (alpha is in rad)

VectorRotateAroundY

GLS.VectorGeometry

Returns given vector rotated around the Y axis (alpha is in rad)

VectorRotateAroundY

GLS.VectorGeometry

Returns given vector rotated around the Y axis in vr (alpha is in rad)

VectorRotateAroundZ

GLS.VectorGeometry

Returns given vector rotated around the Z axis (alpha is in rad)

VectorScale

GLS.VectorGeometry

Returns a vector scaled by a factor

VectorScale

GLS.VectorGeometry

Returns a vector scaled by a factor

VectorScale

GLS.VectorGeometry

Returns a vector scaled by a factor

VectorScale

GLS.VectorGeometry

RScales given vector by another vector

VectorScale

GLS.VectorGeometry

Scales a vector by a factor and places result in vr

VectorScale

GLS.VectorGeometry

Scales a vector by a factor and places result in vr

VectorScale

GLS.VectorGeometry

Scales a vector by a factor and places result in vr

VectorScale

GLS.VectorGeometry

Scales given vector by another vector

VectorSpacing

GLS.VectorGeometry

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y])+..., also know as "Norm1".

VectorSpacing

GLS.VectorGeometry

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y])+..., also know as "Norm1".

VectorSpacing

GLS.VectorGeometry

Calculates Abs(v1[x]-v2[x])+Abs(v1[y]-v2[y]), also know as "Norm1".

VectorSubtract

GLS.VectorGeometry

VectorSubtract

GLS.VectorGeometry

VectorSubtract

GLS.VectorGeometry

Returns V1-V2

VectorSubtract

GLS.VectorGeometry

Returns V1-V2

VectorSubtract

GLS.VectorGeometry

Returns V1-V2

VectorSubtract

GLS.VectorGeometry

Subtracts V2 from V1 and return value in result

VectorSubtract

GLS.VectorGeometry

Subtracts V2 from V1 and return value in result

VectorSubtract

GLS.VectorGeometry

Subtracts V2 from V1 and return value in result

VectorSubtract

GLS.VectorGeometry

Subtracts V2 from V1 and return value in result

VectorSubtract

GLS.VectorGeometry

Subtracts V2 from V1 and return value in result

VectorTransform

GLS.VectorGeometry

Transforms a homogeneous vector by multiplying it with a matrix

VectorTransform

GLS.VectorGeometry

Transforms a homogeneous vector by multiplying it with a matrix

VectorTransform

GLS.VectorGeometry

Transforms an affine vector by multiplying it with a matrix

VectorTransform

GLS.VectorGeometry

Transforms an affine vector by multiplying it with a matrix

vEdgeInfoReserveSize

GLS.MeshUtils

VerifyDelphiODE

Physics.ODEImport

VerticalScalingFactor

GLS.RandomHDS

vFindCuFileFunc

CUDA.Compiler

vFontManagerMsgID

GLS.SpaceText

vGhoul2LevelOfDetail

GLS.FileGL2

vGhoul2MaxBonesPerVertex

GLS.FileGL2

Highest detail level by default

vGLFile3DSSceneObjects_RenderCameraAndLights

GLS.File3DSSceneObjects

vGLFile3DS_EnableAnimation

GLS.File3DS

If enabled, allows 3ds animation and fixes loading of some 3ds models, but has a few bugs: - TGLFreeForm.AutoCentering does now work correctly. - TGLMeshObject.vertices return values different from TGLMeshObject.ExtractTriangles()

vGLFile3DS_FixDefaultUpAxisY

GLS.File3DS

If enabled, a -90 degrees (-PI/2) rotation will occured on X Axis. By design 3dsmax has a Z Up-Axis, after the rotation the Up axis will be Y. (Note: you need vGLFile3DS_EnableAnimation = true)

vGLFile3DS_LoadedStaticFrame

GLS.File3DS

If >= 0, then the vertices list will be updated with selected frame animation data. (Note: you need vGLFile3DS_EnableAnimation = true). Be aware that in that case animation will not be usable, it is made to be used with a static mesh like GLFreeForm.

vGLFile3DS_UseTextureEx

GLS.File3DS

If enabled, advanced parameters will be loaded from a 3ds file (TextureScale, TextureOffset), but it might break backwards compatibility. If disabled, it won't break anything, but some parameters will not be loaded correctly from a 3ds file. Also there is a significant drop in FPS when this option is on (for unknown reasons), so it is off by default.

vGLFileOBJ_SplitMesh

GLS.FileOBJ

If enabled, main mesh will be splitted into multiple mesh from facegroup data.

vGLFileOCTAllocateMaterials

GLS.FileOCT

Scaling factor, 1.0 = unchanged

vGLFileOCTLightmapBrightness

GLS.FileOCT

vGLFileOCTLightmapGammaCorrection

GLS.FileOCT

Scaling factor, 1.0 = unchanged

vGLFileQ3BSPLoadMaterials

GLS.FileQ3BSP

scaling factor, 1.0 = unchanged

vGLVectorFileObjectsAllocateMaterials

GLS.VectorFileObjects

vGLVectorFileObjectsEnableVBOByDefault

GLS.VectorFileObjects

Flag to avoid loading materials (useful for IDE Extentions or scene editors)

VGradientMax3DS

Formats.m3DSConst

minimum value for gradient midpoint

VGradientMin3DS

Formats.m3DSConst

maximum string length for filename V_GRADIENT chunk

VHDR_DONE

Formats.VFW

– dwFlags field of VIDEOHDR ————————————————

VHDR_INQUEUE

Formats.VFW

Set if this header has been prepared

VHDR_KEYFRAME

Formats.VFW

Reserved for driver

VHDR_PREPARED

Formats.VFW

Done bit

VIDCF_COMPRESSFRAMES

Formats.VFW

supports inter-frame compress

VIDCF_CRUNCH

Formats.VFW

supports quality

VIDCF_DRAW

Formats.VFW

wants the compress all frames message

VIDCF_FASTTEMPORALC

Formats.VFW

supports drawing

VIDCF_FASTTEMPORALD

Formats.VFW

does not need prev frame on compress

VIDCF_QUALITY

Formats.VFW

– Flags for the <dwFlags> field of the <ICINFO> structure. ————

VIDCF_TEMPORAL

Formats.VFW

supports crunching to a frame size

vIDELogProc

GLS.Logger

VideoForWindowsVersion

Formats.VFW

*************************************************************************** * * VideoForWindowsVersion() - returns version of VfW * **************************************************************************

VIDEO_CONFIGURE_CURRENT

Formats.VFW

VIDEO_CONFIGURE_GET

Formats.VFW

– videoConfigure (GET only) ————————————————

VIDEO_CONFIGURE_MAX

Formats.VFW

VIDEO_CONFIGURE_MIN

Formats.VFW

VIDEO_CONFIGURE_NOMINAL

Formats.VFW

VIDEO_CONFIGURE_QUERY

Formats.VFW

– videoConfigure (both GET and SET) —————————————-

VIDEO_CONFIGURE_QUERYSIZE

Formats.VFW

VIDEO_CONFIGURE_SET

Formats.VFW

– videoConfigure (SET only) ————————————————

VIDEO_DLG_QUERY

Formats.VFW

– Is a driver dialog available for this channel —————————-

VIDEO_EXTERNALIN

Formats.VFW

– Types of channels to open with the videoOpen function ——————–

VIDEO_EXTERNALOUT

Formats.VFW

VIDEO_IN

Formats.VFW

VIDEO_OUT

Formats.VFW

ViewCameraStrMax3DS

Formats.m3DSConst

maximum value for dimming factor VIEW_CAMERA

VIEWPORT_DATA

Formats.m3DSConst

VIEWPORT_DATA_3

Formats.m3DSConst

VIEWPORT_DATA_OLD

Formats.m3DSConst

VIEWPORT_LAYOUT

Formats.m3DSConst

VIEWPORT_LAYOUT_OLD

Formats.m3DSConst

Viewport description chunks

VIEWPORT_SIZE

Formats.m3DSConst

VIEW_BACK

Formats.m3DSConst

VIEW_BOTTOM

Formats.m3DSConst

VIEW_CAMERA

Formats.m3DSConst

VIEW_FRONT

Formats.m3DSConst

VIEW_LEFT

Formats.m3DSConst

VIEW_RIGHT

Formats.m3DSConst

VIEW_TOP

Formats.m3DSConst

VIEW_USER

Formats.m3DSConst

VIEW_WINDOW

Formats.m3DSConst

vIgnoreOpenGLErrors

GLS.Context

vImageScaleFilterWidth

GLS.ImageUtils

vImprovedFixingOpenTriangleEdge

GLS.MeshUtils

VirtualKeyCodeToKeyName

GLS.Keyboard

Converts a virtual key code to its name. The name is expressed using the locale windows options.

VK_MOUSEWHEELDOWN

GLS.Keyboard

VK_MOUSEWHEELUP

GLS.Keyboard

pseudo wheel keys (we squat F23/F24), see KeyboardNotifyWheelMoved

vLastWheelDelta

GLS.Keyboard

vMainThread

GLS.Context

VMAP_TYPE_MNVW

Formats.LWO

WEIGHT MAP

VMAP_TYPE_MORF

Formats.LWO

RGBA MAP

VMAP_TYPE_PICK

Formats.LWO

SKELEGON?

VMAP_TYPE_RGB

Formats.LWO

UV MAP

VMAP_TYPE_RGBA

Formats.LWO

RGB MAP

VMAP_TYPE_SPOT

Formats.LWO

MORPH MAP: RELATIVE VERTEX DISPLACEMENT

VMAP_TYPE_TXUV

Formats.LWO

SUBPATCH WEIGHT MAP

VMAP_TYPE_WGHT

Formats.LWO

SELECTION SET

vMD5TextureExtensions

GLS.FileMD5

vNumberVideoModes

GLS.Screen

vODEObjectRegister

Physics.ODEManager

vODERagdoll_cDensity

Physics.ODERagdoll

vODERagdoll_cMass

Physics.ODERagdoll

VORUseEmbeddedColors

GLS.FileVOR

VPDATA

Formats.m3DSConst

Video Post

vProjectTargetName

GLS.Utils

vQ3BSPLightmapBrightness

GLS.FileQ3BSP

vQ3BSPLightmapGammaCorrection

GLS.FileQ3BSP

Q3 lightmaps are quite dark, we brighten them a lot by default

vSIMD

GLS.VectorGeometry

This var is adjusted during "initialization", current values are + 0 : use standard optimized FPU code + 1 : use 3DNow! optimized code (requires K6-2/3 CPU) + 2 : use Intel SSE code (Pentium III, NOT IMPLEMENTED YET !)

vUseDefaultColorSets

GLS.Color

Specifies if TGLColor should allocate memory for their default values (ie. design-time) or not (run-time)

VUseDefaultCoordinateSets

GLS.Coordinates

Specifies if TGLCustomCoordinates should allocate memory for their default values (ie. design-time) or not (run-time)

vUseWindowTrackingHook

GLS.WindowsContext

This boolean controls a hook-based tracking of top-level forms destruction, with the purpose of being able to properly release OpenGL contexts before they are (improperly) released by some drivers upon top-level form destruction

vVerboseGLSMErrors

GLS.Sound

If this variable is true, errors in GLSM may be displayed to the user

vVerticalFlipDDS

GLS.Graphics

vVideoModes

GLS.Screen

V_GRADIENT

Formats.m3DSConst

WeldVertices

GLS.MeshUtils

Welds all vertices separated by a distance inferior to weldRadius. Any two vertices whose distance is inferior to weldRadius will be merged (ie. one of them will be removed, and the other replaced by the barycenter). The indicesMap is constructed to allow remapping of indices lists with the simple rule: newVertexIndex:=indicesMap[oldVertexIndex]. The logic is protected from chain welding, and only vertices that were initially closer than weldRadius will be welded in the same resulting vertex. This procedure can be used for mesh simplification, but preferably at design-time for it is not optimized for speed. This is more a "fixing" utility for meshes exported from high-polycount CAD tools (to remove duplicate vertices, quantification errors, etc.)

wglCopyContext

GLS.OpenGLAdapter

TGLExtensionsAndEntryPoints —————————— Windows OpenGL (WGL) support functions {$IFDEF SUPPORT_WGL} function wglGetProcAddress(ProcName: PAnsiChar): Pointer; stdcall; external opengl32;

wglCreateContext

GLS.OpenGLAdapter

wglCreateLayerContext

GLS.OpenGLAdapter

wglDeleteContext

GLS.OpenGLAdapter

wglGetCurrentContext

GLS.OpenGLAdapter

function wglDescribeLayerPlane(p1: HDC; p2, p3: integer; p4: cardinal; var p5: TLayerPlaneDescriptor): BOOL; stdcall; external opengl32;

wglGetCurrentDC

GLS.OpenGLAdapter

wglMakeCurrent

GLS.OpenGLAdapter

function wglGetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;

wglRealizeLayerPalette

GLS.OpenGLAdapter

wglShareLists

GLS.OpenGLAdapter

function wglSetLayerPaletteEntries(p1: HDC; p2, p3, p4: integer; var pcr): integer; stdcall; external opengl32;

WGLSWAP

GLS.VectorTypes

wglSwapLayerBuffers

GLS.OpenGLAdapter

WGL_ACCELERATION_ARB

GLS.OpenGLTokens

WGL_ACCESS_READ_ONLY_NV

GLS.OpenGLTokens

WGL_NV_DX_interop (EXT #407)

WGL_ACCESS_READ_WRITE_NV

GLS.OpenGLTokens

WGL_ACCESS_WRITE_DISCARD_NV

GLS.OpenGLTokens

WGL_ACCUM_ALPHA_BITS_ARB

GLS.OpenGLTokens

WGL_ACCUM_BITS_ARB

GLS.OpenGLTokens

WGL_ACCUM_BLUE_BITS_ARB

GLS.OpenGLTokens

WGL_ACCUM_GREEN_BITS_ARB

GLS.OpenGLTokens

WGL_ACCUM_RED_BITS_ARB

GLS.OpenGLTokens

WGL_ALPHA_BITS_ARB

GLS.OpenGLTokens

WGL_ALPHA_SHIFT_ARB

GLS.OpenGLTokens

WGL_AUX0_ARB

GLS.OpenGLTokens

WGL_AUX1_ARB

GLS.OpenGLTokens

WGL_AUX2_ARB

GLS.OpenGLTokens

WGL_AUX3_ARB

GLS.OpenGLTokens

WGL_AUX4_ARB

GLS.OpenGLTokens

WGL_AUX5_ARB

GLS.OpenGLTokens

WGL_AUX6_ARB

GLS.OpenGLTokens

WGL_AUX7_ARB

GLS.OpenGLTokens

WGL_AUX8_ARB

GLS.OpenGLTokens

WGL_AUX9_ARB

GLS.OpenGLTokens

WGL_AUX_BUFFERS_ARB

GLS.OpenGLTokens

WGL_BACK_COLOR_BUFFER_BIT_ARB

GLS.OpenGLTokens

WGL_BACK_LEFT_ARB

GLS.OpenGLTokens

WGL_BACK_RIGHT_ARB

GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV

GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV

GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV

GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV

GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RGBA_ARB

GLS.OpenGLTokens

WGL_BIND_TO_TEXTURE_RGB_ARB

GLS.OpenGLTokens

ARB Extension #20 - WGL_ARB_render_texture

WGL_BLUE_BITS_ARB

GLS.OpenGLTokens

WGL_BLUE_SHIFT_ARB

GLS.OpenGLTokens

WGL_COLOR_BITS_ARB

GLS.OpenGLTokens

WGL_COLOR_SAMPLES_NV

GLS.OpenGLTokens

unknown extension, where does it come from?

WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB

GLS.OpenGLTokens

WGL_CONTEXT_CORE_PROFILE_BIT_ARB

GLS.OpenGLTokens

WGL_CONTEXT_DEBUG_BIT_ARB

GLS.OpenGLTokens

WGL_CONTEXT_ES2_PROFILE_BIT_EXT

GLS.OpenGLTokens

EXT #400 WGL_EXT_create_context_es2_profile

WGL_CONTEXT_FLAGS_ARB

GLS.OpenGLTokens

WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB

GLS.OpenGLTokens

WGL_CONTEXT_LAYER_PLANE_ARB

GLS.OpenGLTokens

WGL_CONTEXT_MAJOR_VERSION_ARB

GLS.OpenGLTokens

ARB Extension #55 - WGL_ARB_create_context see also WGL_ARB_create_context_profile (ARB #74)

WGL_CONTEXT_MINOR_VERSION_ARB

GLS.OpenGLTokens

WGL_CONTEXT_PROFILE_MASK_ARB

GLS.OpenGLTokens

ARB Extension #74 - WGL_ARB_create_context_profile see also WGL_ARB_create_context (ARB #55)

WGL_CUBE_MAP_FACE_ARB

GLS.OpenGLTokens

WGL_DEPTH_BITS_ARB

GLS.OpenGLTokens

WGL_DEPTH_BUFFER_BIT_ARB

GLS.OpenGLTokens

WGL_DOUBLE_BUFFER_ARB

GLS.OpenGLTokens

WGL_DRAW_TO_BITMAP_ARB

GLS.OpenGLTokens

WGL_DRAW_TO_PBUFFER_ARB

GLS.OpenGLTokens

ARB Extension #11 - WGL_ARB_pbuffer

WGL_DRAW_TO_WINDOW_ARB

GLS.OpenGLTokens

WGL_FLOAT_COMPONENTS_NV

GLS.OpenGLTokens

WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB

GLS.OpenGLTokens

ARB Extension #46 - GL_ARB_framebuffer_sRGB

WGL_FRONT_COLOR_BUFFER_BIT_ARB

GLS.OpenGLTokens

—————— OpenGL v1.1 generic constants ——————– ARB Extension #4 - WGL_ARB_buffer_region

WGL_FRONT_LEFT_ARB

GLS.OpenGLTokens

WGL_FRONT_RIGHT_ARB

GLS.OpenGLTokens

WGL_FULL_ACCELERATION_ARB

GLS.OpenGLTokens

WGL_GENERIC_ACCELERATION_ARB

GLS.OpenGLTokens

WGL_GREEN_BITS_ARB

GLS.OpenGLTokens

WGL_GREEN_SHIFT_ARB

GLS.OpenGLTokens

WGL_MAX_PBUFFER_HEIGHT_ARB

GLS.OpenGLTokens

WGL_MAX_PBUFFER_PIXELS_ARB

GLS.OpenGLTokens

WGL_MAX_PBUFFER_WIDTH_ARB

GLS.OpenGLTokens

WGL_MIPMAP_LEVEL_ARB

GLS.OpenGLTokens

WGL_MIPMAP_TEXTURE_ARB

GLS.OpenGLTokens

WGL_NEED_PALETTE_ARB

GLS.OpenGLTokens

WGL_NEED_SYSTEM_PALETTE_ARB

GLS.OpenGLTokens

WGL_NO_ACCELERATION_ARB

GLS.OpenGLTokens

WGL_NO_TEXTURE_ARB

GLS.OpenGLTokens

WGL_NUMBER_OVERLAYS_ARB

GLS.OpenGLTokens

WGL_NUMBER_PIXEL_FORMATS_ARB

GLS.OpenGLTokens

ARB Extension #9 - WGL_ARB_pixel_format (no new tokens)

WGL_NUMBER_UNDERLAYS_ARB

GLS.OpenGLTokens

WGL_PBUFFER_HEIGHT_ARB

GLS.OpenGLTokens

WGL_PBUFFER_LARGEST_ARB

GLS.OpenGLTokens

WGL_PBUFFER_LOST_ARB

GLS.OpenGLTokens

WGL_PBUFFER_WIDTH_ARB

GLS.OpenGLTokens

WGL_PIXEL_TYPE_ARB

GLS.OpenGLTokens

WGL_RED_BITS_ARB

GLS.OpenGLTokens

WGL_RED_SHIFT_ARB

GLS.OpenGLTokens

WGL_SAMPLES_ARB

GLS.OpenGLTokens

WGL_SAMPLE_BUFFERS_ARB

GLS.OpenGLTokens

WGL_SHARE_ACCUM_ARB

GLS.OpenGLTokens

WGL_SHARE_DEPTH_ARB

GLS.OpenGLTokens

WGL_SHARE_STENCIL_ARB

GLS.OpenGLTokens

WGL_STENCIL_BITS_ARB

GLS.OpenGLTokens

WGL_STENCIL_BUFFER_BIT_ARB

GLS.OpenGLTokens

WGL_STEREO_ARB

GLS.OpenGLTokens

WGL_SUPPORT_GDI_ARB

GLS.OpenGLTokens

WGL_SUPPORT_OPENGL_ARB

GLS.OpenGLTokens

WGL_SWAP_COPY_ARB

GLS.OpenGLTokens

WGL_SWAP_EXCHANGE_ARB

GLS.OpenGLTokens

WGL_SWAP_LAYER_BUFFERS_ARB

GLS.OpenGLTokens

WGL_SWAP_METHOD_ARB

GLS.OpenGLTokens

WGL_SWAP_UNDEFINED_ARB

GLS.OpenGLTokens

WGL_TEXTURE_1D_ARB

GLS.OpenGLTokens

WGL_TEXTURE_2D_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB

GLS.OpenGLTokens

WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB

GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_RGBA_NV

GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_RGB_NV

GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_RG_NV

GLS.OpenGLTokens

WGL_TEXTURE_FLOAT_R_NV

GLS.OpenGLTokens

WGL_TEXTURE_FORMAT_ARB

GLS.OpenGLTokens

WGL_TEXTURE_RGBA_ARB

GLS.OpenGLTokens

WGL_TEXTURE_RGB_ARB

GLS.OpenGLTokens

WGL_TEXTURE_TARGET_ARB

GLS.OpenGLTokens

WGL_TRANSPARENT_ALPHA_VALUE_ARB

GLS.OpenGLTokens

WGL_TRANSPARENT_ARB

GLS.OpenGLTokens

WGL_TRANSPARENT_BLUE_VALUE_ARB

GLS.OpenGLTokens

WGL_TRANSPARENT_GREEN_VALUE_ARB

GLS.OpenGLTokens

WGL_TRANSPARENT_INDEX_VALUE_ARB

GLS.OpenGLTokens

WGL_TRANSPARENT_RED_VALUE_ARB

GLS.OpenGLTokens

WGL_TYPE_COLORINDEX_ARB

GLS.OpenGLTokens

WGL_TYPE_RGBA_ARB

GLS.OpenGLTokens

WGL_TYPE_RGBA_FLOAT_ATI

GLS.OpenGLTokens

WGL_ATI_pixel_format_float (#278)

WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT

GLS.OpenGLTokens

WHmgPoint

GLS.VectorGeometry

WHmgVector

GLS.VectorGeometry

WM_CAP_ABORT

Formats.VFW

WM_CAP_DLG_VIDEOCOMPRESSION

Formats.VFW

WM_CAP_DLG_VIDEODISPLAY

Formats.VFW

WM_CAP_DLG_VIDEOFORMAT

Formats.VFW

WM_CAP_DLG_VIDEOSOURCE

Formats.VFW

WM_CAP_DRIVER_CONNECT

Formats.VFW

WM_CAP_DRIVER_DISCONNECT

Formats.VFW

WM_CAP_DRIVER_GET_CAPS

Formats.VFW

WM_CAP_DRIVER_GET_NAME

Formats.VFW

WM_CAP_DRIVER_GET_NAMEA

Formats.VFW

WM_CAP_DRIVER_GET_NAMEW

Formats.VFW

WM_CAP_DRIVER_GET_VERSION

Formats.VFW

WM_CAP_DRIVER_GET_VERSIONA

Formats.VFW

WM_CAP_DRIVER_GET_VERSIONW

Formats.VFW

WM_CAP_EDIT_COPY

Formats.VFW

WM_CAP_END

Formats.VFW

WM_CAP_FILE_ALLOCATE

Formats.VFW

out of order to save on ifdefs

WM_CAP_FILE_GET_CAPTURE_FILE

Formats.VFW

WM_CAP_FILE_GET_CAPTURE_FILEA

Formats.VFW

WM_CAP_FILE_GET_CAPTURE_FILEW

Formats.VFW

WM_CAP_FILE_SAVEAS

Formats.VFW

WM_CAP_FILE_SAVEASA

Formats.VFW

WM_CAP_FILE_SAVEASW

Formats.VFW

WM_CAP_FILE_SAVEDIB

Formats.VFW

WM_CAP_FILE_SAVEDIBA

Formats.VFW

WM_CAP_FILE_SAVEDIBW

Formats.VFW

WM_CAP_FILE_SET_CAPTURE_FILE

Formats.VFW

WM_CAP_FILE_SET_CAPTURE_FILEA

Formats.VFW

WM_CAP_FILE_SET_CAPTURE_FILEW

Formats.VFW

WM_CAP_FILE_SET_INFOCHUNK

Formats.VFW

WM_CAP_GET_AUDIOFORMAT

Formats.VFW

WM_CAP_GET_CAPSTREAMPTR

Formats.VFW

WM_CAP_GET_MCI_DEVICE

Formats.VFW

WM_CAP_GET_MCI_DEVICEA

Formats.VFW

WM_CAP_GET_MCI_DEVICEW

Formats.VFW

WM_CAP_GET_SEQUENCE_SETUP

Formats.VFW

WM_CAP_GET_STATUS

Formats.VFW

WM_CAP_GET_USER_DATA

Formats.VFW

WM_CAP_GET_VIDEOFORMAT

Formats.VFW

WM_CAP_GRAB_FRAME

Formats.VFW

WM_CAP_GRAB_FRAME_NOSTOP

Formats.VFW

WM_CAP_PAL_AUTOCREATE

Formats.VFW

WM_CAP_PAL_MANUALCREATE

Formats.VFW

WM_CAP_PAL_OPEN

Formats.VFW

WM_CAP_PAL_OPENA

Formats.VFW

WM_CAP_PAL_OPENW

Formats.VFW

WM_CAP_PAL_PASTE

Formats.VFW

WM_CAP_PAL_SAVE

Formats.VFW

WM_CAP_PAL_SAVEA

Formats.VFW

WM_CAP_PAL_SAVEW

Formats.VFW

WM_CAP_SEQUENCE

Formats.VFW

WM_CAP_SEQUENCE_NOFILE

Formats.VFW

WM_CAP_SET_AUDIOFORMAT

Formats.VFW

WM_CAP_SET_CALLBACK_CAPCONTROL

Formats.VFW

Following added post VFW 1.1

WM_CAP_SET_CALLBACK_ERROR

Formats.VFW

WM_CAP_SET_CALLBACK_ERRORA

Formats.VFW

WM_CAP_SET_CALLBACK_ERRORW

Formats.VFW

WM_CAP_SET_CALLBACK_FRAME

Formats.VFW

WM_CAP_SET_CALLBACK_STATUS

Formats.VFW

WM_CAP_SET_CALLBACK_STATUSA

Formats.VFW

WM_CAP_SET_CALLBACK_STATUSW

Formats.VFW

WM_CAP_SET_CALLBACK_VIDEOSTREAM

Formats.VFW

WM_CAP_SET_CALLBACK_WAVESTREAM

Formats.VFW

WM_CAP_SET_CALLBACK_YIELD

Formats.VFW

WM_CAP_SET_MCI_DEVICE

Formats.VFW

WM_CAP_SET_MCI_DEVICEA

Formats.VFW

WM_CAP_SET_MCI_DEVICEW

Formats.VFW

WM_CAP_SET_OVERLAY

Formats.VFW

WM_CAP_SET_PREVIEW

Formats.VFW

WM_CAP_SET_PREVIEWRATE

Formats.VFW

WM_CAP_SET_SCALE

Formats.VFW

WM_CAP_SET_SCROLL

Formats.VFW

WM_CAP_SET_SEQUENCE_SETUP

Formats.VFW

WM_CAP_SET_USER_DATA

Formats.VFW

WM_CAP_SET_VIDEOFORMAT

Formats.VFW

WM_CAP_SINGLE_FRAME

Formats.VFW

WM_CAP_SINGLE_FRAME_CLOSE

Formats.VFW

WM_CAP_SINGLE_FRAME_OPEN

Formats.VFW

WM_CAP_START

Formats.VFW

UNICODE
The Win32 version of AVICAP on NT supports UNICODE applications: for each API or message that takes a char or string parameter, there are two versions, ApiNameA and ApiNameW. The default name ApiName is #defined to one or other depending on whether UNICODE is defined. Apps can call the A and W apis directly, and mix them.
The 32-bit AVICAP on NT uses unicode exclusively internally. ApiNameA() will be implemented as a call to ApiNameW() together with translation of strings. Defines start of the message range

WM_CAP_STOP

Formats.VFW

WM_CAP_UNICODE_END

Formats.VFW

Defines end of the message range

WM_CAP_UNICODE_START

Formats.VFW

WordToIntegerArray

GLS.Utils

Copies the values of Source to Dest (converting word values to integer values)

WriteCRLFString

GLS.Utils

Write the string and a CRLF in the stream

WriteModuleData

GLS.ModuleLoader

WriteMotorolaNumber

Formats.LWO

WriteS0

Formats.LWO

WriteU4AsVX

Formats.LWO

WriteXMLFile

GLS.CrossXML

WriteXMLFile

GLS.CrossXML

XCollectionEditorForm

FmXCollectionEditor

XDATA_APPNAME

Formats.m3DSConst

XDATA_DOUBLE

Formats.m3DSConst

XDATA_ENTRY

Formats.m3DSConst

XDATA_FLOAT

Formats.m3DSConst

XDATA_GROUP

Formats.m3DSConst

XDATA_LONG

Formats.m3DSConst

XDATA_RFU1

Formats.m3DSConst

XDATA_RFU2

Formats.m3DSConst

XDATA_RFU3

Formats.m3DSConst

XDATA_RFU4

Formats.m3DSConst

XDATA_RFU5

Formats.m3DSConst

XDATA_RFU6

Formats.m3DSConst

XDATA_SECTION

Formats.m3DSConst

External Application Data

XDATA_SHORT

Formats.m3DSConst

XDATA_STRING

Formats.m3DSConst

XDATA_VOID

Formats.m3DSConst

xgl

GLS.Context

XHmgPoint

GLS.VectorGeometry

Standard homogeneous points

XHmgVector

GLS.VectorGeometry

Standard homogeneous vectors

XLATE_RANGE

Formats.m3DSConst

XTexPoint

GLS.VectorGeometry

TexPoints (2D space)

XVector

GLS.VectorGeometry

standard vectors

XYHmgVector

GLS.VectorGeometry

XYTexPoint

GLS.VectorGeometry

XYVector

GLS.VectorGeometry

XYZHmgVector

GLS.VectorGeometry

XYZVector

GLS.VectorGeometry

XYZWHmgVector

GLS.VectorGeometry

XZHmgVector

GLS.VectorGeometry

XZVector

GLS.VectorGeometry

XZ_CURVE

Formats.m3DSConst

YHmgPoint

GLS.VectorGeometry

YHmgVector

GLS.VectorGeometry

YTexPoint

GLS.VectorGeometry

YVector

GLS.VectorGeometry

YZHmgVector

GLS.VectorGeometry

YZVector

GLS.VectorGeometry

YZ_CURVE

Formats.m3DSConst

ZHmgPoint

GLS.VectorGeometry

ZHmgVector

GLS.VectorGeometry

ZVector

GLS.VectorGeometry

_CGcontext

Cg.Import

_CGparameter

Cg.Import

_CGprogram

Cg.Import

_EFXEAXREVERBPROPERTIES

Sounds.OpenALImport

END EFX AEX extension EFX utils version 1.0

_EFXLOWPASSFILTER

Sounds.OpenALImport

_priv_dParamLoStop

Physics.ODEImport

These consts now have defined types

_priv_dParamLoStop2

Physics.ODEImport

_priv_dParamLoStop3

Physics.ODEImport

_putenv

GLS.SDLWindow

—————————————————————————– Get Environment Routines ——————————————————————————

_WGLSWAP

GLS.VectorTypes

__GLsync

OpenCL.GL


GLSysHelp v.2.1: Legend

Legend

Marker | Visibility
Strict Private | Strict Private
Private | Private
Strict Protected | Strict Protected
Protected | Protected
Public | Public
Published | Published
Automated | Automated
Implicit | Implicit


GLSysHelp v.2.1: Conclusion

Conclusion

GLScene's Developers and contributors

===========================

Aaron Hochwimmer, Adirex, Airatz, Alan Rose, Alejandro Leon Escalera, Alexandre Hirzel, Arvydas Juskevicius, Benjamin Rosseaux Brian Johns, Burkhard Carstens, Da Stranger, Daniel Bartlett, Dave Kerr, Degiovani, Eric Grange, Eric Hardinge, Eric Pascual, Erick Schuitema, Ernst Lehberger, Ivan Lee Herring, Jerome Delauney, Joen A. Joensen, Joen Joensen, Kenneth Poulter, Lionel Reynaud, Lord Crc, Lukasz Sokol, Marcus Oblak, Matheus Degiovani, Mattias Fagerlund, Mike Lischke, Nakayama Masanori, Nelson Chu, Pavel Vassiliev, Paul van Dinther, Peirick, Phil Scadden, Philipp Pammler, Pierre Lemerle, Piotr Szturmaj, Rene Lindsay, Roshal Sasha, Rustam Asmandiarov, Sandor Domokos, Solerman Kaplon, Sternas Stefanos, Stuart Gooding, Uwe Raabe, YarUnderoaker, Zsolt Laky