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.

21 lines (20 loc) 923 B
//#region src/core/shaders/chunks/fragment/body/get-volume-multi-scatter.ts /** * Set the `singleVolumeScatter` (`vec3f`) value from the material volume scatter. * * @param parameters - Parameters used to set the `singleVolumeScatter` (`vec3f`) value. * @param parameters.extensionsUsed - {@link PBRFragmentShaderInputParams.extensionsUsed | extensionsUsed} to check if volume scatter transmission is enabled. * @returns - String with the `singleVolumeScatter` (`vec3f`) value set. */ const getVolumeMultiScatter = ({ extensionsUsed = [] }) => { let volumeScatter = ` // var singleVolumeScatter: vec3f = vec3(0.0); var singleVolumeScatter: vec3f = vec3(1.0); `; if (!extensionsUsed.includes("KHR_materials_volume_scatter")) return volumeScatter; volumeScatter += ` singleVolumeScatter = getVolumeMultiToSingleScatter(multiscatterColor);`; return volumeScatter; }; //#endregion export { getVolumeMultiScatter };