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
2009-09-30Render & Compositing Thread FixesBrecht Van Lommel
* Rendering twice or more could crash layer/pass buttons. * Compositing would crash while drawing the image. * Rendering animations could also crash drawing the image. * Compositing could crash * Starting to rendering while preview render / compo was still running could crash. * Exiting while rendering an animation would not abort the renderer properly, making Blender seemingly freeze. * Fixes theoretically possible issue with setting malloc lock with nested threads. * Drawing previews inside nodes could crash when those nodes were being rendered at the same time. There's more crashes, manipulating the scene data or undo can still crash, this commit only focuses on making sure the image buffer and render result access is thread safe. Implementation: * Rather than assuming the render result does not get freed during render, which seems to be quite difficult to do given that e.g. the compositor is allowed to change the size of the buffer or output different passes, the render result is now protected with a read/write mutex. * The read/write mutex allows multiple readers (and pixel writers) at the same time, but only allows one writer to manipulate the data structure. * Added BKE_image_acquire_ibuf/BKE_image_release_ibuf to access images being rendered, cases where this is not needed (most code) can still use BKE_image_get_ibuf. * The job manager now allows only one rendering job at the same time, rather than the G.rendering check which was not reliable.
2009-09-29Sorry, three commits in one, became difficult to untangle..Brecht Van Lommel
Editors Modules * render/ module added in editors, moved the preview render code there and also shading related operators. * physics/ module made more consistent with other modules. renaming files, making a single physics_ops.c for operators and keymaps. Also move all particle related operators here now. * space_buttons/ now should have only operators relevant to the buttons specificially. Updates & Notifiers * Material/Texture/World/Lamp can now be passed to DAG_id_flush_update, which will go back to a callback in editors. Eventually these should be in the depsgraph itself, but for now this gives a unified call for doing updates. * GLSL materials are now refreshed on changes. There's still various cases missing, * Preview icons now hook into this system, solving various update cases that were missed before. * Also fixes issue in my last commit, where some preview would not render, problem is avoided in the new system. Icon Rendering * On systems with support for non-power of two textures, an OpenGL texture is now used instead of glDrawPixels. This avoids problems with icons get clipped on region borders. On my Linux desktop, this gives an 1.1x speedup, and on my Mac laptop a 2.3x speedup overall in redrawing the full window, with the default setup. The glDrawPixels implementation on Mac seems to have a lot of overhread. * Preview icons are now drawn using proper premul alpha, and never faded so you can see them clearly. * Also tried to fix issue with texture node preview rendering, globals can't be used with threads reliably.
2009-09-162.5: fix bug in Levels node, giving NULL pointer free warnings.Brecht Van Lommel
2009-09-11SVN maintenance.Guillermo S. Romero
2009-09-10Added Levels Node (histogram, with mean/std deviation outputs)Robert Holcomb
Added RGB space distance matte Node Added HSV color matte Node Fixed Image difference matte Node to use image differences instead of RGB space distance Fixed luminance node for low end values being read wrong Fixed CMP_util copy/swap functions not accounting for all channels Fixed UI for difference matte Node Added RNA for new nodes
2009-09-06easier to re-apply the replacement table then merge from 2.4x, same as 23023Campbell Barton
replacements... MTC_cross3Float -> Crossf MTC_diff3Float -> VecSubf MTC_dot3Float -> Inpf MTC_Mat3CpyMat4 -> Mat3CpyMat4 MTC_Mat3MulVecd -> Mat3MulVecd MTC_Mat3MulVecfl -> Mat3MulVecfl MTC_Mat4CpyMat4 -> Mat4CpyMat4 MTC_Mat4Invert -> Mat4Invert MTC_Mat4Mul3Vecfl -> Mat4Mul3Vecfl MTC_Mat4MulMat4 -> Mat4MulMat4 MTC_Mat4MulSerie -> Mat4MulSerie MTC_Mat4MulVec4fl -> Mat4MulVec4fl MTC_Mat4MulVecfl -> Mat4MulVecfl MTC_Mat4One -> Mat4One MTC_Mat4Ortho -> Mat4Ortho MTC_Mat4SwapMat4 -> Mat4SwapMat4
2009-08-19More texnode preview fixes. Previews now have correct aspect ratio and are ↵Robin Allen
drawn by the renderer.
2009-08-19Texture node previews: Well and truly fixed.Robin Allen
(Probably.)
2009-08-18Fixed some redraw problems with texture nodes.Robin Allen
2009-08-18Implemented multisampling for texture nodes.Robin Allen
2009-08-18Slight refactor of texture nodes. Robin Allen
Delegates now receive a TexParams* instead of float *coords. This gives texture nodes access to dxt, dyt, cfra as well as coords. This fixes the time node and allows nice sampling to be implemented.
2009-08-17Made texture nodes accessible in the interface.Robin Allen
* Exposed Tex.use_nodes, Tex.nodetree, MTex.which_output in RNA * Added node controls to texture buttons (Use Nodes and Use Output) * Made new texture outputs have unique names by default, though unique names still aren't required. Note: The preview window in the texture buttons only takes which_output into account when in "material" mode, and in the material half of "both" mode; the plain texture display ignores the user's output choice. This is because ED_preview_draw draws a Tex* and not an MTex* -- still some work to do here.
2009-08-10remove python2.x supportCampbell Barton
2009-08-01svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22075:22099Campbell Barton
2009-07-31Bug fix in low value setting. Originally checked against the wrong channel ↵Robert Holcomb
(chroma) instead of the luminence channel. Changed default value for high value to 1.0 from 0.0.
2009-07-26svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r20937:21899Campbell Barton
missing commits from peter 20942, 21165, 21170, 21174, 21597 these files still need manual merging source/blender/makesdna/DNA_sequence_types.h source/blender/src/sequence.c source/blender/src/seqeffects.c source/blender/src/editseq.c source/blender/include/BSE_sequence.h
2009-07-22RNABrecht Van Lommel
* ID blocks can now get RNA properties defined from python, e.g.: bpy.types.Scene.BoolProperty(..) * RNA structs/functions/properties can now get pointers duplicated (mostly strings), since we can't point to some static string then. * Added ExtensionRNA struct to add into *Type structs for subclassing, is a bit more compact than defining the 4 variables each time. Only disadvantage is it requires including RNA in more places.
2009-07-17Colour ManagementMatt Ebb
- 1st stage: Linear Workflow This implements automatic linear workflow in Blender's renderer. With the new Colour Management option on in the Render buttons, all inputs to the renderer and compositor are converted to linear colour space before rendering, and gamma corrected afterwards. In essence, this makes all manual gamma correction with nodes, etc unnecessary, since it's done automatically through the pipeline. It's all explained much better in the notes/doc here, so please have a look: http://wiki.blender.org/index.php/Dev:Source/Blender/Architecture/Colour_Management And an example of the sort of difference it makes: http://mke3.net/blender/devel/rendering/b25_colormanagement_test01.jpg This also enables Colour Management in the default B.blend, and changes the default lamp falloff to inverse square, which is more correct, and much easier to use now it's all gamma corrected properly. Next step is to look into profiles/soft proofing for the compositor. Thanks to brecht for reviewing and fixing some oversights!
2009-06-18Bufix #18942Ton Roosendaal
Composite "Map UV" node was using false UVs (0,0) from neighbouring pixels when those pixels were not rendered (or have no UV). This commit checks for each neighbour sample it takes if the UV was correctly set. Solves bad errors on edges of UV maps. With FSA even totally smooth. :)
2009-06-16svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r20855:20928Campbell Barton
Sequencer changes from source/blender/src coming next
2009-06-13Omission of a texture node to specify coordinates was regarded as a bug by ↵Robin Allen
some users. I rather agree :)
2009-06-092.50:Brecht Van Lommel
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD Notes: * Game and sequencer RNA, and sequencer header are now out of date a bit after changes in trunk. * I didn't know how to port these bugfixes, most likely they are not needed anymore. * Fix "duplicate strip" always increase the user count for ipo. * IPO pinning on sequencer strips was lost during Undo.
2009-06-02Fixed limits on translate nodeRobin Allen
2009-06-02Bugfix for faulty noise function in bricks nodeRobin Allen
2009-05-26Fix for bug #18788: vector math node subtract did not work,Brecht Van Lommel
patch by Matt D., thanks.
2009-05-26Bugfix #18801Ton Roosendaal
Third transparent shadow bug... this time it's a Material Node, which has mirror + transp-shadow on, and when it traces its own material it enters an eternal loop... Raytracing + shading + materialnode combo really needs work!
2009-05-07python3 compatibility for the BGE api, this only works with scons when ↵Campbell Barton
WITH_BF_NOBLENDER is enabled. Mathutils, Geometry and BGL modules are currently disabled with python3
2009-05-03Fix for bug #18659: glsl math material node, "tangent" option didn't work.Brecht Van Lommel
2009-04-25patch from michael williamson, export multiple UV layers to lightwaveCampbell Barton
[#18575] remove unused local variables
2009-04-21Old "divide by zero" bug and remove debug printf.Guillermo S. Romero
2009-04-21SHD_dynamic had gen_utils functions from Mathutils, removingCampbell Barton
2009-04-20Bugfix for [#18554] Time + Scale Node CrashDaniel Genrich
2009-04-202.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r19323:HEAD Notes: * blenderbuttons and ICON_SNAP_PEEL_OBJECT were not merged.
2009-04-17bugfix #18287Ton Roosendaal
Texture nodes hang when nodes have a cyclic case. Added a (temp?) provision to tag node->need_exec zero for cyclic nodes, and added check for this in texture nodes. There was also a bug in 'tag changed' for texture nodes, which not only tagged, but also called the tree exec (should not happen!). In general the texture exec needs recode; it doesn't use the stacks as provided per node, but recurses itself to previous nodes, giving problems like this. Node execs should only do their own bizz, the node system handles dependency and eval order nicely already.
2009-04-15Fix for own recent reference count error.Campbell Barton
- The armature weakref list was being incref'd twice then decrefed twice (incref and decref were used incorrectly), now only once. My 'fix' broke this. - In bpy_pydriver_create_dict the 2 refs added from running PyDict_SetItemString twice were undone when clearing the dictionary (added comment) - changed Py_XDECREF to Py_DECREF int BPY_pyconstraint_update and BPY_pyconstraint_target, Py_XDECREF checs for NULL value which would have crashed blender before it got to Py_XDECREF anyway. - after every error is reported (PyErr_Print), remove sys.last_traceback and clear the error, I found this fixed certain crashes (usually when starting the game engine or exiting blender), so best do this all the time. - header_text.c, CcdPhysicsEnvironment.cpp, KX_CameraActuator.cpp - remove some warnings.
2009-04-01Clean up for the imminent migration from SVN to GIT.Guillermo S. Romero
2009-03-24Fix for bug #18438: TEX_valToNormal.c array size error.Brecht Van Lommel
Error pointed out by Dan Eicher, thanks!
2009-03-182.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r18677:19317 Notes: * Sequence transform strip uses G.scene global, this is commented out now, should be fixed. * Etch-a-ton code was most difficult to merge. The files already in 2.5 got merged, but no new files were added. Calls to these files are commented out with "XXX etch-a-ton". editarmature.c and transform_snap.c were complex to merge. Martin, please check? * Game engine compiles and links again here for scons/make/cmake (player still fails to link).
2009-02-172.5Ton Roosendaal
Node/Composite tinkering: - titles in headers and on collapsed nodes back - backdrop option draws again (no scroll operator yet) - added preview option in blur, filter and mix nodes. Just for fun while working :) Probably every node should get this...
2009-02-06Added Scale, fixed bugs incl. patch #18037Robin Allen
2009-02-06Patch #18015, adds "Value to Normal" nodeRobin Allen
2009-02-06Added compose/decompose, fixed bugs.Robin Allen
2009-02-052.5Ton Roosendaal
Safe method to move render results to the displayed image. It now allocates a single image for display, and on each refresh callback from render, it copies the refreshed section over to this image, in 32 bits. While rendering that image then only shows progress updates, as usual. This also now works for scenes in composte and results for composite. This should solve reported crashes for MBlur or SSS.
2009-02-04Relative option for the blur node only applied when the UI updated.Campbell Barton
This meant that changing the image size later on would still use the old size. Set the relative blur size when executing the node too.
2009-01-262.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r17853:HEAD
2009-01-222.5Ton Roosendaal
Added WM Jobs manager - WM can manage threaded jobs for you; just provide a couple of components to get it work: - customdata, free callback for it - timer step, notifier code - start callback, update callback - Once started, each job runs an own timer, and will for every time step check necessary updates, or close the job when ready. - No drawing happens in jobs, that's for notifiers! - Every job stores an owner pointer, and based on this owner it will prevent multiple jobs to enter the stack. Instead it will re-use a running job, signal it to stop and allow caller to re-initialize it even. - Check new wm_jobs.c for more explanation. Jobs API is still under construction. Fun: BLI_addtail(&wm->jobs, steve); :) Put Node shader previews back using wmJobs - Preview calculating is now fully threaded (1 thread still) - Thanks to new event system + notifiers, you can see previews update even while dragging sliders! - Currently it only starts when you change a node setting. Warning: the thread render shares Node data, so don't delete nodes while it renders! This topic is on the todo to make safe. Also: - bug in region initialize (do_versions) showed channel list in node editor wrong. - flagged the channel list 'hidden' now, it was really in the way! This is for later to work on anyway. - recoded Render API callbacks so it gets handlers passed on, no globals to use anymore, remember? - previewrender code gets now so much nicer! Will remove a lot of stuff from code soon.
2009-01-042.5Ton Roosendaal
Think global, act local! The old favorite G.scene gone! Man... that took almost 2 days. Also removed G.curscreen and G.edbo. Not everything could get solved; here's some notes. - modifiers now store current scene in ModifierData. This is not meant for permanent, but it can probably stick there until we cleaned the anim system and depsgraph to cope better with timing issues. - Game engine G.scene should become an argument for staring it. Didn't solve this yet. - Texture nodes should get scene cfra, but the current implementation is too tightly wrapped to do it easily.
2008-12-222.5Ton Roosendaal
Cleanup - for portablity we can keep the old ugly defines for retrieving active object, cfra and so on. But, they will use 'scene' not G.scene. - fixed code that uses those defines. - some unused variables/functions removed
2008-12-15bugfix #17989Ton Roosendaal
Patch from Xavier Thomas. Compositor, filter node, had shifted output when used on single-value buffers.
2008-12-142.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r17434:HEAD