Comments (5)
Good point! Indeed while they are both spherical harmonics, 1. is SH coefficients for illumination and 2. is the SH coefficients for transfer function. I attached the screenshot from the original Precomputed Radiance Transfer paper to give you the better overview of how the final color is computed. I would highly recommend checking out the paper to learn more about how it works.
from pifu.
It was a long time ago when I processed them. I dug my code base but couldn't find the code to process HDR images for this project. I must have used the following library (https://github.com/google/spherical-harmonics) for converting HDR into 2nd-order spherical harmonics and then did normalization of the coefficients to avoid saturation in the final rendered images. The results are all stored in ./env_sh.npy.
Based on my brief understanding of computer graphics, you have used PRT as well as the 163 "second-order spherical harmonics of indoor scene from HDRI Haven" to essentially light ("simulate light transport effects") the models from RenderPeople. Is this accurate?
No. PRT is intrinsic to geometry, meaning given any new light source represented by spherical harmonics, you can simulate light transport effect in real-time by taking inner product of PRT and illumination spherical harmonics. You can look into apps/render_data.py and apps/prt_util.py to get a better sense of how I use PRT and illumination spherical harmonics.
from pifu.
The fragment shader code is here
PIFu/lib/renderer/gl/data/prt.fs
Line 94 in 30b428b
from pifu.
Hi! I thank you sincerely for your reply. I have looked into the scripts you've mentioned but I'm still a bit confused... perhaps by the double mentioning of spherical harmonics in:
- prt_render.py and render_data.py for the 2nd-order spherical harmonics from HDRI Haven (/env_sh.npy)
shs = np.load('./env_sh.npy')
and
- prt_util
SH = getSHCoeffs(order, phi, theta)
So spherical harmonics seems to mean different things in both cases. Could you shed some light on this? Alternatively, I would also appreciate if you would refer to some other links/steps to take to study this further.
Thank you once again for your comprehensive reply and I hope to hear from you soon.
from pifu.
then did normalization of the coefficients to avoid saturation in the final rendered images
How to normalize
the coefficient, thanks~
from pifu.
Related Issues (20)
- the tensor not mach HOT 1
- Some questions about dataset format and color model training HOT 2
- Training on dennis obj does not yield satisfactory results HOT 10
- freeglut (foo): failed to open display 'localhost:12.0'
- One question about multiview training HOT 1
- Unable to train the model
- How to make the texture image? HOT 2
- Data preparation memory leak HOT 2
- Training data
- How to get the UV map
- Transformation Questions
- problem when i run prt_util HOT 2
- error: ('The size of tensor a (85) must match the size of tensor b (84) at non-singleton dimension 2',) HOT 1
- I want to use only tex-pifu
- PIFu_Demo.ipynb error HOT 1
- sh ./scripts/download_trained_model.sh error
- sh ./scripts/test.sh error HOT 1
- sh ./scripts/test.sh error HOT 2
- ERROR ./scripts/test.sh HOT 3
- training_data
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pifu.