http://www.miikahweb.com/feed.php MiikaHweb - Blender Pygpu_extensions Branch http://www.miikahweb.com/ MiikaHweb - Blender Pygpu_extensions Branch fi Mon, 20 Sep 21 02:51:41 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[0540e43]: Geometry Nodes: Add dependency relation for collection objects...]]> http://www.miikahweb.com/en/blender/git-logs/commit/0540e4372cf231530310ff2d655517a252dc83f5 0540e43
Branches : pygpu_extensions
Author : Hans Goudey (HooglyBoogly)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Geometry Nodes: Add dependency relation for collection objects

Currently moving or changing an object references in a node modifier's
node group does not trigger re-evaluation. Because there is no collection
relation in the dependency graph, we must add the relation to all objects
in the collection individually.

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0540e4372cf231530310ff2d655517a252dc83f5Hans Goudey
<![CDATA[[1275a79]: Comment the methods of free a GPU object (except offscreen)]]> http://www.miikahweb.com/en/blender/git-logs/commit/1275a7991ccab1a830d9a520d07dbc72b681c35f 1275a79
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Comment the methods of free a GPU object (except offscreen)

----------------------------------------
5 Paths Changed]]>
Fri, 12 Feb 2021 21:55:10 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1275a7991ccab1a830d9a520d07dbc72b681c35fGermano Cavalcante
<![CDATA[[12f9fd9]: Geometry Nodes: Add operation setting to attribute randomize...]]> http://www.miikahweb.com/en/blender/git-logs/commit/12f9fd95164963c5d2d4906cbfa203419afcc0de 12f9fd9
Branches : pygpu_extensions
Author : Hans Goudey (HooglyBoogly)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Geometry Nodes: Add operation setting to attribute randomize node

This commit adds a drop-down to the attribute randomize node to support
a few operations on the values of existing attributes: "Replace/Create"
(the existing behavior), "Add", "Subtract", and "Multiply".
At this point, the operations are limited by what is simple to implement.
More could be added in the future, but there isn't a strong use case
for more complex operations anyway, and a second math node can be used.

Differential Revision: https://developer.blender.org/D10269

----------------------------------------
6 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/12f9fd95164963c5d2d4906cbfa203419afcc0deHans Goudey
<![CDATA[[3823e88]: Cleanup: Decrease scope of RNA enum definitions]]> http://www.miikahweb.com/en/blender/git-logs/commit/3823e889a7c62c4e4e726779d08cd21e8337020c 3823e88
Branches : pygpu_extensions
Author : Hans Goudey (HooglyBoogly)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Cleanup: Decrease scope of RNA enum definitions

Since these enums are only used in a single function, they can be
defined where they are used. Similar to rB2f60e5d1b56dfb8c9104.

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3823e889a7c62c4e4e726779d08cd21e8337020cHans Goudey
<![CDATA[[4073bfe]: Buffer: Correct wrong error message in buffer creation]]> http://www.miikahweb.com/en/blender/git-logs/commit/4073bfe80bfbbde80ffba3743f128d919f4fb813 4073bfe
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Buffer: Correct wrong error message in buffer creation

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 21:55:10 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4073bfe80bfbbde80ffba3743f128d919f4fb813Germano Cavalcante
<![CDATA[[55eacba]: GPUFrameBuffer: redo framebuffer initialization: Now attachments...]]> http://www.miikahweb.com/en/blender/git-logs/commit/55eacba2d86f6c3d1e1b0d200a89f1262d708648 55eacba
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
GPUFrameBuffer: redo framebuffer initialization: Now attachments can be passed as a texture or dictionary containing the texture, layer and mip

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 21:55:09 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/55eacba2d86f6c3d1e1b0d200a89f1262d708648Germano Cavalcante
<![CDATA[[79e81f7]: Py Doc: Fix rst syntax errors]]> http://www.miikahweb.com/en/blender/git-logs/commit/79e81f79c462eb45b9b4d55c760fa3ee8aab677d 79e81f7
Branches : pygpu_extensions
Author : Aaron Carlisle (Blendify)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Py Doc: Fix rst syntax errors

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/79e81f79c462eb45b9b4d55c760fa3ee8aab677dAaron Carlisle
<![CDATA[[7b54f76]: GPUTexture: Allow 'size' to be passed with any type of sequence...]]> http://www.miikahweb.com/en/blender/git-logs/commit/7b54f76cd97947b994de62066ae1e3f310a298ad 7b54f76
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
GPUTexture: Allow 'size' to be passed with any type of sequence object

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 21:55:09 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/7b54f76cd97947b994de62066ae1e3f310a298adGermano Cavalcante
<![CDATA[[84eb8a3]: EEVEE: Depth of field: New implementation]]> http://www.miikahweb.com/en/blender/git-logs/commit/84eb8a3a7134e6d4071ecbc636aca27714b8f4c3 84eb8a3
Branches : pygpu_extensions
Author : Clément Foucault (fclem)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
EEVEE: Depth of field: New implementation

This is a complete refactor over the old system. The goal was to increase quality
first and then have something more flexible and optimised.

|{F9603145} | {F9603142}|{F9603147}|

This fixes issues we had with the old system which were:
- Too much overdraw (low performance).
- Not enough precision in render targets (hugly color banding/drifting).
- Poor resolution near in-focus regions.
- Wrong support of orthographic views.
- Missing alpha support in viewport.
- Missing bokeh shape inversion on foreground field.
- Issues on some GPUs. (see T72489) (But I'm sure this one will have other issues as well heh...)
- Fix T81092

I chose Unreal's Diaphragm DOF as a reference / goal implementation.
It is well described in the presentation "A Life of a Bokeh" by Guillaume Abadie.
You can check about it here https://epicgames.ent.box.com/s/s86j70iamxvsuu6j35pilypficznec04

Along side the main implementation we provide a way to increase the quality by jittering the
camera position for each sample (the ones specified under the Sampling tab).

The jittering is dividing the actual post processing dof radius so that it fills the undersampling.
The user can still add more overblur to have a noiseless image, but reducing bokeh shape sharpness.

Effect of overblur (left without, right with):
| {F9603122} | {F9603123}|

The actual implementation differs a bit:
- Foreground gather implementation uses the same "ring binning" accumulator as background
but uses a custom occlusion method. This gives the problem of inflating the foreground elements
when they are over background or in-focus regions.
This is was a hard decision but this was preferable to the other method that was giving poor
opacity masks for foreground and had other more noticeable issues. Do note it is possible
to improve this part in the future if a better alternative is found.
- Use occlusion texture for foreground. Presentation says it wasn't really needed for them.
- The TAA stabilisation pass is replace by a simple neighborhood clamping at the reduce copy
stage for simplicity.
- We don't do a brute-force in-focus separate gather pass. Instead we just do the brute force
pass during resolve. Using the separate pass could be a future optimization if needed but
might give less precise results.
- We don't use compute shaders at all so shader branching might not be optimal. But performance
is still way better than our previous implementation.
- We mainly rely on density change to fix all undersampling issues even for foreground (which
is something the reference implementation is not doing strangely).

Remaining issues (not considered blocking for me):
- Slight defocus stability: Due to slight defocus bruteforce gather using the bare scene color,
highlights are dilated and make convergence quite slow or imposible when using jittered DOF
(or gives )
- ~~Slight defocus inflating: There seems to be a 1px inflation discontinuity of the slight focus
convolution compared to the half resolution. This is not really noticeable if using jittered
camera.~~ Fixed
- Foreground occlusion approximation is a bit glitchy and gives incorrect result if the
a defocus foreground element overlaps a farther foreground element. Note that this is easily
mitigated using the jittered camera position.
|{F9603114}|{F9603115}|{F9603116}|
- Foreground is inflating, not revealing background. However this avoids some other bugs too
as discussed previously. Also mitigated with jittered camera position.
|{F9603130}|{F9603129}|
- Sensor vertical fit is still broken (does not match cycles).
- Scattred bokeh shapes can be a bit strange at polygon vertices. This is due to the distance field
stored in the Bokeh LUT which is not rounded at the edges. This is barely noticeable if the
shape does not rotate.
- ~~Sampling pattern of the jittered camera position is suboptimal. Could try something like hammersley
or poisson disc distribution.~~Used hexaweb sampling pattern which is not random but has better
stability and overall coverage.
- Very large bokeh (> 300 px) can exhibit undersampling artifact in gather pass and quite a bit of
bleeding. But at this size it is preferable to use jittered camera position.

Codewise the changes are pretty much self contained and each pass are well documented.
However the whole pipeline is quite complex to understand from bird's-eye view.

Notes:
- There is the possibility of using arbitrary bokeh texture with this implementation.
However implementation is a bit involved.
- Gathering max sample count is hardcoded to avoid to deal with shader variations. The actual
max sample count is already quite high but samples are not evenly distributed due to the
ring binning method.
- While this implementation does not need 32bit/channel textures to render correctly it does use
many other textures so actual VRAM usage is higher than previous method for viewport but less
for render. Textures are reused to avoid many allocations.
- Bokeh LUT computation is fast and done for each redraw because it can be animated. Also the
texture can be shared with other viewport with different camera settings.

----------------------------------------
31 Paths Changed]]>
Fri, 12 Feb 2021 21:54:28 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/84eb8a3a7134e6d4071ecbc636aca27714b8f4c3Clément Foucault
<![CDATA[[877fe24]: Py Doc: Update Sphinx and theme versions]]> http://www.miikahweb.com/en/blender/git-logs/commit/877fe247eae0eef1adcadb04a2139a56995f40ea 877fe24
Branches : pygpu_extensions
Author : Aaron Carlisle (Blendify)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Py Doc: Update Sphinx and theme versions

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/877fe247eae0eef1adcadb04a2139a56995f40eaAaron Carlisle
<![CDATA[[93364b6]: OpenColorIO: remove default display workaround]]> http://www.miikahweb.com/en/blender/git-logs/commit/93364b66f91056b3b75bee4e5451d1e70c57135e 93364b6
Branches : pygpu_extensions
Author : Brecht Van Lommel (brecht)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
OpenColorIO: remove default display workaround

A fix for this is in 2.0 (and recent 1.1.x versions), no need for this anymore.

Differential Revision: https://developer.blender.org/D10275

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/93364b66f91056b3b75bee4e5451d1e70c57135eBrecht Van Lommel
<![CDATA[[922c709]: Geometry Nodes: Make instances real on-demand]]> http://www.miikahweb.com/en/blender/git-logs/commit/922c7095bf07089e82fa7b2d17b692def4d3abfc 922c709
Branches : pygpu_extensions
Author : Hans Goudey (HooglyBoogly)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Geometry Nodes: Make instances real on-demand

This commit makes the geometry output of the collection info usable.
The output is the geometry of a collection instance, but this commit
adds a utility to convert the instances to real geometry, used in the
background whenever it is needed, like copy on write.

The recursive nature of the "realize instances" code is essential,
because collection instances in the `InstancesComponent`, might have no
geometry sets of their own containing even more collection instances,
which might then contain object instances, etc.

Another consideration is that currently, every single instance contains
a reference to its data. This is inefficient since most of the time
there are many locations and only a few sets of unique data. So this
commit adds a `GeometryInstanceGroup` to support this future optimization.
The API for instances returns a vector of `GeometryInstanceGroup`.
This may be less efficient when there are many instances, but it makes
more complicated operations like point distribution that need to iterate
over input geometry multiple times much simpler.

Any code that needs to change data, like most of the attribute nodes,
can simply call `geometry_set_realize_instances(geometry_set)`,
which will move any geometry in the `InstancesComponent` to new "real"
geometry components.

Many nodes can support read-only access to instances in order to avoid
making them real, this will be addressed where needed in the near future.

Instances from the existing "dupli" system are not supported yet.

Differential Revision: https://developer.blender.org/D10327

----------------------------------------
26 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/922c7095bf07089e82fa7b2d17b692def4d3abfcHans Goudey
<![CDATA[[d9fdd82]: Fix T85562: Remove Win32 RIM_INPUTSINK]]> http://www.miikahweb.com/en/blender/git-logs/commit/d9fdd82e54768d8f8a193413d7045691f06cccb9 d9fdd82
Branches : pygpu_extensions
Author : Harley Acheson (harley)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Fix T85562: Remove Win32 RIM_INPUTSINK

Removal of Win32 code that allows background windows to receive raw input.

Differential Revision: https://developer.blender.org/D10408

Reviewed by Brecht Van Lommel

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/d9fdd82e54768d8f8a193413d7045691f06cccb9Harley Acheson
<![CDATA[[e75f938]: GPencil: Fix compiler warnings after previous commit]]> http://www.miikahweb.com/en/blender/git-logs/commit/e75f938761dc62272faa33c4e4965f99dd342b09 e75f938
Branches : pygpu_extensions
Author : Antonio Vazquez (antoniov)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
GPencil: Fix compiler warnings after previous commit

These warnings were not detected by Windows compiler as the Linux compiler does.

----------------------------------------
3 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e75f938761dc62272faa33c4e4965f99dd342b09Antonio Vazquez
<![CDATA[[dec6a55]: Geometry Nodes: Allow attribute nodes to use different domains...]]> http://www.miikahweb.com/en/blender/git-logs/commit/dec6a557dbbef5e74d23ecddc2eba9232923ad55 dec6a55
Branches : pygpu_extensions
Author : Hans Goudey (HooglyBoogly)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Geometry Nodes: Allow attribute nodes to use different domains

Currently every attribute node assumes that the attribute exists on the
"points" domain, so it generally isn't possible to work with attributes
on other domains like edges, polygons, and corners.

This commit adds a heuristic to each attribute node to determine the
correct domain for the result attribute. In general, it works like this:
- If the output attribute already exists, use that domain.
- Otherwise, use the highest priority domain of the input attributes.
- If none of the inputs are attributes, use the default domain (points).

For the implementation I abstracted the check a bit, but in each
node has a slightly different situation, so we end up with slightly
different `get_result_domain` functions in each node. I think this makes
sense, it keeps the code flexible and more easily understandable.

Note that we might eventually want to expose a domain drop-down to some
of the nodes. But that will be a separate discussion; this commit focuses
on making a more useful choice automatically.

Differential Revision: https://developer.blender.org/D10389

----------------------------------------
16 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/dec6a557dbbef5e74d23ecddc2eba9232923ad55Hans Goudey
<![CDATA[[f9a2244]: Py Doc: Delete old deployment scripts]]> http://www.miikahweb.com/en/blender/git-logs/commit/f9a22449e64966d8997c39dbdbd4f04e1fef1674 f9a2244
Branches : pygpu_extensions
Author : Aaron Carlisle (Blendify)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Py Doc: Delete old deployment scripts

Now, the API docs are deployed via the new devops pipeline developed by
James.

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f9a22449e64966d8997c39dbdbd4f04e1fef1674Aaron Carlisle
<![CDATA[[fc25a2d]: OpenColorIO: upgrade to version 2.0.0]]> http://www.miikahweb.com/en/blender/git-logs/commit/fc25a2d4487214b56ea675d8b9e7b929625cda3e fc25a2d
Branches : pygpu_extensions
Author : Brecht Van Lommel (brecht)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
OpenColorIO: upgrade to version 2.0.0

Ref T84819

Build System
============

This is an API breaking new version, and the updated code only builds with
OpenColorIO 2.0 and later. Adding backwards compatibility was too complicated.

* Tinyxml was replaced with Expat, adding a new dependency.
* Yaml-cpp is now built as a dependency on Unix, as was already done on Windows.
* Removed currently unused LCMS code.
* Pystring remains built as part of OCIO itself, since it has no good build system.
* Linux and macOS check for the OpenColorIO verison, and disable it if too old.

Ref D10270

Processors and Transforms
=========================

CPU processors now need to be created to do CPU processing. These are cached
internally, but the cache lookup is not fast enough to execute per pixel or
texture sample, so for performance these are now also exposed in the C API.

The C API for transforms will no longer be needed afer all changes, so remove
it to simplify the API and fallback implementation.

Ref D10271

Display Transforms
==================

Needs a bit more manual work constructing the transform. LegacyViewingPipeline
could also have been used, but isn't really any simpler and since it's legacy
we better not rely on it.

We moved more logic into the opencolorio module, to simplify the API. There is
no need to wrap a dozen functions just to be able to do this in C rather than C++.
It's also tightly coupled to the GPU shader logic, and so should be in the same
module.

Ref D10271

GPU Display Shader
==================

To avoid baking exposure and gamma into the GLSL shader and requiring slow
recompiles when tweaking, we manually apply them in the shader. This leads
to some logic duplicaton between the CPU and GPU display processor, but it
seems unavoidable.

Caching was also changed. Previously this was done both on the imbuf and
opencolorio module levels. Now it's all done in the opencolorio module by
simply matching color space names. We no longer use cacheIDs from OpenColorIO
since computing them is expensive, and they are unlikely to match now that
more is baked into the shader code.

Shaders can now use multiple 2D textures, 3D textures and uniforms, rather
than a single 3D texture. So allocating and binding those adds some code.

Color space conversions for blending with overlays is now hardcoded in the
shader. This was using harcoded numbers anyway, if this every becomes a
general OpenColorIO transform it can be changed, but for now there is no
point to add code complexity.

Ref D10273

CIE XYZ
=======

We need standard CIE XYZ values for rendering effects like blackbody emission.
The relation to the scene linear role is based on OpenColorIO configuration.

In OpenColorIO 2.0 configs roles can no longer have the same name as color
spaces, which means our XYZ role and colorspace in the configuration give an
error.

Instead use the new standard aces_interchange role, which relates scene linear
to a known scene referred color space. Compatibility with the old XYZ role is
preserved, if the configuration file has no conflicting names.

Also includes a non-functional change to the configuraton file to use an
XYZ-to-ACES matrix instead of REC709-to-ACES, makes debugging a little easier
since the matrix is the same one we have in the code now and that is also
found easily in the ACES specs.

Ref D10274

----------------------------------------
31 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/fc25a2d4487214b56ea675d8b9e7b929625cda3eBrecht Van Lommel
<![CDATA[[fd2888d]: Fix T84899: instance ids are not unique in common cases]]> http://www.miikahweb.com/en/blender/git-logs/commit/fd2888d5a0c23d3ae69b3c038b02a5ac8be8e0d4 fd2888d
Branches : pygpu_extensions
Author : Jacques Lucke (JacquesLucke)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Fix T84899: instance ids are not unique in common cases

Ids stored in the `id` attribute cannot be assumed to be unique. While they
might be unique in some cases, this is not something that can be guaranteed
in general. For some use cases (e.g. generating "stable randomness" on points)
uniqueness is not important. To support features like motion blur, unique ids
are important though.

This patch implements a simple algorithm that turns non-unique ids into
unique ones. It might fail to do so under very unlikely circumstances, in
which it returns non-unique ids instead of possibly going into an endless
loop.

Here are some requirements I set for the algorithm:
* Ids that are unique already, must not be changed.
* The same input should generate the same output.
* Handle cases when all ids are different and when all ids are the same
equally well (in expected linear time).
* Small changes in the input id array should ideally only have a small
impact on the output id array.

The reported bug happened because cycles found multiple objects with
the same id and thought that it was a single object that moved on every
check.

Differential Revision: https://developer.blender.org/D10402

----------------------------------------
4 Paths Changed]]>
Fri, 12 Feb 2021 21:54:27 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/fd2888d5a0c23d3ae69b3c038b02a5ac8be8e0d4Jacques Lucke
<![CDATA[[76a6b20]: Update texture creation: Dimensions are now passed as a tuple...]]> http://www.miikahweb.com/en/blender/git-logs/commit/76a6b204282dd020b6bbd50eff5934ff887ecbc1 76a6b20
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Update texture creation: Dimensions are now passed as a tuple or int

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 18:23:34 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/76a6b204282dd020b6bbd50eff5934ff887ecbc1Germano Cavalcante
<![CDATA[[d75d221]: Remove limitation of cubemap layers to be multiple of 6]]> http://www.miikahweb.com/en/blender/git-logs/commit/d75d22144b4c5a736255ec7df361ab22ed23219a d75d221
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Remove limitation of cubemap layers to be multiple of 6

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 16:22:20 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/d75d22144b4c5a736255ec7df361ab22ed23219aGermano Cavalcante
<![CDATA[[00d3faa]: Geometry Nodes: remove incorrect assert]]> http://www.miikahweb.com/en/blender/git-logs/commit/00d3faa4438e7941641d211395d383ad61a75191 00d3faa
Branches : pygpu_extensions
Author : Jacques Lucke (JacquesLucke)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Geometry Nodes: remove incorrect assert

It is perfectly valid that an attribute does not exist and cannot be created.
For example, this can happen when a mesh does not contain any vertices.

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:14:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/00d3faa4438e7941641d211395d383ad61a75191Jacques Lucke
<![CDATA[[07cb5a2]: Fix Unused var]]> http://www.miikahweb.com/en/blender/git-logs/commit/07cb5a21a0d837f4bdde69d34bd9ec3c248db445 07cb5a2
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Fix Unused var

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:16:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/07cb5a21a0d837f4bdde69d34bd9ec3c248db445Germano Cavalcante
<![CDATA[[0f34c24]: Fix errors when binding framebuffer or offscreen (and Cleanup...]]> http://www.miikahweb.com/en/blender/git-logs/commit/0f34c24c6f5e6c0df9f8a0e1a6220fda5e95c36d 0f34c24
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Fix errors when binding framebuffer or offscreen (and Cleanup)

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 15:16:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0f34c24c6f5e6c0df9f8a0e1a6220fda5e95c36dGermano Cavalcante
<![CDATA[[1b86da9]: PyAPI: use PyModule_AddType utility function]]> http://www.miikahweb.com/en/blender/git-logs/commit/1b86da97560455e5ac9fcf1c690c82f428e15e3b 1b86da9
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
PyAPI: use PyModule_AddType utility function

----------------------------------------
6 Paths Changed]]>
Fri, 12 Feb 2021 15:13:45 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1b86da97560455e5ac9fcf1c690c82f428e15e3bCampbell Barton
<![CDATA[[1d585be]: Baking: support vertex color baking of normal material, UV...]]> http://www.miikahweb.com/en/blender/git-logs/commit/1d585beeecb844374ab26f8594354118caa0ec1b 1d585be
Branches : pygpu_extensions
Author : Brecht Van Lommel (brecht)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Baking: support vertex color baking of normal material, UV discontinuities

Baking vertex colors per-corner leads to unwanted discontinuities when there is
sampling noise, for example in ambient occlusion or with a bevel shader node for
normals. For this reason the code used to always average results per-vertex.

However when using split normals, multiple materials or UV islands, we do want to
preserve discontinuities. So now bake per corner, but make sure the sampling seed
is shared for vertices.

Fix T85550: vertex color baking crash with split normals, Ref D10399
Fix T84663: vertex color baking blending at UV seams

----------------------------------------
5 Paths Changed]]>
Fri, 12 Feb 2021 15:14:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1d585beeecb844374ab26f8594354118caa0ec1bBrecht Van Lommel
<![CDATA[[2960249]: Transform the 'viewport' getsetter of the 'GPUFrameBuffer'...]]> http://www.miikahweb.com/en/blender/git-logs/commit/29602498de17554f28bbe4687731e7d90ef6d240 2960249
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
Transform the 'viewport' getsetter of the 'GPUFrameBuffer' into 'viewport_get' and 'viewport_set' methods

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:16:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/29602498de17554f28bbe4687731e7d90ef6d240Germano Cavalcante
<![CDATA[[2cf2f03]: GPUTexture(width, height, depth, is_layered=False, is_cubemap...]]> http://www.miikahweb.com/en/blender/git-logs/commit/2cf2f0358a973d1b0e908e2aa4620f1f846ce431 2cf2f03
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
GPUTexture(width, height, depth, is_layered=False, is_cubemap=False, format='RGBA8', data=None)

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:16:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2cf2f0358a973d1b0e908e2aa4620f1f846ce431Germano Cavalcante
<![CDATA[[31f57bc]: Cleanup: clang-format, spelling]]> http://www.miikahweb.com/en/blender/git-logs/commit/31f57bcafdf4744743342421a421ffbb4011ab69 31f57bc
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Cleanup: clang-format, spelling

----------------------------------------
5 Paths Changed]]>
Fri, 12 Feb 2021 15:11:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/31f57bcafdf4744743342421a421ffbb4011ab69Campbell Barton
<![CDATA[[3459969]: PyAPI: Use PyPreConfig & PyConfig for Python initialization]]> http://www.miikahweb.com/en/blender/git-logs/commit/3459969d8c502471531c0b183face9b61119217a 3459969
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
PyAPI: Use PyPreConfig & PyConfig for Python initialization

Use Python 3.8's API for setting the initial configuration.

This replaces a mix of our logic and direct calls to the Python API
and has no user visible changes.

Using the Python API makes the logic easier to follow and provides
utilities such as `PyConfig_SetBytesArgv`
that wasn't available in previous releases.

Note that this uses Python's utf8/wchar_t conversions,
which used to cause problems (see T31506).

Since `Py_UTF8Mode` was set, the systems locale isn't used for decoding,
allowing us to use Python's utility functions that call
`Py_DecodeLocale` internally.

Ref D10382

----------------------------------------
3 Paths Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3459969d8c502471531c0b183face9b61119217aCampbell Barton
<![CDATA[[4994744]: Fix finding system Haru library on Debian.]]> http://www.miikahweb.com/en/blender/git-logs/commit/4994744be40a0460f7ebe2fbbf4675b29894aed1 4994744
Branches : pygpu_extensions
Author : Bastien Montagne (mont29)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Fix finding system Haru library on Debian.

Paths and names of system packages-installed libhpdf on Debian (and
probably its derived distributions?) are slightly different than what
was given to CMake finding script.

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:11:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4994744be40a0460f7ebe2fbbf4675b29894aed1Bastien Montagne
<![CDATA[[4d3b98c]: Docs: add notes to 'make deps' & the sqlite build configuration...]]> http://www.miikahweb.com/en/blender/git-logs/commit/4d3b98c006d4299b7be8b66d8303d0abd96964bc 4d3b98c
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Docs: add notes to 'make deps' & the sqlite build configuration

- Move non-blender build targets into their own section.
- Expand 'make help' text, noting a local 'make deps' overrides.
- Note where the spell checkers word-list is maintained.
- Note on why sqlite is built without 'tcl'.

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4d3b98c006d4299b7be8b66d8303d0abd96964bcCampbell Barton
<![CDATA[[4e84ab6]: Fix T85545: changing position attribute does not tag normals...]]> http://www.miikahweb.com/en/blender/git-logs/commit/4e84ab6300208cf387810c171e69933bb3c44ec7 4e84ab6
Branches : pygpu_extensions
Author : Jacques Lucke (JacquesLucke)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Fix T85545: changing position attribute does not tag normals dirty

This makes it so that normals are tagged dirty whenever the position
attribute is requested for writing. This seems like a good default. If the
calling code is aware of normals, it could untag normals when they are
not changed by the operation.

Differential Revision: https://developer.blender.org/D10397

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4e84ab6300208cf387810c171e69933bb3c44ec7Jacques Lucke
<![CDATA[[5af8543]: Mesh automated testing: improve progress printing]]> http://www.miikahweb.com/en/blender/git-logs/commit/5af854353a4ff2b2feee8f7fe5c5159d3c0dd336 5af8543
Branches : pygpu_extensions
Author : Habib Gahbiche (zazizizou)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Mesh automated testing: improve progress printing

Print number of total tests with each test to show how many tests have been executed and how many are left.
Example: `Running test 27/36: PlaneFaceSplitByEdges...`

Reviewed By: calra, mont29

Differential Revision: https://developer.blender.org/D10278

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:11:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5af854353a4ff2b2feee8f7fe5c5159d3c0dd336Habib Gahbiche
<![CDATA[[621870b]: Fix T79999: Double color management applied during viewport...]]> http://www.miikahweb.com/en/blender/git-logs/commit/621870be47e9801033045665d9bc705c4deda10d 621870b
Branches : pygpu_extensions
Author : Jeroen Bakker (jbakker)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Fix T79999: Double color management applied during viewport animation render

In 2.81 there was a change to increase the performance of viewport
animation rendering. This change would perform the color management on the
GPU if the only 8bit was needed. This saved CPU cycles and data
transfer.

The issue is that in the image editor or when saving the image the CM
will be reapplied. Although the speed is desired, exporting the actual
colors has more priority.

In the ticket there is an analysis that shows that shows that this fix
is the correct short term step to take. It would be better that the
render result is aware of the color space of its buffers so the applying
color management could be skipped when saving to disk or drawing in the
image editor.

The issue with this change is the performance penalty it has.

Reviewed By: Brecht van Lommel

Maniphest Tasks: T79999

Differential Revision: https://developer.blender.org/D10371

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/621870be47e9801033045665d9bc705c4deda10dJeroen Bakker
<![CDATA[[6c94d8f]: CMake: update MSVC PDB path reference]]> http://www.miikahweb.com/en/blender/git-logs/commit/6c94d8f3aa683d016a029ae350902a00799386ed 6c94d8f
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
CMake: update MSVC PDB path reference

Replace literal number with a variable.

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/6c94d8f3aa683d016a029ae350902a00799386edCampbell Barton
<![CDATA[[7d5d27e]: Cleanup: delete comments with test index]]> http://www.miikahweb.com/en/blender/git-logs/commit/7d5d27ed52f125066ec8913a30090859151906b5 7d5d27e
Branches : pygpu_extensions
Author : Habib Gahbiche (zazizizou)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Cleanup: delete comments with test index

Tests are not identified with indexes, so no need to maintain comments with indexes anymore

Reviewed By: calra, mont29

Differential Revision: https://developer.blender.org/D10277

----------------------------------------
2 Paths Changed]]>
Fri, 12 Feb 2021 15:11:57 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/7d5d27ed52f125066ec8913a30090859151906b5Habib Gahbiche
<![CDATA[[8053a7f]: CMake/Deps: fix build of nasm when asciidoc and xmlto are unavailable...]]> http://www.miikahweb.com/en/blender/git-logs/commit/8053a7f5013f871d23cb934627987832bd7761ab 8053a7f
Branches : pygpu_extensions
Author : Sybren A. Stüvel (sybren)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
CMake/Deps: fix build of nasm when asciidoc and xmlto are unavailable

Create zero-byte manual page files `nasm.1` and `ndisasm.1` such that
nasm's `make install` step succeeds.

Installing nasm requires that its manual pages are built. This requires
local packages `asciidoc` and `xmlto` to be installed.

Not only does `asciidoc` pull in 110 MB of packages (itself +
dependencies), there is also no need for these manual pages. Nasm is
just used for building other dependencies, and not even part of our
precompiled libraries in SVN.

Reviewed By: sebbas

Differential Revision: https://developer.blender.org/D10396

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:14:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8053a7f5013f871d23cb934627987832bd7761abSybren A. Stüvel
<![CDATA[[86559c8]: Cleanup: use the assignment operator with list-comprehension]]> http://www.miikahweb.com/en/blender/git-logs/commit/86559c8fe1af194066bbbbec324ef876b9d6b76c 86559c8
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Cleanup: use the assignment operator with list-comprehension

----------------------------------------
3 Paths Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/86559c8fe1af194066bbbbec324ef876b9d6b76cCampbell Barton
<![CDATA[[8c63d46]: GPUFrameBuffer: Rename 'tex_' to 'color_']]> http://www.miikahweb.com/en/blender/git-logs/commit/8c63d460cc5d88379228baff015e586e5eb0f044 8c63d46
Branches : pygpu_extensions
Author : Germano Cavalcante (mano-wii)
----------------------------------------
GPUFrameBuffer: Rename 'tex_' to 'color_'

----------------------------------------
1 Path Changed]]>
Fri, 12 Feb 2021 15:16:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8c63d460cc5d88379228baff015e586e5eb0f044Germano Cavalcante
<![CDATA[[a412dc9]: Cleanup: don't subclass 'Panel' for mix-in classes]]> http://www.miikahweb.com/en/blender/git-logs/commit/a412dc97e6bcce938c2b78e50cd4bf65427f234c a412dc9
Branches : pygpu_extensions
Author : Campbell Barton (campbellbarton)
Committed By : Germano Cavalcante (mano-wii)
----------------------------------------
Cleanup: don't subclass 'Panel' for mix-in classes

This reports warnings with `--debug-python` since all panel
sub-classes are expected to be registered.

----------------------------------------
3 Paths Changed]]>
Fri, 12 Feb 2021 15:13:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/a412dc97e6bcce938c2b78e50cd4bf65427f234cCampbell Barton