engine

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitRenderCallback

func InitRenderCallback(update func())

func InitShaderModule

func InitShaderModule(device wasmgpu.GPUDevice, code string, structs []wgsltypes.Struct) wasmgpu.GPUShaderModule

func LoadShaderModule

func LoadShaderModule(device wasmgpu.GPUDevice, url string, structs []wgsltypes.Struct) (wasmgpu.GPUShaderModule, error)

func MakeGPUBindingGroupEntries

func MakeGPUBindingGroupEntries(resources ...wasmgpu.GPUBindingResource) []wasmgpu.GPUBindGroupEntry

Types

type BufferDescriptor

type BufferDescriptor struct {
	Struct *wgsltypes.Struct
	// Instanced specifices whether the buffer is stepped as a vertex or instance buffer.
	Instanced bool
}

type BufferOption added in v0.0.2

type BufferOption func(d *wasmgpu.GPUBufferDescriptor)

func WithCopyDstUsage added in v0.0.2

func WithCopyDstUsage() BufferOption

func WithCopySrcUsage added in v0.0.2

func WithCopySrcUsage() BufferOption

func WithVertexUsage added in v0.0.2

func WithVertexUsage() BufferOption

type DebugBuffer added in v0.0.2

type DebugBuffer[T any] struct {
	// contains filtered or unexported fields
}

func InitDebugBuffer added in v0.0.2

func InitDebugBuffer[T any](device wasmgpu.GPUDevice, values []T, opts ...BufferOption) DebugBuffer[T]

func (DebugBuffer[T]) Buffer added in v0.0.2

func (b DebugBuffer[T]) Buffer() wasmgpu.GPUBuffer

func (DebugBuffer[T]) BufferSize added in v0.0.2

func (b DebugBuffer[T]) BufferSize() wasmgpu.GPUSize64

func (DebugBuffer[T]) ReadAsync added in v0.0.2

func (b DebugBuffer[T]) ReadAsync(callback func(data []T))

type StorageBuffer

type StorageBuffer struct {
	// contains filtered or unexported fields
}

func InitStorageBuffer

func InitStorageBuffer[T any](device wasmgpu.GPUDevice, values []T, opts ...BufferOption) StorageBuffer

func (StorageBuffer) Buffer

func (b StorageBuffer) Buffer() wasmgpu.GPUBuffer

type UniformBuffer

type UniformBuffer struct {
	// contains filtered or unexported fields
}

func InitUniformBuffer

func InitUniformBuffer[T any](device wasmgpu.GPUDevice, value T, opts ...BufferOption) UniformBuffer

func (UniformBuffer) Buffer

func (b UniformBuffer) Buffer() wasmgpu.GPUBuffer

func (UniformBuffer) UpdateBuffer added in v0.0.2

func (b UniformBuffer) UpdateBuffer(bytes []byte)

TODO: make UniformBuffer generic so we can use `value T` here?

type VertexAttribute

type VertexAttribute struct {
	BufferIndex int
	FieldName   string
}

type VertexBuffers

type VertexBuffers struct {
	Layout  []wasmgpu.GPUVertexBufferLayout
	Buffers []wasmgpu.GPUBuffer
}

func NewVertexBuffers

func NewVertexBuffers(bufDefs []BufferDescriptor, vtxAttrs []VertexAttribute) *VertexBuffers

func (*VertexBuffers) Bind

func (v *VertexBuffers) Bind(passEncoder wasmgpu.GPURenderPassEncoder)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL