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
2007-08-22Added a couple of missing stubs to clean up some warnings...Kent Mein
Kent
2007-08-19This might fix some of the problems encountered compiling with blenderplayer ↵Joshua Leung
or so.
2007-08-18== PyConstraints ==Joshua Leung
I've added the ability for PyConstraints to define a function (doDriver) that is able to directly modify values of the owner/target, so that certain setups can be created reliably. Users should take note that this is against the basic concept of what a constraint does, and that under no circumstances may they set the values of any variables controlling the transforms. For more details, check out the information in the PyConstraint template script. I've also updated PyConstraints to be aware of geometry targets. The script template has been updated with this information.
2007-07-15== Constraints System ==Joshua Leung
After just over a week of coding, I've finished doing a major refactor/cleanup of the constraints code. In the process, quite a few old kludges and ugly hacks have been removed. Also, some new features which will greatly benefit riggers have been implemented. === What's New === * The long-awaited ``ChildOf Constraint'': This allows you to animate parent influences, and choose which transformation channels the parent affects the child on (i.e. no translation/rotation/scaling). It should be noted that disabling some combinations may not totally work as expected. Also, the 'Set Inverse' and 'Clear Inverse' buttons at the bottom of this constraint's panel set/clear the inverse correction for the parent's effects. Use these to make the owner not stick/be glued to the parent. * Constraint/Target Evaluation Spaces: In some constraints, there are now 1-2 combo boxes at the bottom of their panel, which allows you to pick which `co-ordinate space' they are evaluated in. This is much more flexible than the old 'local' options for bones only were. * Action Constraint - Loc/Rot/Size Inputs The Action Constraint can finally use the target's location/rotation/scaling transforms as input, to control the owner of the constraint. This should work much more reliably than it used to. The target evaluation should now also be more accurate due to the new space conversion stuff. * Transform - No longer in Crazy Space (TM) Transforming objects/bones with constraints applied should no longer occur in Crazy Space. They are now correctly inverse-corrected. This also applies to old-style object tracking. === General Code Changes === * solve_constraints is now in constraints.c. I've removed the old `blend consecutive constraints of same type' junk, which made the code more complex than it needed to be. * evaluate_constraint is now only passed the constraint, and two matrices. A few unused variables have been removed from here. * A tempolary struct, bConstraintOb, is now passed to solve_constraints instead of relying on an ugly, static workobject in some cases. This works much better. * Made the formatting of constraint code consistent * There's a version patch for older files so that constraint settings are correctly converted to the new system. This is currently done for MajorVersion <= 244, and SubVersion < 3. I've bumped up the subversion to 3 for this purpose. However, with the imminent 2.45 release, this may need to be adjusted accordingly. * LocEulSizeToMat4 and LocQuatSizeToMat4 now work in the order Size, Rot, Location. I've also added a few other math functions. * Mat4BlendMat4 is now in arithb. I've modified it's method slightly, to use other arithb functions, instead of its crazy blending scheme. * Moved some of the RigidBodyJoint constraint's code out of blenkernel, and into src. It shouldn't be setting its target in its data initialisation function based + accessing scene stuff where it was doing so. === Future Work === * Geometry to act as targets for constraints. A space has been reserved for this already. * Tidy up UI buttons of constraints
2007-06-18== PyConstraints ==Joshua Leung
At last! The ability to code constraints in Python. This opens up many interesting rigging possibilities, as well as making prototyping constraints easier. * A PyConstraint script must begin with the line #BPYCONSTRAINT * It must also define a doConstraint function, which performs the core actions of the constraint. * PyConstraints use IDProperties to store custom properties for each PyConstraint instance. The scripter can choose which of these ID-Properties to expose to a user to control the behaviour of the constraint. This must be done using the Draw.PupBlock method. Credits to Joe Eager (joeedh) for coding the original patch on which this is based. I've made heavy revisions to large parts of the patch. For more detailed information, and some demo scripts, see the following page: http://aligorith.googlepages.com/pyconstraints2
2007-04-04moved source and text to american spellingCampbell Barton
* colour -> color * centre -> center * normalise -> normalize * modelling -> modeling
2007-03-08== Multires ==Nicholas Bishop
Fixed bug #6153, Blender Crash during rendering (internal) with object selected in edit mode. * Added a render parameter to several of multires's functions. If render==true, multires won't push data onto the undo stack, and regular Mesh data is always used (as opposed to EditMesh data.)
2007-01-24== Multires ==Nicholas Bishop
Fixed bug #5799, Multires mesh modifications get reset by rendering This bug can cause some nasty data loss (was introduces with my commit for using orco with multires.) Fixed by making sure to do multires_update_levels before applying modifiers.
2007-01-22= Multires =Nicholas Bishop
Fixed bug #5756, Rendering artifacts when MRM is not set to maximum Several changes were made: * Added function multires_level_n to get the nth level from a multires mesh * Removed the changes I made some time ago to init_render_mesh for multires meshes. Previously it was making a full copy of the mesh object in order to be able to apply deformations to the Pin level and propagate them to the Render level. * Added two functions to DerivedMesh.c, multires_render_pin and multires_render_final. These two functions work together in the mesh_create_derived_*_render functions to apply all modifiers to the Pin level, then create the DerivedMesh from the Render level, and lastly restore the mesh to its original (undeformed) state. * Added a check in multires_del_lower and multires_del_higher to ensure that level indices are properly clipped to the actual range of available levels.
2007-01-10Added a couple of stubs so that blenderplayer compiles fine again afterJoshua Leung
verse commit. Could someone who is familiar with stubs check that this is done the right way?
2006-12-24Uncommitted the stub again.Alexander Ewering
Can anyone who knows more than me add a correct stub for this? Blenderplayer doesn't link for me because it can't find that symbol...
2006-12-23Add a stub for IMB_exr_close() so blenderplayer compiles againAlexander Ewering
(I hope I did this right - works for me at least)
2006-12-21Game Player links again, added new functions in the stubsTon Roosendaal
(image.c: prototype fix)
2006-12-16contribution from RCRuiz:Erwin Coumans
drawing of rigidbody constraint pivots, and allow passing of full constraint frame.
2006-12-11=bad level calls=Tom Musgrove
added antialias_tagbuf and iibuf_sample to stubs so that we can compile the gameengine again - ton please check when you wake up...
2006-12-03Better integration of multires with editmode. Setting/adding levels no ↵Nicholas Bishop
longer exits editmode, and undo should now work as expected. Still to come is loading customdata from the editmesh.
2006-12-02Added stub for multires_copyNicholas Bishop
2006-11-20Added custom vertex/edge/face data for meshes:Brecht Van Lommel
All data layers, including MVert/MEdge/MFace, are now managed as custom data layers. The pointers like Mesh.mvert, Mesh.dvert or Mesh.mcol are still used of course, but allocating, copying or freeing these arrays should be done through the CustomData API. Work in progress documentation on this is here: http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData Replaced TFace by MTFace: This is the same struct, except that it does not contain color, that now always stays separated in MCol. This was not a good design decision to begin with, and it is needed for adding multiple color layers later. Note that this does mean older Blender versions will not be able to read UV coordinates from the next release, due to an SDNA limitation. Removed DispListMesh: This now fully replaced by DerivedMesh. To provide access to arrays of vertices, edges and faces, like DispListMesh does. The semantics of the DerivedMesh.getVertArray() and similar functions were changed to return a pointer to an array if one exists, or otherwise allocate a temporary one. On releasing the DerivedMesh, this temporary array will be removed automatically. Removed ssDM and meshDM DerivedMesh backends: The ssDM backend was for DispListMesh, so that became obsolete automatically. The meshDM backend was replaced by the custom data backend, that now figures out which layers need to be modified, and only duplicates those. This changes code in many places, and overall removes 2514 lines of code. So, there's a good chance this might break some stuff, although I've been testing it for a few days now. The good news is, adding multiple color and uv layers should now become easy.
2006-11-19Long waited feature: Render BakingTon Roosendaal
Here's the full release log with example file. http://www.blender3d.org/cms/Render_Baking.827.0.html For people who don't read docs; just press ALT+CTRL+B on a Mesh with texture faces! Todos: - maybe some filter options extra? - Make normal maps in Tangent space
2006-11-17Yuck, a very ancient crasher in going area-full screen in Blender.Ton Roosendaal
I wonder how this survived so long in Blender... (2005/03/09 commit). Reason was the call to BPY_free_screen_spacehandlers(sc) in kernel, which was freeing up scripthandlers in a weird way. That call is really obsolete. The real freeing should go in the del_area() call, to prevent copying and deleting area in the UI to go wrong. (Crash happened in testing timeline markers, and holding CTRL+Uparrow a while...)
2006-11-17CMake lists initial submission. Documentationand further verification for ↵Jacques Beuarain
different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on.
2006-11-06Merged Google Summer of Code sculptmode/multires/retopo tools.Nicholas Bishop
From the tracker: https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-10-27Fixed all gcc 4 warnings in blenkernel. Found 2 potentially harmfulBrecht Van Lommel
unintialized variables in the verse code, verse_session.c:451 and verse_object_node.c:339, those are properly initialized now.
2006-10-27Add a stub to make blenderplayer compile with verse enabled.Brecht Van Lommel
2006-08-28Added a BKE_bad_level_calls.h stub for NewBooleanDerivedMesh(). This fixes theBen Batt
"undefined reference to NewBooleanDerivedMesh" error when building with make (reported on IRC by Desoto, confirmed by Genscher2).
2006-08-22Stubs for verse (maybe the verse files should be moved from src/Chris Want
to blenkernel/intern/ ?)
2006-07-31ImagePaint Refactoring:Brecht Van Lommel
- ImagePaint now uses ImBuf directly, and the rect blending functions were moved into the imbuf module. - The brush spacing, timing and sampling was abstracted into brush.c, for later reuse in other paint modes. Float ImagePaint support. Textured Brushes: - Only the first texture channel is used now. - Options for size and offset should be added, but need to find some space in the panel, or add a second one ..
2006-06-12- added fix for fluidsim copying bugNils Thuerey
(surface mesh structs werent handled correctly, copying is now done in a new function)
2006-06-12== Python Button Evaluation ==Martin Poirier
Users can write any valid Python expression (that evals to an int or float) inside Blender's gui number buttons (preceded by #) and have them evaluated to their actual int or float value. Button Evaluation has access to the same modules as PyDrivers. For example: #1.0*9-2.3 #ob("Camera").LocZ #1.0/ob("Cube").LocX #math.sin(math.pi) -- or simply #m.sin(m.pi) etc
2006-05-28Additions to stubs.c to make blenderplayer compile.Chris Burt
I would appreciate if someone who knows more about this could check it. Thanks!
2006-05-25added a stub for multitex_ext, returning the year I was born ;-)Erwin Coumans
2006-05-01Small update for pydrivers: force reloading the pydrivers.py BlenderWillian Padovani Germano
text module when user edits the input text box of any pydriver (Transform Properties panel, Ipo window). It's enough to click in and out of a single pydriver's text input box for the module reloading and also re-evaluation of all pydrivers available. Maybe this "refreshing" should also be available from a menu, let's see. Note for Python fans: Definitions and redefinitions in a reloaded module are properly handled in Python, but previously defined data in the module doesn't disappear. So if you define a function "f" inside a module, import it, then change the function's name to "g" and reload the module, both "f" and "g" will be available. This is considered a feature, check reload's documentation: http://docs.python.org/lib/built-in-funcs.html#l2h-59
2006-04-30Pydrivers: Ipo Drivers controlled by Python expressionsWillian Padovani Germano
wiki with info: http://mediawiki.blender.org/index.php/BlenderDev/PyDrivers (there are two sample .blends in the patch tracker entry, last link in the wiki page) Notes: In usiblender.c I just made Python exit before the main library gets freed. I found a situation with pydrivers where py's gc tried to del objects on exit and their ID's were not valid anymore (so sigsegv). Ton needs to check the depsgraph part. For now pydrivers can reference their own object, something normal ipodrivers can't. This seems to work fine and is quite useful, but if tests prove the restriction is necessary, we just need to uncomment a piece of code in EXPP_interface.c, marked with "XXX". Thanks Ton for the ipodrivers code and adding the hooks for the py part and Martin for the "Button Python Evaluation" patch from which I started this one. Anyone interested, please check the wiki, the .blends (they have README's) and tell me about any issue.
2006-03-09==compile fix==Tom Musgrove
added RE_RenderLayer to stubs.c so we can compile gameengine
2006-03-07this patch features several cleanups and bugfixes for the sequencer:Peter Schlaile
- blur works again (this was a serious bug in gamwarp...) - seperates all sequence effects into a seperate file with a clean interface - thereby fixing some obscure segfaults - seperates the scope views into a seperate file - adds float support to all effects and scope views - removes a bad level call to open_plugin_seq - FFMPEG seeking improved a lot. - FFMPEG compiles with debian sarge version cleanly - Makes hdaudio seek and resample code really work
2006-02-08==SCons==Nathan Letwory
+ 'scons blenderplayer' builds blender AND blenderplayer now (tested on Linux only, but was only linking issue, so should work on other platforms too). NOTE: I noticed some compileflags for GE specific libs that were left out - I re-enabled them in the SConscripts, but I'm going to do a test build my- self now, so if there are problems with them on win32, I probably already know about them :)
2006-02-07Added "Blur factor" button in Vector Blur node, which scales the speedTon Roosendaal
vectors. It's actually shutter speed, but in this case works identical to the old motionblur 'blur fac' button. Note; the "Max Speed" button only clips speed, use this to prevent extreme speed values. Max speed applied before the scaling happens.
2006-02-07Needed to add zbuf_accumulate_vecblur() to the stubs.c for correctChris Want
linking of the blenderplayer.
2006-02-05* WITH_BF_GETTEXT and WITH_BF_FREETYPE are merged into WITH_BF_INTERNATIONALNathan Letwory
* typo in adding BF_OPENAL_LIBPATH, resulting in it not being added at all
2006-02-04== SCons ==Nathan Letwory
* This commit is all of the rewrite work done on the SCons system. For documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt. Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring contains valuable information, along with what still needs to be done. - linux, os x and windows compile now. - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py) - NOTE: Jean-Luc P will commit sometime during the weekend proper appit() for OS X. For now, copy the resulting binary to an existing .app bundle. - features: - cleaner structure for better maintenance - cleaner output during compile - better handling of build options - general overall speed increase - see the wiki for more info Cygwin, FreeBSD and Solaris systems still need work. For these systems: 1) copy a config/(platform)-config.py to ie. config/cygwin-config.py 2) set the proper defaults for your platform 3) mail me at jesterking at letwory dot net with you configuration. if you need any modifications to the system, do send a patch, too. I'll be giving first-aid today and tomorrow, after that it'll be all regular development work :) /Nathan
2006-02-03Redoing the blur filters for composit;Ton Roosendaal
http://www.blender.org/bf/filters/ I found out current blur actually doesn't do gauss, but more did regular quadratic. Now you can choose common filter types, but more specifically; - set gamma on, to emphasize bright parts in blur more than darker parts - use the bokeh option for (current circlular only) blur based on true area filters (meaning, for each pixel it samples the entire surrounding). This enables more effects, but is also much slower. Have to check on optimization for this still... use with care!
2006-02-03added needed stub for player (renderpasses)Jean-Luc Peurière
2006-01-30More simple fixes to cleanup warnings and what not:Kent Mein
extern/bullet/BulletDynamics/ConstraintSolver/SimpleConstraintSolver.h added newline at end of file. intern/boolop/intern/BOP_Face2Face.cpp fixed indentation and had nested declarations of a varible i used for multiple for loops, changed it to just one declaration. source/blender/blenkernel/bad_level_call_stubs/stubs.c added prototypes and a couple other fixes. source/blender/include/BDR_drawobject.h source/blender/include/BSE_node.h source/blender/include/butspace.h source/blender/render/extern/include/RE_shader_ext.h added struct definitions source/blender/src/editmesh_mods.c source/gameengine/Ketsji/KX_BlenderMaterial.cpp source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp source/gameengine/Ketsji/KX_RaySensor.cpp removed unused variables; source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp changed format of case statements to avoid warnings in gcc. Kent
2006-01-30adding needed entries to stubs.c after orange branch commitJean-Luc Peurière
so that player compiles.
2006-01-24Giant commit!Ton Roosendaal
A full detailed description of this will be done later... is several days of work. Here's a summary: Render: - Full cleanup of render code, removing *all* globals and bad level calls all over blender. Render module is now not called abusive anymore - API-fied calls to rendering - Full recode of internal render pipeline. Is now rendering tiles by default, prepared for much smarter 'bucket' render later. - Each thread now can render a full part - Renders were tested with 4 threads, goes fine, apart from some lookup tables in softshadow and AO still - Rendering is prepared to do multiple layers and passes - No single 32 bits trick in render code anymore, all 100% floats now. Writing images/movies - moved writing images to blender kernel (bye bye 'schrijfplaatje'!) - made a new Movie handle system, also in kernel. This will enable much easier use of movies in Blender PreviewRender: - Using new render API, previewrender (in buttons) now uses regular render code to generate images. - new datafile 'preview.blend.c' has the preview scenes in it - previews get rendered in exact displayed size (1 pixel = 1 pixel) 3D Preview render - new; press Pkey in 3d window, for a panel that continuously renders (pkey is for games, i know... but we dont do that in orange now!) - this render works nearly identical to buttons-preview render, so it stops rendering on any event (mouse, keyboard, etc) - on moving/scaling the panel, the render code doesn't recreate all geometry - same for shifting/panning view - all other operations (now) regenerate the full render database still. - this is WIP... but big fun, especially for simple scenes! Compositor - Using same node system as now in use for shaders, you can composit images - works pretty straightforward... needs much more options/tools and integration with rendering still - is not threaded yet, nor is so smart to only recalculate changes... will be done soon! - the "Render Result" node will get all layers/passes as output sockets - The "Output" node renders to a builtin image, which you can view in the Image window. (yes, output nodes to render-result, and to files, is on the list!) The Bad News - "Unified Render" is removed. It might come back in some stage, but this system should be built from scratch. I can't really understand this code... I expect it is not much needed, especially with advanced layer/passes control - Panorama render, Field render, Motion blur, is not coded yet... (I had to recode every single feature in render, so...!) - Lens Flare is also not back... needs total revision, might become composit effect though (using zbuffer for visibility) - Part render is gone! (well, thats obvious, its default now). - The render window is only restored with limited functionality... I am going to check first the option to render to a Image window, so Blender can become a true single-window application. :) For example, the 'Spare render buffer' (jkey) doesnt work. - Render with border, now default creates a smaller image - No zbuffers are written yet... on the todo! - Scons files and MSVC will need work to get compiling again OK... thats what I can quickly recall. Now go compiling!
2005-12-06Orange branch: Revived hidden treasure, the Groups!Ton Roosendaal
Previous experiment (in 2000) didn't satisfy, it had even some primitive NLA option in groups... so, cleaned up the old code (removed most) and integrated it back in a more useful way. Usage: - CTRL+G gives menu to add group, add to existing group, or remove from groups. - In Object buttons, a new (should become first) Panel was added, showing not only Object "ID button" and Parent, but also the Groups the Object Belongs to. These buttons also allow rename, assigning or removing. - To indicate Objects are grouped, they're drawn in a (not theme yet, so temporal?) green wire color. - Use ALT+SHIFT mouse-select to (de)select an entire group But, the real power of groups is in the following features: -> Particle Force field and Guide control In the "Particle Motion" Panel, you can indicate a Group name, this then limits force fields or guides to members of that Group. (Note that layers still work on top of that... not sure about that). -> Light Groups In the Material "Shaders" Panel, you can indicate a Group name to limit lighting for the Material to lamps in this group. The Lights in a Group do need to be 'visible' for the Scene to be rendered (as usual). -> Group Duplicator In the Object "Anim" Panel, you can set any Object (use Empty!) to duplicate an entire Group. It will make copies of all Objects in that Group. Also works for animated Objects, but it will copy the current positions or deforms. Control over 'local timing' (so we can do Massive anims!) will be added later. (Note; this commit won't render Group duplicators yet, a fix in bf-blender will enable that, next commit will sync) -> Library Appending In the SHIFT-F1 or SHIFT+F4 browsers, you can also find the Groups listed. By appending or linking the Group itself, and use the Group Duplicator, you now can animate and position linked Objects. The nice thing is that the local saved file itself will only store the Group name that was linked, so on a next file read, the Group Objects will be re-read as stored (changed) in the Library file. (Note; current implementation also "gives a base" to linked Group Objects, to show them as Objects in the current Scene. Need that now for testing purposes, but probably will be removed later). -> Outliner Outliner now shows Groups as optio too, nice to organize your data a bit too! In General, Groups have a very good potential... for example, it could become default for MetaBall Objects too (jiri, I can help you later on how this works). All current 'layer relationships' in Blender should be dropped in time, I guess...
2005-12-04Orange bramch:Ton Roosendaal
New diffuse shader, "Fresnel", which using existing fresnel formula. Since it hilights edges (away from lamp), nice to fill darker parts with the new layering system. Weird stuff though; http://www.blender.org/bf/0001_0040.avi (Movie disappears in a couple of days!) Note; for ray-shadow you need to use the Bias, to prevent 'terminator' problems. I made that option default now.
2005-12-04Orange branch feature; Material LayeringTon Roosendaal
(WIP, don't bugs for this in tracker yet please!) - New Panel "Layers" in Material buttons, allows to add unlimited amount of materials on top of each other. - Every Layer is actually just another Material, which gets rendered/shaded (including texture), and then added on top of previous layer with an operation like Mix, Add, Mult, etc. - Layers render fully independent, so bumpmaps are not passed on to next layers. - Per Layer you can set if it influences Diffuse, Specular or Alpha - If a Material returns alpha (like from texture), the alpha value is used for adding the layers too. - New texture "Map To" channel allows to have a texture work on a Layer - Each layer, including basis Material, can be turned on/off individually Notes: - at this moment, the full shading pass happens for each layer, including shadow, AO and raytraced mirror or transparency... - I had to remove old hacks from preview render, which corrected reflected normals for preview texturing. - still needs loadsa testing!
2005-11-23added bad level call stub for sluidsimJean-Luc Peurière
2005-10-22New: X-axis mirror weightpainting.Ton Roosendaal
- Set the button in Paint Panel, Edit buttons context - It assumes the mesh to be near-perfectly mirrored. Current threshold is set to 0.0001 (maximum difference allowed). In order to evaluate proper mirroring, a new option will be added in Mesh editmode later. - When the flipped group doesn't exist yet, it creates the group - Of course this doesn't work for mirror modifier! New: Select/activate flipped bone or vertex group - Press SHIFT+F in PoseMode or WeightPaint mode to get the flipped bone. Is especially to see while painting if the mirror copying works OK. New: "Apply Envelope to VertexGroup" uses X-mirror option too. Todo; check on mirror vertex painting, and mirror Mesh editmode.... The implementation is based on a 8x8x8 Octree, where vertex locations are stored. Vertices on the threshold boundary of an Octree node are filled in the neighbour nodes as well, ensuring that the lookup works with threshold. The current size of the Octree gives good speedup, even for 128k vertices it only needs 256 lookup cycles per checked vertex. Same code could be used for the bevel tool for example. src/meshtools.c: int mesh_octree_table(Object *ob, float *co, char mode) - mode 's' or 'e' is "start octree" or "end octree" - mode 'u' is "use", it then returns an index nr of the found vertex. (return -1 if not found)