Commit Graph

2673 Commits

Author SHA1 Message Date
Sergey Sharybin
8a2c30ac57 RNA C++ API improvements
Added support of such features, as:

- Ability to call RNA functions using C++ classes
  For example RenderEngine.tag_update

- Property setters (for scalars and arrays)
  Used Qt/jQuery-like getters/setters style, meaning Class.prop() is a getter,
  Class.prop(value) is a setter.

Still to come:

Collection functions are not currently registering inside a property
Meaning BlendData.meshes wouldn't be a subclass of BlendDataMeshes result
you'll need to explicitly create BlendDataMeshes for now instead of doing
BlendData.meshes.remove()
2012-10-22 17:34:16 +00:00
Brecht Van Lommel
57b7f405a4 Fix related to #32929: update list of available devices for cycles rendering
while Blender is running, not only on load. It might help a case when Blender
is started before the CUDA driver is fully initialized.
2012-10-22 14:04:44 +00:00
Brecht Van Lommel
655e24979b Fix #32947: cycles color to float conversion issue after integer socket commit. 2012-10-22 12:22:15 +00:00
Campbell Barton
ddc2dbc2a4 style cleanup 2012-10-22 08:15:51 +00:00
Bastien Montagne
0ee62e4ea6 Revert part of r51487 (those files are needed by the boolean ops code, /intern/bsp/...)! 2012-10-22 06:47:54 +00:00
Campbell Barton
a4b2783169 small optimization for BLI_heap(), give some speedup in decimeter.
- use unsigned ints only (where mixing signed/unsigned)
- turn heap_swap into an inline function, add SWAP_TVAL macro to swap values using a temp value as storage.
- added type checking SHIFT3/4 macros

also style cleanup for CTR_Map
2012-10-22 03:25:53 +00:00
Campbell Barton
226a5ee834 remove LOD_Decimator (c++ decimator), now replaced by bmesh decimator. also remove CTR c++ classes that are no longer used. 2012-10-22 02:39:26 +00:00
Bastien Montagne
26d0492653 A final bunch of UI messages fixes and tweaks, and some BKE_report()<->BKE_reportf() fixes. 2012-10-21 14:02:30 +00:00
Lukas Toenne
285947318f Fix for OSL closure base class. The 'blur' method is not implemented and must be declared pure virtual ('= 0') to avoid compiler error (on Ubuntu 12.04, gcc 4.6.3). 2012-10-21 09:10:47 +00:00
Campbell Barton
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
Joshua Leung
a1a0c8da13 Bugfix [#32932] Can't see the Speaker properties when using Cycles 2012-10-21 05:23:58 +00:00
Campbell Barton
7deb8d8a26 code cleanup: spelling 2012-10-20 20:36:51 +00:00
Campbell Barton
bc8f602601 style cleanup 2012-10-20 18:46:57 +00:00
Thomas Dinges
ba7a7c0925 Cycles / OSL:
* Fix Mapping node, used wrong identifiers for Vector In/Out.
2012-10-20 17:50:24 +00:00
Brecht Van Lommel
73b79a6763 Cycles OSL: light path, texture coordinate, bump and blended box mapping now up
to date and working.
2012-10-20 15:09:36 +00:00
Brecht Van Lommel
e287c97fea Cycles: disable motion blur for CUDA entirely now, also goes wrong on other
architectures. Still did not find a good solution.
2012-10-20 15:09:27 +00:00
Thomas Dinges
950524722c Cycles:
* Build system fixes for closure refactor.
2012-10-20 14:08:49 +00:00
Lukas Toenne
d36dc6d8de Integer socket support in Cycles. Int values are already supported natively in OSL, but were not used as actual ints on the SVM stack. This patch implements all the necessary functionality to support reading input values from RNA properties and convert between SHADER_SOCKET_INT and other types. 2012-10-20 13:11:45 +00:00
Brecht Van Lommel
9a1c1f132d Cycles OSL: most closure code is now shared between OSL and SVM. Also fix
transmission pass and filter glossy option.

The BSDF closure class is now more similar to the SVM closures, and includes
some flags and labels that are needed to properly categorize the BSDF's for
render passes. Phong closure is gone for the moment, needs to be adapated to
the new structure still.
2012-10-20 12:18:00 +00:00
Brecht Van Lommel
3abef3a2e6 Cycles OSL: some build system tweaks to avoid global includes and definitions,
which ensures there is no conflict with other libraries, and avoids full rebuild
when toggling OSL on/off.
2012-10-20 12:17:45 +00:00
Campbell Barton
9f8070d047 code cleanup:
- define array sizes for functions that take vectors.
- quiet some -Wshadow warnings.
- some copy/paste error in readfile.c made it set the same particle recalc flag twice.
2012-10-20 08:02:18 +00:00
Thomas Dinges
ef80ff105f Cycles/ Layer Weight Node:
* Small tweak for the blend value, to avoid division by zero. 

Thanks to Brecht for pointing out the solution.
2012-10-19 13:51:37 +00:00
Campbell Barton
9b07c98bb4 code cleanup: minor style change & quiet warning, also add assert for BM_vert_splice() to check for invalid use. 2012-10-19 03:07:58 +00:00
Brecht Van Lommel
497ea5f306 Fix #32912: cycles crash with dead particles, actual crash was caused by an
inconsistency in the particle system code, using <= and <. Also tightened up
checks on cycles side to avoid other potential crashes.
2012-10-18 15:00:32 +00:00
Sergey Sharybin
b861f8c3f8 Cycles: suppress path to nvcc appearing in the console in cases
cuda toolkit is installed to different place than /usr/local/cuda
(i.e. happens when using cuda toolkit from repository)
2012-10-18 13:48:02 +00:00
Lukas Toenne
d396bf3546 Fix for OSL compile errors.
1) object_fetch_transform_motion omits the per-object motion blur test (r51394), must use object_fetch_transform_motion_test.
2) KernelCamera.ndctoworld has been removed (r51402), do transform invert directly.
2012-10-18 13:16:57 +00:00
Brecht Van Lommel
95963289c8 More fixes related to #32900, motion blur with cuda sm 2.0 still disabled. 2012-10-18 12:45:27 +00:00
Campbell Barton
812b17f306 style cleanup 2012-10-18 04:51:37 +00:00
Brecht Van Lommel
9d260eedeb Fix #32904: strange pattern on subdivided cube with anistropic shader. Now
tangents from generated coordinates are computed per pixel on the fly, avoids
bad interpolation of singularities.
2012-10-17 23:09:12 +00:00
Thomas Dinges
b2142d6533 Cycles: OSL compile fixes. 2012-10-17 22:58:18 +00:00
Brecht Van Lommel
6915394a3b Attempts to fix CUDA issues on sm 2.0 cards, still no luck getting motion blur
working, but this should make it not crash.

Also fix for wrong shutter time, should have been shorter.
2012-10-17 22:48:29 +00:00
Brecht Van Lommel
4ad103cedd Fix cycles motion blur not working correct with shutter time > 2.0. The soft
limit is 2.0, and anything beyond that is extrapolation which might not work
so well but is still allowed.
2012-10-17 17:27:30 +00:00
Jason Wilkins
11908552db Missing semicolons in intern/ghost/intern/GHOST_WindowCocoa.mm 2012-10-17 17:20:09 +00:00
Thomas Dinges
17c82a7e57 Cycles / OSL:
* Layer Weight is now available in OSL.
2012-10-17 16:16:35 +00:00
Campbell Barton
0c2a1500f2 minor changes
- stub from last commit was incorrect (copied old docs)
- decimator was making copy of quadric for no reason.
- correct typo
2012-10-17 16:10:04 +00:00
Brecht Van Lommel
d08b06f773 Cycles: motion blur is now curved and passes exactly through the midpoint.
Previously it would only interpolate between the previous and next frame,
which meant it might not hit the current frame position.
2012-10-17 12:55:23 +00:00
Brecht Van Lommel
afb75ad2af Cycles: add Tangent input for Anisotropic BSDF.
Also refactor SVM BSDF code, preparing it to be shared with OSL.
2012-10-17 12:17:17 +00:00
Lukas Toenne
0551aa14bb Fix for OSL 'background' attributes (attributes that are not associated to a particular object). Atm this is only the 'ray_length' attribute.
Background attributes are used as fallback in two cases:
1) Non-object light samples (e.g. lamp shaders)
2) Fallback if no implicit object attribute can be found
2012-10-17 12:12:26 +00:00
Campbell Barton
536d9fec80 code cleanup:
- move object_iterators.c --> view3d_iterators. (ED_object.h had to include ED_view3d.h which isn't so nice)
- move projection functions from view3d_view.c --> view3d_project.c (view3d_view was becoming a mishmash of utility functions and operators).
- some some cmake includes as system-includes.
2012-10-17 04:13:03 +00:00
Campbell Barton
fa06aab433 code cleanup: add check spelling osl 2012-10-17 01:53:29 +00:00
Campbell Barton
aeda5142ef style cleanup: make OSL follow our C style convention. http://wiki.blender.org/index.php/Dev:Doc/CodeStyle 2012-10-17 01:47:37 +00:00
Thomas Dinges
a1af01249d Cycles / OSL:
* Add Light Falloff Node.
2012-10-17 00:28:46 +00:00
Thomas Dinges
b4a83e1d0e Cycles / OSL:
* Ray Length is now available in OSL (via get_attribute)
2012-10-16 22:42:05 +00:00
Daniel Genrich
c9fdf6e496 Smoke: Animated collision objects do no longer block smoke. Smoke gets transfered velocity from moving collision object.
Result:
http://www.youtube.com/watch?v=KRtc8eAgaZA

Part of my Blender Development Project Phase III, merged from Smoke2 branch

WIP docs:
http://wiki.blender.org/index.php/User:Genscher/Smoke_Development_Project_2012
2012-10-16 17:01:22 +00:00
Lukas Toenne
617cdb4642 Fix for second bug reported in #32846: Particle emitters are still shown for secondary instances with "show emitter" disabled. This requires checking the duplicator visibility on dupli objects themselves after generating the dupli-list.
The emitter visibility option is messy design, it makes such checks unnecessarily complicated. A better approach would be to allow non-mesh objects to carry particle data, these objects would just be invisible anyway without having to care about extra settings. However, this conflicts with the simplistic particle design of "owner is the emitter" ...
2012-10-16 15:38:52 +00:00
Brecht Van Lommel
7680f88f18 Fix object motion blur crash with lamp sampling(?), missed a check.
Motion blur documentation is here:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.65/Cycles#Motion_Blur
2012-10-16 13:20:57 +00:00
Sergey Sharybin
9be4c94204 Cycles: non-camera viewport render border support
This makes it possible to do a border render inside a viewport even
when not looking through the camera.

Render border could be defined by Ctrl-B shortcut (works for both
camera render border and viewport render border).

Camera render border could still be defined using Shift-B (so no
muscule memory would be broken). Currently used a special flag of
operator to do this, otherwise you'll need to either two operators
with different poll callback or it could go into conflict with a
border zoom,

Border render of a viewport could be enabled/disabled in View
panel using "Render Border" option.
2012-10-16 11:57:46 +00:00
Lukas Toenne
af537c283c Fix for (camera) motion blur changes in Cycles OSL. Compilation was broken due to changed object transform functions. Also added a few missing renderer service implementations for matrix callbacks. 2012-10-16 10:59:35 +00:00
Brecht Van Lommel
7521ce083d Cycles: object motion blur enabled, so in addition to camera motion, moving
objects in the scene will also cause motion blur.

This change does come with a bit of a slow down to the CPU rendering kernel even
with motion blur disabled, due to extra overhead in handling of object matrices.
It's a few percentages on simpler scenes, not so noticeable on more complex ones.
With motion blur enabled rendering is of course also slower as would be expected,
though from testing especially GPU rendering handles it quite well.

This does not support motion blur from deforming objects yet, only translation,
scale and rotation. Deformation blur is probably for another release.
2012-10-16 10:48:19 +00:00
Campbell Barton
af6abc8c80 MESH_OT_vert_connect was missing select flush (newly created edges were not selected).
also <120 line length for cycles property descriptions.
2012-10-16 03:21:22 +00:00