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.

29 lines (24 loc) 765 B
const getDefaultProjectedVertexShaderCode = ( /* wgsl */ ` 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; }` ); export { getDefaultProjectedVertexShaderCode };