Commit Graph

2957 Commits

Author SHA1 Message Date
c2ad963e28 code cleanup: use NULL rather then zero for pointers 2013-08-07 03:30:23 +00:00
44376a322f Frame reporting to console was wrong when not using Render Layers in compo
This is because render info's current frame is either happens in
conversion stage (when using Render Layers node) or in sequencer's
rendering (which you don't usually have).

Now made it so when only compositor is used, proper current frame
is being set to re->i stats structure.
2013-08-06 02:34:50 +00:00
b03bc88d21 replace mul_serie_m4 with mul_m4_m4m4 when only 3 args are given 2013-08-06 01:45:29 +00:00
0e6048ac1a fix for divide by zero when border render size causes zero pixel width 2013-08-05 06:08:58 +00:00
02ec0b9431 Cycles:
* Forgot to rename some SSS pass strings.
* Some typo fixes.
2013-08-03 21:45:57 +00:00
5fc6f04fc8 Cycles / SSS:
* Render Passes are now available for Subsurface Scattering (Direct, Indirect and Color pass). 

This is part of my GSoC project, SVN merge of r58587, r58828 and r58835.
2013-08-03 13:12:09 +00:00
efe690a3a5 code cleanup:
- incorrect NULL check in logic UI drawing
- incorrect NULL check in octree quad test
2013-08-02 13:21:32 +00:00
7913604bda remove unused headers and NULL check 2013-07-31 21:34:25 +00:00
43ab02db14 code cleanup: remove redundant NULL checks 2013-07-31 09:18:40 +00:00
2945f512ba fix for incorrect null check in RE_engine_update_stats 2013-07-26 10:11:18 +00:00
1dd7156c4c Fix #36058: Displace Modifier errors using a baked Image and displace baking inconsistency between 2.67/2.68RC and previous versions
This was in fact really nasty bug, caused by multitex_nodes
function using global variable R (which is a copy of current
renderer). this variable is not initialized to anything
meaningful for until first rendering (preview or final)
happened.

Since multitex_nodes might be used outside of render pipeline,
made it so whether CM is on or off as an argument to functions
multitex_ext_safe and multitex_ext. Now multitex_nodes() is
only shall be used for stuff happening from render pipeline!

Also needed to make some changes to other places, so all the
usages of texture sampling knows for the fact whether CM is
on or off.

And one more change is related on behavior of dispalcement,
wave, warp, weightvg modifiers and smoke. They'll be always
using CM off since texture is used for influence, not for
color.

It's rather bigger patch, but it's mostly straightforward
changes, which we really need to be done.

Reviewed by Brecht, thanks!
2013-07-15 14:47:58 +00:00
b7396654e1 fix for bad NULL check in bmo_connect_pair, also remove duplicate checks in if statements and redundant initialization vars. 2013-07-13 16:25:47 +00:00
32586e6805 Fix #35470: crash rendering from the terminal in some cases due to render info
text threading issue.
2013-07-12 20:31:30 +00:00
48247cdb87 fix for crash with texture-baking caused by recent changes to render-database initialization, running bake 3 times would crash. 2013-07-12 05:42:16 +00:00
e64937c96d Fix #36091: external render engines like Luxrender don't work well with the save
buffers option, it requires specific tile sizes and if they don't match what
OpenEXR expects file saving can get stuck.

Now I've made support for his optional, with a bl_use_save_buffers property for
RenderEngine, set to False by default.
2013-07-11 12:22:29 +00:00
990cad983b Fix #36082: animation playback not working after rendering of background scenes and
multiple render layer nodes. Also fixes issue with database free with vector blur
after recent thread safety changes.
2013-07-10 16:46:13 +00:00
79f264bd69 Fix blender environment map texture looking different on the first render with
an image file, the image extend is set automatically when render starts but not
when the image was never loaded yet.
2013-07-09 13:47:19 +00:00
751062fc5f Fix #35979, #35937, #35739: undo crashes and missing updates with blender
internal viewport rendering. Lots of tweaks here, mainly:

* Stop 3D viewport render and free database before undo.
* Accumulate update flags rather than replace them each time it rerenders, to
  avoid previous updates getting lost.
* Don't check against Render struct view parameters for changes, those are set
  in the job thread which might not run before the next update call.
2013-07-08 22:26:10 +00:00
3ce280e825 Fix #35960, #36044: blender internal viewport rendering crash while editing data.
Now the viewport rendering thread will lock the main thread while it is exporting
objects to render data. This is not ideal if you have big scenes that might block
the UI, but Cycles does the same, and it's fairly quick because the same evaluated
mesh can be used as for viewport drawing. It's the only way to get things stable
until the thread safe dependency graph is here.

This adds a mechanism to the job system for jobs to lock the main thread, using a
new 'ticket mutex lock' which is a mutex lock that gives priority to the first
thread that tries to lock the mutex.

Still to solve: undo/redo crashes.
2013-07-08 17:56:51 +00:00
22f26b2ce4 Fix for Bug #35970: Freestyle + Particles = Crash.
The crash was caused by a reference of freed memory in add_halo_flare() that relied
on the global variable R to retrieve a list of objects.  The value of this variable
is invalidated by a nested execution of the Blender Internal renderer for Freestyle
stroke rendering, leading to the documented memory reference issue.
2013-07-07 17:24:30 +00:00
ae754c6384 fix for crash deleting the world when viewport preview is used. 2013-07-06 07:34:38 +00:00
970a4c7cc4 fix [#36005] viewport rendering crashes blender 2013-07-05 07:53:22 +00:00
32e917be8d correct typo in previous commit & minor changes. 2013-07-05 00:13:14 +00:00
6db8fd72f0 Fix #35957: blender internal viewport render did not do correct color management
for image textures.
2013-07-04 18:17:02 +00:00
721237cf29 Fix #35986: "Full sample AA not supported without 3d rendering" message was
displayed even with antialiasing disabled.
2013-07-03 17:02:09 +00:00
418011907c remove nan copyrights from code added since blender become opensource (copy paste errors), also remove BKE_script.h 2013-07-02 10:14:59 +00:00
dc85135045 Fix #35412: blender internal "from dupli" texture coordinates not working with
particles in linked groups.
2013-06-28 16:06:55 +00:00
e5f23c00c1 Fix: blender internal transparent shadows were not influenced by object color alpha. 2013-06-28 15:00:05 +00:00
929bba2bac fix for crash reading from a freed scene when exiting blender. 2013-06-27 06:16:31 +00:00
2daa901ec0 Fix #35883: freestyle + envmap render crashed. 2013-06-26 19:23:03 +00:00
d3b6117068 Fix typo made back in svn rev35785
Callback handle was assigning to wrong storage in RE_draw_lock_cb.
So far it was completely harmless because all the callbacks are
using the same handle, so test_break_callback was using correct
handle, and since draw_lock_callback didn't use handle at all
nobody noticed this.

But this typo lead to draw_lock_callback using NULL instead of
real RenderJob, which is bad for the feature we're working in
GSoC branch.
2013-06-25 07:22:28 +00:00
0309f442bb Render stats text: show elapsed time for blender internal, hide useless "Single Layer"
at the start, more clearly indicate what the render time of the last frame was, some
other tweaks for consistency.
2013-06-24 22:41:24 +00:00
2df82a2a2b Code cleanup: fix some vs2012 compiler warnings 2013-06-21 12:33:19 +00:00
a92468c7d7 Fix #35807: blender internal motion blur render without antialiasing would
give black speckles (self intersection errors) in raytraced shadows.

Motion blur does some extra offsets for free antialiasing in the motion blur
samples, but did not take them into account everywhere.
2013-06-20 11:47:09 +00:00
a384612cce Fix #35439: Render Border have weird influence on compositing
Issue was caused by render result passing to a compositor
was having a resolution of border when using a camera border
in cases there's no Render Layer nodes.

Made it so resolution in which compositor works does not
depend on whether Render Layers present or not.
2013-06-20 11:32:08 +00:00
94cb20ff4e when setting the subframe for large frames (250,000+) the precision was very poor.
now use double precision when combining the frame+subframe.
2013-06-16 04:06:38 +00:00
14cc35d1ab Fix blender internal showing SSS preprocessing status message even if there isn't
any SSS material in the scene.
2013-06-13 18:29:56 +00:00
7d478ac0a7 Fix #35664: blender internal material index pass + ztransp + multiple materials
assigned to a mesh did not work correct.
2013-06-13 15:02:42 +00:00
a754423bd1 Fix #35735: blender internal viewport rendering was missing SSS update when
changing angle of view.
2013-06-13 14:40:22 +00:00
5520331215 Fix #35561: freestyle + read full sample layers = crash.
Now add_freestyle() in pipeline.c takes a second argument to enable/disable
stroke rendering.  When stroke rendering is disabled, the function allocates
data structures but does not perform stroke rendering.  The allocated data
structures (mostly left unpopulated with data elements) are intended to allow
for the Read Full Sample Layers (Shift-R) command in the compositor.
2013-06-11 02:32:01 +00:00
ab52b15964 Fix #35681: cycles excluded layers still got evaluated before and after
rendering even if they were not used on any render layers.
2013-06-10 13:53:38 +00:00
c423e3ed8f code cleanup: warn undefined compiler defines. 2013-06-08 05:24:55 +00:00
f47cb7e2d9 Fix for r56965 by Tamito:
* Panorama Camera was not working for Blender Internal and Cycles anymore.

Code checked for Freestyle render layer flag, but as the flag is enabled per default, it broke Panorama camera in all cases. It made no sense to check this on a render layer basis anyway... check if Freestyle is enabled in general now instead.
2013-06-01 02:14:07 +00:00
9fb3d3e032 remove redundant includes from cmake and scons. 2013-05-30 02:16:22 +00:00
9e05f6571f Make sure bool will always have the same size in C and C++
There were an issues with data structures defined in headers
and being used by both C and C++ on systems with stdbool
unavailable.

This happened because bool in this case will be defined as
unsigned int, which is 4 bytes. But C++'s bool is only 1
byte and this lead to alignment issues.

Now bool is always 1 byte, also made sure there's no situation
like bool foo = BitField & BitFlag, which could give overflow
issues. Use (BitField & BitFlag) != 0 instead.

Fixes #35553: Compositor broken (Backdrop & Preview)
2013-05-29 11:49:39 +00:00
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
c77179a3c2 code cleanup: comment/remove unused defines 2013-05-28 01:15:59 +00:00
ec8d277c64 BLI_math rename functions:
- mult_m4_m4m4 -> mul_m4_m4m4
- mult_m3_m3m4 -> mul_m3_m3m4

these temporary names were used to avoid problems when argument order was switched.
2013-05-26 18:36:25 +00:00
663f15cf2b Fix #35493: Blender crash when rendering in terminal mode
Use the same window manager for freestyle bmain as
real bmain uses. This is needed because freestyle's
bmain could be used to tag scenes for update, which
implies call of ED_render_scene_update in some cases
and that function requires proper windoew manager
to present.

Alternative would be to make render scene update does
nothing if there's no window manager, but we wanted
freestyle to be applied in rendered viewport once and
think current change is what we'll need to support
freestyle in viewport.

But a bit further, perhaps that'd make sense to not
register ED_render_scene_update as a scene update
callback when in background mode?
2013-05-24 07:56:32 +00:00
ba4fb6bf43 Temporary fix for [#35467] wrong lines with panoramic camera.
A warning message is shown when the panoramic camera is combined with Freestyle.
2013-05-22 19:21:42 +00:00