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
2015-08-26Fix T44945: Blender crashes when using multiple domains and multiple flow ↵Sergey Sharybin
objects with subframes This is more like a workaround to prevent obvious cases fail, but in theory if some other area will start updating object for subframes blender will crash again. Perhaps proper way to solve this will be to copy objects for subframe updates.
2015-07-30Use looptri for smoke bvhtreeCampbell Barton
Missed from D1424
2015-07-23Use looptri for sampling UV's in smoke.cCampbell Barton
D1424 by @scorpion81
2015-07-23Use looptri for smoke collisions & particle editCampbell Barton
2015-06-06CleanupCampbell Barton
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-25Fix for crash when using particle emission with clump/roughness curvesLukas Tönne
in a smoke sim. This interaction between sims is totally stupid and must be recoded entirely in some utopian future.
2015-03-09Fix T43674: Smoke collision does not detect obstacles reliably.Lukas Tönne
The smoke obstacle detection was using a maximum distance for BVH checks to find mesh elements that define boundary cells in the grid. This BVH test was using an arbitrary value of 0.6 cell units. It should be `sqrt(3)*0.5` to account for the maximum possible distance of mesh elements inside a cell. Otherwise some cells that should form the boundary are not detected as such (no closest mesh element found inside the radius), so you get gaps in the smoke obstacle.
2015-02-06Fix T42950: Smoke particle flow doesn't work with high res and subframes ↵Miika Hamalainen
unless "set size" option is ticked.
2014-12-01Cleanup: more int->bool.Bastien Montagne
2014-11-29Cleanup: use const, avoid float -> double in matrix invertCampbell Barton
2014-11-23Refactor: BLI_path_util (part 2)Campbell Barton
Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util
2014-11-23Refactor: BLI_path_util (split out app directory access)Campbell Barton
This module is intended for path manipulation functions but had utility functions added to access various directories.
2014-11-11Avoid calling powf with integer exponent in more placesSergej Reich
Move powX functions from particle code into math library and use them.
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2014-06-23T39690: Modifications to Blender's 'temp dir' system.Bastien Montagne
Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never automatically cleaned up, and can end being quite big when used by Blender, especially when we have to store per-process data (using getpid() in file names). To address this, this patch: * Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path), the other is a mkdtemp-generated sub-dir, specific to each Blender instance. * Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always reuse the same filename (quit.blend...) or generate small file (crash reports...). * Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option). * Erases temp sub-dir on quit or crash. To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows. Note that, as in current code, the 'recover render result' hack-feature that was possible with SaveBuffer option is still removed. A real renderresult cache feature will be added soon, though. Reviewers: campbellbarton, brecht, sergey Reviewed By: campbellbarton, sergey CC: sergey Differential Revision: https://developer.blender.org/D531
2014-05-15Remove redundant NULL checkCampbell Barton
2014-05-12Fix T40115: Smoke simulator memory leak with high poly mesh emitter.Bastien Montagne
Own error, all kudos go to scorpion81 (Martin Felke) for the nvestigation & patch!
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-11API Cleanup: Use BKE_constraint prefix for constraint apiCampbell Barton
2014-04-11Code cleanup: use boolCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-18Code cleanup: jitter, use 2d float arrayCampbell Barton
2014-03-18KDTree: deprecate 'normal' argumentCampbell Barton
Normals for each kdtree node were allocated but never used, and search args only use in particles/boids code.
2014-03-02Fix T38873: Crashing on undo of ocean modifier.Bastien Montagne
Issue of this bug is that most part of fftw is not thread safe, only compute-intensive fftw_execute & co are. Since smoke was affected by this issue as well, a global fftw mutex was added to BLI_threads. Audaspace also uses fftw in one of its readers (AUD_BandPassReader.cpp), but this is not an issue currently since this code is disabled in CMake/scons files. There was another threading issue with smoke, we need to copy dm used by emit_from_derivedmesh(), as it is modified by this func. Reviewers: sergey, brecht Reviewed By: brecht CC: brecht Differential Revision: https://developer.blender.org/D374
2014-02-14Fix for crash caused by effectors doing precalculation //during// DAGLukas Tönne
updates. This file crashes on loading with NULL pointer access to curve_cache: {F77132} The pdInitEffectors function was amalgamating the simple collection of effector objects with an automatic precalculation for curve guides and the like. This precalculation requires object data that may not be available until the DAG has finished. Since for DAG dependencies only the list of effectors is required, added an argument to disable precalculation when collecting effectors.
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-02Code cleanup: suffix vars to make obvious they are squaredCampbell Barton
2014-01-14Fix T38196: Crash with smoke simulationSergey Sharybin
Issue was caused by KD tree being allocated with the wrong size.
2014-01-13Fix some harmless warnings that mostly appeared on MinGW64Antony Riakiotakis
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-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-10DNA Deprecation: add DNA_DEPRECATED_GCC_POISON for enum/structs.Campbell Barton
also fully remove freestyle raycasting_algorithm
2013-11-02code cleanup: warningsCampbell Barton
2013-10-22style cleanupCampbell Barton
2013-10-20Code cleanup: de-duplicate implementation of get_texture_valueSergey Sharybin
Expect to be no functional changes :)
2013-09-28Fix [#36827] 2.69 bug with smoke domain, particle emitter and a force field ↵Bastien Montagne
causes a crash fuel array might be null!
2013-09-22Fix [#36791]: Fire ignores force fields when smoke is set to 0.0Miika Hamalainen
2013-08-30Fix [#36600]: Smoke subframes not working with initial velocityMiika Hamalainen
2013-08-07code cleanup: more zero as NULL pointers.Campbell Barton
2013-08-01Fix [#36265]: Smoke doesn't work if domain object has negative scale.Miika Hamalainen
2013-07-16fix for checking char arrays against NULL, instead check their first ↵Campbell Barton
character. also remove some dead code (return directly after return).
2013-07-15Fix #36058: Displace Modifier errors using a baked Image and displace baking ↵Sergey Sharybin
inconsistency between 2.67/2.68RC and previous versions This was in fact really nasty bug, caused by multitex_nodes function using global variable R (which is a copy of current renderer). this variable is not initialized to anything meaningful for until first rendering (preview or final) happened. Since multitex_nodes might be used outside of render pipeline, made it so whether CM is on or off as an argument to functions multitex_ext_safe and multitex_ext. Now multitex_nodes() is only shall be used for stuff happening from render pipeline! Also needed to make some changes to other places, so all the usages of texture sampling knows for the fact whether CM is on or off. And one more change is related on behavior of dispalcement, wave, warp, weightvg modifiers and smoke. They'll be always using CM off since texture is used for influence, not for color. It's rather bigger patch, but it's mostly straightforward changes, which we really need to be done. Reviewed by Brecht, thanks!
2013-05-30modifier stack: lazy initialize normalsCampbell Barton
many modifiers were calculating normals, when those normals were ignored by the next modifier. now flag normals as dirty and recalculate for modifiers that set use `dependsOnNormals()` callback. Quick test on mesh with 12 modifiers (mostly build type), calculated normals 6 times, now it only runs once - so this will give some speedup too.
2013-05-28Fix: smoke initial velocity didn't work with the new custom size particles.Miika Hamalainen
2013-05-21Fix: Smoke adaptive domain applied velocity in wrong unit space causing high ↵Miika Hamalainen
velocities never apply additional margin ahead the fluid. Also skip new flow velocity because thats not accurate enough to be of any use in there.
2013-05-20Fix: smoke noise tile was saved in Blender executable directory, which is ↵Miika Hamalainen
often write protected on modern systems. This caused high resolution smoke to always regenerate new tile when domain was reinitialized, slowing down especially adaptive domain simulations. Now noise tile is saved in Blender temp directory instead.
2013-05-19Fix for last fix, compile error in smoke code.Brecht Van Lommel
2013-05-17Smoke simulator: Add flow subframes and ability to set custom particle size.Miika Hamalainen
Previously it was nearly impossible to have fast moving objects emitting smoke or they would just leave behind a row of smoke poofs instead of continious stream of smoke. Now it's possible to set number of subframes for each smoke flow. Another new thing is ability to set size of smoke flow particles instead of using closest smoke cell. This also works with my earlier "full sample" commit, so no more blocky particles either. :) For more info check my blog post: http://www.miikahweb.com/en/blog/2013/05/17/blender-smoke-subframes This commit also includes couple of fixes I spotted while testing: * Fix: dissolve was applied at different time for low res and high res simulations. * Fix: full sample setting didn't get copied with domain.
2013-05-10Couple fixes for my previous commit:Miika Hamalainen
- In some cases smoke flow could have 1 cell clipped off its sides. - Forgot to re-enable openmp for emission code.