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
2020-06-02GPU: Texture: Replace internal sampler state by explicit state objectClément Foucault
This makes it easier to track as well as allowing us to sample the same texture with different sampling parameters (which should fix the related T73942 in the long run). Reviewed By: brecht Differential Revision: https://developer.blender.org/D7831
2020-05-07Fix T76510: Eevee OpenVDB render artifacts due to texture clampingBrecht Van Lommel
2020-04-22GPU: Add GPU_texture_copyClément Foucault
This allow to copy entire texture in a faster way than using framebuffer blitting. This uses ARB_copy_image extension if available and fallback to glCopyTexSubImage2D for older gl version. Both method should be as fast if not faster than the framebuffer blitting.
2020-03-11EEVEE: Replace octahedron reflection probe by cubemap arrayClément Foucault
We implement cubemap array support for EEVEE's lightcache reflection probes. This removes stretched texels and bottom hemisphere seams artifacts caused by the octahedral projection previously used. This introduce versioning code for the lightcache which will discard any lightcache version that is not compatible. Differential Revision: https://developer.blender.org/D7066
2020-03-11Smoke: put density/color in separate textures, fixes for workbench shaderBrecht Van Lommel
This is more in line with standard grids and means we don't have to make many special exceptions in the upcoming change for arbitrary number of volume grids support in Eevee. The workbench shader was also changed to fix bugs where squared density was used, and the smoke color would affect the density so that black smoke would be invisible. This can change the look of smoke in workbench significantly. When using the color grid when smoke has a constant color, the color grid will no longer be premultiplied by the density. If the color is constant we want to be able not to store a grid at all. This breaks one test for Cycles and Eevee, but the setup in that test using a color without density does not make sense. It suffers from artifacts since the unpremultiplied color grid by itself will not have smooth boundaries. Differential Revision: https://developer.blender.org/D6951
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-02-20Cleanup: declatatuons for functions that don't existCampbell Barton
2020-02-15GPU: Add GPU support to fill a texture image with a constant valuemano-wii
This solution is optimized for GL version 4.4 or greater.
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2020-02-10Cleanup: sort file, struct listsCampbell Barton
2020-01-29Fix T73188: RenderResult as Camera BG ImageJeroen Bakker
In blender 2.79 you could use a render result as a camera background image. This is useful during layout/compositing. During Blender 2.80 development there were 2 issues introduced that removed this feature. * to receive a render result the image required a lock. This lock wasn't passed and therefore no image was read from the result. Generating an GPUTexture from an Blender image also didn't do the locking. * the iuser->scene field wasn't set what is required for render results. This change adds an optional `ibuf` parameter to `GPU_texture_from_blender` that can be passed when available. Reviewed By: fclem, brecht Differential Revision: https://developer.blender.org/D6684
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
2019-06-26Revert "GPU: Create and use new GPU_texture_read_rect utility."mano-wii
This reverts commit e061cb44378efaf159a30fb1c5834db48ffb2bb3. This function is problematic on some operating systems. # Conflicts: # source/blender/draw/intern/draw_manager.c # source/blender/gpu/GPU_texture.h # source/blender/gpu/intern/gpu_texture.c
2019-06-24Fix T65812: Image empty has wrong aspect with limit texture sizeCampbell Barton
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-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-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-22Silence warningsDalai Felinto
2019-03-22GPU: Create and use new GPU_texture_read_rect utility.mano-wii
2019-03-20Cleanup: use lowercase for dimensions in function namesCampbell Barton
Most API's already use this convention.
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-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-10-26GPUTexture: Add supports for GL_DEPTH32F_STENCIL8 texture formatClément Foucault
2018-08-10GPUMaterial: Group all colorband texture togetherClément Foucault
This lower the use of texture samplers slots and let users use more real textures in their shaders. This patch also make the ramp texture 16 bit floating point. Meaning you can now use value greater than one in your color ramps. With the limit of 128 colorband per shader (a color band being either a color ramp, a wavelength node or a curve node (and maybe wavelength node in the future)). Only drawback with the current implementation is that it does not remove colorband from pruned GPUNodes but it shouldn't really matter in practice. This should fix T56010
2018-07-19GPU: Add GC to FBOs and UBOs and centralize all GCsClément Foucault
GPUFrameBuffers were being free when no context was attached or in the wrong gl context. This make sure this does not happen again. You can now safely free any gl resource from any thread (well as long as it's not used anymore!).
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-10GPUTexture: Refactor of texture creation & new featureClément Foucault
- Texture creation now requires explicit data type. - GPU_texture_add_mipmap enable explicit mipmap upload. - GPU_texture_get_mipmap_size can be used to get the size of a mipmap level of an existing GPUTexture - GPU_texture_read let you read back data from a gpu texture.
2018-06-27bf_gpu: Add GPU_state module.Ray Molenkamp
This has wrappers for the most common gl* functions in the codebase, and is in preparation for D3502 Reviewers: brecht, fclem Differential Revision: https://developer.blender.org/D3501
2018-06-22Cleanup: styleCampbell Barton
2018-06-22GLRefactor: Refactor bf_blenfont to use GPUTexture instead of raw GL calls ↵Ray Molenkamp
and types. In an effort to centralize all opengl calls in the codebase, this patch replaces the raw opengl calls in bf_blenfont with GPUTexture so it's no longer depended on opengl headers. reviewer: Brecht Differential Revision: https://developer.blender.org/D3483
2018-06-14GPU: consistenly use mipmap on/off in all draw modes.Brecht Van Lommel
This is important for good texture paint performance.
2018-06-12Cleanup: remove image->bindcode, always wrap in GPUTexture.Brecht Van Lommel
This simplifies code, and will hopefully make UDIM usage of GPUTexture a little easier.
2018-06-11Revert "Cleanup: remove image->bindcode, always wrap in GPUTexture."Brecht Van Lommel
This reverts commit 8242a5bc853a74da1273fc7ad4b959ac716c563c. This isn't quite ready to use yet.
2018-06-11Cleanup: remove image->bindcode, always wrap in GPUTexture.Brecht Van Lommel
2018-06-08Rename: GPU_texture_orphansDalai Felinto
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04 Cleanup: strip trailing space in GPU moduleCampbell Barton
2018-06-02GPU: Fix texture being freed in threads without ogl context bound.Clément Foucault
This is a dirty fix. A bit more cleaner approach would be to check if a context is bound and delay the deletion only in this case. Also we may want to do this orphan deletion at some other places than wm_window_swap_buffers.
2018-05-31GPUTexture: Expose GPU_texture_create_buffer and add GL_R32I support.Clément Foucault
2018-05-13GPUTexture: Add Texture Buffer support.Clément Foucault
This is needed by opensubdiv and can be helpfull in a lot of other cases.
2018-04-30GPUTexture: Add support for GPU_RG16.Clément Foucault
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-25Silhouette Overlap OverlayJeroen Bakker
Added Object Overlap Overlay - Added R32UI support to GPU_framebuffer - Added R32U support to draw manager - The overlay mode has a object data pass that will render 'needed' data to specific buffers so we can mix them together via a deferred rendering. In future will also add UV's and other data - Overlap is implemented as an overlay so it could be used on top of the Scene lighted Solid mode (that will be rendered by Eevee. Reviewers: fclem, brecht Reviewed By: fclem Subscribers: sergey Tags: #code_quest Maniphest Tasks: T54726 Differential Revision: https://developer.blender.org/D3174
2018-04-16GPU/DRW: Add GPU_R16UI format.Clément Foucault