Commit Graph

264 Commits

Author SHA1 Message Date
Campbell Barton
2b7ca2304a unify include guard defines, __$FILENAME__
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-17 18:59:41 +00:00
Sergey Sharybin
8f97f3ed29 Fix #25649: Image editor paint icon missing until enter weight paint
Issue was caused by starting Icon Preview render job from two places:
- Texture buttons for small icon preview
- Properties panel in image editor for large icon of texture

This preview job is starting in suspended mode and if new instance of the same job is
starting, suspended job will be totally stopped. This is normally for cases when you're
changing different settings -- in this case you'd wouldn't want re-render be triggered
on every slide change.
But what we've have with brush preview is that two instances of this job were creating for
large and small icon separately, but because of described policy only one icon was rendered.

If suspended job is getting to be stopped, check if it was started for the same icon
resolution and if not, that resolution will be also rendered in new job.
So it'll be still minimal re-rendering happens, but in cases when job was started from
two places for different icon sizes it'll work just fine.
2012-02-17 16:06:32 +00:00
Sergey Sharybin
44850d6946 Fix #29946: Recover Auto Save defaults to "Short List" View -- Cannot determine dates
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.

All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.

Reviewed by Andrea, thanks!
2012-01-24 18:18:51 +00:00
Campbell Barton
e1dd245a1e more keymap edits
- make sure defaults are not assumed (so reuse last settings doesnt
override)
- replace 0/1 for TRUE/FALSE defines.
2012-01-16 16:12:03 +00:00
Campbell Barton
ae9b4b81cb opengl render save ignored alpha settings. also some FILE_MAX defines missed last commit. 2012-01-16 06:43:58 +00:00
Campbell Barton
4f3de6a741 adjust view3d api function for getting user region to also return view3d since most callers need this too. 2012-01-14 12:24:25 +00:00
Campbell Barton
fca385ca9a - opengl render in quadview wasn't using camera.
- minor change to FTOCHAR use.
2012-01-14 11:21:00 +00:00
Brecht Van Lommel
cb145fad01 Fix #29878: running bpy.ops.render.opengl() from console not starting new line
or printing output.
2012-01-13 15:35:36 +00:00
Sergey Sharybin
74aede4d71 Fix #29824: Error writing frame if 3D scene starts after first frame of animation and output is H264
Issue was caused by incorrectly set PTS value frames came form Scene strip renderer.
This value used to be calculated from RenderData current and start frame which
lead to non-uniformuly counting which totally confuses encoder.

Switch append_avi and append_ffmpeg to use current frame from rendering scene
(which was already passing to this functions and was used mostly for logging)
and start frame of rendering scene (it's new parameter added). This allowed to
calculate correct PTS value easily and get rid of global static sframe variable
in writeavi.c file.
2012-01-13 09:20:13 +00:00
Campbell Barton
153be23dbe give a more useful error when attempting to opengl render in background mode.
add some tips to the python docs.
2012-01-13 06:59:16 +00:00
Campbell Barton
1e3f069379 use render osa setting for opengl render sample count and BLI_jitter for opengl rendering (previously was hard coded at 5). 2012-01-12 17:04:09 +00:00
Campbell Barton
9f2443293e replace fixed sizes with sizeof when passing string length since size wasn't always correct. 2012-01-12 13:16:30 +00:00
Campbell Barton
f66f33cefc rename RNA_property_is_set() --> RNA_struct_property_is_set() in preperation to add a second version of the function which takes the property rather then its name. 2012-01-11 16:32:12 +00:00
Campbell Barton
e0c41e66b8 dont draw object center dot for opengl render 2012-01-09 03:16:30 +00:00
Campbell Barton
ecd463d20d fix an error rendering opengl weightpaint data wasn't working when python initialized opengl render on startup (needed for testing script). 2012-01-09 02:50:09 +00:00
Campbell Barton
1e18da32fb replace:
CTX_data_pointer_get_type(C, "object", &RNA_Object).data
with api call:
  ED_object_context(C)

... since getting the context object is such a common operation.
2012-01-02 17:15:24 +00:00
Brecht Van Lommel
d7d856a23d Color management: add "Color Unpremultiply" option for images and render settings.
For premultiplied alpha images, this makes any color space conversion for the image
or render output work on color without alpha multiplied in.

This is typically useful to avoid fringing when the image was or will be composited
over a light background. If the image will be composited over a black background on
the other hand, leaving this option off will give correct results.

In an ideal world, there should never be any color space conversion on images with
alpha, since it's undefined what to do then, but in practice it's useful to have
this option.

Patch by Troy Sobotka, with changes by me.
2011-12-30 14:17:11 +00:00
Brecht Van Lommel
b9ff5840a6 Code refactoring: add unified image buffer functions for doing float => byte,
byte => float, float => float, byte => byte conversions with profile, dither
and predivide. Previously code for this was spread out too much.

There should be no functional changes, this is so the predivide/table/dither
patches can work correctly.
2011-12-28 13:29:33 +00:00
Brecht Van Lommel
11bacd403f Fix #29523: RenderEngine.update_progress() doesn't redraw UI. 2011-12-07 11:29:24 +00:00
Brecht Van Lommel
d949dd6849 Fix #27981: opengl render + render slots not working.
This also revealed an issue where the opengl render float buffer was not linear,
and toggling back to a render slot would show wrong colors. Now it converts the
float buffer to linear so that this goes ok, disadvantage is that it's slower.
2011-11-29 22:37:16 +00:00
Brecht Van Lommel
7baaa08211 Fix #29389: cycles viewport render not updating on frame changes. This sort of
worked by accident before, because of flags that weren't cleared properly. Now
moved the call to update render engines into scene_update_* itself.
2011-11-28 14:55:35 +00:00
Campbell Barton
6736576f6d replace FILE_MAXDIR + FILE_MAXFILE with FILE_MAX 2011-11-26 04:07:38 +00:00
Brecht Van Lommel
307a0f6fec Fix #28934: missing GLSL/icon update when changing materials used in nodes. 2011-11-23 15:16:41 +00:00
Campbell Barton
da25b50ccb image save operator now shares settings and UI with render & image out node.
details:
- setting format options from python isnt possible anymore since this isnt exposed via op->properties, python should use image.save() function instead.
- image save UI now hides 'Relative' option when copy is selected since it has no effect.
- default image depth is set to 8 or more if the image has no float buffer, otherwise its set to 32 or less.

other fixes:
- image new was adding an image with a filepath set to "untitled", if this file happened to exist in the current directory a save on the generated image would overwrite it, now initialize to empty path.
- BKE_ftype_to_imtype was returning an invalid value if ftype==0.
2011-11-21 23:56:32 +00:00
Campbell Barton
30fd1ab523 replace ImBuf.depth with ImBuf.planes to match ImageFormatData.planes & to avoid confusion with ImageFormatData.depth 2011-11-21 20:47:19 +00:00
Campbell Barton
0e2c8cdcdd move image settings into their own structure so the interface can be shared where image saving settings are needed.
currently file out node and render output share this struct & UI.
2011-11-21 20:19:58 +00:00
Campbell Barton
f1eb66aa68 share code for fluidsim, ocean & dynamic paint file paths.
- use BLI_join_dirfile for joining all paths (no need to ensure slash is appended).
- paths from linked library files now supported.
2011-11-20 14:38:11 +00:00
Brecht Van Lommel
5429a701c4 Camera: more code refactoring, adding a function to create CameraParams from
3d view, deduplicating the complex code for setting up the viewplane.
2011-11-18 21:19:03 +00:00
Sergey Sharybin
9f0a6dca13 Added methods new and remove to scene.render.layers, so now render layers
can be created and removed from scripts.
2011-11-18 07:11:54 +00:00
Brecht Van Lommel
c4e029a274 Fix #29287: cycles and other external render engines did not print correct frame
number in background render.
2011-11-16 12:47:37 +00:00
Brecht Van Lommel
647447db58 Code refactoring: split lamp functions from object.c into new lamp.c. 2011-11-05 13:11:49 +00:00
Campbell Barton
2d787e6e01 utility function to find the biggest area: BKE_screen_find_big_area(...), was being done with static functions that were copied about. 2011-11-04 01:15:04 +00:00
Sergey Sharybin
224c26f891 Fix #28998: sequence rendering with wrong progress bar
Show overall progress when doing sequence rendering. Nice for cases when
you're using sequencer to combine video strips only, without rendering
scenes and so. If scene strips are used in sequencer, per-frame rendering
would be used (because of scene rendering sets per-frame progress).
2011-11-03 17:06:12 +00:00
Brecht Van Lommel
ac52c79cb1 RenderEngine/Nodes: system to check for shading nodes compatibility
* Scene.use_shading_nodes property to check if RenderEngine is using new shading
  nodes system, and RenderEngine.bl_use_shading_nodes to set this.
* Add mechanism for tagging nodes as being compatible with the old/new system.
2011-11-02 19:24:30 +00:00
Brecht Van Lommel
30f1f28a8a Nodes: add support for shader nodes on world and lamps, in addition to materials.
The internal render engine does not support them, and they are not accesible in
the UI yet, but cycles will use them.
2011-11-02 18:55:32 +00:00
Brecht Van Lommel
97a0ae3e1b RenderEngine api: support for viewport rendering, details here:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/RenderEngineAPI

* This adds a Rendered draw type in the 3D view, only available when
  the render engine implements the view_draw callback.
* 3D view now stores a pointer to a RenderEngine.

* view_draw() callback will do OpenGL drawing instead of the viewport.
* view_update() callback is called after depsgraph updates.
2011-11-02 18:20:53 +00:00
Brecht Van Lommel
d55298ee3c Fix #29109: bpy.ops.render.render() with scene parameter missed compositing,
previous bugfix needed a bit more refining.
2011-11-01 14:51:44 +00:00
Brecht Van Lommel
ed77c356fc Fix: OpenGL renders on graphics cards which do not support non-power-of-two
textures were stretched and the wrong size.
2011-10-28 16:57:06 +00:00
Campbell Barton
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
Campbell Barton
0664868aec BLI_make_file_string wasn't guaranteed to initialize the resulting path, some parts of the code accounted for this but most not, always initialize the string to "". 2011-10-23 05:56:55 +00:00
Campbell Barton
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
Campbell Barton
5cf593a778 strcpy() --> BLI_strncpy(), where source strings are not fixed and target size is known. 2011-10-19 23:10:54 +00:00
Lukas Toenne
0d7bd0f9b6 Adds an update flag to the bNode struct (similar to bNodeTree->update).
This prevents access to non-existent typeinfo during type initialization,
when node types have been removed and such nodes are deleted from older files.
All blenkernel functions now only set the node->update flag instead of directly
calling the update function.  All operators, etc. calling blenkernel functions
to modify nodes should make a ntreeUpdate call afterward (they already did that
anyway).

Editor/RNA/renderer/etc. high-level functions still can do immediate updates by
using nodeUpdate and nodeUpdateID (replacing NodeTagChanged/NodeTagIDChanged
respectively). These old functions were previously used only for setting
compositor node needexec flags and clearing cached data, but have become generic
update functions that require type-specific functionality (i.e. a valid typeinfo
struct).
2011-10-19 17:08:35 +00:00
Campbell Barton
15bf56c696 changes to relative path option
- initialize the relative_path option in ED_fileselect_get_params(), saves initializing within every operators own init functions, some even trying to initialize a non existing property.
- don't set the operator default from the user preferece, operator property defaults should be static else python scripts for eg can get different defaults depending on user settings, this also wont get updated when user-defaults are edited so generally confusing & not good practice.
2011-10-12 00:15:19 +00:00
Campbell Barton
3b996ac1b3 add macro OB_TYPE_SUPPORT_MATERIAL, type checks were being done inline, some comparing range, some using ELEM#(), once was missing metaball check. 2011-10-03 17:29:43 +00:00
Bastien Montagne
f157a543c6 /blender/editors: Removed final points in UI strings and messages.
Plus a few cuts in very long lines…
2011-09-19 12:26:20 +00:00
Campbell Barton
1741269d30 resolve bad level calls from blenkenel/ into editors/ & remove editors from the include path from CMake & SCons.
* ED_curve_editnurbs --> curve_editnurbs
* ED_sculpt_modifiers_changed --> object_sculpt_modifiers_changed
2011-09-14 00:37:27 +00:00
Bastien Montagne
71f9397541 Fixes #28599: Wrong re-assigning of layers in RenderLayer comp nodes when deleting a render layer.
Also added the check of comp nodetree of all scenes, as others might also use that scene in their compositing!
2011-09-12 17:27:02 +00:00
Campbell Barton
0e01fa4863 patch [#28355] Better Environment Map scripting
from Tom Edwards (artfunkel), with minor edits.

This patch makes the following improvements to environment map scripting:

* Adds a "is_valid" RNA property to envmaps. True if the map is ready for use, False if it needs rendering.
* Adds a "clear" RNA function to envmaps. Deletes any envmap image data.
* Adds a "save" RNA function to envmaps. Writes the envmap to disc with a configurable layout. (Defaults to the current hard-coded layout.)
* Updates bpy.ops.texture.envmap_save with configurable layout support as above.

These changes, particularly configurable layouts, make exporting envmaps to other software much easier.
2011-08-28 23:24:34 +00:00
Campbell Barton
fa2ba5fbf5 - use static vars and functions where possible.
- use NULL rather than 0 when used as pointers.
2011-08-28 05:06:30 +00:00