Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-10Cleanup: avoid line breaks from trailing commentsCampbell Barton
2019-07-08Fix T66348 Eevee: Broken shader if using textures and shader_to_rgb nodeClément Foucault
Was caused by a missing texture resource.
2019-07-02Fix T66290: new Node's init api callback was not handling ID usercount.Bastien Montagne
As Usual... Note that we have to edit each C-defined of those callbacks that set Node->id pointer, instead of just moving the generic call to `id_us_plus()` in `node_init()` below the call to `ntype->initfunc_api()`, since that one manipulates RNA pointers, which are supposed to already handle usercounts themselves on assignment. The C callbacks are moving back to manipulating directly DNA, so it's their responsability to handle user count then (Py code should do that automatically through RNA assignement).
2019-06-26GPU: Add better support for displacement relinking behaviorClément Foucault
Previously displacement relinking was trying to be smart and seems to be broken in some cases. This fixes all cases by brute force. We copy the whole branch linked to the displacement socket and tag it accordingly. Then we only relink the nodes that are not tagged. Moreover, we bypass bump nodes inside the dispacement trees so that the resulting bump is the same as cycles. Fix T66000 EEVEE: Unexpected results when displacement interact with nodegroups
2019-06-22Nodes: show shader -> other socket type as invalid linkBrecht Van Lommel
2019-06-07Fix T64625: Eevee image textures with alpha have dark edgesBrecht Van Lommel
Now texture storage of images is defined by the alpha mode of the image. The downside of this is that there can be artifacts near alpha edges where pixels with zero alpha bleed in. It also adds more code complexity since image textures are no longer all stored the same way. This changes allows us to keep using sRGB texture formats, which have edge darkening when stored with premultiplied alpha. Game engines seems to generally do the same thing, and we want to be compatible with them.
2019-06-04Fix T64247: Crash on playback with special shader node treeSergey Sharybin
The root of the problem goes to the fact that node tree copying uses source tree and nodes for a temporary storage. This makes it so multiple dependency graphs can not be reliably evaluated from different threads if they are using same original node tree. Solved by doing the following: - Commonly used tree copying function (which is used by library manager) keeps source tree, nodes and sockets untouched. - All the related areas (like node tree's callback) now have const qualifier on the input. - Areas which needs to have those temporary pointers assigned are now using explicit function. Would be really cool to get rid of those temporary pointers completely, but this is a bit tricky due to hairy nature of the code. Can happen any time now though: is easy enough to generalize the new pointers mapping. Note that this change is only intended to solve the crash. The fact that icons shouldn't be updated on playback will be fixed as a separate change. Reviewers: brecht, fclem Reviewed By: brecht, fclem Subscribers: brecht, fclem Differential Revision: https://developer.blender.org/D5002
2019-05-31Cleanup: style, use braces in source/Campbell Barton
Automated using clang-tidy.
2019-05-30Fix T65017 Eevee: Render error if a SSS node is unconnectedClément Foucault
2019-05-23Eevee: Fix SSS energy disapearing with alpha blended materialClément Foucault
2019-05-19Images: change alpha settings to support channel packingBrecht Van Lommel
This also replaces the Use Alpha setting. We now have these alpha modes: * Straight: store RGB and alpha channels separately with alpha acting as a mask, also known as unassociated alpha. * Premultiplied: transparent RGB pixels are multiplied by the alpha channel. The natural format for renders. * Channel Packed: different images are packed in the RGB and alpha channels, and they should not influence each other. Channel packing is commonly used by game engines to save memory. * None: ignore alpha channel from the file and make image fully opaque. Cycles OSL does not correctly support Channel Packed and None yet, we are missing fine control over the OpenImageIO texture cache to do that. Fixes T53672
2019-05-19Images: don't (un)premultipy non-color dataBrecht Van Lommel
The previous behavior here was wrong for some specific combinations of settings, non-color RGB channels should never be affected by the alpha channel.
2019-05-18Fix T64762: incorrect textures for non-color images with an alpha channelBrecht Van Lommel
2019-05-17Eevee / Workbench: Fix hair normalsClément Foucault
Hair normals were not behaving correctly. This corrects their looks and fix the node shader geometry that was showing the flat normal.
2019-05-14Fix T64455 Texture extension mode 'clip' defaults to 'extend'Clément Foucault
2019-05-14GPU: Move Material index to nodetree evaluationClément Foucault
This removes the need to pass the Material* all over the place in the draw manager. Cleanup comming right after.
2019-05-13Cycles/Eevee: add Emission and Alpha inputs to Principled BSDFBrecht Van Lommel
This makes it easier to set up materials with emission and transparency. Importers/exporters and add-ons are recommended to now use these rather than creating separate transparent BSDF and emission nodes.
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-05-10Cleanup: DRW: Renaming of glsl utility macrosClément Foucault
2019-05-09Fix T64363 Eevee: Texture coordinates node turns material color to pinkClément Foucault
Sorry for that :(
2019-05-09Eevee: Fix Tangent vectors using NormalMatrix and make them world spaceClément Foucault
Making them world space by default remove a lot of legacy conversion from viewspace.
2019-05-08GPU: Remove GPU_INVERSE_NORMAL_MATRIXClément Foucault
The end goal for this is to lower the number of needed matrices. This also cleanup some uneeded transformation.
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-04-29Cleanup: comments (long lines) in nodesCampbell Barton
2019-04-26Cleanup: Node shader texture imageClément Foucault
2019-04-24Nodes: avoid slow and unecessary node group updates on file readBrecht Van Lommel
On file read we need to update group nodes in case the group they refer to has changed its inputs and outputs. This had O(n^2) time complexity and was updating all datablocks even if they did not change.
2019-04-24Cleanup: sort CMake include pathsCampbell Barton
2019-04-22Cleanup: style, use braces for nodesCampbell Barton
2019-04-21Cleanup: comments (mainly long lines)Campbell Barton
Comments after code can cause awkward line breaks.
2019-04-19Cleanup: Remove image preview codeSergey Sharybin
Was commented out for literally 10 years.
2019-04-19Cleanup: Remove unneeded compositor update functionSergey Sharybin
Similar to previous commit. Compositing with animation on socket values and image sequences still works fine.
2019-04-19Cleanup: Remove unneeded texture nodes update functionSergey Sharybin
The function was calling update() on the time curve, but there is no update callback on that node. So, effectively the function was doing nothing.
2019-04-18Cleanup: deduplicate image user initialization, make consistent.Brecht Van Lommel
2019-04-18Cleanup: add trailing commas to avoid right shiftCampbell Barton
2019-04-18Cleanup: comment blocksCampbell Barton
2019-04-17Cleanup: line wrapping caused by commentsCampbell Barton
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16ClangFormat: add comments to ignore formattingCampbell Barton
2019-04-16Cleanup: trailing commasCampbell Barton
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-04-12Cleanup: add back semicolons to DefNodeCampbell Barton
Causes extra-semicolon warning, we'll need to disable clang-format for this file since it won't format properly. Reverts b389bb5ef8a
2019-04-10Cleanup: use STR_ELEM macroCampbell Barton
2019-04-02Fix T62434: EEVEE not using correct World Output nodePhilipp Oeser
We were already getting the designated output node in 'ntreeGPUMaterialNodes()' but this wasnt used in 'ntreeExecGPUNodes()', instead whatever node was tagged NODE_DO_OUTPUT was executed. note: this is just the bare minimum to fix the bug, other improvements previously done in D4482 might follow as a separate commit. Reviewers: brecht, fclem Maniphest Tasks: T62434 Differential Revision: https://developer.blender.org/D4630
2019-03-30Fix T63115 crash upon switching to textured/rendered modeClément Foucault
2019-03-29Cleanup: styleCampbell Barton
2019-03-29Eevee: Implement Texture coordinate from objectClément Foucault
First try to implement T57489. But unfortunately, there is a missing dependency in the depsgraph that does not trigger the shader update.
2019-03-29Fix T62178 Eevee: Texture Box mapping not matching Cycles if object is scaledClément Foucault
The wrong transformation was used. Add a new matrix specially for this case. This also fix the Node texture coordinate that was suffering the same issue.
2019-03-27Fix T62680 Mirrored objects have flipped binormal vectors in LookDevClément Foucault
Pass binormal sign via object info.
2019-03-25Fix T62856 Toon BSDF and viewport/UI odditiesClément Foucault
This was caused by the material not tagged to use Diffuse lighting data.