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
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-02-15Cleanup: refactor GPU material attribute and texture requestsBrecht Van Lommel
2020-02-05Fix T70121 EEVEE/GPencil: Curves cause crash when using background renderingClément Foucault
This was caused by a faulty initialization of cache->surf_per_mat which should have been empty.
2020-02-04Fix T61685 Curve extrusion looses flat shading in certain viewport shadingClément Foucault
This was caused by default surface batch not using loop normals.
2020-01-30DRW: Add support for tangent on objects using display lists.Clément Foucault
Only Metaballs are left unsupported. However, the implementation does not match 100% with cycles which converts all objects to meshes. Fixes T63424 EEVEE: Normal map node doesn't works with curve objects
2020-01-28Fix T72593 Blender crashes when modifier change the material countClément Foucault
Instead of changing the modifiers behavior, we make sure to always use the data->totcol instead of the ob->totcol. Also we centralize getting this number to avoid future issues. Fix T72593 Blender crashes when separating mesh Fix T72017 Crash on set visibility change
2019-09-14Cleanup: use const args, variablesCampbell Barton
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-02Fix T65468 Nurbs: Broken display when hiding control pointsClément Foucault
2019-05-30GPU: Remove GPU_INDEX_U8Clément Foucault
This type of indices is not natively supported on modern GPU and gives warning on some implementation. The memory savings it provides is also quite minimal and unlikely to be visible on nowadays hardware. This remove some uneeded struct members and makes primitive restart always enabled by default. This can be broken by addons if they are not careful enough but many other states have this problem. Also leverage GL_PRIMITIVE_RESTART_FIXED_INDEX if ARB_ES3_compatibility is supported. This removes all API calls to change restart index depending on indices length.
2019-05-28Cleanup: clang-formatCampbell Barton
2019-05-28Fix T64829: Active point of Curve objects is not displayed correctlyPhilipp Oeser
three issues here: - when curves had multiple nurbs, the active vert is per nurb [curve_create_edit_data_and_handles() wasnt taking that into account] - code could go wrong when points where hidden - upon selection, tag curve ID_RECALC_COPY_ON_WRITE for batch cache update Reviewers: brecht, fclem, sergey Maniphest Tasks: T64829 Differential Revision: https://developer.blender.org/D4943
2019-05-08DRW: Make batch validation run first during iterationClément Foucault
This reduces the cost of querying the batches to the batch cache.
2019-05-08DRW: Move all batch request functions to own headerClément Foucault
This is in order to using BLI_INLINE for thoses functions and keep headers cleany separated.
2019-04-30DRW: Add debug utility for batch cache requestsClément Foucault
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-28DrawManager: Add Edge Detection To DisplayListsJeroen Bakker
Objects that internally uses DispList do not cast shadow in the workbench. Their outline is also not visible in object mode. The reason for this is that edge detection was not implemented for Display Lists. This patch will implement the edge detection. Reviewed By: fclem Maniphest Tasks: T62479 Differential Revision: https://developer.blender.org/D4605
2019-03-01Fix crash with wireframe on highpoly curves on some AMD gpus.mano-wii
Differential Revision: https://developer.blender.org/D4433
2019-02-25Fix T61801: Wireframes on curves not workingClément Foucault
2019-02-19Fix T61690: Hidden curve vertices are drawn in edit-modeSebastian Parborg
When hiding the curve handles/points previously, the control points would still be drawn (loose verts). Now we hide everything related to the handle if it is hidden. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D4373
2019-02-19Fix edit-curve display for hidden handlesCampbell Barton
When the first handle was hidden, all others would show as hidden too.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-05Edit Mesh: Refactor Edit cage drawing to use old style drawingClément Foucault
This is work in progress. Look is not final. This align data VBO data structure used for edti cage drawing to the one use for normal drawing. We no longer use barycentric coords to draw the lines an just rasterize line primitives for edge drawing. This is a bit slower than using the previous fast method but faster than the "correct" (edge artifact free) method. This also make the code way simpler. This also makes it possible to reuse possible and normal vbos used for shading if the edit cage matches the This also touches the UV batch code to share as much render data as possible. The code also prepare for edit cage "modified" drawing cage (with modifier applied) but is not enabled since selection and operators does not work with modified cage yet.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.
2019-01-26Cleanup: blank lines over doxy headersCampbell Barton
2019-01-03Cleanup: variable nameCampbell Barton
2018-12-17Curve Batch Cache: Fix issue with cd_usedClément Foucault
cd_used needs to be the combination of generated data.
2018-12-17Fix T59490: wrong curve handle linesJacques Lucke
2018-12-16Cleanup: styleCampbell Barton
2018-12-14Curve Batch Cache: Add support for loose edges and curve/surf modifierClément Foucault
Fixes T58298 Nurbs circle and curve dont draw in objectmode Fixes T58107 Modified curves/surfaces/fonts do not show their eval mesh
2018-12-14Displist: Reuse tesselated pos and nor for wireframesClément Foucault
This lower the memory usage and also fix a bug with metaballs normals/tris winding being reversed.
2018-12-14Curve Batch Cache: Add back support for shaded geometryClément Foucault
This changes a bit the batches data structure. Instead of using one vbo per material we use one for all material and use index buffers for selecting the correct triangles. This is less optimized than before but has potential to become more optimized by merging the wireframe data vbo into the shading one. Also the index buffers are not strictly necessary and could be just ranges inside the buffer. But this needs more adding things inside GPUIndexBuf.
2018-12-14Curve Batch Cache: Rework Implementation to use new batch requestClément Foucault
Shaded triangles are not yet implemented (request from gpumaterials). This also changes the mechanism to draw curve normals to make it not dependant on normal size display. This way different viewport can reuse the same batch.
2018-12-10DRW: Batch Cache: Mesh: Port edit mesh batches to batch request methodClément Foucault
This also do some renaming/cleanups.
2018-12-07DRW: Rework wireframe overlay implementationClément Foucault
The shader is way simpler and run way faster on lower end hardware (2x faster on intel HD5000) but did not notice any improvement on AMD Vega. This also adds a few changes to the way the wireframes are drawn: - the slider is more linearly progressive. - optimize display shows all wires and progressively decrease "inner" wires intensity. This is subject to change in the future. - text/surface/metaballs support is pretty rough. More work needs to be done. This remove the optimization introduced in f1975a46390a5bf85bb7012375f9bc1e761fc516. This also removes the GPU side "sharpness" calculation which means that animated meshes with wireframe display will update slower. The CPU sharpness calculation has still room for optimization. Also it is not excluded that GPU calculation can be added back as a separate preprocessing pass (saving the computation result [compute or feedback]). The goal here was to have more speed for static objects and remove the dependency of having buffer textures with triangle count. This is preparation work for multithreading the whole DRW manager.
2018-12-04Wireframe: Optimization: Only draw triangles that have edgesClément Foucault
This only happens after a certain threshold. We sort triangles into 2 bins (start and end of the buffer) based on a threshold and just draw the start bin if the wireframe slider is low enough. This optimization is disabled for deformed meshes. This should help resolve (to some extent) T58188.
2018-11-23DRW: Support Wireframe for cruve/surface/text objectsClément Foucault
2018-09-26Edit Surface: Use edit curve engine to display edit surfaceClément Foucault
It's so similar in practice that we don't need a separate engine for edit surface overlays.
2018-09-26Curve Edit: Cleanup/Improve/Fix handles drawingClément Foucault
Now handles are drawn using index buffer instead of duplicating memory requirement. Also make use of shader tricks to draw handles antialiased, and respond to UI scalling. Make vertex point match edit mesh vertex size.
2018-09-25Edit Curve: Fix cannot hide handlesClément Foucault
2018-09-25Curves: Move draw options to overlaysClément Foucault
This commit add one regression: it is impossible to currently hide handles in the viewport. But this should be fixed in another commit.
2018-09-05Edit Mesh: Add support for draw option parametersClément Foucault
The visuals was already implemented but we could not toggle them off.
2018-08-30Cleanup: GPU_BATCH_DISCARD_ARRAY_SAFE (deduplicate existing code)Dalai Felinto
2018-08-23Rename: *_batch_cache_dirty > *_batch_cache_dirty_tagDalai Felinto
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-08Cleanup: rename 'ct' to 'len' for gawainCampbell Barton