-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request to expose the downsize to balance between quality and performance for Storm DomeLight #3342
Comments
Might be better to have a maximum size. The downsize is selected based on the image and maximum size. Then it would be practical for it to be a pre-set constant. |
Right, that should also work. |
Filed as internal issue #USD-10239 |
By no means stepping on or ignoring the need laid out here, but 10s processing a single texture seems crazy. Can I ask what texture format you are using? With large textures, and especially ones that are going to be used all over the place, light a DomeLight texture, it can be really really helpful to pre-bake MIP levels, in a format like OpenEXR that can hold them... and AVIF is now supported in USD, as well. |
It's exr format. The most time is spent on generating the Prefilter maps 13 times for 13 mip levels (due to the size of the exr is 8,234*4,117, and hard-coded downsize is 1/2) by compute shader.
|
This slowness was originally found in our Hydra viewport. And it was similar case in USDView. One simple way to validate this exr in USDView is put it to the default domelight texture folder: lib\usd\hdx\resources\textures\ and modify the code to use this exr as default domelight texture: Another way to validate is through usd scene, but I'm not sure why USDView complaints "Dome light has no texture asset path", maybe there was something I missed in the usd scene.
|
For map to test, a 8k HDRI should demostrate the slowness of loading, can't attach here as it's larger than 25M. Try grab one from https://hdri-haven.com/ or let me know if you need a test map. |
Hi, I'm thinking to add a new Hydra render setting to set the max size of processed textures (irradiance/prefilter/BRDF) , this can give opportunity to choose speed over quality or vice versa, would this make sense? |
I made a change to expose the max size as a Storm's Render Settings, will open a PR for it. |
Description of Issue
When pre-peocessing the envrionment map for domelight, Storm uses half of source map as the default downsize. Test shows the loading time can be reduced from 10 sec to 5 sec for an envrionment map (8,234*4,117 pixels, 100M) if the downsize is reduced from half to 1/16. Could we expose an option to adjust the downsize?
see https://github.com/PixarAnimationStudios/OpenUSD/blob/release/pxr/imaging/hdSt/domeLightComputations.cpp#L171 and
https://github.com/PixarAnimationStudios/OpenUSD/blob/release/pxr/imaging/hdSt/simpleLightingShader.cpp#L599
Steps to Reproduce
System Information (OS, Hardware)
Package Versions
Build Flags
The text was updated successfully, but these errors were encountered: