Commit Graph

7937 Commits

Author SHA1 Message Date
d7e6d02161 simplify fcm_generator_verify() using MEM_recallocN 2013-01-08 02:20:05 +00:00
682df047a0 style cleanup 2013-01-08 02:06:16 +00:00
08358a60b0 style cleanup 2013-01-08 01:48:14 +00:00
999aaa1a51 ui_lists shall be NULLed in BKE_area_region_copy
Otherwise it'll be nasty crashes when, say, adding and removing
screens with lists visible on the screen.

Thanks Ton for assisting looking into this issue :)
2013-01-07 18:10:03 +00:00
f1cc922ccd dont copy the mvert array in DM_to_bmesh_ex() 2013-01-07 15:43:28 +00:00
12d921eb5b minor improvement to CustomData_bmesh_merge(), allocate the correct size pool rather then always 512. 2013-01-07 15:35:20 +00:00
6747dec926 style cleanup 2013-01-07 03:24:22 +00:00
252d0c6c5b Workaround for textured display with dynamic topology enabled
This will only make object display with proper shape in textured
view, but all materials and textures will be replaced with default
gray color. There's currently no better way to deal with textured
display when dynamic topology enabled because of all UV/tfaces are
clearing when enabling dynamic topology sculpt.

Anyway, better to display gray object with proper lighting in this
case rather than not update object's shape during sculpt.

Proper solution will be possible once CD layer will be preserved
by BMesh log.
2013-01-06 08:28:45 +00:00
fa0805e287 Changes for opengl render to reflect new alpha premul pipeline
without hurting quick texture painting

- ED_view3d_draw_offscreen will now output buffer with
  transparent alpha, if sky needed it should be alpha-undered
  later.

- ED_view3d_draw_offscreen_imbuf now accepts alpha mode as an
  argument which could be either R_ADDSKY or R_PREMULALPHA

- OpenGL render and sequencer's opengl preview will now reflect
  scene's Alpha Mode

- Quick Edit will use OpenGL with transparent alpha mode
2013-01-05 15:33:18 +00:00
821d481f53 Correction for rev53555 which was obviously wrong -- always setting alpha to premul
Also optimized it a bit by skipping byte/float buffer allocation.
2013-01-04 13:19:57 +00:00
1022151d6e fix for missing NULL check in BKE_sequence_init_colorspace(). 2013-01-04 11:02:35 +00:00
27343d0732 fix own regression in cdDM_drawFacesTex_common() when drawParamsMapped isnt available. 2013-01-04 02:14:31 +00:00
d8d24bdebd fix [#33682] Animation not updated when the active shape index isnt set 2013-01-03 06:47:44 +00:00
1a7638fa94 add id property clear function (matching the same python function for dicts/lists) 2013-01-02 23:10:14 +00:00
a4a3ed0018 r53351 removed a NULL check for name in defgroup_name_index(). name can be NULL when deforming verts in the BGE, so I'm adding a NULL check back in. 2013-01-02 22:14:40 +00:00
ea2224e28d changes needed for EDL import to work again.
- add sequence.update(data=False) function.
- made some sequence vars editable.
- correct some comments.

also rename rna function sequence.getStripElem() --> strip_elem_from_frame()
2013-01-02 16:15:45 +00:00
dadb1ccd92 Fix [#33189] AFTER 2.65 - Units in doc strings in ocean modifier.
Also:
* Fixes a (op prop) bug which prevented, once you had baked and freed ocean once, to bake again.
* Fixed infinite values of acumulated foam when baking with foam_fade values above 1.0, now simply clipping accumulated foam value to 1.0, as already done for the "instantaneaous" foam value returned by BKE_ocean_jminus_to_foam().
* Added missing RNA descriptions.
* Made foam_fade unanimatable!
* Added in UI some missing properties that are imho useful: random seed, size (kindof 'surface scaling'), and foam_fade (baking only).
* Removed custom lerp() func from bke's ocean.c, BLI's interpf does exactly the same thing (the first two args are just in reversed order). Note: this could most certainly be done in other parts of the code, bpy's mathutils for e.g. has its own linear interpolation code for vectors and matrices :/).
* Did some general code cleanup (mostly line length and no C++ -> C comments)...
2013-01-02 16:03:58 +00:00
9190c493c1 extend BLI_buffer
- add option to calloc or not, existing code wasnt consistent here, would calloc on first alloc but not on realloc, also - the static memory was never zero'd.
  use flag BLI_BUFFER_USE_CALLOC to ensure all new memory is zero'd (static/alloc/realloc's).

- add BLI_buffer_declare_static / BLI_buffer_declare so its possible to have a buffer that never uses static memory.
2013-01-02 05:00:02 +00:00
8b8e5882aa Replacing/cleaning up some gibberish... 2013-01-02 02:08:43 +00:00
ec1681fae7 style cleanup 2013-01-02 01:49:07 +00:00
59893d9d5b Code cleanup:
Separate 2D painting functions away from brush.c, which should implement
the brush API and into its own file, paint_2D.c.
Ideally projective texturing and 2D painting should be totally separate,
however functionality is still interleaved mostly in the
BKE_brush_painter_paint function. The functionality of this function can
possibly be done using the brush stroke functions instead.
2013-01-01 21:23:12 +00:00
9d9542561c code cleanup: autocomplete functions 2012-12-31 17:19:55 +00:00
dd62a2c375 text autocomplete
- make the popup box line up the X axis with the current word.
- add poll function for the operator
2012-12-31 16:24:49 +00:00
acc05db50f minor updates to text autocomplete api
- draw function wasn't lining up correctly since DPI edits
- rename text_python.c to text_autocomplete.c
2012-12-31 14:49:27 +00:00
334ca1d344 Correction to recent PNG commit
Need to set default depth to 8bit.
2012-12-31 14:02:33 +00:00
93f78ac1e1 Removed byte glow effect from sequencer in favor of float one.
Byte glow was disabled in previous commit and code is removed now
in separate commit for easier revert if that'd be needed.
2012-12-31 13:52:26 +00:00
08cea96ab0 Alpha premul pipeline cleanup
This assumptions are now made:
- Internally float buffers are always linear alpha-premul colors
- Readers should worry about delivering float buffers with that
  assumptions.
- There's an input image setting to say whether it's stored with
  straight/premul alpha on the disk.
- Byte buffers are now assumed have straight alpha, readers should
  deliver straight alpha.

Some implementation details:

- Removed scene's color unpremultiply setting, which was very
  much confusing and was wrong for default settings.
  Now all renderers assumes to deliver premultiplied alpha.

- IMB_buffer_byte_from_float will now linearize alpha when
  converting from buffer.

- Sequencer's effects were changed to assume bytes have got
  straight alpha. Most of effects will work with bytes still,
  however for glow it was more tricky to avoid data loss, so
  there's a commented out glow implementation which converts
  byte buffer to floats first, operates on floats and returns
  bytes back. It's slower and not sure if it should actually
  be used -- who're using glow on alpha anyway?

- Sequencer modifiers should also be working nice with straight
  bytes now.

- GLSL preview will predivide float textures to make nice shading,
  shading with byte textures worked nice (GLSL was assuming straight
  alpha).

- Blender Internal will set alpha=1 to the whole sky. The same
  happens in Cycles and there's no way to avoid this -- sky is
  neither straight nor premul and doesn't fit color pipeline well.

- Straight alpha mode for render result was also eliminated.

- Conversion to correct alpha need to be done before linearizing
  float buffer.

- TIFF will now load and save files with proper alpha mode setting
  in file meta data header.

- Remove Use Alpha from texture mapping and replaced with image
  datablock setting.

  Behaves much more predictable and clear from code point of view
  and solves possible regressions when non-premultiplied images were
  used as textures with ignoring alpha channel.
2012-12-31 13:52:13 +00:00
c9d16fd22c add ".hh" as an extension for source scripts. 2012-12-31 07:06:51 +00:00
827f9aa737 rename BM_edge_calc_squared_length -> BM_edge_calc_length_squared, matching len_v3, len_squared_v3 2012-12-31 02:40:15 +00:00
1aebc0e790 style cleanup 2012-12-31 02:37:28 +00:00
22c02c9d3a Code cleanup: rename BLI_pbvh to BKE_pbvh 2012-12-30 18:31:31 +00:00
d342e3ef0f Use GPU_Buffers to draw wireframe when in dynamic-topology sculpt mode
This adds an override to the CDDM edge drawing function that switches
to GPU_Buffers drawing for PBVHes of type PBVH_BMESH.

Within the GPU_Buffers code, glPolygonMode() is used to draw lines
instead of faces.
2012-12-30 18:30:13 +00:00
bbaeac3bf8 Update DerivedMesh for dynamic-topology sculpt mode
* Build bmesh PBVH in CDDM when dyntopo is enabled

* Disable all modifiers when dyntopo is enabled
2012-12-30 18:29:41 +00:00
2e69b0cd0b Add dynamic topology support to the PBVH
* Add BLI_pbvh_build_bmesh(), similar to the other PBVH builders but
  specialized for BMesh. Whereas the PBVH leaf nodes for mesh and
  grids only store a start-index and count into the primitive indices
  array, the BMesh version uses GHashes to store the full set of faces
  and vertices in leaf nodes

* Update PBVH iterator to handle BMesh

* Make some of the pbvh.c functions non-static so they can be used by
  the new pbvh_bmesh code

* The BLI_pbvh_bmesh_update_topology() function is the main reason for
  adding BMesh support to the PBVH. This function is used during a
  sculpt stroke to dynamically collapse edges that are particular
  short and subdivide edges that are particularly long.
2012-12-30 18:28:36 +00:00
fc442dbd51 Add DNA/RNA/BKE infrastructure for dynamic-topology sculpt mode
* Add a detail_size field to the Sculpt struct, two new sculpt flags,
  and a Mesh flag for dynamic-topology mode; that's it for file-level
  changes needed by dynamic topology

* Add RNA for the new DNA field and flags

* Add a new icon for dynamic-topology created by Julio Iglesias. TODO:
  update the icon for the new SVG icon format

* Add a SculptSession function for converting from BMesh to Mesh,
  handles reordering mesh elements and setting face shading
2012-12-30 18:27:33 +00:00
31f978c8ef Move layer displacements from SculptUndoNode to PBVHNode
* This doesn't make much difference for regular mesh/multires
  sculpting, but for dynamic topology sculpting the undo stack isn't
  split up by PBVH nodes, so it's more convenient to store the layer
  data in PBVH nodes.

* Note that the life cycle of the layer displacement data is
  unchanged -- it's only valid during a stroke with the layer brush,
  gets free'd when the undo step ends.
2012-12-30 18:26:11 +00:00
ec258542e2 Code cleanup: move PBVH/PBVHNode structs into new header file 2012-12-30 18:25:36 +00:00
f62fc79da0 16 bit PNG write support
This commit adds a support of saving 16bit PNG files.

Alpha for such files would be premultiplied, would be corrected
with an upcoming alpha premul cleanup (it's not the only format
which will output 16bit image with premul alpha).
2012-12-30 13:01:47 +00:00
415c8ed811 add include missing from last commit 2012-12-29 11:03:03 +00:00
79c2571e56 user-preferences for addons. currently unused, example & docs still to come. 2012-12-29 10:24:42 +00:00
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
e9ba345c46 New feature
Patch [#33445] - Experimental Cycles Hair Rendering (CPU only)

This patch allows hair data to be exported to cycles and introduces a new line segment primitive to render with.

The UI appears under the particle tab and there is a new hair info node available.

It is only available under the experimental feature set and for cpu rendering.
2012-12-28 14:21:30 +00:00
857df8065f style cleanup 2012-12-28 14:19:05 +00:00
6061ecca0b add missing free for ui lists 2012-12-28 10:36:25 +00:00
08fbc48ee5 revert r53356, this stopped the leak but still wasn't working nice.
Add asserts when CTX_data_pointer_get/CTX_data_collection_get are incorrectly used.

disable context inspection for now, Will enable again when its working properly.
2012-12-28 10:08:17 +00:00
67b76a70bc The new feature printing changed properties in python history list didn't free
a list of context properties. Give lots of leaked small blocks...
2012-12-28 09:48:35 +00:00
7730ddb3d6 code cleanup:
- free_dverts -> BKE_defvert_array_free
- copy_dverts -> BKE_defvert_array_copy

also move the functions from BKE_mesh into BKE_deform
2012-12-28 09:06:48 +00:00
1e3f98c000 remove unneeded inline lookups and fix error with wpaint_stroke_test_start returning OPERATOR_PASS_THROUGH rather then a boolean. 2012-12-28 01:36:00 +00:00
16411da41e New features!
- Packing .blend files

If you work a lot with dynamic linked .blend files ("Libraries"), it's always hard to
share your work with others (or for bug reports!).
This new option packs all used external .blend files, and - on save - combines it together
in one .blend file. You can save that file on any location.

Loading a packed .blend file then loads all library data usual - not editable.

Just use unpack to save out all linked .blend files. This will only save out the files
according the directory structure as was used on linking - relative to the current .blend.
It will create new directories, so be careful with unpacking when relative paths go up.

This feature also works fine for linked compressed .blend files.

It also works for many levels deep linked .blend hierarchies.

Access is hidden for now - I need to get some people to give it serious testing first.
You can find the options via spacebar search (try pack or unpack).

- Packed data and Undo

Now all packed data is excluded from the Undo buffer storage. Keeps undo memory smaller
and makes faster redo possible.
2012-12-27 15:07:19 +00:00
f0c1bc830c add option to BLI_scanfill_calc() - BLI_SCANFILL_CALC_HOLES, gives some speedup for BMesh ngons which never have holes and ensures predictable triangle count (totvert - 2), which is needed for pre-calculating array size. 2012-12-27 06:39:27 +00:00