Commit Graph

346 Commits

Author SHA1 Message Date
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
44fdde5695 fix missing notifier [#25682] bpy.data.materials['XXX'].texture_slot.clear(0) dosen't delete texture from screen 2011-01-17 23:30:28 +00:00
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
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
b9fe5399e8 Revert bump mapping patch for now, backwards compatibility is not good enough,
we may need to preserve the previous method.
2011-01-07 16:55:56 +00:00
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
b067a85aa3 Todo item:
Object color option now is incorporated in preview render, and
in display in 3D window.

Note that Object-color is "modulating" the render result, it just
multiplies... which is very limited for practical use. This was
added for Apricot game project. The original meaning however was
to replace diffuse only... so specular and light work still correct.

ALso made header for properties editor start on top, to reflect
default (report in tracker).
2011-01-05 15:10:35 +00:00
56453a4361 Fix for own commit 24156:
Normal Map bool and the normal_space menu are only used for material based textures, not for textures used by lamp/world etc. Accidentally ported this over from 2.49, where these buttons are drawn even they don't work in that context.
2010-12-27 12:12:43 +00:00
9c76ff3f2e "Particle" texture coordinates for halo materials:
* Particle age can now be used as the texture x-coordinate, and location in a particle trail as the y-coordinate.
* This finally enables particles in 2.5 to change their color (or any other texturable material property) by their age.
* In 2.4x this was accomplished with the "100 frames == particle age", but this was both non-intuitive and slow as the animation system had to be recalculated for every particle.
* Currently these are 2d coordinates (age/lifetime == x-coordinate, trail particle index/number of trail particles == y-coordinate), but other particle properties or possibly even a user definable property can be added as coordinates in the future.
* On the code side this uses the same coordinate definition number (for halo materials) as strand coordinates (for surface materials). This is also nice as they intuitively mean nearly the same thing, i.e. along strand or during particle life.
2010-12-07 12:58:25 +00:00
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
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
ba36dd3cc5 "Fix" for [#24743] Strand Shading: Distance slider gives different results even when greyed out
* The actual flag was set at render time, was not supposed to be editable manually.
2010-11-19 08:37:19 +00:00
5aea6c2181 Bugfix #24659
Material buttons: Wardiso slope button was not of type 'factor' (slider), 
making it very hard to use.
2010-11-11 11:53:30 +00:00
97984e6562 Fix #24615
Light Cache resolution for volumetric material could be set to zero,
causing crashes.
2010-11-10 14:09:32 +00:00
5ef1cf4b19 Fix for some enum property identifiers, that were not using upper case
with underscore, or were simply not set correctly after code copy/paste.
2010-11-01 21:45:38 +00:00
db1b74654b - spec hardness was missing redraw update
- missed rna rename in image ui
- use BLI_math functions in gpu_draw.c (no functional changes)
2010-10-02 06:34:04 +00:00
7a962c2636 patch [#24034] Fix for [#24010] in 3D view; updates material
from Alexander Kuznetsov (alexk)
fixes [#24010] specular color not updated in 3D window until object selected
2010-09-28 11:27:42 +00:00
942dda3f2d * Increase Ray Depth Property Range, request by Conz. 2010-09-07 20:49:44 +00:00
0cf0f5a622 rna api
- move: material.add_texture(tex, coords, mapto) --> material.texture_slots.add()
- added material.texture_slots.create(index), material.texture_slots.clear(index)
- texture slot functions also work for lamp and world now.

Other minor changes
- allow rna functions to set FUNC_NO_SELF and FUNC_USE_SELF_ID at once.
- [#23317] Changed some operators' RNA to accept lengths, a modification I made to this patch made it not work as intended, removed this edit so unit buttons appier in the UI for certain operators.
- Sphinx doc gen, 2 columns rather then 3, didnt quite fit in some cases.
2010-09-03 14:53:54 +00:00
a51f31e9a5 Fixes for RNA Renaming in Texture Properties (Volume Material) 2010-08-31 14:54:04 +00:00
93ffe7d7f1 rna renaming (manual edits) 2010-08-21 04:51:00 +00:00
6da7684ca6 fixed [#23400] Unable to import *.3ds/*.obj files with textures
changed some rna names to be more consistant
- use_texture -> use_image, since it sets if 'image' is used.
- use_map_color_diff -> use_map_color_diffuse since diffuse is used elsewhere in the same type.
2010-08-20 08:11:26 +00:00
4f5f868a52 rna data path names which are more likely to break animations.
Added an operator "Update Animation Data",
access from the search menu to update drivers and fcurves.
2010-08-20 06:09:58 +00:00
097a6ca926 rna remaining that negates values 2010-08-20 02:08:43 +00:00
7da5d9faec rna renaming, still only adjusting properties that wont be animated (at least its very unlikely). 2010-08-18 07:14:10 +00:00
7a31417f50 apply UserPrefs and Theme rna naming changes. 2010-08-17 13:14:41 +00:00
e0f0a425fa rna pointer poll function, not used yet. 2010-08-03 05:14:59 +00:00
9d62acea67 some rna numbers were signed when they shouldnt be (simplify could have its subdivisions set negative) 2010-05-20 08:51:03 +00:00
96beb8330c Great patch by Harley Acheson fixing about 80 typos and spelling
mistakes in makesrna
2010-05-04 05:15:53 +00:00
d574e8b826 2.5 Preview Render:
* Converted Type Buttons (Flat, Cube, Monkey etc.) in Material Preview to RNA. 
* "Alpha" option in texture Preview Render is back!
2010-04-04 12:09:59 +00:00
26736ac0f0 remove unused rna includes 2010-03-24 09:51:32 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
273af05c80 Emmit step size was too high 2010-02-21 08:25:14 +00:00
d125f17db8 Fix #19736: GLSL viewport materials are not updated on all changes. 2010-02-13 13:49:27 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
d98603129c Added an option "Cast Approximate" to control if a material should cast
shadow when using approximate AO, separate from "Traceable".
2010-02-11 15:43:31 +00:00
78faeb73b8 Operation Dot-Kill finished 2010-02-11 01:11:52 +00:00
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
f6fe654546 Tooltip fix for "raytrace_transparency", patch by Oxben. 2010-02-10 16:16:57 +00:00
6d38010cc5 sunsky presets
* Mountain: low turbidity, well-defined sun, blue-ish (high sun energy)
* Desert: high turbidity (dust), big, diluted sun, red-ish
* Classic: average turbidity (water vapor), small, diluted sun.

also fixed a bug with saving string presets
2010-02-07 13:56:36 +00:00
bb571c67cb mat/lamp/world.textures -> texture_slots
object.materials -> material_slots

since neither contain textures or materials directly.
2010-02-07 12:51:47 +00:00
b645e56ad5 Fix for weirdness in texture map to settings - we now use negative
numbers for negative influences (as opposed to old 3-state button)
but the ui range was only set to 0,1.

Changed the defaults to -1,1 and added a shortcut - pressing minus 
key while the mouse is over a number field or slider will make it negative.
2010-01-29 01:20:57 +00:00
e9b0956b55 Adjust material strand size ui range to show some more precision,
these values need to be very small for blender units.
2010-01-21 12:07:15 +00:00
f02dde5de7 Patch from Raul Fernandez Hernandez - volume render multiple scattering fixes
Also: Changed 'Spread' value to be proportional to the light cache voxel grid 
(i.e. 0.5 spreads half the width of the grid), so that it's independent of light 
cache resolution. This means that results should be similar as you increase/
decrease resolution.
2010-01-03 23:45:13 +00:00
07904712e8 RNA:
* Property update functions no longer get context, instead they get only
  Main and Scene. The RNA api was intended to be as context-less as
  possible, since it doesn't really matter who is changing the property,
  everything that uses the property should be updated.
* There's still one exception case that use it now, screen operations
  still depend on context too much. It also revealed a few places using
  context where they shouldn't.
* Ideally Scene shouldn't be passed, but much of Blender still depends on
  it, should be dropped when we try to support multiple scene editing.

Change was planned for a while, but need this now to be able to call
update without a context pointer.
2009-12-08 17:23:48 +00:00
b89138564e Changes to Color Management
After testing and feedback, I've decided to slightly modify the way color 
management works internally. While the previous method worked well for 
rendering, was a smaller transition and had some advantages over this
new method, it was a bit more ambiguous, and was making things difficult 
for other areas such as compositing.

This implementation now considers all color data (with only a couple of 
exceptions such as brush colors) to be stored in linear RGB color space, 
rather than sRGB as previously. This brings it in line with Nuke, which also 
operates this way, quite successfully. Color swatches, pickers, color ramp 
display are now gamma corrected to display gamma so you can see what 
you're doing, but the numbers themselves are considered linear. This 
makes understanding blending modes more clear (a 0.5 value on overlay 
will not change the result now) as well as making color swatches act more 
predictably in the compositor, however bringing over color values from 
applications like photoshop or gimp, that operate in a gamma space, 
will give identical results.

This commit will convert over existing files saved by earlier 2.5 versions to 
work generally the same, though there may be some slight differences with 
things like textures. Now that we're set on changing other areas of shading, 
this won't be too disruptive overall.

I've made a diagram explaining the pipeline here:
http://mke3.net/blender/devel/2.5/25_linear_workflow_pipeline.png

and some docs here:
http://www.blender.org/development/release-logs/blender-250/color-management/
2009-12-02 07:56:34 +00:00
Dalai Felinto
d594388a28 rna bge fix: using dynamode instead of mode for Dynamic Material option: Align to Normal (it was using Material->Shadow Receive) 2009-11-21 17:50:08 +00:00
91352006c4 arbitrary property and function support for rna properties (arrays and collections), this means functions can be easily added.
eg.
 scene.objects.link()
 object.constraints.new()
 mesh.verts.transform(...)
 mesh.faces.active

PropertyRNA stores an StructRNA pointer where these can be defined.
2009-11-13 16:08:03 +00:00
55beacfa47 *Small tooltip fix for strand start/end. 2009-11-08 17:58:06 +00:00
da6081f266 Fix for bug [#19668] Blender freezes if step size 0 is used for a volumetric material -- limit the minimum step size 2009-11-02 10:30:51 +00:00