Commit Graph

6295 Commits

Author SHA1 Message Date
Brecht Van Lommel
f6f5d17a50 Fix #33984: cycles shadow pass problem with CUDA. 2013-01-30 17:04:51 +00:00
Brecht Van Lommel
dc0f4b5618 Cycles: make multiple importance sampling for lamps an option per lamp now,
disabled by default for backwards compatibility.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Integrator
2013-01-30 15:57:15 +00:00
Campbell Barton
743b4f213e disable ubuntu unity workaround, causes issues with modifier keys held doun with multiple windows.
no time to fix now so disabling.
2013-01-30 13:44:24 +00:00
Sergey Sharybin
452a52575c Cycles material preview: fix for generated/packed/movie files
Issue was caused by cycles trying to find builtin images in a main
database and in case of preview render images are not in database,
they're just referenced by shader node tree.

Now builtin images in cycles have got void* pointer to store data
needed to load builtin images.

In case ob blender session, this pointer will store pointer from
PointerRNA for image datablock and used later to construct Image
class based on this pointer.

This also saves database lookup for final render which is nice :)

Reviewed by Brecht.
2013-01-30 13:42:12 +00:00
Campbell Barton
7b6a34a756 patch [#34039] Fix Alt key glitch on Unity desktop
by Shinsuke Irie (irie) with own minor changes.
2013-01-30 04:12:32 +00:00
Brecht Van Lommel
3eb800169f Cycles: collapse preview render panel by default. It's a matter of personal
preference, but it slows down 3D view rendering to have two renders going so
I rather disable it by default.
2013-01-29 17:30:26 +00:00
Stuart Broadfoot
6d2f104884 Cycles Hair: Addition of render settings and static BVH strand width scaling
Addition of a RNA function to toggle between the hair settings and rebuild the cache. This enables the usage of the render step, child number and full display percentage with f12 rendering.

A scaling to the strand radius has also been added for the static bvh. This only matches up with dynamic for uniform scaling.

A very small fix is included for multiple uvs/vertex colours when using child particles.
2013-01-29 12:32:43 +00:00
Brecht Van Lommel
5ac4b38a20 Cycles: preview rendering support for world/material/lamp.
Patch by Sergey, .blend by Thomas and some further tweaks by me.

Still to solve later: allow external engines to specify own preview .blend, for
now the code here is doing too much magic hacking on the preview scene still.
2013-01-28 17:37:51 +00:00
Thomas Dinges
431619e45b Windows compile fix:
* r54117 broke Windows, __func__ not declared.
2013-01-27 15:12:52 +00:00
Campbell Barton
9d36fade8f make MEM_reallocN and MEM_recallocN behave as libc's realloc() - alloc when receiving a NULL value. 2013-01-27 11:20:50 +00:00
Brecht Van Lommel
38c94e9194 Fix cycles crash that happened with mesh emission and diffuse/glossy ray
visibility disabled on some objects.
2013-01-25 02:00:57 +00:00
Ton Roosendaal
4477d59b76 Put back minimum window sizes on 320x240.
This didnt work well with making blender areas into windows.

Real fix: check such minimums based on what's in the window itself... or just
make scaling work flawless.
2013-01-24 17:57:38 +00:00
Sergey Sharybin
5e739ddae2 Added some code which helps troubleshooting issues caused by
non-threadsafe usage of guarded allocator.

Also added small chunk of code to check consistency of begin/end
threaded malloc.

All this additional checks are commented and wouldn't affect on
builds, however found them helpful to troubleshoot issues so
decided to commit it to SVN.
2013-01-24 08:14:05 +00:00
Stuart Broadfoot
976c6b7b6e Cycles Hair: Multiple vertex colours and UV coordinates
Added export of multiple UV coordinates and vertex colour attributes.

A debugging option to export the strands without using the cache has also been removed.
2013-01-23 17:15:45 +00:00
Brecht Van Lommel
543e06ce0e Fix #33915: tweak self intersection epsilon for motion blur a bit further, still
had some cases where there were artifacts. Also fix rendering error with shutter
time set to 0.
2013-01-23 16:56:02 +00:00
Sv. Lockal
36641078f8 Fix compilation with WITH_X11_XINPUT=OFF 2013-01-23 15:01:33 +00:00
Brecht Van Lommel
7bcbbe26d5 Fix #33905: cycles crash with bsdf node plugged twice into add shader. 2013-01-23 13:13:20 +00:00
Thomas Dinges
9ce9f6a477 Cycles:
* Small code cleanup of panel registering after Bullet merge.
2013-01-23 11:02:28 +00:00
Campbell Barton
47f23c1372 fix for blender quitting in X11 if you start blender with a tablet, unplug it, then open a new window. 2013-01-23 10:32:09 +00:00
Sergej Reich
2d8637946b rigidbody: Add rigid body simulation
Add operators to add/remove rigid body world and objects.
Add UI scripts.

The rigid body simulation works on scene level and overrides the
position/orientation of rigid bodies when active.
It does not deform meshes or generate data so there is no modifier.

Usage:
* Add rigid body world in the scene tab
* Create a group
* Add objects to the group
* Assign group to the rigid body world
* Play animation
For convenience the rigid body tools operators in the tools panel of the 3d view
will add a world, group and add objects to the group automatically so you only have
to press one button to add/remove rigid bodies to the simulation.

Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-23 05:56:44 +00:00
Ton Roosendaal
8733150ac1 OSX 10.6 error - hiding code behind a respondsToSelector. 2013-01-22 19:06:51 +00:00
Ton Roosendaal
9e30e7cdaf Bug fix #33911
When you open a Blender window larger than a screen, Macs clip it to match the height,
but they allow the width to be more.

Problem is that this clipping happens after all window opening code. That causes
check for HiDPI mode to fail.

Now it checks it again on event GHOST_kEventWindowUpdate, which is only on startup.
2013-01-22 18:07:17 +00:00
Thomas Dinges
59b096ed00 Cycles:
* Disable Lamp MIS on sm_20. Still enabled for CPU and sm_21 and above.
2013-01-22 14:49:52 +00:00
Campbell Barton
62191d935c reverting r53798 to fix [#33831], it casued bug [#33921] 2013-01-22 07:10:42 +00:00
Stuart Broadfoot
4c67b23c8d Cycles Hair: Fix of cardinal curve intersection routine
Fixed some of my own mistakes in the cardinal curve intersection routine.
2013-01-21 00:58:14 +00:00
Bastien Montagne
cef730d969 Python i18n API. Many thanks to Campbell and Brecht for the reviews and suggestions!
This commit adds:
* A new bpy.app.translations module giving some info about locales/translation stuff (current active locale, all locales currently known by blender, all translation contexts currently defined, etc.).

* The ability for addons to feature translations, using the (un)register functions of above module.

* Also cleans up "translate py string when storing into RNA prop" by removing "PROP_TRANSLATE" string's subtype, and adding a PROP_STRING_PY_TRANSLATE flag instead (this way it is no more exposed to python...).

Addon translations work with py dictionaries: each addon features a dict {lang: {(context, message): translation, ...}, ...}, which is registered when the addon is enabled (and unregistered when disabled). 

Then, when a key (context, message) is not found in regular mo catalog, a cache dict for current locale is built from all registered addon translations, and key is searched in it.

Note: currently addons writers have to do all the work by hand, will add something (probably extend "edit translation" addon) to automate messages extraction from addons soon(ish)! To get a look to expected behavior from addons, have a look at render_copy_settings/__init__.py and render_copy_settings/translations.py (rather stupid example currently, but...). Once we have a complete process, I'll also update relevant wiki pages.
2013-01-20 17:29:07 +00:00
Nicholas Bishop
3447f2ade1 Add missing virtual destructor for VirtualMemoryAllocator
Fixes a warning from GCC 4.7.2.
2013-01-20 15:36:32 +00:00
Campbell Barton
f414d2980a code cleanup: remove some paranoid checks which would have crashed anyway earlier on.
Also some minor formatting.
2013-01-20 14:50:50 +00:00
Jason Wilkins
160dd1dc3b More win32 multimon (r53923). Changed getNumDisplays so that it will actually succeed. 2013-01-20 14:40:31 +00:00
Jason Wilkins
5a8d04bbb6 Add multimon support to GHOST_DisplayManagerWin32.cpp (It seemed to work before, but recent changes to GHOST_ASSERT caused it to abort if WITH_ASSERT_ABORT was configured). 2013-01-20 13:46:53 +00:00
Thomas Dinges
1a131171cb Cycles Test App:
* Fix compile for camera xml properties.
2013-01-17 22:51:54 +00:00
Thomas Dinges
61ce87e741 Cycles:
* Fix for [#33909]. If "Progressive" checkbox was disabled but device was GPU, it still used the amount of "aa_samples" instead of "samples"
2013-01-17 19:52:59 +00:00
Campbell Barton
60e5583933 add NULL check for XInput device, since its possible only one is valid. 2013-01-17 02:06:54 +00:00
Campbell Barton
9e7b954ed0 fix for GHOST/X11 using uninitialized memory for the tablets active state. (possible cause of reported glitches in tablet use). 2013-01-16 22:00:03 +00:00
Campbell Barton
6e7ee2649d style cleanup 2013-01-16 18:16:05 +00:00
Campbell Barton
cda2b7db0f fix for glitch in X11 with tablets.
Notices this while using continuous-grab, since this is disabled when the tablet is being used.
Quite often I would use the tablet then drag a button with the mouse but blender would still have the tablet enabled.
This error would cause other parts of blender to behave incorrectly too since wmEvents would have wmTabletData set, operators check for this in some cases.


The problem was blender didn't reliably get ProximityOut events, eg:
  moving the cursor outside the window with the tablet, then back over the window with the mouse -
  meant blender didn't get a 'ProximityOut' event and would keep the active stylus value set.

For now, when the processing events and the active stylus is set, run a check that the tablet is still in proximity.
2013-01-16 18:05:17 +00:00
Sergey Sharybin
b01233b07f Movies support for Cycles
This adds support of movie textures for Cycles rendering.

Uses the same builtin images routines as packed/generated images,
but with some extra non-rna hookups from blender_session side.

Basically, it's not so clear how to give access to video frames
via C++ RNA -- it'll require exposing ImBuf to API, doing some
threading locks and so. Ended up adding two more functions which
are actually bad level call, but don't consider it's so much bad
-- we have few bad calls already, which are actually related.

Changed a bit how builtin images names are passing to image
manager. Now it's not just an ID datablock name, but also a frame
number concatenated via '@' character, which makes itpossible to
easily know frame number to be used for movie images, without
adding extra descriptors to image manager.

Decoding of builtin name is a bit slower now, but it should be
still nothing in comparison with rendering complexity.

Also exposed image user's frame_current to python API, which
is needed to get absolute frame number of movie from node's
image user.

P.S. Generated/packed images are also using bad level call but
only does it to make things more clear here.  Either all images
are using C++ RNA here or no images does. That's the most clear
for now.
2013-01-16 17:07:25 +00:00
Thomas Dinges
c997f69bf9 UI / Scene Context:
* Made Color Management and Audio panel closed by default to save space. 
* Added COMPAT_ENGINES to color management panel.
2013-01-16 13:59:19 +00:00
Ton Roosendaal
b5cffb48ea Mac OS X, Intuos tablet fix
Touch input events map nicely to trackpad input now.
However, I noticed the event values are a factor 10 scaled larger compared
to other touch delta's. Makes using touch input on the tablet not so nice.

I found a hack to detect Wacom events, but if it works for more devices?

Anyway - for me the Wacom works perfectly smooth for view manipulations now.
2013-01-16 13:45:11 +00:00
Sergey Sharybin
2095b2cddb Fix #33877: Pressure Sensitivity stop after opening User Preferences Window
Issue was caused by opening the same device id twice and closing one of
descriptors on closing window. This used to close device used by other
windows.

Now moved all device-specific code to SystemX11, so opening and closing
happens only once.
2013-01-16 12:28:25 +00:00
Campbell Barton
f2cfe4b2e9 minor changes to ghost
- use WITH_ASSERT_ABORT define, so GHOST_ASSERT will abort.
- rename XTablet -> GHOST_TabletX11, was confusing since it was named like an xlib struct.
2013-01-16 01:10:06 +00:00
Campbell Barton
769ab3eed8 code cleanup:
- cycles ui used 'cscene' for scene.cycles and scene.cycles_curves
- style cleanup
2013-01-15 23:17:45 +00:00
Brecht Van Lommel
486abf01c6 Fix CUDA compile after last commit. 2013-01-15 20:13:19 +00:00
Stuart Broadfoot
3373b8154b Cycles Hair: Introduction of Cardinal Spline Curve Segments and minor fixes.
The curve segment primitive has been added. This includes an intersection function and changes to the BVH.

A few small errors in the line segment intersection routine are also fixed.
2013-01-15 19:44:41 +00:00
Brecht Van Lommel
0967b39be1 Fix #33838: light render passes for non-progressive integrator were not correct. 2013-01-15 19:17:51 +00:00
Thomas Dinges
f146317b09 Cycles:
* CUDA: Make it more clear that sm_12 and below is not supported.
* OpenCL: __KERNEL_SHADING__ was declared twice for nvidia opencl device.
* Some reshuffle of defines in kernel_types.h. No functional changes.
2013-01-15 19:02:17 +00:00
Brecht Van Lommel
6adfd91657 Fix #33830: cycles normal mapping was not quite correct, was not correctly
respecting the assumption that normal and tangent are interpolated without
normalization.
2013-01-15 16:35:05 +00:00
Campbell Barton
dfdf07c21a fix [#33831] "Alt" key is "Alt Window Deactivated"
Patch from Patrick Zulke (pazul)
2013-01-14 20:04:36 +00:00
Antony Riakiotakis
f2891d3731 For non-windows systems, check for CUDA compiler during runtime 2013-01-14 19:33:16 +00:00
Brecht Van Lommel
8869c135e3 Cycles: enable lamp multiple importance sampling on the GPU, seems to be
working ok with sm_20 and sm_21.
2013-01-14 17:52:11 +00:00