* better comments on calculating the DFG lookup tables
* add comments about computing the “LD” term
* add comments about computing IBL diffuse pre-integration
* be clearer about the determinant of the jacobian
this saves one multiply in the shader, but most
importantly makes the first SH coefficient a
color and reduces its range
ALL IBLs NEED TO BE REGENERATED using cmgen
-—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.
* Add StringValue and Choice
* Add editorFactory to nodes
* Update graph model when compiling
* Extract compileNode function
* Change inputs based on shadingModel
* Allow nodes to set shading model
* Fix float literals with dimension 1
* Adjust node height for slots
* Improvements to shader node
* Don't ever set a default value
* Add anisotropy and anisotropyDirection
* Auto-convert MaterialGraphComponent to Kotlin
* Introduce new view rendering
* Add expressionMap to graph
* Show data width on slots
* Compile all nodes when compiling, even unconnected nodes
* Remove old views
* Exclude comments from brace parsing in vertex/fragment blocks
If a comment contained an opening brace { but not the matching
closing one, matc would not count braces properly and not find
the proper end of a vertex/fragment block.
* Add test
* Introduce dimensions to Expression
* Rename to setExpressionForSlot and add redComponent function
* Add Expression helpers to aid with differing data widths
* Add Float2ConstantNode
* Single-line functions when possible
* Add clear coat normal map support
This change allows to set a separate normal map for the clear coat layer of a material.
* Document the new clearCoatNormal property
* Fix typo
* Introduce mipgen frontend.
For now this is fairly simple although it does let you choose a filter.
Another cool feature is that an HTML file is generated which makes it
easy to review the generated miplevels.
This does not expose the Boundary enum to users because it has not yet
been implemented in the core Image library.
* Fix up mipgen per code review.
* Update SPIRV libraries
- Update `spirv-cross`
- Update `spirv-tools`
- Update `glslang`
`spirv-tools` contains a fix for an issue we reported (unnecessary promotions to highp in certain expressions).
* Add SPIRV-Tools dependency to matinfo
We recently changed the default constructor of vector to not initialize the vector to 0. This caused subtle issues in cmgen which was creating arrays of vectors. This change simply forces 0 initialization of those arrays.
fix#87
We just skip samples that have a dot(N,L)<0 which
means we’re “loosing” some samples. However,
this happens higher levels of the mipmap chain,
and since we’re increasing significantly the
number of samples as the level increases, this
doesn’t end-up being a problem.
* Add new Cloth NDF
Based on the work by Estevez and Kulla, also known as the "Charlie" sheen.
* Restore DFG computation to GGX
* New proposed approximation for Cloth DFG
* Add "Charlie" cloth DFG approximation to cmgen
* Switch to "Charlie" sheen for cloth shading
* Document the new cloth NDF and DFG approximation
* Fix post-process shader when not in Vulkan
The post-process shader must not flip the source texture when we compile for OpenGL. This happens because we use SPIR-V/Vulkan as an intermediate format.
* Fix the Android build
We need to output a location when targeting SPIR-V for mobile.