Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-04-22 23:49:36 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-05-02 21:49:38 +0300
commite493a1a1aedcd6bc00f0f016aa6ef707742e3825 (patch)
treee479cb1f54c0029e92446dc6b0cfc263fe1bfb56 /source/blender/draw/intern/draw_common.h
parent77b481fd5ae2e8b503aed714ae3335ba637c84b6 (diff)
DRW: Armature: New bone outline shader.
This fix the issue with the zfighting we were getting at bones edges. Moreover, this enables us to render arbitrarly large outline with varying thickness.
Diffstat (limited to 'source/blender/draw/intern/draw_common.h')
-rw-r--r--source/blender/draw/intern/draw_common.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/draw/intern/draw_common.h b/source/blender/draw/intern/draw_common.h
index c70a1a38e62..8b418135342 100644
--- a/source/blender/draw/intern/draw_common.h
+++ b/source/blender/draw/intern/draw_common.h
@@ -121,6 +121,7 @@ struct DRWShadingGroup *shgroup_spot_instance(struct DRWPass *pass, struct Gwn_B
struct DRWShadingGroup *shgroup_instance_bone_envelope_wire(struct DRWPass *pass, struct Gwn_Batch *geom);
struct DRWShadingGroup *shgroup_instance_bone_envelope_solid(struct DRWPass *pass, struct Gwn_Batch *geom);
struct DRWShadingGroup *shgroup_instance_mball_handles(struct DRWPass *pass, struct Gwn_Batch *geom);
+struct DRWShadingGroup *shgroup_instance_armature_shape_outline(struct DRWPass *pass, struct Gwn_Batch *geom);
int DRW_object_wire_theme_get(
struct Object *ob, struct ViewLayer *view_layer, float **r_color);
@@ -129,17 +130,20 @@ float *DRW_color_background_blend_get(int theme_id);
/* draw_armature.c */
void DRW_shgroup_armature_object(
struct Object *ob, struct ViewLayer *view_layer,
- struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
+ struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_outline,
+ struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
struct DRWShadingGroup *shgrp_relationship_lines);
void DRW_shgroup_armature_pose(
struct Object *ob,
- struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
+ struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_outline,
+ struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
struct DRWShadingGroup *shgrp_relationship_lines);
void DRW_shgroup_armature_edit(
struct Object *ob,
- struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
+ struct DRWPass *pass_bone_solid, struct DRWPass *pass_bone_outline,
+ struct DRWPass *pass_bone_wire, struct DRWPass *pass_bone_envelope,
struct DRWShadingGroup *shgrp_relationship_lines);
/* pose_mode.c */