Age | Commit message (Collapse) | Author |
|
Select clipping now works when x-ray is disabled.
|
|
Needed to fix T61196, supporting clipped back-buffer in the 3D view
which is done outside the draw module.
It was also inconvenient having DRW_shader_* versions of GPU_shader_*
API calls.
- Clipping distances are now supported as a shader configuration
for builtin shaders.
- Add shader config argument when accessing builtin shaders.
- Move GPU_shader_create_from_arrays() from DRW to GPU.
|
|
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.
|
|
Following removal from C source code.
See: 8c68ed6df16d8893
|
|
Needed for clan-format not to wrap onto one line.
|
|
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.
|
|
|
|
|
|
We've managed without these functions and can add them if needed,
this TODO isn't helping.
|
|
Also rename GPUVertexAttribs to GPUVertAttrLayers,
avoids confusion with GPUVertAttr which isn't closely related.
|
|
|
|
Done using:
source/tools/utils_maintenance/c_sort_blocks.py
|
|
|
|
|
|
Comment or remove unused defines.
|
|
|
|
|
|
Code comment notes there are "just a few",
now there are enough it's useful to include in GPUShaderStages.
|
|
Use names for declarations to support adding defines, coming next.
|
|
Was generating INVALID_FRAMEBUFFER here instead of failled texture alloc.
Add safety asserts in gpu_texture.c and clamp minimum size to 1 inside
GPU_offscreen_create.
|
|
Originally I wanted to avoid adding draw manager specific ifdef's all
over generic shaders however this isn't needed in so many places.
Also there are shaders that are only used by the draw manager so
duplicating them only to have the original unused doesn't make sense.
|
|
|
|
|
|
Only for workbench solid/wire modes.
|
|
|
|
This makes it possible to have some code specific to each shader inside a
shader library.
|
|
|
|
This is a compile time option to remove the unecessary uniform queries.
|
|
|
|
This is in order to avoid GL call during the "cache creation" phase and
support multithreading.
|
|
This is in order to make the API more multithread friendly inside the
draw manager.
GPU_shader_get_uniform will only serve to query the shader interface and
not do any GL call, making it threadsafe.
For now it only print a warning if the uniform was not queried before.
|
|
|
|
Deprecated GL_SELECT no longer works in OpenGL core profile, so there is no
reason to have this.
|
|
This is a leftover from a time when these were not supported on all GPUs.
|
|
This setting was added long ago to be cautious in case some GPUs did not
support this propertly, no reason to have it anymore.
|
|
Without this clang-format may wrap them onto a single line.
|
|
|
|
shgroup_instance_alpha was getting a color[4] but would only use the
alpha defined upon creation of the shading group.
This was very limiting since it wouldn't allow for different instances
to have different alpha values.
Patch made with Clément Foucault (he made the code of it, while I fixed
all the parts of the code that were relying on shgroup_instance_alpha.
|
|
This removes code duplication and put an end to the old "create at request"
batch creation.
Also it uses the same vbo as the uv layer used for shading. Reducing VRAM
usage.
Also fixes the modified uv display in uv edit mode.
|
|
This is now done in shader so that the batches are shared across ImageUV
areas.
|
|
|
|
|
|
This is to separate id drawing from standard color drawing.
|
|
Reported by valgrind, not sure it caused any real bugs.
|
|
|
|
Needed for clang formatting to workaround bug/limit, see: T53211
|
|
|
|
|
|
|
|
|