Commit Graph

425 Commits

Author SHA1 Message Date
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
b4e7451cb0 Merged changes in the trunk up to revision 41099. 2011-10-18 23:36:43 +00:00
4750f24663 fix for crash caused by invalid active material index while editing text.
also added some better error checking in object_remove_material_slot() so it will print an error rather then crashing if this case ever happens again.
2011-10-11 23:08:17 +00:00
d546002476 Merged changes in the trunk up to revision 40911.
Conflicts resolved:
source/blender/blenloader/intern/readfile.c
2011-10-10 21:15:11 +00:00
bc40f11093 header cleanup (no functional changes) 2011-10-10 09:38:02 +00:00
Dalai Felinto
be143cc037 texface fix: if material is not used by mesh set default bge mat flag (backface culling on)
report by Mitchell Stokes over IRC, but probably one of the reason people have been asking
to expose the Game Settings material panel in the Render engine as well.
2011-10-06 06:56:45 +00:00
738491555d BKE material api function: assign_material_id, like assign_material but takes the object data rather then the object. 2011-10-01 17:51:47 +00:00
Dalai Felinto
11a0e00819 BGE Material settings renaming Back Culling to Backface Culling and make it on by default
under suggestion of Mitchell Stokes (Moguri)
2011-09-26 06:39:19 +00:00
274b9c8fb8 whitespace cleanup 2011-09-25 12:31:21 +00:00
9c42afb1c0 Merged changes in the trunk up to revision 40413.
Conflicts resolved:
source/blender/makesrna/intern/rna_scene.c
2011-09-20 21:22:15 +00:00
13dfd82997 changes for materials to treat them as shorts not int/chars (since they are 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.
2011-09-20 06:25:15 +00:00
Dalai Felinto
2b1513dbda texface - quick speedup
I doubt this makes any difference but still, good practises are always good.
2011-09-20 05:45:54 +00:00
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
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
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
ac796827cb Merged changes in the trunk up to revision 40189. 2011-09-13 22:24:59 +00:00
e16ba13251 use vector size and const args where possible (no functional change) 2011-09-12 13:00:24 +00:00
353713afe8 Merged changes in the trunk up to revision 40096.
Conflicts resolved:
source/blender/makesrna/intern/rna_scene.c
source/blender/python/intern/CMakeLists.txt

Note for branch builders: Enabling Blender Player may cause linker errors.
2011-09-10 13:36:27 +00:00
Lukas Toenne
884fc84793 Fix for multiple parallel group node executions.
This would previously break because begin/end functions for each tree type still have some checks of the ntree->execdata pointer in them, despite the intended use of execdata instances instead of trees themselves for execution data storage. This is an artifact of the old execution system that required these checks to be made in the functions to avoid multiple execution of top-level trees. Now these functions take an additional argument, so group nodes can prevent them from setting and checking the nodetree->execdata pointers.
2011-09-06 16:32:51 +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
1c153b011d Merged changes in the trunk up to revision 39759. 2011-08-28 23:25:13 +00:00
fa2ba5fbf5 - use static vars and functions where possible.
- use NULL rather than 0 when used as pointers.
2011-08-28 05:06:30 +00:00
9a0b816416 Merged changes in the trunk up to revision 38893. 2011-08-01 20:18:02 +00:00
c74bb09584 fix for material slot removal (r38879)
- The object ID was being passed to the data_delete_material_index_id() from object_remove_material_slot(), rather then the object data. (so the material slot fix wouldnt run in that case).
- add support for fixing text object materials too.
2011-07-31 12:43:41 +00:00
Dalai Felinto
432bd158fb bugfix [#28111] material.pop breaks mt->mat_nr
create a new parameter for materials.pop() to not remove material slot.
this way the mat_nr is still the old one.

for the default behaviour we now have material remapping (i.e. data_delete_material_index_id(id, index)).
This new function is brought from the material_slot remove function.
2011-07-31 11:12:38 +00:00
Dalai Felinto
f532ccedf5 refix for #27912: crash after mesh.materials.pop() (fixed wrongly on rev. 38299 - patch by Benoit Boilsee
bug spotted while reviewing a patch.
things are working now
2011-07-27 20:36:11 +00:00
ce03ec4b86 Merged changes in the trunk up to revision 38543.
Conflicts resolved:
doc/python_api/sphinx_doc_gen.py
source/blender/blenkernel/CMakeLists.txt
source/blender/makesdna/DNA_material_types.h
source/blender/render/intern/source/pipeline.c
source/creator/CMakeLists.txt
2011-07-20 23:33:10 +00:00
7dfe34864e Fix #27912: crash after mesh.materials.pop(). 2011-07-11 09:08:08 +00:00
959cd0fe69 Fix #27777: vertex color disabled when in a reused node material. 2011-07-05 19:45:26 +00:00
32c7e22d36 Merged changes in the trunk up to revision 37388.
Conflicts resolved:
release/scripts/startup/bl_ui/properties_render.py
source/creator/SConscript
source/blender/blenlib/intern/bpath.c
source/blender/editors/space_outliner/outliner.c
2011-06-11 00:22:10 +00:00
3aaa03e1f8 Add localize_lamp and localize_world functions as already existed for materials
and textures, unused still.
2011-05-19 11:21:37 +00:00
b9d4121283 Merged changes in the trunk up to revision 36408. 2011-05-01 13:50:38 +00:00
e4cc1c3f2c fix [#27178] Material links lost when making mesh data local
- making local object data - Curve/Mesh/MBall lost references to linked materials.
- joining a linked mesh object into a local one lost the link.

As well as these reported bugs, checked all local functions for consistency/correctness and found other cases which would also fail.
- making local metaball didn't ensure unique ID name.
- make_local_armature() was missing check for object users - main body of code would never run.
- local particles didn't set the dupli-group or textures to extern.

checked all local functions for consistency/correctness.
2011-04-26 07:17:21 +00:00
bd860f89e7 Merged changes in the trunk up to revision 36301. 2011-04-23 22:08:18 +00:00
210ee1ade4 whitespace only, no functional change mixed tabs/spaces --> tabs. 2011-04-21 13:11:51 +00:00
2497af95a1 Merged changes in the trunk up to revision 36199. 2011-04-17 14:20:43 +00:00
2d1e663440 patch [#26861] Spelling, Typos, and Grammar
- also fix own bad assert from yesterday & remove testing cmake print.
2011-04-11 01:18:25 +00:00
3df52d4e19 Merged changes in the trunk up to revision 36092.
Conflicts resolved:
source/blender/makesrna/SConscript
source/blender/makesrna/intern/CMakeLists.txt
source/blender/render/intern/source/pipeline.c
2011-04-11 00:09:56 +00:00
dbd3009108 - background job style cleanup.
- assert if material assignment is called with lib. (so the callers can be corrected).
- correct example docs
2011-04-10 15:24:05 +00:00
1728c20a63 Fixes related to using Library files:
- Assigning local materials to library objects disabled
  (crashes on undo/redo cases)
- Disabling options in Material buttons to add/remove slots
  on library data
- Drawing Object ID template in Object properties, this
  allows browse active Object, but especially shows library
  status then.
2011-04-08 16:56:44 +00:00
f2fd9d11bc Bugfix #26761
Texture preview render now doesn't increment/decrement material->texture
user counts anymore. Blenders library.c code could use some overhaul
once to support data relinkage and copying around better. :)
2011-04-04 13:47:34 +00:00
480b9dca64 Add material slot now adds no material in the new slot.
It's obviously much better than the two previous behaviors, since you don't
get confusing linked materials, and you don't have useless added materials.
2011-04-03 16:11:21 +00:00
09c7d5aeb8 Merged changes in the trunk up to revision 35972. 2011-04-03 12:46:33 +00:00
dd56ebe607 blenkernel: floats were being implicitly promoted to doubles, adjust to use floats. 2011-03-28 04:22:50 +00:00
33efa9eeb6 Merged changes in the trunk up to revision 35367.
To branch builders: From this revision Python 3.2 will be used.
Don't forget svn update in the "lib" directory as well.
2011-03-06 12:13:32 +00:00
Nathan Letwory
0ff06e21cd doxygen: blender/blenkernel tagged. 2011-02-27 20:40:57 +00:00
63b31ef91b Merged changes in the trunk up to revision 35203.
Conflicts resolved:
source/creator/creator.c
source/blender/python/intern/bpy.c
2011-02-26 20:21:09 +00:00
33887fa41d Bugfix #26116
Node materials with 'ray transparency' set now work again.
Fix provided by Ervin Weber, thanks a lot!
2011-02-21 18:06:52 +00:00
3789c398ff Merged changes in the trunk up to revision 34828.
Conflicts resolved:
source/blender/makesrna/RNA_enum_types.h
2011-02-13 23:47:30 +00:00