Repository navigation
GPU Optimizations
BlitzLLVM leaves out work before the GPU does it, and some of it can be controlled. None of this changes what is drawn: the picture of a program is the same with and without it. The environment variables below are for comparing speed and pictures, see Environment-Variables.
Every frame BlitzLLVM decides which meshes can not be seen and does not give them to the GPU.
-
Frustum culling. CameraCulling bit 1 (on by default) leaves out each mesh whose box is completely outside of what the camera sees, including everything behind it and everything farther than
CameraRangeallows. EntityInView asks the same for one mesh.TrisRenderedcounts what was given to the GPU, so it shows what this saved. -
Culling parts of big meshes. A single mesh with many faces (a terrain, a level or a scan) is otherwise either out of view or drawn completely. CameraCulling bit 2 (on by default) lets the GPU cut such meshes into runs of 128 faces and skip the runs that are out of view.
- It applies to solid surfaces of at least 4096 faces. See-through or distance-ordered surfaces, sprites and planes are drawn as a whole.
- The faces of such a surface are drawn in a different order, which cannot change a solid picture.
- A surface that changes every frame (
VertexCoordin a loop) is cut again at most once every 30 frames, so keep dynamic meshes small. - It needs a GPU with
multiDrawIndirectanddrawIndirectFirstInstance. The bit is ignored without it. -
Stats3D(1004)counts the runs the GPU decided about in the lastRenderWorld.TrisRenderedstill counts all faces of such a surface.
- Back-facing runs. Bit 4 (needs bit 2, off by default) also leaves out runs whose faces all look away from the camera. It only helps meshes with many faces that look away (the inside of a hull, a level seen from outside), and only applies to solid faces that are not two-sided, entities that are turned and scaled equally and not mirrored, and perspective cameras.
- Debugging. CameraCullingSource makes a camera use the culling of another camera. Moving that camera away shows what the other one leaves out.
From 4096 meshes on, meshes that stay where they are go into the cells of a grid in the world, and a camera only looks at the cells it sees instead of every mesh. The draw order and the picture are the same as without it.
A mesh goes into a cell after it has stayed as it is for a few frames, and any command that takes the entity takes it out again. Children of other entities, terrains, planes and entities that were part of CaptureWorld are never put in cells. When more than 5% of the meshes are touched in one frame the grid is not used (until fewer than 4.5% are), and neither in a frame where more than a tenth of the meshes are in cells that are in view. BLITZLLVM_SPATIAL_GRID_SCAN_SHARE=<share> sets that tenth, and BLITZLLVM_SPATIAL_GRID=0 turns the grid off. Programs built with -d look at every mesh each frame and stop with an error if the grid left out one that is in view.
Experimental and off by default: BLITZLLVM_GPU_DRAWS=1 turns it on. It needs a GPU that can draw many indirect commands in one call.
Meshes that stay as they are for a few frames have their draws made once and kept in a table. A compute shader makes the draws of each camera from it, leaves out the ones outside of the view and draws each group that shares pipeline, texture and buffers with one indirect call.
- A mesh goes in the table after four untouched frames, and only if it is solid and stands alone: no parent, no
EntityOrder, no fade, not a sprite, plane, terrain, level, animated or skinned mesh, no extra texture layers and no see-through surfaces. EntityStatic changes the wait:-1never puts it in,1puts it in without the wait (it still has to qualify),0is the default. - Any command that takes the entity (moving, coloring, hiding, freeing, painting) takes the mesh out, and it goes back in after four frames (an
EntityStatic 1mesh that is moved, turned, scaled or re-parented goes back toEntityStatic 0). - These throw the whole table away: any change of a light, the vertices or paint of any surface, any command that takes a texture,
WireFrame, and a change ofDither. When that happens every frame, the table waits longer and longer before it is made again, so a scene that changes all the time is drawn the usual way. - Cameras that look into a mirror draw everything the usual way.
TrisRendereddoes not count the triangles of the table.
A flame, a puff of smoke or a drop of water fills only part of its square sprite, and the see-through rest still costs time. For textures with flag 2 (alpha) or 4 (masked), BlitzLLVM finds the smallest octagon that has every visible pixel in it, with some room for filtering, when the texture is loaded (or written to between LockBuffer and UnlockBuffer). Sprites with the same texture share one shape and are drawn in far fewer draw calls; a round texture has about 17% less area to fill.
The square is kept for sprites that cover fewer than 128 pixels, and when the texture:
- fills most of the square, or has no alpha or mask
- has frames, other layers, or is a movie
- was drawn on with the drawing commands
- has been scaled, moved or turned (
ScaleTexture,PositionTexture,RotateTexture) - is a sphere or cube map
BLITZLLVM_SPRITE_HULL=0 turns the shapes off.
Getting started
Language
Tools
Language Features
- Overview
Math (31)
- Overview
- Abs
- ACos
- ASin
- ATan
- ATan2
- ByteSwap 〔BlitzLLVM〕
- Ceil
- Cos
- Exp
- Floor
- LeadingZeros 〔BlitzLLVM〕
- Log
- Log10
- Mod
- Pi
- PopCount 〔BlitzLLVM〕
- RotL 〔BlitzLLVM〕
- RotR 〔BlitzLLVM〕
- SatByte 〔BlitzLLVM〕
- SatInt 〔BlitzLLVM〕
- SatLong 〔BlitzLLVM〕
- SatShort 〔BlitzLLVM〕
- SatUByte 〔BlitzLLVM〕
- SatUInt 〔BlitzLLVM〕
- SatULong 〔BlitzLLVM〕
- SatUShort 〔BlitzLLVM〕
- Sgn
- Sin
- Sqr
- Tan
- TrailingZeros 〔BlitzLLVM〕
Time & Date (8)
BlitzBasic
- Overview
Buffers and Pixels (20)
- Overview
- BackBuffer
- BufferDirty
- CopyPixel
- CopyPixelFast
- CopyRect
- FrontBuffer
- GraphicsBuffer
- LoadBuffer
- LockBuffer
- ReadPixel
- ReadPixel64 〔BlitzLLVM〕
- ReadPixelFast
- ReadPixelFast64 〔BlitzLLVM〕
- SaveBuffer 〔BlitzLLVM〕
- SetBuffer
- UnlockBuffer
- WritePixel
- WritePixel64 〔BlitzLLVM〕
- WritePixelFast
- WritePixelFast64 〔BlitzLLVM〕
Display (48)
- Overview
- AvailVidMem
- AvailVidMem64
- CountDisplayModes 〔BlitzLLVM〕
- CountDisplays 〔BlitzLLVM〕
- CountGfxDrivers
- CountGfxModes
- CountRefreshRates 〔BlitzLLVM〕
- DisplayDepth 〔BlitzLLVM〕
- DisplayHeight 〔BlitzLLVM〕
- DisplayModeDepth 〔BlitzLLVM〕
- DisplayModeHeight 〔BlitzLLVM〕
- DisplayModeRefreshRate 〔BlitzLLVM〕
- DisplayModeWidth 〔BlitzLLVM〕
- DisplayName 〔BlitzLLVM〕
- DisplayRefreshRate 〔BlitzLLVM〕
- DisplayScale 〔BlitzLLVM〕
- DisplayWidth 〔BlitzLLVM〕
- DisplayX 〔BlitzLLVM〕
- DisplayY 〔BlitzLLVM〕
- EndGraphics
- Flip
- GammaBlue
- GammaGreen
- GammaRed
- GfxDriver 〔BlitzLLVM〕
- GfxDriverName
- GfxModeDepth
- GfxModeExists
- GfxModeFormat
- GfxModeHeight
- GfxModeWidth
- Graphics
- GraphicsDepth
- GraphicsFormat
- GraphicsHeight
- GraphicsLost
- GraphicsPalette
- GraphicsWidth
- HidePointer
- PrimaryDisplay 〔BlitzLLVM〕
- RefreshRateAt 〔BlitzLLVM〕
- SetGamma
- SetGfxDriver
- ShowPointer
- TotalVidMem
- TotalVidMem64
- UpdateGamma
- VWait
Fonts and Text (12)
Images (39)
- Overview
- AsyncLoading 〔BlitzLLVM〕
- AsyncSaving 〔BlitzLLVM〕
- AutoMidHandle
- CopyImage
- CreateImage
- DrawBlock
- DrawBlockRect
- DrawImage
- DrawImageRect
- FreeImage
- GrabImage
- HandleImage
- ImageBuffer
- ImageFrameDelay
- ImageFrames
- ImageHeight
- ImageReady 〔BlitzLLVM〕
- ImageRectCollide
- ImageRectOverlap
- ImagesCollide
- ImagesOverlap
- ImageWidth
- ImageXHandle
- ImageYHandle
- LoadAnimImage
- LoadImage
- MaskImage
- MidHandle
- RectsOverlap
- ResizeImage
- RotateImage
- SaveImage 〔BlitzLLVM〕
- SavesFailed 〔BlitzLLVM〕
- SavesPending 〔BlitzLLVM〕
- ScaleImage
- TFormFilter
- TFormImage
- TileBlock
- TileImage
Mouse (25)
- Overview
- DirectInputEnabled
- EnableDirectInput
- FlushMouse
- GetMouse
- HWRawInput
- LastMouseDevice
- LockMouse
- MouseChanged
- MouseDeviceConnected
- MouseDeviceCount
- MouseDeviceName
- MouseDown
- MouseHit
- MouseWait
- MouseX
- MouseXSpeed
- MouseY
- MouseYSpeed
- MouseZ
- MouseZSpeed
- MoveMouse
- RawInput
- RawInputEnabled
- UnlockMouse
- WaitMouse
Movies (15)
- Overview
- CloseMovie
- DrawMovie
- GetMovieTexture 〔BlitzLLVM〕
- LoopMovie 〔BlitzLLVM〕
- MovieHeight
- MovieLength 〔BlitzLLVM〕
- MoviePlaying
- MoviePosition 〔BlitzLLVM〕
- MovieVolume 〔BlitzLLVM〕
- MovieWidth
- OpenMovie
- PauseMovie 〔BlitzLLVM〕
- PlayMovie 〔BlitzLLVM〕
- SeekMovie 〔BlitzLLVM〕
- StopMovie 〔BlitzLLVM〕
Network (26)
- Overview
- AcceptTCPStream
- CloseTCPServer
- CloseTCPStream
- CloseUDPStream
- CountHostAddresses
- CountHostIPs
- CreateTCPServer
- CreateUDPStream
- DottedIP
- GetHostAddress
- GetTCPStreamAddress
- GetUDPMsgAddress
- GetUDPStreamAddress
- HostIP
- OpenTCPStream
- RecvUDPMsg
- SendUDPMsg
- SendUDPMsgTo
- TCPStreamIP
- TCPStreamPort
- TCPTimeouts
- UDPMsgIP
- UDPMsgPort
- UDPStreamIP
- UDPStreamPort
- UDPTimeouts
Blitz3D
- Overview
3D Sound (2)
Animation (16)
BSP (4)
- Overview
- BSPAmbientLight
- BSPLighting
- BSPLightmapColor 〔BlitzLLVM〕
- LoadBSP
Display (9)
- Overview
- CountGfxModes3D
- GfxDriver3D
- GfxDriverCaps3D
- GfxMode3D
- GfxMode3DExists
- GfxMode3DHeight 〔BlitzLLVM〕
- GfxMode3DWidth 〔BlitzLLVM〕
- Graphics3D
- Windowed3D
Entities (44)
- Overview
- AlignToVector
- CopyEntity
- CountChildren
- CreatePivot
- EntityAlpha
- EntityAutoFade
- EntityBlend
- EntityClass
- EntityColor
- EntityDepthFade 〔BlitzLLVM〕
- EntityDistance
- EntityFX
- EntityInView
- EntityLightChannel 〔BlitzLLVM〕
- EntityLighting
- EntityName
- EntityOrder
- EntityParent
- EntityPitch
- EntityReady 〔BlitzLLVM〕
- EntityRoll
- EntityShininess
- EntityStatic 〔BlitzLLVM〕
- EntityTexture
- EntityX
- EntityY
- EntityYaw
- EntityZ
- FindChild
- FreeEntity
- GetChild
- GetMatElement
- GetParent
- HideEntity
- MoveEntity
- NameEntity
- PaintEntity
- PointEntity
- PositionEntity
- RotateEntity
- ScaleEntity
- ShowEntity
- TranslateEntity
- TurnEntity
Lights (5)
Physics (83)
- Overview
- CreatePhysicsBody 〔BlitzLLVM〕
- CreatePhysicsBodyFromEntity 〔BlitzLLVM〕
- CreatePhysicsWorld 〔BlitzLLVM〕
- FreePhysicsWorld 〔BlitzLLVM〕
- GetPhysicsAngularDamping 〔BlitzLLVM〕
- GetPhysicsAngularVelocityX 〔BlitzLLVM〕
- GetPhysicsAngularVelocityY 〔BlitzLLVM〕
- GetPhysicsAngularVelocityZ 〔BlitzLLVM〕
- GetPhysicsAwake 〔BlitzLLVM〕
- GetPhysicsBaumgarte 〔BlitzLLVM〕
- GetPhysicsBodyMotion 〔BlitzLLVM〕
- GetPhysicsBodyShape 〔BlitzLLVM〕
- GetPhysicsBodyWorld 〔BlitzLLVM〕
- GetPhysicsContactSlop 〔BlitzLLVM〕
- GetPhysicsContinuous 〔BlitzLLVM〕
- GetPhysicsContinuousDefault 〔BlitzLLVM〕
- GetPhysicsDeterministic 〔BlitzLLVM〕
- GetPhysicsFriction 〔BlitzLLVM〕
- GetPhysicsGravityScale 〔BlitzLLVM〕
- GetPhysicsGravityX 〔BlitzLLVM〕
- GetPhysicsGravityY 〔BlitzLLVM〕
- GetPhysicsGravityZ 〔BlitzLLVM〕
- GetPhysicsLayer 〔BlitzLLVM〕
- GetPhysicsLinearDamping 〔BlitzLLVM〕
- GetPhysicsLinearVelocityX 〔BlitzLLVM〕
- GetPhysicsLinearVelocityY 〔BlitzLLVM〕
- GetPhysicsLinearVelocityZ 〔BlitzLLVM〕
- GetPhysicsMaskHigh 〔BlitzLLVM〕
- GetPhysicsMaskLow 〔BlitzLLVM〕
- GetPhysicsMass 〔BlitzLLVM〕
- GetPhysicsMaxDelta 〔BlitzLLVM〕
- GetPhysicsMaxSteps 〔BlitzLLVM〕
- GetPhysicsMode 〔BlitzLLVM〕
- GetPhysicsPositionIterations 〔BlitzLLVM〕
- GetPhysicsRate 〔BlitzLLVM〕
- GetPhysicsRestitution 〔BlitzLLVM〕
- GetPhysicsSensor 〔BlitzLLVM〕
- GetPhysicsSleepThreshold 〔BlitzLLVM〕
- GetPhysicsSolver 〔BlitzLLVM〕
- GetPhysicsSpeculativeDistance 〔BlitzLLVM〕
- GetPhysicsSubsteps 〔BlitzLLVM〕
- GetPhysicsThreads 〔BlitzLLVM〕
- GetPhysicsVelocityIterations 〔BlitzLLVM〕
- GetPhysicsWorldSleeping 〔BlitzLLVM〕
- PhysicsAngularDamping 〔BlitzLLVM〕
- PhysicsAngularVelocity 〔BlitzLLVM〕
- PhysicsApplyAngularImpulse 〔BlitzLLVM〕
- PhysicsApplyForce 〔BlitzLLVM〕
- PhysicsApplyForceAt 〔BlitzLLVM〕
- PhysicsApplyImpulse 〔BlitzLLVM〕
- PhysicsApplyImpulseAt 〔BlitzLLVM〕
- PhysicsApplyTorque 〔BlitzLLVM〕
- PhysicsBaumgarte 〔BlitzLLVM〕
- PhysicsBodyMotion 〔BlitzLLVM〕
- PhysicsBodyWorld 〔BlitzLLVM〕
- PhysicsContactSlop 〔BlitzLLVM〕
- PhysicsContinuous 〔BlitzLLVM〕
- PhysicsContinuousDefault 〔BlitzLLVM〕
- PhysicsDeterministic 〔BlitzLLVM〕
- PhysicsFriction 〔BlitzLLVM〕
- PhysicsGravity 〔BlitzLLVM〕
- PhysicsGravityScale 〔BlitzLLVM〕
- PhysicsLayer 〔BlitzLLVM〕
- PhysicsLinearDamping 〔BlitzLLVM〕
- PhysicsLinearVelocity 〔BlitzLLVM〕
- PhysicsMass 〔BlitzLLVM〕
- PhysicsMaxDelta 〔BlitzLLVM〕
- PhysicsMaxSteps 〔BlitzLLVM〕
- PhysicsMode 〔BlitzLLVM〕
- PhysicsPositionIterations 〔BlitzLLVM〕
- PhysicsRate 〔BlitzLLVM〕
- PhysicsRestitution 〔BlitzLLVM〕
- PhysicsSensor 〔BlitzLLVM〕
- PhysicsSleeping 〔BlitzLLVM〕
- PhysicsSleepThreshold 〔BlitzLLVM〕
- PhysicsSolver 〔BlitzLLVM〕
- PhysicsSpeculativeDistance 〔BlitzLLVM〕
- PhysicsSubsteps 〔BlitzLLVM〕
- PhysicsThreads 〔BlitzLLVM〕
- PhysicsUpdate 〔BlitzLLVM〕
- PhysicsVelocityIterations 〔BlitzLLVM〕
- PhysicsWake 〔BlitzLLVM〕
- PhysicsWorldSleeping 〔BlitzLLVM〕
Sprites (7)
Surfaces (29)
- Overview
- AddTriangle
- AddVertex
- ClearSurface
- CountSurfaces
- CountTriangles
- CountVertices
- CreateSurface
- FindSurface
- GetSurface
- PaintSurface
- TriangleVertex
- UpdateNormals
- VertexAlpha
- VertexBlue
- VertexColor
- VertexCoords
- VertexGreen
- VertexNormal
- VertexNX
- VertexNY
- VertexNZ
- VertexRed
- VertexTexCoords
- VertexU
- VertexV
- VertexW
- VertexX
- VertexY
- VertexZ
Textures (51)
- Overview
- AtlasTexture
- ClearTextureFilters
- CreateSampler 〔BlitzLLVM〕
- CreateTexture
- FreeSampler 〔BlitzLLVM〕
- FreeTexture
- GetSamplerAddressModeU 〔BlitzLLVM〕
- GetSamplerAddressModeV 〔BlitzLLVM〕
- GetSamplerAddressModeW 〔BlitzLLVM〕
- GetSamplerAnisotropy 〔BlitzLLVM〕
- GetSamplerBorderColorA 〔BlitzLLVM〕
- GetSamplerBorderColorB 〔BlitzLLVM〕
- GetSamplerBorderColorG 〔BlitzLLVM〕
- GetSamplerBorderColorR 〔BlitzLLVM〕
- GetSamplerFilterMag 〔BlitzLLVM〕
- GetSamplerFilterMin 〔BlitzLLVM〕
- GetSamplerFilterMip 〔BlitzLLVM〕
- GetSamplerLodBias 〔BlitzLLVM〕
- GetSamplerLodMax 〔BlitzLLVM〕
- GetSamplerLodMin 〔BlitzLLVM〕
- LoadAnimTexture
- LoadAtlas
- LoadTexture
- PositionTexture
- RotateTexture
- SaveTexture 〔BlitzLLVM〕
- ScaleTexture
- SetCubeFace
- SetCubeMode
- SetSamplerAddressModeU 〔BlitzLLVM〕
- SetSamplerAddressModeV 〔BlitzLLVM〕
- SetSamplerAddressModeW 〔BlitzLLVM〕
- SetSamplerAnisotropy 〔BlitzLLVM〕
- SetSamplerBorderColor 〔BlitzLLVM〕
- SetSamplerFilterMag 〔BlitzLLVM〕
- SetSamplerFilterMin 〔BlitzLLVM〕
- SetSamplerFilterMip 〔BlitzLLVM〕
- SetSamplerLodBias 〔BlitzLLVM〕
- SetSamplerLodMax 〔BlitzLLVM〕
- SetSamplerLodMin 〔BlitzLLVM〕
- SetTextureSampler 〔BlitzLLVM〕
- TextureBlend
- TextureBuffer
- TextureCoords
- TextureFilter
- TextureFrameDelay
- TextureFrames
- TextureHeight
- TextureName
- TextureReady 〔BlitzLLVM〕
- TextureWidth
World (20)
BlitzPlus
- Overview
Gadgets (50)
- Overview
- ActivateGadget
- AddGadgetItem
- ButtonState
- ClearGadgetItems
- CountGadgetItems
- CreateButton
- CreateComboBox
- CreateHtmlView 〔BlitzLLVM〕
- CreateLabel
- CreateListBox
- CreatePanel
- CreateProgBar
- CreateSlider
- CreateTabber
- DisableGadget
- EnableGadget
- FreeGadget
- GadgetFont
- GadgetGroup
- GadgetHeight
- GadgetItemText
- GadgetText
- GadgetWidth
- GadgetX
- GadgetY
- HideGadget
- HtmlViewBack 〔BlitzLLVM〕
- HtmlViewCurrentURL 〔BlitzLLVM〕
- HtmlViewEventURL 〔BlitzLLVM〕
- HtmlViewForward 〔BlitzLLVM〕
- HtmlViewGo 〔BlitzLLVM〕
- HtmlViewRun 〔BlitzLLVM〕
- HtmlViewStatus 〔BlitzLLVM〕
- InsertGadgetItem
- ModifyGadgetItem
- RemoveGadgetItem
- SelectedGadgetItem
- SelectGadgetItem
- SetButtonState
- SetGadgetFont
- SetGadgetLayout
- SetGadgetShape
- SetGadgetText
- SetPanelColor
- SetPanelImage
- SetSliderRange
- SetSliderValue
- ShowGadget
- SliderValue
- UpdateProgBar
Differences
- Overview
Features (31)
- Asynchronous loading
- Colors
- CPU optimizations
- Debug handle checks
- Debug handle checks: Runtime errors as breakpoints
- GPU optimizations
- GPU optimizations: Sprite shapes
- Image formats
- IPv6
- Language: Data
- Lost graphics device
- Model formats
- Movie controls
- Multiplayer
- Parameter modes (In, Out, InOut)
- Physics
- Profiling your own code
- Quality improvements: Depth buffer
- Quality improvements: Large meshes
- Quality improvements: Many lights
- Quality improvements: Mip maps
- Saving pictures
- Scan Codes
- Sound resampling
- Spherical fog
- Sprite depth fade (soft edges)
- The windows of BlitzPlus
- Types and numbers
- Types and numbers: Number suffixes
- Types and numbers: Void
- Userlib declarations
Commands (417)
- ActivateWindow
- ActiveObjects
- ActiveWindow
- AddVertex
- AnimateMD2
- AntiAlias
- AppTitle
- AsyncLoading 〔BlitzLLVM〕
- AsyncSaving 〔BlitzLLVM〕
- AvailVidMem
- AvailVidMem64
- BrushTexture
- BSPAmbientLight
- BSPLighting
- BufferDirty
- Byte 〔BlitzLLVM〕
- ByteSwap 〔BlitzLLVM〕
- CameraFogMode
- CanvasBuffer
- ChannelPan
- ChannelPitch
- ChannelPlaying
- ChannelVolume
- ClientHeight
- ClientWidth
- CloseMovie
- Collisions
- CollisionTime
- Confirm
- CopyPixel
- CopyPixelFast
- CopyRect
- CountDisplayModes 〔BlitzLLVM〕
- CountDisplays 〔BlitzLLVM〕
- CountGfxDrivers
- CountGfxModes
- CountHostAddresses
- CountHostIPs
- CountRefreshRates 〔BlitzLLVM〕
- CreateButton
- CreateCanvas
- CreateComboBox
- CreateHtmlView 〔BlitzLLVM〕
- CreateImage
- CreateLabel
- CreateListBox
- CreateListener
- CreateMenu
- CreatePhysicsBody 〔BlitzLLVM〕
- CreatePhysicsBodyFromEntity 〔BlitzLLVM〕
- CreatePhysicsWorld 〔BlitzLLVM〕
- CreatePlane
- CreateSampler 〔BlitzLLVM〕
- CreateTabber
- CreateTCPServer
- CreateTerrain
- CreateTextArea
- CreateTexture
- CreateToolBar
- CreateUDPStream
- CreateWindow
- DebugObjects
- Desktop
- DesktopBuffer
- DirectInputEnabled
- DisplayDepth 〔BlitzLLVM〕
- DisplayHeight 〔BlitzLLVM〕
- DisplayModeDepth 〔BlitzLLVM〕
- DisplayModeHeight 〔BlitzLLVM〕
- DisplayModeRefreshRate 〔BlitzLLVM〕
- DisplayModeWidth 〔BlitzLLVM〕
- DisplayName 〔BlitzLLVM〕
- DisplayRefreshRate 〔BlitzLLVM〕
- DisplayScale 〔BlitzLLVM〕
- DisplayWidth 〔BlitzLLVM〕
- DisplayX 〔BlitzLLVM〕
- DisplayY 〔BlitzLLVM〕
- Double 〔BlitzLLVM〕
- DrawBlockRect
- DrawImage
- DrawImageRect
- DrawMovie
- EmitSound
- EnableDirectInput
- EndGraphics
- EntityDepthFade 〔BlitzLLVM〕
- EntityLighting
- EntityStatic 〔BlitzLLVM〕
- EntityTexture
- Flip
- FlipCanvas
- FlushJoy
- FlushKeys
- FlushMouse
- FontHeight
- FontWidth
- FormatTextAreaText
- FreeFont
- FreeImage
- FreePhysicsWorld 〔BlitzLLVM〕
- FreeSound
- FreeTexture
- FrontBuffer
- GammaBlue
- GammaGreen
- GammaRed
- GetBrushTexture
- GetHostAddress
- GetJoy
- GetKey
- GetMouse
- GetMovieTexture 〔BlitzLLVM〕
- GetPhysicsAngularDamping 〔BlitzLLVM〕
- GetPhysicsAngularVelocityX 〔BlitzLLVM〕
- GetPhysicsAngularVelocityY 〔BlitzLLVM〕
- GetPhysicsAngularVelocityZ 〔BlitzLLVM〕
- GetPhysicsAwake 〔BlitzLLVM〕
- GetPhysicsBaumgarte 〔BlitzLLVM〕
- GetPhysicsBodyMotion 〔BlitzLLVM〕
- GetPhysicsBodyShape 〔BlitzLLVM〕
- GetPhysicsBodyWorld 〔BlitzLLVM〕
- GetPhysicsContactSlop 〔BlitzLLVM〕
- GetPhysicsContinuous 〔BlitzLLVM〕
- GetPhysicsContinuousDefault 〔BlitzLLVM〕
- GetPhysicsDeterministic 〔BlitzLLVM〕
- GetPhysicsFriction 〔BlitzLLVM〕
- GetPhysicsGravityScale 〔BlitzLLVM〕
- GetPhysicsGravityX 〔BlitzLLVM〕
- GetPhysicsGravityY 〔BlitzLLVM〕
- GetPhysicsGravityZ 〔BlitzLLVM〕
- GetPhysicsLayer 〔BlitzLLVM〕
- GetPhysicsLinearDamping 〔BlitzLLVM〕
- GetPhysicsLinearVelocityX 〔BlitzLLVM〕
- GetPhysicsLinearVelocityY 〔BlitzLLVM〕
- GetPhysicsLinearVelocityZ 〔BlitzLLVM〕
- GetPhysicsMaskHigh 〔BlitzLLVM〕
- GetPhysicsMaskLow 〔BlitzLLVM〕
- GetPhysicsMass 〔BlitzLLVM〕
- GetPhysicsMaxDelta 〔BlitzLLVM〕
- GetPhysicsMaxSteps 〔BlitzLLVM〕
- GetPhysicsMode 〔BlitzLLVM〕
- GetPhysicsPositionIterations 〔BlitzLLVM〕
- GetPhysicsRate 〔BlitzLLVM〕
- GetPhysicsRestitution 〔BlitzLLVM〕
- GetPhysicsSensor 〔BlitzLLVM〕
- GetPhysicsSleepThreshold 〔BlitzLLVM〕
- GetPhysicsSolver 〔BlitzLLVM〕
- GetPhysicsSpeculativeDistance 〔BlitzLLVM〕
- GetPhysicsSubsteps 〔BlitzLLVM〕
- GetPhysicsThreads 〔BlitzLLVM〕
- GetPhysicsVelocityIterations 〔BlitzLLVM〕
- GetPhysicsWorldSleeping 〔BlitzLLVM〕
- GetSurfaceBrush
- GetTCPStreamAddress
- GetUDPMsgAddress
- GetUDPStreamAddress
- GfxDriver3D
- GfxDriverCaps3D
- GfxDriverName
- GfxModeDepth
- GfxModeExists
- GfxModeFormat
- GfxModeHeight
- GfxModeWidth
- GrabImage
- Graphics
- Graphics3D
- GraphicsDepth
- GraphicsFormat
- Half 〔BlitzLLVM〕
- HidePointer
- HostIP
- HtmlViewEventURL 〔BlitzLLVM〕
- HtmlViewRun 〔BlitzLLVM〕
- HtmlViewStatus 〔BlitzLLVM〕
- HWMultiTex
- HWRawInput
- ImageBuffer
- ImagesCollide
- Include
- Input
- Int
- JoyChanged
- JoyDeviceConnected
- JoyDeviceCount
- JoyDeviceName
- JoyHat
- JoyType
- JoyWait
- KeyboardChanged
- KeyboardDeviceConnected
- KeyboardDeviceCount
- KeyboardDeviceName
- KeyDown
- KeyHit
- LastJoyDevice
- LastKeyboardDevice
- LastMouseDevice
- LeadingZeros 〔BlitzLLVM〕
- Load3DSound
- LoadAnimMesh
- LoadAnimTexture
- LoadBSP
- LoadBuffer
- LoaderMatrix
- LoadFont
- LoadImage
- LoadMesh
- LoadSound
- LoadTerrain
- LoadTexture
- Locate
- LockBuffer
- LockedFormat
- LockedPitch
- LockedPixels
- LockMouse
- LockTextArea
- Long 〔BlitzLLVM〕
- LoopMovie 〔BlitzLLVM〕
- LoopSound
- MaximizeWindow
- MeshCullBox
- Microseconds 〔BlitzLLVM〕
- MinimizeWindow
- ModifyTerrain
- MouseChanged
- MouseDeviceConnected
- MouseDeviceCount
- MouseDeviceName
- MouseDown
- MouseHit
- MouseX
- MouseXSpeed
- MouseY
- MouseYSpeed
- MouseZ
- MouseZSpeed
- MoveMouse
- MovieHeight
- MovieLength 〔BlitzLLVM〕
- MoviePlaying
- MoviePosition 〔BlitzLLVM〕
- MovieVolume 〔BlitzLLVM〕
- MovieWidth
- Notify
- OpenMovie
- OpenTCPStream
- PauseChannel
- PauseMovie 〔BlitzLLVM〕
- PhysicsAngularDamping 〔BlitzLLVM〕
- PhysicsAngularVelocity 〔BlitzLLVM〕
- PhysicsApplyAngularImpulse 〔BlitzLLVM〕
- PhysicsApplyForce 〔BlitzLLVM〕
- PhysicsApplyForceAt 〔BlitzLLVM〕
- PhysicsApplyImpulse 〔BlitzLLVM〕
- PhysicsApplyImpulseAt 〔BlitzLLVM〕
- PhysicsApplyTorque 〔BlitzLLVM〕
- PhysicsBaumgarte 〔BlitzLLVM〕
- PhysicsBodyMotion 〔BlitzLLVM〕
- PhysicsBodyWorld 〔BlitzLLVM〕
- PhysicsContactSlop 〔BlitzLLVM〕
- PhysicsContinuous 〔BlitzLLVM〕
- PhysicsContinuousDefault 〔BlitzLLVM〕
- PhysicsDeterministic 〔BlitzLLVM〕
- PhysicsFriction 〔BlitzLLVM〕
- PhysicsGravity 〔BlitzLLVM〕
- PhysicsGravityScale 〔BlitzLLVM〕
- PhysicsLayer 〔BlitzLLVM〕
- PhysicsLinearDamping 〔BlitzLLVM〕
- PhysicsLinearVelocity 〔BlitzLLVM〕
- PhysicsMass 〔BlitzLLVM〕
- PhysicsMaxDelta 〔BlitzLLVM〕
- PhysicsMaxSteps 〔BlitzLLVM〕
- PhysicsMode 〔BlitzLLVM〕
- PhysicsPositionIterations 〔BlitzLLVM〕
- PhysicsRate 〔BlitzLLVM〕
- PhysicsRestitution 〔BlitzLLVM〕
- PhysicsSensor 〔BlitzLLVM〕
- PhysicsSleeping 〔BlitzLLVM〕
- PhysicsSleepThreshold 〔BlitzLLVM〕
- PhysicsSolver 〔BlitzLLVM〕
- PhysicsSpeculativeDistance 〔BlitzLLVM〕
- PhysicsSubsteps 〔BlitzLLVM〕
- PhysicsThreads 〔BlitzLLVM〕
- PhysicsUpdate 〔BlitzLLVM〕
- PhysicsVelocityIterations 〔BlitzLLVM〕
- PhysicsWake 〔BlitzLLVM〕
- PhysicsWorldSleeping 〔BlitzLLVM〕
- PickedTime
- PlayCDTrack
- PlayMovie 〔BlitzLLVM〕
- PlayMusic
- PlaySound
- PopCount 〔BlitzLLVM〕
- Proceed
- ProfileBegin
- ProfileEnable
- ProfileEnd
- ProfileFlipCount
- ProfileFPS
- ProfileItemCount
- ProfileItemName
- ProfileOutput
- ProfileSample
- ProfileSlow
- ProfileValue
- ProjectedX
- ProjectedZ
- QueryObject
- RawInput
- RawInputEnabled
- ReadPixel
- ReadPixel64 〔BlitzLLVM〕
- ReadPixelFast
- ReadPixelFast64 〔BlitzLLVM〕
- RefreshRateAt 〔BlitzLLVM〕
- RenderWorld
- RequestColor
- RequestDir
- RequestFile
- RequestFont
- ResizeImage
- ResumeChannel
- RotL 〔BlitzLLVM〕
- RotR 〔BlitzLLVM〕
- RuntimeError
- SatByte 〔BlitzLLVM〕
- SatInt 〔BlitzLLVM〕
- SatLong 〔BlitzLLVM〕
- SatShort 〔BlitzLLVM〕
- SatUByte 〔BlitzLLVM〕
- SatUInt 〔BlitzLLVM〕
- SatULong 〔BlitzLLVM〕
- SatUShort 〔BlitzLLVM〕
- SaveBuffer 〔BlitzLLVM〕
- SaveImage 〔BlitzLLVM〕
- ScaleImage
- ScanLine
- SeekMovie 〔BlitzLLVM〕
- SendUDPMsg
- SendUDPMsgTo
- SetBuffer
- SetCubeFace
- SetCubeMode
- SetFont
- SetGadgetFont
- SetGamma
- SetGfxDriver
- SetMenuText
- SetMinWindowSize
- SetSamplerAddressModeU 〔BlitzLLVM〕
- SetSamplerAddressModeV 〔BlitzLLVM〕
- SetSamplerAddressModeW 〔BlitzLLVM〕
- SetSamplerAnisotropy 〔BlitzLLVM〕
- SetSamplerBorderColor 〔BlitzLLVM〕
- SetSamplerFilterMag 〔BlitzLLVM〕
- SetSamplerFilterMin 〔BlitzLLVM〕
- SetSamplerFilterMip 〔BlitzLLVM〕
- SetSamplerLodBias 〔BlitzLLVM〕
- SetTextAreaFont
- SetToolBarTips
- Short 〔BlitzLLVM〕
- ShowPointer
- Single 〔BlitzLLVM〕
- SoundPan
- SoundPitch
- SoundVolume
- SpriteDepthFade 〔BlitzLLVM〕
- SpriteViewMode
- StartNetGame
- Stats3D
- Step
- Stop
- StopChannel
- StopMovie 〔BlitzLLVM〕
- StringHeight
- StringWidth
- SystemProperty
- TCPStreamIP
- TerrainDetail
- TerrainShading
- Text
- TextureBlend
- TextureBuffer
- TextureCoords
- TextureHeight
- TextureName
- TextureWidth
- TFormImage
- TotalVidMem
- TrailingZeros 〔BlitzLLVM〕
- UByte 〔BlitzLLVM〕
- UDPMsgIP
- UDPStreamIP
- UInt 〔BlitzLLVM〕
- ULong 〔BlitzLLVM〕
- UnlockMouse
- UpdateGamma
- UpdateWindowMenu
- UShort 〔BlitzLLVM〕
- VertexTexCoords
- VertexW
- VKeyDown
- VKeyHit
- VWait
- WaitJoy
- WBuffer
- WindowScale 〔BlitzLLVM〕
- WindowScaling 〔BlitzLLVM〕
- WireFrame
- Write
- WritePixel
- WritePixel64 〔BlitzLLVM〕
- WritePixelFast
- WritePixelFast64 〔BlitzLLVM〕