Commit Graph

171 Commits

Author SHA1 Message Date
Campbell Barton
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
Brecht Van Lommel
7dfe34864e Fix #27912: crash after mesh.materials.pop(). 2011-07-11 09:08:08 +00:00
Brecht Van Lommel
959cd0fe69 Fix #27777: vertex color disabled when in a reused node material. 2011-07-05 19:45:26 +00:00
Brecht Van Lommel
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
Campbell Barton
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
Campbell Barton
210ee1ade4 whitespace only, no functional change mixed tabs/spaces --> tabs. 2011-04-21 13:11:51 +00:00
Campbell Barton
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
Campbell Barton
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
Ton Roosendaal
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
Ton Roosendaal
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
Brecht Van Lommel
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
Campbell Barton
dd56ebe607 blenkernel: floats were being implicitly promoted to doubles, adjust to use floats. 2011-03-28 04:22:50 +00:00
Nathan Letwory
0ff06e21cd doxygen: blender/blenkernel tagged. 2011-02-27 20:40:57 +00:00
Ton Roosendaal
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
Campbell Barton
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
2011-02-13 10:52:18 +00:00
Lukas Toenne
69e72ea427 Removed the internal_select parameter from ntreeCopyTree. This was used just in one place when duplicating nodes, which is not an actual copying of the tree. The node duplicate operator now copies selected nodes itself. 2011-02-11 09:37:58 +00:00
M.G. Kishalmi
c709524dc9 new bumpmapping options for the renderer
oldbump -> original
newbump -> compatible
 *new*	-> default (3tap)
 *new*	-> best quality (5tap)

the latter two have an option to apply bumpmapping in 
 viewspace - much like displacement mapping
 objectspace - default (scales with the object)
 texturespace - much like normal mapping (scales)
2011-01-29 11:56:11 +00:00
Campbell Barton
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
Campbell Barton
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
Brecht Van Lommel
c8e0ca44a3 Improved bump mapping patch by M.G. Kishalmi (lmg) and M.S. Mikkelsen (sparky).
Many thanks to them!

For comparison, see here:
http://kishalmi.servus.at/3D/bumpcode/

Based on algorithm in: Mikkelsen M. S.: Simulation of Wrinkled Surfaces Revisited.
http://jbit.net/~sparky/sfgrad_bump/mm_sfgrad_bump.pdf

This fixes bugs:
#24591: Artefacts/strange normal mapping when anti-aliasing is on
#24735: Error at the Normal function.
#24962: Normals are not calculated correctly if anti-aliasing is off
#25103: Weird artefacts in Normal

This will break render compatibility a bit, but fixing this bugs would have also
done that, so in this case it should be acceptable.

Patch committed with these modifications:
* Bump method Old/3-Tap/5-Tap option in UI, 3-Tap is default
* Only compute normal perturbation vectors when needed
* Fix some middle of block variable definitions for MSVC
2011-01-07 14:42:01 +00:00
Brecht Van Lommel
8e29c7b76f Material slots: on adding a new one, the material datablock is now copied again
like in 2.4x. This can result in material datablocks you don't need, but not
doing it seems to cause too much confusion.
2011-01-05 13:15:29 +00:00
Ton Roosendaal
8a2a7687f4 Bugfix #25457
After loading file, the Undo-push happened too early, causing an
undo for the first action to show animated setups wrong.

(material.c: removed old crap)
2011-01-03 12:48:16 +00:00
Ton Roosendaal
05cfe50436 Bugfix #25446 (and todo item)
The icons for materials were always lagging or not updating
at all. I also found it suspicious slow... 
It appeared that the icons now store a "mip level", where for
every change in Materials 2 render jobs for icons were started,
one for 32x32 pix, one for 96x96. The latter was cancelling out
the first job almost always.

Also made preview renders detect size, to set amount of tiles
to be rendered. Small icons use 1 part, larger previews 16 now.

All in all, behaves much smoother now! But, will also update
the thread Jobs manager to allow "delayed jobs" like for icons,
these are aggressively put as first in the jobs list.
2011-01-02 19:46:32 +00:00
Ton Roosendaal
b8e47fd160 Bugfix #25301
Preview render for node shaders broke, caused by localizing 
materials last week, to prevent thread crashes. Fixed now.
Also added a temp fix to draw color-management corrected
node previews default. Will follow scene setting tomorrow.

Also: SSS in nodes doesn't render yet. Was issue in 2.4 too...
2010-12-19 20:12:12 +00:00
Ton Roosendaal
686420b15d Option "Make Single user" now also makes animations local.
Note that the menu option "Animation" only was working for
Object level animations, so I've changed the many name
accordingly.
2010-12-19 13:50:31 +00:00
Ton Roosendaal
ad35b37f2d Bugfix #25120 and #25119 and numerous future bugs!
Two isses:
- Material assigning to MetaBalls used wrong pointer
  (copy paste error, casting badly).
- Checking for node-material used wrong RNA pointer
  (confusing void stuff going on here!)

The error leads to corruption in data and/or random
crashes. Better update svn now!
2010-12-09 15:49:05 +00:00
Campbell Barton
46990b4904 fix for own mistake, reported [#25076] Creating new empty crashes Blender 2010-12-07 08:52:12 +00:00
Campbell Barton
a724918cf3 bugfix [#22663] object material slots not updated for library data 2010-12-06 02:32:16 +00:00
Campbell Barton
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
Campbell Barton
51dcbdde03 use 'const char *' by default with RNA functions except when the value is flagged as PROP_THICK_WRAP.
Also use const char in many other parts of blenders code.

Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-11-17 09:45:45 +00:00
Campbell Barton
f59b675641 patch [#24742] materials.pop() doesn't decrement user count
from Dan Eicher (dna)
2010-11-16 02:23:20 +00:00
Campbell Barton
31331fb61d error with allocating memory for a new material array (own fault in recent commit) 2010-09-03 16:23:31 +00:00
Campbell Barton
d0c54d3d0e use set as a suffix (matches operators)
- set_frame() --> frame_set()
 - set_context_pointer() --> context_pointer_set()

material adding works for curves and metaballs, new function to remove materials.

materials.link() didnt well fit how this is used elsewhere
 - order matters
 - it can be linked more than once.
 - remove(material), isnt that useful since you need to manage indicies.

... use list style functions instead. materials.append(mat) / materials.pop(index)
2010-09-03 07:25:37 +00:00
Campbell Barton
b2ae9d825c - inconsistent rna names - use 'vertex_group_' as prefix, only ui scripts used this
- change curve offset to be 0.0 for its rest/default value (not 1.0)
2010-09-02 07:00:34 +00:00
Campbell Barton
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
Brecht Van Lommel
0738ae7688 2.5: more removal of G.main. 2010-08-13 14:23:44 +00:00
Brecht Van Lommel
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
Campbell Barton
c0ba1671c3 group refcount checking was inconsistent.
- if a group has one or more objects in it, it gets a refcount of 1 on load (unchanged from before)
- dupli-groups, and materials no longer add/remove a reference.
- now groups are only freed when they contain no objects or when manually unlinked.
2010-07-13 16:53:17 +00:00
Campbell Barton
3754201720 fix for crash getting the current material & more verbose library errors 2010-04-20 16:12:39 +00:00
Campbell Barton
392e1da179 bugfix and cleanup
- BGE Shader.setSampler(name, index): index range check was wrong.
- Compositor check for an invalid channel was incorrect.
- getting the center of selected verts used an uninitalized z axis.
- do_init_render_material() used && rather then & when testing for MA_TRANSP.
- weight paint activate flipped bone used && rather then & for flag checking.
2010-04-17 15:47:00 +00:00
Matt Ebb
bd7ed4f077 Fix [#21708] Copy/Paste Texture channels for Lamps/World not working 2010-03-29 05:37:34 +00:00
Campbell Barton
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
Campbell Barton
546ca400d8 removed unused includes, except for physics and particle related files 2010-03-21 13:42:25 +00:00
Campbell Barton
b7a73f9e5b mtex buffer copy & paste back for materials. 2010-03-09 09:17:45 +00:00
Brecht Van Lommel
2eeef0ba7b Remove some unfinished code I accidentally commit for render thread safety. 2010-02-17 11:35:20 +00:00
Brecht Van Lommel
ad01c90ee3 Revert render slots commit for release, I can't find the bug or even redo
it myself, there will still be render slots just old implementation.
2010-02-16 19:24:04 +00:00
Campbell Barton
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Campbell Barton
611a5595f9 fix for flag being used in the wrong place with recent ApproxAO option. 2010-02-11 18:36:47 +00:00