Commit Graph

6295 Commits

Author SHA1 Message Date
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
b2142d6533 Cycles: OSL compile fixes. 2012-10-17 22:58:18 +00:00
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
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
11908552db Missing semicolons in intern/ghost/intern/GHOST_WindowCocoa.mm 2012-10-17 17:20:09 +00:00
17c82a7e57 Cycles / OSL:
* Layer Weight is now available in OSL.
2012-10-17 16:16:35 +00:00
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
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
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
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
fa06aab433 code cleanup: add check spelling osl 2012-10-17 01:53:29 +00:00
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
a1af01249d Cycles / OSL:
* Add Light Falloff Node.
2012-10-17 00:28:46 +00:00
b4a83e1d0e Cycles / OSL:
* Ray Length is now available in OSL (via get_attribute)
2012-10-16 22:42:05 +00:00
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
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
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
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
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
fe16b26206 Cycles: fix some update issues with camera motion blur, and do some more work
for getting object motion blur ready.
2012-10-15 21:12:58 +00:00
8a25e2d2b2 Smoke: Merge parts of Smoke2 branch
New:
----------
Collision objects do cause vorticity when passing through smoke

Part of my Smoke Development Project (milestone III)
2012-10-15 19:57:18 +00:00
fe47ae525d Cycles: tweak progressive refine tooltip to make it more clear 2012-10-15 17:56:53 +00:00
c10c6b1cea Fix #32844: cycles camera motion blur producing completely blurred frames sometimes. 2012-10-15 17:56:40 +00:00
827c70abd8 Update to stable Eigen 3.1.1
- Fixes several bugs within the Eigen library:
http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.1.1
2012-10-15 16:29:23 +00:00
c5300c638c Solve some issues with smoke when using strict compile flags
- Mark some functions as static
- ifdef-ed currently unused functions from spectrum.cpp
- Fixed missing prototype for smectrum() function
2012-10-15 09:25:03 +00:00
4d4664d98f code cleanup: check for msvc directly when using warning pragma's. 2012-10-15 02:15:07 +00:00
3a947cf537 code cleanup: remove redundant casts 2012-10-14 08:49:01 +00:00
27e54f4d37 code cleanup: remove redundant casts. quiet some qualifier warnings. 2012-10-14 07:40:16 +00:00
3b88a29abf Cycles: progressive refine option
Just makes progressive refine :)

This means the whole image would be refined gradually using as much
threads as it's set in performance settings. Having enough tiles is
required to have this option working as it's expected.

Technically it's implemented by repeatedly computing next sample for
all the tiles before switching to next sample.

This works around 7-12% slower than regular tile-based rendering, so
use this option only if you really need it.

This commit also fixes progressive update of image when Save Buffers
option is enabled.

And one more thing this commit fixes is handling display buffer with
Save Buffers option enabled. If this option is enabled image buffer
wouldn't have neither byte nor float buffer until image is fully
rendered which could backfire in missing image while rendering in
cases color management cache became full.

This issue solved by allocating byte buffer for image buffer from
tile update callback.

Patch was reviewed by Brecht. He also made some minor edits to
original version to patch. Thanks, man!
2012-10-13 12:38:32 +00:00
51105bb2bd Fix for wrong cycles tangent in some cases, was missing transform. 2012-10-13 12:11:01 +00:00
fe09b24e86 Cycles: per-BSDF normal input and new Bump node.
Each BSDF node now has a Normal input, which can be used to set a custom normal
for the BSDF, for example if you want to have only bump on one of the layers in
a multilayer material.

The Bump node can be used to generate a normal from a scalar value, the same as
what happens when you connect a scalar value to the displacement output.

Documentation has been updated with the latest changes:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes

Patch by Agustin Benavidez, some implementation tweaks by me.
2012-10-10 15:56:43 +00:00
56f798db8c Cycles: make anistropic BSDF / tangent work without UV map, based on generated
coordinates map to a sphere.
2012-10-10 14:21:58 +00:00
cb634b9100 Google Summer of Code project: "Smoke Simulator Improvements & Fire".
Documentation & Test blend files:
------------------
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2012-Smoke-Simulator-Improvements

Credits:
------------------
Miika Hamalainen (MiikaH): Student / Main programmer

Daniel Genrich (Genscher): Mentor / Programmer of merged patches from Smoke2 branch
Google: For Google Summer of Code 2012
2012-10-10 13:18:07 +00:00
f0a9b66469 Cycles: Anisotropic BSDF enabled, with tangents now computed from the active UV map.
It's using the Ward BSDF currently, which has some energy loss so might be a bit
dark. More/better BSDF options can be implemented later.

Patch by Mike Farnsworth, some modifications by me. Currently it's not possible yet
to set a custom tangent, that will follow as part of per-bsdf normals patch.
2012-10-10 13:02:20 +00:00
94f869a256 Cycles: camera motion blur enabled.
Still more work needed to get object motion blur ready.
2012-10-09 18:37:14 +00:00
5f52285a01 Fix cycles task manager calling pthread_join() twice. I haven't seen any bugs
from this but best to fix anyway as it causes undefined behavior. Pointed out
on irc by dslammu, thanks!
2012-10-09 14:28:29 +00:00
a580c891a7 Bugfix [#32703] elbeem's isSimworldOk() will never return FALSE
Fixed as suggested by Campbell, thank you!
2012-10-09 13:09:03 +00:00
6a82b985c3 Fix #32815: cycles environment render as lamp crash with resolution >= 1024. 2012-10-08 12:15:18 +00:00
e3ab85a3f5 Revert fix for #31806, needs a better solution, can hang compiling some shaders. 2012-10-07 14:15:50 +00:00
e8bc62e162 Avoid unecessary minimizer calculations in dualcon
* The minimize() function, which solves a least-squares problem, is
  only needed for sharp remesh mode, but was being calculated for
  smooth and blocks modes as well. Disabling this calculation when
  it's not needed gives a big performance boost.
2012-10-06 18:28:38 +00:00
8b4baa347f Code cleanups for dualcon octree
* Move InternalNode operators from Octree class into InternalNode
  struct

* Constify various member functions
2012-10-06 18:28:34 +00:00
f7d61831e1 Cycles / OSL:
* OSL UI message did not show up when device type was GPU, but User Preferences were None. Also remove experimental check, more convenient for testing.
2012-10-06 17:11:53 +00:00
Lukas Toenne
78978dcd80 Fix for a case of 'static initialization fiasco' with OSL closure variables. The parameter lists are using OIIO::TypeDesc static standards, which are also static variables. With static OSL libraries these are not initialized when the closure parameter lists are initialized, so OSL rejects the closure types.
Putting static initialization into functions works just as well, but ensures the OIIO::TypeDesc access is delayed until initialization is complete.
2012-10-06 16:28:02 +00:00
098d611c7b Fix for UV texture coordinate problem in cycles, after recent fix. 2012-10-06 11:52:54 +00:00
e23b202693 Fix part of cycles/osl light pass rendering, transmission still not correct. 2012-10-05 17:17:19 +00:00
b67d75fad2 Fix generated texture coordinate issue after "from dupli" option was added. 2012-10-05 14:54:32 +00:00
4c3620c69d Fixed compilation error on widows
Was caused by mixing up own C-API typedefs with OCIO's
2012-10-05 10:05:26 +00:00