WebGPURenderer: Introduce ProjectorLight#31022
Conversation
📦 Bundle sizeFull ESM build, minified and gzipped.
🌳 Bundle size after tree-shakingMinimal build including a renderer, camera, empty scene, and dependencies.
|
|
|
|
Considering that we have RectAreaLight, shouldn't we call it |
|
I don't have a strong opinion on this if you prefer to change it. But I believe that the |
|
|
|
Yes I understand that... But How about we add a new property to light.shape = THREE.RectShape;That would open the door for more shapes without resulting in more API/docs work. Same for |
* Texture: Introduce `width`, `height`, `depth` * Fix `lightShadowMatrix()` if `renderer.shadowMap.enabled` is `false` * Remove `spotLight.attenuationNode` * Introduce `ProjectorLight` * add `webgpu_lights_projector` example * Update webgpu_lights_projector.jpg * improve cache key * optimize for mobile * Update webgpu_lights_projector.jpg
* Texture: Introduce `width`, `height`, `depth` * Fix `lightShadowMatrix()` if `renderer.shadowMap.enabled` is `false` * Remove `spotLight.attenuationNode` * Introduce `ProjectorLight` * add `webgpu_lights_projector` example * Update webgpu_lights_projector.jpg * improve cache key * optimize for mobile * Update webgpu_lights_projector.jpg
Related issue: #31020 (comment)
Description
Based on the @N8python PR (#24589) and @WestLangley and @Mugen87 conversations, it introduces
ProjectorLighttoWebGPURendererallowing the use of.mapand TSL functions for procedural effects like the caustic effect in the demo below.Live demo
** Summary **
webgpu_lights_projectorexample