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-05-21Fix T44744, tangents incorrect in edit mode.Antony Riakiotakis
Really bad code here, index of fetched data was basically totally off and unrelated to what it should be.
2015-05-19BMesh: editmode drawing set every faces materialCampbell Barton
Check for changes in material (as other drawing code already does)
2015-05-05Math Lib: rename fill_*, to copy_*Campbell Barton
matching convention for fixed length api, eg: copy_v3_fl
2015-03-21Cleanup: constify scene/modifiersCampbell Barton
2015-02-05Add Custom Loop Normals.Bastien Montagne
This is the core code for it, tools (datatransfer and modifier) will come in next commits). RNA api is already there, though. See the code for details, but basically, we define, for each 'smooth fan' (which is a set of adjacent loops around a same vertex that are smooth, i.e. have a single same normal), a 'loop normal space' (or lnor space), using auto-computed normal and relevant edges, and store custom normal as two angular factors inside that space. This allows to have custom normals 'following' deformations of the geometry, and to only save two shorts per loop in new clnor CDLayer. Normal manipulation (editing, mixing, interpolating, etc.) shall always happen with plain 3D vectors normals, and be converted back into storage format at the end. Clnor computation has also been threaded (at least for Mesh case, not for BMesh), since the process can be rather heavy with high poly meshes. Also, bumping subversion, and fix mess in 2.70 versioning code.
2015-01-19Make use/computation of lnors consistant.Bastien Montagne
Issue was, when requesting (building) lnors for a mesh that has autosmooth disabled, one would expect to simply get vnors as lnors. Until now, it wasn't the case, which was bad e.g. for normal projections of loops in recent remap code (projecting along split loop normals when you would expect projection along vertex normals...). Also, removed the 'angle' parameter from RNA's `mesh.calc_normals_split`. This should *always* use mesh settings (both autosmooth and smoothresh), otherwise once again we'd get inconsistencies in some cases. Will update fbx and obj addons too.
2015-01-11Fix T43208 material flickering in edit mode.Antony Riakiotakis
Happens because material setting now occurs in the derived mesh drawing routine as it should. However that means that it also happens during selection and that influenced the drawing state somehow. In 2.72 this did not occur because material setting happened during draw setting (skip or draw) instead of after the draw setting passed (so selection would skip it by use another draw setting function). Of course this violated design but worked. Made it now so backbuffer selection does not enable materials (it's redundant in those cases anyway). This could be ported to a possible 'a' release but as is classic with display code there may be some other places that it could backfire. Tested fix with texture/vertex painting and selection which use backbuffer for both subsurf and regular meshes and it seems to work OK.
2015-01-02Fix T43099: Modifiers in edit mode might mess up materialsSergey Sharybin
The issue was originall caused by 2e8ba17 by removing necessery call GPU_enable_material(). It was probably removed because in some cases material was enabled after calling setDrawOptions. That wasn't always a case for edit mode. This is absolutely to be included to 2.73
2015-01-01cleanup: redundant casts & const cast correctnessCampbell Barton
2014-12-26Fix T43010 regression in material setting.Antony Riakiotakis
Caused by own fix for another display case. Shoud be safe for 2.73 final.
2014-11-28Material not set in edit derived meshes after last material modificationAntony Riakiotakis
commits.
2014-11-27Fix T42653, solidify modifier not displaying correctly under edit mode.Antony Riakiotakis
Basically, our drawing code assumed we always use the edit mesh materials, which can be different from the derived mesh materials in modifiers doing overrides. We usually we want to use the derived mesh when it is available instead. There are two fixes here for both solid and textured mode. Unfortunately the fixes do not help to make the display code less labyrinthian but I expect this "should work" (tm and famous last words) Solid mode fix is 95% from Bastien, thanks!
2014-11-14Fix vertex colors being displayed wrong in GLSL in edit mode. Looks likeAntony Riakiotakis
swapping the colors is no longer needed.
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-07-21GSOC 2013 paintAntony Riakiotakis
Yep, at last it's here! There are a few minor issues remaining but development can go on in master after discussion at blender institute. For full list of features see: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting Thanks to Sergey and Campbell for the extensive review and to the countless artists that have given their input and reported issues during development.
2014-06-13BLI_bitmap: rename macrosCampbell Barton
- BLI_BITMAP_SET -> BLI_BITMAP_ENABLE - BLI_BITMAP_CLEAR -> BLI_BITMAP_DISABLE - BLI_BITMAP_GET -> BLI_BITMAP_TEST - BLI_BITMAP_MODIFY -> BLI_BITMAP_SET
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-26Code cleanup: use 'const' for arrays (blenkernel)Campbell Barton
2014-04-23Fix T39781: Autosmooth feature: erroneously showing hidden vertices' normals ↵Bastien Montagne
too when in "vertex per face" display So, turned out after all we need a foreachmapped helper for loops as well... :/ CDDM and EBDM were reasonably simple, but I fought hours with CCGDM (subsurf) to find only a bad working solution (see D478). So I fallback to a code similar to CDDM one. Probably not nice for performances, but loops and subsurf are not matching well... Reviewers: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D478
2014-04-21Fix stupid typo that broke split normal shading in edit mode, when there was ↵Bastien Montagne
some deform modifiers.
2014-04-17Code cleanup: use bools for DMCampbell Barton
2014-04-13Split Normals I (3/5): Add 3Dview shading support of split normals.Bastien Montagne
Mostly monkey coding in gpu ("modern" VBO drawing) and DM variants ("legacy" drawing) code... Reviewers: brecht Reviewed By: brecht CC: campbellbarton Differential Revision: https://developer.blender.org/D367
2014-04-13Split Normals I (2/5): Add basic BMesh support of split normals.Bastien Montagne
* Merely a re-implementation of core split algorithm for BMesh, taking advantage of topological data available. * This code needs valid loop indices, so added BM_LOOP support to BM_mesh_elem_index_ensure() & co. Reviewers: campbellbarton Reviewed By: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D366
2014-04-13Split Normals I (1/5): basis for split normals (nearly nothing user-visible ↵Bastien Montagne
here): * Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf). EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit. * Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it (tessellation, rna access, etc.). * Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding this option is now incoherent, will be addressed in a separate commit. Reviewers: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D365
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-25Editmode drawing: avoid glBegin/End for every tri (emDM_drawMappedFacesMat,GLSL)Campbell Barton
2014-03-25Code cleanup: editmode opengl drawingCampbell Barton
2014-03-23Fix T39351: Blender crashes when enabling Mesh Analysis.Lukas Tönne
This code was using a //const// char array for fallback colors and then writing to it (hidden to the compiler by explicit casting). Bad!
2014-03-18Code cleanup: jitter, use 2d float arrayCampbell Barton
2014-02-24Fix T38795: Mesh Analysis overhang faces show grayCampbell Barton
2014-02-12Fix Editderivedmeshes vertices normals computation.Bastien Montagne
Those derived meshes (used in Edit mode) were using simple sum of neighbor poly normals to get vertex normals, while everywhere else in Blender we use weighted sum of such poly normals. Patch: D311 Reviewed and enhanced by Campbell, thanks!
2014-02-05Code cleanup: use bool for static methodsCampbell Barton
2013-11-18BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.Walid Shouman
This adds BM_bmesh_calc_tessellation() so we can get triangles from a bmesh without having to have an editmesh available.
2013-10-31code cleanup: spellingCampbell Barton
2013-10-28move bmesh array lookup data and utility functions from editmesh into bmesh,Campbell Barton
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces. developers note: - EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free - EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index - EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free - ED_uv_element_get -> BM_uv_element_get
2013-10-22style cleanupCampbell Barton
2013-10-17Fix #37109: missing cycles texture display in edit mode.Brecht Van Lommel
My previous fix for uninitialized texture coordinates was not working well, and in fact there was a bigger issue with GLSL drawing and missing attributes with immediate draw mode. Now it will explicitly pass zero rather than having it use whatever value was set last.
2013-08-30Some knife fixes. Avoids duplicating verts; better handling of cut-through ↵Howard Trickey
ortho. Now cut lines detect vertices that they pass (almost) exactly over and snap to them, to avoid making verts vert close to other ones. Added radius arg to BKE_bmbvh_ray_cast so that can detect an obscuring face when the ray might otherwise go exactly between two triangles. Needed an isect_line_tri_epsilon function for similar reason. Fixes last part of bug #35002. Other knife bugs still present but getting this commit in now before continuing bug fixing.
2013-08-07code cleanup: more confusion with 0/NULL/falseCampbell Barton
2013-07-26use math functions for copying matrix/vector types, also cast const pointers ↵Campbell Barton
for freeing (clang error's out otherwise)
2013-07-23correct own error in recent edits to editderivedmeshCampbell Barton
2013-07-23remove the pointer from BLI_bitmap's typedef, Campbell Barton
hides that an arg passed is really an array which may be modified by other functions.
2013-07-23optimization: only calculate the normals for passing into derivedMesh ↵Campbell Barton
foreachMappedVert/foreachMappedFaceCenter when needed, this means in editmode with wire draw, face and vertex normals don't have to be calculated at all. in most cases the normals are not used so add a flag that makes calculating them only for functions that need them. also fix face normal calculation for CDDM, was using quad calculation for ngons too.
2013-07-22optimization:Campbell Barton
- halve the number of allocs in layerInterp_mdeformvert list creation. - use direct loop access in emDM_copyLoopArray
2013-07-22optimization: lazy initialize EditDerivedBMesh members vertexNos, polyNos.Campbell Barton
also add polyCos array which cache's face centers, gives overall ~20% speedup to drawing on a high-poly mesh in face-editmode.
2013-07-19code cleanup: use boolean for derived mesh face test functionCampbell Barton
2013-07-09fix [#36055] Edge/Face Info display on wrong position with key framesCampbell Barton
display editmesh stats with deform modifiers.
2013-07-01Fix incorrect GLSL bump mapping in editmode when the UV coordinates areBrecht Van Lommel
flipped, was not passing sign on to GLSL shader.
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-27bmesh optimization: use offsets for deform-vert lookups to avoid customdata ↵Campbell Barton
layer lookups within loops.