Age | Commit message (Collapse) | Author |
|
|
|
|
|
Use to avoid accidental missing break statements,
use ATTR_FALLTHROUGH to suppress.
|
|
|
|
We only keep this as a way to get GPU_stubs to run, in case we want to do a
throughout cleanup in the codebase and want code using legacy calls to
fail to build.
|
|
Since the change to core profile this is no longer supported.
|
|
Conflicts:
source/blender/blenloader/intern/versioning_270.c
source/blender/depsgraph/intern/depsgraph_tag.cc
source/blender/editors/mask/mask_draw.c
|
|
Was out of sync with 2.7x.
|
|
|
|
The "Modern Viewport" was an option in the Viewport panel that would use
the new fancy wire frame code and some depth debugging functionality.
This was introduced as a quick and dirty way to get the new drawing
system showing in the viewport.
Overtime we built a complete Draw Manager system, leaving this original
approach deprecated which adds clutter to Blender code since it would be
removed sooner or later.
Note: The new fancy wireframes and related shaders (white out other
objects) are still in Blender code, though you can't use them anymore.
If we are to have any of those drawing options they should be integrated
in the new draw manager, instead of integrated in the old drawing
pipeline as it was originally coded.
|
|
|
|
|
|
Some small advantage to using 1/4 sized data-type.
|
|
Own error in updating select code.
|
|
|
|
We now handle selection and transform manipulators
(kudos to Julian Eisel to help hunting down the latter).
|
|
|
|
|
|
Note: Depth placement was working already for BI, and althugh this
commit breaks it for it, it makes it work for the draw manager engines.
|
|
In d2f1f80a6fa I was always calling view3d_main_regio_setup_view with
NULL matrices, which is not always correct.
|
|
Handling depth loop for now (3d cursor positioning). Selection is a bit
more tricky.
Reported on 51354
|
|
Needed so selection works with core profile.
|
|
|
|
Transform no longer uses backbuffer for snap.
|
|
Was confusing, some functions return vert or triangle data
but naming wasn't very clear.
|
|
Vertex/weight paint now work with core profile, resolves T51380.
|
|
This can be used by any engine actually. For example to give feedback
regarding probe caching in Eevee, ....
Unline master, we try to conciliate both the original viewport info
(FPS, view name) and the render info.
Note: I had to split the function in two because the camera alpha
passepartout is handled inside the view3d_draw_region_info function.
Review: Campbell Barton and Clement Foucault.
Thanks to Sergey Sharybin and Pablo Vazquez for some of the design
discussions.
|
|
Places where it's removed are already replaced by newer logic.
|
|
|
|
Also no need to use VP_legacy_ prefix here.
|
|
Since offscreen drawing now uses draw engine, this doesn't need to be
considered legacy.
Note that there are some calls into view3d_draw_legacy.c from view3d_draw.c
this is generally not accepted, so its only dont where there are checks
for new/old engine.
Functions exposed to do this use a VP_deprecated prefix.
|
|
|
|
Works for clay-engine but doesn't draw objects with eevee.
|
|
|
|
We can now use object and other modes on top of Cycles.
Since we are now always on "render_to_view" (old Rendered mode), the
pause button is always visible.
|
|
From workspaces branch
|
|
Using geometry shader allows us to get rid of the 'line origin' extra
vertex attribute, which means dashed shader no longer requires fiddling
with those vertex attributes definition, and, most importantly, does not
require anymore special drawing code!
As you can see, this makes code much simpler, and much less verbose,
especially in complex cases.
In addition, changed how dashes are handled, to have two 'modes', a
simple one with single color (using default "color" uniform name), and a
more advanced one allowing more complex and multi-color patterns.
Note that since GLSL 1.2 does not support geometry shaders, a hack was
added for now (which gives solid lines, but at least does not make
Blender crash).
|
|
|
|
|
|
When using both preferences, use cursor depth when nothings selected.
|
|
|
|
|
|
These parts will not be part of final viewport, but are called indirectly during the transition. To avoid runtime errors on core profile, exit early -- functions effectively do nothing.
I put the early exits inside the functions to avoid cluttering the code that calls these. But (long term) the calling functions need to change.
Basic shader's detect_options function was unused and full of old, so I deleted it.
Part of T51164
|
|
|
|
Texturing is always enabled in GLSL. Simply use a sampler in the shader.
Replaced gpu_generate_mipmap with glGenerateMipmap since the former just Enabled/Disabled the texture target and called the latter.
Part of T51164
|
|
|
|
|
|
Firts usage of 3D version of new dashed line shader... Though not sure
whether that code will be kept for long?
|
|
The scale version was working(ish), but it was not really extendable to
a 3D line version of the shader.
Also note that sequencer view still keeps its 'UI scale' adaptation
(dashes grow together with UI scale setting). Would be nice to do that
everywhere ultimately imho, but nothing urgent here.
|
|
|