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-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-15Liquid Simulation Display Options (GSoC 2020)Sriharsha Kotcharlakot
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch. **Major changes:** === Viewport Display === - //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly. - An option to display //gridlines// when the slicing method is //single//. ==== Grid Display ==== - Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI. ==== Vector Display ==== - //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces. - Made vector display options available for external forces. ==== Coloring options for //gridlines// ==== - Range highlighting and cell filtering options for displaying the simulation grid data more precisely. - Color gridlines with flags. - Also, made slicing and interpolation options available for Volume Object. Reviewed By: JacquesLucke, sebbas Differential Revision: https://developer.blender.org/D8705
2020-09-12Fix remaining GL calls/type preventing from building due to recent cleanupClément Foucault
2020-09-05GPUTexture: OCIO: Workaround new missing bind error checkingClément Foucault
We cannot change the texture bind point since the interface count 4/5 textures to bind. Changing the uniform to avoid one bind make the system thinks one texture is missing. Avoid this by creating a dummy texture and binding it to the empty slot.
2020-09-05Cleanup: GPUTexture: Move debug messages outside of creation functionClément Foucault
# Conflicts: # source/blender/gpu/intern/gpu_framebuffer.cc
2020-09-05GPUTexture: Change texture creation APIClément Foucault
This is to modernize the API: - Add meaningful name to all textures (except DRW textures). - Remove unused err_out argument: only used for offscreen python. - Add mipmap count to creation functions for future changes. - Clarify the data usage in creation functions. This is a cleanup commit, there is no functional change. # Conflicts: # source/blender/gpu/GPU_texture.h
2020-09-05OCIO: Use GPUTexture instead of OpenGL calls and remove gl dependencyClément Foucault
Simple cleanup. Part of the Vulkan Port T68990.
2020-09-01OCIO: Make GLSL implementation use GPUUniformBuf to avoid debug errorsClément Foucault
Now that we use internal state info, we require drawing that uses the GPU api to use it throughout the whole pipeline. This is in order to track the GL state and do our own error checking.
2020-08-02Cleanup: OCIO: Remove extern "C" around blender headersClément Foucault
2020-07-30GPUBatch & GPUImmediate: Use GPUShader instead of using raw OGL handleClément Foucault
2020-06-02OCIO: GLSL: Avoid undefined behaviorClément Foucault
Set ubo binding after shaderinterface creation as GPU_shaderinterface_create will call glUniformBlockBinding.
2020-06-02GPU: ShaderInterface: Refactor to setup all uniform at creation timeClément Foucault
This remove the complexity of queriying the locations at runtime and allows for more performance and upfront binding specifications. The benefit of doing everything at creation time is that we can assign binding points in a predictable order which is going to be somewhat the same for every similar shader. This also rewrite GPU_vertformat_from_shader to not use shaderface. This is to keep the shaderface simple. If it becomes necessary to not query the shader after creation (i.e: vulkan?) we could just create the vert format in advance at compilation for PyGPU shaders. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7879
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-06Fix memory leak in the colorio fallback implementation.Sebastian Parborg
We would previously not store the transforms that were added to the group transform node. This would lead to pointer to allocated memory being lost and not freed.
2020-02-25Overlay: Fix overlays being washed out by render colorsClément Foucault
Clamping here might be a bit too much if output is expected to be HDR. But we don't support HDR atm so clamping is fine.
2020-02-17ColorManagement: Dithering ImprovementClément Foucault
- Unlock property range. - Use triangular noise to keep perceptual noise error more uniform. Remap range to preserve perceptual intensity. - Center noise distribution around 0 for GPU implementation because of rounding. - Do dithering after merging overlays. Effect of using triangular noise is not really noticeable if you don't use really low bitdepth. But doing a test in the shader were we artificially reduce the bitdepth (`col = (col * 16) / 16;`) reveals the real difference. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6850
2020-02-15Fix T73796: Memory leak saving imageCampbell Barton
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2019-11-27Curve: CurveMapping Extend OptionJeroen Bakker
Extend options are currently stored per curve. This was not clearly communicated to the user and they expected this to be a setting per CurveMapping. This change will move the option from `Curve` to `CurveMapping`. In order to support this the API had to be changed. BPY: CurveMap.evaluate is also moved to CurveMapping.evaluate what breaks Python API. Cycles has been updated but other add-ons have not. After release of 2.81 we can merge this to master and adapt the add-ons. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D6169
2019-05-25bf_intern_opencolorio: Fix unused variable build warning with MSVC.Ray Molenkamp
2019-05-20Color Management: update configuration, remove legacy transformsBrecht Van Lommel
* Replace Log view transform with Filmic Log. * Remove Rec.709, DCI-P3 displays that were incomplete and outdated. * Remove outdated RRT and Film transforms, replaced by Filmic. * Remove camera responsive curves that don't work with HDR colors. * Rename Default view transform to Standard. We're breaking compatibility now for 2.80, so that we can add future improvements on a clean config. Part of the code was contributed by George Vogiatzis in D4782. Differential Revision: https://developer.blender.org/D4900
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-06Color management: add functions to detect scene linear and sRGB color spacesBrecht Van Lommel
Same as the ones in Cycles, but intended for GPU textures.
2019-05-01Cleanup: comments (long lines) in various intern/ libsCampbell Barton
2019-04-18Armature: remove remains of the object-level deformation data cache.Alexander Gavrilov
Now that B-Bone shape data is kept in bPoseChannel_Runtime, the armature level cache only holds one quaternion value per bone. It can also be moved to runtime, and the structure removed. This has an additional effect that, as far as I can tell, now the Armature modifier can run as soon as all of the bones it actually needs are done, thus making T59848 a purely depsgraph level problem.
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-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
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.
2018-12-13Color management: add OCIO aware utility functions for transform to/from XYZ.Brecht Van Lommel
2018-12-06Fix T58816: Color management Display Device other than sRGB crashesSergey Sharybin
This fixes our workaround for until proper solution is accepted in upstream. Now, when default view behaves same as it was supposed to (and as it behaves in OCIO-1.0.9) it is obvious that our configuration violates own design -- default view is used for cases when images don't want to be displays using "render" settings.
2018-12-06Color management: Fix issue when active views/displays are not specifiedSergey Sharybin
2018-12-05Color management: Fix/workaround broken getDefaultDisplay()Sergey Sharybin
This is something what is caused by OCIO library. The patch has been submitted there: https://github.com/imageworks/OpenColorIO/pull/638 For until it is refined and checked we do workaround from our side.
2018-08-28Merge branch 'master' into blender2.8Brecht Van Lommel
2018-08-28cmake: adjustments required for lib-upgrade on windows.Ray Molenkamp
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-18GWN: Port to GPU module: Move files to GPUClément Foucault
This does not include all the struct and type renaming. Only files were renamed. gwn_batch.c/h was fusioned with GPU_batch.c/h gwn_immediate.c/h was fusioned with GPU_immediate.c/h gwn_imm_util.c/h was fusioned with GPU_immediate_util.c/h
2018-05-31OpenColorIO: cache multiple shaders instead of just one.Brecht Van Lommel
Fixes constant shader and texture rebuilding when doing animation playback with multiple editors that use different view transforms.
2018-04-24OpenGL: Remove remaining instances of GL_RGBA16F_ARB.Clément Foucault
There is no need for it now that we use opengl 3.3. Use GL_RGBA16F instead.
2017-09-07Fix leak w/ ocio glsl drawCampbell Barton
2017-08-30Fix T52591: OpenColorIO not working correct with OpenGL core profile on macOS.Brecht Van Lommel
Also remove textureSize() replacement code, is always supported now.
2017-08-30OCIO: use modern GLSL texture functionsMike Erwin
small part of ongoing OpenGL upgrade
2017-08-30Attempt to fix OpenColorIO issues on MacDalai Felinto
We cannot have version130 there (should use version 330 instead). Patch suggested by Brecht Van Lommel
2017-08-15Fix building with OCIO after recent gawain files renamings.Bastien Montagne
2017-06-19Fixup for gawan renameDalai Felinto
inten/opencolorio and *.cc were ignored. Build error introduced on b4d053efc75424fca4b413ac1bc7a7e826fac629.
2017-05-28Merge branch 'master' into blender2.8Bastien Montagne
2017-05-27Remove MinGW supportAaron Carlisle
The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648
2017-05-17Cleanup: remove GLSL version checksCampbell Barton
2017-05-08Add comment about vertex format created in OCIOSergey Sharybin