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-21Fix T45471: Blend file: Bad old_addr handling in mesh's customdata writing.Bastien Montagne
Issue is rather well explained in T45471: our current customdata writing code easily generates several different blocks in blend file with same 'old' address. This is bad, because those addresses are used as 'uid' during reading process (it kind of work in Blender's own reading process, by mere luck mostly, but breaks the file specs). Solution (suggested by Campbell, thanks) implemented by this patch is to avoid duplicating everything, and instead just overwrite what we needs to skip some cdlayers on write: * the CustomData's `totlayer` number; * the CustomData's `layers` array of CustomDataLayer (keeping its original address using the `writestruct_at_address` helper). New design allows us to get completely rid of the no_free flag stuff in `write_customdata()`. Note that this implies written data is **not** directly valid from Blend PoV, since its written typemap does not match written layers (this is not an issue because typemap is rebuilt on read anyway - and it's easy to fix this if really needed). Also, the backward compatibility saving of mface data remains an issue here, see comment in code. Reviewers: sergey, campbellbarton Projects: #bf_blender Maniphest Tasks: T45471 Differential Revision: https://developer.blender.org/D1425
2015-07-21Fix T45317: Cycles material preview unnecessarily re-renderingSergey Sharybin
The issue was caused by wrong fix for T22741 which forced redraws on any window event, like Expose. Use proper NV_WM | ND_UNDO listener instead,
2015-07-21Fix assert in Outliner.Bastien Montagne
2015-07-21Cleanup: styleCampbell Barton
2015-07-21Fix T45496: Crash loading file during previewCampbell Barton
Regression from multi-view
2015-07-21Fix T45453: Driver button's ignore DPICampbell Barton
2015-07-21Fix T45363: Bone attrs ignore editing all selectedCampbell Barton
2015-07-21Fix Clear vertex group ignoring selected optionCampbell Barton
Thanks to @chadf for spotting
2015-07-21Fix T45458: Edge Slide Mirror doesn't preserve UVsCampbell Barton
2015-07-21Fix T45361: Camera does not rotate in walk modeCampbell Barton
2015-07-21Fix T45450: Loop-select fails to cycle between overlapping edgesCampbell Barton
2015-07-21Fix T45455: Select linked issue w/ hidden facesCampbell Barton
2015-07-21Fix T45434: GPencil on editmode surface failsCampbell Barton
Z-offset use for drawing & picking was problematic for extracting locations from depth values. Use flag to optionally disable.
2015-07-21Fix T45502: Crash showing thumbnailsCampbell Barton
2015-07-21Cleanup: warningCampbell Barton
2015-07-21Remove nonnull attribute, NULL arg is valid here.Campbell Barton
2015-07-20OpenSubdiv: Commit of OpenSubdiv integration into BlenderSergey Sharybin
This commit contains all the remained parts needed for initial integration of OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU backends which works in the following way: - When SubSurf modifier is the last in the modifiers stack then GPU pipeline of OpenSubdiv is used, making viewport performance as fast as possible. This also requires graphscard with GLSL 1.5 support. If this requirement is not met, then no GPU pipeline is used at all. - If SubSurf is not a last modifier or if DerivesMesh is being evaluated for rendering then CPU limit evaluation API from OpenSubdiv is used. This only replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG structures exactly the same as they used to be for ages now. This integration is fully covered with ifdef and not enabled by default because there are several TODOs to be solved first: - Face varying data interpolation is not really cleanly implemented for GPU in OpenSubdiv 3.0. It is also not implemented for limit evaluation API. This basically means we'll have really hard time supporting UVs. - Limit evaluation only works with adaptivly subdivided meshes so far, which basically means all the points of CCG are pushed to the limit. This gives different result from old code. - There are some serious optimizations possible on the topology refiner creation, which would speed up initial OpenSubdiv mesh creation. - There are some hardcoded asumptions in the GPU and DerivedMesh areas which could be generalized. That's something where Antony and Campbell can help, making it so the code is structured in a way which is reusable by all planned viewport projects. - There are also some workarounds in the dependency graph to make sure OpenGL buffers are only freed from the main thread. Those who'll be wanting to make experiments with this code should grab dev branch (NOT master) from https://github.com/Nazg-Gul/OpenSubdiv/tree/dev There are some patches applied in there which we're working on on getting into upstream.
2015-07-20OpenSubdiv: Add OpenSubdiv files which are related on the CCGSubSurf and GPUSergey Sharybin
Those files are still not in use (SCons will tyr to compile new CCGSubSurf files but no code will be in use at all because those new files are fully wrapped by ifdef WITH_OPENSUBDIV check).
2015-07-20CCGSubSurf: Split file into several smaller onesSergey Sharybin
This is a preparation commit for having OpenSubdiv integrated into Blender and new layout is the following: - CCGSubSurf.c contains implementation of common functions used by both legacy subdivisions code and by the new code in the future. - CCGSubSurf_inline.h contains internal functions which are to be inlined due to the performance reasons. Those functions are only ment to be used bu CCGSubSurf* files. - CCGSubSurf_intern.h contains declarations of private functions and data structures used by CCGSubSurf module. - CCGSubSurf_legacy.c contains legacy implementation of subdivision algorithm. - CCHSubSurf_util.c contains utility functions which are not directly related on the subdivision code (i.e. debug functions, hash implementation etc). There should be no functional changes so far.
2015-07-20Usual UI messages fixes.Bastien Montagne
2015-07-20Minor optimization in CustomData_update_typemap().Bastien Montagne
2015-07-20Fix (unreported) broken MixWeight modifier in debug builds.Bastien Montagne
defvert_find_index() & co now assert when '-1' invalid vgroup index is passed. We used to rely on NULL value returned in this case, but with the assert... The assert completely stalls blender actually (repeated for every vertex!). So much better to not call that func when vgroup index is invalid.
2015-07-20Fix (unreported) potential serious bug in CustomData_merge().Bastien Montagne
It was always only using the flags from the first source layer of a given type, not from the layer actually being handled. This was (probably) more or less harmless for the CD_FLAG_NOCOPY test, but could be really bad when checking CD_FLAG_NOFREE, and when copying the flags over to new copied data!
2015-07-20Fix recent own stupidity with indexed sculpt drawing.Antony Riakiotakis
2015-07-20Filter the debug callback to only report errors unless debug value isAntony Riakiotakis
20. stderr was getting flooded with too many error messages, most of which were not really relevant.
2015-07-20Resolve compiler warning for clangCampbell Barton
2015-07-20Dyntopo should be supported on systems without VBOs now.Antony Riakiotakis
2015-07-20Use abstraction to unbind buffers, should avoid crashes in systems thatAntony Riakiotakis
don't support VBOs. Exposed by initialization error in GLEW, which should be fixed seperately.
2015-07-20Minor edits for consistencyCampbell Barton
2015-07-20Correct own error w/ recent changes to triangulateCampbell Barton
2015-07-20Replace MFace use by MLoopTri w/ heat-weightingCampbell Barton
D1418 by @scorpion81 with edits
2015-07-20Replace MFace use by MLoopTri w/ remash modifierCampbell Barton
D1419 by @lichtwerk
2015-07-20Fix define issues w/ WITH_GL_PROFILE_COMPAT offCampbell Barton
This still fails to build, but at least fail where its supposed to (using unsupported API's).
2015-07-20Freestyle: disabled debug code in ViewMapBuilder::ComputeIntersections().Tamito Kajiyama
2015-07-20Freestyle: Removed tesselated forms of silhouettes for displaying in the UI.Tamito Kajiyama
The tesselated silhouettes were not used in Freestyle for Blender at all.
2015-07-20Freestyle: code cleanup.Tamito Kajiyama
Removed unnecessary header files and replaced some other heade files with forward class declarations.
2015-07-20Freestyle: minor optimization for space in the FEdgeXDetector.Tamito Kajiyama
Member variables and auto variables were changed from real (double) to float in most part of the FEdgeXDetector (except for curvature computations).
2015-07-20Freestyle: commented part of FEdgeXDetector::ProcessRidgeFace() that has no ↵Tamito Kajiyama
effect.
2015-07-20Freestyle: internal switch from double to float in mesh loading and ↵Tamito Kajiyama
construction of winged edges.
2015-07-20Freestyle: minor optimization for space from mesh importing to feature edge ↵Tamito Kajiyama
detection. Several class member variables were removed (at the cost of computing their values when retrieved) or changed to a type of smaller size. Also fixed whitespace.
2015-07-20Freestyle: minor code cleanup.Tamito Kajiyama
2015-07-20Freestyle: removed redundant instantiation of vector objects.Tamito Kajiyama
2015-07-20Freestyle: minor optimization for space by using a pointer to a const char ↵Tamito Kajiyama
array instead of std::string.
2015-07-19Cleanup: styleCampbell Barton
Also 'com' as abbreviation for center-of-mass is a bit confusing, rename to 'center'.
2015-07-19Convert rigidbody conversion to looptri.Antony Riakiotakis
Patch D1417 by Martin Felke, with minor edits thanks!
2015-07-19Properly fix T45477Antony Riakiotakis
Code was actually skipping setting color selection indices and previous commit actually broke mask selection in texture painting. All should work now.
2015-07-19Fix T45477 wrong edge selection.Antony Riakiotakis
Caused by own changes to framebuffer selection code, code was not packing color ids correctly.
2015-07-18Point density: Workaround for possible race conditionSergey Sharybin
There was possible race condition in the point density sampling caused by access to the same data in particle system from sampling thread and sampling initialization. Could have happened when two different point density textures were using same particle system
2015-07-18Cycles: Point density texture supportSergey Sharybin
This commit implements point density texture for Cycles shading nodes. It's done via creating voxel texture at shader compilation time, Not totally memory efficient, but avoids adding sampling code to kernel (which keeps render time as low as possible), In the future this will be compensated by using OpenVDB for more efficient storage of sparse volume data. Sampling of the voxel texture is happening at blender side and the same code is used as for Blender Internal's renderer. This texture is controlled by only object, particle system and radius. Linear falloff is used and there's no turbulence. This is because falloff is expected to happen using Curve Mapping node. Turbulence will be done as a distortion on the input coordinate. It's already possible to fake it using nose textures and in the future we can add more proper turbulence distortion node, which then could also be used for 2D texture mapping. Particle color support is done by Lukas, thanks!
2015-07-18Point density: Add utility function to sample density outside of render pipelineSergey Sharybin
Not currently used, it's a preparation for the further work. Should not be functional changes.