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
2013-02-19Fixes for alpha mode do_versions codeSergey Sharybin
Before this change only old flag "Premultiply" was used to detect alpha mode, which is not enough actually. Now the logic here is: - If "Premultiply" was enabled it is likely float image with straight alpha, which shall be premultiplied before usage. In this case image/sequence Alpha Mode is set to Straight. - Otherwise use default alpha mode for image format based on an extension. This could fail in some cases like TIFF, but this wasn't handled fully correct in older blender anyway. Initial discovered issue was that EXR images saved in older Blender versions were set to Straight alpha mode, which is obviously a straight way to lots of headache.
2013-02-14bugfix: [#34220] Blenderplayer no longer working after r54395 commit ↵Dalai Felinto
[segfault due to world not valid] patch by Sergey Sharybin note, I still find strange that world was valid and now it is not, but at least we no longer segfaults
2013-02-13Fix for splitting startup and userpref:Ton Roosendaal
The do-version handling for Userdef is outside file reading, which makes it needed to store the file version in UserDef, so it gets the correct version to handle. Thanks Antonis R. for pointing at the omission! Also removed the mindboggling define. If you do such, then make it like "MAIN_VERSION_OLDER_THAN() or so. In general version hacking could be limited much better... ask me before even thinking to add one, most optimal is to do it in a way it's not depending on a version ever - forward/backward compatible.
2013-02-10Added option to composite/viewer nodes which specifys whether alpha inputSergey Sharybin
is straight or not (premultiplied is default). This is useful in cases when you want to check on output of such nodes as keying which does have straight alpha output. Also added missing do_version code to previous compo do_versions.
2013-02-08Corrections to alpha pipeline do_versionsSergey Sharybin
Basically they're aimed to solve issues when scene with sky was used for compositing. If compo used alpha output result of current trunk would be completely different form hwo it was before. Two heuristics here: - If there's no world or world color is black, it completely equals to straight alpha mode, no further magic is needed to preserve compatibility - If scene is used as Render Layer node and something is connected to Alpha output of this node, ensure alpha mode for this scene is set to Premultiplied. Basically it shall give better compatibility and make 4K mango project just happy! :)
2013-02-08Fix #33747: do better backwards compatibility for image transparency changes.Brecht Van Lommel
The use alpha option moved from the texture datablock to the image, and now it will duplicate the image datablock in case you have one texture using alpha and the other not.
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2013-02-05remove stringify macro from alloc'sCampbell Barton
2013-02-04updated fix for [#34089] Crash opening file containing translation node ↵Monique Dewanchand
saved before rev54235 some of our artists work to much on trunk :) Especially our beloved Pablo Vazquez. We increased the blender file sub-version for checking if translate nodes needed to be updated. Happy blending.
2013-02-04style cleanup: spaces -> tabsCampbell Barton
2013-02-03Fix for [#34089] Crash opening file containing translation node saved before ↵Jeroen Bakker
rev54235
2013-02-02add missing break in direct_link_constraints, CONSTRAINT_SPACEONCE flag was ↵Campbell Barton
getting set to CONSTRAINT_TYPE_KINEMATIC.
2013-01-30Add active region for operator execution.Campbell Barton
This means you can for example, uv unwrap in quad-view and change settings in the toolbar without defaulting back to the first quad-view region available. This may be displayed to the user later, for now this is set on executing registrable operators.
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 point cache supportSergej Reich
Add read/write/interpolate functions. In order to get rigid body point cache id from object it's now required to pass the scene to BKE_ptcache_ids_from_object(). Rigid body cache is drawn in the orange color of the bullet logo.
2013-01-23rigidbody: Add force field supportSergej Reich
Force fields work with rigid bodies just like they do with other simulations. Increase min and max strength of force fields so they can influence heavy rigid bodies. TODO: Adjust force field strength based on the time step taken. Part of GSoC 2010 and 2012. Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
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-22Matcap support in 3D Viewport.Ton Roosendaal
Full log is here: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability#Matcap_in_3D_viewport Implementation notes: - Matcaps are an extension of Solid draw mode, and don't show in other drawmodes. (It's mostly intended to aid modeling/sculpt) - By design, Matcaps are a UI feature, and only stored locally for the UI itself, and won't affect rendering or materials. - Currently a set of 16 (GPL licensed) Matcaps have been compiled into Blender. It doesn't take memory or cpu time, until you use it. - Brush Icons and Matcaps use same code now, and only get generated/allocated on actually using it (instead of on startup). - The current set might get new or different images still, based on user feedback. - Matcap images are 512x512 pixels, so each image takes 1 Mb memory. Unused matcaps get freed immediately. The Matcap icon previews (128x128 pixels) stay in memory. - Loading own matcap image files will be added later. That needs design and code work to get it stable and memory-friendly. - The GLSL code uses the ID PreviewImage for matcaps. I tested it using the existing Material previews, which has its limits... especially for textured previews the normal-mapped matcap won't look good.
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-21Style cleanupJoshua Leung
2013-01-16Get rid of the BRUSH_FIXED_TEX flag, use mapping modes instead. VersionAntony Riakiotakis
patched all previous texture paint brushes to use tiled mapping since mappping is now shared between 2d and 3d painting.
2013-01-14no need to call BLI_countlist on idproperty groups when comparing.Campbell Barton
2013-01-13Three fixes;Ton Roosendaal
- Previous commit had a line of code of WIP project in it... tss - Packed Library data was not freed - Removed recent (post 2.65a) code to exclude packed data from Undo system. It's internal data thats part of file spec, errors happen for example on restoring quit.blend or temp saves.
2013-01-13Usability: Ton Roosendaal
Using Proxy Armature on groups: an Undo now doesn't force a complete re-evalution of this system anymore, so posing works similar as for regular (non linked) armatures - an undo step goes back to the previous pose. Before, an undo made the entire armature go to rest pose. Bad bad :) I need animators to carefully check - report back if there's other issues! Tested on Gilga character from Tube Open Movie.
2013-01-10Correction to do_versions() in 53676Sergey Sharybin
Affect on curve radius only if offset/extrude was used, otherwise radius could have been used for other things (like controlling hair) which will likely break compatibility. Reported by Tube project guys.
2013-01-10add a segfault handler that writes out the info log into a crash file ↵Campbell Barton
alongside the blend file.
2013-01-10don't store bevel weights or edge crease customdata layers in editmode ↵Campbell Barton
unless they are needed. configurable in 'Geometry Data' panel, will be added when running crease edges transform for example.
2013-01-09Fix #33796: Curve radius makes affect only in full fill modeSergey Sharybin
2013-01-09fix [#33806] weight paint crash and computer freeze when paintingCampbell Barton
clear weight paint runtime data on file-load.
2013-01-09style cleanupCampbell Barton
2013-01-08style cleanupCampbell Barton
2013-01-05Fix #33768: BGE segfaults in do_versions during libloadSergey Sharybin
2012-12-31Alpha premul pipeline cleanupSergey Sharybin
This assumptions are now made: - Internally float buffers are always linear alpha-premul colors - Readers should worry about delivering float buffers with that assumptions. - There's an input image setting to say whether it's stored with straight/premul alpha on the disk. - Byte buffers are now assumed have straight alpha, readers should deliver straight alpha. Some implementation details: - Removed scene's color unpremultiply setting, which was very much confusing and was wrong for default settings. Now all renderers assumes to deliver premultiplied alpha. - IMB_buffer_byte_from_float will now linearize alpha when converting from buffer. - Sequencer's effects were changed to assume bytes have got straight alpha. Most of effects will work with bytes still, however for glow it was more tricky to avoid data loss, so there's a commented out glow implementation which converts byte buffer to floats first, operates on floats and returns bytes back. It's slower and not sure if it should actually be used -- who're using glow on alpha anyway? - Sequencer modifiers should also be working nice with straight bytes now. - GLSL preview will predivide float textures to make nice shading, shading with byte textures worked nice (GLSL was assuming straight alpha). - Blender Internal will set alpha=1 to the whole sky. The same happens in Cycles and there's no way to avoid this -- sky is neither straight nor premul and doesn't fit color pipeline well. - Straight alpha mode for render result was also eliminated. - Conversion to correct alpha need to be done before linearizing float buffer. - TIFF will now load and save files with proper alpha mode setting in file meta data header. - Remove Use Alpha from texture mapping and replaced with image datablock setting. Behaves much more predictable and clear from code point of view and solves possible regressions when non-premultiplied images were used as textures with ignoring alpha channel.
2012-12-29user-preferences for addons. currently unused, example & docs still to come.Campbell Barton
2012-12-29style cleanupCampbell Barton
2012-12-28style cleanup: var naming for ui listCampbell Barton
2012-12-28This commit frees list ui items from their dependencies to Panel, and hence ↵Bastien Montagne
from all the limitations this implied (mostly, the "only one list per panel" one). It introduces a new (py-extendable and registrable) RNA type, UIList (roughly similar to Panel one), which currently contains only "standard" list's scroll pos and size (but may be expended to include e.g. some filtering data, etc.). This now makes lists completely independent from Panels! This UIList has a draw_item callback which allows to customize items' drawing from python, that all addons can now use. Incidentally, this also greatly simplifies the C code of this widget, as we do not code any "special case" here anymore! To make all this work, other changes were also necessary: * Now all buttons (uiBut struct) have a 'custom_data' void pointer, used currently to store the uiList struct associated with a given uiLayoutListBox. * DynamicPaintSurface now exposes a new bool, use_color_preview (readonly), saying whether that surface has some 3D view preview data or not. * UILayout class has now four new (static) functions, to get the actual icon of any RNA object (important e.g. with materials or textures), and to get an enum item's UI name, description and icon. * UILayout's label() func now takes an optional 'icon_value' integer parameter, which if not zero will override the 'icon' one (mandatory to use "custom" icons as generated for material/texture/... previews). Note: not sure whether we should add that one to all UILayout's prop funcs? Note: will update addons using template list asap.
2012-12-27Fix in previous commit: forgot to free data from file reading.Ton Roosendaal
(Campbell: we want the memory prints back!!!)
2012-12-27New features!Ton Roosendaal
- Packing .blend files If you work a lot with dynamic linked .blend files ("Libraries"), it's always hard to share your work with others (or for bug reports!). This new option packs all used external .blend files, and - on save - combines it together in one .blend file. You can save that file on any location. Loading a packed .blend file then loads all library data usual - not editable. Just use unpack to save out all linked .blend files. This will only save out the files according the directory structure as was used on linking - relative to the current .blend. It will create new directories, so be careful with unpacking when relative paths go up. This feature also works fine for linked compressed .blend files. It also works for many levels deep linked .blend hierarchies. Access is hidden for now - I need to get some people to give it serious testing first. You can find the options via spacebar search (try pack or unpack). - Packed data and Undo Now all packed data is excluded from the Undo buffer storage. Keeps undo memory smaller and makes faster redo possible.
2012-12-26Region scrollbar fix!Ton Roosendaal
Now scrollbars correctly hide and show, making space for the actual contents in a region. It solves several old hacks, and puts view2d code a bit more back in control as well. Implementation notes: - The view2d mask feature is working again - The #define V2D_SCROLL_HORIZONTAL_HIDE means: "turn on hiding". - Code for UI_view2d_region_reinit() is enforcing better standard view settings But... two hack/patches needed to be added: - Region panel drawing: if after generating the button panels it appears a scroller hides or reveils, it calls all the generating code again. (a simple scale doesn't work due to rounding differences in layout code) - View2d code that maps 'tot' and 'cur' rects: if this code detects that the mask changes, it calcs the map code again. Also a bugfix (issue in 2.65) - The left/bottom area split widget was drawing 1 pixel too large sometimes, leaving bad trails on moving area dividers.
2012-12-23Patch for weirdo library recursive linking errors:Ton Roosendaal
In case you accidentally link data in a library file from the main file, Blender would crash. Now it survives, giving error messages to tell what to fix.
2012-12-23Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from ↵Bastien Montagne
blenkernel...
2012-12-22code cleanup:Campbell Barton
make vertex/weight flag names consistent ME_EDIT_VERT_SEL --> ME_EDIT_PAINT_VERT_SEL ME_EDIT_PAINT_MASK --> ME_EDIT_PAINT_FACE_SEL also remove unused header BLO_soundfile.h
2012-12-21replace MIN/MAX 3,4 with inline functionsCampbell Barton
2012-12-19Another patch for changes in file format...Ton Roosendaal
- Since 2.50, the .blends have the current file name stored - In versions up to 2.65.0 this didn't save for files saved from startup (i.e. files saved without loading a file) Code now adds the file name after all, except for recovery loads.
2012-12-19Multires baker: renamed Number of Rays to Samples after discussion with BrechtSergey Sharybin
2012-12-18Ambient occlusion baker from multi-resolution meshSergey Sharybin
This implements AO baking directly from multi-resolution mesh with much less memory overhead than regular baker. Uses rays distribution implementation from Morten Mikkelsen, raycast is based on RayObject also used by Blender Internal. Works in single-thread yet, multi-threading would be implemented later.
2012-12-18fix [#33580] Masking keyframes disappear from dope sheet when using undo.Campbell Barton
2012-12-17Version patch for reading old files (2.50 and before).Ton Roosendaal
In 2.50 a new convention was added to save the filename in the .blend itself. This to allow recovery of temp saves. In current svn, it made old files open as if it was a saved home file (not storing the name in header, or in file history). Note: file handling for all recovery, remapping etc is in need for cleanup.
2012-12-17Added GPL header to sconscripts!Bastien Montagne
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...