Age | Commit message (Collapse) | Author |
|
This also splits vertex access and allocation so it's possible
to copy coordinates into an existing array without allocating it.
|
|
T68035 by @luzpaz
|
|
With this patch, the size of GPUVertFormat goes from 1240 to 388.
|
|
This is in order to using BLI_INLINE for thoses functions and keep headers
cleany separated.
|
|
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
|
|
|
|
|
|
|
|
|
|
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
|
|
Some old AMD drivers crash when a vbo with stride 1 is used a few times.
I have not found a real solution to this problem. So the solution was to use a vbo with stride 4 (which in theory is less efficient and takes up more memory space).
|
|
|
|
|
|
Differential Revision: https://developer.blender.org/D4433
|
|
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
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.
|
|
|
|
|
|
Added in 531e5ad49a03763 but I couldn't find a case when it's needed,
It's not needed for solid-mode viewport drawing for eg.
|
|
Calculate flat shaded normals when creating batch cache.
Note that 2.7x was using vertex normals as flat-face normals.
|
|
This lower the memory usage and also fix a bug with metaballs normals/tris
winding being reversed.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
normal, not one per vertex!
|
|
|
|
|
|
there is no index
This prevents possible errors with materials and a crash with low resolution metaball.
Also a small cleanup was done in the code.
|
|
|
|
|
|
Wee must return VertBuffers even when its size is zero
|
|
Text
**ToDo:**
- add vertbuff for UV (what can be adapted from `dl_surf_to_renderdata`)
|
|
Differential Revision: D2914
|
|
|
|
Use ownership flags instead.
|
|
Use consistent prefix for gawain API names as well as
some abbreviations to avoid over-long names, see: D2678
|
|
Some names are a bit arbitrary,
this makes it clear which names are VBO attributes.
|
|
Creating draw-cache should only ever be used by the draw-manager.
|