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
2019-08-20Cleanup: clang-format, sorted listsCampbell Barton
2019-08-15Cleanup: Silence C4115 warningmano-wii
`'ParticleSystem': named type definition in parentheses` And prevent the need for struct `Object` to be defined.
2019-04-25Overlay: Mesh AnalysisJeroen Bakker
Enabling the drawing of the mesh analysis overlay. Currently the settings are part of the scene toolsettings. What makes sense, for 3d printing, but does not fit well with the per viewport blender 2.80 overlays. Reviewers: brecht, fclem Differential Revision: https://developer.blender.org/D4707
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-06Fix stereoscopy convergence plane placementDalai Felinto
Note this was broken even in 2.7x. We had a different logic for the plane wire, as for the plane itself. And they were both wrong when changing the camera shift or the stereo pivot. Both of their logic is now unified and correct. Also I had to create a new gpu batch for the quad wires, since there is no state that allows me to filter out the geometry, and the square gpu batch is quite different than the quad one (2d x 3d and orientation).
2019-02-27Cleanup: rename lamp -> lightCampbell Barton
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-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-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2018-12-30Cleanup: remove non-existing function declarationsCampbell Barton
2018-12-18DRW: Cleanup / Renaming of mesh batch cache functionsClément Foucault
THis is in order to avoid the jungle of names being different at each step of the API. Also removes some unused functions.
2018-12-18Mesh Batch Cache: Port weight paint surface to batch requestClément Foucault
2018-12-18Weight Paint Overlay: Refactor wire drawingClément Foucault
This reduce the number of batch/data needed. Stores a select/visiblee flag inside the vert/loop normals.
2018-12-17Mesh Batch Cache: Port Texture paint wires to new batch requestClément Foucault
2018-12-17Mesh Batch Cache: Optimization & Refactor shaded surface supportClément Foucault
This now only upload data per loops to the GPU, making use of index buffer to draw polygon. This make use of the vertex cache, speed up renders and saves a lot of vram. Update performance is also slightly faster and can even be improved further by updating only uvs or vcol independently. This commits breaks texture paint batches. It will be added back in another commit.
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-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: Remove the use of GPUTexture buffers for edit wire renderingClément Foucault
See previous commit for detail as why.
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-27DRW: Implement Hair Weight drawingClément Foucault
Fixes T57931 Particle weight edit mode is not supported. There is a bug that prevent refresh of the toolsettings on which is based the weight / non-weight display selection (see T58086).
2018-11-26Viewport: implement hiding faces in paint modes.Alexander Gavrilov
In 2.79 hiding works in paint modes with selection enabled, so it is a missing feature. This implements it in texture paint overlays and in workbench base shading. Reviewers: fclem Differential Revision: https://developer.blender.org/D3989
2018-11-23DRW: Support Wireframe for metaball objectsClément Foucault
2018-11-23DRW: Support Wireframe for cruve/surface/text objectsClément Foucault
2018-10-15Edit Mesh: Fix missing loop normal displayClément Foucault
2018-10-12Edit Mesh: Refactor edit mesh drawingClément Foucault
This decouple the vertex display from the face+edges. This is to reduce the number of triangles required to fix the edges artifacts (aliasing) and increase viewport reactivity when not actively navigating (ie. mouse scroll). Also it makes all vertices visible (not cut-off) even when navigating. However it makes the navigation drawing a bit slower because it has to render twice. Also add a depth bias to the wires to avoid depth fighting when previewing final mesh (modifiers applied).
2018-10-03Pose Mode: Add back IK Degrees of freedom displayClément Foucault
2018-09-25Edit Curve: Fix cannot hide handlesClément Foucault
2018-09-25Implement correct drawing of advanced Weight display features.Alexander Gavrilov
This adds existing behavior from calc_weightpaint_vert_array that was missing from the new rendering code: - No selected Vertex Group displays as a solid pink color. - Zero weight displays as alert color depending on Options. - Multipaint mode correctly displays collective weight. In order to properly implement this variety, a data structure holding all relevant parameters is introduced. Reviewers: fclem, campbellbarton Subscribers: jbakker Differential Revision: https://developer.blender.org/D3722
2018-08-233D Grid: Fix grid passing through objects too muchClément Foucault
For this we need to add a bias depending on the viewing angle. But increasing the hardness of the test make float precision issues in the mesh transformation more prominent (actual geometry is far below the surface). So to solve this issue we use a more subdivided grid mesh 8x8 quads instead of 1 triangle.
2018-08-22Object Mode: Add back spot cone displayClément Foucault
2018-08-17Object Mode: Use same empty (arrow) drawing as the bone axes displayClément Foucault
2018-07-31New Grease Pencil object for 2D animationAntonioya
This commit merge the full development done in greasepencil-object branch and include mainly the following features. - New grease pencil object. - New drawing engine. - New grease pencil modes Draw/Sculpt/Edit and Weight Paint. - New brushes for grease pencil. - New modifiers for grease pencil. - New shaders FX. - New material system (replace old palettes and colors). - Split of annotations (old grease pencil) and new grease pencil object. - UI adapted to blender 2.8. You can get more info here: https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/ https://code.blender.org/2018/07/grease-pencil-status-update/ This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible. Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-17Render: add "OpenGL" render engine.Brecht Van Lommel
This is intended for quick renders for previsualization, animation previews or sequencer previews. It provides the same settings as found in the 3D view Shading popover in solid display mode, but in the scene render properties. The "Workbench" engine was removed, and this name no longer appears in the user interface, it's purely an internal name. We might come up with a better name for this OpenGL engine still, but it's good to be consistent with the OpenGL Render operator name since this has a similar purpose.
2018-07-17Object Mode: Add back object bound displayClément Foucault
2018-07-16Smoke: Port display to Workbench + object modeClément Foucault
This does not fix the smokesim. It only port the drawing method. The Object mode engine is in charge of rendering the velocity debugging. Things left to do: - Flame rendering. - Color Ramp coloring of volume data. - View facing slicing (for now it's only doing sampling starting from the volume bounds which gives a squarish look) - Add option to enable dithering (currently on by default.
2018-06-11DRW: Add cache reset.Clément Foucault
This is a temporary solution to the use of the shared cache. Ideally this cache should be per gl drawing context.
2018-06-11MetaBall support for Workbench + EEVEEJeroen Bakker
Note: Metaballs only support the first material slot. Splicing it per material would create empty Batches. In order to overcome this we set the batch for other materials to NULL. We added extra checks in EEVEE and Workbench to not draw when the geom is NULL.
2018-06-07Wireframe: Change / Optimize the limited wireframe visibility option.Clément Foucault
This make the limited wireframe not a performance problem anymore. However, this does change the number of edges displayed as the threshold is now computed per vertex instead of per edges. For this reason we extended (internaly) the range of the slider so that the users can hide more edge.
2018-06-05Wireframe: Add slider to hide edges from coplanar facesClément Foucault
The default behaviour is to show the same amount of edges as 2.7. The slider makes it possible to show all edges or even less.
2018-06-01Object Mode: Display loose edges if overlays are enables.Clément Foucault
This fix T55280 Loose edges not visible in object mode
2018-05-31DRW: Add wireframe buffer texture generation for wireframe drawing.Clément Foucault
Only OB_MESH is supported for now. Creates a simple index buffer with negative indices if the edges is not a real edge. Also create the buffer texture representation of this buffer along with the pos_in_order buffer texture.
2018-05-27Workbench: Shadow: Use depth fail method for manifold objects.Clément Foucault
Since this method have no failure case for manifold objects, use it.
2018-05-26Armature: Modify Shape outline shader to use Line adjacency instead of tri.Clément Foucault
This is much faster and simpler. This is also to make it compatible with custom bone shape in the future.
2018-05-26Cleanup: whitespace, long lines, duplicate includeCampbell Barton
2018-05-24Cycles/Eevee: Implement disk and ellipse shapes for area lampsLukas Stockner
The implementation is pretty straightforward. In Cycles, sampling the shapes is currently done w.r.t. area instead of solid angle. There is a paper on solid angle sampling for disks [1], but the described algorithm is based on simply sampling the enclosing square and rejecting samples outside of the disk, which is not exactly great for Cycles' RNG (we'd need to setup a LCG for the repeated sampling) and for GPU divergence. Even worse, the algorithm is only defined for disks. For ellipses, the basic idea still works, but a way to analytically calculate the solid angle is required. This is technically possible [2], but the calculation is extremely complex and still requires a lookup table for the Heuman Lambda function. Therefore, I've decided to not implement that for now, we could still look into it later on. In Eevee, the code uses the existing ltc_evaluate_disk to implement the lighting calculations. [1]: "Solid Angle Sampling of Disk and Cylinder Lights" [2]: "Analytical solution for the solid angle subtended at any point by an ellipse via a point source radiation vector potential" Reviewers: sergey, brecht, fclem Differential Revision: https://developer.blender.org/D3171