The compression API now takes block size instead of bit rate. Otherwise
it is quite possible for the encoder to generate a block size that is
not one of the valid block sizes that graphics API's can actually
consume.
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
This was designed as a standalone tool rather than a library, so we are
renaming their "main" function to "standalone_main", which is described
in the tnt README.
We'll also be adding a wrapper to our imageio library.
because the shadow map can be “focused”, its
texture coordinates can end-up very large, which
in turn can cause overflows in the calculation of
the PCF positions. Unfortunately some GPUs
abort in that situation, which causes artifacts.
Fix Bug 111455153
- 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
This tool was producing bad output for the monkey roughness map because
the monkey map has an (unnecessary) alpha channel, and the tool was
assuming that the source image has 3 channels.
This fixes that particular case and changes the tool so that it
operates on single-channel data instead of 3-channel data.
Sometimes you want your KTX file to end in an extension other than
".ktx". For example, GitHub Pages applies gzip encoding to bmp files
but not to ktx files (which I think is consistent with nginx defaults).
This change makes it so that a deploy script can rename the files and
apply a simple string transformation to the HTML.
- front and back labels where inverted:
+z is the front of the cube and -z is its back
when looking at the cube from the outside
with a camera pointing towards -z (and the cube
in front of it). This is the GL definition.
- make the synthetic uvXXX debug environment
colors match those of the debug environment
(except for -Z/back which is magenta instead
of black).
- add some documentation about skybox and cube map.
- 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.
* Ability to add code prior to prepareMaterial
* Add normal input on shading node
* Add constant float node
* Add multiply and subtract nodes
* Split math nodes out into MathNodes.kt
(1) Suzanne's normal map is actually linear but we were telling GL that
it is SRGB, so the shader was not reading (0.5,0.5,1.0) from a perfectly
flat normal map.
(2) --linear in mipgen was not honored when consuming PNG files.
(3) The build was not passing --linear to mipgen for the normal map.