Mathias Agopian
9358650bd4
remove generated test ibls
...
we're not using them in the build and they can easily get out of date.
2019-06-20 14:36:37 -07:00
Mathias Agopian
cc22183f20
update samples/envs
2019-06-20 14:36:37 -07:00
Mathias Agopian
2ded1c955f
cmgen and filament now support RGB_10_11_11_REV
...
- RGB_11_11_10 is exported in a RGBA PNG file where the 4 channels are
used as a uint32 storing a RGB_10_11_11_REV pixel.
We use the .rgb32f extension, and those PNG files contain garbage
when seen in a PNG viewer.
- This is now the default for the -x option.
- compressed KTX files don't encode RGBM, which means they can't
support HDR, unless an HDR compression scheme is used.
2019-06-20 14:36:37 -07:00
Romain Guy and Ben Doherty
b1242163f7
Make CMake 3.10 the minimum version, add LTO option ( #1316 )
...
* Make CMake 3.10 the minimum version, add LTO option
* Install a newer CMake on Linux CI builds
* Update LLVM and Cmake on Windows CI
* Update build/windows/ci-common.bat
Co-Authored-By: Ben Doherty <benjdoherty15@gmail.com >
* Update formatting
* Apply suggestions from code review
* Update build/windows/ci-common.bat
* Update CMake
* Switch Android projects back to CMake 3.6
2019-06-19 12:53:03 -07:00
Philip Rideout
f3769d8e86
lucy_bloom: minor fixups.
...
Tangents are required on the disk, not the quads...
2019-06-13 12:29:52 -07:00
Philip Rideout
6d927f61aa
lucy_bloom: use LINEAR to reduce texture lookups.
...
Many thanks to Dr. Rajan Srinivasan, who helped me with the math for this.
2019-06-13 12:10:53 -07:00
Philip Rideout
65a20df7c1
lucy_bloom: improve blur quality by not skipping texels
2019-06-13 12:10:53 -07:00
Philip Rideout
8ba0849bcf
lucy_bloom: improve code comments
2019-06-13 12:10:53 -07:00
Philip Rideout
55abd67e81
lucy_bloom: do not dither intermediate framebuffers
2019-06-13 12:10:53 -07:00
Philip Rideout
9c4fecb5c6
RenderTarget API now has per-attachment config, etc.
2019-06-11 15:56:24 -07:00
Philip Rideout
8142ffdfb7
Add bloom demo and release notes for #119 .
2019-06-11 15:56:24 -07:00
Philip Rideout
f93046308c
gltf_baker: improve error handling throughout.
2019-06-05 15:25:47 -07:00
Philip Rideout
1d514e6bf6
gltf_baker: allow re-baking after tweaking options.
2019-06-05 15:25:47 -07:00
Philip Rideout
70d569029b
gltf_baker: allow adjustment to seed iterations.
2019-06-05 10:11:23 -07:00
Philip Rideout
0262a38c7e
gltf_baker: fix radio button numbering
2019-06-04 15:48:54 -07:00
Philip Rideout
d3f784d4f9
gltf_baker: add vertex normals visualization
2019-06-04 14:36:03 -07:00
Philip Rideout
be11944f99
gltf_baker: AssetPipeline now has an options struct.
2019-06-03 13:03:14 -07:00
Philip Rideout
f3a70d82cd
gltf_baker: make denoise optional.
2019-06-03 13:03:14 -07:00
Philip Rideout
29d2f51fca
gltf_baker: make chart dilation optional.
2019-06-03 13:03:14 -07:00
Philip Rideout
bfaa2bdd4e
gltf_baker: allow 3D visualization of mesh normals.
2019-06-03 13:03:14 -07:00
Philip Rideout
ce4a3edf7b
gltf_baker: visualizers now use fp32 textures.
...
This allows us to skip the CPU-side vector-to-color conversion that
occured at the end, and makes the real-time visualization consistent
with the final visualization.
2019-06-03 13:03:14 -07:00
Philip Rideout
6c153b046f
gltf_baker: allow visualization of mesh normals.
2019-06-03 13:03:14 -07:00
Philip Rideout
7a732eb9c4
gltf_baker: show the bounds of the asset
...
Parameterization can run into problems for very large, very small, or
off-center assets. Showingthe min/max helps users diagnose these issues.
2019-06-03 13:03:14 -07:00
Philip Rideout
fdfb8862eb
gltf_baker: allow tmin adjustment.
2019-06-03 13:03:14 -07:00
Philip Rideout
78ec315b69
Overhaul the gltf_baker UI.
...
As per the design doc, this makes the app somewhat usable by eliminating
hardcoded filenames, the hidden state machine, etc.
2019-06-03 08:32:48 -07:00
Ben Doherty
89c4647c3c
Expose gltfio library so it can be used by third_parties ( #1230 )
2019-05-28 14:50:38 -07:00
Philip Rideout
122eb8c82e
gltf_baker: add UV visualization option
2019-05-28 11:44:04 -07:00
Philip Rideout
cc89b6ad1e
PathTracer now applies OpenImageDenoise.
2019-05-28 11:43:50 -07:00
Romain Guy
e896ed9d87
Add support for Parallax Occlusion Mapping in the PBR demo
2019-05-24 17:45:26 -07:00
Romain Guy
975395ce98
Simplify duplicate code
2019-05-24 17:01:57 -07:00
Philip Rideout
761b407159
AssetPipeline now has replaceOcclusion function.
...
This preserve original materials and substitutes the occlusion texture
with the generated AO.
2019-05-24 14:59:10 -07:00
Philip Rideout
5bdbf63ff6
gltf_baker now has an export modal.
2019-05-24 14:59:10 -07:00
Philip Rideout
8f1d4ffa4d
gltf_baker now parameterizes in a background thread.
2019-05-23 22:06:43 -07:00
Philip Rideout
3b2d75e129
gltf_baker now has adjustable resolution.
2019-05-23 22:06:43 -07:00
Romain Guy
0a5c068cb6
Switch specular AA to Tokuyoshi and Kaplanyan ( #1218 )
...
This replaces the previous "curvature to roughness" method. Both are related
and rely on the screen space variance of geometric normals but this new
solution offers more control (the screen space variance and the clamping
threshold can be controlled).
2019-05-23 12:56:26 -07:00
Philip Rideout
cfb6a1c917
gltf_baker: add diagnostics.
2019-05-18 20:43:31 -07:00
Philip Rideout
07be9d1721
PathTracer: add bent normals and diagnostic targets.
2019-05-17 10:01:26 -07:00
Philip Rideout
9a72831a33
AssetPipeline can now preview baked texture.
2019-05-16 15:53:20 -07:00
Philip Rideout
59f929c7d3
Fix "already freed" bug in gltf_baker.
2019-05-16 15:53:20 -07:00
Romain Guy
f0aab6e46a
Add micro-shadowing feature ( #1188 )
...
* Add micro-shadowing based on ambient occlusion
* Prevent crash when IBL is turned off
* Apply micro-shadows to baked AO only
* Remove debug code
* Add opacity control
* Fix opacity term
* Switch to micro-shadowing from Chan 2018
2019-05-16 12:24:16 -07:00
Philip Rideout
c112b3ce40
Introduce AssetPipeline::SCALE_TO_UNIT to boost bake quality.
2019-05-15 16:44:33 -07:00
Philip Rideout
affc947ce0
gltf_baker: improve error reporting.
2019-05-15 16:44:33 -07:00
Philip Rideout
cbfb364c41
Introduce libs/rays and implement AO baking.
...
The AO baking procedure consists of the following steps:
1. Flatten the glTF hierarchy.
2. Generate a single 2D parameterization for the entire scene.
3. Embree Pass 1: Create G-Buffer using the above UVs as vert positions.
4. Embree Pass 2: Cast rays from the positions embedded in the G-Buffer.
The `gltf_baker` tool is not ready for general use but already
produces reasonable results for certain well-formed models.
2019-05-15 13:10:56 -07:00
Philip Rideout
c84c60112e
Implement the bake button, uses a "UV camera" to cast primary rays.
2019-05-15 13:10:56 -07:00
Philip Rideout
cd364b029c
gltf_baker: fix needless reload for rendering.
2019-05-13 18:55:56 -07:00
Philip Rideout
3291fb6a1b
Introduce gltf_baker tool.
2019-05-13 10:25:12 -07:00
Romain Guy
ac8f55099d
Indent SSAO options
2019-05-09 17:18:37 -07:00
Mathias Agopian
cbae6120e1
Ambient Occlusion APIs are more descriptive
...
Use “AmbientOcclusion” instead of SSAO in all APIs.
2019-05-09 16:36:18 -07:00
Mathias Agopian
011daa952e
Add API for controlling SSAO
2019-05-09 16:36:18 -07:00
Mathias Agopian
725ea06400
Add a contrast control for SSAO
...
This approximates ao^n with 1 <= n <=2 and gives a little bit of
control over the ambient occlusion contrast.
2019-05-07 18:35:19 -07:00