Appearance
@tmrw-realityos/charm / WebGPUImmediateDraw
Class: WebGPUImmediateDraw
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:36
An interface to render simple shapes in inmediate mode. Useful for gizmos and debug info. Do not use to render scene geometry as it wont be taken into account in many steps.
Usage
typescript
renderer.renderAlpha.on( () => {
renderer.draw.drawPoints(flat_array_of_points, color, pointSize);
})You can change pipeline parameter using renderer.draw.pipeline:
typescript
renderer.draw.pipeline.push();
renderer.draw.pipeline.setBlend( BlendOperation.add, BlendFactor.one, BlendFactor.one );
renderer.draw.pipeline.setDepthTest( false );
renderer.draw.drawPoints(flat_array_of_points,color, pointSize);
renderer.draw.pipeline.pop();Extends
DrawInterface
Constructors
Constructor
new WebGPUImmediateDraw(
context,backend):WebGPUImmediateDraw
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:57
Parameters
context
backend
WebGPUBackend
Returns
WebGPUImmediateDraw
Overrides
DrawInterface.constructor
Properties
ambientLight
ambientLight:
vec3
Defined in: packages/charm/src/graphics/rendererInterface.ts:384
Inherited from
DrawInterface.ambientLight
backend
backend:
WebGPUBackend
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:38
context
context:
WebGPURenderContext
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:37
drawBufferModified
drawBufferModified:
boolean=false
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:55
flatShader
flatShader:
FlatShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:47
geometryBuffer
geometryBuffer:
WebGPUBuffer
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:39
geometryBufferModified
geometryBufferModified:
boolean=false
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:54
geometryData
geometryData:
Float32Array
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:40
globalUniformsBindGroup?
optionalglobalUniformsBindGroup:GPUBindGroup
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:45
lastGeometryOffset
lastGeometryOffset:
number=0
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:44
lightVector
lightVector:
vec3
Defined in: packages/charm/src/graphics/rendererInterface.ts:383
Inherited from
DrawInterface.lightVector
phongShader
phongShader:
PhongShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:50
pipeline
pipeline:
PipelineInfo
Defined in: packages/charm/src/graphics/rendererInterface.ts:375
Inherited from
DrawInterface.pipeline
pipelineStack
pipelineStack:
number[] =[]
Defined in: packages/charm/src/graphics/rendererInterface.ts:380
Inherited from
DrawInterface.pipelineStack
pointsShader
pointsShader:
PointsShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:48
secondaryGeometryBuffer?
optionalsecondaryGeometryBuffer:WebGPUBuffer
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:42
structData
structData:
Float32Array
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:52
textureShader
textureShader:
TextureShader
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:49
transform
transform:
mat4
Defined in: packages/charm/src/graphics/rendererInterface.ts:377
Inherited from
DrawInterface.transform
transformStack
transformStack:
mat4[]
Defined in: packages/charm/src/graphics/rendererInterface.ts:378
Inherited from
DrawInterface.transformStack
Methods
bindGlobalsUniform()
bindGlobalsUniform(
renderPass,index):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:443
Parameters
renderPass
GPURenderPassEncoder
index
number
Returns
void
destroy()
destroy():
void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:92
Returns
void
Overrides
DrawInterface.destroy
drawBox()
drawBox(
bmin,bmax,color):void
Defined in: packages/charm/src/graphics/rendererInterface.ts:445
Draw box as line geometry
Parameters
bmin
vec3
bmax
vec3
color
vec4
Returns
void
Inherited from
DrawInterface.drawBox
drawGeometry()
drawGeometry(
vertices,color,topology):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:255
Parameters
vertices
Float32Array
color
vec4
topology
Topology
Returns
void
drawLine()
drawLine(
vertices,color,strip):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:162
draws simple lines
Parameters
vertices
Float32Array
color
vec4
strip
boolean = false
Returns
void
Overrides
DrawInterface.drawLine
drawMesh()
drawMesh(
mesh,color,usePhong,strip,start,range):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:171
draws a mesh as long as the attributes are not interleaved
Parameters
mesh
color
vec4
usePhong
boolean = false
strip
boolean = false
start
number = 0
range
number = 0
Returns
void
Overrides
DrawInterface.drawMesh
drawPoints()
drawPoints(
vertices,color,pointSize,fixedSize):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:99
Parameters
vertices
Float32Array
color
vec4
pointSize
number
fixedSize
boolean = true
Returns
void
Overrides
DrawInterface.drawPoints
drawTexture()
drawTexture(
texture,area,color,gamma,depth,flipY):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:311
Parameters
texture
unknown
area
vec4
color
vec4
gamma
boolean = true
depth
number = 0
flipY
boolean = false
Returns
void
Overrides
DrawInterface.drawTexture
drawTexture3D()
drawTexture3D(
texture,position,size,color,gamma,flipY):void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:385
Parameters
texture
unknown
position
vec3
size
vec2
color
vec4
gamma
boolean = true
flipY
boolean = true
Returns
void
Overrides
DrawInterface.drawTexture3D
pop()
pop():
void
Defined in: packages/charm/src/graphics/rendererInterface.ts:409
Returns
void
Inherited from
DrawInterface.pop
push()
push():
void
Defined in: packages/charm/src/graphics/rendererInterface.ts:404
Returns
void
Inherited from
DrawInterface.push
reset()
reset():
void
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:79
prepares the class for a new frame, resets some offsets to 0
Returns
void
Overrides
DrawInterface.reset
rotate()
rotate(
axis,angle_in_rad):void
Defined in: packages/charm/src/graphics/rendererInterface.ts:423
Parameters
axis
vec3
angle_in_rad
number
Returns
void
Inherited from
DrawInterface.rotate
scale()
scale(
v):void
Defined in: packages/charm/src/graphics/rendererInterface.ts:427
Parameters
v
vec3
Returns
void
Inherited from
DrawInterface.scale
setTransform()
setTransform(
m):void
Defined in: packages/charm/src/graphics/rendererInterface.ts:415
Parameters
m
ReadonlyMat4
Returns
void
Inherited from
DrawInterface.setTransform
translate()
translate(
v):void
Defined in: packages/charm/src/graphics/rendererInterface.ts:419
Parameters
v
vec3
Returns
void
Inherited from
DrawInterface.translate
uploadGeometry()
uploadGeometry(
data):number
Defined in: packages/charm/src/graphics/WebGPU/WebGPUImmediateDraw.ts:411
Parameters
data
Float32Array
Returns
number