Age | Commit message (Collapse) | Author |
|
|
|
We should clamp the result after multiplication.
|
|
|
|
Values outside the 0..1 range produce negative colors, so now clamp to that
range everywhere. Also fixes improper handling of hue > 2.0 in some places.
|
|
Probably fix first part of T61446.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
Needed for clan-format not to wrap onto one line.
|
|
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
|
|
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
|
|
|
|
Needed for clang formatting to workaround bug/limit, see: T53211
|
|
The hang was due to the nodes being "evaluated" for every incomming link.
Solution: only evaluate once per nodetree.
Also merge the tagging of SSS and SSR into one traversal only.
|
|
|
|
|
|
|
|
|
|
|
|
Also minor cleanup for the Bump node.
|
|
|
|
|
|
This does not work with the box projection mode. Implementing for box
projection mode would be difficult, slow, and produce a lot of code
duplication. Also i'm not sure this is worth it, as it's not a common use
case.
|
|
Makes it simpler to make some changes...
Also fix order of some includes (use alphabetical please).
|
|
This parameter is only used for Box projection type.
|
|
Before it was triggering shader recompilation. Include small cleanup/opti.
|
|
|
|
This quick fix does generate some invalid uniform. Will fix that later on.
|
|
This is a quick workaround, but I don't see the point of making the
lighting functions more complex than it is now in order to optimize this
rather not so common case.
|
|
Node group inputs should behave like cycles now.
----
We create dummy nodes that contains the default values for the nodegroup
inputs and link them to the sockets. This way the uniform buffer gathering
function can read them.
But we also need to disconnect all the internal links to sockets that have
hidden values. Theses sockets must not get the values from the nodegroup
input sockets if there is no link to them otherwise we get broken results
(i.e.: normals for a bsdf node).
|
|
|
|
This implementation is a bit hacky but match cycles pretty close.
If pixel size is not enabled, it will use the geom shader to
compute distances between vertices. This will have a cost.
Implementation is a bit hacky in gpu_codegen to make the geom shader works
in an optional manner.
|
|
Differential Revision: https://developer.blender.org/D3680
|
|
Conflicts:
source/blender/blenkernel/intern/collision.c
|
|
Differential Revision: https://developer.blender.org/D3668
|
|
|
|
|
|
This supports meshes and hairs too. Matches cycles output.
This adds barycentric coords to the GPUBuiltin enum which will also be used
for the wireframe node.
|
|
* Remove GPU_link_changed which is unused.
* Remove all GPU link function that are not used anymore.
* GPU_uniform_buffer is now GPU_uniform.
* GPU_texture_ramp is now GPU_color_band.
* GPU_uniform is now GPU_constant.
|
|
Color ramp with constant interpolation must bypass texture filtering and
use nearest neighboor sampling in order to appear correctly sharp.
This patch use a GLSL hack to use nearest sampling on thoses particular
color band.
|
|
This lower the use of texture samplers slots and let users use more real
textures in their shaders.
This patch also make the ramp texture 16 bit floating point. Meaning you
can now use value greater than one in your color ramps.
With the limit of 128 colorband per shader (a color band being either a
color ramp, a wavelength node or a curve node (and maybe wavelength node in
the future)).
Only drawback with the current implementation is that it does not remove
colorband from pruned GPUNodes but it shouldn't really matter in practice.
This should fix T56010
|
|
|
|
This is more like a static optimisation when some parameters are set to 1.0
or 0.0. In theses case we use a more optimized version of the node.
This also revisit the transmission parameter behaviour to make it closer to
cycles.
|
|
The remaining ones are from the attributes linear/srgb switches and from
nodes that should be pruned before running their _gpu function.
|
|
|
|
|
|
This means tweaking parameter is now interactive and does not need to
recompile the shaders.
|
|
This is in order to reference the localized node->storage when populating
the UBO data.
|
|
|
|
Add placeholder for cubic and smart filtering for now.
|
|
Blending was done in srgb space and was not matching cycles.
Optimized by using less branches and more vector operations.
|
|
|