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
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-11DRW: add ability to skip drawing verticesCampbell Barton
2018-10-01Edit UVs: Refactor drawing Shadow UV in Image EditorClément Foucault
Currently it's not showing the subdivided mesh (if there is a subdiv mod) and there is some sync issue if there is multiple uv image space opened. But thoses will be tackled later on. The purpose of this commit is to fix the overflow issue of IMM and speed issue.
2018-10-01Edit UVs: Refactor drawing Edit UV in Image EditorClément Foucault
NOTE: This commit only concern edit UVs and not the "shadow" mesh displayed when texture painting. This will be address in a future commit. We now cache the uv mesh in the mesh batch cache and only reupload data on changes. Update could be more granular (and a bit faster) but it's not our main concern ATM. This should fix problem caused by the IMM api used to draw large meshes. This makes performance skyrocket compared to previous implementation. There is still a big CPU bottleneck when not in sync selection mode but it is not related to the drawing function directly.
2018-09-26Fix misleading field naming.Alexander Gavrilov
This is not any kind of length, it is the number of true values.
2018-09-26Cleanup: naming of DRW mesh weight APICampbell Barton
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-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-23Rename: *_batch_cache_dirty > *_batch_cache_dirty_tagDalai Felinto
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-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-26Cleanup: whitespace, long lines, duplicate includeCampbell Barton
2018-05-20Workbench: Optimize Shadows.Clément Foucault
This makes the shadows ~10 times faster in the general case. This only create extrusion geometry on the outline edges. Also we increment or decrement the stencil buffer by 2 for each manifold edge and only by 1 for non manifold. This make the algorithm robust yet less heavy than creating one prism for each triangles.
2018-05-15Draw manager: Pass object to hair batch cacheSergey Sharybin
Currently unused, but is required for an upcoming work.
2018-05-11Fix crash going to edit mode of particles with copy on writeSergey Sharybin
We can not rely on edit->psys, it is not set for particle edit, and there is some logic deeper inside which does different things dependent on that. We need to replace those checks with some some HAIR vs. PARTICLES flag and always set psys pointer.
2018-05-11Particle edit: Initial support of edit with copy-on-writeSergey Sharybin
The idea is that edit mode structure is owned by original object, and used for drawing. This is a bit confusing, especially since path cache is also in that structure and needs evaluated object to calculate cache. In the future we should split edit data from visualization data, but that's bigger refactor.
2018-05-09Draw manager: Implement point selection modes for particle edit modeSergey Sharybin
2018-05-09Draw manager: Initial implementation of key points visualizationSergey Sharybin
Does all points all the time, ignoring the setting in viewport header. This is to be addressed by the next commit.
2018-05-09Draw manager: Start using more explicit API for particle edit modeSergey Sharybin
2018-05-02Eevee: Fix vertex color being in srgb space.Clément Foucault
Now they are properly converted to Linear space before interpolation. Since the only way to get vertex color in eevee and cycles is via the attribute node with the CD_AUTO_FROM_NAME flag, we have to know at binding time which type of buffer will be connected to this auto input. We store this information inside the batch cache (together with the according uniform name) and pass it as uniform to the shader which does conversion if needed. The same shader can then be reused to draw another mesh with different auto layers configuration.
2018-03-29Draw manager: Make particle code drawing closer to old viewportSergey Sharybin
The way how particle state is to be accessed or used did not change in Blender 2.8, so the drawing code should follow old design. This code is somewhat duplicated from drawobject.c, but old draw code is on the way to be removed anyway. This fixes issue with disappearing particles when tweaking number of particles.
2018-01-10Curve/Surface Display: UV supportmano-wii
2017-12-14Support for Batchs split by material for objects of type Curve, Surface, and ↵Germano
Text **ToDo:** - add vertbuff for UV (what can be adapted from `dl_surf_to_renderdata`)
2017-11-17Cleanup: warningsCampbell Barton
2017-11-16Fix T51210: Draw Manager: Support for Metaball DrawingGermano
Differential Revision: D2914
2017-08-16DwM: Use Batch's for drawing selectionCampbell Barton
Use mesh batch cache for mesh selection. Note that we could create the batches and free immediately so they don't take up memory. This resolves a problem where selection was limited to immediate-mode buffer size.
2017-07-12DwM: Option to use final material over mode shadingCampbell Barton
Support using full material shading in sculpt & paint modes mode. Access 'Full Shading' from the display panel when in paint modes.
2017-06-28DwM: mesh data now only creates data thats usedCampbell Barton
Read from the GPUMaterial to find custom-data layers used for drawing. This resolves problem where having UV's would always calculate tangents causing noticeable slow down compared to 2.7x.
2017-06-27Implement weight colors for lattices in draw managerLuca Rood
2017-06-26Hair UV implementation for EeveeLuca Rood
This implements UV support for Eevee hair, enabling the usage of textures.
2017-06-19Gawain API naming refactorCampbell Barton
Use consistent prefix for gawain API names as well as some abbreviations to avoid over-long names, see: D2678
2017-05-23DwM: texture paint support & mask modeCampbell Barton
Uses workaround so material slots are used when neither blender-internal or cycles are enabled.
2017-05-19Implement particle drawing with draw managerLuca Rood
This still has a couple of issues: * Instancing is not working when multiple particle systems use the same primitive. Only the last particle system to be drawn with a particular primitive shows up. * Because of colors being passed as uniforms with static variables, the color of the collection of the last object to be evauluated is used for all particles being displayed. Also, note that while this is being drawn in the clay engine, this might be moved to the object mode later intead. Part of T51378
2017-05-15Mesh Batch Cache: Split Edit Mesh mode Vertex Buffers for faster update.Clément Foucault
2017-05-12Implement hair drawing with Draw Manager in Clay engineLuca Rood
Part of T51378
2017-05-05Clean up weight/vertex painting codeLuca Rood
Now passing selection state instead of colors for the wire/face mask overlay thing. Also added masking indication on the faces in vertex paint.
2017-05-04Use mesh draw cache for back-buffer selectionCampbell Barton
Vertex/weight paint now work with core profile, resolves T51380.
2017-05-04Vertex paint with draw managerLuca Rood
Reviewers: fclem Subscribers: campbellbarton, dfelinto Differential Revision: https://developer.blender.org/D2658
2017-05-04Cleanup: rename ct -> lenCampbell Barton
Also use 'defgroup' instead of 'index' for passing weight arg.
2017-05-03Weight painting with draw managerLuca Rood
This implements weight rendering with the draw manager, with all drawing options (Shading, wire, face masking, vertex masking). This is part of T51208 Reviewers: campbellbarton Subscribers: dfelinto Differential Revision: https://developer.blender.org/D2654
2017-04-25Eevee: Make default shaders works.Clément Foucault
- Added New Batch cache routine to get the split mesh for each material. (optimization needed) - Did some shader modifications to create default_frag and support a somwhat correct fresnel for lamps (to finish)
2017-04-21Cleanup: move draw-cache creation from BKE to DRWCampbell Barton
Creating draw-cache should only ever be used by the draw-manager.