Commit Graph

3051 Commits

Author SHA1 Message Date
5d2966283b UI Cleanup: Halo materials and textures
* Textures applied to halo materials showed influence option for normal particles. This was really confusing, and with the cleanup I revealed a couple of hidden features too!
** Particles actually allow for textures to change halo size and hardness, but my guess is that nobody knew since the names were wrong in the ui!
** I also added the option to change the "add" value with a texture, since it was just silly not to have it.
* Halo material properties are also a bit cleaner now.
2010-12-08 20:10:59 +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
b5c2f9df95 Bug fix: Halos didn't use texture alpha 2010-12-07 12:29:51 +00:00
8a2eb1f590 * Merged changes in the trunk up to revision 33492.
* Fixed a bug in listing all style modules in source/blender/blenlib/intern/bpath.c.
2010-12-06 01:23:18 +00:00
9668c29ba0 bpath iterator updates
- loop over sequencer plugin and texture voxel paths.
- fix leak in python bpy.utils.blend_path() and use PyUnicode_DecodeFSDefault() to ensure correct paths with different encodings.
- operators to make paths absolute & relative now redraw the view.
2010-12-05 23:14:48 +00:00
0400745c0a Fix part of #25040: rendering multiple scenes from compositing nodes didn't
restore current scene properly afterwards.
2010-12-05 10:14:34 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +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
b45c3363fd fix for some pedantic warnings. 2010-12-03 01:52:28 +00:00
38eb5fe75c bugfix [#24913] Text bevel normals wrong
error was introduced 33269, to fix [#24834].

this only reverts a small part of that commit, added note not to change this.
2010-12-02 05:39:43 +00:00
5fe2a16385 Fix [#20241] half-transparent objects in volume have no shadow. 2010-11-29 07:07:08 +00:00
4c82be95fd Fix:
[#24170] Camera inside volume error
[#24838] Light inside Volume material drops on it's walls - it may be double

Problem in a previous bugfix commit, reverted back, the original bug is still fixed too.
2010-11-29 01:05:20 +00:00
34ea1cf0b2 minor changes to the python api.
- pep8 script was giving an error on non utf8 scons source files.
- use PyList_SET_ITEM macro when list type is ensured.
- all mathutils types use subtypes to create new types when available.
- use defines MAT3_UNITY, MAT4_UNITY to initialize unit matrices.
2010-11-28 06:03:30 +00:00
a04603d2a0 Merged changes in the trunk up to revision 33348. 2010-11-27 12:48:35 +00:00
4efffc90f9 Bug fix: voxeldata texture extension didn't work.
* Code was using tex->extend instead of vd->extend.
2010-11-26 14:33:44 +00:00
ca6cc30368 Fix #24855: disabling shadows didn't disable AO/env with ray transparency
and AO multiply mode.
2010-11-26 03:50:14 +00:00
250c2fe3e5 Fix #24834: curves extrude + bevel gave bad normals on rendering.
This happened when removing vertex normal flipping in the render engine. But
actually the normal of the first face in the curve was flipped on rendering,
because it used a different vertex order than other places. Also removed the
hack that computes a face normal only from a triangle instead of a quad.
2010-11-23 20:32:15 +00:00
8f657c174d Fix: 8bit raw and 'blender voxel' voxel data texture formats didn't support relative paths 2010-11-21 23:36:29 +00:00
a0517e6338 == Sequencer ==
* documented and rewrote the render interface of the sequencer.
  (now, the geometry / render_type / etc. settings are stored within a
  seperate structure called SeqRenderData that is passed within the code.)

* that fixes
  * cache problems, since the caching system didn't keep track of
    proxy files vs. final renders.
  * is a necessary step, to bring back frame blending in speed effect
    (the SeqRenderData structure elements are already there)
  * will make motion blur render options available within the sequencer!

* this patch also fixes:
  * "easy retiming" using speed effects. (in Blender 2.49, you could 
    add a speed effect and resize the source track to retime it to that
    length)
  * adds labels for the Original dimensions for Image + Movie tracks
    (worked in 2.49, too)
2010-11-21 20:00:31 +00:00
257a2553c0 Fix for [#23696] Receive Transparent produces shadows in diffuse pass
* Even Ton couldn't remember why that code was there, so problem solved by removing the code :)
2010-11-19 15:17:33 +00:00
7358a95c8a bugfix [#24807] nan pixel on Word BG with Angular Map coord texture
also avoid divide by zero with an empty raytree
2010-11-19 10:24:14 +00:00
a3773b6ec5 bugfix [#24783] Strange shadows on beveled curve; goes away with modifier
this bug wasnt in 2.4x, suspect this happened when normal flipping was removed.
2010-11-18 05:35:04 +00:00
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
f791d74f10 writing single images from a render (own commit r33104), wasn't checking if the render was cancelled which would crash when writing the image.
also remove paranoid checks for writing TAGA, Other formats - BMP, JPEG, Iris don't do this.
2010-11-17 04:02:19 +00:00
09ba291c55 Merged changes in the trunk up to revision 33112. 2010-11-17 00:58:03 +00:00
fe2df7849e Bugfix #23677
Very old bug: Material/Render: the "filter" option for transparent
absorption also works for alpha==0, but in that case another part
of render code just didn't add the faces in render list.
2010-11-16 17:10:39 +00:00
1e245cc589 option to write images to a files on single frame renders, this isn't accessed by the UI at the moment, but could eventually be used for saving test-renders.
The main reason to have this is so renders can be scripted to write to a specific file without having to do annoying tricks like set a dummy start/end frame range, render an animation and work out the current frame image will be written to, then rename after rendering.

Also made some 'char *' args into 'const char *'
2010-11-16 14:40:46 +00:00
2153c663be Bug #22585
Using texture nodes for displacement crashes, a conflict between using
nodes in render and for displacement at same time. Code simply disables
texture nodes for displacement for now, until we have better handling for it.
(on our long todo)
2010-11-16 13:41:39 +00:00
91d544f322 fix for very old crash when setting an empty object as the camera and using stars. 2010-11-15 09:00:09 +00:00
1659e3fca7 Bug fix: memoryleak when using smoke heat/velocity data as texture
* In addition to fixing the memleak it's much better to always copy the voxeldata to the texture. Smoke data can change at any time due to some changes, so we can't depend on that data.
* Thanks to MiikaH for finding this!
2010-11-11 17:03:09 +00:00
4d9684ebdf Bugfix #20027
Texture Nodes didn't work for normal output anymore anymore.
It was caused by new handling of bump code using derivatives,
but that's not how texture nodes work now. In case a texture
has nodes, it uses the old (2.4) method.
2010-11-11 16:50:04 +00:00
718df71864 bugfix [#22794] Inconsistent behaviour with Panorama, border rendering 2010-11-09 01:37:58 +00:00
9e7c968113 Bug fix: Rendering with anti-aliasing disabled and full samples enabled crashed
* Disabling anti-aliasing disables full samples in ui, so do that in render code too.
2010-11-06 21:32:58 +00:00
43f4dbceb4 Merged changes in the trunk up to revision 32886. 2010-11-05 21:49:36 +00:00
951882e289 Fix for [#24510] VSE SceneStrip problem when rendering animation 2010-11-04 18:16:34 +00:00
e8f08c612b Fix #24523: deep shadows are rendered although object's shadow casting is disabled. 2010-11-04 11:41:05 +00:00
b350954501 [#23095] If no camera is present, a render starts but does nothing, and we have no "No camera" warning
Improve camera checking and move it before starting render jobs
2010-11-03 13:10:09 +00:00
1f2469d992 bugfix [#24508] Render and changing scenes crashes.
The scenes 'Render' is kept by blender while blender runs but the callbacks were not cleared when the render was done.
In this case the callback would reference a freed render job.

This isn't normally a problem because on re-rendering new callbacks are set, however the sequencer can render a previously rendered scene without setting up callbacks.
Simple fix is to to dummy callbacks applied onto the scenes 'Render' struct once its finished.
2010-11-03 11:14:02 +00:00
fe8d5b81b0 use c90 compatible static initializers. 2010-11-03 06:31:53 +00:00
3a8c37bb24 "Fix" for [#22537] motion blur render result incorrect when full sample anti-aliasing is selected
* FSA and motion blur can't work nicely together the way they're currently implemented, so I disabled this in the ui and code.
* FSA is used if both are selected.
* Also changed the name "Full Sample Motion Blur" to "Sampled Motion Blur" to avoid confusion with full sample anti-aliasing.
2010-11-01 13:51:11 +00:00
3367ef8b65 initialize structs to zero rather then using memset(). 2010-10-31 15:39:37 +00:00
06abc862b0 Fix crashing running read full sample layers operator. 2010-10-31 11:51:10 +00:00
7b8db3fab7 [#24414] Render hanging on small render border.
large render sizes could cause an the threaded tile processor to hang because winx * winy wrapped into a negative value.
also convert winx/winy to floats before multiplying for vector passs.
2010-10-27 10:36:22 +00:00
27b527c164 Fix [#23972] 2.54 beta crashes when rendering scene with many volume objects
Sticky-taped on more hacks to the already crumbling shading system.
2010-10-27 02:18:24 +00:00
3b2515ba0e Merged changes in the trunk up to revision 32684. 2010-10-24 13:05:09 +00:00
2d9be2226a warning fixes. 2010-10-23 16:03:31 +00:00
3161622f4c Fix for [#24361] Only first frame is working with glow in Render Animation using Video Editing - Effect - Glow 2010-10-22 22:31:40 +00:00
cfcf82803a Temporary fix for sequencer bugs #22925, #21429, #21783, #24165
* This fix is really only a bandage, as the underlying issue is that sequencer preview render doesn't yet use the job system.
* The sequencer preview can start a full render of the scene, and this can collide with other preview/actual renders in many cases.
* Drawing the sequencer preview is now disabled when an other render is in progress, but the sequence preview rendering could have already been started before the other render, so this doesn't really fix anything.
* For now only OpenGL rendering can be used for the sequencer preview reliably until it's reimplemented using the job system.
* Using the job system in the future can handle the clashes between different renders properly and will give users a nice progress bar to indicate something is happening while the preview is recalculated.
2010-10-21 17:00:38 +00:00
94aa87dd62 Fix for [#24293] Shadow pass is wrong
* The problem is that shadow pass is derived from the diffuse pass as
  shad = shad'/diff, where shad' = shad*diff. In cases where diff is
  0 and the division can't be done shad is left as shad' (=0).
* This all works just fine until the diffuse color is 0 on just one
  channel (no red in material color for example). In this case the shadow
  pass is left as 0 too regardless of the existence of an actual shadow,
  so the end result is a colored shadow!
* The only real solution is to use the original shadow intensity to
  determine if there actually is a shadow or not. This is now stored in
  shr->shad[3] from the lamp shadow calculation.

Note: The best solution would probably be to calculate the shadow pass on
it's own and not to derive it from the diffuse pass, but I didn't dare to
start messing up the shading code totally.
2010-10-19 16:10:30 +00:00
894daa01be Merged changes in the trunk up to revision 32565. 2010-10-18 20:40:43 +00:00