Bill-Spitzak
  • Joined on 2024-02-16
Bill-Spitzak created branch halfpixel in Bill-Spitzak/blender 2024-07-16 05:59:02 +02:00
Bill-Spitzak pushed to halfpixel at Bill-Spitzak/blender 2024-07-16 05:59:02 +02:00
df9a0dff1c Offset odd-sized domains by 0.5 pixels
f51d82aed7 Compositor: Scale Absolute offsets odd sizes by .5
Compare 2 commits »
Bill-Spitzak commented on issue blender/blender#124133 2024-07-15 23:49:36 +02:00
Compositor transform/realize can shift image by 1/2 an input pixel

The error was introduced in #78061e6c3e74e932218fec0bad2911cc550ad41c. Note this patch correctly fixes the sample to be in the center of the output pixels so it should not be reverted entirely. It…

Bill-Spitzak pushed to main at Bill-Spitzak/blender 2024-07-15 23:13:42 +02:00
6256c9e353 Use the "nearest" filter if possible
c480e0617e Compute full transform including corner offsets outside glsl
96470ce869 Fix #124133: Transforms shift due to incorrect floor()
e30a1326a4 Fix #124719: Failed assert in old (2.34) testfile
e35e80275a Cleanup: Formatting
Compare 187 commits »
Bill-Spitzak commented on pull request blender/blender#124381 2024-07-15 23:03:30 +02:00
Fix #124133: Transforms shift due to incorrect floor()

I have pushed a version that removes my attempt to fix your example, as I now think that is just as wrong as the original version. If you can merge this, I plan to make a different bug for your…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-15 22:47:00 +02:00
Fix #124133: Transforms shift due to incorrect floor()

This fix has nothing to do with improving the sample filtering. This is fixing an incorrect transform that is shifting the center of the sample. Improving the filtering will not magically fix an…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-13 06:23:45 +02:00
Fix #124133: Transforms shift due to incorrect floor()

This new version reproduces the old behavior, but in a much more limited set of circumstances. Basically any scaling, rotation, or non-integer translation disables it. It also works by forcing…

Bill-Spitzak pushed to main at Bill-Spitzak/blender 2024-07-13 06:16:44 +02:00
e60a49d18d Fix #124133: Restore effect of previous floor() but in much more limited cases
Bill-Spitzak pushed to main at Bill-Spitzak/blender 2024-07-13 05:45:21 +02:00
c9f8770ed1 Fix #124133: Restore effect of previous floor() but in much more limited cases
5a1c1fe67e Fix #124133: Compute full transform including corner offsets outside glsl
a4307f110b Fix #124133: Transforms shift due to incorrect floor()
57544887d0 CMake: Add WITH_TBB definition to prevent ODR violation for BLI_spin API
05241f47f5 CMake: Add WITH_TBB definition for the projects that require it
Compare 136 commits »
Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 22:26:53 +02:00
Fix #124133: Transforms shift due to incorrect floor()

Some further investigation shows that with the current patch, the user selecting Nearest interpolation will get the always-floor effect of the previous code, which is wrong because the image will…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 22:21:26 +02:00
Fix #124133: Transforms shift due to incorrect floor()

It would also do ceil/floor depending on which one is odd, so repeated cropping between even/odd will just jiggle the image by .5 pixel, rather than shift it left every time.

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 22:19:44 +02:00
Fix #124133: Transforms shift due to incorrect floor()

I am looking at an "automatic sample pixel centers" patch which will do the same thing as the code before, but only in a much more restricted set of circumstances, in particular it does not do it…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 22:08:30 +02:00
Fix #124133: Transforms shift due to incorrect floor()

Another idea is to put the origin in the lower-left corner of the domain, so different sized images merged together have their lower-left corners aligned. This is what most software does. However…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 21:35:28 +02:00
Fix #124133: Transforms shift due to incorrect floor()

Set the transform for odd-sized domains to a translation of 0.5. This aligns the pixels between even and odd-sized domains. A decision has to be made whether the lower-left corner matches between…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 19:35:10 +02:00
Fix #124133: Transforms shift due to incorrect floor()

In general in other software such as Nuke users get rid of unwanted filtering by doing nearest point sampling. It is generally a bad idea to try to guess whether they want sampling disabled…

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-12 19:19:43 +02:00
Fix #124133: Transforms shift due to incorrect floor()

Unfortunatly, "After Patch" is the correct image. The centers of pixels of one of the inputs are on the border of the pixels of the other inputs. One of them has to be resampled, in this case it…

Bill-Spitzak commented on pull request blender/blender#124522 2024-07-12 00:02:02 +02:00
Fix #101263: Vector pass wrongly saved in File Output

If in fact those tests are never supposed to return null then the original code and mine both conflict with that document. It should just be written to assume they are not null.

In any case I…

Bill-Spitzak commented on pull request blender/blender#124522 2024-07-11 22:15:52 +02:00
Fix #101263: Vector pass wrongly saved in File Output

I think it would be better to write this like this:

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-10 21:26:59 +02:00
Fix #124133: Transforms shift due to incorrect floor()

The error was done by you in 78061e6c3e74. In this patch you (correctly) changed the transformed location to be in the center of the output pixels. The comment says the floor() is "to retain the …

Bill-Spitzak commented on pull request blender/blender#124381 2024-07-10 20:49:26 +02:00
Fix #124133: Transforms shift due to incorrect floor()

I am absolutely certain that this fix is correct. Will try to figure out what happened with git blame. My main suspicion is that odd-width domains were being drawn incorrectly in the viewer,…