Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-11Blender Internal: Modify material property "Cast Buffer Shadows" to affect ↵IRIE Shinsuke
ray shadows also, and rename it to "Cast Shadows". This allows us to make materials that don't cast ray shadows. Turning off this property can reduce the rendering time slightly. Note: RNA path is changed to "use_cast_shadows" as well. The older path "use_cast_buffer_shadows" still can be used as its alias, but it will be removed after updating some addons. Reviewed By: brecht Differential Revision: https://developer.blender.org/D272
2014-02-06Fix lamps drawing only partially in OpenGL render.Brecht Van Lommel
It should draw lamps entirely, this happened due to hack to hide object centers.
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-29Option to lock the interface while renderingSergey Sharybin
Added function called WM_set_locked_interface which does two things: - Prevents event queue from being handled, so no operators (see below) or values are even possible to run or change. This prevents any kind of "destructive" action performed from user while rendering. - Locks interface refresh for regions which does have lock set to truth in their template. Currently it's just a 3D viewport, but in the future more regions could be considered unsafe, or we could want to lock different parts of interface when doing different jobs. This is needed because 3D viewport could be using or changing the same data as renderer currently uses, leading to threading conflict. Notifiers are still allowed to handle, so render progress is seen on the screen, but would need to doublecheck on this, in terms some notifiers could be changing the data. For now interface locking happens for render job only in case "Lock Interface" checkbox is enabled. Other tools like backing would also benefit of this option. It is possible to mark operator as safe to be used in locked interface mode by adding OPTYPE_ALLOW_LOCKED bit to operator template flags. This bit is completely handled by wm_evem_system, not with operator run routines, so it's still possible to run operators from drivers and handlers. Currently allowed image editor navigation and zooming. Reviewers: brecht, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D142
2014-01-27Code cleanup: use booleans where appropriateCampbell Barton
2014-01-20Fix T37967: autosave does not save dynamic topology edits while in sculpt mode.Brecht Van Lommel
2014-01-20Fix T38269: scene full copy in mesh edit or sculpt mode did not copy mesh edits.Brecht Van Lommel
2014-01-18Send sequencer render context as const pointer rather than as valueSergey Sharybin
No functional changes just creepy to send rather huge structure by value.
2014-01-17Fix T38161: Copy Material to Others causes incorrect viewport display if ↵Bastien Montagne
target object uses more materials We need to update object data, like when removing a mat slot, since some mat indices might have become invalid!
2014-01-16Code Cleanup: no need to pass empty strings as default valuesCampbell Barton
2014-01-12Style Cleanup: whitespaceCampbell Barton
2014-01-12Style Cleanup: whitespaceCampbell Barton
2014-01-01Fix deadlock happening when using Save Buffers for renderSergey Sharybin
Summary: Issue was caused by the same tile being written twice to the EXR file. This was happening because of partial update of work-in-progress tiles was merging result to the final render result in order to make color management pipeline happy. We need to avoid such a merges and keep memory usage as low as possible when Save Buffers is enabled. Now render pipeline will allocate special display buffer in render layer which will contain combined pass in the display space. This keeps memory usage as low as we can do at this moment. There's one weak thing which is changing color management settings during rendering would lead to lossy conversion. This is because render result's display buffer uses color space from the time when rendering was invoked. This is actually what was happening in previous release already actually so not a big issue. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D162
2013-12-30Main API: refactor naming, use BKE_main_ prefix and add main arg.Campbell Barton
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-18Color management: get rid of original byte buffer partial updateSergey Sharybin
It was only used by opengl render and in fact it needed just to set DISPLAY_BUFFER_INVALID flag for the image buffer. In theory it wouldn't make any change to opengl render speed (because this change just moved rect_from_float from color management code to image save code). And could not see any speed changes on my laptop.
2013-12-17Changes to partial update during renderingSergey Sharybin
Summary: Mainly addressed to solve old TODO with color managed fallback to CPU mode when displaying render result during rendering. That fallback was caused by the fact that partial image update was always acquiring image buffer for composite output and was only modifying display buffer directly. This was a big issue for Cycles rendering which renders layers one by one and wanted to display progress of each individual layer. This lead to situations when display buffer was based on what Cycles passes via RenderResult and didn't take layer/pass from image editor header into account. Now made it so image buffer which partial update is operating with always corresponds to what is set in image editor header. To make Cycles displaying progress of all the layers one by one made it so image_rect_update switches image editor user to newly rendering render layer. It happens only once when render engine starts rendering next render layer, so should not be annoying for navigation during rendering. Additional change to render engines was done to make it so they're able to merge composite output to final result without marking tile as done. This is done via do_merge_result argument to end_result() callback. This argument is optional so should not break script compatibility. Additional changes: - Partial display update for Blender Internal now happens from the same thread as tile rendering. This makes it so display conversion (which could be pretty heavy actually) is done in separate threads. Also gives better UI feedback when rendering easy scene with small tiles. - Avoid freeing/allocating byte buffer for render result if it's owned by the image buffer. Only mark it as invalid for color management. Saves loads of buffer re-allocations in cases when having several image editors opened with render result. This change in conjunction with the rest of the patch gave around 50%-100% speedup of render time when displaying non-combined pass during rendering on my laptop. - Partial display buffer update was wrong for buffers with number of channels different from 4. - Remove unused window from RenderJob. - Made image_buffer_rect_update static since it's only used in single file. Reviewers: brecht Reviewed By: brecht CC: dingto Differential Revision: http://developer.blender.org/D98
2013-12-13Implement GPU-side ditherSergey Sharybin
Summary: Uses some magic pseudo-random which is actually a texture coordinate hashing function. TODOs: - Dither noise is the same for all the frames. - It's different from Floyd's dither we've been using before. - Currently CPU and GPU dithering used different implementation. Ideally we need to use the same dither in CPU. Reviewers: brecht Reviewed By: brecht Differential Revision: http://developer.blender.org/D58
2013-11-27Fix T37414: local view not taken into account for blender internal F12 ↵Brecht Van Lommel
render over 3D view.
2013-11-26Blender Internal: Fix material preview that the bounce lights permanently ↵IRIE Shinsuke
disappear once volume material is used.
2013-11-06Quicktime: remove backend with the old quicktime API, and keep the QTKit ↵Brecht Van Lommel
backend. This means that if you have WITH_BF_QUICKTIME or WITH_CODEC_QUICKTIME enabled, it will always use QTKit. The old backend was only used on 32 bit OS X builds, now 32 and 64 bit builds will give consistent input/output. On Windows or Linux quicktime isn't being used.
2013-10-31Fix #37261 Rendering a Render Layer from another scene doesn't update.Lukas Toenne
The scene pointer used for looking up the appropriate source of render result images in the image editor was always taken from context. This means that render results for a different scene would never be displayed in the image editor. To give feedback on running renders, try to get the running render job's scene pointer in the image editor for render result type images. This only happens during rendering, apart from that the regular context scene result is displayed.
2013-10-31remove return argument from wmOperatorType->cancel, was only ever returning ↵Campbell Barton
OPERATOR_CANCELLED.
2013-10-18Fix for wrong active render layer after copying hr sceneSergey Sharybin
Also fix crash for files which could have been saved with wrong active render layer.
2013-10-09Implementation of curve mapping in GLSLSergey Sharybin
The title says it all, now having curve mapping enabled in color management settings wouldn't force fallback from GLSL to CPU based color space conversion.
2013-10-01Fix blender internal viewport render not using color management settings likeBrecht Van Lommel
view, exposure, looks.
2013-10-01remove assert for poly_find_ear(), added recently but its incorrect, also ↵Campbell Barton
minor style edits.
2013-10-01de-duplicate report strings for freestyle error checksCampbell Barton
2013-10-01Follow-up to r60433 (related to Bug #36878): additional checks for NULL line ↵Tamito Kajiyama
styles.
2013-09-30fix [#36842] OpenGL Animation Playblast renders 1 too many framesCampbell Barton
2013-09-23Fix #36800: closing render window during render crashes, the operator would beBrecht Van Lommel
cancelled before the job, causing invalid access to op->reports in the job thread.
2013-09-13Related to #36710: add a "use_viewport" option to the render operator, to ↵Brecht Van Lommel
specify if the layers and camera of the 3d viewport should be used. Python scripts don't always want this behavior.
2013-09-12Different implementation of patch #36430: use layer froms scene directly forBrecht Van Lommel
rendering, in case some script wants to set it in the render_pre callback. In case of decoupled 3d view layers or local view it will still override this though.
2013-09-07rename cursor setting functions to make modal set/restore more clearly ↵Campbell Barton
related functions.
2013-09-05code cleanup:Campbell Barton
- add missing headers from cmake (own omission) - quiet rna_test.c unused define warnings. - minor style edits - spelling corrections and ignore all uppercase words with spell checking script.
2013-09-05Code cleanup: use boolean instead of int for colormanagementSergey Sharybin
2013-09-04Fix a few issues reported by coverity scan.Brecht Van Lommel
2013-09-04Fix #36449: switching between render slots during render would leave some tilesBrecht Van Lommel
black until the end of the render.
2013-08-31RenderEngine API: add viewport draw utility functions to bind a GLSL fragmentBrecht Van Lommel
shader for converting colors from linear to display space, based on the scene color management settings. if engine.support_display_space_shader(scene): # test graphics card support engine.bind_display_space_shader(scene) # draw pixels .. engine.unbind_display_space_shader()
2013-08-28Fix #36555: preview render in properties editor did not get cancelled andBrecht Van Lommel
restarted fast enough on resizing the editor, especially noticeable with e.g. luxrender which does a progressive refining render.
2013-08-20fix [#36347] Blender crashes when clicking on 'render' in 'viewport shading'Campbell Barton
2013-08-06code clenup: remove benchmarking left in by accident and GPU print, also ↵Campbell Barton
some minor style edits
2013-08-05fix for blender-internal viewport render looking fuzzy, don't filter the imageCampbell Barton
2013-07-31code cleanup: remove redundant NULL checksCampbell Barton
2013-07-29minor changes for confusing code.Campbell Barton
- memset() was argument was truncated. - outliner had redundant NULL check. - node texture was allocating memory to make a unique name which isnt needed for a fixed size string.
2013-07-28use '_exec' suffix for operator execute callbacks, also picky change to ↵Campbell Barton
sizeof() use in BLI_array.h
2013-07-23fix own regression, OpenGL render with 'New Window' display-mode was brokenCampbell Barton
need to re-assign after opening a new window.
2013-07-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
2013-07-17Fix for #36150, missing Preview Render Updates with Add/Remove material slot. Thomas Dinges
2013-07-17fix/resolve [#36173] Current frame doesn't update while OpenGL Rendering ↵Campbell Barton
Animation there was no feedback to the user about the current frame rendering, for longer renders this is no good.