Commit Graph

5821 Commits

Author SHA1 Message Date
Campbell Barton
79c19590e9 fix for bug in do_version_tface(), was assigning 'tf->mode' before tf was defined, also comment unused var. 2011-09-20 04:54:13 +00:00
Campbell Barton
6791052832 tidy up
- quiet some warnings
- set some functions static
- replace materialbyname with generic BLI_findstring call
2011-09-20 04:38:59 +00:00
Campbell Barton
00de0cd6a7 fix for warnings after texface commit, also comment blender sphinx theme for api reference until we get an update for 'Naiad' 2011-09-20 01:35:39 +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
Guillermo S. Romero
439f0ef7dd SVN maintenance. 2011-09-19 17:27:33 +00:00
Jason Hays
2cbf475fb2 Merged 40338-40364 2011-09-19 15:36:30 +00:00
Campbell Barton
83a2f02a78 cleanup endian handling
- define __BIG_ENDIAN__ or __LITTLE_ENDIAN__ with cmake & scons.
- ENDIAN_ORDER is now a define rather than a global short.
- replace checks like this with single ifdef: #if defined(__sgi) || defined (__sparc) || defined (__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__hppa__) || defined (__BIG_ENDIAN__)
- remove BKE_endian.h which isn't used
2011-09-19 08:02:17 +00:00
Campbell Barton
20463cb842 svn merge ^/trunk/blender -r40311:40338 2011-09-19 05:58:52 +00:00
Campbell Barton
8835a18e2e refactor wpaint_stroke_update_step not to call expensive functions per-vertex and move args passed to do_weight_paint_vertex into WeightPaintInfo structure since there were far too many args to this function. 2011-09-19 04:53:11 +00:00
Campbell Barton
a89b253aa6 edits to radish before merge with trunk
- removed some unused functions.
- renamed vars to make more sense paint_vertex.c 'flags' --> 'lock_flags'
- some odd modifications were made in unrealted, commented code, copy these back from trunk.
- rename vertex_group_fix 'cp' property to 'accuracy'
- make style more consistant with trunk.
- remove 'Radish' comments.
2011-09-19 02:43:03 +00:00
Jason Hays
73863a1da5 Split do_weight_paint_vertex() to isolate the simple case.
Added a tool-tip to the "fix deforms" op.

Removed code markers:
"Radish"
2011-09-18 17:10:28 +00:00
Campbell Barton
cad688a705 add old style nan GPL2+ header to sound.c since this file is from rev2 and should have had this header added. 2011-09-18 12:06:28 +00:00
Jason Hays
a9c99f58f4 Changed the branch code markers to say "Radish" in response to a review.
They weren't & aren't meant to show ownership, they just help me navigate my related code.
2011-09-18 03:49:00 +00:00
Campbell Barton
96ada15d79 svn merge -r40197:40311 ^/trunk/blender 2011-09-18 02:35:26 +00:00
Jason Hays
1b5d16f1bf I made multitude of fixes based on the comments provided online:
Removed the drawSelectedVerts and added drawSelectedVertices, which uses dm->foreachMappedVert.

In calc_weightpaint_vert_color():
Made the weight paint color black and return instead of input=-1

Made the pose bone selection normal when multi-paint is inactive.

Name fix for functions using mv instead of mvert.

Used vector functions provided by the math lib.

Changed some MEM_callocN references to be stacks.

Changed dm_deform_clear to use ob->derivedDeform primarily

Made the variable "float **changes" into "float (*changes)[2]"

Used CTX_data_active_object() in place of CTX_data_pointer_get_type()

Added the invert selection hotkey "Ctrl+I" to weight paint's vertex mask.
2011-09-18 01:09:18 +00:00
Campbell Barton
d4898f9c40 use macros RAD2DEG & DEG2RAD rather then multiplying by 180.0/M_PI or M_PI/180.0 2011-09-17 09:43:51 +00:00
Campbell Barton
f2748bfdc3 more mini optimizations - don't call UI_ThemeColor 4 times per curve handle, instead get all colors at the start and index them when drawing curves in editmode.
also remove redundant NULL check.
2011-09-17 07:14:39 +00:00
Sergey Sharybin
c912af36ca Fix #28663: All "unit" properties show a value of 0 (on WinXP&MinGW&scons)
Initially problem was caused by updated version of mingw-runtime which
changed behavior of snprintf and vsnprintf so %lf isn't anymore valid
for doubles.

According to manpages, %f is a correct format for snprintf for doubles.
2011-09-16 10:03:08 +00:00
Campbell Barton
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
Campbell Barton
41fa456506 replace macros with math lib functions 2011-09-16 06:56:50 +00:00
Campbell Barton
862aababb3 - remove deprecated pose channel members
- change short -> char for flags that support it.
- add pose 'temp' pointer to use for outliner drawing (was using 'prev' and restoring which seems dodjy)
2011-09-16 02:42:50 +00:00
Sergey Sharybin
41e5040e2f Use static context trick for all platforms.
Should be safe until modifier stack is not threaded.
Solves issues with mingw and older glibc version (like used in release environment).
2011-09-15 15:29:40 +00:00
Campbell Barton
0d355a8a2c replace BLI_strncpy with BLI_strncpy_utf8 where input isnt ensured to be valid.
also replace strcpy's which copy using "" with str[0]='\0'
2011-09-15 12:26:48 +00:00
Campbell Barton
718f78d548 remove count_selected_defgroups() function and make get_selected_defgroups() return the total selected items.
also some variable renameing, no functional changes.
2011-09-14 05:56:25 +00:00
Campbell Barton
98961c9f19 initial cleanup for weight paint branch
- move get_selected_defgroups & count_selected_defgroups into blenkernel
- split calc_weightpaint_vert_color() logic so its more obvious whats default and multipaint behavior
2011-09-14 02:04:26 +00:00
Campbell Barton
c3a718702f svn merge -r40195:40197 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-14 01:54:04 +00:00
Campbell Barton
9b06435653 move ED_object_pose_armature --> object_pose_armature_get to so we dont get bad level calls in the weight paint branch. 2011-09-14 01:48:55 +00:00
Campbell Barton
ac51152ec5 svn merge -r40179:40195 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-14 01:32:59 +00:00
Campbell Barton
1741269d30 resolve bad level calls from blenkenel/ into editors/ & remove editors from the include path from CMake & SCons.
* ED_curve_editnurbs --> curve_editnurbs
* ED_sculpt_modifiers_changed --> object_sculpt_modifiers_changed
2011-09-14 00:37:27 +00:00
Antony Riakiotakis
8a977cbcc9 fix compilation for MinGW by substituting qsort_r with qsort. What aversion do MinGW guys have for including '_r' variants of functions anyway?
Warning: a clean build will be needed probably to account for recent merge changes, or link errors will occur.
2011-09-13 19:51:58 +00:00
Campbell Barton
7d02e66256 svn merge -r40000:40179 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-13 10:05:30 +00:00
Campbell Barton
92089e3c4d svn merge -r39900:40000 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-13 09:07:20 +00:00
Campbell Barton
9c4165fde0 svn merge -r39800:39900 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-13 07:19:36 +00:00
Campbell Barton
b310a76a1b svn merge -r39558:39800 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-13 06:39:17 +00:00
Campbell Barton
e16ba13251 use vector size and const args where possible (no functional change) 2011-09-12 13:00:24 +00:00
Benoit Bolsee
5d695ed84a Recast: attempt to fix compilation problem in Linux. 2011-09-12 07:38:00 +00:00
Campbell Barton
9a1f3c587e - fix for mesh_get_mapped_verts_nors copying short normals to floats without scaling.
- BL_SkinDeformer also did this though for that case its not a problem because the normals are later accumulated anyway.
2011-09-12 04:29:35 +00:00
Campbell Barton
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
Peter Schlaile
8f9fa6a400 == Sequencer ==
Fixed silly bug, that activated proxies at the wrong time.
2011-09-11 21:46:24 +00:00
Sergey Sharybin
0e3856d506 Fixes for Win+SCons and disable recastnavigationif game engine is disabled in SCons 2011-09-11 15:17:54 +00:00
Benoit Bolsee
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
Campbell Barton
5f62f5c6fe move maxseq define into DNA. 2011-09-11 10:35:26 +00:00
Campbell Barton
64aa651b1b speedup for editmesh drawing.
- avoid needless context switching quad/tri, flat/smooth.
- dont call glNormal3vf() lighting is disabled.

gives ~2x speedup with a subdivided cube, but thats probably the best case, quad/tri smooth/flat mix will slow down a bit.
2011-09-11 10:23:26 +00:00
Campbell Barton
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
Benoit Bolsee
c1c4743696 svn merge -r 39975:40061 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-09 12:21:41 +00:00
Benoit Bolsee
dbd6658d73 svn merge -r 37306:39975 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-07 15:34:04 +00:00
Lukas Toenne
7db716599c Fix for crash when duplicating image or render layer nodes.
These nodes use cached buffers (in sock->cache), which need to be cleared when duplicating the node, otherwise the buffer will be freed twice.
2011-09-07 12:46:30 +00:00
Sergey Sharybin
53671577a4 Fixed potential crash in NodeTagIDChanged. Discovered after merge trunk
into tomato where there were no check for tree before calling this function.
Old design worked fine with this.

Mark some arguments as UNUSED.
2011-09-06 18:15:34 +00:00
Brecht Van Lommel
decc2c2e77 Node merge: fix crash loading files with unknown nodes (e.g. cycles files). 2011-09-06 17:34:56 +00:00
Brecht Van Lommel
5700b1b1b2 Fix missing warning message when reading files that are not forward compatible,
it seems this never worked in 2.5.
2011-09-06 17:27:18 +00:00