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-07-10CustomData: deprecate CD_ID_MCOLCampbell Barton
2015-07-10DNA: replace GCC poison with ifdef for enumsCampbell Barton
2015-07-02DerivedMesh: cleanup & minor edirsCampbell Barton
- place return args last position - move crazyspace function out of DerivedMesh header - use bool for args - flow control on own lines to ease debugging
2015-06-28BGE: added clamping of angular velocity.Sybren A. Stüvel
Angular velocity clamping was missing from the BGE. It is implemented similarly to the linear velocity clamping. It is needed to be able to drive physical simulations of systems that have a limited rotational speed. Reviewed by: campbellbarton, panzergame, ton Differential Revision: https://developer.blender.org/D1365
2015-06-23Fix T45051: Curve parent bug.Bastien Montagne
PARCURVE is deprecated parting type, should never have been exposed to user! Not a regression, but safe enough for final 2.75 imho.
2015-06-04Fix modifiers stack not recalculated when mapping requirements changeAntony Riakiotakis
Reported by pixaal on irc, basically reproducable by inserting bevel modifier on cube and entering/exiting texture paint mode. Now object stores last needsMapping variable as well as customdata mask. Also now texture painting only needs mapping when we are in texture paint selection mode, so modifiers that don't support mapping can still be used to paint now.
2015-04-19BGE: Support for collision group/mask from the api + activated on EndObject.Porteries Tristan
A Python API for the collision group / mask has been added: ``` KX_GameObject.collisionGroup KX_GameObject.collisionMask ``` The maximum number of collision groups and masked has been increased from eight to sixteen. This means that the max value of collisionGroup/Mask is (2 ** 16) - 1 EndObject will now activate objects that were sleeping and colliding with the removed object. This means that, unlike now, if a rigid body starts sleeping on top of another object, when the latter is removed the rigid body will activate and fall, rather than float midair as before. Collision groups that do not intersect used to collide on the first frame. Now this has been fixed so that they collide appropriately. Thanks to agoose77 for his help. Reviewers: scorpion81, hg1, agoose77, sergof Reviewed By: agoose77, sergof Subscribers: sergof, moguri Projects: #game_physics, #game_engine Differential Revision: https://developer.blender.org/D1243
2015-04-02Fix T44183 particles in linked group offset from objectAntony Riakiotakis
A nice bug combining all the broken features of blender: Particles, duplis and multiple scene dependencies. Fortunately this was solvable: Basically, we need to make sure derivedmesh for dupli instance is generated before obmat is overriden. This also makes sense, since no instance has "true" obmat apart from original. Lazy initialization of derivedmesh just does not work here (or it -does- work but first use should be before instance drawing). Fingers crossed nothing else breaks after this...
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-22BGE: New hysteresis offset to improve LOD level transitionsJorge Bernal
This change introduces a new hysteresis parameter that it will be added or subtracted to/from the LOD distance to avoid popping when a LOD object moves close to the LOD transition continuously. Then, we have the following: - a new LOD Hysteresis setting per scene (default 10%) which is located in Scene context --> Level of Detail panel. This scene parameter also will active/deactive the scene hysteresis. - and a new LOD Hysteresis setting per object (default 10%) which is located in Object context --> Levels of Detail panel. The LOD hysteresis setting per object (if active) will overwrite the hysteresis setting per scene value. For the new blends: the hysteresis setting per scene would be active by default and the per object would be inactive by default. For the old blends: both hysteresis settings (per scene and per object) would be inactive by default. A quick way to take advantage of this feature for old blends would be to activate the hysteresis parameter in the scene context -> Level of Detail panel Reviewers: campbellbarton, kupoman, moguri Reviewed By: kupoman, moguri Subscribers: nonamejuju, lordodin Differential Revision: https://developer.blender.org/D957
2015-03-04Fix for snap to cursor /w parents (object/pose)Campbell Barton
Also don't use pose-bone transform unless the user is in pose-mode.
2014-08-11CommentsCampbell Barton
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-07-09Fix T40164: Linking a Group of linked Groups don't take Dupli VisibilityLukas Tönne
correctly. Problem was that object layers are defined by duplis as the top-level duplicator layers. This happens //during// the duplilist construction, which breaks group layer checks for subsequent instances and hides them. Now the duplilist generators leave Object DNA untouched, the modification of layers for drawing, rendering, etc. happens afterward in the duplilist_apply/restore functions, as a kind of second pass.
2014-05-08Code Cleanup: remove unused m_contactProcessingThresholdCampbell Barton
2014-04-09Code cleanup: remove Object.bbsize, sizefac and padCampbell Barton
2014-01-23Removed the omat matrix from DupliObject.Lukas Tönne
This was storing the original object matrix, which builds on the assumption that obmat is modified during dupli construction, which is a bad hack. Now the obmats are still modified, but this only happens outside of the dupli system itself and the original ("omat") is stored as local variables in the same place where the obmat manipulation takes place. This is easier to follow and avoids hidden hacks as much as possible. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D254
2014-01-14Empties with Images draw type: add support for movies and image sequencesGeoffroy Krantz
This adds an ImageUser to such empties with all the typical settings. Reviewed By: brecht, campbellbarton Differential Revision: https://developer.blender.org/D108
2013-12-18Game Engine: Level of detail support and toolsDaniel Stokes
Levels of detail can be added and modified in the object panel. The object panel also contains new tools for generating levels of detail, setting up levels of detail based on object names (useful for importing), and clearing an object's level of detail settings. This is meant as a game engine feature, though the level of details settings can be previewed in the viewport. Reviewed By: moguri, nexyon, brecht Differential Revision: http://developer.blender.org/D109
2013-12-10DNA Deprecation: add DNA_DEPRECATED_GCC_POISON for enum/structs.Campbell Barton
also fully remove freestyle raycasting_algorithm
2013-12-09Game Engine: Option to record static objects animationJames Yonan
2013-09-25fix error where BKE_mesh_cd_validate layer renaming would use invalid index ↵Campbell Barton
values. from r60260 also correct some comments.
2013-09-02fix odd (intentional) behavior with vertex parent,Campbell Barton
curve children of a triangle vertex parent would only display their relationship line to the first vertex. (confusing) also added OB_TYPE_SUPPORT_PARVERT macro.
2013-08-26Cleanup: move defines into anon enums, as suggested by Joshua, thx.Bastien Montagne
Note I let a few as defines for now (esp. base options are not clear to me, how they should be aranged in groups).
2013-08-26Cleanup (bitflags are *so much* easy to handle and clear as bit-shift ↵Bastien Montagne
operations than raw values!).
2013-08-19Tag object-data level boundbox as invalid rather than freeing itSergey Sharybin
Object update used to free object-data level bounding box to trigger it's re-calculation in the future. Such a freeing performed from object update isn't thread-safe because mesh could be shared between multiple objects. Rather than freeing bounding box, tag it's as invalid, this is safe from threading point of view and also prevents unnecessary memory re-allocation. Object-level bounding box is still reallocating, but think we could change this easily in the future as well. -- svn merge -r58154:58156 -r59258:59259 ^/branches/soc-2013-depsgraph_mt
2013-08-19Move bevel list and path from Curve to Object datablockSergey Sharybin
I know this is not so much nice to have this guys hanging around in a general Object datablock and ideally they better be wrapped around into a structure like DerivedMesh or something like this. But this is pure runtime only stuff and we could re-wrap them around later. Main purpose of this is making curves more thread safe, so no separate threads will ever start freeing the same path or the same bevel list. It also makes sense because path and bevel shall include deformation coming from modifiers which are applying on pre-tesselation point and different objects could have different set of modifiers. This used to be really confusing in the past and now data which depends on object is stored in an object, making things clear for understanding even. This doesn't make curve code fully thread-safe due to pre-tesselation modifiers still modifies actual nurbs and lock is still needed in makeDispListsCurveTypes, but this change makes usage of paths safe for threading. Once modifiers will stop modifying actual nurbs, curves will be fully safe for threading. Actually, this commit also contains wrapping runtime curve members into own structure This allows easier assignment on file loading, keeps curve- specific runtime data grouped and saves couple of bytes in Object for non-curve types. -- svn merge -r57938:57939 ^/branches/soc-2013-depsgraph_mt svn merge -r57957:57958^/branches/soc-2013-depsgraph_mt
2013-01-24fix for G,G causing vertex slide in UV/Image window, also comment unused ↵Campbell Barton
defines/enums.
2013-01-23rigidbody: Add rigid body constraintsSergej Reich
Constraints connect two rigid bodies. Depending on which constraint is used different degrees of freedom are limited, e.g. a hinge constraint only allows the objects to rotate around a common axis. Constraints are implemented as individual objects and bahave similar to rigid bodies in terms of adding/removing/validating. The position and orientation of the constraint object is the pivot point of the constraint. Constraints have their own group in the rigid body world. To make connecting rigid bodies easier, there is a "Connect" operator that creates an empty objects with a rigid body constraint connecting the selected objects to active. Currently the following constraints are implemented: * Fixed * Point * Hinge * Slider * Piston * Generic Note: constraint limits aren't animatable yet).
2013-01-23rigidbody: Add DNA/RNA/BKE infrastructure for the rigid body simSergej Reich
This is just the basic structure, the simulation isn't hooked up yet. Scenes get a pointer to a rigid body world that holds rigid body objects. Objects get a pointer to a rigdid body object. Both rigid body world and objects aren't used directly in the simulation and only hold information to create the actual physics objects. Physics objects are created when rigid body objects are validated. In order to keep blender and bullet objects in sync care has to be taken to either call appropriate set functions or flag objects for validation. Part of GSoC 2010 and 2012. Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
2013-01-22property change reporting now uses the context again, rather then checking a ↵Campbell Barton
dir() on context, hard-code common paths. eg: bpy.context.scene.render.resolution_x = 1921 bpy.context.object.data.use_auto_smooth = True bpy.context.object.active_material.diffuse_intensity = 1 bpy.context.scene.world.exposure = 0.1 also remove duplicate GS() defines
2013-01-18move draw all edges into the object settings (object panel), makes more ↵Campbell Barton
sense here since its next to draw extra wire
2013-01-10Depsgraph hack feature - experimentalTon Roosendaal
Many depsgraph failures are because some data in the graph is being recalculated too early (or not at all). Since we better support animators with working renders, here's a hack to allow manual additional updates on frame changes. In Property Editor, Object, Panel "Relations Extra" you now have two buttons: - Extra Object Update - Extra Data Update This will do an extra update of object and/or its data ONLY on frame changes. Update happens as last. Tested on files collected in Wiki todo, several cases now work OK, especially the lags on updates.
2012-11-08Fix #33113: cycles not rendering motion blur correct with dying particles.Brecht Van Lommel
There were a bunch of other issues with dupli motion blur and syncing, the problem being that there was no proper way to detect corresponding duplis between frames or updates. As a solution, a persistent_id was added to the DupliObject. It's an extension of the previous index value, with one index for each dupli level. This can be used to reliably find matching dupli objects between frames. Works with nested duplis, multiple particle systems, etc.
2012-10-30style cleanup & re-use DNA pad var with new collision group object settings.Campbell Barton
2012-10-30BGE: Adding support for Bullet's collision masks. Each object now has a ↵Mitchell Stokes
collision mask and a collision group. Object A and object B collide if object A's groups is in object B's mask and object B's group is in object A's mask. In other words, the group defines what the object is (collision wise) and the group defines what the object can collide with. The majority of this patch was provided by Kupoman with some edits from me and heavy testing by z0r.
2012-10-18Better fix for #32846. Instead of using time change or object recalc ↵Lukas Toenne
condition, set an explicit object flag to disable particle system modifier update during dupli list creation. This is more transparent and should prevent issues with hair path generation being skipped.
2012-09-27incorrect spelling in commentsCampbell Barton
2012-08-13style cleanup: use <pre> for doxygen ascii art Campbell Barton
2012-08-12replace ELEM8(gs, ID_ME, ID_CU, ID_MB, ID_LT, ID_LA, ID_CA, ID_TXT, ID_SPK) ↵Campbell Barton
with macro: OB_DATA_SUPPORT_ID()
2012-08-08Accidentally did a commit when I wanted to revert... (ignore my last revision)Mitchell Stokes
2012-08-08(no commit message)Mitchell Stokes
2012-07-03More spell and typo fixes (mostly visualise->visualize, grey->gray, ↵Bastien Montagne
normalise->normalize).
2012-06-24style cleanypCampbell Barton
2012-06-21Fixes for 8vytes scalar types used in DNA (int64 and double)Sergey Sharybin
- makesdna wasn't checking whether such scalars are aligned to 8 bytes. Now it should be handled correct. - Some scalars in Object structure weren't 8 bytes aligned, which lead to some incorrectly loaded files. Fixed by adding void *pad. It's a bit tricky part of patch, but can't see clearer way to make alignment correct Usually ints/chars were used for padding, but in this case there are some leading pointer properties before int64 properties and using pointer as a padding resolves alignment on both 32 and 64 bit platforms. Using pointers as padding weren't needed before, because all types were correctly aligned independent of whether pointers are 4 or 8 bytes. This fixes #31774: Empty offset Y parameter is resetting
2012-06-16shrink the object struct 8 bytes - remove unused ctime variable.Campbell Barton
2012-06-08Particle Info node for Cycles. This can be used to access particle ↵Lukas Toenne
information in material shaders for dupli objects. For now only the particle Age and individual Lifetime (in frames) are supported, more attributes can be added when needed. The particle data is stored in a separate texture if any of the dupli objects uses particle info nodes in shaders. To map dupli objects onto particles the store an additional particle_index value, which is different from the simple dupli object index (only visible particles, also works for particle dupli groups mode). Some simple use cases on the code.blender.org blog: http://code.blender.org/index.php/2012/05/particle-info-node/
2012-05-30BGE #30734: add support for physics linear and angular thresholds and ↵Benoit Bolsee
deactivation time from python and GUI. ======================== The linear and angular thresholds set the speed limit (in m/s) and rotation limit (in rad/s) under which a rigid body will go to sleep (stop moving) if it stays below the limits for a time equal or longer than the deactivation time (sleeping is disabled is deactivation time is set to 0). These settings help reducing the processing spent on Physics during the game. Previously they were only accessible from python but not working because of a bug. Now the python functions are working and the settings are available in the Physics panel of the World settings when using the Blender Game render engine. Python API: import PhysicsConstraints PhysicsConstraints.setDeactivationLinearTreshold(float) PhysicsConstraints.setDeactivationAngularTreshold(float)
2012-05-29BGE patch #28476: Character object physics typeBenoit Bolsee
=============================================== This patch adds a new "Character" BGE physics type which uses Bullet's btKinematicCharacter for simulation instead of full-blown dynamics. It is appropiate for (player-controlled) characters, for which the other physics types often result unexpected results (bouncing off walls, sliding etc.) and for which simple kinematics offers much more precision. "Character" can be chosen like any other physics type in the "Physics" section of the properties window. Current settings for tweaking are "Step Height" (to make the object automatically climb small steps if it collides with them), "Fall Speed" (the maximum speed that the object can have when falling) and "Jump Speed", which is currently not used. See http://projects.blender.org/tracker/?func=detail&atid=127&aid=28476&group_id=9 for sample blends and a discussion on the patch: how to use it and what influences the behavior of the character object. Known problem: there is a crash if the "compound" option is set in the physics panel of the Character object.
2012-05-21code cleanup: spellingCampbell Barton