Commit Graph

273 Commits

Author SHA1 Message Date
85540d5aa7 more macro --> BLI math lib, mainly replace VECCOPY in render and blenkernel. 2011-11-06 16:38:21 +00:00
b82dee0cb4 replace macros with bli math functions for particles code 2011-11-06 14:00:55 +00:00
723484ec06 Removed old "bsystem_time()" function, which by now is just a
duplicate of BKE_curframe() which just takes two extra args.

For the few calls in the physics engine where CFRA+1 instead of CFRA
was being used, I've added a new BKE_nextframe() call, which will
calculate for CFRA+1 instead of CFRA in much the same way that
bsystem_time() would end up doing things (which means including
subframe steps).
2011-11-06 06:08:18 +00:00
4ea816837d Configurable sensor size:
- Added support of variable size sensor width and height.
- Added presets for most common cameras, also new presets can be defined by user.
- Added option to control which dimension (vertical or horizontal) of sensor
  size defines FOV. Old behavior of automatic FOV calculation is also kept.
- Renderer, viewport, game engine and collada importer/exporter should
  deal fine with this changes. Other exporters would be updated soon.
2011-11-04 14:36:06 +00:00
c70cde6f94 Fix #29124: Modifying mesh with mirror and solidify modifiers crashes blender
It is corrected fix for #29089 (svn rev 41409). That fix wasn't correct because
it used to set face number from derived mesh on which solidify is applying which
isn't correct for case of constructive modifiers applied on base mesh before
solidify modifier.

Actually nothing special should be performed here to set needed original index
because of ORIGINDEX layer is getting copyed automatically when when copying faces.
2011-11-01 17:43:30 +00:00
2241eaddf5 Reverting r41409 (broken fix for #29089)
r41409 can cause a crash if you delete a face of a mesh that has subsurf & solidify modifiers active
2011-11-01 17:06:10 +00:00
2ceeaf9721 fix [#29089] Faces created for "rims" by solidify modifier have incorrect visibility 2011-10-31 07:17:35 +00:00
f837b46a2b Modifier compilation tweaks (Blender conference commit)
* Fluid compilation: Inverse the compile flag from DISABLE_ELBEEM to WITH_MOD_FLUID for consistency. (scons/cmake)
* Use WITH_BF_FLUID in your user config (scons) 

* Add support for scons to disable build with Decimate and Boolean modifier. 
(WITH_BF_DECIMATE and WITH_BF_BOOLEAN)
2011-10-29 23:56:07 +00:00
99075b35ed fix [#29044] applying mirror modifier causes crash; something with vertex groups? 2011-10-27 07:54:32 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
00735ed9e4 Code cleanup: don't use btempdir/bprogdir/bprogname globals anymore, but wrap
in BLI_ functions.
2011-10-21 17:37:38 +00:00
2bd9519e39 BLI_ghash.h was including BLI_blenlib.h, remove from ghash header and include in each file 2011-10-20 13:50:24 +00:00
5cf593a778 strcpy() --> BLI_strncpy(), where source strings are not fixed and target size is known. 2011-10-19 23:10:54 +00:00
61389bba41 fix spelling mistakes in comments (and in some python error messages), nothing to effect translations. 2011-10-17 06:39:13 +00:00
7306eb84f0 move NavMesh draw code out of being a modifier and into DerivedMesh drawing hack (which IMHO is less bad then mis-using a modifier only to override drawing calls). 2011-10-09 21:11:51 +00:00
35f881b44d Commented and tagged some unused vars, added some var init (gcc warnings...) 2011-09-28 15:22:13 +00:00
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
58587a3881 replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination.
also dont call CTX_data_scene() twice when checking for function arguments.
2011-09-26 18:51:10 +00:00
a043133bab Fix for recent Campbell's commit. 2011-09-23 19:33:04 +00:00
799afc1aa4 Fix #28226: Selection highlighting is wrong when Solidify Modifier is used
Set origindices for edges/faces created for rim to ORIGINDEX_NONE.
Also discovered error in recent editmode VBO fix -- it used to crash
when comparing faces with ORIGINDEX_NONE original index.
2011-09-22 16:57:16 +00:00
aa809e6f78 Minor: Bah, doxygen file's doc comments were also missing from warp and navmesh modifiers... 2011-09-22 12:00:24 +00:00
b6bf57e2b0 Minor: Added doxygen file's doc comments in weightvg modifiers. 2011-09-22 11:52:42 +00:00
3449c0270a Another set of fixes for MSVC 2011-09-20 17:23:52 +00:00
9d1b4b63b3 Fix for recent commit:
- Some declarations after statement left.
- Do not use static inline functions in MOD_navmesh. It produces errors
  with msvc and not sure it's actually helps -- optimizer should
  make it inlined itself.
2011-09-20 17:06:17 +00:00
0169079bd1 Get rid of c++ in blenkernel and modifiers
Also use guarded allocations for navmesh stuff.
2011-09-20 16:24:50 +00:00
Dalai Felinto
b263aefb0e TexFace to Material Settings big patch
Summary:
========
The idea here is to move the texface options into the material panel.
For images with the change please visit:
http://code.blender.org/index.php/2011/09/bge-material-texface-changes

1 - Some of the legacy problems 2.49 and 2.5x has with the texface system:
==========================================================================
1.1) Shadow, Bilboard and Halo are mutual exclusive (in the code), yet you can
select a face to be more than one mode.
1.2) Sort only works for blend Alpha yet it's an option regardless of the
Transparency Blend you pick.
1.3) Shared doesn't affect anything in BGE.
1.4) ObColor only works for Text objects (old bitmap texts) when using Texture
Face Materials. (not address yet, I so far ignored obcolor)

2 - Notes:
============
2.1) Now "Use Face Textures" in material Option panel will work in Multitexture
even if there is no texture channel.

2.2) In FaceTexture mode it will use TexFace all the time, even if you don't
check the "Use Texture Face" option in the UI. It's a matter of decision, since
the code for either way is there. I decided by the solution that makes the
creation of a material fast - in this mode the user doesn't need to mess with
textures or this "Use Texture Face" option at all. I'm not strong in my opinion
here. But I think if we don't have this then what is the point of the Texture
Face mode?

2.3) I kept references for tface only when we need the image, UV or the tiling
setting. It should help later when/if we split the Image and UV layers from the
tface struct  (Campbell and Brecht proposal).

3 - Changes in a Nutshell:
==========================
3.1) "Texture Face" panel (in the Mesh/Object Data panel) no longer exists. Those settings are all part of the material properties, visible when Game Render is set.

3.2) "Texture Face" Shading mode (in the Render panel) is now called “Single Texture”, it needs a material for special settings (e.g. Billboard, Alpha Sort, …).

3.3) New options in the Material Panel
* Shadeless option in the Material panel is now supported for all three Shading modes.
* Physics is now toggleable, this is the old Collision option.
* Two Side (on) is now called Back Culling (off).
* Alpha Sort is one of the Alpha options, together (and mutually exclusive) to Alpha Blend, Alpha Clip, Add and Opaque (i.e. solid).
* Shadow, Billboard and Halo are grouped in the “Face Orientation” property.
* "Face Textures" and "Face Textures Alpha" (under Options) can be used for all but GLSL shading mode (to be supported in GLSL eventually).
* The backend in the game engine is still the same as before. The only changes are in the interface and in the way you need to think your materials. The bottomline is: It’s no longer possible to share materials between faces that do not share the same game properties.

4 - Acknowledgment:
==================
Mike Pan for the design discussions, and testing along the whole development process.
Vitor Balbio for the first hands-on code with the interface changes. That helped me a lot to push me into work on that.
Benoit Bolsee and Brecht van Lommel for patch review (* no one reviewed the whole patch, or the latest iteractions, so I still hold liability for any problems).
Blender artists that gave feedback and helped testing the patch.

Patch review and original documentation can be found here:
http://wiki.blender.org/index.php/User:Dfelinto/TexFace
http://codereview.appspot.com/4289041/
2011-09-19 19:55:59 +00:00
2222f536f8 use replace 0 with NULL for pointers, set some functions static
also fixed own errors in recent static check commit.
2011-09-16 08:20:21 +00:00
84966d864b WeightVG: Made Edit and Proximity also use the new weightvg_update_vg MDeformWeight** parameter (to avoid another vgroup searching).
Also added to Proximity a check in case vgroup would have no vertices in it.
Plus a few minor edits...
2011-09-15 17:28:18 +00:00
2f50579d9a WeightVG utils, weightvg_update_vg func updates.
* Added an optional array of MDeformModifier pointers, to avoid another search based on defgrp_idx.
* Split out "add/remove verts from vgroup" functions, preparing their move to deform.c (if their current form is validated!).
2011-09-15 16:06:00 +00:00
f8af915b51 WeightVG Mix modifier: updated code to use defgrp_find_index, and make MDeformWeights be searched only once.
Also fixed a bug: when another set mode than "All Vertices" was used and resulting set of verts was empty, all vertices was used, instead of just returning org, unmodified data!
2011-09-15 14:48:50 +00:00
761c44cbc1 Fix [#28654] Warp modifier does not support negative strength when Vertex Group is used.
The vg weight was multiplied by org strength (i.e. neg strength was always skiping all verts!), now multiplying it with abs value of strength.
2011-09-15 11:18:15 +00:00
4bd0a2ba2d replace VECCOPY -> copy_v3_v3, added copy_v*_v*_short too for typesafe copying, some parts of the code are copying float -> short normals without scaling. fix coming next. 2011-09-12 04:14:12 +00:00
b988a2abf8 Recast: fix bad level calls, Recast compiled out if BGE not enabled. SCons updated but not tested. 2011-09-11 14:13:04 +00:00
599cd56f53 minor edits / cleanup - no functional changes.
- use 'const float *' and array size in some function declarations.
- replace macros for BLI_math functions INPF, VECCOPY, VECADD etc.
- remove unused VertRen.clip struct member.
- remove static squared_dist() from 2 files, replace with BLI_math function len_squared_v3v3().
- use vertex arrays for drawing clipping background in the 3D viewport.
2011-09-11 02:50:01 +00:00
3a5f2272ad cmake edits to navmesh so includes are not added unless the game engines enabled. 2011-09-11 00:08:07 +00:00
01dca44a84 disable navmesh feature when building without the game engine. 2011-09-10 04:21:58 +00:00
a7f3e347b7 SVN maintenance. 2011-09-09 22:02:12 +00:00
c1c4743696 svn merge -r 39975:40061 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-09 12:21:41 +00:00
ae7401751c SVN maintenance. 2011-09-09 00:46:00 +00:00
1f0bb0e035 Vertex Weight Proximity: minor updates and fixes.
*Updated UI code (replaced “row columns” by splits ;) ).
*Clamped global influence to [0.0, 1.0] range!
*Added/edited some tooltips for Proximity.
*Proximity distance mapping can now be reversed by entering Lowest Dist > Highest Dist.
*Moved mapping before masking in Proximity, much more sensible this way!
2011-09-08 07:36:59 +00:00
698b8930fa Vertex Weight Proximity: fixing bug #28560 (memory leak). 2011-09-07 20:06:04 +00:00
dbd6658d73 svn merge -r 37306:39975 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-07 15:34:04 +00:00
520778163d interface + naming improvements to vertex wright modifier
- WeightVG -> Vertex Weight
- mapping_mode -> falloff_type
- nicer layout for VertexWeightModifiers add/remove options
2011-09-07 07:46:26 +00:00
f6a64f4d79 SVN maintenance. 2011-09-07 07:06:43 +00:00
c643363905 svn merge -r39930:39947 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-06 00:31:00 +00:00
Lukas Toenne
8e0fe8bff7 Merged the particles-2010 branch with node improvements into trunk.
This branch adds mostly organizational improvements to the node system by renaming the node folders and files. A couple of internal features have been added too.
Detailed information can be found on the wiki page:

http://wiki.blender.org/index.php/User:Phonybone/Particles2010
2011-09-05 21:01:50 +00:00
5a3c6ccadb Merging r39847 through r39930 from trunk into vgroup_modifiers. 2011-09-05 16:27:25 +00:00
4393df9320 VGroup Modifiers: added mapping options to proximity and edit.
*Added Smooth/Sharp/Root/etc. mappings to WeightVGEdit modifier, in addition to custom curve one.
*Added Smooth/Sharp/Root/etc. mappings to WeightVGProximity modifier, without the custom curve one!
*Factorized the common mapping code into MOD_weightvg_util.
2011-09-05 16:16:00 +00:00
cc906e0e2a correct float -> double promotion warnings 2011-09-05 05:43:01 +00:00