Commit Graph

42310 Commits

Author SHA1 Message Date
b6bb65cd21 Blender internal is using camera focal length when panorama rendering is used
This means it doesn't make sense hiding focal length settings for panorama
camera if blender internal renderer is used.
2012-11-05 08:19:58 +00:00
540c9d4208 Cycles: fix crash rendering textured objects in OpenCL
Issue was caused by changed order of texture slots -- float textures
have got lower slots indices than byte textures. OpenCL was still assuming
byte textures goes before float.
2012-11-05 08:05:24 +00:00
759ea40787 Render engines: replace number of x/y tiles with tile size
Now tile size is setting up explicitly instead of using number of tiles.

This allows better control over GPU performance, where having tiles aligned
to specific size makes lots of sense.

Still to come: need to update startup.blend  to make tiles size 64x64.
2012-11-05 08:05:14 +00:00
6eec49ed20 Cycles: memory usage report
This commit adds memory usage information while rendering.

It reports memory used by device, meaning:

- For CPU it'll report real memory consumption
- For GPU rendering it'll report GPU memory consumption, but it'll
  also mean the same memory is used from host side.

This information displays information about memory requested by Cycles,
not memory really allocated on a device. Real memory usage might be
higher because of memory fragmentation or optimistic memory allocator.

There's really nothing we can do against this.

Also in contrast with blender internal's render cycles memory usage
does not include memory used by scene, only memory needed by cycles
itself will be displayed. So don't freak out if memory usage reported
by cycles would be much lower than blender internal's.

This commit also adds RenderEngine.update_memory_stats callback which
is used to tell memory consumption from external engine to blender.
This information is used to generate information line after rendering
is finished.
2012-11-05 08:04:57 +00:00
d71004ea69 Cycles: multi-gpu rendering doesn't know for sure which sample is being sampled,
so only report tile number is being processed
2012-11-05 08:04:41 +00:00
0ef0eddeb2 Camera Tracking: proper display of current frame in cache line when sequence is too long 2012-11-05 08:04:37 +00:00
3bd7816c75 Camera Tracking: allow fallback to reprojection resection by user demand
This fixes some "regressions" introduced in rev50781 which lead to much
worse solution in some cases. Now it's possible to bring old behavior back.

Perhaps it's more like temporal solution for time being smarter solution is
found. But finding such a solution isn't so fast, so let's bring manual
control over reprojection usage.

But anyway, imo it's now nice to have a structure which could be used to
pass different settings to the solver.
2012-11-05 08:04:27 +00:00
008630abfc fix for save-as-legacy mesh format doing customdata asserts. 2012-11-05 05:52:21 +00:00
88c5b1408c fix issue with shrinkwrap face projection distance comparisons when using both positive and negative projection.
- don't attempt to convert the 'dist' value between local/target space, since all the projections are done in target space
  and dist isnt used afterwards. Also, this could fail with non uniform scale - overwriting ray casts with larger dist values.
- added an assert to check larger dist values never overwrite smaller ones.
- remove use of sasqrt() since the value is checked beforehand anyway.
2012-11-05 05:07:57 +00:00
e894549e5e revert own commit r34706 (fix for [#25801]), this causes bug [#25801].
checking on this code further it still isn't working correctly, will commit other changes next.
2012-11-05 04:38:58 +00:00
82a8556f90 style cleanup 2012-11-05 04:19:30 +00:00
ead0005b20 Compile fix on Mingw:
"interface" appeared to be a shadowed var (or even a macro/define elsewhere)
which was causing errors like:
intern\cycles\blender\blender_mesh.cpp:124:23: error: multiple types in one
declaration
intern\cycles\blender\blender_mesh.cpp:124:23: error: declaration does not
declare anything [-fpermissive]
2012-11-05 02:40:10 +00:00
2ba840652d Cycles: improve Anisotropic BSDF node, changing the Roughness U/V inputs to
Roughness, Anisotropy and Rotation. Also a fix for automatic tangents and
OSL attribute handling.

Meaning of new sockets explained in the documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Anisotropic
2012-11-04 22:31:32 +00:00
110a36a8ab Fix part of #33055: uv mapping did not use the right image from the material to
do aspect ratio correction when cycles was enabled.
2012-11-04 22:31:21 +00:00
f840bd4a9f BGE: This patch adds a character wrapper (similar to the already implemented vehicle wrapper) to control character physics options. Currently supported options are:
* jump() -- causes the character to jump
  * onGround -- specifies whether or not the character is on the ground
  * gravity -- controls the "gravity" that the character physics uses for the character

More options could be added (such as jump speed, step height, make fall speed, max slope, etc).
2012-11-04 20:56:02 +00:00
Dalai Felinto
cc77001416 auto-link solo-nodes when making group
if make group is called with only one node selected ALL the node sockets are linked to the node group

with help+review from Lukas Toenne

This patch aims towards motivating users to use Group Node to share OSL nodes
2012-11-04 19:18:12 +00:00
83b5d7d2cd Editors UI:
* Add "Toggle Full Screen" and "Duplicate Area into New Window" operators to the view menu, was missing in those 2 operators. Patch [#33076] by Harley Acheson, thanks.

* Also moved those two operators to the top in text editor, for consistency.
2012-11-04 18:26:30 +00:00
35c6e592e3 Image Editor Operators:
* Tool tip improvements for two operators.

Patch [#33077] by Harley Acheson, thanks!
2012-11-04 18:05:25 +00:00
e76b99e7b0 fix own error in r51819, was reading outside of the buffer, also comment unused vars. 2012-11-04 14:46:20 +00:00
35e5432029 Possible bugfix 32474
Windows systems: text editor, text object, doesn't allow to input the standard
set of ALT+key characters (the ones coming from the OS).

- Reverted fix january 2012 - that meant to use text object ALT+keys
- Removed old (90ies) feature for hardcoded special characters in Text object.
  (OS delivers this now)

Will wait for confirmation by windows compiler :)
2012-11-04 13:34:13 +00:00
5b33146875 Bugfix #32987
"Set origin to cursor" tool failed for parented/rotated objects.
Matrix mashup.

Thanks to Ben Batt for the fix!
2012-11-04 12:33:58 +00:00
2a8ce1f121 Bugfix #33074
In armature editmode, with mirroring, after duplication of a bone and using
the Wkey "flip names" you get a crash. Code for naming was accessing a NULL
in the bPose channel - not set until leaving editmode.

Thanks to Ben Batt for tackling the issue :)
2012-11-04 12:13:26 +00:00
Lukas Toenne
f32113bbc8 Node reroute cut operator update.
Cutting mulitple links with for inserting reroute nodes would previously insert only one reroute node for the first cut link.

Now the operator will insert a reroute node for every link in the cut line. Also, if several links share the same input/output socket, it will insert only a single reroute node, which all affected links will then share.
2012-11-04 11:57:49 +00:00
2122eda05a Bugfix 33075
Nodes could use duplicated memory - and on free you get duplicate-free errors.
Affected texture nodes, but I suspect compositing too.

Fix found by Philipp Oeser. Thanks!
2012-11-04 11:53:13 +00:00
7579a9ec37 code cleanup: double promotions 2012-11-04 10:20:16 +00:00
fae6c35ca7 code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few files since its done throughout the code in some places. 2012-11-04 07:18:29 +00:00
89a454653e code cleanup: replace macro with inline function for dynamic paint. 2012-11-04 06:21:09 +00:00
2f2c0a51a5 Fix for r51837.
* mat->nodetree is accessed regardless of whether or not the material node is in use-

Patch provided by Tamito Kajiyama, thanks!
2012-11-04 01:32:39 +00:00
61bc63799e UI Tweak:
* Use alignment for thread buttons in BI, same as in Cycles.
2012-11-04 01:05:25 +00:00
9720251bb2 3D View UI:
* Patch [#33073] Remove Extra Menu Level from Object Parent and Track
* Did not commit the icon changes here, separator line should be sufficient. 

Patch by Harley Acheson, thanks!
2012-11-04 00:54:12 +00:00
13e7dddebd Node UI:
* Add 3 more operators to the Node menu.

node.join [join selected nodes in a new frame]
node.detach [remove selected nodes from their frame]
node.links_detach [remove all links to selected nodes and try to reconnect neighboring nodes together]

Patch by Philipp Oeser, thanks!
2012-11-04 00:46:26 +00:00
4fe8e5e364 Ton's last do_versions commit got rid of do_versions code for collision masks. Adding it back in so collision in the BGE work again. 2012-11-04 00:37:45 +00:00
84e8fbc1e0 OSL / Filebrowser:
* Add .osl extension to the TEXTFILE filter, so .osl files will show up when the filter is enabled. (Text Editor -> Open Text Block)
2012-11-03 18:52:44 +00:00
9b948717b0 code cleanup: float <> double conversion. 2012-11-03 18:23:30 +00:00
a18ead1521 style cleanup 2012-11-03 18:14:14 +00:00
ff014a3077 code cleanup: cmake - add missing headers, remove directories from source listing.
also remove logImageLib.c - empty file.
2012-11-03 15:49:38 +00:00
9db3f2368c Cycles: use mikktspace now for computing tangents from UV maps. This avoids ugly
averaged tangents at UV seams but instead now the seams will show as discontinuities
in the tangent.
2012-11-03 15:36:02 +00:00
a434ab54c6 RNA C++: collections functions are now properly handled, meaning it is now
possible to call BlendData.meshes.remove() directly.

It requires special order of classes in header file (namely classes used for
collection functions should be declared before collection properties with this
classes are declared). Currently used naive linear search for this, could be
replaced with hash or bisect, but for now performance here is not an issue.

Patch by Sergey, but committing now because it's needed for next commit.
2012-11-03 15:35:43 +00:00
25591e958d style cleanup: tabs & whitespace 2012-11-03 15:35:03 +00:00
060ea498b0 use library argument for bpy.path.abspath in case of linked nodes. 2012-11-03 15:05:09 +00:00
eb87529e23 Cycles OSL: shader script node
Documentation here:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/OSL
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.65/Cycles

These changes require an OSL build from this repository:
https://github.com/DingTo/OpenShadingLanguage

The lib/ OSL has not been updated yet, so you might want to keep OSL disabled
until that is done.

Still todo:
* Auto update for external .osl files not working currently, press update manually
* Node could indicate better when a refresh is needed
* Attributes like UV or generated coordinates may be missing when requested from
  an OSL shader, need a way to request them to be loaded by cycles
* Expose string, enum and other non-socket parameters
* Scons build support

Thanks to Thomas, Lukas and Dalai for the implementation.
2012-11-03 14:32:35 +00:00
e02b23b81a Render API: shader script node for custom shaders.
* Shader script node added, which stores either a link to a text datablock or
  file on disk, and has functions to add and remove sockets.
* Callback RenderEngine.update_script_node(self, node) added for render engines
  to compile the shader and update the node with new sockets.

Thanks to Thomas, Lukas and Dalai for the implementation.
2012-11-03 14:32:26 +00:00
615fe0295f Cycles OSL: refactoring and fixes
* Moved kernel/osl/nodes to kernel/shaders
* Renamed standard attributes to use geom:, particle:, object: prefixes
* Update stdosl.h to properly reflect the closures we support
* Fix the wrong stdosl.h being used for building shaders
* Add geom:numpolyvertices, geom:trianglevertices, geom:polyvertices attributes
2012-11-03 14:32:13 +00:00
6b098d7406 RNA/C++: string property writing was missing. 2012-11-03 14:31:55 +00:00
47cd3cf225 BPY/RNA: determine callback functions that are allowed to write data by a flag
on the function instead of checking the name.
2012-11-03 14:31:38 +00:00
5fe0bd800f Bugfix (own collection)
Adding new image texture to Meshes didn't initialize UVs to 0-1 default.
This makes initial display of textures on meshes not work.

This fixes my favorite demo case: Open Blender, drop image from desktop on cube.
2012-11-03 14:31:28 +00:00
b59290a835 Preparation to use boost::shared_ptr. 2012-11-03 09:49:49 +00:00
7353f8d58e remove unneeded string in datatoc.c and correct some of the context types in our documentation. 2012-11-03 09:14:06 +00:00
d24278635a auto-generated py api now shows bpy.context.* items in the 'References' section of each type. 2012-11-03 07:28:51 +00:00
5a8cef4a85 OSX: take back 51826 for now, does not fix dalai's problem 2012-11-02 20:55:12 +00:00