Comments (3)
Sorry for the lack of documentation.. Just do:
Film "gbuffer" "string filename" "foo.exr" "integer xresolution" 1234 # etc...
You'll get a "deep" EXR file, where all of that additional stuff is in additional image channels.
from pbrt-v4.
Thanks for your quick response.
It seems the Albedo channel in EXR file seems strange.
It should not be affected by the number of pixel samples. (I expected the original Kd reflectance)
"""
Integrator "path"
"integer maxdepth" [ 3 ]
Sampler "halton"
"integer pixelsamples" [ 2 ]
PixelFilter "box"
"float xradius" [ 0.5 ]
"float yradius" [ 0.5 ]
Film "gbuffer"
"string filename" [ "cornell-box.exr" ]
"integer yresolution" [ 512 ]
"integer xresolution" [ 512 ]
Camera "perspective"
"float fov" [ 45 ]
WorldBegin
AttributeBegin
AreaLightSource "diffuse"
"rgb L" [ 10 10 10 ]
NamedMaterial "Light"
Shape "trianglemesh"
"point2 uv" [ 0 0 1 0 1 1 0 1
]
"normal N" [ -8.74228e-8 -1 1.86006e-7 -8.74228e-8 -1 1.86006e-7 -8.74228e-8
-1 1.86006e-7 -8.74228e-8 -1 1.86006e-7 ]
"point3 P" [ -0.24 1.98 -0.22 0.23 1.98 -0.22 0.23 1.98 0.16 -0.24 1.98 0.16 ]
"integer indices" [ 0 1 2 0 2 3 ]
AttributeEnd
MakeNamedMaterial "LeftWall"
"string type" [ "diffuse" ]
"rgb reflectance" [ 1 0 0 ]
MakeNamedMaterial "RightWall"
"string type" [ "diffuse" ]
"rgb reflectance" [ 0 1 0 ]
MakeNamedMaterial "Floor"
"string type" [ "diffuse" ]
"rgb reflectance" [ 1 1 1 ]
MakeNamedMaterial "Ceiling"
"string type" [ "diffuse" ]
"rgb reflectance" [ 1 1 1 ]
MakeNamedMaterial "BackWall"
"string type" [ "diffuse" ]
"rgb reflectance" [ 1 1 1 ]
MakeNamedMaterial "ShortBox"
"string type" [ "diffuse" ]
"rgb reflectance" [ 1 1 1 ]
MakeNamedMaterial "TallBox"
"string type" [ "diffuse" ]
"rgb reflectance" [ 1 1 1 ]
MakeNamedMaterial "Light"
"string type" [ "diffuse" ]
"rgb reflectance" [ 0 0 0 ]
NamedMaterial "Floor"
Shape "trianglemesh"
"point2 uv" [ 0 0 1 0 1 1 0 1
]
"normal N" [ 4.37114e-8 1 1.91069e-15 4.37114e-8 1 1.91069e-15 4.37114e-8 1 1.91069e-15
4.37114e-8 1 1.91069e-15 ]
"point3 P" [ -1 1.74846e-7 -1 -1 1.74846e-7 1 1 -1.74846e-7 1 1 -1.74846e-7 -1 ]
"integer indices" [ 0 1 2 0 2 3 ]
NamedMaterial "Ceiling"
Shape "trianglemesh"
"point2 uv" [ 0 0 1 0 1 1 0 1
]
"normal N" [ -8.74228e-8 -1 -4.37114e-8 -8.74228e-8 -1 -4.37114e-8 -8.74228e-8
-1 -4.37114e-8 -8.74228e-8 -1 -4.37114e-8 ]
"point3 P" [ 1 2 1 -1 2 1 -1 2 -1 1 2 -1 ]
"integer indices" [ 0 1 2 0 2 3 ]
NamedMaterial "BackWall"
Shape "trianglemesh"
"point2 uv" [ 0 0 1 0 1 1 0 1
]
"normal N" [ 8.74228e-8 -4.37114e-8 -1 8.74228e-8 -4.37114e-8 -1 8.74228e-8 -4.37114e-8
-1 8.74228e-8 -4.37114e-8 -1 ]
"point3 P" [ -1 0 -1 -1 2 -1 1 2 -1 1 0 -1 ]
"integer indices" [ 0 1 2 0 2 3 ]
NamedMaterial "RightWall"
Shape "trianglemesh"
"point2 uv" [ 0 0 1 0 1 1 0 1
]
"normal N" [ 1 -4.37114e-8 1.31134e-7 1 -4.37114e-8 1.31134e-7 1 -4.37114e-8
1.31134e-7 1 -4.37114e-8 1.31134e-7 ]
"point3 P" [ 1 0 -1 1 2 -1 1 2 1 1 0 1 ]
"integer indices" [ 0 1 2 0 2 3 ]
NamedMaterial "LeftWall"
Shape "trianglemesh"
"point2 uv" [ 0 0 1 0 1 1 0 1
]
"normal N" [ -1 -4.37114e-8 -4.37114e-8 -1 -4.37114e-8 -4.37114e-8 -1 -4.37114e-8
-4.37114e-8 -1 -4.37114e-8 -4.37114e-8 ]
"point3 P" [ -1 0 1 -1 2 1 -1 2 -1 -1 0 -1 ]
"integer indices" [ 0 1 2 0 2 3 ]
"""
from pbrt-v4.
Ah, the joys of spectral rendering. It is expected that there will be some noise at low sampling rates here since at each pixel sample, pbrt picks 4 random wavelengths and does all of its computations at those wavelengths. Then, when the image is output, the RGB spectral matching functions are used to compute back to RGB. So, there's some inherent Monte Carlo noise in that round-trip from the original RGB colors. This is moderately annoying, but I think worth it for the advantages of doing the spectral stuff properly.
from pbrt-v4.
Related Issues (20)
- using --pixelstats in conjunction with --outfile do not work as expected
- Specify Volume with Transform and Camera Inside Volume in a Scene File
- PBRT hangs while rendering certain scenes with subsurface materials from a certain sample rate and higher
- Spectral range in SpectralFilm is overruled by constants in spectrum.h
- [Ubuntu] Unable to build TEV; uintptr_t not declared in scope.
- Apple M3 raytracing acceleration HOT 4
- Illegal memory was encountered when mixed textures are used.
- 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
- 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
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.