Class ThinEngine
Hierarchy
- ThinEngine
Index
Constructors
Properties
- adapt
To Device Ratio - cull
Back Faces - disable
Uniform Buffers - disable
Vertex Array Objects - enable
Unpack FlipYCached - forcePOTTextures
- has
Origin Bottom Left - host
Information - is
Fullscreen - isNDCHalfZRange
- on
Before Texture Init Observable - on
Context Lost Observable - on
Context Restored Observable - on
Dispose Observable - premultiplied
Alpha - prevent
Cache Wipe Between Frames - render
Even In Background - start
Time - use
Exact Srgb Conversions - validate
Shader Programs - Collisions
Epsilon - Exception
List
Accessors
- active
Render Loops - alpha
State - current
Viewport - depth
Culling State - description
- do
Not Handle Context Lost - empty
Cube Texture - empty
Texture - empty
Texture2DArray - empty
Texture3D - frame
Id - framebuffer
Dimensions Object - is
Disposed - is
Stencil Enable - is
WebGPU - name
- needPOTTextures
- shader
Platform Name - snapshot
Rendering - snapshot
Rendering Mode - stencil
State - stencil
State Composer - supports
Uniform Buffers - use
Reverse Depth Buffer - version
- webGLVersion
- Has
Major Performance Caveat - Is
Supported - Is
Supported Async - Npm
Package - Shaders
Repository - Version
Methods
- _create
Depth Stencil Cube Texture - _update
Render Buffer - apply
States - are
All Compute Effects Ready - are
All Effects Ready - attach
Context Lost Event - attach
Context Restored Event - begin
Frame - bind
Array Buffer - bind
Attachments - bind
Buffers - bind
Buffers Directly - bind
Framebuffer - bind
Instances Buffer - bind
Samplers - bind
Uniform Block - bind
Uniform Buffer - bind
Uniform Buffer Base - bind
Vertex Array Object - build
Texture Layout - clear
- clear
Internal Textures Cache - compute
Dispatch - create
Canvas - create
Canvas Image - create
Compute Context - create
Compute Effect - create
Compute Pipeline Context - create
Cube Texture - create
Depth Stencil Texture - create
Draw Context - create
Dynamic Texture - create
Dynamic Uniform Buffer - create
Dynamic Vertex Buffer - create
Effect - create
External Texture - create
Index Buffer - create
Material Context - create
Multiple Render Target - create
Pipeline Context - create
Prefiltered Cube Texture - create
Raw Cube Texture - create
Raw Cube Texture From Url - create
Raw Shader Program - create
Raw Texture - create
Raw Texture2DArray - create
Raw Texture3D - create
Render Target Cube Texture - create
Render Target Texture - create
Shader Program - create
Storage Buffer - create
Texture - create
Uniform Buffer - create
Vertex Buffer - disable
Attribute By Index - disable
Instance Attribute - disable
Instance Attribute By Name - dispose
- draw
- draw
Arrays Type - draw
Elements Type - draw
Point Clouds - draw
Un Indexed - enable
Effect - end
Frame - flush
Framebuffer - generate
Mipmaps - get
Alpha Equation - get
Alpha Mode - get
Attributes - get
Audio Context - get
Audio Destination - get
Caps - get
Class Name - get
Color Write - get
Creation Options - get
Depth Buffer - get
Error - get
Gl Info - get
Hardware Scaling Level - get
Host Document - get
Host Window - get
Info - get
Loaded Textures Cache - get
Render Height - get
Render Width - get
Rendering Canvas - get
Uniforms - getZOffset
- getZOffset
Units - inline
Shader Code - read
From Storage Buffer - read
Pixels - record
Vertex Array Object - release
Compute Effects - release
Effects - release
Vertex Array Object - reset
Texture Cache - resize
- restore
Default Framebuffer - restore
Single Attachment - restore
Single Attachment For Render Target - run
Render Loop - set
Alpha Constants - set
Alpha Equation - set
Alpha Mode - set
Array - set
Array2 - set
Array3 - set
Array4 - set
Color Write - set
Depth Buffer - set
External Texture - set
Float - set
Float2 - set
Float3 - set
Float4 - set
Hardware Scaling Level - set
Int - set
Int2 - set
Int3 - set
Int4 - set
Int Array - set
Int Array2 - set
Int Array3 - set
Int Array4 - set
Matrices - set
Matrix2x2 - set
Matrix3x3 - set
Size - set
State - set
Storage Buffer - set
Texture - set
Texture Array - set
Texture Sampler - setUInt
- setUInt2
- setUInt3
- setUInt4
- setUInt
Array - setUInt
Array2 - setUInt
Array3 - setUInt
Array4 - set
Viewport - setZOffset
- setZOffset
Units - snapshot
Rendering Reset - stop
Render Loop - un
Bind Framebuffer - un
Bind Multi Color Attachment Framebuffer - unbind
All Attributes - unbind
All Textures - unbind
Instance Attributes - update
And Bind Instances Buffer - update
Array Buffer - update
Dynamic Index Buffer - update
Dynamic Texture - update
Dynamic Vertex Buffer - update
Multiple Render Target Texture Sample Count - update
Raw Cube Texture - update
Raw Texture - update
Raw Texture2DArray - update
Raw Texture3D - update
Render Target Texture Sample Count - update
Storage Buffer - update
Texture Data - update
Texture Dimensions - update
Texture Sampling Mode - update
Texture Wrapping Mode - update
Uniform Buffer - update
Video Texture - wipe
Caches - CeilingPOT
- FloorPOT
- Get
Exponent Of Two - NearestPOT
- Queue
New Frame - is
Supported
Constructors
constructor
Creates a new engine
Parameters
canvasOrContext: Nullable<HTMLCanvasElement | OffscreenCanvas | WebGLRenderingContext | WebGL2RenderingContext>
defines the canvas or WebGL context to use for rendering. If you provide a WebGL context, Babylon.js will not hook events on the canvas (like pointers, keyboards, etc...) so no event observables will be available. This is mostly used when Babylon.js is used as a plugin on a system which already used the WebGL context
Optional antialias: boolean
defines enable antialiasing (default: false)
Optional options: EngineOptions
defines further options to be sent to the getContext() function
Optional adaptToDeviceRatio: boolean
defines whether to adapt to the device's viewport characteristics (default: false)
Returns ThinEngine
Properties
adapt To Device RatioSearch playground for adaptToDeviceRatio
If set to true zooming in and out in the browser will rescale the hardware-scaling correctly.
cull Back FacesSearch playground for cullBackFaces
Gets or sets a boolean indicating if back faces must be culled. If false, front faces are culled instead (true by default) If non null, this takes precedence over the value from the material
disable Uniform BuffersSearch playground for disableUniformBuffers
Gets or sets a boolean indicating that uniform buffers must be disabled even if they are supported
disable Vertex Array ObjectsSearch playground for disableVertexArrayObjects
Gets or sets a boolean indicating that vertex array object must be disabled even if they are supported
enable Unpack FlipYCachedSearch playground for enableUnpackFlipYCached
In case you are sharing the context with other applications, it might be interested to not cache the unpack flip y state to ensure a consistent value would be set.
forcePOTTexturesSearch playground for forcePOTTextures
Gets or sets a boolean that indicates if textures must be forced to power of 2 size even if not required
Readonly has Origin Bottom LeftSearch playground for hasOriginBottomLeft
Indicates that the origin of the texture/framebuffer space is the bottom left corner. If false, the origin is top left
host InformationSearch playground for hostInformation
Gets information about the current host
is FullscreenSearch playground for isFullscreen
Gets a boolean indicating if the engine is currently rendering in fullscreen mode
Readonly isNDCHalfZRangeSearch playground for isNDCHalfZRange
Indicates if the z range in NDC space is 0..1 (value: true) or -1..1 (value: false)
on Before Texture Init ObservableSearch playground for onBeforeTextureInitObservable
Observable event triggered before each texture is initialized
on Context Lost ObservableSearch playground for onContextLostObservable
Observable signaled when a context lost event is raised
on Context Restored ObservableSearch playground for onContextRestoredObservable
Observable signaled when a context restored event is raised
Readonly on Dispose ObservableSearch playground for onDisposeObservable
An event triggered when the engine is disposed.
premultiplied AlphaSearch playground for premultipliedAlpha
Defines whether the engine has been created with the premultipliedAlpha option on or not.
prevent Cache Wipe Between FramesSearch playground for preventCacheWipeBetweenFrames
Gets or sets a boolean indicating that cache can be kept between frames
render Even In BackgroundSearch playground for renderEvenInBackground
Gets or sets a boolean indicating if the engine must keep rendering even if the window is not in foreground
Readonly start TimeSearch playground for startTime
The time (in milliseconds elapsed since the current page has been loaded) when the engine was initialized
Readonly use Exact Srgb ConversionsSearch playground for useExactSrgbConversions
Gets a boolean indicating if the exact sRGB conversions or faster approximations are used for converting to and from linear space.
validate Shader ProgramsSearch playground for validateShaderPrograms
Gets or sets a boolean indicating if the engine should validate programs after compilation
Static Collisions EpsilonSearch playground for CollisionsEpsilon
Gets or sets the epsilon value used by collision engine
Static Exception ListSearch playground for ExceptionList
Use this array to turn off some WebGL2 features on known buggy browsers version
Accessors
active Render Loops
Gets the list of current active render loop functions
Returns (() => void)[]
an array with the current render loop functions
alpha State
Gets the alpha state manager
Returns AlphaState
current Viewport
Gets the current viewport
Returns Nullable<IViewportLike>
depth Culling State
Gets the depth culling state manager
Returns DepthCullingState
description
Returns a string describing the current engine
Returns string
do Not Handle Context Lost
Gets or sets a boolean indicating if resources should be retained to be able to handle context lost events
Returns boolean
Gets or sets a boolean indicating if resources should be retained to be able to handle context lost events
Parameters
value: boolean
Returns void
empty Cube Texture
Gets the default empty cube texture
Returns InternalTexture
empty Texture
Gets the default empty texture
Returns InternalTexture
empty Texture2DArray
Gets the default empty 2D array texture
Returns InternalTexture
empty Texture3D
Gets the default empty 3D texture
Returns InternalTexture
frame Id
Gets the current frame id
Returns number
framebuffer Dimensions Object
sets the object from which width and height will be taken from when getting render width and height Will fallback to the gl object
Parameters
dimensions: Nullable<{ framebufferHeight: number; framebufferWidth: number }>
the framebuffer width and height that will be used.
Returns void
is Disposed
Returns boolean
is Stencil Enable
Returns true if the stencil buffer has been enabled through the creation option of the context.
Returns boolean
is WebGPU
Gets a boolean indicating if the engine runs in WebGPU or not.
Returns boolean
name
Gets or sets the name of the engine
Returns string
Gets or sets the name of the engine
Parameters
value: string
Returns void
needPOTTextures
Gets a boolean indicating that only power of 2 textures are supported Please note that you can still use non power of 2 textures but in this case the engine will forcefully convert them
Returns boolean
shader Platform Name
Gets the shader platform name used by the effects.
Returns string
snapshot Rendering
Enables or disables the snapshot rendering mode Note that the WebGL engine does not support snapshot rendering so setting the value won't have any effect for this engine
Returns boolean
Enables or disables the snapshot rendering mode Note that the WebGL engine does not support snapshot rendering so setting the value won't have any effect for this engine
Parameters
activate: boolean
Returns void
snapshot Rendering Mode
Gets or sets the snapshot rendering mode
Returns number
Gets or sets the snapshot rendering mode
Parameters
mode: number
Returns void
stencil State
Gets the stencil state manager
Returns StencilState
stencil State Composer
Gets the stencil state composer
Returns StencilStateComposer
supports Uniform Buffers
Gets a boolean indicating that the engine supports uniform buffers
Returns boolean
use Reverse Depth Buffer
Gets or sets a boolean indicating if depth buffer should be reverse, going from far to near. This can provide greater z depth for distant objects.
Returns boolean
Gets or sets a boolean indicating if depth buffer should be reverse, going from far to near. This can provide greater z depth for distant objects.
Parameters
useReverse: boolean
Returns void
version
Returns the version of the engine
Returns number
webGLVersion
Gets version of the current webGL context Keep it for back compat - use version instead
Returns number
Static Has Major Performance Caveat
Gets a boolean indicating if the engine can be instantiated on a performant device (ie. if a webGL context can be found and it does not use a slow implementation)
Returns boolean
Static Is Supported
Gets a boolean indicating if the engine can be instantiated (ie. if a webGL context can be found)
Returns boolean
Static Is Supported Async
Returns Promise<boolean>
Static Npm Package
Returns the current npm package of the sdk
Returns string
Static Shaders Repository
Gets or sets the relative url used to load shaders if using the engine in non-minified mode
Returns string
Gets or sets the relative url used to load shaders if using the engine in non-minified mode
Parameters
value: string
Returns void
Static Version
Returns the current version of the framework
Returns string
Methods
_create Depth Stencil Cube TextureSearch playground for _createDepthStencilCubeTexture
Creates a depth stencil cube texture. This is only available in WebGL 2.
Parameters
size: number
The size of face edge in the cube texture.
options: DepthTextureCreationOptions
The options defining the cube texture.
rtWrapper: RenderTargetWrapper
The render target wrapper for which the depth/stencil texture must be created
Returns InternalTexture
The cube texture
_update Render BufferSearch playground for _updateRenderBuffer
apply StatesSearch playground for applyStates
Apply all cached states (depth, culling, stencil and alpha)
Returns void
are All Compute Effects ReadySearch playground for areAllComputeEffectsReady
Gets a boolean indicating if all created compute effects are ready
Returns boolean
true if all effects are ready
are All Effects ReadySearch playground for areAllEffectsReady
Gets a boolean indicating if all created effects are ready
Returns boolean
true if all effects are ready
attach Context Lost EventSearch playground for attachContextLostEvent
Attach a new callback raised when context lost event is fired
Parameters
callback: ((event: WebGLContextEvent) => void)
defines the callback to call
Parameters
event: WebGLContextEvent
Returns void
Returns void
attach Context Restored EventSearch playground for attachContextRestoredEvent
Attach a new callback raised when context restored event is fired
Parameters
callback: ((event: WebGLContextEvent) => void)
defines the callback to call
Parameters
event: WebGLContextEvent
Returns void
Returns void
begin FrameSearch playground for beginFrame
Begin a new frame
Returns void
bind Array BufferSearch playground for bindArrayBuffer
Bind a webGL buffer to the webGL context
Parameters
buffer: Nullable<DataBuffer>
defines the buffer to bind
Returns void
bind AttachmentsSearch playground for bindAttachments
Select a subsets of attachments to draw to.
Parameters
attachments: number[]
gl attachments
Returns void
bind BuffersSearch playground for bindBuffers
Bind a list of vertex buffers to the webGL context
Parameters
vertexBuffers: {}
defines the list of vertex buffers to bind
[key: string]: Nullable<VertexBuffer>
indexBuffer: Nullable<DataBuffer>
defines the index buffer to bind
effect: Effect
defines the effect associated with the vertex buffers
Optional overrideVertexBuffers: {}
defines optional list of avertex buffers that overrides the entries in vertexBuffers
[kind: string]: Nullable<VertexBuffer>
Returns void
bind Buffers DirectlySearch playground for bindBuffersDirectly
Bind webGl buffers directly to the webGL context
Parameters
vertexBuffer: DataBuffer
defines the vertex buffer to bind
indexBuffer: DataBuffer
defines the index buffer to bind
vertexDeclaration: number[]
defines the vertex declaration to use with the vertex buffer
vertexStrideSize: number
defines the vertex stride of the vertex buffer
effect: Effect
defines the effect associated with the vertex buffer
Returns void
bind FramebufferSearch playground for bindFramebuffer
Binds the frame buffer to the specified texture.
Parameters
texture: RenderTargetWrapper
The render target wrapper to render to
Optional faceIndex: number
The face of the texture to render to in case of cube texture
Optional requiredWidth: number
The width of the target to render to
Optional requiredHeight: number
The height of the target to render to
Optional forceFullscreenViewport: boolean
Forces the viewport to be the entire texture/screen if true
Optional lodLevel: number
defines the lod level to bind to the frame buffer
Optional layer: number
defines the 2d array index to bind to frame buffer to
Returns void
bind Instances BufferSearch playground for bindInstancesBuffer
Bind the content of a webGL buffer used with instantiation
Parameters
instancesBuffer: DataBuffer
defines the webGL buffer to bind
attributesInfo: InstancingAttributeInfo[]
defines the offsets or attributes information used to determine where data must be stored in the buffer
Optional computeStride: boolean
defines Whether to compute the strides from the info or use the default 0
Returns void
bind SamplersSearch playground for bindSamplers
Binds an effect to the webGL context
Parameters
effect: Effect
defines the effect to bind
Returns void
bind Uniform BlockSearch playground for bindUniformBlock
Bind a specific block at a given index in a specific shader program
Parameters
pipelineContext: IPipelineContext
defines the pipeline context to use
blockName: string
defines the block name
index: number
defines the index where to bind the block
Returns void
bind Uniform BufferSearch playground for bindUniformBuffer
Bind an uniform buffer to the current webGL context
Parameters
buffer: Nullable<DataBuffer>
defines the buffer to bind
Returns void
bind Uniform Buffer BaseSearch playground for bindUniformBufferBase
Bind a buffer to the current webGL context at a given location
Parameters
buffer: DataBuffer
defines the buffer to bind
location: number
defines the index where to bind the buffer
name: string
Name of the uniform variable to bind
Returns void
bind Vertex Array ObjectSearch playground for bindVertexArrayObject
Bind a specific vertex array object
Parameters
vertexArrayObject: WebGLVertexArrayObject
defines the vertex array object to bind
indexBuffer: Nullable<DataBuffer>
defines the index buffer to bind
Returns void
build Texture LayoutSearch playground for buildTextureLayout
Creates a layout object to draw/clear on specific textures in a MRT
Parameters
textureStatus: boolean[]
textureStatus[i] indicates if the i-th is active
Returns number[]
A layout to be fed to the engine, calling
bindAttachments
.
clearSearch playground for clear
Clear the current render buffer or the current render target (if any is set up)
Parameters
color: Nullable<IColor4Like>
defines the color to use
backBuffer: boolean
defines if the back buffer must be cleared
depth: boolean
defines if the depth buffer must be cleared
Optional stencil: boolean
defines if the stencil buffer must be cleared
Returns void
clear Internal Textures CacheSearch playground for clearInternalTexturesCache
Clears the list of texture accessible through engine. This can help preventing texture load conflict due to name collision.
Returns void
compute DispatchSearch playground for computeDispatch
Dispatches a compute shader
Parameters
effect: ComputeEffect
The compute effect
context: IComputeContext
The compute context
bindings: ComputeBindingList
The list of resources to bind to the shader
x: number
The number of workgroups to execute on the X dimension
Optional y: number
The number of workgroups to execute on the Y dimension
Optional z: number
The number of workgroups to execute on the Z dimension
Optional bindingsMapping: ComputeBindingMapping
list of bindings mapping (key is property name, value is binding location)
Returns void
create CanvasSearch playground for createCanvas
Create a canvas. This method is overridden by other engines
Parameters
width: number
width
height: number
height
Returns ICanvas
ICanvas interface
create Canvas ImageSearch playground for createCanvasImage
create Compute ContextSearch playground for createComputeContext
Creates a new compute context
Returns undefined | IComputeContext
the new context
create Compute EffectSearch playground for createComputeEffect
Creates a new compute effect
Parameters
baseName: any
Name of the effect
options: IComputeEffectCreationOptions
Options used to create the effect
Returns ComputeEffect
The new compute effect
create Compute Pipeline ContextSearch playground for createComputePipelineContext
Creates a new compute pipeline context
Returns IComputePipelineContext
the new pipeline
create Cube TextureSearch playground for createCubeTexture
Creates a cube texture
Parameters
rootUrl: string
defines the url where the files to load is located
scene: Nullable<Scene>
defines the current scene
files: Nullable<string[]>
defines the list of files to load (1 per face)
noMipmap: undefined | boolean
defines a boolean indicating that no mipmaps shall be generated (false by default)
onLoad: Nullable<((data?: any) => void)>
defines an optional callback raised when the texture is loaded
onError: Nullable<((message?: string, exception?: any) => void)>
defines an optional callback raised if there is an issue to load the texture
format: undefined | number
defines the format of the data
forcedExtension: any
defines the extension to use to pick the right loader
createPolynomials: boolean
if a polynomial sphere should be created for the cube texture
lodScale: number
defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
lodOffset: number
defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness
fallback: Nullable<InternalTexture>
defines texture to use while falling back when (compressed) texture file not found.
loaderOptions: any
options to be passed to the loader
useSRGBBuffer: boolean
defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
Returns InternalTexture
the cube texture as an InternalTexture
Creates a cube texture
Parameters
rootUrl: string
defines the url where the files to load is located
scene: Nullable<Scene>
defines the current scene
files: Nullable<string[]>
defines the list of files to load (1 per face)
noMipmap: boolean
defines a boolean indicating that no mipmaps shall be generated (false by default)
onLoad: Nullable<((data?: any) => void)>
defines an optional callback raised when the texture is loaded
onError: Nullable<((message?: string, exception?: any) => void)>
defines an optional callback raised if there is an issue to load the texture
format: undefined | number
defines the format of the data
forcedExtension: any
defines the extension to use to pick the right loader
Returns InternalTexture
the cube texture as an InternalTexture
Creates a cube texture
Parameters
rootUrl: string
defines the url where the files to load is located
scene: Nullable<Scene>
defines the current scene
files: Nullable<string[]>
defines the list of files to load (1 per face)
noMipmap: boolean
defines a boolean indicating that no mipmaps shall be generated (false by default)
onLoad: Nullable<((data?: any) => void)>
defines an optional callback raised when the texture is loaded
onError: Nullable<((message?: string, exception?: any) => void)>
defines an optional callback raised if there is an issue to load the texture
format: undefined | number
defines the format of the data
forcedExtension: any
defines the extension to use to pick the right loader
createPolynomials: boolean
if a polynomial sphere should be created for the cube texture
lodScale: number
defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
lodOffset: number
defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness
Returns InternalTexture
the cube texture as an InternalTexture
create Depth Stencil TextureSearch playground for createDepthStencilTexture
Creates a depth stencil texture. This is only available in WebGL 2 or with the depth texture extension available.
Parameters
size: TextureSize
The size of face edge in the texture.
options: DepthTextureCreationOptions
The options defining the texture.
rtWrapper: RenderTargetWrapper
The render target wrapper for which the depth/stencil texture must be created
Returns InternalTexture
The texture
create Draw ContextSearch playground for createDrawContext
Creates a new draw context
Returns undefined | IDrawContext
the new context
create Dynamic TextureSearch playground for createDynamicTexture
Creates a dynamic texture
Parameters
width: number
defines the width of the texture
height: number
defines the height of the texture
generateMipMaps: boolean
defines if the engine should generate the mip levels
samplingMode: number
defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)
Returns InternalTexture
the dynamic texture inside an InternalTexture
create Dynamic Uniform BufferSearch playground for createDynamicUniformBuffer
Create a dynamic uniform buffer
Parameters
elements: FloatArray
defines the content of the uniform buffer
Returns DataBuffer
the webGL uniform buffer
create Dynamic Vertex BufferSearch playground for createDynamicVertexBuffer
Creates a dynamic vertex buffer
Parameters
data: DataArray
the data for the dynamic vertex buffer
Returns DataBuffer
the new WebGL dynamic buffer
create EffectSearch playground for createEffect
Create a new effect (used to store vertex/fragment shaders)
Parameters
baseName: any
defines the base name of the effect (The name of file without .fragment.fx or .vertex.fx)
attributesNamesOrOptions: string[] | IEffectCreationOptions
defines either a list of attribute names or an IEffectCreationOptions object
uniformsNamesOrEngine: string[] | ThinEngine
defines either a list of uniform names or the engine to use
Optional samplers: string[]
defines an array of string used to represent textures
Optional defines: string
defines the string containing the defines to use to compile the shaders
Optional fallbacks: IEffectFallbacks
defines the list of potential fallbacks to use if shader compilation fails
Optional onCompiled: Nullable<((effect: Effect) => void)>
defines a function to call when the effect creation is successful
Optional onError: Nullable<((effect: Effect, errors: string) => void)>
defines a function to call when the effect creation has failed
Optional indexParameters: any
defines an object containing the index values to use to compile shaders (like the maximum number of simultaneous lights)
Optional shaderLanguage: ShaderLanguage
the language the shader is written in (default: GLSL)
Returns Effect
the new Effect
create External TextureSearch playground for createExternalTexture
Creates an external texture
Parameters
video: HTMLVideoElement
video element
Returns Nullable<ExternalTexture>
the external texture, or null if external textures are not supported by the engine
create Index BufferSearch playground for createIndexBuffer
Creates a new index buffer
Parameters
indices: IndicesArray
defines the content of the index buffer
Optional updatable: boolean
defines if the index buffer must be updatable
Returns DataBuffer
a new webGL buffer
create Material ContextSearch playground for createMaterialContext
Creates a new material context
Returns undefined | IMaterialContext
the new context
create Multiple Render TargetSearch playground for createMultipleRenderTarget
Create a multi render target texture
Parameters
size: TextureSize
defines the size of the texture
options: IMultiRenderTargetOptions
defines the creation options
Optional initializeBuffers: boolean
if set to true, the engine will make an initializing call of drawBuffers
Returns RenderTargetWrapper
a new render target wrapper ready to render textures
create Pipeline ContextSearch playground for createPipelineContext
Creates a new pipeline context
Parameters
shaderProcessingContext: Nullable<ShaderProcessingContext>
defines the shader processing context used during the processing if available
Returns IPipelineContext
the new pipeline
create Prefiltered Cube TextureSearch playground for createPrefilteredCubeTexture
Create a cube texture from prefiltered data (ie. the mipmaps contain ready to use data for PBR reflection)
Parameters
rootUrl: string
defines the url where the file to load is located
scene: Nullable<Scene>
defines the current scene
lodScale: number
defines scale to apply to the mip map selection
lodOffset: number
defines offset to apply to the mip map selection
Optional onLoad: Nullable<((internalTexture: Nullable<InternalTexture>) => void)>
defines an optional callback raised when the texture is loaded
Optional onError: Nullable<((message?: string, exception?: any) => void)>
defines an optional callback raised if there is an issue to load the texture
Optional format: number
defines the format of the data
Optional forcedExtension: any
defines the extension to use to pick the right loader
Optional createPolynomials: boolean
defines wheter or not to create polynomails harmonics for the texture
Returns InternalTexture
the cube texture as an InternalTexture
create Raw Cube TextureSearch playground for createRawCubeTexture
Creates a new raw cube texture
Parameters
data: Nullable<ArrayBufferView[]>
defines the array of data to use to create each face
size: number
defines the size of the textures
format: number
defines the format of the data
type: number
defines the type of the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
generateMipMaps: boolean
defines if the engine should generate the mip levels
invertY: boolean
defines if data must be stored with Y axis inverted
samplingMode: number
defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
compression: Nullable<string>
defines the compression used (null by default)
Returns InternalTexture
the cube texture as an InternalTexture
create Raw Cube Texture From UrlSearch playground for createRawCubeTextureFromUrl
Creates a new raw cube texture from a specified url
Parameters
url: string
defines the url where the data is located
scene: Nullable<Scene>
defines the current scene
size: number
defines the size of the textures
format: number
defines the format of the data
type: number
defines the type fo the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
noMipmap: boolean
defines if the engine should avoid generating the mip levels
callback: ((ArrayBuffer: ArrayBuffer) => Nullable<ArrayBufferView[]>)
defines a callback used to extract texture data from loaded data
Parameters
ArrayBuffer: ArrayBuffer
Returns Nullable<ArrayBufferView[]>
mipmapGenerator: Nullable<((faces: ArrayBufferView[]) => ArrayBufferView[][])>
defines to provide an optional tool to generate mip levels
onLoad: Nullable<(() => void)>
defines a callback called when texture is loaded
onError: Nullable<((message?: string, exception?: any) => void)>
defines a callback called if there is an error
Returns InternalTexture
the cube texture as an InternalTexture
Creates a new raw cube texture from a specified url
Parameters
url: string
defines the url where the data is located
scene: Nullable<Scene>
defines the current scene
size: number
defines the size of the textures
format: number
defines the format of the data
type: number
defines the type fo the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
noMipmap: boolean
defines if the engine should avoid generating the mip levels
callback: ((ArrayBuffer: ArrayBuffer) => Nullable<ArrayBufferView[]>)
defines a callback used to extract texture data from loaded data
Parameters
ArrayBuffer: ArrayBuffer
Returns Nullable<ArrayBufferView[]>
mipmapGenerator: Nullable<((faces: ArrayBufferView[]) => ArrayBufferView[][])>
defines to provide an optional tool to generate mip levels
onLoad: Nullable<(() => void)>
defines a callback called when texture is loaded
onError: Nullable<((message?: string, exception?: any) => void)>
defines a callback called if there is an error
samplingMode: number
defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
invertY: boolean
defines if data must be stored with Y axis inverted
Returns InternalTexture
the cube texture as an InternalTexture
create Raw Shader ProgramSearch playground for createRawShaderProgram
Directly creates a webGL program
Parameters
pipelineContext: IPipelineContext
defines the pipeline context to attach to
vertexCode: string
defines the vertex shader code to use
fragmentCode: string
defines the fragment shader code to use
Optional context: WebGLRenderingContext
defines the webGL context to use (if not set, the current one will be used)
Optional transformFeedbackVaryings: Nullable<string[]>
defines the list of transform feedback varyings to use
Returns WebGLProgram
the new webGL program
create Raw TextureSearch playground for createRawTexture
Creates a raw texture
Parameters
data: Nullable<ArrayBufferView>
defines the data to store in the texture
width: number
defines the width of the texture
height: number
defines the height of the texture
format: number
defines the format of the data
generateMipMaps: boolean
defines if the engine should generate the mip levels
invertY: boolean
defines if data must be stored with Y axis inverted
samplingMode: number
defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)
compression: Nullable<string>
defines the compression used (null by default)
type: number
defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
Optional creationFlags: number
specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)
Optional useSRGBBuffer: boolean
defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
Returns InternalTexture
the raw texture inside an InternalTexture
create Raw Texture2DArraySearch playground for createRawTexture2DArray
Creates a new raw 2D array texture
Parameters
data: Nullable<ArrayBufferView>
defines the data used to create the texture
width: number
defines the width of the texture
height: number
defines the height of the texture
depth: number
defines the number of layers of the texture
format: number
defines the format of the texture
generateMipMaps: boolean
defines if the engine must generate mip levels
invertY: boolean
defines if data must be stored with Y axis inverted
samplingMode: number
defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
compression: Nullable<string>
defines the compressed used (can be null)
textureType: number
defines the compressed used (can be null)
Optional creationFlags: number
specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)
Returns InternalTexture
a new raw 2D array texture (stored in an InternalTexture)
create Raw Texture3DSearch playground for createRawTexture3D
Creates a new raw 3D texture
Parameters
data: Nullable<ArrayBufferView>
defines the data used to create the texture
width: number
defines the width of the texture
height: number
defines the height of the texture
depth: number
defines the depth of the texture
format: number
defines the format of the texture
generateMipMaps: boolean
defines if the engine must generate mip levels
invertY: boolean
defines if data must be stored with Y axis inverted
samplingMode: number
defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
compression: Nullable<string>
defines the compressed used (can be null)
textureType: number
defines the compressed used (can be null)
Optional creationFlags: number
specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)
Returns InternalTexture
a new raw 3D texture (stored in an InternalTexture)
create Render Target Cube TextureSearch playground for createRenderTargetCubeTexture
Creates a new render target cube wrapper
Parameters
size: number
defines the size of the texture
Optional options: RenderTargetCreationOptions
defines the options used to create the texture
Returns RenderTargetWrapper
a new render target cube wrapper
create Render Target TextureSearch playground for createRenderTargetTexture
Creates a new render target texture
Parameters
size: TextureSize
defines the size of the texture
options: boolean | RenderTargetCreationOptions
defines the options used to create the texture
Returns RenderTargetWrapper
a new render target wrapper ready to render texture
create Shader ProgramSearch playground for createShaderProgram
Creates a webGL program
Parameters
pipelineContext: IPipelineContext
defines the pipeline context to attach to
vertexCode: string
defines the vertex shader code to use
fragmentCode: string
defines the fragment shader code to use
defines: Nullable<string>
defines the string containing the defines to use to compile the shaders
Optional context: WebGLRenderingContext
defines the webGL context to use (if not set, the current one will be used)
Optional transformFeedbackVaryings: Nullable<string[]>
defines the list of transform feedback varyings to use
Returns WebGLProgram
the new webGL program
create Storage BufferSearch playground for createStorageBuffer
Creates a storage buffer
Parameters
data: number | DataArray
the data for the storage buffer or the size of the buffer
creationFlags: number
flags to use when creating the buffer (see Constants.BUFFER_CREATIONFLAG_XXX). The BUFFER_CREATIONFLAG_STORAGE flag will be automatically added
Returns DataBuffer
the new buffer
create TextureSearch playground for createTexture
Usually called from Texture.ts. Passed information to create a WebGLTexture
Parameters
url: Nullable<string>
defines a value which contains one of the following:
- A conventional http URL, e.g. 'http://...' or 'file://...'
- A base64 string of in-line texture data, e.g. 'data:image/jpg;base64,/...'
- An indicator that data being passed using the buffer parameter, e.g. 'data:mytexture.jpg'
noMipmap: boolean
defines a boolean indicating that no mipmaps shall be generated. Ignored for compressed textures. They must be in the file
invertY: boolean
when true, image is flipped when loaded. You probably want true. Certain compressed textures may invert this if their default is inverted (eg. ktx)
scene: Nullable<ISceneLike>
needed for loading to the correct scene
Optional samplingMode: number
mode with should be used sample / access the texture (Default: Texture.TRILINEAR_SAMPLINGMODE)
Optional onLoad: Nullable<((texture: InternalTexture) => void)>
optional callback to be called upon successful completion
Optional onError: Nullable<((message: string, exception: any) => void)>
optional callback to be called upon failure
Optional buffer: Nullable<string | ArrayBufferView | Blob | ArrayBuffer | HTMLImageElement | ImageBitmap>
a source of a file previously fetched as either a base64 string, an ArrayBuffer (compressed or image format), HTMLImageElement (image format), or a Blob
Optional fallback: Nullable<InternalTexture>
an internal argument in case the function must be called again, due to etc1 not having alpha capabilities
Optional format: Nullable<number>
internal format. Default: RGB when extension is '.jpg' else RGBA. Ignored for compressed textures
Optional forcedExtension: Nullable<string>
defines the extension to use to pick the right loader
Optional mimeType: string
defines an optional mime type
Optional loaderOptions: any
options to be passed to the loader
Optional creationFlags: number
specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)
Optional useSRGBBuffer: boolean
defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
Returns InternalTexture
a InternalTexture for assignment back into BABYLON.Texture
create Uniform BufferSearch playground for createUniformBuffer
Create an uniform buffer
Parameters
elements: FloatArray
defines the content of the uniform buffer
Returns DataBuffer
the webGL uniform buffer
create Vertex BufferSearch playground for createVertexBuffer
Creates a vertex buffer
Parameters
data: DataArray
the data for the vertex buffer
Returns DataBuffer
the new WebGL static buffer
disable Attribute By IndexSearch playground for disableAttributeByIndex
Disable the attribute corresponding to the location in parameter
Parameters
attributeLocation: number
defines the attribute location of the attribute to disable
Returns void
disable Instance AttributeSearch playground for disableInstanceAttribute
Disable the instance attribute corresponding to the location in parameter
Parameters
attributeLocation: number
defines the attribute location of the attribute to disable
Returns void
disable Instance Attribute By NameSearch playground for disableInstanceAttributeByName
Disable the instance attribute corresponding to the name in parameter
Parameters
name: string
defines the name of the attribute to disable
Returns void
disposeSearch playground for dispose
Dispose and release all associated resources
Returns void
drawSearch playground for draw
Send a draw order
Parameters
useTriangles: boolean
defines if triangles must be used to draw (else wireframe will be used)
indexStart: number
defines the starting index
indexCount: number
defines the number of index to draw
Optional instancesCount: number
defines the number of instances to draw (if instantiation is enabled)
Returns void
draw Arrays TypeSearch playground for drawArraysType
Draw a list of unindexed primitives
Parameters
fillMode: number
defines the primitive to use
verticesStart: number
defines the index of first vertex to draw
verticesCount: number
defines the count of vertices to draw
Optional instancesCount: number
defines the number of instances to draw (if instantiation is enabled)
Returns void
draw Elements TypeSearch playground for drawElementsType
Draw a list of indexed primitives
Parameters
fillMode: number
defines the primitive to use
indexStart: number
defines the starting index
indexCount: number
defines the number of index to draw
Optional instancesCount: number
defines the number of instances to draw (if instantiation is enabled)
Returns void
draw Point CloudsSearch playground for drawPointClouds
Draw a list of points
Parameters
verticesStart: number
defines the index of first vertex to draw
verticesCount: number
defines the count of vertices to draw
Optional instancesCount: number
defines the number of instances to draw (if instantiation is enabled)
Returns void
draw Un IndexedSearch playground for drawUnIndexed
Draw a list of unindexed primitives
Parameters
useTriangles: boolean
defines if triangles must be used to draw (else wireframe will be used)
verticesStart: number
defines the index of first vertex to draw
verticesCount: number
defines the count of vertices to draw
Optional instancesCount: number
defines the number of instances to draw (if instantiation is enabled)
Returns void
enable EffectSearch playground for enableEffect
end FrameSearch playground for endFrame
Enf the current frame
Returns void
flush FramebufferSearch playground for flushFramebuffer
Force a webGL flush (ie. a flush of all waiting webGL commands)
Returns void
generate MipmapsSearch playground for generateMipmaps
Generates the mipmaps for a texture
Parameters
texture: InternalTexture
texture to generate the mipmaps for
Returns void
get Alpha EquationSearch playground for getAlphaEquation
Gets the current alpha equation.
Returns number
the current alpha equation
get Alpha ModeSearch playground for getAlphaMode
Gets the current alpha mode
Returns number
the current alpha mode
get AttributesSearch playground for getAttributes
Gets the list of active attributes for a given webGL program
Parameters
pipelineContext: IPipelineContext
defines the pipeline context to use
attributesNames: string[]
defines the list of attribute names to get
Returns number[]
an array of indices indicating the offset of each attribute
get Audio ContextSearch playground for getAudioContext
Gets the audio context specified in engine initialization options
Returns Nullable<AudioContext>
an Audio Context
get Audio DestinationSearch playground for getAudioDestination
Gets the audio destination specified in engine initialization options
Returns Nullable<AudioDestinationNode | MediaStreamAudioDestinationNode>
an audio destination node
get CapsSearch playground for getCaps
Gets the object containing all engine capabilities
Returns EngineCapabilities
the EngineCapabilities object
get Class NameSearch playground for getClassName
Gets a string identifying the name of the class
Returns string
"Engine" string
get Color WriteSearch playground for getColorWrite
Gets a boolean indicating if color writing is enabled
Returns boolean
the current color writing state
get Creation OptionsSearch playground for getCreationOptions
Gets the options used for engine creation
Returns EngineOptions
EngineOptions object
get Depth BufferSearch playground for getDepthBuffer
Gets a boolean indicating if depth testing is enabled
Returns boolean
the current state
get ErrorSearch playground for getError
Get the current error code of the webGL context
Returns number
the error code
get Gl InfoSearch playground for getGlInfo
Gets an object containing information about the current webGL context
Returns { renderer: string; vendor: string; version: string }
an object containing the vendor, the renderer and the version of the current webGL context
renderer: string
vendor: string
version: string
get Hardware Scaling LevelSearch playground for getHardwareScalingLevel
Gets the current hardware scaling level. By default the hardware scaling level is computed from the window device ratio. if level = 1 then the engine will render at the exact resolution of the canvas. If level = 0.5 then the engine will render at twice the size of the canvas.
Returns number
a number indicating the current hardware scaling level
get Host DocumentSearch playground for getHostDocument
Gets host document
Returns Nullable<Document>
the host document object
get Host WindowSearch playground for getHostWindow
Gets host window
Returns Nullable<Window>
the host window object
get InfoSearch playground for getInfo
Gets an object containing information about the current engine context
Returns { renderer: string; vendor: string; version: string }
an object containing the vendor, the renderer and the version of the current engine context
renderer: string
vendor: string
version: string
get Loaded Textures CacheSearch playground for getLoadedTexturesCache
Gets the list of loaded textures
Returns InternalTexture[]
an array containing all loaded textures
get Render HeightSearch playground for getRenderHeight
Gets the current render height
Parameters
Optional useScreen: boolean
defines if screen size must be used (or the current render target if any)
Returns number
a number defining the current render height
get Render WidthSearch playground for getRenderWidth
Gets the current render width
Parameters
Optional useScreen: boolean
defines if screen size must be used (or the current render target if any)
Returns number
a number defining the current render width
get Rendering CanvasSearch playground for getRenderingCanvas
Gets the HTML canvas attached with the current webGL context
Returns Nullable<HTMLCanvasElement>
a HTML canvas
get UniformsSearch playground for getUniforms
Gets the list of webGL uniform locations associated with a specific program based on a list of uniform names
Parameters
pipelineContext: IPipelineContext
defines the pipeline context to use
uniformsNames: string[]
defines the list of uniform names
Returns Nullable<WebGLUniformLocation>[]
an array of webGL uniform locations
getZOffsetSearch playground for getZOffset
Gets the current value of the zOffset Factor
Returns number
the current zOffset Factor state
getZOffset UnitsSearch playground for getZOffsetUnits
Gets the current value of the zOffset Units
Returns number
the current zOffset Units state
inline Shader CodeSearch playground for inlineShaderCode
Inline functions in shader code that are marked to be inlined
Parameters
code: string
code to inline
Returns string
inlined code
read From Storage BufferSearch playground for readFromStorageBuffer
Read data from a storage buffer
Parameters
storageBuffer: DataBuffer
The storage buffer to read from
Optional offset: number
The offset in the storage buffer to start reading from (default: 0)
Optional size: number
The number of bytes to read from the storage buffer (default: capacity of the buffer)
Optional buffer: ArrayBufferView
The buffer to write the data we have read from the storage buffer to (optional)
Returns Promise<ArrayBufferView>
If not undefined, returns the (promise) buffer (as provided by the 4th parameter) filled with the data, else it returns a (promise) Uint8Array with the data read from the storage buffer
read PixelsSearch playground for readPixels
Reads pixels from the current frame buffer. Please note that this function can be slow
Parameters
x: number
defines the x coordinate of the rectangle where pixels must be read
y: number
defines the y coordinate of the rectangle where pixels must be read
width: number
defines the width of the rectangle where pixels must be read
height: number
defines the height of the rectangle where pixels must be read
Optional hasAlpha: boolean
defines whether the output should have alpha or not (defaults to true)
Optional flushRenderer: boolean
true to flush the renderer from the pending commands before reading the pixels
Returns Promise<ArrayBufferView>
a ArrayBufferView promise (Uint8Array) containing RGBA colors
record Vertex Array ObjectSearch playground for recordVertexArrayObject
Records a vertex array object
Parameters
vertexBuffers: {}
defines the list of vertex buffers to store
[key: string]: VertexBuffer
indexBuffer: Nullable<DataBuffer>
defines the index buffer to store
effect: Effect
defines the effect to store
Optional overrideVertexBuffers: {}
defines optional list of avertex buffers that overrides the entries in vertexBuffers
[kind: string]: Nullable<VertexBuffer>
Returns WebGLVertexArrayObject
the new vertex array object
release Compute EffectsSearch playground for releaseComputeEffects
Forces the engine to release all cached compute effects. This means that next effect compilation will have to be done completely even if a similar effect was already compiled
Returns void
release EffectsSearch playground for releaseEffects
Force the engine to release all cached effects. This means that next effect compilation will have to be done completely even if a similar effect was already compiled
Returns void
release Vertex Array ObjectSearch playground for releaseVertexArrayObject
Release and free the memory of a vertex array object
Parameters
vao: WebGLVertexArrayObject
defines the vertex array object to delete
Returns void
reset Texture CacheSearch playground for resetTextureCache
Reset the texture cache to empty state
Returns void
resizeSearch playground for resize
Resize the view according to the canvas' size
Parameters
Optional forceSetSize: boolean
true to force setting the sizes of the underlying canvas
Returns void
restore Default FramebufferSearch playground for restoreDefaultFramebuffer
Unbind the current render target and bind the default framebuffer
Returns void
restore Single AttachmentSearch playground for restoreSingleAttachment
Restores the webgl state to only draw on the main color attachment when the frame buffer associated is the canvas frame buffer
Returns void
restore Single Attachment For Render TargetSearch playground for restoreSingleAttachmentForRenderTarget
Restores the webgl state to only draw on the main color attachment when the frame buffer associated is not the canvas frame buffer
Returns void
run Render LoopSearch playground for runRenderLoop
Register and execute a render loop. The engine can have more than one render function
Parameters
renderFunction: (() => void)
defines the function to continuously execute
Returns void
Returns void
set Alpha ConstantsSearch playground for setAlphaConstants
Sets alpha constants used by some alpha blending modes
Parameters
r: number
defines the red component
g: number
defines the green component
b: number
defines the blue component
a: number
defines the alpha component
Returns void
set Alpha EquationSearch playground for setAlphaEquation
Sets the current alpha equation
Parameters
equation: number
defines the equation to use (one of the Engine.ALPHA_EQUATION_XXX)
Returns void
set Alpha ModeSearch playground for setAlphaMode
Sets the current alpha mode
Parameters
mode: number
defines the mode to use (one of the Engine.ALPHA_XXX)
Optional noDepthWriteChange: boolean
defines if depth writing state should remains unchanged (false by default)
Returns void
set ArraySearch playground for setArray
Set the value of an uniform to an array of number
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: number[] | Float32Array
defines the array of number to store
Returns boolean
true if the value was set
set Array2Search playground for setArray2
Set the value of an uniform to an array of number (stored as vec2)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: number[] | Float32Array
defines the array of number to store
Returns boolean
true if the value was set
set Array3Search playground for setArray3
Set the value of an uniform to an array of number (stored as vec3)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: number[] | Float32Array
defines the array of number to store
Returns boolean
true if the value was set
set Array4Search playground for setArray4
Set the value of an uniform to an array of number (stored as vec4)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: number[] | Float32Array
defines the array of number to store
Returns boolean
true if the value was set
set Color WriteSearch playground for setColorWrite
Enable or disable color writing
Parameters
enable: boolean
defines the state to set
Returns void
set Depth BufferSearch playground for setDepthBuffer
Enable or disable depth buffering
Parameters
enable: boolean
defines the state to set
Returns void
set External TextureSearch playground for setExternalTexture
Sets an internal texture to the according uniform.
Parameters
name: string
The name of the uniform in the effect
texture: Nullable<ExternalTexture>
The texture to apply
Returns void
set FloatSearch playground for setFloat
Set the value of an uniform to a number (float)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
value: number
defines the float number to store
Returns boolean
true if the value was transferred
set Float2Search playground for setFloat2
Set the value of an uniform to a vec2
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
Returns boolean
true if the value was set
set Float3Search playground for setFloat3
Set the value of an uniform to a vec3
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
z: number
defines the 3rd component of the value
Returns boolean
true if the value was set
set Float4Search playground for setFloat4
Set the value of an uniform to a vec4
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
z: number
defines the 3rd component of the value
w: number
defines the 4th component of the value
Returns boolean
true if the value was set
set Hardware Scaling LevelSearch playground for setHardwareScalingLevel
Defines the hardware scaling level. By default the hardware scaling level is computed from the window device ratio. if level = 1 then the engine will render at the exact resolution of the canvas. If level = 0.5 then the engine will render at twice the size of the canvas.
Parameters
level: number
defines the level to use
Returns void
set IntSearch playground for setInt
Set the value of an uniform to a number (int)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
value: number
defines the int number to store
Returns boolean
true if the value was set
set Int2Search playground for setInt2
Set the value of an uniform to a int2
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
Returns boolean
true if the value was set
set Int3Search playground for setInt3
Set the value of an uniform to a int3
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
z: number
defines the 3rd component of the value
Returns boolean
true if the value was set
set Int4Search playground for setInt4
Set the value of an uniform to a int4
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
z: number
defines the 3rd component of the value
w: number
defines the 4th component of the value
Returns boolean
true if the value was set
set Int ArraySearch playground for setIntArray
Set the value of an uniform to an array of int32
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Int32Array
defines the array of int32 to store
Returns boolean
true if the value was set
set Int Array2Search playground for setIntArray2
Set the value of an uniform to an array of int32 (stored as vec2)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Int32Array
defines the array of int32 to store
Returns boolean
true if the value was set
set Int Array3Search playground for setIntArray3
Set the value of an uniform to an array of int32 (stored as vec3)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Int32Array
defines the array of int32 to store
Returns boolean
true if the value was set
set Int Array4Search playground for setIntArray4
Set the value of an uniform to an array of int32 (stored as vec4)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Int32Array
defines the array of int32 to store
Returns boolean
true if the value was set
set MatricesSearch playground for setMatrices
Set the value of an uniform to an array of float32 (stored as matrices)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
matrices: Float32Array
defines the array of float32 to store
Returns boolean
true if the value was set
set Matrix2x2Search playground for setMatrix2x2
Set the value of an uniform to a matrix (2x2)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
matrix: Float32Array
defines the Float32Array representing the 2x2 matrix to store
Returns boolean
true if the value was set
set Matrix3x3Search playground for setMatrix3x3
Set the value of an uniform to a matrix (3x3)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
matrix: Float32Array
defines the Float32Array representing the 3x3 matrix to store
Returns boolean
true if the value was set
set SizeSearch playground for setSize
Force a specific size of the canvas
Parameters
width: number
defines the new canvas' width
height: number
defines the new canvas' height
Optional forceSetSize: boolean
true to force setting the sizes of the underlying canvas
Returns boolean
true if the size was changed
set StateSearch playground for setState
Set various states to the webGL context
Parameters
culling: boolean
defines culling state: true to enable culling, false to disable it
Optional zOffset: number
defines the value to apply to zOffset (0 by default)
Optional force: boolean
defines if states must be applied even if cache is up to date
Optional reverseSide: boolean
defines if culling must be reversed (CCW if false, CW if true)
Optional cullBackFaces: boolean
true to cull back faces, false to cull front faces (if culling is enabled)
Optional stencil: IStencilState
stencil states to set
Optional zOffsetUnits: number
defines the value to apply to zOffsetUnits (0 by default)
Returns void
set Storage BufferSearch playground for setStorageBuffer
Sets a storage buffer in the shader
Parameters
name: string
Defines the name of the storage buffer as defined in the shader
buffer: Nullable<StorageBuffer>
Defines the value to give to the uniform
Returns void
set TextureSearch playground for setTexture
Sets a texture to the according uniform.
Parameters
channel: number
The texture channel
uniform: Nullable<WebGLUniformLocation>
The uniform to set
texture: Nullable<ThinTexture>
The texture to apply
name: string
The name of the uniform in the effect
Returns void
set Texture ArraySearch playground for setTextureArray
Sets an array of texture to the webGL context
Parameters
channel: number
defines the channel where the texture array must be set
uniform: Nullable<WebGLUniformLocation>
defines the associated uniform location
textures: ThinTexture[]
defines the array of textures to bind
name: string
name of the channel
Returns void
set Texture SamplerSearch playground for setTextureSampler
Sets a texture sampler to the according uniform.
Parameters
name: string
The name of the uniform in the effect
sampler: Nullable<TextureSampler>
The sampler to apply
Returns void
setUIntSearch playground for setUInt
Set the value of an uniform to a number (unsigned int)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
value: number
defines the unsigned int number to store
Returns boolean
true if the value was set
setUInt2Search playground for setUInt2
Set the value of an uniform to a unsigned int2
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
Returns boolean
true if the value was set
setUInt3Search playground for setUInt3
Set the value of an uniform to a unsigned int3
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
z: number
defines the 3rd component of the value
Returns boolean
true if the value was set
setUInt4Search playground for setUInt4
Set the value of an uniform to a unsigned int4
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
x: number
defines the 1st component of the value
y: number
defines the 2nd component of the value
z: number
defines the 3rd component of the value
w: number
defines the 4th component of the value
Returns boolean
true if the value was set
setUInt ArraySearch playground for setUIntArray
Set the value of an uniform to an array of unsigned int32
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Uint32Array
defines the array of unsigned int32 to store
Returns boolean
true if the value was set
setUInt Array2Search playground for setUIntArray2
Set the value of an uniform to an array of unsigned int32 (stored as vec2)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Uint32Array
defines the array of unsigned int32 to store
Returns boolean
true if the value was set
setUInt Array3Search playground for setUIntArray3
Set the value of an uniform to an array of unsigned int32 (stored as vec3)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Uint32Array
defines the array of unsigned int32 to store
Returns boolean
true if the value was set
setUInt Array4Search playground for setUIntArray4
Set the value of an uniform to an array of unsigned int32 (stored as vec4)
Parameters
uniform: Nullable<WebGLUniformLocation>
defines the webGL uniform location where to store the value
array: Uint32Array
defines the array of unsigned int32 to store
Returns boolean
true if the value was set
set ViewportSearch playground for setViewport
Set the WebGL's viewport
Parameters
viewport: IViewportLike
defines the viewport element to be used
Optional requiredWidth: number
defines the width required for rendering. If not provided the rendering canvas' width is used
Optional requiredHeight: number
defines the height required for rendering. If not provided the rendering canvas' height is used
Returns void
setZOffsetSearch playground for setZOffset
Set the z offset Factor to apply to current rendering
Parameters
value: number
defines the offset to apply
Returns void
setZOffset UnitsSearch playground for setZOffsetUnits
Set the z offset Units to apply to current rendering
Parameters
value: number
defines the offset to apply
Returns void
snapshot Rendering ResetSearch playground for snapshotRenderingReset
Creates a new snapshot at the next frame using the current snapshotRenderingMode
Returns void
stop Render LoopSearch playground for stopRenderLoop
stop executing a render loop function and remove it from the execution array
Parameters
Optional renderFunction: (() => void)
defines the function to be removed. If not provided all functions will be removed.
Returns void
Returns void
un Bind FramebufferSearch playground for unBindFramebuffer
Unbind the current render target texture from the webGL context
Parameters
texture: RenderTargetWrapper
defines the render target wrapper to unbind
Optional disableGenerateMipMaps: boolean
defines a boolean indicating that mipmaps must not be generated
Optional onBeforeUnbind: (() => void)
defines a function which will be called before the effective unbind
Returns void
Returns void
un Bind Multi Color Attachment FramebufferSearch playground for unBindMultiColorAttachmentFramebuffer
Unbind a list of render target textures from the webGL context This is used only when drawBuffer extension or webGL2 are active
Parameters
rtWrapper: RenderTargetWrapper
defines the render target wrapper to unbind
disableGenerateMipMaps: boolean
defines a boolean indicating that mipmaps must not be generated
Optional onBeforeUnbind: (() => void)
defines a function which will be called before the effective unbind
Returns void
Returns void
unbind All AttributesSearch playground for unbindAllAttributes
Unbind all vertex attributes from the webGL context
Returns void
unbind All TexturesSearch playground for unbindAllTextures
Unbind all textures from the webGL context
Returns void
unbind Instance AttributesSearch playground for unbindInstanceAttributes
Unbind all instance attributes
Returns void
update And Bind Instances BufferSearch playground for updateAndBindInstancesBuffer
Update the content of a webGL buffer used with instantiation and bind it to the webGL context
Parameters
instancesBuffer: DataBuffer
defines the webGL buffer to update and bind
data: Float32Array
defines the data to store in the buffer
offsetLocations: number[] | InstancingAttributeInfo[]
defines the offsets or attributes information used to determine where data must be stored in the buffer
Returns void
update Array BufferSearch playground for updateArrayBuffer
update the bound buffer with the given data
Parameters
data: Float32Array
defines the data to update
Returns void
update Dynamic Index BufferSearch playground for updateDynamicIndexBuffer
Update a dynamic index buffer
Parameters
indexBuffer: DataBuffer
defines the target index buffer
indices: IndicesArray
defines the data to update
Optional offset: number
defines the offset in the target index buffer where update should start
Returns void
update Dynamic TextureSearch playground for updateDynamicTexture
Update the content of a dynamic texture
Parameters
texture: Nullable<InternalTexture>
defines the texture to update
source: HTMLCanvasElement | HTMLImageElement | ImageBitmap | OffscreenCanvas | HTMLVideoElement | ImageData | ICanvas
defines the source containing the data
Optional invertY: boolean
defines if data must be stored with Y axis inverted
Optional premulAlpha: boolean
defines if alpha is stored as premultiplied
Optional format: number
defines the format of the data
Optional forceBindTexture: boolean
if the texture should be forced to be bound eg. after a graphics context loss (Default: false)
Optional allowGPUOptimization: boolean
true to allow some specific GPU optimizations (subject to engine feature "allowGPUOptimizationsForGUI" being true)
Returns void
update Dynamic Vertex BufferSearch playground for updateDynamicVertexBuffer
Updates a dynamic vertex buffer.
Parameters
vertexBuffer: DataBuffer
the vertex buffer to update
data: DataArray
the data used to update the vertex buffer
Optional byteOffset: number
the byte offset of the data
Optional byteLength: number
the byte length of the data
Returns void
update Multiple Render Target Texture Sample CountSearch playground for updateMultipleRenderTargetTextureSampleCount
Update the sample count for a given multiple render target texture
Parameters
rtWrapper: Nullable<RenderTargetWrapper>
defines the render target wrapper to update
samples: number
defines the sample count to set
Optional initializeBuffers: boolean
if set to true, the engine will make an initializing call of drawBuffers
Returns number
the effective sample count (could be 0 if multisample render targets are not supported)
update Raw Cube TextureSearch playground for updateRawCubeTexture
Update a raw cube texture
Parameters
texture: InternalTexture
defines the texture to update
data: ArrayBufferView[]
defines the data to store
format: number
defines the data format
type: number
defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
invertY: boolean
defines if data must be stored with Y axis inverted
Returns void
Update a raw cube texture
Parameters
texture: InternalTexture
defines the texture to update
data: ArrayBufferView[]
defines the data to store
format: number
defines the data format
type: number
defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
invertY: boolean
defines if data must be stored with Y axis inverted
compression: Nullable<string>
defines the compression used (null by default)
Returns void
Update a raw cube texture
Parameters
texture: InternalTexture
defines the texture to update
data: ArrayBufferView[]
defines the data to store
format: number
defines the data format
type: number
defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
invertY: boolean
defines if data must be stored with Y axis inverted
compression: Nullable<string>
defines the compression used (null by default)
level: number
defines which level of the texture to update
Returns void
update Raw TextureSearch playground for updateRawTexture
Update a raw texture
Parameters
texture: Nullable<InternalTexture>
defines the texture to update
data: Nullable<ArrayBufferView>
defines the data to store in the texture
format: number
defines the format of the data
invertY: boolean
defines if data must be stored with Y axis inverted
Returns void
Update a raw texture
Parameters
texture: Nullable<InternalTexture>
defines the texture to update
data: Nullable<ArrayBufferView>
defines the data to store in the texture
format: number
defines the format of the data
invertY: boolean
defines if data must be stored with Y axis inverted
compression: Nullable<string>
defines the compression used (null by default)
type: number
defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
useSRGBBuffer: boolean
defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
Returns void
update Raw Texture2DArraySearch playground for updateRawTexture2DArray
Update a raw 2D array texture
Parameters
texture: InternalTexture
defines the texture to update
data: Nullable<ArrayBufferView>
defines the data to store
format: number
defines the data format
invertY: boolean
defines if data must be stored with Y axis inverted
Returns void
Update a raw 2D array texture
Parameters
texture: InternalTexture
defines the texture to update
data: Nullable<ArrayBufferView>
defines the data to store
format: number
defines the data format
invertY: boolean
defines if data must be stored with Y axis inverted
compression: Nullable<string>
defines the used compression (can be null)
textureType: number
defines the texture Type (Engine.TEXTURETYPE_UNSIGNED_INT, Engine.TEXTURETYPE_FLOAT...)
Returns void
update Raw Texture3DSearch playground for updateRawTexture3D
Update a raw 3D texture
Parameters
texture: InternalTexture
defines the texture to update
data: Nullable<ArrayBufferView>
defines the data to store
format: number
defines the data format
invertY: boolean
defines if data must be stored with Y axis inverted
Returns void
Update a raw 3D texture
Parameters
texture: InternalTexture
defines the texture to update
data: Nullable<ArrayBufferView>
defines the data to store
format: number
defines the data format
invertY: boolean
defines if data must be stored with Y axis inverted
compression: Nullable<string>
defines the used compression (can be null)
textureType: number
defines the texture Type (Engine.TEXTURETYPE_UNSIGNED_INT, Engine.TEXTURETYPE_FLOAT...)
Returns void
update Render Target Texture Sample CountSearch playground for updateRenderTargetTextureSampleCount
Updates the sample count of a render target texture
Parameters
rtWrapper: Nullable<RenderTargetWrapper>
defines the render target wrapper to update
samples: number
defines the sample count to set
Returns number
the effective sample count (could be 0 if multisample render targets are not supported)
update Storage BufferSearch playground for updateStorageBuffer
Updates a storage buffer
Parameters
buffer: DataBuffer
the storage buffer to update
data: DataArray
the data used to update the storage buffer
Optional byteOffset: number
the byte offset of the data
Optional byteLength: number
the byte length of the data
Returns void
update Texture DataSearch playground for updateTextureData
Update a portion of an internal texture
Parameters
texture: InternalTexture
defines the texture to update
imageData: ArrayBufferView
defines the data to store into the texture
xOffset: number
defines the x coordinates of the update rectangle
yOffset: number
defines the y coordinates of the update rectangle
width: number
defines the width of the update rectangle
height: number
defines the height of the update rectangle
Optional faceIndex: number
defines the face index if texture is a cube (0 by default)
Optional lod: number
defines the lod level to update (0 by default)
Optional generateMipMaps: boolean
defines whether to generate mipmaps or not
Returns void
update Texture DimensionsSearch playground for updateTextureDimensions
Update the dimensions of a texture
Parameters
texture: InternalTexture
texture to update
width: number
new width of the texture
height: number
new height of the texture
Optional depth: number
new depth of the texture
Returns void
update Texture Sampling ModeSearch playground for updateTextureSamplingMode
Update the sampling mode of a given texture
Parameters
samplingMode: number
defines the required sampling mode
texture: InternalTexture
defines the texture to update
Optional generateMipMaps: boolean
defines whether to generate mipmaps for the texture
Returns void
update Texture Wrapping ModeSearch playground for updateTextureWrappingMode
Update the sampling mode of a given texture
Parameters
texture: InternalTexture
defines the texture to update
wrapU: Nullable<number>
defines the texture wrap mode of the u coordinates
Optional wrapV: Nullable<number>
defines the texture wrap mode of the v coordinates
Optional wrapR: Nullable<number>
defines the texture wrap mode of the r coordinates
Returns void
update Uniform BufferSearch playground for updateUniformBuffer
Update an existing uniform buffer
Parameters
uniformBuffer: DataBuffer
defines the target uniform buffer
elements: FloatArray
defines the content to update
Optional offset: number
defines the offset in the uniform buffer where update should start
Optional count: number
defines the size of the data to update
Returns void
update Video TextureSearch playground for updateVideoTexture
Update a video texture
Parameters
texture: Nullable<InternalTexture>
defines the texture to update
video: HTMLVideoElement | Nullable<ExternalTexture>
defines the video element to use
invertY: boolean
defines if data must be stored with Y axis inverted
Returns void
wipe CachesSearch playground for wipeCaches
Force the entire cache to be cleared You should not have to use this function unless your engine needs to share the webGL context with another engine
Parameters
Optional bruteForce: boolean
defines a boolean to force clearing ALL caches (including stencil, detoh and alpha states)
Returns void
Static CeilingPOTSearch playground for CeilingPOT
Find the next highest power of two.
Parameters
x: number
Number to start search from.
Returns number
Next highest power of two.
Static FloorPOTSearch playground for FloorPOT
Find the next lowest power of two.
Parameters
x: number
Number to start search from.
Returns number
Next lowest power of two.
Static Get Exponent Of TwoSearch playground for GetExponentOfTwo
Get the closest exponent of two
Parameters
value: number
defines the value to approximate
max: number
defines the maximum value to return
Optional mode: number
defines how to define the closest value
Returns number
closest exponent of two of the given value
Static NearestPOTSearch playground for NearestPOT
Find the nearest power of two.
Parameters
x: number
Number to start search from.
Returns number
Next nearest power of two.
Static Queue New FrameSearch playground for QueueNewFrame
Queue a new function into the requested animation frame pool (ie. this function will be executed by the browser (or the javascript engine) for the next frame)
Parameters
func: (() => void)
the function to be called
Returns void
Optional requester: any
the object that will request the next frame. Falls back to window.
Returns number
frame number
Static is SupportedSearch playground for isSupported
Gets a boolean indicating if the engine can be instantiated (ie. if a webGL context can be found)
Returns boolean
true if the engine can be created
The base engine class (root of all engines)