OmarSquircleArt
08ab3cbcce
Shading: Add object color to Object Info node.
...
The object color property is added as an additional output in
the Object Info node.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D5554
2019-08-22 14:26:09 +02:00
2aef1347f9
Cleanup: correct comments
2019-08-18 04:26:29 +10:00
261a02fc59
DRW: New function DRW_culling_min_max_test
...
For testing intersection with frustrum planes without having to transform all bound box vertices into global space.
2019-08-15 10:20:21 -03:00
1f4e9754c0
DRW: Add DRW_STATE_BLEND_CUSTOM
...
This one enable dual source blending, enabling more fine tuned
blending parameters inside the shader.
2019-06-27 14:41:35 +02:00
80fb263aa9
DRW: Make stencil state clearer and distinct
...
Write and test states are now separate and need to be explicit.
Also add asserts when trying to write without test enabled.
2019-06-17 16:13:28 +02:00
c4e4b6872a
DRW: Fix issue introduce in removal of DRW_STATE_POINT
...
Fix issue raised by mano-wii in rB97d22e12b521
Fix T65050 knife tool snapping indicator not visible
2019-05-28 17:19:42 +02:00
2100dba34b
Cleanup: GPU: Move program point size to GPU_state
2019-05-28 17:19:42 +02:00
e0c1116ce3
Cleanup: DRW: Rename DRW_STATE_BLEND_* for API clarity
2019-05-28 14:22:22 +02:00
380f07d0ee
draw_manager: fix warning with msvc.
...
32 bit shift stored in 64 bit field gave a warning with MSVC.
2019-05-27 08:11:12 -06:00
ba75e93c88
Cleanup: DRW: Remove DRW_STATE_OFFSET
2019-05-27 12:58:14 +02:00
f05b9dba26
DRW: Only change VAO if geometry changes
2019-05-22 13:29:05 +02:00
60319e25f2
GPU: Refactor GPU_batch_draw_range_ex
...
Rename it to GPU_batch_draw_advanced and use base instance when possible.
Also add GPU_batch_bind to bind the vao independantly of drawing commands.
2019-05-22 13:29:05 +02:00
7b3f64e12a
Cleanup: DRW: Remove, rename stuffs
2019-05-22 13:29:05 +02:00
6914f7125b
DRW: Do not update the view ubo for each pass
...
Only update if the view changes.
2019-05-22 13:29:05 +02:00
9f3010e1c0
DRW: DRWView: Finish refactor
2019-05-22 13:29:05 +02:00
742848843d
DRW: Add view param to DRW_culling_* functions
2019-05-22 13:29:05 +02:00
e1153c6a1a
DRW: Remove DRW_state_clip_planes_reset
2019-05-22 13:29:04 +02:00
551bbc87af
DRW: Remove DRW_state_clip_planes_set_from_rv3d
...
This should be handled by DST.view_default
2019-05-22 13:29:04 +02:00
45c085a171
DRW: Add DRWView to improve different view handling
...
This will have multiple benefit.
TODO detail benefits (culling, more explicit, handling of clipping planes)
For now the view usage is wrapped to make changes needed more progressive.
2019-05-22 13:29:04 +02:00
2b1da51b2f
Cleanup: DRW: Refactor code for better readability and simplification
...
- Remove DST.frontface and DST.backface.
- Separate uniform update into its own function draw_update_uniforms.
2019-05-22 13:29:04 +02:00
97d22e12b5
Cleanup: DRW: Remove uneeded DRWState values
...
This removes:
- DRW_STATE_TRANS_FEEDBACK
- DRW_STATE_WIRE
- DRW_STATE_POINT
2019-05-17 18:17:23 +02:00
b23af112d2
DRW: Fix warning on MSVC
2019-05-17 13:38:42 +02:00
92b4e96afe
Cleanup: DRW: Remove unused Uniform types
2019-05-14 10:57:04 +02:00
8bc8a62c57
DRW: Refactor: Use DRWCall to accumulate per instance attributes
...
This is a big change that cleanup a lot of confusing code.
- The instancing/batching data buffer distribution in draw_instance_data.c.
- The selection & drawing code in draw_manager_exec.c
- Prety much every non-meshes object drawing (object_mode.c).
Most of the changes are just renaming but there still a chance a typo might
have sneek through.
The Batching/Instancing Shading groups are replace by DRWCallBuffers. This
is cleaner and conceptually more in line with what a DRWShadingGroup should
be.
There is still some little confusion in draw_common.c where some function
takes shgroup as input and some don't.
2019-05-14 10:57:03 +02:00
0e5da91f0a
Cleanup: Remove DRWCallType
...
This simplify the rendering logic.
2019-05-14 10:57:03 +02:00
754ecd61aa
DRW: Change Procedural function to use a GPUBatch
...
This is in order to have VAO handled by thoses batches instead of using a
common VAO. Even if the VAO has no importance in these case using a batch
will help when transitioning to Vulkan.
2019-05-14 10:57:03 +02:00
b27492d078
DRW: Make Instance count not a pointer
...
Goal is still to simplify the draw manager.
2019-05-14 10:57:03 +02:00
ad0e95688d
Cleanup: DRW: Remove pointers to materials
2019-05-14 10:57:03 +02:00
642c8010b2
DRW: Remove ModelViewMatrix and ModelViewMatrixInverse
2019-05-14 10:57:03 +02:00
e2d04229c3
DRW: Remove support for NormalMatrix
2019-05-09 00:27:11 +02:00
f2f62b184c
DRW: Remove WorldNormalMatrix
2019-05-08 20:13:32 +02:00
7e380fd46a
GPU: Remove GPU_INVERSE_NORMAL_MATRIX
...
The end goal for this is to lower the number of needed matrices.
This also cleanup some uneeded transformation.
2019-05-08 20:13:32 +02:00
3d759e2b09
Cleanup: DRW/GPU: Remove eye vector uniform
2019-05-08 17:52:49 +02:00
e053f6b1d8
DRW: Copy matrix in case of ModelMatrixInverse being used
...
ob->imat is garanteed to be valid by the depsgraph.
2019-05-08 17:52:48 +02:00
820a64b9e5
DRW: Replace BLI_mempool by BLI_memblock
...
This remove a avoid the big overhead present in BLI_mempool when it is
cleared.
2019-05-08 17:49:28 +02:00
9fea65a93d
DRW: Speedup: Don't call GPU_shader_uniform_vector if not needed
...
This seems to remove a bit of overhead of going into the function even if
the uniform is not needed.
2019-05-08 17:49:28 +02:00
fb3b2ab709
Cleanup: Remove unused code in sculpt_mode, workbench and draw manager
2019-05-04 14:11:04 +02:00
102daed1f2
Cleanup: Draw Manager: remove DRW_state_invert_facing
2019-05-02 16:51:45 +02:00
e6705fad33
DRW: Add DRW_STATE_BLEND_PREMUL_UNDER
...
Just basic alpha under operation with premultiplied source.
2019-05-01 12:09:18 +02:00
63f0e150ed
Cleanup: comments (long lines) in draw
2019-05-01 10:51:10 +10:00
93c19a5a2c
Cleanup: comments (mainly long lines)
...
Comments after code can cause awkward line breaks.
2019-04-21 14:27:35 +10:00
2fb9c8ef12
Cleanup: add missing macros to clang-format
2019-04-21 04:40:16 +10:00
41d4a19865
ClangFormat: format '#if 0' code in source/
2019-04-17 08:24:14 +02:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
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
2019-04-17 06:21:24 +02:00
fefc9c95e4
DRW: Opti: Replace bound tex/ubo tracking array by bitfields
...
release_texture_slots() and release_ubo_slots() were one hotspot when
drawing taking ~9% of total CPU counters for no reason.
This was because of the loops using GPU_max_textures that was overkill and
slow.
Replace those by a simple 64bit bitwise OR operation.
2019-04-05 21:15:25 +02:00
42dd888b98
Fix T62178 Eevee: Texture Box mapping not matching Cycles if object is scaled
...
The wrong transformation was used. Add a new matrix specially for this case.
This also fix the Node texture coordinate that was suffering the same issue.
2019-03-28 22:08:54 +01:00
afaa832a85
Fix T62680 Mirrored objects have flipped binormal vectors in LookDev
...
Pass binormal sign via object info.
2019-03-27 20:21:10 +01:00
73b55a5508
Cleanup: style, use braces for draw
2019-03-28 01:14:03 +11:00
2b42b8b779
BLI Math: Add and use new projmat_dimensions utility.
2019-03-21 22:23:49 -03:00
cc1b193ddf
Revert "Fix T62621 object scale changes tangent node output in Eevee"
...
This reverts commit 86646dab7c .
2019-03-22 00:13:18 +01:00