UNPKG

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.

28 lines (24 loc) 897 B
//#region src/core/shaders/full/vertex/get-default-projected-vertex-shader-code.ts /** Default vertex shader code for projected meshes. */ const getDefaultProjectedVertexShaderCode = ` struct VSOutput { @builtin(position) position: vec4f, @location(0) uv: vec2f, @location(1) normal: vec3f, @location(2) worldPosition: vec3f, @location(3) viewDirection: vec3f, }; @vertex fn main( attributes: Attributes, ) -> VSOutput { var vsOutput: VSOutput; vsOutput.position = getOutputPosition(attributes.position); vsOutput.uv = attributes.uv; vsOutput.normal = getWorldNormal(attributes.normal); let worldPosition: vec4f = getWorldPosition(attributes.position); vsOutput.worldPosition = worldPosition.xyz / worldPosition.w; vsOutput.viewDirection = camera.position - vsOutput.worldPosition; return vsOutput; }`; //#endregion export { getDefaultProjectedVertexShaderCode };