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-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2021-12-07Fix crash when switching back from render preview.Jeroen Bakker
Issue is that external engine uses the gpu info. but overwrote the instance data. The draw manager would then detect instance data and required the engine type to have a instance free callback. The solution is to save some space in the engine data to hold an empty and unused instance_data attribute to comply with `ViewportEngineData` struct.
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-09-21Cycles: merge of cycles-x branch, a major update to the rendererBrecht Van Lommel
This includes much improved GPU rendering performance, viewport interactivity, new shadow catcher, revamped sampling settings, subsurface scattering anisotropy, new GPU volume sampling, improved PMJ sampling pattern, and more. Some features have also been removed or changed, breaking backwards compatibility. Including the removal of the OpenCL backend, for which alternatives are under development. Release notes and code docs: https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Cycles https://wiki.blender.org/wiki/Source/Render/Cycles Credits: * Sergey Sharybin * Brecht Van Lommel * Patrick Mours (OptiX backend) * Christophe Hery (subsurface scattering anisotropy) * William Leeson (PMJ sampling pattern) * Alaska (various fixes and tweaks) * Thomas Dinges (various fixes) For the full commit history, see the cycles-x branch. This squashes together all the changes since intermediate changes would often fail building or tests. Ref T87839, T87837, T87836 Fixes T90734, T89353, T80267, T80267, T77185, T69800
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-05Eevee Cryptomatte: Store hashes in render result meta dataJeroen Bakker
Stores cryptomatte hashes as meta data to the render result. Compositors could use this for lookup on names in stead of hashes. Differential Revision: https://developer.blender.org/D9553
2020-10-22DRW: Fix custom engine not being BGL safeClément Foucault
This was caused by unprotected drawing callbacks. As of 2.91, we require that all python callbacks used for drawing needs to be safeguarded by `GPU_bgl_end()` to end the state tracking override.
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-10Cleanup: spellingCampbell Barton
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-06-24Cleanup: unused struct membersCampbell Barton
2020-06-03Cleanup: DRW: Remove builtin 3D only shader usageClément Foucault
2020-05-20Cleanup: make guarded memory allocation always thread safeBrecht Van Lommel
Previously this would be enabled when threads were used, but threads are now basically always in use so there is no point. Further, this is only needed for guarded allocation with --debug-memory which is not performance critical.
2020-05-14Fix T76729: Particle Hair Get Occluded by OverlaysJeroen Bakker
When using an external render engine Blender will still draw an OpenGL depth buffer for the overlay engine to work correctly. Particle systems were ignored, what lead to occluded hair and other artifacts. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7730
2020-03-20Python API: add bl_use_stereo_viewport for RenderEngineBrecht Van Lommel
To indicate if the render engine supports rendering a stereo 3D viewport. This is not currently supported for Cycles. Fixes T62582
2020-03-13Cleanup: pass const args (mostly Scene & RenderData)Campbell Barton
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2020-01-23Fix T69121 DRW: Missing depth buffer refresh with GPencil + CyclesClément Foucault
I just cleaned up the logic and checked for GPencil objects in the scene.
2019-09-19Fix T67471: hidden particle emitter occludes in Cycles rendered viewportBrecht Van Lommel
2019-06-02Fix T65185: Cycles viewport render no refreshing overlays properlyBrecht Van Lommel
Don't rely on detecting view matrix changes to refresh depth buffer, instead detect redraw tags coming from progressive render samples.
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-27Fix annotations not drawing correctly on Cycles rendered viewBrecht Van Lommel
2019-05-22DRW: Remove some usage of DRW_viewport_matrix_getClément Foucault
2019-05-16Cycles: Fix missing viewport updates after recent changesSergey Sharybin
We can not access ensured-to-be-evaluated dependency graph from the render API: some of it is running from within evaluation which makes it possible for engines to access list of evaluated IDs. Solved by passing dependency graph to viewport functions, similar to the final render functions.
2019-05-14Cleanup: DRW: Remove uneeded _add suffix from DRW_shgroup_call_addClément Foucault
2019-05-02DrawManager: External Engine Depth BufferJeroen Bakker
Only draw the depth buffer when overlays are enabled and scene or view has changed. When using Cycles in the viewport for every viewport draw call the depth buffer was renewed. Draw calls happened when a sample was finished or the status report was updated. This could waist some CPU/GPU cycles. This change will check when the depth buffer needs to be updated or when the last known depth buffer could be reused. Reviewers: brecht, fclem Maniphest Tasks: T63525 Differential Revision: https://developer.blender.org/D4775
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-20Cleanup: use lowercase for dimensions in function namesCampbell Barton
Most API's already use this convention.
2019-02-23Cleanup: quiet undeclared variable warningCampbell Barton
Also move view_ubo into G_draw.
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-06GPU: refactor clipped drawing from DRW into GPUCampbell Barton
Needed to fix T61196, supporting clipped back-buffer in the 3D view which is done outside the draw module. It was also inconvenient having DRW_shader_* versions of GPU_shader_* API calls. - Clipping distances are now supported as a shader configuration for builtin shaders. - Add shader config argument when accessing builtin shaders. - Move GPU_shader_create_from_arrays() from DRW to GPU.
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-31Cleanup: add trailing commasCampbell Barton
Improve clang-format output.
2019-01-26Cleanup: draw manager headersCampbell Barton
2019-01-24Cleanup: add missing braces to draw managerCampbell Barton
2019-01-24DRW: use clipping for depth bufferCampbell Barton
Object selection now supports clipping.
2019-01-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-15GPU_matrix: use Blender's naming conventionsCampbell Barton
Thanks to @sergey for review
2018-05-30Render API: rename some API functions back to earlier names.Brecht Van Lommel
Their purpose is the same, no reason to break API compatibility here.
2018-05-20DRW: Rename some DRW_STATE_* for more consistency.Clément Foucault
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
2018-01-30DRW / Render: Add support for render pipeline in drawmanager.Clément Foucault
For simplicity we choose to execute the rendering of Opengl engines in the main thread and block the interface. This might be addressed in the future at least for video rendering. A drawmanager wrapper (DRW_render_to_image) is called by the render pipeline to set up the Opengl state and then call the specific draw_engine->render_to_image function.
2017-11-29External engine: Cleanup, use lower case prefix for private functionsSergey Sharybin
2017-11-29Draw manager: Listen to depsgraph's ID update callbacksSergey Sharybin
This replaces dedicated flag which wasn't clean who sets it and who clears it, and which was also trying to re-implement existing functionality in a way. Flushing is not currently very efficient but there are ways to speed this up a lot, but needs more investigation.