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
2019-08-17Cleanup: spellingCampbell Barton
2019-08-16Fix T56408: Hair children recalc on every frame on Alembic meshSybren A. Stüvel
This fixes the glitching hairs described in T56408, T63534, and possibly also T63534. The fix consists of returning the original mesh (i.e. as visible in edit mode) when constructing the ORCO mesh. This allows a static set of coordinates to be used when computing the child hair positions. The original mesh is only returned when it has the same topology (at least same number of vertices, loops, and polys. It's up the author of the Alembic file to ensure stable geometry when it's desired to be compatible with Blender's hair system. Reviewers: mont29, brecht Differential Revision: https://developer.blender.org/D5492
2019-08-14Cleanup: clang-format, sort structs & cmake filesCampbell Barton
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-08-01Alembic: fix heap-use-after-free errorSybren A. Stüvel
The mesh can be freed by BKE_mesh_nomain_to_mesh(), so we need to get the `ME_AUTOSMOOTH` flag before that call, and not after.
2019-08-01Fix T61935: load camera transforms from Alembic files written by MeshroomSybren A. Stüvel
Meshroom writes two hierarchies to Alembic, one rooted at `/mvgRoot/mvgCameras` and the other at `/mvgRoot/mvgCamerasUndefined`. These paths have no schema definition, and thus are ignored by Blender. The cameras themselves have those schemaless paths as parent, and have their transforms marked as "inherited", e.g. relative to their parent. As these cameras have no valid parent, there is no Blender object to use to convert their local matrices to world matrices, and Blender just decided to reset them to the unit matrix. Now "inherited" transforms without a parent in Blender are interpreted as world transforms. Reparenting those objects to a Blender object will re-interpret the transforms as local to the parent again.
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-31Fix build error after recent cleanupBrecht Van Lommel
2019-07-31Cleanup: remove unused boost codeBrecht Van Lommel
2019-07-30Alembic export: fix exporting of loop normalsSybren A. Stüvel
When the mesh is using custom normals, those should always be exported, regardless of the `ME_SMOOTH` flag on the invidivual polys. Also replaced the loop normal writing with the same logic as we use for reading (less pointer arithmetic, more normal counting).
2019-07-30Alembic import: load face-varying normalsSybren A. Stüvel
Loop normals are called 'Face-varying normals' in Alembic. Before this commit, the existence of such normals was used to enable smooth shading. This is incorrect, as the normals could encode flat faces just as well. This commit adds the loading of these normals as custom loop normals. It then also enables Auto-Smoothing on the mesh (which is a bit of a misnomer and indicates to Blender that the custom normals should be used). Fixes the glitching described in T65959. Differential Revision: https://developer.blender.org/D5191
2019-07-30Cleanup: Alembic: renamed 'smooth_normals' to 'export_loop_normals'Sybren A. Stüvel
The name now indicates what happens when the variable is set to true. No functional changes.
2019-07-30Alembic: changed 'void *user_data' to 'Mesh *mesh'Sybren A. Stüvel
The only thing that is stored in this pointer is a `Mesh*`, and casting it from/to `void*` is unnecessary and confusing. Maybe the entire CDStreamConfig class could/should be removed at some point. No functional changes.
2019-07-30Alembic: transformed chain-of-ifs into switch statementSybren A. Stüvel
By having a switch statement that lists all the values of the enum, it is clear which cases we're not handling, and it also allows for warnings in the future when the enum expands. No functional changes.
2019-07-30Alembic: use `r_` prefix for return variablesSybren A. Stüvel
No functional changes.
2019-07-30Alembic: removal of always-zero parameterSybren A. Stüvel
The `poly_start` parameter was always 0, so adding it to a poly index from Alembic is a no-op. No functional changes.
2019-07-30Fix T65717: Alembic (camera - also mesh) import scale issueSybren A. Stüvel
The w-component of the translation column of the scaled matrix wasn't set to 1.0, which, apart from being incorrect, caused drawing problems. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5290
2019-07-10Alembic export: avoid BLI_assert() failure when object is not in depsgraphSybren A. Stüvel
When the object we iterate over is not part of the depsgraph, we cannot get the evaluated copy to export. This workaround is temporary to avoid a BLI_assert() failure getting the evaluated mesh of this object. This will be handled more elegantly in the new AbstractHierarchyIterator that I'm working on, but that requires a bigger change than we should allow this close to the 2.80 release candidate. This fixes a problem described in T58686.
2019-07-09Alembic import: fix crash when loading invalid meshSybren A. Stüvel
These were just some missing nullptr checks.
2019-07-09Fix T52814 and T58686: Alembic crashing on fluid sim exportSybren A. Stüvel
The velocities std::vector was allocated in too narrow a scope, causing use-after-free errors.
2019-07-03Fix T66369: Excessive WARN messages in console when opening older filesBastien Montagne
CDData checking on file load was not taking into account deprecated CD_MTEXPOLY datatype, which unfortunately shows same weird glitch as CD_PAINT_MASK and CD_FACEMAP ones... Note that it was annoying (due to amount of warnings in console), but totally harmless, since that data type is just deleted anyway. This commit also generally cleans up the CD_MTEXPOLY deprecation code, we have a system to handle that, let's use it, instead of defining local static values to replace it...
2019-07-02Fix assert in Alembic tests with constraintsBrecht Van Lommel
Leave the reader to be created on the CoW object in the depsgraph evaluation, don't assign the one used for importing to the original object.
2019-06-21Fix: Alembic import segfault when importing mesh with null UVsSybren A. Stüvel
This fixes an issue introduced in 4337bc2e6303dbd5f295878f3e7490995a62713a.
2019-06-18Fix T65901: Alembic crash on out-of-bounds UV indicesSybren A. Stüvel
An Alembic file saved by 3DS Max caused Blender to crash when importing. Either the UV indices in the file are out of bounds or they are written in a way we don't expect. In either case, this now no longer causes Blender to crash.
2019-05-17Cycles/Eevee: unify depth of field settings for camerasJeroen Bakker
There is now a checkbox to enable/disable depth of field per camera. For Eevee this replace the scene level setting. For Cycles there is now only an F-Stop value, no longer a Radius. Existing files are converted based on Cycles or Eevee being set in the scene. Differential Revision: https://developer.blender.org/D4882
2019-05-15Outliner Restriction: Naming sanitization and iconDalai Felinto
No major API change here, only in the outliner restriction column variables (e.g., show_restrict_column_selectable > show_restrict_column_select). * Get rid of _INSTANCE (introduced on b1af68200159). * Differentiate (everywhere but the API) between HIDE (temporary) and VIEWPORT (global). * Use the expected icon for restrict viewport (same as objects and modifiers). * selectable > select
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-05-01Alembic: integrate cache file into the dependency graphBrecht Van Lommel
* The cache file datablock is now evaluated as part of the dependency graph, creating/freeing the Alembic file handle matching the current frame. Modifiers and constraints depend on this evaluation. * Cache file handles and readers now only exist on COW datablocks, never the original ones. * Object data paths are flushed back to the original for the user interface. * The cache file keeps a list of all readers associated with its handle, and automatically frees them when the handle is freed. This kind of sharing of data across datablocks is weak but we have no better mechanism for it. Fix T62720: Alembic sequences not working and crashing Differential Revision: https://developer.blender.org/D4774
2019-04-29Cleanup: comments (long lines) in alembicCampbell Barton
2019-04-25Fix T63528: Alembic export always showing error on macOS, even on successBrecht Van Lommel
tellp() is not valid to check if the string stream is empty. Just get the string directly as there is no obvious efficient method to check otherwise.
2019-04-22Cleanup: style, use bracesCampbell Barton
Add braces for modules already using braces almost everywhere.
2019-04-18Alembic: catch weird exceptions from library instead of aborting Blender.Bastien Montagne
Similar to what is done e.g. in AbcMeshReader::read_mesh()...
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-16CMake: add libs needed for gtestsCampbell Barton
2019-04-14Fix Alembic using wrong visible/selected flags, fix warnings.Brecht Van Lommel
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-04-12Fix T61935 Crash when importing Alembic from MeshroomSybren A. Stüvel
The Alembic importer can now deal with XForm-less objects. Apparently MeshLab exports point clouds without parent transformation matrix (XForm in Alembic-speak). We shouldn't warn about this, but handle it properly instead.
2019-04-11Alembic export: free depsgraph after useSybren A. Stüvel
2019-04-11Fix T62664: Exporting Metaballs as Alembic crashes BlenderSybren A. Stüvel
The `AbcMetaballWriter` now subclasses `AbcGenericMeshWriter` instead of wrapping an `AbcMeshWriter`. `AbcGenericMeshWriter` was created for this purpose (writing non-mesh objects as mesh to Alembic) and performs the work in a cleaner and, more importantly, not crashing way.
2019-04-11Alembic export: always consider metaballs animatedSybren A. Stüvel
The metaball 'mesh' is animated whenever any of its components are animated. However, it's not easily possible to visit all its components (AFAIK it requires a full scan of all objects in the scene and comparing names), so due to the blobby nature of the metaballs I now simply assume they'll be animated. This fixes an issue where a metaball was considered static when the base ball was static. For example, MBall static but MBall.001 animated would be considered 'not animated'.
2019-04-04Fix T63276: crash deleting object with alembic constraint.Brecht Van Lommel
2019-04-04Fix part of T62720: crash loading alembic mesh that has no vertices.Brecht Van Lommel
2019-03-22Modifiers: add minimum number of vertices to triangulate modifier.Ish Bosamiya
This lets you only triangulate n-gons when setting the number to 5 or more. Differential Revision: https://developer.blender.org/D4367
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-02-18doxygen: update doxygen & add balembic groupCampbell Barton
2019-02-18Cleanup: conform headers to have license firstCampbell Barton
Also remove doxy comments for licenses and add missing GPL header.
2019-02-16DNA: rename near/far -> clip_start/clip_endCampbell Barton
Rename for Camera, View3D (also CameraParams & Render not DNA)
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893