Age | Commit message (Collapse) | Author |
|
|
|
It's so similar in practice that we don't need a separate engine for edit
surface overlays.
|
|
|
|
|
|
Now handles are drawn using index buffer instead of duplicating memory
requirement.
Also make use of shader tricks to draw handles antialiased, and respond to
UI scalling.
Make vertex point match edit mesh vertex size.
|
|
|
|
This commit add one regression: it is impossible to currently hide handles
in the viewport. But this should be fixed in another commit.
|
|
|
|
|
|
|
|
Selection is no longer needed for an object to be considered in a mode.
Part of T55246 design task, fixes T55187
|
|
|
|
|
|
For some we may add per object overrides, but for most we plan to keep them
strictly per viewport settings. Display settings from the mesh still need to
be moved here, only collections were done to remove that code.
|
|
|
|
Because:
- Less redundancy.
- Better suffixes.
Also a few modification to GPU_texture_create_* to simplify the API:
- make the format explicit to the texture creation process.
- remove the component count as it's specified in the GPUTextureFormat.
|
|
This adds initial multi-object editing support.
- Selected objects are used when entering edit & pose modes.
- Selection & tools work on all objects however many tools need porting
See: T54641 for remaining tasks.
Indentation will be done separately.
See patch: D3101
|
|
Part of larger change to remove this variable entirely.
|
|
For simplicity we choose to execute the rendering of Opengl engines in the main thread and block the interface.
This might be addressed in the future at least for video rendering.
A drawmanager wrapper (DRW_render_to_image) is called by the render pipeline to set up the Opengl state and then call the specific draw_engine->render_to_image function.
|
|
Caused an error entering edit-mode.
d60f26f37a & 2659500835
|
|
This clears up the code from many DynStr usage. Easier to read.
|
|
|
|
to the shaders of the curves handles
|
|
|
|
`e_data.overlay_vert_sh` was not being freed when quitting blender.
|
|
Similar to previous commit in Eevee.
|
|
This makes updates for the viewport cleaner and also add the possibility to add a new callback called when the scene is updated.
|
|
You can change the amount of samples in the user preferences. You do not need to restart blender to see the effect in the new viewport.
This adds another Multisample Framebuffer and textures (so even more memory required).
It works by blitting the default_fb to the multisample_fb each time the renderer need to render one or more "wire" pass.
It it then blit back to the default_fb so that the rest of pipeline is working as expected.
We COULD lower the GPU memory / bandwidth usage to render everything to the same multisample fbo and change the logic depending on if MSAA is enabled or not, but I think it's a bit too much work for now.
|
|
Use consistent prefix for gawain API names as well as
some abbreviations to avoid over-long names, see: D2678
|
|
-Use 11_11_10 buffers for hdr content.
-Eevee compositing share 1 buffer if bloom and DOF are both activated.
-Fix slowdown when resizing EEVEE viewport.
-Removed DRW_BUF_*** enums causing confusion.
|
|
Also remove from pass list (there were some duplicate unused entries).
|
|
Was performing context access per object for scene, region etc.
While not very slow they don't change during drawing so cache in a struct.
This also makes it possible to draw in views besides the current context.
|
|
|
|
Draw cursor and selection, also support for fast-display.
|
|
|
|
Note that displists will be removed, but this wont be hard to replace.
Signed-off-by: Campbell Barton <ideasman42@gmail.com>
|
|
|
|
|
|
|
|
Draws the curve centerline and editmode verts/handles.
Handle theme colors, and normal display still need adding.
|
|
|
|
Same as MEM_SAFE_FREE macro,
checks for NULL, runs free then sets NULL.
Blocks of code that do this many times are noisy and likely
errors here wouldn't be noticed immediately.
Also NULL's static vars which were being left set.
|
|
This removes MAX_STORAGE, MAX_BUFFERS, MAX_TEXTURES, MAX_PASSES limits.
Actual memory saving isn't so important, it just means we don't need to
manually bump these based on changes to engines.
|
|
Avoid confusion for non mesh types where verts/wire/surface might apply.
Other object types use this convention already.
|
|
|
|
Faster search
|
|
This makes viewport cache construction independant from each others and will allow multithread down the road.
|
|
|
|
|
|
|