* Class: Gfx3StaticGroup
#author("2024-02-10T19:15:06+00:00","","")

The `Gfx3StaticGroup` class represents a group of static graphics resources, such as uniforms and
textures, that can be bound to a GPU render pipeline. It is called static because there is only one
possible allocation for this data-set (related to static-size of 1).
** Constructors
- ''new Gfx3StaticGroup''(device: GPUDevice, pipeline: GPURenderPipeline, groupIndex: number): Gfx3StaticGroup~
This constructor.~
-- ''device'': The `device` parameter is an instance of the `GPUDevice` class. It
represents the GPU device that will be used for rendering.~
-- ''pipeline'': The `pipeline` parameter is the graphics pipeline that will be used for rendering.~
-- ''groupIndex'': The `groupIndex` parameter is used to identify which shader group is used
to binding the uniform buffer and textures to the GPU.~
** Methods
- ''allocate''(): void~
The "allocate" function creates a bind group with the provided uniforms and textures entries.~
~
- ''beginWrite''(): void~
The "beginWrite" function prepare the uniform buffer to write process.~
~
- ''destroy''(): void~
The "destroy" function destroys uniforms buffer.
Warning: you need to call this method to free allocation for this object.~
~
- ''endWrite''(): void~
The `endWrite` function close the write process.~
~
- ''getBindGroup''(): GPUBindGroup~
The "getBindGroup" function returns the bind group.~
~
- ''setFloat''(binding: number, name: string, length: number): Float32Array~
The "setFloat" function sets a float bindgroup entry and returns a Float32Array of the specified
length.~
-- ''binding'': The `binding` parameter is a number that represents the binding index.
It is used to identify the specific uniform in the shader program.~
-- ''name'': The `name` parameter is a string that represents the name of the uniform variable.
It is used for identification purposes and can be any string value.~
-- ''length'': The `length` parameter represents the number of float elements in the
uniform.~
~
- ''setInteger''(binding: number, name: string, length: number): Uint32Array~
The "setInteger" function sets a integer bindgroup entry and returns a Uint32Array of the specified
length.~
-- ''binding'': The `binding` parameter is a number that represents the binding index.
It is used to identify the specific uniform in the shader program.~
-- ''name'': The `name` parameter is a string that represents the name of the uniform variable.
It is used for identification purposes and can be any string value.~
-- ''length'': The `length` parameter represents the number of integer elements in the
uniform.~
~
- ''setTexture''(binding: number, name: string, texture: Gfx3Texture, createViewDescriptor: GPUTextureViewDescriptor): Gfx3Texture~
The "setTexture" function sets a texture and sampler resource for a given bindgroup entry.~
-- ''binding'': The `binding` parameter is a number that represents the binding index.
It is used to identify the specific uniform in the shader program.~
-- ''name'': The name of the texture. It is used for identification purposes and can be
any string value.~
-- ''texture'': The `texture` parameter is of type `Gfx3Texture`.~
-- ''createViewDescriptor'': The `createViewDescriptor` parameter is an
optional object that contains properties used to create a GPUTextureViewDescriptor. This descriptor
is used to specify how the texture view should be created, such as the format, dimension, and mip
level range of the view.~
~
- ''write''(index: number, data): void~
The "write" function writes data to a buffer and updates the current offset.
Warning: You need to call this method before write your data.~
-- ''index'': The binding index of uniform. It is used for identification purposes and can be
any number value.~
-- ''data'': The `data` parameter can be either a `Float32Array` or a
`Uint32Array`. It represents the data that will be written to the buffer.~


Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes