Files
nothoughts/node_modules/pixi.js/lib/rendering/renderers/gpu/WebGPURenderer.mjs
2025-08-04 18:57:35 +02:00

62 lines
2.4 KiB
JavaScript

import { extensions, ExtensionType } from '../../../extensions/Extensions.mjs';
import { GpuGraphicsAdaptor } from '../../../scene/graphics/gpu/GpuGraphicsAdaptor.mjs';
import { GpuMeshAdapter } from '../../../scene/mesh/gpu/GpuMeshAdapter.mjs';
import { GpuBatchAdaptor } from '../../batcher/gpu/GpuBatchAdaptor.mjs';
import { AbstractRenderer } from '../shared/system/AbstractRenderer.mjs';
import { SharedSystems, SharedRenderPipes } from '../shared/system/SharedSystems.mjs';
import { RendererType } from '../types.mjs';
import { BindGroupSystem } from './BindGroupSystem.mjs';
import { GpuBufferSystem } from './buffer/GpuBufferSystem.mjs';
import { GpuColorMaskSystem } from './GpuColorMaskSystem.mjs';
import { GpuDeviceSystem } from './GpuDeviceSystem.mjs';
import { GpuEncoderSystem } from './GpuEncoderSystem.mjs';
import { GpuStencilSystem } from './GpuStencilSystem.mjs';
import { GpuUboSystem } from './GpuUboSystem.mjs';
import { GpuUniformBatchPipe } from './GpuUniformBatchPipe.mjs';
import { PipelineSystem } from './pipeline/PipelineSystem.mjs';
import { GpuRenderTargetSystem } from './renderTarget/GpuRenderTargetSystem.mjs';
import { GpuShaderSystem } from './shader/GpuShaderSystem.mjs';
import { GpuStateSystem } from './state/GpuStateSystem.mjs';
import { GpuTextureSystem } from './texture/GpuTextureSystem.mjs';
"use strict";
const DefaultWebGPUSystems = [
...SharedSystems,
GpuUboSystem,
GpuEncoderSystem,
GpuDeviceSystem,
GpuBufferSystem,
GpuTextureSystem,
GpuRenderTargetSystem,
GpuShaderSystem,
GpuStateSystem,
PipelineSystem,
GpuColorMaskSystem,
GpuStencilSystem,
BindGroupSystem
];
const DefaultWebGPUPipes = [...SharedRenderPipes, GpuUniformBatchPipe];
const DefaultWebGPUAdapters = [GpuBatchAdaptor, GpuMeshAdapter, GpuGraphicsAdaptor];
const systems = [];
const renderPipes = [];
const renderPipeAdaptors = [];
extensions.handleByNamedList(ExtensionType.WebGPUSystem, systems);
extensions.handleByNamedList(ExtensionType.WebGPUPipes, renderPipes);
extensions.handleByNamedList(ExtensionType.WebGPUPipesAdaptor, renderPipeAdaptors);
extensions.add(...DefaultWebGPUSystems, ...DefaultWebGPUPipes, ...DefaultWebGPUAdapters);
class WebGPURenderer extends AbstractRenderer {
constructor() {
const systemConfig = {
name: "webgpu",
type: RendererType.WEBGPU,
systems,
renderPipes,
renderPipeAdaptors
};
super(systemConfig);
}
}
export { WebGPURenderer };
//# sourceMappingURL=WebGPURenderer.mjs.map