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
2022-01-31Cleanup: use our own conventions for tags in commentsCampbell Barton
2022-01-06Cleanup: spelling in commentsCampbell Barton
2021-12-20Fix T94262: Grease Pencil Blur Effect DoF mode wrongPhilipp Oeser
This was visible outside of camera view and was not respecting the "Depth of Field" checkbox on the Camera properties. Now return early if DoF should not be visible. Maniphest Tasks: T94262 Differential Revision: https://developer.blender.org/D13631
2021-12-08Cleanup: move public doc-strings into headers for 'draw'Campbell Barton
Ref T92709
2021-12-07DrawManager: Engine Instance Data.Jeroen Bakker
In the original design draw engines had to copy with a limitation that they were not allowed to reuse complex data structures between drawing calls. Data that could be reused were limited to: - GPUFramebuffers - GPUTextures - Memory that could be removed calling MEM_freeN (storage list) - DRWPass This is fine when the storage list contains arrays or structs but when more complex data types (vectors, maps) etc wasn't possible. This patch adds instance_data that can be reused between drawing calls. The instance_data is controlled by the draw engine and doesn't need to be limited as described above. When an engines stores instance_data it must implement the `DrawEngineType.instance_free` callback to free the data. The patch originates from eevee rewrite. But was added to master as the image engine rewrite also has a need for it. Reviewed By: fclem Differential Revision: https://developer.blender.org/D13425
2021-11-19Cleanup: fix typos in comments and docsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D13264
2021-11-02Images: refactor how failed image load attempts are rememberedJacques Lucke
Previously, `ImageTile->ok` and `ImageUser->ok` were used to indicate whether an image failed to load. There were three possible values which (probably) had the following meanings: * `0`: There was an error while loading the image. Don't try to load again. * `1`: Default value. Try to load the image. * `2`: The image was loaded successfully. This image-wide flag did not make sense unfortunately, because loading may work for some frames of an image sequence but not for others. Remember than an image data block can also contain a movie. The purpose of the `->ok` flag was to serve as an optimization to avoid trying to load a file over and over again when there is an error (e.g. the file does not exist or is invalid). To get the optimization back, the patch is changing `MovieCache` so that it can also cache failed load attempts. As a consequence, `ibuf` is allowed to be `NULL` in a few more places. I added the appropriate null checks. This also solves issues when image sequences are used with the Image Texture node in Geometry nodes (also see D12827). Differential Revision: https://developer.blender.org/D12957
2021-10-15Cleanup: Commonize code for checking scene lights/world settingsJesse Yurkovich
There were several places attempting to check to see if scene lights and world were enabled for display. This tries to find a common place for both of these to reduce duplication. Honestly, I couldn't find a really good spot for these and settled on DRW_engine. It's not the best spot since they're not strictly drawing related, but let's start here. Reviewed By: fclem Differential Revision: https://developer.blender.org/D12658
2021-10-03Cleanup: spelling in commentsCampbell Barton
2021-09-17Fix T91448: GPencil Fill simplify not working in renderAntonio Vazquez
The simplify was hardcode to be disabled in render.
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-26Cleanup: spelling in commentsCampbell Barton
2021-07-23Cleanup: code comments punctuation / spacingCampbell Barton
2021-07-06GPencil: Rename BKE_gpencil_visible_stroke_iterAntonio Vazquez
Renamed to BKE_gpencil_visible_stroke_advanced_iter Also created a simple version of the iterator to be used without multiframe and onion skin.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-15Cleanup: correct incomplete commentCampbell Barton
2021-05-28GPencil: Fix unreported random rotation for single point with textureAntonio Vazquez
When using ``Path`` alignment, if the stroke has one point the texture rotates randomly when move the viewport. This was because with one point is impossible to calculate a path. Now, if the stroke has only one point, the texture for this stroke is aligned to Object.
2021-05-26GPencil: Add option to disable masks in view layerFalk David
This patch adds an option in the Layers > Relations panel called "Disable Masks in Render". When checked, no masks on this layer are included in the render. Example: | {F10087680} | {F10087681} | See T88202 for why this is needed. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11234
2021-05-25Fix T86956: VSE shading mode ignores Grease Pencil Vertex colors.Jeroen Bakker
Issue is that due to the strange definition of render in grease pencil (meaning should be rendered similar to rendering). This included normal viewport rendering in OB_RENDER and OpenGL render in OB_RENDER. For other rendering modes the overlay vertex opacity would be used. This patch sets this value to 1 when rendering via a scene strip override. NOTE: that this isn't a good solution as I expect that users want to use the opacity of the Grease pencil object. Perhaps the GPencil team has a better solution for it.
2021-05-19Materials: support changing materials during evaluationJacques Lucke
This commit allows that the evaluated geometry of an object has different materials from the original geometry. This is needed for geometry nodes. The main thing that changes for render engines and exporters is that the number of material slots on an object and its geometry might not match anymore. For original data, the slot counts are still equal, but not for evaluated data. Accessing material slots though rna stays the same. The behavior adapts automatically depending on whether the object is evaluated. When accessing materials of an object through `BKE_object_material_*` one has to use a new api for evaluated objects: `BKE_object_material_get_eval` and `BKE_object_material_count_eval`. In the future, the different behavior might be hidden behind a more general C api, but that would require quite a few more changes. The ground truth for the number of materials is the number of materials on the geometry now. This is important in the current design, because Eevee needs to know the number of materials just based on the mesh in `mesh_render_mat_len_get` and similar places. In a few places I had to add a special case for mesh edit mode to get it to work properly. This is unfortunate, but I don't see a way around that for now. Differential Revision: https://developer.blender.org/D11236
2021-05-18Merge branch 'blender-v2.93-release'Antonio Vazquez
2021-05-18Fix T88370: GPencil render crash when use viewlayer and maskingAntonio Vazquez
When filtering the render using view layer, could be possible the mask is NULL and just need to be ignored.
2021-05-03Cleanup: spellingCampbell Barton
2021-04-29GPencil: glow fx, add threshold value color modeFalk David
This patch adds a threshold value to the glow effect in color mode. Currently, the threshold is hardcoded to 5%. You can select a color and specify a higher threshold to include similar colors in the effect. Note: depends on D10670 Reviewed By: #grease_pencil, pepeland Differential Revision: https://developer.blender.org/D10672
2021-04-14GPencil: Invert color offsetting for Single and Object modeAntonio Vazquez
Now, instead to offset the stroke color to make it visible over fill, the stroke keeps the original color and the fill is offset. Related to the issue in T87406.
2021-04-14Fix T87406: Stroke color when using object color modeFalk David
The color of the strokes was shifted when using `Single Color` or `Object Color`in Solid Display Mode. This was originally done so that it was still possible to differentiate strokes and fills. The fix allows for a completly flat shading by checking if the Lighting Mode is set to `Flat`. If it is, then the colors are not shifted for the strokes and everything will use the same color. Reviewed By: antoniov, fclem Maniphest Tasks: T87406 Differential Revision: https://developer.blender.org/D10957
2021-03-15Fix T86370: Select color for glow is invertedFalk David
The shader was filtering everything but the selected color. The fix inverts the check to make sure that color is selected. Reviewed By: fclem Maniphest Tasks: T86370 Differential Revision: https://developer.blender.org/D10670
2021-02-19GPencil: Don't show only lines in draw modeAntonio Vazquez
As now is possible to use multiframe in Draw mode, the option to display only lines must be disabled.
2021-02-19Fix T85745: Render grease pencil with time offset modifier failsAntonio Vazquez
The problem was introduced fixing task T85035. As the frame was set again when render, if there was a time modifier, the frame was not remaped to the right frame number.
2021-02-18Fix T85769: Grease Pencil Fill option when drawing no longer worksAntonio Vazquez
The fill unclamped thickness value was not properly initialized for using with the new antialiasing. The error was introduced in commit 09f7c9385829
2021-02-18Merge branch 'blender-v2.92-release'Antonio Vazquez
2021-02-18GPencil: Fix unreported broken use only lines in multiframeAntonio Vazquez
This option was broken since the draw engine refactor and it was impossible to display only edit lines for multiframe mode.
2021-02-17Cleanup: Abbreviate enums with 'UNSIGNED_' in the nameGermano Cavalcante
2021-02-17Cleanup: Fix typo errorAntonio Vazquez
2021-02-17Fix T80862: Small stroke opacity modulation is best done in the fragment shaderJamell Moore
To avoid anti-aliasing artifacts on GPencil strokes that have a size smaller than 1 the thickness is clamped and the opacity reduced. This was done in vertex shader but this had the side effect of causing strokes that go from large to small to fade across their lengths. **Solution** The opacity modulation has now been moved to the fragment shader as advised by Clément Foucault. The strokeThickness that was passed to the shader was clamped to prevent it from being too small so an additional unclamped thickness has been passed to the fragment to calculate the opacity modulation. Alternatively I could have chosen strokeThickness and clampedThickness but I decided against renaming the variables in the current code. Reviewed By: fclem Differential Revision: https://developer.blender.org/D10438
2021-02-15Cleanup: Remove code duplication (merge error)Falk David
2021-02-14Cleanup: Source Code Typosluzpaz
Corrects approximately 36 spelling errors in source variable names. Differential Revision: https://developer.blender.org/D10347 Reviewed by Hans Goudey
2021-02-06UI: Fix Typos in Comments and Docsluzpaz
Approximately 91 spelling corrections, almost all in comments. Differential Revision: https://developer.blender.org/D10288 Reviewed by Harley Acheson
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-02-01Merge branch 'blender-v2.92-release'Clément Foucault
2021-02-01DRW: Fix render wrong orthographic depth conversionClément Foucault
Fix for both workbench and Gpencil. Fixes T78574 GPencil: Z pass combine not work
2021-02-01Merge branch 'blender-v2.92-release'Antonio Vazquez
2021-02-01Fix T85035: Gpencil render in background render wrong frameAntonio Vazquez
Due a thread priority, the calculation of the current frame is not done before the frames are available. This produces wrong render frames. The solution is verify the current frame before doing the real render. This adds only a few milliseconds, but it assures the frame is correct. As the problem is only when render in background, the recalculation of the frame is only necessary when do real render and not a viewport render, so there is no impact in the animation FPS.
2021-01-29Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-29Fix T81169: Grease Pencil Z-depth drawing issue on OSX + AMD Graphic CardsJeroen Bakker
The grease pencil merge depth shader is designed to only work correctly in octographic mode. The uv coordinates used `noperspective` attribute. Somehow this doesn't lead to render artifacts on most platforms and was only detected on OSX + AMD cards. This fix would calculate the uv coordinate inside the fragment shader and isn't passed along from the vertex shader. Thanks to Sebastián Barschkis for providing the hardware and time and Clément Foucault for helping out with the final fix.
2021-01-28Cleanup: Fix clang formatAntonio Vazquez
Due a problem in the mergetool, the clang format was totally wrong in the previous commit.
2021-01-28Merge branch 'blender-v2.92-release'Antonio Vazquez
2021-01-28Fix T85035: Gpencil render in background render wrong frameAntonio Vazquez
Due a thread priority, the calculation of the current frame is not done before the frames are available. This produces wrong render frames. The solution is verify the current frame before doing the real render. This adds only a few milliseconds, but it assures the frame is correct. As the problem is only when render in background, the recalculation of the frame is only necessary when do real render and not a viewport render, so there is no impact in the animation FPS.