Skip to content

Set dataReady false for textures arrays in SplatPager#358

Open
mrxz wants to merge 1 commit into
sparkjsdev:mainfrom
mrxz:avoid-initial-texture-upload
Open

Set dataReady false for textures arrays in SplatPager#358
mrxz wants to merge 1 commit into
sparkjsdev:mainfrom
mrxz:avoid-initial-texture-upload

Conversation

@mrxz
Copy link
Copy Markdown
Collaborator

@mrxz mrxz commented Jun 1, 2026

The SplatPager initializes several texture arrays with newly created (zeroed) arrays. The default behaviour of Three.js is to upload this data to the GPU. In this case, however, there is no need as the data should never be accessed and the GPU initialized texture would already contain zero's either way. This PR sets the dataReady flag to false, preventing Three.js from doing the initial upload. When a page needs to be uploaded, only the relevant layers are uploaded, so the superfluous upload is completely mitigated, not postponed.

While making the above change, I got annoyed by the excessive duplication in SplatPager. Resetting the flag needed to be repeated several times (once per SH texture x 2 for extSplats and non extSplats). As such, I've also replaced the individual sh-texture properties with an array, allowing creation, uploading and disposing to be handle by simple for-loops instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant