this adds a new --type (-t) parameter that is
used to specify cmgen’s output.
faces: outputs cube maps separate faces (default
and current behavior)
equirect: outputs an equirectangular image
ktx: outputs a ktx file
--format=ktx now implies —type=ktx
- internal cross storage is now always horizontal
and seamless.
- source cross images are now always converted to
internal format, conversion includes rescaling
and sampling if scaling down.
- vertical cross is supported again
- fixes#283
- replace hardcoded constants
- cmgen now creates reflections maps for all input
assets by default instead of just for equirectangular
images.
- equirectangular decode doesn't mirror -- that's
done by the mirroring code now.
- mirroring can be turned of with --no-mirror
- option --mirror is gone
- faster mirroring code (do it before generating
mipmaps)
- added labels to faces of debug.png environment
- added a debug equirectangular image in third_party
(creative commons license)
- KTX / OpenGL are PX,NX,PY,NZ,PZ,NZ.
- Cubemap::Face is NX,PX,NY,PY,NZ,PZ.
I considered changing the Cubemap::Face enum, but applying ^1 upon
export seems less intrusive.
For each envmap/skybox pair, this will reduce the number of downloads
from 61 files to 3 files.
Note that we are still using sh.txt for coefficients, I'll see if it
would be easy to embed that in the KTX metadata.
Also, I will add KTX support to roughness-prefilter soon.
This remapping can be confused with roughness, because
linear_roughness = roughness*roughness and
lod = sqrt(linear_roughness)
so the value of lod is roughness, but conceptually
it’s not.
-—ibl-irradiance generates the diffuse irradiance as
a cubemap using importance sampling.
It can be used in place of the SH version (—-sh-irradiance)
which sometimes presents some ringing artifacts.