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
2017-08-15Cleanup/refactor: no new general arg-less macros enforcing var names please!Bastien Montagne
We do have an history of those pieces of evil in our code, would be nice to get fully rid of it, but at the very least let's not add more of them in new code. :)
2017-08-15Merge branch 'master' into blender2.8Sybren A. Stüvel
# Conflicts: # source/blender/makesrna/intern/rna_render.c
2017-08-15Cycles/BI: Add a pixel size option for speeding up viewport renderingLukas Stockner
This patch adds "Pixel Size" to the performance options, which allows to render in a smaller resolution, which is especially useful for displays with high DPI. Reviewers: Severin, dingto, sergey, brecht Reviewed By: brecht Subscribers: Severin, venomgfx, eyecandy, brecht Differential Revision: https://developer.blender.org/D1619
2017-08-12Merge branch 'master' into blender2.8Campbell Barton
2017-08-11iFix T52050: Empty VSE preview for scene strips with OpenGL preview + ↵Bastien Montagne
Rendered settings. 'OpenGL Preview' checkbox was redundant now, just use seq_prev_type value only. Might be OK for 2.79, but should be double-checked first...
2017-08-11Merge branch 'master' into blender2.8Campbell Barton
2017-08-11Fix T52327: Entering/Exiting NLA Tweakmode disables Scene -> Only Keyframes ↵Joshua Leung
from Selected Channels The tweakmode flag and the selected-channels flag accidentally used the same value, due to confusion over where these flags were supposed to be set. The selected-channels flag has now been moved to use a different value, so that there shouldn't be any further conflicts. To be ported to 2.79.
2017-08-10Merge branch 'master' into blender2.8Bastien Montagne
2017-08-10DPI: add back option to control line width, tweak default width.Brecht Van Lommel
Adds thin/default/thick modes to add -1/0/1 to the auto detected line width, while leaving the overall UI scale unchanged. Also tweaks the default line width threshold, so thicker lines start from slightly high UI scales. Differential Revision: https://developer.blender.org/D2778
2017-08-10Eevee: Refraction: Add "thickness" parameter.Clément Foucault
This enables to fake a second refraction event. This is great to simulate thin planar objects such as glass panels.
2017-08-10Eevee: Refraction: Make it available for opaque materials.Clément Foucault
Theses Materials are rendered after the SSR pass. The only difference with previous method is that they have a depth prepass (less overdraw) and are not sorted.
2017-08-10Eevee: Add Screen Space Refraction.Clément Foucault
For the moment the only way to enable this is to: - enable Screen Space REFLECTIONS. - enable Screen Space Refraction in the SSR parameters. - enable Screen Space Refraction in the material tab.
2017-08-09Manipulator: replace hard coded color w/ themeCampbell Barton
2017-08-07Merge branch 'master' into blender2.8Bastien Montagne
Stupid git handles merges terribly when there are conflicts and branch is modified buring merge process... :((((
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-07-29Merge branch 'master' into blender2.8Campbell Barton
2017-07-29Cleanup: quiet picky ubsan warningsCampbell Barton
2017-07-28Merge branch 'master' into blender2.8Campbell Barton
2017-07-28Replace magic numbers with deprecated namesCampbell Barton
The names aren't meaningful but means it wont accidentally use valid names. Also remove textured-font setting
2017-07-28Merge branch 'master' into blender2.8Campbell Barton
2017-07-28Cleanup: clear deprecated UI flagsCampbell Barton
Also adds cursor-lock flag, to be used in next commit.
2017-07-26PyAPI: Store PyInstances for ID'sCampbell Barton
This means once an ID is created, it will keep using the same PyObject instance. This has some advantages: - Avoids unnecessary re-creation of instances on UI poll / redraw. - Accessing free'd ID's gives an exception instead of crashing. (long standing annoyance!, though this only applies to ID's and not yet other data that uses the ID's - vertices for eg). - Allows using instance comparison (a little faster). Note that the instances won't be kept between undo.
2017-07-26FaceMaps: add select flagCampbell Barton
For use by manipulators since they don't have their own persistent data in the blend file.
2017-07-24Eevee: Ssr: Add ssr id to glossy nodes.Clément Foucault
An id is given to each glossy node in order to determine which specular lobe is using ssr.
2017-07-20Depsgraph: Solve TODO about more granular particle settings update taggingSergey Sharybin
2017-07-19ID: Add run-time flag indicating that ID is coming from copy-on-writeSergey Sharybin
2017-07-13Depsgraph: Begin work on making depsgraph per-scene-layerSergey Sharybin
This is a first step towards proper depsgraph "ownership", where we would allow scene to be in multiple states dependent on active workspace or scene layer. This commit introduces a basic API to get proper dependency graph for a given scene layer. It also renames scene->depsgraph to depsgraph_legacy, so it's easier to search0-n-replace in the future.
2017-07-12DwM: Option to use final material over mode shadingCampbell Barton
Support using full material shading in sculpt & paint modes mode. Access 'Full Shading' from the display panel when in paint modes.
2017-07-11Eevee: Transparency: Add transparent Shadow method UI.Clément Foucault
2017-07-11Eevee: Transparency: Add hide backside option.Clément Foucault
2017-07-11Eevee: Transparency: Add Alpha Blend mode.Clément Foucault
2017-07-11Eevee: Add support for Alpha clip and Hashed Alpha transparency.Clément Foucault
Hashed Alpha transparency offers a noisy output but has the benefit of being correctly ordered. Noise can be attenuated with Multisampling / AntiAliasing.
2017-07-04Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/makesdna/DNA_particle_types.h
2017-07-03Fix T51523: Lattice modifier affecting particles even when disabledLuca Rood
Particles were ignoring the lattice modifier visibility, and "influence" property.
2017-07-01Cleanup: unused definesCampbell Barton
2017-06-19Depsgraph: Initial groundwork for copy-on-write supportSergey Sharybin
< Dependency graph Copy-on-Write > -------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || This is an initial commit of Copy-on-write support added to dependency graph. Main priority for now: get playback (Alt-A) and all operators (selection, transform etc) to work with the new concept of clear separation between evaluated data coming from dependency graph and original data coming from .blend file (and stored in bmain). = How does this work? = The idea is to support Copy-on-Write on the ID level. This means, we duplicate the whole ID before we cann it's evaluaiton function. This is currently done in the following way: - At the depsgraph construction time we create "shallow" copy of the ID datablock, just so we know it's pointer in memory and can use for function bindings. - At the evaluaiton time, the copy of ID get's "expanded" (needs a better name internally, so it does not conflict with expanding datablocks during library linking), which means the content of the datablock is being copied over and all IDs are getting remapped to the copied ones. Currently we do the whole copy, in the future we will support some tricks here to prevent duplicating geometry arrays (verts, edges, loops, faces and polys) when we don't need that. - Evaluation functions are operating on copied datablocks and never touching original datablock. - There are some cases when we need to know non-ID pointers for function bindings. This mainly applies to scene collections and armatures. The idea of dealing with this is to "expand" copy-on-write datablock at the dependency graph build time. This might introduce some slowdown to the dependency graph construction time, but allows us to have minimal changes in the code and avoid any hash look-up from evaluation function (one of the ideas to avoid using pointers as function bindings is to pass name of layer or a bone to the evaluation function and look up actual data based on that name). Currently there is a special function in depsgraph which does such a synchronization, in the future we might want to make it more generic. At some point we need to synchronize copy-on-write version of datablock with the original version. This happens, i.e., when we change active object or change selection. We don't want any actual evaluation of update flush happening for such thins, so now we have a special update tag: DEG_id_tag_update((id, DEG_TAG_COPY_ON_WRITE) - For the render engines we now have special call for the dependency graph to give evaluated datablock for the given original one. This isn't fully ideal but allows to have Cycles viewport render. This is definitely a subject for further investigation / improvement. This call will tag copy-on-write component tagged for update without causing updates to be flushed to any other objects, causing chain reaction of updates. This tag is handy when selection in the scene changes. This basically summarizes ideas underneath this commit. The code should be reasonably documented. Here is a demo of dependency graph with all copy-on-write stuff in it: https://developer.blender.org/F635468 = What to expect to (not) work? = - Only meshes are properly-ish aware of copy-on-write currently, Non-mesh geometry will probably crash or will not work at all. - Armatures will need similar depsgraph built-time expansion of the copied datablock. - There are some extra tags / relations added, to keep things demo-able but which are slowing things down for evaluation. - Edit mode works for until click selection is used (due to the selection code using EditDerivedMesh created ad-hoc). - Lots of tools will lack tagging synchronization of copied datablock for sync with original ID. = How to move forward? = There is some tedious work related on going over all the tools, checking whether they need to work with original or final evaluated object and make the required changes. Additionally, there need synchronization tag done in fair amount of tools and operators as well. For example, currently it's not possible to change render engine without re-opening the file or forcing dependency graph for re-build via python console. There is also now some thoughts required about copying evaluated properties between objects or from collection to a new object. Perhaps easiest way would be to move base flag flush to Object ID node and tag new objects for update instead of doing manual copy. here is some WIP patch which moves such evaluaiton / flush: https://developer.blender.org/F635479 Lots of TODOs in the code, with possible optimization. = How to test? = This is a feature under heavy development, so obviously it is disabled by default. The only reason it goes to 2.8 branch is to avoid possible merge hell. In order to enable this feature use WITH_DEPSGRAPH_COPY_ON_WRITE CMake configuration option.
2017-06-19Probe: Add planar type.Clément Foucault
2017-06-19Manipulator: de-duplicate flags and scale optionCampbell Barton
2017-06-15Updates to manipulator APICampbell Barton
While this is work-in-progress from custom-manipulators branch its stable so adding into 2.8 so we don't get too much out of sync. - ManipulatorGroupType's are moved out of the manipulator-map and are now global (like operators, panels etc) and added into spaces as needed. Without this all operators that might ever use a manipulator in the 3D view would be polling the viewport. - Add optional get/set callbacks for non-RNA properties Needed so re-usable manipulators can control values that don't correspond to a single properly or need conversion. - Fix divide by zero bug in arrow manipulator (when moving zero pixels).
2017-06-15Probe: Fix display of the Influence of grid probes.Clément Foucault
2017-06-15Eevee: Probes: Add data display for cubemaps.Clément Foucault
2017-06-15Probe: fix clip distances showing only for one probe.Clément Foucault
2017-06-15Probe: Add grid probe parameters.Clément Foucault
2017-06-12Rename probe to light-probeCampbell Barton
Probe is a real general term, the new name is used often in docs online.
2017-06-10Probe: Small UI improvmentsClément Foucault
-Better falloff default. -Add clip distance visualisation. -Reformat UI and add a display panel.
2017-06-10Probe: Remove Bounding Box parameter.Clément Foucault
After using it for like 30 sec, the min max bound box is absolutely not practical. Reverting into using a unit cube with object transform. This also simplify the code. In the future of center probes will be implemented using another object matrix (via an object pointer).
2017-06-09Eevee: Add parallax correction to probe reflectionsClément Foucault
2017-06-09Probe: Add influence display and rework UI.Clément Foucault
2017-06-09Probes: Add more parameters.Clément Foucault
Add Min Max for box, and distance for sphere falloff. Same for parallax. Add clip distances.