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
JavaScript
const getDefaultProjectedVertexShaderCode = (
/* wgsl */
`
struct VSOutput {
position: vec4f,
uv: vec2f,
normal: vec3f,
worldPosition: vec3f,
viewDirection: vec3f,
};
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 };