gpu-curtains
Version:
gpu-curtains is a 3D WebGPU rendering engine. It can be used as a standalone 3D engine, but also includes extra classes focused on mapping 3d objects to DOM elements; It allows users to synchronize values such as position, sizing, or scale between them.
84 lines (83 loc) • 6.96 kB
JavaScript
import { Quat } from "./math/Quat.mjs";
import { Vec3 } from "./math/Vec3.mjs";
import { Mat4 } from "./math/Mat4.mjs";
import { Object3D } from "./core/objects3D/Object3D.mjs";
import { Binding } from "./core/bindings/Binding.mjs";
import { Vec2 } from "./math/Vec2.mjs";
import { Buffer } from "./core/buffers/Buffer.mjs";
import { BufferBinding } from "./core/bindings/BufferBinding.mjs";
import { WritableBufferBinding } from "./core/bindings/WritableBufferBinding.mjs";
import { BindGroup } from "./core/bindGroups/BindGroup.mjs";
import { TextureBinding } from "./core/bindings/TextureBinding.mjs";
import { Texture } from "./core/textures/Texture.mjs";
import { Mat3 } from "./math/Mat3.mjs";
import { MediaTexture } from "./core/textures/MediaTexture.mjs";
import { DOMTexture } from "./curtains/textures/DOMTexture.mjs";
import { TextureBindGroup } from "./core/bindGroups/TextureBindGroup.mjs";
import { SamplerBinding } from "./core/bindings/SamplerBinding.mjs";
import { OrthographicCamera } from "./core/cameras/OrthographicCamera.mjs";
import { PerspectiveCamera } from "./core/cameras/PerspectiveCamera.mjs";
import { Sampler } from "./core/samplers/Sampler.mjs";
import { Material } from "./core/materials/Material.mjs";
import { ComputeMaterial } from "./core/materials/ComputeMaterial.mjs";
import { ComputePass } from "./core/computePasses/ComputePass.mjs";
import { Box3 } from "./math/Box3.mjs";
import { DOMFrustum } from "./core/DOM/DOMFrustum.mjs";
import { Geometry } from "./core/geometries/Geometry.mjs";
import { IndexedGeometry } from "./core/geometries/IndexedGeometry.mjs";
import { PlaneGeometry } from "./core/geometries/PlaneGeometry.mjs";
import { linearTosRGB, linearTosRGBFloat, sRGBToLinear, sRGBToLinearFloat } from "./math/color-utils.mjs";
import { AmbientLight } from "./core/lights/AmbientLight.mjs";
import { RenderPass } from "./core/renderPasses/RenderPass.mjs";
import { RenderTarget } from "./core/renderPasses/RenderTarget.mjs";
import { ProjectedObject3D } from "./core/objects3D/ProjectedObject3D.mjs";
import { PipelineEntry } from "./core/pipelines/PipelineEntry.mjs";
import { RenderPipelineEntry } from "./core/pipelines/RenderPipelineEntry.mjs";
import { RenderMaterial } from "./core/materials/RenderMaterial.mjs";
import { Mesh } from "./core/meshes/Mesh.mjs";
import { IndirectBuffer } from "./extras/buffers/IndirectBuffer.mjs";
import { FullscreenPlane } from "./core/meshes/FullscreenPlane.mjs";
import { RenderBundle } from "./core/renderPasses/RenderBundle.mjs";
import { DirectionalLight } from "./core/lights/DirectionalLight.mjs";
import { PointLight } from "./core/lights/PointLight.mjs";
import { SpotLight } from "./core/lights/SpotLight.mjs";
import { ComputePipelineEntry } from "./core/pipelines/ComputePipelineEntry.mjs";
import { PipelineManager } from "./core/pipelines/PipelineManager.mjs";
import { DOMElement } from "./core/DOM/DOMElement.mjs";
import { Scene } from "./core/scenes/Scene.mjs";
import { GPUDeviceManager } from "./core/renderers/GPUDeviceManager.mjs";
import { GPURenderer } from "./core/renderers/GPURenderer.mjs";
import { GPUCameraRenderer } from "./core/renderers/GPUCameraRenderer.mjs";
import { ShaderPass } from "./core/renderPasses/ShaderPass.mjs";
import { constants } from "./core/shaders/chunks/utils/constants.mjs";
import { common } from "./core/shaders/chunks/utils/common.mjs";
import { toneMappingUtils } from "./core/shaders/chunks/utils/tone-mapping-utils.mjs";
import { getLambert, lambertUtils } from "./core/shaders/chunks/shading/lambert-shading.mjs";
import { getPhong } from "./core/shaders/chunks/shading/phong-shading.mjs";
import { getPBR } from "./core/shaders/chunks/shading/PBR-shading.mjs";
import { getVertexShaderCode } from "./core/shaders/full/vertex/get-vertex-shader-code.mjs";
import { getUnlitFragmentShaderCode } from "./core/shaders/full/fragment/get-unlit-fragment-shader-code.mjs";
import { getLambertFragmentShaderCode } from "./core/shaders/full/fragment/get-lambert-fragment-shader-code.mjs";
import { getPhongFragmentShaderCode } from "./core/shaders/full/fragment/get-phong-fragment-shader-code.mjs";
import { getPBRFragmentShaderCode } from "./core/shaders/full/fragment/get-PBR-fragment-shader-code.mjs";
import { getFragmentShaderCode } from "./core/shaders/full/fragment/get-fragment-shader-code.mjs";
import { DOMObject3D } from "./curtains/objects3D/DOMObject3D.mjs";
import { DOMMesh } from "./curtains/meshes/DOMMesh.mjs";
import { Plane } from "./curtains/meshes/Plane.mjs";
import { GPUCurtainsRenderer } from "./curtains/renderers/GPUCurtainsRenderer.mjs";
import { GPUCurtains } from "./curtains/GPUCurtains.mjs";
import { ComputeShaderPass } from "./extras/computePasses/ComputeShaderPass.mjs";
import { OrbitControls } from "./extras/controls/OrbitControls.mjs";
import { HDRLoader } from "./extras/loaders/HDRLoader.mjs";
import { EnvironmentMap } from "./extras/environmentMap/EnvironmentMap.mjs";
import { BoxGeometry } from "./extras/geometries/BoxGeometry.mjs";
import { SphereGeometry } from "./extras/geometries/SphereGeometry.mjs";
import { LitMesh } from "./extras/meshes/LitMesh.mjs";
import { PingPongPlane } from "./extras/meshes/PingPongPlane.mjs";
import { Raycaster } from "./extras/raycaster/Raycaster.mjs";
import { KeyframesAnimation } from "./extras/animations/KeyframesAnimation.mjs";
import { TargetsAnimationsManager } from "./extras/animations/TargetsAnimationsManager.mjs";
import { GLTFScenesManager } from "./extras/gltf/GLTFScenesManager.mjs";
import { GLTFPointerAnimationsManager } from "./extras/gltf/GLTFPointerAnimationsManager.mjs";
import { GLTFLoader } from "./extras/loaders/GLTFLoader.mjs";
export { AmbientLight, BindGroup, Binding, Box3, BoxGeometry, Buffer, BufferBinding, ComputeMaterial, ComputePass, ComputePipelineEntry, ComputeShaderPass, DOMElement, DOMFrustum, DOMMesh, DOMObject3D, DOMTexture, DirectionalLight, EnvironmentMap, FullscreenPlane, GLTFLoader, GLTFPointerAnimationsManager, GLTFScenesManager, GPUCameraRenderer, GPUCurtains, GPUCurtainsRenderer, GPUDeviceManager, GPURenderer, Geometry, HDRLoader, IndexedGeometry, IndirectBuffer, KeyframesAnimation, LitMesh, Mat3, Mat4, Material, MediaTexture, Mesh, Object3D, OrbitControls, OrthographicCamera, PerspectiveCamera, PingPongPlane, PipelineEntry, PipelineManager, Plane, PlaneGeometry, PointLight, ProjectedObject3D, Quat, Raycaster, RenderBundle, RenderMaterial, RenderPass, RenderPipelineEntry, RenderTarget, Sampler, SamplerBinding, Scene, ShaderPass, SphereGeometry, SpotLight, TargetsAnimationsManager, Texture, TextureBindGroup, TextureBinding, Vec2, Vec3, WritableBufferBinding, common, constants, getFragmentShaderCode, getLambert, getLambertFragmentShaderCode, getPBR, getPBRFragmentShaderCode, getPhong, getPhongFragmentShaderCode, getUnlitFragmentShaderCode, getVertexShaderCode, lambertUtils, linearTosRGB, linearTosRGBFloat, sRGBToLinear, sRGBToLinearFloat, toneMappingUtils };