Age | Commit message (Collapse) | Author |
|
|
|
stored as shorts intermally)
- converting nurbs to mesh was casting the material to unsigned char.
- subsurf was casting to char, then int -> short in a loop.
- have material functions take & return shorts.
|
|
I doubt this makes any difference but still, good practises are always good.
|
|
defined, also comment unused var.
|
|
- quiet some warnings
- set some functions static
- replace materialbyname with generic BLI_findstring call
|
|
api reference until we get an update for 'Naiad'
|
|
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/
|
|
|
|
|
|
- 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
|
|
|
|
per-vertex and move args passed to do_weight_paint_vertex into WeightPaintInfo structure since there were far too many args to this function.
|
|
- 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.
|
|
Added a tool-tip to the "fix deforms" op.
Removed code markers:
"Radish"
|
|
should have had this header added.
|
|
They weren't & aren't meant to show ownership, they just help me navigate my related code.
|
|
|
|
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.
|
|
|
|
instead get all colors at the start and index them when drawing curves in editmode.
also remove redundant NULL check.
|
|
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.
|
|
also fixed own errors in recent static check commit.
|
|
|
|
- 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)
|
|
Should be safe until modifier stack is not threaded.
Solves issues with mingw and older glibc version (like used in release environment).
|
|
also replace strcpy's which copy using "" with str[0]='\0'
|
|
return the total selected items.
also some variable renameing, no functional changes.
|
|
- move get_selected_defgroups & count_selected_defgroups into blenkernel
- split calc_weightpaint_vert_color() logic so its more obvious whats default and multipaint behavior
|
|
|
|
bad level calls in the weight paint branch.
|
|
|
|
the include path from CMake & SCons.
* ED_curve_editnurbs --> curve_editnurbs
* ED_sculpt_modifiers_changed --> object_sculpt_modifiers_changed
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scaling.
- BL_SkinDeformer also did this though for that case its not a problem because the normals are later accumulated anyway.
|
|
copying, some parts of the code are copying float -> short normals without scaling. fix coming next.
|
|
Fixed silly bug, that activated proxies at the wrong time.
|
|
in SCons
|
|
updated but not tested.
|
|
|
|
- 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.
|
|
- 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.
|
|
https://svn.blender.org/svnroot/bf-blender/trunk/blender
|
|
https://svn.blender.org/svnroot/bf-blender/trunk/blender
|
|
These nodes use cached buffers (in sock->cache), which need to be cleared when duplicating the node, otherwise the buffer will be freed twice.
|