Commit Graph

480 Commits

Author SHA1 Message Date
28a829893c Math Lib: avoid having to pass a pre-calculated normal tot area_poly_v3
add normal_poly_v3
2014-04-16 00:29:57 +10:00
e1e519bfc0 Fix my last commit cad4bfe: Added 'use_' prefix to Freestyle edge/face mark properties. 2014-04-15 14:44:08 +09:00
955634e17c Revert part of last commit,
RNA is low level data access, setting mesh values shouldn't change draw options.

Also its redundant to name attrs Face.freestyle_face_mark,
removed edge/face from attr names
2014-04-15 14:46:53 +10:00
cad4bfe653 Freestyle: Added missing mesh property definitions for Freestyle Edge/Face marks.
This revision also addresses the issue of these properties not shown in the Outliner
in the Datablocks display mode.  Now Freestyle edge/face marks can be keyframed
through the Outliner.
2014-04-15 13:30:01 +09:00
ea610e655c Style cleanup: C & pep8 2014-04-15 13:11:48 +10:00
18e4224142 Split Normals I (1/5): basis for split normals (nearly nothing user-visible here):
* Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf).
  EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit.
* Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it
  (tessellation, rna access, etc.).
* Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable
  split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding
  this option is now incoherent, will be addressed in a separate commit.

Reviewers: campbellbarton

CC: brecht

Differential Revision: https://developer.blender.org/D365
2014-04-13 12:19:00 +02:00
8f5775810b Fix T38714: MeshPolygon.center not a Vector type 2014-02-19 13:21:25 +11:00
385c892418 UI: use proportional option while dragging buttons 2014-02-09 08:42:45 +11:00
9e2ebecb21 Add convinient access to full bitangent for loops (some export formats like FBX expect full bitangents, better to compute them in C than in python...) 2014-01-24 17:49:29 +01:00
8952f58375 Add tangent space computation/access from RNA (i.e. python).
This simply mimics code used for loopnormals, to enable py scripts to generate and access (temporary)
a tangent 3D vector and bitangent sign for each loop. Together with the split normals, this allow
to recreate a complete tangent space for normal mapping (bitangent = bitangent_sign * cross(normal, tangent)).

Expects all faces to be tri or quads.

Reviewed By: Brecht, campbellbarton

Differential Revision: https://developer.blender.org/D185
2014-01-11 11:51:19 +01:00
2cca73eeb1 Fix [#36759] UV Project - Specified UV Map doesnt work properly
In fact, the issue was that names of mloopuv/mtespoly layers could very easily get out of sync (a simple rename was enough), while most tools (such as the UVProject modifier) expect matching layers to have the same name!

Now matching names are check on load, and renaming of a layer through RNA is guaranted to be synchronized with its counterparts.

Thanks to Brecht & Campbell for reviews.
2013-09-20 11:14:08 +00:00
203c6effd5 code cleanup: quiet rna warnings, remove remove_strict_flags() for cmake/rna.
also set_source_files_properties() wasn't working for rna_*_gen.c files,
set dna.c and generated data files with generated property too.
2013-09-20 06:35:28 +00:00
202109a8f5 code cleanup: set enums as static or add RNA_enum_types.h where they are used elsewhere.
also minor style cleanup.
2013-09-11 21:27:14 +00:00
135f6a72d4 Split normals API, to get per-vertex per-face normals, useful to export sharp edges in a compatible way.
Many thanks to Campbell and Brecht for reviews.
2013-09-10 15:26:12 +00:00
470dc6de4b Some fixes to tips... 2013-09-08 14:01:14 +00:00
bc845765a7 disable material index clamping, fbx importer doesn't know the total number of materials when meshes are loading,
also, its possible to have values outside this range by removing materials (though not from the UI)
2013-08-20 12:48:44 +00:00
f030758515 Tag object-data level boundbox as invalid rather than freeing it
Object update used to free object-data level bounding box to trigger
it's re-calculation in the future. Such a freeing performed from
object update isn't thread-safe because mesh could be shared between
multiple objects.

Rather than freeing bounding box, tag it's as invalid, this is safe
from threading point of view and also prevents unnecessary memory
re-allocation.

Object-level bounding box is still reallocating, but think we could
change this easily in the future as well.

--
svn merge -r58154:58156 -r59258:59259 ^/branches/soc-2013-depsgraph_mt
2013-08-19 09:58:28 +00:00
4982f200fa move alloca define into its own header since its not related to BLI_array 2013-07-28 10:38:25 +00:00
49c61e169b misc edits
- fix for missing None check with recent 'Hidden Wire' draw option.
- avoid int overflow with mesh selection.
- remove ';' outside of functions.
2013-07-20 15:07:57 +00:00
5569a4b282 Fix missing cycles viewport update when changing manual texture space
location or size in the properties editor.
2013-07-09 22:27:18 +00:00
a0cfa3e420 fix [#35984] no way to know if a datablock is in editmode
the report explains the issue in detail, but basically you couldn't know if a mesh was in editmode without checking all the objects that use it.
add `is_editmode` readonly property for all datatypes which support editmode.

also make rna fail to build on implicit function declarations.
2013-07-03 22:57:00 +00:00
e03bbcec65 fix [#35453] "copy mirrored uv coords" doesn't work
- made precision configurable.
- report a warning when doubles are found since they cause problems.

added Polygon.center attribute to avoid calculating in python.
2013-06-05 03:10:29 +00:00
790e9d9fa0 fix [#35311] Planar Decimate / Limited Dissolve fails to merge some adjacent faces
optionally limit by face flipping, also added support to delimit by material and edge crease.
2013-06-03 05:07:16 +00:00
314589dc54 No end point in UI messages... 2013-05-13 07:32:48 +00:00
62087935ec Fix #35209: cycles generated texture coordinates did not stick to deforming meshes. 2013-05-05 05:56:41 +00:00
3bbf11761a make rna layer access less cryptic by using ARRAY_HAS_ITEM(), modified this to use unsigned offset. 2013-05-01 22:39:34 +00:00
448186eb43 fix for setting int customdata layer names not ensuring uniqueness.
also use generic layer name callbacks for vert/edge/face/poly/loop.
2013-04-30 17:30:40 +00:00
8f9150871c Fix part of #34233: bad alpha blending for 2D image painting. This is a very
old issue, the formulas here were never quite right, should all work ok now
with byte and float images.

Some differences:

* Colors with zero alpha from the background will never have an influence, so
  you don't get alpha fringes when painting over such areas. This does give
  hard edges when looking at the RGB channels alone, but there's no way to
  avoid that and fringes at the same time, same behavior as other painting apps.

* Add/Subtract/Multiply/Lighten/Darken now leave the alpha channel unchanged
  and work only the RGB channels, again same behavior as many other apps.

* Erase/Add alpha now compensates for premultiplied float images to keep the
  straight RGB colors the same.

Next: fix projection painting.
2013-04-27 12:51:23 +00:00
7dde355185 fix [#34958] keyframe many items would fail if there was a (") in the text. 2013-04-23 20:10:22 +00:00
a7f869df64 fix for error in own recent changes to vertex weight drawing in editmode.
where disabling show_weight, the colors would still draw.
2013-04-22 06:16:03 +00:00
5c72a19c09 add display mode for sharp edges. 2013-04-18 17:09:56 +00:00
14f9f167b2 display options to help with 3d printing.
editmesh debug info,
- overhang (with axis angle options)
- wall thickness (with min/max distance)
- self-intersections.

access below 'Mesh Display' panel.
2013-04-17 09:27:23 +00:00
6da961775f code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere). 2013-04-13 20:31:52 +00:00
31c375b97a Mesh Drawing:
Option to draw mesh vertex-weights in editmode, available from the 'Mesh Display' panel.

TODO: get this to work when modifiers are applied in solid mode (texface-solidmode is working).
2013-04-13 20:20:21 +00:00
4c16d3e231 Pre-merger changes.
Deprecated Freestyle-specific elements were removed from the code base,
in order to address all comments from branch code reviews.
https://codereview.appspot.com/7416049/

Backward compatibility won't be maintained in the following components:

- Freestyle edge/face marks in old .blend files are ignored.

Old .blend files can be converted by loading and saving the files using
a Freestyle branch build between revision 55581 and 55842.

- External style modules are no longer supported.

Instead text datablocks must be used to keep style module files within
.blend files.  A branch build between revision 55741 and 55842 is useful
for identifying the style module file names that need reconfiguring.
2013-04-06 14:45:50 +00:00
5524ed9ba2 Merged changes in the trunk up to revision 55700.
Conflicts resolved:
source/blender/editors/mesh/mesh_intern.h
2013-04-01 13:47:19 +00:00
4506f73055 add edge-angle drawing in editmode for manifold edges. 2013-03-29 04:01:52 +00:00
3e2619b3e7 workaround for crash when accessing vertex colors in editmode,
just disallow vertex color access in editmode as is done with UV's.
2013-03-27 23:48:35 +00:00
18d2dd7e3a Merging r55547 through r55594 from trunk into soc-2008-mxcurioni 2013-03-26 09:09:31 +00:00
6926596174 More new data names translation (most cases should be covered now).
Also done a few cleanup here and there...
2013-03-25 08:29:06 +00:00
385c72f5f2 Merged changes in the trunk up to revision 55546.
Conflicts resolved:
source/blenderplayer/bad_level_call_stubs/SConscript

Partly reverted changes to intern/cycles/blender/addon/ui.py in revision 52899
to make it easier to merge trunk changes.
2013-03-24 12:13:13 +00:00
62cede96d3 A major code update for making the DNA file specification of Freestyle settings
and RNA for it independent of the build flag for enabling Freestyle.  Suggested
by Sergey Sharybin through a code review of the branch.

* Many #ifdef WITH_FREESTYLE blocks were removed to always have Freestyle-specific
DNA file specification and RNA for it built in Blender.  This will allow Freestyle
setting survive even when a non-Freestyle build is used for loading and saving
files.  It is noted that operations are still conditionally built through #ifdef
WITH_FREESTYLE blocks.

* To this end, new blenkernel files BKE_freestyle.h and intern/freestyle.c have
been added.  All API functions in FRS_freestyle_config.h as well as some of those
in FRS_freestyle.h were moved to the new files.  Now the relocated API functions
have BKE_ prefix instead of FRS_.
2013-03-23 03:00:37 +00:00
b57fc113aa python api: add functionality to remove uv-texture layers. 2013-03-21 20:54:48 +00:00
fa1cd9ce9b python api: add functionality to remove vertex color layers.
note: that this intentionally removes check to exit vpaint mode when a vertex color layer is removed,
	  since being in vertex-paint mode without a vertex color layer is supported.

also minor change to drawing camera limits while picking from previous commit.
2013-03-21 20:15:39 +00:00
29b7b344fc svn merge ^/trunk/blender -r55357:55372 2013-03-18 21:45:29 +00:00
c1ceab1281 Merged changes in the trunk up to revision 55357.
Resolved conflicts:
release/datafiles/startup.blend
source/blender/editors/space_nla/nla_buttons.c

Also updated source/blender/blenkernel/intern/linestyle.c as a follow-up of
recent changes for the use of bool.
2013-03-18 00:48:59 +00:00
3dababa7ec code cleanup: name mesh functions more consistently, also use bools for mesh args. 2013-03-17 19:55:10 +00:00
894c240f9d New implementation of Freestyle edge/face marks
The previous implementation of Freestyle edge/face marks was refactored
based on suggestions from the latest code review by Campbell.  The new
implementation relies on mesh CustomData to store edge/face marks, instead
of introducing extra flags in the core Mesh and BMesh data structures.
The CustomData-based implementation will allow further additions of new
edge/face attributes because of the independence from Mesh/BMesh.

This revision is work in progress, mainly intended to address the review
comments and ask for further code review in view of the trunk merger in
the upcoming 2.67 release.
2013-03-13 06:44:43 +00:00
c36f20a7d2 style cleanup 2013-03-08 04:00:06 +00:00
dfa8540cdf use bool for rna funcs. 2013-03-07 02:44:55 +00:00