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-05TexturePaint: Force Workbench Texture Color ModeJeroen Bakker
When in texture paint mode and in solid mode the object that is being texture painted will be rendered by the workbench engine with textures. All other objects would render the same. For other cases the texture paint draw engine will still draw the texture. The texture mode draw engine now only drawn the masks. The opacity sliders influences the texture mask. This change has been implemented conserably. In the future we need to look into making this better, like adding support that every object can be colored differently. Currently when rendering in the workbench we can have up to 3 different color types active (what the user selected, the fallback in case no materials have been configured and this one, forcing textures) Reviewed By: fclem, brecht Differential Revision: https://developer.blender.org/D5190
2019-06-25TexturePaint: Fix Shader CompilationJeroen Bakker
2019-06-21Fix T62876: Camera Background ImagesJeroen Bakker
Migrate old legacy code to the draw mamager/object mode. The old legacy version did not work with wireframe. By migrating the code to modern draw manager code we have mode control on the drawing process. Still background images do not work with OIT, the cause seems to be that the transparent pixels are treated as background pixels. Also There are some artifacts when working with Holdouts and DoF, this is because the draw engines do not pass the correct alpha values. Reviewers: fclem, brecht Differential Revision: https://developer.blender.org/D4638
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-05TexturePaint: Missing Texture Depth TestJeroen Bakker
Depth testing was off as it used the precomputed ModelView matrix. As draw engines currently use a different approach the depth was sometimes a bit off making the color disappear. This change will use a different vertex shader that will write the correct depth. I expected the same change to be needed in the bone selection overlay but was not able to reproduce it. Reviewed By: fclem Maniphest Tasks: T64615 Differential Revision: https://developer.blender.org/D5006
2019-06-03Cleanup: use const argumentsCampbell Barton
2019-05-30DRW: Refactor to use object pointer for drawcall by defaultClément Foucault
This cleans up a bit of duplicated code and some confusion about what was culled and what wasn't. Now everything is culled based on the given object pointer. If the object pointer is NULL there is no culling performed.
2019-05-28Cleanup: DRW: Rename DRW_STATE_BLEND_* for API clarityClément Foucault
2019-05-27Cleanup: DRW: Move WorldClipPlanes to builtin uniformClément Foucault
2019-05-27Cleanup: Paint Overlays: Remove DRW_STATE_OFFSET_*Clément Foucault
2019-05-22Fix T64965: crash using masks in texture paint modeBrecht Van Lommel
2019-05-17Fix face mask edge select drawingCampbell Barton
All edges were drawing black.
2019-05-173D View: Support texture paint mask clippingCampbell Barton
2019-05-15Code style cleanup: `make format`Dalai Felinto
2019-05-14Cleanup: DRW: Remove uneeded _add suffix from DRW_shgroup_call_addClément Foucault
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-10Overlays: Use common_view_lib.glslClément Foucault
This removes ModelViewProjectionMatrix usage
2019-05-01Cleanup: comments (long lines) in drawCampbell 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-03-25Cleanup: styleCampbell Barton
2019-03-22Implement Stencil Mask Drawing for Texture PaintingJeroen Bakker
Stencil mask drawing was not implemented yet. This commit will implement this for texture painting. It brings the state back to how it was for B279. Reviewed By: fclem Maniphest Tasks: T58727 Differential Revision: https://developer.blender.org/D4570
2019-02-23Cleanup: quiet undeclared variable warningCampbell Barton
Also move view_ubo into G_draw.
2019-02-18Fix T57457: animated image sequences not working in Eevee.Brecht Van Lommel
The dependency graph now handles updating image users to point to the current frame, and tags images to be refreshed on the GPU. The image editor user is still updated outside of the dependency graph. We still do not support multiple image users using a different current frame in the same image, same as 2.7. This may require adding a GPU image texture cache to keep memory usage under control. Things like rendering an animation while the viewport stays fixed at the current frame works though.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
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.
2019-01-26Cleanup: draw manager headersCampbell Barton
2019-01-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2019-01-22Cleanp: use single global for draw managerCampbell Barton
Add 'G_draw' for all draw manager globals, avoids adding extern to each file. Connection between `ts` and `globals_ubo` wasn't obvious, now called `G_draw.block` & `G_draw.block_ubo`.
2019-01-11Texture Paint: Add filtering option for texture paint overlayClément Foucault
The overlay should now use the texture interpolation setting in material mode. In image mode, there is now a new button to let the user choose the texture filter. The option is located in the Texture Slots popover and only shows in Image mode.
2019-01-11DRW: Fix texture paint crashing if object has no material slotClément Foucault
2018-12-27Fix T59799: texture paint mode crash for object with no materials.Brecht Van Lommel
2018-12-18DRW: Cleanup / Renaming of mesh batch cache functionsClément Foucault
THis is in order to avoid the jungle of names being different at each step of the API. Also removes some unused functions.
2018-12-18Mesh Batch Cache: Port vertex paint surface to batch requestClément Foucault
2018-12-18Weight Paint Overlay: Refactor wire drawingClément Foucault
This reduce the number of batch/data needed. Stores a select/visiblee flag inside the vert/loop normals.
2018-12-17Mesh Batch Cache: Port Texture paint wires to new batch requestClément Foucault
2018-12-17Mesh Batch Cache: Port Texture paint batches to new batch requestClément Foucault
2018-12-17Mesh Batch Cache: Optimization & Refactor shaded surface supportClément Foucault
This now only upload data per loops to the GPU, making use of index buffer to draw polygon. This make use of the vertex cache, speed up renders and saves a lot of vram. Update performance is also slightly faster and can even be improved further by updating only uvs or vcol independently. This commits breaks texture paint batches. It will be added back in another commit.
2018-12-01Texture Paint: fix wireframe and hiding not working with subsurf.Alexander Gavrilov
The editflag field is only valid in the original mesh instance.
2018-11-26Viewport: implement hiding faces in paint modes.Alexander Gavrilov
In 2.79 hiding works in paint modes with selection enabled, so it is a missing feature. This implements it in texture paint overlays and in workbench base shading. Reviewers: fclem Differential Revision: https://developer.blender.org/D3989
2018-10-03DRW: Fix assert in texture paintClément Foucault
2018-09-19Merge branch 'master' into blender2.8Brecht Van Lommel
2018-08-08Fix missing uniform for vert/weight/texture paintCampbell Barton
Entering any of these modes would assert immediately.
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-06-22PaintMode: Full Shading Boolean => SliderJeroen Bakker
There was a Full Shading bool that was shared across the WP, VP and TP modes. This commit makes some changes: - Replace the bool with a factor. This gives the user more control on the visibility. - Also draw it on top of the Material and Rendered mode so the user can control what he needs. In certain cases you don't want to see the final rendered material, but the actual texture. - Removed the skipping of objects when in paint modes. As now the paint modes are blended.
2018-06-14GPU: consistenly use mipmap on/off in all draw modes.Brecht Van Lommel
This is important for good texture paint performance.
2018-05-20DRW: Rename some DRW_STATE_* for more consistency.Clément Foucault
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
2018-04-30DRW: Remove DRWTextureFormat in favor or GPUTextureFormat.Clément Foucault
Because: - Less redundancy. - Better suffixes. Also a few modification to GPU_texture_create_* to simplify the API: - make the format explicit to the texture creation process. - remove the component count as it's specified in the GPUTextureFormat.
2018-04-30Overlay: Integration of TexturePaint with WorkbenchJeroen Bakker