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-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-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-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-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-04-22Cleanup: style, use bracesCampbell Barton
Add braces for modules already using braces almost everywhere.
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-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-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-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-16Alembic: C++11 doesn't need the space between '> >'Sybren A. Stüvel
C++11 doesn't need the space between '> >' in a nested templated declaration, so instead of `std::vector<std::pair<a, b> >` we can now write `std::vector<std::pair<a, b> >`.
2019-01-16Alembic export: write curve/NURBS as meshSybren A. Stüvel
It's now possible to export curves and NURBS as mesh data to Alembic. This allows artists to do any crazy thing on curves and export the visual result to Alembic for interoperability with other software (or caching for later use, etc.). It's an often-requested feature. This works around T60503 and the fixes export part of T51311. Note that exporting zero-width curves is currently not supported, as exporting a faceless mesh (e.g. just edges and vertices) is not supported by the mesh writer at all. To test, create a curve with thickness (for example extruded), export to Alembic and check the 'Curves to Mesh' checkbox in the export options. Reviewers: sergey Differential Revision: https://developer.blender.org/D4213
2019-01-16Alembic export: separated "writing Alembic mesh" from "writing mesh object"Sybren A. Stüvel
I moved most of the `AbcMeshWriter` code to a new class `AbcGenericMeshWriter`. The latter is an abstract class and does not make any assumptions about the type of Blender object being written. This makes it possible to write metaballs, curves, nurbs surfaces, etc. as mesh to Alembic files. The `AbcMeshWriter` class now is the concrete implementation of `AbcGenericMeshWriter` for writing mesh objects. Reviewers: sergey Differential Revision: https://developer.blender.org/D4213
2019-01-15Alembic export: fixed memory leakSybren A. Stüvel
If the triangulated mesh was in itself a new mesh that should be freed this should happen before the function returns (as it only returns a single mesh, and thus the caller can only free one).
2018-11-07Cleanup: Remove 'BKE_library.h' include from 'BKE_main.h'Bastien Montagne
That kind of implicit includes should really only be done when totally, absolutely necessary, and ideally only with rather simple 'second-level' headers. Otherwise not being explicit with includes always end up biting in unexpected ways...
2018-10-23Cleanup: rename 'dm' -> 'me' for 'Mesh' typesCampbell Barton
2018-10-10Modifier: use simplified bmesh -> mesh conversionCampbell Barton
2018-10-09Cleanup: namingCampbell Barton
Use BKE_mesh_* prefix for mesh module.
2018-06-08Alembic: fixed MSVC incompatibilitySybren A. Stüvel
2018-06-07Alembic export: use depsgraph to get evaluated mesh/objectSybren A. Stüvel
2018-06-07Alembic import: don't crash Blender when reading invalid samplesSybren A. Stüvel
2018-06-07Alembic export: cleaned up multiply-passed depsgraph & sceneSybren A. Stüvel
Those can now solely be found in the ExportSettings object.
2018-06-07Alembic export: CoW/Depsgraph fixesSybren A. Stüvel
2018-06-07Alembic export: port DerivedMesh → MeshSybren A. Stüvel
2018-06-07Alembic import: port DerivedMesh → MeshSybren A. Stüvel
2018-05-29Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/BKE_material.h source/blender/blenkernel/BKE_mesh.h source/blender/blenkernel/intern/library_remap.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_relations.c source/blender/editors/render/render_preview.c source/blender/makesrna/intern/rna_object.c
2018-05-29Cleanup: Get rid of G.main in BKE_material.Bastien Montagne
Note that in some cases, this only moves the G.main case to somne other places - in particular, RNA getters/setters are becoming annoying here...
2018-05-07Merge branch 'master' into blender2.8Campbell Barton
2018-05-07Cleanup: rename char/float conversion functionsCampbell Barton
- FTOCHAR -> unit_float_to_uchar_clamp - F3TOCHAR3 -> unit_float_to_uchar_clamp_v3 (swap args) - F4TOCHAR4 -> unit_float_to_uchar_clamp_v4 (swap args) - FTOUSHORT -> unit_float_to_ushort_clamp - USHORTTOUCHAR -> unit_ushort_to_uchar
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-02-07Merge branch 'master' into blender2.8Campbell Barton
2018-02-07Cleanup: add _types.h suffix to DNA headersCampbell Barton
2017-10-29Merge branch 'master' into blender2.8Sybren A. Stüvel
# Conflicts: # source/blender/alembic/intern/abc_exporter.cc # source/blender/alembic/intern/abc_exporter.h # source/blender/alembic/intern/alembic_capi.cc # tests/gtests/alembic/abc_export_test.cc
2017-10-29Alembic: exporting MetaBalls as meshSybren A. Stüvel
- Only basis balls are exported, as they represent the resulting mesh. As a result the mesh is written to Alembic using the name of the basis ball. - MetaBalls are converted to a mesh on every frame, then an AbcMeshWriter is used to write that mesh to Alembic.
2017-10-29Merge branch 'master' into blender2.8Sybren A. Stüvel