Commit Graph

1117 Commits

Author SHA1 Message Date
392ed710d6 Cleanup: rename 'ct' to 'len' for size vars 2018-07-08 12:50:00 +02:00
9d43ed521c Cleanup: abbreviate unsigned types (draw manager) 2018-07-08 12:49:03 +02:00
a48b52d546 3D View: support object type visibility/selection
Trying to have a single option for this is too likely to be
insufficient in some cases.

Instead, support object type visibility & selectability per view-port.
2018-07-06 17:53:40 +02:00
49af17beb8 Fix T55796: Motion Paths are not being drawn as overlay
Remove depth testing flags from motion path pass drawing,
so that they always appear to draw in "x-ray" style on top
of everything, making it easier for animators to see what
they're doing.
2018-07-07 02:53:34 +12:00
bb9355e703 View3D: Remove v3d->zbuf
This is because depth test is set before drawing anything now. There is no
case where we want to draw without depth test that is not selection and
this case is not handle by v3d->zbuf anymore.

UI assume depth test is off by default. The DRWManager assume it's on.

This should fix T55623.
2018-07-03 19:22:15 +02:00
433e3db8d8 Revert "GHOST: Delay opengl context initialization"
This reverts commit 128926a41b.
2018-07-03 13:36:04 +02:00
39678442e1 Cleanup: typos 2018-07-03 09:22:02 +02:00
31e43d021f Merge branch 'blender2.8' into soc-2018-bevel 2018-07-02 23:31:19 +05:30
b4998548ab Cleanup: use '_len' suffix for line stipple 2018-07-01 08:42:16 +02:00
ab6e23ffbb 3D View: use 3px dashed relationship line
Seems this was accidentally doubled from 2.7x?
2018-07-01 08:36:22 +02:00
3bc21bc5f7 Cleanup: Moar DM busting, mostly cleaning up MOD_utils. 2018-06-29 18:58:13 +02:00
9bd0c63382 Merge branch 'master' into blender2.8 2018-06-29 08:05:38 +02:00
aacd15e8a9 Overlay: Make overlay engine rebder on top of paint modes.
This puts the wireframe on top of the weight in weight paint mode,
sculpt mode ...

Wireframe should be colored differently if the object is in paint mode
but it's not there yet.
2018-06-28 16:12:24 +02:00
071ec6b397 Workbench: Fix crash editing in texture modes without uv layer
When meshes has no uv layer, but has a texture assigned there was a uv
layer allocated which was corrupt. When no uv layer is available now
there won't be a vbo created. This might impact performance as the draw
cache does not cache this result.
2018-06-28 10:40:19 +02:00
f09480b212 Hair drawing: respect the amount of layers.
Current implementation works with at most of 3 layers, but was not
checked during hair drawing leading to reading from uninitialized
memory.

This commit limits it to the number of layers that is used during
compilation of blender.
2018-06-28 10:40:19 +02:00
25a223c3bd Draw: Use more proper particles index lookup 2018-06-25 18:22:27 +02:00
817bf582c2 Cleanup: rename object base flags to be more clear. 2018-06-25 14:09:17 +02:00
e97237892c Merge branch 'master' into blender2.8
Conflicts:
	source/blender/editors/sculpt_paint/paint_image.c
	source/blender/editors/space_view3d/view3d_draw.c
	source/blender/editors/space_view3d/view3d_view.c
	source/blender/gpu/GPU_draw.h
	source/blender/gpu/GPU_material.h
	source/blender/gpu/intern/gpu_draw.c
	source/blender/gpu/intern/gpu_material.c
	source/blender/makesrna/intern/rna_userdef.c
	source/blender/windowmanager/intern/wm_files_link.c
	source/blender/windowmanager/intern/wm_init_exit.c
	source/creator/creator_args.c
	source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
	source/gameengine/Ketsji/KX_PythonInit.cpp
	source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
2018-06-25 12:50:32 +02:00
f3501a00e2 PaintMode: Full Shading Boolean => Slider
There was a Full Shading bool that was shared across the WP, VP and TP
modes. This commit makes some changes:

- Replace the bool with a factor. This gives the user more control on
the visibility.
- Also draw it on top of the Material and Rendered mode so the user can
control what he needs. In certain cases you don't want to see the final
rendered material, but the actual texture.
- Removed the skipping of objects when in paint modes. As now the paint
modes are blended.
2018-06-22 10:43:03 +02:00
d5552a6d4b T55570: Moved Texture drawtype as to shading popover
the use of the texture drawtype is limited. so who should we have it
this prominent on the screen. By adding it as a shading.color_type
option we should save some screenspace.
2018-06-21 14:58:00 +02:00
c73a6b0d42 Merge branch 'blender2.8' into soc-2018-bevel 2018-06-20 22:29:44 +05:30
d44c40d91c Cleanup: some more valid G.main usages moved to G_MAIN. 2018-06-19 19:30:47 +02:00
750a78be9c 3D View: improve selection locking
Locked selection would still occlude with objects which could not be
selected.
2018-06-19 16:43:01 +02:00
d8f9ec1547 Particles: Support changing modifiers during particle edit mode
The idea is to only use pointers to particles in original object when
creating an edit structure. The derived mesh we get from evaluated
object.

The rest of the commit is just keeping pointers in sync.
2018-06-19 15:28:33 +02:00
ce0a87a208 Revert: EditMode Inactive edge drawing
Did it manually as there was some refactoring done that has value
2018-06-19 14:32:52 +02:00
e92d61797b 3D View: don't show manipulators when overlay is disabled 2018-06-18 18:33:02 +02:00
d7122825ec Cleanup: redundant greater than 2018-06-18 17:39:50 +02:00
547e962bf6 3D View: 3D Cursor was not restoring GL state
Caused camera frame to be double width.
2018-06-17 14:43:31 +02:00
0ff87e3a60 Cleanup: code style 2018-06-15 20:55:37 +02:00
e3d88b021c Edit Mesh: tweak vertex size & edge width
- Vertex size now matches the theme setting.
- Edge width is closer to a single pixel line.
- Face dot was scaled up to be drawn as a circle,
  but is currently a square.
2018-06-15 20:11:35 +02:00
ca2be6912d Hair editing: Use original object's particles for drawing
This allows to rely on brush to update children positions,
and avoid tag of object. Makes it way faster to comb with
children enabled.
2018-06-15 17:23:49 +02:00
0626de2033 GPU: consistenly use mipmap on/off in all draw modes.
This is important for good texture paint performance.
2018-06-14 15:50:22 +02:00
d64cd6f7ee Move call to drw_state_ensure_not_reused() inside the region locked by DST.gl_context_mutex.
Currently with a debug build there is a race condition where the mutex is released before the DST structure is reset to 0xFF, meaning when multiple threads are using the DRWManager it can get cleared when the main thread is using it, causing crashes.

Reviewers: fclem, brecht

Reviewed By: fclem

Tags: #bf_blender_2.8

Differential Revision: https://developer.blender.org/D3476
2018-06-14 12:03:40 +02:00
2f3e890b94 DRW: Fix crash caused by hair transform feedback
Seem to be cause by the lack of proper FBO bound.
2018-06-13 22:20:48 +02:00
cd0a4836d4 Cleanup: unused var 2018-06-13 16:17:07 +02:00
23c24cead5 T55456: EditMode Drawing
- Hide facedots, except when in V3D_ZBUF_SELECT mode
`use_occluded_geometry`
- Different theme (wire_inactive) when not in edge selection mode
2018-06-13 12:38:53 +02:00
b6b1e0f56c T55454: removal of clay engine
The ClayEngine was introduced to test the blender2.8 architecture during
development. As currently we have the wanted features implemented with
matcaps we are going to remove the clay engine as it was never intended
to be an official releasable engine

Note: The test cases are never run. But when enabled will be skipped as
they were implemented over the Clay Engine
2018-06-12 15:32:31 +02:00
1255129932 Merge branch 'blender2.8' into soc-2018-bevel 2018-06-11 21:03:07 +05:30
b7bf8b3757 Render: Create a separate gl context for rendering.
This should take care of all the threading stability issues some people
are reporting.
2018-06-11 13:55:02 +02:00
128926a41b GHOST: Delay opengl context initialization
This way they can be init in their owner thread. Contexts should not be
shared accross threads. Once you make a context active on a thread it is
owned by the thread.

This commit only have the GLX backend updated but should not break orther
platform.
2018-06-11 13:55:02 +02:00
1463ec6896 DRW: Rename ogl_context to gl_context
We might not use opengl forever :)
2018-06-11 13:55:02 +02:00
228ba8475a DRW: Add cache reset.
This is a temporary solution to the use of the shared cache.

Ideally this cache should be per gl drawing context.
2018-06-11 13:55:02 +02:00
a67cc72232 MetaBall support for Workbench + EEVEE
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-11 11:52:41 +02:00
95894421cb Workbench: Xray: Optimize and fix implementation.
There was a method explained in the Weighted Blended Order-Independent
Transparency paper to support hardware that does not support per render
target blending function.

So now only 2 geometry passes are required instead of 3 (one being the
outline/depth fill pass).

This also fix how the blending is done. There was some premult confusion
in the implementation.
2018-06-10 20:06:26 +02:00
ca16c74e87 Viewport: "Show Relationship Lines" overlay toggle is now respected by Object Mode & Armatures (Edit/Pose) 2018-06-11 02:49:38 +12:00
Dalai Felinto
f638ad61b8 Rename: GPU_material_get_uniform_buffer > GPU_material_uniform_buffer_get 2018-06-08 16:20:34 +02:00
d32b59fc18 Remove more printfs .... 2018-06-07 19:06:56 +02:00
ef7b7efd11 Eevee: Fix hair not rendering. 2018-06-07 18:58:13 +02:00
5593baea1b Remove printfs
... it's getting late here.
2018-06-07 18:44:37 +02:00
a3773dcc4f Fix memleak with GPUhairs. 2018-06-07 18:43:10 +02:00