Skip to content

autk-map


autk-map / PipelineBuildingSSAO

Class: PipelineBuildingSSAO

Defined in: pipeline-triangle-ssao.ts:19

PipelineBuildingSSAO is a rendering pipeline for drawing 3D buildings with SSAO (Screen Space Ambient Occlusion). It uses WebGPU to render the buildings in two passes: one for normal and color maps, and another for SSAO computation.

Extends

Constructors

Constructor

new PipelineBuildingSSAO(renderer): PipelineBuildingSSAO

Defined in: pipeline-triangle-ssao.ts:126

Constructor for PipelineBuildingSSAO

Parameters

renderer

Renderer

The renderer instance

Returns

PipelineBuildingSSAO

Overrides

Pipeline.constructor

Properties

_cameraBindGroup

protected _cameraBindGroup: GPUBindGroup

Defined in: pipeline.ts:39

Camera bind group

Inherited from

Pipeline._cameraBindGroup


_cameraBindGroupLayout

protected _cameraBindGroupLayout: GPUBindGroupLayout

Defined in: pipeline.ts:44

Camera bind group layout

Inherited from

Pipeline._cameraBindGroupLayout


_cMapTexture

protected _cMapTexture: GPUTexture

Defined in: pipeline.ts:61

Color map texture

Inherited from

Pipeline._cMapTexture


_colorBuffer

protected _colorBuffer: GPUBuffer

Defined in: pipeline.ts:51

Color uniform buffer

Inherited from

Pipeline._colorBuffer


_colorsSharedBuffer

protected _colorsSharedBuffer: GPURenderPassColorAttachment

Defined in: pipeline-triangle-ssao.ts:96

Shared color buffer for the first pass.


_depthBufferPass01

protected _depthBufferPass01: GPURenderPassDepthStencilAttachment

Defined in: pipeline-triangle-ssao.ts:108

Depth buffer for the first pass.


_fragModule01

protected _fragModule01: GPUShaderModule

Defined in: pipeline-triangle-ssao.ts:66

Fragment shader module for the first pass.


_fragModule02

protected _fragModule02: GPUShaderModule

Defined in: pipeline-triangle-ssao.ts:78

Fragment shader module for the second pass.


_highlightColorBuffer

protected _highlightColorBuffer: GPUBuffer

Defined in: pipeline.ts:56

Highlight color uniform buffer

Inherited from

Pipeline._highlightColorBuffer


_highlightedBuffer

protected _highlightedBuffer: GPUBuffer

Defined in: pipeline-triangle-ssao.ts:42

Highlighted buffer for vertex data.


_indicesBuffer

protected _indicesBuffer: GPUBuffer

Defined in: pipeline-triangle-ssao.ts:54

Indices buffer for vertex data.


_mviewBuffer

protected _mviewBuffer: GPUBuffer

Defined in: pipeline.ts:27

ModelView matrix uniform buffer

Inherited from

Pipeline._mviewBuffer


_normalBuffer

protected _normalBuffer: GPUBuffer

Defined in: pipeline-triangle-ssao.ts:30

Normal buffer for vertex data.


_normalsSharedBuffer

protected _normalsSharedBuffer: GPURenderPassColorAttachment

Defined in: pipeline-triangle-ssao.ts:102

Shared normal buffer for the first pass.


_opacity

protected _opacity: GPUBuffer

Defined in: pipeline.ts:79

Opacity uniform buffer

Inherited from

Pipeline._opacity


_pipeline01

protected _pipeline01: GPURenderPipeline

Defined in: pipeline-triangle-ssao.ts:84

Render pipeline for the first pass.


_pipeline02

protected _pipeline02: GPURenderPipeline

Defined in: pipeline-triangle-ssao.ts:90

Render pipeline for the second pass.


_positionBuffer

protected _positionBuffer: GPUBuffer

Defined in: pipeline-triangle-ssao.ts:24

Position buffer for vertex data.


_projcBuffer

protected _projcBuffer: GPUBuffer

Defined in: pipeline.ts:32

Projection matrix uniform buffer

Inherited from

Pipeline._projcBuffer


_renderer

protected _renderer: Renderer

Defined in: pipeline.ts:21

Renderer reference

Inherited from

Pipeline._renderer


_renderInfoBindGroup

protected _renderInfoBindGroup: GPUBindGroup

Defined in: pipeline.ts:87

Render information bind group

Inherited from

Pipeline._renderInfoBindGroup


_renderInfoBindGroupLayout

protected _renderInfoBindGroupLayout: GPUBindGroupLayout

Defined in: pipeline.ts:92

Render information bind group layout

Inherited from

Pipeline._renderInfoBindGroupLayout


_skippedBuffer

protected _skippedBuffer: GPUBuffer

Defined in: pipeline-triangle-ssao.ts:48

Highlighted buffer for vertex data.


_texturesPass02BindGroup

protected _texturesPass02BindGroup: GPUBindGroup

Defined in: pipeline-triangle-ssao.ts:114

Bind group for colors.


_texturesPass02BindGroupLayout

protected _texturesPass02BindGroupLayout: GPUBindGroupLayout

Defined in: pipeline-triangle-ssao.ts:120

Bind group layout for textures in the second pass.


_thematicBuffer

protected _thematicBuffer: GPUBuffer

Defined in: pipeline-triangle-ssao.ts:36

Thematic buffer for vertex data.


_useColorMap

protected _useColorMap: GPUBuffer

Defined in: pipeline.ts:69

Use color map uniform buffer

Inherited from

Pipeline._useColorMap


_useHighlight

protected _useHighlight: GPUBuffer

Defined in: pipeline.ts:74

Use highlight uniform buffer

Inherited from

Pipeline._useHighlight


_vertModule01

protected _vertModule01: GPUShaderModule

Defined in: pipeline-triangle-ssao.ts:60

Vertex shader module for the first pass.


_vertModule02

protected _vertModule02: GPUShaderModule

Defined in: pipeline-triangle-ssao.ts:72

Vertex shader module for the second pass.

Methods

build()

build(mesh): void

Defined in: pipeline-triangle-ssao.ts:134

Builds the pipeline with the provided mesh data.

Parameters

mesh

Triangles3DLayer

The mesh data containing positions, normals, thematic, and indices

Returns

void

Overrides

Pipeline.build


createCameraUniformBindGroup()

createCameraUniformBindGroup(): void

Defined in: pipeline.ts:110

Creates the camera uniform bind group.

Returns

void

Inherited from

Pipeline.createCameraUniformBindGroup


createColorUniformBindGroup()

createColorUniformBindGroup(): void

Defined in: pipeline.ts:170

Creates the color uniform bind group.

Returns

void

Inherited from

Pipeline.createColorUniformBindGroup


createDepthBufferPass01()

createDepthBufferPass01(): void

Defined in: pipeline-triangle-ssao.ts:289

Creates the depth buffer for the first pass.

Returns

void


createPipeline01()

createPipeline01(): void

Defined in: pipeline-triangle-ssao.ts:359

Creates the first render pipeline for the SSAO pass.

Returns

void


createPipeline02()

createPipeline02(): void

Defined in: pipeline-triangle-ssao.ts:462

Creates the second render pipeline for the SSAO pass.

Returns

void


createShaders()

createShaders(): void

Defined in: pipeline-triangle-ssao.ts:155

Creates the vertex and fragment shaders for the pipeline.

Returns

void


createSharedTextures()

createSharedTextures(): void

Defined in: pipeline-triangle-ssao.ts:251

Creates the shared textures for the pipeline.

Returns

void


createTexturesBindGroupPass02()

createTexturesBindGroupPass02(): void

Defined in: pipeline-triangle-ssao.ts:308

Returns

void


createVertexBuffers()

createVertexBuffers(mesh): void

Defined in: pipeline-triangle-ssao.ts:189

Creates the vertex buffers for the mesh data.

Parameters

mesh

Triangles3DLayer

The mesh data containing positions, normals, thematic, and indices

Returns

void

Overrides

Pipeline.createVertexBuffers


pass01()

pass01(camera): void

Defined in: pipeline-triangle-ssao.ts:531

Renders the first pass of the SSAO pipeline.

Parameters

camera

Camera

The camera instance

Returns

void


pass02()

pass02(): void

Defined in: pipeline-triangle-ssao.ts:572

Renders the second pass of the SSAO pipeline.

Returns

void


renderPass()

renderPass(camera): void

Defined in: pipeline-triangle-ssao.ts:600

Creates the shaders for the pipeline.

Parameters

camera

Camera

Returns

void

Overrides

Pipeline.renderPass


updateCameraUniforms()

updateCameraUniforms(camera): void

Defined in: pipeline.ts:157

Updates the camera uniform buffers with the current camera state.

Parameters

camera

Camera

The camera instance

Returns

void

Inherited from

Pipeline.updateCameraUniforms


updateColorUniforms()

updateColorUniforms(layer): void

Defined in: pipeline.ts:295

Updates the color uniform buffers with the current layer state.

Parameters

layer

Layer

The layer instance

Returns

void

Inherited from

Pipeline.updateColorUniforms


updateVertexBuffers()

updateVertexBuffers(mesh): void

Defined in: pipeline-triangle-ssao.ts:239

Updates the vertex buffers with the provided mesh data.

Parameters

mesh

Triangles3DLayer

The mesh data containing positions, normals, thematic, and indices

Returns

void

Overrides

Pipeline.updateVertexBuffers

Released under the MIT License.