Repository navigation
Memory
Strings, objects, arrays, banks and everything the runtime does internally ask for memory very often, and every request to the system allocator costs a call into the operating system's heap. BlitzLLVM answers most of them itself. The sizes are split in three:
|=== | Tier | Size | Where it comes from
| Tiny | up to 2 KiB (less than a page) | size classes of 16 bytes up to 128, then four steps per doubling, cut from 64 KiB spans | Small | up to 32 KiB (less than the 64 KiB allocation granularity) | size classes in four steps per doubling, cut from 256 KiB spans | Normal | more | the system allocator as it is; these are rare enough that nothing is gained |===
Free blocks are kept in a list per thread and size class, so allocating and freeing take no lock and make no system call. A thread that frees much more than it allocates (for example the main thread freeing what a loader thread of AsyncLoading made) hands batches of free blocks to a shared pool that the other threads take from. Spans are never given back to the system, so a program that once needed a lot of small blocks keeps that memory for later small blocks. Memory that comes from the system for the first time is already zero, so calloc of fresh blocks does not clear it again.
All spans lie in one address range that is reserved when the program starts (16 GiB of address space on 64 bit systems, nothing is used until a span is needed; if the system refuses it the program falls back to smaller ranges, and in the end to the system allocator). A pointer is the allocator's when it lies in that range, which is one comparison. So free and realloc of a block that came from somewhere else are passed on to the system and keep working.
-
newanddeleteof the runtime (all forms, also aligned and sized) on every platform. -
malloc,calloc,realloc,free,posix_memalign,aligned_allocand the other C functions on Linux with glibc: they are replaced for the whole program, so the libraries it loads (FFmpeg, the image and audio codecs, the Vulkan driver) use the allocator as well. This can be turned off when building with-DBLITZ_REPLACE_MALLOC=OFF. - The C code of the runtime itself (also the parts that are compiled with the program) calls the allocator directly on every platform.
- SDL, and with it everything that allocates through
SDL_malloc, is pointed at the allocator withSDL_SetMemoryFunctionswhere the C functions are not replaced.
What cannot be reached where the C functions are not replaced (Windows, macOS): FFmpeg allocates with av_malloc, which has no hook; the codec libraries of SDL_image and SDL_mixer (libpng, libwebp, libjxl, libavif, Opus and others) call the C library themselves, and the allocator hooks they have (png_set_mem_fn, zalloc, JxlMemoryManager) are only reachable by the code that calls them, which is SDL_image; memory the Vulkan driver allocates for itself is the driver's. They keep using the system allocator, which is safe.
These environment variables are read when the program starts:
|=== | Variable | Effect
| BLITZLLVM_DEBUG_ALLOC=1 | Freed blocks are filled with a pattern; a block that is written to after it was freed, or freed twice, stops the program with a message when it is reused or freed. New blocks are filled with another pattern, so reading what was never written stands out. The blocks that were not freed are reported when the program ends. Slower.
| BLITZLLVM_DEBUG_ALLOC_STATS=1 | Counts the blocks and bytes that were not freed and reports them at the end.
| BLITZLLVM_ALLOC_SYSTEM=1 | Everything goes to the system allocator, for tools that watch it (valgrind, AddressSanitizer, heap profilers).
|===
The blocks that are reported at the end include the ones the C++ library keeps for the whole run, so a few dozen are normal.
Differences
- Overview
Features (43)
- 3D Studio models
- Asynchronous loading
- blitz-format
- Blitz-Tidy
- Color depth
- Colors
- Console window on Windows
- CPU features
- Culling
- Debug handle checks
- Depth buffer
- DirectX models
- Displays
- DPI scaling on Windows
- Fullscreen
- glTF models
- Image formats
- IPv6
- Language
- Large Meshes
- Lost graphics device
- Many lights
- Memory
- Mip maps
- Movie controls
- Multiplayer
- Number suffixes
- Numbers of other sizes
- Parameter modes (In, Out, InOut)
- Physics
- Presentation sync
- Profiling your own code
- Samplers
- Saving pictures
- Scan Codes
- Sound resampling
- Spherical fog
- Sprite depth fade (soft edges)
- Sprite shapes
- The windows of BlitzPlus
- Types everywhere
- Userlib declarations
- Warnings
Commands (415)
- ActivateWindow
- ActiveObjects
- ActiveWindow
- AddVertex
- AnimateMD2
- AntiAlias
- AppTitle
- AsyncLoading 〔BlitzLLVM〕
- AsyncSaving 〔BlitzLLVM〕
- AvailVidMem
- 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
- 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
- SaveImage
- 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〕
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
- SetBuffer
- UnlockBuffer
- WritePixel
- WritePixel64 〔BlitzLLVM〕
- WritePixelFast
- WritePixelFast64 〔BlitzLLVM〕
Display (46)
- Overview
- AvailVidMem
- 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
- 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
- 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