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
2018-05-11Collections and groups unificationBrecht Van Lommel
NOTE that this branch still has known bugs and TODO comments, it's not ready to merge or save files with. I'm publishing it now for review of the overall design. OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is used for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The related outliner categories were reorganized to be: ** Collections: display collections and their objects ** Objects: display all objects in the scene with parenting hierarchy ** View Layer: edit which collections are used in the view layer * In the collections category we can switch between showing collections in the scene, unlinked collections not linked in any scene, and all in the file. * The outliner right click menus for collections and objects were reorganized. GROUP OPERATORS * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties, this needs to be updated still. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather tedious and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * I tried to make performance not worse than before and improve it in some cases. There are still quite some quadratic time operations in object add / delete which would require much deeper changes to fix. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). TRICKY IMPLEMENTATION BITS * I didn't yet rename all files to preserve git history a bit better, probably this is best done as a second commit after merging. * Renaming collections to groups involved some DNA/RNA trickery to preserve backwards compatibility, in the DNA the struct is still "Group". * Version patching of 2.7 skips all the 2.8 collection patching and immediately convertions to the new data structures. * Version patching tries to keep 2.8 files works more or less, but some data is lost. Keeping it all would be quite complicated. This needs more testing, especially on Hero files. * Collections are not reference counted just like groups weren't, they must be explicitly deleted by the user. * Object ownership is similar to what it was before, in that collection used in a scene increment the object user counts but collections not used in any scene do not. * This involves some tagging each collection as being in a scene or not and keeping that synchronized on changes. * View layers each have a tree of layer collections which mirror the scene collection tree (including linked collections). This require relatively complicated synchronization as collections can change in linked files.
2018-04-19Remove Blender Internal and legacy viewport from Blender 2.8.Ton Roosendaal
Brecht authored this commit, but he gave me the honours to actually do it. Here it goes; Blender Internal. Bye bye, you did great! * Point density, voxel data, ocean, environment map textures were removed, as these only worked within BI rendering. Note that the ocean modifier and the Cycles point density shader node continue to work. * Dynamic paint using material shading was removed, as this only worked with BI. If we ever wanted to support this again probably it should go through the baking API. * GPU shader export through the Python API was removed. This only worked for the old BI GLSL shaders, which no longer exists. Doing something similar for Eevee would be significantly more complicated because it uses a lot of multiplass rendering and logic outside the shader, it's probably impractical. * Collada material import / export code is mostly gone, as it only worked for BI materials. We need to add Cycles / Eevee material support at some point. * The mesh noise operator was removed since it only worked with BI material texture slots. A displacement modifier can be used instead. * The delete texture paint slot operator was removed since it only worked for BI material texture slots. Could be added back with node support. * Not all legacy viewport features are supported in the new viewport, but their code was removed. If we need to bring anything back we can look at older git revisions. * There is some legacy viewport code that I could not remove yet, and some that I probably missed. * Shader node execution code was left mostly intact, even though it is not used anywhere now. We may eventually use this to replace the texture nodes with Cycles / Eevee shader nodes. * The Cycles Bake panel now includes settings for baking multires normal and displacement maps. The underlying code needs to be merged properly, and we plan to add back support for multires AO baking and add support to Cycles baking for features like vertex color, displacement, and other missing baking features. * This commit removes DNA and the Python API for BI material, lamp, world and scene settings. This breaks a lot of addons. * There is more DNA that can be removed or renamed, where Cycles or Eevee are reusing some old BI properties but the names are not really correct anymore. * Texture slots for materials, lamps and world were removed. They remain for brushes, particles and freestyle linestyles. * 'BLENDER_RENDER' remains in the COMPAT_ENGINES of UI panels. Cycles and other renderers use this to find all panels to show, minus a few panels that they have their own replacement for.
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.
2016-04-30Removed DNA for point caches.temp_remove_pointcacheLukas Tönne
2016-04-13Removed remaining use of pointers to particle types as well as boids headers.Lukas Tönne
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2014-11-19Cleanup: #define -> enums.Bastien Montagne
2013-08-03Dynamic Paint: Added a new "smoothness" parameter for waves.Miika Hamalainen
It greatly helps getting rid of that "noise" that occurs if you use really steep objects (like cubes) as a brush. New default value is 1.0 which is just high enough to only get rid of the sharpest spikes, so if you want really smooth waves it's better use higher values. This also seems to "fix" bug [#35413].
2012-09-27incorrect spelling in commentsCampbell Barton
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-22Add weight preview to WeightVG modifiers, and first, simple/basic refactor ↵Bastien Montagne
of how modifiers can generate preview. User side: * Preview for DynamicPaint should keep the same behavior (for now). Weight preview should be somawhat quicker, though. * Preview for WeightVG modifiers is only active in WeightPaint mode, and if the affected vgroup is the active one. * Last active preview modifier in stack wins! Note: that modifier preview topic is yet to be further refined, quite raw/incomplete for now. Dev side: * In draw code, renamed DRAW_DYNAMIC_PAINT_PREVIEW flag to DRAW_MODIFIERS_PREVIEW * Removed use of MOD_DPAINT_PREVIEW_READY in DynamicPaint code (seems unecessary, and if it was, should be of more general scope). * Added eModifierTypeFlag_UsesPreview to ModifierTypeFlag, for modifiers that can generate some preview data. * Added three new modifier funcs, to handle preview modifiers in draw code / mod stack. * For weights preview: added the generic DM_update_weight_mcol func, which can update WEIGHT_MCOL layer with either a given array of weights (currently used by DynamicPaint only), or from current active vgroup(s). So now, draw code is fully generic (i.e. no more modifier-type checking in it). Mod stack code is generic to some extent, but will need more work.
2012-01-21change filepath limit from 240 to 1024Campbell Barton
2012-01-16Dynamic Paint:Miika Hamalainen
* Added per surface options "influence scale" and "radius scale" for tweaking brush settings individually for each surface. * Added option to completely disable drying. This should be nice for indefinitely spreading paint etc. * Improved paint mixing algorithm. * "Paint effects" now work in relative mesh space instead of global. This means that effect speed remains same for identical shapes regardless of their size. * Complete rewrite of "spread effect" algorithm. It now works much better in all test cases done. Old algo sometimes produced artifacts and stopped spreading too early. * Adjustments / rewrite on some parts of dripping algorithm to make it work better with transparent paint. * Added a new "color dry" setting. It can be used to define wetness level when paint colors start to shift to surface "background". Lower values can be useful to prevent spreading paint from becoming transparent as it dries, while higher (default) values give better results in general. * Fix: If multiple displace/wave surfaces were used simultaneously, displace was applied using wrong normal. Please note that due to these changes in "paint effects" system older save files may require some tweaking to match results from previous versions.
2012-01-16use FILE_MAX instead of 240 or comment where define cant be used.Campbell Barton
2012-01-11dynamicpaint had some incorrect string sizes for layers names, use BLI ↵Campbell Barton
string functions in more places too.
2012-01-11Longer names support for all ID and other object namesSergey Sharybin
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
2011-12-30minor dna header cleanupCampbell Barton
2011-11-16Dynamic Paint:Miika Hamalainen
* Wave simulation speed doesn't anymore depend on surface size, but uses relative distances instead. This change will likely change simulation behavior on existing saves, but can be easily tweaked back using the "Wave Speed" parameter. * Added a new wave brush type, "Depth Change". It uses the change of brush intersection between frames, giving a better looking "wake" for moving objects. It also doesn't leave any "dent" to the surface while remaining still.
2011-11-11Dynamic Paint:Miika Hamalainen
* Renamed "Sharp" proximity falloff to "Constant". * Added a new "Negate Volume" option for "Volume + Proximity" brush. * Possible fix for random particle clipping errors.
2011-11-10quiet some warnings from recent mergeCampbell Barton
2011-10-28Dynamic Paint:Miika Hamalainen
* More code changes pointed by Brecht in codereview. * Some user interface improvements. * Updating brush settings now also updates canvas preview.
2011-10-22Dynamic Paint:Miika Hamalainen
* Some changes and cleanup pointed on the codereview.
2011-10-14Dynamic Paint:Miika Hamalainen
* Fix: Wave "timescale" also changed simulation behavior. Now different timescale values will lead to nearly identical results, just slower or faster. * Added "Displace Factor" setting for vertex displace surfaces. You can use it to adjust final displace strength or use negative values to paint bumps. * Added clamp/map value to wave image sequence output settings. * RNA description tweaking. * General code tweaking.
2011-09-10Dynamic Paint:Miika Hamalainen
* Enabled modifier "Apply" button since it can now be used to apply displacement or output layers to the mesh. * Default surface output names are now unique in case canvas has multiple surfaces of same type. * Merged "face aligned" and "non-closed" brush options to a single "Project" toggle, available for "Proximity" brushes. * Added more icons to user interface selections. * Increased default proximity distance. * Set proximity falloff ramp to only affect alpha by default. * Removed some no longer required render ext. functions. * Fix: geometry node vertex alpha didn't work unless "Vertex Color Paint/Light" was enabled from material.
2011-09-05Dynamic Paint:Miika Hamalainen
* Added "Initial Color" setting for surfaces. You can for example set color from UV mapped texture or from vertex colors. * Added clamping option for "wave" brushes. * Merged smudge and drip adjacency search code. This fixes some issues with drip effect and makes code easier to maintain. * Some adjustments to the bounding box generation code. * OpenMP is now completely disabled if no compile flag is set. * Wetness values are now properly clamped on vertex surfaces. No more black dots on >1.0 wetness. * Textured brushes now use same function calls as internal renderer, instead of modified duplicates. * Moved operator code to editors/physics/. * Re-enabled some particle brush optimizations. * Fixed sometimes incorrect volume brush influence. * Fixed possible crash when using a brush that uses "Voxel Data" texture simultaneously with material preview or render. * Fixed texture mapping issues for "Object Center" brush. * Fixed possible crash/corruption when duplicating brush object that uses color ramps. * Other tweaking and code cleanup.
2011-08-28Dynamic Paint:Miika Hamalainen
* Added option to preview surface wetmap instead of paint. * Changed default paint color to blue for better visibility. * Fix: Random sized particles didn't work anymore. * Fix: Particle initial velocity issues when using canvas substeps and a particle brush.
2011-08-21Dynamic Paint:Miika Hamalainen
* Bake calculation memory is now freed if surface is deactivated or baked. * Fixed possibly incorrect brush influence when using "Non-Closed" brush setting. * Added new rna property descriptions. * Added some comments and general code cleanup.
2011-08-05Dynamic Paint:Miika Hamalainen
* Added a new "color spread" slider for "spread" effect to adjust how much colors get mixed. * Improved smudge behavior on "wet" paint. * Displace can now be set "incremental". This way it's added on top of previous displace. * Added "displace clamp" setting. You can use it to limit maximum amount of displace. * Fix: velocity data wasn't always initialized, this could lead to no effect at all or crash. * Fix: Vertex color rendering near zero alpha values was still incorrect.
2011-08-03Dynamic Paint:Miika Hamalainen
* Object velocity can now be used to determine brush influence and color. * Brushes can now be set to "smudge" existing paint. * Added new operators to easily add and remove surface output mesh data layers from Dynamic Paint ui. * Fixed drip effect algorithm to work properly on forces pointing towards surface. * Adjusted drip effect speed. * Drip effect can now use canvas velocity and acceleration to influence drip direction. * Fixed texture mapping for material enabled brushes. * "Object Center" type brushes can now use "material color" as well. * Improved surface partitioning grid generation algorithm. * Fixed possible invalid brush collision detection when OpenMP enabled. * Fixed incorrect random sized particle displace/wave influence. * Fixed "Object Center" brush color ramp falloff. * Fixed invalid zero alpha sampling when rendering vertex colors. * Lots of smaller tweaking.
2011-07-22Dynamic Paint:Miika Hamalainen
* Surface bake data is no longer recalculated every frame, but only when surface mesh has moved/transformed. Results in multiple times better performance on high resolution surfaces when using sub-steps or surface is still. * Heavily optimized particle brushes when random particle size enabled. Up to 10x speedup with large radius particles. * Added an additional "grid" space partitioning structure for surfaces. * Added bounding box checks for brushes. * Smaller overall optimization. * Further OpenMP parallelization. * Added physics tab link to modifier panel. * Fix: "Point Density" texture cache wasn't properly updated. Brushes can now use Point Density textures as well. * Fix: Paint dissolve resulted in black color. * Fix: KD-tree checkups weren't completely thread safe. Fixes possible crash with OpenMP enabled particle brushes. * Fix: When brush was set to use a specific material, it was saved incorrectly and resulted in potential crashes on next load.
2011-07-08Dynamic Paint:Miika Hamalainen
* Canvas and brush can be now enabled simultaneously. This way it's possible for two canvases to interact. * Added basic anti-aliasing support for vertex surfaces. * 3D-view color preview now works even when there's subsurf modifier after Dynamic Paint in modifier stack. * Added a new brush option to use proximity from object center. * Default surface frame range now use scene's start and end values. * Improved ray checks for volume brushes. * Added new "non-closed" option for volume brushes. This way it's possible to use planar meshes as "volume" brushes with predefined ray direction. * New carrot branch splash image by CGEffex. * Improved brush affection code. * Lots of smaller improvements. * Fixed: Weight paint didn't work with particles. * Fixed: Point cache didn't work for non-wave surfaces anymore since last commit.
2011-07-02* Added a new surface type "Waves" that simulates simple 2D wave motion.Miika Hamalainen
* Optimized adjacency point searching for vertex surfaces. * Separated adjacency code from effect system. * Overall code cleaning and tweaking.
2011-06-27Dynamic Paint:Miika Hamalainen
* Fixed memory leak when baking image sequences. * Fixed sub-steps when brush was controlled by a parent object. * Added option to select active outputs for paint surfaces. * Improved color mixing algorithm. * Improved memory allocation behavior. * Memory is now freed even in case of errors. * Removed "initial color" setting, as it's better to adjust color from material. * "Paint effects" system: ** Converted to use new data structures. ** Works now with any number of surrounding points. ** Re-implemented support for UV-image surfaces. ** Added support for vertex surfaces too. ** Improved color handling. ** Improved movement stability. ** "Drip" effect uses now Blender's force fields instead of just z-directional gravity like before. Now each surface point can have different force influence.
2011-06-17Dynamic Paint:Miika Hamalainen
* Image sequence anti-aliasing works again. * Vertex color viewport preview now works with GLSL and textured view modes too. * Added a new "inverse" setting for "volume + proximity" brush. With it brush only has effect within volume but effect is lower near the mesh surface.
2011-06-16Dynamic Paint:Miika Hamalainen
Committed changes from previous weeks, biggest changes are: * Canvas can now have multiple "surfaces" that each can have specific format, type and settings. * Renewed UI to support this new system. * Aside from old "image sequence" output format, Dynamic Paint can now work on vertex level as well. Currently vertex paint and displace are supported. * Integrated vertex level painting with Point Cache. * Added viewport preview for Point Cache surfaces. Due to massive amount of changes, old Dynamic Paint saves are no longer supported. Also some features are temporarily missing or may not work properly.
2011-05-24Applied Dynamic Paint 1.18f patch as a codebase for GSoC.Miika Hamalainen