Comments (6)
I'm no substitute for mmp, but here are my 5 cents.
Often it doesn't make huge sense to specify/require "units". Suppose you have algorithm that computes distance travelled by a point with const velosity. The "algorithm" will just spit out the product v*t, and the units will be determined by whatever units have your input data.
I think you can generally assume it's all in SI.
As to light intensity, if it has same RGB (=gray), and if light is point, you can specify it in candellas (cd=lm/sr; it will be luminous intensity then), thus factoring the eye-sensitivity curve into the intensity. The output will be luminance (cd/m^2; for exposure=1s). 100lux is good illumination, at distance 10m you'll need 10000cd. The proper way is to specify intensity in physics-based units (like Watt instead of lumen), over wavelengths, but I never did it. "Point and gray" was my only use case in v3.
Disclaimer: I don't know v4.
from pbrt-v4.
@rainbow-app is right: it's all SI. Meters for distance, W/(m^2 sr) for radiance, power and radiant intensity per SI, etc. Time is seconds. I agree that it would be good to be clear about that in the documentation and will make a note to do so.
from pbrt-v4.
You seem to be assuming that pixel values will be between [0,1] for display. Strictly speaking (and with pbrt's RealisticCamera
), a camera sensor is measuring energy in Joules over each pixel area; see https://www.pbr-book.org/4ed/Cameras_and_Film/Film_and_Imaging#TheCameraMeasurementEquation and equation 5.5. So in general you will need to remap those measurements to your display's range (e.g. by scaling them).
from pbrt-v4.
@mmp Time is seconds
. That probably doesn't hold true for the shutter open/close time, right?
from pbrt-v4.
Nope, it does. (Why wouldn't it?)
from pbrt-v4.
I increased the shutter close to 200 for a scene of mine to get quickly visible results for debugging purposes. This worked well, but in a real camera I would expect a 200 second shutter time to lead to practically just a white image.
Since I am not a photographer, I just did a sanity check on wikipedia, the shutter speeds listed are not really exceeding 1 second and a lot of them are well below that.
from pbrt-v4.
Related Issues (20)
- build pbrt in Windows with CUDA errors HOT 3
- Denoiser not being initialized for OptiX 8.0.0
- GPU compiling error with -DPBRT_FLOAT_AS_DOUBLE HOT 1
- Periodic Radiance Values for Spectral Render
- spectrum.h not defined in the pbrt/base
- gpu runs failing: Invalid PTX input HOT 1
- Build issue vs 2022 cuda 12.5 optix 7.7 win 11 HOT 3
- Final image is black when using GPU HOT 2
- GPU rendering not working with MSCV Version 14.40 and newer HOT 1
- A question about CUDA constant memory initialization. HOT 1
- Trouble replicating Radiance results with diffusive materials HOT 2
- Compiling Error aggregate.cpp with optix7 and NVCC 12.5 and GCC 11.4 in Ubuntu 22.04 HOT 2
- simple scattering scene for simplevolpath HOT 2
- Equivalent of Kt and Kr in dielectric material? HOT 3
- Build errors using Linux (both with gcc 13.2.1 and clang 17.0.6) HOT 2
- Default parameters with sample Crown scene is noisy HOT 1
- `pbrt/gpu` and `pbrt/wavefront` compilation fails HOT 1
- Docker file in Ubuntu
- pbrt_exe (Release) crashing HOT 12
- Incorrect Motion Blur with SPPM HOT 1
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 pbrt-v4.